@betteroffice/docx 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +66 -1
  2. package/dist/chunk-2HLVVQIL.mjs +1 -0
  3. package/dist/chunk-2QHGQA3V.mjs +1 -0
  4. package/dist/{chunk-ACGKK7IB.mjs → chunk-3CYO46ML.mjs} +1 -1
  5. package/dist/chunk-3OWET2KZ.mjs +1 -0
  6. package/dist/chunk-4GEXNR7A.mjs +1 -0
  7. package/dist/chunk-4QHAMEAS.mjs +1 -0
  8. package/dist/chunk-6CHGYCFU.mjs +1 -0
  9. package/dist/chunk-7DDF4RHB.mjs +16 -0
  10. package/dist/chunk-AOWJ4WDE.mjs +1 -0
  11. package/dist/chunk-C5BX34CG.mjs +2 -0
  12. package/dist/chunk-DKWD4P4J.mjs +1 -0
  13. package/dist/chunk-DLXIZBB6.mjs +1 -0
  14. package/dist/chunk-EIPVFGIC.mjs +1 -0
  15. package/dist/{chunk-NT2OYIJ4.mjs → chunk-FMOSOX5V.mjs} +1 -1
  16. package/dist/chunk-HPZFJGGM.mjs +0 -0
  17. package/dist/chunk-LT2GCWZ3.mjs +0 -0
  18. package/dist/chunk-NVN26RHH.mjs +1 -0
  19. package/dist/{chunk-QE4ZDRKV.mjs → chunk-YLFKV2NT.mjs} +1 -1
  20. package/dist/collaboration/index.d.mts +6 -4
  21. package/dist/compareDocx-QX2YF3EF.mjs +1 -0
  22. package/dist/computeLayout-4MNWHE2T.mjs +1 -0
  23. package/dist/core.d.mts +4 -4
  24. package/dist/core.mjs +1 -1
  25. package/dist/{displayListQueries-BYFrBkw5.d.mts → displayListQueries-DnHmHUPY.d.mts} +23 -5
  26. package/dist/docx/index.d.mts +2 -2
  27. package/dist/docx/index.mjs +1 -1
  28. package/dist/editor/index.d.mts +16 -7
  29. package/dist/editor/index.mjs +1 -1
  30. package/dist/{fontLoader-CkXcPB1C.d.mts → fontLoader-BNSs0E8K.d.mts} +54 -1
  31. package/dist/{frameDelta-CVt5FAXT.d.mts → frameDelta-ByU7HBuB.d.mts} +21 -1
  32. package/dist/generated/edit/docx_edit_bg.wasm +0 -0
  33. package/dist/generated/layout/docx_layout_bg.wasm +0 -0
  34. package/dist/generated/opc/ooxml_opc_bg.wasm +0 -0
  35. package/dist/generated/parse/docx_parse_bg.wasm +0 -0
  36. package/dist/{index-BbZwdkPz.d.mts → index-yOtBET85.d.mts} +769 -16
  37. package/dist/layout/index.d.mts +2 -2
  38. package/dist/layout/index.mjs +1 -1
  39. package/dist/layout/pagination/index.d.mts +2 -2
  40. package/dist/layout/render/index.d.mts +140 -32
  41. package/dist/layout/render/index.mjs +1 -1
  42. package/dist/loadWasmAsset-Cr95TImt.d.mts +25 -0
  43. package/dist/{pagedExport-D3E4jZ-B.d.mts → pagedExport-BmSlEhoP.d.mts} +1 -1
  44. package/dist/parseWasm-NLAG22EU.mjs +1 -0
  45. package/dist/plugin-api/RenderedDomContext.d.mts +6 -4
  46. package/dist/plugin-api/RenderedDomContext.mjs +1 -1
  47. package/dist/{rustDisplayList-CwOoUn3t.d.mts → rustDisplayList-DcaA5iok.d.mts} +12 -4
  48. package/dist/{rustMeasureSource-CyBMcy1x.d.mts → rustMeasureSource-BkCx1FDx.d.mts} +2 -0
  49. package/dist/types/document.d.mts +3 -0
  50. package/dist/{types-B4jD0rrc.d.mts → types-Buyw6dFd.d.mts} +32 -3
  51. package/dist/utils/index.d.mts +14 -2
  52. package/dist/utils/index.mjs +1 -1
  53. package/dist/wasm-6WSIEYWC.mjs +1 -0
  54. package/dist/wasm-GSI2XMOH.mjs +1 -0
  55. package/dist/{wasm-G62X4WRW.mjs → wasm-IBCLSJQU.mjs} +1 -1
  56. package/dist/wasm-edit.d.mts +191 -18
  57. package/dist/wasm-edit.mjs +1 -1
  58. package/dist/wasm-layout.d.mts +1 -1
  59. package/dist/wasm-layout.mjs +1 -1
  60. package/dist/wasm-opc.d.mts +1 -1
  61. package/dist/wasm-opc.mjs +1 -1
  62. package/dist/wasm-parse.d.mts +1 -1
  63. package/dist/wasm-parse.mjs +1 -1
  64. package/dist/yrs/index.d.mts +5 -3
  65. package/dist/yrs/index.mjs +1 -1
  66. package/dist/yrs/residentEngineWorker.mjs +1 -1
  67. package/package.json +2 -2
  68. package/dist/chunk-5B4VMUXM.mjs +0 -16
  69. package/dist/chunk-5F6DLQZP.mjs +0 -1
  70. package/dist/chunk-5JEQC76K.mjs +0 -1
  71. package/dist/chunk-7GJG6LLU.mjs +0 -1
  72. package/dist/chunk-FE6FWGBJ.mjs +0 -1
  73. package/dist/chunk-H5YYCN42.mjs +0 -1
  74. package/dist/chunk-HLDJMU3R.mjs +0 -1
  75. package/dist/chunk-J7LNO6SM.mjs +0 -1
  76. package/dist/chunk-PGMXWI5X.mjs +0 -1
  77. package/dist/chunk-VQXNED2P.mjs +0 -2
  78. package/dist/chunk-Z4HZIPBS.mjs +0 -1
  79. package/dist/compareDocx-XXTZV4CG.mjs +0 -1
  80. package/dist/computeLayout-LWLAJWYA.mjs +0 -1
  81. package/dist/loadWasmAsset-CMvnVkfA.d.mts +0 -3
  82. package/dist/wasm-US6R7SWN.mjs +0 -1
@@ -1 +1 @@
1
- import {d,c,e,s,t,f,v,w}from'../../chunk-PGMXWI5X.mjs';export{p as FRAME_DELTA_HEADER_BYTES,q as FRAME_DELTA_PAGE_OP_BYTES,o as FRAME_DELTA_VERSION,r as FrameDeltaError,a as GlyphCache,t as applyFrameDelta,u as applyFrameDeltaOwned,s as decodeFrameDelta,v as displayPageRevision,m as drawDisplayPage,n as drawPrimitive,b as fontSizePxFromShorthand,d as glyphRunRect,e as lineRect,h as presentDisplayPageBackBuffer,i as presentOffscreenPageBackBuffer,l as rasterizeDisplayListPages,g as rasterizeDisplayPageToBackBuffer,k as sizeCanvasForPage,c as textRunRect}from'../../chunk-PGMXWI5X.mjs';export{b as resolveCanvasPoint,a as resolveDisplayPageClientRect}from'../../chunk-7GJG6LLU.mjs';import {c as c$1}from'../../chunk-CTBUQRYQ.mjs';import {b}from'../../chunk-TTRUPDAB.mjs';var tt={pages:[{pageIndex:0,width:816,height:1056,primitives:[{kind:"rect",x:96,y:96,w:624,h:20,fill:"#fff9c4",blockId:0,docStart:1,docEnd:12},{kind:"text",text:"Hello Word",x:96,baselineY:110,width:84.5,font:"700 16px Calibri, sans-serif",color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"decoration",deco:"underline",x:96,y:113,w:84.5,h:1,color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"text",text:" \u2014 second run",x:180.5,baselineY:110,width:96.25,font:"400 16px Calibri, sans-serif",color:"#c0392b",docStart:11,docEnd:24,blockId:0},{kind:"line",x1:96,y1:140,x2:720,y2:140,strokeWidth:.75,color:"#666666",role:"table-border"},{kind:"image",relId:"rId7",x:96,y:160,w:200,h:120,docStart:30,docEnd:31,blockId:2}]}]};function Zt(){return import('../../wasm-G62X4WRW.mjs').then(async e=>(await e.preloadLayoutWasm(),e.outlineGlyphJson))}var R={page:"layout-page layout-page-mirror",content:"layout-page-content",header:"layout-page-header",footer:"layout-page-footer",block:"layout-paragraph",table:"layout-table",tableRow:"layout-table-row",tableCell:"layout-table-cell",text:"layout-run layout-run-text",rect:"layout-mirror-rect",image:"layout-run layout-run-image",shape:"layout-run layout-run-shape",chart:"layout-run layout-run-chart",decoration:"layout-decoration",line:"layout-mirror-line",pageBorder:"layout-page-border",tableCut:"layout-table-cut-border",blockSdt:"layout-block-sdt",inlineSdtWidget:"layout-inline-sdt-widget",revisionPmark:"layout-revision-pmark",revisionPmarkGlyph:"layout-revision-pmark-glyph",revisionPmarkIns:"layout-revision-ins",revisionPmarkDel:"layout-revision-del",listMarker:"layout-list-marker",revisionTable:"oox-revision-table",revisionRow:"oox-revision-row",revisionCell:"oox-revision-cell",revisionIns:"oox-revision-ins",revisionDel:"oox-revision-del",revisionMerge:"oox-revision-merge",notes:"layout-page-notes",note:"layout-note",noteBacklink:"layout-note-backlink"};function en(e,t={}){let r=t.document??document,n=t.labels,i={labels:n,noteRefIds:new Set},s=r.createElement("div");s.className=R.page,s.setAttribute("role","document"),n?.page&&s.setAttribute("aria-label",n.page),s.dataset.pageIndex=String(e.pageIndex),e.sectionId!==void 0&&(s.dataset.sectionId=e.sectionId),e.sectionIndex!==void 0&&(s.dataset.sectionIndex=String(e.sectionIndex)),e.sectionPageIndex!==void 0&&(s.dataset.sectionPageIndex=String(e.sectionPageIndex)),e.sectionPageNumber!==void 0&&(s.dataset.sectionPageNumber=String(e.sectionPageNumber)),e.pageLabel!==void 0&&(s.dataset.pageLabel=e.pageLabel),s.style.position="relative",s.style.width=`${e.width}px`,s.style.height=`${e.height}px`,s.style.opacity="0",s.style.pointerEvents="none";let o=r.createElement("div");o.className=R.content,o.style.position="absolute",o.style.left="0",o.style.top="0",o.style.width=`${e.width}px`,o.style.height=`${e.height}px`,s.appendChild(o);for(let a of (e.pageBorders??[]).filter(l=>l.zOrder==="back"))o.appendChild(rt(a,r,0));oe(o,e.primitives,r,0,i);for(let a of e.noteAreas??[])o.appendChild(mn(a,e,r,i));for(let a of [e.header,e.footer])a&&s.appendChild(tn(a,e,r,i));for(let a of (e.pageBorders??[]).filter(l=>l.zOrder!=="back"))s.appendChild(rt(a,r,0));return s}function tn(e,t,r,n){let i=r.createElement("div");i.className=e.kind==="header"?R.header:R.footer,i.dataset.hfRid=e.rId;let s=e.kind==="header"?n.labels?.header:n.labels?.footer;return s&&(i.setAttribute("role","region"),i.setAttribute("aria-label",s)),i.style.position="absolute",i.style.left="0",i.style.top=`${e.y}px`,i.style.width=`${t.width}px`,i.style.height=`${e.height}px`,oe(i,e.primitives,r,-e.y,n),i}function oe(e,t,r,n,i){let s=new Map;for(let o of t){let a=o.kind==="line"?void 0:o.blockKey??o.blockId;if(a===void 0){e.appendChild(be(o,r,n,i));continue}let l=o.table,c=l?.tableId!==void 0?`table:${l.tableId}#${l.rowStart??0}`:a,p=s.get(c);if(!p){let g=r.createElement("div");g.dataset.blockId=String(l?.tableId??a),g.style.position="absolute",g.style.left="0",g.style.top="0",e.appendChild(g),p={el:g,prims:[]},s.set(c,p);}p.prims.push(o);}for(let o of s.values())nn(o,r,n,i);sn(s);}function nn(e,t,r,n){let{el:i,prims:s}=e;if(!s.some(y=>y.cell!==void 0||y.structuralRevision?.scope==="table"||y.structuralRevision?.scope==="row"||y.structuralRevision?.scope==="cell")){nt(i,s,t,r,n);return}i.className=R.table,i.setAttribute("role","table");let a=s.find(y=>y.table!==void 0)?.table;e.table=a,e.cells=[],a?.tableId!==void 0&&(i.dataset.tableId=a.tableId),a?.rowStart!==void 0&&(i.dataset.rowStart=String(a.rowStart)),a?.rowEnd!==void 0&&(i.dataset.rowEnd=String(a.rowEnd)),a?.headerRowCount!==void 0&&(i.dataset.headerRowCount=String(a.headerRowCount)),a?.parentTableId!==void 0&&(i.dataset.parentTableId=a.parentTableId),a?.caption&&i.setAttribute("aria-label",a.caption),a?.description&&i.setAttribute("aria-description",a.description);let l=ge(s,"table");l&&he(i,l),He(i,s.find(y=>y.sdt!==void 0)?.sdt);for(let y of s)y.cell===void 0&&i.appendChild(be(y,t,r,n));let c=new Map,p=0,g=0;for(let y of s){if(y.cell===void 0)continue;let{row:u,col:h}=y.cell;p=Math.max(p,u+(y.cell.rowSpan??1)),g=Math.max(g,h+(y.cell.colSpan??1));let D=c.get(u);D||(D=new Map,c.set(u,D));let k=D.get(h);k||(k={ref:y.cell,prims:[]},D.set(h,k)),k.prims.push(y);}i.setAttribute("aria-rowcount",String(a?.rowCount??p)),i.setAttribute("aria-colcount",String(a?.columnCount??g));for(let y of [...c.keys()].sort((u,h)=>u-h)){let u=t.createElement("div");u.className=R.tableRow,u.setAttribute("role","row"),u.setAttribute("aria-rowindex",String(y+1));let h=ge(s,"row",y);h&&he(u,h),u.style.position="absolute",u.style.left="0",u.style.top="0",i.appendChild(u);let D=c.get(y);for(let k of [...D.keys()].sort((v,L)=>v-L)){let v=D.get(k),L=t.createElement("div");L.className=R.tableCell,L.setAttribute("role",v.ref.isHeader?"columnheader":"cell"),L.setAttribute("aria-colindex",String(k+1)),v.ref.cellId&&(L.id=v.ref.cellId),v.ref.headerIds?.length&&L.setAttribute("aria-labelledby",v.ref.headerIds.join(" ")),v.ref.repeatedHeader&&(L.dataset.repeatedHeader="true"),v.ref.noWrap&&(L.dataset.noWrap="true");let E=v.ref.rowSpan??1,B=v.ref.colSpan??1;E>1&&L.setAttribute("aria-rowspan",String(E)),B>1&&L.setAttribute("aria-colspan",String(B));let w=ge(v.prims,"cell",y,k);w&&he(L,w),v.ref.continuation&&(L.dataset.vmergeContinuation="true"),L.style.position="absolute",L.style.left="0",L.style.top="0";let N=new Map,ee=[];for(let T of v.prims){let Y=T.blockKey??T.blockId;if(Y===void 0){ee.push(T);continue}let P=N.get(Y);P?P.push(T):N.set(Y,[T]);}for(let T of Ce(ee))L.appendChild(be(T,t,r,n));for(let[T,Y]of N){let P=t.createElement("div");P.dataset.blockId=String(T),P.style.position="absolute",P.style.left="0",P.style.top="0",nt(P,Y,t,r,n),L.appendChild(P);}on(L,v.prims),ct(L,v.prims),e.cells.push({el:L,bounds:lt(v.prims)}),u.appendChild(L);}}Be(i,s);}function nt(e,t,r,n,i){let s=t.find(c=>c.chart!==void 0)?.chart;e.className=s?`${R.block} ${R.chart}`:R.block,e.setAttribute("role",s?"img":"paragraph"),s?.label&&e.setAttribute("aria-label",s.label);for(let c of Ce(t))e.appendChild(be(c,r,n,i));let o=ge(t,"pmark");o&&he(e,o),rn(e,t,r,n),He(e,t.find(c=>c.sdt!==void 0)?.sdt);let a=t.find(c=>c.paraId!==void 0)?.paraId;a!==void 0&&(e.dataset.paraId=a);let l=t.find(c=>c.fromLine!==void 0);l?.fromLine!==void 0&&(e.dataset.fromLine=String(l.fromLine),l.toLine!==void 0&&(e.dataset.toLine=String(l.toLine))),ct(e,t),ln(e,t);}function rn(e,t,r,n){Be(e,t);let i=Number(e.dataset.docStart),s=Number(e.dataset.docEnd),o=t.map(g=>g.fragmentDocStart).filter(g=>Number.isFinite(g)),a=t.map(g=>g.fragmentDocEnd).filter(g=>Number.isFinite(g)),l=o.length>0?Math.min(...o):void 0,c=a.length>0?Math.max(...a):void 0,p=l??(Number.isFinite(i)&&i===s&&i>0?i-1:void 0);if(p!==void 0&&(e.dataset.docStart=String(p)),c!==void 0&&(e.dataset.docEnd=String(c)),p!==void 0&&!t.some(g=>g.docStart===p)){let g=Ce(t).find(u=>Te(u)!==void 0),y=g?Te(g):void 0;if(y){let u=r.createElement("span");u.className="layout-mirror-structural-anchor",u.dataset.docStart=String(p),u.dataset.docEnd=String(p),j(u,y,n),e.insertBefore(u,e.firstChild);}}}function on(e,t){let r=e.querySelectorAll(".layout-paragraph[data-doc-start]"),n=1/0,i=-1/0;for(let s of r){let o=Number(s.dataset.docStart),a=Number(s.dataset.docEnd);Number.isFinite(o)&&(n=Math.min(n,o)),Number.isFinite(a)&&(i=Math.max(i,a));}n!==1/0&&(e.dataset.docStart=String(n)),i!==-1/0&&(e.dataset.docEnd=String(i)),n===1/0&&i===-1/0&&Be(e,t);}function sn(e){let t=new Map;for(let r of e.values())r.table?.tableId&&t.set(r.table.tableId,r);for(let r of e.values()){let n=r.table?.parentTableId;if(!n)continue;let i=t.get(n),s=lt(r.prims);if(!i?.cells?.length||!s)continue;let o=s.x+s.w/2,a=s.y+s.h/2,l=i.cells.filter(c=>c.bounds&&an(o,a,c.bounds));l.sort((c,p)=>it(c.bounds)-it(p.bounds)),l[0]?.el.appendChild(r.el);}}function an(e,t,r){return e>=r.x&&e<=r.x+r.w&&t>=r.y&&t<=r.y+r.h}function it(e){return e.w*e.h}function lt(e){let t;for(let r of e){let n=r.clipGroup?.clip,i=n?.x!==void 0&&n.y!==void 0&&n.w!==void 0&&n.h!==void 0?{x:n.x,y:n.y,w:n.w,h:n.h}:Te(r);if(!i)continue;if(!t){t={...i};continue}let s=Math.max(t.x+t.w,i.x+i.w),o=Math.max(t.y+t.h,i.y+i.h);t.x=Math.min(t.x,i.x),t.y=Math.min(t.y,i.y),t.w=s-t.x,t.h=o-t.y;}return t}function Te(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":return {x:e.x,y:e.y,w:e.w,h:e.h};case "image":case "shape":return {x:e.x,y:e.y,w:e.w,h:e.h};case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h}}}function Ce(e){let t=e.filter(n=>n.logicalOrder!==void 0).sort((n,i)=>(n.logicalOrder??0)-(i.logicalOrder??0)||(n.docStart??0)-(i.docStart??0));if(t.length<2)return e;let r=0;return e.map(n=>n.logicalOrder===void 0?n:t[r++])}function ct(e,t){let r=t.find(s=>s.lang)?.lang;r&&(e.lang=r);let n=t.find(s=>s.bidiLevel!==void 0||"rtl"in s);if(!n)return;let i=n.bidiLevel!==void 0?n.bidiLevel%2===1:"rtl"in n?n.rtl:false;e.dir=i?"rtl":"ltr";}function ln(e,t){let r=t.find(n=>n.ariaLabel||n.ariaDescription||n.decorative||n.hiddenObject||n.groupId);r&&ut(e,r);}function Be(e,t){let r,n;for(let i of t)i.docStart!==void 0&&(r=r===void 0?i.docStart:Math.min(r,i.docStart)),i.docEnd!==void 0&&(n=n===void 0?i.docEnd:Math.max(n,i.docEnd));r!==void 0&&(e.dataset.docStart=String(r)),n!==void 0&&(e.dataset.docEnd=String(n));}function ge(e,t,r,n){return e.find(i=>{let s=i.structuralRevision;return !(!s||s.scope!==t||r!==void 0&&s.rowIndex!==r||n!==void 0&&s.colIndex!==n)})?.structuralRevision}function be(e$1,t,r,n){switch(e$1.kind){case "text":{let i=ot(t,e$1,n);return i.className=R.text,i.textContent=e$1.text,j(i,c(e$1),r),i.style.font=e$1.font,st(i,e$1),at(i,e$1),Ee(i,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),e$1.structuralRevision?.scope==="pmark"&&(i.classList.add(R.revisionPmarkGlyph),e$1.structuralRevision.kind==="ins"&&i.classList.add(R.revisionPmarkIns),e$1.structuralRevision.kind==="del"&&i.classList.add(R.revisionPmarkDel),i.setAttribute("aria-hidden","true")),e$1.listMarker&&(i.classList.add(R.listMarker),i.setAttribute("aria-hidden","true"),e$1.listMarkerRevision&&(i.style.color=e$1.listMarkerRevision==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)")),ne(i,e$1),i}case "glyphRun":{let i=ot(t,e$1,n);return i.className=R.text,i.textContent=e$1.text,j(i,d(e$1),r),i.style.fontSize=`${e$1.size}px`,cn(i,e$1.fallbackFont),st(i,e$1),at(i,e$1),Ee(i,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),ne(i,e$1),i}case "rect":{let i=t.createElement("div");return i.className=R.rect,j(i,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ne(i,e$1),i}case "line":{let i=t.createElement("div");return i.className=e$1.role==="table-cut"?R.tableCut:R.line,e$1.role&&e$1.role!=="table-cut"&&(i.dataset.role=e$1.role),j(i,e(e$1),r),i.setAttribute("aria-hidden","true"),i}case "image":{let i=e$1.href?t.createElement("a"):t.createElement("div");return i.className=R.image,e$1.decorative?i.setAttribute("aria-hidden","true"):(i.setAttribute("role","img"),e$1.altText&&i.setAttribute("aria-label",e$1.altText)),dt(i,e$1),i.dataset.relId=e$1.relId,j(i,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),Ee(i,e$1.opacity,e$1.rotationDeg),e$1.filter&&(i.style.filter=e$1.filter),ne(i,e$1),e$1.revision&&(i.style.outline=`2px solid ${e$1.revision.kind==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)"}`),e$1.href||(i.style.pointerEvents="auto"),i}case "shape":{let i=t.createElement("div");return i.className=R.shape,e$1.decorative?i.setAttribute("aria-hidden","true"):i.setAttribute("role","img"),j(i,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),dn(i,e$1.transform),ne(i,e$1),i}case "decoration":{let i=t.createElement("span");return i.className=R.decoration,i.dataset.deco=e$1.deco,j(i,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ne(i,e$1),i}}}function rt(e,t,r){let n=t.createElement("div");return n.className=R.pageBorder,j(n,{x:e.x,y:e.y,w:e.w,h:e.h},r),n.style.boxSizing="border-box",n.style.pointerEvents="none",n.style.zIndex=e.zOrder==="back"?"0":"20",ye(n,"Top",e.top),ye(n,"Right",e.right),ye(n,"Bottom",e.bottom),ye(n,"Left",e.left),n}function j(e,t,r=0){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y+r}px`,e.style.width=`${t.w}px`,e.style.height=`${t.h}px`;}function ot(e,t,r){let n=t.noteRef?.id!==void 0?t.noteRef:void 0,i=t.href||n?e.createElement("a"):e.createElement("span");if(dt(i,t),n&&!t.href){let s=n.kind??"footnote",o=`oox-${s}-${n.id}`;i.setAttribute("href",`#${o}`),i.setAttribute("role","doc-noteref");let a=`oox-noteref-${s}-${n.id}`;r.noteRefIds.has(a)||(r.noteRefIds.add(a),i.id=a);}return i}function dt(e,t){let{href:r}=t;if(!r)return;e.setAttribute("href",r),e.dataset.href=r;let n=t.linkTitle??t.tooltip;n&&(e.title=n),t.linkTarget?e.setAttribute("target",t.linkTarget):r.startsWith("#")||e.setAttribute("target","_blank"),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener noreferrer"),t.linkHistory!==void 0&&(e.dataset.linkHistory=String(t.linkHistory)),t.linkDocLocation!==void 0&&(e.dataset.linkDocLocation=t.linkDocLocation);}function cn(e,t){if(t)for(let r of t.split(" ")){if(r.endsWith("px"))break;r==="italic"?e.style.fontStyle="italic":/^[1-9]00$/.test(r)&&r!=="400"&&(e.style.fontWeight=r);}}function st(e,t){t.lang&&(e.lang=t.lang),t.bidiLevel!==void 0?e.dir=t.bidiLevel%2===1?"rtl":"ltr":t.rtl&&(e.dir="rtl");}function ye(e,t,r){if(!r)return;let n=e.style;n[`border${t}Width`]=`${r.width}px`,n[`border${t}Style`]=r.style,n[`border${t}Color`]=r.color;}function Ee(e,t,r,n){t!==void 0&&(e.style.opacity=String(t));let i=[];r&&i.push(`rotate(${r}deg)`),n!==void 0&&n!==100&&i.push(`scaleX(${n/100})`),i.length>0&&(e.style.transform=i.join(" "),e.style.transformOrigin=n!==void 0&&n!==100?"left center":"center center");}function dn(e,t){if(!t)return;let r=[];t.rotation&&r.push(`rotate(${t.rotation}deg)`),t.flipH&&r.push("scaleX(-1)"),t.flipV&&r.push("scaleY(-1)"),r.length!==0&&(e.style.transform=r.join(" "),e.style.transformOrigin="center center");}function at(e,t){if(t.allCaps&&(e.style.textTransform="uppercase"),t.smallCaps&&(e.style.fontVariant="small-caps"),t.hidden&&(e.classList.add("docx-hidden"),e.style.textDecoration="underline dotted"),t.textShadow==="emboss"?e.style.textShadow="1px 1px 1px rgba(255,255,255,0.5), -1px -1px 1px rgba(0,0,0,0.3)":t.textShadow==="imprint"?e.style.textShadow="-1px -1px 1px rgba(255,255,255,0.5), 1px 1px 1px rgba(0,0,0,0.3)":t.textShadow==="shadow"&&(e.style.textShadow="1px 1px 2px rgba(0,0,0,0.3)"),t.textOutline&&(e.style.webkitTextStroke="1px currentColor",e.style.webkitTextFillColor="transparent"),t.emphasisMark){let r=t.emphasisMark==="comma"?"filled sesame":t.emphasisMark==="circle"?"filled circle":"filled dot",n=t.emphasisMark==="underDot"?"under right":"over right";e.style.textEmphasis=r,e.style.textEmphasisPosition=n,e.style.webkitTextEmphasis=r,e.style.webkitTextEmphasisPosition=n;}t.textEffect&&(e.classList.add("docx-text-effect",`docx-text-effect-${t.textEffect}`),e.dataset.effect=t.textEffect);}function ne(e,t){if(t.docStart!==void 0&&(e.dataset.docStart=String(t.docStart)),t.docEnd!==void 0&&(e.dataset.docEnd=String(t.docEnd)),t.commentIds&&t.commentIds.length>0&&(e.dataset.commentId=t.commentIds.join(" ")),t.field){let r=t.field.type??t.field.category;r&&(e.dataset.fieldType=r),t.field.category&&(e.dataset.fieldCategory=t.field.category),t.field.instruction&&(e.dataset.fieldInstruction=t.field.instruction);let n=t.field.instruction?.trim()||r;n&&e.setAttribute("aria-description",n);}if(t.noteRef?.id!==void 0&&(e.dataset.noteRefKind=t.noteRef.kind??"footnote",e.dataset.noteRefId=String(t.noteRef.id)),t.comment){t.comment.status&&(e.dataset.commentStatus=t.comment.status),t.comment.authorId&&(e.dataset.commentAuthorId=t.comment.authorId),t.comment.paletteIndex!==void 0&&(e.dataset.commentPaletteIndex=String(t.comment.paletteIndex)),t.comment.color&&(e.dataset.commentColor=t.comment.color),t.comment.selected!==void 0&&(e.dataset.commentSelected=String(t.comment.selected)),t.comment.authorName&&(e.dataset.commentAuthorName=t.comment.authorName),t.comment.date&&(e.dataset.commentDate=t.comment.date),t.comment.replyCount!==void 0&&(e.dataset.commentReplyCount=String(t.comment.replyCount));let r=[t.comment.status,t.comment.authorName??t.comment.authorId,t.comment.date,t.comment.text,...(t.comment.replies??[]).map(n=>[n.authorName,n.text].filter(Boolean).join(": "))].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}if(t.revision){e.dataset.changeAuthor=t.revision.author,e.dataset.changeDate=t.revision.date,e.dataset.revisionId=t.revision.revisionId,e.classList.add(t.revision.kind==="ins"?"docx-insertion":"docx-deletion"),e.hasAttribute("role")||e.setAttribute("role",t.revision.kind==="ins"?"insertion":"deletion");let r=[t.revision.author,t.revision.date].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}t.href&&(e.dataset.href=t.href),un(e,t.inlineSdtWidget),He(e,t.sdt),t.sdtPath?.length&&(e.dataset.sdtPath=t.sdtPath.map(r=>r.groupId).join(" ")),t.logicalOrder!==void 0&&(e.dataset.logicalOrder=String(t.logicalOrder)),t.bidiLevel!==void 0&&(e.dataset.bidiLevel=String(t.bidiLevel)),ut(e,t);}function ut(e,t){if(t.groupId&&(e.dataset.groupId=t.groupId),t.decorative||t.hiddenObject){e.setAttribute("aria-hidden","true"),e.removeAttribute("role"),e.removeAttribute("aria-label"),e.removeAttribute("aria-description");return}t.ariaLabel&&e.setAttribute("aria-label",t.ariaLabel),t.ariaDescription&&e.setAttribute("aria-description",t.ariaDescription);}function He(e,t){t&&(e.classList.add(R.blockSdt),e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.lock!==void 0&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem)),!e.hasAttribute("aria-label")&&(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.lock&&e.setAttribute("aria-readonly","true"));}function un(e,t){if(!t)return;e.classList.add(R.inlineSdtWidget);let r=t.controlKind??t.kind;e.dataset.sdtWidget=r,e.dataset.sdtGroupId=t.groupId,e.dataset.sdtPos=String(t.pos),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked),e.setAttribute("aria-checked",String(t.checked))),t.controlId!==void 0&&(e.dataset.sdtControlId=String(t.controlId)),t.value!==void 0&&(e.dataset.sdtValue=t.value),t.selectedIndex!==void 0&&(e.dataset.sdtSelectedIndex=String(t.selectedIndex)),t.dateFormat!==void 0&&(e.dataset.sdtDateFormat=t.dateFormat),t.dateLanguage!==void 0&&(e.dataset.sdtDateLanguage=t.dateLanguage),t.locked!==void 0&&(e.dataset.sdtLocked=String(t.locked)),r==="checkbox"?e.setAttribute("role","checkbox"):r==="dropDownList"||r==="comboBox"?(e.setAttribute("role","combobox"),e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-expanded","false")):r==="date"?(e.setAttribute("role","button"),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("role","group"),e.removeAttribute("tabindex"),(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.locked&&e.setAttribute("aria-disabled","true");}function he(e,t){switch(t.scope){case "pmark":e.classList.add(R.revisionPmark),t.kind==="ins"&&e.classList.add(R.revisionPmarkIns),t.kind==="del"&&e.classList.add(R.revisionPmarkDel);break;case "table":e.classList.add(R.revisionTable,Ae(t.kind));break;case "row":e.classList.add(R.revisionRow,Ae(t.kind));break;case "cell":e.classList.add(R.revisionCell,Ae(t.kind));break}e.dataset.revisionId=t.revisionId,e.dataset.revisionAuthor=t.author,t.date&&(e.dataset.revisionDate=t.date);let r=[t.author,t.date].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}function Ae(e){return e==="ins"?R.revisionIns:e==="del"?R.revisionDel:R.revisionMerge}function mn(e,t,r,n){let i=r.createElement("section");i.className=R.notes,i.dataset.noteKind=e.kind??"footnote",e.sectionId&&(i.dataset.sectionId=e.sectionId),e.columns!==void 0&&(i.dataset.columns=String(e.columns)),i.style.position="absolute",i.style.left="0",i.style.top=`${e.y??0}px`,i.style.width=`${t.width}px`,i.style.height=`${e.height??0}px`;let s=new Map;for(let a of e.notes??[])a.id!==void 0&&s.set(a.id,a);oe(i,e.separatorPrimitives??[],r,-(e.y??0),n);let o=[...e.primitives??[]];for(let a of e.noteIds??[]){let c=`${e.kind??"footnote"}-${a}`,p=o.filter(u=>u.groupId===c);if(p.length===0)continue;for(let u of p){let h=o.indexOf(u);h>=0&&o.splice(h,1);}let g=r.createElement("aside");g.className=R.note,g.id=`oox-${c}`,g.dataset.noteId=String(a),g.setAttribute("role",e.kind==="endnote"?"doc-endnote":"doc-footnote");let y=s.get(a);if(y&&(y.label!==void 0&&(g.dataset.noteLabel=y.label),y.anchorDocStart!==void 0&&(g.dataset.anchorDocStart=String(y.anchorDocStart)),y.anchorDocEnd!==void 0&&(g.dataset.anchorDocEnd=String(y.anchorDocEnd))),oe(g,p,r,-(e.y??0),n),y){let u=r.createElement("a");u.className=R.noteBacklink,u.setAttribute("role","doc-backlink"),u.setAttribute("href",`#oox-noteref-${c}`);let h=n.labels?.noteBacklink??y.label??String(a);u.setAttribute("aria-label",h),g.appendChild(u);}i.appendChild(g);}return o.length>0&&oe(i,o,r,-(e.y??0),n),i}function pn(e,t){for(let r of Array.from(e.querySelectorAll(".layout-canvas-sdt-box[data-sdt-group-id]")))r.classList.toggle("layout-sdt-focused",t.has(r.dataset.sdtGroupId??""));}var fn=".layout-sdt-widget, .layout-inline-sdt-widget, .layout-sdt-repeat-btn";function yn(e,t={}){let r=t.document??document,n=r.createElement("div");n.className="layout-interactive-overlay",n.dataset.pageIndex=String(e.pageIndex),n.style.position="absolute",n.style.inset="0",n.style.width=`${e.width}px`,n.style.height=`${e.height}px`,n.style.pointerEvents="none",n.addEventListener("mousedown",a=>{a.target?.closest?.(fn)&&(a.preventDefault(),a.stopPropagation());});let i=gn(e),s=hn(i);for(let a of [...s.values()].sort(xn))n.appendChild(Ln(a,r,t.labels));let o=bn(i);for(let a of o.values())n.appendChild(Rn(a,r,t.labels));return n}function gn(e){return [...e.primitives,...e.header?.primitives??[],...e.footer?.primitives??[],...(e.noteAreas??[]).flatMap(t=>[...t.separatorPrimitives??[],...t.primitives??[]])]}function hn(e){let t=new Map;for(let r of e){let n=pt(r);if(!n)continue;let i=r.sdtPath?.length?r.sdtPath:r.sdt?[r.sdt]:[];for(let s of i){let o=t.get(s.groupId);o?o.rect=ft(o.rect,n):t.set(s.groupId,{attrs:s,rect:{...n}});}}return t}function bn(e){let t=new Map;for(let r of e){let n=r.inlineSdtWidget,i=pt(r);if(!n||!i)continue;let s=`${n.groupId}:${n.pos}:${n.controlKind??n.kind}`,o=t.get(s);o?o.rect=ft(o.rect,i):t.set(s,{attrs:n,rect:{...i}});}return t}function xn(e,t){return (e.attrs.depth??0)-(t.attrs.depth??0)||e.rect.y-t.rect.y||e.rect.x-t.rect.x}function Ln(e,t,r){let{attrs:n,rect:i}=e,s=t.createElement("div");s.className="layout-block-sdt-box layout-canvas-sdt-box",Sn(s,n),yt(s,i),s.style.pointerEvents="none";let o=n.alias||n.tag;if(o){let c=t.createElement("span");c.className="layout-block-sdt-label",c.textContent=o,s.appendChild(c);}let a=vn(n.sdtType),l=!n.bound&&!In(n.lock);if(a&&l){let c=t.createElement("button");c.type="button",c.className="layout-sdt-widget",c.dataset.sdtWidget=a,c.dataset.sdtGroupId=n.groupId,n.tag&&(c.dataset.sdtTag=n.tag),n.alias&&(c.dataset.sdtAlias=n.alias),(o||r?.control)&&c.setAttribute("aria-label",o||r?.control||""),a==="dropdown"&&c.setAttribute("aria-haspopup","listbox"),a==="date"&&c.setAttribute("aria-haspopup","dialog"),a==="checkbox"&&(c.setAttribute("role","checkbox"),c.setAttribute("aria-checked",String(n.checked??false))),c.textContent=a==="dropdown"?"\u25BE":a==="date"?"\u25A3":n.checked?"\u2612":"\u2610",c.style.pointerEvents="auto",s.appendChild(c);}if(n.repeatingItem&&l){let c=t.createElement("div");c.className="layout-sdt-repeat-controls",c.style.pointerEvents="auto",c.appendChild(mt(t,n,"add","\uFF0B",r?.addRepeatingItem,o)),c.appendChild(mt(t,n,"remove","\u2715",r?.removeRepeatingItem,o)),s.appendChild(c);}return s}function mt(e,t,r,n,i,s){let o=e.createElement("button");return o.type="button",o.className="layout-sdt-repeat-btn",o.dataset.sdtRepeat=r,o.dataset.sdtGroupId=t.groupId,t.tag&&(o.dataset.sdtTag=t.tag),(i||s)&&o.setAttribute("aria-label",i||s||""),o.textContent=n,o}function Rn(e,t,r){let{attrs:n,rect:i}=e,s=n.controlKind??n.kind,o=t.createElement("button");return o.type="button",o.className="layout-sdt-widget layout-inline-sdt-widget layout-canvas-inline-sdt-widget",o.dataset.sdtWidget=Dn(s),o.dataset.sdtGroupId=n.groupId,o.dataset.sdtPos=String(n.pos),n.tag&&(o.dataset.sdtTag=n.tag),n.alias&&(o.dataset.sdtAlias=n.alias),n.controlId!==void 0&&(o.dataset.sdtControlId=String(n.controlId)),n.value!==void 0&&(o.dataset.sdtValue=n.value),n.selectedIndex!==void 0&&(o.dataset.sdtSelectedIndex=String(n.selectedIndex)),n.dateFormat&&(o.dataset.sdtDateFormat=n.dateFormat),n.dateLanguage&&(o.dataset.sdtDateLanguage=n.dateLanguage),n.listItems?.length&&(o.dataset.sdtListItems=JSON.stringify(n.listItems)),(n.alias||n.tag||r?.control)&&o.setAttribute("aria-label",n.alias||n.tag||r?.control||""),s==="checkbox"?(o.setAttribute("role","checkbox"),o.setAttribute("aria-checked",String(n.checked??false))):s==="dropDownList"||s==="comboBox"?(o.setAttribute("aria-haspopup","listbox"),o.setAttribute("aria-expanded","false")):s==="date"&&o.setAttribute("aria-haspopup","dialog"),o.disabled=n.locked===true,o.textContent=s==="checkbox"?n.checked?"\u2612":"\u2610":s==="date"?"\u25A3":s==="picture"?"\u25A7":"\u25BE",yt(o,i),o.style.pointerEvents="auto",o}function Dn(e){return e==="dropDownList"||e==="comboBox"?"dropdown":e}function vn(e){return e==="checkbox"?"checkbox":e==="dropDownList"||e==="comboBox"?"dropdown":e==="date"?"date":null}function In(e){return e==="contentLocked"||e==="sdtContentLocked"||e==="sdtLocked"}function Sn(e,t){e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag&&(e.dataset.sdtTag=t.tag),t.alias&&(e.dataset.sdtAlias=t.alias),t.lock&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem));}function pt(e$1){let t=e$1.clipGroup?.clip;if(t?.x!==void 0&&t.y!==void 0&&t.w!==void 0&&t.h!==void 0)return {x:t.x,y:t.y,w:t.w,h:t.h};switch(e$1.kind){case "text":return c(e$1);case "glyphRun":return d(e$1);case "rect":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "line":return e(e$1);case "image":case "shape":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "decoration":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h}}}function ft(e,t){let r=Math.min(e.x,t.x),n=Math.min(e.y,t.y),i=Math.max(e.x+e.w,t.x+t.w),s=Math.max(e.y+e.h,t.y+t.h);return {x:r,y:n,w:i-r,h:s-n}}function yt(e,t){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y}px`,e.style.width=`${Math.max(1,t.w)}px`,e.style.height=`${Math.max(1,t.h)}px`;}var K=class extends Error{constructor(r,n){let i=n instanceof Error?n.message:String(n);super(`Rust display-list ${r} failed: ${i}`);b(this,"stage");this.name="RustDisplayListSourceError",this.stage=r;}},gt=null;function Fe(){return gt??(gt=import('../../wasm-G62X4WRW.mjs').then(async e=>(await e.preloadLayoutWasm(),{buildDisplayListJson:e.buildDisplayListJson,hitTestRegionsJson:e.hitTestRegionsJson,verticalMoveJson:e.verticalMoveJson,rangeRectsJson:e.rangeRectsJson,rangeRectsRegionJson:e.rangeRectsRegionJson,hasRangeRectsRegion:e.hasRangeRectsRegion,hasDisplayListSession:e.hasDisplayListSession,openDisplayList:e.openDisplayList,closeDisplayList:e.closeDisplayList,updateDisplayList:e.updateDisplayList,hasDisplayListUpdate:e.hasDisplayListUpdate,hitTestRegionsByHandle:e.hitTestRegionsByHandle,verticalMoveByHandle:e.verticalMoveByHandle,rangeRectsByHandle:e.rangeRectsByHandle,rangeRectsRegionByHandle:e.rangeRectsRegionByHandle}))),gt}function Ge(){return Fe()}function kn(e,t){let r=e.measured,n="[";for(let s=0;s<r.length;s++){s>0&&(n+=",");let o=r[s],a=o.measure,l;if(t&&a!==null&&typeof a=="object"){let c=a;l=t.get(c),l===void 0&&(l=JSON.stringify(o.measure),t.set(c,l));}else l=JSON.stringify(o.measure);n+='{"block":'+JSON.stringify(o.block)+',"measure":'+l+"}";}n+="]";let i='{"measured":'+n+',"options":'+JSON.stringify(e.options)+',"layout":'+JSON.stringify(e.layout);return e.contractVersion!==void 0&&(i+=',"contractVersion":'+JSON.stringify(e.contractVersion)),e.headersFooters!==void 0&&(i+=',"headersFooters":'+JSON.stringify(e.headersFooters)),e.fontChains!==void 0&&(i+=',"fontChains":'+JSON.stringify(e.fontChains)),e.noteAreas!==void 0&&(i+=',"noteAreas":'+JSON.stringify(e.noteAreas)),e.resolvedCommentIds!==void 0&&(i+=',"resolvedCommentIds":'+JSON.stringify(e.resolvedCommentIds)),e.commentAuthors!==void 0&&(i+=',"commentAuthors":'+JSON.stringify(e.commentAuthors)),e.commentThreads!==void 0&&(i+=',"commentThreads":'+JSON.stringify(e.commentThreads)),i+="}",i}function ht(e){let t={};return e.contractVersion!==void 0&&(t.contractVersion=e.contractVersion),e.headersFooters!==void 0&&(t.headersFooters=e.headersFooters),e.fontChains!==void 0&&(t.fontChains=e.fontChains),e.noteAreas!==void 0&&(t.noteAreas=e.noteAreas),e.resolvedCommentIds!==void 0&&(t.resolvedCommentIds=e.resolvedCommentIds),e.commentAuthors!==void 0&&(t.commentAuthors=e.commentAuthors),e.commentThreads!==void 0&&(t.commentThreads=e.commentThreads),JSON.stringify(t)}var wn=new WeakMap;async function bt(e,t){let r;try{r=t??await Fe();}catch(s){throw new K("load",s)}let n,i;try{n=kn(e,wn),i=r.buildDisplayListJson(n);}catch(s){throw new K("build",s)}try{return JSON.parse(i)}catch(s){throw new K("parse",s)}}async function Mn(e,t$1,r=null){let n;try{n=t$1??await Fe();}catch(l){throw new K("load",l)}if(!n.buildDisplayListFrame)return {displayList:await bt(e,n),frame:null,transport:"json"};let i=ht(e),s$1;try{s$1=n.buildDisplayListFrame(i,r?.frameEpoch??0);}catch(l){throw new K("build",l)}let o;try{o=s(s$1);}catch(l){throw new K("decode",l)}let a;try{a=t(r,o);}catch(l){throw new K("apply",l)}return {displayList:a.displayList,frame:a,transport:"frame-delta-v1"}}function xt(e,t,r){if(t==="body")return e.primitives.filter(i=>i.kind==="image");let n=t==="header"?e.header:e.footer;return !n||r!==void 0&&n.rId!==r?[]:n.primitives.filter(i=>i.kind==="image")}function Ne(e,t,r="body",n){for(let i of e.pages)for(let s of xt(i,r,n))if(s.docStart===t)return {primitive:s,pageIndex:i.pageIndex,...r!=="body"?{region:r,rId:n}:{}};return null}function Ye(e,t,r,n,i="body",s){let o=e.pages[t];if(!o)return null;let a=xt(o,i,s);for(let l=a.length-1;l>=0;l--){let c=a[l];if(!(r<c.x||r>c.x+c.w)&&!(n<c.y||n>c.y+c.h))return {primitive:c,pageIndex:o.pageIndex,...i!=="body"?{region:i,rId:s}:{}}}return null}function Pn(e,t){let r=e.imageByPos(t);if(!r)return;let n=e.contentBounds(r.pageIndex),i=e.paragraphRects(t).find(s=>s.pageIndex===r.pageIndex);if(!(!n||!i))return {horizontalEmu:Math.round(c$1(r.primitive.x-n.x)),verticalEmu:Math.round(c$1(r.primitive.y-i.y))}}var xe=(()=>{let e=globalThis.FinalizationRegistry;return e?new e(t=>t()):null})(),Oe=new WeakMap,Re=new WeakSet,_e=new Set;function En(e){return e!=null&&Re.has(e)}function An(e){return _e.add(e),()=>{_e.delete(e);}}function Le(e){return e instanceof Error?typeof WebAssembly<"u"&&e instanceof WebAssembly.RuntimeError?true:e.name==="RuntimeError":false}function Tn(e,t){let r=e.storeRevisions();if(!r)return null;let n=new Map;e.list.pages.forEach((a,l)=>n.set(a,l));let i=[],s=[],o=[];return t.pages.forEach((a,l)=>{let c=n.get(a);if(c===void 0){s.push([l,a]);return}n.delete(a);let p=r[c];if(p===void 0){s.push([l,a]);return}let g=v(a)===p?[]:w(a,p);g===null?s.push([l,a]):g.length===0?i.push([l,c]):o.push([l,c,g.map(y=>y.map(u=>[u.start,u.count,u.changedMask,u.delta]))]);}),i.length===0&&o.length===0?null:JSON.stringify({total:t.pages.length,...t.contractVersion!==void 0?{contractVersion:t.contractVersion}:{},reuse:i,replace:s,...o.length>0?{shift:o}:{}})}function Cn(e,t,r){let n=null,i=null,s=()=>(n===null&&(i=e.pages.map(v),n=JSON.stringify(e)),n),o=null,a=Bn(t)?t:null,l=a?null:t??null,c=null,p,g,y=new Promise((d,m)=>{p=d,g=m;});y.catch(()=>{});let u=null,h=false,D=false,k=false,v$1={},L=null;if(r){let d=Oe.get(r);d&&(L=d.hasHandle()?r:d.donor(),d.supersede());}let E=()=>a??l,B=()=>{let d=E();return d!==null&&Re.has(d)},w=(d,m)=>{let f=m instanceof Error?m:new Error(String(m));c=f,u=null,xe?.unregister(v$1);let b=E();if(!(!b||Re.has(b))){Re.add(b),console.error(`[CanvasRenderer] ${d} trapped in wasm; the session is unusable and must be rebuilt`,f);for(let x of _e)try{x(f);}catch(I){console.error("[CanvasRenderer] display-list source failure listener threw",I);}}},N=()=>{if(u!==null&&B()){u=null;return}if(u!==null){try{l?.closeDisplayList?.(u);}catch{}u=null;}},ee=()=>{let d=L;if(L=null,!d||!l?.updateDisplayList||!l.hasDisplayListUpdate?.())return false;let m=Oe.get(d);if(!m||m.engine()!==l)return false;let f=e.pages.map(v),b=Tn(m,e);if(!b)return false;let x=m.takeHandle();if(x===null)return false;try{return l.updateDisplayList(x,b),u=x,o=f,!0}catch(I){try{l.closeDisplayList?.(x);}catch{}return console.warn("[CanvasRenderer] display-list delta update failed; reopening",I),false}},T=()=>{if(!(k||D||h||u!==null||!l||B())&&!(!l.hasDisplayListSession?.()||!l.openDisplayList)&&(h=true,!ee()))try{u=l.openDisplayList(s()),o=i;}catch(d){if(u=null,Le(d)){w("display-list session open",d);return}console.warn("[CanvasRenderer] display-list session open failed; using JSON-arg queries",d);}};a||l?p():Ge().then(d=>{l=d,p();},d=>{c=d instanceof Error?d:new Error(String(d)),g(c),console.warn("[CanvasRenderer] display-list query engine failed to load",c);});let Y=(d,m,f)=>{if(!l||B())return null;if(u===null&&T(),u!==null&&d)try{return d(u)}catch(b){if(Le(b))return w(f,b),null;console.warn(`[CanvasRenderer] ${f} session query failed; falling back`,b),N();}try{return m()}catch(b){return Le(b)?(w(f,b),null):(c=b instanceof Error?b:new Error(String(b)),console.warn(`[CanvasRenderer] ${f} query failed`,b),null)}},P=(d,m,f)=>{if(d===null)return m;try{return JSON.parse(d)}catch(b){return c=b instanceof Error?b:new Error(String(b)),console.warn(`[CanvasRenderer] ${f} returned invalid JSON`,b),m}},Z=(d,m)=>{if(B())return null;try{return d()}catch(f){return Le(f)?(w(`resident ${m}`,f),null):(c=f instanceof Error?f:new Error(String(f)),console.warn(`[CanvasRenderer] resident ${m} query failed`,f),null)}},ce=(d,m,f)=>{if(a)return P(Z(()=>a.displayHitTestRegionsJson(d,m,f),"hit_test_regions"),null,"hit_test_regions");let b=Y(l?.hitTestRegionsByHandle&&(x=>l.hitTestRegionsByHandle(x,d,m,f)),()=>l.hitTestRegionsJson(s(),d,m,f),"hit_test_regions");return P(b,null,"hit_test_regions")},H=(d,m)=>{if(a)return P(Z(()=>a.displayRangeRectsJson(d,m),"range_rects"),[],"range_rects");let f=Y(l?.rangeRectsByHandle&&(b=>l.rangeRectsByHandle(b,d,m)),()=>l.rangeRectsJson(s(),d,m),"range_rects");return P(f,[],"range_rects")},te=(d,m,f)=>{let b=f??Number.NaN;if(a)return P(Z(()=>a.displayVerticalMoveJson(d,m,b),"vertical_move"),null,"vertical_move");if(!l?.verticalMoveJson)return null;let x=Y(l.verticalMoveByHandle&&(I=>l.verticalMoveByHandle(I,d,m,b)),()=>l.verticalMoveJson(s(),d,m,b),"vertical_move");return P(x,null,"vertical_move")},C=(d,m,f,b)=>{if(a)return P(Z(()=>a.displayRangeRectsRegionJson(d,m,f,b),"range_rects_region"),[],"range_rects_region");if(!l||!l.hasRangeRectsRegion?.())return [];let x=Y(l.rangeRectsRegionByHandle&&(I=>l.rangeRectsRegionByHandle(I,d,m,f,b)),()=>l.rangeRectsRegionJson(s(),d,m,f,b),"range_rects_region");return P(x,[],"range_rects_region")},O=(d,m,f,b)=>C(d,m,f,b),_=(d,m,f,b)=>C(d,String(m),f,b),J=(d,m)=>{let f=(x,I)=>{let S=new Map;for(let M of x)I&&S.has(M.pageIndex)||S.set(M.pageIndex,{pageIndex:M.pageIndex,x:I?M.x:M.x+M.width,y:M.y,width:0,height:M.height});return [...S.values()]},b=d(m,m+1);if(b.length>0)return f(b,true);if(m>0){let x=d(m-1,m);if(x.length>0)return f(x,false)}return []},X=(d,m,f)=>J((b,x)=>O(d,m,b,x),f),V=(d,m,f)=>J((b,x)=>_(d,m,b,x),f),U=d=>{let m=H(d,d+1);if(m.length>0){let f=m[0];return {pageIndex:f.pageIndex,x:f.x,y:f.y,width:0,height:f.height}}if(d>0){let f=H(d-1,d);if(f.length>0){let b=f[f.length-1];return {pageIndex:b.pageIndex,x:b.x+b.width,y:b.y,width:0,height:b.height}}}return null},z=d=>{let m=H(d,d+2);return m.length>0?m[0]:U(d)},ve=(d,m,f)=>{let b=O(d,m,f,f+2);if(b.length===0)return X(d,m,f);let x=new Map;for(let I of b)x.has(I.pageIndex)||x.set(I.pageIndex,I);return [...x.values()]},ze=(d,m)=>({pageIndex:d,x:m.x,y:m.y,width:m.w,height:m.h}),kt=d=>{let m=e.pages[d];return m?{pageIndex:m.pageIndex,x:0,y:0,width:m.width,height:m.height}:null},wt=d=>{let m=e.pages[d],f=m?.contentBounds;return m&&f?{pageIndex:m.pageIndex,x:f.x,y:f.y,width:f.width,height:f.height}:null},Mt=d=>{let m=e.pages[d];return m?(m.columnBounds??[]).map(f=>({pageIndex:m.pageIndex,x:f.x,y:f.y,width:f.width,height:f.height})):[]},Ie=d=>d.paraId?`para:${d.paraId}`:d.blockKey!==void 0?`block-key:${d.blockKey}`:d.blockId!==void 0?`block-id:${d.blockId}`:null,je=d=>d.blockKey??d.blockId,de=null,Pt=()=>{if(de)return de;let d=new Map;for(let m of e.pages)for(let f$1 of m.primitives){let b=Ie(f$1);if(!b||f$1.docStart===void 0||f$1.docEnd===void 0)continue;let x=f(f$1),I=d.get(b);I||(I=new Map,d.set(b,I));let S=I.get(m.pageIndex);if(!S){I.set(m.pageIndex,{...ze(m.pageIndex,x),from:f$1.docStart,to:f$1.docEnd,blockId:je(f$1),paraId:f$1.paraId});continue}let M=Math.min(S.x,x.x),A=Math.min(S.y,x.y),me=Math.max(S.x+S.width,x.x+x.w),pe=Math.max(S.y+S.height,x.y+x.h);S.x=M,S.y=A,S.width=me-M,S.height=pe-A,S.from=Math.min(S.from,f$1.docStart),S.to=Math.max(S.to,f$1.docEnd);}return de=new Map([...d].map(([m,f])=>[m,[...f.values()]])),de},Et=d=>{let m=null;for(let f of e.pages)for(let b of f.primitives){let x=Ie(b),I=b.docStart,S=b.docEnd;if(!x||I===void 0||S===void 0||d<I||d>S)continue;let M={identity:x,span:Math.max(0,S-I),startsAtPos:I===d};(!m||M.startsAtPos&&!m.startsAtPos||M.startsAtPos===m.startsAtPos&&M.span<m.span)&&(m=M);}return m?Pt().get(m.identity)??[]:[]},At=1.5,ue=null,Ue=()=>{if(ue)return ue;let d=[];for(let m of e.pages){let f$1=[],b=0;for(let x of m.primitives){if(x.kind!=="text"&&x.kind!=="glyphRun"||x.docStart===void 0||x.docEnd===void 0||x.kind==="glyphRun"&&x.glyphs.length===0)continue;let I=x.kind==="text"?x.baselineY:x.glyphs.reduce((fe,Ht)=>Math.max(fe,Ht.y),-1/0);if(!Number.isFinite(I))continue;let S=Ie(x)??`anonymous:${b++}`,M=f(x),A=f$1.find(fe=>fe.identity===S&&Math.abs(fe.baseline-I)<=At);if(!A){f$1.push({identity:S,...ze(m.pageIndex,M),baseline:I,from:x.docStart,to:x.docEnd,blockId:je(x),paraId:x.paraId});continue}let me=Math.min(A.x,M.x),pe=Math.min(A.y,M.y),Ct=Math.max(A.x+A.width,M.x+M.w),Bt=Math.max(A.y+A.height,M.y+M.h);A.x=me,A.y=pe,A.width=Ct-me,A.height=Bt-pe,A.from=Math.min(A.from,x.docStart),A.to=Math.max(A.to,x.docEnd);}d.push(...f$1.map(({identity:x,...I})=>I));}return ue=d,ue},Tt=d=>{let m=null;for(let f of Ue())d<f.from||d>f.to||(!m||f.to-f.from<m.to-m.from)&&(m=f);return m},qe=d=>{if(!d)return null;let m=d.primitive.docStart;if(m===void 0)return null;let{primitive:f}=d;return {...d,pos:m,rect:{pageIndex:d.pageIndex,x:f.x,y:f.y,width:f.w,height:f.h}}},Se={displayList:e,isReady:()=>(a!==null||l!==null)&&c===null,sourceState:()=>c?{status:"error",error:c}:a||l?{status:"ready"}:{status:"loading"},whenReady:()=>y,pageCount:()=>e.pages.length,pageSize:d=>{let m=e.pages[d];return m?{width:m.width,height:m.height}:null},pageBounds:kt,contentBounds:wt,columnBounds:Mt,paragraphRects:Et,visualLines:Ue,visualLineAtPosition:Tt,imageAtPoint:(d,m,f,b="body",x)=>qe(Ye(e,d,m,f,b,x)),imageByPos:(d,m="body",f)=>qe(Ne(e,d,m,f)),hitTestRegions:ce,verticalMove:te,rangeRects:H,hfRangeRects:O,noteRangeRects:_,hfCaretRects:X,noteCaretRects:V,hfAnchorRects:ve,caretRect:U,anchorRect:z,sidebarAnchorRect:z,prime:T,dispose:()=>{k||(k=true,N(),xe?.unregister(v$1));}};return xe?.register(Se,N,v$1),Oe.set(Se,{list:e,storeRevisions:()=>o,engine:()=>l,hasHandle:()=>u!==null,donor:()=>L,supersede:()=>{D=true;},takeHandle:()=>{let d=u;return d!==null&&(u=null,xe?.unregister(v$1)),d}}),Se}function Bn(e){return typeof e?.displayHitTestRegionsJson=="function"&&typeof e?.displayVerticalMoveJson=="function"&&typeof e?.displayRangeRectsJson=="function"&&typeof e?.displayRangeRectsRegionJson=="function"}var Hn=16,Fn=24;function se(e){let t=[],r=24;for(let n=0;n<e.pageCount();n++)t.push(r),r+=(e.pageSize(n)?.height??0)+16;return t}function Gn(){let e=new Map;return t=>{if(!t.startsWith("blob:")&&!t.startsWith("data:"))return null;let r=e.get(t);return r||(r=new Promise(n=>{let i=new Image;i.onload=()=>n(i),i.onerror=()=>n(null),i.src=t;}),e.set(t,r)),r}}function Nn(e,t){let r=e.activeCommentIds.length>0?t?.(e.activeCommentIds):void 0;return {hasSelection:e.hasSelection,inInsertion:e.inInsertion,inDeletion:e.inDeletion,hasComment:e.activeCommentIds.length>0,inList:e.inList,listLevel:e.listLevel??0,...r?.authorName!==void 0?{commentAuthor:r.authorName}:{},...r?.replyCount!==void 0?{commentReplyCount:r.replyCount}:{}}}function Yn(e,t){if(!e)return [];let r=[];return !e.hasSelection&&t.hasSelection&&r.push({key:"selected"}),e.hasSelection&&!t.hasSelection&&r.push({key:"selectionCleared"}),!e.hasComment&&t.hasComment&&r.push({key:"commentedText",...t.commentAuthor!==void 0||t.commentReplyCount!==void 0?{vars:{...t.commentAuthor!==void 0?{author:t.commentAuthor}:{},...t.commentReplyCount!==void 0?{replies:t.commentReplyCount}:{}}}:{}}),!e.inInsertion&&t.inInsertion&&r.push({key:"trackedInsertion"}),!e.inDeletion&&t.inDeletion&&r.push({key:"trackedDeletion"}),(!e.inList&&t.inList||t.inList&&e.listLevel!==t.listLevel)&&r.push({key:"listItem",vars:{level:t.listLevel+1}}),r}function ae(e){let t=Number(e);if(Number.isFinite(t))return t;let r=0xcbf29ce484222325n;for(let n of new TextEncoder().encode(e))r=(r^BigInt(n))*0x100000001b3n,r&=0xffffffffffffffffn;return Number(r&(1n<<53n)-1n)}function De(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function On(e){let t=typeof e.story=="string"?[e.story]:[],r=Array.isArray(e.rows)?e.rows:[];for(let n of r){let i=De(n),s=i&&Array.isArray(i.cells)?i.cells:[];for(let o of s){let a=De(o)?.story;typeof a=="string"&&t.push(a);}}return t}function _n(e){let t=e.storyIds(),r=new Map,n=new Set;for(let o of t){let a=[];try{for(let l of e.storySegments(o))if(l.kind==="embed")for(let c of On(l.payload))a.push(c),n.add(c);}catch{}r.set(o,a);}let i=new Map,s=(o,a,l)=>{if(!(l.has(o)||i.has(o))){l.add(o),i.set(o,a);for(let c of r.get(o)??[])s(c,a,l);l.delete(o);}};t.includes("body")&&s("body",{story:"body"},new Set);for(let o of t)!o.startsWith("hf:")||n.has(o)||s(o,{story:o,hfRid:o.slice(3)},new Set);return i}function Xn(e,t,r,n,i){let s=Array.isArray(t.rows)?t.rows:[],o=r+1;for(let a of s){let l=De(a),c=l&&Array.isArray(l.cells)?l.cells:[],p=o+1;for(let g of c){let y=De(g),u=typeof y?.story=="string"?y.story:null,h=u?Xe(e,u,p+1,n,i):0;p+=h+2;}o=p+1;}return o+1-r}function Xe(e,t,r,n,i){if(i.has(t))throw new Error(`recursive yrs story: ${t}`);i.add(t);try{let s=r,o=r,a=0,l=!0;for(let c of e.storySegments(t)){if(c.kind==="text"){a+=c.text.length,l=!1;continue}if(c.kind==="pilcrow"){let p=o+a+2;n.set(c.paraId,{pmStart:o,pmEnd:p}),s=p,o=s,a=0,l=!0;continue}if(c.embedKind==="table"&&l){s+=Xn(e,c.payload,s,n,i),o=s;continue}if(c.embedKind==="blockSdt"&&l){let p=typeof c.payload.story=="string"?c.payload.story:null,g=p?Xe(e,p,s+1,n,i):0;s+=g+2,o=s;continue}if(l&&(c.embedKind==="pageBreak"||c.embedKind==="columnBreak")){s+=1,o=s;continue}a+=1,l=!1;}return s-r}finally{i.delete(t);}}function $n(e){let t=new Map,r=_n(e),n=o=>{let a=r.get(o)?.story;if(!a)return null;if(t.has(a))return t.get(a)??null;try{let l=new Map;return Xe(e,a,0,l,new Set),t.set(a,l),l}catch{return t.set(a,null),null}},i=o=>{let a=r.get(o.story);if(!a)return null;let l=n(o.story)?.get(o.paraId);if(!l)return null;let c=Math.max(0,l.pmEnd-l.pmStart-2),p=Math.min(Math.max(0,Math.trunc(o.offset)),c);return {story:o.story,position:l.pmStart+1+p,...a.hfRid?{hfRid:a.hfRid}:{}}};return {locToDisplayPoint:i,storyOffsetToDisplayPoint:(o,a)=>{if(!r.has(o))return null;let l=Math.max(0,Math.trunc(a));try{for(let c of e.paragraphs(o)){let p=e.locateParagraph(o,c.paraId);if(!(l<p.start||l>p.end))return i({story:o,paraId:c.paraId,offset:Math.min(l-p.start,p.end-p.start)})}}catch{return null}return null}}}function $e(e,t){let{doc:r,schema:n}=e.state,i=n.marks.comment,s=n.marks.insertion,o=n.marks.deletion;!i&&!s&&!o||r.descendants((a,l)=>{let c=a.attrs;if(c){let p=[c.trIns,c.trDel,c.pPrIns,c.pPrDel];for(let h of p){let D=h?.revisionId;typeof D=="number"&&t(`revision-${D}`,l);}let y=c.cellMarker?.info?.revisionId;typeof y=="number"&&t(`revision-${y}`,l);let u=[c.pPrChange,c.trPrChange,c.tcPrChange,c.tblPrChange];for(let h of u)if(Array.isArray(h))for(let D of h){let k=D?.info?.id;typeof k=="number"&&t(`revision-${k}`,l);}}if(a.isInline)for(let p of a.marks){let g=null;i&&p.type===i?g=`comment-${p.attrs.commentId}`:(s&&p.type===s||o&&p.type===o)&&(g=`revision-${p.attrs.revisionId}`),g&&t(g,l);}});}function Jn(e,t,r){let n=new Map;if(!e?.state)return n;let i=se(t),s=new Set;return $e(e,(o,a)=>{if(s.has(o))return;s.add(o);let l=t.anchorRect(a);if(!l)return;let c=r?r(l):(i[l.pageIndex]??0)+l.y;c!=null&&n.set(o,c);}),n}function Qn(e,t,r){if(!e.hfRid)return t.anchorRect(e.position);let n=r?.get(e.hfRid);return n?t.hfAnchorRects(n,e.hfRid,e.position)[0]??null:null}function Wn(e,t,r,n,i,s,o){let a=new Map,l=se(i),c=(p,g)=>{if(!g||a.has(p))return a.has(p);let y=Qn(g,i,s);if(!y)return false;let u=o?o(y):(l[y.pageIndex]??0)+y.y;return u==null?false:(a.set(p,u),true)};for(let p of t){let g=`comment-${p}`;try{for(let y of e.resolveComment(String(p)))if(c(g,n.storyOffsetToDisplayPoint(y.story,y.start)))break}catch{}}for(let p of r)c(`revision-${ae(p.revisionId)}`,n.locToDisplayPoint({story:p.story,...p.range.start}));return a}function Kn(e,t,r,n){let i=se(t);for(let{region:s,rId:o,view:a}of e)$e(a,(l,c)=>{if(r.has(l))return;let p=t.hfAnchorRects(s,o,c)[0];if(!p)return;let g=n?n(p):(i[p.pageIndex]??0)+p.y;g!=null&&r.set(l,g);});return r}function Vn(e,t){let r=e.map(o=>{let a=t.locToDisplayPoint({story:o.range.story,...o.range.start}),l=t.locToDisplayPoint({story:o.range.story,...o.range.end}),c=a?.position??0,p=Math.max(c,l?.position??c);return {type:o.kind==="pPrIns"?"paragraphMarkInsertion":o.kind==="pPrDel"?"paragraphMarkDeletion":o.kind==="pPrChange"?"paragraphPropertiesChanged":o.kind==="trIns"?"rowInserted":o.kind==="trDel"?"rowDeleted":o.kind==="tableIns"?"tableInserted":o.kind==="tableDel"?"tableDeleted":o.kind,text:o.preview,author:o.author,date:o.date||void 0,from:c,to:p,revisionId:ae(o.revisionId),...a?.hfRid?{hfRid:a.hfRid}:{}}}),n=new Map;for(let o of r){let a=n.get(o.revisionId)??[];a.push(o),n.set(o.revisionId,a);}let i=[...n.values()].map(o=>{let a=Math.min(...o.map(u=>u.from)),l=Math.max(...o.map(u=>u.to)),c=o.filter(u=>u.type==="insertion"),p=o.filter(u=>u.type==="deletion");if(c.length>0&&p.length>0)return {...c[0],type:"replacement",text:c.map(h=>h.text).join(""),deletedText:p.map(h=>h.text).join(""),from:a,to:l};let g=o.find(u=>u.type==="insertion"||u.type==="deletion")??o[0],y=o.filter(u=>u.type===g.type).map(u=>u.text).join("");return {...g,text:y,from:a,to:l}}),s=[];for(let o=0;o<i.length;o+=1){let a=i[o],l=i[o+1];a.type==="deletion"&&l?.type==="insertion"&&a.author===l.author&&a.date===l.date&&a.to===l.from&&a.hfRid===l.hfRid?(s.push({type:"replacement",text:l.text,deletedText:a.text,author:a.author,date:a.date,from:a.from,to:l.to,revisionId:a.revisionId,insertionRevisionId:l.revisionId,...a.hfRid?{hfRid:a.hfRid}:{}}),o+=1):s.push(a);}return {entries:s,commentToRevision:new Map}}function zn(e,t){let r=t.kind??"body";if(r==="body")return {kind:r,primitives:e.primitives};let n=r==="header"?e.header:e.footer;return !n||n.kind!==r||t.rId&&n.rId!==t.rId?null:{kind:r,rId:n.rId,primitives:n.primitives}}function jn(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":case "image":case "shape":case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h};case "line":return {x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)}}}function Un(e){let t=jn(e),r=e.clipGroup?.clip;if(!r)return t;let n=r.x??0,i=r.y??0,s=n+Math.max(0,r.w??0),o=i+Math.max(0,r.h??0),a=Math.max(t.x,n),l=Math.max(t.y,i),c=Math.min(t.x+t.w,s),p=Math.min(t.y+t.h,o);return c<a||p<l?null:{x:a,y:l,w:c-a,h:p-l}}function qn(e){return e.kind==="text"||e.kind==="glyphRun"?e.text:e.kind==="image"?e.altText??"":""}function Zn(e,t,r){return t>=e.x&&t<=e.x+e.w&&r>=e.y&&r<=e.y+e.h}function ei(e,t,r,n,i={kind:"body"}){let s=e.pages[t];if(!s)return null;let o=zn(s,i);if(!o)return null;for(let a=o.primitives.length-1;a>=0;a--){let l=o.primitives[a];if(l.kind==="line"||!l.href||l.hiddenObject)continue;let c=Un(l);if(c&&Zn(c,r,n))return {pageIndex:t,region:o.kind,rId:o.rId,href:l.href,tooltip:l.linkTitle??l.tooltip,displayText:qn(l)||l.href,rect:c}}return null}var $=7.5,q=16,Lt=320,ti=30,ni=200,ii=24,ri=10,oi=10,si=24;function Rt(e){let t;switch(e.kind){case "text":t=c(e);break;case "glyphRun":t=d(e);break;case "rect":case "image":case "shape":case "decoration":t={x:e.x,y:e.y,w:e.w,h:e.h};break;case "line":t={x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)};break}let r=Qe(e);return r?ai(t,r)??{x:r.x,y:r.y,w:0,h:0}:t}function Qe(e){let t=e.clipGroup?.clip;return t?{x:t.x??0,y:t.y??0,w:Math.max(0,t.w??0),h:Math.max(0,t.h??0)}:null}function ai(e,t){let r=Math.max(e.x,t.x),n=Math.max(e.y,t.y),i=Math.min(e.x+e.w,t.x+t.w),s=Math.min(e.y+e.h,t.y+t.h);return i<r||s<n?null:{x:r,y:n,w:i-r,h:s-n}}function Dt(e,t,r){if(e.docStart!=null){let n=t(e.docStart);if(n!=null){let i={tableKey:n,docStartSample:e.docStart};return e.table?.tableId&&!r.has(e.table.tableId)&&r.set(e.table.tableId,i),i}}return e.table?.tableId?r.get(e.table.tableId)??null:null}function vt(e,t,r){let n=e.table?.tableId;if(!n)return null;let i=t.get(n);return i?r.get(i.tableKey)??null:null}function li(e,t,r,n){let i=new Map;for(let o of t){if(o.kind==="line")continue;let a=o.cell;if(!a)continue;let l=Dt(o,r,n);if(!l)continue;let{tableKey:c,docStartSample:p}=l,g=Rt(o),y=Qe(o),u=y??g,h=i.get(c);if(h||(h={tableKey:c,docStartSample:p,contentMinX:u.x,contentMinY:u.y,contentMaxX:u.x+u.w,contentMaxY:u.y+u.h,exactLeftX:[],exactBottomY:[],exactClipLeftX:[],exactClipBottomY:[],rows:new Map},i.set(c,h)),p<h.docStartSample&&(h.docStartSample=p),h.contentMinX=Math.min(h.contentMinX,u.x),h.contentMinY=Math.min(h.contentMinY,u.y),h.contentMaxX=Math.max(h.contentMaxX,u.x+u.w),h.contentMaxY=Math.max(h.contentMaxY,u.y+u.h),y&&(h.exactClipLeftX.push(y.x),h.exactClipBottomY.push(y.y+y.h)),!a.continuation){let D=h.rows.get(a.row);D?(D.top=Math.min(D.top,u.y),D.bottom=Math.max(D.bottom,u.y+u.h)):h.rows.set(a.row,{top:u.y,bottom:u.y+u.h});}}if(i.size===0)return [];for(let o of t){if(o.kind!=="line"||o.role!=="table-border"&&o.role!=="table-cut")continue;let a=vt(o,n,i);if(!a){let p=(o.x1+o.x2)/2,g=(o.y1+o.y2)/2,y=1/0;for(let u of i.values()){let h=p>=u.contentMinX-q&&p<=u.contentMaxX+q,D=g>=u.contentMinY-q&&g<=u.contentMaxY+q;if(!h||!D)continue;let k=Math.max(0,u.contentMinX-p,p-u.contentMaxX),v=Math.max(0,u.contentMinY-g,g-u.contentMaxY),L=k+v;L<y&&(y=L,a=u);}}if(!a)continue;let l=Math.abs(o.x1-o.x2)<.5,c=Math.abs(o.y1-o.y2)<.5;l&&a.exactLeftX.push(Math.min(o.x1,o.x2)),c&&a.exactBottomY.push(Math.max(o.y1,o.y2));}let s=[];for(let o of i.values()){if(o.rows.size===0)continue;let a=o.exactLeftX.length>0||o.exactClipLeftX.length>0,l=a?Math.min(...o.exactLeftX,...o.exactClipLeftX):o.contentMinX-$,c=o.exactBottomY.length>0||o.exactClipBottomY.length>0?Math.max(...o.exactBottomY,...o.exactClipBottomY):o.contentMaxY,p=[...o.rows.entries()].map(([g,y])=>({rowIndex:g,top:y.top,bottom:y.bottom})).sort((g,y)=>g.rowIndex-y.rowIndex);s.push({pageIndex:e,tableKey:o.tableKey,docStartSample:o.docStartSample,originX:l,originY:o.contentMinY,bottomY:c,originExact:a,rowBands:p});}return s}function ci(e,t){let r=[],n=Ke(e,t,{kind:"body"});for(let i of e.pages)r.push(...li(i.pageIndex,i.primitives,t,n));return r}function We(e,t){let r=t.kind??"body";if(r==="body")return {kind:r,primitives:e.primitives};let n=r==="header"?e.header:e.footer;return !n||n.kind!==r||t.rId&&n.rId!==t.rId?null:{kind:r,rId:n.rId,primitives:n.primitives}}function Ke(e,t,r){let n=new Map;for(let i of e.pages){let s=We(i,r);if(s)for(let o of s.primitives){if(!o.cell||!o.table?.tableId||o.docStart==null)continue;let a=t(o.docStart);if(a==null)continue;let l=n.get(o.table.tableId);(!l||o.docStart<l.docStartSample)&&n.set(o.table.tableId,{tableKey:a,docStartSample:o.docStart});}}return n}function Ve(e,t){return `${e}:${t}`}function di(e,t,r,n){let i=Ve(t.row,t.col),s=e.cells.get(i);s?(s.minX=Math.min(s.minX,r.x),s.minY=Math.min(s.minY,r.y),s.maxX=Math.max(s.maxX,r.x+r.w),s.maxY=Math.max(s.maxY,r.y+r.h),s.rowSpan=Math.max(s.rowSpan,t.rowSpan),s.colSpan=Math.max(s.colSpan,t.colSpan),n&&(s.exactClip=n)):e.cells.set(i,{row:t.row,col:t.col,rowSpan:t.rowSpan,colSpan:t.colSpan,minX:r.x,minY:r.y,maxX:r.x+r.w,maxY:r.y+r.h,exactClip:n??void 0});}function It(e,t,r){let n=new Map;for(let i of e){if(i.kind==="line")continue;let s=i.cell;if(!s)continue;let o=Dt(i,t,r);if(!o)continue;let a=o.tableKey,l=Rt(i),c=n.get(a);c||(c={tableKey:a,contentMinX:l.x,contentMinY:l.y,contentMaxX:l.x+l.w,contentMaxY:l.y+l.h,cells:new Map,verticalLines:[],horizontalLines:[]},n.set(a,c)),c.contentMinX=Math.min(c.contentMinX,l.x),c.contentMinY=Math.min(c.contentMinY,l.y),c.contentMaxX=Math.max(c.contentMaxX,l.x+l.w),c.contentMaxY=Math.max(c.contentMaxY,l.y+l.h),di(c,s,l,Qe(i));}if(n.size===0)return [];for(let i of e){if(i.kind!=="line"||i.role!=="table-border"&&i.role!=="table-cut")continue;let s=Math.abs(i.x1-i.x2)<.5,o=Math.abs(i.y1-i.y2)<.5;if(!s&&!o)continue;let a=Math.min(i.x1,i.x2),l=Math.max(i.x1,i.x2),c=Math.min(i.y1,i.y2),p=Math.max(i.y1,i.y2),g=vt(i,r,n);if(g){s?g.verticalLines.push(a):g.horizontalLines.push(c);continue}for(let y of n.values())if(s){if(!(p>=y.contentMinY-q&&c<=y.contentMaxY+q))continue;let h=a;Math.max(0,y.contentMinX-h,h-y.contentMaxX)<=Lt&&y.verticalLines.push(h);}else if(o){if(!(l>=y.contentMinX-q&&a<=y.contentMaxX+q))continue;let h=c;Math.max(0,y.contentMinY-h,h-y.contentMaxY)<=Lt&&y.horizontalLines.push(h);}}return [...n.values()]}function le(e){let t=[];for(let r of [...e].sort((n,i)=>n-i))(t.length===0||Math.abs(t[t.length-1]-r)>.5)&&t.push(r);return t}function St(e){let t=le([...e.cells.values()].map(i=>i.row)),r=le(e.horizontalLines),n=new Map;if(t.length>0&&r.length>=t.length+1)for(let i=0;i<t.length;i++)n.set(t[i],r[i]),n.set(t[i]+1,r[i+1]);return n}function Je(e){if(!e)return null;if(e.exactClip)return e.exactClip;let t=e.minX-$,r=e.minY-$;return {x:t,y:r,w:Math.max(1,e.maxX-e.minX+$*2),h:Math.max(1,e.maxY-e.minY+$*2)}}function ui(e,t){let r=1/0,n=-1/0;for(let i of e.cells.values())i.row===t&&(r=Math.min(r,i.exactClip?.y??i.minY-$),n=Math.max(n,i.exactClip?i.exactClip.y+i.exactClip.h:i.maxY+$));return !Number.isFinite(r)||!Number.isFinite(n)||n<=r?null:{top:r,bottom:n}}function mi(e,t,r){let n=Je(e.cells.get(Ve(t,r)));return n?{left:n.x,right:n.x+n.w,top:n.y,bottom:n.y+n.h}:null}function pi(e,t,r,n={kind:"body"}){if(t.length===0)return [];let i=new Map;for(let a of t){let l=i.get(a.tableKey);l?l.push(a):i.set(a.tableKey,[a]);}let s=[],o=Ke(e,r,n);for(let a of e.pages){let l=We(a,n);if(!l)continue;let c=It(l.primitives,r,o);for(let p of c){let g=i.get(p.tableKey);if(!g)continue;let y=le(p.verticalLines),u=St(p);for(let h of g){let D=p.cells.get(Ve(h.row,h.col)),k=y[h.col],v=y[h.col+h.colSpan],L=u.get(h.row),E=u.get(h.row+h.rowSpan),B=true;if(k==null||v==null||v<=k){let w=D?.exactClip??Je(D);if(!w)continue;k=w.x,v=w.x+w.w,B=D?.exactClip!=null;}if(L==null||E==null||E<=L){let w=D?.exactClip??Je(D);if(!w)continue;L=w.y,E=w.y+w.h,B&&(B=D?.exactClip!=null);}s.push({pageIndex:a.pageIndex,tableKey:p.tableKey,row:h.row,col:h.col,rowSpan:h.rowSpan,colSpan:h.colSpan,x:k,y:L,w:Math.max(1,v-k),h:Math.max(1,E-L),exact:B,region:l.kind,rId:l.rId});}}}return s}function fi(e){let{list:t,pageIndex:r,x:n,y:i,canvasRect:s,pageSize:o,tableKeyOf:a,cellPmPosOf:l,region:c={kind:"body"},edgeProximity:p=ti}=e,g=t.pages[r];if(!g)return null;let y=We(g,c);if(!y)return null;let u=o.width>0?s.width/o.width:1,h=o.height>0?s.height/o.height:1,D=(L,E)=>({clientX:s.left+L*u,clientY:s.top+E*h}),k=Ke(t,a,c),v=It(y.primitives,a,k);for(let L of v){let E=le(L.verticalLines),B=St(L),w=le([...L.cells.values()].map(H=>H.row));if(w.length===0)continue;let N=E[0]??L.contentMinX-$,ee=E[E.length-1]??L.contentMaxX+$,T=B.get(w[0])??L.contentMinY-$,Y=w[w.length-1],P=B.get(Y+1)??L.contentMaxY+$,Z=n<N+p&&n>=N-p,ce=i<T+p&&i>=T-p;if(!(!Z&&!ce)){if(Z&&i>=T-p&&i<=P)for(let H of w){let te=B.get(H),C=B.get(H+1),O=te==null||C==null?ui(L,H):null,_=te??O?.top,J=C??O?.bottom;if(_==null||J==null||J<=_||i<_||i>J)continue;let X=[...L.cells.values()].filter(z=>z.row===H).sort((z,ve)=>z.col-ve.col)[0];if(!X)continue;let V=l(L.tableKey,H,X.col);if(!V)continue;let U=D(N,_+(J-_)/2);return {type:"row",clientX:U.clientX-ii,clientY:U.clientY-ri,cellPmPos:V}}if(ce&&n>=N-p&&n<=ee){let H=w[0],te=[...L.cells.values()].filter(C=>C.row===H).sort((C,O)=>C.col-O.col);for(let C of te){let O=E[C.col],_=E[C.col+C.colSpan],J=O==null||_==null?mi(L,C.row,C.col):null,X=O??J?.left,V=_??J?.right;if(X==null||V==null||V<=X||n<X||n>V)continue;let U=l(L.tableKey,C.row,C.col);if(!U)continue;let z=D(X+(V-X)/2,T);return {type:"column",clientX:z.clientX-oi,clientY:z.clientY-si,cellPmPos:U}}}}}return null}var lr=tt;export{Fn as CANVAS_PAGES_PADDING_PX,Hn as CANVAS_PAGE_GAP_PX,ni as DISPLAY_LIST_TABLE_INSERT_HIDE_DELAY_MS,R as MIRROR_CLASS_NAMES,K as RustDisplayListSourceError,pn as applyInteractiveSdtFocus,yn as buildInteractiveOverlayPage,en as buildMirrorPage,Mn as buildRustDisplayFrame,bt as buildRustDisplayList,se as canvasPageTops,Pn as captureInlinePositionEmuFromDisplayList,Yn as computeA11yAnnouncements,Jn as computeAnchorPositionsFromDisplayList,Wn as computeAnchorPositionsFromYrs,Gn as createCanvasImageResolver,Cn as createDisplayListQueries,$n as createYrsSidebarProjection,lr as demoDisplayList,pi as deriveDisplayListSelectedCellRects,ci as deriveDisplayListTableFragments,fi as detectDisplayListTableInsertHover,ht as encodeDisplayListFrameExtras,Vn as extractTrackedChangesFromYrs,ei as findDisplayListHyperlinkAtPoint,Ye as findImagePrimitiveAtPoint,Ne as findImagePrimitiveByDocPos,En as isDisplayListQuerySourceDead,Zt as loadGlyphOutlineProvider,Ge as loadRustDisplayListQueryEngine,Kn as mergeHfAnchorPositionsFromDisplayList,An as onDisplayListQuerySourceFailure,Nn as snapshotFromSelectionContext,$e as visitAnchorKeys,ae as yrsIdToNumericId};
1
+ import {f,g,e,d,c,B,x,z}from'../../chunk-4GEXNR7A.mjs';export{r as FRAME_DELTA_HEADER_BYTES,s as FRAME_DELTA_PAGE_OP_BYTES,q as FRAME_DELTA_VERSION,t as FrameDeltaError,a as GlyphCache,A as RustDisplayListSourceError,v as applyFrameDelta,w as applyFrameDeltaOwned,E as buildRustDisplayFrame,D as buildRustDisplayList,u as decodeFrameDelta,y as displayPageNoteAnchorRevision,x as displayPageRevision,o as drawDisplayPage,p as drawPrimitive,C as encodeDisplayListFrameExtras,b as fontSizePxFromShorthand,d as glyphRunRect,e as lineRect,B as loadRustDisplayListQueryEngine,i as presentDisplayPageBackBuffer,j as presentOffscreenPageBackBuffer,n as rasterizeDisplayListPages,h as rasterizeDisplayPageToBackBuffer,m as sizeCanvasForPage,c as textRunRect}from'../../chunk-4GEXNR7A.mjs';import {a}from'../../chunk-DKWD4P4J.mjs';export{b as createYrsSidebarProjection,a as yrsIdToNumericId}from'../../chunk-DKWD4P4J.mjs';export{b as DisplayPageRegistry,c as bindDisplayPageRegistry,e as displayPageCanvas,f as displayPageCanvases,a as effectiveZoom,d as materializeDisplayPages,h as resolveCanvasPoint,g as resolveDisplayPageClientRect}from'../../chunk-AOWJ4WDE.mjs';import {c as c$1}from'../../chunk-CTBUQRYQ.mjs';import'../../chunk-TTRUPDAB.mjs';var yt={pages:[{pageIndex:0,width:816,height:1056,primitives:[{kind:"rect",x:96,y:96,w:624,h:20,fill:"#fff9c4",blockId:0,docStart:1,docEnd:12},{kind:"text",text:"Hello Word",x:96,baselineY:110,width:84.5,font:"700 16px Calibri, sans-serif",color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"decoration",deco:"underline",x:96,y:113,w:84.5,h:1,color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"text",text:" \u2014 second run",x:180.5,baselineY:110,width:96.25,font:"400 16px Calibri, sans-serif",color:"#c0392b",docStart:11,docEnd:24,blockId:0},{kind:"line",x1:96,y1:140,x2:720,y2:140,strokeWidth:.75,color:"#666666",role:"table-border"},{kind:"image",relId:"rId7",x:96,y:160,w:200,h:120,docStart:30,docEnd:31,blockId:2}]}]};function $n(){return import('../../wasm-IBCLSJQU.mjs').then(async e=>(await e.preloadLayoutWasm(),e.outlineGlyphJson))}function Qn(e,t){for(let i of Array.from(e.querySelectorAll(".layout-canvas-sdt-box[data-sdt-group-id]")))i.classList.toggle("layout-sdt-focused",t.has(i.dataset.sdtGroupId??""));}var Wn=".layout-sdt-widget, .layout-inline-sdt-widget, .layout-sdt-repeat-btn",He=2,Ge=18,ue=16,Vn=2;function Kn(e,t={}){let i=t.document??document,r=i.createElement("div");r.className="layout-interactive-overlay",r.dataset.pageIndex=String(e.pageIndex),r.style.position="absolute",r.style.inset="0",r.style.width=`${e.width}px`,r.style.height=`${e.height}px`,r.style.pointerEvents="none",r.addEventListener("mousedown",n=>{n.target?.closest?.(Wn)&&(n.preventDefault(),n.stopPropagation());});for(let[n,l]of Ie(e).entries()){for(let o of l.boundaries){let a=ti(o,i,t.labels,l.lowerLayer);a.style.zIndex=String(n),r.appendChild(a);}for(let o of l.widgets){let a=ni(o,i,t.labels);a.style.zIndex=String(n),o.occluded&&fe(a),r.appendChild(a);}}return r}function Ie(e){let t=Un(e),i=t[3];return t.map((r,n)=>{let l=n<3,o=c=>({rect:c,occluded:l&&gt(i,c)}),a=[...qn(r).values()].sort(ei).map(c=>{let{kind:p,repeat:g}=oi(c.attrs),{rect:m}=c,y=m.x+Math.max(1,m.w)-He,h=m.y+Math.max(1,m.h)-He;return {...c,kind:p,widget:p?o({x:y-Ge,y:m.y+He,w:Ge,h:Ge}):void 0,repeats:g?[0,1].map(L=>o({x:y-ue-(1-L)*(ue+Vn),y:h-ue,w:ue,h:ue})):[]}}),s=[...Zn(r).values()].map(c=>({...c,occluded:l&&gt(i,c.rect)}));return {lowerLayer:l,boundaries:a,widgets:s}})}function gt(e,t){let i=t.x+Math.max(1,t.w)/2,r=t.y+Math.max(1,t.h)/2;return e.some(n=>{if("opacity"in n&&n.opacity!==void 0&&n.opacity<=0||n.clipGroup?.clip&&(n.clipGroup.opacity??1)<=0)return false;switch(n.kind){case "text":case "glyphRun":if(!n.text.trim()||Jn(n)||(n.rotationDeg??0)%360!==0||n.horizontalScale!==void 0&&!(n.horizontalScale>=100)||n.kind==="glyphRun"&&!n.glyphs.length)return false;break;case "rect":if(!n.fill||n.fill==="transparent"||n.fill==="none")return false;break;case "shape":{let o=n.fillPaint,a=o?.color??n.fill;if(o?.kind==="none")return false;if(o?.kind==="gradient"||o?.kind==="pattern")break;if(o?.kind==="picture"&&(o.pictureSrc||o.pictureRelId)){if((o.pictureOpacity??1)<=0)return false;let s=o.pictureStretchRect;if([s?.left,s?.top,s?.right,s?.bottom].some(p=>(p??0)>0)||!bt(o.pictureSrcRect))return false;break}if(!a||a==="transparent"||a==="none")return false;break}case "image":break;case "decoration":{let{color:o,style:a,dashed:s,dotted:c}=n;if((a??"solid")!=="solid"||s||c||!o||o==="transparent"||o==="none")return false;break}default:return false}let l=n.kind==="shape"?jn(n):n.kind==="image"?zn(n):f(n);return l!==null&&Number.isFinite(l.w)&&Number.isFinite(l.h)&&l.w>0&&l.h>0&&i>=l.x&&i<=l.x+l.w&&r>=l.y&&r<=l.y+l.h&&g(n,i,r)})}function zn(e){let t=(i,r)=>i!==void 0&&Number.isFinite(i)?i:r;return e.shapeType!==void 0&&e.shapeType!=="rect"||t(e.rotationDeg,0)%180!==0||!bt(e.crop)?null:{x:t(e.contentFrame?.x,e.x),y:t(e.contentFrame?.y,e.y),w:t(e.contentFrame?.w,e.w),h:t(e.contentFrame?.h,e.h)}}function bt(e){if(!e)return true;let t=o=>Number.isFinite(o)?o:0,[i,r,n,l]=[e.left,e.top,e.right,e.bottom].map(t);return i>=0&&r>=0&&n>=0&&l>=0&&i+n<1&&r+l<1}function jn(e){let t=e.transform?.rotation??0;if(!Number.isFinite(t)||t%180!==0)return null;let i=e.geometryPath,r=i.at(-1)?.type==="close"?i.length-1:i.length,n=[];for(let L=0;L<r;L++){let R=i[L];if(R.type!=="move"&&R.type!=="line"||R.type==="move"!=(L===0))return null;n.push([R.x,R.y]);}let l=n[0],o=n.at(-1);if(n.length===5&&l&&o&&l[0]===o[0]&&l[1]===o[1]&&n.pop(),n.length!==4)return null;let a=[...new Set(n.map(([L])=>L))],s=[...new Set(n.map(([,L])=>L))];if(a.length!==2||s.length!==2||new Set(n.map(([L,R])=>`${L},${R}`)).size!==4||!n.every(([L,R],k)=>{let[D,w]=n[(k+1)%4];return L===D!=(R===w)}))return null;let p=Math.min(...a),g=Math.min(...s),m=Math.abs(a[0]-a[1]),y=Math.abs(s[0]-s[1]),h=Math.abs(t%360)===180;return !!e.transform?.flipH!==h&&(p=2*e.x+e.w-p-m),!!e.transform?.flipV!==h&&(g=2*e.y+e.h-g-y),{x:p,y:g,w:m,h:y}}function Jn(e){return e.modernEffects?.textFill?.kind==="none"}function fe(e){e.style.visibility="hidden",e.style.pointerEvents="none",e.tabIndex=-1,e.setAttribute("inert",""),e.setAttribute("aria-hidden","true"),e.setAttribute("aria-disabled","true"),e.tagName==="BUTTON"&&(e.disabled=true);}function Un(e){let t=Math.min(e.watermarkPrimitiveCount??0,e.primitives.length);return [e.primitives.slice(0,t),e.header?.primitives??[],e.footer?.primitives??[],e.primitives.slice(t),...(e.noteAreas??[]).map(i=>[...i.separatorPrimitives??[],...i.primitives??[]])]}function qn(e){let t=new Map;for(let i of e){let r=xt(i);if(!r)continue;let n=i.sdtPath?.length?i.sdtPath:i.sdt?[i.sdt]:[];for(let l of n){let o=t.get(l.groupId);o?o.rect=Lt(o.rect,r):t.set(l.groupId,{attrs:l,rect:{...r}});}}return t}function Zn(e){let t=new Map;for(let i of e){let r=i.inlineSdtWidget,n=xt(i);if(!r||!n)continue;let l=`${r.groupId}:${r.pos}:${r.controlKind??r.kind}`,o=t.get(l);o?(o.rect=Lt(o.rect,n),o.primitives.push(i)):t.set(l,{attrs:r,rect:{...n},primitives:[i]});}return t}function ei(e,t){return (e.attrs.depth??0)-(t.attrs.depth??0)||e.rect.y-t.rect.y||e.rect.x-t.rect.x}function ti(e,t,i,r){let{attrs:n,rect:l,kind:o}=e,a=t.createElement("div");a.className="layout-block-sdt-box layout-canvas-sdt-box",li(a,n),vt(a,l),a.style.pointerEvents="none";let s=n.alias||n.tag;if(s){let c=t.createElement("span");c.className="layout-block-sdt-label",c.textContent=s,a.appendChild(c);}if(o){let c=t.createElement("button");c.type="button",c.className="layout-sdt-widget",c.dataset.sdtWidget=o,c.dataset.sdtGroupId=n.groupId,n.tag&&(c.dataset.sdtTag=n.tag),n.alias&&(c.dataset.sdtAlias=n.alias),(s||i?.control)&&c.setAttribute("aria-label",s||i?.control||""),o==="dropdown"&&c.setAttribute("aria-haspopup","listbox"),o==="date"&&c.setAttribute("aria-haspopup","dialog"),o==="checkbox"&&(c.setAttribute("role","checkbox"),c.setAttribute("aria-checked",String(n.checked??false))),c.textContent=o==="dropdown"?"\u25BE":o==="date"?"\u25A3":n.checked?"\u2612":"\u2610",c.style.pointerEvents="auto",e.widget?.occluded&&fe(c),a.appendChild(c);}if(e.repeats.length){let c=t.createElement("div");c.className="layout-sdt-repeat-controls",c.style.pointerEvents=r?"none":"auto";let p=[ht(t,n,"add","\uFF0B",i?.addRepeatingItem,s),ht(t,n,"remove","\u2715",i?.removeRepeatingItem,s)];for(let[g,m]of p.entries()){let y=e.repeats[g];r&&(m.style.pointerEvents="auto"),y.occluded&&fe(m),c.appendChild(m);}a.appendChild(c);}return a}function ht(e,t,i,r,n,l){let o=e.createElement("button");return o.type="button",o.className="layout-sdt-repeat-btn",o.dataset.sdtRepeat=i,o.dataset.sdtGroupId=t.groupId,t.tag&&(o.dataset.sdtTag=t.tag),(n||l)&&o.setAttribute("aria-label",n||l||""),o.textContent=r,o}function ni(e,t,i){let{attrs:r,rect:n}=e,l=r.controlKind??r.kind,o=t.createElement("button");return o.type="button",o.className="layout-sdt-widget layout-inline-sdt-widget layout-canvas-inline-sdt-widget",o.dataset.sdtWidget=ii(l),o.dataset.sdtGroupId=r.groupId,o.dataset.sdtPos=String(r.pos),r.tag&&(o.dataset.sdtTag=r.tag),r.alias&&(o.dataset.sdtAlias=r.alias),r.controlId!==void 0&&(o.dataset.sdtControlId=String(r.controlId)),r.value!==void 0&&(o.dataset.sdtValue=r.value),r.selectedIndex!==void 0&&(o.dataset.sdtSelectedIndex=String(r.selectedIndex)),r.dateFormat&&(o.dataset.sdtDateFormat=r.dateFormat),r.dateLanguage&&(o.dataset.sdtDateLanguage=r.dateLanguage),r.listItems?.length&&(o.dataset.sdtListItems=JSON.stringify(r.listItems)),(r.alias||r.tag||i?.control)&&o.setAttribute("aria-label",r.alias||r.tag||i?.control||""),l==="checkbox"?(o.setAttribute("role","checkbox"),o.setAttribute("aria-checked",String(r.checked??false))):l==="dropDownList"||l==="comboBox"?(o.setAttribute("aria-haspopup","listbox"),o.setAttribute("aria-expanded","false")):l==="date"&&o.setAttribute("aria-haspopup","dialog"),o.disabled=r.locked===true,o.textContent=l==="checkbox"?r.checked?"\u2612":"\u2610":l==="date"?"\u25A3":l==="picture"?"\u25A7":"\u25BE",vt(o,n),o.style.pointerEvents="auto",o}function ii(e){return e==="dropDownList"||e==="comboBox"?"dropdown":e}function ri(e){return e==="checkbox"?"checkbox":e==="dropDownList"||e==="comboBox"?"dropdown":e==="date"?"date":null}function oi(e){let t=!e.bound&&!si(e.lock);return {kind:t?ri(e.sdtType):null,repeat:!!e.repeatingItem&&t}}function ai(e){for(let t of Ie(e)){for(let i of t.boundaries)if(i.widget&&!i.widget.occluded||i.repeats.some(r=>!r.occluded))return true;for(let i of t.widgets)if(!i.occluded&&i.attrs.locked!==true)return true}return false}function si(e){return e==="contentLocked"||e==="sdtContentLocked"||e==="sdtLocked"}function li(e,t){e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag&&(e.dataset.sdtTag=t.tag),t.alias&&(e.dataset.sdtAlias=t.alias),t.lock&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem));}function xt(e$1){let t=e$1.clipGroup?.clip;if(t?.x!==void 0&&t.y!==void 0&&t.w!==void 0&&t.h!==void 0)return {x:t.x,y:t.y,w:t.w,h:t.h};switch(e$1.kind){case "text":return c(e$1);case "glyphRun":return d(e$1);case "rect":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "line":return e(e$1);case "image":case "shape":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "decoration":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h}}}function Lt(e,t){let i=Math.min(e.x,t.x),r=Math.min(e.y,t.y),n=Math.max(e.x+e.w,t.x+t.w),l=Math.max(e.y+e.h,t.y+t.h);return {x:i,y:r,w:n-i,h:l-r}}function vt(e,t){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y}px`,e.style.width=`${Math.max(1,t.w)}px`,e.style.height=`${Math.max(1,t.h)}px`;}var v={page:"layout-page layout-page-mirror",content:"layout-page-content",header:"layout-page-header",footer:"layout-page-footer",block:"layout-paragraph",table:"layout-table",tableRow:"layout-table-row",tableCell:"layout-table-cell",text:"layout-run layout-run-text",rect:"layout-mirror-rect",image:"layout-run layout-run-image",shape:"layout-run layout-run-shape",chart:"layout-run layout-run-chart",decoration:"layout-decoration",line:"layout-mirror-line",pageBorder:"layout-page-border",tableCut:"layout-table-cut-border",blockSdt:"layout-block-sdt",inlineSdtWidget:"layout-inline-sdt-widget",revisionPmark:"layout-revision-pmark",revisionPmarkGlyph:"layout-revision-pmark-glyph",revisionPmarkIns:"layout-revision-ins",revisionPmarkDel:"layout-revision-del",listMarker:"layout-list-marker",revisionTable:"oox-revision-table",revisionRow:"oox-revision-row",revisionCell:"oox-revision-cell",revisionIns:"oox-revision-ins",revisionDel:"oox-revision-del",revisionMerge:"oox-revision-merge",notes:"layout-page-notes",note:"layout-note",noteBacklink:"layout-note-backlink"};function Ye(e){return [...e.primitives,...e.header?.primitives??[],...e.footer?.primitives??[],...(e.noteAreas??[]).flatMap(t=>[...t.separatorPrimitives??[],...t.primitives??[]])]}function ci(e){return e.kind==="image"?!!e.href:(e.kind==="text"||e.kind==="glyphRun")&&(!!e.href||e.noteRef?.id!==void 0)}function Mt(e,t){let i=`${e.kind??"footnote"}-${t}`;return (e.notes??[]).some(r=>r.id===t)&&(e.primitives??[]).some(r=>r.groupId===i)}function di(e){return Ye(e).some(t=>t.cell?.isHeader===true)}function ui(e){return Ye(e).some(ci)||(e.noteAreas??[]).some(t=>(t.noteIds??[]).some(i=>Mt(t,i)))}var Pt=["aria-labelledby","aria-describedby"],fi=Pt.map(e=>`[${e}]`).join(", "),_e=`.${v.tableCell}`,pi=`${_e}[role="columnheader"]`;function Et(e){let t=new Map;for(let o of e.querySelectorAll("[id]"))t.set(o.id,o);let i=o=>{let a=o;for(let s=o.closest(_e);s&&e.contains(s);s=s.parentElement?.closest(_e)??null)a=s;return a},r=new Set,n=new Set([e]),l=Array.from(e.querySelectorAll(`a[href], .${v.note}, ${pi}`));for(;l.length>0;){let o=i(l.pop());if(r.has(o))continue;r.add(o);let a=[o,...o.querySelectorAll(fi)];for(let s=o.parentElement;s&&!n.has(s);s=s.parentElement)n.add(s),a.push(s);for(let s of a)for(let c of Pt)for(let p of s.getAttribute(c)?.split(/\s+/)??[]){let g=t.get(p);g&&!r.has(g)&&l.push(g);}}return {kept:r,onPath:n}}function Tt(e){let{kept:t,onPath:i}=Et(e),r=n=>{for(let l of Array.from(n.childNodes))t.has(l)||(i.has(l)?r(l):l.remove());};return r(e),e}function mi(e,t={}){return Tt(Xe(e,t))}var yi=["layout-page-mirror",v.content,v.header,v.footer,v.block,v.table,v.tableRow,v.tableCell,v.notes,v.blockSdt];function gi(e,t){let i=e.ownerDocument,r=e.getAttribute("lang"),n=e.getAttribute("dir"),l=e.parentElement,o=(s,c)=>c!==null&&l?.closest(`[${s}]`)?.getAttribute(s)!==c;if(!o("lang",r)&&!o("dir",n))return i.createTextNode(t);let a=i.createElement("span");return r&&a.setAttribute("lang",r),n&&a.setAttribute("dir",n),a.textContent=t,a}function At(e){let{kept:t,onPath:i}=Et(e),r=n=>{if(t.has(n))return;if(!i.has(n)||n===e&&t.size===0)for(let o of Array.from(n.attributes))(o.name==="id"||o.name.startsWith("data-"))&&n.removeAttribute(o.name);if(!(n===e||!n.classList.contains("layout-run")&&yi.some(o=>n.classList.contains(o)))&&!i.has(n)){if(n.classList.contains(v.revisionPmarkGlyph)||n.getAttribute("aria-hidden")==="true"||n.hasAttribute("inert")||n.style?.visibility==="hidden"){n.remove();return}let o=n.getAttribute("role")==="img"||!!n.getAttribute("alt"),a=o||!!n.getAttribute("aria-label");if(n.children.length===0){n.textContent&&!o?n.replaceWith(gi(n,n.textContent)):a||n.remove();return}}for(let o of Array.from(n.children))r(o);for(let o of Array.from(n.childNodes))if(o.nodeType===3){for(;o.nextSibling?.nodeType===3;){let a=o.nextSibling;o.textContent=(o.textContent??"")+(a.textContent??""),a.remove();}o.textContent||o.remove();}};return r(e),e.style.contentVisibility="auto",e}function hi(e,t={}){return At(Xe(e,t))}function bi(e,t){let i=/^oox-(footnote|endnote)-(.+)$/.exec(t);if(i){let[,o,a]=i;return (e.noteAreas??[]).some(s=>(s.kind??"footnote")===o&&(s.noteIds??[]).some(c=>String(c)===a)&&(s.primitives??[]).some(c=>c.groupId===`${o}-${a}`))}let r=/^oox-noteref-(footnote|endnote)-(.+)$/.exec(t);if(!r)return false;let[,n,l]=r;return Ye(e).some(o=>(o.kind==="text"||o.kind==="glyphRun")&&!o.href&&o.noteRef?.id!==void 0&&String(o.noteRef.id)===l&&(o.noteRef.kind??"footnote")===n)}function Xe(e,t={}){let i=t.document??document,r=t.labels,n=new Set(Ie(e).flatMap(s=>s.widgets.filter(c=>c.occluded).flatMap(c=>c.primitives))),l={labels:r,noteRefIds:new Set,occludedWidgets:n},o=i.createElement("div");o.className=v.page,o.setAttribute("role","document"),r?.page&&o.setAttribute("aria-label",r.page),o.dataset.pageIndex=String(e.pageIndex),e.sectionId!==void 0&&(o.dataset.sectionId=e.sectionId),e.sectionIndex!==void 0&&(o.dataset.sectionIndex=String(e.sectionIndex)),e.sectionPageIndex!==void 0&&(o.dataset.sectionPageIndex=String(e.sectionPageIndex)),e.sectionPageNumber!==void 0&&(o.dataset.sectionPageNumber=String(e.sectionPageNumber)),e.pageLabel!==void 0&&(o.dataset.pageLabel=e.pageLabel),o.style.position="relative",o.style.width=`${e.width}px`,o.style.height=`${e.height}px`,o.style.opacity="0",o.style.pointerEvents="none";let a=i.createElement("div");a.className=v.content,a.style.position="absolute",a.style.left="0",a.style.top="0",a.style.width=`${e.width}px`,a.style.height=`${e.height}px`,o.appendChild(a);for(let s of (e.pageBorders??[]).filter(c=>c.zOrder==="back"))a.appendChild(It(s,i,0));pe(a,e.primitives,i,0,l);for(let s of e.noteAreas??[])a.appendChild(Ei(s,e,i,l));for(let s of [e.header,e.footer])s&&o.appendChild(xi(s,e,i,l));for(let s of (e.pageBorders??[]).filter(c=>c.zOrder!=="back"))o.appendChild(It(s,i,0));return o}function xi(e,t,i,r){let n=i.createElement("div");n.className=e.kind==="header"?v.header:v.footer,n.dataset.hfRid=e.rId;let l=e.kind==="header"?r.labels?.header:r.labels?.footer;return l&&(n.setAttribute("role","region"),n.setAttribute("aria-label",l)),n.style.position="absolute",n.style.left="0",n.style.top=`${e.y}px`,n.style.width=`${t.width}px`,n.style.height=`${e.height}px`,pe(n,e.primitives,i,-e.y,r),n}function pe(e,t,i,r,n){let l=new Map;for(let o of t){let a=o.kind==="line"?void 0:o.blockKey??o.blockId;if(a===void 0){e.appendChild(Me(o,i,r,n));continue}let s=o.table,c=s?.tableId!==void 0?`table:${s.tableId}#${s.rowStart??0}`:a,p=l.get(c);if(!p){let g=i.createElement("div");g.dataset.blockId=String(s?.tableId??a),g.style.position="absolute",g.style.left="0",g.style.top="0",e.appendChild(g),p={el:g,prims:[]},l.set(c,p);}p.prims.push(o);}for(let o of l.values())Li(o,i,r,n);Di(l);}function Li(e,t,i,r){let{el:n,prims:l}=e;if(!l.some(m=>m.cell!==void 0||m.structuralRevision?.scope==="table"||m.structuralRevision?.scope==="row"||m.structuralRevision?.scope==="cell")){Rt(n,l,t,i,r);return}n.className=v.table,n.setAttribute("role","table");let a=l.find(m=>m.table!==void 0)?.table;e.table=a,e.cells=[],a?.tableId!==void 0&&(n.dataset.tableId=a.tableId),a?.rowStart!==void 0&&(n.dataset.rowStart=String(a.rowStart)),a?.rowEnd!==void 0&&(n.dataset.rowEnd=String(a.rowEnd)),a?.headerRowCount!==void 0&&(n.dataset.headerRowCount=String(a.headerRowCount)),a?.parentTableId!==void 0&&(n.dataset.parentTableId=a.parentTableId),a?.caption&&n.setAttribute("aria-label",a.caption),a?.description&&n.setAttribute("aria-description",a.description);let s=ke(l,"table");s&&we(n,s),We(n,l.find(m=>m.sdt!==void 0)?.sdt);for(let m of l)m.cell===void 0&&n.appendChild(Me(m,t,i,r));let c=new Map,p=0,g=0;for(let m of l){if(m.cell===void 0)continue;let{row:y,col:h}=m.cell;p=Math.max(p,y+(m.cell.rowSpan??1)),g=Math.max(g,h+(m.cell.colSpan??1));let L=c.get(y);L||(L=new Map,c.set(y,L));let R=L.get(h);R||(R={ref:m.cell,prims:[]},L.set(h,R)),R.prims.push(m);}n.setAttribute("aria-rowcount",String(a?.rowCount??p)),n.setAttribute("aria-colcount",String(a?.columnCount??g));for(let m of [...c.keys()].sort((y,h)=>y-h)){let y=t.createElement("div");y.className=v.tableRow,y.setAttribute("role","row"),y.setAttribute("aria-rowindex",String(m+1));let h=ke(l,"row",m);h&&we(y,h),y.style.position="absolute",y.style.left="0",y.style.top="0",n.appendChild(y);let L=c.get(m);for(let R of [...L.keys()].sort((k,D)=>k-D)){let k=L.get(R),D=t.createElement("div");D.className=v.tableCell,D.setAttribute("role",k.ref.isHeader?"columnheader":"cell"),D.setAttribute("aria-colindex",String(R+1)),k.ref.cellId&&(D.id=k.ref.cellId),k.ref.headerIds?.length&&D.setAttribute("aria-labelledby",k.ref.headerIds.join(" ")),k.ref.repeatedHeader&&(D.dataset.repeatedHeader="true"),k.ref.noWrap&&(D.dataset.noWrap="true");let w=k.ref.rowSpan??1,A=k.ref.colSpan??1;w>1&&D.setAttribute("aria-rowspan",String(w)),A>1&&D.setAttribute("aria-colspan",String(A));let P=ke(k.prims,"cell",m,R);P&&we(D,P),k.ref.continuation&&(D.dataset.vmergeContinuation="true"),D.style.position="absolute",D.style.left="0",D.style.top="0";let C=new Map,F=[];for(let H of k.prims){let G=H.blockKey??H.blockId;if(G===void 0){F.push(H);continue}let N=C.get(G);N?N.push(H):C.set(G,[H]);}for(let H of $e(F))D.appendChild(Me(H,t,i,r));for(let[H,G]of C){let N=t.createElement("div");N.dataset.blockId=String(H),N.style.position="absolute",N.style.left="0",N.style.top="0",Rt(N,G,t,i,r),D.appendChild(N);}Ri(D,k.prims),Bt(D,k.prims),e.cells.push({el:D,bounds:Ct(k.prims)}),y.appendChild(D);}}Qe(n,l);}function Rt(e,t,i,r,n){let l=t.find(c=>c.chart!==void 0)?.chart;e.className=l?`${v.block} ${v.chart}`:v.block,e.setAttribute("role",l?"img":"paragraph"),l?.label&&e.setAttribute("aria-label",l.label);for(let c of $e(t))e.appendChild(Me(c,i,r,n));let o=ke(t,"pmark");o&&we(e,o),vi(e,t,i,r),We(e,t.find(c=>c.sdt!==void 0)?.sdt);let a=t.find(c=>c.paraId!==void 0)?.paraId;a!==void 0&&(e.dataset.paraId=a);let s=t.find(c=>c.fromLine!==void 0);s?.fromLine!==void 0&&(e.dataset.fromLine=String(s.fromLine),s.toLine!==void 0&&(e.dataset.toLine=String(s.toLine))),Bt(e,t),Si(e,t);}function vi(e,t,i,r){Qe(e,t);let n=Number(e.dataset.docStart),l=Number(e.dataset.docEnd),o=t.map(g=>g.fragmentDocStart).filter(g=>Number.isFinite(g)),a=t.map(g=>g.fragmentDocEnd).filter(g=>Number.isFinite(g)),s=o.length>0?Math.min(...o):void 0,c=a.length>0?Math.max(...a):void 0,p=s??(Number.isFinite(n)&&n===l&&n>0?n-1:void 0);if(p!==void 0&&(e.dataset.docStart=String(p)),c!==void 0&&(e.dataset.docEnd=String(c)),p!==void 0&&!t.some(g=>g.docStart===p)){let g=$e(t).find(y=>Fe(y)!==void 0),m=g?Fe(g):void 0;if(m){let y=i.createElement("span");y.className="layout-mirror-structural-anchor",y.dataset.docStart=String(p),y.dataset.docEnd=String(p),ee(y,m,r),e.insertBefore(y,e.firstChild);}}}function Ri(e,t){let i=e.querySelectorAll(".layout-paragraph[data-doc-start]"),r=1/0,n=-1/0;for(let l of i){let o=Number(l.dataset.docStart),a=Number(l.dataset.docEnd);Number.isFinite(o)&&(r=Math.min(r,o)),Number.isFinite(a)&&(n=Math.max(n,a));}r!==1/0&&(e.dataset.docStart=String(r)),n!==-1/0&&(e.dataset.docEnd=String(n)),r===1/0&&n===-1/0&&Qe(e,t);}function Di(e){let t=new Map;for(let i of e.values())i.table?.tableId&&t.set(i.table.tableId,i);for(let i of e.values()){let r=i.table?.parentTableId;if(!r)continue;let n=t.get(r),l=Ct(i.prims);if(!n?.cells?.length||!l)continue;let o=l.x+l.w/2,a=l.y+l.h/2,s=n.cells.filter(c=>c.bounds&&Ii(o,a,c.bounds));s.sort((c,p)=>Dt(c.bounds)-Dt(p.bounds)),s[0]?.el.appendChild(i.el);}}function Ii(e,t,i){return e>=i.x&&e<=i.x+i.w&&t>=i.y&&t<=i.y+i.h}function Dt(e){return e.w*e.h}function Ct(e){let t;for(let i of e){let r=i.clipGroup?.clip,n=r?.x!==void 0&&r.y!==void 0&&r.w!==void 0&&r.h!==void 0?{x:r.x,y:r.y,w:r.w,h:r.h}:Fe(i);if(!n)continue;if(!t){t={...n};continue}let l=Math.max(t.x+t.w,n.x+n.w),o=Math.max(t.y+t.h,n.y+n.h);t.x=Math.min(t.x,n.x),t.y=Math.min(t.y,n.y),t.w=l-t.x,t.h=o-t.y;}return t}function Fe(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":return {x:e.x,y:e.y,w:e.w,h:e.h};case "image":case "shape":return {x:e.x,y:e.y,w:e.w,h:e.h};case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h}}}function $e(e){let t=e.filter(r=>r.logicalOrder!==void 0).sort((r,n)=>(r.logicalOrder??0)-(n.logicalOrder??0)||(r.docStart??0)-(n.docStart??0));if(t.length<2)return e;let i=0;return e.map(r=>r.logicalOrder===void 0?r:t[i++])}function Bt(e,t){let i=t.find(l=>l.lang)?.lang;i&&(e.lang=i);let r=t.find(l=>l.bidiLevel!==void 0||"rtl"in l);if(!r)return;let n=r.bidiLevel!==void 0?r.bidiLevel%2===1:"rtl"in r?r.rtl:false;e.dir=n?"rtl":"ltr";}function Si(e,t){let i=t.find(r=>r.ariaLabel||r.ariaDescription||r.decorative||r.hiddenObject||r.groupId);i&&Gt(e,i);}function Qe(e,t){let i,r;for(let n of t)n.docStart!==void 0&&(i=i===void 0?n.docStart:Math.min(i,n.docStart)),n.docEnd!==void 0&&(r=r===void 0?n.docEnd:Math.max(r,n.docEnd));i!==void 0&&(e.dataset.docStart=String(i)),r!==void 0&&(e.dataset.docEnd=String(r));}function ke(e,t,i,r){return e.find(n=>{let l=n.structuralRevision;return !(!l||l.scope!==t||i!==void 0&&l.rowIndex!==i||r!==void 0&&l.colIndex!==r)})?.structuralRevision}function Me(e,t,i,r){let n=ki(e,t,i,r);return r.occludedWidgets.has(e)&&fe(n),n}function ki(e$1,t,i,r){switch(e$1.kind){case "text":{let n=St(t,e$1,r);return n.className=v.text,n.textContent=e$1.text,ee(n,c(e$1),i),n.style.font=e$1.font,kt(n,e$1),wt(n,e$1),Ne(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),e$1.structuralRevision?.scope==="pmark"&&(n.classList.add(v.revisionPmarkGlyph),e$1.structuralRevision.kind==="ins"&&n.classList.add(v.revisionPmarkIns),e$1.structuralRevision.kind==="del"&&n.classList.add(v.revisionPmarkDel),n.setAttribute("aria-hidden","true")),e$1.listMarker&&(n.classList.add(v.listMarker),n.setAttribute("aria-hidden","true"),e$1.listMarkerRevision&&(n.style.color=e$1.listMarkerRevision==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)")),ae(n,e$1),n}case "glyphRun":{let n=St(t,e$1,r);return n.className=v.text,n.textContent=e$1.text,ee(n,d(e$1),i),n.style.fontSize=`${e$1.size}px`,wi(n,e$1.fallbackFont),kt(n,e$1),wt(n,e$1),Ne(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),ae(n,e$1),n}case "rect":{let n=t.createElement("div");return n.className=v.rect,ee(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},i),ae(n,e$1),n}case "line":{let n=t.createElement("div");return n.className=e$1.role==="table-cut"?v.tableCut:v.line,e$1.role&&e$1.role!=="table-cut"&&(n.dataset.role=e$1.role),ee(n,e(e$1),i),n.setAttribute("aria-hidden","true"),n}case "image":{let n=e$1.href?t.createElement("a"):t.createElement("div");return n.className=v.image,e$1.decorative?n.setAttribute("aria-hidden","true"):(n.setAttribute("role","img"),e$1.altText&&n.setAttribute("aria-label",e$1.altText)),Ht(n,e$1),n.dataset.relId=e$1.relId,ee(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},i),Ne(n,e$1.opacity,e$1.rotationDeg),e$1.filter&&(n.style.filter=e$1.filter),ae(n,e$1),e$1.revision&&(n.style.outline=`2px solid ${e$1.revision.kind==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)"}`),e$1.href||(n.style.pointerEvents="auto"),n}case "shape":{let n=t.createElement("div");return n.className=v.shape,e$1.decorative?n.setAttribute("aria-hidden","true"):n.setAttribute("role","img"),ee(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},i),Mi(n,e$1.transform),ae(n,e$1),n}case "decoration":{let n=t.createElement("span");return n.className=v.decoration,n.dataset.deco=e$1.deco,ee(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},i),ae(n,e$1),n}}}function It(e,t,i){let r=t.createElement("div");return r.className=v.pageBorder,ee(r,{x:e.x,y:e.y,w:e.w,h:e.h},i),r.style.boxSizing="border-box",r.style.pointerEvents="none",r.style.zIndex=e.zOrder==="back"?"0":"20",Se(r,"Top",e.top),Se(r,"Right",e.right),Se(r,"Bottom",e.bottom),Se(r,"Left",e.left),r}function ee(e,t,i=0){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y+i}px`,e.style.width=`${t.w}px`,e.style.height=`${t.h}px`;}function St(e,t,i){let r=t.noteRef?.id!==void 0?t.noteRef:void 0,n=t.href||r?e.createElement("a"):e.createElement("span");if(Ht(n,t),r&&!t.href){let l=r.kind??"footnote",o=`oox-${l}-${r.id}`;n.setAttribute("href",`#${o}`),n.setAttribute("role","doc-noteref");let a=`oox-noteref-${l}-${r.id}`;i.noteRefIds.has(a)||(i.noteRefIds.add(a),n.id=a);}return n}function Ht(e,t){let{href:i}=t;if(!i)return;e.setAttribute("href",i),e.dataset.href=i;let r=t.linkTitle??t.tooltip;r&&(e.title=r),t.linkTarget?e.setAttribute("target",t.linkTarget):i.startsWith("#")||e.setAttribute("target","_blank"),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener noreferrer"),t.linkHistory!==void 0&&(e.dataset.linkHistory=String(t.linkHistory)),t.linkDocLocation!==void 0&&(e.dataset.linkDocLocation=t.linkDocLocation);}function wi(e,t){if(t)for(let i of t.split(" ")){if(i.endsWith("px"))break;i==="italic"?e.style.fontStyle="italic":/^[1-9]00$/.test(i)&&i!=="400"&&(e.style.fontWeight=i);}}function kt(e,t){t.lang&&(e.lang=t.lang),t.bidiLevel!==void 0?e.dir=t.bidiLevel%2===1?"rtl":"ltr":t.rtl&&(e.dir="rtl");}function Se(e,t,i){if(!i)return;let r=e.style;r[`border${t}Width`]=`${i.width}px`,r[`border${t}Style`]=i.style,r[`border${t}Color`]=i.color;}function Ne(e,t,i,r){t!==void 0&&(e.style.opacity=String(t));let n=[];i&&n.push(`rotate(${i}deg)`),r!==void 0&&r!==100&&n.push(`scaleX(${r/100})`),n.length>0&&(e.style.transform=n.join(" "),e.style.transformOrigin=r!==void 0&&r!==100?"left center":"center center");}function Mi(e,t){if(!t)return;let i=[];t.rotation&&i.push(`rotate(${t.rotation}deg)`),t.flipH&&i.push("scaleX(-1)"),t.flipV&&i.push("scaleY(-1)"),i.length!==0&&(e.style.transform=i.join(" "),e.style.transformOrigin="center center");}function wt(e,t){if(t.allCaps&&(e.style.textTransform="uppercase"),t.smallCaps&&(e.style.fontVariant="small-caps"),t.hidden&&(e.classList.add("docx-hidden"),e.style.textDecoration="underline dotted"),t.textShadow==="emboss"?e.style.textShadow="1px 1px 1px rgba(255,255,255,0.5), -1px -1px 1px rgba(0,0,0,0.3)":t.textShadow==="imprint"?e.style.textShadow="-1px -1px 1px rgba(255,255,255,0.5), 1px 1px 1px rgba(0,0,0,0.3)":t.textShadow==="shadow"&&(e.style.textShadow="1px 1px 2px rgba(0,0,0,0.3)"),t.textOutline&&(e.style.webkitTextStroke="1px currentColor",e.style.webkitTextFillColor="transparent"),t.emphasisMark){let i=t.emphasisMark==="comma"?"filled sesame":t.emphasisMark==="circle"?"filled circle":"filled dot",r=t.emphasisMark==="underDot"?"under right":"over right";e.style.textEmphasis=i,e.style.textEmphasisPosition=r,e.style.webkitTextEmphasis=i,e.style.webkitTextEmphasisPosition=r;}t.textEffect&&(e.classList.add("docx-text-effect",`docx-text-effect-${t.textEffect}`),e.dataset.effect=t.textEffect);}function ae(e,t){if(t.docStart!==void 0&&(e.dataset.docStart=String(t.docStart)),t.docEnd!==void 0&&(e.dataset.docEnd=String(t.docEnd)),t.commentIds&&t.commentIds.length>0&&(e.dataset.commentId=t.commentIds.join(" ")),t.field){let i=t.field.type??t.field.category;i&&(e.dataset.fieldType=i),t.field.category&&(e.dataset.fieldCategory=t.field.category),t.field.instruction&&(e.dataset.fieldInstruction=t.field.instruction);let r=t.field.instruction?.trim()||i;r&&e.setAttribute("aria-description",r);}if(t.noteRef?.id!==void 0&&(e.dataset.noteRefKind=t.noteRef.kind??"footnote",e.dataset.noteRefId=String(t.noteRef.id)),t.comment){t.comment.status&&(e.dataset.commentStatus=t.comment.status),t.comment.authorId&&(e.dataset.commentAuthorId=t.comment.authorId),t.comment.paletteIndex!==void 0&&(e.dataset.commentPaletteIndex=String(t.comment.paletteIndex)),t.comment.color&&(e.dataset.commentColor=t.comment.color),t.comment.selected!==void 0&&(e.dataset.commentSelected=String(t.comment.selected)),t.comment.authorName&&(e.dataset.commentAuthorName=t.comment.authorName),t.comment.date&&(e.dataset.commentDate=t.comment.date),t.comment.replyCount!==void 0&&(e.dataset.commentReplyCount=String(t.comment.replyCount));let i=[t.comment.status,t.comment.authorName??t.comment.authorId,t.comment.date,t.comment.text,...(t.comment.replies??[]).map(r=>[r.authorName,r.text].filter(Boolean).join(": "))].filter(Boolean).join(", ");i&&e.setAttribute("aria-description",i);}if(t.revision){e.dataset.changeAuthor=t.revision.author,e.dataset.changeDate=t.revision.date,e.dataset.revisionId=t.revision.revisionId,e.classList.add(t.revision.kind==="ins"?"docx-insertion":"docx-deletion"),e.hasAttribute("role")||e.setAttribute("role",t.revision.kind==="ins"?"insertion":"deletion");let i=[t.revision.author,t.revision.date].filter(Boolean).join(", ");i&&e.setAttribute("aria-description",i);}t.href&&(e.dataset.href=t.href),Pi(e,t.inlineSdtWidget),We(e,t.sdt),t.sdtPath?.length&&(e.dataset.sdtPath=t.sdtPath.map(i=>i.groupId).join(" ")),t.logicalOrder!==void 0&&(e.dataset.logicalOrder=String(t.logicalOrder)),t.bidiLevel!==void 0&&(e.dataset.bidiLevel=String(t.bidiLevel)),Gt(e,t);}function Gt(e,t){if(t.groupId&&(e.dataset.groupId=t.groupId),t.decorative||t.hiddenObject){e.setAttribute("aria-hidden","true"),e.removeAttribute("role"),e.removeAttribute("aria-label"),e.removeAttribute("aria-description");return}t.ariaLabel&&e.setAttribute("aria-label",t.ariaLabel),t.ariaDescription&&e.setAttribute("aria-description",t.ariaDescription);}function We(e,t){t&&(e.classList.add(v.blockSdt),e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.lock!==void 0&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem)),!e.hasAttribute("aria-label")&&(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.lock&&e.setAttribute("aria-readonly","true"));}function Pi(e,t){if(!t)return;e.classList.add(v.inlineSdtWidget);let i=t.controlKind??t.kind;e.dataset.sdtWidget=i,e.dataset.sdtGroupId=t.groupId,e.dataset.sdtPos=String(t.pos),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked),e.setAttribute("aria-checked",String(t.checked))),t.controlId!==void 0&&(e.dataset.sdtControlId=String(t.controlId)),t.value!==void 0&&(e.dataset.sdtValue=t.value),t.selectedIndex!==void 0&&(e.dataset.sdtSelectedIndex=String(t.selectedIndex)),t.dateFormat!==void 0&&(e.dataset.sdtDateFormat=t.dateFormat),t.dateLanguage!==void 0&&(e.dataset.sdtDateLanguage=t.dateLanguage),t.locked!==void 0&&(e.dataset.sdtLocked=String(t.locked)),i==="checkbox"?e.setAttribute("role","checkbox"):i==="dropDownList"||i==="comboBox"?(e.setAttribute("role","combobox"),e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-expanded","false")):i==="date"?(e.setAttribute("role","button"),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("role","group"),e.removeAttribute("tabindex"),(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.locked&&e.setAttribute("aria-disabled","true");}function we(e,t){switch(t.scope){case "pmark":e.classList.add(v.revisionPmark),t.kind==="ins"&&e.classList.add(v.revisionPmarkIns),t.kind==="del"&&e.classList.add(v.revisionPmarkDel);break;case "table":e.classList.add(v.revisionTable,Oe(t.kind));break;case "row":e.classList.add(v.revisionRow,Oe(t.kind));break;case "cell":e.classList.add(v.revisionCell,Oe(t.kind));break}e.dataset.revisionId=t.revisionId,e.dataset.revisionAuthor=t.author,t.date&&(e.dataset.revisionDate=t.date);let i=[t.author,t.date].filter(Boolean).join(", ");i&&e.setAttribute("aria-description",i);}function Oe(e){return e==="ins"?v.revisionIns:e==="del"?v.revisionDel:v.revisionMerge}function Ei(e,t,i,r){let n=i.createElement("section");n.className=v.notes,n.dataset.noteKind=e.kind??"footnote",e.sectionId&&(n.dataset.sectionId=e.sectionId),e.columns!==void 0&&(n.dataset.columns=String(e.columns)),n.style.position="absolute",n.style.left="0",n.style.top=`${e.y??0}px`,n.style.width=`${t.width}px`,n.style.height=`${e.height??0}px`;let l=new Map;for(let a of e.notes??[])a.id!==void 0&&l.set(a.id,a);pe(n,e.separatorPrimitives??[],i,-(e.y??0),r);let o=[...e.primitives??[]];for(let a of e.noteIds??[]){let c=`${e.kind??"footnote"}-${a}`,p=o.filter(y=>y.groupId===c);if(p.length===0)continue;for(let y of p){let h=o.indexOf(y);h>=0&&o.splice(h,1);}let g=i.createElement("aside");g.className=v.note,g.id=`oox-${c}`,g.dataset.noteId=String(a),g.setAttribute("role",e.kind==="endnote"?"doc-endnote":"doc-footnote");let m=l.get(a);if(m&&(m.label!==void 0&&(g.dataset.noteLabel=m.label),m.anchorDocStart!==void 0&&(g.dataset.anchorDocStart=String(m.anchorDocStart)),m.anchorDocEnd!==void 0&&(g.dataset.anchorDocEnd=String(m.anchorDocEnd))),pe(g,p,i,-(e.y??0),r),m&&Mt(e,a)){let y=i.createElement("a");y.className=v.noteBacklink,y.setAttribute("role","doc-backlink"),y.setAttribute("href",`#oox-noteref-${c}`);let h=r.labels?.noteBacklink??m.label??String(a);y.setAttribute("aria-label",h),g.appendChild(y);}n.appendChild(g);}return o.length>0&&pe(n,o,i,-(e.y??0),r),n}function Nt(e,t,i){if(t==="body")return e.primitives.filter(n=>n.kind==="image");let r=t==="header"?e.header:e.footer;return !r||i!==void 0&&r.rId!==i?[]:r.primitives.filter(n=>n.kind==="image")}function Ve(e,t,i="body",r){for(let n of e.pages)for(let l of Nt(n,i,r))if(l.docStart===t)return {primitive:l,pageIndex:n.pageIndex,...i!=="body"?{region:i,rId:r}:{}};return null}function Ke(e,t,i,r,n="body",l){let o=e.pages[t];if(!o)return null;let a=Nt(o,n,l);for(let s=a.length-1;s>=0;s--){let c=a[s];if(!(i<c.x||i>c.x+c.w)&&!(r<c.y||r>c.y+c.h)&&g(c,i,r))return {primitive:c,pageIndex:o.pageIndex,...n!=="body"?{region:n,rId:l}:{}}}return null}function Ti(e,t){let i=e.imageByPos(t);if(!i)return;let r=e.contentBounds(i.pageIndex),n=e.paragraphRects(t).find(l=>l.pageIndex===i.pageIndex);if(!(!r||!n))return {horizontalEmu:Math.round(c$1(i.primitive.x-r.x)),verticalEmu:Math.round(c$1(i.primitive.y-n.y))}}var me=(()=>{let e=globalThis.FinalizationRegistry;return e?new e(t=>t()):null})();function Ai(e){return ()=>{let t=e.handle;if(e.handle=null,!(t===null||!e.eng||he.has(e.eng)))try{e.eng.closeDisplayList?.(t);}catch{}}}var Ot=globalThis.WeakRef;function Ci(e){return Ot?new Ot(e):Bi(e)}function Bi(e){return {deref:()=>e}}var Pe=new WeakMap,je=new WeakMap;function Hi(e){let t=je.get(e);t&&(t.newest=null);}var he=new WeakSet,Je=new Set;function Gi(e){return e!=null&&he.has(e)}function Ni(e){return Je.add(e),()=>{Je.delete(e);}}function ye(e){return e instanceof Error?typeof WebAssembly<"u"&&e instanceof WebAssembly.RuntimeError?true:e.name==="RuntimeError":false}var ge=-1;function Ue(e){return {pageIndex:e.pageIndex,width:e.width,height:e.height,primitives:[]}}function Yt(e){if(e.kind!=="text"&&e.kind!=="glyphRun"||e.docStart===void 0||e.docEnd===void 0||e.kind==="glyphRun"&&e.glyphs.length===0)return null;let t=e.kind==="text"?e.baselineY:e.glyphs.reduce((i,r)=>Math.max(i,r.y),-1/0);return Number.isFinite(t)?t:null}var ze=new WeakMap;function Oi(e){if(ze.has(e))return ze.get(e)??null;let t=1/0,i=-1/0;for(let n of e.primitives){if(Yt(n)===null)continue;let l=f(n);t=Math.min(t,l.y),i=Math.max(i,l.y+l.h);}let r=t<=i?{top:t,bottom:i}:null;return ze.set(e,r),r}function _i(e,t){let i=e.storeRevisions();if(!i)return null;let r=new Map;e.list.pages.forEach((s,c)=>r.set(s,c));let n=[],l=[],o=[],a=[];return t.pages.forEach((s,c)=>{let p=r.get(s);p!==void 0&&r.delete(s);let g=p===void 0?void 0:i[p];if(p===void 0||g===void 0){l.push([c,Ue(s)]),a.push(ge);return}if(g===ge){n.push([c,p]),a.push(ge);return}let m=x(s)===g?[]:z(s,g);if(m===null)l.push([c,Ue(s)]),a.push(ge);else if(m.length===0)n.push([c,p]),a.push(g);else {let y=m.map(h=>h.runs.map(L=>[L.start,L.count,L.changedMask,L.delta]));if(m.some(h=>h.anchors.length>0)){let h=m.map(L=>L.anchors.map(R=>[R.area,R.note,R.start,R.end]));o.push([c,p,y,h]);}else o.push([c,p,y]);a.push(x(s));}}),n.length===0&&o.length===0?null:{json:JSON.stringify({total:t.pages.length,...t.contractVersion!==void 0?{contractVersion:t.contractVersion}:{},reuse:n,replace:l,...o.length>0?{shift:o}:{}}),revisions:a}}var _t=new WeakMap;function Fi(e){let t=x(e),i=_t.get(e);if(i&&i.revision===t)return i;let r=1/0,n=-1/0,l=a=>{typeof a=="number"&&(a<r&&(r=a),a>n&&(n=a));};for(let a of e.primitives)l(a.docStart),l(a.docEnd),l(a.fragmentDocStart),l(a.fragmentDocEnd),l(a.inlineSdtWidget?.pos);let o={revision:t,min:r,max:n};return _t.set(e,o),o}function Ft(e,t,i,r=0){let n=Math.min(t,i)-1,l=Math.max(t,i)+1,o=new Set;return e.pages.forEach((a,s)=>{let c=Fi(a);if(!(c.min>l||c.max<n))for(let p=-r;p<=r;p+=1){let g=s+p;g>=0&&g<e.pages.length&&o.add(g);}}),[...o]}function Yi(e,t,i,r){let n=null,l=()=>(n??(n=JSON.stringify(e)),n),o=null,a=Xi(t)?t:null,s={handle:null,eng:a?null:t??null},c=null,p,g,m=new Promise((d,u)=>{p=d,g=u;});m.catch(()=>{});let y=false,h=false,L=false,R={},k=null,D=i?Pe.get(i):void 0;D&&(k=D.hasHandle()?i:D.donor(),D.supersede()),D&&D.line!==(r??null)&&(D.lineage.newest=null);let w={newest:null};r&&(w=je.get(r)??w,je.set(r,w));let A=()=>a??s.eng,P=()=>{let d=A();return d!==null&&he.has(d)},C=(d,u)=>{let f=u instanceof Error?u:new Error(String(u));c=f,s.handle=null,me?.unregister(R);let b=A();if(!(!b||he.has(b))){he.add(b),console.error(`[CanvasRenderer] ${d} trapped in wasm; the session is unusable and must be rebuilt`,f);for(let x of Je)try{x(f);}catch(S){console.error("[CanvasRenderer] display-list source failure listener threw",S);}}},F=Ai(s),H=()=>{let d=k;if(k=null,!d||!s.eng?.updateDisplayList||!s.eng.hasDisplayListUpdate?.())return false;let u=Pe.get(d);if(!u||u.engine()!==s.eng)return false;let f=_i(u,e);if(!f)return false;let b=u.takeHandle();if(b===null)return false;try{return s.eng.updateDisplayList(b,f.json),s.handle=b,o=f.revisions,!0}catch(x){try{s.eng.closeDisplayList?.(b);}catch{}return console.warn("[CanvasRenderer] display-list delta update failed; reopening",x),false}},G=()=>{if(!(L||h||y||s.handle!==null||!s.eng||P())&&!(!s.eng.hasDisplayListSession?.()||!s.eng.openDisplayList)&&(y=true,!H()))try{s.eng.updateDisplayList&&s.eng.hasDisplayListUpdate?.()?(s.handle=s.eng.openDisplayList(JSON.stringify({...e.contractVersion!==void 0?{contractVersion:e.contractVersion}:{},pages:e.pages.map(Ue)})),o=e.pages.map(()=>ge)):(s.handle=s.eng.openDisplayList(l()),o=e.pages.map(x));}catch(d){if(s.handle=null,ye(d)){C("display-list session open",d);return}console.warn("[CanvasRenderer] display-list session open failed; using JSON-arg queries",d);}},N=d=>{if(s.handle===null||!o||!s.eng?.updateDisplayList)return;let u=o,f=[];for(let b of d){let x$1=e.pages[b];x$1&&u[b]!==x(x$1)&&f.push([b,x$1]);}if(f.length!==0)try{s.eng.updateDisplayList(s.handle,JSON.stringify({total:e.pages.length,...e.contractVersion!==void 0?{contractVersion:e.contractVersion}:{},keep:!0,replace:f}));for(let[b,x$1]of f)u[b]=x(x$1);}catch(b){if(ye(b)){C("display-list page load",b),o=null;return}F(),me?.unregister(R),o=null,console.warn("[CanvasRenderer] display-list page load failed; using JSON-arg queries",b);}},Te=()=>e.pages.map((d,u)=>u);a||s.eng?p():B().then(d=>{s.eng=d,p();},d=>{c=d instanceof Error?d:new Error(String(d)),g(c),console.warn("[CanvasRenderer] display-list query engine failed to load",c);});let re=(d,u,f,b)=>{if(!s.eng||P()||(s.handle===null&&G(),s.handle!==null&&d&&N(b()),P()))return null;if(s.handle!==null&&d)try{return d(s.handle)}catch(x){if(ye(x))return C(f,x),null;console.warn(`[CanvasRenderer] ${f} session query failed; falling back`,x),F();}try{return u()}catch(x){return ye(x)?(C(f,x),null):(c=x instanceof Error?x:new Error(String(x)),console.warn(`[CanvasRenderer] ${f} query failed`,x),null)}},$=(d,u,f)=>{if(d===null)return u;try{return JSON.parse(d)}catch(b){return c=b instanceof Error?b:new Error(String(b)),console.warn(`[CanvasRenderer] ${f} returned invalid JSON`,b),u}},E=()=>{if(a||!h||s.handle!==null||!r)return;let d=w.newest?.deref();return d&&!Pe.get(d)?.disposed()?d:null},O=(d,u)=>(...f)=>{let b=E();return b?u(b,...f):d(...f)},T=(d,u)=>{if(P())return null;try{return d()}catch(f){return ye(f)?(C(`resident ${u}`,f),null):(c=f instanceof Error?f:new Error(String(f)),console.warn(`[CanvasRenderer] resident ${u} query failed`,f),null)}},j=(d,u,f)=>{let b=E();if(b!==void 0)return b?.hitTestRegions(d,u,f)??null;if(a)return $(T(()=>a.displayHitTestRegionsJson(d,u,f),"hit_test_regions"),null,"hit_test_regions");let x=re(s.eng?.hitTestRegionsByHandle&&(S=>s.eng.hitTestRegionsByHandle(S,d,u,f)),()=>s.eng.hitTestRegionsJson(l(),d,u,f),"hit_test_regions",()=>[d]);return $(x,null,"hit_test_regions")},_=(d,u)=>{let f=E();if(f!==void 0)return f?.rangeRects(d,u)??[];if(a)return $(T(()=>a.displayRangeRectsJson(d,u),"range_rects"),[],"range_rects");let b=re(s.eng?.rangeRectsByHandle&&(x=>s.eng.rangeRectsByHandle(x,d,u)),()=>s.eng.rangeRectsJson(l(),d,u),"range_rects",()=>Ft(e,d,u));return $(b,[],"range_rects")},J=(d,u,f)=>{let b=E();if(b!==void 0)return b?.verticalMove(d,u,f)??null;let x=f??Number.NaN;if(a)return $(T(()=>a.displayVerticalMoveJson(d,u,x),"vertical_move"),null,"vertical_move");if(!s.eng?.verticalMoveJson)return null;let S=re(s.eng.verticalMoveByHandle&&(I=>s.eng.verticalMoveByHandle(I,d,u,x)),()=>s.eng.verticalMoveJson(l(),d,u,x),"vertical_move",()=>Ft(e,d,d,1));return $(S,null,"vertical_move")},Q=(d,u,f,b)=>{let x=E();if(x!==void 0)return x?d==="header"||d==="footer"?x.hfRangeRects(d,u,f,b):d==="footnote"||d==="endnote"?x.noteRangeRects(d,Number(u),f,b):[]:[];if(a)return $(T(()=>a.displayRangeRectsRegionJson(d,u,f,b),"range_rects_region"),[],"range_rects_region");if(!s.eng||!s.eng.hasRangeRectsRegion?.())return [];let S=re(s.eng.rangeRectsRegionByHandle&&(I=>s.eng.rangeRectsRegionByHandle(I,d,u,f,b)),()=>s.eng.rangeRectsRegionJson(l(),d,u,f,b),"range_rects_region",Te);return $(S,[],"range_rects_region")},W=(d,u,f,b)=>Q(d,u,f,b),te=(d,u,f,b)=>Q(d,String(u),f,b),U=(d,u)=>{let f=(x,S)=>{let I=new Map;for(let M of x)S&&I.has(M.pageIndex)||I.set(M.pageIndex,{pageIndex:M.pageIndex,x:S?M.x:M.x+M.width,y:M.y,width:0,height:M.height});return [...I.values()]},b=d(u,u+1);if(b.length>0)return f(b,true);if(u>0){let x=d(u-1,u);if(x.length>0)return f(x,false)}return []},Le=(d,u,f)=>U((b,x)=>W(d,u,b,x),f),Jt=(d,u,f)=>U((b,x)=>te(d,u,b,x),f),Ut=d=>{let u=e.pages.filter(M=>{let q=M.unbuilt?M.positionSpan:void 0;return q!==void 0&&d>=q[0]&&d<=q[1]});if(u.length===0)return null;let f=Math.max(...u.map(M=>M.positionSpan[0])),b=Math.min(...u.map(M=>M.positionSpan[1])),x=b>f?(d-f)/(b-f+1):1,S=Math.min(u.length-1,Math.floor(x*u.length)),I=u[S];return {pageIndex:I.pageIndex,x:I.contentBounds?.x??0,y:I.contentBounds?.y??0,width:0,height:0}},it=d=>{let u=E();if(u!==void 0)return u?.caretRect(d)??null;let f=_(d,d+1);if(f.length>0){let x=f[0];return {pageIndex:x.pageIndex,x:x.x,y:x.y,width:0,height:x.height}}let b=Ut(d);if(b)return b;if(d>0){let x=_(d-1,d);if(x.length>0){let S=x[x.length-1];return {pageIndex:S.pageIndex,x:S.x+S.width,y:S.y,width:0,height:S.height}}}return null},rt=d=>{let u=E();if(u!==void 0)return u?.anchorRect(d)??null;let f=_(d,d+2);return f.length>0?f[0]:it(d)},qt=(d,u,f)=>{let b=W(d,u,f,f+2);if(b.length===0)return Le(d,u,f);let x=new Map;for(let S of b)x.has(S.pageIndex)||x.set(S.pageIndex,S);return [...x.values()]},ot=(d,u)=>({pageIndex:d,x:u.x,y:u.y,width:u.w,height:u.h}),Zt=d=>{let u=e.pages[d];return u?{pageIndex:u.pageIndex,x:0,y:0,width:u.width,height:u.height}:null},en=d=>{let u=e.pages[d],f=u?.contentBounds;return u&&f?{pageIndex:u.pageIndex,x:f.x,y:f.y,width:f.width,height:f.height}:null},tn=d=>{let u=e.pages[d];return u?(u.columnBounds??[]).map(f=>({pageIndex:u.pageIndex,x:f.x,y:f.y,width:f.width,height:f.height})):[]},Ae=d=>d.paraId?`para:${d.paraId}`:d.blockKey!==void 0?`block-key:${d.blockKey}`:d.blockId!==void 0?`block-id:${d.blockId}`:null,at=d=>d.blockKey??d.blockId,ve=null,nn=()=>{if(ve)return ve;let d=new Map;for(let u of e.pages)for(let f$1 of u.primitives){let b=Ae(f$1);if(!b||f$1.docStart===void 0||f$1.docEnd===void 0)continue;let x=f(f$1),S=d.get(b);S||(S=new Map,d.set(b,S));let I=S.get(u.pageIndex);if(!I){S.set(u.pageIndex,{...ot(u.pageIndex,x),from:f$1.docStart,to:f$1.docEnd,blockId:at(f$1),paraId:f$1.paraId});continue}let M=Math.min(I.x,x.x),q=Math.min(I.y,x.y),Z=Math.max(I.x+I.width,x.x+x.w),se=Math.max(I.y+I.height,x.y+x.h);I.x=M,I.y=q,I.width=Z-M,I.height=se-q,I.from=Math.min(I.from,f$1.docStart),I.to=Math.max(I.to,f$1.docEnd);}return ve=new Map([...d].map(([u,f])=>[u,[...f.values()]])),ve},rn=d=>{let u=null;for(let f of e.pages)for(let b of f.primitives){let x=Ae(b),S=b.docStart,I=b.docEnd;if(!x||S===void 0||I===void 0||d<S||d>I)continue;let M={identity:x,span:Math.max(0,I-S),startsAtPos:S===d};(!u||M.startsAtPos&&!u.startsAtPos||M.startsAtPos===u.startsAtPos&&M.span<u.span)&&(u=M);}return u?nn().get(u.identity)??[]:[]},on=1.5,st=[],lt=d=>{let u=st[d];if(u)return u;let f$1=e.pages[d];if(!f$1)return [];let b=[],x=new Map,S=0;for(let I of f$1.primitives){let M=Yt(I);if(M===null||I.docStart===void 0||I.docEnd===void 0)continue;let q=Ae(I)??`anonymous:${S++}`,Z=f(I),se=x.get(q),B=se?.find(le=>Math.abs(le.baseline-M)<=on);if(!B){let le={...ot(f$1.pageIndex,Z),baseline:M,from:I.docStart,to:I.docEnd,blockId:at(I),paraId:I.paraId};b.push(le),se?se.push(le):x.set(q,[le]);continue}let ft=Math.min(B.x,Z.x),pt=Math.min(B.y,Z.y),dn=Math.max(B.x+B.width,Z.x+Z.w),un=Math.max(B.y+B.height,Z.y+Z.h);B.x=ft,B.y=pt,B.width=dn-ft,B.height=un-pt,B.from=Math.min(B.from,I.docStart),B.to=Math.max(B.to,I.docEnd);}return st[d]=b,b},ct=null,dt=()=>(ct??(ct=e.pages.flatMap((d,u)=>lt(u))),ct),an=d=>{let u=null;for(let f of dt())d<f.from||d>f.to||(!u||f.to-f.from<u.to-u.from)&&(u=f);return u},ut=d=>{if(!d)return null;let u=d.primitive.docStart;if(u===void 0)return null;let{primitive:f}=d;return {...d,pos:u,rect:{pageIndex:d.pageIndex,x:f.x,y:f.y,width:f.w,height:f.h}}},sn=(d,u,f,b="body",x)=>ut(Ke(e,d,u,f,b,x)),ln=(d,u="body",f)=>ut(Ve(e,d,u,f)),cn=()=>{L||(L=true,F(),me?.unregister(R));},Re={get displayList(){return E()?.displayList??e},isReady:()=>(a!==null||s.eng!==null)&&c===null,sourceState:()=>c?{status:"error",error:c}:a||s.eng?{status:"ready"}:{status:"loading"},whenReady:()=>m,pageCount:()=>{let d=E();return d?d.pageCount():e.pages.length},pageSize:d=>{let u=E();if(u)return u.pageSize(d);let f=e.pages[d];return f?{width:f.width,height:f.height}:null},pageBounds:d=>{let u=E();return u?u.pageBounds(d):Zt(d)},contentBounds:O(en,(d,u)=>d.contentBounds(u)),columnBounds:O(tn,(d,u)=>d.columnBounds(u)),paragraphRects:O(rn,(d,u)=>d.paragraphRects(u)),visualLines:O(dt,d=>d.visualLines()),visualLinesOnPage:d=>{let u=E();return u?u.visualLinesOnPage(d):lt(d)},visualLineExtent:O(d=>{let u=e.pages[d];return u?Oi(u):null},(d,u)=>d.visualLineExtent(u)),visualLineAtPosition:O(an,(d,u)=>d.visualLineAtPosition(u)),imageAtPoint:O(sn,(d,...u)=>d.imageAtPoint(...u)),imageByPos:O(ln,(d,...u)=>d.imageByPos(...u)),hitTestRegions:j,verticalMove:J,rangeRects:_,hfRangeRects:W,noteRangeRects:te,hfCaretRects:Le,noteCaretRects:Jt,hfAnchorRects:qt,caretRect:it,anchorRect:rt,sidebarAnchorRect:rt,prime:G,dispose:cn};return me?.register(Re,F,R),Pe.set(Re,{list:e,storeRevisions:()=>o,engine:()=>s.eng,hasHandle:()=>s.handle!==null,donor:()=>k,supersede:()=>{h=true;},lineage:w,line:r??null,disposed:()=>L,takeHandle:()=>{let d=s.handle;return d!==null&&(s.handle=null,me?.unregister(R)),d}}),w.newest=Ci(Re),Re}function Xi(e){return typeof e?.displayHitTestRegionsJson=="function"&&typeof e?.displayVerticalMoveJson=="function"&&typeof e?.displayRangeRectsJson=="function"&&typeof e?.displayRangeRectsRegionJson=="function"}var $i=16,Qi=24;function be(e){let t=[],i=24;for(let r=0;r<e.pageCount();r++)t.push(i),i+=(e.pageSize(r)?.height??0)+16;return t}var Wi=/^media:(0|[1-9]\d*)$/;function Xt(){let e=typeof OffscreenCanvas<"u"?new OffscreenCanvas(1,1):typeof document<"u"?Object.assign(document.createElement("canvas"),{width:1,height:1}):null,t=e?.getContext("2d");return !e||!t?null:(t.fillStyle="#e6e6e6",t.fillRect(0,0,1,1),e)}function Vi(e={}){let t=new Map,{media:i,mediaScope:r}=e,n=r?.();return l=>{let o=i&&Wi.test(l);if(!o&&!l.startsWith("blob:")&&!l.startsWith("data:"))return null;r&&r()!==n&&(n=r(),t.clear());let a=t.get(l);return a||(a=new Promise(s=>{let c=l;if(o){let m=i(l);if(!m){s(Xt());return}c=URL.createObjectURL(new Blob([m.bytes],{type:m.mimeType}));}let p=new Image,g=m=>{o&&URL.revokeObjectURL(c),s(m);};p.onload=()=>g(p),p.onerror=()=>g(o?Xt():null),p.src=c;}),t.set(l,a)),a}}function Ki(e,t){let i=e.activeCommentIds.length>0?t?.(e.activeCommentIds):void 0;return {hasSelection:e.hasSelection,inInsertion:e.inInsertion,inDeletion:e.inDeletion,hasComment:e.activeCommentIds.length>0,inList:e.inList,listLevel:e.listLevel??0,...i?.authorName!==void 0?{commentAuthor:i.authorName}:{},...i?.replyCount!==void 0?{commentReplyCount:i.replyCount}:{}}}function zi(e,t){if(!e)return [];let i=[];return !e.hasSelection&&t.hasSelection&&i.push({key:"selected"}),e.hasSelection&&!t.hasSelection&&i.push({key:"selectionCleared"}),!e.hasComment&&t.hasComment&&i.push({key:"commentedText",...t.commentAuthor!==void 0||t.commentReplyCount!==void 0?{vars:{...t.commentAuthor!==void 0?{author:t.commentAuthor}:{},...t.commentReplyCount!==void 0?{replies:t.commentReplyCount}:{}}}:{}}),!e.inInsertion&&t.inInsertion&&i.push({key:"trackedInsertion"}),!e.inDeletion&&t.inDeletion&&i.push({key:"trackedDeletion"}),(!e.inList&&t.inList||t.inList&&e.listLevel!==t.listLevel)&&i.push({key:"listItem",vars:{level:t.listLevel+1}}),i}function qe(e,t){let{doc:i,schema:r}=e.state,n=r.marks.comment,l=r.marks.insertion,o=r.marks.deletion;!n&&!l&&!o||i.descendants((a,s)=>{let c=a.attrs;if(c){let p=[c.trIns,c.trDel,c.pPrIns,c.pPrDel];for(let h of p){let L=h?.revisionId;typeof L=="number"&&t(`revision-${L}`,s);}let m=c.cellMarker?.info?.revisionId;typeof m=="number"&&t(`revision-${m}`,s);let y=[c.pPrChange,c.trPrChange,c.tcPrChange,c.tblPrChange];for(let h of y)if(Array.isArray(h))for(let L of h){let R=L?.info?.id;typeof R=="number"&&t(`revision-${R}`,s);}}if(a.isInline)for(let p of a.marks){let g=null;n&&p.type===n?g=`comment-${p.attrs.commentId}`:(l&&p.type===l||o&&p.type===o)&&(g=`revision-${p.attrs.revisionId}`),g&&t(g,s);}});}function ji(e,t,i){let r=new Map;if(!e?.state)return r;let n=be(t),l=new Set;return qe(e,(o,a)=>{if(l.has(o))return;l.add(o);let s=t.anchorRect(a);if(!s)return;let c=i?i(s):(n[s.pageIndex]??0)+s.y;c!=null&&r.set(o,c);}),r}function Ji(e,t,i){if(!e.hfRid)return t.anchorRect(e.position);let r=i?.get(e.hfRid);return r?t.hfAnchorRects(r,e.hfRid,e.position)[0]??null:null}function Ui(e,t,i,r,n,l,o){let a$1=new Map,s=be(n),c=(p,g)=>{if(!g||a$1.has(p))return a$1.has(p);let m=Ji(g,n,l);if(!m)return false;let y=o?o(m):(s[m.pageIndex]??0)+m.y;return y==null?false:(a$1.set(p,y),true)};for(let p of t){let g=`comment-${p}`;try{for(let m of e.resolveComment(String(p)))if(c(g,r.storyOffsetToDisplayPoint(m.story,m.start)))break}catch{}}for(let p of i)c(`revision-${a(p.revisionId)}`,r.locToDisplayPoint({story:p.story,...p.range.start}));return a$1}function qi(e,t,i,r){let n=be(t);for(let{region:l,rId:o,view:a}of e)qe(a,(s,c)=>{if(i.has(s))return;let p=t.hfAnchorRects(l,o,c)[0];if(!p)return;let g=r?r(p):(n[p.pageIndex]??0)+p.y;g!=null&&i.set(s,g);});return i}var Zi=new Set(["tableInserted","tableDeleted","rowInserted","rowDeleted"]);function er(e,t){let i=e.map(o=>{let a$1=t.locToDisplayPoint({story:o.range.story,...o.range.start}),s=t.locToDisplayPoint({story:o.range.story,...o.range.end}),c=a$1?.position??0,p=Math.max(c,s?.position??c);return {type:o.kind==="pPrIns"?"paragraphMarkInsertion":o.kind==="pPrDel"?"paragraphMarkDeletion":o.kind==="pPrChange"?"paragraphPropertiesChanged":o.kind==="trIns"?"rowInserted":o.kind==="trDel"?"rowDeleted":o.kind==="tableIns"?"tableInserted":o.kind==="tableDel"?"tableDeleted":o.kind,text:o.preview,author:o.author,date:o.date||void 0,from:c,to:p,revisionId:a(o.revisionId),...a$1?.hfRid?{hfRid:a$1.hfRid}:{}}}),r=new Map;for(let o of i){let a=r.get(o.revisionId)??[];a.push(o),r.set(o.revisionId,a);}let n=[...r.values()].map(o=>{let a=Math.min(...o.map(y=>y.from)),s=Math.max(...o.map(y=>y.to)),c=o.filter(y=>y.type==="insertion"),p=o.filter(y=>y.type==="deletion");if(c.length>0&&p.length>0)return {...c[0],type:"replacement",text:c.map(h=>h.text).join(""),deletedText:p.map(h=>h.text).join(""),from:a,to:s};let g=o.find(y=>y.type==="insertion"||y.type==="deletion")??o.find(y=>Zi.has(y.type))??o[0],m=o.filter(y=>y.type===g.type).map(y=>y.text).join("");return {...g,text:m,from:a,to:s}}),l=[];for(let o=0;o<n.length;o+=1){let a=n[o],s=n[o+1];a.type==="deletion"&&s?.type==="insertion"&&a.author===s.author&&a.date===s.date&&a.to===s.from&&a.hfRid===s.hfRid?(l.push({type:"replacement",text:s.text,deletedText:a.text,author:a.author,date:a.date,from:a.from,to:s.to,revisionId:a.revisionId,insertionRevisionId:s.revisionId,...a.hfRid?{hfRid:a.hfRid}:{}}),o+=1):l.push(a);}return {entries:l,commentToRevision:new Map}}function tr(e,t){let i=t.kind??"body";if(i==="body")return {kind:i,primitives:e.primitives};let r=i==="header"?e.header:e.footer;return !r||r.kind!==i||t.rId&&r.rId!==t.rId?null:{kind:i,rId:r.rId,primitives:r.primitives}}function nr(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":case "image":case "shape":case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h};case "line":return {x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)}}}function ir(e){let t=nr(e),i=e.clipGroup?.clip;if(!i)return t;let r=i.x??0,n=i.y??0,l=r+Math.max(0,i.w??0),o=n+Math.max(0,i.h??0),a=Math.max(t.x,r),s=Math.max(t.y,n),c=Math.min(t.x+t.w,l),p=Math.min(t.y+t.h,o);return c<a||p<s?null:{x:a,y:s,w:c-a,h:p-s}}function rr(e){return e.kind==="text"||e.kind==="glyphRun"?e.text:e.kind==="image"?e.altText??"":""}function or(e,t,i){return t>=e.x&&t<=e.x+e.w&&i>=e.y&&i<=e.y+e.h}function ar(e,t,i,r,n={kind:"body"}){let l=e.pages[t];if(!l)return null;let o=tr(l,n);if(!o)return null;for(let a=o.primitives.length-1;a>=0;a--){let s=o.primitives[a];if(s.kind==="line"||!s.href||s.hiddenObject)continue;let c=ir(s);if(c&&or(c,i,r))return {pageIndex:t,region:o.kind,rId:o.rId,href:s.href,tooltip:s.linkTitle??s.tooltip,displayText:rr(s)||s.href,rect:c}}return null}var V=7.5,ie=16,$t=320,sr=30,lr=200,cr=24,dr=10,ur=10,fr=24;function Qt(e){let t;switch(e.kind){case "text":t=c(e);break;case "glyphRun":t=d(e);break;case "rect":case "image":case "shape":case "decoration":t={x:e.x,y:e.y,w:e.w,h:e.h};break;case "line":t={x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)};break}let i=et(e);return i?pr(t,i)??{x:i.x,y:i.y,w:0,h:0}:t}function et(e){let t=e.clipGroup?.clip;return t?{x:t.x??0,y:t.y??0,w:Math.max(0,t.w??0),h:Math.max(0,t.h??0)}:null}function pr(e,t){let i=Math.max(e.x,t.x),r=Math.max(e.y,t.y),n=Math.min(e.x+e.w,t.x+t.w),l=Math.min(e.y+e.h,t.y+t.h);return n<i||l<r?null:{x:i,y:r,w:n-i,h:l-r}}function Wt(e,t,i){if(e.docStart!=null){let r=t(e.docStart);if(r!=null){let n={tableKey:r,docStartSample:e.docStart};return e.table?.tableId&&!i.has(e.table.tableId)&&i.set(e.table.tableId,n),n}}return e.table?.tableId?i.get(e.table.tableId)??null:null}function Vt(e,t,i){let r=e.table?.tableId;if(!r)return null;let n=t.get(r);return n?i.get(n.tableKey)??null:null}function Kt(e,t,i,r){let n=new Map;for(let o of t){if(o.kind==="line")continue;let a=o.cell;if(!a)continue;let s=Wt(o,i,r);if(!s)continue;let{tableKey:c,docStartSample:p}=s,g=Qt(o),m=et(o),y=m??g,h=n.get(c);if(h||(h={tableKey:c,docStartSample:p,contentMinX:y.x,contentMinY:y.y,contentMaxX:y.x+y.w,contentMaxY:y.y+y.h,exactLeftX:[],exactBottomY:[],exactClipLeftX:[],exactClipBottomY:[],rows:new Map},n.set(c,h)),p<h.docStartSample&&(h.docStartSample=p),h.contentMinX=Math.min(h.contentMinX,y.x),h.contentMinY=Math.min(h.contentMinY,y.y),h.contentMaxX=Math.max(h.contentMaxX,y.x+y.w),h.contentMaxY=Math.max(h.contentMaxY,y.y+y.h),m&&(h.exactClipLeftX.push(m.x),h.exactClipBottomY.push(m.y+m.h)),!a.continuation){let L=h.rows.get(a.row);L?(L.top=Math.min(L.top,y.y),L.bottom=Math.max(L.bottom,y.y+y.h)):h.rows.set(a.row,{top:y.y,bottom:y.y+y.h});}}if(n.size===0)return [];for(let o of t){if(o.kind!=="line"||o.role!=="table-border"&&o.role!=="table-cut")continue;let a=Vt(o,r,n);if(!a){let p=(o.x1+o.x2)/2,g=(o.y1+o.y2)/2,m=1/0;for(let y of n.values()){let h=p>=y.contentMinX-ie&&p<=y.contentMaxX+ie,L=g>=y.contentMinY-ie&&g<=y.contentMaxY+ie;if(!h||!L)continue;let R=Math.max(0,y.contentMinX-p,p-y.contentMaxX),k=Math.max(0,y.contentMinY-g,g-y.contentMaxY),D=R+k;D<m&&(m=D,a=y);}}if(!a)continue;let s=Math.abs(o.x1-o.x2)<.5,c=Math.abs(o.y1-o.y2)<.5;s&&a.exactLeftX.push(Math.min(o.x1,o.x2)),c&&a.exactBottomY.push(Math.max(o.y1,o.y2));}let l=[];for(let o of n.values()){if(o.rows.size===0)continue;let a=o.exactLeftX.length>0||o.exactClipLeftX.length>0,s=a?Math.min(...o.exactLeftX,...o.exactClipLeftX):o.contentMinX-V,c=o.exactBottomY.length>0||o.exactClipBottomY.length>0?Math.max(...o.exactBottomY,...o.exactClipBottomY):o.contentMaxY,p=[...o.rows.entries()].map(([g,m])=>({rowIndex:g,top:m.top,bottom:m.bottom})).sort((g,m)=>g.rowIndex-m.rowIndex);l.push({pageIndex:e,tableKey:o.tableKey,docStartSample:o.docStartSample,originX:s,originY:o.contentMinY,bottomY:c,originExact:a,rowBands:p});}return l}function mr(e,t){let i=[],r=Ee(e,t,{kind:"body"});for(let n of e.pages)i.push(...Kt(n.pageIndex,n.primitives,t,r));return i}function yr(e,t,i,r){let n=e.pages.slice(i,r+1),l=new Set,o=false;for(let s of n)for(let c of s.primitives)c.kind!=="line"&&c.cell&&(o=true),c.table?.tableId&&l.add(c.table.tableId);if(!o)return [];let a=Ee(e,t,{kind:"body"},l);return n.flatMap(s=>Kt(s.pageIndex,s.primitives,t,a))}function tt(e,t){let i=t.kind??"body";if(i==="body")return {kind:i,primitives:e.primitives};let r=i==="header"?e.header:e.footer;return !r||r.kind!==i||t.rId&&r.rId!==t.rId?null:{kind:i,rId:r.rId,primitives:r.primitives}}function Ee(e,t,i,r){let n=new Map;for(let l of e.pages){let o=tt(l,i);if(o)for(let a of o.primitives){if(!a.cell||!a.table?.tableId||a.docStart==null||r&&!r.has(a.table.tableId))continue;let s=t(a.docStart);if(s==null)continue;let c=n.get(a.table.tableId);(!c||a.docStart<c.docStartSample)&&n.set(a.table.tableId,{tableKey:s,docStartSample:a.docStart});}}return n}function nt(e,t){return `${e}:${t}`}function gr(e,t,i,r){let n=nt(t.row,t.col),l=e.cells.get(n);l?(l.minX=Math.min(l.minX,i.x),l.minY=Math.min(l.minY,i.y),l.maxX=Math.max(l.maxX,i.x+i.w),l.maxY=Math.max(l.maxY,i.y+i.h),l.rowSpan=Math.max(l.rowSpan,t.rowSpan),l.colSpan=Math.max(l.colSpan,t.colSpan),r&&(l.exactClip=r)):e.cells.set(n,{row:t.row,col:t.col,rowSpan:t.rowSpan,colSpan:t.colSpan,minX:i.x,minY:i.y,maxX:i.x+i.w,maxY:i.y+i.h,exactClip:r??void 0});}function zt(e,t,i){let r=new Map;for(let n of e){if(n.kind==="line")continue;let l=n.cell;if(!l)continue;let o=Wt(n,t,i);if(!o)continue;let a=o.tableKey,s=Qt(n),c=r.get(a);c||(c={tableKey:a,contentMinX:s.x,contentMinY:s.y,contentMaxX:s.x+s.w,contentMaxY:s.y+s.h,cells:new Map,verticalLines:[],horizontalLines:[]},r.set(a,c)),c.contentMinX=Math.min(c.contentMinX,s.x),c.contentMinY=Math.min(c.contentMinY,s.y),c.contentMaxX=Math.max(c.contentMaxX,s.x+s.w),c.contentMaxY=Math.max(c.contentMaxY,s.y+s.h),gr(c,l,s,et(n));}if(r.size===0)return [];for(let n of e){if(n.kind!=="line"||n.role!=="table-border"&&n.role!=="table-cut")continue;let l=Math.abs(n.x1-n.x2)<.5,o=Math.abs(n.y1-n.y2)<.5;if(!l&&!o)continue;let a=Math.min(n.x1,n.x2),s=Math.max(n.x1,n.x2),c=Math.min(n.y1,n.y2),p=Math.max(n.y1,n.y2),g=Vt(n,i,r);if(g){l?g.verticalLines.push(a):g.horizontalLines.push(c);continue}for(let m of r.values())if(l){if(!(p>=m.contentMinY-ie&&c<=m.contentMaxY+ie))continue;let h=a;Math.max(0,m.contentMinX-h,h-m.contentMaxX)<=$t&&m.verticalLines.push(h);}else if(o){if(!(s>=m.contentMinX-ie&&a<=m.contentMaxX+ie))continue;let h=c;Math.max(0,m.contentMinY-h,h-m.contentMaxY)<=$t&&m.horizontalLines.push(h);}}return [...r.values()]}function xe(e){let t=[];for(let i of [...e].sort((r,n)=>r-n))(t.length===0||Math.abs(t[t.length-1]-i)>.5)&&t.push(i);return t}function jt(e){let t=xe([...e.cells.values()].map(n=>n.row)),i=xe(e.horizontalLines),r=new Map;if(t.length>0&&i.length>=t.length+1)for(let n=0;n<t.length;n++)r.set(t[n],i[n]),r.set(t[n]+1,i[n+1]);return r}function Ze(e){if(!e)return null;if(e.exactClip)return e.exactClip;let t=e.minX-V,i=e.minY-V;return {x:t,y:i,w:Math.max(1,e.maxX-e.minX+V*2),h:Math.max(1,e.maxY-e.minY+V*2)}}function hr(e,t){let i=1/0,r=-1/0;for(let n of e.cells.values())n.row===t&&(i=Math.min(i,n.exactClip?.y??n.minY-V),r=Math.max(r,n.exactClip?n.exactClip.y+n.exactClip.h:n.maxY+V));return !Number.isFinite(i)||!Number.isFinite(r)||r<=i?null:{top:i,bottom:r}}function br(e,t,i){let r=Ze(e.cells.get(nt(t,i)));return r?{left:r.x,right:r.x+r.w,top:r.y,bottom:r.y+r.h}:null}function xr(e,t,i,r={kind:"body"}){if(t.length===0)return [];let n=new Map;for(let a of t){let s=n.get(a.tableKey);s?s.push(a):n.set(a.tableKey,[a]);}let l=[],o=Ee(e,i,r);for(let a of e.pages){let s=tt(a,r);if(!s)continue;let c=zt(s.primitives,i,o);for(let p of c){let g=n.get(p.tableKey);if(!g)continue;let m=xe(p.verticalLines),y=jt(p);for(let h of g){let L=p.cells.get(nt(h.row,h.col)),R=m[h.col],k=m[h.col+h.colSpan],D=y.get(h.row),w=y.get(h.row+h.rowSpan),A=true;if(R==null||k==null||k<=R){let P=L?.exactClip??Ze(L);if(!P)continue;R=P.x,k=P.x+P.w,A=L?.exactClip!=null;}if(D==null||w==null||w<=D){let P=L?.exactClip??Ze(L);if(!P)continue;D=P.y,w=P.y+P.h,A&&(A=L?.exactClip!=null);}l.push({pageIndex:a.pageIndex,tableKey:p.tableKey,row:h.row,col:h.col,rowSpan:h.rowSpan,colSpan:h.colSpan,x:R,y:D,w:Math.max(1,k-R),h:Math.max(1,w-D),exact:A,region:s.kind,rId:s.rId});}}}return l}function Lr(e){let{list:t,pageIndex:i,x:r,y:n,canvasRect:l,pageSize:o,tableKeyOf:a,cellPmPosOf:s,region:c={kind:"body"},edgeProximity:p=sr,buttonZoom:g=1}=e,m=t.pages[i];if(!m)return null;let y=tt(m,c);if(!y)return null;let h=o.width>0?l.width/o.width:1,L=o.height>0?l.height/o.height:1,R=(w,A)=>({clientX:l.left+w*h,clientY:l.top+A*L}),k=Ee(t,a,c),D=zt(y.primitives,a,k);for(let w of D){let A=xe(w.verticalLines),P=jt(w),C=xe([...w.cells.values()].map(E=>E.row));if(C.length===0)continue;let F=A[0]??w.contentMinX-V,H=A[A.length-1]??w.contentMaxX+V,G=P.get(C[0])??w.contentMinY-V,N=C[C.length-1],Te=P.get(N+1)??w.contentMaxY+V,re=r<F+p&&r>=F-p,$=n<G+p&&n>=G-p;if(!(!re&&!$)){if(re&&n>=G-p&&n<=Te)for(let E of C){let O=P.get(E),T=P.get(E+1),j=O==null||T==null?hr(w,E):null,_=O??j?.top,J=T??j?.bottom;if(_==null||J==null||J<=_||n<_||n>J)continue;let Q=[...w.cells.values()].filter(U=>U.row===E).sort((U,Le)=>U.col-Le.col)[0];if(!Q)continue;let W=s(w.tableKey,E,Q.col);if(!W)continue;let te=R(F,_+(J-_)/2);return {type:"row",clientX:te.clientX-cr*g,clientY:te.clientY-dr*g,cellPmPos:W}}if($&&r>=F-p&&r<=H){let E=C[0],O=[...w.cells.values()].filter(T=>T.row===E).sort((T,j)=>T.col-j.col);for(let T of O){let j=A[T.col],_=A[T.col+T.colSpan],J=j==null||_==null?br(w,T.row,T.col):null,Q=j??J?.left,W=_??J?.right;if(Q==null||W==null||W<=Q||r<Q||r>W)continue;let te=s(w.tableKey,T.row,T.col);if(!te)continue;let U=R(Q+(W-Q)/2,G);return {type:"column",clientX:U.clientX-ur*g,clientY:U.clientY-fr*g,cellPmPos:te}}}}}return null}var so=yt;export{Qi as CANVAS_PAGES_PADDING_PX,$i as CANVAS_PAGE_GAP_PX,lr as DISPLAY_LIST_TABLE_INSERT_HIDE_DELAY_MS,v as MIRROR_CLASS_NAMES,Qn as applyInteractiveSdtFocus,Kn as buildInteractiveOverlayPage,Xe as buildMirrorPage,mi as buildMirrorPageLinks,hi as buildMirrorPageText,be as canvasPageTops,Ti as captureInlinePositionEmuFromDisplayList,zi as computeA11yAnnouncements,ji as computeAnchorPositionsFromDisplayList,Ui as computeAnchorPositionsFromYrs,Vi as createCanvasImageResolver,Yi as createDisplayListQueries,so as demoDisplayList,xr as deriveDisplayListSelectedCellRects,mr as deriveDisplayListTableFragments,yr as deriveDisplayListTableFragmentsOnPages,Lr as detectDisplayListTableInsertHover,bi as displayPageHoldsMirrorId,Hi as endDisplayListQueriesLine,er as extractTrackedChangesFromYrs,ar as findDisplayListHyperlinkAtPoint,Ke as findImagePrimitiveAtPoint,Ve as findImagePrimitiveByDocPos,ai as interactiveOverlayHasTabStops,Gi as isDisplayListQuerySourceDead,$n as loadGlyphOutlineProvider,qi as mergeHfAnchorPositionsFromDisplayList,di as mirrorPageHasHeaderCells,ui as mirrorPageHasTabStops,Ni as onDisplayListQuerySourceFailure,Tt as reduceMirrorToLinks,At as reduceMirrorToText,Ki as snapshotFromSelectionContext,qe as visitAnchorKeys};
@@ -0,0 +1,25 @@
1
+ type WasmAsyncInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
2
+ /** A wasm module's Rust heap, from the allocator's counters. */
3
+ interface WasmHeapStats {
4
+ /** Bytes allocated now. */
5
+ liveBytes: number;
6
+ /** The most bytes allocated at once since the module started. */
7
+ peakBytes: number;
8
+ /** Size of the allocation the memory could not satisfy, or 0. */
9
+ failedAllocationBytes: number;
10
+ }
11
+ /** One instantiated wasm module's memory in this thread; heap counters only for modules that keep them. */
12
+ interface WasmModuleMemory extends Partial<WasmHeapStats> {
13
+ label: string;
14
+ /**
15
+ * Size of its linear memory. It only grows, so it is also the module's
16
+ * high-water mark.
17
+ */
18
+ bufferBytes: number;
19
+ }
20
+ /** The address space of a wasm32 memory: 4 GiB. */
21
+ declare const WASM32_MEMORY_LIMIT_BYTES: number;
22
+ /** The memory of every wasm module instantiated in this thread, by label. */
23
+ declare function wasmModuleMemories(): WasmModuleMemory[];
24
+
25
+ export { type WasmAsyncInput as W, type WasmModuleMemory as a, WASM32_MEMORY_LIMIT_BYTES as b, type WasmHeapStats as c, wasmModuleMemories as w };
@@ -904,4 +904,4 @@ interface DocxHeadlessLayoutOptions {
904
904
  };
905
905
  }
906
906
 
907
- export type { DocxUnlocatedReason as $, DocxExportDiagnostic as A, DocxExportDiagnosticCode as B, DocxExportFailureCode as C, DocxExportFailure as D, DocxExportInline as E, DocxExportPage as F, DocxExportRefusal as G, DocxExportResult as H, DocxExportStory as I, DocxExportTable as J, DocxFormattingMark as K, DocxFragmentGeometry as L, DocxHeadingInfo as M, DocxHeadlessFont as N, DocxInlineRevision as O, DocxLayoutProvenance as P, DocxListInfo as Q, DocxPageDiagnostic as R, DocxPageFragment as S, DocxPageMapContent as T, DocxParagraphData as U, DocxParagraphHeading as V, DocxRevisionView as W, DocxSnapshotLayoutProvenance as X, DocxStoryKind as Y, DocxStoryOccurrence as Z, DocxStorySelection as _, DocxExportOptions as a, DocxReadParagraphsRequest as a0, DocxReadParagraphsResult as a1, DocxFindTextRequest as a2, DocxFindTextResult as a3, DocxEditRequest as a4, DocxValidationResult as a5, DocxEditResult as a6, DocxTextTarget as a7, DocxEditRefusal as a8, DocxAtomKind as a9, ValidationSuccess as aA, DocxEditFailure as aa, DocxEditFailureCode as ab, DocxEditFailureReason as ac, DocxEditGuard as ad, DocxEditHistory as ae, DocxEditOperation as af, DocxEditPreview as ag, DocxEditReceipt as ah, DocxEditSource as ai, DocxEditStep as aj, DocxEditSuggestion as ak, DocxEditTarget as al, DocxParagraphInput as am, DocxParagraphTarget as an, DocxParagraphText as ao, DocxResolvedControl as ap, DocxSearchScope as aq, DocxSetContentControlTextStep as ar, DocxTextAtom as as, DocxTextMatch as at, DocxTextPosition as au, DocxTextRange as av, DocxTextView as aw, EditSuccess as ax, OperationFailure as ay, OperationRefusal as az, DocxMarkdownContent as b, DocxStructuredContent as c, DocxPageExportOptions as d, DocxHeadlessLayoutOptions as e, DocxPagedStructuredContent as f, DocxSnapshotLayoutMap as g, DocxMarkdownOptions as h, DocxLayoutMap as i, DocxPageMarkdownOptions as j, DocxContentControlReadFailure as k, DocxContentControlQuery as l, DocxContentControlsOptions as m, DocxContentControlsSnapshot as n, DocxAnchor as o, DocxAnchorScope as p, DocxCachedResult as q, DocxCommentMetadata as r, DocxContentControl as s, DocxContentControlDiagnostic as t, DocxContentControlSelector as u, DocxContentControlValue as v, DocxContentControlsResult as w, DocxControlMetadata as x, DocxExportBlock as y, DocxExportCell as z };
907
+ export type { DocxUnlocatedReason as $, DocxExportDiagnostic as A, DocxExportDiagnosticCode as B, DocxExportFailureCode as C, DocxExportFailure as D, DocxExportInline as E, DocxExportPage as F, DocxExportRefusal as G, DocxExportResult as H, DocxExportStory as I, DocxExportTable as J, DocxFormattingMark as K, DocxFragmentGeometry as L, DocxHeadingInfo as M, DocxHeadlessFont as N, DocxInlineRevision as O, DocxLayoutProvenance as P, DocxListInfo as Q, DocxPageDiagnostic as R, DocxPageFragment as S, DocxPageMapContent as T, DocxParagraphData as U, DocxParagraphHeading as V, DocxRevisionView as W, DocxSnapshotLayoutProvenance as X, DocxStoryKind as Y, DocxStoryOccurrence as Z, DocxStorySelection as _, DocxExportOptions as a, DocxEditSuggestion as a0, DocxEditFailure as a1, DocxEditFailureCode as a2, DocxTextRange as a3, DocxReadParagraphsRequest as a4, DocxReadParagraphsResult as a5, DocxFindTextRequest as a6, DocxFindTextResult as a7, DocxEditRequest as a8, DocxValidationResult as a9, ValidationSuccess as aA, DocxEditResult as aa, DocxTextTarget as ab, DocxEditRefusal as ac, DocxAtomKind as ad, DocxEditFailureReason as ae, DocxEditGuard as af, DocxEditHistory as ag, DocxEditOperation as ah, DocxEditPreview as ai, DocxEditReceipt as aj, DocxEditSource as ak, DocxEditStep as al, DocxEditTarget as am, DocxParagraphInput as an, DocxParagraphTarget as ao, DocxParagraphText as ap, DocxResolvedControl as aq, DocxSearchScope as ar, DocxSetContentControlTextStep as as, DocxTextAtom as at, DocxTextMatch as au, DocxTextPosition as av, DocxTextView as aw, EditSuccess as ax, OperationFailure as ay, OperationRefusal as az, DocxMarkdownContent as b, DocxStructuredContent as c, DocxPageExportOptions as d, DocxHeadlessLayoutOptions as e, DocxPagedStructuredContent as f, DocxSnapshotLayoutMap as g, DocxMarkdownOptions as h, DocxLayoutMap as i, DocxPageMarkdownOptions as j, DocxContentControlReadFailure as k, DocxContentControlQuery as l, DocxContentControlsOptions as m, DocxContentControlsSnapshot as n, DocxAnchor as o, DocxAnchorScope as p, DocxCachedResult as q, DocxCommentMetadata as r, DocxContentControl as s, DocxContentControlDiagnostic as t, DocxContentControlSelector as u, DocxContentControlValue as v, DocxContentControlsResult as w, DocxControlMetadata as x, DocxExportBlock as y, DocxExportCell as z };
@@ -0,0 +1 @@
1
+ import'./chunk-LT2GCWZ3.mjs';export{h as decodeTiffImage,b as parseDocxS9Wire,c as parseRelationshipsXmlWire,a as preloadParseWasm,d as serializeDocxS10Wire,e as serializeDocxS11Wire,f as serializeDocxS12Wire,g as writeDocxS13Wire}from'./chunk-3CYO46ML.mjs';import'./chunk-6CHGYCFU.mjs';import'./chunk-TTRUPDAB.mjs';
@@ -1,13 +1,13 @@
1
1
  import { RenderedDomContext, PositionCoordinates, PointPosition } from './index.mjs';
2
- import { D as DisplayListRect, a as DisplayListQueries } from '../displayListQueries-BYFrBkw5.mjs';
2
+ import { D as DisplayListRect, a as DisplayListQueries } from '../displayListQueries-DnHmHUPY.mjs';
3
3
  import '../types/document.mjs';
4
4
  import '../content-BzoC6bSz.mjs';
5
5
  import '../formatting-gqLFeJ9X.mjs';
6
6
  import '../docx/wrapTypes.mjs';
7
7
  import '../styles-AryxLAhx.mjs';
8
- import '../frameDelta-CVt5FAXT.mjs';
9
- import '../rustDisplayList-CwOoUn3t.mjs';
10
- import '../types-B4jD0rrc.mjs';
8
+ import '../frameDelta-ByU7HBuB.mjs';
9
+ import '../rustDisplayList-DcaA5iok.mjs';
10
+ import '../types-Buyw6dFd.mjs';
11
11
  import '../layout/pagination/index.mjs';
12
12
 
13
13
  /**
@@ -62,6 +62,8 @@ declare class RenderedDomContextImpl implements RenderedDomContext {
62
62
  private readonly queries;
63
63
  private readonly projector;
64
64
  constructor(pagesContainer: HTMLElement, zoom?: number, options?: RenderedDomContextOptions);
65
+ /** Client pixels per unit of this context: its zoom times the container's ancestor CSS zoom. */
66
+ private clientScale;
65
67
  /**
66
68
  * Run spans (`data-doc-start`/`data-doc-end`) in reading order, deep-queried
67
69
  * from the a11y mirror subtree nested under `.canvas-pages`.
@@ -1 +1 @@
1
- import {b as b$1,a}from'../chunk-7GJG6LLU.mjs';import {b}from'../chunk-TTRUPDAB.mjs';function L(h,n,r=1){let t=r>0?r:1,e=o=>{let i=n.pageSize(o.pageIndex),s=a(h,n,o.pageIndex);if(!s||!i||i.width<=0||i.height<=0)return null;let a$1=h.getBoundingClientRect(),c=s.width/i.width,u=s.height/i.height;return {x:(s.left-a$1.left+o.x*c)/t,y:(s.top-a$1.top+o.y*u)/t,width:o.width*c/t,height:o.height*u/t}};return {projectRect:e,getPageBounds:o=>{let i=n.pageBounds(o);return i?e(i):null}}}var f=class{constructor(n,r=1,t){b(this,"pagesContainer");b(this,"zoom");b(this,"queries");b(this,"projector");if(this.pagesContainer=n,this.zoom=r,this.queries=t?.displayListQueries??null,this.projector=t?.projector??null,this.queries===null!=(this.projector===null))throw new Error("RenderedDomContext requires displayListQueries and projector together")}spanEntries(){let n=[],r=Array.from(this.pagesContainer.querySelectorAll(".layout-page-content")),t=r.length>0?r:[this.pagesContainer];for(let e of t)for(let o of Array.from(e.querySelectorAll("span[data-doc-start][data-doc-end]")))n.push({el:o,start:Number(o.dataset.docStart),end:Number(o.dataset.docEnd)});return n}emptyRuns(){return Array.from(this.pagesContainer.querySelectorAll(".layout-empty-run"))}getCoordinatesForPosition(n){if(this.queries&&this.projector){let t=this.queries.caretRect(n),e=t?this.projector.projectRect(t):null;return e?{x:e.x,y:e.y,height:e.height}:null}let r=this.pagesContainer.getBoundingClientRect();for(let{el:t,start:e,end:o}of this.spanEntries()){let i=t;if(t.classList.contains("layout-run-tab")){if(n>=e&&n<o){let s=t.getBoundingClientRect(),a=t.closest(".layout-line"),c=a?a.offsetHeight:16;return {x:(s.left-r.left)/this.zoom,y:(s.top-r.top)/this.zoom,height:c/this.zoom}}continue}if(n>=e&&n<=o&&i.firstChild?.nodeType===Node.TEXT_NODE){let s=i.firstChild,a=Math.min(n-e,s.length),c=t.ownerDocument;if(!c)continue;let u=c.createRange();u.setStart(s,a),u.setEnd(s,a);let p=u.getBoundingClientRect(),d=t.closest(".layout-line"),l=d?d.offsetHeight:16;return {x:(p.left-r.left)/this.zoom,y:(p.top-r.top)/this.zoom,height:l/this.zoom}}}for(let t of this.emptyRuns()){let e=t.closest(".layout-paragraph");if(!e)continue;let o=Number(e.dataset.docStart),i=Number(e.dataset.docEnd);if(n>=o&&n<=i){let s=t.getBoundingClientRect(),a=t.closest(".layout-line"),c=a?a.offsetHeight:16;return {x:(s.left-r.left)/this.zoom,y:(s.top-r.top)/this.zoom,height:c/this.zoom}}}return null}getPositionAtPoint(n,r){if(!this.queries||!Number.isFinite(n)||!Number.isFinite(r))return null;let t=b$1(this.pagesContainer,this.queries,n,r),e=t?.hit;return !t||!e||e.pos===null||e.target!=="text"||(e.region==="header"||e.region==="footer")&&!e.rId||(e.region==="footnote"||e.region==="endnote")&&e.noteId===void 0?null:{position:e.pos,pageIndex:t.pageIndex,region:e.region,...e.rId===void 0?{}:{rId:e.rId},...e.noteId===void 0?{}:{noteId:e.noteId}}}findElementsForRange(n,r){let t=[];for(let{el:e,start:o,end:i}of this.spanEntries())i>n&&o<r&&t.push(e);return t}getRectsForRange(n,r){if(this.queries&&this.projector)return this.queries.rangeRects(n,r).map(o=>this.projector.projectRect(o)).filter(o=>o!==null);let t=this.pagesContainer.getBoundingClientRect(),e=[];for(let{el:o,start:i,end:s}of this.spanEntries()){let a=o;if(s>n&&i<r){if(o.classList.contains("layout-run-tab")){let l=o.getBoundingClientRect();e.push({x:(l.left-t.left)/this.zoom,y:(l.top-t.top)/this.zoom,width:l.width/this.zoom,height:l.height/this.zoom});continue}if(a.firstChild?.nodeType!==Node.TEXT_NODE)continue;let c=a.firstChild,u=o.ownerDocument;if(!u)continue;let p=Math.max(0,n-i),d=Math.min(c.length,r-i);if(p<d){let l=u.createRange();l.setStart(c,p),l.setEnd(c,d);let b=l.getClientRects();for(let m of Array.from(b))e.push({x:(m.left-t.left)/this.zoom,y:(m.top-t.top)/this.zoom,width:m.width/this.zoom,height:m.height/this.zoom});}}}return e}getCoordinatesForHfPosition(n,r,t,e){if(!this.queries||!this.projector)return null;let o=this.queries.hfCaretRects(n,r,t).find(s=>s.pageIndex===e),i=o?this.projector.projectRect(o):null;return i?{x:i.x,y:i.y,height:i.height}:null}getRectsForHfRange(n,r,t,e,o){return !this.queries||!this.projector?[]:this.queries.hfRangeRects(n,r,t,e).filter(i=>i.pageIndex===o).map(i=>this.projector.projectRect(i)).filter(i=>i!==null)}getPageBounds(n){if(this.projector)return this.projector.getPageBounds(n);let r=this.pagesContainer.querySelectorAll(".layout-page"),t=Array.from(r).find((i,s)=>Number(i.dataset.pageIndex??s)===n);if(!t)return null;let e=t.getBoundingClientRect(),o=this.pagesContainer.getBoundingClientRect();return {x:(e.left-o.left)/this.zoom,y:(e.top-o.top)/this.zoom,width:e.width/this.zoom,height:e.height/this.zoom}}getContainerOffset(){let n=this.pagesContainer.parentElement;if(!n)return {x:0,y:0};let r=this.pagesContainer.getBoundingClientRect(),t=n.getBoundingClientRect();return {x:(r.left-t.left)/this.zoom,y:(r.top-t.top)/this.zoom}}};function j(h,n=1,r){return new f(h,n,r)}export{f as RenderedDomContextImpl,L as createCanvasHostProjector,j as createRenderedDomContext};
1
+ import {a,h,d,g}from'../chunk-AOWJ4WDE.mjs';import {b}from'../chunk-TTRUPDAB.mjs';function D(h,r,o=1){let i=o>0?o:1,e=t=>{let n=r.pageSize(t.pageIndex),s=g(h,r,t.pageIndex);if(!s||!n||n.width<=0||n.height<=0)return null;let a$1=h.getBoundingClientRect(),c=s.width/n.width,l=s.height/n.height,u=i*a(h);return {x:(s.left-a$1.left+t.x*c)/u,y:(s.top-a$1.top+t.y*l)/u,width:t.width*c/u,height:t.height*l/u}};return {projectRect:e,getPageBounds:t=>{let n=r.pageBounds(t);return n?e(n):null}}}var R=class{constructor(r,o=1,i){b(this,"pagesContainer");b(this,"zoom");b(this,"queries");b(this,"projector");if(this.pagesContainer=r,this.zoom=o,this.queries=i?.displayListQueries??null,this.projector=i?.projector??null,this.queries===null!=(this.projector===null))throw new Error("RenderedDomContext requires displayListQueries and projector together")}clientScale(){return this.zoom*a(this.pagesContainer)}spanEntries(){let r=[],o=Array.from(this.pagesContainer.querySelectorAll(".layout-page-content")),i=o.length>0?o:[this.pagesContainer];for(let e of i)for(let t of Array.from(e.querySelectorAll("span[data-doc-start][data-doc-end]")))r.push({el:t,start:Number(t.dataset.docStart),end:Number(t.dataset.docEnd)});return r}emptyRuns(){return Array.from(this.pagesContainer.querySelectorAll(".layout-empty-run"))}getCoordinatesForPosition(r){if(this.queries&&this.projector){let e=this.queries.caretRect(r),t=e?this.projector.projectRect(e):null;return t?{x:t.x,y:t.y,height:t.height}:null}let o=this.pagesContainer.getBoundingClientRect(),i=this.clientScale();for(let{el:e,start:t,end:n}of this.spanEntries()){let s=e;if(e.classList.contains("layout-run-tab")){if(r>=t&&r<n){let a=e.getBoundingClientRect(),c=e.closest(".layout-line"),l=c?c.offsetHeight:16;return {x:(a.left-o.left)/i,y:(a.top-o.top)/i,height:l/this.zoom}}continue}if(r>=t&&r<=n&&s.firstChild?.nodeType===Node.TEXT_NODE){let a=s.firstChild,c=Math.min(r-t,a.length),l=e.ownerDocument;if(!l)continue;let u=l.createRange();u.setStart(a,c),u.setEnd(a,c);let d=u.getBoundingClientRect(),g=e.closest(".layout-line"),p=g?g.offsetHeight:16;return {x:(d.left-o.left)/i,y:(d.top-o.top)/i,height:p/this.zoom}}}for(let e of this.emptyRuns()){let t=e.closest(".layout-paragraph");if(!t)continue;let n=Number(t.dataset.docStart),s=Number(t.dataset.docEnd);if(r>=n&&r<=s){let a=e.getBoundingClientRect(),c=e.closest(".layout-line"),l=c?c.offsetHeight:16;return {x:(a.left-o.left)/i,y:(a.top-o.top)/i,height:l/this.zoom}}}return null}getPositionAtPoint(r,o){if(!this.queries||!Number.isFinite(r)||!Number.isFinite(o))return null;let i=h(this.pagesContainer,this.queries,r,o),e=i?.hit;return !i||!e||e.pos===null||e.target!=="text"||(e.region==="header"||e.region==="footer")&&!e.rId||(e.region==="footnote"||e.region==="endnote")&&e.noteId===void 0?null:{position:e.pos,pageIndex:i.pageIndex,region:e.region,...e.rId===void 0?{}:{rId:e.rId},...e.noteId===void 0?{}:{noteId:e.noteId}}}findElementsForRange(r,o){if(this.queries){let e=new Set(this.queries.rangeRects(r,o).map(t=>t.pageIndex));d(this.pagesContainer,[...e]);}let i=[];for(let{el:e,start:t,end:n}of this.spanEntries())n>r&&t<o&&i.push(e);return i}getRectsForRange(r,o){if(this.queries&&this.projector)return this.queries.rangeRects(r,o).map(n=>this.projector.projectRect(n)).filter(n=>n!==null);let i=this.pagesContainer.getBoundingClientRect(),e=this.clientScale(),t=[];for(let{el:n,start:s,end:a}of this.spanEntries()){let c=n;if(a>r&&s<o){if(n.classList.contains("layout-run-tab")){let p=n.getBoundingClientRect();t.push({x:(p.left-i.left)/e,y:(p.top-i.top)/e,width:p.width/e,height:p.height/e});continue}if(c.firstChild?.nodeType!==Node.TEXT_NODE)continue;let l=c.firstChild,u=n.ownerDocument;if(!u)continue;let d=Math.max(0,r-s),g=Math.min(l.length,o-s);if(d<g){let p=u.createRange();p.setStart(l,d),p.setEnd(l,g);let E=p.getClientRects();for(let m of Array.from(E))t.push({x:(m.left-i.left)/e,y:(m.top-i.top)/e,width:m.width/e,height:m.height/e});}}}return t}getCoordinatesForHfPosition(r,o,i,e){if(!this.queries||!this.projector)return null;let t=this.queries.hfCaretRects(r,o,i).find(s=>s.pageIndex===e),n=t?this.projector.projectRect(t):null;return n?{x:n.x,y:n.y,height:n.height}:null}getRectsForHfRange(r,o,i,e,t){return !this.queries||!this.projector?[]:this.queries.hfRangeRects(r,o,i,e).filter(n=>n.pageIndex===t).map(n=>this.projector.projectRect(n)).filter(n=>n!==null)}getPageBounds(r){if(this.projector)return this.projector.getPageBounds(r);let o=this.pagesContainer.querySelectorAll(".layout-page"),i=Array.from(o).find((s,a)=>Number(s.dataset.pageIndex??a)===r);if(!i)return null;let e=i.getBoundingClientRect(),t=this.pagesContainer.getBoundingClientRect(),n=this.clientScale();return {x:(e.left-t.left)/n,y:(e.top-t.top)/n,width:e.width/n,height:e.height/n}}getContainerOffset(){let r=this.pagesContainer.parentElement;if(!r)return {x:0,y:0};let o=this.pagesContainer.getBoundingClientRect(),i=r.getBoundingClientRect(),e=this.clientScale();return {x:(o.left-i.left)/e,y:(o.top-i.top)/e}}};function H(h,r=1,o){return new R(h,r,o)}export{R as RenderedDomContextImpl,D as createCanvasHostProjector,H as createRenderedDomContext};
@@ -1,6 +1,6 @@
1
- import { L as Layout } from './types-B4jD0rrc.mjs';
1
+ import { L as Layout } from './types-Buyw6dFd.mjs';
2
2
  import { MeasuredBlock } from './layout/pagination/index.mjs';
3
- import { D as DisplayList, R as RetainedFrame } from './frameDelta-CVt5FAXT.mjs';
3
+ import { D as DisplayList, R as RetainedFrame } from './frameDelta-ByU7HBuB.mjs';
4
4
 
5
5
  /**
6
6
  * JS seam to the Rust display-list builder.
@@ -205,6 +205,13 @@ interface RustDisplayListEngine {
205
205
  displayVerticalMoveJson?(position: number, direction: 'up' | 'down', goalX: number): string;
206
206
  displayRangeRectsJson?(from: number, to: number): string;
207
207
  displayRangeRectsRegionJson?(region: string, partId: string, from: number, to: number): string;
208
+ /** The bytes and media type of the part a `media:{n}` image source names. */
209
+ mediaSource?(token: string): {
210
+ bytes: Uint8Array;
211
+ mimeType: string;
212
+ } | null;
213
+ /** Changes whenever the package `mediaSource` reads changes. */
214
+ mediaScope?(): number;
208
215
  }
209
216
  type RustDisplayListSourceErrorStage = 'load' | 'build' | 'parse' | 'decode' | 'apply';
210
217
  interface RustDisplayFrameResult {
@@ -295,13 +302,14 @@ declare function buildRustDisplayList(inputs: DisplayListBuildInputs, engine?: R
295
302
  * Build one display frame. An engine that retains pagination returns a binary
296
303
  * FrameDelta, decoded and applied on top of `previous` so unchanged pages keep
297
304
  * object identity; `previous` also supplies the frame epoch the engine checks
298
- * before sending a delta rather than a full frame. An engine without
305
+ * before sending a delta rather than a full frame, unless `expectedFrameEpoch`
306
+ * overrides it (the engine numbers its frame after that epoch). An engine without
299
307
  * `buildDisplayListFrame` takes the full-JSON path, and its result carries
300
308
  * `frame: null` and `transport: 'json'`.
301
309
  *
302
310
  * Throws {@link RustDisplayListSourceError} tagged with the failing stage:
303
311
  * `load`, `build`, `decode` or `apply`.
304
312
  */
305
- declare function buildRustDisplayFrame(inputs: DisplayListBuildInputs, engine?: RustDisplayListEngine, previous?: RetainedFrame | null): Promise<RustDisplayFrameResult>;
313
+ declare function buildRustDisplayFrame(inputs: DisplayListBuildInputs, engine?: RustDisplayListEngine, previous?: RetainedFrame | null, expectedFrameEpoch?: number): Promise<RustDisplayFrameResult>;
306
314
 
307
315
  export { type DisplayListHeadersFooters as D, type RustDisplayListQueryEngine as R, type DisplayListBuildInputs as a, type DisplayListHfVariant as b, type DisplayListPictureWatermark as c, type DisplayListTextWatermark as d, type DisplayListWatermark as e, type RustDisplayFrameResult as f, type RustDisplayListEngine as g, RustDisplayListSourceError as h, type RustDisplayListSourceErrorStage as i, buildRustDisplayFrame as j, buildRustDisplayList as k, encodeDisplayListFrameExtras as l, loadRustDisplayListQueryEngine as m };
@@ -20,6 +20,8 @@ type FontScript = 'cjk-sc' | 'cjk-tc' | 'cjk-jp' | 'cjk-kr' | 'arabic' | 'hebrew
20
20
  interface BundledFontProvider {
21
21
  /** Resolve a Word family to bundled metric-compatible face byte loaders, or undefined. */
22
22
  resolve(family: string, bold: boolean, italic: boolean): (() => Promise<ArrayBuffer>) | undefined;
23
+ /** Like {@link BundledFontProvider.resolve}, but also accepts bundled family names such as `"Gelasio"`, and never substitutes another style. */
24
+ resolveFamily?(family: string, bold: boolean, italic: boolean): (() => Promise<ArrayBuffer>) | undefined;
23
25
  /**
24
26
  * Optional per-script coverage fallback (Noto CJK/RTL faces). Same loader
25
27
  * contract as {@link BundledFontProvider.resolve}; providers without
@@ -12,6 +12,9 @@ interface CompatibilityFlags {
12
12
  doNotExpandShiftReturn: boolean;
13
13
  useWord97LineBreakRules: boolean;
14
14
  balanceSingleByteDoubleByteWidth: boolean;
15
+ doNotUseHTMLParagraphAutoSpacing?: boolean;
16
+ suppressSpBfAfterPgBrk?: boolean;
17
+ allowSpaceOfSameStyleInTable?: boolean;
15
18
  }
16
19
  /** Public model contract rehydrated by the Rust parser. */
17
20
  interface DocumentSettings {
@@ -350,16 +350,22 @@ type FieldRun = RunFormatting & {
350
350
  fieldType: 'PAGE' | 'NUMPAGES' | 'DATE' | 'TIME' | 'OTHER';
351
351
  /**
352
352
  * Raw Word field type token (e.g. `TOC`, `PAGEREF`) when `fieldType`
353
- * collapsed it to a painter category. Carried for a11y announcement only.
353
+ * collapsed it to a painter category. Carried for a11y announcement, and
354
+ * read to number `SEQ` fields.
354
355
  */
355
356
  rawType?: string;
356
357
  /**
357
358
  * Raw field instruction text (`w:instrText`), carried INERT so the display
358
- * list can announce field identity. Never parsed into behavior or executed.
359
+ * list can announce field identity. Never executed; only a `SEQ` field's is
360
+ * parsed, to number it.
359
361
  */
360
362
  instruction?: string;
361
- /** Fallback text if field can't be resolved */
363
+ /** Text shown when the painter doesn't resolve the field: Word's cached result, or a `SEQ` field's number. */
362
364
  fallback?: string;
365
+ /** `w:fldLock`: the field keeps its cached result. */
366
+ locked?: boolean;
367
+ /** Sequences of `SEQ` fields nested in this field; they keep their cached results. */
368
+ nestedSequences?: string[];
363
369
  pmStart?: number;
364
370
  pmEnd?: number;
365
371
  };
@@ -835,6 +841,7 @@ type ShapeBlock = {
835
841
  y?: number;
836
842
  /** Optional inner paragraphs for future text-bearing shape rendering. */
837
843
  innerText?: ParagraphBlock[];
844
+ nestedSequences?: string[];
838
845
  /** Pre-measured inner paragraph measures for display-list shape text. */
839
846
  innerMeasures?: ParagraphExtent[];
840
847
  /** Child shapes positioned relative to this shape's top-left corner. */
@@ -1428,6 +1435,8 @@ type Page = {
1428
1435
  fragments: Fragment[];
1429
1436
  /** Page margins. */
1430
1437
  margins: PageMargins;
1438
+ bodyMargins?: PageMargins;
1439
+ bodyAnchorMargins?: PageMargins;
1431
1440
  /** Page size (width, height). */
1432
1441
  size: {
1433
1442
  w: number;
@@ -1515,6 +1524,8 @@ type Layout = {
1515
1524
  footers?: Record<string, HeaderFooterLayout>;
1516
1525
  /** Gap between pages in pixels (for rendering). */
1517
1526
  pageGap?: number;
1527
+ /** Lays out only part of the document, so its page count is not the document's. */
1528
+ partial?: boolean;
1518
1529
  };
1519
1530
  /**
1520
1531
  * Measured header/footer heights keyed by variant.
@@ -1585,6 +1596,24 @@ type LayoutOptions = {
1585
1596
  footnoteReservedHeights?: Map<number, number>;
1586
1597
  /** Section break type for the body-level (final) section (for section transition logic). */
1587
1598
  bodyBreakType?: 'continuous' | 'nextPage' | 'evenPage' | 'oddPage' | 'nextColumn';
1599
+ sectionPageFloatBands?: Array<{
1600
+ default: Array<{
1601
+ top: number;
1602
+ bottom: number;
1603
+ oddPage?: boolean;
1604
+ }>;
1605
+ first?: Array<{
1606
+ top: number;
1607
+ bottom: number;
1608
+ oddPage?: boolean;
1609
+ }> | null;
1610
+ even?: Array<{
1611
+ top: number;
1612
+ bottom: number;
1613
+ oddPage?: boolean;
1614
+ }> | null;
1615
+ anchorMargins?: PageMargins;
1616
+ }>;
1588
1617
  /** Effective section states, indexed by section. Undefined = legacy globals. */
1589
1618
  sections?: Array<{
1590
1619
  sectionId?: string;