@file-viewer/docx 0.3.34 → 0.3.36

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.
@@ -5,7 +5,7 @@
5
5
  * Released under the Apache License 2.0. See LICENSE.
6
6
  * Bundled dependency notices: THIRD_PARTY_NOTICES.txt.
7
7
  */
8
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jszip")):"function"==typeof define&&define.amd?define(["exports","jszip"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).docx={},e.JSZip)}(this,function(e,t){"use strict";const r=new WeakMap,n=()=>new DOMException("DOCX layout was detached or replaced","AbortError");function a(e){r.get(e)?.cancel();const t=new AbortController,n={signal:t.signal,isCurrent:()=>!t.signal.aborted&&r.get(e)===n,cancel:()=>t.abort()};return r.set(e,n),n}function s(e){const t=r.get(e);return t?.isCurrent()?t:a(e)}function o(e,t,r=!0){if(!t.isCurrent()||r&&!e.isConnected)throw n()}function i(e,t=s(e)){const r=Array.from(e.querySelectorAll?.("[data-docx-layout-root]")??[]).length?()=>Array.from(e.querySelectorAll("[data-docx-layout-root]")):()=>Array.from(e.childNodes??[]);let n=r();return{signal:t.signal,cancel:()=>t.cancel(),isCurrent:()=>{if(!t.isCurrent())return!1;const e=new Set(r());return!n.length||n.some(t=>e.has(t))},acceptLayoutChanges:a=>{a===e&&t.isCurrent()&&(n=r()),t.acceptLayoutChanges?.(a)}}}async function l(e,t=[],r=s(e)){o(e,r);const a=e.ownerDocument;e.getBoundingClientRect?.();const i=[];let l;const c=Array.from(e.querySelectorAll("img")),h=Array.from(e.querySelectorAll("[data-docx-layout-root]")),d=Array.from(e.childNodes??[]),u=h.length?()=>Array.from(e.querySelectorAll("[data-docx-layout-root]")):d.length?()=>Array.from(e.childNodes??[]):()=>Array.from(e.querySelectorAll("img")),m=h.length?h:d.length?d:c,p=new Map,f=()=>{o(e,r);const t=new Set(u());if(m.length&&!m.some(e=>t.has(e)))throw r.cancel(),n();const a=new Set(Array.from(e.querySelectorAll("img")));for(const[e,t]of p)a.has(e)||t()},g=new Promise((t,s)=>{const o=()=>s(n());r.signal.addEventListener("abort",o,{once:!0}),i.push(()=>r.signal.removeEventListener("abort",o));const c=a.defaultView?.MutationObserver;if(c&&a.documentElement){l=new c(()=>{try{f()}catch(e){s(e)}}),l.observe(a.documentElement,{childList:!0,subtree:!0});for(let t=e.getRootNode?.();t&&t!==a;t=t.host?.getRootNode?.())l.observe(t,{childList:!0,subtree:!0})}}),b=c.map(e=>e.complete?Promise.resolve():new Promise(t=>{const r=()=>t();p.set(e,r),e.addEventListener("load",r,{once:!0}),e.addEventListener("error",r,{once:!0}),i.push(()=>{e.removeEventListener("load",r),e.removeEventListener("error",r)})}));try{await Promise.race([Promise.all([Promise.allSettled(t),a.fonts?.ready??Promise.resolve(),...b]),g]),f()}finally{l?.disconnect(),i.forEach(e=>e())}}const c=/[\u0000-\u001f\u007f]/,h=/^data:image\/[a-z0-9.+-]+(?:;[^,]*)?,/i;function d(e){return"external"===e?.targetMode?.trim().toLowerCase()}function u(e,t="block"){if(!d(e))return null;const r=`${e?.target??""}`.trim();if(!r||c.test(r))return null;let n;try{n=new URL(r)}catch{return null}switch(n.protocol.toLowerCase()){case"data:":return h.test(r)?r:null;case"blob:":return r;case"http:":case"https:":return"allow"===t?n.href:null;default:return null}}var m;function p(e){let t=String(e??"").trim();if((t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),/^(?:serif|sans-serif|monospace|cursive|fantasy|system-ui|ui-serif|ui-sans-serif|ui-monospace|ui-rounded|emoji|math|fangsong)$/i.test(t))return t;if(/^[^\u0000-\u0020\u007f-\u009f'"\\;:{}()[\]<>/,]+$/u.test(t))return t;return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/[\u0000-\u001f\u007f-\u009f]/g,e=>"\0"===e?"�":`\\${e.codePointAt(0).toString(16)} `)}'`}function f(e,t=""){const r=String(e??"").trim();if(!r)return[];const n=r.normalize("NFKC").toLowerCase(),a=/mincho|明朝|ゴシック|(?:^|\s)(?:ms|yu)\s+p?gothic|meiryo|メイリオ/.test(n),s=["Hans","Hant","Jpan","Hang"].includes(t)?t:a?"Jpan":t,o=[p(r)],i=function(e){const t=String(e??"").normalize("NFKC").toLowerCase().replace(/[\s_-]+/g,""),r=[[/方正仿宋|fangzhengfangsong|fzfangsong|fzfs/,["方正仿宋","方正仿宋简体","方正仿宋_GBK","FZFangSong-Z02","FZFSK--GBK1-0"]],[/方正楷体|fangzhengkai|fzkai|fzkt/,["方正楷体","方正楷体简体","方正楷体_GBK","FZKai-Z03","FZKTK--GBK1-0"]],[/方正黑体|fangzhenghei|fzhei|fzht/,["方正黑体","方正黑体简体","FZHei-B01","FZHTK--GBK1-0"]],[/方正书宋|fangzhengshusong|fzshusong|fzss/,["方正书宋","方正书宋简体","FZShuSong-Z01","FZSSK--GBK1-0"]],[/方正小标宋|fangzhengxiaobiaosong|fzxiaobiaosong|fzxbs/,["方正小标宋简体","方正小标宋","FZXiaoBiaoSong-B05","FZXBSJW--GB1-0"]]];return r.find(([e])=>e.test(t))?.[1]??[]}(r),l=/simsun|nsimsun|宋体|宋體|songti|shusong|书宋|書宋|fangsong|仿宋|fz(?:fs|ss|xbs)|小标宋|小標宋|mincho|明朝|明體|mingliu|pmingliu|batang|명조/.test(n),c=/kaiti|楷体|楷體|stkaiti|fzkt|kai/.test(n),h=/simhei|黑体|黑體|heiti|fzht|dengxian|等线|等線|yahei|gothic|ゴシック|malgun|맑은/.test(n);return i.length&&o.push(...i.map(p)),l?"Hant"==s?o.push("'Songti TC'","'Microsoft JhengHei'","'Noto Serif CJK TC'","serif"):"Jpan"==s?o.push("'Yu Mincho'","'Hiragino Mincho ProN'","'Noto Serif CJK JP'","serif"):"Hang"==s?o.push("Batang","AppleMyungjo","'Noto Serif CJK KR'","serif"):o.push("'Songti SC'","'Noto Serif CJK SC'","serif"):c?o.push("'Kaiti SC'","STKaiti","'Noto Serif CJK SC'","serif"):h?"Hant"==s?o.push("'Microsoft JhengHei'","'PingFang TC'","'Noto Sans CJK TC'","sans-serif"):"Jpan"==s?o.push("'Yu Gothic'","Meiryo","'Noto Sans CJK JP'","sans-serif"):"Hang"==s?o.push("'Malgun Gothic'","'Apple SD Gothic Neo'","'Noto Sans CJK KR'","sans-serif"):o.push("'Microsoft YaHei'","'PingFang SC'","'Noto Sans CJK SC'","sans-serif"):"Hant"==s?o.push("'PingFang TC'","'Noto Sans CJK TC'","sans-serif"):"Jpan"==s?o.push("'Yu Gothic'","Meiryo","'Noto Sans CJK JP'","sans-serif"):"Hang"==s?o.push("'Apple SD Gothic Neo'","'Noto Sans CJK KR'","sans-serif"):o.push("'PingFang SC'","'Noto Sans CJK SC'","sans-serif"),[...new Set(o)]}function g(e){let t=e.lastIndexOf("/")+1;return[0==t?"":e.substring(0,t),0==t?e:e.substring(t)]}function b(e,t){try{const r="http://docx/";return new URL(e,r+t).toString().substring(r.length)}catch{return`${t}${e}`}}function y(e,t){return e.reduce((e,r)=>(e[t(r)]=r,e),{})}function x(e){return new Promise((t,r)=>{const n=new FileReader;n.onloadend=()=>t(n.result),n.onerror=()=>r(),n.readAsDataURL(e)})}function w(e){return e&&"object"==typeof e&&!Array.isArray(e)}function v(e){return"string"==typeof e||e instanceof String}function k(e,...t){if(!t.length)return e;const r=t.shift();if(w(e)&&w(r))for(const t of Object.keys(r)){if("__proto__"===t||"constructor"===t||"prototype"===t)continue;const n=r[t];if(w(n)){const r=Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,a=w(r)?r:{};e[t]=a,k(a,n)}else e[t]=n}return k(e,...t)}function C(e){const t={};for(const r of(e??"").split(";")){const e=r.indexOf(":");if(e<=0)continue;const n=r.substring(0,e).trim(),a=r.substring(e+1).trim();n&&(t[n]=a)}return t}function S(e){return Array.isArray(e)?e:[e]}!function(e){e.OfficeDocument="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",e.FontTable="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",e.Image="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",e.Numbering="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",e.Styles="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",e.StylesWithEffects="http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects",e.Theme="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",e.Settings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",e.WebSettings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",e.Hyperlink="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e.Footnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",e.Endnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",e.Footer="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",e.Header="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",e.ExtendedProperties="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",e.CoreProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",e.CustomProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties",e.Comments="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",e.CommentsExtended="http://schemas.microsoft.com/office/2011/relationships/commentsExtended",e.AltChunk="http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk",e.Chart="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",e.ChartUserShapes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes",e.DiagramData="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData",e.DiagramLayout="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout",e.DiagramQuickStyle="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle",e.DiagramColors="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors",e.Ink="http://schemas.microsoft.com/office/2007/relationships/ink",e.ContentPart="http://schemas.openxmlformats.org/officeDocument/2006/relationships/contentPart"}(m||(m={}));const N="http://schemas.openxmlformats.org/wordprocessingml/2006/main",A="http://schemas.openxmlformats.org/drawingml/2006/main",P="http://schemas.openxmlformats.org/drawingml/2006/picture",M="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",$="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",T="http://schemas.microsoft.com/office/word/2010/wordprocessingShape",F={mul:.05,unit:"pt"},L={mul:.05,unit:"pt"},E={mul:1/12700,unit:"pt"},R={mul:.5,unit:"pt"},B={mul:.5,unit:"pt"},D={mul:.125,unit:"pt",min:.25,max:12},I={mul:1,unit:"pt"},O={mul:.02,unit:"%"};function z(e,t=F){if(null==e||""===e||/.+(p[xt]|[%])$/i.test(e))return e;var r=parseFloat(e);if(Number.isNaN(r))return null;var n=r*t.mul;return null!=t.min&&null!=t.max&&(n=function(e,t,r){return t>e?t:r<e?r:e}(n,t.min,t.max)),`${n.toFixed(2)}${t.unit}`}function H(e,t=!1){switch(e){case"1":case"on":case"true":return!0;case"0":case"off":case"false":return!1;default:return t}}function W(e,t,r){if(e.namespaceURI!=N)return!1;switch(e.localName){case"color":t.color=r.attr(e,"val");break;case"sz":t.fontSize=r.lengthAttr(e,"val",R);break;case"szCs":t.fontSize??(t.fontSize=r.lengthAttr(e,"val",R));break;default:return!1}return!0}const V=new Map,U=new Map,j=new Set(["script","style","base","meta","link","object","embed","applet","iframe","frame","frameset","form","input","button","textarea","select","option","audio","video","source","track","svg","math","template"]),q=/^(?:action|archive|background|cite|classid|codebase|data|dynsrc|formaction|href|longdesc|lowsrc|manifest|ping|poster|profile|src|srcdoc|srcset|usemap|xlink:href)$/;function G(e,t){const r=globalThis.trustedTypes;if(!r)return t;let n=V.get(e);n||(n=r.createPolicy(e,{createHTML(t){if(t!==U.get(e))throw new TypeError(`Rejected HTML outside the ${e} boundary`);return t}}),V.set(e,n)),U.set(e,t);try{return n.createHTML(t)}finally{U.delete(e)}}function _(e){e.parentNode&&e.parentNode.removeChild(e)}function X(e,t){const r=function(e){const t=new DOMParser,r=G("file-viewer-docx-altchunk-parser",String(e??"")),n=t.parseFromString(r,"text/html");for(const e of Array.from(n.getElementsByTagName("*"))){const t=e.localName?.toLowerCase()||e.nodeName.toLowerCase();j.has(t)&&_(e)}for(const e of Array.from(n.getElementsByTagName("*")))for(const t of Array.from(e.attributes??[])){const r=t.name.toLowerCase();(r.startsWith("on")||"style"===r||q.test(r))&&e.removeAttribute(t.name)}const a=n.documentElement;return`<!doctype html>${a?(new XMLSerializer).serializeToString(a):"<html><head></head><body></body></html>"}`}(t),n=G("file-viewer-docx-altchunk-srcdoc",r);e.srcdoc=n}let K=e=>(new DOMParser).parseFromString(e,"application/xml"),Y=e=>(new XMLSerializer).serializeToString(e);function J(e,t=!1){var r;t&&(e=e.replace(/<[?].*[?]>/,"")),e=65279===(r=e).charCodeAt(0)?r.substring(1):r;const n=K((a=e,"undefined"==typeof document?a:G("file-viewer-docx-xml-parser",a)));var a;const s=(o=n,o.getElementsByTagName("parsererror")[0]?.textContent);var o;if(s)throw new Error(s);return n}class Z{elements(e,t=null){const r=[];for(let n=0,a=e.childNodes.length;n<a;n++){let a=e.childNodes.item(n);1!=a.nodeType||null!=t&&a.localName!=t||r.push(a)}return r}element(e,t){for(let r=0,n=e.childNodes.length;r<n;r++){let n=e.childNodes.item(r);if(1==n.nodeType&&n.localName==t)return n}return null}elementAttr(e,t,r){var n=this.element(e,t);return n?this.attr(n,r):void 0}attrs(e){return Array.from(e.attributes)}attr(e,t){if("blip"==e?.localName&&("embed"==t||"link"==t)){const r=this.descendantAttr(e,"svgBlip",t);if(null!=r)return r}if("cnfStyle"==e?.localName&&"val"==t){const r=this.rawAttr(e,t);return null!=r?r:this.cnfStyleValue(e)}return this.rawAttr(e,t)}rawAttr(e,t){for(let r=0,n=e.attributes.length;r<n;r++){let n=e.attributes.item(r);if(n.localName==t)return n.value}return null}descendantAttr(e,t,r){for(const n of this.elements(e)){if(n.localName==t){const e=this.rawAttr(n,r);if(null!=e)return e}const e=this.descendantAttr(n,t,r);if(null!=e)return e}return null}cnfStyleValue(e){return["firstRow","lastRow","firstColumn","lastColumn","oddVBand","evenVBand","oddHBand","evenHBand","firstRowLastColumn","firstRowFirstColumn","lastRowLastColumn","lastRowFirstColumn"].map(t=>H(this.rawAttr(e,t),!1)?"1":"0").join("")}intAttr(e,t,r=null){var n=this.attr(e,t);return null!=n&&""!==n?parseInt(n,10):r}hexAttr(e,t,r=null){var n=this.attr(e,t);return null!=n&&""!==n?parseInt(n,16):r}floatAttr(e,t,r=null){var n=this.attr(e,t);return null!=n&&""!==n?parseFloat(n):r}boolAttr(e,t,r=null){return H(this.attr(e,t),r)}lengthAttr(e,t,r=F){return z(this.attr(e,t),r)}}const Q=new Z;class ee{constructor(e,t){this._package=e,this.path=t}async load(){this.rels=await this._package.loadRelationships(this.path);const e=await this._package.load(this.path),t=this._package.parseXmlDocument(e);this._package.options.keepOrigin&&(this._xmlDocument=t),this.parseXml(t.firstElementChild??t.documentElement)}save(){var e;this._package.update(this.path,(e=this._xmlDocument,Y(e)))}parseXml(e){}}const te={embedRegular:"regular",embedBold:"bold",embedItalic:"italic",embedBoldItalic:"boldItalic"};function re(e,t){return t.elements(e).map(e=>function(e,t){let r={name:t.attr(e,"name"),embedFontRefs:[]};for(let n of t.elements(e))switch(n.localName){case"family":r.family=t.attr(n,"val");break;case"altName":r.altName=t.attr(n,"val");break;case"embedRegular":case"embedBold":case"embedItalic":case"embedBoldItalic":r.embedFontRefs.push(ne(n,t))}return r}(e,t))}function ne(e,t){return{id:t.attr(e,"id"),key:t.attr(e,"fontKey"),type:te[e.localName]}}class ae extends ee{parseXml(e){this.fonts=re(e,this._package.xmlParser)}}class se{constructor(e,t){this._zip=e,this.options=t,this.xmlParser=new Z}get(e){const t=function(e){return e.startsWith("/")?e.substr(1):e}(e);return this._zip.files[t]??this._zip.files[t.replace(/\//g,"\\")]}update(e,t){this._zip.file(e,t)}static async load(e,r){const n=await(r.zipLoader?r.zipLoader(e):t.loadAsync(e));return new se(n,r)}save(e="blob"){return this._zip.generateAsync({type:e})}load(e,t="string"){return this.get(e)?.async(t)??Promise.resolve(null)}async loadRelationships(e=null){let t="_rels/.rels";if(null!=e){const[r,n]=g(e);t=`${r}_rels/${n}.rels`}const r=await this.load(t);return r?(n=oe(this.parseXmlDocument(r)),(a=this.xmlParser).elements(n).map(e=>({id:a.attr(e,"Id"),type:a.attr(e,"Type"),target:a.attr(e,"Target"),targetMode:a.attr(e,"TargetMode")}))):null;var n,a}async loadContentTypes(){const e=await this.load("[Content_Types].xml");return e?(t=oe(this.parseXmlDocument(e)),(r=this.xmlParser).elements(t).map(e=>({extension:r.attr(e,"Extension"),partName:r.attr(e,"PartName"),contentType:r.attr(e,"ContentType")}))):[];var t,r}parseXmlDocument(e){return J(e,this.options.trimXmlDeclaration)}}function oe(e){return e.firstElementChild??e.documentElement}class ie extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.body=this._documentParser.parseDocumentFile(e)}}function le(e,t){return{type:t.attr(e,"val"),color:t.attr(e,"color"),size:t.lengthAttr(e,"sz",D),offset:t.lengthAttr(e,"space",I),frame:t.boolAttr(e,"frame"),shadow:t.boolAttr(e,"shadow")}}function ce(e,t){var r={};for(let n of t.elements(e))switch(n.localName){case"left":r.left=le(n,t);break;case"top":r.top=le(n,t);break;case"right":r.right=le(n,t);break;case"bottom":r.bottom=le(n,t)}return r}function he(e,t){const r={defaultNoteIds:[]};for(const n of t.elements(e))switch(n.localName){case"numFmt":r.numberingFormat=r.nummeringFormat=t.attr(n,"val");break;case"numStart":const e=t.intAttr(n,"val",null);Number.isSafeInteger(e)&&e>=0&&(r.start=e);break;case"numRestart":const a=t.attr(n,"val");["continuous","eachSect","eachPage"].includes(a)&&(r.restart=a);break;case"footnote":case"endnote":r.defaultNoteIds.push(t.attr(n,"id"))}return r}class de{constructor(){this.assignments=new Map,this.counters=new Map}assign(e,t,r,n,a,s){const o=`${e}:${t}`,i=this.assignments.get(o);if(i)return i;const l=this.counters.get(e),c=!l||"eachSect"===n.restart&&l.section!==a||"eachPage"===n.restart&&l.page!==s,h=r?null:c?n.start:l.next;r||this.counters.set(e,{next:h+1,section:a,page:s});const d={id:t,kind:e,custom:r,value:h,properties:n};return this.assignments.set(o,d),d}}var ue;function me(e){return null==e||e===ue.NextPage||e===ue.EvenPage||e===ue.OddPage}function pe(e){return e===ue.NextColumn}!function(e){e.Continuous="continuous",e.NextPage="nextPage",e.NextColumn="nextColumn",e.EvenPage="evenPage",e.OddPage="oddPage"}(ue||(ue={}));const fe="11906",ge="16838",be="1440",ye="1440",xe="1440",we="1440",ve="720",ke="720",Ce="0";function Se(e=null,t=Q){const r=e?t.element(e,"pgSz"):null,n=r?t.attr(r,"orient"):null,a=function(e=null){const t="landscape"===e;return{width:z(t?ge:fe),height:z(t?fe:ge),orientation:e}}(n),s={top:z(be),right:z(ye),bottom:z(xe),left:z(we),header:z(ve),footer:z(ke),gutter:z(Ce)};var o={pageSize:a,pageMargins:s};if(!e)return o;for(let r of t.elements(e))switch(r.localName){case"pgSz":o.pageSize={width:t.lengthAttr(r,"w")??a.width,height:t.lengthAttr(r,"h")??a.height,orientation:n};break;case"type":o.type=t.attr(r,"val");break;case"pgMar":o.pageMargins={left:t.lengthAttr(r,"left")??s.left,right:t.lengthAttr(r,"right")??s.right,top:t.lengthAttr(r,"top")??s.top,bottom:t.lengthAttr(r,"bottom")??s.bottom,header:t.lengthAttr(r,"header")??s.header,footer:t.lengthAttr(r,"footer")??s.footer,gutter:t.lengthAttr(r,"gutter")??s.gutter};break;case"cols":o.columns=Ne(r,t);break;case"headerReference":(o.headerRefs??(o.headerRefs=[])).push(Me(r,t));break;case"footerReference":(o.footerRefs??(o.footerRefs=[])).push(Me(r,t));break;case"titlePg":o.titlePage=t.boolAttr(r,"val",!0);break;case"pgBorders":o.pageBorders=ce(r,t);break;case"pgNumType":o.pageNumber=Ae(r,t);break;case"footnotePr":o.footnoteProps=he(r,t);break;case"endnotePr":o.endnoteProps=he(r,t);break;case"docGrid":o.docGrid=Pe(r,t)}return o}function Ne(e,t){return{numberOfColumns:t.intAttr(e,"num"),space:t.lengthAttr(e,"space"),separator:t.boolAttr(e,"sep"),equalWidth:t.boolAttr(e,"equalWidth",!0),columns:t.elements(e,"col").map(e=>({width:t.lengthAttr(e,"w"),space:t.lengthAttr(e,"space")}))}}function Ae(e,t){return{chapSep:t.attr(e,"chapSep"),chapStyle:t.attr(e,"chapStyle"),format:t.attr(e,"fmt"),start:t.intAttr(e,"start")}}function Pe(e,t){const r=t.intAttr(e,"charSpace",null),n=null==r?null:r/4096;return{type:t.attr(e,"type"),linePitch:t.lengthAttr(e,"linePitch"),charSpace:null==n?null:`${n.toFixed(4)}pt`,charSpaceRaw:r}}function Me(e,t){return{id:t.attr(e,"id"),type:t.attr(e,"type")}}function $e(e,t){let r={};for(let n of t.elements(e))Te(n,r,t);return r}function Te(e,t,r){return!!W(e,t,r)}function Fe(e,t){let r={};for(let n of t.elements(e))Le(n,r,t);return r}function Le(e,t,r){if(e.namespaceURI!=N)return!1;if(W(e,t,r))return!0;switch(e.localName){case"tabs":t.tabs=function(e,t){return t.elements(e,"tab").map(e=>({position:t.lengthAttr(e,"pos"),leader:t.attr(e,"leader"),style:t.attr(e,"val")}))}(e,r);break;case"sectPr":t.sectionProps=Se(e,r);break;case"numPr":t.numbering=function(e,t){var r={};for(let n of t.elements(e))switch(n.localName){case"numId":r.id=t.attr(n,"val");break;case"ilvl":r.level=t.intAttr(n,"val")}return r}(e,r);break;case"spacing":return t.lineSpacing=function(e,t){return{before:t.lengthAttr(e,"before"),after:t.lengthAttr(e,"after"),line:t.intAttr(e,"line"),lineRule:t.attr(e,"lineRule")}}(e,r),!1;case"textAlignment":return t.textAlignment=r.attr(e,"val"),!1;case"keepLines":t.keepLines=r.boolAttr(e,"val",!0);break;case"keepNext":t.keepNext=r.boolAttr(e,"val",!0);break;case"pageBreakBefore":t.pageBreakBefore=r.boolAttr(e,"val",!0);break;case"widowControl":t.widowControl=r.boolAttr(e,"val",!0);break;case"outlineLvl":t.outlineLevel=r.intAttr(e,"val");break;case"pStyle":t.styleName=r.attr(e,"val");break;case"rPr":t.runProps=$e(e,r);break;default:return!1}return!0}function Ee(e,t){let r={id:t.attr(e,"numId"),overrides:[]};for(let n of t.elements(e))switch(n.localName){case"abstractNumId":r.abstractId=t.attr(n,"val");break;case"lvlOverride":r.overrides.push(De(n,t))}return r}function Re(e,t){let r={id:t.attr(e,"abstractNumId"),levels:[]};for(let n of t.elements(e))switch(n.localName){case"name":r.name=t.attr(n,"val");break;case"multiLevelType":r.multiLevelType=t.attr(n,"val");break;case"numStyleLink":r.numberingStyleLink=t.attr(n,"val");break;case"styleLink":r.styleLink=t.attr(n,"val");break;case"lvl":r.levels.push(Be(n,t))}return r}function Be(e,t){let r={level:t.intAttr(e,"ilvl")};for(let n of t.elements(e))switch(n.localName){case"start":r.start=t.attr(n,"val");break;case"lvlRestart":r.restart=t.intAttr(n,"val");break;case"numFmt":r.format=t.attr(n,"val");break;case"lvlText":r.text=t.attr(n,"val");break;case"lvlJc":r.justification=t.attr(n,"val");break;case"lvlPicBulletId":r.bulletPictureId=t.attr(n,"val");break;case"pStyle":r.paragraphStyle=t.attr(n,"val");break;case"pPr":r.paragraphProps=Fe(n,t);break;case"rPr":r.runProps=$e(n,t)}return r}function De(e,t){let r={level:t.intAttr(e,"ilvl")};for(let n of t.elements(e))switch(n.localName){case"startOverride":r.start=t.intAttr(n,"val");break;case"lvl":r.numberingLevel=Be(n,t)}return r}function Ie(e,t){var r=t.attr(e,"numPicBulletId"),n=t.element(e,"pict"),a=n&&t.element(n,"shape"),s=a&&t.element(a,"imagedata");if(s)return{id:r,referenceId:t.attr(s,"id"),style:t.attr(a,"style")};var o=t.element(e,"drawing"),i=o&&Oe(o,"blip",t);return i?{id:r,referenceId:t.attr(i,"embed")??t.attr(i,"link"),style:null}:null}function Oe(e,t,r){for(const n of r.elements(e)){if(n.localName==t)return n;const e=Oe(n,t,r);if(e)return e}return null}class ze extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){Object.assign(this,function(e,t){let r={numberings:[],abstractNumberings:[],bulletPictures:[]};for(let n of t.elements(e))switch(n.localName){case"num":r.numberings.push(Ee(n,t));break;case"abstractNum":r.abstractNumberings.push(Re(n,t));break;case"numPicBullet":r.bulletPictures.push(Ie(n,t))}return r}(e,this._package.xmlParser)),this.domNumberings=this._documentParser.parseNumberingFile(e)}}class He extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.styles=this._documentParser.parseStylesFile(e)}}var We;!function(e){e.Document="document",e.Paragraph="paragraph",e.Run="run",e.Break="break",e.NoBreakHyphen="noBreakHyphen",e.Table="table",e.Row="row",e.Cell="cell",e.Hyperlink="hyperlink",e.SmartTag="smartTag",e.Drawing="drawing",e.Image="image",e.Text="text",e.Tab="tab",e.PositionalTab="positionalTab",e.SoftHyphen="softHyphen",e.Symbol="symbol",e.BookmarkStart="bookmarkStart",e.BookmarkEnd="bookmarkEnd",e.Footer="footer",e.Header="header",e.FootnoteReference="footnoteReference",e.EndnoteReference="endnoteReference",e.Footnote="footnote",e.Endnote="endnote",e.SimpleField="simpleField",e.ComplexField="complexField",e.Instruction="instruction",e.VmlPicture="vmlPicture",e.MmlMath="mmlMath",e.Shape="shape",e.MmlMathParagraph="mmlMathParagraph",e.MmlFraction="mmlFraction",e.MmlFunction="mmlFunction",e.MmlFunctionName="mmlFunctionName",e.MmlNumerator="mmlNumerator",e.MmlDenominator="mmlDenominator",e.MmlRadical="mmlRadical",e.MmlBase="mmlBase",e.MmlDegree="mmlDegree",e.MmlSuperscript="mmlSuperscript",e.MmlSubscript="mmlSubscript",e.MmlPreSubSuper="mmlPreSubSuper",e.MmlSubArgument="mmlSubArgument",e.MmlSuperArgument="mmlSuperArgument",e.MmlNary="mmlNary",e.MmlDelimiter="mmlDelimiter",e.MmlRun="mmlRun",e.MmlEquationArray="mmlEquationArray",e.MmlLimit="mmlLimit",e.MmlLimitLower="mmlLimitLower",e.MmlLimitUpper="mmlLimitUpper",e.MmlSubSuperscript="mmlSubSuperscript",e.MmlPhantom="mmlPhantom",e.MmlBorderBox="mmlBorderBox",e.MmlAccent="mmlAccent",e.MmlMatrix="mmlMatrix",e.MmlMatrixRow="mmlMatrixRow",e.MmlBox="mmlBox",e.MmlBar="mmlBar",e.MmlGroupChar="mmlGroupChar",e.VmlElement="vmlElement",e.Chart="chart",e.SmartArt="smartArt",e.Ink="ink",e.Ruby="ruby",e.RubyBase="rubyBase",e.RubyText="rubyText",e.Inserted="inserted",e.Deleted="deleted",e.DeletedText="deletedText",e.Comment="comment",e.CommentReference="commentReference",e.CommentRangeStart="commentRangeStart",e.CommentRangeEnd="commentRangeEnd",e.AltChunk="altChunk"}(We||(We={}));class Ve{constructor(){this.children=[],this.cssStyle={}}}class Ue extends Ve{constructor(){super(...arguments),this.type=We.Header}}class je extends Ve{constructor(){super(...arguments),this.type=We.Footer}}class qe extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.rootElement=this.createRootElement(),this.rootElement.children=this._documentParser.parseBodyElements(e)}}class Ge extends qe{createRootElement(){return new Ue}}class _e extends qe{createRootElement(){return new je}}function Xe(e){if(void 0!==e)return parseInt(e)}class Ke extends ee{parseXml(e){this.props=function(e,t){const r={};for(let n of t.elements(e))switch(n.localName){case"Template":r.template=n.textContent;break;case"Pages":r.pages=Xe(n.textContent);break;case"Words":r.words=Xe(n.textContent);break;case"Characters":r.characters=Xe(n.textContent);break;case"Application":r.application=n.textContent;break;case"Lines":r.lines=Xe(n.textContent);break;case"Paragraphs":r.paragraphs=Xe(n.textContent);break;case"Company":r.company=n.textContent;break;case"AppVersion":r.appVersion=n.textContent}return r}(e,this._package.xmlParser)}}class Ye extends ee{parseXml(e){this.props=function(e,t){const r={};for(let n of t.elements(e))switch(n.localName){case"title":r.title=n.textContent;break;case"description":r.description=n.textContent;break;case"subject":r.subject=n.textContent;break;case"creator":r.creator=n.textContent;break;case"keywords":r.keywords=n.textContent;break;case"language":r.language=n.textContent;break;case"lastModifiedBy":r.lastModifiedBy=n.textContent;break;case"revision":n.textContent&&(r.revision=parseInt(n.textContent))}return r}(e,this._package.xmlParser)}}class Je{}function Ze(e){const t=String(e??"").trim().replace(/_/g,"-").toLowerCase(),r=t.split("-")[0];if("zh"==r)return/(?:^|-)hant(?:-|$)|-(?:tw|hk|mo)(?:-|$)/.test(t)?"Hant":"Hans";return{ja:"Jpan",ko:"Hang",ar:"Arab",fa:"Arab",ur:"Arab",he:"Hebr",yi:"Hebr",th:"Thai",vi:"Viet",hi:"Deva",bn:"Beng",gu:"Gujr",kn:"Knda",pa:"Guru",ta:"Taml",te:"Telu",ml:"Mlym",or:"Orya",si:"Sinh",km:"Khmr",lo:"Laoo",my:"Mymr",mn:"Mong"}[r]??""}function Qe(e,t){var r={name:t.attr(e,"name"),colors:{}};for(let s of t.elements(e)){var n=t.element(s,"srgbClr"),a=t.element(s,"sysClr");n?r.colors[s.localName]=t.attr(n,"val"):a&&(r.colors[s.localName]=t.attr(a,"lastClr"))}return r}function et(e,t){var r={name:t.attr(e,"name")};for(let n of t.elements(e))switch(n.localName){case"majorFont":r.majorFont=tt(n,t);break;case"minorFont":r.minorFont=tt(n,t)}return r}function tt(e,t){const r={};for(const n of t.elements(e).filter(e=>"font"==e.localName)){const e=t.attr(n,"script"),a=t.attr(n,"typeface");e&&a&&(r[e]=a)}return{latinTypeface:t.elementAttr(e,"latin","typeface"),eaTypeface:t.elementAttr(e,"ea","typeface"),csTypeface:t.elementAttr(e,"cs","typeface"),scriptTypefaces:r}}class rt extends ee{constructor(e,t){super(e,t)}parseXml(e){this.theme=function(e,t){var r=new Je,n=t.element(e,"themeElements");for(let e of t.elements(n))switch(e.localName){case"clrScheme":r.colorScheme=Qe(e,t);break;case"fontScheme":r.fontScheme=et(e,t)}return r}(e,this._package.xmlParser)}}class nt{}class at extends nt{constructor(){super(...arguments),this.type=We.Footnote}}class st extends nt{constructor(){super(...arguments),this.type=We.Endnote}}class ot extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}}class it extends ot{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"footnote",at)}}class lt extends ot{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"endnote",st)}}class ct extends ee{constructor(e,t){super(e,t)}parseXml(e){this.settings=function(e,t){var r={};for(let n of t.elements(e))switch(n.localName){case"defaultTabStop":r.defaultTabStop=t.lengthAttr(n,"val");break;case"footnotePr":r.footnoteProps=he(n,t);break;case"endnotePr":r.endnoteProps=he(n,t);break;case"autoHyphenation":r.autoHyphenation=t.boolAttr(n,"val");break;case"kinsoku":r.kinsoku=t.boolAttr(n,"val",!0);break;case"overflowPunct":r.overflowPunctuation=t.boolAttr(n,"val",!0);break;case"topLinePunct":r.topLinePunctuation=t.boolAttr(n,"val",!0);break;case"autoSpaceDE":r.autoSpaceDE=t.boolAttr(n,"val",!0);break;case"autoSpaceDN":r.autoSpaceDN=t.boolAttr(n,"val",!0);break;case"noLineBreaksAfter":r.noLineBreaksAfter=t.attr(n,"val")||n.textContent||"";break;case"noLineBreaksBefore":r.noLineBreaksBefore=t.attr(n,"val")||n.textContent||"";break;case"evenAndOddHeaders":r.evenAndOddHeaders=t.boolAttr(n,"val",!0);break;case"splitPgBreakAndParaMark":r.splitPageBreakAndParagraphMark=t.boolAttr(n,"val",!0);break;case"compat":for(const e of t.elements(n))"adjustLineHeightInTable"==e.localName&&(r.adjustLineHeightInTable=t.boolAttr(e,"val",!0))}return r}(e,this._package.xmlParser)}}class ht extends ee{parseXml(e){this.props=function(e,t){return t.elements(e,"property").map(e=>{const r=e.firstChild;return{formatId:t.attr(e,"fmtid"),name:t.attr(e,"name"),type:r.nodeName,value:r.textContent}})}(e,this._package.xmlParser)}}class dt extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.comments=this._documentParser.parseComments(e),this.commentMap=y(this.comments,e=>e.id)}}class ut extends ee{constructor(e,t){super(e,t),this.comments=[]}parseXml(e){const t=this._package.xmlParser;for(let r of t.elements(e,"commentEx"))this.comments.push({paraId:t.attr(r,"paraId"),paraIdParent:t.attr(r,"paraIdParent"),done:t.boolAttr(r,"done")});this.commentMap=y(this.comments,e=>e.paraId)}}const mt=1,pt=2,ft=3,gt=4,bt=5,yt=6,xt=7,wt=8,vt=9,kt=10,Ct=11,St=12,Nt=14,At=15,Pt=18,Mt=19,$t=22,Tt=24,Ft=25,Lt=27,Et=31,Rt=32,Bt=33,Dt=34,It=35,Ot=36,zt=37,Ht=38,Wt=39,Vt=40,Ut=42,jt=43,qt=44,Gt=45,_t=46,Xt=47,Kt=54,Yt=55,Jt=56,Zt=59,Qt=60,er=61,tr=62,rr=63,nr=64,ar=76,sr=77,or=81,ir=82,lr=83,cr=84,hr=85,dr=86,ur=87,mr=88,pr=89,fr=90,gr=91,br=92,yr=95,xr=96,wr=97,vr=108,kr=114,Cr=116,Sr={0:{type:"brush",color:"#ffffff"},1:{type:"brush",color:"#c0c0c0"},2:{type:"brush",color:"#808080"},3:{type:"brush",color:"#404040"},4:{type:"brush",color:"#000000"},5:{type:"brush",color:"none",nullBrush:!0},6:{type:"pen",color:"#ffffff",width:1},7:{type:"pen",color:"#000000",width:1},8:{type:"pen",color:"none",width:0,nullPen:!0},18:{type:"brush",color:"#ffffff"},19:{type:"pen",color:"#000000",width:1}},Nr={m11:1,m12:0,m21:0,m22:1,dx:0,dy:0};function Ar(e){if(!e||e.length<48)return!1;const t=Lr(e);return t.getUint32(0,!0)==mt&&1179469088==t.getUint32(40,!0)}function Pr(e,t){const r=function(e,t={}){if(!Ar(e))return null;const r=Lr(e),n=r.getUint32(4,!0),a=Er(r,8),s=Er(r,24),o=r.byteLength>=52?r.getUint32(48,!0):0,i=Math.max(1,a.right-a.left),l=Math.max(1,a.bottom-a.top),c=Math.max(1,s.right-s.left)/100,h=Math.max(1,s.bottom-s.top)/100,d={world:Fr(Nr),windowOrg:{x:0,y:0},windowExt:null,viewportOrg:{x:0,y:0},viewportExt:null,pen:{type:"pen",color:"#000000",width:1},brush:{type:"brush",color:"#ffffff",nullBrush:!0},font:null,textColor:"#000000",bkColor:"#ffffff",bkMode:1,polyFillMode:1,textAlign:0,currentPoint:{x:0,y:0}},u=[],m={},p=[];let f=Math.max(8,n||108),g=1,b="",y=!1,x=0;const w=t.maxRecords??Math.max(1e4,o+100),v=t.maxShapes??5e4,k=e=>{!e||x>=v||(p.push(e),x++)},C=e=>{e&&(b+=(b?" ":"")+e)};for(;f+8<=r.byteLength&&g++<=w;){const e=r.getUint32(f,!0),t=r.getUint32(f+4,!0);if(t<8||f+t>r.byteLength)break;switch(e){case Nt:f+=t,g=w+1;break;case vt:d.windowExt=Br(r,f+8);break;case kt:d.windowOrg=Rr(r,f+8);break;case Ct:d.viewportExt=Br(r,f+8);break;case St:d.viewportOrg=Rr(r,f+8);break;case Rt:d.windowExt&&(d.windowExt=Wr(r,f,d.windowExt));break;case Et:d.viewportExt&&(d.viewportExt=Wr(r,f,d.viewportExt));break;case It:d.world=Ir(r,f+8);break;case Ot:{const e=Ir(r,f+8),t=r.getUint32(f+32,!0);1==t?d.world=Fr(Nr):2==t?d.world=Or(e,d.world):3==t?d.world=Or(d.world,e):4==t&&(d.world=e);break}case Bt:u.push(Mr(d));break;case Dt:{const e=r.getInt32(f+8,!0);if(e<0)for(let t=0;t<Math.min(-e,u.length);t++)Object.assign(d,u.pop());else if(e>0&&e<=u.length){const t=u[e-1];u.length=e-1,Object.assign(d,Mr(t))}break}case Pt:d.bkMode=r.getUint32(f+8,!0);break;case Mt:d.polyFillMode=r.getUint32(f+8,!0);break;case $t:d.textAlign=r.getUint32(f+8,!0);break;case Tt:d.textColor=Vr(r.getUint32(f+8,!0));break;case Ft:d.bkColor=Vr(r.getUint32(f+8,!0));break;case Ht:{const e=r.getUint32(f+8,!0),t=r.getUint32(f+12,!0),n=Math.abs(r.getInt32(f+16,!0)),a=Vr(r.getUint32(f+24,!0));m[e]={type:"pen",color:a,width:n||1,nullPen:5==(15&t)};break}case yr:{const e=r.getUint32(f+8,!0),t=r.getUint32(f+28,!0),n=Math.abs(r.getInt32(f+32,!0)),a=r.getUint32(f+36,!0),s=Vr(r.getUint32(f+40,!0));m[e]={type:"pen",color:s,width:n||1,nullPen:5==(15&t)||1==a};break}case Wt:{const e=r.getUint32(f+8,!0),t=r.getUint32(f+12,!0),n=Vr(r.getUint32(f+16,!0));m[e]={type:"brush",color:n,nullBrush:1==t};break}case ir:m[r.getUint32(f+8,!0)]=nn(r,f+12,t-12);break;case zt:{const e=r.getUint32(f+8,!0),t=2147483648&e?Sr[2147483647&e]:m[e];"pen"==t?.type?d.pen=$r(t):"brush"==t?.type?d.brush=Tr(t):"font"==t?.type&&(d.font={...t});break}case Vt:delete m[r.getUint32(f+8,!0)];break;case Zt:y=!0,b="";break;case Qt:y=!1;break;case er:C("Z");break;case Lt:{const e=zr(d,Rr(r,f+8));d.currentPoint=e,y&&C(`M ${jr(e.x)} ${jr(e.y)}`);break}case Kt:{const e=zr(d,Rr(r,f+8));y?C(`L ${jr(e.x)} ${jr(e.y)}`):k(`<path d="M ${jr(d.currentPoint.x)} ${jr(d.currentPoint.y)} L ${jr(e.x)} ${jr(e.y)}" ${Gr(d,!1,!0)}/>`),d.currentPoint=e;break}case gt:case ft:Kr(r,f,e==ft,!1,y,d,C,k);break;case yt:Kr(r,f,!1,!0,y,d,C,k);break;case ur:case dr:Xr(r,f,e==dr,!1,y,d,C,k);break;case pr:Xr(r,f,!1,!0,y,d,C,k);break;case pt:Jr(r,f,!1,!1,y,d,C,k);break;case bt:Jr(r,f,!1,!0,y,d,C,k);break;case hr:Jr(r,f,!0,!1,y,d,C,k);break;case mr:Jr(r,f,!0,!0,y,d,C,k);break;case xt:case wt:Zr(r,f,e==wt,!1,y,d,C,k);break;case fr:case gr:Zr(r,f,e==gr,!0,y,d,C,k);break;case Jt:Qr(r,f,!1,y,d,C,k);break;case br:Qr(r,f,!0,y,d,C,k);break;case jt:en(r,f,d,k,!1);break;case Ut:tn(r,f,d,k);break;case qt:en(r,f,d,k,!0);break;case Gt:case Yt:case _t:case Xt:rn(r,f,e,y,d,C,k);break;case tr:_r(b,d,k,!0,!1),b="";break;case nr:_r(b,d,k,!1,!0),b="";break;case rr:_r(b,d,k,!0,!0),b="";break;case lr:case cr:an(r,f,t,d,k,e==cr);break;case xr:case wr:sn(r,f,t,d,k,e==wr);break;case vr:on(r,f,t,d,k);break;case At:mn(r,f,d,k);break;case ar:case sr:case or:case kr:case Cr:pn(r,f,t,e,d,k)}f+=t}b&&_r(b,d,k,!0,!0);if(!p.length){const t=function(e,t){const r=function(e){const t=function(e){const t=[137,80,78,71,13,10,26,10];for(let r=0;r+t.length+12<=e.length;r++){if(!fn(e,t,r))continue;let n=r+8;for(;n+12<=e.length;){const t=gn(e,n),a=String.fromCharCode(e[n+4],e[n+5],e[n+6],e[n+7]);if(n+=12+t,n>e.length)break;if("IEND"==a)return e.subarray(r,n)}}return null}(e);if(t)return`data:image/png;base64,${xn(t)}`;const r=function(e){for(let t=0;t+4<e.length;t++)if(255==e[t]&&216==e[t+1]&&255==e[t+2])for(let r=t+4;r+1<e.length;r++)if(255==e[r]&&217==e[r+1])return e.subarray(t,r+2);return null}(e);if(r)return`data:image/jpeg;base64,${xn(r)}`;const n=function(e){for(let t=0;t+14<e.length;t++){if(66!=e[t]||77!=e[t+1])continue;const r=bn(e,t+2);if(r>14&&t+r<=e.length)return e.subarray(t,t+r)}return null}(e);return n?`data:image/bmp;base64,${xn(n)}`:null}(e);if(!r)return[];const n=Math.max(1,t.right-t.left),a=Math.max(1,t.bottom-t.top);return[`<image x="${jr(t.left)}" y="${jr(t.top)}" width="${jr(n)}" height="${jr(a)}" href="${r}" preserveAspectRatio="xMidYMid meet"/>`]}(e,a);t.length&&p.push(...t)}return p.length?`<svg xmlns="http://www.w3.org/2000/svg" width="${jr(c)}mm" height="${jr(h)}mm" viewBox="${jr(a.left)} ${jr(a.top)} ${jr(i)} ${jr(l)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="emf">${p.join("")}</svg>`:function(e,t,r,n,a,s){return`<svg xmlns="http://www.w3.org/2000/svg" width="${jr(n)}mm" height="${jr(a)}mm" viewBox="${jr(r.left)} ${jr(r.top)} ${jr(e)} ${jr(t)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="emf"><rect x="${jr(r.left)}" y="${jr(r.top)}" width="${jr(e)}" height="${jr(t)}" fill="none" stroke="#999" stroke-width="1"/><text x="${jr(r.left+e/2)}" y="${jr(r.top+t/2)}" text-anchor="middle" font-size="12" fill="#666">${qr(s)}</text></svg>`}(i,l,a,c,h,"Unsupported EMF image")}(e,t);return r?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(r)}`:null}function Mr(e){return{world:Fr(e.world),windowOrg:{...e.windowOrg},windowExt:e.windowExt?{...e.windowExt}:null,viewportOrg:{...e.viewportOrg},viewportExt:e.viewportExt?{...e.viewportExt}:null,pen:$r(e.pen),brush:Tr(e.brush),font:e.font?{...e.font}:null,textColor:e.textColor,bkColor:e.bkColor,bkMode:e.bkMode,polyFillMode:e.polyFillMode,textAlign:e.textAlign,currentPoint:{...e.currentPoint}}}function $r(e){return{...e}}function Tr(e){return{...e}}function Fr(e){return{...e}}function Lr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Er(e,t){return{left:e.getInt32(t,!0),top:e.getInt32(t+4,!0),right:e.getInt32(t+8,!0),bottom:e.getInt32(t+12,!0)}}function Rr(e,t){return{x:e.getInt32(t,!0),y:e.getInt32(t+4,!0)}}function Br(e,t){return Rr(e,t)}function Dr(e,t){return{x:e.getInt16(t,!0),y:e.getInt16(t+2,!0)}}function Ir(e,t){return{m11:e.getFloat32(t,!0),m12:e.getFloat32(t+4,!0),m21:e.getFloat32(t+8,!0),m22:e.getFloat32(t+12,!0),dx:e.getFloat32(t+16,!0),dy:e.getFloat32(t+20,!0)}}function Or(e,t){return{m11:e.m11*t.m11+e.m12*t.m21,m12:e.m11*t.m12+e.m12*t.m22,m21:e.m21*t.m11+e.m22*t.m21,m22:e.m21*t.m12+e.m22*t.m22,dx:e.dx*t.m11+e.dy*t.m21+t.dx,dy:e.dx*t.m12+e.dy*t.m22+t.dy}}function zr(e,t){const r=e.world;let n=t.x*r.m11+t.y*r.m21+r.dx,a=t.x*r.m12+t.y*r.m22+r.dy;return e.windowExt&&e.viewportExt&&e.windowExt.x&&e.windowExt.y&&(n=(n-e.windowOrg.x)*e.viewportExt.x/e.windowExt.x+e.viewportOrg.x,a=(a-e.windowOrg.y)*e.viewportExt.y/e.windowExt.y+e.viewportOrg.y),{x:n,y:a}}function Hr(e){let t=Math.hypot(e.world.m11,e.world.m12),r=Math.hypot(e.world.m21,e.world.m22);e.windowExt&&e.viewportExt&&e.windowExt.x&&e.windowExt.y&&(t*=Math.abs(e.viewportExt.x/e.windowExt.x),r*=Math.abs(e.viewportExt.y/e.windowExt.y));const n=(t+r)/2;return Number.isFinite(n)&&n>0?n:1}function Wr(e,t,r){const n=e.getInt32(t+8,!0),a=e.getInt32(t+12,!0),s=e.getInt32(t+16,!0),o=e.getInt32(t+20,!0);return{x:a?r.x*n/a:r.x,y:o?r.y*s/o:r.y}}function Vr(e){const t=e>>8&255,r=e>>16&255;return`#${Ur(255&e)}${Ur(t)}${Ur(r)}`}function Ur(e){return Math.max(0,Math.min(255,0|e)).toString(16).padStart(2,"0")}function jr(e){if(!Number.isFinite(e))return"0";return`${Math.round(1e3*e)/1e3}`}function qr(e){return`${e??""}`.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F]/g,"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Gr(e,t,r){const n=[];if(t&&!e.brush.nullBrush?(n.push(`fill="${e.brush.color}"`),n.push(`fill-rule="${2==e.polyFillMode?"nonzero":"evenodd"}"`)):n.push('fill="none"'),r&&!e.pen.nullPen){const t=Hr(e),r=0==e.pen.width?1:Math.max(.35,e.pen.width*t);n.push(`stroke="${e.pen.color}"`),n.push(`stroke-width="${jr(r)}"`),n.push('stroke-linecap="square"'),n.push('stroke-linejoin="miter"')}else n.push('stroke="none"');return n.join(" ")}function _r(e,t,r,n,a){e&&r(`<path d="${e}" ${Gr(t,n,a)}/>`)}function Xr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0);if(!l||t+28+4*l>e.byteLength)return;const c=[];for(let r=0;r<l;r++)c.push(zr(s,Dr(e,t+28+4*r)));Yr(c,r,n,a,s,o,i)}function Kr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0);if(!l||t+28+8*l>e.byteLength)return;const c=[];for(let r=0;r<l;r++)c.push(zr(s,Rr(e,t+28+8*r)));Yr(c,r,n,a,s,o,i)}function Yr(e,t,r,n,a,s,o){if(!e.length)return;let i=n&&r?"":r?`M ${jr(a.currentPoint.x)} ${jr(a.currentPoint.y)}`:`M ${jr(e[0].x)} ${jr(e[0].y)}`;for(let t=r?0:1;t<e.length;t++)i+=` L ${jr(e[t].x)} ${jr(e[t].y)}`;t&&(i+=" Z"),a.currentPoint=e[e.length-1],n?s(i.trim()):o(`<path d="${i.trim()}" ${Gr(a,t,!0)}/>`)}function Jr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0),c=r?4:8;if(!l||t+28+l*c>e.byteLength)return;const h=[];for(let n=0;n<l;n++){const a=r?Dr(e,t+28+n*c):Rr(e,t+28+n*c);h.push(zr(s,a))}let d=a&&n?"":n?`M ${jr(s.currentPoint.x)} ${jr(s.currentPoint.y)}`:`M ${jr(h[0].x)} ${jr(h[0].y)}`,u=n?s.currentPoint:h[0];for(let e=n?0:1;e+2<h.length;e+=3){const t=h[e],r=h[e+1],n=h[e+2];d+=` C ${jr(t.x)} ${jr(t.y)} ${jr(r.x)} ${jr(r.y)} ${jr(n.x)} ${jr(n.y)}`,u=n}s.currentPoint=u,a?o(d.trim()):i(`<path d="${d.trim()}" ${Gr(s,!1,!0)}/>`)}function Zr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0),c=e.getUint32(t+28,!0),h=t+32,d=h+4*l,u=n?4:8;if(!l||!c||d+c*u>e.byteLength)return;let m=0;for(let t=0;t<l;t++){const l=e.getUint32(h+4*t,!0);if(!l||m+l>c)break;const p=[];for(let t=0;t<l;t++){const r=d+(m+t)*u,a=n?Dr(e,r):Rr(e,r);p.push(zr(s,a))}Yr(p,r,!1,a,s,o,i),m+=l}}function Qr(e,t,r,n,a,s,o){const i=e.getUint32(t+24,!0),l=r?4:8,c=t+28,h=c+i*l;if(!i||h+i>e.byteLength)return;const d=[];for(let t=0;t<i;t++){const n=c+t*l,s=r?Dr(e,n):Rr(e,n);d.push(zr(a,s))}let u="",m=0;for(;m<i;){const t=e.getUint8(h+m),r=6&t;6==r?(u+=` M ${jr(d[m].x)} ${jr(d[m].y)}`,a.currentPoint=d[m],m++):2==r?(u+=` L ${jr(d[m].x)} ${jr(d[m].y)}`,a.currentPoint=d[m],m++):4==r&&m+2<i?(u+=` C ${jr(d[m].x)} ${jr(d[m].y)} ${jr(d[m+1].x)} ${jr(d[m+1].y)} ${jr(d[m+2].x)} ${jr(d[m+2].y)}`,a.currentPoint=d[m+2],m+=3):m++,1&t&&(u+=" Z")}u=u.trim(),u&&(n?s(u):o(`<path d="${u}" ${Gr(a,!1,!0)}/>`))}function en(e,t,r,n,a){const s=Er(e,t+8),o=zr(r,{x:s.left,y:s.top}),i=zr(r,{x:s.right,y:s.bottom}),l=Math.min(o.x,i.x),c=Math.min(o.y,i.y),h=Math.abs(i.x-o.x),d=Math.abs(i.y-o.y),u=a?` rx="${jr(Math.min(h,d)/8)}" ry="${jr(Math.min(h,d)/8)}"`:"";n(`<rect x="${jr(l)}" y="${jr(c)}" width="${jr(h)}" height="${jr(d)}"${u} ${Gr(r,!0,!0)}/>`)}function tn(e,t,r,n){const a=Er(e,t+8),s=zr(r,{x:a.left,y:a.top}),o=zr(r,{x:a.right,y:a.bottom}),i=(s.x+o.x)/2,l=(s.y+o.y)/2,c=Math.abs(o.x-s.x)/2,h=Math.abs(o.y-s.y)/2;n(`<ellipse cx="${jr(i)}" cy="${jr(l)}" rx="${jr(c)}" ry="${jr(h)}" ${Gr(r,!0,!0)}/>`)}function rn(e,t,r,n,a,s,o){const i=Er(e,t+8),l=Rr(e,t+24),c=Rr(e,t+32),h=(i.left+i.right)/2,d=(i.top+i.bottom)/2,u=Math.abs(i.right-i.left)/2,m=Math.abs(i.bottom-i.top)/2;if(!u||!m)return;const p=Math.atan2(l.y-d,l.x-h);let f=Math.atan2(c.y-d,c.x-h),g=f-p;g<=0&&(g+=2*Math.PI);const b=g>Math.PI?1:0,y=zr(a,{x:h+Math.cos(p)*u,y:d+Math.sin(p)*m}),x=zr(a,{x:h+Math.cos(f)*u,y:d+Math.sin(f)*m}),w=zr(a,{x:h,y:d}),v=zr(a,{x:h+u,y:d}),k=zr(a,{x:h,y:d+m}),C=Math.max(.01,Math.abs(v.x-w.x)||Math.abs(k.x-w.x)),S=Math.max(.01,Math.abs(k.y-w.y)||Math.abs(v.y-w.y)),N=`A ${jr(C)} ${jr(S)} 0 ${b} 1 ${jr(x.x)} ${jr(x.y)}`;let A=`M ${jr(y.x)} ${jr(y.y)} ${N}`,P=!1;r==_t?(A+=" Z",P=!0):r==Xt&&(A+=` L ${jr(w.x)} ${jr(w.y)} Z`,P=!0),r==Yt&&(a.currentPoint=x),n?s(A):o(`<path d="${A}" ${Gr(a,P,!0)}/>`)}function nn(e,t,r){const n=r>=4?e.getInt32(t,!0):12,a=r>=20?e.getInt32(t+16,!0):400,s=r>=21&&0!=e.getUint8(t+20),o=r>=22&&0!=e.getUint8(t+21);let i="";const l=t+28,c=Math.max(0,Math.min(64,r-28));for(let t=0;t+1<c;t+=2){const r=e.getUint16(l+t,!0);if(!r)break;i+=String.fromCharCode(r)}return{type:"font",family:i,size:Math.abs(n)||12,weight:a,italic:s,underline:o}}function an(e,t,r,n,a,s){if(r<76)return;const o=zr(n,Rr(e,t+36)),i=e.getUint32(t+44,!0),l=e.getUint32(t+48,!0);if(!i||l<=0)return;if(l+i*(s?2:1)>r)return;un(s?ln(e,t+l,i):cn(new Uint8Array(e.buffer,e.byteOffset+t+l,i)),o,n,a)}function sn(e,t,r,n,a,s){if(r<40)return;const o=e.getUint32(t+36,!0);let i=t+40;for(let l=0;l<o&&i+40<=t+r;l++,i+=40){const o=zr(n,Rr(e,i)),l=e.getUint32(i+8,!0),c=e.getUint32(i+12,!0);if(!l||!c||c+l*(s?2:1)>r)continue;un(s?ln(e,t+c,l):cn(new Uint8Array(e.buffer,e.byteOffset+t+c,l)),o,n,a)}}function on(e,t,r,n,a){if(r<36)return;const s=zr(n,Rr(e,t+8)),o=e.getUint32(t+16,!0),i=512&e.getUint32(t+20,!0)?40:28;if(!o||i+o>r)return;un(cn(new Uint8Array(e.buffer,e.byteOffset+t+i,o)),s,n,a)}function ln(e,t,r){let n="";for(let a=0;a<r;a++){const r=e.getUint16(t+2*a,!0);r&&(n+=String.fromCharCode(r))}return n}function cn(e){if(!e.length)return"";const t=globalThis.TextDecoder;if(t)try{return new t("gb18030").decode(e).replace(/\0+$/g,"")}catch{try{return new t("windows-1252").decode(e).replace(/\0+$/g,"")}catch{}}let r="";for(const t of e)t&&(r+=String.fromCharCode(t));return r}function hn(e){const t=6&e.textAlign;return 6==t?'text-anchor="middle"':2==t?'text-anchor="end"':""}function dn(e){const t=24&e.textAlign;return 0==t?'dominant-baseline="text-before-edge"':8==t?'dominant-baseline="text-after-edge"':""}function un(e,t,r,n){e&&n(`<text ${function(e,t){const r=e.font,n=Math.max(1,(r?.size??12)*Hr(e));return[`x="${jr(t.x)}"`,`y="${jr(t.y)}"`,`fill="${e.textColor}"`,`font-size="${jr(n)}"`,r?.family?`font-family="${qr(r.family)}"`:"",r?.weight?`font-weight="${r.weight>=600?"bold":"normal"}"`:"",r?.italic?'font-style="italic"':"",r?.underline?'text-decoration="underline"':"",hn(e),dn(e)].filter(Boolean).join(" ")}(r,t)}>${qr(e)}</text>`)}function mn(e,t,r,n){if(t+20>e.byteLength)return;const a=zr(r,Rr(e,t+8)),s=Vr(e.getUint32(t+16,!0));n(`<rect x="${jr(a.x)}" y="${jr(a.y)}" width="1" height="1" fill="${s}" stroke="none"/>`)}function pn(e,t,r,n,a,s){let o=0,i=0,l=0,c=0,h=0,d=0,u=0,m=0;if(n==or){if(r<80)return;o=e.getInt32(t+24,!0),i=e.getInt32(t+28,!0),h=e.getUint32(t+48,!0),d=e.getUint32(t+52,!0),u=e.getUint32(t+56,!0),m=e.getUint32(t+60,!0),l=e.getInt32(t+72,!0),c=e.getInt32(t+76,!0)}else{if(r<100)return;o=e.getInt32(t+24,!0),i=e.getInt32(t+28,!0),l=e.getInt32(t+32,!0),c=e.getInt32(t+36,!0),h=e.getUint32(t+84,!0),d=e.getUint32(t+88,!0),u=e.getUint32(t+92,!0),m=e.getUint32(t+96,!0)}if(!h||!d||!u||!m||h+d>r||u+m>r)return;const p=function(e,t,r,n,a,s){const o=t+r,i=t+a;if(n<4||o+n>e.byteLength||i+s>e.byteLength)return null;const l=e.getUint32(o,!0),c=l>=40&&n>=20?e.getUint32(o+16,!0):0,h=new Uint8Array(e.buffer,e.byteOffset+i,s);if(4==c)return`data:image/jpeg;base64,${xn(h)}`;if(5==c)return`data:image/png;base64,${xn(h)}`;const d=new Uint8Array(n+s);return d.set(new Uint8Array(e.buffer,e.byteOffset+o,n),0),d.set(h,n),function(e,t){if(!e?.length||t<=0||t>e.length)return null;const r=14,n=r+e.length,a=r+t,s=new Uint8Array(n);return s[0]=66,s[1]=77,yn(s,2,n),yn(s,10,a),s.set(e,r),`data:image/bmp;base64,${xn(s)}`}(d,n)}(e,t,h,d,u,m);if(!p)return;const f=zr(a,{x:o,y:i}),g=zr(a,{x:o+l,y:i+c}),b=Math.min(f.x,g.x),y=Math.min(f.y,g.y),x=Math.abs(g.x-f.x),w=Math.abs(g.y-f.y);s(`<image x="${jr(b)}" y="${jr(y)}" width="${jr(x)}" height="${jr(w)}" href="${p}" preserveAspectRatio="none"/>`)}function fn(e,t,r){for(let n=0;n<t.length;n++)if(e[r+n]!=t[n])return!1;return!0}function gn(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function bn(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function yn(e,t,r){e[t]=255&r,e[t+1]=r>>8&255,e[t+2]=r>>16&255,e[t+3]=r>>24&255}function xn(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,r+32768));if("function"==typeof btoa)return btoa(t);const r=globalThis.Buffer;return r?r.from(e).toString("base64"):t}const wn=2596720087,vn=0,kn=258,Cn=513,Sn=521,Nn=302,An=523,Pn=524,Mn=525,$n=526,Tn=532,Fn=531,Ln=805,En=804,Rn=1051,Bn=1048,Dn=762,In=764,On=763,zn=301,Hn=496,Wn=1313,Vn=2610,Un={0:{type:"brush",color:"#ffffff"},1:{type:"brush",color:"#c0c0c0"},2:{type:"brush",color:"#808080"},3:{type:"brush",color:"#404040"},4:{type:"brush",color:"#000000"},5:{type:"brush",color:"none",nullBrush:!0},6:{type:"pen",color:"#ffffff",width:1},7:{type:"pen",color:"#000000",width:1},8:{type:"pen",color:"none",width:0,nullPen:!0},18:{type:"brush",color:"#ffffff"},19:{type:"pen",color:"#000000",width:1}};function jn(e){if(!e||e.length<22)return!1;const t=ya(e);return t.getUint32(0,!0)==wn||e.length>=18&&1==t.getUint16(0,!0)&&9==t.getUint16(2,!0)}function qn(e,t){const r=function(e,t={}){if(!jn(e))return null;const r=ya(e);let n=0,a={left:0,top:0,right:1e3,bottom:1e3},s=100,o=100;if(r.getUint32(0,!0)==wn&&r.byteLength>=22){a={left:r.getInt16(6,!0),top:r.getInt16(8,!0),right:r.getInt16(10,!0),bottom:r.getInt16(12,!0)};const e=Math.max(1,r.getUint16(14,!0)||1440);s=Math.max(1,a.right-a.left)/e*25.4,o=Math.max(1,a.bottom-a.top)/e*25.4,n=22}if(n+18>r.byteLength)return null;const i=r.getUint32(n+6,!0),l=Math.max(1,r.getUint16(n+10,!0)||16),c=i>0?2*i:r.byteLength;n+=18;const h=Math.max(1,a.right-a.left),d=Math.max(1,a.bottom-a.top),u=function(e){return{windowOrg:{x:e.left,y:e.top},windowExt:{x:Math.max(1,e.right-e.left),y:Math.max(1,e.bottom-e.top)},viewportOrg:{x:0,y:0},viewportExt:null,currentPoint:{x:0,y:0},pen:{type:"pen",color:"#000000",width:1},brush:{type:"brush",color:"#ffffff",nullBrush:!0},font:{type:"font",family:"Times New Roman",size:12,weight:400,italic:!1,underline:!1,strike:!1,charset:0},textColor:"#000000",bkColor:"#ffffff",bkMode:1,textAlign:0}}(a),m=new Array(l).fill(null),p=[];let f=0,g=0;const b=t.maxRecords??1e4,y=t.maxShapes??5e4,x=Math.min(r.byteLength,c),w=e=>{!e||f>=y||(p.push(e),f++)};for(;n+6<=x&&g++<b;){const e=r.getUint32(n,!0),t=r.getUint16(n+4,!0),a=n+2*e;if(e<3||a>r.byteLength)break;const i=n+6;switch(t){case vn:n=x;break;case kn:u.bkMode=ma(r,i);break;case Cn:u.bkColor=ga(pa(r,i));break;case Sn:u.textColor=ga(pa(r,i));break;case Nn:u.textAlign=ua(r,i);break;case An:u.windowOrg=ha(r,i);break;case Pn:u.windowExt=ha(r,i),s&&o||(s=Math.max(1,Math.abs(u.windowExt.x))/100,o=Math.max(1,Math.abs(u.windowExt.y))/100);break;case Mn:u.viewportOrg=ha(r,i);break;case $n:u.viewportExt=ha(r,i);break;case Dn:sa(m,Kn(r,i,a));break;case In:sa(m,Yn(r,i,a));break;case On:sa(m,Jn(r,i,a));break;case zn:{const e=ua(r,i),t=e>=32768?Un[32767&e]:m[e];"pen"==t?.type?u.pen={...t}:"brush"==t?.type?u.brush={...t}:"font"==t?.type&&(u.font={...t});break}case Hn:{const e=ua(r,i);e<m.length&&(m[e]=null);break}case Tn:u.currentPoint=Gn(u,ha(r,i));break;case Fn:{const e=Gn(u,ha(r,i));w(`<path d="M ${xa(u.currentPoint.x)} ${xa(u.currentPoint.y)} L ${xa(e.x)} ${xa(e.y)}" ${ia(u)}/>`),u.currentPoint=e;break}case Ln:case En:Zn(r,i,a,t==En,u,w);break;case Rn:Qn(r,i,u,w,!1);break;case Bn:Qn(r,i,u,w,!0);break;case Wn:ea(r,i,a,u,w);break;case Vn:ta(r,i,a,u,w)}n=a}return p.length?`<svg xmlns="http://www.w3.org/2000/svg" width="${xa(s)}mm" height="${xa(o)}mm" viewBox="${xa(a.left)} ${xa(a.top)} ${xa(h)} ${xa(d)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="wmf">${p.join("")}</svg>`:function(e,t,r,n,a,s){return`<svg xmlns="http://www.w3.org/2000/svg" width="${xa(n)}mm" height="${xa(a)}mm" viewBox="${xa(r.left)} ${xa(r.top)} ${xa(e)} ${xa(t)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="wmf"><rect x="${xa(r.left)}" y="${xa(r.top)}" width="${xa(e)}" height="${xa(t)}" fill="none" stroke="#999" stroke-width="1"/><text x="${xa(r.left+e/2)}" y="${xa(r.top+t/2)}" text-anchor="middle" font-size="12" fill="#666">${wa(s)}</text></svg>`}(h,d,a,s,o,"Unsupported WMF image")}(e,t);return r?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(r)}`:null}function Gn(e,t){const r=e.viewportExt??e.windowExt,n=Xn(r.x,e.windowExt.x),a=Xn(r.y,e.windowExt.y);return{x:e.viewportOrg.x+(t.x-e.windowOrg.x)*n,y:e.viewportOrg.y+(t.y-e.windowOrg.y)*a}}function _n(e,t){const r=e.viewportExt??e.windowExt;return Math.abs(t*Xn(r.x,e.windowExt.x))}function Xn(e,t){return t?e/t:1}function Kn(e,t,r){const n=ua(e,t),a=t+4<r?Math.abs(ma(e,t+2)):1,s=t+6<r?Math.abs(ma(e,t+4)):0;return{type:"pen",color:t+10<=r?ga(pa(e,t+6)):"#000000",width:Math.max(1,a,s),nullPen:5==(15&n)}}function Yn(e,t,r){const n=ua(e,t);return{type:"brush",color:t+6<=r?ga(pa(e,t+2)):"#ffffff",nullBrush:1==n||5==n}}function Jn(e,t,r){const n=ma(e,t),a=ma(e,t+2),s=ma(e,t+8)||400,o=0!=da(e,t+10),i=0!=da(e,t+11),l=0!=da(e,t+12),c=da(e,t+13),h=function(e,t,r){let n="";for(let a=0;a<r&&t+a<e.byteLength;a++){const r=e.getUint8(t+a);if(0==r)break;n+=String.fromCharCode(r)}return n}(e,t+18,Math.max(0,Math.min(32,r-t-18)));return{type:"font",family:(d=h,(d??"").replace(/[^\x20-\x7e]/g,"").trim()||"Times New Roman"),size:Math.max(1,Math.abs(n||a||12)),weight:s,italic:o,underline:i,strike:l,charset:c};var d}function Zn(e,t,r,n,a,s){const o=ua(e,t);let i=t+2;const l=[];for(let t=0;t<o&&i+4<=r;t++,i+=4)l.push(Gn(a,{x:ma(e,i),y:ma(e,i+2)}));if(!l.length)return;s(`<path d="${l.map((e,t)=>`${0==t?"M":"L"} ${xa(e.x)} ${xa(e.y)}`).join(" ")+(n?" Z":"")}" ${n?oa(a):ia(a)}/>`),a.currentPoint=l[l.length-1]}function Qn(e,t,r,n,a){const s=Gn(r,ha(e,t)),o=Gn(r,ha(e,t+4)),i=Math.min(o.x,s.x),l=Math.min(o.y,s.y),c=Math.abs(s.x-o.x),h=Math.abs(s.y-o.y);n(a?`<ellipse cx="${xa(i+c/2)}" cy="${xa(l+h/2)}" rx="${xa(c/2)}" ry="${xa(h/2)}" ${oa(r)}/>`:`<rect x="${xa(i)}" y="${xa(l)}" width="${xa(c)}" height="${xa(h)}" ${oa(r)}/>`)}function ea(e,t,r,n,a){const s=ua(e,t),o=t+2,i=o+s+s%2;if(i+4>r)return;const l=ca(e,o,s,n.font.charset),c=ma(e,i);aa(l,ra(n,{x:ma(e,i+2),y:c}),null,n,a),na(l,null,n)}function ta(e,t,r,n,a){const s=ma(e,t),o=ma(e,t+2),i=ua(e,t+4);let l=t+8;if(6&ua(e,t+6)&&(l+=8),l+i>r)return;const c=ca(e,l,i,n.font.charset);l+=i+i%2;const h=[];for(;l+2<=r&&h.length<i;)h.push(ma(e,l)),l+=2;aa(c,ra(n,{x:o,y:s}),h.length?h:null,n,a),na(c,h.length?h:null,n)}function ra(e,t){return 1&e.textAlign?{...e.currentPoint}:Gn(e,t)}function na(e,t,r){if(!(1&r.textAlign))return;const n=t?.length?t.reduce((e,t)=>e+t,0):e.length*r.font.size*.5;r.currentPoint={x:r.currentPoint.x+_n(r,n),y:r.currentPoint.y}}function aa(e,t,r,n,a){if(!e)return;const s=n.font,o=Math.max(1,function(e,t){const r=e.viewportExt??e.windowExt;return Math.abs(t*Xn(r.y,e.windowExt.y))}(n,s.size)),i=[`font-family:${fa(s.family)}`,`font-size:${xa(o)}px`,`font-weight:${s.weight>=600?"700":s.weight}`,"font-style:"+(s.italic?"italic":"normal")],l=[];s.underline&&l.push("underline"),s.strike&&l.push("line-through"),l.length&&i.push(`text-decoration:${l.join(" ")}`);const c=[`x="${xa(t.x)}"`,`y="${xa(t.y)}"`,`fill="${va(n.textColor)}"`,`style="${va(i.join(";"))}"`,`dominant-baseline="${24&~n.textAlign?"text-before-edge":"alphabetic"}"`,la(n.textAlign)].filter(Boolean).join(" ");if(!r||0==r.length)return void a(`<text ${c}>${wa(e)}</text>`);let h=t.x;a(`<text ${c}>${Array.from(e).map((e,t)=>{const a=`<tspan x="${xa(h)}">${wa(e)}</tspan>`;return h+=_n(n,r[t]??0),a}).join("")}</text>`)}function sa(e,t){let r=e.findIndex(e=>null==e);r<0?e.push(t):e[r]=t}function oa(e){return`${function(e){return e.brush?.nullBrush?'fill="none"':`fill="${va(e.brush?.color??"#ffffff")}"`}(e)} ${ia(e)}`}function ia(e){return e.pen?.nullPen?'stroke="none"':`fill="none" stroke="${va(e.pen?.color??"#000000")}" stroke-width="${xa(Math.max(.5,_n(e,e.pen?.width??1)))}"`}function la(e){return 6&e?'text-anchor="end"':2&e?'text-anchor="middle"':""}function ca(e,t,r,n){const a=new Uint8Array(e.buffer,e.byteOffset+t,Math.max(0,Math.min(r,e.byteLength-t))),s=2==n?"symbol":134==n?"gb18030":"windows-1252";try{return new TextDecoder(s).decode(a).replace(/\0+$/g,"")}catch{let e="";for(const t of a)e+=String.fromCharCode(t);return e.replace(/\0+$/g,"")}}function ha(e,t){return{y:ma(e,t),x:ma(e,t+2)}}function da(e,t){return t<e.byteLength?e.getUint8(t):0}function ua(e,t){return t+2<=e.byteLength?e.getUint16(t,!0):0}function ma(e,t){return t+2<=e.byteLength?e.getInt16(t,!0):0}function pa(e,t){return t+4<=e.byteLength?e.getUint32(t,!0):0}function fa(e){const t=(e||"Times New Roman").replace(/["\\]/g,"");return/[\s,]/.test(t)?`"${t}"`:t}function ga(e){const t=e>>8&255,r=e>>16&255;return`#${ba(255&e)}${ba(t)}${ba(r)}`}function ba(e){return Math.max(0,Math.min(255,e)).toString(16).padStart(2,"0")}function ya(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function xa(e){if(!Number.isFinite(e))return"0";const t=Math.round(1e3*e)/1e3;return Number.isInteger(t),`${t}`}function wa(e){return String(e??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function va(e){return wa(e).replace(/"/g,"&quot;")}const ka=[{type:m.OfficeDocument,target:"word/document.xml"},{type:m.ExtendedProperties,target:"docProps/app.xml"},{type:m.CoreProperties,target:"docProps/core.xml"},{type:m.CustomProperties,target:"docProps/custom.xml"}];class Ca{constructor(){this.parts=[],this.partsMap={},this.contentTypes=[],this._snapshotAssetDataUrls=null,this._snapshotTextParts=null}static fromSnapshot(e,t){const r=new Ca;r._options=t,r.rels=e.rels??[],r.contentTypes=e.contentTypes??[],r.parts=[],r.partsMap={},r._snapshotAssetDataUrls=e.assetDataUrls??{},r._snapshotTextParts=e.textParts??{},r._package={load:e=>Promise.resolve(r._snapshotTextParts?.[Sa(e)]??null),parseXmlDocument:e=>J(e,t?.trimXmlDeclaration??!0),get:e=>null!=r._snapshotTextParts?.[Sa(e)]?{}:null};for(const t of e.parts??[]){const e=r.restoreSnapshotPart(t);e&&(r.parts.push(e),r.partsMap[e.path]=e)}return r}static async load(e,t,r){var n=new Ca;return n._options=r,n._parser=t,n._package=await se.load(e,r),n.rels=await n._package.loadRelationships(),n.contentTypes=await n._package.loadContentTypes(),await Promise.all(ka.map(e=>{const t=n.rels.find(t=>t.type===e.type)??e;return n.loadRelationshipPart(t.target,t.type)})),n}restoreSnapshotPart(e){const t={path:e.path,rels:e.rels??[]};switch(Object.assign(t,e.data??{}),e.kind){case"document":this.documentPart=t;break;case"fontTable":this.fontTablePart=t;break;case"numbering":this.numberingPart=t;break;case"styles":this.stylesPart=t;break;case"theme":this.themePart=t;break;case"footnotes":this.footnotesPart=t;break;case"endnotes":this.endnotesPart=t;break;case"coreProps":this.corePropsPart=t;break;case"extendedProps":this.extendedPropsPart=t;break;case"settings":this.settingsPart=t;break;case"comments":t.commentMap=y(t.comments??[],e=>e.id),this.commentsPart=t;break;case"commentsExtended":t.commentMap=y(t.comments??[],e=>e.paraId),this.commentsExtendedPart=t}return t}async createSnapshot(){const e={rels:this.rels??[],contentTypes:this.contentTypes??[],parts:this.parts.map(e=>this.snapshotPart(e)).filter(Boolean),assetDataUrls:{},textParts:{}};return await this.preloadSnapshotRelationshipTargets(e),e}snapshotPart(e){const t=e;let r="part",n={};if(e===this.documentPart)r="document",n={body:t.body};else if(e===this.fontTablePart)r="fontTable",n={fonts:t.fonts};else if(e===this.numberingPart)r="numbering",n={numberings:t.numberings,abstractNumberings:t.abstractNumberings,bulletPictures:t.bulletPictures,domNumberings:t.domNumberings};else if(e===this.stylesPart)r="styles",n={styles:t.styles};else if(e===this.themePart)r="theme",n={theme:t.theme};else if(e===this.footnotesPart)r="footnotes",n={notes:t.notes};else if(e===this.endnotesPart)r="endnotes",n={notes:t.notes};else if(e===this.corePropsPart)r="coreProps",n={props:t.props};else if(e===this.extendedPropsPart)r="extendedProps",n={props:t.props};else if(e===this.settingsPart)r="settings",n={settings:t.settings};else if(e===this.commentsPart)r="comments",n={comments:t.comments};else if(e===this.commentsExtendedPart)r="commentsExtended",n={comments:t.comments};else{if(!t.rootElement)return null;r="header"===t.rootElement.type?"header":"footer",n={rootElement:t.rootElement}}return{kind:r,path:e.path,rels:e.rels??[],data:n}}async preloadSnapshotRelationshipTargets(e){const t=new Set,r=e=>{for(const r of e?.rels??[]){if(!r||d(r))continue;const n=Sa(this.resolveRelationshipTarget(e,r));n&&!t.has(n)&&t.add(n)}};for(const e of this.parts)r(e);for(const r of t){if(this.partsMap[r])continue;const t=r.toLowerCase(),n=/\.(xml|rels|html?|txt)$/i.test(t);try{if(n){const t=await this._package.load(r,"string");null!=t&&(e.textParts[r]=t)}else{const t=await this.loadPackageAssetDataUrl(r);t&&(e.assetDataUrls[r]=t)}}catch(e){this._options?.debug&&console.warn(`docx-preview: unable to preload relationship target ${r}`,e)}}}blobWithContentType(e,t){if(!e)return null;const r=this.contentTypeForPath(t);return r?new Blob([e],{type:r}):e}save(e="blob"){return this._package.save(e)}async loadRelationshipPart(e,t){if(this.partsMap[e])return this.partsMap[e];if(!this._package.get(e))return null;let r=null;switch(t){case m.OfficeDocument:this.documentPart=r=new ie(this._package,e,this._parser);break;case m.FontTable:this.fontTablePart=r=new ae(this._package,e);break;case m.Numbering:this.numberingPart=r=new ze(this._package,e,this._parser);break;case m.Styles:this.stylesPart=r=new He(this._package,e,this._parser);break;case m.Theme:this.themePart=r=new rt(this._package,e);break;case m.Footnotes:this.footnotesPart=r=new it(this._package,e,this._parser);break;case m.Endnotes:this.endnotesPart=r=new lt(this._package,e,this._parser);break;case m.Footer:r=new _e(this._package,e,this._parser);break;case m.Header:r=new Ge(this._package,e,this._parser);break;case m.CoreProperties:this.corePropsPart=r=new Ye(this._package,e);break;case m.ExtendedProperties:this.extendedPropsPart=r=new Ke(this._package,e);break;case m.CustomProperties:r=new ht(this._package,e);break;case m.Settings:this.settingsPart=r=new ct(this._package,e);break;case m.Comments:this.commentsPart=r=new dt(this._package,e,this._parser);break;case m.CommentsExtended:this.commentsExtendedPart=r=new ut(this._package,e)}if(null==r)return Promise.resolve(null);if(this.partsMap[e]=r,this.parts.push(r),await r.load(),r.rels?.length>0){const[e]=g(r.path);await Promise.all(r.rels.filter(e=>!d(e)).map(t=>this.loadRelationshipPart(b(t.target,e),t.type)))}return r}async loadRelationshipXml(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||d(n))return null;const a=Sa(this.resolveRelationshipTarget(r,n)),s=a?this._snapshotTextParts?.[a]??await this._package.load(a,"string"):null;return s?this._package.parseXmlDocument(s):null}async loadRelationshipText(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||d(n))return null;const a=Sa(this.resolveRelationshipTarget(r,n));return a?Promise.resolve(this._snapshotTextParts?.[a]??this._package.load(a,"string")):Promise.resolve(null)}async loadRelationshipBlobUrl(e,t,r=this._options?.externalResourcePolicy??"block"){const n=t??this.documentPart,a=this.getRelById(n,e);if(!a)return null;if(d(a))return u(a,r);const s=Sa(this.resolveRelationshipTarget(n,a));return s?this.loadPackageAssetUrl(s):null}async loadDocumentImage(e,t,r=this._options?.externalResourcePolicy??"block"){const n=t??this.documentPart,a=this.getRelById(n,e);if(!a)return null;if(d(a))return u(a,r);const s=Sa(this.resolveRelationshipTarget(n,a));return s?this.loadPackageAssetUrl(s):null}async loadNumberingImage(e){const t=Sa(this.getPathById(this.numberingPart,e));return t?this.loadPackageAssetUrl(t):null}async loadFont(e,t){const r=Sa(this.getPathById(this.fontTablePart,e));if(!r)return null;if(this._snapshotAssetDataUrls?.[r])return this._snapshotAssetDataUrls[r];const n=await this._package.load(r,"uint8array");return n?this.blobToURL(new Blob([Na(n,t)]),r):n}async loadAltChunk(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||d(n))return Promise.resolve(null);const a=Sa(this.resolveRelationshipTarget(r,n));return a?Promise.resolve(this._snapshotTextParts?.[a]??this._package.load(a,"string")):Promise.resolve(null)}blobToURL(e,t){return e?(e=this.blobWithContentType(e,t),this._options.useBase64URL?x(e):URL.createObjectURL(e)):null}async loadPackageAssetUrl(e){const t=Sa(e);if(!t)return null;if(this._snapshotAssetDataUrls?.[t])return this._snapshotAssetDataUrls[t];if(this.isConvertibleMetafileAsset(t)){const e=await this._package.load(t,"uint8array");if(!e)return null;const r=this.convertMetafileAsset(e,t);return r||this.blobToURL(new Blob([e],{type:this.contentTypeForPath(t)||this.defaultMetafileContentType(t)}),t)}return this.blobToURL(await this._package.load(t,"blob"),t)}async loadPackageAssetDataUrl(e){const t=Sa(e);if(!t)return null;if(this.isConvertibleMetafileAsset(t)){const e=await this._package.load(t,"uint8array");if(!e)return null;const r=this.convertMetafileAsset(e,t);if(r)return r;const n=e?new Blob([e],{type:this.contentTypeForPath(t)||this.defaultMetafileContentType(t)}):null;return n?x(n):null}const r=await this._package.load(t,"blob"),n=this.blobWithContentType(r,t);return n?x(n):null}convertMetafileAsset(e,t){if(!e)return null;try{if(Ar(e))return Pr(e);if(jn(e))return qn(e)}catch(e){return this._options?.debug&&console.warn(`docx-preview: unable to convert metafile asset ${t}`,e),null}return null}isConvertibleMetafileAsset(e){const t=this.contentTypeForPath(e).toLowerCase();return/\.(emf|wmf)$/i.test(e??"")||"image/x-emf"==t||"image/emf"==t||"image/x-wmf"==t||"image/wmf"==t}defaultMetafileContentType(e){return/\.wmf$/i.test(e??"")?"image/x-wmf":"image/x-emf"}contentTypeForPath(e){const t=Sa(e??"").toLowerCase();for(const e of this.contentTypes??[])if(e.partName&&Sa(e.partName).toLowerCase()==t)return e.contentType??"";const r=/\.([^.\/]+)$/.exec(t),n=r?.[1]??"";if(!n)return"";const a=(this.contentTypes??[]).find(e=>e.extension?.toLowerCase()==n);return a?.contentType??""}findPartByRelId(e,t=null){var r=this.getRelById(t,e);const n=r&&!d(r)?this.resolveRelationshipTarget(t,r):null;return n?this.partsMap[n]:null}getRelById(e,t){return(e?.rels??this.rels??[]).find(e=>e.id==t)}getPathById(e,t){const r=this.getRelById(e,t);return r&&!d(r)?this.resolveRelationshipTarget(e,r):null}resolveRelationshipTarget(e,t){const[r]=e?g(e.path):[""];return Sa(b(t.target,r))}}function Sa(e){return e&&e.startsWith("/")?e.substring(1):e}function Na(e,t){const r=t.replace(/{|}|-/g,""),n=new Array(16);for(let e=0;e<16;e++)n[16-e-1]=parseInt(r.substring(2*e,2*e+2),16);for(let t=0;t<32;t++)e[t]=e[t]^n[t%16];return e}function Aa(e,t){return{type:We.BookmarkStart,id:t.attr(e,"id"),name:t.attr(e,"name"),colFirst:t.intAttr(e,"colFirst"),colLast:t.intAttr(e,"colLast")}}function Pa(e,t){return{type:We.BookmarkEnd,id:t.attr(e,"id")}}class Ma extends Ve{constructor(){super(...arguments),this.type=We.VmlElement,this.attrs={}}}function $a(e,t){var r=new Ma;switch(e.localName){case"group":r.tagName="g",r.isGroup=!0;break;case"rect":r.tagName="rect",Object.assign(r.attrs,{width:"100%",height:"100%"});break;case"oval":r.tagName="ellipse",Object.assign(r.attrs,{cx:"50%",cy:"50%",rx:"50%",ry:"50%"});break;case"line":r.tagName="line";break;case"shape":r.tagName="g";break;case"textbox":r.tagName="foreignObject",r.textInset=["0.1in","0.05in","0.1in","0.05in"],Object.assign(r.attrs,{width:"100%",height:"100%"});break;default:return null}for(const t of Q.attrs(e))switch(t.localName){case"style":r.cssStyleText=t.value,r.cssStyle=C(t.value);break;case"coordorigin":r.coordOrigin=Da(t.value);break;case"coordsize":r.coordSize=Da(t.value);break;case"inset":if(r.textInset){const e=t.value.trim().split(/\s*,\s*|\s+/);r.textInset=r.textInset.map((t,r)=>e[r]||t)}break;case"id":r.attrs.id=t.value;break;case"fillcolor":r.attrs.fill=t.value;break;case"strokecolor":r.attrs.stroke=t.value;break;case"strokeweight":r.attrs["stroke-width"]=z(t.value,I)??t.value;break;case"filled":"f"!=t.value&&"false"!=t.value||(r.attrs.fill="none");break;case"stroked":"f"!=t.value&&"false"!=t.value||(r.attrs.stroke="none");break;case"path":r.tagName="path",r.attrs.d=Ia(t.value);break;case"from":const[e,n]=Ba(t.value);Object.assign(r.attrs,{x1:e,y1:n});break;case"to":const[a,s]=Ba(t.value);Object.assign(r.attrs,{x2:a,y2:s})}for(const n of Q.elements(e))switch(n.localName){case"stroke":Object.assign(r.attrs,Ea(n));break;case"fill":Object.assign(r.attrs,Ra(n));break;case"imagedata":const e=Q.attr(n,"id")??Q.attr(n,"relid")??Q.attr(n,"pict");e&&(r.tagName="image",Object.assign(r.attrs,Ta(n)),r.imageHref={id:e,title:Q.attr(n,"title")});break;case"txbxContent":r.children.push(...t.parseBodyElements(n));break;default:const a=$a(n,t);a&&r.children.push(a)}const n=r.cssStyle?.rotation?.trim();if(n&&/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:fd|deg)?$/i.test(n)){const e=parseFloat(n)/(/fd$/i.test(n)?65536:1);Number.isFinite(e)&&(r.rotation=e)}if("absolute"==r.cssStyle?.position){const t=r.cssStyle["mso-position-horizontal-relative"]??"paragraph",n=r.cssStyle["mso-position-vertical-relative"]??"paragraph",a=r.cssStyle["mso-position-horizontal"],s=r.cssStyle["mso-position-vertical"];r.props={anchorPosition:{layoutInCell:!/^(f|false|0|off)$/i.test(Q.attr(e,"allowincell")??""),horizontal:{relative:"text"==t?"column":t,align:a,alignSpecified:!!a&&"absolute"!=a},vertical:{relative:"text"==n?"paragraph":n,align:s,alignSpecified:!!s&&"absolute"!=s}}}}return r}function Ta(e){const t=Fa(Q.attr(e,"cropleft")),r=Fa(Q.attr(e,"croptop")),n=Fa(Q.attr(e,"cropright")),a=Fa(Q.attr(e,"cropbottom")),s=Math.max(1e-4,1-t-n),o=Math.max(1e-4,1-r-a),i={x:La(-t/s),y:La(-r/o),width:La(1/s),height:La(1/o)};return(t||r||n||a)&&(i.preserveAspectRatio="none"),i}function Fa(e){if(!e)return 0;const t=String(e).trim();if(!t)return 0;let r;return r=/^-?\d+(\.\d+)?f$/i.test(t)?parseFloat(t.slice(0,-1))/65536:t.endsWith("%")?parseFloat(t)/100:parseFloat(t),Number.isFinite(r)?Math.max(0,Math.min(.9999,r)):0}function La(e){return Math.round(1e5*e)/1e3+"%"}function Ea(e){const t={},r=Q.attr(e,"color"),n=Q.attr(e,"weight"),a=Q.attr(e,"on");return"f"==a||"false"==a?t.stroke="none":r&&(t.stroke=r),t["stroke-width"]=n?z(n,I)??n:"1px",t}function Ra(e){const t={},r=Q.attr(e,"color")??Q.attr(e,"color2"),n=Q.attr(e,"on"),a=Q.attr(e,"opacity");return"f"==n||"false"==n?t.fill="none":r&&(t.fill=r),a&&(t["fill-opacity"]=a.endsWith("%")?""+parseFloat(a)/100:a),t}function Ba(e){return e.trim().split(/[\s,]+/)}function Da(e){const[t,r]=Ba(e).map(e=>Number(e));return[Number.isFinite(t)?t:0,Number.isFinite(r)?r:0]}function Ia(e){return e.replace(/([mlxe])|([-\d]+)|([,])/g,e=>/[-\d]/.test(e)||/[ml,]/.test(e)?e:"x"==e?"z":"")}class Oa extends Ve{constructor(){super(...arguments),this.type=We.Comment}}class za extends Ve{constructor(e){super(),this.id=e,this.type=We.CommentReference}}class Ha extends Ve{constructor(e){super(),this.id=e,this.type=We.CommentRangeStart}}class Wa extends Ve{constructor(e){super(),this.id=e,this.type=We.CommentRangeEnd}}function Va(){const e=new WeakMap,t=new WeakSet;function r(n){const a=e.get(n);if(a)return a;const s=1===n.parentNode?.nodeType?n.parentNode:null;if(!s){const t=`/${n.nodeName}`;return e.set(n,t),t}const o=r(s);if(!t.has(s)){const r=new Map;for(const e of Array.from(s.childNodes)){if(1!==e.nodeType)continue;const t=e,n=`${t.namespaceURI}|${t.localName}`,a=r.get(n)??[];a.push(t),r.set(n,a)}for(const t of r.values())t.forEach((r,n)=>{e.set(r,`${o}/${r.nodeName}${t.length>1?`[${n+1}]`:""}`)});t.add(s)}return e.get(n)}return e=>{if("p"!==e.localName||"http://schemas.openxmlformats.org/wordprocessingml/2006/main"!==e.namespaceURI)return;const t=e.getAttributeNS("http://schemas.microsoft.com/office/word/2010/wordml","paraId");return t?`p:${t}`:`xpath:${r(e)}`}}var Ua="inherit",ja="var(--docx-auto-color, black)",qa="var(--docx-auto-color, black)",Ga="transparent";const _a=[T,M,$,A,P],Xa={oMath:We.MmlMath,oMathPara:We.MmlMathParagraph,f:We.MmlFraction,func:We.MmlFunction,fName:We.MmlFunctionName,num:We.MmlNumerator,den:We.MmlDenominator,rad:We.MmlRadical,deg:We.MmlDegree,e:We.MmlBase,sSup:We.MmlSuperscript,sSub:We.MmlSubscript,sPre:We.MmlPreSubSuper,sup:We.MmlSuperArgument,sub:We.MmlSubArgument,d:We.MmlDelimiter,nary:We.MmlNary,eqArr:We.MmlEquationArray,lim:We.MmlLimit,limLow:We.MmlLimitLower,limUpp:We.MmlLimitUpper,sSubSup:We.MmlSubSuperscript,phant:We.MmlPhantom,borderBox:We.MmlBorderBox,acc:We.MmlAccent,m:We.MmlMatrix,mr:We.MmlMatrixRow,box:We.MmlBox,bar:We.MmlBar,groupChr:We.MmlGroupChar};class Ka{constructor(e){this.paragraphAddress=Va(),this.options={ignoreWidth:!1,debug:!1,hideWebHiddenContent:!1,...e}}parseNotes(e,t,r){var n=[];for(let a of Q.elements(e,t)){const e=new r;e.id=Q.attr(a,"id"),e.noteType=Q.attr(a,"type"),e.children=this.parseBodyElements(a),n.push(e)}return n}parseComments(e){var t=[];for(let r of Q.elements(e,"comment")){const e=new Oa;e.id=Q.attr(r,"id"),e.author=Q.attr(r,"author"),e.initials=Q.attr(r,"initials"),e.date=Q.attr(r,"date"),e.children=this.parseBodyElements(r),t.push(e)}return t}parseDocumentFile(e){var t=Q.element(e,"body"),r=Q.element(e,"background"),n=Q.element(t,"sectPr");const a=r?.getElementsByTagNameNS("urn:schemas-microsoft-com:vml","fill")?.[0],s=a?.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","id");return{type:We.Document,children:this.parseBodyElements(t),props:Se(n,Q),cssStyle:r?this.parseBackground(r):{},backgroundImage:s?{id:s,type:a.getAttribute("type")||"tile"}:void 0}}parseBackground(e){var t={},r=Qa.colorAttr(e,"color",null,Ua);return r&&(t["background-color"]=r),t}parseBodyElements(e){var t=[];for(const r of Q.elements(e))switch(r.localName){case"p":t.push(this.parseParagraph(r));break;case"altChunk":t.push(this.parseAltChunk(r));break;case"tbl":t.push(this.parseTable(r));break;case"sdt":t.push(...this.parseSdt(r,e=>this.parseBodyElements(e)));break;case"ins":t.push(this.parseRevision(We.Inserted,r,e=>({children:this.parseBodyElements(e)}),"insert"));break;case"del":t.push(this.parseRevision(We.Deleted,r,e=>({children:this.parseBodyElements(e)}),"delete"));break;case"moveFrom":t.push(this.parseRevision(We.Deleted,r,e=>({children:this.parseBodyElements(e)}),"move-from"));break;case"moveTo":t.push(this.parseRevision(We.Inserted,r,e=>({children:this.parseBodyElements(e)}),"move-to"))}return t}parseStylesFile(e){var t=[];for(const r of Q.elements(e))switch(r.localName){case"style":t.push(this.parseStyle(r));break;case"docDefaults":t.push(this.parseDefaultStyles(r))}return t}parseDefaultStyles(e){var t={id:null,name:null,target:null,basedOn:null,styles:[]};for(const a of Q.elements(e))switch(a.localName){case"rPrDefault":var r=Q.element(a,"rPr");r&&t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})});break;case"pPrDefault":var n=Q.element(a,"pPr");n&&t.styles.push({target:"p",values:this.parseDefaultProperties(n,{})})}return t}parseStyle(e){var t={id:Q.attr(e,"styleId"),isDefault:Q.boolAttr(e,"default"),name:null,target:null,basedOn:null,styles:[],linked:null};switch(Q.attr(e,"type")){case"paragraph":t.target="p";break;case"table":t.target="table";break;case"character":t.target="span"}for(const r of Q.elements(e))switch(r.localName){case"basedOn":t.basedOn=Q.attr(r,"val");break;case"name":t.name=Q.attr(r,"val");break;case"link":t.linked=Q.attr(r,"val");break;case"next":t.next=Q.attr(r,"val");break;case"aliases":t.aliases=Q.attr(r,"val").split(",");break;case"pPr":t.styles.push({target:"p",values:this.parseDefaultProperties(r,{})}),t.paragraphProps=Fe(r,Q);break;case"rPr":t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})}),t.runProps=$e(r,Q);break;case"tblPr":case"tcPr":t.styles.push({target:"td",values:this.parseDefaultProperties(r,{})});break;case"tblStylePr":for(let e of this.parseTableStyle(r))t.styles.push(e);break;case"rsid":case"qFormat":case"hidden":case"semiHidden":case"unhideWhenUsed":case"autoRedefine":case"uiPriority":break;default:this.options.debug&&console.warn(`DOCX: Unknown style element: ${r.localName}`)}return t}parseTableStyle(e){var t=[],r="",n="";switch(Q.attr(e,"type")){case"firstRow":n=".first-row",r="tr.first-row td";break;case"lastRow":n=".last-row",r="tr.last-row td";break;case"firstCol":n=".first-col",r="td.first-col";break;case"lastCol":n=".last-col",r="td.last-col";break;case"band1Vert":n=":not(.no-vband)",r="td.odd-col";break;case"band2Vert":n=":not(.no-vband)",r="td.even-col";break;case"band1Horz":n=":not(.no-hband)",r="tr.odd-row";break;case"band2Horz":n=":not(.no-hband)",r="tr.even-row";break;default:return[]}for(const a of Q.elements(e))switch(a.localName){case"pPr":t.push({target:`${r} p`,mod:n,values:this.parseDefaultProperties(a,{})});break;case"rPr":t.push({target:`${r} span`,mod:n,values:this.parseDefaultProperties(a,{})});break;case"tblPr":case"tcPr":t.push({target:r,mod:n,values:this.parseDefaultProperties(a,{})})}return t}parseNumberingFile(e){const t=[],r=[],n={},a=[],s=[];for(const t of Q.elements(e))switch(t.localName){case"numPicBullet":r.push(this.parseNumberingPicBullet(t));break;case"abstractNum":a.push(t);break;case"num":s.push(t)}for(const e of a)n[Q.attr(e,"abstractNumId")]=this.parseAbstractNumbering(e,r);for(const e of s){const a=Q.attr(e,"numId"),s=(n[Q.elementAttr(e,"abstractNumId","val")]??[]).map(e=>this.cloneNumberingLevel(e,a));for(const t of Q.elements(e,"lvlOverride")){const e=Q.intAttr(t,"ilvl"),n=Q.element(t,"lvl"),o=Q.element(t,"startOverride");let i=s.find(t=>t.level==e);if(n){i=this.parseNumberingLevel(a,n,r);const t=s.findIndex(t=>t.level==e);t>=0?s[t]=i:s.push(i)}o&&i&&(i.start=Q.intAttr(o,"val",i.start))}t.push(...s)}return t}cloneNumberingLevel(e,t){return{...e,id:t,pStyle:{...e.pStyle},rStyle:{...e.rStyle},bullet:e.bullet?{...e.bullet}:null}}parseNumberingPicBullet(e){const t=Q.intAttr(e,"numPicBulletId"),r=Q.element(e,"pict"),n=r&&Q.element(r,"shape"),a=n&&Q.element(n,"imagedata");if(a)return{id:t,src:Q.attr(a,"id"),style:Q.attr(n,"style")};const s=Q.element(e,"drawing"),o=s?this.findDescendant(s,"blip"):null;if(o){const e=s?this.findDescendant(s,"extent"):null,r=[];if(e){const t=Q.lengthAttr(e,"cx",E),n=Q.lengthAttr(e,"cy",E);t&&r.push(`width:${t};`),n&&r.push(`height:${n};`)}return{id:t,src:Q.attr(o,"embed")??Q.attr(o,"link"),style:r.join("")||void 0}}return null}parseAbstractNumbering(e,t){var r=[],n=Q.attr(e,"abstractNumId");for(const a of Q.elements(e))if("lvl"===a.localName)r.push(this.parseNumberingLevel(n,a,t));return r}parseNumberingLevel(e,t,r){var n={id:e,level:Q.intAttr(t,"ilvl"),start:1,pStyleName:void 0,pStyle:{},rStyle:{},suff:"tab"};for(const e of Q.elements(t))switch(e.localName){case"start":n.start=Q.intAttr(e,"val");break;case"pPr":this.parseDefaultProperties(e,n.pStyle);break;case"rPr":this.parseDefaultProperties(e,n.rStyle);break;case"lvlPicBulletId":var a=Q.intAttr(e,"val");n.bullet=r.find(e=>e?.id==a);break;case"lvlText":n.levelText=Q.attr(e,"val");break;case"pStyle":n.pStyleName=Q.attr(e,"val");break;case"numFmt":n.format=Q.attr(e,"val");break;case"lvlRestart":n.restart=Q.intAttr(e,"val");break;case"suff":n.suff=Q.attr(e,"val")}return n}parseSdt(e,t){const r=Q.element(e,"sdtContent");return r?t(r):[]}parseInserted(e,t){return this.parseRevision(We.Inserted,e,t)}parseDeleted(e,t){return this.parseRevision(We.Deleted,e,t)}parseRevision(e,t,r,n=(e==We.Inserted?"insert":"delete")){return{type:e,children:r(t)?.children??[],props:{revision:{id:Q.attr(t,"id"),author:Q.attr(t,"author"),date:Q.attr(t,"date"),kind:n}}}}parseAltChunk(e){return{type:We.AltChunk,children:[],id:Q.attr(e,"id")}}parseParagraph(e){var t={type:We.Paragraph,children:[]};this.options.exposeDisplayTargets&&(t.displayAddress=this.paragraphAddress(e));for(let r of Q.elements(e))switch(r.localName){case"pPr":this.parseParagraphProperties(r,t);break;case"r":t.children.push(this.parseRun(r,t));break;case"hyperlink":t.children.push(this.parseHyperlink(r,t));break;case"fldSimple":t.children.push(this.parseSimpleField(r,t));break;case"smartTag":t.children.push(this.parseSmartTag(r,t));break;case"bookmarkStart":t.children.push(Aa(r,Q));break;case"bookmarkEnd":t.children.push(Pa(r,Q));break;case"commentRangeStart":t.children.push(new Ha(Q.attr(r,"id")));break;case"commentRangeEnd":t.children.push(new Wa(Q.attr(r,"id")));break;case"oMath":case"oMathPara":{const e=this.parseMathElement(r);e&&t.children.push(e);break}case"sdt":t.children.push(...this.parseSdt(r,e=>this.parseParagraph(e).children));break;case"ins":t.children.push(this.parseInserted(r,e=>this.parseParagraph(e)));break;case"del":t.children.push(this.parseDeleted(r,e=>this.parseParagraph(e)));break;case"moveFrom":t.children.push(this.parseRevision(We.Deleted,r,e=>this.parseParagraph(e),"move-from"));break;case"moveTo":t.children.push(this.parseRevision(We.Inserted,r,e=>this.parseParagraph(e),"move-to"))}return t}parseParagraphProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,r=>{if("rPr"==r.localName){const e=Q.elements(r).filter(e=>"ins"==e.localName||"del"==e.localName).map(e=>this.revisionMetadata(e,"del"==e.localName?"delete":"insert"));e.length&&(t.props={...t.props??{},paragraphMarkRevisions:[...t.props?.paragraphMarkRevisions??[],...e]}),e.some(e=>"delete"==e.kind)&&(t.props={...t.props??{},deletedParagraphMark:!0});const n=t.cssStyle["background-color"];return this.parseDefaultProperties(r,t.cssStyle),null==n?delete t.cssStyle["background-color"]:t.cssStyle["background-color"]=n,Le(r,t,Q),!0}if("pPrChange"==r.localName)return this.addFormatRevision(t,r,"paragraph-format",e),!0;if(Le(r,t,Q))return!0;switch(r.localName){case"pStyle":t.styleName=Q.attr(r,"val");break;case"cnfStyle":t.className=es.classNameOfCnfStyle(r);break;case"framePr":this.parseFrame(r,t);break;default:return!1}return!0})}parseFrame(e,t){const r=Q.attr(e,"dropCap");t.frame={dropCap:r,width:Q.lengthAttr(e,"w"),height:Q.lengthAttr(e,"h"),horizontalPosition:Q.lengthAttr(e,"x"),verticalPosition:Q.lengthAttr(e,"y"),horizontalAnchor:Q.attr(e,"hAnchor"),verticalAnchor:Q.attr(e,"vAnchor"),horizontalAlignment:Q.attr(e,"xAlign"),verticalAlignment:Q.attr(e,"yAlign"),horizontalSpace:Q.lengthAttr(e,"hSpace"),verticalSpace:Q.lengthAttr(e,"vSpace"),heightRule:Q.attr(e,"hRule"),wrap:Q.attr(e,"wrap"),lines:Q.intAttr(e,"lines")},"drop"==r&&(t.cssStyle.float="left")}parseHyperlink(e,t){var r={type:We.Hyperlink,parent:t,children:[]};r.anchor=Q.attr(e,"anchor"),r.id=Q.attr(e,"id");for(const t of Q.elements(e))if("r"===t.localName)r.children.push(this.parseRun(t,r));return r}parseSmartTag(e,t){var r={type:We.SmartTag,parent:t,children:[]},n=Q.attr(e,"uri"),a=Q.attr(e,"element");n&&(r.uri=n),a&&(r.element=a);for(const t of Q.elements(e))switch(t.localName){case"r":r.children.push(this.parseRun(t,r));break;case"smartTag":r.children.push(this.parseSmartTag(t,r))}return r}parseSimpleField(e,t){const r={type:We.SimpleField,parent:t,children:[],instruction:Q.attr(e,"instr"),lock:Q.boolAttr(e,"lock",!1),dirty:Q.boolAttr(e,"dirty",!1)};for(const t of Q.elements(e))switch(t.localName){case"r":r.children.push(this.parseRun(t,r));break;case"hyperlink":r.children.push(this.parseHyperlink(t,r));break;case"smartTag":r.children.push(this.parseSmartTag(t,r));break;case"bookmarkStart":r.children.push(Aa(t,Q));break;case"bookmarkEnd":r.children.push(Pa(t,Q));break;case"commentRangeStart":r.children.push(new Ha(Q.attr(t,"id")));break;case"commentRangeEnd":r.children.push(new Wa(Q.attr(t,"id")));break;case"sdt":r.children.push(...this.parseSdt(t,e=>this.parseParagraph(e).children));break;case"ins":r.children.push(this.parseInserted(t,e=>this.parseParagraph(e)));break;case"del":r.children.push(this.parseDeleted(t,e=>this.parseParagraph(e)));break;case"moveFrom":r.children.push(this.parseRevision(We.Deleted,t,e=>this.parseParagraph(e),"move-from"));break;case"moveTo":r.children.push(this.parseRevision(We.Inserted,t,e=>this.parseParagraph(e),"move-to"))}return r}parseRun(e,t){var r={type:We.Run,parent:t,children:[]};for(let t of Q.elements(e))if(t=this.checkAlternateContent(t),t)switch(t.localName){case"t":r.children.push({type:We.Text,text:t.textContent});break;case"delText":r.children.push({type:We.DeletedText,text:t.textContent});break;case"commentReference":r.children.push(new za(Q.attr(t,"id")));break;case"fldSimple":r.children.push(this.parseSimpleField(t,r));break;case"instrText":r.fieldRun=!0,r.children.push({type:We.Instruction,text:t.textContent});break;case"fldChar":r.fieldRun=!0,r.children.push({type:We.ComplexField,charType:Q.attr(t,"fldCharType"),lock:Q.boolAttr(t,"lock",!1),dirty:Q.boolAttr(t,"dirty",!1)});break;case"noBreakHyphen":r.children.push({type:We.NoBreakHyphen});break;case"softHyphen":r.children.push({type:We.SoftHyphen});break;case"cr":r.children.push({type:We.Break,break:"line"});break;case"ptab":r.children.push({type:We.PositionalTab});break;case"br":r.children.push({type:We.Break,break:Q.attr(t,"type")||"textWrapping"});break;case"lastRenderedPageBreak":r.children.push({type:We.Break,break:"lastRenderedPageBreak"});break;case"sym":r.children.push({type:We.Symbol,font:p(Q.attr(t,"font")),char:Q.hexAttr(t,"char")});break;case"tab":r.children.push({type:We.Tab});break;case"footnoteReference":r.children.push({type:We.FootnoteReference,id:Q.attr(t,"id"),customMarkFollows:Q.boolAttr(t,"customMarkFollows",!1)});break;case"endnoteReference":r.children.push({type:We.EndnoteReference,id:Q.attr(t,"id"),customMarkFollows:Q.boolAttr(t,"customMarkFollows",!1)});break;case"drawing":let e=this.parseDrawing(t);e&&r.children.push(e);break;case"pict":case"object":r.children.push(this.parseVmlPicture(t));break;case"ruby":r.children.push(this.parseRuby(t));break;case"rPr":this.parseRunProperties(t,r)}return r}parseRuby(e){const t={type:We.Ruby,children:[]};for(const r of Q.elements(e))switch(r.localName){case"rubyPr":for(const e of Q.elements(r))if("rubyAlign"===e.localName)t.align=Q.attr(e,"val");break;case"rt":t.children.push(this.parseRubyContent(r,We.RubyText));break;case"rubyBase":t.children.push(this.parseRubyContent(r,We.RubyBase))}return t}parseRubyContent(e,t){const r={type:t,children:[]};for(const n of Q.elements(e))if("r"==n.localName)r.children.push(this.parseRun(n,r));else if(t==We.RubyText&&"rPr"==n.localName){const e=Q.element(n,"hps"),t=e?Q.intAttr(e,"val",null):null;null!=t&&(r.cssStyle={...r.cssStyle??{},fontSize:t/2+"pt"})}return r}parseMathElement(e){const t=`${e.localName}Pr`,r={type:Xa[e.localName],children:[]};let n=!1;const a=e=>{if(Xa[e.localName]){const t=this.parseMathElement(e);t?(t.parent=r,r.children.push(t)):n=!0}else if("r"==e.localName){var s=this.parseRun(e,r);s.type=We.MmlRun,r.children.push(s)}else if(e.localName==t)r.props=this.parseMathProperies(e);else if("ins"==e.localName)for(const t of Q.elements(e))a(t);else if("del"==e.localName)if(this.options.renderChanges||null!=this.options.reviewMode)for(const t of Q.elements(e))a(t);else n=!0};for(const t of Q.elements(e))a(t);return n&&!this.hasVisibleMathContent(r)?null:r}hasVisibleMathContent(e){for(const t of e.children??[]){switch(t.type){case We.Text:if(t.text?.length)return!0;break;case We.DeletedText:if((this.options.renderChanges||null!=this.options.reviewMode)&&t.text?.length)return!0;break;case We.Symbol:case We.Tab:case We.PositionalTab:case We.NoBreakHyphen:case We.Break:return!0}if(this.hasVisibleMathContent(t))return!0}return!1}parseMathProperies(e){const t={};for(const r of Q.elements(e))switch(r.localName){case"chr":t.char=Q.attr(r,"val");break;case"vertJc":t.verticalJustification=Q.attr(r,"val");break;case"pos":t.position=Q.attr(r,"val");break;case"degHide":t.hideDegree=Q.boolAttr(r,"val");break;case"begChr":t.beginChar=Q.attr(r,"val");break;case"endChr":t.endChar=Q.attr(r,"val");break;case"limLoc":t.limitLocation=Q.attr(r,"val");break;case"grow":t.grow=Q.boolAttr(r,"val");break;case"sepChr":t.separatorChar=Q.attr(r,"val")}return t}parseRunProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,r=>{switch(r.localName){case"rStyle":t.styleName=Q.attr(r,"val");break;case"vertAlign":t.verticalAlign=es.valueOfVertAlign(r,!0);break;case"rPrChange":this.addFormatRevision(t,r,"run-format",e);break;default:return!1}return!0})}parseVmlPicture(e){const t={type:We.VmlPicture,children:[]};for(const r of Q.elements(e)){const e=$a(r,this);e&&t.children.push(e)}return t}checkAlternateContent(e){if("AlternateContent"!=e.localName)return e;for(const t of Q.elements(e).filter(e=>"Choice"==e.localName)){const r=(Q.attr(t,"Requires")??"").split(/\s+/).filter(Boolean);if(r.length>0&&r.every(t=>_a.includes(e.lookupNamespaceURI(t)))){const e=Q.elements(t)[0];if(e)return e}}const t=Q.element(e,"Fallback");return t?Q.elements(t)[0]:null}parseDrawing(e){for(var t of Q.elements(e))switch(t.localName){case"inline":case"anchor":return this.parseDrawingWrapper(t)}}parseDrawingWrapper(e){var t,r,n,a,s,o,i,l,c,h,d,u={type:We.Drawing,children:[],cssStyle:{},props:{}},m="anchor"==e.localName;const p={left:Q.lengthAttr(e,"distL",E),top:Q.lengthAttr(e,"distT",E),right:Q.lengthAttr(e,"distR",E),bottom:Q.lengthAttr(e,"distB",E)},f=(e,t)=>{t&&(u.cssStyle[e]=es.addSize(u.cssStyle[e],t))};let g=null,b=null,y=null,x=Q.boolAttr(e,"simplePos",!1),w=Q.boolAttr(e,"behindDoc",!1),v=Q.intAttr(e,"relativeHeight",null);null!=v&&(u.cssStyle["z-index"]=`${Math.max(1,Math.round(v/1e3))}`),w&&(u.cssStyle["z-index"]="0");let k={relative:"page",align:"left",offset:"0"},C={relative:"page",align:"top",offset:"0"},S=!1,N=!1,A=!1,P=!1;for(var M of Q.elements(e))switch(M.localName){case"simplePos":x&&(k.offset=Q.lengthAttr(M,"x",E),C.offset=Q.lengthAttr(M,"y",E),A=null!=k.offset,P=null!=C.offset);break;case"extent":u.cssStyle.width=Q.lengthAttr(M,"cx",E),u.cssStyle.height=Q.lengthAttr(M,"cy",E);break;case"effectExtent":f("margin-left",Q.lengthAttr(M,"l",E)),f("margin-top",Q.lengthAttr(M,"t",E)),f("margin-right",Q.lengthAttr(M,"r",E)),f("margin-bottom",Q.lengthAttr(M,"b",E));break;case"docPr":u.props.title=Q.attr(M,"title")??Q.attr(M,"name"),u.props.alt=Q.attr(M,"descr")??u.props.title;break;case"positionH":case"positionV":if(!x){let e="positionH"==M.localName,t=e?k:C;var $=Q.element(M,"align"),T=Q.element(M,"posOffset");t.relative=Q.attr(M,"relativeFrom")??t.relative,$&&(t.align=$.textContent,e?S=!0:N=!0),T&&(t.offset=z(T.textContent,E),e?A=null!=t.offset:P=null!=t.offset)}break;case"wrapTopAndBottom":g="wrapTopAndBottom";break;case"wrapNone":g="wrapNone";break;case"wrapSquare":g="wrapSquare",b=Q.attr(M,"wrapText");break;case"wrapTight":g="wrapTight",b=Q.attr(M,"wrapText"),y=this.parseWrapPolygon(M);break;case"wrapThrough":g="wrapThrough",b=Q.attr(M,"wrapText"),y=this.parseWrapPolygon(M);break;case"graphic":var F=this.parseGraphic(M);F&&(F.type==We.Image?((t=F).alt??(t.alt=u.props.alt),(r=F).title??(r.title=u.props.title)):F.type==We.Shape?((n=F).alt??(n.alt=u.props.alt),(a=F).title??(a.title=u.props.title)):F.type==We.Chart?((s=F).alt??(s.alt=u.props.alt),(o=F).title??(o.title=u.props.title)):F.type==We.SmartArt?((i=F).alt??(i.alt=u.props.alt),(l=F).title??(l.title=u.props.title)):F.type==We.Ink&&((c=F).alt??(c.alt=u.props.alt),(h=F).title??(h.title=u.props.title)),u.children.push(F))}u.props.anchorPosition={horizontal:{...k,offsetSpecified:A,alignSpecified:S},vertical:{...C,offsetSpecified:P,alignSpecified:N},wrapType:g,layoutInCell:Q.boolAttr(e,"layoutInCell",!0),simplePos:x},"wrapNone"!=g&&(f("margin-left",p.left),f("margin-top",p.top),f("margin-right",p.right),f("margin-bottom",p.bottom));const L=()=>{switch(k.align){case"center":u.cssStyle["margin-left"]="auto",u.cssStyle["margin-right"]="auto";break;case"right":u.cssStyle["margin-left"]="auto"}};return"wrapTopAndBottom"==g?(u.cssStyle.display="block",u.cssStyle.clear="both",S?L():A&&k.offset&&(u.cssStyle["margin-inline-start"]=es.addSize(u.cssStyle["margin-inline-start"],k.offset)),P&&C.offset&&(u.cssStyle["margin-top"]=es.addSize(u.cssStyle["margin-top"],C.offset))):"wrapNone"==g?(u.cssStyle.display="block",u.cssStyle.position=m?"absolute":"relative",k.offset&&(u.cssStyle.left=k.offset),C.offset&&(u.cssStyle.top=C.offset)):"wrapSquare"==g||"wrapTight"==g||"wrapThrough"==g?(y&&(u.cssStyle["shape-outside"]=y,(d=u.cssStyle)["clip-path"]??(d["clip-path"]=y)),"left"==b?u.cssStyle.float="right":"right"==b?u.cssStyle.float="left":"left"==k.align||"right"==k.align?u.cssStyle.float=k.align:(u.cssStyle.display="block",L())):!m||"left"!=k.align&&"right"!=k.align?u.cssStyle["vertical-align"]="text-bottom":u.cssStyle.float=k.align,this.applyDrawingFloatOffsets(u,e)}applyDrawingFloatOffsets(e,t){const r=e.cssStyle,n=e.props?.anchorPosition;if(!r?.float||!n)return e;const a=e=>{if(n.simplePos)return!0;const r=Q.element(t,`position${e}`);return!!r&&!!Q.element(r,"posOffset")},s=/^-?\d+(?:\.\d+)?(?:pt|px|in|cm|mm)?$/,o=n.horizontal,i=n.vertical;return a("H")&&"column"==o?.relative&&s.test(o.offset??"")&&s.test(r.width??"")&&(r["--docx-float-column-position"]=o.offset,r["--docx-float-origin-offset"]="0px","right"==r.float?r["margin-right"]=`calc(100% - ${o.offset} - ${r.width} - var(--docx-float-origin-offset, 0px))`:"left"==r.float&&(r["margin-left"]=`calc(${o.offset} + var(--docx-float-origin-offset, 0px))`)),a("V")&&"paragraph"==i?.relative&&s.test(i.offset??"")&&(r["margin-top"]=i.offset),e}parseWrapPolygon(e){const t=Q.element(e,"wrapPolygon");if(!t)return null;const r=[],n=e=>{const t=Q.lengthAttr(e,"x",E),n=Q.lengthAttr(e,"y",E);t&&n&&r.push(`${t} ${n}`)};for(const e of Q.elements(t))"start"!=e.localName&&"lineTo"!=e.localName||n(e);return r.length>=3?`polygon(${r.join(", ")})`:null}parseGraphic(e){var t=Q.element(e,"graphicData");if(!t)return null;for(let e of Q.elements(t))switch(e.localName){case"pic":return this.parsePicture(e);case"wpc":case"wgp":case"grpSp":return this.parseDrawingContainer(e);case"wsp":case"sp":case"cxnSp":return this.parseWordprocessingShape(e);case"chart":return this.parseChartReference(e);case"relIds":case"diagram":return this.parseSmartArtReference(e);case"contentPart":case"ink":return this.parseInkReference(e)}const r=this.findDescendant(t,"contentPart");return r?this.parseInkReference(r):null}parseDrawingContainer(e,t){const r={type:We.Shape,children:[],cssStyle:{display:"inline-block",position:"relative",width:"100%",height:"100%",overflow:"visible","box-sizing":"border-box"},props:{dmlContainer:!0}},n=this.parseDmlGroupTransform(e,t);for(const t of Q.elements(e))switch(t.localName){case"wsp":case"sp":case"cxnSp":const e=this.parseDmlPositionedShape(t,n);e&&r.children.push(e);break;case"pic":const a=this.parseDmlPositionedPicture(t,n);a&&r.children.push(a);break;case"grpSp":case"wgp":const s=this.parseDrawingContainer(t,n);s&&r.children.push(s)}return r}parseDmlGroupTransform(e,t){const r=Q.element(e,"grpSpPr"),n=r?Q.element(r,"xfrm"):Q.element(e,"xfrm"),a=n?Q.element(n,"off"):null,s=n?Q.element(n,"ext"):null,o=n?Q.element(n,"chOff"):null,i=n?Q.element(n,"chExt"):null,l=s?Q.floatAttr(s,"cx",null):null,c=s?Q.floatAttr(s,"cy",null):null,h=i?Q.floatAttr(i,"cx",null):null,d=i?Q.floatAttr(i,"cy",null):null,u=t?.scaleX??1,m=t?.scaleY??1,p=a?Q.floatAttr(a,"x",0):0,f=a?Q.floatAttr(a,"y",0):0;return{originX:t?t.originX+(p-t.offsetX)*u:0,originY:t?t.originY+(f-t.offsetY)*m:0,offsetX:o?Q.floatAttr(o,"x",0):0,offsetY:o?Q.floatAttr(o,"y",0):0,scaleX:u*(l&&h?l/h:1),scaleY:m*(c&&d?c/d:1)}}parseDmlPositionedPicture(e,t){const r=this.parsePicture(e),n=Q.element(e,"spPr");if(!r||!n)return r;const a=this.parseDmlShapeBounds(n,t);return r.cssStyle.position="absolute",r.cssStyle.left=this.pt(a.left),r.cssStyle.top=this.pt(a.top),r.cssStyle.width=this.pt(a.width),r.cssStyle.height=this.pt(a.height),r}parseDmlPositionedShape(e,t){const r=Q.element(e,"spPr");if(!r)return null;const n=this.parseDmlShapeBounds(r,t),a=[];let s=null,o=!1;for(const t of Q.elements(e))switch(t.localName){case"txbx":case"textBox":o=!0;for(const e of Q.elements(t,"txbxContent"))a.push(...this.parseBodyElements(e));break;case"bodyPr":s=t}s??(s=Q.element(e,"bodyPr"));const i={position:"absolute",left:this.pt(n.left),top:this.pt(n.top),width:this.pt(n.width),height:this.pt(n.height),"box-sizing":"border-box",overflow:"hidden"},l=Q.element(e,"cNvPr"),c=Q.element(r,"custGeom"),h=Q.element(r,"prstGeom"),d=this.parseDmlFillStyle(r),u=this.parseDmlLineStyle(Q.element(r,"ln"));if(c){const e=this.parseDmlCustomGeometry(c);return{type:We.Shape,children:[],cssStyle:{...i,overflow:"visible"},props:{dmlSvg:!0,viewBox:e?.viewBox??"0 0 1 1",pathD:e?.d??"",fill:d.fill??"none",stroke:u.stroke??"none",strokeWidth:u.strokeWidth??"0",strokeDasharray:u.strokeDasharray},title:l?Q.attr(l,"title")??Q.attr(l,"name"):null,alt:l?Q.attr(l,"descr"):null}}d.backgroundColor&&(i["background-color"]=d.backgroundColor),d.backgroundImage&&(i["background-image"]=d.backgroundImage),u.stroke&&"none"!=u.stroke?i.border=`${u.strokeWidth||"0.75pt"} ${u.borderType||"solid"} ${u.stroke}`:i.border="none";const m=o?this.parseDmlTextBoxProperties(s):null;return{type:We.Shape,children:a,cssStyle:i,props:{dmlShape:!0,presetGeometry:h?Q.attr(h,"prst"):null,...m},title:l?Q.attr(l,"title")??Q.attr(l,"name"):null,alt:l?Q.attr(l,"descr"):null}}parseDmlShapeBounds(e,t){const r=Q.element(e,"xfrm"),n=r?Q.element(r,"off"):null,a=r?Q.element(r,"ext"):null,s=t?.scaleX??1,o=t?.scaleY??1,i=t?.offsetX??0,l=t?.offsetY??0,c=t?.originX??0,h=t?.originY??0,d=n?Q.floatAttr(n,"x",0):0,u=n?Q.floatAttr(n,"y",0):0,m=a?Q.floatAttr(a,"cx",0):0,p=a?Q.floatAttr(a,"cy",0):0;return{left:this.emuToPt(c+(d-i)*s),top:this.emuToPt(h+(u-l)*o),width:Math.max(0,this.emuToPt(m*s)),height:Math.max(0,this.emuToPt(p*o))}}parseDmlFillStyle(e){if(Q.element(e,"noFill"))return{fill:"none",backgroundColor:"transparent"};const t=Q.element(e,"solidFill");if(t){const e=this.parseDmlColor(t)??"transparent";return{fill:e,backgroundColor:e}}const r=Q.element(e,"pattFill");if(r){const e=this.parseDmlColor(Q.element(r,"fgClr"))??"currentColor",t=this.parseDmlColor(Q.element(r,"bgClr"))??"transparent",n=Q.attr(r,"prst");return{fill:t,backgroundColor:t,backgroundImage:`repeating-linear-gradient(${n&&n.toLowerCase().includes("horz")?"0deg":"90deg"}, ${e} 0, ${e} 0.75pt, ${t} 0.75pt, ${t} 3pt)`}}return{fill:"none",backgroundColor:"transparent"}}parseDmlLineStyle(e){if(!e||Q.element(e,"noFill"))return{stroke:"none",strokeWidth:"0",borderType:"none"};const t=this.parseDmlColor(Q.element(e,"solidFill"))??"black",r=Q.attr(e,"w")?this.pt(this.emuToPt(Q.floatAttr(e,"w",0))):"0.75pt",n=Q.elementAttr(e,"prstDash","val");let a=null,s="solid";return n&&"solid"!=n&&(s="dashed",a="dot"==n?"1 2":"4 3"),{stroke:t,strokeWidth:r,borderType:s,strokeDasharray:a}}parseDmlCustomGeometry(e){const t=Q.element(e,"pathLst"),r=t?Q.elements(t,"path"):[];let n="",a=1,s=1;for(const e of r){const t=Q.floatAttr(e,"w",a),r=Q.floatAttr(e,"h",s);a=Math.max(a,t||1),s=Math.max(s,r||1),n+=this.parseDmlPathData(e,t||1,r||1)}return{d:n.trim(),viewBox:`0 0 ${a} ${s}`}}parseDmlPathData(e,t,r){const n=[],a=e=>{const n=Q.element(e,"pt");return n?`${this.dmlCoord(Q.attr(n,"x"),t,r)} ${this.dmlCoord(Q.attr(n,"y"),t,r)}`:"0 0"};for(const s of Q.elements(e))switch(s.localName){case"moveTo":n.push(`M ${a(s)}`);break;case"lnTo":n.push(`L ${a(s)}`);break;case"cubicBezTo":const e=Q.elements(s,"pt").map(e=>`${this.dmlCoord(Q.attr(e,"x"),t,r)} ${this.dmlCoord(Q.attr(e,"y"),t,r)}`);3==e.length&&n.push(`C ${e.join(" ")}`);break;case"quadBezTo":const o=Q.elements(s,"pt").map(e=>`${this.dmlCoord(Q.attr(e,"x"),t,r)} ${this.dmlCoord(Q.attr(e,"y"),t,r)}`);2==o.length&&n.push(`Q ${o.join(" ")}`);break;case"close":n.push("Z")}return n.join(" ")+" "}dmlCoord(e,t,r){if("w"==e||"r"==e)return t;if("h"==e||"b"==e)return r;if("l"==e||"t"==e)return 0;const n=parseFloat(e);return Number.isFinite(n)?n:0}dmlVerticalAlign(e){switch(e?Q.attr(e,"anchor"):null){case"ctr":return"center";case"b":return"flex-end";default:return"flex-start"}}applyDmlTextInsets(e,t){if(!e)return;const r={lIns:"padding-left",tIns:"padding-top",rIns:"padding-right",bIns:"padding-bottom"};for(const[n,a]of Object.entries(r)){const r=Q.attr(e,n);null!=r&&(t[a]=this.pt(this.emuToPt(parseFloat(r))))}}parseDmlTextBoxProperties(e){const t={};return this.applyDmlTextInsets(e,t),{dmlTextBox:!0,textInsets:t,textVerticalAlign:this.dmlVerticalAlign(e)}}emuToPt(e){return(Number.isFinite(e)?e:0)/12700}pt(e){return Math.round(100*e)/100+"pt"}parseChartReference(e){return{type:We.Chart,id:Q.attr(e,"id"),cssStyle:{width:"100%",height:"100%"}}}parseSmartArtReference(e){const t="relIds"==e.localName?e:this.findDescendant(e,"relIds");return{type:We.SmartArt,dataId:t?Q.attr(t,"dm"):Q.attr(e,"dm"),layoutId:t?Q.attr(t,"lo"):Q.attr(e,"lo"),styleId:t?Q.attr(t,"qs"):Q.attr(e,"qs"),colorId:t?Q.attr(t,"cs"):Q.attr(e,"cs"),cssStyle:{width:"100%",height:"100%"}}}parseInkReference(e){return{type:We.Ink,id:Q.attr(e,"id"),cssStyle:{width:"100%",height:"100%"}}}parseGraphicPlaceholder(e){return{type:We.Shape,children:[{type:We.Text,text:`[${e}]`}],cssStyle:{display:"inline-flex","align-items":"center","justify-content":"center",border:"1px solid #999","background-color":"#f8f8f8",color:"#555","min-width":"2in","min-height":"1in"}}}parseWordprocessingShape(e){const t={type:We.Shape,children:[],cssStyle:{display:"inline-block",position:"relative","box-sizing":"border-box",overflow:"hidden"}},r=this.findDescendant(e,"cNvPr");let n=null,a=!1;r&&(t.title=Q.attr(r,"title")??Q.attr(r,"name"),t.alt=Q.attr(r,"descr")??t.title);for(const r of Q.elements(e))switch(r.localName){case"spPr":this.parseDmlShapeProperties(r,t.cssStyle);break;case"txbx":case"textBox":a=!0;for(const e of Q.elements(r,"txbxContent"))t.children.push(...this.parseBodyElements(e));break;case"bodyPr":n=r}return a&&(t.props={...t.props??{},...this.parseDmlTextBoxProperties(n)}),t}parseDmlShapeProperties(e,t){const r=Q.element(e,"xfrm");if(r)for(const e of Q.elements(r))if("ext"===e.localName)t.width=Q.lengthAttr(e,"cx",E),t.height=Q.lengthAttr(e,"cy",E);const n=Q.element(e,"solidFill"),a=Q.element(e,"noFill"),s=Q.element(e,"ln");if(n?t["background-color"]=this.parseDmlColor(n)??t["background-color"]:a&&(t["background-color"]="transparent"),s&&Q.element(s,"noFill"))t.border="none";else if(s){const e=this.parseDmlColor(Q.element(s,"solidFill"))??"black",r=Q.lengthAttr(s,"w",E)??"1px",n=Q.elementAttr(s,"prstDash","val"),a=n&&"solid"!=n?"dashed":"solid";t.border=`${r} ${a} ${e}`}}parseDmlColor(e){if(!e)return null;const t=Q.element(e,"srgbClr"),r=Q.element(e,"schemeClr"),n=Q.element(e,"prstClr"),a=Q.element(e,"sysClr");if(t)return this.applyDmlColorTransforms(t,`#${Q.attr(t,"val")}`);if(r){const e=this.resolveDmlSchemeColor(Q.attr(r,"val")),t=this.dmlSchemeColorFallback(e);return this.applyDmlColorTransforms(r,`var(--docx-${e}-color${t?`, ${t}`:""})`)}return a?this.applyDmlColorTransforms(a,`#${Q.attr(a,"lastClr")??Q.attr(a,"val")}`):n?this.applyDmlColorTransforms(n,Q.attr(n,"val")):null}resolveDmlSchemeColor(e){switch(e){case"bg1":return"lt1";case"tx1":return"dk1";case"bg2":return"lt2";case"tx2":return"dk2";default:return e}}dmlSchemeColorFallback(e){return Za(e)}applyDmlColorTransforms(e,t){const r=Q.elementAttr(e,"lumMod","val"),n=Q.elementAttr(e,"lumOff","val");if(null!=r){const e=Math.max(0,Math.min(100,parseFloat(r)/1e3));Number.isFinite(e)&&e<100&&(t=`color-mix(in srgb, ${t} ${e}%, black)`)}if(null!=n){const e=Math.max(0,Math.min(100,parseFloat(n)/1e3));Number.isFinite(e)&&e>0&&(t=`color-mix(in srgb, ${t} ${100-e}%, white)`)}return t}findDescendant(e,t){for(const r of Q.elements(e)){if(r.localName==t)return r;const e=this.findDescendant(r,t);if(e)return e}return null}parsePicture(e){var t={type:We.Image,src:"",cssStyle:{}},r=Q.element(e,"blipFill"),n=r?Q.element(r,"blip"):null,a=r?Q.element(r,"srcRect"):null;t.src=n?Q.attr(n,"embed")??Q.attr(n,"link"):"";const s=this.findDescendant(e,"cNvPr");s&&(t.title=Q.attr(s,"title")??Q.attr(s,"name"),t.alt=Q.attr(s,"descr")??t.title),a&&(t.srcRect=[Q.intAttr(a,"l",0)/1e5,Q.intAttr(a,"t",0)/1e5,Q.intAttr(a,"r",0)/1e5,Q.intAttr(a,"b",0)/1e5]);var o=Q.element(e,"spPr"),i=o?Q.element(o,"xfrm"):null,l=[];if(t.cssStyle.display="block",t.cssStyle.position="relative",t.cssStyle["object-fit"]="contain",i)for(var c of(t.rotation=Q.intAttr(i,"rot",0)/6e4,Q.boolAttr(i,"flipH",!1)&&l.push("scaleX(-1)"),Q.boolAttr(i,"flipV",!1)&&l.push("scaleY(-1)"),Q.elements(i)))if("ext"===c.localName)t.cssStyle.width=Q.lengthAttr(c,"cx",E),t.cssStyle.height=Q.lengthAttr(c,"cy",E);return l.length>0&&(t.cssStyle.transform=l.join(" ")),t.cssStyle.width||(t.cssStyle.width="100%"),t.cssStyle.height||(t.cssStyle.height="100%"),t}parseTable(e){var t={type:We.Table,children:[]};for(const r of Q.elements(e))switch(r.localName){case"tr":t.children.push(this.parseTableRow(r));break;case"tblGrid":t.columns=this.parseTableColumns(r);break;case"tblPr":this.parseTableProperties(r,t)}return t}parseTableColumns(e){var t=[];for(const r of Q.elements(e))if("gridCol"===r.localName)t.push({width:Q.lengthAttr(r,"w")});return t}parseTableProperties(e,t){t.cssStyle={},t.cellStyle={};let r=null;this.parseDefaultProperties(e,t.cssStyle,t.cellStyle,n=>{switch(n.localName){case"tblStyle":t.styleName=Q.attr(n,"val");break;case"tblLook":t.className=es.classNameOftblLook(n);break;case"tblInd":r=this.parseTableIndentation(n);break;case"tblpPr":this.parseTablePosition(n,t);break;case"tblStyleColBandSize":t.colBandSize=Q.intAttr(n,"val");break;case"tblStyleRowBandSize":t.rowBandSize=Q.intAttr(n,"val");break;case"tblPrChange":this.addFormatRevision(t,n,"table-format",e);break;case"hidden":Q.boolAttr(n,"val",!0)&&(t.cssStyle.display="none");break;default:return!1}return!0});switch(t.cssStyle["text-align"]){case"center":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto",t.cssStyle["margin-right"]="auto";break;case"right":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto";break;default:delete t.cssStyle["text-align"],r&&(t.cssStyle["margin-inline-start"]=es.addSize(t.cssStyle["margin-inline-start"],r))}}parseTableIndentation(e){const t=Q.attr(e,"type");return"pct"==t||"auto"==t?null:Q.lengthAttr(e,"w",L)}parseTablePosition(e,t){var r=Q.lengthAttr(e,"topFromText"),n=Q.lengthAttr(e,"bottomFromText"),a=Q.lengthAttr(e,"rightFromText"),s=Q.lengthAttr(e,"leftFromText");t.cssStyle.float="left",t.cssStyle["margin-bottom"]=es.addSize(t.cssStyle["margin-bottom"],n),t.cssStyle["margin-left"]=es.addSize(t.cssStyle["margin-left"],s),t.cssStyle["margin-right"]=es.addSize(t.cssStyle["margin-right"],a),t.cssStyle["margin-top"]=es.addSize(t.cssStyle["margin-top"],r)}parseTableRow(e){var t={type:We.Row,children:[]};for(const r of Q.elements(e))switch(r.localName){case"tc":t.children.push(this.parseTableCell(r));break;case"trPr":case"tblPrEx":this.parseTableRowProperties(r,t)}return t.children=this.normalizeHorizontalMerges(t.children),t}normalizeHorizontalMerges(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if("restart"!=n.horizontalMerge){t.push(n);continue}let a=n.span??1,s=r+1;for(;s<e.length&&"continue"==e[s].horizontalMerge;)a+=e[s].span??1,s++;s>r+1&&(n.span=a,r=s-1),t.push(n)}return t}parseTableRowProperties(e,t){const r={};t.cssStyle=this.parseDefaultProperties(e,r,null,n=>{switch(n.localName){case"cnfStyle":t.className=es.classNameOfCnfStyle(n);break;case"tblHeader":t.isHeader=Q.boolAttr(n,"val");break;case"gridBefore":t.gridBefore=Q.intAttr(n,"val");break;case"gridAfter":t.gridAfter=Q.intAttr(n,"val");break;case"cantSplit":Q.boolAttr(n,"val",!0)&&(r["break-inside"]="avoid");break;case"hidden":Q.boolAttr(n,"val",!0)&&(r.display="none");break;case"ins":this.addStructuralRevision(t,n,"insert");break;case"del":this.addStructuralRevision(t,n,"delete");break;case"trPrChange":this.addFormatRevision(t,n,"row-format",e);break;default:return!1}return!0})}parseTableCell(e){var t={type:We.Cell,children:[]};for(const r of Q.elements(e))switch(r.localName){case"tbl":t.children.push(this.parseTable(r));break;case"p":t.children.push(this.parseParagraph(r));break;case"tcPr":this.parseTableCellProperties(r,t)}return t}parseTableCellProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,r=>{switch(r.localName){case"gridSpan":t.span=Q.intAttr(r,"val",null);break;case"hMerge":t.horizontalMerge=Q.attr(r,"val")??"continue";break;case"vMerge":t.verticalMerge=Q.attr(r,"val")??"continue";break;case"cnfStyle":t.className=es.classNameOfCnfStyle(r);break;case"tcPrChange":this.addFormatRevision(t,r,"cell-format",e);break;default:return!1}return!0});const r=Q.element(e,"tcBorders");if(r){const e={};for(const t of Q.elements(r))"tl2br"!==t.localName&&"tr2bl"!==t.localName||(e[t.localName]=es.valueOfBorder(t));Object.keys(e).length&&(t.props={...t.props,diagonalBorders:e})}this.parseTableCellVerticalText(e,t)}addStructuralRevision(e,t,r){e.props={...e.props??{},revision:this.revisionMetadata(t,r)}}addFormatRevision(e,t,r,n){const a=Q.elements(t)[0],s=this.captureFormatProperties(a),o=this.captureFormatProperties(n),i=[...new Set([...Object.keys(s),...Object.keys(o)])].sort().filter(e=>s[e]!==o[e]).map(e=>({property:e,before:s[e],after:o[e]})),l={...this.revisionMetadata(t,r),formatChanges:i},c=[...e.props?.formatRevisions??[],l];e.props={...e.props??{},formatRevisions:c}}captureFormatProperties(e){const t={};if(!e)return t;for(const r of Q.elements(e))/PrChange$/.test(r.localName)||(t[r.localName]=this.serializeFormatProperty(r));return t}serializeFormatProperty(e){return[...Array.from(e.attributes??[]).map(e=>[e.localName||e.name,e.value]).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${e}=${t}`),...Q.elements(e).map(e=>`${e.localName}{${this.serializeFormatProperty(e)}}`)].join("|")||"true"}revisionMetadata(e,t){return{id:Q.attr(e,"id"),author:Q.attr(e,"author"),date:Q.attr(e,"date"),kind:t}}parseTableCellVerticalText(e,t){const r={btLr:{writingMode:"vertical-rl",transform:"rotate(180deg)"},lrTb:{writingMode:"vertical-lr",transform:"none"},tbRl:{writingMode:"vertical-rl",transform:"none"}};for(const n of Q.elements(e))if("textDirection"===n.localName){const e=r[Q.attr(n,"val")]||{writingMode:"horizontal-tb"};t.cssStyle["writing-mode"]=e.writingMode,t.cssStyle.transform=e.transform}}parseDefaultProperties(e,t=null,r=null,n=null){t=t||{};const a=Q.element(e,"lang"),s={latin:a?Q.attr(a,"val"):"",eastAsia:a?Q.attr(a,"eastAsia"):"",bidi:a?Q.attr(a,"bidi"):""};for(const a of Q.elements(e))if(!n?.(a))switch(a.localName){case"jc":t["text-align"]=es.valueOfJc(a);break;case"textAlignment":t["vertical-align"]=es.valueOfTextAlignment(a);break;case"color":t.color=Qa.colorAttr(a,"val",null,ja);break;case"sz":t["font-size"]=t["min-height"]=Q.lengthAttr(a,"val",R);break;case"szCs":t["font-size"]??(t["font-size"]=Q.lengthAttr(a,"val",R)),t["min-height"]??(t["min-height"]=t["font-size"]);break;case"shd":t["background-color"]=Qa.colorAttr(a,"fill",null,Ua);break;case"highlight":t["background-color"]=Qa.colorAttr(a,"val",null,Ga);break;case"vertAlign":t["vertical-align"]=es.valueOfVertAlign(a);break;case"position":t["vertical-align"]=Q.lengthAttr(a,"val",B);break;case"w":case"scale":const n=Q.intAttr(a,"val",100);Number.isFinite(n)&&n>0&&n<=600&&(t["--docx-text-scale"]=""+n/100);break;case"tcW":if(this.options.ignoreWidth)break;case"tblW":t.width=es.valueOfSize(a,"w");break;case"trHeight":this.parseTrHeight(a,t);break;case"strike":t["text-decoration"]=Q.boolAttr(a,"val",!0)?"line-through":"none";break;case"dstrike":Q.boolAttr(a,"val",!0)?(t["text-decoration-line"]="line-through",t["text-decoration-style"]="double"):t["text-decoration"]="none";break;case"b":t["font-weight"]=Q.boolAttr(a,"val",!0)?"bold":"normal";break;case"i":t["font-style"]=Q.boolAttr(a,"val",!0)?"italic":"normal";break;case"bCs":t["--docx-bidi-font-weight"]=Q.boolAttr(a,"val",!0)?"bold":"normal","rtl"==t.direction&&(t["font-weight"]=t["--docx-bidi-font-weight"]);break;case"iCs":t["--docx-bidi-font-style"]=Q.boolAttr(a,"val",!0)?"italic":"normal","rtl"==t.direction&&(t["font-style"]=t["--docx-bidi-font-style"]);break;case"caps":t["text-transform"]=Q.boolAttr(a,"val",!0)?"uppercase":"none";break;case"smallCaps":t["font-variant"]=Q.boolAttr(a,"val",!0)?"small-caps":"none";break;case"rtl":Q.boolAttr(a,"val",!0)&&(t.direction="rtl",t["unicode-bidi"]="embed",t["--docx-bidi-font-weight"]&&(t["font-weight"]=t["--docx-bidi-font-weight"]),t["--docx-bidi-font-style"]&&(t["font-style"]=t["--docx-bidi-font-style"]));break;case"outline":Q.boolAttr(a,"val",!0)&&(t["-webkit-text-stroke"]="0.5px currentColor");break;case"shadow":Q.boolAttr(a,"val",!0)&&(t["text-shadow"]="1px 1px 0 currentColor");break;case"emboss":Q.boolAttr(a,"val",!0)&&(t["text-shadow"]="-1px -1px 0 rgba(255,255,255,.75), 1px 1px 0 rgba(0,0,0,.35)");break;case"imprint":Q.boolAttr(a,"val",!0)&&(t["text-shadow"]="1px 1px 0 rgba(255,255,255,.75), -1px -1px 0 rgba(0,0,0,.35)");break;case"em":t["text-emphasis-style"]=es.valueOfEmphasisMark(a);break;case"u":this.parseUnderline(a,t);break;case"ind":case"tblInd":this.parseIndentation(a,t);break;case"rFonts":this.parseFont(a,t,s);break;case"tblBorders":this.parseBorderProperties(a,r||t);break;case"tblCellSpacing":t["border-spacing"]=es.valueOfMargin(a),t["border-collapse"]="separate";break;case"pBdr":this.parseBorderProperties(a,t);break;case"bdr":t.border=es.valueOfBorder(a);break;case"tcBorders":this.parseBorderProperties(a,t);break;case"vanish":Q.boolAttr(a,"val",!0)&&(t.display="none");break;case"kern":t["font-kerning"]=Q.intAttr(a,"val",0)>0?"normal":"none";break;case"noWrap":t["white-space"]=Q.boolAttr(a,"val",!0)?"nowrap":"normal";break;case"snapToGrid":t["--docx-snap-to-grid"]=Q.boolAttr(a,"val",!0)?"1":"0";break;case"fitText":this.parseFitText(a,t);break;case"eastAsianLayout":this.parseEastAsianLayout(a,t);break;case"tblCellMar":case"tcMar":this.parseMarginProperties(a,r||t);break;case"tblLayout":t["table-layout"]=es.valueOfTblLayout(a);break;case"vAlign":t["vertical-align"]=es.valueOfTextAlignment(a);break;case"spacing":"pPr"==e.localName?this.parseSpacing(a,t):"rPr"==e.localName&&(t["letter-spacing"]=Q.lengthAttr(a,"val",L));break;case"wordWrap":Q.boolAttr(a,"val")&&(t["overflow-wrap"]="break-word");break;case"suppressAutoHyphens":t.hyphens=Q.boolAttr(a,"val",!0)?"none":"auto";break;case"lang":t.$lang=Q.attr(a,"val"),t["$lang-eastAsia"]=Q.attr(a,"eastAsia"),t["$lang-bidi"]=Q.attr(a,"bidi");break;case"rtl":case"bidi":Q.boolAttr(a,"val",!0)&&(t.direction="rtl");break;case"pageBreakBefore":Q.boolAttr(a,"val",!0)&&(t["break-before"]="page");break;case"keepLines":Q.boolAttr(a,"val",!0)&&(t["break-inside"]="avoid");break;case"keepNext":Q.boolAttr(a,"val",!0)&&(t["break-after"]="avoid");break;case"widowControl":Q.boolAttr(a,"val",!0)&&(t.orphans="2",t.widows="2");break;case"webHidden":this.options.hideWebHiddenContent&&Q.boolAttr(a,"val",!0)&&(t.display="none");break;case"specVanish":Q.boolAttr(a,"val",!0)&&(t.display="none");break;case"tabs":case"outlineLvl":case"contextualSpacing":case"tblStyleColBandSize":case"tblStyleRowBandSize":case"suppressLineNumbers":case"noProof":break;default:this.options.debug&&console.warn(`DOCX: Unknown document element: ${e.localName}.${a.localName}`)}return t}parseFitText(e,t){const r=Q.lengthAttr(e,"val");r&&(t.display="inline-block",t.width=r,t["text-align"]="justify",t["text-align-last"]="justify")}parseEastAsianLayout(e,t){Q.boolAttr(e,"combine",!1)&&(t["text-combine-upright"]="all"),Q.boolAttr(e,"vert",!1)&&(t["writing-mode"]="vertical-rl"),Q.boolAttr(e,"vertCompress",!1)&&(t["font-stretch"]="condensed")}parseUnderline(e,t){var r=Q.attr(e,"val");if(null!=r){switch(r){case"dash":case"dashDotDotHeavy":case"dashDotHeavy":case"dashedHeavy":case"dashLong":case"dashLongHeavy":case"dotDash":case"dotDotDash":t["text-decoration"]="underline dashed";break;case"dotted":case"dottedHeavy":t["text-decoration"]="underline dotted";break;case"double":t["text-decoration"]="underline double";break;case"single":case"thick":case"words":t["text-decoration"]="underline";break;case"wave":case"wavyDouble":case"wavyHeavy":t["text-decoration"]="underline wavy";break;case"none":t["text-decoration"]="none"}var n=Qa.colorAttr(e,"color");n&&(t["text-decoration-color"]=n)}}parseFont(e,t,r={}){var n=Q.attr(e,"ascii"),a=Q.attr(e,"hAnsi"),s=Q.attr(e,"eastAsia"),o=Q.attr(e,"cs"),i=es.themeValue(e,"asciiTheme"),l=es.themeValue(e,"hAnsiTheme"),c=this.scriptThemeFontValue(es.themeValue(e,"eastAsiaTheme"),r.eastAsia),h=this.scriptThemeFontValue(es.themeValue(e,"cstheme")??es.themeValue(e,"csTheme"),r.bidi);const d=Ze(r.eastAsia),u=(e,t="")=>function(e){const t=String(e??"").normalize("NFKC").toLowerCase();return/simsun|nsimsun|宋体|宋體|songti|shusong|书宋|書宋|fangsong|仿宋|mincho|明朝|明體|mingliu|pmingliu|batang|명조|kaiti|楷体|楷體|stkaiti|simhei|黑体|黑體|heiti|dengxian|等线|等線|yahei|fangzheng|方正|fz(?:fs|kt|ht|ss|xbs)|ゴシック|(?:^|\s)(?:ms|yu)\s+p?gothic|meiryo|メイリオ|malgun|맑은/.test(t)}(e)?f(e,t):[p(e)];var m=[n,a].filter(e=>e).flatMap(e=>u(e,d));if(m.push(...[i,l].filter(e=>e).map(e=>e.startsWith("var(")?e:p(e))),s&&m.push(...f(s,d)),c&&m.push(c.startsWith("var(")?c:p(c)),o&&m.push(...u(o,Ze(r.bidi))),h&&m.push(h.startsWith("var(")?h:p(h)),m.length>0){const e=(t["font-family"]??"").split(",").map(e=>e.trim()).filter(e=>e);t["font-family"]=[...new Set([...e,...m])].join(", ")}}scriptThemeFontValue(e,t){if(!e)return e;const r=Ze(t),n=/^var\((--docx-(?:major|minor)(?:EastAsia|Bidi|Cs)-font)\)$/.exec(e);return r&&n?`var(${n[1]}-${r}, ${e})`:e}parseIndentation(e,t){var r=Q.lengthAttr(e,"firstLine"),n=Q.lengthAttr(e,"hanging"),a=Q.lengthAttr(e,"left"),s=Q.lengthAttr(e,"start"),o=Q.lengthAttr(e,"right"),i=Q.lengthAttr(e,"end");r&&(t["text-indent"]=r,t["--docx-text-indent"]=r),n&&(t["text-indent"]=`-${n}`,t["--docx-text-indent"]=`-${n}`,t["--docx-hanging-indent"]=n),(a||s)&&(t["margin-inline-start"]=a||s,t["--docx-margin-inline-start"]=a||s),(o||i)&&(t["margin-inline-end"]=o||i,t["--docx-margin-inline-end"]=o||i)}parseSpacing(e,t){var r=Q.lengthAttr(e,"before"),n=Q.lengthAttr(e,"after"),a=Q.intAttr(e,"beforeLines",null),s=Q.intAttr(e,"afterLines",null),o=Q.boolAttr(e,"beforeAutospacing",!1),i=Q.boolAttr(e,"afterAutospacing",!1),l=Q.intAttr(e,"line",null),c=Q.attr(e,"lineRule");if(o?t["margin-top"]="auto":Number.isFinite(a)&&a>=0?t["margin-top"]=`${(a/100).toFixed(2)}em`:r&&(t["margin-top"]=r),i?t["margin-bottom"]="auto":Number.isFinite(s)&&s>=0?t["margin-bottom"]=`${(s/100).toFixed(2)}em`:n&&(t["margin-bottom"]=n),null!==l)switch(c??"auto"){case"auto":default:t["line-height"]=`${(l/240).toFixed(2)}`;break;case"atLeast":t["line-height"]=`max(1.2em, ${(l/20).toFixed(2)}pt)`,t["min-height"]=`max(1.2em, ${(l/20).toFixed(2)}pt)`;break;case"exact":case"exactly":t["line-height"]=t["min-height"]=`${(l/20).toFixed(2)}pt`}}parseMarginProperties(e,t){for(const r of Q.elements(e))switch(r.localName){case"left":case"start":t["padding-left"]=es.valueOfMargin(r);break;case"right":case"end":t["padding-right"]=es.valueOfMargin(r);break;case"top":t["padding-top"]=es.valueOfMargin(r);break;case"bottom":t["padding-bottom"]=es.valueOfMargin(r)}}parseTrHeight(e,t){Q.attr(e,"hRule"),t.height=Q.lengthAttr(e,"val")}parseBorderProperties(e,t){for(const r of Q.elements(e)){const e=es.valueOfBorder(r);switch(r.localName){case"start":case"left":t["border-left"]=e;break;case"end":case"right":t["border-right"]=e;break;case"top":t["border-top"]=e;break;case"bottom":t["border-bottom"]=e;break;case"insideH":t["border-top"]??(t["border-top"]=e),t["border-bottom"]??(t["border-bottom"]=e);break;case"insideV":t["border-left"]??(t["border-left"]=e),t["border-right"]??(t["border-right"]=e)}}}}const Ya=["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","none","red","white","yellow"],Ja={dark1:"dk1",light1:"lt1",dark2:"dk2",light2:"lt2",text1:"dk1",background1:"lt1",text2:"dk2",background2:"lt2",hyperlink:"hlink",followedHyperlink:"folHlink"};function Za(e){switch(e){case"dk1":return"#000000";case"lt1":return"#FFFFFF";case"dk2":return"#44546A";case"lt2":return"#E7E6E6";case"accent1":return"#4472C4";case"accent2":return"#ED7D31";case"accent3":return"#A5A5A5";case"accent4":return"#FFC000";case"accent5":return"#5B9BD5";case"accent6":return"#70AD47";case"hlink":return"#0563C1";case"folHlink":return"#954F72";default:return null}}class Qa{static colorAttr(e,t,r=null,n=ja){var a=Q.attr(e,t);if(a)return"auto"==a?n:Ya.includes(a)?a:`#${a}`;var s,o=Q.attr(e,"themeColor");if(o){const e=Ja[s=o]??s,t=Za(e);return`var(--docx-${e}-color${t?`, ${t}`:""})`}return r}}class es{static themeValue(e,t){var r=Q.attr(e,t);return r?`var(--docx-${r}-font)`:null}static valueOfSize(e,t){var r=F;switch(Q.attr(e,"type")){case"dxa":break;case"pct":r=O;break;case"auto":return"auto"}return Q.lengthAttr(e,t,r)}static valueOfMargin(e){return Q.lengthAttr(e,"w")}static valueOfBorder(e){var t=es.parseBorderType(Q.attr(e,"val"));if("none"==t)return"none";var r=Qa.colorAttr(e,"color",qa,qa);return`${Q.lengthAttr(e,"sz",D)??"1pt"} ${t} ${"auto"==r?qa:r}`}static parseBorderType(e){switch(e){case"single":case"dashDotStroked":case"thick":case"thickThinLargeGap":case"thickThinMediumGap":case"thickThinSmallGap":case"thinThickLargeGap":case"thinThickMediumGap":case"thinThickSmallGap":case"thinThickThinLargeGap":case"thinThickThinMediumGap":case"thinThickThinSmallGap":case"threeDEmboss":case"threeDEngrave":case"wave":return"solid";case"dashed":case"dashSmallGap":return"dashed";case"dotDash":case"dotDotDash":case"dotted":return"dotted";case"double":case"doubleWave":case"triple":return"double";case"inset":return"inset";case"nil":case"none":return"none";case"outset":return"outset"}return"solid"}static valueOfTblLayout(e){return"fixed"==(Q.attr(e,"type")??Q.attr(e,"val"))?"fixed":"auto"}static classNameOfCnfStyle(e){const t=Q.attr(e,"val");return["first-row","last-row","first-col","last-col","odd-col","even-col","odd-row","even-row","ne-cell","nw-cell","se-cell","sw-cell"].filter((e,r)=>"1"==t[r]).join(" ")}static valueOfJc(e){var t=Q.attr(e,"val");switch(t){case"start":case"left":return"left";case"center":return"center";case"end":case"right":return"right";case"both":return"justify"}return t}static valueOfVertAlign(e,t=!1){var r=Q.attr(e,"val");switch(r){case"subscript":return"sub";case"superscript":return t?"sup":"super"}return t?null:r}static valueOfEmphasisMark(e){switch(Q.attr(e,"val")){case"none":return"none";case"comma":return'"﹐"';case"circle":return"circle";default:return"dot"}}static valueOfTextAlignment(e){var t=Q.attr(e,"val");switch(t){case"auto":case"baseline":return"baseline";case"top":return"top";case"center":return"middle";case"bottom":return"bottom"}return t}static addSize(e,t){return e&&"0.00pt"!=e&&"0px"!=e?t&&"0.00pt"!=t&&"0px"!=t?`calc(${e} + ${t})`:e:t}static classNameOftblLook(e){const t=Q.hexAttr(e,"val",0);let r="";return(Q.boolAttr(e,"firstRow")||32&t)&&(r+=" first-row"),(Q.boolAttr(e,"lastRow")||64&t)&&(r+=" last-row"),(Q.boolAttr(e,"firstColumn")||128&t)&&(r+=" first-col"),(Q.boolAttr(e,"lastColumn")||256&t)&&(r+=" last-col"),(Q.boolAttr(e,"noHBand")||512&t)&&(r+=" no-hband"),(Q.boolAttr(e,"noVBand")||1024&t)&&(r+=" no-vband"),r.trim()}}
8
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jszip")):"function"==typeof define&&define.amd?define(["exports","jszip"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).docx={},e.JSZip)}(this,function(e,t){"use strict";const r=new WeakMap,n=()=>new DOMException("DOCX layout was detached or replaced","AbortError");function a(e){r.get(e)?.cancel();const t=new AbortController,n={signal:t.signal,isCurrent:()=>!t.signal.aborted&&r.get(e)===n,cancel:()=>t.abort()};return r.set(e,n),n}function s(e){const t=r.get(e);return t?.isCurrent()?t:a(e)}function o(e,t,r=!0){if(!t.isCurrent()||r&&!e.isConnected)throw n()}function i(e,t=s(e)){const r=Array.from(e.querySelectorAll?.("[data-docx-layout-root]")??[]).length?()=>Array.from(e.querySelectorAll("[data-docx-layout-root]")):()=>Array.from(e.childNodes??[]);let n=r();return{signal:t.signal,cancel:()=>t.cancel(),isCurrent:()=>{if(!t.isCurrent())return!1;const e=new Set(r());return!n.length||n.some(t=>e.has(t))},acceptLayoutChanges:a=>{a===e&&t.isCurrent()&&(n=r()),t.acceptLayoutChanges?.(a)}}}async function l(e,t=[],r=s(e)){o(e,r);const a=e.ownerDocument;e.getBoundingClientRect?.();const i=[];let l;const c=Array.from(e.querySelectorAll("img")),h=Array.from(e.querySelectorAll("[data-docx-layout-root]")),d=Array.from(e.childNodes??[]),u=h.length?()=>Array.from(e.querySelectorAll("[data-docx-layout-root]")):d.length?()=>Array.from(e.childNodes??[]):()=>Array.from(e.querySelectorAll("img")),m=h.length?h:d.length?d:c,p=new Map,f=()=>{o(e,r);const t=new Set(u());if(m.length&&!m.some(e=>t.has(e)))throw r.cancel(),n();const a=new Set(Array.from(e.querySelectorAll("img")));for(const[e,t]of p)a.has(e)||t()},g=new Promise((t,s)=>{const o=()=>s(n());r.signal.addEventListener("abort",o,{once:!0}),i.push(()=>r.signal.removeEventListener("abort",o));const c=a.defaultView?.MutationObserver;if(c&&a.documentElement){l=new c(()=>{try{f()}catch(e){s(e)}}),l.observe(a.documentElement,{childList:!0,subtree:!0});for(let t=e.getRootNode?.();t&&t!==a;t=t.host?.getRootNode?.())l.observe(t,{childList:!0,subtree:!0})}}),b=c.map(e=>e.complete?Promise.resolve():new Promise(t=>{const r=()=>t();p.set(e,r),e.addEventListener("load",r,{once:!0}),e.addEventListener("error",r,{once:!0}),i.push(()=>{e.removeEventListener("load",r),e.removeEventListener("error",r)})}));try{await Promise.race([Promise.all([Promise.allSettled(t),a.fonts?.ready??Promise.resolve(),...b]),g]),f()}finally{l?.disconnect(),i.forEach(e=>e())}}const c=/[\u0000-\u001f\u007f]/,h=/^data:image\/[a-z0-9.+-]+(?:;[^,]*)?,/i;function d(e){return"external"===e?.targetMode?.trim().toLowerCase()}function u(e,t="block"){if(!d(e))return null;const r=`${e?.target??""}`.trim();if(!r||c.test(r))return null;let n;try{n=new URL(r)}catch{return null}switch(n.protocol.toLowerCase()){case"data:":return h.test(r)?r:null;case"blob:":return r;case"http:":case"https:":return"allow"===t?n.href:null;default:return null}}var m;function p(e){let t=String(e??"").trim();if((t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),/^(?:serif|sans-serif|monospace|cursive|fantasy|system-ui|ui-serif|ui-sans-serif|ui-monospace|ui-rounded|emoji|math|fangsong)$/i.test(t))return t;if(/^[^\u0000-\u0020\u007f-\u009f'"\\;:{}()[\]<>/,]+$/u.test(t))return t;return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/[\u0000-\u001f\u007f-\u009f]/g,e=>"\0"===e?"�":`\\${e.codePointAt(0).toString(16)} `)}'`}function f(e,t=""){const r=String(e??"").trim();if(!r)return[];const n=r.normalize("NFKC").toLowerCase(),a=/mincho|明朝|ゴシック|(?:^|\s)(?:ms|yu)\s+p?gothic|meiryo|メイリオ/.test(n),s=["Hans","Hant","Jpan","Hang"].includes(t)?t:a?"Jpan":t,o=[p(r)],i=function(e){const t=String(e??"").normalize("NFKC").toLowerCase().replace(/[\s_-]+/g,""),r=[[/方正仿宋|fangzhengfangsong|fzfangsong|fzfs/,["方正仿宋","方正仿宋简体","方正仿宋_GBK","FZFangSong-Z02","FZFSK--GBK1-0"]],[/方正楷体|fangzhengkai|fzkai|fzkt/,["方正楷体","方正楷体简体","方正楷体_GBK","FZKai-Z03","FZKTK--GBK1-0"]],[/方正黑体|fangzhenghei|fzhei|fzht/,["方正黑体","方正黑体简体","FZHei-B01","FZHTK--GBK1-0"]],[/方正书宋|fangzhengshusong|fzshusong|fzss/,["方正书宋","方正书宋简体","FZShuSong-Z01","FZSSK--GBK1-0"]],[/方正小标宋|fangzhengxiaobiaosong|fzxiaobiaosong|fzxbs/,["方正小标宋简体","方正小标宋","FZXiaoBiaoSong-B05","FZXBSJW--GB1-0"]]];return r.find(([e])=>e.test(t))?.[1]??[]}(r),l=/simsun|nsimsun|宋体|宋體|songti|shusong|书宋|書宋|fangsong|仿宋|fz(?:fs|ss|xbs)|小标宋|小標宋|mincho|明朝|明體|mingliu|pmingliu|batang|명조/.test(n),c=/kaiti|楷体|楷體|stkaiti|fzkt|kai/.test(n),h=/simhei|黑体|黑體|heiti|fzht|dengxian|等线|等線|yahei|gothic|ゴシック|malgun|맑은/.test(n);return i.length&&o.push(...i.map(p)),l?"Hant"==s?o.push("'Songti TC'","'Microsoft JhengHei'","'Noto Serif CJK TC'","serif"):"Jpan"==s?o.push("'Yu Mincho'","'Hiragino Mincho ProN'","'Noto Serif CJK JP'","serif"):"Hang"==s?o.push("Batang","AppleMyungjo","'Noto Serif CJK KR'","serif"):o.push("'Songti SC'","'Noto Serif CJK SC'","serif"):c?o.push("'Kaiti SC'","STKaiti","'Noto Serif CJK SC'","serif"):h?"Hant"==s?o.push("'Microsoft JhengHei'","'PingFang TC'","'Noto Sans CJK TC'","sans-serif"):"Jpan"==s?o.push("'Yu Gothic'","Meiryo","'Noto Sans CJK JP'","sans-serif"):"Hang"==s?o.push("'Malgun Gothic'","'Apple SD Gothic Neo'","'Noto Sans CJK KR'","sans-serif"):o.push("'Microsoft YaHei'","'PingFang SC'","'Noto Sans CJK SC'","sans-serif"):"Hant"==s?o.push("'PingFang TC'","'Noto Sans CJK TC'","sans-serif"):"Jpan"==s?o.push("'Yu Gothic'","Meiryo","'Noto Sans CJK JP'","sans-serif"):"Hang"==s?o.push("'Apple SD Gothic Neo'","'Noto Sans CJK KR'","sans-serif"):o.push("'PingFang SC'","'Noto Sans CJK SC'","sans-serif"),[...new Set(o)]}function g(e){let t=e.lastIndexOf("/")+1;return[0==t?"":e.substring(0,t),0==t?e:e.substring(t)]}function b(e,t){try{const r="http://docx/";return new URL(e,r+t).toString().substring(r.length)}catch{return`${t}${e}`}}function y(e,t){return e.reduce((e,r)=>(e[t(r)]=r,e),{})}function x(e){return new Promise((t,r)=>{const n=new FileReader;n.onloadend=()=>t(n.result),n.onerror=()=>r(),n.readAsDataURL(e)})}function w(e){return e&&"object"==typeof e&&!Array.isArray(e)}function v(e){return"string"==typeof e||e instanceof String}function k(e,...t){if(!t.length)return e;const r=t.shift();if(w(e)&&w(r))for(const t of Object.keys(r)){if("__proto__"===t||"constructor"===t||"prototype"===t)continue;const n=r[t];if(w(n)){const r=Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,a=w(r)?r:{};e[t]=a,k(a,n)}else e[t]=n}return k(e,...t)}function C(e){const t={};for(const r of(e??"").split(";")){const e=r.indexOf(":");if(e<=0)continue;const n=r.substring(0,e).trim(),a=r.substring(e+1).trim();n&&(t[n]=a)}return t}function S(e){return Array.isArray(e)?e:[e]}!function(e){e.OfficeDocument="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",e.FontTable="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",e.Image="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",e.Numbering="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",e.Styles="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",e.StylesWithEffects="http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects",e.Theme="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",e.Settings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",e.WebSettings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",e.Hyperlink="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e.Footnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",e.Endnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",e.Footer="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",e.Header="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",e.ExtendedProperties="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",e.CoreProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",e.CustomProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties",e.Comments="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",e.CommentsExtended="http://schemas.microsoft.com/office/2011/relationships/commentsExtended",e.AltChunk="http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk",e.Chart="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",e.ChartUserShapes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes",e.DiagramData="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData",e.DiagramLayout="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout",e.DiagramQuickStyle="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle",e.DiagramColors="http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors",e.Ink="http://schemas.microsoft.com/office/2007/relationships/ink",e.ContentPart="http://schemas.openxmlformats.org/officeDocument/2006/relationships/contentPart"}(m||(m={}));const N="http://schemas.openxmlformats.org/wordprocessingml/2006/main",A="http://schemas.openxmlformats.org/drawingml/2006/main",P="http://schemas.openxmlformats.org/drawingml/2006/picture",M="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",$="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",T="http://schemas.microsoft.com/office/word/2010/wordprocessingShape",F={mul:.05,unit:"pt"},L={mul:.05,unit:"pt"},R={mul:1/12700,unit:"pt"},E={mul:.5,unit:"pt"},B={mul:.5,unit:"pt"},D={mul:.125,unit:"pt",min:.25,max:12},I={mul:1,unit:"pt"},O={mul:.02,unit:"%"};function H(e,t=F){if(null==e||""===e||/.+(p[xt]|[%])$/i.test(e))return e;var r=parseFloat(e);if(Number.isNaN(r))return null;var n=r*t.mul;return null!=t.min&&null!=t.max&&(n=function(e,t,r){return t>e?t:r<e?r:e}(n,t.min,t.max)),`${n.toFixed(2)}${t.unit}`}function z(e,t=!1){switch(e){case"1":case"on":case"true":return!0;case"0":case"off":case"false":return!1;default:return t}}function W(e,t,r){if(e.namespaceURI!=N)return!1;switch(e.localName){case"color":t.color=r.attr(e,"val");break;case"sz":t.fontSize=r.lengthAttr(e,"val",E);break;case"szCs":t.fontSize??(t.fontSize=r.lengthAttr(e,"val",E));break;default:return!1}return!0}const V=new Map,U=new Map,j=new Set(["script","style","base","meta","link","object","embed","applet","iframe","frame","frameset","form","input","button","textarea","select","option","audio","video","source","track","svg","math","template"]),q=/^(?:action|archive|background|cite|classid|codebase|data|dynsrc|formaction|href|longdesc|lowsrc|manifest|ping|poster|profile|src|srcdoc|srcset|usemap|xlink:href)$/;function G(e,t){const r=globalThis.trustedTypes;if(!r)return t;let n=V.get(e);n||(n=r.createPolicy(e,{createHTML(t){if(t!==U.get(e))throw new TypeError(`Rejected HTML outside the ${e} boundary`);return t}}),V.set(e,n)),U.set(e,t);try{return n.createHTML(t)}finally{U.delete(e)}}function _(e){e.parentNode&&e.parentNode.removeChild(e)}function X(e,t){const r=function(e){const t=new DOMParser,r=G("file-viewer-docx-altchunk-parser",String(e??"")),n=t.parseFromString(r,"text/html");for(const e of Array.from(n.getElementsByTagName("*"))){const t=e.localName?.toLowerCase()||e.nodeName.toLowerCase();j.has(t)&&_(e)}for(const e of Array.from(n.getElementsByTagName("*")))for(const t of Array.from(e.attributes??[])){const r=t.name.toLowerCase();(r.startsWith("on")||"style"===r||q.test(r))&&e.removeAttribute(t.name)}const a=n.documentElement;return`<!doctype html>${a?(new XMLSerializer).serializeToString(a):"<html><head></head><body></body></html>"}`}(t),n=G("file-viewer-docx-altchunk-srcdoc",r);e.srcdoc=n}let K=e=>(new DOMParser).parseFromString(e,"application/xml"),Y=e=>(new XMLSerializer).serializeToString(e);function J(e,t=!1){var r;t&&(e=e.replace(/<[?].*[?]>/,"")),e=65279===(r=e).charCodeAt(0)?r.substring(1):r;const n=K((a=e,"undefined"==typeof document?a:G("file-viewer-docx-xml-parser",a)));var a;const s=(o=n,o.getElementsByTagName("parsererror")[0]?.textContent);var o;if(s)throw new Error(s);return n}class Z{elements(e,t=null){const r=[];for(let n=0,a=e.childNodes.length;n<a;n++){let a=e.childNodes.item(n);1!=a.nodeType||null!=t&&a.localName!=t||r.push(a)}return r}element(e,t){for(let r=0,n=e.childNodes.length;r<n;r++){let n=e.childNodes.item(r);if(1==n.nodeType&&n.localName==t)return n}return null}elementAttr(e,t,r){var n=this.element(e,t);return n?this.attr(n,r):void 0}attrs(e){return Array.from(e.attributes)}attr(e,t){if("blip"==e?.localName&&("embed"==t||"link"==t)){const r=this.descendantAttr(e,"svgBlip",t);if(null!=r)return r}if("cnfStyle"==e?.localName&&"val"==t){const r=this.rawAttr(e,t);return null!=r?r:this.cnfStyleValue(e)}return this.rawAttr(e,t)}rawAttr(e,t){for(let r=0,n=e.attributes.length;r<n;r++){let n=e.attributes.item(r);if(n.localName==t)return n.value}return null}descendantAttr(e,t,r){for(const n of this.elements(e)){if(n.localName==t){const e=this.rawAttr(n,r);if(null!=e)return e}const e=this.descendantAttr(n,t,r);if(null!=e)return e}return null}cnfStyleValue(e){return["firstRow","lastRow","firstColumn","lastColumn","oddVBand","evenVBand","oddHBand","evenHBand","firstRowLastColumn","firstRowFirstColumn","lastRowLastColumn","lastRowFirstColumn"].map(t=>z(this.rawAttr(e,t),!1)?"1":"0").join("")}intAttr(e,t,r=null){var n=this.attr(e,t);return null!=n&&""!==n?parseInt(n,10):r}hexAttr(e,t,r=null){var n=this.attr(e,t);return null!=n&&""!==n?parseInt(n,16):r}floatAttr(e,t,r=null){var n=this.attr(e,t);return null!=n&&""!==n?parseFloat(n):r}boolAttr(e,t,r=null){return z(this.attr(e,t),r)}lengthAttr(e,t,r=F){return H(this.attr(e,t),r)}}const Q=new Z;class ee{constructor(e,t){this._package=e,this.path=t}async load(){this.rels=await this._package.loadRelationships(this.path);const e=await this._package.load(this.path),t=this._package.parseXmlDocument(e);this._package.options.keepOrigin&&(this._xmlDocument=t),this.parseXml(t.firstElementChild??t.documentElement)}save(){var e;this._package.update(this.path,(e=this._xmlDocument,Y(e)))}parseXml(e){}}const te={embedRegular:"regular",embedBold:"bold",embedItalic:"italic",embedBoldItalic:"boldItalic"};function re(e,t){return t.elements(e).map(e=>function(e,t){let r={name:t.attr(e,"name"),embedFontRefs:[]};for(let n of t.elements(e))switch(n.localName){case"family":r.family=t.attr(n,"val");break;case"altName":r.altName=t.attr(n,"val");break;case"embedRegular":case"embedBold":case"embedItalic":case"embedBoldItalic":r.embedFontRefs.push(ne(n,t))}return r}(e,t))}function ne(e,t){return{id:t.attr(e,"id"),key:t.attr(e,"fontKey"),type:te[e.localName]}}class ae extends ee{parseXml(e){this.fonts=re(e,this._package.xmlParser)}}class se{constructor(e,t){this._zip=e,this.options=t,this.xmlParser=new Z}get(e){const t=function(e){return e.startsWith("/")?e.substr(1):e}(e);return this._zip.files[t]??this._zip.files[t.replace(/\//g,"\\")]}update(e,t){this._zip.file(e,t)}static async load(e,r){const n=await(r.zipLoader?r.zipLoader(e):t.loadAsync(e));return new se(n,r)}save(e="blob"){return this._zip.generateAsync({type:e})}load(e,t="string"){return this.get(e)?.async(t)??Promise.resolve(null)}async loadRelationships(e=null){let t="_rels/.rels";if(null!=e){const[r,n]=g(e);t=`${r}_rels/${n}.rels`}const r=await this.load(t);return r?(n=oe(this.parseXmlDocument(r)),(a=this.xmlParser).elements(n).map(e=>({id:a.attr(e,"Id"),type:a.attr(e,"Type"),target:a.attr(e,"Target"),targetMode:a.attr(e,"TargetMode")}))):null;var n,a}async loadContentTypes(){const e=await this.load("[Content_Types].xml");return e?(t=oe(this.parseXmlDocument(e)),(r=this.xmlParser).elements(t).map(e=>({extension:r.attr(e,"Extension"),partName:r.attr(e,"PartName"),contentType:r.attr(e,"ContentType")}))):[];var t,r}parseXmlDocument(e){return J(e,this.options.trimXmlDeclaration)}}function oe(e){return e.firstElementChild??e.documentElement}class ie extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.body=this._documentParser.parseDocumentFile(e)}}function le(e,t){return{type:t.attr(e,"val"),color:t.attr(e,"color"),size:t.lengthAttr(e,"sz",D),offset:t.lengthAttr(e,"space",I),frame:t.boolAttr(e,"frame"),shadow:t.boolAttr(e,"shadow")}}function ce(e,t){var r={};for(let n of t.elements(e))switch(n.localName){case"left":r.left=le(n,t);break;case"top":r.top=le(n,t);break;case"right":r.right=le(n,t);break;case"bottom":r.bottom=le(n,t)}return r}function he(e,t){const r={defaultNoteIds:[]};for(const n of t.elements(e))switch(n.localName){case"numFmt":r.numberingFormat=r.nummeringFormat=t.attr(n,"val");break;case"numStart":const e=t.intAttr(n,"val",null);Number.isSafeInteger(e)&&e>=0&&(r.start=e);break;case"numRestart":const a=t.attr(n,"val");["continuous","eachSect","eachPage"].includes(a)&&(r.restart=a);break;case"footnote":case"endnote":r.defaultNoteIds.push(t.attr(n,"id"))}return r}class de{constructor(){this.assignments=new Map,this.counters=new Map}assign(e,t,r,n,a,s){const o=`${e}:${t}`,i=this.assignments.get(o);if(i)return i;const l=this.counters.get(e),c=!l||"eachSect"===n.restart&&l.section!==a||"eachPage"===n.restart&&l.page!==s,h=r?null:c?n.start:l.next;r||this.counters.set(e,{next:h+1,section:a,page:s});const d={id:t,kind:e,custom:r,value:h,properties:n};return this.assignments.set(o,d),d}}var ue;function me(e){return null==e||e===ue.NextPage||e===ue.EvenPage||e===ue.OddPage}function pe(e){return e===ue.NextColumn}!function(e){e.Continuous="continuous",e.NextPage="nextPage",e.NextColumn="nextColumn",e.EvenPage="evenPage",e.OddPage="oddPage"}(ue||(ue={}));const fe="11906",ge="16838",be="1440",ye="1440",xe="1440",we="1440",ve="720",ke="720",Ce="0";function Se(e=null,t=Q){const r=e?t.element(e,"pgSz"):null,n=r?t.attr(r,"orient"):null,a=function(e=null){const t="landscape"===e;return{width:H(t?ge:fe),height:H(t?fe:ge),orientation:e}}(n),s={top:H(be),right:H(ye),bottom:H(xe),left:H(we),header:H(ve),footer:H(ke),gutter:H(Ce)};var o={pageSize:a,pageMargins:s};if(!e)return o;for(let r of t.elements(e))switch(r.localName){case"pgSz":o.pageSize={width:t.lengthAttr(r,"w")??a.width,height:t.lengthAttr(r,"h")??a.height,orientation:n};break;case"type":o.type=t.attr(r,"val");break;case"pgMar":o.pageMargins={left:t.lengthAttr(r,"left")??s.left,right:t.lengthAttr(r,"right")??s.right,top:t.lengthAttr(r,"top")??s.top,bottom:t.lengthAttr(r,"bottom")??s.bottom,header:t.lengthAttr(r,"header")??s.header,footer:t.lengthAttr(r,"footer")??s.footer,gutter:t.lengthAttr(r,"gutter")??s.gutter};break;case"cols":o.columns=Ne(r,t);break;case"headerReference":(o.headerRefs??(o.headerRefs=[])).push(Me(r,t));break;case"footerReference":(o.footerRefs??(o.footerRefs=[])).push(Me(r,t));break;case"titlePg":o.titlePage=t.boolAttr(r,"val",!0);break;case"pgBorders":o.pageBorders=ce(r,t);break;case"pgNumType":o.pageNumber=Ae(r,t);break;case"footnotePr":o.footnoteProps=he(r,t);break;case"endnotePr":o.endnoteProps=he(r,t);break;case"docGrid":o.docGrid=Pe(r,t)}return o}function Ne(e,t){return{numberOfColumns:t.intAttr(e,"num"),space:t.lengthAttr(e,"space"),separator:t.boolAttr(e,"sep"),equalWidth:t.boolAttr(e,"equalWidth",!0),columns:t.elements(e,"col").map(e=>({width:t.lengthAttr(e,"w"),space:t.lengthAttr(e,"space")}))}}function Ae(e,t){return{chapSep:t.attr(e,"chapSep"),chapStyle:t.attr(e,"chapStyle"),format:t.attr(e,"fmt"),start:t.intAttr(e,"start")}}function Pe(e,t){const r=t.intAttr(e,"charSpace",null),n=null==r?null:r/4096;return{type:t.attr(e,"type"),linePitch:t.lengthAttr(e,"linePitch"),charSpace:null==n?null:`${n.toFixed(4)}pt`,charSpaceRaw:r}}function Me(e,t){return{id:t.attr(e,"id"),type:t.attr(e,"type")}}function $e(e,t){let r={};for(let n of t.elements(e))Te(n,r,t);return r}function Te(e,t,r){return!!W(e,t,r)}function Fe(e,t){let r={};for(let n of t.elements(e))Le(n,r,t);return r}function Le(e,t,r){if(e.namespaceURI!=N)return!1;if(W(e,t,r))return!0;switch(e.localName){case"tabs":t.tabs=function(e,t){return t.elements(e,"tab").map(e=>({position:t.lengthAttr(e,"pos"),leader:t.attr(e,"leader"),style:t.attr(e,"val")}))}(e,r);break;case"sectPr":t.sectionProps=Se(e,r);break;case"numPr":t.numbering=function(e,t){var r={};for(let n of t.elements(e))switch(n.localName){case"numId":r.id=t.attr(n,"val");break;case"ilvl":r.level=t.intAttr(n,"val")}return r}(e,r);break;case"spacing":return t.lineSpacing=function(e,t){return{before:t.lengthAttr(e,"before"),after:t.lengthAttr(e,"after"),line:t.intAttr(e,"line"),lineRule:t.attr(e,"lineRule")}}(e,r),!1;case"textAlignment":return t.textAlignment=r.attr(e,"val"),!1;case"keepLines":t.keepLines=r.boolAttr(e,"val",!0);break;case"keepNext":t.keepNext=r.boolAttr(e,"val",!0);break;case"pageBreakBefore":t.pageBreakBefore=r.boolAttr(e,"val",!0);break;case"widowControl":t.widowControl=r.boolAttr(e,"val",!0);break;case"outlineLvl":t.outlineLevel=r.intAttr(e,"val");break;case"pStyle":t.styleName=r.attr(e,"val");break;case"rPr":t.runProps=$e(e,r);break;default:return!1}return!0}function Re(e,t){let r={id:t.attr(e,"numId"),overrides:[]};for(let n of t.elements(e))switch(n.localName){case"abstractNumId":r.abstractId=t.attr(n,"val");break;case"lvlOverride":r.overrides.push(De(n,t))}return r}function Ee(e,t){let r={id:t.attr(e,"abstractNumId"),levels:[]};for(let n of t.elements(e))switch(n.localName){case"name":r.name=t.attr(n,"val");break;case"multiLevelType":r.multiLevelType=t.attr(n,"val");break;case"numStyleLink":r.numberingStyleLink=t.attr(n,"val");break;case"styleLink":r.styleLink=t.attr(n,"val");break;case"lvl":r.levels.push(Be(n,t))}return r}function Be(e,t){let r={level:t.intAttr(e,"ilvl")};for(let n of t.elements(e))switch(n.localName){case"start":r.start=t.attr(n,"val");break;case"lvlRestart":r.restart=t.intAttr(n,"val");break;case"numFmt":r.format=t.attr(n,"val");break;case"lvlText":r.text=t.attr(n,"val");break;case"lvlJc":r.justification=t.attr(n,"val");break;case"lvlPicBulletId":r.bulletPictureId=t.attr(n,"val");break;case"pStyle":r.paragraphStyle=t.attr(n,"val");break;case"pPr":r.paragraphProps=Fe(n,t);break;case"rPr":r.runProps=$e(n,t)}return r}function De(e,t){let r={level:t.intAttr(e,"ilvl")};for(let n of t.elements(e))switch(n.localName){case"startOverride":r.start=t.intAttr(n,"val");break;case"lvl":r.numberingLevel=Be(n,t)}return r}function Ie(e,t){var r=t.attr(e,"numPicBulletId"),n=t.element(e,"pict"),a=n&&t.element(n,"shape"),s=a&&t.element(a,"imagedata");if(s)return{id:r,referenceId:t.attr(s,"id"),style:t.attr(a,"style")};var o=t.element(e,"drawing"),i=o&&Oe(o,"blip",t);return i?{id:r,referenceId:t.attr(i,"embed")??t.attr(i,"link"),style:null}:null}function Oe(e,t,r){for(const n of r.elements(e)){if(n.localName==t)return n;const e=Oe(n,t,r);if(e)return e}return null}class He extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){Object.assign(this,function(e,t){let r={numberings:[],abstractNumberings:[],bulletPictures:[]};for(let n of t.elements(e))switch(n.localName){case"num":r.numberings.push(Re(n,t));break;case"abstractNum":r.abstractNumberings.push(Ee(n,t));break;case"numPicBullet":r.bulletPictures.push(Ie(n,t))}return r}(e,this._package.xmlParser)),this.domNumberings=this._documentParser.parseNumberingFile(e)}}class ze extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.styles=this._documentParser.parseStylesFile(e)}}var We;!function(e){e.Document="document",e.Paragraph="paragraph",e.Run="run",e.Break="break",e.NoBreakHyphen="noBreakHyphen",e.Table="table",e.Row="row",e.Cell="cell",e.Hyperlink="hyperlink",e.SmartTag="smartTag",e.Drawing="drawing",e.Image="image",e.Text="text",e.Tab="tab",e.PositionalTab="positionalTab",e.SoftHyphen="softHyphen",e.Symbol="symbol",e.BookmarkStart="bookmarkStart",e.BookmarkEnd="bookmarkEnd",e.Footer="footer",e.Header="header",e.FootnoteReference="footnoteReference",e.EndnoteReference="endnoteReference",e.Footnote="footnote",e.Endnote="endnote",e.SimpleField="simpleField",e.ComplexField="complexField",e.Instruction="instruction",e.VmlPicture="vmlPicture",e.MmlMath="mmlMath",e.Shape="shape",e.MmlMathParagraph="mmlMathParagraph",e.MmlFraction="mmlFraction",e.MmlFunction="mmlFunction",e.MmlFunctionName="mmlFunctionName",e.MmlNumerator="mmlNumerator",e.MmlDenominator="mmlDenominator",e.MmlRadical="mmlRadical",e.MmlBase="mmlBase",e.MmlDegree="mmlDegree",e.MmlSuperscript="mmlSuperscript",e.MmlSubscript="mmlSubscript",e.MmlPreSubSuper="mmlPreSubSuper",e.MmlSubArgument="mmlSubArgument",e.MmlSuperArgument="mmlSuperArgument",e.MmlNary="mmlNary",e.MmlDelimiter="mmlDelimiter",e.MmlRun="mmlRun",e.MmlEquationArray="mmlEquationArray",e.MmlLimit="mmlLimit",e.MmlLimitLower="mmlLimitLower",e.MmlLimitUpper="mmlLimitUpper",e.MmlSubSuperscript="mmlSubSuperscript",e.MmlPhantom="mmlPhantom",e.MmlBorderBox="mmlBorderBox",e.MmlAccent="mmlAccent",e.MmlMatrix="mmlMatrix",e.MmlMatrixRow="mmlMatrixRow",e.MmlBox="mmlBox",e.MmlBar="mmlBar",e.MmlGroupChar="mmlGroupChar",e.VmlElement="vmlElement",e.Chart="chart",e.SmartArt="smartArt",e.Ink="ink",e.Ruby="ruby",e.RubyBase="rubyBase",e.RubyText="rubyText",e.Inserted="inserted",e.Deleted="deleted",e.DeletedText="deletedText",e.Comment="comment",e.CommentReference="commentReference",e.CommentRangeStart="commentRangeStart",e.CommentRangeEnd="commentRangeEnd",e.AltChunk="altChunk"}(We||(We={}));class Ve{constructor(){this.children=[],this.cssStyle={}}}class Ue extends Ve{constructor(){super(...arguments),this.type=We.Header}}class je extends Ve{constructor(){super(...arguments),this.type=We.Footer}}class qe extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.rootElement=this.createRootElement(),this.rootElement.children=this._documentParser.parseBodyElements(e)}}class Ge extends qe{createRootElement(){return new Ue}}class _e extends qe{createRootElement(){return new je}}function Xe(e){if(void 0!==e)return parseInt(e)}class Ke extends ee{parseXml(e){this.props=function(e,t){const r={};for(let n of t.elements(e))switch(n.localName){case"Template":r.template=n.textContent;break;case"Pages":r.pages=Xe(n.textContent);break;case"Words":r.words=Xe(n.textContent);break;case"Characters":r.characters=Xe(n.textContent);break;case"Application":r.application=n.textContent;break;case"Lines":r.lines=Xe(n.textContent);break;case"Paragraphs":r.paragraphs=Xe(n.textContent);break;case"Company":r.company=n.textContent;break;case"AppVersion":r.appVersion=n.textContent}return r}(e,this._package.xmlParser)}}class Ye extends ee{parseXml(e){this.props=function(e,t){const r={};for(let n of t.elements(e))switch(n.localName){case"title":r.title=n.textContent;break;case"description":r.description=n.textContent;break;case"subject":r.subject=n.textContent;break;case"creator":r.creator=n.textContent;break;case"keywords":r.keywords=n.textContent;break;case"language":r.language=n.textContent;break;case"lastModifiedBy":r.lastModifiedBy=n.textContent;break;case"revision":n.textContent&&(r.revision=parseInt(n.textContent))}return r}(e,this._package.xmlParser)}}class Je{}function Ze(e){const t=String(e??"").trim().replace(/_/g,"-").toLowerCase(),r=t.split("-")[0];if("zh"==r)return/(?:^|-)hant(?:-|$)|-(?:tw|hk|mo)(?:-|$)/.test(t)?"Hant":"Hans";return{ja:"Jpan",ko:"Hang",ar:"Arab",fa:"Arab",ur:"Arab",he:"Hebr",yi:"Hebr",th:"Thai",vi:"Viet",hi:"Deva",bn:"Beng",gu:"Gujr",kn:"Knda",pa:"Guru",ta:"Taml",te:"Telu",ml:"Mlym",or:"Orya",si:"Sinh",km:"Khmr",lo:"Laoo",my:"Mymr",mn:"Mong"}[r]??""}function Qe(e,t){var r={name:t.attr(e,"name"),colors:{}};for(let s of t.elements(e)){var n=t.element(s,"srgbClr"),a=t.element(s,"sysClr");n?r.colors[s.localName]=t.attr(n,"val"):a&&(r.colors[s.localName]=t.attr(a,"lastClr"))}return r}function et(e,t){var r={name:t.attr(e,"name")};for(let n of t.elements(e))switch(n.localName){case"majorFont":r.majorFont=tt(n,t);break;case"minorFont":r.minorFont=tt(n,t)}return r}function tt(e,t){const r={};for(const n of t.elements(e).filter(e=>"font"==e.localName)){const e=t.attr(n,"script"),a=t.attr(n,"typeface");e&&a&&(r[e]=a)}return{latinTypeface:t.elementAttr(e,"latin","typeface"),eaTypeface:t.elementAttr(e,"ea","typeface"),csTypeface:t.elementAttr(e,"cs","typeface"),scriptTypefaces:r}}class rt extends ee{constructor(e,t){super(e,t)}parseXml(e){this.theme=function(e,t){var r=new Je,n=t.element(e,"themeElements");for(let e of t.elements(n))switch(e.localName){case"clrScheme":r.colorScheme=Qe(e,t);break;case"fontScheme":r.fontScheme=et(e,t)}return r}(e,this._package.xmlParser)}}class nt{}class at extends nt{constructor(){super(...arguments),this.type=We.Footnote}}class st extends nt{constructor(){super(...arguments),this.type=We.Endnote}}class ot extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}}class it extends ot{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"footnote",at)}}class lt extends ot{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"endnote",st)}}class ct extends ee{constructor(e,t){super(e,t)}parseXml(e){this.settings=function(e,t){var r={};for(let n of t.elements(e))switch(n.localName){case"defaultTabStop":r.defaultTabStop=t.lengthAttr(n,"val");break;case"footnotePr":r.footnoteProps=he(n,t);break;case"endnotePr":r.endnoteProps=he(n,t);break;case"autoHyphenation":r.autoHyphenation=t.boolAttr(n,"val");break;case"kinsoku":r.kinsoku=t.boolAttr(n,"val",!0);break;case"overflowPunct":r.overflowPunctuation=t.boolAttr(n,"val",!0);break;case"topLinePunct":r.topLinePunctuation=t.boolAttr(n,"val",!0);break;case"autoSpaceDE":r.autoSpaceDE=t.boolAttr(n,"val",!0);break;case"autoSpaceDN":r.autoSpaceDN=t.boolAttr(n,"val",!0);break;case"noLineBreaksAfter":r.noLineBreaksAfter=t.attr(n,"val")||n.textContent||"";break;case"noLineBreaksBefore":r.noLineBreaksBefore=t.attr(n,"val")||n.textContent||"";break;case"evenAndOddHeaders":r.evenAndOddHeaders=t.boolAttr(n,"val",!0);break;case"splitPgBreakAndParaMark":r.splitPageBreakAndParagraphMark=t.boolAttr(n,"val",!0);break;case"compat":for(const e of t.elements(n))"adjustLineHeightInTable"==e.localName&&(r.adjustLineHeightInTable=t.boolAttr(e,"val",!0))}return r}(e,this._package.xmlParser)}}class ht extends ee{parseXml(e){this.props=function(e,t){return t.elements(e,"property").map(e=>{const r=e.firstChild;return{formatId:t.attr(e,"fmtid"),name:t.attr(e,"name"),type:r.nodeName,value:r.textContent}})}(e,this._package.xmlParser)}}class dt extends ee{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.comments=this._documentParser.parseComments(e),this.commentMap=y(this.comments,e=>e.id)}}class ut extends ee{constructor(e,t){super(e,t),this.comments=[]}parseXml(e){const t=this._package.xmlParser;for(let r of t.elements(e,"commentEx"))this.comments.push({paraId:t.attr(r,"paraId"),paraIdParent:t.attr(r,"paraIdParent"),done:t.boolAttr(r,"done")});this.commentMap=y(this.comments,e=>e.paraId)}}const mt=1,pt=2,ft=3,gt=4,bt=5,yt=6,xt=7,wt=8,vt=9,kt=10,Ct=11,St=12,Nt=14,At=15,Pt=18,Mt=19,$t=22,Tt=24,Ft=25,Lt=27,Rt=31,Et=32,Bt=33,Dt=34,It=35,Ot=36,Ht=37,zt=38,Wt=39,Vt=40,Ut=42,jt=43,qt=44,Gt=45,_t=46,Xt=47,Kt=54,Yt=55,Jt=56,Zt=59,Qt=60,er=61,tr=62,rr=63,nr=64,ar=76,sr=77,or=81,ir=82,lr=83,cr=84,hr=85,dr=86,ur=87,mr=88,pr=89,fr=90,gr=91,br=92,yr=95,xr=96,wr=97,vr=108,kr=114,Cr=116,Sr={0:{type:"brush",color:"#ffffff"},1:{type:"brush",color:"#c0c0c0"},2:{type:"brush",color:"#808080"},3:{type:"brush",color:"#404040"},4:{type:"brush",color:"#000000"},5:{type:"brush",color:"none",nullBrush:!0},6:{type:"pen",color:"#ffffff",width:1},7:{type:"pen",color:"#000000",width:1},8:{type:"pen",color:"none",width:0,nullPen:!0},18:{type:"brush",color:"#ffffff"},19:{type:"pen",color:"#000000",width:1}},Nr={m11:1,m12:0,m21:0,m22:1,dx:0,dy:0};function Ar(e){if(!e||e.length<48)return!1;const t=Lr(e);return t.getUint32(0,!0)==mt&&1179469088==t.getUint32(40,!0)}function Pr(e,t){const r=function(e,t={}){if(!Ar(e))return null;const r=Lr(e),n=r.getUint32(4,!0),a=Rr(r,8),s=Rr(r,24),o=r.byteLength>=52?r.getUint32(48,!0):0,i=Math.max(1,a.right-a.left),l=Math.max(1,a.bottom-a.top),c=Math.max(1,s.right-s.left)/100,h=Math.max(1,s.bottom-s.top)/100,d={world:Fr(Nr),windowOrg:{x:0,y:0},windowExt:null,viewportOrg:{x:0,y:0},viewportExt:null,pen:{type:"pen",color:"#000000",width:1},brush:{type:"brush",color:"#ffffff",nullBrush:!0},font:null,textColor:"#000000",bkColor:"#ffffff",bkMode:1,polyFillMode:1,textAlign:0,currentPoint:{x:0,y:0}},u=[],m={},p=[];let f=Math.max(8,n||108),g=1,b="",y=!1,x=0;const w=t.maxRecords??Math.max(1e4,o+100),v=t.maxShapes??5e4,k=e=>{!e||x>=v||(p.push(e),x++)},C=e=>{e&&(b+=(b?" ":"")+e)};for(;f+8<=r.byteLength&&g++<=w;){const e=r.getUint32(f,!0),t=r.getUint32(f+4,!0);if(t<8||f+t>r.byteLength)break;switch(e){case Nt:f+=t,g=w+1;break;case vt:d.windowExt=Br(r,f+8);break;case kt:d.windowOrg=Er(r,f+8);break;case Ct:d.viewportExt=Br(r,f+8);break;case St:d.viewportOrg=Er(r,f+8);break;case Et:d.windowExt&&(d.windowExt=Wr(r,f,d.windowExt));break;case Rt:d.viewportExt&&(d.viewportExt=Wr(r,f,d.viewportExt));break;case It:d.world=Ir(r,f+8);break;case Ot:{const e=Ir(r,f+8),t=r.getUint32(f+32,!0);1==t?d.world=Fr(Nr):2==t?d.world=Or(e,d.world):3==t?d.world=Or(d.world,e):4==t&&(d.world=e);break}case Bt:u.push(Mr(d));break;case Dt:{const e=r.getInt32(f+8,!0);if(e<0)for(let t=0;t<Math.min(-e,u.length);t++)Object.assign(d,u.pop());else if(e>0&&e<=u.length){const t=u[e-1];u.length=e-1,Object.assign(d,Mr(t))}break}case Pt:d.bkMode=r.getUint32(f+8,!0);break;case Mt:d.polyFillMode=r.getUint32(f+8,!0);break;case $t:d.textAlign=r.getUint32(f+8,!0);break;case Tt:d.textColor=Vr(r.getUint32(f+8,!0));break;case Ft:d.bkColor=Vr(r.getUint32(f+8,!0));break;case zt:{const e=r.getUint32(f+8,!0),t=r.getUint32(f+12,!0),n=Math.abs(r.getInt32(f+16,!0)),a=Vr(r.getUint32(f+24,!0));m[e]={type:"pen",color:a,width:n||1,nullPen:5==(15&t)};break}case yr:{const e=r.getUint32(f+8,!0),t=r.getUint32(f+28,!0),n=Math.abs(r.getInt32(f+32,!0)),a=r.getUint32(f+36,!0),s=Vr(r.getUint32(f+40,!0));m[e]={type:"pen",color:s,width:n||1,nullPen:5==(15&t)||1==a};break}case Wt:{const e=r.getUint32(f+8,!0),t=r.getUint32(f+12,!0),n=Vr(r.getUint32(f+16,!0));m[e]={type:"brush",color:n,nullBrush:1==t};break}case ir:m[r.getUint32(f+8,!0)]=nn(r,f+12,t-12);break;case Ht:{const e=r.getUint32(f+8,!0),t=2147483648&e?Sr[2147483647&e]:m[e];"pen"==t?.type?d.pen=$r(t):"brush"==t?.type?d.brush=Tr(t):"font"==t?.type&&(d.font={...t});break}case Vt:delete m[r.getUint32(f+8,!0)];break;case Zt:y=!0,b="";break;case Qt:y=!1;break;case er:C("Z");break;case Lt:{const e=Hr(d,Er(r,f+8));d.currentPoint=e,y&&C(`M ${jr(e.x)} ${jr(e.y)}`);break}case Kt:{const e=Hr(d,Er(r,f+8));y?C(`L ${jr(e.x)} ${jr(e.y)}`):k(`<path d="M ${jr(d.currentPoint.x)} ${jr(d.currentPoint.y)} L ${jr(e.x)} ${jr(e.y)}" ${Gr(d,!1,!0)}/>`),d.currentPoint=e;break}case gt:case ft:Kr(r,f,e==ft,!1,y,d,C,k);break;case yt:Kr(r,f,!1,!0,y,d,C,k);break;case ur:case dr:Xr(r,f,e==dr,!1,y,d,C,k);break;case pr:Xr(r,f,!1,!0,y,d,C,k);break;case pt:Jr(r,f,!1,!1,y,d,C,k);break;case bt:Jr(r,f,!1,!0,y,d,C,k);break;case hr:Jr(r,f,!0,!1,y,d,C,k);break;case mr:Jr(r,f,!0,!0,y,d,C,k);break;case xt:case wt:Zr(r,f,e==wt,!1,y,d,C,k);break;case fr:case gr:Zr(r,f,e==gr,!0,y,d,C,k);break;case Jt:Qr(r,f,!1,y,d,C,k);break;case br:Qr(r,f,!0,y,d,C,k);break;case jt:en(r,f,d,k,!1);break;case Ut:tn(r,f,d,k);break;case qt:en(r,f,d,k,!0);break;case Gt:case Yt:case _t:case Xt:rn(r,f,e,y,d,C,k);break;case tr:_r(b,d,k,!0,!1),b="";break;case nr:_r(b,d,k,!1,!0),b="";break;case rr:_r(b,d,k,!0,!0),b="";break;case lr:case cr:an(r,f,t,d,k,e==cr);break;case xr:case wr:sn(r,f,t,d,k,e==wr);break;case vr:on(r,f,t,d,k);break;case At:mn(r,f,d,k);break;case ar:case sr:case or:case kr:case Cr:pn(r,f,t,e,d,k)}f+=t}b&&_r(b,d,k,!0,!0);if(!p.length){const t=function(e,t){const r=function(e){const t=function(e){const t=[137,80,78,71,13,10,26,10];for(let r=0;r+t.length+12<=e.length;r++){if(!fn(e,t,r))continue;let n=r+8;for(;n+12<=e.length;){const t=gn(e,n),a=String.fromCharCode(e[n+4],e[n+5],e[n+6],e[n+7]);if(n+=12+t,n>e.length)break;if("IEND"==a)return e.subarray(r,n)}}return null}(e);if(t)return`data:image/png;base64,${xn(t)}`;const r=function(e){for(let t=0;t+4<e.length;t++)if(255==e[t]&&216==e[t+1]&&255==e[t+2])for(let r=t+4;r+1<e.length;r++)if(255==e[r]&&217==e[r+1])return e.subarray(t,r+2);return null}(e);if(r)return`data:image/jpeg;base64,${xn(r)}`;const n=function(e){for(let t=0;t+14<e.length;t++){if(66!=e[t]||77!=e[t+1])continue;const r=bn(e,t+2);if(r>14&&t+r<=e.length)return e.subarray(t,t+r)}return null}(e);return n?`data:image/bmp;base64,${xn(n)}`:null}(e);if(!r)return[];const n=Math.max(1,t.right-t.left),a=Math.max(1,t.bottom-t.top);return[`<image x="${jr(t.left)}" y="${jr(t.top)}" width="${jr(n)}" height="${jr(a)}" href="${r}" preserveAspectRatio="xMidYMid meet"/>`]}(e,a);t.length&&p.push(...t)}return p.length?`<svg xmlns="http://www.w3.org/2000/svg" width="${jr(c)}mm" height="${jr(h)}mm" viewBox="${jr(a.left)} ${jr(a.top)} ${jr(i)} ${jr(l)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="emf">${p.join("")}</svg>`:function(e,t,r,n,a,s){return`<svg xmlns="http://www.w3.org/2000/svg" width="${jr(n)}mm" height="${jr(a)}mm" viewBox="${jr(r.left)} ${jr(r.top)} ${jr(e)} ${jr(t)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="emf"><rect x="${jr(r.left)}" y="${jr(r.top)}" width="${jr(e)}" height="${jr(t)}" fill="none" stroke="#999" stroke-width="1"/><text x="${jr(r.left+e/2)}" y="${jr(r.top+t/2)}" text-anchor="middle" font-size="12" fill="#666">${qr(s)}</text></svg>`}(i,l,a,c,h,"Unsupported EMF image")}(e,t);return r?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(r)}`:null}function Mr(e){return{world:Fr(e.world),windowOrg:{...e.windowOrg},windowExt:e.windowExt?{...e.windowExt}:null,viewportOrg:{...e.viewportOrg},viewportExt:e.viewportExt?{...e.viewportExt}:null,pen:$r(e.pen),brush:Tr(e.brush),font:e.font?{...e.font}:null,textColor:e.textColor,bkColor:e.bkColor,bkMode:e.bkMode,polyFillMode:e.polyFillMode,textAlign:e.textAlign,currentPoint:{...e.currentPoint}}}function $r(e){return{...e}}function Tr(e){return{...e}}function Fr(e){return{...e}}function Lr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rr(e,t){return{left:e.getInt32(t,!0),top:e.getInt32(t+4,!0),right:e.getInt32(t+8,!0),bottom:e.getInt32(t+12,!0)}}function Er(e,t){return{x:e.getInt32(t,!0),y:e.getInt32(t+4,!0)}}function Br(e,t){return Er(e,t)}function Dr(e,t){return{x:e.getInt16(t,!0),y:e.getInt16(t+2,!0)}}function Ir(e,t){return{m11:e.getFloat32(t,!0),m12:e.getFloat32(t+4,!0),m21:e.getFloat32(t+8,!0),m22:e.getFloat32(t+12,!0),dx:e.getFloat32(t+16,!0),dy:e.getFloat32(t+20,!0)}}function Or(e,t){return{m11:e.m11*t.m11+e.m12*t.m21,m12:e.m11*t.m12+e.m12*t.m22,m21:e.m21*t.m11+e.m22*t.m21,m22:e.m21*t.m12+e.m22*t.m22,dx:e.dx*t.m11+e.dy*t.m21+t.dx,dy:e.dx*t.m12+e.dy*t.m22+t.dy}}function Hr(e,t){const r=e.world;let n=t.x*r.m11+t.y*r.m21+r.dx,a=t.x*r.m12+t.y*r.m22+r.dy;return e.windowExt&&e.viewportExt&&e.windowExt.x&&e.windowExt.y&&(n=(n-e.windowOrg.x)*e.viewportExt.x/e.windowExt.x+e.viewportOrg.x,a=(a-e.windowOrg.y)*e.viewportExt.y/e.windowExt.y+e.viewportOrg.y),{x:n,y:a}}function zr(e){let t=Math.hypot(e.world.m11,e.world.m12),r=Math.hypot(e.world.m21,e.world.m22);e.windowExt&&e.viewportExt&&e.windowExt.x&&e.windowExt.y&&(t*=Math.abs(e.viewportExt.x/e.windowExt.x),r*=Math.abs(e.viewportExt.y/e.windowExt.y));const n=(t+r)/2;return Number.isFinite(n)&&n>0?n:1}function Wr(e,t,r){const n=e.getInt32(t+8,!0),a=e.getInt32(t+12,!0),s=e.getInt32(t+16,!0),o=e.getInt32(t+20,!0);return{x:a?r.x*n/a:r.x,y:o?r.y*s/o:r.y}}function Vr(e){const t=e>>8&255,r=e>>16&255;return`#${Ur(255&e)}${Ur(t)}${Ur(r)}`}function Ur(e){return Math.max(0,Math.min(255,0|e)).toString(16).padStart(2,"0")}function jr(e){if(!Number.isFinite(e))return"0";return`${Math.round(1e3*e)/1e3}`}function qr(e){return`${e??""}`.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F]/g,"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Gr(e,t,r){const n=[];if(t&&!e.brush.nullBrush?(n.push(`fill="${e.brush.color}"`),n.push(`fill-rule="${2==e.polyFillMode?"nonzero":"evenodd"}"`)):n.push('fill="none"'),r&&!e.pen.nullPen){const t=zr(e),r=0==e.pen.width?1:Math.max(.35,e.pen.width*t);n.push(`stroke="${e.pen.color}"`),n.push(`stroke-width="${jr(r)}"`),n.push('stroke-linecap="square"'),n.push('stroke-linejoin="miter"')}else n.push('stroke="none"');return n.join(" ")}function _r(e,t,r,n,a){e&&r(`<path d="${e}" ${Gr(t,n,a)}/>`)}function Xr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0);if(!l||t+28+4*l>e.byteLength)return;const c=[];for(let r=0;r<l;r++)c.push(Hr(s,Dr(e,t+28+4*r)));Yr(c,r,n,a,s,o,i)}function Kr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0);if(!l||t+28+8*l>e.byteLength)return;const c=[];for(let r=0;r<l;r++)c.push(Hr(s,Er(e,t+28+8*r)));Yr(c,r,n,a,s,o,i)}function Yr(e,t,r,n,a,s,o){if(!e.length)return;let i=n&&r?"":r?`M ${jr(a.currentPoint.x)} ${jr(a.currentPoint.y)}`:`M ${jr(e[0].x)} ${jr(e[0].y)}`;for(let t=r?0:1;t<e.length;t++)i+=` L ${jr(e[t].x)} ${jr(e[t].y)}`;t&&(i+=" Z"),a.currentPoint=e[e.length-1],n?s(i.trim()):o(`<path d="${i.trim()}" ${Gr(a,t,!0)}/>`)}function Jr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0),c=r?4:8;if(!l||t+28+l*c>e.byteLength)return;const h=[];for(let n=0;n<l;n++){const a=r?Dr(e,t+28+n*c):Er(e,t+28+n*c);h.push(Hr(s,a))}let d=a&&n?"":n?`M ${jr(s.currentPoint.x)} ${jr(s.currentPoint.y)}`:`M ${jr(h[0].x)} ${jr(h[0].y)}`,u=n?s.currentPoint:h[0];for(let e=n?0:1;e+2<h.length;e+=3){const t=h[e],r=h[e+1],n=h[e+2];d+=` C ${jr(t.x)} ${jr(t.y)} ${jr(r.x)} ${jr(r.y)} ${jr(n.x)} ${jr(n.y)}`,u=n}s.currentPoint=u,a?o(d.trim()):i(`<path d="${d.trim()}" ${Gr(s,!1,!0)}/>`)}function Zr(e,t,r,n,a,s,o,i){const l=e.getUint32(t+24,!0),c=e.getUint32(t+28,!0),h=t+32,d=h+4*l,u=n?4:8;if(!l||!c||d+c*u>e.byteLength)return;let m=0;for(let t=0;t<l;t++){const l=e.getUint32(h+4*t,!0);if(!l||m+l>c)break;const p=[];for(let t=0;t<l;t++){const r=d+(m+t)*u,a=n?Dr(e,r):Er(e,r);p.push(Hr(s,a))}Yr(p,r,!1,a,s,o,i),m+=l}}function Qr(e,t,r,n,a,s,o){const i=e.getUint32(t+24,!0),l=r?4:8,c=t+28,h=c+i*l;if(!i||h+i>e.byteLength)return;const d=[];for(let t=0;t<i;t++){const n=c+t*l,s=r?Dr(e,n):Er(e,n);d.push(Hr(a,s))}let u="",m=0;for(;m<i;){const t=e.getUint8(h+m),r=6&t;6==r?(u+=` M ${jr(d[m].x)} ${jr(d[m].y)}`,a.currentPoint=d[m],m++):2==r?(u+=` L ${jr(d[m].x)} ${jr(d[m].y)}`,a.currentPoint=d[m],m++):4==r&&m+2<i?(u+=` C ${jr(d[m].x)} ${jr(d[m].y)} ${jr(d[m+1].x)} ${jr(d[m+1].y)} ${jr(d[m+2].x)} ${jr(d[m+2].y)}`,a.currentPoint=d[m+2],m+=3):m++,1&t&&(u+=" Z")}u=u.trim(),u&&(n?s(u):o(`<path d="${u}" ${Gr(a,!1,!0)}/>`))}function en(e,t,r,n,a){const s=Rr(e,t+8),o=Hr(r,{x:s.left,y:s.top}),i=Hr(r,{x:s.right,y:s.bottom}),l=Math.min(o.x,i.x),c=Math.min(o.y,i.y),h=Math.abs(i.x-o.x),d=Math.abs(i.y-o.y),u=a?` rx="${jr(Math.min(h,d)/8)}" ry="${jr(Math.min(h,d)/8)}"`:"";n(`<rect x="${jr(l)}" y="${jr(c)}" width="${jr(h)}" height="${jr(d)}"${u} ${Gr(r,!0,!0)}/>`)}function tn(e,t,r,n){const a=Rr(e,t+8),s=Hr(r,{x:a.left,y:a.top}),o=Hr(r,{x:a.right,y:a.bottom}),i=(s.x+o.x)/2,l=(s.y+o.y)/2,c=Math.abs(o.x-s.x)/2,h=Math.abs(o.y-s.y)/2;n(`<ellipse cx="${jr(i)}" cy="${jr(l)}" rx="${jr(c)}" ry="${jr(h)}" ${Gr(r,!0,!0)}/>`)}function rn(e,t,r,n,a,s,o){const i=Rr(e,t+8),l=Er(e,t+24),c=Er(e,t+32),h=(i.left+i.right)/2,d=(i.top+i.bottom)/2,u=Math.abs(i.right-i.left)/2,m=Math.abs(i.bottom-i.top)/2;if(!u||!m)return;const p=Math.atan2(l.y-d,l.x-h);let f=Math.atan2(c.y-d,c.x-h),g=f-p;g<=0&&(g+=2*Math.PI);const b=g>Math.PI?1:0,y=Hr(a,{x:h+Math.cos(p)*u,y:d+Math.sin(p)*m}),x=Hr(a,{x:h+Math.cos(f)*u,y:d+Math.sin(f)*m}),w=Hr(a,{x:h,y:d}),v=Hr(a,{x:h+u,y:d}),k=Hr(a,{x:h,y:d+m}),C=Math.max(.01,Math.abs(v.x-w.x)||Math.abs(k.x-w.x)),S=Math.max(.01,Math.abs(k.y-w.y)||Math.abs(v.y-w.y)),N=`A ${jr(C)} ${jr(S)} 0 ${b} 1 ${jr(x.x)} ${jr(x.y)}`;let A=`M ${jr(y.x)} ${jr(y.y)} ${N}`,P=!1;r==_t?(A+=" Z",P=!0):r==Xt&&(A+=` L ${jr(w.x)} ${jr(w.y)} Z`,P=!0),r==Yt&&(a.currentPoint=x),n?s(A):o(`<path d="${A}" ${Gr(a,P,!0)}/>`)}function nn(e,t,r){const n=r>=4?e.getInt32(t,!0):12,a=r>=20?e.getInt32(t+16,!0):400,s=r>=21&&0!=e.getUint8(t+20),o=r>=22&&0!=e.getUint8(t+21);let i="";const l=t+28,c=Math.max(0,Math.min(64,r-28));for(let t=0;t+1<c;t+=2){const r=e.getUint16(l+t,!0);if(!r)break;i+=String.fromCharCode(r)}return{type:"font",family:i,size:Math.abs(n)||12,weight:a,italic:s,underline:o}}function an(e,t,r,n,a,s){if(r<76)return;const o=Hr(n,Er(e,t+36)),i=e.getUint32(t+44,!0),l=e.getUint32(t+48,!0);if(!i||l<=0)return;if(l+i*(s?2:1)>r)return;un(s?ln(e,t+l,i):cn(new Uint8Array(e.buffer,e.byteOffset+t+l,i)),o,n,a)}function sn(e,t,r,n,a,s){if(r<40)return;const o=e.getUint32(t+36,!0);let i=t+40;for(let l=0;l<o&&i+40<=t+r;l++,i+=40){const o=Hr(n,Er(e,i)),l=e.getUint32(i+8,!0),c=e.getUint32(i+12,!0);if(!l||!c||c+l*(s?2:1)>r)continue;un(s?ln(e,t+c,l):cn(new Uint8Array(e.buffer,e.byteOffset+t+c,l)),o,n,a)}}function on(e,t,r,n,a){if(r<36)return;const s=Hr(n,Er(e,t+8)),o=e.getUint32(t+16,!0),i=512&e.getUint32(t+20,!0)?40:28;if(!o||i+o>r)return;un(cn(new Uint8Array(e.buffer,e.byteOffset+t+i,o)),s,n,a)}function ln(e,t,r){let n="";for(let a=0;a<r;a++){const r=e.getUint16(t+2*a,!0);r&&(n+=String.fromCharCode(r))}return n}function cn(e){if(!e.length)return"";const t=globalThis.TextDecoder;if(t)try{return new t("gb18030").decode(e).replace(/\0+$/g,"")}catch{try{return new t("windows-1252").decode(e).replace(/\0+$/g,"")}catch{}}let r="";for(const t of e)t&&(r+=String.fromCharCode(t));return r}function hn(e){const t=6&e.textAlign;return 6==t?'text-anchor="middle"':2==t?'text-anchor="end"':""}function dn(e){const t=24&e.textAlign;return 0==t?'dominant-baseline="text-before-edge"':8==t?'dominant-baseline="text-after-edge"':""}function un(e,t,r,n){e&&n(`<text ${function(e,t){const r=e.font,n=Math.max(1,(r?.size??12)*zr(e));return[`x="${jr(t.x)}"`,`y="${jr(t.y)}"`,`fill="${e.textColor}"`,`font-size="${jr(n)}"`,r?.family?`font-family="${qr(r.family)}"`:"",r?.weight?`font-weight="${r.weight>=600?"bold":"normal"}"`:"",r?.italic?'font-style="italic"':"",r?.underline?'text-decoration="underline"':"",hn(e),dn(e)].filter(Boolean).join(" ")}(r,t)}>${qr(e)}</text>`)}function mn(e,t,r,n){if(t+20>e.byteLength)return;const a=Hr(r,Er(e,t+8)),s=Vr(e.getUint32(t+16,!0));n(`<rect x="${jr(a.x)}" y="${jr(a.y)}" width="1" height="1" fill="${s}" stroke="none"/>`)}function pn(e,t,r,n,a,s){let o=0,i=0,l=0,c=0,h=0,d=0,u=0,m=0;if(n==or){if(r<80)return;o=e.getInt32(t+24,!0),i=e.getInt32(t+28,!0),h=e.getUint32(t+48,!0),d=e.getUint32(t+52,!0),u=e.getUint32(t+56,!0),m=e.getUint32(t+60,!0),l=e.getInt32(t+72,!0),c=e.getInt32(t+76,!0)}else{if(r<100)return;o=e.getInt32(t+24,!0),i=e.getInt32(t+28,!0),l=e.getInt32(t+32,!0),c=e.getInt32(t+36,!0),h=e.getUint32(t+84,!0),d=e.getUint32(t+88,!0),u=e.getUint32(t+92,!0),m=e.getUint32(t+96,!0)}if(!h||!d||!u||!m||h+d>r||u+m>r)return;const p=function(e,t,r,n,a,s){const o=t+r,i=t+a;if(n<4||o+n>e.byteLength||i+s>e.byteLength)return null;const l=e.getUint32(o,!0),c=l>=40&&n>=20?e.getUint32(o+16,!0):0,h=new Uint8Array(e.buffer,e.byteOffset+i,s);if(4==c)return`data:image/jpeg;base64,${xn(h)}`;if(5==c)return`data:image/png;base64,${xn(h)}`;const d=new Uint8Array(n+s);return d.set(new Uint8Array(e.buffer,e.byteOffset+o,n),0),d.set(h,n),function(e,t){if(!e?.length||t<=0||t>e.length)return null;const r=14,n=r+e.length,a=r+t,s=new Uint8Array(n);return s[0]=66,s[1]=77,yn(s,2,n),yn(s,10,a),s.set(e,r),`data:image/bmp;base64,${xn(s)}`}(d,n)}(e,t,h,d,u,m);if(!p)return;const f=Hr(a,{x:o,y:i}),g=Hr(a,{x:o+l,y:i+c}),b=Math.min(f.x,g.x),y=Math.min(f.y,g.y),x=Math.abs(g.x-f.x),w=Math.abs(g.y-f.y);s(`<image x="${jr(b)}" y="${jr(y)}" width="${jr(x)}" height="${jr(w)}" href="${p}" preserveAspectRatio="none"/>`)}function fn(e,t,r){for(let n=0;n<t.length;n++)if(e[r+n]!=t[n])return!1;return!0}function gn(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function bn(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function yn(e,t,r){e[t]=255&r,e[t+1]=r>>8&255,e[t+2]=r>>16&255,e[t+3]=r>>24&255}function xn(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,r+32768));if("function"==typeof btoa)return btoa(t);const r=globalThis.Buffer;return r?r.from(e).toString("base64"):t}const wn=2596720087,vn=0,kn=258,Cn=513,Sn=521,Nn=302,An=523,Pn=524,Mn=525,$n=526,Tn=532,Fn=531,Ln=805,Rn=804,En=1051,Bn=1048,Dn=762,In=764,On=763,Hn=301,zn=496,Wn=1313,Vn=2610,Un={0:{type:"brush",color:"#ffffff"},1:{type:"brush",color:"#c0c0c0"},2:{type:"brush",color:"#808080"},3:{type:"brush",color:"#404040"},4:{type:"brush",color:"#000000"},5:{type:"brush",color:"none",nullBrush:!0},6:{type:"pen",color:"#ffffff",width:1},7:{type:"pen",color:"#000000",width:1},8:{type:"pen",color:"none",width:0,nullPen:!0},18:{type:"brush",color:"#ffffff"},19:{type:"pen",color:"#000000",width:1}};function jn(e){if(!e||e.length<22)return!1;const t=ya(e);return t.getUint32(0,!0)==wn||e.length>=18&&1==t.getUint16(0,!0)&&9==t.getUint16(2,!0)}function qn(e,t){const r=function(e,t={}){if(!jn(e))return null;const r=ya(e);let n=0,a={left:0,top:0,right:1e3,bottom:1e3},s=100,o=100;if(r.getUint32(0,!0)==wn&&r.byteLength>=22){a={left:r.getInt16(6,!0),top:r.getInt16(8,!0),right:r.getInt16(10,!0),bottom:r.getInt16(12,!0)};const e=Math.max(1,r.getUint16(14,!0)||1440);s=Math.max(1,a.right-a.left)/e*25.4,o=Math.max(1,a.bottom-a.top)/e*25.4,n=22}if(n+18>r.byteLength)return null;const i=r.getUint32(n+6,!0),l=Math.max(1,r.getUint16(n+10,!0)||16),c=i>0?2*i:r.byteLength;n+=18;const h=Math.max(1,a.right-a.left),d=Math.max(1,a.bottom-a.top),u=function(e){return{windowOrg:{x:e.left,y:e.top},windowExt:{x:Math.max(1,e.right-e.left),y:Math.max(1,e.bottom-e.top)},viewportOrg:{x:0,y:0},viewportExt:null,currentPoint:{x:0,y:0},pen:{type:"pen",color:"#000000",width:1},brush:{type:"brush",color:"#ffffff",nullBrush:!0},font:{type:"font",family:"Times New Roman",size:12,weight:400,italic:!1,underline:!1,strike:!1,charset:0},textColor:"#000000",bkColor:"#ffffff",bkMode:1,textAlign:0}}(a),m=new Array(l).fill(null),p=[];let f=0,g=0;const b=t.maxRecords??1e4,y=t.maxShapes??5e4,x=Math.min(r.byteLength,c),w=e=>{!e||f>=y||(p.push(e),f++)};for(;n+6<=x&&g++<b;){const e=r.getUint32(n,!0),t=r.getUint16(n+4,!0),a=n+2*e;if(e<3||a>r.byteLength)break;const i=n+6;switch(t){case vn:n=x;break;case kn:u.bkMode=ma(r,i);break;case Cn:u.bkColor=ga(pa(r,i));break;case Sn:u.textColor=ga(pa(r,i));break;case Nn:u.textAlign=ua(r,i);break;case An:u.windowOrg=ha(r,i);break;case Pn:u.windowExt=ha(r,i),s&&o||(s=Math.max(1,Math.abs(u.windowExt.x))/100,o=Math.max(1,Math.abs(u.windowExt.y))/100);break;case Mn:u.viewportOrg=ha(r,i);break;case $n:u.viewportExt=ha(r,i);break;case Dn:sa(m,Kn(r,i,a));break;case In:sa(m,Yn(r,i,a));break;case On:sa(m,Jn(r,i,a));break;case Hn:{const e=ua(r,i),t=e>=32768?Un[32767&e]:m[e];"pen"==t?.type?u.pen={...t}:"brush"==t?.type?u.brush={...t}:"font"==t?.type&&(u.font={...t});break}case zn:{const e=ua(r,i);e<m.length&&(m[e]=null);break}case Tn:u.currentPoint=Gn(u,ha(r,i));break;case Fn:{const e=Gn(u,ha(r,i));w(`<path d="M ${xa(u.currentPoint.x)} ${xa(u.currentPoint.y)} L ${xa(e.x)} ${xa(e.y)}" ${ia(u)}/>`),u.currentPoint=e;break}case Ln:case Rn:Zn(r,i,a,t==Rn,u,w);break;case En:Qn(r,i,u,w,!1);break;case Bn:Qn(r,i,u,w,!0);break;case Wn:ea(r,i,a,u,w);break;case Vn:ta(r,i,a,u,w)}n=a}return p.length?`<svg xmlns="http://www.w3.org/2000/svg" width="${xa(s)}mm" height="${xa(o)}mm" viewBox="${xa(a.left)} ${xa(a.top)} ${xa(h)} ${xa(d)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="wmf">${p.join("")}</svg>`:function(e,t,r,n,a,s){return`<svg xmlns="http://www.w3.org/2000/svg" width="${xa(n)}mm" height="${xa(a)}mm" viewBox="${xa(r.left)} ${xa(r.top)} ${xa(e)} ${xa(t)}" preserveAspectRatio="xMidYMid meet" data-docx-metafile="wmf"><rect x="${xa(r.left)}" y="${xa(r.top)}" width="${xa(e)}" height="${xa(t)}" fill="none" stroke="#999" stroke-width="1"/><text x="${xa(r.left+e/2)}" y="${xa(r.top+t/2)}" text-anchor="middle" font-size="12" fill="#666">${wa(s)}</text></svg>`}(h,d,a,s,o,"Unsupported WMF image")}(e,t);return r?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(r)}`:null}function Gn(e,t){const r=e.viewportExt??e.windowExt,n=Xn(r.x,e.windowExt.x),a=Xn(r.y,e.windowExt.y);return{x:e.viewportOrg.x+(t.x-e.windowOrg.x)*n,y:e.viewportOrg.y+(t.y-e.windowOrg.y)*a}}function _n(e,t){const r=e.viewportExt??e.windowExt;return Math.abs(t*Xn(r.x,e.windowExt.x))}function Xn(e,t){return t?e/t:1}function Kn(e,t,r){const n=ua(e,t),a=t+4<r?Math.abs(ma(e,t+2)):1,s=t+6<r?Math.abs(ma(e,t+4)):0;return{type:"pen",color:t+10<=r?ga(pa(e,t+6)):"#000000",width:Math.max(1,a,s),nullPen:5==(15&n)}}function Yn(e,t,r){const n=ua(e,t);return{type:"brush",color:t+6<=r?ga(pa(e,t+2)):"#ffffff",nullBrush:1==n||5==n}}function Jn(e,t,r){const n=ma(e,t),a=ma(e,t+2),s=ma(e,t+8)||400,o=0!=da(e,t+10),i=0!=da(e,t+11),l=0!=da(e,t+12),c=da(e,t+13),h=function(e,t,r){let n="";for(let a=0;a<r&&t+a<e.byteLength;a++){const r=e.getUint8(t+a);if(0==r)break;n+=String.fromCharCode(r)}return n}(e,t+18,Math.max(0,Math.min(32,r-t-18)));return{type:"font",family:(d=h,(d??"").replace(/[^\x20-\x7e]/g,"").trim()||"Times New Roman"),size:Math.max(1,Math.abs(n||a||12)),weight:s,italic:o,underline:i,strike:l,charset:c};var d}function Zn(e,t,r,n,a,s){const o=ua(e,t);let i=t+2;const l=[];for(let t=0;t<o&&i+4<=r;t++,i+=4)l.push(Gn(a,{x:ma(e,i),y:ma(e,i+2)}));if(!l.length)return;s(`<path d="${l.map((e,t)=>`${0==t?"M":"L"} ${xa(e.x)} ${xa(e.y)}`).join(" ")+(n?" Z":"")}" ${n?oa(a):ia(a)}/>`),a.currentPoint=l[l.length-1]}function Qn(e,t,r,n,a){const s=Gn(r,ha(e,t)),o=Gn(r,ha(e,t+4)),i=Math.min(o.x,s.x),l=Math.min(o.y,s.y),c=Math.abs(s.x-o.x),h=Math.abs(s.y-o.y);n(a?`<ellipse cx="${xa(i+c/2)}" cy="${xa(l+h/2)}" rx="${xa(c/2)}" ry="${xa(h/2)}" ${oa(r)}/>`:`<rect x="${xa(i)}" y="${xa(l)}" width="${xa(c)}" height="${xa(h)}" ${oa(r)}/>`)}function ea(e,t,r,n,a){const s=ua(e,t),o=t+2,i=o+s+s%2;if(i+4>r)return;const l=ca(e,o,s,n.font.charset),c=ma(e,i);aa(l,ra(n,{x:ma(e,i+2),y:c}),null,n,a),na(l,null,n)}function ta(e,t,r,n,a){const s=ma(e,t),o=ma(e,t+2),i=ua(e,t+4);let l=t+8;if(6&ua(e,t+6)&&(l+=8),l+i>r)return;const c=ca(e,l,i,n.font.charset);l+=i+i%2;const h=[];for(;l+2<=r&&h.length<i;)h.push(ma(e,l)),l+=2;aa(c,ra(n,{x:o,y:s}),h.length?h:null,n,a),na(c,h.length?h:null,n)}function ra(e,t){return 1&e.textAlign?{...e.currentPoint}:Gn(e,t)}function na(e,t,r){if(!(1&r.textAlign))return;const n=t?.length?t.reduce((e,t)=>e+t,0):e.length*r.font.size*.5;r.currentPoint={x:r.currentPoint.x+_n(r,n),y:r.currentPoint.y}}function aa(e,t,r,n,a){if(!e)return;const s=n.font,o=Math.max(1,function(e,t){const r=e.viewportExt??e.windowExt;return Math.abs(t*Xn(r.y,e.windowExt.y))}(n,s.size)),i=[`font-family:${fa(s.family)}`,`font-size:${xa(o)}px`,`font-weight:${s.weight>=600?"700":s.weight}`,"font-style:"+(s.italic?"italic":"normal")],l=[];s.underline&&l.push("underline"),s.strike&&l.push("line-through"),l.length&&i.push(`text-decoration:${l.join(" ")}`);const c=[`x="${xa(t.x)}"`,`y="${xa(t.y)}"`,`fill="${va(n.textColor)}"`,`style="${va(i.join(";"))}"`,`dominant-baseline="${24&~n.textAlign?"text-before-edge":"alphabetic"}"`,la(n.textAlign)].filter(Boolean).join(" ");if(!r||0==r.length)return void a(`<text ${c}>${wa(e)}</text>`);let h=t.x;a(`<text ${c}>${Array.from(e).map((e,t)=>{const a=`<tspan x="${xa(h)}">${wa(e)}</tspan>`;return h+=_n(n,r[t]??0),a}).join("")}</text>`)}function sa(e,t){let r=e.findIndex(e=>null==e);r<0?e.push(t):e[r]=t}function oa(e){return`${function(e){return e.brush?.nullBrush?'fill="none"':`fill="${va(e.brush?.color??"#ffffff")}"`}(e)} ${ia(e)}`}function ia(e){return e.pen?.nullPen?'stroke="none"':`fill="none" stroke="${va(e.pen?.color??"#000000")}" stroke-width="${xa(Math.max(.5,_n(e,e.pen?.width??1)))}"`}function la(e){return 6&e?'text-anchor="end"':2&e?'text-anchor="middle"':""}function ca(e,t,r,n){const a=new Uint8Array(e.buffer,e.byteOffset+t,Math.max(0,Math.min(r,e.byteLength-t))),s=2==n?"symbol":134==n?"gb18030":"windows-1252";try{return new TextDecoder(s).decode(a).replace(/\0+$/g,"")}catch{let e="";for(const t of a)e+=String.fromCharCode(t);return e.replace(/\0+$/g,"")}}function ha(e,t){return{y:ma(e,t),x:ma(e,t+2)}}function da(e,t){return t<e.byteLength?e.getUint8(t):0}function ua(e,t){return t+2<=e.byteLength?e.getUint16(t,!0):0}function ma(e,t){return t+2<=e.byteLength?e.getInt16(t,!0):0}function pa(e,t){return t+4<=e.byteLength?e.getUint32(t,!0):0}function fa(e){const t=(e||"Times New Roman").replace(/["\\]/g,"");return/[\s,]/.test(t)?`"${t}"`:t}function ga(e){const t=e>>8&255,r=e>>16&255;return`#${ba(255&e)}${ba(t)}${ba(r)}`}function ba(e){return Math.max(0,Math.min(255,e)).toString(16).padStart(2,"0")}function ya(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function xa(e){if(!Number.isFinite(e))return"0";const t=Math.round(1e3*e)/1e3;return Number.isInteger(t),`${t}`}function wa(e){return String(e??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function va(e){return wa(e).replace(/"/g,"&quot;")}const ka=[{type:m.OfficeDocument,target:"word/document.xml"},{type:m.ExtendedProperties,target:"docProps/app.xml"},{type:m.CoreProperties,target:"docProps/core.xml"},{type:m.CustomProperties,target:"docProps/custom.xml"}];class Ca{constructor(){this.parts=[],this.partsMap={},this.contentTypes=[],this._snapshotAssetDataUrls=null,this._snapshotTextParts=null}static fromSnapshot(e,t){const r=new Ca;r._options=t,r.rels=e.rels??[],r.contentTypes=e.contentTypes??[],r.parts=[],r.partsMap={},r._snapshotAssetDataUrls=e.assetDataUrls??{},r._snapshotTextParts=e.textParts??{},r._package={load:e=>Promise.resolve(r._snapshotTextParts?.[Sa(e)]??null),parseXmlDocument:e=>J(e,t?.trimXmlDeclaration??!0),get:e=>null!=r._snapshotTextParts?.[Sa(e)]?{}:null};for(const t of e.parts??[]){const e=r.restoreSnapshotPart(t);e&&(r.parts.push(e),r.partsMap[e.path]=e)}return r}static async load(e,t,r){var n=new Ca;return n._options=r,n._parser=t,n._package=await se.load(e,r),n.rels=await n._package.loadRelationships(),n.contentTypes=await n._package.loadContentTypes(),await Promise.all(ka.map(e=>{const t=n.rels.find(t=>t.type===e.type)??e;return n.loadRelationshipPart(t.target,t.type)})),n}restoreSnapshotPart(e){const t={path:e.path,rels:e.rels??[]};switch(Object.assign(t,e.data??{}),e.kind){case"document":this.documentPart=t;break;case"fontTable":this.fontTablePart=t;break;case"numbering":this.numberingPart=t;break;case"styles":this.stylesPart=t;break;case"theme":this.themePart=t;break;case"footnotes":this.footnotesPart=t;break;case"endnotes":this.endnotesPart=t;break;case"coreProps":this.corePropsPart=t;break;case"extendedProps":this.extendedPropsPart=t;break;case"settings":this.settingsPart=t;break;case"comments":t.commentMap=y(t.comments??[],e=>e.id),this.commentsPart=t;break;case"commentsExtended":t.commentMap=y(t.comments??[],e=>e.paraId),this.commentsExtendedPart=t}return t}async createSnapshot(){const e={rels:this.rels??[],contentTypes:this.contentTypes??[],parts:this.parts.map(e=>this.snapshotPart(e)).filter(Boolean),assetDataUrls:{},textParts:{}};return await this.preloadSnapshotRelationshipTargets(e),e}snapshotPart(e){const t=e;let r="part",n={};if(e===this.documentPart)r="document",n={body:t.body};else if(e===this.fontTablePart)r="fontTable",n={fonts:t.fonts};else if(e===this.numberingPart)r="numbering",n={numberings:t.numberings,abstractNumberings:t.abstractNumberings,bulletPictures:t.bulletPictures,domNumberings:t.domNumberings};else if(e===this.stylesPart)r="styles",n={styles:t.styles};else if(e===this.themePart)r="theme",n={theme:t.theme};else if(e===this.footnotesPart)r="footnotes",n={notes:t.notes};else if(e===this.endnotesPart)r="endnotes",n={notes:t.notes};else if(e===this.corePropsPart)r="coreProps",n={props:t.props};else if(e===this.extendedPropsPart)r="extendedProps",n={props:t.props};else if(e===this.settingsPart)r="settings",n={settings:t.settings};else if(e===this.commentsPart)r="comments",n={comments:t.comments};else if(e===this.commentsExtendedPart)r="commentsExtended",n={comments:t.comments};else{if(!t.rootElement)return null;r="header"===t.rootElement.type?"header":"footer",n={rootElement:t.rootElement}}return{kind:r,path:e.path,rels:e.rels??[],data:n}}async preloadSnapshotRelationshipTargets(e){const t=new Set,r=e=>{for(const r of e?.rels??[]){if(!r||d(r))continue;const n=Sa(this.resolveRelationshipTarget(e,r));n&&!t.has(n)&&t.add(n)}};for(const e of this.parts)r(e);for(const r of t){if(this.partsMap[r])continue;const t=r.toLowerCase(),n=/\.(xml|rels|html?|txt)$/i.test(t);try{if(n){const t=await this._package.load(r,"string");null!=t&&(e.textParts[r]=t)}else{const t=await this.loadPackageAssetDataUrl(r);t&&(e.assetDataUrls[r]=t)}}catch(e){this._options?.debug&&console.warn(`docx-preview: unable to preload relationship target ${r}`,e)}}}blobWithContentType(e,t){if(!e)return null;const r=this.contentTypeForPath(t);return r?new Blob([e],{type:r}):e}save(e="blob"){return this._package.save(e)}async loadRelationshipPart(e,t){if(this.partsMap[e])return this.partsMap[e];if(!this._package.get(e))return null;let r=null;switch(t){case m.OfficeDocument:this.documentPart=r=new ie(this._package,e,this._parser);break;case m.FontTable:this.fontTablePart=r=new ae(this._package,e);break;case m.Numbering:this.numberingPart=r=new He(this._package,e,this._parser);break;case m.Styles:this.stylesPart=r=new ze(this._package,e,this._parser);break;case m.Theme:this.themePart=r=new rt(this._package,e);break;case m.Footnotes:this.footnotesPart=r=new it(this._package,e,this._parser);break;case m.Endnotes:this.endnotesPart=r=new lt(this._package,e,this._parser);break;case m.Footer:r=new _e(this._package,e,this._parser);break;case m.Header:r=new Ge(this._package,e,this._parser);break;case m.CoreProperties:this.corePropsPart=r=new Ye(this._package,e);break;case m.ExtendedProperties:this.extendedPropsPart=r=new Ke(this._package,e);break;case m.CustomProperties:r=new ht(this._package,e);break;case m.Settings:this.settingsPart=r=new ct(this._package,e);break;case m.Comments:this.commentsPart=r=new dt(this._package,e,this._parser);break;case m.CommentsExtended:this.commentsExtendedPart=r=new ut(this._package,e)}if(null==r)return Promise.resolve(null);if(this.partsMap[e]=r,this.parts.push(r),await r.load(),r.rels?.length>0){const[e]=g(r.path);await Promise.all(r.rels.filter(e=>!d(e)).map(t=>this.loadRelationshipPart(b(t.target,e),t.type)))}return r}async loadRelationshipXml(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||d(n))return null;const a=Sa(this.resolveRelationshipTarget(r,n)),s=a?this._snapshotTextParts?.[a]??await this._package.load(a,"string"):null;return s?this._package.parseXmlDocument(s):null}async loadRelationshipText(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||d(n))return null;const a=Sa(this.resolveRelationshipTarget(r,n));return a?Promise.resolve(this._snapshotTextParts?.[a]??this._package.load(a,"string")):Promise.resolve(null)}async loadRelationshipBlobUrl(e,t,r=this._options?.externalResourcePolicy??"block"){const n=t??this.documentPart,a=this.getRelById(n,e);if(!a)return null;if(d(a))return u(a,r);const s=Sa(this.resolveRelationshipTarget(n,a));return s?this.loadPackageAssetUrl(s):null}async loadDocumentImage(e,t,r=this._options?.externalResourcePolicy??"block"){const n=t??this.documentPart,a=this.getRelById(n,e);if(!a)return null;if(d(a))return u(a,r);const s=Sa(this.resolveRelationshipTarget(n,a));return s?this.loadPackageAssetUrl(s):null}async loadNumberingImage(e){const t=Sa(this.getPathById(this.numberingPart,e));return t?this.loadPackageAssetUrl(t):null}async loadFont(e,t){const r=Sa(this.getPathById(this.fontTablePart,e));if(!r)return null;if(this._snapshotAssetDataUrls?.[r])return this._snapshotAssetDataUrls[r];const n=await this._package.load(r,"uint8array");return n?this.blobToURL(new Blob([Na(n,t)]),r):n}async loadAltChunk(e,t){const r=t??this.documentPart,n=this.getRelById(r,e);if(!n||d(n))return Promise.resolve(null);const a=Sa(this.resolveRelationshipTarget(r,n));return a?Promise.resolve(this._snapshotTextParts?.[a]??this._package.load(a,"string")):Promise.resolve(null)}blobToURL(e,t){return e?(e=this.blobWithContentType(e,t),this._options.useBase64URL?x(e):URL.createObjectURL(e)):null}async loadPackageAssetUrl(e){const t=Sa(e);if(!t)return null;if(this._snapshotAssetDataUrls?.[t])return this._snapshotAssetDataUrls[t];if(this.isConvertibleMetafileAsset(t)){const e=await this._package.load(t,"uint8array");if(!e)return null;const r=this.convertMetafileAsset(e,t);return r||this.blobToURL(new Blob([e],{type:this.contentTypeForPath(t)||this.defaultMetafileContentType(t)}),t)}return this.blobToURL(await this._package.load(t,"blob"),t)}async loadPackageAssetDataUrl(e){const t=Sa(e);if(!t)return null;if(this.isConvertibleMetafileAsset(t)){const e=await this._package.load(t,"uint8array");if(!e)return null;const r=this.convertMetafileAsset(e,t);if(r)return r;const n=e?new Blob([e],{type:this.contentTypeForPath(t)||this.defaultMetafileContentType(t)}):null;return n?x(n):null}const r=await this._package.load(t,"blob"),n=this.blobWithContentType(r,t);return n?x(n):null}convertMetafileAsset(e,t){if(!e)return null;try{if(Ar(e))return Pr(e);if(jn(e))return qn(e)}catch(e){return this._options?.debug&&console.warn(`docx-preview: unable to convert metafile asset ${t}`,e),null}return null}isConvertibleMetafileAsset(e){const t=this.contentTypeForPath(e).toLowerCase();return/\.(emf|wmf)$/i.test(e??"")||"image/x-emf"==t||"image/emf"==t||"image/x-wmf"==t||"image/wmf"==t}defaultMetafileContentType(e){return/\.wmf$/i.test(e??"")?"image/x-wmf":"image/x-emf"}contentTypeForPath(e){const t=Sa(e??"").toLowerCase();for(const e of this.contentTypes??[])if(e.partName&&Sa(e.partName).toLowerCase()==t)return e.contentType??"";const r=/\.([^.\/]+)$/.exec(t),n=r?.[1]??"";if(!n)return"";const a=(this.contentTypes??[]).find(e=>e.extension?.toLowerCase()==n);return a?.contentType??""}findPartByRelId(e,t=null){var r=this.getRelById(t,e);const n=r&&!d(r)?this.resolveRelationshipTarget(t,r):null;return n?this.partsMap[n]:null}getRelById(e,t){return(e?.rels??this.rels??[]).find(e=>e.id==t)}getPathById(e,t){const r=this.getRelById(e,t);return r&&!d(r)?this.resolveRelationshipTarget(e,r):null}resolveRelationshipTarget(e,t){const[r]=e?g(e.path):[""];return Sa(b(t.target,r))}}function Sa(e){return e&&e.startsWith("/")?e.substring(1):e}function Na(e,t){const r=t.replace(/{|}|-/g,""),n=new Array(16);for(let e=0;e<16;e++)n[16-e-1]=parseInt(r.substring(2*e,2*e+2),16);for(let t=0;t<32;t++)e[t]=e[t]^n[t%16];return e}function Aa(e,t){return{type:We.BookmarkStart,id:t.attr(e,"id"),name:t.attr(e,"name"),colFirst:t.intAttr(e,"colFirst"),colLast:t.intAttr(e,"colLast")}}function Pa(e,t){return{type:We.BookmarkEnd,id:t.attr(e,"id")}}class Ma extends Ve{constructor(){super(...arguments),this.type=We.VmlElement,this.attrs={}}}function $a(e,t){var r=new Ma;switch(e.localName){case"group":r.tagName="g",r.isGroup=!0;break;case"rect":r.tagName="rect",Object.assign(r.attrs,{width:"100%",height:"100%"});break;case"oval":r.tagName="ellipse",Object.assign(r.attrs,{cx:"50%",cy:"50%",rx:"50%",ry:"50%"});break;case"line":r.tagName="line";break;case"shape":r.tagName="g";break;case"textbox":r.tagName="foreignObject",r.textInset=["0.1in","0.05in","0.1in","0.05in"],Object.assign(r.attrs,{width:"100%",height:"100%"});break;default:return null}for(const t of Q.attrs(e))switch(t.localName){case"style":r.cssStyleText=t.value,r.cssStyle=C(t.value);break;case"coordorigin":r.coordOrigin=Da(t.value);break;case"coordsize":r.coordSize=Da(t.value);break;case"inset":if(r.textInset){const e=t.value.trim().split(/\s*,\s*|\s+/);r.textInset=r.textInset.map((t,r)=>e[r]||t)}break;case"id":r.attrs.id=t.value;break;case"fillcolor":r.attrs.fill=t.value;break;case"strokecolor":r.attrs.stroke=t.value;break;case"strokeweight":r.attrs["stroke-width"]=H(t.value,I)??t.value;break;case"filled":"f"!=t.value&&"false"!=t.value||(r.attrs.fill="none");break;case"stroked":"f"!=t.value&&"false"!=t.value||(r.attrs.stroke="none");break;case"path":r.tagName="path",r.attrs.d=Ia(t.value);break;case"from":const[e,n]=Ba(t.value);Object.assign(r.attrs,{x1:e,y1:n});break;case"to":const[a,s]=Ba(t.value);Object.assign(r.attrs,{x2:a,y2:s})}for(const n of Q.elements(e))switch(n.localName){case"stroke":Object.assign(r.attrs,Ra(n));break;case"fill":Object.assign(r.attrs,Ea(n));break;case"imagedata":const e=Q.attr(n,"id")??Q.attr(n,"relid")??Q.attr(n,"pict");e&&(r.tagName="image",Object.assign(r.attrs,Ta(n)),r.imageHref={id:e,title:Q.attr(n,"title")});break;case"txbxContent":r.children.push(...t.parseBodyElements(n));break;default:const a=$a(n,t);a&&r.children.push(a)}const n=r.cssStyle?.rotation?.trim();if(n&&/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:fd|deg)?$/i.test(n)){const e=parseFloat(n)/(/fd$/i.test(n)?65536:1);Number.isFinite(e)&&(r.rotation=e)}if("absolute"==r.cssStyle?.position){const t=r.cssStyle["mso-position-horizontal-relative"]??"paragraph",n=r.cssStyle["mso-position-vertical-relative"]??"paragraph",a=r.cssStyle["mso-position-horizontal"],s=r.cssStyle["mso-position-vertical"];r.props={anchorPosition:{layoutInCell:!/^(f|false|0|off)$/i.test(Q.attr(e,"allowincell")??""),horizontal:{relative:"text"==t?"column":t,align:a,alignSpecified:!!a&&"absolute"!=a},vertical:{relative:"text"==n?"paragraph":n,align:s,alignSpecified:!!s&&"absolute"!=s}}}}return r}function Ta(e){const t=Fa(Q.attr(e,"cropleft")),r=Fa(Q.attr(e,"croptop")),n=Fa(Q.attr(e,"cropright")),a=Fa(Q.attr(e,"cropbottom")),s=Math.max(1e-4,1-t-n),o=Math.max(1e-4,1-r-a),i={x:La(-t/s),y:La(-r/o),width:La(1/s),height:La(1/o)};return(t||r||n||a)&&(i.preserveAspectRatio="none"),i}function Fa(e){if(!e)return 0;const t=String(e).trim();if(!t)return 0;let r;return r=/^-?\d+(\.\d+)?f$/i.test(t)?parseFloat(t.slice(0,-1))/65536:t.endsWith("%")?parseFloat(t)/100:parseFloat(t),Number.isFinite(r)?Math.max(0,Math.min(.9999,r)):0}function La(e){return Math.round(1e5*e)/1e3+"%"}function Ra(e){const t={},r=Q.attr(e,"color"),n=Q.attr(e,"weight"),a=Q.attr(e,"on");return"f"==a||"false"==a?t.stroke="none":r&&(t.stroke=r),t["stroke-width"]=n?H(n,I)??n:"1px",t}function Ea(e){const t={},r=Q.attr(e,"color")??Q.attr(e,"color2"),n=Q.attr(e,"on"),a=Q.attr(e,"opacity");return"f"==n||"false"==n?t.fill="none":r&&(t.fill=r),a&&(t["fill-opacity"]=a.endsWith("%")?""+parseFloat(a)/100:a),t}function Ba(e){return e.trim().split(/[\s,]+/)}function Da(e){const[t,r]=Ba(e).map(e=>Number(e));return[Number.isFinite(t)?t:0,Number.isFinite(r)?r:0]}function Ia(e){return e.replace(/([mlxe])|([-\d]+)|([,])/g,e=>/[-\d]/.test(e)||/[ml,]/.test(e)?e:"x"==e?"z":"")}class Oa extends Ve{constructor(){super(...arguments),this.type=We.Comment}}class Ha extends Ve{constructor(e){super(),this.id=e,this.type=We.CommentReference}}class za extends Ve{constructor(e){super(),this.id=e,this.type=We.CommentRangeStart}}class Wa extends Ve{constructor(e){super(),this.id=e,this.type=We.CommentRangeEnd}}function Va(){const e=new WeakMap,t=new WeakSet;function r(n){const a=e.get(n);if(a)return a;const s=1===n.parentNode?.nodeType?n.parentNode:null;if(!s){const t=`/${n.nodeName}`;return e.set(n,t),t}const o=r(s);if(!t.has(s)){const r=new Map;for(const e of Array.from(s.childNodes)){if(1!==e.nodeType)continue;const t=e,n=`${t.namespaceURI}|${t.localName}`,a=r.get(n)??[];a.push(t),r.set(n,a)}for(const t of r.values())t.forEach((r,n)=>{e.set(r,`${o}/${r.nodeName}${t.length>1?`[${n+1}]`:""}`)});t.add(s)}return e.get(n)}return e=>{if("p"!==e.localName||"http://schemas.openxmlformats.org/wordprocessingml/2006/main"!==e.namespaceURI)return;const t=e.getAttributeNS("http://schemas.microsoft.com/office/word/2010/wordml","paraId");return t?`p:${t}`:`xpath:${r(e)}`}}var Ua="inherit",ja="var(--docx-auto-color, black)",qa="var(--docx-auto-color, black)",Ga="transparent";const _a=[T,M,$,A,P],Xa={oMath:We.MmlMath,oMathPara:We.MmlMathParagraph,f:We.MmlFraction,func:We.MmlFunction,fName:We.MmlFunctionName,num:We.MmlNumerator,den:We.MmlDenominator,rad:We.MmlRadical,deg:We.MmlDegree,e:We.MmlBase,sSup:We.MmlSuperscript,sSub:We.MmlSubscript,sPre:We.MmlPreSubSuper,sup:We.MmlSuperArgument,sub:We.MmlSubArgument,d:We.MmlDelimiter,nary:We.MmlNary,eqArr:We.MmlEquationArray,lim:We.MmlLimit,limLow:We.MmlLimitLower,limUpp:We.MmlLimitUpper,sSubSup:We.MmlSubSuperscript,phant:We.MmlPhantom,borderBox:We.MmlBorderBox,acc:We.MmlAccent,m:We.MmlMatrix,mr:We.MmlMatrixRow,box:We.MmlBox,bar:We.MmlBar,groupChr:We.MmlGroupChar};class Ka{constructor(e){this.paragraphAddress=Va(),this.options={ignoreWidth:!1,debug:!1,hideWebHiddenContent:!1,...e}}parseNotes(e,t,r){var n=[];for(let a of Q.elements(e,t)){const e=new r;e.id=Q.attr(a,"id"),e.noteType=Q.attr(a,"type"),e.children=this.parseBodyElements(a),n.push(e)}return n}parseComments(e){var t=[];for(let r of Q.elements(e,"comment")){const e=new Oa;e.id=Q.attr(r,"id"),e.author=Q.attr(r,"author"),e.initials=Q.attr(r,"initials"),e.date=Q.attr(r,"date"),e.children=this.parseBodyElements(r),t.push(e)}return t}parseDocumentFile(e){var t=Q.element(e,"body"),r=Q.element(e,"background"),n=Q.element(t,"sectPr");const a=r?.getElementsByTagNameNS("urn:schemas-microsoft-com:vml","fill")?.[0],s=a?.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","id");return{type:We.Document,children:this.parseBodyElements(t),props:Se(n,Q),cssStyle:r?this.parseBackground(r):{},backgroundImage:s?{id:s,type:a.getAttribute("type")||"tile"}:void 0}}parseBackground(e){var t={},r=Qa.colorAttr(e,"color",null,Ua);return r&&(t["background-color"]=r),t}parseBodyElements(e){var t=[];for(const r of Q.elements(e))switch(r.localName){case"p":t.push(this.parseParagraph(r));break;case"altChunk":t.push(this.parseAltChunk(r));break;case"tbl":t.push(this.parseTable(r));break;case"sdt":t.push(...this.parseSdt(r,e=>this.parseBodyElements(e)));break;case"ins":t.push(this.parseRevision(We.Inserted,r,e=>({children:this.parseBodyElements(e)}),"insert"));break;case"del":t.push(this.parseRevision(We.Deleted,r,e=>({children:this.parseBodyElements(e)}),"delete"));break;case"moveFrom":t.push(this.parseRevision(We.Deleted,r,e=>({children:this.parseBodyElements(e)}),"move-from"));break;case"moveTo":t.push(this.parseRevision(We.Inserted,r,e=>({children:this.parseBodyElements(e)}),"move-to"))}return t}parseStylesFile(e){var t=[];for(const r of Q.elements(e))switch(r.localName){case"style":t.push(this.parseStyle(r));break;case"docDefaults":t.push(this.parseDefaultStyles(r))}return t}parseDefaultStyles(e){var t={id:null,name:null,target:null,basedOn:null,styles:[]};for(const a of Q.elements(e))switch(a.localName){case"rPrDefault":var r=Q.element(a,"rPr");r&&t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})});break;case"pPrDefault":var n=Q.element(a,"pPr");n&&t.styles.push({target:"p",values:this.parseDefaultProperties(n,{})})}return t}parseStyle(e){var t={id:Q.attr(e,"styleId"),isDefault:Q.boolAttr(e,"default"),name:null,target:null,basedOn:null,styles:[],linked:null};switch(Q.attr(e,"type")){case"paragraph":t.target="p";break;case"table":t.target="table";break;case"character":t.target="span"}for(const r of Q.elements(e))switch(r.localName){case"basedOn":t.basedOn=Q.attr(r,"val");break;case"name":t.name=Q.attr(r,"val");break;case"link":t.linked=Q.attr(r,"val");break;case"next":t.next=Q.attr(r,"val");break;case"aliases":t.aliases=Q.attr(r,"val").split(",");break;case"pPr":t.styles.push({target:"p",values:this.parseDefaultProperties(r,{})}),t.paragraphProps=Fe(r,Q);break;case"rPr":t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})}),t.runProps=$e(r,Q);break;case"tblPr":case"tcPr":t.styles.push({target:"td",values:this.parseDefaultProperties(r,{})});break;case"tblStylePr":for(let e of this.parseTableStyle(r))t.styles.push(e);break;case"rsid":case"qFormat":case"hidden":case"semiHidden":case"unhideWhenUsed":case"autoRedefine":case"uiPriority":break;default:this.options.debug&&console.warn(`DOCX: Unknown style element: ${r.localName}`)}return t}parseTableStyle(e){var t=[],r="",n="";switch(Q.attr(e,"type")){case"firstRow":n=".first-row",r="tr.first-row td";break;case"lastRow":n=".last-row",r="tr.last-row td";break;case"firstCol":n=".first-col",r="td.first-col";break;case"lastCol":n=".last-col",r="td.last-col";break;case"band1Vert":n=":not(.no-vband)",r="td.odd-col";break;case"band2Vert":n=":not(.no-vband)",r="td.even-col";break;case"band1Horz":n=":not(.no-hband)",r="tr.odd-row";break;case"band2Horz":n=":not(.no-hband)",r="tr.even-row";break;default:return[]}for(const a of Q.elements(e))switch(a.localName){case"pPr":t.push({target:`${r} p`,mod:n,values:this.parseDefaultProperties(a,{})});break;case"rPr":t.push({target:`${r} span`,mod:n,values:this.parseDefaultProperties(a,{})});break;case"tblPr":case"tcPr":t.push({target:r,mod:n,values:this.parseDefaultProperties(a,{})})}return t}parseNumberingFile(e){const t=[],r=[],n={},a=[],s=[];for(const t of Q.elements(e))switch(t.localName){case"numPicBullet":r.push(this.parseNumberingPicBullet(t));break;case"abstractNum":a.push(t);break;case"num":s.push(t)}for(const e of a)n[Q.attr(e,"abstractNumId")]=this.parseAbstractNumbering(e,r);for(const e of s){const a=Q.attr(e,"numId"),s=(n[Q.elementAttr(e,"abstractNumId","val")]??[]).map(e=>this.cloneNumberingLevel(e,a));for(const t of Q.elements(e,"lvlOverride")){const e=Q.intAttr(t,"ilvl"),n=Q.element(t,"lvl"),o=Q.element(t,"startOverride");let i=s.find(t=>t.level==e);if(n){i=this.parseNumberingLevel(a,n,r);const t=s.findIndex(t=>t.level==e);t>=0?s[t]=i:s.push(i)}o&&i&&(i.start=Q.intAttr(o,"val",i.start))}t.push(...s)}return t}cloneNumberingLevel(e,t){return{...e,id:t,pStyle:{...e.pStyle},rStyle:{...e.rStyle},bullet:e.bullet?{...e.bullet}:null}}parseNumberingPicBullet(e){const t=Q.intAttr(e,"numPicBulletId"),r=Q.element(e,"pict"),n=r&&Q.element(r,"shape"),a=n&&Q.element(n,"imagedata");if(a)return{id:t,src:Q.attr(a,"id"),style:Q.attr(n,"style")};const s=Q.element(e,"drawing"),o=s?this.findDescendant(s,"blip"):null;if(o){const e=s?this.findDescendant(s,"extent"):null,r=[];if(e){const t=Q.lengthAttr(e,"cx",R),n=Q.lengthAttr(e,"cy",R);t&&r.push(`width:${t};`),n&&r.push(`height:${n};`)}return{id:t,src:Q.attr(o,"embed")??Q.attr(o,"link"),style:r.join("")||void 0}}return null}parseAbstractNumbering(e,t){var r=[],n=Q.attr(e,"abstractNumId");for(const a of Q.elements(e))if("lvl"===a.localName)r.push(this.parseNumberingLevel(n,a,t));return r}parseNumberingLevel(e,t,r){var n={id:e,level:Q.intAttr(t,"ilvl"),start:1,pStyleName:void 0,pStyle:{},rStyle:{},suff:"tab"};for(const e of Q.elements(t))switch(e.localName){case"start":n.start=Q.intAttr(e,"val");break;case"pPr":this.parseDefaultProperties(e,n.pStyle);break;case"rPr":this.parseDefaultProperties(e,n.rStyle);break;case"lvlPicBulletId":var a=Q.intAttr(e,"val");n.bullet=r.find(e=>e?.id==a);break;case"lvlText":n.levelText=Q.attr(e,"val");break;case"pStyle":n.pStyleName=Q.attr(e,"val");break;case"numFmt":n.format=Q.attr(e,"val");break;case"lvlRestart":n.restart=Q.intAttr(e,"val");break;case"suff":n.suff=Q.attr(e,"val")}return n}parseSdt(e,t){const r=Q.element(e,"sdtContent");return r?t(r):[]}parseInserted(e,t){return this.parseRevision(We.Inserted,e,t)}parseDeleted(e,t){return this.parseRevision(We.Deleted,e,t)}parseRevision(e,t,r,n=(e==We.Inserted?"insert":"delete")){return{type:e,children:r(t)?.children??[],props:{revision:{id:Q.attr(t,"id"),author:Q.attr(t,"author"),date:Q.attr(t,"date"),kind:n}}}}parseAltChunk(e){return{type:We.AltChunk,children:[],id:Q.attr(e,"id")}}parseParagraph(e){var t={type:We.Paragraph,children:[]};this.options.exposeDisplayTargets&&(t.displayAddress=this.paragraphAddress(e));for(let r of Q.elements(e))switch(r.localName){case"pPr":this.parseParagraphProperties(r,t);break;case"r":t.children.push(this.parseRun(r,t));break;case"hyperlink":t.children.push(this.parseHyperlink(r,t));break;case"fldSimple":t.children.push(this.parseSimpleField(r,t));break;case"smartTag":t.children.push(this.parseSmartTag(r,t));break;case"bookmarkStart":t.children.push(Aa(r,Q));break;case"bookmarkEnd":t.children.push(Pa(r,Q));break;case"commentRangeStart":t.children.push(new za(Q.attr(r,"id")));break;case"commentRangeEnd":t.children.push(new Wa(Q.attr(r,"id")));break;case"oMath":case"oMathPara":{const e=this.parseMathElement(r);e&&t.children.push(e);break}case"sdt":t.children.push(...this.parseSdt(r,e=>this.parseParagraph(e).children));break;case"ins":t.children.push(this.parseInserted(r,e=>this.parseParagraph(e)));break;case"del":t.children.push(this.parseDeleted(r,e=>this.parseParagraph(e)));break;case"moveFrom":t.children.push(this.parseRevision(We.Deleted,r,e=>this.parseParagraph(e),"move-from"));break;case"moveTo":t.children.push(this.parseRevision(We.Inserted,r,e=>this.parseParagraph(e),"move-to"))}return t}parseParagraphProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,r=>{if("rPr"==r.localName){const e=Q.elements(r).filter(e=>"ins"==e.localName||"del"==e.localName).map(e=>this.revisionMetadata(e,"del"==e.localName?"delete":"insert"));e.length&&(t.props={...t.props??{},paragraphMarkRevisions:[...t.props?.paragraphMarkRevisions??[],...e]}),e.some(e=>"delete"==e.kind)&&(t.props={...t.props??{},deletedParagraphMark:!0});const n=t.cssStyle["background-color"];return this.parseDefaultProperties(r,t.cssStyle),null==n?delete t.cssStyle["background-color"]:t.cssStyle["background-color"]=n,Le(r,t,Q),!0}if("pPrChange"==r.localName)return this.addFormatRevision(t,r,"paragraph-format",e),!0;if(Le(r,t,Q))return!0;switch(r.localName){case"pStyle":t.styleName=Q.attr(r,"val");break;case"cnfStyle":t.className=es.classNameOfCnfStyle(r);break;case"framePr":this.parseFrame(r,t);break;default:return!1}return!0})}parseFrame(e,t){const r=Q.attr(e,"dropCap");t.frame={dropCap:r,width:Q.lengthAttr(e,"w"),height:Q.lengthAttr(e,"h"),horizontalPosition:Q.lengthAttr(e,"x"),verticalPosition:Q.lengthAttr(e,"y"),horizontalAnchor:Q.attr(e,"hAnchor"),verticalAnchor:Q.attr(e,"vAnchor"),horizontalAlignment:Q.attr(e,"xAlign"),verticalAlignment:Q.attr(e,"yAlign"),horizontalSpace:Q.lengthAttr(e,"hSpace"),verticalSpace:Q.lengthAttr(e,"vSpace"),heightRule:Q.attr(e,"hRule"),wrap:Q.attr(e,"wrap"),lines:Q.intAttr(e,"lines")},"drop"==r&&(t.cssStyle.float="left")}parseHyperlink(e,t){var r={type:We.Hyperlink,parent:t,children:[]};r.anchor=Q.attr(e,"anchor"),r.id=Q.attr(e,"id");for(const t of Q.elements(e))if("r"===t.localName)r.children.push(this.parseRun(t,r));return r}parseSmartTag(e,t){var r={type:We.SmartTag,parent:t,children:[]},n=Q.attr(e,"uri"),a=Q.attr(e,"element");n&&(r.uri=n),a&&(r.element=a);for(const t of Q.elements(e))switch(t.localName){case"r":r.children.push(this.parseRun(t,r));break;case"smartTag":r.children.push(this.parseSmartTag(t,r))}return r}parseSimpleField(e,t){const r={type:We.SimpleField,parent:t,children:[],instruction:Q.attr(e,"instr"),lock:Q.boolAttr(e,"lock",!1),dirty:Q.boolAttr(e,"dirty",!1)};for(const t of Q.elements(e))switch(t.localName){case"r":r.children.push(this.parseRun(t,r));break;case"hyperlink":r.children.push(this.parseHyperlink(t,r));break;case"smartTag":r.children.push(this.parseSmartTag(t,r));break;case"bookmarkStart":r.children.push(Aa(t,Q));break;case"bookmarkEnd":r.children.push(Pa(t,Q));break;case"commentRangeStart":r.children.push(new za(Q.attr(t,"id")));break;case"commentRangeEnd":r.children.push(new Wa(Q.attr(t,"id")));break;case"sdt":r.children.push(...this.parseSdt(t,e=>this.parseParagraph(e).children));break;case"ins":r.children.push(this.parseInserted(t,e=>this.parseParagraph(e)));break;case"del":r.children.push(this.parseDeleted(t,e=>this.parseParagraph(e)));break;case"moveFrom":r.children.push(this.parseRevision(We.Deleted,t,e=>this.parseParagraph(e),"move-from"));break;case"moveTo":r.children.push(this.parseRevision(We.Inserted,t,e=>this.parseParagraph(e),"move-to"))}return r}parseRun(e,t){var r={type:We.Run,parent:t,children:[]};for(let t of Q.elements(e))if(t=this.checkAlternateContent(t),t)switch(t.localName){case"t":r.children.push({type:We.Text,text:t.textContent});break;case"delText":r.children.push({type:We.DeletedText,text:t.textContent});break;case"commentReference":r.children.push(new Ha(Q.attr(t,"id")));break;case"fldSimple":r.children.push(this.parseSimpleField(t,r));break;case"instrText":r.fieldRun=!0,r.children.push({type:We.Instruction,text:t.textContent});break;case"fldChar":r.fieldRun=!0,r.children.push({type:We.ComplexField,charType:Q.attr(t,"fldCharType"),lock:Q.boolAttr(t,"lock",!1),dirty:Q.boolAttr(t,"dirty",!1)});break;case"noBreakHyphen":r.children.push({type:We.NoBreakHyphen});break;case"softHyphen":r.children.push({type:We.SoftHyphen});break;case"cr":r.children.push({type:We.Break,break:"line"});break;case"ptab":r.children.push({type:We.PositionalTab});break;case"br":r.children.push({type:We.Break,break:Q.attr(t,"type")||"textWrapping"});break;case"lastRenderedPageBreak":r.children.push({type:We.Break,break:"lastRenderedPageBreak"});break;case"sym":r.children.push({type:We.Symbol,font:p(Q.attr(t,"font")),char:Q.hexAttr(t,"char")});break;case"tab":r.children.push({type:We.Tab});break;case"footnoteReference":r.children.push({type:We.FootnoteReference,id:Q.attr(t,"id"),customMarkFollows:Q.boolAttr(t,"customMarkFollows",!1)});break;case"endnoteReference":r.children.push({type:We.EndnoteReference,id:Q.attr(t,"id"),customMarkFollows:Q.boolAttr(t,"customMarkFollows",!1)});break;case"drawing":let e=this.parseDrawing(t);e&&r.children.push(e);break;case"pict":case"object":r.children.push(this.parseVmlPicture(t));break;case"ruby":r.children.push(this.parseRuby(t));break;case"rPr":this.parseRunProperties(t,r)}return r}parseRuby(e){const t={type:We.Ruby,children:[]};for(const r of Q.elements(e))switch(r.localName){case"rubyPr":for(const e of Q.elements(r))if("rubyAlign"===e.localName)t.align=Q.attr(e,"val");break;case"rt":t.children.push(this.parseRubyContent(r,We.RubyText));break;case"rubyBase":t.children.push(this.parseRubyContent(r,We.RubyBase))}return t}parseRubyContent(e,t){const r={type:t,children:[]};for(const n of Q.elements(e))if("r"==n.localName)r.children.push(this.parseRun(n,r));else if(t==We.RubyText&&"rPr"==n.localName){const e=Q.element(n,"hps"),t=e?Q.intAttr(e,"val",null):null;null!=t&&(r.cssStyle={...r.cssStyle??{},fontSize:t/2+"pt"})}return r}parseMathElement(e){const t=`${e.localName}Pr`,r={type:Xa[e.localName],children:[]};let n=!1;const a=e=>{if(Xa[e.localName]){const t=this.parseMathElement(e);t?(t.parent=r,r.children.push(t)):n=!0}else if("r"==e.localName){var s=this.parseRun(e,r);s.type=We.MmlRun,r.children.push(s)}else if(e.localName==t)r.props=this.parseMathProperies(e);else if("ins"==e.localName)for(const t of Q.elements(e))a(t);else if("del"==e.localName)if(this.options.renderChanges||null!=this.options.reviewMode)for(const t of Q.elements(e))a(t);else n=!0};for(const t of Q.elements(e))a(t);return n&&!this.hasVisibleMathContent(r)?null:r}hasVisibleMathContent(e){for(const t of e.children??[]){switch(t.type){case We.Text:if(t.text?.length)return!0;break;case We.DeletedText:if((this.options.renderChanges||null!=this.options.reviewMode)&&t.text?.length)return!0;break;case We.Symbol:case We.Tab:case We.PositionalTab:case We.NoBreakHyphen:case We.Break:return!0}if(this.hasVisibleMathContent(t))return!0}return!1}parseMathProperies(e){const t={};for(const r of Q.elements(e))switch(r.localName){case"chr":t.char=Q.attr(r,"val");break;case"vertJc":t.verticalJustification=Q.attr(r,"val");break;case"pos":t.position=Q.attr(r,"val");break;case"degHide":t.hideDegree=Q.boolAttr(r,"val");break;case"begChr":t.beginChar=Q.attr(r,"val");break;case"endChr":t.endChar=Q.attr(r,"val");break;case"limLoc":t.limitLocation=Q.attr(r,"val");break;case"grow":t.grow=Q.boolAttr(r,"val");break;case"sepChr":t.separatorChar=Q.attr(r,"val")}return t}parseRunProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,r=>{switch(r.localName){case"rStyle":t.styleName=Q.attr(r,"val");break;case"vertAlign":t.verticalAlign=es.valueOfVertAlign(r,!0);break;case"rPrChange":this.addFormatRevision(t,r,"run-format",e);break;default:return!1}return!0})}parseVmlPicture(e){const t={type:We.VmlPicture,children:[]};for(const r of Q.elements(e)){const e=$a(r,this);e&&t.children.push(e)}return t}checkAlternateContent(e){if("AlternateContent"!=e.localName)return e;for(const t of Q.elements(e).filter(e=>"Choice"==e.localName)){const r=(Q.attr(t,"Requires")??"").split(/\s+/).filter(Boolean);if(r.length>0&&r.every(t=>_a.includes(e.lookupNamespaceURI(t)))){const e=Q.elements(t)[0];if(e)return e}}const t=Q.element(e,"Fallback");return t?Q.elements(t)[0]:null}parseDrawing(e){for(var t of Q.elements(e))switch(t.localName){case"inline":case"anchor":return this.parseDrawingWrapper(t)}}parseDrawingWrapper(e){var t,r,n,a,s,o,i,l,c,h,d,u={type:We.Drawing,children:[],cssStyle:{},props:{}},m="anchor"==e.localName;const p={left:Q.lengthAttr(e,"distL",R),top:Q.lengthAttr(e,"distT",R),right:Q.lengthAttr(e,"distR",R),bottom:Q.lengthAttr(e,"distB",R)},f=(e,t)=>{t&&(u.cssStyle[e]=es.addSize(u.cssStyle[e],t))};let g=null,b=null,y=null,x=Q.boolAttr(e,"simplePos",!1),w=Q.boolAttr(e,"behindDoc",!1),v=Q.intAttr(e,"relativeHeight",null);null!=v&&(u.cssStyle["z-index"]=`${Math.max(1,Math.round(v/1e3))}`),w&&(u.cssStyle["z-index"]="0");let k={relative:"page",align:"left",offset:"0"},C={relative:"page",align:"top",offset:"0"},S=!1,N=!1,A=!1,P=!1;for(var M of Q.elements(e))switch(M.localName){case"simplePos":x&&(k.offset=Q.lengthAttr(M,"x",R),C.offset=Q.lengthAttr(M,"y",R),A=null!=k.offset,P=null!=C.offset);break;case"extent":u.cssStyle.width=Q.lengthAttr(M,"cx",R),u.cssStyle.height=Q.lengthAttr(M,"cy",R);break;case"effectExtent":f("margin-left",Q.lengthAttr(M,"l",R)),f("margin-top",Q.lengthAttr(M,"t",R)),f("margin-right",Q.lengthAttr(M,"r",R)),f("margin-bottom",Q.lengthAttr(M,"b",R));break;case"docPr":u.props.title=Q.attr(M,"title")??Q.attr(M,"name"),u.props.alt=Q.attr(M,"descr")??u.props.title;break;case"positionH":case"positionV":if(!x){let e="positionH"==M.localName,t=e?k:C;var $=Q.element(M,"align"),T=Q.element(M,"posOffset");t.relative=Q.attr(M,"relativeFrom")??t.relative,$&&(t.align=$.textContent,e?S=!0:N=!0),T&&(t.offset=H(T.textContent,R),e?A=null!=t.offset:P=null!=t.offset)}break;case"wrapTopAndBottom":g="wrapTopAndBottom";break;case"wrapNone":g="wrapNone";break;case"wrapSquare":g="wrapSquare",b=Q.attr(M,"wrapText");break;case"wrapTight":g="wrapTight",b=Q.attr(M,"wrapText"),y=this.parseWrapPolygon(M);break;case"wrapThrough":g="wrapThrough",b=Q.attr(M,"wrapText"),y=this.parseWrapPolygon(M);break;case"graphic":var F=this.parseGraphic(M);F&&(F.type==We.Image?((t=F).alt??(t.alt=u.props.alt),(r=F).title??(r.title=u.props.title)):F.type==We.Shape?((n=F).alt??(n.alt=u.props.alt),(a=F).title??(a.title=u.props.title)):F.type==We.Chart?((s=F).alt??(s.alt=u.props.alt),(o=F).title??(o.title=u.props.title)):F.type==We.SmartArt?((i=F).alt??(i.alt=u.props.alt),(l=F).title??(l.title=u.props.title)):F.type==We.Ink&&((c=F).alt??(c.alt=u.props.alt),(h=F).title??(h.title=u.props.title)),u.children.push(F))}u.props.anchorPosition={horizontal:{...k,offsetSpecified:A,alignSpecified:S},vertical:{...C,offsetSpecified:P,alignSpecified:N},wrapType:g,layoutInCell:Q.boolAttr(e,"layoutInCell",!0),simplePos:x},"wrapNone"!=g&&(f("margin-left",p.left),f("margin-top",p.top),f("margin-right",p.right),f("margin-bottom",p.bottom));const L=()=>{switch(k.align){case"center":u.cssStyle["margin-left"]="auto",u.cssStyle["margin-right"]="auto";break;case"right":u.cssStyle["margin-left"]="auto"}};return"wrapTopAndBottom"==g?(u.cssStyle.display="block",u.cssStyle.clear="both",S?L():A&&k.offset&&(u.cssStyle["margin-inline-start"]=es.addSize(u.cssStyle["margin-inline-start"],k.offset)),P&&C.offset&&(u.cssStyle["margin-top"]=es.addSize(u.cssStyle["margin-top"],C.offset))):"wrapNone"==g?(u.cssStyle.display="block",u.cssStyle.position=m?"absolute":"relative",k.offset&&(u.cssStyle.left=k.offset),C.offset&&(u.cssStyle.top=C.offset)):"wrapSquare"==g||"wrapTight"==g||"wrapThrough"==g?(y&&(u.cssStyle["shape-outside"]=y,(d=u.cssStyle)["clip-path"]??(d["clip-path"]=y)),"left"==b?u.cssStyle.float="right":"right"==b?u.cssStyle.float="left":"left"==k.align||"right"==k.align?u.cssStyle.float=k.align:(u.cssStyle.display="block",L())):!m||"left"!=k.align&&"right"!=k.align?u.cssStyle["vertical-align"]="text-bottom":u.cssStyle.float=k.align,this.applyDrawingFloatOffsets(u,e)}applyDrawingFloatOffsets(e,t){const r=e.cssStyle,n=e.props?.anchorPosition;if(!r?.float||!n)return e;const a=e=>{if(n.simplePos)return!0;const r=Q.element(t,`position${e}`);return!!r&&!!Q.element(r,"posOffset")},s=/^-?\d+(?:\.\d+)?(?:pt|px|in|cm|mm)?$/,o=n.horizontal,i=n.vertical;return a("H")&&"column"==o?.relative&&s.test(o.offset??"")&&s.test(r.width??"")&&(r["--docx-float-column-position"]=o.offset,r["--docx-float-origin-offset"]="0px","right"==r.float?r["margin-right"]=`calc(100% - ${o.offset} - ${r.width} - var(--docx-float-origin-offset, 0px))`:"left"==r.float&&(r["margin-left"]=`calc(${o.offset} + var(--docx-float-origin-offset, 0px))`)),a("V")&&"paragraph"==i?.relative&&s.test(i.offset??"")&&(r["margin-top"]=i.offset),e}parseWrapPolygon(e){const t=Q.element(e,"wrapPolygon");if(!t)return null;const r=[],n=e=>{const t=Q.lengthAttr(e,"x",R),n=Q.lengthAttr(e,"y",R);t&&n&&r.push(`${t} ${n}`)};for(const e of Q.elements(t))"start"!=e.localName&&"lineTo"!=e.localName||n(e);return r.length>=3?`polygon(${r.join(", ")})`:null}parseGraphic(e){var t=Q.element(e,"graphicData");if(!t)return null;for(let e of Q.elements(t))switch(e.localName){case"pic":return this.parsePicture(e);case"wpc":case"wgp":case"grpSp":return this.parseDrawingContainer(e);case"wsp":case"sp":case"cxnSp":return this.parseWordprocessingShape(e);case"chart":return this.parseChartReference(e);case"relIds":case"diagram":return this.parseSmartArtReference(e);case"contentPart":case"ink":return this.parseInkReference(e)}const r=this.findDescendant(t,"contentPart");return r?this.parseInkReference(r):null}parseDrawingContainer(e,t){const r={type:We.Shape,children:[],cssStyle:{display:"inline-block",position:"relative",width:"100%",height:"100%",overflow:"visible","box-sizing":"border-box"},props:{dmlContainer:!0}},n=this.parseDmlGroupTransform(e,t);for(const t of Q.elements(e))switch(t.localName){case"wsp":case"sp":case"cxnSp":const e=this.parseDmlPositionedShape(t,n);e&&r.children.push(e);break;case"pic":const a=this.parseDmlPositionedPicture(t,n);a&&r.children.push(a);break;case"grpSp":case"wgp":const s=this.parseDrawingContainer(t,n);s&&r.children.push(s)}return r}parseDmlGroupTransform(e,t){const r=Q.element(e,"grpSpPr"),n=r?Q.element(r,"xfrm"):Q.element(e,"xfrm"),a=n?Q.element(n,"off"):null,s=n?Q.element(n,"ext"):null,o=n?Q.element(n,"chOff"):null,i=n?Q.element(n,"chExt"):null,l=s?Q.floatAttr(s,"cx",null):null,c=s?Q.floatAttr(s,"cy",null):null,h=i?Q.floatAttr(i,"cx",null):null,d=i?Q.floatAttr(i,"cy",null):null,u=t?.scaleX??1,m=t?.scaleY??1,p=a?Q.floatAttr(a,"x",0):0,f=a?Q.floatAttr(a,"y",0):0;return{originX:t?t.originX+(p-t.offsetX)*u:0,originY:t?t.originY+(f-t.offsetY)*m:0,offsetX:o?Q.floatAttr(o,"x",0):0,offsetY:o?Q.floatAttr(o,"y",0):0,scaleX:u*(l&&h?l/h:1),scaleY:m*(c&&d?c/d:1)}}parseDmlPositionedPicture(e,t){const r=this.parsePicture(e),n=Q.element(e,"spPr");if(!r||!n)return r;const a=this.parseDmlShapeBounds(n,t);return r.cssStyle.position="absolute",r.cssStyle.left=this.pt(a.left),r.cssStyle.top=this.pt(a.top),r.cssStyle.width=this.pt(a.width),r.cssStyle.height=this.pt(a.height),r}parseDmlPositionedShape(e,t){const r=Q.element(e,"spPr");if(!r)return null;const n=this.parseDmlShapeBounds(r,t),a=[];let s=null,o=!1;for(const t of Q.elements(e))switch(t.localName){case"txbx":case"textBox":o=!0;for(const e of Q.elements(t,"txbxContent"))a.push(...this.parseBodyElements(e));break;case"bodyPr":s=t}s??(s=Q.element(e,"bodyPr"));const i={position:"absolute",left:this.pt(n.left),top:this.pt(n.top),width:this.pt(n.width),height:this.pt(n.height),"box-sizing":"border-box",overflow:"hidden"},l=Q.element(e,"cNvPr"),c=Q.element(r,"custGeom"),h=Q.element(r,"prstGeom"),d=this.parseDmlFillStyle(r),u=this.parseDmlLineStyle(Q.element(r,"ln"));if(c){const e=this.parseDmlCustomGeometry(c);return{type:We.Shape,children:[],cssStyle:{...i,overflow:"visible"},props:{dmlSvg:!0,viewBox:e?.viewBox??"0 0 1 1",pathD:e?.d??"",fill:d.fill??"none",stroke:u.stroke??"none",strokeWidth:u.strokeWidth??"0",strokeDasharray:u.strokeDasharray},title:l?Q.attr(l,"title")??Q.attr(l,"name"):null,alt:l?Q.attr(l,"descr"):null}}d.backgroundColor&&(i["background-color"]=d.backgroundColor),d.backgroundImage&&(i["background-image"]=d.backgroundImage),u.stroke&&"none"!=u.stroke?i.border=`${u.strokeWidth||"0.75pt"} ${u.borderType||"solid"} ${u.stroke}`:i.border="none";const m=o?this.parseDmlTextBoxProperties(s):null;return{type:We.Shape,children:a,cssStyle:i,props:{dmlShape:!0,presetGeometry:h?Q.attr(h,"prst"):null,...m},title:l?Q.attr(l,"title")??Q.attr(l,"name"):null,alt:l?Q.attr(l,"descr"):null}}parseDmlShapeBounds(e,t){const r=Q.element(e,"xfrm"),n=r?Q.element(r,"off"):null,a=r?Q.element(r,"ext"):null,s=t?.scaleX??1,o=t?.scaleY??1,i=t?.offsetX??0,l=t?.offsetY??0,c=t?.originX??0,h=t?.originY??0,d=n?Q.floatAttr(n,"x",0):0,u=n?Q.floatAttr(n,"y",0):0,m=a?Q.floatAttr(a,"cx",0):0,p=a?Q.floatAttr(a,"cy",0):0;return{left:this.emuToPt(c+(d-i)*s),top:this.emuToPt(h+(u-l)*o),width:Math.max(0,this.emuToPt(m*s)),height:Math.max(0,this.emuToPt(p*o))}}parseDmlFillStyle(e){if(Q.element(e,"noFill"))return{fill:"none",backgroundColor:"transparent"};const t=Q.element(e,"solidFill");if(t){const e=this.parseDmlColor(t)??"transparent";return{fill:e,backgroundColor:e}}const r=Q.element(e,"pattFill");if(r){const e=this.parseDmlColor(Q.element(r,"fgClr"))??"currentColor",t=this.parseDmlColor(Q.element(r,"bgClr"))??"transparent",n=Q.attr(r,"prst");return{fill:t,backgroundColor:t,backgroundImage:`repeating-linear-gradient(${n&&n.toLowerCase().includes("horz")?"0deg":"90deg"}, ${e} 0, ${e} 0.75pt, ${t} 0.75pt, ${t} 3pt)`}}return{fill:"none",backgroundColor:"transparent"}}parseDmlLineStyle(e){if(!e||Q.element(e,"noFill"))return{stroke:"none",strokeWidth:"0",borderType:"none"};const t=this.parseDmlColor(Q.element(e,"solidFill"))??"black",r=Q.attr(e,"w")?this.pt(this.emuToPt(Q.floatAttr(e,"w",0))):"0.75pt",n=Q.elementAttr(e,"prstDash","val");let a=null,s="solid";return n&&"solid"!=n&&(s="dashed",a="dot"==n?"1 2":"4 3"),{stroke:t,strokeWidth:r,borderType:s,strokeDasharray:a}}parseDmlCustomGeometry(e){const t=Q.element(e,"pathLst"),r=t?Q.elements(t,"path"):[];let n="",a=1,s=1;for(const e of r){const t=Q.floatAttr(e,"w",a),r=Q.floatAttr(e,"h",s);a=Math.max(a,t||1),s=Math.max(s,r||1),n+=this.parseDmlPathData(e,t||1,r||1)}return{d:n.trim(),viewBox:`0 0 ${a} ${s}`}}parseDmlPathData(e,t,r){const n=[],a=e=>{const n=Q.element(e,"pt");return n?`${this.dmlCoord(Q.attr(n,"x"),t,r)} ${this.dmlCoord(Q.attr(n,"y"),t,r)}`:"0 0"};for(const s of Q.elements(e))switch(s.localName){case"moveTo":n.push(`M ${a(s)}`);break;case"lnTo":n.push(`L ${a(s)}`);break;case"cubicBezTo":const e=Q.elements(s,"pt").map(e=>`${this.dmlCoord(Q.attr(e,"x"),t,r)} ${this.dmlCoord(Q.attr(e,"y"),t,r)}`);3==e.length&&n.push(`C ${e.join(" ")}`);break;case"quadBezTo":const o=Q.elements(s,"pt").map(e=>`${this.dmlCoord(Q.attr(e,"x"),t,r)} ${this.dmlCoord(Q.attr(e,"y"),t,r)}`);2==o.length&&n.push(`Q ${o.join(" ")}`);break;case"close":n.push("Z")}return n.join(" ")+" "}dmlCoord(e,t,r){if("w"==e||"r"==e)return t;if("h"==e||"b"==e)return r;if("l"==e||"t"==e)return 0;const n=parseFloat(e);return Number.isFinite(n)?n:0}dmlVerticalAlign(e){switch(e?Q.attr(e,"anchor"):null){case"ctr":return"center";case"b":return"flex-end";default:return"flex-start"}}applyDmlTextInsets(e,t){if(!e)return;const r={lIns:"padding-left",tIns:"padding-top",rIns:"padding-right",bIns:"padding-bottom"};for(const[n,a]of Object.entries(r)){const r=Q.attr(e,n);null!=r&&(t[a]=this.pt(this.emuToPt(parseFloat(r))))}}parseDmlTextBoxProperties(e){const t={};return this.applyDmlTextInsets(e,t),{dmlTextBox:!0,textInsets:t,textVerticalAlign:this.dmlVerticalAlign(e)}}emuToPt(e){return(Number.isFinite(e)?e:0)/12700}pt(e){return Math.round(100*e)/100+"pt"}parseChartReference(e){return{type:We.Chart,id:Q.attr(e,"id"),cssStyle:{width:"100%",height:"100%"}}}parseSmartArtReference(e){const t="relIds"==e.localName?e:this.findDescendant(e,"relIds");return{type:We.SmartArt,dataId:t?Q.attr(t,"dm"):Q.attr(e,"dm"),layoutId:t?Q.attr(t,"lo"):Q.attr(e,"lo"),styleId:t?Q.attr(t,"qs"):Q.attr(e,"qs"),colorId:t?Q.attr(t,"cs"):Q.attr(e,"cs"),cssStyle:{width:"100%",height:"100%"}}}parseInkReference(e){return{type:We.Ink,id:Q.attr(e,"id"),cssStyle:{width:"100%",height:"100%"}}}parseGraphicPlaceholder(e){return{type:We.Shape,children:[{type:We.Text,text:`[${e}]`}],cssStyle:{display:"inline-flex","align-items":"center","justify-content":"center",border:"1px solid #999","background-color":"#f8f8f8",color:"#555","min-width":"2in","min-height":"1in"}}}parseWordprocessingShape(e){const t={type:We.Shape,children:[],cssStyle:{display:"inline-block",position:"relative","box-sizing":"border-box",overflow:"hidden"}},r=this.findDescendant(e,"cNvPr");let n=null,a=!1;r&&(t.title=Q.attr(r,"title")??Q.attr(r,"name"),t.alt=Q.attr(r,"descr")??t.title);for(const r of Q.elements(e))switch(r.localName){case"spPr":this.parseDmlShapeProperties(r,t.cssStyle);break;case"txbx":case"textBox":a=!0;for(const e of Q.elements(r,"txbxContent"))t.children.push(...this.parseBodyElements(e));break;case"bodyPr":n=r}return a&&(t.props={...t.props??{},...this.parseDmlTextBoxProperties(n)}),t}parseDmlShapeProperties(e,t){const r=Q.element(e,"xfrm");if(r)for(const e of Q.elements(r))if("ext"===e.localName)t.width=Q.lengthAttr(e,"cx",R),t.height=Q.lengthAttr(e,"cy",R);const n=Q.element(e,"solidFill"),a=Q.element(e,"noFill"),s=Q.element(e,"ln");if(n?t["background-color"]=this.parseDmlColor(n)??t["background-color"]:a&&(t["background-color"]="transparent"),s&&Q.element(s,"noFill"))t.border="none";else if(s){const e=this.parseDmlColor(Q.element(s,"solidFill"))??"black",r=Q.lengthAttr(s,"w",R)??"1px",n=Q.elementAttr(s,"prstDash","val"),a=n&&"solid"!=n?"dashed":"solid";t.border=`${r} ${a} ${e}`}}parseDmlColor(e){if(!e)return null;const t=Q.element(e,"srgbClr"),r=Q.element(e,"schemeClr"),n=Q.element(e,"prstClr"),a=Q.element(e,"sysClr");if(t)return this.applyDmlColorTransforms(t,`#${Q.attr(t,"val")}`);if(r){const e=this.resolveDmlSchemeColor(Q.attr(r,"val")),t=this.dmlSchemeColorFallback(e);return this.applyDmlColorTransforms(r,`var(--docx-${e}-color${t?`, ${t}`:""})`)}return a?this.applyDmlColorTransforms(a,`#${Q.attr(a,"lastClr")??Q.attr(a,"val")}`):n?this.applyDmlColorTransforms(n,Q.attr(n,"val")):null}resolveDmlSchemeColor(e){switch(e){case"bg1":return"lt1";case"tx1":return"dk1";case"bg2":return"lt2";case"tx2":return"dk2";default:return e}}dmlSchemeColorFallback(e){return Za(e)}applyDmlColorTransforms(e,t){const r=Q.elementAttr(e,"lumMod","val"),n=Q.elementAttr(e,"lumOff","val");if(null!=r){const e=Math.max(0,Math.min(100,parseFloat(r)/1e3));Number.isFinite(e)&&e<100&&(t=`color-mix(in srgb, ${t} ${e}%, black)`)}if(null!=n){const e=Math.max(0,Math.min(100,parseFloat(n)/1e3));Number.isFinite(e)&&e>0&&(t=`color-mix(in srgb, ${t} ${100-e}%, white)`)}return t}findDescendant(e,t){for(const r of Q.elements(e)){if(r.localName==t)return r;const e=this.findDescendant(r,t);if(e)return e}return null}parsePicture(e){var t={type:We.Image,src:"",cssStyle:{}},r=Q.element(e,"blipFill"),n=r?Q.element(r,"blip"):null,a=r?Q.element(r,"srcRect"):null;t.src=n?Q.attr(n,"embed")??Q.attr(n,"link"):"";const s=this.findDescendant(e,"cNvPr");s&&(t.title=Q.attr(s,"title")??Q.attr(s,"name"),t.alt=Q.attr(s,"descr")??t.title),a&&(t.srcRect=[Q.intAttr(a,"l",0)/1e5,Q.intAttr(a,"t",0)/1e5,Q.intAttr(a,"r",0)/1e5,Q.intAttr(a,"b",0)/1e5]);var o=Q.element(e,"spPr"),i=o?Q.element(o,"xfrm"):null,l=[];if(t.cssStyle.display="block",t.cssStyle.position="relative",t.cssStyle["object-fit"]="contain",i)for(var c of(t.rotation=Q.intAttr(i,"rot",0)/6e4,Q.boolAttr(i,"flipH",!1)&&l.push("scaleX(-1)"),Q.boolAttr(i,"flipV",!1)&&l.push("scaleY(-1)"),Q.elements(i)))if("ext"===c.localName)t.cssStyle.width=Q.lengthAttr(c,"cx",R),t.cssStyle.height=Q.lengthAttr(c,"cy",R);return l.length>0&&(t.cssStyle.transform=l.join(" ")),t.cssStyle.width||(t.cssStyle.width="100%"),t.cssStyle.height||(t.cssStyle.height="100%"),t}parseTable(e){var t={type:We.Table,children:[]};for(const r of Q.elements(e))switch(r.localName){case"tr":t.children.push(this.parseTableRow(r));break;case"tblGrid":t.columns=this.parseTableColumns(r);break;case"tblPr":this.parseTableProperties(r,t)}return t}parseTableColumns(e){var t=[];for(const r of Q.elements(e))if("gridCol"===r.localName)t.push({width:Q.lengthAttr(r,"w")});return t}parseTableProperties(e,t){t.cssStyle={},t.cellStyle={};let r=null;this.parseDefaultProperties(e,t.cssStyle,t.cellStyle,n=>{switch(n.localName){case"tblStyle":t.styleName=Q.attr(n,"val");break;case"tblLook":t.className=es.classNameOftblLook(n);break;case"tblInd":r=this.parseTableIndentation(n);break;case"tblpPr":this.parseTablePosition(n,t);break;case"tblStyleColBandSize":t.colBandSize=Q.intAttr(n,"val");break;case"tblStyleRowBandSize":t.rowBandSize=Q.intAttr(n,"val");break;case"tblPrChange":this.addFormatRevision(t,n,"table-format",e);break;case"hidden":Q.boolAttr(n,"val",!0)&&(t.cssStyle.display="none");break;default:return!1}return!0});switch(t.cssStyle["text-align"]){case"center":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto",t.cssStyle["margin-right"]="auto";break;case"right":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto";break;default:delete t.cssStyle["text-align"],r&&(t.cssStyle["margin-inline-start"]=es.addSize(t.cssStyle["margin-inline-start"],r))}}parseTableIndentation(e){const t=Q.attr(e,"type");return"pct"==t||"auto"==t?null:Q.lengthAttr(e,"w",L)}parseTablePosition(e,t){var r=Q.lengthAttr(e,"topFromText"),n=Q.lengthAttr(e,"bottomFromText"),a=Q.lengthAttr(e,"rightFromText"),s=Q.lengthAttr(e,"leftFromText");t.cssStyle.float="left",t.cssStyle["margin-bottom"]=es.addSize(t.cssStyle["margin-bottom"],n),t.cssStyle["margin-left"]=es.addSize(t.cssStyle["margin-left"],s),t.cssStyle["margin-right"]=es.addSize(t.cssStyle["margin-right"],a),t.cssStyle["margin-top"]=es.addSize(t.cssStyle["margin-top"],r)}parseTableRow(e){var t={type:We.Row,children:[]};for(const r of Q.elements(e))switch(r.localName){case"tc":t.children.push(this.parseTableCell(r));break;case"trPr":case"tblPrEx":this.parseTableRowProperties(r,t)}return t.children=this.normalizeHorizontalMerges(t.children),t}normalizeHorizontalMerges(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if("restart"!=n.horizontalMerge){t.push(n);continue}let a=n.span??1,s=r+1;for(;s<e.length&&"continue"==e[s].horizontalMerge;)a+=e[s].span??1,s++;s>r+1&&(n.span=a,r=s-1),t.push(n)}return t}parseTableRowProperties(e,t){const r={};t.cssStyle=this.parseDefaultProperties(e,r,null,n=>{switch(n.localName){case"cnfStyle":t.className=es.classNameOfCnfStyle(n);break;case"tblHeader":t.isHeader=Q.boolAttr(n,"val",!0);break;case"gridBefore":t.gridBefore=Q.intAttr(n,"val");break;case"gridAfter":t.gridAfter=Q.intAttr(n,"val");break;case"cantSplit":Q.boolAttr(n,"val",!0)&&(r["break-inside"]="avoid");break;case"hidden":Q.boolAttr(n,"val",!0)&&(r.display="none");break;case"ins":this.addStructuralRevision(t,n,"insert");break;case"del":this.addStructuralRevision(t,n,"delete");break;case"trPrChange":this.addFormatRevision(t,n,"row-format",e);break;default:return!1}return!0})}parseTableCell(e){var t={type:We.Cell,children:[]};for(const r of Q.elements(e))switch(r.localName){case"tbl":t.children.push(this.parseTable(r));break;case"p":t.children.push(this.parseParagraph(r));break;case"tcPr":this.parseTableCellProperties(r,t)}return t}parseTableCellProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,r=>{switch(r.localName){case"gridSpan":t.span=Q.intAttr(r,"val",null);break;case"hMerge":t.horizontalMerge=Q.attr(r,"val")??"continue";break;case"vMerge":t.verticalMerge=Q.attr(r,"val")??"continue";break;case"cnfStyle":t.className=es.classNameOfCnfStyle(r);break;case"tcPrChange":this.addFormatRevision(t,r,"cell-format",e);break;default:return!1}return!0});const r=Q.element(e,"tcBorders");if(r){const e={};for(const t of Q.elements(r))"tl2br"!==t.localName&&"tr2bl"!==t.localName||(e[t.localName]=es.valueOfBorder(t));Object.keys(e).length&&(t.props={...t.props,diagonalBorders:e})}this.parseTableCellVerticalText(e,t)}addStructuralRevision(e,t,r){e.props={...e.props??{},revision:this.revisionMetadata(t,r)}}addFormatRevision(e,t,r,n){const a=Q.elements(t)[0],s=this.captureFormatProperties(a),o=this.captureFormatProperties(n),i=[...new Set([...Object.keys(s),...Object.keys(o)])].sort().filter(e=>s[e]!==o[e]).map(e=>({property:e,before:s[e],after:o[e]})),l={...this.revisionMetadata(t,r),formatChanges:i},c=[...e.props?.formatRevisions??[],l];e.props={...e.props??{},formatRevisions:c}}captureFormatProperties(e){const t={};if(!e)return t;for(const r of Q.elements(e))/PrChange$/.test(r.localName)||(t[r.localName]=this.serializeFormatProperty(r));return t}serializeFormatProperty(e){return[...Array.from(e.attributes??[]).map(e=>[e.localName||e.name,e.value]).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${e}=${t}`),...Q.elements(e).map(e=>`${e.localName}{${this.serializeFormatProperty(e)}}`)].join("|")||"true"}revisionMetadata(e,t){return{id:Q.attr(e,"id"),author:Q.attr(e,"author"),date:Q.attr(e,"date"),kind:t}}parseTableCellVerticalText(e,t){const r={btLr:{writingMode:"vertical-rl",transform:"rotate(180deg)"},lrTb:{writingMode:"vertical-lr",transform:"none"},tbRl:{writingMode:"vertical-rl",transform:"none"}};for(const n of Q.elements(e))if("textDirection"===n.localName){const e=r[Q.attr(n,"val")]||{writingMode:"horizontal-tb"};t.cssStyle["writing-mode"]=e.writingMode,t.cssStyle.transform=e.transform}}parseDefaultProperties(e,t=null,r=null,n=null){t=t||{};const a=Q.element(e,"lang"),s={latin:a?Q.attr(a,"val"):"",eastAsia:a?Q.attr(a,"eastAsia"):"",bidi:a?Q.attr(a,"bidi"):""};for(const a of Q.elements(e))if(!n?.(a))switch(a.localName){case"jc":t["text-align"]=es.valueOfJc(a);break;case"textAlignment":t["vertical-align"]=es.valueOfTextAlignment(a);break;case"color":t.color=Qa.colorAttr(a,"val",null,ja);break;case"sz":t["font-size"]=t["min-height"]=Q.lengthAttr(a,"val",E);break;case"szCs":t["font-size"]??(t["font-size"]=Q.lengthAttr(a,"val",E)),t["min-height"]??(t["min-height"]=t["font-size"]);break;case"shd":t["background-color"]=Qa.colorAttr(a,"fill",null,Ua);break;case"highlight":t["background-color"]=Qa.colorAttr(a,"val",null,Ga);break;case"vertAlign":t["vertical-align"]=es.valueOfVertAlign(a);break;case"position":t["vertical-align"]=Q.lengthAttr(a,"val",B);break;case"w":case"scale":const n=Q.intAttr(a,"val",100);Number.isFinite(n)&&n>0&&n<=600&&(t["--docx-text-scale"]=""+n/100);break;case"tcW":if(this.options.ignoreWidth)break;case"tblW":t.width=es.valueOfSize(a,"w");break;case"trHeight":this.parseTrHeight(a,t);break;case"strike":t["text-decoration"]=Q.boolAttr(a,"val",!0)?"line-through":"none";break;case"dstrike":Q.boolAttr(a,"val",!0)?(t["text-decoration-line"]="line-through",t["text-decoration-style"]="double"):t["text-decoration"]="none";break;case"b":t["font-weight"]=Q.boolAttr(a,"val",!0)?"bold":"normal";break;case"i":t["font-style"]=Q.boolAttr(a,"val",!0)?"italic":"normal";break;case"bCs":t["--docx-bidi-font-weight"]=Q.boolAttr(a,"val",!0)?"bold":"normal","rtl"==t.direction&&(t["font-weight"]=t["--docx-bidi-font-weight"]);break;case"iCs":t["--docx-bidi-font-style"]=Q.boolAttr(a,"val",!0)?"italic":"normal","rtl"==t.direction&&(t["font-style"]=t["--docx-bidi-font-style"]);break;case"caps":t["text-transform"]=Q.boolAttr(a,"val",!0)?"uppercase":"none";break;case"smallCaps":t["font-variant"]=Q.boolAttr(a,"val",!0)?"small-caps":"none";break;case"rtl":Q.boolAttr(a,"val",!0)&&(t.direction="rtl",t["unicode-bidi"]="embed",t["--docx-bidi-font-weight"]&&(t["font-weight"]=t["--docx-bidi-font-weight"]),t["--docx-bidi-font-style"]&&(t["font-style"]=t["--docx-bidi-font-style"]));break;case"outline":Q.boolAttr(a,"val",!0)&&(t["-webkit-text-stroke"]="0.5px currentColor");break;case"shadow":Q.boolAttr(a,"val",!0)&&(t["text-shadow"]="1px 1px 0 currentColor");break;case"emboss":Q.boolAttr(a,"val",!0)&&(t["text-shadow"]="-1px -1px 0 rgba(255,255,255,.75), 1px 1px 0 rgba(0,0,0,.35)");break;case"imprint":Q.boolAttr(a,"val",!0)&&(t["text-shadow"]="1px 1px 0 rgba(255,255,255,.75), -1px -1px 0 rgba(0,0,0,.35)");break;case"em":t["text-emphasis-style"]=es.valueOfEmphasisMark(a);break;case"u":this.parseUnderline(a,t);break;case"ind":case"tblInd":this.parseIndentation(a,t);break;case"rFonts":this.parseFont(a,t,s);break;case"tblBorders":this.parseBorderProperties(a,r||t);break;case"tblCellSpacing":t["border-spacing"]=es.valueOfMargin(a),t["border-collapse"]="separate";break;case"pBdr":this.parseBorderProperties(a,t);break;case"bdr":t.border=es.valueOfBorder(a);break;case"tcBorders":this.parseBorderProperties(a,t);break;case"vanish":Q.boolAttr(a,"val",!0)&&(t.display="none");break;case"kern":t["font-kerning"]=Q.intAttr(a,"val",0)>0?"normal":"none";break;case"noWrap":t["white-space"]=Q.boolAttr(a,"val",!0)?"nowrap":"normal";break;case"snapToGrid":t["--docx-snap-to-grid"]=Q.boolAttr(a,"val",!0)?"1":"0";break;case"fitText":this.parseFitText(a,t);break;case"eastAsianLayout":this.parseEastAsianLayout(a,t);break;case"tblCellMar":case"tcMar":this.parseMarginProperties(a,r||t);break;case"tblLayout":t["table-layout"]=es.valueOfTblLayout(a);break;case"vAlign":t["vertical-align"]=es.valueOfTextAlignment(a);break;case"spacing":"pPr"==e.localName?this.parseSpacing(a,t):"rPr"==e.localName&&(t["letter-spacing"]=Q.lengthAttr(a,"val",L));break;case"wordWrap":Q.boolAttr(a,"val")&&(t["overflow-wrap"]="break-word");break;case"suppressAutoHyphens":t.hyphens=Q.boolAttr(a,"val",!0)?"none":"auto";break;case"lang":t.$lang=Q.attr(a,"val"),t["$lang-eastAsia"]=Q.attr(a,"eastAsia"),t["$lang-bidi"]=Q.attr(a,"bidi");break;case"rtl":case"bidi":Q.boolAttr(a,"val",!0)&&(t.direction="rtl");break;case"pageBreakBefore":Q.boolAttr(a,"val",!0)&&(t["break-before"]="page");break;case"keepLines":Q.boolAttr(a,"val",!0)&&(t["break-inside"]="avoid");break;case"keepNext":Q.boolAttr(a,"val",!0)&&(t["break-after"]="avoid");break;case"widowControl":Q.boolAttr(a,"val",!0)&&(t.orphans="2",t.widows="2");break;case"webHidden":this.options.hideWebHiddenContent&&Q.boolAttr(a,"val",!0)&&(t.display="none");break;case"specVanish":Q.boolAttr(a,"val",!0)&&(t.display="none");break;case"tabs":case"outlineLvl":case"contextualSpacing":case"tblStyleColBandSize":case"tblStyleRowBandSize":case"suppressLineNumbers":case"noProof":break;default:this.options.debug&&console.warn(`DOCX: Unknown document element: ${e.localName}.${a.localName}`)}return t}parseFitText(e,t){const r=Q.lengthAttr(e,"val");r&&(t.display="inline-block",t.width=r,t["text-align"]="justify",t["text-align-last"]="justify")}parseEastAsianLayout(e,t){Q.boolAttr(e,"combine",!1)&&(t["text-combine-upright"]="all"),Q.boolAttr(e,"vert",!1)&&(t["writing-mode"]="vertical-rl"),Q.boolAttr(e,"vertCompress",!1)&&(t["font-stretch"]="condensed")}parseUnderline(e,t){var r=Q.attr(e,"val");if(null!=r){switch(r){case"dash":case"dashDotDotHeavy":case"dashDotHeavy":case"dashedHeavy":case"dashLong":case"dashLongHeavy":case"dotDash":case"dotDotDash":t["text-decoration"]="underline dashed";break;case"dotted":case"dottedHeavy":t["text-decoration"]="underline dotted";break;case"double":t["text-decoration"]="underline double";break;case"single":case"thick":case"words":t["text-decoration"]="underline";break;case"wave":case"wavyDouble":case"wavyHeavy":t["text-decoration"]="underline wavy";break;case"none":t["text-decoration"]="none"}var n=Qa.colorAttr(e,"color");n&&(t["text-decoration-color"]=n)}}parseFont(e,t,r={}){var n=Q.attr(e,"ascii"),a=Q.attr(e,"hAnsi"),s=Q.attr(e,"eastAsia"),o=Q.attr(e,"cs"),i=es.themeValue(e,"asciiTheme"),l=es.themeValue(e,"hAnsiTheme"),c=this.scriptThemeFontValue(es.themeValue(e,"eastAsiaTheme"),r.eastAsia),h=this.scriptThemeFontValue(es.themeValue(e,"cstheme")??es.themeValue(e,"csTheme"),r.bidi);const d=Ze(r.eastAsia),u=(e,t="")=>function(e){const t=String(e??"").normalize("NFKC").toLowerCase();return/simsun|nsimsun|宋体|宋體|songti|shusong|书宋|書宋|fangsong|仿宋|mincho|明朝|明體|mingliu|pmingliu|batang|명조|kaiti|楷体|楷體|stkaiti|simhei|黑体|黑體|heiti|dengxian|等线|等線|yahei|fangzheng|方正|fz(?:fs|kt|ht|ss|xbs)|ゴシック|(?:^|\s)(?:ms|yu)\s+p?gothic|meiryo|メイリオ|malgun|맑은/.test(t)}(e)?f(e,t):[p(e)];var m=[n,a].filter(e=>e).flatMap(e=>u(e,d));if(m.push(...[i,l].filter(e=>e).map(e=>e.startsWith("var(")?e:p(e))),s&&m.push(...f(s,d)),c&&m.push(c.startsWith("var(")?c:p(c)),o&&m.push(...u(o,Ze(r.bidi))),h&&m.push(h.startsWith("var(")?h:p(h)),m.length>0){const e=(t["font-family"]??"").split(",").map(e=>e.trim()).filter(e=>e);t["font-family"]=[...new Set([...e,...m])].join(", ")}}scriptThemeFontValue(e,t){if(!e)return e;const r=Ze(t),n=/^var\((--docx-(?:major|minor)(?:EastAsia|Bidi|Cs)-font)\)$/.exec(e);return r&&n?`var(${n[1]}-${r}, ${e})`:e}parseIndentation(e,t){var r=Q.lengthAttr(e,"firstLine"),n=Q.lengthAttr(e,"hanging"),a=Q.lengthAttr(e,"left"),s=Q.lengthAttr(e,"start"),o=Q.lengthAttr(e,"right"),i=Q.lengthAttr(e,"end");r&&(t["text-indent"]=r,t["--docx-text-indent"]=r),n&&(t["text-indent"]=`-${n}`,t["--docx-text-indent"]=`-${n}`,t["--docx-hanging-indent"]=n),(a||s)&&(t["margin-inline-start"]=a||s,t["--docx-margin-inline-start"]=a||s),(o||i)&&(t["margin-inline-end"]=o||i,t["--docx-margin-inline-end"]=o||i)}parseSpacing(e,t){var r=Q.lengthAttr(e,"before"),n=Q.lengthAttr(e,"after"),a=Q.intAttr(e,"beforeLines",null),s=Q.intAttr(e,"afterLines",null),o=Q.boolAttr(e,"beforeAutospacing",!1),i=Q.boolAttr(e,"afterAutospacing",!1),l=Q.intAttr(e,"line",null),c=Q.attr(e,"lineRule");if(o?t["margin-top"]="auto":Number.isFinite(a)&&a>=0?t["margin-top"]=`${(a/100).toFixed(2)}em`:r&&(t["margin-top"]=r),i?t["margin-bottom"]="auto":Number.isFinite(s)&&s>=0?t["margin-bottom"]=`${(s/100).toFixed(2)}em`:n&&(t["margin-bottom"]=n),null!==l)switch(c??"auto"){case"auto":default:t["line-height"]=`${(l/240).toFixed(2)}`;break;case"atLeast":t["line-height"]=`max(1.2em, ${(l/20).toFixed(2)}pt)`,t["min-height"]=`max(1.2em, ${(l/20).toFixed(2)}pt)`;break;case"exact":case"exactly":t["line-height"]=t["min-height"]=`${(l/20).toFixed(2)}pt`}}parseMarginProperties(e,t){for(const r of Q.elements(e))switch(r.localName){case"left":case"start":t["padding-left"]=es.valueOfMargin(r);break;case"right":case"end":t["padding-right"]=es.valueOfMargin(r);break;case"top":t["padding-top"]=es.valueOfMargin(r);break;case"bottom":t["padding-bottom"]=es.valueOfMargin(r)}}parseTrHeight(e,t){Q.attr(e,"hRule"),t.height=Q.lengthAttr(e,"val")}parseBorderProperties(e,t){for(const r of Q.elements(e)){const e=es.valueOfBorder(r);switch(r.localName){case"start":case"left":t["border-left"]=e;break;case"end":case"right":t["border-right"]=e;break;case"top":t["border-top"]=e;break;case"bottom":t["border-bottom"]=e;break;case"insideH":t["border-top"]??(t["border-top"]=e),t["border-bottom"]??(t["border-bottom"]=e);break;case"insideV":t["border-left"]??(t["border-left"]=e),t["border-right"]??(t["border-right"]=e)}}}}const Ya=["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","none","red","white","yellow"],Ja={dark1:"dk1",light1:"lt1",dark2:"dk2",light2:"lt2",text1:"dk1",background1:"lt1",text2:"dk2",background2:"lt2",hyperlink:"hlink",followedHyperlink:"folHlink"};function Za(e){switch(e){case"dk1":return"#000000";case"lt1":return"#FFFFFF";case"dk2":return"#44546A";case"lt2":return"#E7E6E6";case"accent1":return"#4472C4";case"accent2":return"#ED7D31";case"accent3":return"#A5A5A5";case"accent4":return"#FFC000";case"accent5":return"#5B9BD5";case"accent6":return"#70AD47";case"hlink":return"#0563C1";case"folHlink":return"#954F72";default:return null}}class Qa{static colorAttr(e,t,r=null,n=ja){var a=Q.attr(e,t);if(a)return"auto"==a?n:Ya.includes(a)?a:`#${a}`;var s,o=Q.attr(e,"themeColor");if(o){const e=Ja[s=o]??s,t=Za(e);return`var(--docx-${e}-color${t?`, ${t}`:""})`}return r}}class es{static themeValue(e,t){var r=Q.attr(e,t);return r?`var(--docx-${r}-font)`:null}static valueOfSize(e,t){var r=F;switch(Q.attr(e,"type")){case"dxa":break;case"pct":r=O;break;case"auto":return"auto"}return Q.lengthAttr(e,t,r)}static valueOfMargin(e){return Q.lengthAttr(e,"w")}static valueOfBorder(e){var t=es.parseBorderType(Q.attr(e,"val"));if("none"==t)return"none";var r=Qa.colorAttr(e,"color",qa,qa);return`${Q.lengthAttr(e,"sz",D)??"1pt"} ${t} ${"auto"==r?qa:r}`}static parseBorderType(e){switch(e){case"single":case"dashDotStroked":case"thick":case"thickThinLargeGap":case"thickThinMediumGap":case"thickThinSmallGap":case"thinThickLargeGap":case"thinThickMediumGap":case"thinThickSmallGap":case"thinThickThinLargeGap":case"thinThickThinMediumGap":case"thinThickThinSmallGap":case"threeDEmboss":case"threeDEngrave":case"wave":return"solid";case"dashed":case"dashSmallGap":return"dashed";case"dotDash":case"dotDotDash":case"dotted":return"dotted";case"double":case"doubleWave":case"triple":return"double";case"inset":return"inset";case"nil":case"none":return"none";case"outset":return"outset"}return"solid"}static valueOfTblLayout(e){return"fixed"==(Q.attr(e,"type")??Q.attr(e,"val"))?"fixed":"auto"}static classNameOfCnfStyle(e){const t=Q.attr(e,"val");return["first-row","last-row","first-col","last-col","odd-col","even-col","odd-row","even-row","ne-cell","nw-cell","se-cell","sw-cell"].filter((e,r)=>"1"==t[r]).join(" ")}static valueOfJc(e){var t=Q.attr(e,"val");switch(t){case"start":case"left":return"left";case"center":return"center";case"end":case"right":return"right";case"both":return"justify"}return t}static valueOfVertAlign(e,t=!1){var r=Q.attr(e,"val");switch(r){case"subscript":return"sub";case"superscript":return t?"sup":"super"}return t?null:r}static valueOfEmphasisMark(e){switch(Q.attr(e,"val")){case"none":return"none";case"comma":return'"﹐"';case"circle":return"circle";default:return"dot"}}static valueOfTextAlignment(e){var t=Q.attr(e,"val");switch(t){case"auto":case"baseline":return"baseline";case"top":return"top";case"center":return"middle";case"bottom":return"bottom"}return t}static addSize(e,t){return e&&"0.00pt"!=e&&"0px"!=e?t&&"0.00pt"!=t&&"0px"!=t?`calc(${e} + ${t})`:e:t}static classNameOftblLook(e){const t=Q.hexAttr(e,"val",0);let r="";return(Q.boolAttr(e,"firstRow")||32&t)&&(r+=" first-row"),(Q.boolAttr(e,"lastRow")||64&t)&&(r+=" last-row"),(Q.boolAttr(e,"firstColumn")||128&t)&&(r+=" first-col"),(Q.boolAttr(e,"lastColumn")||256&t)&&(r+=" last-col"),(Q.boolAttr(e,"noHBand")||512&t)&&(r+=" no-hband"),(Q.boolAttr(e,"noVBand")||1024&t)&&(r+=" no-vband"),r.trim()}}
9
9
  /*! @license Adobe Symbol Encoding to Unicode
10
10
  * Copyright (c) 1991-2011 Unicode, Inc. All Rights reserved.
11
11
  *
@@ -23,4 +23,4 @@
23
23
  * attached.
24
24
  *
25
25
  * Source: https://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/symbol.txt
26
- */const ts={33:33,34:8704,35:35,36:8707,37:37,38:38,39:8715,40:40,41:41,42:8727,43:43,44:44,45:8722,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:8773,65:913,66:914,67:935,69:917,70:934,71:915,72:919,73:921,74:977,75:922,76:923,77:924,78:925,79:927,80:928,81:920,82:929,83:931,84:932,85:933,86:962,88:926,89:936,90:918,91:91,92:8756,93:93,94:8869,95:95,97:945,98:946,99:967,100:948,101:949,102:966,103:947,104:951,105:953,106:981,107:954,108:955,110:957,111:959,112:960,113:952,114:961,115:963,116:964,117:965,118:982,119:969,120:958,121:968,122:950,123:123,124:124,125:125,126:8764,160:8364,161:978,162:8242,163:8804,165:8734,166:402,167:9827,168:9830,169:9829,170:9824,171:8596,172:8592,173:8593,174:8594,175:8595,176:176,177:177,178:8243,179:8805,180:215,181:8733,182:8706,183:8226,184:247,185:8800,186:8801,187:8776,188:8230,191:8629,192:8501,193:8465,194:8476,195:8472,196:8855,197:8853,198:8709,199:8745,200:8746,201:8835,202:8839,203:8836,204:8834,205:8838,206:8712,207:8713,208:8736,209:8711,213:8719,214:8730,215:8901,216:172,217:8743,218:8744,219:8660,220:8656,221:8657,222:8658,223:8659,224:9674,225:9001,229:8721,241:9002,242:8747,243:8992,245:8993};class rs{constructor(e,t,r){this.className=e,this.createLayer=t,this.layoutContent=r,this.records=new Map,this.bindingRoot=null,this.binding=null,this.root=t(),this.root.dataset.docxCommentLayer="true"}add(e){this.records.set(e.key,e),this.root.appendChild(e.popup)}references(e,t){return Array.from(e.querySelectorAll("[data-docx-comment-reference]")).filter(e=>e.dataset.docxCommentReference===t.key)}place(e,t){const r=t.ownerDocument?.defaultView;if(!r||!t.isConnected||!this.root.isConnected)return;const n=this.root,a=n.getBoundingClientRect(),s=t.getBoundingClientRect(),o=e.references.find(e=>!e.closest("a"))??e.references[0]??t,i=o.getBoundingClientRect(),l=parseFloat(r.getComputedStyle(n).width),c=l>0?a.width/l:0;if(!(c>0&&Number.isFinite(c)&&s.width&&s.height&&i.width&&i.height))return;e.positionedReference!==o&&e.positionedReference&&delete e.positionedReference.dataset.docxCommentPositioned,e.positionedReference=o,e.reference=t;const h=(s.left-a.left)/c,d=(s.top-a.top)/c;let u=(i.left-a.left)/c;const m=(i.top-a.top)/c,p=i.width/c,f=o.closest("a");if(f){const e=f.getBoundingClientRect(),t=o.closest("section")??n,s=t.getBoundingClientRect(),i=r.getComputedStyle(t),h=(s.left-a.left)/c,d=(s.right-a.left)/c,m=(e.left-a.left)/c,g=(e.right-a.left)/c,b=4;u=[h+(parseFloat(i.paddingLeft)||0)-p-b,d-(parseFloat(i.paddingRight)||0)+b,h-p-b,d+b].find(e=>e>=0&&e+p<=l&&(e+p<=m-b||e>=g+b))??Math.max(l,g)+b}e.popup.style.position="absolute",e.popup.style.left=`${u}px`,e.popup.style.top=`${m}px`;const g=r.getComputedStyle(o);if(e.summary.style.fontSize=g.fontSize,e.summary.style.fontFamily=g.fontFamily,e.summary.style.lineHeight=g.lineHeight,e.summary.style.width=`${p}px`,e.summary.style.height=i.height/c+"px",f?delete o.dataset.docxCommentPositioned:o.dataset.docxCommentPositioned="true",e.popup.open){const t=e.body.getBoundingClientRect().width/c,n=Math.min(0,Math.max(-h,l-h-t));e.body.style.left=`${h-u+n}px`,e.body.style.maxWidth=`${Math.max(0,l)}px`;const o=a.height/c,p=Math.max(0,Math.min(o-d-s.height/c,(r.innerHeight-s.bottom)/c)),f=Math.max(0,Math.min(d,s.top/c)),g=p<120&&f>p;e.body.style.top=g?"auto":d-m+s.height/c+"px",e.body.style.bottom=g?m+i.height/c-d+"px":"auto",e.body.style.maxHeight=`${Math.max(1,g?f:p)}px`}}close(e){delete e.restoringOpen,e.revision++,e.opening?.abort(),e.opening=null,e.open=!1,e.popup.open=!1,e.references.forEach(e=>e.setAttribute("aria-expanded","false"))}activate(e,t,r,n=!1){if(!r.generation.isCurrent()||!t.isConnected)return Promise.resolve();delete e.restoringOpen,e.reference=t;const a=e.open;if(e.open=!0,e.popup.open=!0,e.references.forEach(e=>e.setAttribute("aria-expanded","true")),this.place(e,t),a&&!n)return e.layout??Promise.resolve();e.opening?.abort();const s=e.opening=new AbortController,o=++e.revision,i=()=>s.abort();r.generation.signal.addEventListener("abort",i,{once:!0});const c={signal:s.signal,cancel:i,isCurrent:()=>!s.signal.aborted&&r.generation.isCurrent()&&e.revision===o&&e.popup.open&&e.reference.isConnected};return e.body.dataset.docxCommentLayout="pending",e.layout=l(e.body,[],c).then(()=>{c.isCurrent()&&(this.layoutContent(e.body),this.place(e,e.reference),e.body.dataset.docxCommentLayout="ready")}).catch(t=>{e.revision===o&&(e.body.dataset.docxCommentLayout="AbortError"===t?.name?"cancelled":"failed")}).finally(()=>r.generation.signal.removeEventListener("abort",i)),e.layout}async bind(e,t){if(!e.isConnected||!t.isCurrent()||"function"!=typeof e.addEventListener)return;let r=this.binding;if(r&&r.generation.signal===t.signal&&(this.bindingRoot===e||this.bindingRoot.contains(e)))return r.generation=t,void await this.sync(this.bindingRoot,r,!0);r&&r.dispose(r.generation.isCurrent()&&e.isConnected),r=null;const n=[],a=(e,t,r,a=!1)=>{e.addEventListener(t,r,a),n.push(()=>e.removeEventListener(t,r,a))};let s=Array.from(this.records.values()).find(e=>e.popup.open)??null,o=null,i=!1,l=!1;const c=()=>{let t=e.getRootNode().activeElement??e.ownerDocument.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t},h=e=>{const t=e.reference.hasAttribute("tabindex")?e.reference:e.summary;i=!0,t.focus(),i=!1},d=e=>e&&1===e.nodeType?e:null,u=e=>{const t=d(e)?.closest("[data-docx-comment-reference], [data-docx-comment-popup]");return t?this.records.get(t.dataset.docxCommentReference??t.dataset.docxCommentPopup):null},m=(e,t)=>{const r=t;return!!r&&(e.popup.contains(r)||e.references.some(e=>e.contains(r)))},p=(e=s)=>{e&&this.close(e),s===e&&(s=null)};r={generation:t,dispose:(t=!1)=>{n.splice(0).forEach(e=>e());for(const e of this.records.values())t||this.close(e),e.positionedReference&&delete e.positionedReference.dataset.docxCommentPositioned,delete e.positionedReference;this.binding===r&&(this.binding=null,this.bindingRoot=null),e.isConnected&&r.generation.isCurrent()||this.root.remove()}},this.binding=r,this.bindingRoot=e;const f=(e,t)=>{if(l)return;s&&s!==e&&this.close(s),s=e;const n=d(t),a=n?.closest("[data-docx-comment-reference]")??(e.summary.contains(n)?e.positionedReference:null)??e.reference;this.activate(e,a,r)};a(e,"mouseover",e=>{const t=u(e.target);if(t){if(s&&s!==t&&m(s,c()))return;o=t,f(t,e.target)}}),a(e,"mouseout",e=>{const t=e.relatedTarget;s&&!m(s,t)&&(o=null,m(s,c())||p())}),a(e,"focusin",e=>{const t=u(e.target);!i&&t&&d(e.target)?.dataset.docxCommentReference&&f(t,e.target)}),a(e,"focusout",e=>{s&&o!==s&&!m(s,e.relatedTarget)&&p()}),a(e,"click",e=>{const t=d(e.target)?.closest("[data-docx-comment-reference]"),r=t&&this.records.get(t.dataset.docxCommentReference);r&&(e.preventDefault(),e.stopPropagation(),r.popup.open?p(r):f(r,t))}),a(e,"keydown",e=>{const t=e,r=u(e.target);if(!r)return;const n=d(e.target)?.closest("[data-docx-comment-reference]");if(!n||"Enter"!==t.key&&" "!==t.key){if("Escape"===t.key)e.preventDefault(),e.stopPropagation(),p(r),h(r);else if("Tab"===t.key&&r.popup.open){const a=Array.from(r.body.querySelectorAll("a[href], button, input, select, textarea, [tabindex]")).filter(e=>e.tabIndex>=0&&!e.disabled);n&&!t.shiftKey&&a.length?(e.preventDefault(),a[0].focus()):t.shiftKey&&e.target===a[0]?(e.preventDefault(),h(r)):t.shiftKey||e.target!==a[a.length-1]||(h(r),p(r))}}else e.preventDefault(),e.stopPropagation(),r.popup.open?p(r):f(r,n)}),a(e,"toggle",e=>{const t=u(e.target);if(t&&e.target===t.popup&&!l){if(void 0!==t.restoringOpen){const e=t.restoringOpen;if(delete t.restoringOpen,t.popup.open===e)return}t.popup.open&&!t.open?f(t,t.reference):!t.popup.open&&t.open&&(this.close(t),s===t&&(s=null))}},!0);const g=e.ownerDocument.defaultView;if(g){const t=()=>{!l&&r.generation.isCurrent()&&this.sync(e,r,!0)};a(g,"resize",t),a(g,"scroll",t,!0);const s=new Map;a(g,"beforeprint",()=>{if(!l&&r.generation.isCurrent()){l=!0;for(const e of this.records.values())s.set(e,e.popup.open),e.popup.open=!0,this.layoutContent(e.body)}}),a(g,"afterprint",()=>{if(l){for(const[e,t]of s)e.restoringOpen=t,t||e.opening?.abort(),e.open=t,e.popup.open=t,e.references.forEach(e=>e.setAttribute("aria-expanded",`${t}`));s.clear(),l=!1,this.sync(e,r,!0)}});const o=g.MutationObserver;if(o){const t=new o(()=>{e.isConnected&&r.generation.isCurrent()||r.dispose()});t.observe(e.ownerDocument.documentElement,{childList:!0,subtree:!0});for(let r=e.getRootNode();r&&r!==e.ownerDocument;r=r.host?.getRootNode())t.observe(r,{childList:!0,subtree:!0});n.push(()=>t.disconnect())}}a(t.signal,"abort",()=>r.dispose()),await this.sync(e,r,!0)}async sync(e,t,r=!1){const n=[];for(const a of this.records.values()){const s=this.references(e,a);if(!s.length)continue;a.references=s;const o=s.includes(a.reference)?a.reference:s[0];this.place(a,o),t&&a.popup.open&&r?n.push(this.activate(a,o,t,!0)):a.layout&&n.push(a.layout)}await Promise.all(n)}}const ns={pos:0,leader:"none",style:"left"},as=.1;function ss(e=document.body){const t=document.createElement("div");t.style.width="100pt",e.appendChild(t);const r=100/t.offsetWidth;return e.removeChild(t),r}function os(e,t,r,n=.75){const a=e.closest("p");if(!a)return;const s=e.getBoundingClientRect(),o=a.getBoundingClientRect(),i=getComputedStyle(a);if("rtl"==i.direction||i.writingMode&&"horizontal-tb"!=i.writingMode)return;const l=is(i.marginInlineStart||i.marginLeft),c=is(i.marginInlineEnd||i.marginRight),h=is(i.textIndent),d=t?.length>0?t.map(e=>({pos:ls(e.position),leader:e.leader,style:e.style})).sort((e,t)=>e.pos-t.pos):[ns],u=l*n,m=d.some(e=>Math.abs(e.pos-u)<=as);h<-.1&&u>as&&!m&&(d.push({...ns,pos:u}),d.sort((e,t)=>e.pos-t.pos));const p=d[d.length-1],f=(o.width+l+c)*n,g=Number.isFinite(ls(r))?ls(r):36;let b=p.pos+g;if(b<f)for(;b<f&&d.length<50;b+=g)d.push({...ns,pos:b});const y=o.left-l,x=(s.left-y)*n,w=d.find(e=>"clear"!=e.style&&e.pos>x);if(null==w)return;if(!["left","right","center"].includes(w.style||"left"))return;let v=1;if("right"==w.style||"center"==w.style){const t=Array.from(a.querySelectorAll(`.${e.className}`)),r=t.indexOf(e)+1,s=document.createRange();s.setStart(e,1),r<t.length?s.setEndBefore(t[r]):s.setEnd(a,a.childNodes.length);const o="center"==w.style?.5:1,i=s.getBoundingClientRect(),l=i.left+o*i.width-y;v=w.pos-l*n}else v=w.pos-x;const k=Math.max(Number.isFinite(v)?v:0,0);switch(" "!==e.textContent&&(e.textContent=" "),e.style.display="inline-block",e.style.width=`${k.toFixed(2)}pt`,e.style.minWidth="0pt",e.style.lineHeight="1",e.style.whiteSpace="nowrap",e.style.wordSpacing="normal",e.style.textDecoration="none",e.style.borderBottom="",e.style.height="",e.style.transform="",w.leader){case"dot":case"middleDot":e.style.borderBottom="1px dotted currentColor",e.style.height=".85em",e.style.transform="translateY(-.18em)";break;case"hyphen":case"heavy":case"underscore":e.style.borderBottom="1px solid currentColor",e.style.height=".85em",e.style.transform="translateY(-.18em)"}}function is(e){const t=parseFloat(e);return Number.isFinite(t)?t:0}function ls(e){return parseFloat(e)}function cs(e){const t=/^\s*([-+]?(?:\d+(?:\.\d*)?|\.\d+))(pt|px|pc|in|cm|mm)?\s*$/i.exec(e??"");if(!t)return null;const r={pt:1,px:.75,pc:12,in:72,cm:72/2.54,mm:72/25.4}[t[2]?.toLowerCase()??"pt"],n=Number(t[1])*r;return Number.isFinite(n)?n:null}function hs(e,t){const r="explicit"==e.dataset.docxTabLayout,n=r?e.dataset.docxTabFallbackWidth??"":e.style.width,a=r?e.dataset.docxTabFallbackMinWidth??"":e.style.minWidth??"",s=e.style.display,o=()=>(r&&(e.style.width=n,e.style.minWidth=a),e.style.display=s,!1),i=e.closest("p"),l=e.ownerDocument?.defaultView;if(!i||!l||!e.isConnected)return o();const c=l.getComputedStyle(i);if("rtl"==c.direction||c.writingMode&&"horizontal-tb"!=c.writingMode)return o();const h=t.filter(e=>"clear"!=e.style).map(e=>({...e,point:cs(e.position)}));if(!h.length||h.some(e=>null==e.point))return o();h.sort((e,t)=>e.point-t.point);const d=e.style.width;e.style.display="inline-block",e.style.width="0pt";const u=e.getBoundingClientRect(),m=i.getBoundingClientRect(),p=is(c.width)+("border-box"==c.boxSizing?0:is(c.paddingLeft)+is(c.paddingRight)+is(c.borderLeftWidth)+is(c.borderRightWidth)),f=p>0?m.width/p:0;if(!(f>0&&Number.isFinite(f)))return e.style.width=d,o();const g=m.left/f-is(c.marginLeft),b=.75*(u.left/f-g),y=h.find(e=>e.point>b+as);if(!y||!["left","right","center"].includes(y.style||"left")||y.leader&&"none"!=y.leader)return e.style.width=d,o();const x=e=>{for(;e&&e!=i;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}return null};let w=null;for(let t=x(e);t;){if(1==t.nodeType){const e=t;if("BR"==e.tagName||"P"==e.tagName||"true"==e.dataset.docxTab||"true"==e.dataset.docxDrawing){w=e;break}}t=t.firstChild??x(t)}let v=0;if("right"==y.style||"center"==y.style){const t=e.ownerDocument.createRange();if(t.setStartAfter(e),w?t.setEndBefore(w):t.setEnd(i,i.childNodes.length),v=t.getBoundingClientRect().width/f*.75,!Number.isFinite(v))return e.style.width=d,o()}const k="right"==y.style?1:"center"==y.style?.5:0,C=Math.max(0,y.point-b-k*v);return" "!==e.textContent&&(e.textContent=" "),e.style.width=`${C.toFixed(2)}pt`,e.style.minWidth="0pt",e.style.lineHeight="1",e.style.whiteSpace="nowrap",e.style.wordSpacing="normal",e.dataset.docxTabLayout="explicit",e.dataset.docxTabFallbackWidth=n,e.dataset.docxTabFallbackMinWidth=a,!0}function ds(e,t,r){if(!t||![t.start,t.size,r].every(Number.isFinite))return null;if(e.alignSpecified)return"center"==e.align?t.start+(t.size-r)/2:"right"==e.align||"bottom"==e.align?t.start+t.size-r:"left"==e.align||"top"==e.align?t.start:null;const n=cs(e.offset??"0pt");return null==n?null:t.start+4*n/3}const us=e=>Number.parseFloat(e)||0;function ms(e,t,r){const n=e.ownerDocument?.defaultView,a=e.closest("p"),s=e.closest("[data-docx-comment-story]")??e.closest(`section.${r}`);if(!(n&&a&&s&&e.isConnected))return;if(a.closest("foreignObject"))return;const o=n.getComputedStyle(a);if("rtl"==o.direction||o.writingMode&&"horizontal-tb"!=o.writingMode)return;const i=n.getComputedStyle(s),l=s.getBoundingClientRect(),c=us(i.width)+("border-box"==i.boxSizing?0:us(i.paddingLeft)+us(i.paddingRight)+us(i.borderLeftWidth)+us(i.borderRightWidth)),h=c>0?l.width/c:0;if(!(h>0&&Number.isFinite(h)))return;const d=(e,t=!1)=>{const r=e.getBoundingClientRect(),a=n.getComputedStyle(e),s=t?us(a.borderLeftWidth)+us(a.paddingLeft):0,o=t?us(a.borderTopWidth)+us(a.paddingTop):0,i=t?us(a.borderRightWidth)+us(a.paddingRight):0,l=t?us(a.borderBottomWidth)+us(a.paddingBottom):0;return{x:{start:r.left/h+s,size:r.width/h-s-i},y:{start:r.top/h+o,size:r.height/h-o-l}}},u=d(s),m=d(s,!0),p=d(a);if(p.x.size<=0||p.y.size<=0)return;const f=a.closest("article, header, footer");if(!f)return;const g=d(f,!0),b=n.getComputedStyle(f),y=e.previousElementSibling,x="true"==y?.dataset.docxAnchorMarker?d(y):null,w=y?.querySelector?.('[data-docx-anchor-line="top"]'),v=y?.querySelector?.('[data-docx-anchor-line="bottom"]'),k=w?d(w).y.start:null,C=v?d(v).y.start:null,S=null!=k&&null!=C&&C>k?{start:k,size:C-k}:null,N={...g.x},A=us(b.columnCount),P=us(b.columnWidth);if(A>1||P>0){const e="normal"==b.columnGap?us(b.fontSize):us(b.columnGap),t=P>0?Math.max(1,Math.floor((N.size+e)/(P+e))):A,r=A>0?Math.min(A,t):t,n=(N.size+e)/r;if(!(n>0))return;const a=x?.x.start??p.x.start-us(o.marginLeft),s=Math.max(0,Math.min(r-1,Math.floor((a-N.start+.1)/n)));N.start+=s*n,N.size=n-e}const M=!1!==t.layoutInCell?a.closest("td, th"):null,$=M?d(M,!0):null,T=(e,t)=>$&&["page","margin","column","cell"].includes(t)?$[e]:"page"==t?u[e]:"margin"==t?m[e]:"column"==t?"x"==e?N:g.y:"paragraph"==t?p[e]:"character"==t?x?.[e]:"line"==t?"y"==e?S:x?.x:"cell"==t&&M?d(M,!0)[e]:null,F=n.getComputedStyle(e),L={x:us(F.width),y:us(F.height)},E={x:p.x.start+us(o.borderLeftWidth),y:p.y.start+us(o.borderTopWidth)};for(const[r,n]of[["x",t.horizontal],["y",t.vertical]]){const t=ds(n,T(r,n.relative),L[r]),a=cs(n.offset??"0pt");if(null==t||null==a)continue;const s=t-E[r]-4*a/3;e.style.setProperty(`--docx-anchor-origin-${r}`,`${(Math.abs(s)<5e-5?0:s).toFixed(4)}px`)}}const ps=new WeakMap,fs=e=>Number.parseFloat(e)||0;function gs(e,t=()=>!0){const r=e.ownerDocument.defaultView;if(!r)return;const n=e.getBoundingClientRect(),a=r.getComputedStyle(e),s=fs(a.width)+("border-box"===a.boxSizing?0:fs(a.paddingLeft)+fs(a.paddingRight)+fs(a.borderLeftWidth)+fs(a.borderRightWidth)),o=s?n.width/s:0;if(Number.isFinite(o)&&!(o<=0))for(const n of Array.from(e.querySelectorAll('[data-docx-anchor-horizontal="column"], [data-docx-anchor-horizontal="margin"]'))){if(null!=n.dataset.docxAnchorId||!t(n))continue;const a=n.closest('[data-docx-anchor-context="paragraph"]');if(!a||n.offsetParent!==a||"absolute"!==r.getComputedStyle(n).position||!n.style.left)continue;if(a.closest("td, th"))continue;const s="margin"===n.dataset.docxAnchorHorizontal?e:a.closest("article, header, footer");if(!s||!e.contains(s)&&s!==e)continue;const i=r.getComputedStyle(s);let l=s.getBoundingClientRect().left+(fs(i.borderLeftWidth)+fs(i.paddingLeft))*o;const c=r.getComputedStyle(a),h=a.getBoundingClientRect();if(s!==e){const e=fs(i.columnCount),t=fs(i.columnWidth);if(e>1||t>0){const r="normal"===i.columnGap?fs(i.fontSize):fs(i.columnGap),n=s.clientWidth-fs(i.paddingLeft)-fs(i.paddingRight),a=(n+r)/(e>0?e:Math.max(1,Math.floor((n+r)/(t+r))));if(a>0){const e=(h.left-l)/o-fs(c.marginLeft);l+=Math.round(e/a)*a*o}}}const d=(l-(h.left+fs(c.borderLeftWidth)*o))/o;if(!Number.isFinite(d))continue;const u=ps.get(n)??n.style.left;ps.set(n,u),n.style.left=Math.abs(d)<.01?u:`calc(${u} + ${d.toFixed(4)}px)`}}const bs=new WeakMap,ys=/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(?:px|pt|pc|in|cm|mm)?$/i,xs=e=>""!==e&&"none"!==e&&"normal"!==e;function ws(e,t){for(let r=e.parentElement;r;r=r.parentElement){const e=t.getComputedStyle(r);if(e.position&&"static"!==e.position||xs(e.transform)||xs(e.perspective)||xs(e.filter)||/(?:layout|paint|strict|content)/.test(e.contain)||/(?:transform|perspective|filter)/.test(e.willChange))return r}return null}function vs(e,t=()=>!0){const r=e.ownerDocument.defaultView;if(!r)return 0;const n=r.getComputedStyle(e),a=fs(n.width)+("border-box"===n.boxSizing?0:fs(n.paddingLeft)+fs(n.paddingRight)+fs(n.borderLeftWidth)+fs(n.borderRightWidth)),s=a>0?e.getBoundingClientRect().width/a:0;if(!Number.isFinite(s)||s<=0)return 0;let o=0;for(const n of Array.from(e.querySelectorAll('svg[data-docx-float="true"]'))){if(null!=n.dataset.docxAnchorId||!t(n))continue;if("http://www.w3.org/2000/svg"!==n.namespaceURI||n.ownerSVGElement||"absolute"!==r.getComputedStyle(n).position)continue;const a=!("text"!==n.dataset.docxAnchorHorizontal||!n.style.left&&!n.style.marginLeft||n.style.right&&"auto"!==n.style.right),i=!("text"!==n.dataset.docxAnchorVertical||!n.style.top&&!n.style.marginTop||n.style.bottom&&"auto"!==n.style.bottom);if(!a&&!i)continue;const l=n.closest("p");if(!l||l.closest("td, th, svg, [data-docx-shape-textbox]"))continue;const c=l.closest("article, header, footer"),h=ws(n,r);if(!c||!e.contains(c)||!h||h!==l&&h!==c&&h!==e)continue;const d=r.getComputedStyle(h),u=h.getBoundingClientRect(),m=r.getComputedStyle(l);if("rtl"===m.direction||m.writingMode&&"horizontal-tb"!==m.writingMode)continue;const p=bs.get(n)??{left:n.style.left,top:n.style.top},f=e=>!e||"auto"===e||ys.test(e);if(a&&(!f(p.left)||!f(n.style.marginLeft))||i&&(!f(p.top)||!f(n.style.marginTop)))continue;let g=p.left;if(a){const e=r.getComputedStyle(c);let t=c.getBoundingClientRect().left+(fs(e.borderLeftWidth)+fs(e.paddingLeft))*s;const n=l.getBoundingClientRect(),a=fs(e.columnCount),o=fs(e.columnWidth);if(a>1||o>0){const r="normal"===e.columnGap?fs(e.fontSize):fs(e.columnGap),i=c.clientWidth-fs(e.paddingLeft)-fs(e.paddingRight),l=(i+r)/(a>0?a:Math.max(1,Math.floor((i+r)/(o+r))));if(!(l>0))continue;const h=(n.left-t)/s-fs(m.marginLeft);t+=Math.round(h/l)*l*s}const i=(t-u.left)/s-fs(d.borderLeftWidth);if(!Number.isFinite(i))continue;const h=p.left&&"auto"!==p.left?p.left:"0px";g=Math.abs(i)<.01?h:`calc(${h} + ${i.toFixed(4)}px)`}if(bs.set(n,p),a&&(n.style.left=g),i){const e=(l.getBoundingClientRect().top-u.top)/s+fs(m.borderTopWidth)-fs(d.borderTopWidth),t=p.top&&"auto"!==p.top?p.top:"0px";Number.isFinite(e)&&(n.style.top=Math.abs(e)<.01?t:`calc(${t} + ${e.toFixed(4)}px)`)}o++}return o}const ks=e=>Number.parseFloat(e)||0;function Cs(e,t,r){for(const n of Array.from(e.querySelectorAll("[data-docx-vml-text-viewport]"))){if(!r(n))continue;const e=n.ownerSVGElement;if(!e||"true"!==e.dataset.docxVml)continue;const a=e.getScreenCTM?.();if(!a)continue;const s=Math.hypot(a.a,a.b)/t,o=Math.hypot(a.c,a.d)/t,i=n.dataset.docxVmlTextViewport.split(" ").map(Number);if([s,o].every(e=>Number.isFinite(e)&&e>0)&&4===i.length&&i.every(Number.isFinite)&&!(Math.abs(a.a*a.c+a.b*a.d)>1e-5*t*t*s*o)){for(const[e,t]of["x","y","width","height"].entries())n.setAttribute(t,""+i[e]*(e%2?o:s));n.setAttribute("transform",`scale(${1/s} ${1/o})`)}}}function Ss(e){const t=/^([+-]?(?:\d+(?:\.\d*)?|\.\d+))(pt|px|in|cm|mm|pc)?$/i.exec(e?.trim()||"");if(!t)return null;const r=Number(t[1])*({pt:4/3,px:1,in:96,cm:96/2.54,mm:96/25.4,pc:16}[t[2]?.toLowerCase()||"px"]??1);return Number.isFinite(r)?r:null}function Ns(e){return ks(e.width)+("border-box"===e.boxSizing?0:ks(e.paddingLeft)+ks(e.paddingRight)+ks(e.borderLeftWidth)+ks(e.borderRightWidth))}function As(e,t){const r=t.ownerDocument.createTreeWalker(t,1);r.currentNode=e;for(let e=r.nextNode();e;e=r.nextNode())if(e.closest("p")!==t||e.matches("br, [data-docx-tab], [data-docx-float], [data-docx-frame-anchor]"))return e;return null}function Ps(e,t=()=>!0){const r=e.ownerDocument.defaultView;if(!r)return 0;const n=new Map;for(const r of Array.from(e.querySelectorAll('[data-docx-tab="true"][data-docx-tab-pos]'))){if(null!=r.dataset.docxTabId||!t(r))continue;const a=r.closest("p");if(!a||!e.contains(a)||r.closest('[data-docx-has-tab-leader="true"], [data-docx-toc-entry="true"]')||r.dataset.docxTabLeader&&"none"!==r.dataset.docxTabLeader||!["left","right","center"].includes(r.dataset.docxTabAlign||"left")||null===Ss(r.dataset.docxTabPos))continue;const s=n.get(a)||[];s.push(r),n.set(a,s)}let a=0;for(const[e,t]of n){const n=r.getComputedStyle(e);if("rtl"===n.direction||n.writingMode&&"horizontal-tb"!==n.writingMode||"center"===n.textAlign||"right"===n.textAlign||"end"===n.textAlign)continue;const s=e.getBoundingClientRect(),o=Ns(n),i=o>0?s.width/o:0;if(!Number.isFinite(i)||i<=0||s.width<=0)continue;const l=s.left+(ks(n.borderLeftWidth)+ks(n.paddingLeft))*i;for(const e of t)e.style.width="0px",e.style.minWidth="0px";for(const r of t){const t=Ss(r.dataset.docxTabPos),n=r.getBoundingClientRect(),s=e.ownerDocument.createRange();s.setStartAfter(r);const o=As(r,e);o?s.setEndBefore(o):s.setEnd(e,e.childNodes.length);const c=Array.from(s.getClientRects()).filter(e=>e.width>0&&e.bottom>n.top+.1&&e.top<n.bottom-.1);let h=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of c)h=Math.min(h,e.left),d=Math.max(d,e.right);const u=c.length?Math.max(0,d-h)/i:0,m="right"===r.dataset.docxTabAlign?1:"center"===r.dataset.docxTabAlign?.5:0,p=Math.max(0,t-(n.left-l)/i-u*m);Number.isFinite(p)&&(r.style.width=`${p.toFixed(4)}px`,a++)}}return a}const Ms=Math.pow(6/29,3);function $s(e){return e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92}function Ts(e){const t=e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e;return Math.min(Math.max(0,t),1)}const Fs={black:[0,0,0],blue:[0,0,255],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgray:[169,169,169],darkgrey:[169,169,169],darkgreen:[0,100,0],darkmagenta:[139,0,139],darkred:[139,0,0],darkyellow:[128,128,0],green:[0,128,0],gray:[128,128,128],grey:[128,128,128],lightgray:[211,211,211],lightgrey:[211,211,211],magenta:[255,0,255],red:[255,0,0],white:[255,255,255],yellow:[255,255,0]};function Ls(e){return Math.min(255,Math.max(0,e))}const Es=new Map,Rs=/^var\(\s*(--[\w-]+)\s*,\s*([\s\S]+)\)$/i;function Bs(e,t=21.247){if(!e)return e;const r=e.trim(),n=r.toLowerCase();if(n.startsWith("var(")){const n=Rs.exec(r);if(!n)return e;const a=n[2].trim(),s=Bs(a,t);return s===a?e:`var(${n[1]}, ${s})`}if(function(e){return""===e||"none"===e||"transparent"===e||"inherit"===e||"initial"===e||"unset"===e||"currentcolor"===e||e.startsWith("var(")||e.startsWith("color-mix(")||e.startsWith("url(")||e.startsWith("linear-gradient(")||e.startsWith("radial-gradient(")||e.startsWith("conic-gradient(")}(n))return e;const a=`${t}|${r}`,s=Es.get(a);if(void 0!==s)return s;const o=function(e){const t=e.trim();if(t.startsWith("#")){const e=t.slice(1);if(3===e.length||4===e.length){const t=parseInt(e[0]+e[0],16),r=parseInt(e[1]+e[1],16),n=parseInt(e[2]+e[2],16),a=4===e.length?parseInt(e[3]+e[3],16)/255:1;return Number.isNaN(t)||Number.isNaN(r)||Number.isNaN(n)?null:{r:t,g:r,b:n,a:a}}if(6===e.length||8===e.length){const t=parseInt(e.slice(0,2),16),r=parseInt(e.slice(2,4),16),n=parseInt(e.slice(4,6),16),a=8===e.length?parseInt(e.slice(6,8),16)/255:1;return Number.isNaN(t)||Number.isNaN(r)||Number.isNaN(n)?null:{r:t,g:r,b:n,a:a}}return null}const r=/^rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*(?:,\s*([\d.]+)\s*)?\)$/i.exec(t);if(r)return{r:Ls(parseFloat(r[1])),g:Ls(parseFloat(r[2])),b:Ls(parseFloat(r[3])),a:void 0!==r[4]?parseFloat(r[4]):1};const n=Fs[t.toLowerCase()];return n?{r:n[0],g:n[1],b:n[2],a:1}:null}(r);if(!o||0===o.a)return Es.set(a,e),e;const[i,l,c]=function(e,t,r){const n=$s(e/255),a=$s(t/255),s=$s(r/255);let o=100*(.4124564*n+.3575761*a+.1804375*s)/95.047,i=100*(.2126729*n+.7151522*a+.072175*s)/100,l=100*(.0193339*n+.119192*a+.9503041*s)/108.883;const c=e=>e>Ms?Math.cbrt(e):7.787*e+16/116;return o=c(o),i=c(i),l=c(l),[116*i-16,500*(o-i),200*(i-l)]}(o.r,o.g,o.b),h=(100-t)/100*(100-i)+t,[d,u,m]=function(e,t,r){const n=(e+16)/116,a=n-r/200,s=e=>e*e*e>Ms?e*e*e:(e-16/116)/7.787,o=95.047*s(n+t/500)/100,i=100*s(n)/100,l=108.883*s(a)/100,c=Ts(3.2404542*o+-1.5371385*i+-.4985314*l),h=Ts(-.969266*o+1.8760108*i+.041556*l),d=Ts(.0556434*o+-.2040259*i+1.0572252*l);return[Math.round(255*c),Math.round(255*h),Math.round(255*d)]}(h,l,c),p=o.a>=1?`rgb(${d}, ${u}, ${m})`:`rgba(${d}, ${u}, ${m}, ${Math.round(1e3*o.a)/1e3})`;return Es.set(a,p),p}const Ds=new Set(["color","background-color","border-color","border-top-color","border-right-color","border-bottom-color","border-left-color","outline-color","text-decoration-color","caret-color","column-rule-color","fill","stroke"]),Is=new Set(["border","border-top","border-right","border-bottom","border-left","outline","column-rule"]),Os=/(var\([^)]*\)|rgba?\([^)]*\)|#[0-9a-fA-F]{3,8}|[a-zA-Z]+)\s*$/;function zs(e,t){return e?e.replace(Os,e=>Bs(e,t)):e}var Hs;function Ws(e){if(v(e))return document.createTextNode(e);if(e instanceof Node)return e;const{ns:t,tagName:r,className:n,style:a,children:s,...o}=e;if("#fragment"===r){const e=document.createDocumentFragment();return s?.forEach(t=>e.appendChild(Ws(t))),e}if("#comment"===r)return document.createComment(s[0]);const i=t?document.createElementNS(t,r):document.createElement(r);if(n&&i.setAttribute("class",n),a)if(v(a))i.setAttribute("style",a);else for(const[e,t]of Object.entries(a))null!=t&&(e.startsWith("--")||e.includes("-")?i.style.setProperty(e,t):i.style[e]=t);if(o)for(const[e,t]of Object.entries(o))void 0!==t&&(i[e]=t);return s&&s.forEach(e=>i.appendChild(Ws(e))),i}function Vs(...e){return e.filter(Boolean).join(" ")}function Us(e){const t=e?.reviewMode;return"final"===t||"original"===t||"simple"===t||"all"===t?t:e?.renderChanges||"auto"===t?"all":"final"}function js(e){return null!=e?.reviewMode||!0===e?.renderChanges}function qs(e){return"original"===e}function Gs(e){const t=[],r=e=>{if(!e)return;if(e.type===We.Paragraph)return void t.push(...function(e){const t=[];let r=null;const n=()=>{if(!r)return;const e=Zs(r.text);(e||r.structural)&&t.push(Ks(r.revision,e||"段落标记",r.structural,r.ids)),r=null},a=(e,t,a=!1)=>{const s=e.id;r&&Js(r.revision)===Js(e)?(null==s||r.ids.includes(s)||r.ids.push(s),r.structural||(r.structural=a)):(n(),r={revision:e,ids:null==s?[]:[s],text:"",structural:a}),r.text+=t},s=e=>{const r=e.props?.formatRevisions??[];if(r.length){n();for(const e of r)t.push(Ys(e))}};s(e);for(const t of e.props?.paragraphMarkRevisions??[]){const e=Xs(t,"delete"===t?.kind?We.Deleted:We.Inserted);e&&a(e,"","delete"===e.kind||"move-from"===e.kind)}const o=(e,t)=>{if(!e)return;s(e);const r=Xs(e.props?.revision,e.type),i=r?[...t,r]:t,l=function(e){return e.type===We.Text||e.type===We.DeletedText?e.text??"":e.type===We.Tab||e.type===We.PositionalTab?"\t":e.type===We.Break?"\n":e.type===We.NoBreakHyphen?"‑":null}(e);if(null!=l){const e=i[i.length-1];return void(e?a(e,l):l.length&&n())}for(const t of e.children??[])o(t,i)};for(const t of e.children??[])o(t,[]);return n(),t}(e));const n=Xs(e.props?.revision,e.type);if(n&&e.type!==We.Inserted&&e.type!==We.Deleted){const r=Zs(so(e));t.push(Ks(n,r||function(e){switch(e){case We.Row:return"表格行";case We.Cell:return"表格单元格";case We.Table:return"表格";case We.Paragraph:return"段落标记";default:return"结构修订"}}(e.type),!0))}for(const r of e.props?.formatRevisions??[])t.push(Ys(r));for(const t of e.children??[])r(t)};r(e?.documentPart?.body??e);for(const r of e?.commentsPart?.comments??[]){const e=null==r.id?void 0:String(r.id);t.push({id:e,ids:null==e?[]:[e],kind:"comment",author:r.author||void 0,date:r.date||void 0,text:Zs(so(r)),presentation:"balloon"})}return t}function _s(e,t){if("auto"===t){const t=Gs(e).length;return{enabled:t>0,mode:t>0?"all":"final",automatic:!0,changeCount:t}}return{enabled:null!=t,mode:Us({reviewMode:t??void 0}),automatic:!1,changeCount:0}}function Xs(e,t){if(!e)return null;const r=function(e,t){return"insert"===e||"delete"===e||"move-from"===e||"move-to"===e?e:t===We.Deleted?"delete":"insert"}(e.kind,t);return"insert"!==r&&"delete"!==r&&"move-from"!==r&&"move-to"!==r?null:{id:null==e.id?void 0:String(e.id),kind:r,author:e.author||void 0,date:e.date||void 0}}function Ks(e,t,r=!1,n){const a=no(n??(null==e.id?[]:[e.id]));return{id:a[0],ids:a,kind:e.kind,author:e.author,date:e.date,text:t||(r?"结构修订":""),presentation:"insert"===e.kind||"move-to"===e.kind?"inline":"balloon"}}function Ys(e){const t=null==e?.id?void 0:String(e.id),r=(n=e?.formatChanges,Array.isArray(n)?n.filter(e=>e&&e.property).map(e=>({property:String(e.property),before:null==e.before?void 0:String(e.before),after:null==e.after?void 0:String(e.after)})):[]);var n;return{id:t,ids:null==t?[]:[t],kind:"format",author:e?.author||void 0,date:e?.date||void 0,text:Qs(r,e?.kind),presentation:"balloon",formatChanges:r}}function Js(e){return[e.kind,e.author??"",e.date??""].join("\0")}function Zs(e){return String(e??"").replace(/[\u2060\u200b]/g,"").replace(/[ \t]+\n/g,"\n").trim()}function Qs(e,t){if(!e.length)return ro(t);return no(e.map(e=>function(e){const t=function(e){if(null==e)return;const t=/(?:^|\|)val=([^|]+)/.exec(e);return t?.[1]??e}(e.after);switch(e.property){case"u":return null==t||"none"===t||"0"===t||"false"===t?"无下划线":function(e){switch(e){case"single":return"单下划线";case"double":return"双下划线";case"words":return"仅字词下划线";case"wave":case"wavyDouble":case"wavyHeavy":return"波浪下划线";default:return"下划线"}}(t);case"b":return eo(t)?"加粗":"取消加粗";case"i":return eo(t)?"倾斜":"取消倾斜";case"strike":return eo(t)?"删除线":"取消删除线";case"dstrike":return eo(t)?"双删除线":"取消双删除线";case"color":return t?`字体颜色 ${to(t)}`:"自动字体颜色";case"highlight":return t&&"none"!==t?`突出显示 ${t}`:"无突出显示";case"sz":case"szCs":return t&&!Number.isNaN(Number(t))?`字号 ${Number(t)/2} 磅`:"字号已更改";case"rFonts":return t?`字体 ${function(e){const t=e.split("|").map(e=>e.split("=")).filter(e=>2===e.length),r=t.find(([e])=>"eastAsia"===e)??t.find(([e])=>"ascii"===e)??t[0];return r?.[1]??e}(t)}`:"使用默认字体";case"jc":return`对齐方式 ${function(e){switch(e){case"center":return"居中";case"right":case"end":return"右对齐";case"both":case"distribute":return"两端对齐";default:return"左对齐"}}(t)}`;case"spacing":return"段落间距已更改";case"ind":return"段落缩进已更改";case"shd":return t?`底纹 ${to(t)}`:"无底纹";case"vertAlign":return"superscript"===t?"上标":"subscript"===t?"下标":"基线对齐";default:return function(e,t){const r={caps:"全部大写",smallCaps:"小型大写字母",vanish:"隐藏文字",keepNext:"与下段同页",keepLines:"段中不分页",pageBreakBefore:"段前分页",tblBorders:"表格边框",tcBorders:"单元格边框",tblW:"表格宽度",tcW:"单元格宽度"}[e]??"格式";return t&&!["true","1"].includes(t)?`${r} ${t}`:r}(e.property,t)}}(e)).filter(Boolean)).join(";")||ro(t)}function eo(e){return null==e||""===e||"1"===e||"true"===e||"on"===e}function to(e){const t=/(?:val|fill)=([^|]+)/.exec(e);return t?.[1]??e}function ro(e){switch(e){case"paragraph-format":return"段落格式已更改";case"table-format":return"表格格式已更改";case"row-format":return"表格行格式已更改";case"cell-format":return"单元格格式已更改";default:return"字符格式已更改"}}function no(e){return[...new Set(e.filter(e=>null!=e&&""!==e))]}function ao(e){const t=["#c2410c","#2563eb","#7c3aed","#0f766e","#be123c","#4d7c0f","#a21caf","#0369a1"],r=String(e||"Unknown");let n=2166136261;for(let e=0;e<r.length;e++)n^=r.charCodeAt(e),n=Math.imul(n,16777619);return t[(n>>>0)%t.length]}function so(e){return e.type===We.Text||e.type===We.DeletedText?e.text??"":e.type===We.Tab||e.type===We.PositionalTab?"\t":e.type===We.Break?"\n":(e.children??[]).map(so).join("").trim()}!function(e){e.html="http://www.w3.org/1999/xhtml",e.svg="http://www.w3.org/2000/svg",e.mathML="http://www.w3.org/1998/Math/MathML"}(Hs||(Hs={}));const oo=/[\u0000-\u0020\u007f-\u009f]+/g,io=/^[a-z][a-z0-9+.-]*:/i,lo=/^(?:https?|mailto|tel):/i;const co=["http://schemas.openxmlformats.org/drawingml/2006/chart","http://purl.oclc.org/ooxml/drawingml/chart"],ho=["http://schemas.openxmlformats.org/drawingml/2006/main","http://purl.oclc.org/ooxml/drawingml/main"],uo=new WeakMap;async function mo(e,t=i(e)){o(e,t);const r=new Set;for(const t of[e,...Array.from(e.querySelectorAll("[data-docx-layout-root]"))]){const e=uo.get(t);e&&r.add(e)}for(const n of r)o(e,t),await n.prepareLayout(e,t);o(e,t);for(const r of[e,...Array.from(e.querySelectorAll("[data-docx-layout-root]"))]){const e=uo.get(r);e?.shouldRunDynamicPagination()&&r.classList.contains(`${e.className}-wrapper`)&&e.scheduleDynamicPagination(r,t)}}class po{constructor(){this.className="docx",this.styleMap={},this.currentPart=null,this.currentSectionProps=null,this.currentPageNumber=1,this.currentSectionNumber=1,this.currentSectionPageNumber=1,this.totalPages=1,this.sectionPageCount=1,this.tableVerticalMerges=[],this.currentVerticalMerge=null,this.tableCellPositions=[],this.currentCellPosition=null,this.currentTableRow=null,this.footnoteMap={},this.endnoteMap={},this.currentEndnoteIds=[],this.noteNumbering=new de,this.renderedNoteIds=new Set,this.noteSectionIds=new Map,this.notePageIndex=1,this.dynamicNoteState=new WeakMap,this.noteContinuationOrigins=new WeakMap,this.headerFooterModels=new Map,this.pageHeaderFooterState=new WeakMap,this.currentTabs=[],this.anchorLayouts=new Map,this.currentParagraph=null,this.currentParagraphTabIndex=0,this.currentParagraphTabCount=0,this.commentMap={},this.commentLayer=null,this.commentPresentations=new Map,this.renderingComment=!1,this.hyperlinkDepth=0,this.layoutGenerations=new Map,this.bookmarkTextMap={},this.bookmarkIdToName={},this.tocEntries=[],this.fieldSeqCounters={},this.fieldSetValues={},this.headingIndex=0,this.tasks=[],this.postRenderTasks=[],this.h=Ws,this.darkModeVarNames=new Map,this.darkModePrintReset={}}async render(e,t){this.document=e,this.options=t,this.className=t.className,this.rootSelector=t.inWrapper?`.${this.className}-wrapper`:":root",this.h=t.h??Ws,this.styleMap=null,this.tasks=[],this.postRenderTasks=[],this.commentLayer=null,this.commentPresentations.clear(),this.renderingComment=!1,this.currentTabs=[],this.currentFootnoteIds=[],this.currentEndnoteIds=[],this.footnoteMap={},this.endnoteMap={},this.noteNumbering=new de,this.renderedNoteIds=new Set,this.noteSectionIds=new Map,this.notePageIndex=1,this.dynamicNoteState=new WeakMap,this.noteContinuationOrigins=new WeakMap,this.anchorLayouts.clear(),this.headerFooterModels.clear(),this.pageHeaderFooterState=new WeakMap,this.fieldSeqCounters={},this.fieldSetValues={},this.headingIndex=0,this.darkModeVarNames=new Map,this.darkModePrintReset={},this.options.renderComments&&globalThis.Highlight&&(this.commentHighlight=new Highlight);const r=[...this.renderDefaultStyle()];if(e.themePart&&r.push(...this.renderTheme(e.themePart)),null!=e.stylesPart){const t=this.cloneRenderData(e.stylesPart.styles);this.styleMap=this.processStyles(t),r.push(...this.renderStyles(t))}e.numberingPart&&(this.prodessNumberings(e.numberingPart.domNumberings),r.push(...await this.renderNumbering(e.numberingPart.domNumberings))),e.footnotesPart&&(this.footnoteMap=y(this.cloneRenderData(e.footnotesPart.notes),e=>e.id)),e.endnotesPart&&(this.endnoteMap=y(this.cloneRenderData(e.endnotesPart.notes),e=>e.id)),e.settingsPart&&(this.defaultTabSize=e.settingsPart.settings?.defaultTabStop),!t.ignoreFonts&&e.fontTablePart&&r.push(...await this.renderFontTable(e.fontTablePart));var n=await this.renderSections(this.cloneRenderData(e.documentPart.body));if(this.options.inWrapper){const e=this.renderWrapper(n);this.commentLayer&&e.appendChild(this.commentLayer.root),r.push(e),this.shouldRunDynamicPagination()&&this.scheduleDynamicPagination(e)}else r.push(...n),this.commentLayer&&(this.commentLayer.root.style.position="fixed",r.push(this.commentLayer.root));r.push(...this.renderDarkModePrintReset()),this.commentHighlight&&t.renderComments&&CSS.highlights.set(`${this.className}-comments`,this.commentHighlight),await Promise.allSettled(this.tasks),this.postRenderTasks.forEach(e=>e()),this.commentLayer&&uo.set(this.commentLayer.root,this);for(const e of r)["section","div"].includes(e.tagName?.toLowerCase())&&!e.dataset?.docxCommentLayer&&(e.dataset.docxLayoutRoot="true",uo.set(e,this));return r}renderTheme(e){const t={},r=e.theme?.fontScheme,n=this.documentThemeLanguages();r&&(r.majorFont&&(t["--docx-majorHAnsi-font"]=this.themeFontFamily(r.majorFont,"latin",n.latin),t["--docx-majorEastAsia-font"]=this.themeFontFamily(r.majorFont,"eastAsia",n.eastAsia),t["--docx-majorBidi-font"]=this.themeFontFamily(r.majorFont,"complexScript",n.bidi),t["--docx-majorCs-font"]=t["--docx-majorBidi-font"],this.addThemeScriptFontVariables(t,"major",r.majorFont)),r.minorFont&&(t["--docx-minorHAnsi-font"]=this.themeFontFamily(r.minorFont,"latin",n.latin),t["--docx-minorEastAsia-font"]=this.themeFontFamily(r.minorFont,"eastAsia",n.eastAsia),t["--docx-minorBidi-font"]=this.themeFontFamily(r.minorFont,"complexScript",n.bidi),t["--docx-minorCs-font"]=t["--docx-minorBidi-font"],this.addThemeScriptFontVariables(t,"minor",r.minorFont)));const a=e.theme?.colorScheme,s=[];if(a)for(let[e,r]of Object.entries(a.colors)){const n=`--docx-${e}-color`;t[n]=`#${r}`,s.push(n)}let o=this.styleToString(`.${this.className}`,t);if(this.options.darkMode&&s.length){const e=s.map(e=>` ${e}: ${t[e]};\r\n`).join("");o+=`@media print {\r\n.${this.className} {\r\n${e}}\r\n}\r\n`}return[this.h({tagName:"#comment",children:["docxjs document theme values"]}),this.h({tagName:"style",children:[o]})]}documentThemeLanguages(){const e={latin:"",eastAsia:"",bidi:""},t=(this.document.stylesPart?.styles??[]).filter(e=>null==e.id||e.isDefault&&"span"==e.target).flatMap(e=>e.styles??[]).find(e=>"span"==e.target),r=t?.values??{};return e.latin=r.$lang??"",e.eastAsia=r["$lang-eastAsia"]??e.latin,e.bidi=r["$lang-bidi"]??e.latin,e}addThemeScriptFontVariables(e,t,r){const n=new Set(["Hans","Hant","Jpan","Hang"]);for(const a of Object.keys(r.scriptTypefaces??{})){const s=n.has(a)?"eastAsia":"complexScript",o=this.themeFontFamily(r,s,"",a);e[`--docx-${t}EastAsia-font-${a}`]=o,e[`--docx-${t}Bidi-font-${a}`]=o,e[`--docx-${t}Cs-font-${a}`]=o}}themeFontFamily(e,t,r,n=""){const a="latin"==t?e.latinTypeface:"eastAsia"==t?e.eaTypeface:e.csTypeface,s=n||Ze(r),o=s?e.scriptTypefaces?.[s]:"",i=a?.trim()||o?.trim()||e.latinTypeface?.trim();if(!i)return"eastAsia"==t?"sans-serif":"serif";const l=[p(i)];return"eastAsia"==t&&l.push(...f(i,s).slice(1)),[...new Set(l)].join(", ")}async renderFontTable(e){const t=[];for(let r of e.fonts)for(let e of r.embedFontRefs)try{const n=await this.document.loadFont(e.id,e.key),a={"font-family":p(r.name),src:`url(${n})`};"bold"!=e.type&&"boldItalic"!=e.type||(a["font-weight"]="bold"),"italic"!=e.type&&"boldItalic"!=e.type||(a["font-style"]="italic"),t.push(this.h({tagName:"#comment",children:[`docxjs ${r.name} font`]})),t.push(this.h({tagName:"style",children:[this.styleToString("@font-face",a)]}))}catch(t){this.options.debug&&console.warn(`Can't load font with id ${e.id} and key ${e.key}`)}return t}processStyleName(e){return e?`${this.className}_${function(e){return e?.replace(/[ .]+/g,"-").replace(/[&]+/g,"and").toLowerCase()}(e)}`:this.className}processStyles(e){const t=y(e.filter(e=>null!=e.id),e=>e.id);for(const n of e.filter(e=>e.basedOn)){var r=t[n.basedOn];if(r){n.paragraphProps=k({},r.paragraphProps,n.paragraphProps),n.runProps=k({},r.runProps,n.runProps);for(const e of r.styles){const t=n.styles.find(t=>t.target==e.target);t?this.copyStyleProperties(e.values,t.values):n.styles.push({...e,values:{...e.values}})}}else this.options.debug&&console.warn(`Can't find base style ${n.basedOn}`)}for(let t of e)t.cssName=this.processStyleName(t.id);return t}prodessNumberings(e){for(let t of e.filter(e=>e.pStyleName)){const e=this.findStyle(t.pStyleName);e?.paragraphProps?.numbering&&(e.paragraphProps.numbering.level=t.level)}}processElement(e){if(e&&e.children)for(var t of e.children)t.parent=e,t.type==We.Table?this.processTable(t):this.processElement(t)}processTable(e){const t=e.children??[];let r=e.columns?.length??0;for(const e of t){let t=e.gridBefore??0;for(const r of e.children??[])t+=r.span??1;r=Math.max(r,t+(e.gridAfter??0))}const n=Math.max(e.rowBandSize??1,1),a=Math.max(e.colBandSize??1,1);t.forEach((s,o)=>{0==o&&this.appendClassName(s,"first-row"),o==t.length-1&&this.appendClassName(s,"last-row"),this.appendClassName(s,Math.floor(o/n)%2==0?"odd-row":"even-row");let i=s.gridBefore??0;for(const t of s.children??[]){t.cssStyle=this.copyStyleProperties(e.cellStyle,t.cssStyle,["border-left","border-right","border-top","border-bottom","padding-left","padding-right","padding-top","padding-bottom"]);const n=t.span??1,s=i+n-1;0==i&&this.appendClassName(t,"first-col"),r>0&&s>=r-1&&this.appendClassName(t,"last-col"),this.appendClassName(t,Math.floor(i/a)%2==0?"odd-col":"even-col"),this.processElement(t),i+=n}})}collectDocumentMetadata(e){this.bookmarkTextMap={},this.bookmarkIdToName={},this.tocEntries=[];const t={},r=e=>{if(e.type!=We.Deleted||qs(Us(this.options))){switch(e.type){case We.BookmarkStart:{const r=e;r.id&&r.name&&(this.bookmarkIdToName[r.id]=r.name,t[r.id]=[]);break}case We.BookmarkEnd:{const r=e,n=this.bookmarkIdToName[r.id];n&&t[r.id]&&(this.bookmarkTextMap[n]=t[r.id].join("").trim(),delete t[r.id]);break}case We.Text:for(const r of Object.keys(t))t[r].push(e.text??"");break;case We.DeletedText:if(qs(Us(this.options)))for(const r of Object.keys(t))t[r].push(e.text??"")}for(const t of e.children??[])r(t)}};for(const t of e.children??[])r(t);for(const[e,r]of Object.entries(t)){const t=this.bookmarkIdToName[e];t&&(this.bookmarkTextMap[t]=r.join("").trim())}for(const t of e.children??[])this.collectTocEntries(t)}collectTocEntries(e){if(e.type!=We.Deleted||qs(Us(this.options))){if(e.type==We.Paragraph){const t=e,r=this.findStyle(t.styleName),n=this.extractText(t).trim();let a=t.outlineLevel??r?.paragraphProps?.outlineLevel;if(null==a&&t.styleName){const e=/heading(\d+)|(?:^|[-_ ])h(\d+)$/i.exec(t.styleName);e&&(a=parseInt(e[1]??e[2],10)-1)}if(n&&null!=a&&a>=0&&a<9){const e=this.findFirstBookmark(t),r=e?.name&&!e.name.startsWith("_")?e.name:`${this.className}-heading-${++this.headingIndex}`;t.props={...t.props??{},anchorId:r},this.tocEntries.push({level:a+1,text:n,id:r})}}for(const t of e.children??[])this.collectTocEntries(t)}}findFirstBookmark(e){if(e.type==We.BookmarkStart)return e;for(const t of e.children??[]){const e=this.findFirstBookmark(t);if(e)return e}return null}extractText(e){switch(e.type){case We.Text:return e.text??"";case We.DeletedText:return qs(Us(this.options))?e.text??"":"";case We.Deleted:return qs(Us(this.options))?(e.children??[]).map(e=>this.extractText(e)).join(""):"";case We.Inserted:return"original"==Us(this.options)?"":(e.children??[]).map(e=>this.extractText(e)).join("");case We.Tab:case We.PositionalTab:return"\t";case We.NoBreakHyphen:return"‑";case We.SoftHyphen:return"";case We.Break:return"\n";case We.Instruction:case We.ComplexField:return""}return(e.children??[]).map(e=>this.extractText(e)).join("")}appendClassName(e,t){e.className=[...new Set(Vs(e.className,t).split(/\s+/).filter(Boolean))].join(" ")}copyStyleProperties(e,t,r=null){if(!e)return t;for(var n of(null==t&&(t={}),null==r&&(r=Object.getOwnPropertyNames(e)),r))e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n]);return t}createPageElement(e,t,r){const n={...r};let a=null,s=null;if(t){if(t.pageMargins&&(n.paddingLeft=this.addSize(t.pageMargins.left,t.pageMargins.gutter),n.paddingRight=t.pageMargins.right,n.paddingTop=t.pageMargins.top,n.paddingBottom=t.pageMargins.bottom),t.pageSize){let e=t.pageSize.width,r=t.pageSize.height;if("landscape"==t.pageSize.orientation){const t=this.parseCssLengthValue(e),n=this.parseCssLengthValue(r);null!=t&&null!=n&&t<n&&([e,r]=[r,e])}a=e,s=r,this.options.ignoreWidth||(n.width=e);(!this.options.ignoreHeight||!this.options.breakPages)&&(n.minHeight=r,!this.options.ignoreHeight&&this.options.breakPages&&this.options.fixedPageHeight&&(n.height=r))}t.pageBorders&&(this.applyPageBorder(n,"top",t.pageBorders.top),this.applyPageBorder(n,"right",t.pageBorders.right),this.applyPageBorder(n,"bottom",t.pageBorders.bottom),this.applyPageBorder(n,"left",t.pageBorders.left))}const o=this.h({tagName:"section",className:e,style:n});return n.paddingLeft&&this.setCssStyle(o,"--docx-page-padding-left",n.paddingLeft),n.paddingTop&&this.setCssStyle(o,"--docx-page-padding-top",n.paddingTop),a&&this.setCssStyle(o,"--docx-page-width",a),s&&this.setCssStyle(o,"--docx-page-height",s),o}addSize(e,t){return e?t&&"0.00pt"!=t&&"0px"!=t?`calc(${e} + ${t})`:e:t}parseCssLengthValue(e){if(!e)return null;const t=/^(-?\d+(?:\.\d+)?)/.exec(e);return t?parseFloat(t[1]):null}applyPageBorder(e,t,r){if(!r)return;const n=this.borderTypeToCss(r.type);e[`border-${t}`]="none"==n?"none":`${r.size??"1px"} ${n} ${this.borderColor(r.color)}`}borderTypeToCss(e){switch(e){case"nil":case"none":return"none";case"double":case"triple":return"double";case"dashed":case"dashSmallGap":return"dashed";case"dotted":case"dotDash":case"dotDotDash":return"dotted"}return"solid"}borderColor(e){return e&&"auto"!=e?/^[0-9a-f]{6}$/i.test(e)?`#${e}`:e:"var(--docx-auto-color, black)"}createSectionContent(e){const t={},r=e.columns?.numberOfColumns??e.columns?.columns?.length,n="linesAndChars"==e.docGrid?.type||"snapToChars"==e.docGrid?.type;return e.docGrid&&(e.docGrid.linePitch&&(t["--docx-doc-grid-line-pitch"]=e.docGrid.linePitch),n&&e.docGrid.charSpace&&(t.letterSpacing=e.docGrid.charSpace)),this.document.settingsPart?.settings?.kinsoku&&(t.lineBreak="strict",t.wordBreak="keep-all"),this.document.settingsPart?.settings?.overflowPunctuation&&(t.hangingPunctuation="allow-end"),this.document.settingsPart?.settings?.topLinePunctuation&&(t["text-spacing-trim"]="space-start"),(this.document.settingsPart?.settings?.autoSpaceDE||this.document.settingsPart?.settings?.autoSpaceDN)&&(t["text-autospace"]=[this.document.settingsPart?.settings?.autoSpaceDE?"ideograph-alpha":null,this.document.settingsPart?.settings?.autoSpaceDN?"ideograph-numeric":null].filter(Boolean).join(" ")),e.columns&&r&&(r>1||e.columns.columns?.length>0)&&(t.columnCount=`${r}`,t.columnGap=e.columns.space,!e.columns.equalWidth&&e.columns.columns?.length>0&&(t.columnWidth=e.columns.columns[0].width,t.columnGap=e.columns.columns[0].space??t.columnGap),e.columns.separator&&(t.columnRule="1px solid black")),this.h({tagName:"article",style:t})}async renderSections(e){const t=[];this.processElement(e),this.collectDocumentMetadata(e);const r=this.splitBySection(this.reviewParagraphs(e.children),e.props);this.resolveSectionHeaderFooterReferences(r);const n=this.groupByPageBreaks(r);if(e.backgroundImage){const t=await this.document.loadDocumentImage(e.backgroundImage.id,this.document.documentPart,this.options.externalResourcePolicy).catch(()=>null);t&&(e={...e,cssStyle:{...e.cssStyle,"background-image":`url(${JSON.stringify(t)})`,"background-repeat":"tile"==e.backgroundImage.type?"repeat":"no-repeat","background-position":"center","background-size":"tile"==e.backgroundImage.type?"auto":"100% 100%"}})}let a=null,s=0,o=0;const i=new Map,l=new Map,c=new Map,h=new Map,d=e=>{if(!c.has(e)){const t=++o;c.set(e,`${this.className}-section-${t}`),h.set(e,t)}};for(const e of n){const t=e[0].sectProps;d(t),i.set(t,(i.get(t)??0)+1)}this.totalPages=n.length;for(let r=0,o=n.length;r<o;r++){this.currentFootnoteIds=[],this.notePageIndex=r+1;let m=n[r][0].sectProps;const p=m;d(m);const f=a!=m;s=f&&null!=m?.pageNumber?.start?m.pageNumber.start:s+1,this.currentPageNumber=s,this.currentSectionNumber=h.get(m)??1,this.currentSectionProps=m,this.currentSectionPageNumber=(l.get(m)??0)+1,this.sectionPageCount=i.get(m)??1,l.set(m,this.currentSectionPageNumber);const g=this.createPageElement(this.className,m,e.cssStyle);g.dataset.docxSection=c.get(m),g.dataset.docxSectionNumber=`${this.currentSectionNumber}`,g.dataset.docxSectionPageNumber=`${this.currentSectionPageNumber}`,g.dataset.docxSectionPageCount=`${this.sectionPageCount}`,g.dataset.docxPageNumber=`${s}`,f&&null!=m?.pageNumber?.start&&(g.dataset.docxPageStart=`${m.pageNumber.start}`),this.options.renderHeaders&&this.renderHeaderFooter(m.headerRefs,m,s,f,g);for(const e of n[r]){this.currentSectionProps=e.sectProps;var u=this.createSectionContent(e.sectProps);e.columnBreak&&(u.style.breakBefore="column"),this.renderElements(e.elements,u),g.appendChild(u),m=e.sectProps}if(this.options.renderFootnotes){const e=this.renderNotes(this.currentFootnoteIds,this.footnoteMap,this.document.footnotesPart,"footnote");e&&g.appendChild(e)}if(this.options.renderEndnotes&&r==o-1){const e=this.renderNotes(this.currentEndnoteIds,this.endnoteMap,this.document.endnotesPart,"endnote");e&&g.appendChild(e)}this.currentSectionProps=m,this.options.renderFooters&&this.renderHeaderFooter(m.footerRefs,m,s,f,g),this.pageHeaderFooterState.set(g,{headerProps:p,footerProps:m,headerId:this.selectHeaderFooterReference(p.headerRefs,p,s,f)?.id,footerId:this.selectHeaderFooterReference(m.footerRefs,m,s,f)?.id}),t.push(g),await this.yieldDuringRender(r+1,o),a=m}return t}resolveSectionHeaderFooterReferences(e){const t=new Map;let r=null;const n=(e,t)=>{const r=new Map((t??[]).map(e=>[e.type,e]));for(const t of e??[])r.set(t.type,t);return Array.from(r.values())};for(const a of e){const e=a.sectProps;let s=t.get(e);s||(s={...e,headerRefs:n(e.headerRefs,r?.headerRefs),footerRefs:n(e.footerRefs,r?.footerRefs)},t.set(e,s),r=s),a.sectProps=s}}selectHeaderFooterReference(e,t,r,n){const a=!!this.document.settingsPart?.settings?.evenAndOddHeaders,s=t.titlePage&&n?"first":a&&r%2==0?"even":"default";return e?.find(e=>e.type==s)}renderHeaderFooter(e,t,r,n,a){const s=this.selectHeaderFooterReference(e,t,r,n);var o=s&&this.document.findPartByRelId(s.id,this.document.documentPart);if(o?.rootElement){this.currentPart=o;let e=this.headerFooterModels.get(o.path);e||(e=this.cloneRenderData(o.rootElement),this.processElement(e),this.headerFooterModels.set(o.path,e));const[r]=this.renderElements([e],a);t?.pageMargins&&(o.rootElement.type===We.Header?(r.style.marginTop=`calc(${t.pageMargins.header} - ${t.pageMargins.top})`,r.style.minHeight=`calc(${t.pageMargins.top} - ${t.pageMargins.header})`):o.rootElement.type===We.Footer&&(r.style.marginBottom=`calc(${t.pageMargins.footer} - ${t.pageMargins.bottom})`,r.style.minHeight=`calc(${t.pageMargins.bottom} - ${t.pageMargins.footer})`)),this.currentPart=null}else o&&this.options.debug&&console.warn(`docx-preview: skipping ${o.path} because its parsed root element is missing`)}isPageBreakElement(e){return e.type==We.Break&&("lastRenderedPageBreak"==e.break?!this.options.ignoreLastRenderedPageBreak:"page"==e.break)}isPageBreakSection(e,t){return!!e&&(!!t&&(e.pageSize?.orientation!=t.pageSize?.orientation||e.pageSize?.width!=t.pageSize?.width||e.pageSize?.height!=t.pageSize?.height))}splitBySection(e,t){this.options.breakPages&&!this.options.ignoreLastRenderedPageBreak&&(e=function(e,t){let r=!1,n=null;const a=new Set,s=()=>{r=!1,n=null};for(const o of e){if(o.type!==We.Paragraph){s();continue}const e=o;let i=!1;const l=e=>{if(!t(e))switch(e.type){case We.Break:const t=e.break;"page"===t?(r=!0,n=null,i=!0):"lastRenderedPageBreak"===t?(i=!0,r?(a.add(e),n=e):n&&(a.delete(n),n=null),r=!1):s();break;case We.BookmarkStart:case We.BookmarkEnd:break;case We.Run:case We.Hyperlink:(e.children??[]).forEach(l);break;case We.Text:case We.DeletedText:e.text&&s();break;default:s()}};(e.children??[]).forEach(l),i&&!e.sectionProps||s()}if(!a.size)return e;const o=e=>{if(a.has(e))return null;if(!e.children?.length)return e;let t=!1;const r=[];for(const n of e.children){const e=o(n);t||(t=e!==n),e&&r.push(e)}return!t||0!==r.length||e.type!==We.Run&&e.type!==We.Hyperlink?t?{...e,children:r}:e:null};return e.map(o)}(e,e=>this.isHiddenRevisionForPagination(e)));let r={sectProps:null,elements:[],pageBreak:!1,columnBreak:!1,startsAfterExplicitPageBreak:!1},n=[r];const a=(e=!1,t=!1,a=!1)=>{if(0==r.elements.length&&null==r.sectProps)return r.pageBreak||(r.pageBreak=e),void(r.columnBreak||(r.columnBreak=t));r.pageBreak||(r.pageBreak=e),r.columnBreak||(r.columnBreak=t),r={sectProps:null,elements:[],pageBreak:!1,columnBreak:!1,startsAfterExplicitPageBreak:a},n.push(r)};for(let t of e){if(t.type!=We.Paragraph){if(t.type==We.Table)for(const e of this.splitTableByPageBreaks(t))e.table.children?.length&&r.elements.push(e.table),e.breakAfter&&a(!0,!1,!0);else r.elements.push(t);continue}const e=t,n=this.findStyle(e.styleName),s=e.pageBreakBefore??n?.paragraphProps?.pageBreakBefore;this.options.breakPages&&s&&r.elements.length>0&&a(!0,!1,!0);const o=this.splitParagraphByPageBreaks(e);for(const e of o){r.elements.push(e.paragraph);const t=e.paragraph.sectionProps;t&&(r.sectProps=t),(e.breakAfter||t)&&(r.endsWithExplicitPageBreak||(r.endsWithExplicitPageBreak=!0===e.explicitPageBreak),a(e.breakAfter||t&&me(t.type),t&&pe(t.type),!0===e.explicitPageBreak))}}if(n=n.filter(e=>e.elements.length>0),0==n.length)return[{sectProps:t,elements:[],pageBreak:!1,columnBreak:!1}];let s=null;for(let e=n.length-1;e>=0;e--)null==n[e].sectProps?n[e].sectProps=s??t:s=n[e].sectProps;return n}hasPageBreakElement(e){return!this.isHiddenRevisionForPagination(e)&&(!!this.isPageBreakElement(e)||(e.children?.some(e=>this.hasPageBreakElement(e))??!1))}splitTableByPageBreaks(e){if(!this.options.breakPages||!e.children?.length)return[{table:e,breakAfter:!1}];if(!e.children.some(e=>this.hasPageBreakElement(e)))return[{table:e,breakAfter:!1}];const t=e.children,r=[];for(const e of t){if(!e.isHeader)break;r.push(e)}const n=[];let a=[];const s=t=>{if(0==a.length&&n.length>0)return;const s=n.length>0;let o=a;s&&r.length>0&&!a.some(e=>e.isHeader)&&(o=[...r,...a]),n.push({table:{...e,children:o},breakAfter:t}),a=[]};for(const e of t)a.push(e),this.hasPageBreakElement(e)&&s(!0);return s(!1),n.length>0?n:[{table:e,breakAfter:!1}]}isHiddenRevisionForPagination(e){const t=Us(this.options),r="all"===t&&"inline"===this.options.reviewPresentation;return e.type===We.Deleted&&!qs(t)&&!r||e.type===We.Inserted&&!function(e){return"original"!==e}(t)}hasOnlyHiddenRevisionTail(e){let t=!1;const r=e=>this.isHiddenRevisionForPagination(e)?(t=!0,!0):e.type===We.BookmarkStart||e.type===We.BookmarkEnd||!!([We.Run,We.Hyperlink,We.Inserted,We.Deleted].includes(e.type)&&e.children?.length>0)&&e.children.every(r);return e.every(r)&&t}splitElementByPageBreaks(e){if(this.isHiddenRevisionForPagination(e))return[{element:e}];if(this.isPageBreakElement(e))return[{breakAfter:!0,explicitPageBreak:"page"===e.break}];if(!e.children?.length)return[{element:e}];const t=[];let r={...e,children:[]};const n=()=>{r.children.length>0&&t.push({element:r}),r={...e,children:[]}};for(const a of e.children)for(const e of this.splitElementByPageBreaks(a))e.element&&r.children.push(e.element),e.breakAfter&&(n(),t.push({breakAfter:!0,explicitPageBreak:e.explicitPageBreak}));return n(),t.length>0?t:[{element:e}]}splitParagraphByPageBreaks(e){if(!this.options.breakPages||!e.children?.length)return[{paragraph:e,breakAfter:!1}];const t=[];let r={...e,children:[]};const n=(n,a=!1)=>{(r.children.length>0||0==t.length||a)&&t.push({paragraph:r,breakAfter:n,explicitPageBreak:a}),r={...e,sectionProps:null,children:[]}};for(const t of e.children)for(const e of this.splitElementByPageBreaks(t))e.element&&r.children.push(e.element),e.breakAfter&&n(!0,!0===e.explicitPageBreak);t.length>0&&this.hasOnlyHiddenRevisionTail(r.children)?t[t.length-1].paragraph.children.push(...r.children):(r.children.length>0||0==t.length)&&t.push({paragraph:r,breakAfter:!1});const a=t[t.length-1]?.paragraph;for(const r of t)r.paragraph.sectionProps=r.paragraph===a?e.sectionProps:null;if(e.props?.anchorId&&t.length>1){const e=t.find(e=>this.extractText(e.paragraph).trim())??t[0];for(const r of t)r!==e&&(r.paragraph.props={...r.paragraph.props,anchorId:void 0})}return t}styleValuesForTarget(e,t){return e?.styles?.find(e=>e.target==t)?.values}styleValue(e,t,r){return this.styleValuesForTarget(e,t)?.[r]}effectiveParagraphCssValue(e,t,r){return e.cssStyle?.[r]??this.styleValue(t,"p",r)}isInsideTableCell(e){for(let t=e.parent;t;t=t.parent)if(t.type==We.Cell)return!0;return!1}paragraphUsesDocumentGrid(e,t){const r=this.currentSectionProps?.docGrid?.linePitch;if(!r)return!1;if(this.isInsideTableCell(e)&&!this.document.settingsPart?.settings?.adjustLineHeightInTable)return!1;const n=this.effectiveParagraphCssValue(e,t,"--docx-snap-to-grid");return null==n||!/^(0|false|off)$/i.test(n)}setCssStyle(e,t,r){const n=e.style;"function"==typeof n.setProperty?n.setProperty(t,r):n[t]=r}applyDocumentGridMinimumHeight(e,t,r,n){const a=this.effectiveParagraphCssValue(e,t,"min-height");this.setCssStyle(r,"min-height",a?`max(${a}, ${n})`:n)}applyDocumentGridLinePitch(e,t,r){if(!this.paragraphUsesDocumentGrid(e,t))return;const n=this.currentSectionProps.docGrid.linePitch,a=this.effectiveParagraphCssValue(e,t,"line-height"),s=e.lineSpacing??t?.paragraphProps?.lineSpacing;if(a){if("exact"==s?.lineRule||"exactly"==s?.lineRule)return;const o=/^-?\d+(?:\.\d+)?$/.test(a)?`calc(${a} * 1em)`:a;return this.preserveGridInlineMetrics(r),this.setCssStyle(r,"line-height",`max(${o}, ${n})`),void this.applyDocumentGridMinimumHeight(e,t,r,n)}this.applyDocumentGridMinimumHeight(e,t,r,n)}preserveGridInlineMetrics(e){const t=/^(span|a|sub|sup|b|i|u|s|strike|strong|em)$/,r=e=>{for(const n of Array.from(e.children??[])){if(n.namespaceURI!==Hs.html||!t.test(n.localName)||!n.style)continue;const e=n.style;n.dataset?.docxTextScale&&"block"===e.display?r(n):e.lineHeight||e.display&&"inline"!==e.display||/^(absolute|fixed)$/.test(e.position)||e.cssFloat&&"none"!==e.cssFloat||(e.lineHeight="normal",r(n))}};r(e)}groupByPageBreaks(e){let t=[],r=null;const n=[t];for(let a of e)r&&(r.pageBreak||this.isPageBreakSection(r.sectProps,a.sectProps))&&(t=[],n.push(t)),t.push(a),r=a;const a=n.filter(e=>e.length>0).filter(e=>e[0]?.startsAfterExplicitPageBreak||e.some(e=>e.endsWithExplicitPageBreak||e.elements.some(e=>this.hasPageModelContent(e))));return a.length>0?a:n.filter(e=>e.length>0).slice(0,1)}hasPageModelContent(e){if(!e||this.isHiddenRevisionForPagination(e))return!1;switch(e.type){case We.Text:case We.DeletedText:return Boolean(e.text?.trim());case We.Break:case We.Symbol:case We.Drawing:case We.Image:case We.Table:case We.VmlPicture:case We.VmlElement:case We.MmlMath:case We.MmlMathParagraph:case We.Shape:case We.Chart:case We.SmartArt:case We.Ink:case We.AltChunk:case We.FootnoteReference:case We.EndnoteReference:return!0}return e.children?.some(e=>this.hasPageModelContent(e))??!1}async yieldDuringRender(e,t){const r=this.options.renderPageBatchSize??0;this.options.progress&&this.options.progress({phase:"render",current:e,total:t,message:`Rendered ${e}/${t} logical pages`}),r>0&&e%r==0&&await this.yieldToBrowser()}async yieldToBrowser(){(this.options.renderYieldEveryMs??0)<=0||await new Promise(e=>{const t=globalThis;"function"==typeof t.requestIdleCallback?t.requestIdleCallback(()=>e(),{timeout:Math.max(1,this.options.renderYieldEveryMs??16)}):"function"==typeof t.requestAnimationFrame?t.requestAnimationFrame(()=>e()):setTimeout(e,0)})}renderWrapper(e){const t=this.h({tagName:"div",className:this.className+"-wrapper",children:e});return js(this.options)&&(t.dataset.docxReviewEnabled="true",t.dataset.docxReviewMode=Us(this.options),t.dataset.docxReviewPresentation=this.options.reviewPresentation??"balloon"),t}shouldRunDynamicPagination(){return!(!this.options.breakPages||!this.options.fixedPageHeight||this.options.ignoreHeight||"undefined"==typeof document||"function"!=typeof requestAnimationFrame)}scheduleDynamicPagination(e,t=i(e)){e?.isConnected&&t.isCurrent()&&"true"!=e.dataset.docxPaginated&&"true"!=e.dataset.docxPaginating&&"true"!=e.dataset.docxPaginationScheduled&&(e.dataset.docxPaginationScheduled="true",delete e.dataset.docxLayoutError,l(e,this.tasks,t).then(async()=>{await this.yieldToBrowser(),e.isConnected&&t.isCurrent()&&await this.performDynamicPagination(e,t)}).catch(r=>{delete e.dataset.docxPaginating,e.isConnected&&t.isCurrent()&&(e.dataset.docxLayoutError=r?.message??"DOCX layout failed")}).finally(()=>{delete e.dataset.docxPaginationScheduled,e.isConnected||delete e.dataset.docxPaginating}))}async performDynamicPagination(e,t=s(e)){if(!e||"true"==e.dataset.docxPaginated||"true"==e.dataset.docxPaginating)return;if(!e.isConnected||!t.isCurrent())return;if(delete e.dataset.docxPaginationScheduled,e.dataset.docxPaginating="true",this.syncDynamicNotes(e),await this.prepareLayout(e,t),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;const r=Array.from(e.querySelectorAll(":scope > section."+this.className)),n=this.options.maxDynamicPaginationPasses??1e3;let a=0;for(let s=0;s<r.length;s++){const o=r[s];if(s%2==0&&await this.yieldToBrowser(),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;for(;this.isPageOverflowing(o)&&a++<n;){const n=Array.from(o.querySelectorAll(":scope > article"));if(!n.some(e=>e.children.length>0)&&!o.querySelector(":scope > [data-docx-note-list] > li"))break;const a=this.createContinuationPage(o);if(await this.refreshDynamicHeaderFooters([...r.slice(0,s+1),a,...r.slice(s+1)]),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;const i=Array.from(a.querySelectorAll(":scope > article"));let l=this.splitDynamicNotes(o,a);for(let r=n.length-1;r>=0&&this.isPageOverflowing(o);r--){const a=n[r],s=i[r];let c=0;if(s){for(;this.isPageOverflowing(o)&&a.lastElementChild&&c++<500;){if(c%20==0&&await this.yieldToBrowser(),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;if(a.children.length>1){if(this.moveOverflowingTail(a,o,s)){l=!0;continue}let e=this.pickPaginationChunk(a);if(0==e.length)break;if(e.length>=a.children.length){if(this.splitOverflowBlock(a.lastElementChild,o,s)){l=!0;continue}e=[a.lastElementChild]}for(let t=e.length-1;t>=0;t--)s.prepend(e[t]),l=!0}else{if(!this.splitOverflowBlock(a.lastElementChild,o,s))break;l=!0}}if(r>0&&this.isPageOverflowing(o))for(;a.lastElementChild;)s.prepend(a.lastElementChild),l=!0}}if(l||(l=Array.from(a.children).some(e=>e.dataset.docxNoteList&&e.children.length>0)),!l){if(a.remove(),this.syncDynamicNotes(e),await this.refreshDynamicHeaderFooters(r),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;break}this.refreshTabStops(e),this.refreshAnchors(e),r.splice(s+1,0,a)}}if(a>=n&&r.some(e=>this.isPageOverflowing(e)))throw new Error("DOCX pagination exceeded the configured pass budget");this.cleanupEmptyNumberedParagraphs(e),this.removeEmptyDynamicPages(e),t.acceptLayoutChanges?.(e),this.syncDynamicNotes(e),await this.refreshDynamicHeaderFooters(Array.from(e.querySelectorAll(":scope > section."+this.className))),e.isConnected&&t.isCurrent()?(this.updateDynamicFieldPages(e),this.refreshTabStops(e),this.refreshAnchors(e),this.assertDynamicNotesFit(e),delete e.dataset.docxPaginating,e.dataset.docxPaginated="true"):delete e.dataset.docxPaginating}moveOverflowingTail(e,t,r){const n=e.ownerDocument?.defaultView;if(!n||e.children.length<3)return!1;const a=n.getComputedStyle(e);if("block"!==a.display||!["auto","1"].includes(a.columnCount)||"auto"!==a.columnWidth||"horizontal-tb"!==a.writingMode)return!1;const s=Array.from(e.children),o=this.getPageBodyBottom(t)+(this.options.paginationTolerance??2);let i=s.length;for(;i>1;){let e=i-1;for(;e>0&&this.isKeepWithNext(s[e-1]);)e--;if(0===e)break;let t=!0;for(let r=e;r<i;r++){const e=s[r],a=n.getComputedStyle(e),i=e.getBoundingClientRect();if(!/^(P|TABLE)$/.test(e.tagName)||!["block","table","list-item"].includes(a.display)||"static"!==a.position||"none"!==a.cssFloat||"none"!==a.transform||"none"!==a.clear||"horizontal-tb"!==a.writingMode||!(parseFloat(a.marginTop)>=0&&parseFloat(a.marginBottom)>=0)||!(i.top>o&&i.bottom>i.top)||e.querySelector("[data-docx-float]")){t=!1;break}}if(!t)break;i=e}if(s.length-i<2)return!1;const l=e.ownerDocument.createDocumentFragment();for(let e=i;e<s.length;e++)l.appendChild(s[e]);return r.prepend(l),!0}pickPaginationChunk(e){const t=Array.from(e.children);if(0==t.length)return[];let r=t.length-1;for(;r>0&&this.isKeepWithNext(t[r-1]);)r--;return t.slice(r)}isKeepWithNext(e){if("true"==e.dataset.docxKeepNext)return!0;const t=getComputedStyle(e);return"avoid"==t.breakAfter||"avoid"==t.pageBreakAfter}isPageOverflowing(e){e.parentElement&&this.syncDynamicNotes(e.parentElement),this.refreshTabStops(e);const t=this.options.paginationTolerance??2;if(e.clientHeight<=0)return!1;const r=e.getBoundingClientRect(),n=this.getPageBodyBottom(e);let a=r.top;for(const r of Array.from(e.children)){const e=r.getBoundingClientRect();if(a=Math.max(a,e.bottom),"article"==r.tagName.toLowerCase())for(const e of Array.from(r.children)){const r=e.getBoundingClientRect();if(a=Math.max(a,r.bottom),r.bottom>n+t)return!0}}const s=this.getPageNoteBottom(e);return Array.from(e.querySelectorAll(":scope > [data-docx-note-list]")).some(e=>Array.from(e.querySelectorAll("*")).some(e=>e.getBoundingClientRect().bottom>s+t))||a>r.bottom+t}createContinuationPage(e,t=!0){const r=e.cloneNode(!1);r.dataset.docxDynamicPage="true",r.removeAttribute("id"),delete r.dataset.docxPageStart;const n=this.pageHeaderFooterState.get(e);n&&this.pageHeaderFooterState.set(r,{...n});for(const t of Array.from(e.childNodes)){if(1===t.nodeType&&t.dataset.docxNoteList)continue;const e=1===t.nodeType&&"article"===t.localName;r.appendChild(t.cloneNode(!e))}return t&&e.after(r),r}syncDynamicNotes(e){let t=this.dynamicNoteState.get(e);if(!t){t={references:Array.from(e.querySelectorAll("article [data-docx-note-reference]")),items:[],fragments:new Map,owners:new Map,text:new Map,fields:new Map};const r=new Map;for(const n of Array.from(e.querySelectorAll("[data-docx-note-list] > li[data-docx-note-id]"))){const e=`${n.dataset.docxNoteKind}:${n.dataset.docxNoteId}`;let a=r.get(e);a||(r.set(e,a=n),t.items.push(a),t.fragments.set(a,[]),t.fields.set(a,[]));const s=t.fragments.get(a);n.dataset.docxNoteFragment=`${s.length}`,s.push(n),t.fields.get(a).push(...Array.from(n.querySelectorAll("[data-docx-field-instr]"))),t.text.set(a,(t.text.get(a)??"")+this.noteTextSignature(n,t.fields.get(a)))}this.dynamicNoteState.set(e,t)}if(0===t.items.length)return;const r=Array.from(e.querySelectorAll(`:scope > section.${this.className}`));if(0===r.length)return;const n=new Set(r),a=e=>{for(;e&&!n.has(e);)e=e.parentElement;return e},s=new Map;for(const e of t.references){if("true"===e.dataset.docxNoteHidden)continue;const t=`${e.dataset.docxNoteReference}:${e.dataset.docxNoteId}`;if(s.has(t))continue;const r=a(e);r&&s.set(t,r)}const o=r.slice().reverse().find(e=>e.querySelector(':scope > [data-docx-note-list="footnote"] > li')||Array.from(e.querySelectorAll(":scope > article > *")).some(e=>this.hasVisiblePaginationContent(e)))??r[0],i=new Map;for(const e of t.items){const l=e.dataset.docxNoteKind,c=t.owners.get(e),h="endnote"===l?n.has(c)&&r.indexOf(c)>=r.indexOf(o)?c:o:s.get(`${l}:${e.dataset.docxNoteId}`);if(!h){e.dataset.docxNoteOwnershipError="missing-reference";continue}delete e.dataset.docxNoteOwnershipError;const d=t.fragments.get(e);if(c&&c!==h||d.some(e=>!a(e))){for(const t of d.slice(1))this.mergeNoteContents(e,t),t.remove();d.splice(1)}t.owners.set(e,h);for(let e=0;e<d.length;e++){const t=d[e];t.dataset.docxNoteFragment=`${e}`;const r=0===e?h:a(t);let n=i.get(r);n||i.set(r,n=new Map);let s=n.get(l);s||n.set(l,s=[]),s.push(t)}}for(const[e,t]of i)for(const r of["footnote","endnote"]){const n=t.get(r);if(!n)continue;const a=this.getOrCreateNoteList(e,r);for(let e=0;e<n.length;e++)a.children[e]!==n[e]&&a.insertBefore(n[e],a.children[e]??null)}for(const e of r)for(const t of Array.from(e.children))t.dataset.docxNoteList&&0===t.children.length&&t.remove()}getOrCreateNoteList(e,t){let r=Array.from(e.children).find(e=>e.dataset.docxNoteList===t);if(!r){r=this.h({tagName:"ol"}),r.dataset.docxNoteList=t;const n=Array.from(e.children).find(e=>"footer"===e.localName||"footnote"===t&&"endnote"===e.dataset.docxNoteList);e.insertBefore(r,n??null)}return r}mergeNoteContents(e,t){const r=e=>{for(;this.noteContinuationOrigins.has(e);)e=this.noteContinuationOrigins.get(e);return e};for(const n of Array.from(t.childNodes)){const t=e.lastChild;1===n.nodeType&&1===t?.nodeType&&r(n)===r(t)?(this.mergeNoteContents(t,n),n.id&&!t.id&&(t.id=n.id),n.remove()):1===n.nodeType&&"true"===n.dataset.docxNoteColumns?n.remove():e.appendChild(n)}}getPageNoteBottom(e){const t=e.getBoundingClientRect(),r=e.ownerDocument?.defaultView;if(!r)return t.bottom;const n=r.getComputedStyle(e),a=e=>Number.parseFloat(e)||0,s=t.bottom-a(n.borderBottomWidth)-a(n.paddingBottom),o=Array.from(e.children).find(e=>"footer"===e.localName);if(!o)return s;const i=r.getComputedStyle(o),l=o.getBoundingClientRect(),c=l.height+a(i.marginTop)+a(i.marginBottom);return Math.min(s,s-c,l.top-a(i.marginTop))}getPageBodyBottom(e){const t=Array.from(e.children).filter(e=>e.dataset.docxNoteList),r=e.ownerDocument?.defaultView;if(!t.length||!r)return e.getBoundingClientRect().bottom;let n=this.getPageNoteBottom(e);for(const e of t){const t=e.getBoundingClientRect(),a=r.getComputedStyle(e);let s=t.bottom;for(const t of Array.from(e.querySelectorAll("*")))s=Math.max(s,t.getBoundingClientRect().bottom);n-=Math.max(t.height,s-t.top)+(Number.parseFloat(a.marginTop)||0)+(Number.parseFloat(a.marginBottom)||0)}return n}getMinimumNoteBodyBottom(e){const t=e.ownerDocument?.defaultView,r=t?.getComputedStyle(e);let n=e.getBoundingClientRect().top+(parseFloat(r?.paddingTop)||0)+(parseFloat(r?.borderTopWidth)||0);const a=e.querySelector(":scope > header");a&&(n=Math.max(n,a.getBoundingClientRect().bottom));const s=Array.from(e.querySelectorAll(":scope > article > *")).find(e=>this.hasVisiblePaginationContent(e));if(!s)return n;const o=s.getBoundingClientRect();if("table"===s.localName){const e=this.tableContentRows(s)[0];if(e)return Math.max(n,e.getBoundingClientRect().bottom,...Array.from(e.cells,e=>e.getBoundingClientRect().bottom))}if("p"!==s.localName||"true"===s.dataset.docxKeepLines)return Math.max(n,o.bottom);const i=[],l=e.ownerDocument.createTreeWalker(s,NodeFilter.SHOW_TEXT);for(;l.nextNode();){const t=e.ownerDocument.createRange();t.selectNodeContents(l.currentNode);for(const e of Array.from(t.getClientRects()))e.height>0&&e.width>0&&i.push(e)}i.sort((e,t)=>e.top-t.top);const c=i.find(e=>e.top>(i[0]?.top??1/0)+2);return Math.max(n,c?o.top+c.top-i[0].top:o.bottom)}moveEndnotesAfterBody(e,t){const r=this.dynamicNoteState.get(e.parentElement);if(!r||!e.querySelector(":scope > article > *")||!this.isPageOverflowing(e))return!1;const n=Array.from(e.querySelectorAll(':scope > [data-docx-note-list="endnote"] > li'));if(!n.length||n.some(e=>1!==r.fragments.get(e)?.length))return!1;const a=n[0].parentElement,s=a.nextSibling,o=n.map(e=>({item:e,next:e.nextSibling,owner:r.owners.get(e)})),i=this.getOrCreateNoteList(t,"endnote");for(const e of n)i.appendChild(e),r.owners.set(e,t);if(a.children.length||a.remove(),!this.isPageOverflowing(e))return!0;a.parentNode!==e&&e.insertBefore(a,s?.parentNode===e?s:null);for(const{item:e,next:t,owner:n}of o.reverse())a.insertBefore(e,t?.parentNode===a?t:null),r.owners.set(e,n);return i.children.length||i.remove(),!1}splitDynamicNotes(e,t){const r=e.parentElement,n=this.dynamicNoteState.get(r);if(!n?.items.length||e.clientHeight<=0)return!1;if(this.moveEndnotesAfterBody(e,t))return!0;const a=this.options.paginationTolerance??2,s=this.getMinimumNoteBodyBottom(e),o=()=>this.getPageBodyBottom(e)+a<s;if(!o())return!1;let i=!1;const l=new Map,c=Array.from(e.querySelectorAll(":scope > [data-docx-note-list] > li"));for(const h of c.slice().reverse()){if(!o())break;const d=n.items.find(e=>e.dataset.docxNoteKind===h.dataset.docxNoteKind&&e.dataset.docxNoteId===h.dataset.docxNoteId);if(!d)continue;const u=n.fragments.get(d),m=u.indexOf(h),p=h.dataset.docxNoteKind,f=this.getOrCreateNoteList(t,p);if("endnote"===p&&0===m&&e.querySelector(":scope > article > *")){const e=h.parentElement;f.prepend(h),e.children.length||e.remove(),n.owners.set(d,t),i=!0;continue}const g=Array.from(e.querySelectorAll(":scope > [data-docx-note-list] > li")),b=new Map(g.map(e=>[e,this.getNoteItemHeight(e)])),y=this.getPageBodyBottom(e)-s+Array.from(b.values()).reduce((e,t)=>e+t,0);for(const r of g)l.has(r)||l.set(r,this.measureNoteMinimum(r,t,e));const x=g.find(e=>l.get(e)>y+a);if(x)throw t.remove(),this.syncDynamicNotes(r),e.dataset.docxNoteLayoutError=r.dataset.docxNoteLayoutError="unresolved-overflow",new Error(`docx-preview: unbreakable ${x.dataset.docxNoteKind}:${x.dataset.docxNoteId} exceeds its note region; all note content has been preserved`);let w=y-g.reduce((e,t)=>e+l.get(t),0);const v=g.map(e=>Math.max(0,b.get(e)-l.get(e))).sort((e,t)=>e-t);let k=v.length;for(const e of v){if(e*k>w)break;w-=e,k--}const C=k>0?Math.max(0,w/k):1/0,S=l.get(h)+Math.min(b.get(h)-l.get(h),C),N=()=>o()&&this.getNoteItemHeight(h)>S;if(!N()){f.children.length||f.remove();continue}const A=this.cloneBlockShell(h);A.dataset.docxNoteFragment=`${m+1}`,A.dataset.docxContinued="true",f.prepend(A);if(!this.moveNoteItemTail(h,A,e,N)||!this.hasVisibleNoteContent(h)||N()&&this.getNoteItemHeight(h)>y+a){if(this.mergeNoteContents(h,A),A.remove(),m>0&&this.getNoteItemHeight(h)<=y+a&&e.querySelector(":scope > article > *")){f.prepend(h),i=!0;continue}if(f.children.length||f.remove(),o()&&(1===c.length||this.getNoteItemHeight(h)>y+a))throw t.remove(),this.syncDynamicNotes(r),e.dataset.docxNoteLayoutError=r.dataset.docxNoteLayoutError="unresolved-overflow",new Error(`docx-preview: unbreakable ${p}:${h.dataset.docxNoteId} exceeds its note region; all note content has been preserved`)}else u.splice(m+1,0,A),u.forEach((e,t)=>e.dataset.docxNoteFragment=`${t}`),i=!0}return this.syncDynamicNotes(r),i}measureNoteMinimum(e,t,r){const n=this.getOrCreateNoteList(t,e.dataset.docxNoteKind),a=this.cloneBlockShell(e);a.dataset.docxNoteFragment="1",n.appendChild(a);try{return this.moveNoteItemTail(e,a,r,()=>!0),this.getNoteItemHeight(e)}finally{this.mergeNoteContents(e,a),a.remove()}}moveNoteItemTail(e,t,r,n){let a=!1;for(;n()&&e.lastChild;){const s=e.lastChild;if(e.childNodes.length>1&&this.hasNoteContentOutside(e,s))t.prepend(s),a=!0;else{if(1!==s.nodeType||!this.splitNoteBlock(s,t,r,n,e))break;a=!0}}return a}hasNoteContentOutside(e,t){const r=Array.from(e.childNodes);for(;r.length;){const e=r.pop();if(e!==t){if(e.nodeType===Node.TEXT_NODE&&e.textContent.length>0)return!0;if(1===e.nodeType){if(this.isNoteAtomicElement(e))return!0;r.push(...Array.from(e.childNodes))}}}return!1}firstNoteTextBoundary(e){const t=globalThis.Intl?.Segmenter;if(t){let r=0;for(const n of new t(void 0,{granularity:"grapheme"}).segment(e))if(r||(r=n.segment.length),n.segment.trim())return n.index+n.segment.length;return r}const r=e.search(/\S/);let n=Math.max(0,r);return n+(e.codePointAt(n)>65535?2:1)}getNoteItemHeight(e){const t=e.getBoundingClientRect();let r=t.bottom;for(const t of Array.from(e.querySelectorAll("*")))r=Math.max(r,t.getBoundingClientRect().bottom);const n=e.ownerDocument.defaultView.getComputedStyle(e);return Math.max(t.height,r-t.top)+(parseFloat(n.marginTop)||0)+(parseFloat(n.marginBottom)||0)}hasVisibleNoteContent(e){return!!e.textContent?.length||!!e.querySelector("img,svg,math,object,canvas,video,br,[data-docx-field-instr]")}splitNoteBlock(e,t,r,n,a=e.parentElement){const s=e.ownerDocument.defaultView.getComputedStyle(e);if("true"===e.dataset.docxKeepLines||"avoid"===s.breakInside||"avoid"===s.pageBreakInside)return!1;if(!/^(p|table|div|blockquote)$/.test(e.localName))return!1;const o=this.cloneBlockShell(e);o.dataset.docxContinued="true",this.noteContinuationOrigins.set(o,e),t.prepend(o);let i=!1;if("table"===e.localName){for(const t of Array.from(e.querySelectorAll(":scope > colgroup"))){const e=t.cloneNode(!0);e.removeAttribute("id"),e.querySelectorAll("[id]").forEach(e=>e.removeAttribute("id")),e.dataset.docxNoteColumns="true",o.appendChild(e)}const t=new Map,s=(r,n)=>{if(n===e)return void o.appendChild(r);let a=t.get(n);a||(a=this.cloneBlockShell(n),this.noteContinuationOrigins.set(a,n),t.set(n,a),o.appendChild(a)),a.appendChild(r)},l=this.tableContentRows(e);let c=l.length-1;for(;c>0&&l.slice(0,c).some((e,t)=>Array.from(e.cells).some(e=>t+e.rowSpan>c));)c--;if(c>0){for(const e of l.slice(c))s(e,e.parentElement);i=!0}else if(1===l.length&&1===l[0].cells.length&&1===l[0].cells[0].rowSpan){const e=l[0],t=e.cells[0],o=e.ownerDocument.defaultView.getComputedStyle(e);if("avoid"!==o.breakInside&&"avoid"!==o.pageBreakInside){const o=this.cloneBlockShell(e),l=this.cloneBlockShell(t);this.noteContinuationOrigins.set(o,e),this.noteContinuationOrigins.set(l,t),s(o,e.parentElement),o.appendChild(l),i=this.moveNoteBlockTail(t,l,r,n,a)}}}else if("p"===e.localName)for(;n()&&e.lastChild&&this.moveNoteTailNode(e,o,r,n,a);)i=!0;else i=this.moveNoteBlockTail(e,o,r,n,a);return i?e.hasChildNodes()||(e.id&&(o.id=e.id),e.remove()):o.remove(),i}moveNoteBlockTail(e,t,r,n,a){let s=!1;for(;n()&&e.lastChild;){const o=e.lastChild;if(e.childNodes.length>1&&this.hasNoteContentOutside(a,o))t.prepend(o),s=!0;else{if(1!==o.nodeType||!this.splitNoteBlock(o,t,r,n,a))break;s=!0}}return s}moveNoteTailNode(e,t,r,n,a){const s=e.lastChild;if(!s)return!1;if(s.nodeType===Node.TEXT_NODE){const e=this.hasNoteContentOutside(a,s)?0:this.firstNoteTextBoundary(s.textContent);return this.moveTextTail(s,t,r,n,!0,e)}if(1===s.nodeType){const e=s;if(e.hasChildNodes()&&!this.isNoteAtomicElement(e)&&!e.dataset.docxFloat&&!e.dataset.docxNoteReference){const s=this.cloneBlockShell(e);s.removeAttribute("name"),this.noteContinuationOrigins.set(s,e),t.prepend(s);const o=this.moveNoteTailNode(e,s,r,n,a);return e.hasChildNodes()||(e.id&&(s.id=e.id),e.hasAttribute("name")&&s.setAttribute("name",e.getAttribute("name")),e.remove()),s.hasChildNodes()||s.remove(),o}}return!(1===s.nodeType&&this.isNoteAtomicElement(s)&&!this.hasNoteContentOutside(a,s))&&(t.prepend(s),!0)}isNoteAtomicElement(e){return/^(img|svg|math|object|canvas|video|picture|br)$/i.test(e.localName)||e.hasAttribute("data-docx-field-instr")}isMutableNoteField(e){if(!e.hasAttribute("data-docx-field-instr"))return!1;const t=this.tokenizeFieldInstruction((e.dataset.docxFieldInstr??"").replace(/\s+/g," ").trim()),r=t[0]?.replace(/^=/,"").toUpperCase();return["PAGE","NUMPAGES","SECTIONPAGES","SECTION"].includes(r)||"PAGEREF"===r&&!!this.options.updatePageReferences}noteTextSignature(e,t){const r=e=>e.nodeType===Node.TEXT_NODE?e.textContent:1===e.nodeType&&this.isMutableNoteField(e)?`\0docx-field-${t.indexOf(e)}\0`:Array.from(e.childNodes).map(r).join("");return r(e)}assertDynamicNotesFit(e){const t=[],r=this.dynamicNoteState.get(e);if(r)for(const n of r.items){const a=r.fragments.get(n),s=r.fields.get(n),o=a.flatMap(e=>Array.from(e.querySelectorAll("[data-docx-field-instr]")));(a.map(e=>this.noteTextSignature(e,s)).join("")!==r.text.get(n)||o.length!==s.length||o.some((e,t)=>e!==s[t])||a.some((t,r)=>!e.contains(t)||t.dataset.docxNoteFragment!==`${r}`))&&t.push(`fragment conservation ${n.dataset.docxNoteKind}:${n.dataset.docxNoteId}`)}const n=this.options.paginationTolerance??2;for(const r of Array.from(e.querySelectorAll(`:scope > section.${this.className}`))){const e=Array.from(r.children).filter(e=>e.dataset.docxNoteList);if(!e.length||r.clientHeight<=0)continue;delete r.dataset.docxNoteLayoutError;const a=this.getPageBodyBottom(r),s=this.getPageNoteBottom(r),o=Array.from(r.querySelectorAll(":scope > article > *")).some(e=>e.getBoundingClientRect().bottom>a+n),i=e.some(e=>Array.from(e.querySelectorAll("*")).some(e=>e.getBoundingClientRect().bottom>s+n));(o||i)&&(r.dataset.docxNoteLayoutError="unresolved-overflow",t.push(e.flatMap(e=>Array.from(e.children,e=>`${e.dataset.docxNoteKind}:${e.dataset.docxNoteId}`)).join(",")))}if(t.length)throw e.dataset.docxNoteLayoutError="unresolved-overflow",new Error(`docx-preview: note layout requires continuation or unsupported geometry (${t.join("; ")}); all note content has been preserved`);delete e.dataset.docxNoteLayoutError}async refreshDynamicHeaderFooters(e){let t="",r=0,n=0;const a=this.tasks.length;for(const a of e){const e=a.dataset.docxSection??"",s=e!==t;if(s){const s=Number(a.dataset.docxPageStart);r=null!=a.dataset.docxPageStart&&Number.isFinite(s)?s:r+1,n=1,t=e}else r++,n++;const o=this.pageHeaderFooterState.get(a);if(o){this.currentPageNumber=r,this.currentSectionPageNumber=n,this.currentSectionNumber=Number(a.dataset.docxSectionNumber)||1;for(const e of["header","footer"]){const t="header"===e?o.headerProps:o.footerProps,n="header"===e?t.headerRefs:t.footerRefs,i="header"===e?"headerId":"footerId",l=this.selectHeaderFooterReference(n,t,r,s);if(o[i]!==l?.id&&(o[i]=l?.id,a.querySelector(`:scope > ${e}`)?.remove(),("header"===e?this.options.renderHeaders:this.options.renderFooters)&&(this.currentSectionProps=t,this.renderHeaderFooter(n,t,r,s,a),"header"===e))){const e=a.querySelector(":scope > header");e&&a.prepend(e)}}}}await Promise.allSettled(this.tasks.slice(a))}splitOverflowBlock(e,t,r){if(!r.isConnected&&t.isConnected&&r.parentElement&&t.after(r.parentElement),!e||"true"==e.dataset.docxKeepLines)return!1;const n=getComputedStyle(e);if("avoid"==n.breakInside||"avoid"==n.pageBreakInside)return!1;switch(e.tagName.toLowerCase()){case"p":return this.splitParagraphBlock(e,t,r);case"table":return this.splitTableBlock(e,t,r)}return!1}splitParagraphBlock(e,t,r){if(!e.hasChildNodes())return!1;const n=this.cloneBlockShell(e);n.dataset.docxContinued="true",r.prepend(n);let a=!1,s=0;for(;this.isPageOverflowing(t)&&e.hasChildNodes()&&s++<1e3;){if(!this.moveTailInlineNode(e,n,t))break;a=!0,this.removeEmptyInlineContainers(e)}return a?(e.hasChildNodes()?this.options.strictWordCompatibility&&"true"==e.dataset.docxWidowControl&&this.rebalanceWidowOrphan(e,n,t):e.remove(),!0):(n.remove(),!1)}splitTableBlock(e,t,r){const n=this.tableContentRows(e);if(n.length<=1)return!1;const a=this.cloneBlockShell(e);a.dataset.docxContinued="true";for(const t of Array.from(e.children))"colgroup"==t.tagName?.toLowerCase()&&a.appendChild(t.cloneNode(!0));for(const e of n.filter(e=>"true"==e.dataset.docxRepeatHeader)){const t=e.cloneNode(!0);t.dataset.docxRepeatedHeader="true",a.appendChild(t)}r.prepend(a);let s=!1,o=0;for(;this.isPageOverflowing(t)&&this.tableContentRows(e).length>1&&o++<500;){const t=this.tableContentRows(e).filter(e=>"true"!=e.dataset.docxRepeatedHeader),r=t[t.length-1];if(!r)break;a.insertBefore(r,this.firstMovedTableRow(a)),s=!0}return!!s||(a.remove(),!1)}cloneBlockShell(e){const t=e.cloneNode(!1);return t.removeAttribute("id"),t}tableContentRows(e){return Array.from(e.querySelectorAll(":scope > tr, :scope > tbody > tr"))}firstMovedTableRow(e){return this.tableContentRows(e).find(e=>"true"!=e.dataset.docxRepeatedHeader)??null}moveTailInlineNode(e,t,r){const n=e.lastChild;if(!n)return!1;if(n.nodeType==Node.TEXT_NODE)return this.moveTextTail(n,t,r);if(n instanceof Element){if(n.dataset?.docxNoteReference)return t.prepend(n),!0;if(n.childNodes.length>0&&"br"!=n.tagName?.toLowerCase()){const e=n.cloneNode(!1);e.removeAttribute("id"),t.prepend(e);const a=this.moveTailInlineNode(n,e,r);return n.hasChildNodes()||n.remove(),e.hasChildNodes()||e.remove(),a}}return t.prepend(n),!0}moveTextTail(e,t,r,n=()=>this.isPageOverflowing(r),a=!1,s=0){const o=e.data??"";if(!o||o.length<=s)return!1;const i=document.createTextNode("");if(t.prepend(i),1==o.length)return i.data=o,e.remove(),!0;let l=1,c=o.length-s,h=c;for(;l<=c;){const t=Math.floor((l+c)/2);e.data=o.substring(0,o.length-t),i.data=o.substring(o.length-t),n()?l=t+1:(h=t,c=t-1)}if(h=Math.min(o.length-s,this.adjustSplitToWordBoundary(o,h)),a){const e=o.length-h,t=globalThis.Intl?.Segmenter;let r=0;if(t)for(const n of new t(void 0,{granularity:"grapheme"}).segment(o)){if(n.index>e)break;r=n.index}else for(r=e,r>0&&/[\uDC00-\uDFFF]/.test(o[r])&&/[\uD800-\uDBFF]/.test(o[r-1])&&r--;r>0&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f\ufe00-\ufe0f\u200d]/.test(o[r]);)r--;h=o.length-Math.max(r,s)}return e.data=o.substring(0,o.length-h),i.data=o.substring(o.length-h),e.data||e.remove(),!0}adjustSplitToWordBoundary(e,t){if(t<=1||t>=e.length)return t;const r=e.length-t,n=e.lastIndexOf(" ",r);return n>0&&r-n<32?e.length-n-1:t}removeEmptyInlineContainers(e){for(const t of Array.from(e.childNodes))t instanceof HTMLElement&&(this.removeEmptyInlineContainers(t),t.hasChildNodes()||/^(br|img|svg|math)$/i.test(t.tagName)||t.remove())}cleanupEmptyNumberedParagraphs(e){const t=`p[class*="${this.className}-num-"]`;for(const r of Array.from(e.querySelectorAll(t))){if(this.hasVisiblePaginationContent(r))continue;if(!r.id&&!r.querySelector("[id], a[name]"))continue;const t=this.findNextVisiblePaginationBlock(e,r);t&&this.moveAnchorsToBlock(r,t),r.remove()}}removeEmptyDynamicPages(e){const t=Array.from(e.querySelectorAll(`:scope > section.${this.className}[data-docx-dynamic-page="true"]`));for(const e of t){const t=Array.from(e.querySelectorAll(":scope > article")),r=t.some(e=>Array.from(e.children).some(e=>this.hasVisiblePaginationContent(e))),n=Array.from(e.children).some(e=>e.dataset.docxNoteList&&e.children.length>0);t.length>0&&!r&&!n&&e.remove()}}findNextVisiblePaginationBlock(e,t){const r=Array.from(e.querySelectorAll("article p, article table, article figure, article img, article svg, article math"));for(let e=r.indexOf(t)+1;e<r.length;e++){const t=r[e];if(this.hasVisiblePaginationContent(t))return t}return null}hasVisiblePaginationContent(e){return(e.textContent??"").replace(/\s+/g,"").length>0||!!e.querySelector("br,img,svg,math,object,canvas,video,table")}moveAnchorsToBlock(e,t){const r=Array.from(e.querySelectorAll("[id], a[name]"));e.id&&!t.id&&(t.id=e.id);for(let e=r.length-1;e>=0;e--){const n=r[e];n.id&&t.querySelector(`#${CSS.escape(n.id)}`)||t.prepend(n)}}rebalanceWidowOrphan(e,t,r){const n=this.visualLineCount(e),a=this.visualLineCount(t);if(n>=2&&a>=2)return;if(n<2&&e.parentElement&&t.hasChildNodes())return t.prepend(...Array.from(e.childNodes)),void e.remove();let s=0;for(;this.visualLineCount(t)<2&&e.hasChildNodes()&&s++<20&&!this.isPageOverflowing(r)&&this.moveTailInlineNode(e,t,r););}visualLineCount(e){try{const t=document.createRange();t.selectNodeContents(e);const r=Array.from(t.getClientRects());t.detach?.();const n=new Set(r.map(e=>Math.round(e.top)));return Math.max(n.size,1)}catch{return 1}}updateDynamicFieldPages(e){const t=Array.from(e.querySelectorAll(":scope > section."+this.className)),r={},n={},a={},s=[],o=[];let i=0,l="";for(const e of t){const t=e.dataset.docxSection??"";n[t]=(n[t]??0)+1}if(t.forEach((e,t)=>{const c=e.dataset.docxSection??"";if(c!=l){const t=null!=e.dataset.docxPageStart?parseInt(e.dataset.docxPageStart,10):null;i=Number.isFinite(t)?t:i+1,a[c]=1,l=c}else i++,a[c]=(a[c]??0)+1;e.dataset.docxPageNumber=`${i}`,e.dataset.docxSectionPageNumber=`${a[c]}`,e.dataset.docxSectionPageCount=`${n[c]??1}`,s[t]=i,o[t]=a[c];for(const t of Array.from(e.querySelectorAll("[id]")))t.id&&null==r[t.id]&&(r[t.id]=i)}),t.forEach((e,a)=>{const i=e.dataset.docxSection??"";for(const l of Array.from(e.querySelectorAll("[data-docx-field-instr]"))){const c=this.evaluateDynamicField(l.dataset.docxFieldInstr,s[a]??a+1,t.length,r,n[i]??1,o[a]??1,parseInt(e.dataset.docxSectionNumber??"1",10));null!=c&&(l.textContent=c)}}),this.options.updatePageReferences)for(const t of Array.from(e.querySelectorAll("[data-docx-page-ref]"))){const e=t.dataset.docxPageRef;t.textContent=`${r[e]??1}`}this.updateDynamicNoteNumbers(e)}evaluateDynamicField(e,t,r,n,a=r,s=t,o=1){const i=this.tokenizeFieldInstruction((e??"").replace(/\s+/g," ").trim()),l=i[0]?.replace(/^=/,"").toUpperCase();let c=null;switch(l){case"PAGE":c=this.formatFieldNumber(t,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"NUMPAGES":c=this.formatFieldNumber(r,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"SECTIONPAGES":c=this.formatFieldNumber(a,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"SECTION":c=this.formatFieldNumber(o,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??"decimal"));break;case"PAGEREF":{if(!this.options.updatePageReferences)return null;const e=this.firstFieldArgument(i);c=e?`${n[e]??1}`:"";break}}return null==c?null:this.applyFieldFormatting(c,e)}renderDefaultStyle(){var e=this.className;const t=!!this.options.darkMode,r=t?"#242424":"gray",n=t?Bs("white"):"white",a=t?Bs("black"):"black";var s=`\n.${e}-wrapper { position: relative; background: ${r}; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; }\n.${e}-wrapper>section.${e} { background: ${n}; box-shadow: ${t?"0 0 10px rgba(0, 0, 0, 0.8)":"0 0 10px rgba(0, 0, 0, 0.5)"}; margin-bottom: 30px;${t?" outline: 1px solid rgba(255, 255, 255, 0.15); outline-offset: -1px;":""} }`;this.options.hideWrapperOnPrint&&(s=`@media not print { ${s} }`);var o=`${s}\n.${e} { --docx-auto-color: ${a}; color: var(--docx-auto-color); font-size: 10.5pt; font-family: var(--docx-minorHAnsi-font, "Times New Roman", serif); hyphens: auto; text-underline-position: from-font; font-kerning: normal; font-variant-ligatures: common-ligatures contextual; text-rendering: optimizeLegibility; line-break: auto; }\nsection.${e} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: visible; isolation: isolate; }\nsection.${e}>header, section.${e}>footer { flex-shrink: 0; }\nsection.${e}>[data-docx-note-list] { flex-shrink: 0; }\nsection.${e}>article { z-index: 1; }\nsection.${e}>article:last-of-type { margin-bottom: auto; }\nsection.${e}>footer { z-index: 1; }\n.${e} [data-docx-continued="true"] { margin-top: 0 !important; }\n.${e} tr[data-docx-repeat-header="true"], .${e} tr[data-docx-repeated-header="true"] { break-after: avoid; }\n.${e} li[data-docx-note-label]::marker { content: attr(data-docx-note-label) " "; }\n.${e} li[data-docx-note-custom="true"]::marker, .${e} li[data-docx-note-label=""]::marker,\n.${e} li[data-docx-note-fragment]:not([data-docx-note-fragment="0"])::marker { content: ""; }\n.${e} table { border-collapse: collapse; }\n.${e} table td, .${e} table th { vertical-align: top; overflow-wrap: anywhere; }\n.${e} p { margin: 0pt; min-height: 1em; }\n.${e} .${e}-paragraph-frame > p { margin: 0; }\n.${e} span { white-space: pre-wrap; overflow-wrap: break-word; font-feature-settings: "kern" 1; }\n.${e} table span { overflow-wrap: anywhere; }\n.${e} .${e}-float-wrap { shape-margin: 0.15in; }\n.${e} .${e}-field { white-space: pre-wrap; }\n.${e} .${e}-tab-stop { display: inline-block; min-width: 1em; white-space: nowrap; line-height: 1; }\n.${e} .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-stop[data-docx-tab-leader="middleDot"] { min-width: 2em; border-bottom: 1px dotted currentColor; height: .85em; transform: translateY(-.18em); }\n.${e} .${e}-tab-stop[data-docx-tab-leader="hyphen"], .${e} .${e}-tab-stop[data-docx-tab-leader="heavy"], .${e} .${e}-tab-stop[data-docx-tab-leader="underscore"] { min-width: 2em; border-bottom: 1px solid currentColor; height: .85em; transform: translateY(-.18em); }\n.${e} .${e}-tab-leader-paragraph > a, .${e} .${e}-tab-leader-paragraph > .${e}-tab-leader-line, .${e} .${e}-tab-leader-line { display: inline-flex; align-items: baseline; width: calc(100% - var(--docx-text-indent, 0pt)); color: inherit !important; text-decoration: none !important; box-sizing: border-box; max-width: none; text-indent: 0; }\n.${e} .${e}-tab-leader-paragraph > a, .${e} .${e}-tab-leader-paragraph > a * { color: inherit !important; text-decoration: none !important; }\n.${e} .${e}-toc-paragraph a, .${e} .${e}-toc-paragraph a * { color: inherit !important; text-decoration: none !important; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"] { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: .35em; align-items: baseline; list-style-position: outside; list-style-type: none; text-indent: 0 !important; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"]::before { grid-column: 1; grid-row: 1; white-space: pre; margin-inline-end: 0; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"] > a { grid-column: 2; grid-row: 1; display: inline-flex; flex: 1 1 auto; width: auto; min-width: 0; max-width: 100%; }\n.${e} .${e}-tab-leader-title { flex: 0 1 auto; min-width: 0; }\n.${e} .${e}-tab-leader-page { flex: 0 0 auto; white-space: nowrap; text-align: right; }\n.${e} .${e}-tab-leader-fill, .${e} .${e}-tab-leader-paragraph > a > .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-leader-paragraph > a > .${e}-tab-stop[data-docx-tab-leader="middleDot"], .${e} .${e}-tab-leader-paragraph > .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-leader-paragraph > .${e}-tab-stop[data-docx-tab-leader="middleDot"] { flex: 1 1 auto; width: auto; margin: 0 .2em; }\n.${e} .${e}-literal-leader-line > .${e}-tab-leader-title { flex: 0 0 auto; white-space: nowrap; }\n.${e} .${e}-toc { display: table; width: 100%; }\n.${e} .${e}-toc-entry { display: table-row; }\n.${e} .${e}-toc-title, .${e} .${e}-toc-page { display: table-cell; }\n.${e} .${e}-toc-title { border-bottom: 1px dotted currentColor; }\n.${e} .${e}-toc-page { text-align: right; width: 3em; }\n.${e} math { font-family: Cambria Math, STIX Two Math, Latin Modern Math, serif; }\n.${e} ruby { ruby-position: over; }\n.${e} rt { font-size: 0.5em; line-height: 1; }\n.${e} .${e}-chart, .${e} .${e}-smartart, .${e} .${e}-ink { min-width: 2in; min-height: 1in; }\n.${e} a { color: inherit; text-decoration: inherit; }\n.${e} svg { fill: transparent; }\n[data-docx-review-enabled="true"] { --docx-review-color: #c2410c; }\n[data-docx-review-enabled="true"] ins[data-docx-change-kind], [data-docx-review-enabled="true"] del[data-docx-change-kind] { text-decoration: none; }\n[data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="delete"], [data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="move-from"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-change-kind="delete"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-change-kind="move-from"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="insert"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="move-to"] { display: none !important; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] ins[data-docx-change-kind]:not([data-docx-change-empty="true"]) { color: var(--docx-review-color); text-decoration: underline; text-decoration-color: var(--docx-review-color); text-underline-offset: .16em; background: color-mix(in srgb, var(--docx-review-color) 7%, transparent); }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] ins[data-docx-change-empty="true"] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] del[data-docx-change-kind] { display: inline-block !important; width: 0 !important; max-width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; line-height: 0 !important; vertical-align: baseline; color: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"][data-docx-review-presentation="inline"] del[data-docx-change-kind] { display: inline !important; width: auto !important; max-width: none !important; height: auto !important; overflow: visible !important; line-height: inherit !important; color: var(--docx-review-color); text-decoration: line-through; text-decoration-color: var(--docx-review-color); }\n[data-docx-review-enabled="true"][data-docx-review-mode="simple"] ins[data-docx-change-kind] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="original"] del[data-docx-change-kind] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] [data-docx-format-change="true"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-format-change="true"] { outline: 0; }\n[data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="comment"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="comment"] { display: none !important; }\n@media print { .${e}-wrapper { background: transparent; padding: 0; display: block; } .${e}-wrapper>section.${e}, section.${e} { background: white; margin: 0 auto; box-shadow: none; outline: none; break-after: page; page-break-after: always; } .${e} { --docx-auto-color: black; color: black; } }\n`;return this.options.renderComments&&(o+=`\n.${e}-comment-ref { cursor: pointer; }\n.${e}-comment-ref[data-docx-comment-positioned="true"]:not(:focus) { opacity: 0; }\n.${e}-comment-ref:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n.${e}-comment-anchor { display: inline-block; width: 0; height: 0; overflow: visible; vertical-align: baseline; }\n.${e}-comment-layer { position: absolute; inset: 0; pointer-events: none; z-index: 1000; }\n.${e}-comment-popover { display: block; width: max-content; pointer-events: auto; margin: 0; padding: 0; }\n.${e}-comment-popover > summary { list-style: none; cursor: pointer; display: block; padding: 0; margin: 0; }\n.${e}-comment-popover > summary::-webkit-details-marker { display: none; }\n.${e}-comment-popover > summary:focus-visible { outline: 2px solid currentColor; }\n.${e}-comment-body { position: absolute; top: 100%; width: 30ch; box-sizing: border-box; overflow: auto; padding: .5rem; background: ${n}; color: var(--docx-auto-color); box-shadow: 0 0 .25rem rgba(0,0,0,.25); }\n.${e}-comment-author,.${e}-comment-date { font-size: .875rem; color: ${t?Bs("#888888"):"#888"}; }\n@media print { .${e}-comment-layer, .${e}-comment-popover, .${e}-comment-body { position: static !important; width: auto !important; max-width: none !important; max-height: none !important; overflow: visible; } .${e}-comment-layer { pointer-events: auto; } .${e}-comment-body { box-shadow: none; } }\n\n`),[this.h({tagName:"#comment",children:["docxjs library predefined styles"]}),this.h({tagName:"style",children:[o]})]}async renderNumbering(e){var t="",r=[];const n=new Map,a=new Map(e.map(e=>[`${e.id}:${e.level}`,this.numFormatToCssValue(e.format)])),s=(e,t)=>{const r=n.get(e)??[];r.push(t),n.set(e,r)};for(var o of e){var i=this.numberingSelector(o.id,o.level),l="none";if(o.bullet){let e=`--${this.className}-${o.bullet.src}`.toLowerCase();t+=this.styleToString(`${i}:before`,{content:"' '",display:"inline-block",background:`var(${e})`},o.bullet.style);try{const r=await this.document.loadNumberingImage(o.bullet.src);t+=`${this.rootSelector} { ${e}: url(${r}) }`}catch(e){this.options.debug&&console.warn(`Can't load numbering image with src ${o.bullet.src}`)}}else if(o.levelText){let e=this.numberingCounter(o.id,o.level);const n=e+" "+(o.start-1),l=this.numberingRestartLevel(o);null!=l&&s(this.numberingSelector(o.id,l),n),r.push(n);const c=this.normalizeNumberingLevelText(o.levelText,o.format,o.rStyle),h=this.numberingMarkerRunStyle(o.rStyle,c.normalized);t+=this.styleToString(`${i}:before`,{content:this.levelTextToContent(c.text,o.suff,o.id,this.numFormatToCssValue(o.format),a),"counter-increment":e,"font-family":"var(--docx-marker-font-family, inherit)","font-size":"var(--docx-marker-font-size, inherit)","font-style":"var(--docx-marker-font-style, inherit)","font-weight":"var(--docx-marker-font-weight, inherit)",...h})}else l=this.numFormatToCssValue(o.format);t+=this.styleToString(i,{display:"list-item","list-style-position":"inside","list-style-type":l,...o.pStyle})}for(const[e,r]of n)t+=this.styleToString(e,{"counter-set":r.join(" ")});return r.length>0&&(t+=this.styleToString(this.rootSelector,{"counter-reset":r.join(" ")})),[this.h({tagName:"#comment",children:["docxjs document numbering styles"]}),this.h({tagName:"style",children:[t]})]}renderStyles(e){var t="";const r=this.styleMap,n=y(e.filter(e=>e.isDefault),e=>e.target);for(const i of e){var a=i.styles;if(i.linked){var s=i.linked&&r[i.linked];s?a=a.concat(s.styles):this.options.debug&&console.warn(`Can't find linked style ${i.linked}`)}for(const e of a){var o=`${i.target??""}.${i.cssName}${e.mod??""}`;i.target!=e.target&&(o+=` ${e.target}`),o=this.scopeDocumentStyleSelector(o),n[i.target]==i&&(o=`.${this.className} ${i.target}, `+o),t+=this.styleToString(o,e.values)}}return[this.h({tagName:"#comment",children:["docxjs document styles"]}),this.h({tagName:"style",children:[t]})]}renderNotes(e,t,r,n="footnote"){const a=Array.from(new Set(e)).filter(e=>t[e]&&!["separator","continuationSeparator","continuationNotice"].includes(t[e].noteType)&&!this.renderedNoteIds.has(`${n}:${e}`));if(0===a.length)return null;const s=this.currentPart;this.currentPart=r??s;try{const e=a.map(e=>{const r=this.renderElement(t[e]);return r.dataset.docxNoteId=e,r.dataset.docxNoteKind=n,r.dataset.docxNoteFragment="0",this.applyNoteAssignment(r,this.noteNumbering.assignments.get(`${n}:${e}`),!1),this.renderedNoteIds.add(`${n}:${e}`),r}),r=this.h({tagName:"ol",children:e});return r.dataset.docxNoteList=n,r}finally{this.currentPart=s}}formatNoteAssignment(e){return function(e){if(!e||e.custom||"none"===e.properties.format)return"";const t=e.value,r=e.properties.format;switch(r){case"chicago":{const e=["*","†","‡","§"];return t>0&&t<=384?e[(t-1)%e.length].repeat(Math.floor((t-1)/e.length)+1):`${t}`}case"upperLetter":case"lowerLetter":{if(t<=0||t>3328)return`${t}`;const e="upperLetter"===r?65:97;return String.fromCharCode(e+(t-1)%26).repeat(Math.floor((t-1)/26)+1)}case"upperRoman":case"lowerRoman":{if(t<=0||t>3999)return`${t}`;const e=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];let n=t,a="";for(const[t,r]of e)for(;n>=t;)a+=r,n-=t;return"lowerRoman"===r?a.toLowerCase():a}case"decimalZero":return t<10?`0${t}`:`${t}`;case"numberInDash":return`-${t}-`;case"hex":return t.toString(16).toUpperCase();case"ordinal":return`${t}${t%100>=11&&t%100<=13?"th":{1:"st",2:"nd",3:"rd"}[t%10]??"th"}`;default:return`${t}`}}(e)}applyNoteAssignment(e,t,r){if(!t)return;const n=this.formatNoteAssignment(t);e.dataset.docxNoteLabel=n,e.dataset.docxNoteCustom=`${t.custom}`,r?e.childNodes?.length?e.textContent=n:e.appendChild(this.h(n)):(null!=t.value&&e.setAttribute("value",`${t.value}`),e.style.listStyleType=t.custom?"none":this.numFormatToCssValue(t.properties.format))}renderElement(e){switch(e.type){case We.Paragraph:return this.renderParagraph(e);case We.BookmarkStart:return this.renderBookmarkStart(e);case We.BookmarkEnd:return null;case We.Run:return this.renderRun(e);case We.Table:return this.renderTable(e);case We.Row:return this.renderTableRow(e);case We.Cell:return this.renderTableCell(e);case We.Hyperlink:return this.renderHyperlink(e);case We.SmartTag:return this.renderSmartTag(e);case We.Drawing:return this.renderAnchoredElement(e,this.renderDrawing(e));case We.Image:return this.renderImage(e);case We.Shape:return this.renderShape(e);case We.Chart:return this.renderChart(e);case We.SmartArt:return this.renderSmartArt(e);case We.Ink:return this.renderInk(e);case We.SimpleField:return this.renderSimpleField(e);case We.Instruction:case We.ComplexField:return null;case We.Text:return this.renderText(e);case We.DeletedText:return this.renderDeletedText(e);case We.Tab:return this.renderTab(e);case We.Symbol:return this.renderSymbol(e);case We.Break:return this.renderBreak(e);case We.Footer:return this.renderContainer(e,"footer");case We.Header:return this.renderContainer(e,"header");case We.Footnote:case We.Endnote:return this.renderContainer(e,"li");case We.FootnoteReference:return this.renderFootnoteReference(e);case We.EndnoteReference:return this.renderEndnoteReference(e);case We.NoBreakHyphen:return this.h("‑");case We.SoftHyphen:return this.h("­");case We.PositionalTab:return this.renderTab(e);case We.Ruby:return this.renderRuby(e);case We.RubyBase:return this.renderContainer(e,"span");case We.RubyText:return this.toHTML(e,Hs.html,"rt");case We.VmlPicture:return this.renderVmlPicture(e);case We.VmlElement:return this.renderAnchoredElement(e,this.renderVmlElement(e));case We.MmlMath:return this.renderContainerNS(e,Hs.mathML,"math",{xmlns:Hs.mathML});case We.MmlMathParagraph:return this.renderMmlMathParagraph(e);case We.MmlFraction:return this.renderContainerNS(e,Hs.mathML,"mfrac");case We.MmlBase:return this.renderContainerNS(e,Hs.mathML,e.parent?.type==We.MmlMatrixRow?"mtd":"mrow");case We.MmlNumerator:case We.MmlDenominator:case We.MmlFunction:case We.MmlLimit:case We.MmlBox:return this.renderContainerNS(e,Hs.mathML,"mrow");case We.MmlGroupChar:return this.renderMmlGroupChar(e);case We.MmlLimitLower:return this.renderContainerNS(e,Hs.mathML,"munder");case We.MmlLimitUpper:return this.renderContainerNS(e,Hs.mathML,"mover");case We.MmlSubSuperscript:return this.renderContainerNS(e,Hs.mathML,"msubsup");case We.MmlPhantom:return this.renderMmlPhantom(e);case We.MmlBorderBox:return this.renderContainerNS(e,Hs.mathML,"menclose");case We.MmlAccent:return this.renderMmlAccent(e);case We.MmlMatrix:return this.renderContainerNS(e,Hs.mathML,"mtable");case We.MmlMatrixRow:return this.renderContainerNS(e,Hs.mathML,"mtr");case We.MmlRadical:return this.renderMmlRadical(e);case We.MmlSuperscript:return this.renderContainerNS(e,Hs.mathML,"msup");case We.MmlSubscript:return this.renderContainerNS(e,Hs.mathML,"msub");case We.MmlDegree:case We.MmlSuperArgument:case We.MmlSubArgument:return this.renderContainerNS(e,Hs.mathML,"mrow");case We.MmlFunctionName:return this.renderContainerNS(e,Hs.mathML,"mi");case We.MmlDelimiter:return this.renderMmlDelimiter(e);case We.MmlRun:return this.renderMmlRun(e);case We.MmlNary:return this.renderMmlNary(e);case We.MmlPreSubSuper:return this.renderMmlPreSubSuper(e);case We.MmlBar:return this.renderMmlBar(e);case We.MmlEquationArray:return this.renderMllList(e);case We.Inserted:return this.renderInserted(e);case We.Deleted:return this.renderDeleted(e);case We.CommentRangeStart:return this.renderCommentRangeStart(e);case We.CommentRangeEnd:return this.renderCommentRangeEnd(e);case We.CommentReference:return this.renderCommentReference(e);case We.AltChunk:return this.renderAltChunk(e)}return null}renderElements(e,t){if(null==e)return null;e=this.reviewParagraphs(e);const r=[];for(let t=0;t<e.length;t++){const n=e[t].type==We.Paragraph?e[t]:null;if(this.isPositionedParagraphFrame(n)){const a=this.paragraphFrameKey(n),s=[n];for(;t+1<e.length;){const r=e[t+1].type==We.Paragraph?e[t+1]:null;if(!this.isPositionedParagraphFrame(r)||this.paragraphFrameKey(r)!=a)break;s.push(r),t++}const o=s.flatMap(e=>S(this.renderElement(e)).filter(e=>null!=e)),i=this.h({tagName:"div",className:`${this.className}-paragraph-frame`,style:this.paragraphFrameStyle(n),children:o});i.dataset.docxFrameAnchor=`${n.frame.horizontalAnchor??"text"}/${n.frame.verticalAnchor??"text"}`,i.dataset.docxFrameParagraphs=`${s.length}`,r.push(i);continue}const a=this.tryRenderComplexField(e,t);a?(r.push(...S(a.node).filter(e=>null!=e)),t=a.nextIndex-1):r.push(...S(this.renderElement(e[t])).filter(e=>null!=e))}return t&&r.forEach(e=>t.appendChild(v(e)?document.createTextNode(e):e)),r}reviewParagraphs(e){const t=Us(this.options);if("all"==t)return e;const r=[];for(const n of e??[]){const e=r[r.length-1],a=n,s="original"==t?(e?.props?.paragraphMarkRevisions??[]).some(e=>"insert"==e.kind):e?.props?.deletedParagraphMark;e?.type==We.Paragraph&&n.type==We.Paragraph&&s&&!e.sectionProps&&this.paragraphFrameKey(e)==this.paragraphFrameKey(a)?r[r.length-1]={...a,children:[...e.children??[],...a.children??[]]}:r.push(n)}return r}isPositionedParagraphFrame(e){const t=e?.frame;return!!t&&"drop"!=t.dropCap&&!!(t.width||t.height||t.horizontalPosition||t.verticalPosition||t.horizontalAlignment||t.verticalAlignment)}paragraphFrameKey(e){const t=e.frame??{};return JSON.stringify([t.width,t.height,t.horizontalPosition,t.verticalPosition,t.horizontalAnchor,t.verticalAnchor,t.horizontalAlignment,t.verticalAlignment,t.horizontalSpace,t.verticalSpace,t.heightRule,t.wrap])}paragraphFrameStyle(e){const t=e.frame,r={position:"absolute",boxSizing:"border-box",zIndex:"2"},n="page"==t.horizontalAnchor,a="page"==t.verticalAnchor;return t.width&&(r.width=t.width),t.height&&("exact"==t.heightRule?(r.height=t.height,r.overflow="hidden"):r.minHeight=t.height),t.horizontalPosition?r.left=n?`calc(${t.horizontalPosition} - var(--docx-page-padding-left, 0pt))`:t.horizontalPosition:"center"==t.horizontalAlignment?(r.left="50%",r.transform="translateX(-50%)"):"right"==t.horizontalAlignment||"outside"==t.horizontalAlignment?r.right="0":"left"!=t.horizontalAlignment&&"inside"!=t.horizontalAlignment||(r.left="0"),t.verticalPosition?r.top=a?`calc(${t.verticalPosition} - var(--docx-page-padding-top, 0pt))`:t.verticalPosition:"center"==t.verticalAlignment?(r.top="50%",r.transform=`${r.transform??""} translateY(-50%)`.trim()):"bottom"==t.verticalAlignment||"outside"==t.verticalAlignment?r.bottom="0":"top"!=t.verticalAlignment&&"inside"!=t.verticalAlignment||(r.top="0"),r}tryRenderComplexField(e,t){if(!this.hasFieldChar(e[t],"begin"))return null;let r=0,n=!1,a="";const s=[];for(let o=t;o<e.length;o++){const t=e[o],i=t.type==We.Run?{...t,fieldRun:!1,children:[]}:null;if(t.type==We.Run){for(const e of t.children??[]){if(e.type==We.ComplexField){const t=e;if("begin"==t.charType)r++;else if("separate"==t.charType&&1==r)n=!0;else if("end"==t.charType&&(r--,0==r))return i.children.length>0&&s.push(i),{node:this.renderSimpleField({type:We.SimpleField,instruction:a,lock:!1,dirty:!1,children:s}),nextIndex:o+1};continue}n||1!=r||e.type!=We.Instruction?n&&r>0&&i.children.push(e):a+=e.text??""}i.children.length>0&&s.push(i)}else n&&r>0&&s.push(t)}return null}hasFieldChar(e,t){return e.type==We.Run&&e.children?.some(e=>e.type==We.ComplexField&&e.charType==t)}renderContainer(e,t){return this.h({tagName:t,children:this.renderElements(e.children)})}renderContainerNS(e,t,r,n){return this.h({ns:t,tagName:r,children:this.renderElements(e.children),...n})}effectiveParagraphTabs(e,t){if(!e?.length)return t;if(!t?.length)return e;const r=[...t];for(const t of e){const e=this.parseCssLengthValue(t.position),n=r.findIndex(t=>this.parseCssLengthValue(t.position)==e);n>=0?r[n]=t:r.push(t)}return r.sort((e,t)=>(this.parseCssLengthValue(e.position)??0)-(this.parseCssLengthValue(t.position)??0))}countParagraphTabs(e){let t=0;const r=e=>{e.type!=We.Tab&&e.type!=We.PositionalTab||t++;for(const t of e.children??[])r(t)};return r(e),t}isLeaderTabStop(e){return!!e?.leader&&"none"!=e.leader&&"clear"!=e.style}resolveRenderedTabStop(e,t,r){if(!e?.length)return null;const n=e[Math.min(t,Math.max(e.length-1,0))],a=[...e].reverse().find(e=>this.isLeaderTabStop(e)),s=this.findStyle(this.currentParagraph?.styleName),o=this.isTocParagraphStyle(this.currentParagraph?.styleName,s),i=!!a&&!!(this.currentParagraph?.numbering??s?.paragraphProps?.numbering)&&o;return a?r<=1?o||i?a:n:t>=r-1?a:this.isLeaderTabStop(n)?e.slice(0,Math.min(t+1,e.length)).reverse().find(e=>!this.isLeaderTabStop(e)&&"clear"!=e.style)??e.find(e=>!this.isLeaderTabStop(e)&&"clear"!=e.style)??null:n:n}renderParagraph(e){const t=this.findStyle(e.styleName);e.tabs=this.effectiveParagraphTabs(e.tabs,t?.paragraphProps?.tabs);const r=this.currentParagraph,n=this.currentParagraphTabIndex,a=this.currentParagraphTabCount;this.currentParagraph=e,this.currentParagraphTabIndex=0,this.currentParagraphTabCount=this.countParagraphTabs(e);let s=this.renderElements(e.children);const o=this.uniformParagraphTextScale(e,t);if(null!=o&&1!=o){const r=this.effectiveParagraphCssValue(e,t,"text-indent")??"0pt",n="rtl"==this.effectiveParagraphCssValue(e,t,"direction"),a=this.h({tagName:"span",className:`${this.className}-text-scale`,style:{display:"block",font:"inherit",background:"none",border:"none",width:100/o+"%",transform:`scaleX(${o})`,transformOrigin:n?"right top":"left top",textIndent:`calc(${r} / ${o})`},children:s});a.dataset.docxTextScale=`${o}`,s=[a]}var i=this.toHTML(e,Hs.html,"p",this.wrapTabLeaderChildren(s,!0));if(this.options.exposeDisplayTargets&&e.displayAddress){const t=this.currentPart??this.document.documentPart;i.setAttribute("data-office-target",`${t.path}#${e.displayAddress}`)}const l=this.effectiveParagraphCssValue(e,t,"--docx-snap-to-grid");/^(0|false|off)$/i.test(l??"")&&(i.style.letterSpacing="normal"),this.currentParagraph=r,this.currentParagraphTabIndex=n,this.currentParagraphTabCount=a;const c=e.numbering??t?.paragraphProps?.numbering;c&&i.classList.add(this.numberingClass(c.id,c.level));const h=t?.paragraphProps;(e.pageBreakBefore??h?.pageBreakBefore)&&(i.style.breakBefore="page",i.dataset.docxPageBreakBefore="true"),(e.keepLines??h?.keepLines)&&(i.style.breakInside="avoid",i.dataset.docxKeepLines="true"),(e.keepNext??h?.keepNext)&&(i.style.breakAfter="avoid",i.dataset.docxKeepNext="true"),(e.widowControl??h?.widowControl)&&(i.style.orphans="2",i.style.widows="2",i.dataset.docxWidowControl="true"),this.applyDocumentGridLinePitch(e,t,i);const d=e.tabs?.find(e=>this.isLeaderTabStop(e));return d&&(i.classList.add(`${this.className}-tab-leader-paragraph`),i.dataset.docxHasTabLeader="true",i.dataset.docxTabLeader=d.leader,i.dataset.docxTabAlign=d.style),this.isTocParagraphStyle(e.styleName,t)&&(i.classList.add(`${this.className}-toc-paragraph`),i.dataset.docxTocEntry="true"),this.hasParagraphRelativeAnchor(e)&&(i.style.position&&"static"!=i.style.position||(i.style.position="relative"),i.dataset.docxAnchorContext="paragraph"),e.props?.anchorId&&(i.id=e.props.anchorId,i.setAttribute("id",e.props.anchorId)),i}uniformParagraphTextScale(e,t){if(e.numbering||t?.paragraphProps?.numbering||e.frame||this.effectiveParagraphCssValue(e,t,"writing-mode"))return null;const r="--docx-text-scale",n=e.cssStyle?.[r]??this.styleValue(t,"span",r)??this.styleValue(t,"p",r)??"1";let a=null;const s=(e,t)=>{const n=e.cssStyle?.[r]??this.styleValue(this.findStyle(e.styleName),"span",r)??t;switch(e.type){case We.Text:case We.DeletedText:if(!e.text)return!0;const t=Number(n);return!(!Number.isFinite(t)||t<=0||t>6)&&((null==a||a==t)&&(a=t,!0));case We.Run:case We.Hyperlink:case We.SmartTag:case We.Inserted:case We.Deleted:return(e.children??[]).every(e=>s(e,n));case We.BookmarkStart:case We.BookmarkEnd:case We.CommentRangeStart:case We.CommentRangeEnd:case We.NoBreakHyphen:case We.SoftHyphen:return!0;case We.Break:return["line","textWrapping"].includes(e.break);default:return!1}};return(e.children??[]).every(e=>s(e,n))?a:null}hasParagraphRelativeAnchor(e){return(e.children??[]).some(e=>(e.type==We.Drawing||e.type==We.VmlElement)&&"absolute"==e.cssStyle?.position||this.hasParagraphRelativeAnchor(e))}renderAnchoredElement(e,t){if(t.dataset.docxDrawing="true","absolute"!=e.cssStyle?.position||!e.props?.anchorPosition)return t;const r=e.props.anchorPosition,n={...r,horizontal:{...r.horizontal,offset:r.horizontal.offset??(t.style.left||"0pt")},vertical:{...r.vertical,offset:r.vertical.offset??(t.style.top||"0pt")}},a=`${this.anchorLayouts.size}`;this.anchorLayouts.set(a,n),t.dataset.docxAnchorId=a,t.dataset.docxLayoutInCell=`${!1!==r.layoutInCell}`;const s=e=>/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(e)?`${e}pt`:e;t.style.left=`calc(${s(n.horizontal.offset)} + var(--docx-anchor-origin-x, 0px))`,t.style.top=`calc(${s(n.vertical.offset)} + var(--docx-anchor-origin-y, 0px))`;const o=["top","bottom"].map(e=>{const t=this.h({tagName:"span",style:{display:"inline-block",width:"0px",height:"0px",padding:"0px",border:"0px",verticalAlign:e}});return t.dataset.docxAnchorLine=e,t}),i=this.h({tagName:"span",children:o});i.dataset.docxAnchorMarker="true",i.setAttribute("aria-hidden","true");const l=this.h({tagName:"span",children:[i,t]});return l.dataset.docxDrawing="true",l}refreshAnchors(e){!function(e,t,r=()=>!0){const n=e.ownerDocument?.defaultView;if(!n||"function"!=typeof e.querySelectorAll)return;const a=Array.from(e.querySelectorAll("section"));e.matches?.("section")&&a.unshift(e);for(const e of a){if(!e.classList.contains(t)||!r(e))continue;const a=n.getComputedStyle(e),s=fs(a.width)+("border-box"===a.boxSizing?0:fs(a.paddingLeft)+fs(a.paddingRight)+fs(a.borderLeftWidth)+fs(a.borderRightWidth)),o=e.getBoundingClientRect(),i=s>0?o.width/s:0;if(Number.isFinite(i)&&!(i<=0)){for(const t of Array.from(e.querySelectorAll('[data-docx-anchor-context="paragraph"]'))){if(!r(t))continue;const e=t.getBoundingClientRect();t.style.setProperty("--docx-paragraph-page-offset-top",(e.top-o.top)/i+"px"),t.style.setProperty("--docx-paragraph-page-offset-left",(e.left-o.left)/i+"px")}gs(e,r),vs(e,r),Cs(e,i,r),Ps(e,r)}}}(e,this.className,e=>this.ownsLayoutElement(e));for(const t of Array.from(e.querySelectorAll("[data-docx-anchor-id]"))){if(!this.ownsLayoutElement(t))continue;const e=this.anchorLayouts.get(t.dataset.docxAnchorId);e&&ms(t,e,this.className)}}ownsLayoutElement(e){for(let t=e;t;t=t.parentElement){const e=uo.get(t);if(e)return e==this}return!0}async prepareLayout(e,t=s(e)){if(e.isConnected&&t.isCurrent()&&(this.layoutGenerations.has(t.signal)||(this.layoutGenerations.set(t.signal,t),t.signal.addEventListener("abort",()=>this.layoutGenerations.delete(t.signal),{once:!0})),await this.yieldToBrowser(),e.isConnected&&t.isCurrent())){if(this.commentLayer&&(uo.set(this.commentLayer.root,this),!this.commentLayer.root.parentElement)){const t=[e,...Array.from(e.querySelectorAll("[data-docx-layout-root]"))].find(e=>uo.get(e)===this&&e.classList.contains(`${this.className}-wrapper`));t||(this.commentLayer.root.style.position="fixed"),(t??e).appendChild(this.commentLayer.root)}this.refreshTabStops(e),this.refreshAnchors(e),await(this.commentLayer?.bind(e,t))}}disposeLayout(){for(const e of Array.from(this.layoutGenerations.values()))e.cancel();this.layoutGenerations.clear(),this.commentLayer?.root.remove();const e=globalThis.CSS?.highlights;e&&this.commentHighlight&&e.get(`${this.className}-comments`)===this.commentHighlight&&e.delete(`${this.className}-comments`)}renderHyperlink(e){const t=this.renderHyperlinkChildren(e.children),r=this.h(this.toH(e,Hs.html,"a",this.wrapTabLeaderChildren(t)));let n="",a=!1;if(e.id){const t=this.currentPart??this.document.documentPart,r=t?.rels?.find(t=>t.id==e.id&&"External"===t.targetMode);n=r?.target??n,a=!!n}return!n&&e.anchor&&(n=`#${e.anchor}`),this.applyHyperlinkTarget(r,n,a),r}renderHyperlinkChildren(e){this.hyperlinkDepth++;try{return this.renderElements(e)}finally{this.hyperlinkDepth--}}applyHyperlinkTarget(e,t,r){const n=function(e){const t=String(e??"").trim().replace(oo,"");return t?t.startsWith("#")?t:t.startsWith("//")||t.includes("\\")||io.test(t)&&!lo.test(t)?null:t:null}(t);if(n)return r&&"block"==this.options.externalLinkPolicy?(e.setAttribute("data-docx-external-href",n),void e.setAttribute("aria-disabled","true")):void e.setAttribute("href",n)}wrapTabLeaderChildren(e,t=!1){if(!e?.length||e.some(e=>this.hasCssClass(e,`${this.className}-tab-leader-title`)))return e;let r=-1;for(let t=e.length-1;t>=0;t--)if(this.isTabLeaderNode(e[t])){r=t;break}if(r<0)return this.wrapLiteralLeaderChildren(e,t)??e;const n=e.slice(0,r),a=e[r],s=e.slice(r+1);this.addCssClass(a,`${this.className}-tab-leader-fill`);const o=[this.h({tagName:"span",className:`${this.className}-tab-leader-title`,children:n}),a,this.h({tagName:"span",className:`${this.className}-tab-leader-page`,children:s})];return t?[this.h({tagName:"span",className:`${this.className}-tab-leader-line`,children:o})]:o}wrapLiteralLeaderChildren(e,t=!1){const r=this.findLastTextualNodeIndex(e);if(r<0)return null;const n=e[r],a=this.nodeTextContent(n),s=/^(.*?)([.\u2026\u00b7\u2022\u2027\u2219\u22c5]{6,})(\s*[0-90-9IVXLCDMivxlcdm]+)\s*$/.exec(a);if(!s)return null;const[,o,i,l]=s,c=e.slice(0,r),h=e.slice(r+1),d=[...c];o&&d.push(this.cloneTextNodeWithText(n,o));const u=this.h({tagName:"span",className:`${this.tabStopClass()} ${this.className}-tab-leader-fill`,children:[" "],style:this.nodeStyleObject(n)});u.dataset.docxTab="true",u.dataset.docxTabLeader=this.literalLeaderKind(i),u.dataset.docxLiteralLeader="true";const m=[this.h({tagName:"span",className:`${this.className}-tab-leader-title`,children:d}),u,this.h({tagName:"span",className:`${this.className}-tab-leader-page`,children:[this.cloneTextNodeWithText(n,l.trim()),...h]})];return t?[this.h({tagName:"span",className:`${this.className}-tab-leader-line ${this.className}-literal-leader-line`,children:m})]:m}findLastTextualNodeIndex(e){for(let t=e.length-1;t>=0;t--)if(this.nodeTextContent(e[t]).trim())return t;return-1}literalLeaderKind(e){return/^[.\u2026]+$/.test(e)?"dot":"middleDot"}cloneTextNodeWithText(e,t){return this.nodeElementName(e)?this.h({tagName:this.nodeElementName(e),className:this.nodeClassName(e),style:this.nodeStyleObject(e),children:[t]}):this.h({tagName:"span",children:[t]})}nodeElementName(e){const t=e,r=t?.tagName??t?.nodeName;return r&&!String(r).startsWith("#")?String(r).toLowerCase():""}nodeStyleObject(e){const t=e?.style,r={};if(!t)return r;if("number"==typeof t.length&&"function"==typeof t.getPropertyValue)for(let e=0;e<t.length;e++){const n=t.item(e),a=t.getPropertyValue(n);a&&(r[n]=a)}else for(const[e,n]of Object.entries(t))null!=n&&""!==n&&(r[e]=String(n));return r}nodeTextContent(e){const t=e;return t?"string"==typeof t.textContent?t.textContent:"string"==typeof t.text?t.text:Array.from(t.children??t.childNodes??[]).map(e=>this.nodeTextContent(e)).join(""):""}isTabLeaderNode(e){const t=this.nodeDatasetValue(e,"docxTabLeader");return this.hasCssClass(e,this.tabStopClass())&&!!t&&"none"!=t}nodeDatasetValue(e,t){const r=e,n=r?.dataset?.[t];if(null!=n)return String(n);const a="data-"+t.replace(/[A-Z]/g,e=>"-"+e.toLowerCase());return"function"==typeof r?.getAttribute?r.getAttribute(a):r?.attributes?.[a]}hasCssClass(e,t){const r=e;if(!r||!t)return!1;if("function"==typeof r.classList?.contains)return r.classList.contains(t);return this.nodeClassName(r).split(/\s+/).includes(t)}addCssClass(e,t){const r=e;if(!r||!t||this.hasCssClass(e,t))return;if("function"==typeof r.classList?.add)return void r.classList.add(t);const n=Vs(this.nodeClassName(r),t);"function"==typeof r.setAttribute?r.setAttribute("class",n):(r.attributes??(r.attributes={}),r.attributes.class=n)}nodeClassName(e){return"string"==typeof e?.className?e.className:"string"==typeof e?.className?.baseVal?e.className.baseVal:"function"==typeof e?.getAttribute?e.getAttribute("class")??"":e?.attributes?.class??""}renderSmartTag(e){return this.renderContainer(e,"span")}renderCommentRangeStart(e){if(!this.options.renderComments)return null;const t="undefined"==typeof Range?null:new Range;t&&this.commentHighlight?.add(t);const r=this.h({tagName:"#comment",children:["start of DOCX comment"]});return t&&(this.later(()=>t.setStart(r,0)),this.commentMap[e.id]=t),r}renderCommentRangeEnd(e){if(!this.options.renderComments)return null;const t=this.commentMap[e.id],r=this.document.commentsPart?.commentMap[e.id],n=this.h({tagName:"span",className:`${this.className}-comment-anchor`});return n.dataset.docxChangeKind="comment",n.dataset.docxChangeId=`${e.id}`,n.setAttribute("aria-hidden","true"),n.style.setProperty("--docx-review-color",ao(r?.author)),r?.author&&(n.dataset.docxChangeAuthor=r.author),r?.date&&(n.dataset.docxChangeDate=r.date),this.later(()=>t?.setEnd(n,0)),n}renderCommentReference(e){if(!this.options.renderComments||this.renderingComment)return null;const t=this.document.commentsPart?.commentMap[e.id];if(!t)return null;this.commentLayer||(this.commentLayer=new rs(this.className,()=>this.h({tagName:"div",className:`${this.className} ${this.className}-comment-layer`}),e=>{this.refreshTabStops(e),this.refreshAnchors(e)}));const r=`${t.id}`,n=this.h({tagName:"span",className:`${this.className}-comment-ref`,children:["💬"]});n.dataset.docxChangeKind="comment",n.dataset.docxChangeId=r,n.style.setProperty("--docx-review-color",ao(t.author)),t.author&&(n.dataset.docxChangeAuthor=t.author),t.date&&(n.dataset.docxChangeDate=t.date),this.hyperlinkDepth||n.setAttribute("tabindex","0"),n.setAttribute("role","note"),n.setAttribute("aria-label",t.author?`Comment by ${t.author}`:"Comment"),n.setAttribute("aria-expanded","false");let a=this.commentPresentations.get(r);if(!a){const e=`${this.className}-comment-${++po.nextCommentId}`,s=this.h({tagName:"summary",children:["💬"]});s.setAttribute("aria-label",t.author?`Comment by ${t.author}`:"Comment");const o=t.date?new Date(t.date):null,i=this.h({tagName:"article",children:this.renderCommentContent(t)});i.dataset.docxCommentStory="true";const l=this.h({tagName:"div",className:`${this.className}-comment-body`,children:[this.h({tagName:"div",className:`${this.className}-comment-author`,children:[t.author??""]}),this.h({tagName:"div",className:`${this.className}-comment-date`,children:[o&&Number.isFinite(o.getTime())?o.toLocaleString():t.date??""]}),i]});l.setAttribute("id",e),l.setAttribute("role","note");const c=this.h({tagName:"details",className:`${this.className}-comment-popover`,children:[s,l]});c.dataset.docxCommentPopup=e,Object.assign(c.dataset,{docxChangeKind:"comment",docxChangeId:r}),t.author&&(c.dataset.docxChangeAuthor=t.author),t.date&&(c.dataset.docxChangeDate=t.date),a={key:e,descriptionId:e,reference:n,references:[],popup:c,summary:s,body:l,revision:0,open:!1},this.commentLayer.add(a),this.commentPresentations.set(r,a)}return n.dataset.docxCommentReference=a.key,a.references.push(n),n.setAttribute("aria-describedby",a.descriptionId),n.setAttribute("aria-controls",a.descriptionId),n}cloneRenderData(e,t=new Map){if(!e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);const r=Array.isArray(e)?[]:Object.create(Object.getPrototypeOf(e));t.set(e,r);for(const n of Object.keys(e))"parent"!==n&&Object.defineProperty(r,n,{value:this.cloneRenderData(e[n],t),writable:!0,enumerable:!0,configurable:!0});return r}renderCommentContent(e){const t={part:this.currentPart,paragraph:this.currentParagraph,index:this.currentParagraphTabIndex,count:this.currentParagraphTabCount,rendering:this.renderingComment};this.currentPart=this.document.commentsPart,this.currentParagraph=null,this.renderingComment=!0;try{const t=this.cloneRenderData(e);return this.processElement(t),this.renderElements(t.children)??[]}finally{this.currentPart=t.part,this.currentParagraph=t.paragraph,this.currentParagraphTabIndex=t.index,this.currentParagraphTabCount=t.count,this.renderingComment=t.rendering}}renderAltChunk(e){if(!this.options.renderAltChunks)return null;var t=this.h({tagName:"iframe",sandbox:"",referrerPolicy:"no-referrer",loading:"lazy"});return this.tasks.push(this.document.loadAltChunk(e.id,this.currentPart).then(e=>{X(t,e)})),t}renderDrawing(e){e.cssStyle?.["shape-outside"]&&(e.className=Vs(e.className,`${this.className}-float-wrap`));var t=this.toHTML(e,Hs.html,this.currentParagraph?"span":"div");(e.cssStyle?.float||"absolute"==e.cssStyle?.position)&&(t.dataset.docxFloat="true");const r=e.props?.anchorPosition;r?.vertical?.relative&&(t.dataset.docxAnchorVertical=r.vertical.relative),r?.horizontal?.relative&&(t.dataset.docxAnchorHorizontal=r.horizontal.relative),t.style.display||(t.style.display="inline-block"),t.style.position||(t.style.position="relative"),t.style.textIndent="0px";for(const e of Array.from(t.children??[]))e.style.verticalAlign="top";return t}renderImage(e){let t=this.toHTML(e,Hs.html,"img",[]),r=e.cssStyle?.transform;if(e.alt&&(t.alt=e.alt),e.title&&(t.title=e.title),e.srcRect&&e.srcRect.some(e=>0!=e)){var[n,a,s,o]=e.srcRect;r=`${r??""} scale(${1/(1-n-s)}, ${1/(1-a-o)})`,t.style.clipPath=`inset(${(100*a).toFixed(2)}% ${(100*s).toFixed(2)}% ${(100*o).toFixed(2)}% ${(100*n).toFixed(2)}%)`,t.style.transformOrigin="top left"}return e.rotation&&(r=`rotate(${e.rotation}deg) ${r??""}`),t.style.transform=r?.trim(),this.document&&e.src&&this.tasks.push(this.document.loadDocumentImage(e.src,this.currentPart,this.options.externalResourcePolicy).then(e=>{e&&t.setAttribute("src",e)})),t}renderShape(e){if(e.props?.dmlSvg)return this.renderDmlSvgShape(e);const t=e.props?.dmlTextBox?[this.renderDmlTextBox(e)]:null,r=this.toHTML(e,Hs.html,this.currentParagraph?"span":"div",t);return r.style.display||(r.style.display="inline-block"),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r}renderDmlTextBox(e){const t=this.currentParagraph;this.currentParagraph=null;const r=this.renderElements(e.children);this.currentParagraph=t;const n=this.h({tagName:"div",className:`${this.className}-shape-textbox`,style:{"box-sizing":"border-box",display:"flex","flex-direction":"column","justify-content":e.props?.textVerticalAlign??"flex-start","align-items":"stretch",width:"100%",height:"100%",overflow:"hidden",...e.props?.textInsets??{}},children:r});n.dataset.docxShapeTextbox="true",n.setAttribute("xmlns",Hs.html);const a=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block",overflow:"hidden"}});a.setAttribute("focusable","false");const s=this.createSvgElement("foreignObject");return s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.appendChild(n),a.appendChild(s),a}renderDmlSvgShape(e){const t=this.createSvgElement("svg",{style:e.cssStyle}),r=e.props??{};t.setAttribute("viewBox",r.viewBox??"0 0 1 1"),t.setAttribute("preserveAspectRatio","none"),t.setAttribute("focusable","false"),e.title&&t.appendChild(this.createSvgElement("title",null,[e.title])),e.alt&&(t.setAttribute("role","img"),t.setAttribute("aria-label",e.alt));const n=this.createSvgElement("path");return n.setAttribute("d",r.pathD??""),n.setAttribute("fill",this.darkenColorAttr(r.fill??"none")),n.setAttribute("stroke",this.darkenColorAttr(r.stroke??"none")),n.setAttribute("stroke-width",r.strokeWidth??"0"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("stroke-linecap","round"),r.strokeDasharray&&n.setAttribute("stroke-dasharray",r.strokeDasharray),t.appendChild(n),t}renderChart(e){var t;const r=this.toHTML(e,Hs.html,this.currentParagraph?"span":"div",[]);if((t=r.style).display||(t.display="block"),r.className=Vs(r.className,`${this.className}-chart`),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r.appendChild(this.renderGraphicLoading("Chart")),e.id){const t=this.currentPart;this.tasks.push(this.document.loadRelationshipXml(e.id,t).then(e=>{r.textContent="",r.appendChild(e?this.renderChartSvg(e):this.renderGraphicLoading("Chart"))}).catch(()=>{r.textContent="",r.appendChild(this.renderGraphicLoading("Chart"))}))}return r}renderSmartArt(e){var t;const r=this.toHTML(e,Hs.html,this.currentParagraph?"span":"div",[]);if((t=r.style).display||(t.display="block"),r.className=Vs(r.className,`${this.className}-smartart`),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r.appendChild(this.renderGraphicLoading("SmartArt")),e.dataId){const t=this.currentPart;this.tasks.push(this.document.loadRelationshipXml(e.dataId,t).then(e=>{r.textContent="",r.appendChild(e?this.renderSmartArtSvg(e):this.renderGraphicLoading("SmartArt"))}).catch(()=>{r.textContent="",r.appendChild(this.renderGraphicLoading("SmartArt"))}))}return r}renderInk(e){var t;const r=this.toHTML(e,Hs.html,this.currentParagraph?"span":"div",[]);if((t=r.style).display||(t.display="block"),r.className=Vs(r.className,`${this.className}-ink`),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r.appendChild(this.renderGraphicLoading("Ink")),e.id){const t=this.currentPart;this.tasks.push(this.document.loadRelationshipText(e.id,t).then(n=>{if(r.textContent="",n?.trim().startsWith("<"))try{return void r.appendChild(this.renderInkSvg(J(n,!0)))}catch{}return this.document.loadRelationshipBlobUrl(e.id,t,this.options.externalResourcePolicy).then(t=>{r.textContent="",t?r.appendChild(this.h({tagName:"img",src:t,alt:e.alt??"Ink",style:{width:"100%",height:"100%",objectFit:"contain"}})):r.appendChild(this.renderGraphicLoading("Ink"))})}).catch(()=>{r.textContent="",r.appendChild(this.renderGraphicLoading("Ink"))}))}return r}renderGraphicLoading(e){return this.h({tagName:"span",style:{display:"inline-flex","align-items":"center","justify-content":"center",width:"100%",height:"100%","min-width":"2in","min-height":"1in",border:"1px solid currentColor"},children:[`[${e}]`]})}renderChartSvg(e){const t=e.documentElement,r=this.detectChartType(t),n=this.parseChartSeries(t,r),a=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});a.setAttribute("viewBox","0 0 640 360"),a.setAttribute("preserveAspectRatio","xMidYMid meet");const s=this.extractChartTitle(t);if(s){const e=this.svgText(s,320,24,"middle","14px","bold");e.setAttribute("data-docx-chart-title","true"),a.appendChild(e)}if(!n.length||n.every(e=>!e.values.length))return a.appendChild(this.svgText("Chart",320,180,"middle","18px")),a;const o="chart"==t.localName?t:this.chartChild(t,"chart"),i=this.chartChild(o,"plotArea"),l=this.chartChildren(i).filter(e=>e.localName.endsWith("Chart")),c=l.length>1&&l.every(e=>{const r=this.resolveChartAxes(t,e.localName,e),n=this.chartChild(e,"barDir")?.getAttribute("val"),a=this.chartChild(e,"grouping")?.getAttribute("val");return r?.category&&r.value&&["barChart","lineChart"].includes(e.localName)&&(!n||"col"==n)&&!["stacked","percentStacked"].includes(a)});if(c)return this.drawCombinedChartAxes(a,t,l),a;const h=this.resolveChartAxes(t,r);return"lineChart"==r&&"dateAx"==h?.category?.localName?this.drawDateLineChart(a,n,h,{seriesNodes:this.chartChildren(this.chartChild(i,r),"ser")}):"pieChart"==r||"doughnutChart"==r?this.drawPieChart(a,n[0]):["lineChart","scatterChart","areaChart"].includes(r)?this.drawLineChart(a,n,"areaChart"==r):this.drawBarChart(a,n),this.drawChartAxisTitles(a,h),a}chartChildren(e,t){return Array.from(e?.childNodes??[]).filter(e=>1==e.nodeType&&co.includes(e.namespaceURI)&&(!t||e.localName==t))}chartChild(e,t){return this.chartChildren(e,t)[0]??null}chartDescendant(e,t){return e?Array.from(e.getElementsByTagName("*")).find(e=>e.localName==t&&co.includes(e.namespaceURI))??null:null}detectChartType(e){return["barChart","bar3DChart","lineChart","pieChart","doughnutChart","areaChart","scatterChart","ofPieChart","radarChart"].find(t=>e.localName==t&&co.includes(e.namespaceURI)||this.chartDescendant(e,t))??"barChart"}parseChartSeries(e,t){const r=e.localName==t&&co.includes(e.namespaceURI)?e:this.chartDescendant(e,t);return this.chartChildren(r,"ser").map((e,t)=>{const r=this.chartCacheValues(this.chartChild(e,"cat")??this.chartChild(e,"xVal")),n=this.chartCacheValues(this.chartChild(e,"val")??this.chartChild(e,"yVal")).map(e=>e.trim()&&Number.isFinite(Number(e))?Number(e):NaN);return{name:this.chartText(this.chartChild(e,"tx"))||`Series ${t+1}`,categories:r.length?r:n.map((e,t)=>`${t+1}`),values:n}})}chartCacheValues(e){if(!e)return[];const t=["strCache","numCache","strLit","numLit"].map(t=>this.chartDescendant(e,t)).find(Boolean)??e,r=this.chartChild(t,"ptCount")?.getAttribute("val")??"";let n=/^\d+$/.test(r)?Math.min(Number(r),2e4):0;const a=[];for(const e of this.chartChildren(t,"pt")){const t=e.getAttribute("idx")??"";if(!/^\d+$/.test(t))continue;const r=Number(t);!Number.isSafeInteger(r)||r>=2e4||(n=Math.max(n,r+1),a.push({index:r,value:this.chartChild(e,"v")?.textContent??""}))}const s=Array(n).fill(""),o=new Set;for(const e of a)o.has(e.index)||(s[e.index]=e.value),o.add(e.index);return s}chartText(e){if(!e)return"";const t=this.chartCacheValues(e);if(t.length)return t.join(" ");return Array.from(e.getElementsByTagName("*")).filter(e=>"t"==e.localName&&ho.includes(e.namespaceURI)).map(e=>e.textContent).filter(Boolean).join(" ").trim()||this.chartDescendant(e,"v")?.textContent?.trim()||""}chartNumber(e,t){const r=this.chartChild(e,t)?.getAttribute("val");return null!=r&&r.trim()&&Number.isFinite(Number(r))?Number(r):null}chartBoolean(e){return!!e&&!["0","false","off"].includes((e.getAttribute("val")??"1").toLowerCase())}chartTitleText(e){const t=this.chartChild(this.chartChild(e,"tx"),"rich");return t?Array.from(t.childNodes).filter(e=>1==e.nodeType&&"p"==e.localName&&ho.includes(e.namespaceURI)).map(e=>Array.from(e.getElementsByTagNameNS(e.namespaceURI,"t")).map(e=>e.textContent??"").join("")).join("\n"):this.chartText(e)}extractChartTitle(e){const t="chart"==e.localName?e:this.chartChild(e,"chart");return this.chartTitleText(this.chartChild(t,"title"))}resolveChartAxes(e,t,r){const n="chart"==e.localName?e:this.chartChild(e,"chart"),a=this.chartChild(n,"plotArea"),s=r??this.chartChild(a,t);if(!s)return null;const o=this.chartChildren(s,"axId").map(e=>e.getAttribute("val")),i=this.chartChildren(a).filter(e=>/^(catAx|dateAx|valAx)$/.test(e.localName)&&o.includes(this.chartChild(e,"axId")?.getAttribute("val"))),l=i.find(e=>"dateAx"==e.localName)??i.find(e=>"catAx"==e.localName)??null,c=i.find(e=>"valAx"==e.localName&&(!l||this.chartChild(l,"crossAx")?.getAttribute("val")==this.chartChild(e,"axId")?.getAttribute("val")))??i.find(e=>"valAx"==e.localName)??null;return{category:l,value:c,date1904:this.chartBoolean(this.chartChild(e,"date1904"))}}chartValueBounds(e){let t=0,r=0;for(const n of e)for(const e of n.values)Number.isFinite(e)&&(t=Math.min(t,e),r=Math.max(r,e));return{min:t,max:t==r?t+1:r}}drawCategoryLabels(e,t,r,n){const a=t.map((e,t)=>({text:e,index:t})).filter(e=>e.text.trim());if(!a.length)return;const s=a[a.length-1],o=r(s.index)-this.chartLegendTextWidth(s.text)/2;let i=-1/0;a.forEach((t,s)=>{const l=r(t.index),c=this.chartLegendTextWidth(t.text)/2;if(s>0&&s<a.length-1&&(l-c<i+3||l+c+3>o))return;const h=this.svgText(t.text,l,n,"middle","10px");h.setAttribute("data-docx-chart-category-index",`${t.index}`),e.appendChild(h),i=l+c})}drawBarChart(e,t){const r=t[0]?.categories??[],n=Math.max(1,r.length,...t.map(e=>e.values.length)),a=this.chartValueBounds(t),s=e=>300-(e-a.min)/(a.max-a.min)*230,o=s(0),i=540/n,l=i/Math.max(t.length+1,2);e.appendChild(this.svgLine(60,o,600,o)),e.appendChild(this.svgLine(60,300,60,70)),t.forEach((t,r)=>t.values.forEach((t,n)=>{if(!Number.isFinite(t))return;const a=s(t),c=this.createSvgElement("rect");c.setAttribute("x",""+(60+n*i+r*l+.2*l)),c.setAttribute("y",`${Math.min(o,a)}`),c.setAttribute("width",""+.8*l),c.setAttribute("height",`${Math.abs(a-o)}`),c.setAttribute("data-docx-chart-point-index",`${n}`),c.style.fill=this.chartColor(r),e.appendChild(c)})),this.drawCategoryLabels(e,r,e=>60+(e+.5)*i,318),this.drawBottomLegend(e,t.map(e=>e.name),335)}drawLineChart(e,t,r=!1){const n=this.chartValueBounds(t),a=e=>300-(e-n.min)/(n.max-n.min)*230,s=a(0),o=Math.max(1,...t.map(e=>Math.max(e.values.length,e.categories.length))),i=540/Math.max(o-1,1);e.appendChild(this.svgLine(60,s,600,s)),e.appendChild(this.svgLine(60,300,60,70)),t.forEach((t,n)=>{let o=[];const l=()=>{if(!o.length)return;const t=o.map((e,t)=>`${t?"L":"M"}${e[0]},${e[1]}`).join(" ");if(r&&o.length>1){const r=this.createSvgElement("path");r.setAttribute("d",`${t} L${o[o.length-1][0]},${s} L${o[0][0]},${s} Z`),r.style.fill=this.chartColor(n),r.style.opacity="0.25",e.appendChild(r)}const a=this.createSvgElement("path");a.setAttribute("d",t),a.style.stroke=this.chartColor(n),a.style.strokeWidth="2",a.style.fill="none",e.appendChild(a),o=[]};t.values.forEach((t,r)=>{if(!Number.isFinite(t))return void l();const s=60+r*i,c=a(t);o.push([s,c]);const h=this.createSvgElement("circle");h.setAttribute("cx",`${s}`),h.setAttribute("cy",`${c}`),h.setAttribute("r","3"),h.setAttribute("data-docx-chart-point-index",`${r}`),h.style.fill=this.chartColor(n),e.appendChild(h)}),l()}),this.drawCategoryLabels(e,t[0]?.categories??[],e=>60+e*i,318),this.drawBottomLegend(e,t.map(e=>e.name),335)}drawPieChart(e,t){const r=t.values.reduce((e,t)=>e+(Number.isFinite(t)?Math.max(0,t):0),0)||1;let n=-90;t.values.forEach((a,s)=>{if(!Number.isFinite(a)||a<0)return;const o=a/r*360,i=this.createSvgElement(360==o?"circle":"path");360==o?(i.setAttribute("cx","300"),i.setAttribute("cy","180"),i.setAttribute("r","110")):i.setAttribute("d",this.pieSlicePath(300,180,110,n,n+o)),i.setAttribute("data-docx-chart-point-index",`${s}`),i.style.fill=this.chartColor(s),e.appendChild(i),this.drawLegend(e,t.categories[s]||`${s+1}`,s,450,90+22*s),n+=o})}drawCombinedChartAxes(e,t,r){let n=0;const a=[];for(const s of r){const r=this.resolveChartAxes(t,s.localName,s),o=this.parseChartSeries(s,s.localName);if(!r?.category||!r.value||!o.length)continue;const i=this.createSvgElement("g");i.setAttribute("data-docx-chart-axis-group",s.localName),i.setAttribute("data-docx-chart-value-axis-id",this.chartChild(r.value,"axId")?.getAttribute("val")??""),e.appendChild(i),this.drawDateLineChart(i,o,r,{type:s.localName,group:s,colorOffset:n,noLegend:!0,seriesNodes:this.chartChildren(s,"ser")}),this.drawChartAxisTitles(e,r),n+=o.length,a.push(...o.map(e=>e.name))}this.drawBottomLegend(e,a,335),this.syncChartAxisLegend(e)}drawDateLineChart(e,t,r,n={}){const a=r.category,s=r.value,o="dateAx"!=a?.localName,i=t.map(e=>e.categories.map(e=>e.trim()&&Number.isFinite(Number(e))?Number(e):NaN)),l=i.flat().filter(Number.isFinite);if(!o&&!l.length)return void this.drawLineChart(e,t);const c=t.reduce((e,t)=>Math.max(e,t.values.length,t.categories.length),1),h=this.chartChild(a,"scaling"),d=this.chartChild(s,"scaling"),u=o?0:this.chartNumber(h,"min")??l.reduce((e,t)=>Math.min(e,t),1/0);let m=o?c:this.chartNumber(h,"max")??l.reduce((e,t)=>Math.max(e,t),-1/0);m<=u&&(m=u+1);const p=this.chartValueBounds(t);let f=this.chartNumber(d,"min")??p.min,g=this.chartNumber(d,"max")??p.max;if(g<=f&&(f=p.min,g=p.max),!Number.isFinite(m-u)||!Number.isFinite(g-f))return;const b="maxMin"==this.chartChild(h,"orientation")?.getAttribute("val"),y="maxMin"==this.chartChild(d,"orientation")?.getAttribute("val"),x=e=>{const t=(e-u)/(m-u);return 60+540*(b?1-t:t)},w=e=>{const t=(e-f)/(g-f);return 300-230*(y?1-t:t)},v=(e,t)=>x(o?t+.5:e),k="r"==this.chartChild(s,"axPos")?.getAttribute("val"),C=this.chartBoolean(this.chartChild(a,"delete")),S=this.chartBoolean(this.chartChild(s,"delete")),N=this.chartChild(s,"crosses")?.getAttribute("val"),A=this.chartChild(a,"crosses")?.getAttribute("val"),P=Math.min(g,Math.max(f,this.chartNumber(s,"crossesAt")??("max"==N?g:"min"==N?f:0))),M=Math.min(m,Math.max(u,this.chartNumber(a,"crossesAt")??("max"==A?m:u)));if(C||e.appendChild(this.svgLine(60,w(P),600,w(P))),!S){const t=k?600:x(M);e.appendChild(this.svgLine(t,300,t,70))}e.setAttribute("data-docx-chart-x-range",`${u},${m}`),e.setAttribute("data-docx-chart-y-range",`${f},${g}`);const $=this.createSvgElement("svg");for(const[e,t]of Object.entries({x:60,y:70,width:540,height:230,viewBox:"60 70 540 230",overflow:"hidden"}))$.setAttribute(e,String(t));if($.setAttribute("data-docx-chart-date-plot","true"),e.appendChild($),t.forEach((e,r)=>{const a=n.seriesNodes?.[r],s=this.chartChild(a,"spPr"),l=(e,t)=>Array.from(e?.getElementsByTagName("*")??[]).find(e=>e.localName==t&&ho.includes(e.namespaceURI)),h=l(s,"ln"),d=l("barChart"==n.type?s:h,"srgbClr")?.getAttribute("val"),u=r+(n.colorOffset??0),m=/^[0-9a-f]{6}$/i.test(d??"")?`#${d}`:this.chartColor(u),p=h?.getAttribute("w"),b=p&&Number.isFinite(Number(p))?Math.max(0,Number(p)/9525):2,y="none"!=this.chartChild(this.chartChild(a,"marker"),"symbol")?.getAttribute("val");let x=[];const k=()=>{if(!x.length)return;const e=this.createSvgElement("path");e.setAttribute("d",x.map(([e,t],r)=>`${r?"L":"M"}${e},${t}`).join(" ")),e.style.stroke=m,e.style.strokeWidth=String(b),e.style.fill="none",$.appendChild(e),x=[]};e.values.forEach((e,a)=>{const s=i[r][a];if(!o&&!Number.isFinite(s)||!Number.isFinite(e))return void k();const l=v(s,a),h=w(e),d="barChart"==n.type;d||x.push([l,h]);const p=this.createSvgElement(d?"rect":"circle"),b={"data-docx-chart-point-index":a,"data-docx-chart-series-index":u,"data-docx-chart-date-value":s,"data-docx-chart-center-x":l,"data-docx-chart-center-y":h};if(d){const e=Math.max(0,Math.min(500,this.chartNumber(n.group,"gapWidth")??150)),a=540/c/(t.length+e/100),s=w(Math.min(g,Math.max(f,0)));Object.assign(b,{x:l-t.length*a/2+r*a,y:Math.min(h,s),width:a,height:Math.abs(s-h)})}else Object.assign(b,{cx:l,cy:h,r:y?3:0});for(const[e,t]of Object.entries(b))Number.isFinite(t)&&p.setAttribute(e,String(t));p.style.fill=m,$.appendChild(p)}),k()}),!C&&"none"!=this.chartChild(a,"tickLblPos")?.getAttribute("val")){const n=this.chartChild(a,"numFmt")?.getAttribute("formatCode")??(o?"General":"yyyy/m/d"),s=o?t[0].categories.map((e,t)=>({raw:e,value:Number(e),x:v(Number(e),t),index:t})):this.chartDateTicks(a,l,u,m,r.date1904).map(e=>({raw:String(e),value:e,x:x(e)}));s.sort((e,t)=>e.x-t.x);let i=-1/0,c=null;for(const t of s){const a=this.formatChartDateLabel(t.raw,n,r.date1904),s=this.chartLegendTextWidth(a)/2;if(a==c||t.x-s<i+4)continue;const l=this.svgText(a,t.x,318,"middle","10px");l.setAttribute("data-docx-chart-date-tick",Number.isFinite(t.value)?String(t.value):t.raw),o&&l.setAttribute("data-docx-chart-category-index",String(t.index)),e.appendChild(l),i=t.x+s,c=a}}if(!S&&"none"!=this.chartChild(s,"tickLblPos")?.getAttribute("val")){const t=this.chartNumber(s,"majorUnit"),r=null!=t&&t>0?t:(g-f)/5,n=Math.floor((g-f)/r+1e-8)+1;if(n>0&&n<=100)for(let t=0;t<n;t++){const n=Number((f+t*r).toPrecision(12)),a=this.chartAxisNumberLabel(n,this.chartChild(s,"numFmt")?.getAttribute("formatCode")),o=this.svgText(a,k?606:54,w(n)+3,k?"start":"end","10px");o.setAttribute("data-docx-chart-value-tick",String(n)),e.appendChild(o)}}n.noLegend||(this.drawBottomLegend(e,t.map(e=>e.name),335),this.syncChartAxisLegend(e))}drawChartAxisTitles(e,t){for(const r of[t?.category,t?.value]){if(!r||this.chartBoolean(this.chartChild(r,"delete")))continue;const t=this.chartChild(r,"title"),n=this.chartTitleText(t);if(!n)continue;const a=this.chartChild(r,"axPos")?.getAttribute("val")??("valAx"==r.localName?"l":"b"),s=this.chartChild(this.chartChild(t,"layout"),"manualLayout"),o=this.chartNumber(s,"x"),i=this.chartNumber(s,"y"),l=null!=o&&null!=i&&"edge"==this.chartChild(s,"xMode")?.getAttribute("val")&&"edge"==this.chartChild(s,"yMode")?.getAttribute("val"),c={b:[330,349],t:[330,50],l:[16,185],r:[625,185]},h=c[a]??c.b,d=l?640*o:h[0],u=l?360*i:h[1],m=this.svgText(n,d,u,l?"start":"middle","12px");m.setAttribute("data-docx-chart-axis-title",this.chartChild(r,"axId")?.getAttribute("val")??a),l?m.setAttribute("dominant-baseline","hanging"):"l"!=a&&"r"!=a||m.setAttribute("transform",`rotate(${"l"==a?-90:90} ${d} ${u})`),e.appendChild(m)}}syncChartAxisLegend(e){const t=new Map;for(const r of Array.from(e.querySelectorAll("[data-docx-chart-series-index]"))){const e=Number(r.getAttribute("data-docx-chart-series-index"));t.has(e)||t.set(e,r.style.fill)}e.querySelector("[data-docx-chart-legend]")?.querySelectorAll("rect").forEach((e,r)=>{t.has(r)&&(e.style.fill=t.get(r))})}chartAxisNumberLabel(e,t){const r=/^(0)(?:\.(0{1,10}))?(%)?$/.exec(t??"");return r?(e*(r[3]?100:1)).toFixed(r[2]?.length??0)+(r[3]?"%":""):String(e)}chartDateTicks(e,t,r,n,a){const s=this.chartNumber(e,"majorUnit"),o=this.chartChild(e,"majorTimeUnit")?.getAttribute("val")??"days";if(null!=s&&s>0)if("days"==o){const e=Math.floor((n-r)/s+1e-9)+1;if(e>0&&e<=1e3)return Array.from({length:e},(e,t)=>r+t*s)}else if(Number.isInteger(s)&&["months","years"].includes(o)){const e=this.formatChartDateLabel(String(r),"yyyy/mm/dd",a);if(/^\d{4}\/\d{2}\/\d{2}$/.test(e)){const[t,i,l]=e.split("/").map(Number),c=[];for(let e=0;e<1e3;e++){const h=new Date(Date.UTC(t,i-1+e*s*("years"==o?12:1),1)),d=new Date(Date.UTC(h.getUTCFullYear(),h.getUTCMonth()+1,0)).getUTCDate(),u=Date.UTC(h.getUTCFullYear(),h.getUTCMonth(),Math.min(l,d));let m=(u-Date.UTC(a?1904:1899,a?0:11,a?1:31))/864e5;if(!a&&u>=Date.UTC(1900,2,1)&&m++,m+=r-Math.floor(r),!Number.isFinite(m)||m>n+1e-9)break;m>=r-1e-9&&c.push(m)}if(c.length&&c.length<1e3)return c}}return[...new Set(t)].filter(e=>e>=r&&e<=n)}formatChartDateLabel(e,t,r=!1){if(!e.trim()||!Number.isFinite(Number(e)))return e;const n=Number(e),a=Math.floor(n);if(a<0||a>(r?2957003:2958465))return e;const s=Math.min(86399999,Math.round(864e5*(n-a))),o=new Date(Date.UTC(r?1904:1899,r?0:11,r?1:31)+864e5*(a-(!r&&a>60?1:0))+s),i=!r&&60==a,l=i?1900:o.getUTCFullYear(),c=i?2:o.getUTCMonth()+1,h=i?29:o.getUTCDate(),d=(e,t=2)=>String(e).padStart(t,"0"),u=["January","February","March","April","May","June","July","August","September","October","November","December"],m=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];let p="",f=!1;for(let e=0;e<(t??"").length;e++){const r=t[e];if("\\"==r&&e+1<t.length)p+=r+t[++e];else{if('"'==r&&(f=!f),";"==r&&!f)break;p+=r}}if(!p||f)return e;const g=p.match(/"[^"]*"|\\.|\[\$-[\w-]+\]|AM\/PM|A\/P|y+|m+|d+|h+|s+|./gi)??[];if(!g.some(e=>/^(y+|m+|d+|h+|s+)$/i.test(e)))return e;const b=g.some(e=>/^(AM\/PM|A\/P)$/i.test(e));let y="";for(let t=0;t<g.length;t++){const r=g[t],n=r.toLowerCase();if(r.startsWith('"')){y+=r.slice(1,-1);continue}if(r.startsWith("\\")){y+=r.slice(1);continue}if(/^\[\$-/i.test(r)){if(!/^\[\$-(409|en-us)\]$/i.test(r))return e;continue}const a=g.slice(0,t).reverse().find(e=>/^[ymdhs]+$/i.test(e)),s=g.slice(t+1).find(e=>/^[ymdhs]+$/i.test(e));if(/^y{1,4}$/.test(n))y+=n.length<=2?d(l%100):d(l,4);else if(/^m{1,5}$/.test(n)){y+=/^h+$/i.test(a??"")||/^s+$/i.test(s??"")?1==n.length?o.getUTCMinutes():d(o.getUTCMinutes()):1==n.length?c:2==n.length?d(c):3==n.length?u[c-1].slice(0,3):4==n.length?u[c-1]:u[c-1][0]}else if(/^d{1,4}$/.test(n))y+=1==n.length?h:2==n.length?d(h):3==n.length?m[o.getUTCDay()].slice(0,3):m[o.getUTCDay()];else if(/^h{1,2}$/.test(n)){const e=b?o.getUTCHours()%12||12:o.getUTCHours();y+=1==n.length?e:d(e)}else if(/^s{1,2}$/.test(n))y+=1==n.length?o.getUTCSeconds():d(o.getUTCSeconds());else if(/^(am\/pm|a\/p)$/.test(n)){const e=o.getUTCHours()<12?"AM":"PM",t="a/p"==n?e[0]:e;y+=r==n?t.toLowerCase():t}else{if(!/^[\s/.,:\-年月日时分秒()]$/.test(r))return e;y+=r}}return y}pieSlicePath(e,t,r,n,a){const s=this.polar(e,t,r,a),o=this.polar(e,t,r,n),i=a-n<=180?"0":"1";return`M${e},${t} L${s.x},${s.y} A${r},${r} 0 ${i},0 ${o.x},${o.y} Z`}polar(e,t,r,n){const a=(n-90)*Math.PI/180;return{x:e+r*Math.cos(a),y:t+r*Math.sin(a)}}drawLegend(e,t,r,n,a){const s=this.createSvgElement("rect");s.setAttribute("x",`${n}`),s.setAttribute("y",""+(a-10)),s.setAttribute("width","10"),s.setAttribute("height","10"),s.style.fill=this.chartColor(r),e.appendChild(s),e.appendChild(this.svgText(t,n+14,a,"start","10px"))}drawBottomLegend(e,t,r){if(0==t.length)return;const n=t.map(e=>14+this.chartLegendTextWidth(e)),a=n.reduce((e,t)=>e+t,0)+18*Math.max(0,t.length-1),s=this.createSvgElement("g");s.setAttribute("data-docx-chart-legend","bottom"),s.setAttribute("transform",`translate(${Math.max(0,(640-a)/2)}, 0)`);let o=0;t.forEach((e,t)=>{this.drawLegend(s,e,t,o,r),o+=n[t]+18}),e.appendChild(s)}chartLegendTextWidth(e){return Array.from(e).reduce((e,t)=>/\s/.test(t)?e+3:e+((t.codePointAt(0)??0)>255?10:6),0)}chartColor(e){return`hsl(${47*e%360}, 65%, 48%)`}renderSmartArtSvg(e){const t=e.documentElement,r=this.elementsByLocal(t,"pt").map(e=>({id:e.getAttribute("modelId"),type:e.getAttribute("type"),text:this.elementsByLocal(e,"t").map(e=>e.textContent).filter(Boolean).join(" ").trim()})).filter(e=>e.id&&e.text&&"doc"!=e.type),n=this.elementsByLocal(t,"cxn").map(e=>({src:e.getAttribute("srcId"),dst:e.getAttribute("destId")})).filter(e=>e.src&&e.dst&&r.some(t=>t.id==e.src)&&r.some(t=>t.id==e.dst)),a=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});if(a.setAttribute("viewBox","0 0 640 360"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),0==r.length)return a.appendChild(this.svgText("SmartArt",320,180,"middle","18px")),a;const s=this.layoutDiagramNodes(r,n),o={},i=140,l=Math.min(90,260/Math.max(s.length,1));s.forEach((e,t)=>{const r=55+t*l,n=560/Math.max(e.length,1);e.forEach((e,t)=>{o[e.id]={x:40+n*t+Math.max(0,n-i)/2,y:r}})});for(const e of n){const t=o[e.src],r=o[e.dst];t&&r&&a.appendChild(this.svgLine(t.x+70,t.y+44,r.x+70,r.y))}return r.forEach((e,t)=>{const r=o[e.id];if(!r)return;const n=this.createSvgElement("rect");n.setAttribute("x",`${r.x}`),n.setAttribute("y",`${r.y}`),n.setAttribute("width","140"),n.setAttribute("height","44"),n.setAttribute("rx","8"),n.style.fill=this.chartColor(t),n.style.opacity="0.18",n.style.stroke=this.chartColor(t),a.appendChild(n),a.appendChild(this.svgText(e.text,r.x+70,r.y+27,"middle","11px"))}),a}layoutDiagramNodes(e,t){const r=new Map(e.map(e=>[e.id,0]));t.forEach(e=>r.set(e.dst,(r.get(e.dst)??0)+1));let n=e.filter(e=>0==(r.get(e.id)??0));const a=new Set,s=[];for(0==n.length&&(n=e.slice(0,1));n.length>0;){s.push(n),n.forEach(e=>a.add(e.id));const r=t.filter(e=>n.some(t=>t.id==e.src)).map(e=>e.dst).filter(e=>!a.has(e));n=[...new Set(r)].map(t=>e.find(e=>e.id==t)).filter(Boolean)}const o=e.filter(e=>!a.has(e.id));return o.length>0&&s.push(o),s}renderInkSvg(e){const t=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});t.setAttribute("viewBox","0 0 640 360"),t.setAttribute("preserveAspectRatio","xMidYMid meet");const r=this.elementsByLocal(e.documentElement,"trace").map(e=>this.inkTraceToPoints(e.textContent)),n=this.elementsByLocal(e.documentElement,"path").map(e=>e.getAttribute("d")).filter(Boolean);if(0==r.length&&0==n.length)return t.appendChild(this.svgText("Ink",320,180,"middle","18px")),t;const a=r.flat(),s=Math.min(...a.map(e=>e[0]),0),o=Math.min(...a.map(e=>e[1]),0),i=Math.max(...a.map(e=>e[0]),640),l=Math.max(...a.map(e=>e[1]),360),c=Math.min(600/Math.max(i-s,1),320/Math.max(l-o,1)),h=20-s*c,d=20-o*c;for(const e of r){if(e.length<2)continue;const r=this.createSvgElement("path");r.setAttribute("d",e.map((e,t)=>`${0==t?"M":"L"}${e[0]*c+h},${e[1]*c+d}`).join(" ")),r.style.fill="none",r.style.stroke="currentColor",r.style.strokeWidth="2",r.style.strokeLinecap="round",r.style.strokeLinejoin="round",t.appendChild(r)}for(const e of n){const r=this.createSvgElement("path");r.setAttribute("d",e),r.style.fill="none",r.style.stroke="currentColor",r.style.strokeWidth="2",t.appendChild(r)}return t}inkTraceToPoints(e){const t=(e??"").match(/-?\d+(?:\.\d+)?/g)?.map(Number)??[],r=[];for(let e=0;e+1<t.length;e+=2)r.push([t[e],t[e+1]]);return r}svgLine(e,t,r,n){const a=this.createSvgElement("line");return a.setAttribute("x1",`${e}`),a.setAttribute("y1",`${t}`),a.setAttribute("x2",`${r}`),a.setAttribute("y2",`${n}`),a.style.stroke="currentColor",a.style.strokeWidth="1",a}svgText(e,t,r,n="start",a="12px",s=null){const o=this.createSvgElement("text");return o.setAttribute("x",`${t}`),o.setAttribute("y",`${r}`),o.setAttribute("text-anchor",n),o.style.fill="currentColor",o.style.fontSize=a,s&&(o.style.fontWeight=s),o.appendChild(document.createTextNode(e)),o}elementsByLocal(e,t){const r=e.documentElement??e;return Array.from(r.getElementsByTagName("*")).filter(e=>e.localName==t)}firstByLocal(e,t){return this.elementsByLocal(e,t)[0]??null}renderSimpleField(e){const t=this.evaluateFieldNode(e);return void 0===t?this.renderElements(e.children??[]):null==t?null:v(t)?this.renderFieldText(t,e.instruction):t}renderFieldText(e,t){const r=this.h({tagName:"span",className:`${this.className}-field`,children:[e]});return t&&(r.dataset.docxFieldInstr=t),r}evaluateFieldNode(e){const t=(e.instruction??"").replace(/\s+/g," ").trim();if(!t)return;if(t.startsWith("=")){const e=this.evaluateFormula(t.substring(1));return null==e?void 0:this.applyFieldFormatting(`${e}`,t)}const r=this.tokenizeFieldInstruction(t),n=r[0]?.replace(/^=/,"").toUpperCase();if(!this.shouldPreserveStoredFieldResult(n,e))switch(n){case"PAGE":return this.applyFieldFormatting(this.formatFieldNumber(this.currentPageNumber,this.currentSectionProps?.pageNumber?.format),t);case"NUMPAGES":return this.applyFieldFormatting(this.formatFieldNumber(this.totalPages,this.currentSectionProps?.pageNumber?.format),t);case"SECTIONPAGES":return this.applyFieldFormatting(this.formatFieldNumber(this.sectionPageCount,this.currentSectionProps?.pageNumber?.format),t);case"SECTION":return this.applyFieldFormatting(this.formatFieldNumber(this.currentSectionNumber,"decimal"),t);case"DATE":case"TIME":case"CREATEDATE":case"SAVEDATE":case"PRINTDATE":return this.applyFieldFormatting(this.evaluateDateField(r,n),t);case"AUTHOR":return this.applyFieldFormatting(this.document.corePropsPart?.props?.creator??"",t);case"TITLE":return this.applyFieldFormatting(this.document.corePropsPart?.props?.title??"",t);case"SUBJECT":return this.applyFieldFormatting(this.document.corePropsPart?.props?.subject??"",t);case"KEYWORDS":return this.applyFieldFormatting(this.document.corePropsPart?.props?.keywords??"",t);case"NUMWORDS":return this.applyFieldFormatting(`${this.document.extendedPropsPart?.props?.words??""}`,t);case"NUMCHARS":return this.applyFieldFormatting(`${this.document.extendedPropsPart?.props?.characters??""}`,t);case"FILENAME":return this.applyFieldFormatting(this.document.documentPart?.path?.split("/").pop()??"",t);case"DOCPROPERTY":return this.applyFieldFormatting(this.evaluateDocPropertyField(r),t);case"DOCVARIABLE":return this.applyFieldFormatting(this.evaluateDocVariableField(r),t);case"MERGEFIELD":return;case"SET":return this.evaluateSetField(r),null;case"QUOTE":return this.applyFieldFormatting(r.slice(1).map(e=>this.resolveFieldValue(e)).join(""),t);case"HYPERLINK":return this.renderHyperlinkField(r,e);case"IF":return this.applyFieldFormatting(this.evaluateIfField(r),t);case"REF":case"STYLEREF":case"NOTEREF":return this.applyFieldFormatting(this.evaluateRefField(r),t);case"PAGEREF":return this.applyFieldFormatting(this.evaluatePageRefField(r),t);case"SEQ":return this.applyFieldFormatting(this.evaluateSeqField(r),t);case"LISTNUM":return this.applyFieldFormatting(this.evaluateListNumField(r),t);case"TC":case"XE":return null;case"TOC":return this.renderTocField(r);case"SYMBOL":return this.evaluateSymbolField(r)}}shouldPreserveStoredFieldResult(e,t){if(!this.options.preserveComplexFieldResults||!t.children?.length)return!1;switch(e){case"PAGE":case"NUMPAGES":case"SECTIONPAGES":case"SECTION":return!1;case"PAGEREF":return!this.options.updatePageReferences;case"TOC":case"REF":case"STYLEREF":case"NOTEREF":case"SEQ":case"LISTNUM":case"IF":case"DOCVARIABLE":case"MERGEFIELD":return!0}return!1}tokenizeFieldInstruction(e){const t=[];let r="",n=null,a=!1;for(const s of e)a?(r+=s,a=!1):"\\"!=s?'"'!=s&&"'"!=s?!/\s/.test(s)||n?r+=s:r&&(t.push(r),r=""):n==s?(n=null,t.push(r),r=""):n?r+=s:(r.trim()&&t.push(r.trim()),r="",n=s):n?a=!0:(r&&(t.push(r),r=""),r="\\");return r&&t.push(r),t}fieldSwitch(e,t){const r=t.toLowerCase(),n=e.findIndex(e=>e.toLowerCase()==r);return n>=0?e[n+1]:null}hasFieldSwitch(e,t){const r=t.toLowerCase();return e.some(e=>e.toLowerCase()==r)}firstFieldArgument(e,t=1){for(let r=t;r<e.length;r++){if(!e[r]?.startsWith("\\"))return e[r];r++}return null}evaluateDateField(e,t){const r=this.fieldSwitch(e,"\\@"),n=new Date;return r?this.formatFieldDate(n,r):"TIME"==t?n.toLocaleTimeString():n.toLocaleDateString()}formatFieldDate(e,t){const r=(e,t=2)=>`${e}`.padStart(t,"0"),n=["January","February","March","April","May","June","July","August","September","October","November","December"],a=n.map(e=>e.substring(0,3)),s=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],o=s.map(e=>e.substring(0,3)),i=[[/yyyy/g,`${e.getFullYear()}`],[/yy/g,r(e.getFullYear()%100)],[/MMMM/g,n[e.getMonth()]],[/MMM/g,a[e.getMonth()]],[/MM/g,r(e.getMonth()+1)],[/M/g,`${e.getMonth()+1}`],[/dddd/g,s[e.getDay()]],[/ddd/g,o[e.getDay()]],[/dd/g,r(e.getDate())],[/d/g,`${e.getDate()}`],[/HH/g,r(e.getHours())],[/H/g,`${e.getHours()}`],[/hh/g,r((e.getHours()+11)%12+1)],[/h/g,""+((e.getHours()+11)%12+1)],[/mm/g,r(e.getMinutes())],[/m/g,`${e.getMinutes()}`],[/ss/g,r(e.getSeconds())],[/s/g,`${e.getSeconds()}`],[/AM\/PM/g,e.getHours()<12?"AM":"PM"],[/am\/pm/g,e.getHours()<12?"am":"pm"]];let l=t;for(const[e,t]of i)l=l.replace(e,t);return l}evaluateDocPropertyField(e){const t=this.firstFieldArgument(e)?.toLowerCase();if(!t)return"";const r={...this.document.corePropsPart?.props??{},...this.document.extendedPropsPart?.props??{}};for(const[e,n]of Object.entries(r))if(e.toLowerCase()==t)return null==n?"":`${n}`;return""}evaluateSetField(e){const t=this.firstFieldArgument(e);if(!t)return;const r=e.slice(e.indexOf(t)+1).filter(e=>!e.startsWith("\\")).map(e=>this.resolveFieldValue(e)).join(" ");this.fieldSetValues[t]=r}evaluateDocVariableField(e){const t=this.firstFieldArgument(e);return t?this.fieldSetValues[t]??"":""}renderHyperlinkField(e,t){const r=this.fieldSwitch(e,"\\l"),n=this.firstFieldArgument(e)??"",a=r?`${n}#${r}`:n,s=this.h({tagName:"a",children:this.renderHyperlinkChildren(t.children??[])});return this.applyHyperlinkTarget(s,a,!!n),s.textContent||(s.textContent=a||r),s}evaluateIfField(e){const t=["<>",">=","<=","=",">","<"],r=e.findIndex((e,r)=>r>0&&t.includes(e));if(r<0)return"";const n=this.resolveFieldValue(e.slice(1,r).join(" ")),a=e[r],s=this.resolveFieldValue(e[r+1]??""),o=e[r+2]??"",i=e[r+3]??"",l=parseFloat(n),c=parseFloat(s),h=!Number.isNaN(l)&&!Number.isNaN(c),d=h?l:n,u=h?c:s;let m=!1;switch(a){case"=":m=d==u;break;case"<>":m=d!=u;break;case">":m=d>u;break;case"<":m=d<u;break;case">=":m=d>=u;break;case"<=":m=d<=u}return this.resolveFieldValue(m?o:i)}resolveFieldValue(e){const t=(e??"").trim();if(/^[-+]?\d+(?:\.\d+)?$/.test(t))return t;if(this.bookmarkTextMap.hasOwnProperty(t))return this.bookmarkTextMap[t];if(this.fieldSetValues.hasOwnProperty(t))return this.fieldSetValues[t];if(t.startsWith("=")){const e=this.evaluateFormula(t.substring(1));return null==e?"":`${e}`}const r=this.tokenizeFieldInstruction(t)[0]?.toUpperCase();if(["PAGE","NUMPAGES","SECTIONPAGES","SECTION","DATE","TIME","AUTHOR","TITLE","SUBJECT","KEYWORDS","REF","PAGEREF","SEQ","DOCPROPERTY"].includes(r)){const e=this.evaluateFieldNode({type:We.SimpleField,instruction:t,lock:!1,dirty:!1,children:[]});if(v(e))return e}return t}evaluateRefField(e){const t=this.firstFieldArgument(e);return t?this.bookmarkTextMap[t]??this.fieldSetValues[t]??"":""}evaluatePageRefField(e){const t=this.firstFieldArgument(e);return t?`${null!=this.bookmarkTextMap[t]?Math.max(this.currentPageNumber,1):1}`:""}evaluateSeqField(e){const t=this.firstFieldArgument(e);if(!t)return"";if(this.hasFieldSwitch(e,"\\h"))return"";const r=this.fieldSwitch(e,"\\r"),n=this.hasFieldSwitch(e,"\\c");null!=r?this.fieldSeqCounters[t]=parseInt(r,10)||0:n||(this.fieldSeqCounters[t]=(this.fieldSeqCounters[t]??0)+1);const a=this.fieldSwitch(e,"\\*")??"decimal";return this.formatFieldNumber(this.fieldSeqCounters[t]??0,this.fieldFormatSwitchToNumFormat(a))}evaluateListNumField(e){const t=this.firstFieldArgument(e)??"LISTNUM";this.fieldSeqCounters[t]=(this.fieldSeqCounters[t]??0)+1;const r=this.fieldSwitch(e,"*")??"decimal";return this.formatFieldNumber(this.fieldSeqCounters[t],this.fieldFormatSwitchToNumFormat(r))}renderTocField(e){let t=1,r=9;const n=this.fieldSwitch(e,"\\o");if(n){const e=/(\d+)\s*-\s*(\d+)/.exec(n);e&&(t=parseInt(e[1],10),r=parseInt(e[2],10))}const a=this.tocEntries.filter(e=>e.level>=t&&e.level<=r).map(e=>{const t=this.h({tagName:"span",className:`${this.className}-toc-page`,children:["1"]});return t.dataset.docxPageRef=e.id,this.h({tagName:"div",className:`${this.className}-toc-entry ${this.className}-toc-level-${e.level}`,children:[this.h({tagName:"a",className:`${this.className}-toc-title`,href:`#${e.id}`,children:[e.text]}),t]})});return this.h({tagName:"div",className:`${this.className}-toc`,children:a})}evaluateSymbolField(e){const t=parseInt(e[1],10);return Number.isFinite(t)?String.fromCharCode(t):""}evaluateFormula(e){const t=e.replace(/,/g,"").trim();if(!/^[0-9+\-*/().\s]+$/.test(t))return null;try{const e=Function(`"use strict"; return (${t});`)();return Number.isFinite(e)?e:null}catch{return null}}applyFieldFormatting(e,t){const r=this.tokenizeFieldInstruction(t);let n=e??"";const a=this.fieldSwitch(r,"\\*"),s=a?.toUpperCase(),o=this.fieldSwitch(r,"\\#");if(o){const e=parseFloat(n);Number.isNaN(e)||(n=this.formatNumberPicture(e,o))}switch(s){case"UPPER":n=n.toUpperCase();break;case"LOWER":n=n.toLowerCase();break;case"FIRSTCAP":n=n.substring(0,1).toUpperCase()+n.substring(1).toLowerCase();break;case"CAPS":n=n.replace(/\b\w/g,e=>e.toUpperCase());break;case"ROMAN":{const e=parseInt(n,10);Number.isNaN(e)||(n="roman"==a?this.toRoman(e).toLowerCase():this.toRoman(e).toUpperCase());break}case"ALPHABETIC":{const e=parseInt(n,10);Number.isNaN(e)||(n="alphabetic"==a?this.toLetters(e).toLowerCase():this.toLetters(e).toUpperCase());break}}return n}formatNumberPicture(e,t){const r=t.indexOf("."),n=r>=0?t.length-r-1:0;let a=e.toFixed(n);if(t.includes(",")){const[e,t]=a.split(".");a=e.replace(/\B(?=(\d{3})+(?!\d))/g,",")+(null!=t?`.${t}`:"")}return a}fieldFormatSwitchToNumFormat(e){if("roman"==e)return"lowerRoman";if("alphabetic"==e)return"lowerLetter";switch(e?.toUpperCase()){case"ROMAN":return"upperRoman";case"ALPHABETIC":return"upperLetter";default:return"decimal"}}formatFieldNumber(e,t){switch(t){case"upperRoman":return this.toRoman(e).toUpperCase();case"lowerRoman":return this.toRoman(e).toLowerCase();case"upperLetter":return this.toLetters(e).toUpperCase();case"lowerLetter":return this.toLetters(e).toLowerCase();case"decimalZero":return e<10?`0${e}`:`${e}`;default:return`${e}`}}toRoman(e){const t=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];let r=Math.max(Math.floor(e),0),n="";for(const[e,a]of t)for(;r>=e;)n+=a,r-=e;return n||`${e}`}toLetters(e){let t=Math.max(Math.floor(e),1),r="";for(;t>0;)t--,r=String.fromCharCode(65+t%26)+r,t=Math.floor(t/26);return r}renderRuby(e){const t=e.children?.find(e=>e.type==We.RubyBase),r=e.children?.find(e=>e.type==We.RubyText),n=[...t?this.renderElements(t.children):[],...r?S(this.renderElement(r)).filter(e=>null!=e):[]],a=this.h({tagName:"ruby",children:n});return e.align&&(a.style.rubyAlign=e.align),a}hasRenderedContent(e){for(const t of e??[]){if(!t)continue;const e=t,r=e.nodeType,n=String(e.localName??e.tagName??e.nodeName??"").toLowerCase();if(3==r||"#text"==n){if((e.textContent??e.text??e.data??"").length)return!0;continue}if(["br","img","svg","math","table"].includes(n))return!0;if((e.textContent??"").length)return!0;const a=Array.from(e.childNodes??e.children??[]);if(a.length&&this.hasRenderedContent(a))return!0}return!1}renderText(e){return this.h(this.applyCjkLineBreakGuards(e.text))}applyCjkLineBreakGuards(e){if(!e||!this.document.settingsPart?.settings?.kinsoku)return e;const t=this.document.settingsPart.settings.noLineBreaksBefore??"!),.:;?]}¢°·'\"†‡›℃∶、。々〉》」』】〕〗〙〛〜゠ァィゥェォッャュョヮ・ー-?!%,.:;゛゜ヽヾゝゞー",r=this.document.settingsPart.settings.noLineBreaksAfter??"([{$£¥'\"“‘〈《「『【〔〖〘〚";let n="";for(const a of e)t.includes(a)&&(n+="⁠"),n+=a,r.includes(a)&&(n+="⁠");return n}renderDeletedText(e){return js(this.options)||qs(Us(this.options))?this.renderText(e):null}renderBreak(e){switch(e.break){case"textWrapping":case"line":return this.h({tagName:"br"});case"column":return this.h({tagName:"span",style:{breakAfter:"column"}});case"page":return this.options.breakPages?null:this.h({tagName:"span",style:{breakAfter:"page"}});case"lastRenderedPageBreak":return this.options.breakPages||this.options.ignoreLastRenderedPageBreak?null:this.h({tagName:"span",style:{breakAfter:"page"}})}return null}renderInserted(e){return js(this.options)?this.renderRevisionContainer(e,"ins"):"original"==Us(this.options)?null:this.renderElements(e.children)}renderDeleted(e){return js(this.options)?this.renderRevisionContainer(e,"del"):"original"==Us(this.options)?this.renderElements(e.children):null}renderRevisionContainer(e,t){const r=this.renderContainer(e,t),n=e.props?.revision,a=n?.kind??("ins"==t?"insert":"delete");r.dataset.docxChangeKind=a,this.hasOwnRevisionContent(e)||(r.dataset.docxChangeEmpty="true"),r.style.setProperty("--docx-review-color",ao(n?.author)),null!=n?.id&&(r.dataset.docxChangeId=`${n.id}`),n?.author&&(r.dataset.docxChangeAuthor=n.author),n?.date&&(r.dataset.docxChangeDate=n.date,r.setAttribute("datetime",n.date));const s=[n?.author,n?.date].filter(Boolean).join(" - ");return s&&r.setAttribute("title",s),r}hasOwnRevisionContent(e){const t=e=>{for(const r of e.children??[])if(!r.props?.revision){if((r.type==We.Text||r.type==We.DeletedText)&&(r.text??"").length)return!0;if(r.type==We.Tab||r.type==We.PositionalTab||r.type==We.Break||r.type==We.Symbol)return!0;if(t(r))return!0}return!1};return t(e)}renderSymbol(e){const t=function(e,t){const r=String.fromCharCode(t);if("symbol"!==(e??"").trim().replace(/^(["'])(.*)\1$/,"$2").trim().toLowerCase())return{text:r,normalized:!1};const n=t>=61440&&t<=61695?t-61440:t,a=n>=0&&n<=255?ts[n]:void 0,s=void 0===a?r:String.fromCharCode(a);return{text:s,normalized:s!==r}}(e.font,e.char),r=this.h({tagName:"span",children:[t.text],style:{fontFamily:e.font}});return Number.isFinite(e.char)&&r.setAttribute("data-docx-symbol-code",e.char.toString(16).padStart(4,"0").toUpperCase()),e.font&&r.setAttribute("data-docx-symbol-font",e.font),t.normalized&&r.setAttribute("data-docx-symbol-normalized","true"),r}renderFootnoteReference(e){return this.renderNoteReference(e,"footnote")}renderEndnoteReference(e){return this.renderNoteReference(e,"endnote")}renderNoteReference(e,t){const r=this.h({tagName:"sup",children:[]});r.dataset.docxNoteReference=t,r.dataset.docxNoteId=e.id;for(let t=e;t;t=t.parent)if(this.isHiddenRevisionForPagination(t))return r.dataset.docxNoteHidden="true",r;const n="footnote"===t?"footnoteProps":"endnoteProps",a=function(e,t){return{format:t?.numberingFormat??t?.nummeringFormat??e?.numberingFormat??e?.nummeringFormat??"decimal",start:t?.start??e?.start??1,restart:t?.restart??e?.restart??"continuous"}}(this.document.settingsPart?.settings?.[n],this.currentSectionProps?.[n]);let s=this.noteSectionIds.get(this.currentSectionProps);null==s&&(s=`${this.noteSectionIds.size+1}`,this.noteSectionIds.set(this.currentSectionProps,s));const o=this.noteNumbering.assign(t,e.id,!!e.customMarkFollows,a,s,`${this.notePageIndex}`),i="footnote"===t?this.currentFootnoteIds:this.currentEndnoteIds;return i.includes(e.id)||i.push(e.id),r.dataset.docxNoteSection=s,r.dataset.docxNoteFormat=a.format,r.dataset.docxNoteStart=`${a.start}`,r.dataset.docxNoteRestart=a.restart,this.applyNoteAssignment(r,o,!0),r}updateDynamicNoteNumbers(e){const t=Array.from(e.querySelectorAll(`:scope > section.${this.className}`)),r=new de;for(let e=0;e<t.length;e++)for(const n of Array.from(t[e].querySelectorAll("article [data-docx-note-reference]"))){if("true"===n.dataset.docxNoteHidden)continue;const t=r.assign(n.dataset.docxNoteReference,n.dataset.docxNoteId,"true"===n.dataset.docxNoteCustom,{format:n.dataset.docxNoteFormat,start:Number(n.dataset.docxNoteStart),restart:n.dataset.docxNoteRestart},n.dataset.docxNoteSection,`${e+1}`);this.applyNoteAssignment(n,t,!0)}for(const t of Array.from(e.querySelectorAll("li[data-docx-note-id]")))this.applyNoteAssignment(t,r.assignments.get(`${t.dataset.docxNoteKind}:${t.dataset.docxNoteId}`),!1)}renderTab(e){const t=this.currentParagraph??function(e,t){var r=e.parent;for(;null!=r&&r.type!=t;)r=r.parent;return r}(e,We.Paragraph),r=t?.tabs??[],n=r.filter(e=>"clear"!=e?.style),a=this.currentParagraphTabIndex++,s=this.resolveRenderedTabStop(n,a,this.currentParagraphTabCount);var o=this.h({tagName:"span",className:this.tabStopClass(),children:[" "]});return o.dataset.docxTab="true",s&&(o.dataset.docxTabAlign=s.style??"left",o.dataset.docxTabLeader=s.leader??"none",s.position&&(o.dataset.docxTabPos=s.position)),o.dataset.docxTabId=`${this.currentTabs.length}`,this.currentTabs.push({stops:r,span:o}),o}renderBookmarkStart(e){const t=this.h({tagName:"span"});return e.name&&(t.id=e.name,t.setAttribute("id",e.name)),t}renderRun(e){const t=e.fieldRun?e.children?.filter(e=>e.type!=We.Instruction&&e.type!=We.ComplexField):e.children;if(e.fieldRun&&(!t||0==t.length))return null;let r=this.renderElements(t);e.verticalAlign&&(r=[this.h({tagName:e.verticalAlign,children:r})]);if(!e.verticalAlign&&1==t?.length&&(t[0].type==We.Tab||t[0].type==We.PositionalTab)&&1==r?.length){const t=r[0];return e.cssStyle&&Object.assign(t.style,e.cssStyle),e.className&&t.classList.add(e.className),t}const n=this.toHTML(e,Hs.html,"span",r),a=this.findStyle(e.styleName),s=e.cssStyle?.["--docx-snap-to-grid"]??this.styleValue(a,"span","--docx-snap-to-grid");if(/^(0|false|off)$/i.test(s??""))n.style.letterSpacing="normal";else if(/^(1|true|on)$/i.test(s??"")){const e=this.currentSectionProps?.docGrid;"linesAndChars"!=e?.type&&"snapToChars"!=e?.type||!e.charSpace||(n.style.letterSpacing=e.charSpace)}return e.id&&(n.id=e.id),n}renderTable(e){e.columns?.length&&!e.cssStyle?.["table-layout"]&&(e.cssStyle??(e.cssStyle={}),e.cssStyle["table-layout"]="fixed"),this.tableCellPositions.push(this.currentCellPosition),this.tableVerticalMerges.push(this.currentVerticalMerge),this.currentVerticalMerge={},this.currentCellPosition={col:0,row:0};const t=[];return e.columns&&t.push(this.renderTableColumns(e.columns)),t.push(...this.renderElements(e.children)),this.currentVerticalMerge=this.tableVerticalMerges.pop(),this.currentCellPosition=this.tableCellPositions.pop(),this.toHTML(e,Hs.html,"table",t)}renderTableColumns(e){const t=e.map(e=>this.h({tagName:"col",style:{width:e.width}}));return this.h({tagName:"colgroup",children:t})}renderTableRow(e){this.currentCellPosition.col=e.gridBefore??0;const t=[],r=this.currentTableRow;this.currentTableRow=e,e.gridBefore&&t.push(this.renderTableCellPlaceholder(e.gridBefore)),t.push(...this.renderElements(e.children)),e.gridAfter&&t.push(this.renderTableCellPlaceholder(e.gridAfter));for(const e of Object.keys(this.currentVerticalMerge))this.currentVerticalMerge[e]?.lastRow!=this.currentCellPosition.row&&delete this.currentVerticalMerge[e];this.currentTableRow=r,this.currentCellPosition.row++;const n=this.toHTML(e,Hs.html,"tr",t);return e.isHeader&&(n.dataset.docxRepeatHeader="true"),n}renderTableCellPlaceholder(e){return this.h({tagName:"td",colSpan:e,style:{border:"none"}})}renderTableCell(e){const t=this.currentTableRow?.isHeader?"th":"td";let r=this.toHTML(e,Hs.html,t);const n=this.currentCellPosition.col,a=Math.max(1,e.span??1),s=this.currentVerticalMerge[n],o=r.style.getPropertyValue?.("border-bottom")||r.style["border-bottom"]||e.cssStyle?.["border-bottom"]||"",i=r.style.getPropertyPriority?.("border-bottom")||"";if(e.verticalMerge)if("restart"==e.verticalMerge)this.currentVerticalMerge[n]={cell:r,span:a,lastRow:this.currentCellPosition.row,bottomBorder:o,bottomBorderPriority:i},r.rowSpan=1;else if(s?.span==a&&s.lastRow==this.currentCellPosition.row-1){s.cell.rowSpan+=1,s.lastRow=this.currentCellPosition.row;const e=o||s.bottomBorder||"";s.cell.style.setProperty?s.cell.style.setProperty("border-bottom",e,i||s.bottomBorderPriority):s.cell.style["border-bottom"]=e,r.style.display="none"}else delete this.currentVerticalMerge[n];else delete this.currentVerticalMerge[n];return e.span&&(r.colSpan=e.span),this.currentCellPosition.col+=r.colSpan,function(e,t,r=e=>e){const n=["tl2br","tr2bl"].filter(e=>t?.[e]&&"none"!==t[e]);if(!n.length)return;const a=e.ownerDocument??document,s="http://www.w3.org/2000/svg",o=a.createElementNS(s,"svg"),i=a.createElement("span");for(const e of n){const n=/^(\d+(?:\.\d+)?)(pt|px)\s+(\w+)\s+(.+)$/.exec(t[e]);if(!n||!Number.isFinite(Number(n[1]))||Number(n[1])<=0)continue;const[,l,c,h,d]=n;if(/url\s*\(|[;{}<>\\\x00-\x1f]/i.test(d))continue;if(i.style.color="",i.style.color=d,!i.style.color)continue;const u=a.createElementNS(s,"line");u.dataset.docxDiagonal=e,u.setAttribute("x1","tl2br"===e?"0%":"100%"),u.setAttribute("y1","0%"),u.setAttribute("x2","tl2br"===e?"100%":"0%"),u.setAttribute("y2","100%"),u.style.stroke=r(i.style.color),u.style.strokeWidth=`${l}${c}`;const m=Number(l)*("pt"===c?4/3:1);"dotted"===h?(u.style.strokeDasharray="0 "+2*m,u.style.strokeLinecap="round"):"dashed"===h&&(u.style.strokeDasharray=`${4*m} ${2*m}`),o.appendChild(u)}o.hasChildNodes()&&(o.setAttribute("aria-hidden","true"),o.setAttribute("focusable","false"),Object.assign(o.style,{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none"}),e.style.position&&"static"!==e.style.position||(e.style.position="relative"),e.appendChild(o))}(r,e.props?.diagonalBorders,e=>this.darkenColorAttr(e)),r}renderVmlPicture(e){const t=this.renderContainer(e,this.currentParagraph?"span":"div");return t.style.display="block",t}vmlLengthInPoints(e){if(null==e)return null;const t=String(e).trim();if(!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?(?:pt|px|in|cm|mm|pc)?$/i.test(t))return null;const r=parseFloat(t);return Number.isFinite(r)?/px$/i.test(t)?.75*r:/in$/i.test(t)?72*r:/cm$/i.test(t)?72*r/2.54:/mm$/i.test(t)?72*r/25.4:/pc$/i.test(t)?12*r:r:null}vmlRenderContext(e,t){const r=C(e.cssStyleText),[n,a]=e.coordOrigin??[0,0],s=e=>Number.isFinite(e)?e:0,o=this.vmlLengthInPoints(r.width),i=this.vmlLengthInPoints(r.height),l=Math.max(0,s(t?.width??4*(o??Math.abs(e.coordSize?.[0]??1))/3)),c=Math.max(0,s(t?.height??4*(i??Math.abs(e.coordSize?.[1]??1))/3)),h=e.coordSize?.[0]??o??3*l/4,d=e.coordSize?.[1]??i??3*c/4;return{originX:s(n),originY:s(a),offsetX:s(t?.x??0),offsetY:s(t?.y??0),scaleX:h>0?s(l/h):0,scaleY:d>0?s(c/d):0,width:l,height:c}}vmlMappedValue(e,t,r,n){if(null==e)return 0;const a=String(e).trim(),s=parseFloat(a);if(!Number.isFinite(s))return 0;const o="x"==r?t.scaleX:t.scaleY,i="x"==r?t.originX:t.originY,l=n?0:"x"==r?t.offsetX:t.offsetY;let c;return c=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)%$/.test(a)?s*("x"==r?t.width:t.height)/100+l:/(?:pt|px|in|cm|mm|pc)$/i.test(a)?4*(this.vmlLengthInPoints(a)??0)/3+l:null!=this.vmlLengthInPoints(a)?(n?s:s-i)*o+l:0,Number.isFinite(c)?c:0}vmlBounds(e,t,r){if(r)return r;const n=C(e.cssStyleText),a=null==n.width?t.width:this.vmlMappedValue(n.width,t,"x",!0),s=null==n.height?t.height:this.vmlMappedValue(n.height,t,"y",!0);return{x:null==n.left?t.offsetX:this.vmlMappedValue(n.left,t,"x",!1),y:null==n.top?t.offsetY:this.vmlMappedValue(n.top,t,"y",!1),width:Math.max(0,a),height:Math.max(0,s)}}vmlCombinedLength(e,t){if(!e)return t;if(!t)return e;const r=this.vmlLengthInPoints(e),n=this.vmlLengthInPoints(t);return null!=r&&null!=n?`${r+n}pt`:`calc(${e} + ${t})`}vmlRootStyle(e){const t=C(e.cssStyleText),r={},n=["position","display","left","top","right","bottom","margin-left","margin-top","width","height","z-index","opacity","visibility","overflow"];for(const e of n)null!=t[e]&&(r[e]=t[e]);return"page"==t["mso-position-horizontal-relative"]&&(r.left=this.vmlCombinedLength(r.left,r["margin-left"]),delete r["margin-left"]),"page"==t["mso-position-vertical-relative"]&&(r.top=this.vmlCombinedLength(r.top,r["margin-top"]),delete r["margin-top"]),r.display??(r.display="block"),r.overflow??(r.overflow="visible"),r["pointer-events"]="none",r}applyVmlAttributes(e,t,r=new Set){for(const[n,a]of Object.entries(t??{}))r.has(n)||e.setAttribute(n,"fill"==n||"stroke"==n?this.darkenColorAttr(a):a)}loadVmlImage(e,t){e.imageHref?.id&&this.tasks.push(this.document?.loadDocumentImage(e.imageHref.id,this.currentPart,this.options.externalResourcePolicy).then(e=>{e&&t.setAttribute("href",e)}))}renderVmlElement(e){const t=this.vmlRenderContext(e),r=this.vmlRootStyle(e);r.width??(r.width=`${t.width}px`),r.height??(r.height=`${t.height}px`);for(const e of["width","height"])/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(r[e])&&(r[e]=`${t[e]}px`);const n=this.createSvgElement("svg",{style:r});if(t.width>0&&t.height>0&&null!=this.vmlLengthInPoints(r.width)&&null!=this.vmlLengthInPoints(r.height)&&n.setAttribute("viewBox",`0 0 ${t.width} ${t.height}`),n.setAttribute("preserveAspectRatio","none"),n.setAttribute("focusable","false"),n.dataset.docxVml="true","absolute"==e.cssStyle?.position){n.dataset.docxFloat="true";const t=e.props?.anchorPosition;t?.horizontal?.relative&&(n.dataset.docxAnchorHorizontal=t.horizontal.relative),t?.vertical?.relative&&(n.dataset.docxAnchorVertical=t.vertical.relative)}return n.appendChild(this.renderVmlChildElement(e,t,{x:0,y:0,width:t.width,height:t.height},!0)),n}renderVmlChildElement(e,t,r,n=!1){const a=this.vmlBounds(e,t,r),s=this.vmlRenderContext(e,a),o=C(e.cssStyleText);let i;switch(e.tagName){case"image":{const t=this.createSvgElement("svg");t.setAttribute("x",`${a.x}`),t.setAttribute("y",`${a.y}`),t.setAttribute("width",`${a.width}`),t.setAttribute("height",`${a.height}`),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("preserveAspectRatio","none"),t.setAttribute("overflow","hidden");const r=this.createSvgElement("image");this.applyVmlAttributes(r,e.attrs),r.setAttribute("x",e.attrs.x??"0"),r.setAttribute("y",e.attrs.y??"0"),r.setAttribute("width",e.attrs.width??"100%"),r.setAttribute("height",e.attrs.height??"100%"),this.loadVmlImage(e,r),t.appendChild(r),i=t;break}case"line":{const r=this.createSvgElement("line"),n=null==e.attrs.x1?a.x:this.vmlMappedValue(e.attrs.x1,t,"x",!1),s=null==e.attrs.y1?a.y:this.vmlMappedValue(e.attrs.y1,t,"y",!1),o=null==e.attrs.x2?a.x+a.width:this.vmlMappedValue(e.attrs.x2,t,"x",!1),l=null==e.attrs.y2?a.y+a.height:this.vmlMappedValue(e.attrs.y2,t,"y",!1);r.setAttribute("x1",`${n}`),r.setAttribute("y1",`${s}`),r.setAttribute("x2",`${o}`),r.setAttribute("y2",`${l}`),this.applyVmlAttributes(r,e.attrs,new Set(["x1","y1","x2","y2"])),e.attrs.stroke||r.setAttribute("stroke","currentColor"),i=r;break}case"path":{const t=this.createSvgElement("path");this.applyVmlAttributes(t,e.attrs,new Set(["d"])),t.setAttribute("d",e.attrs.d??""),t.setAttribute("transform",`matrix(${s.scaleX} 0 0 ${s.scaleY} ${a.x-s.originX*s.scaleX} ${a.y-s.originY*s.scaleY})`),t.setAttribute("vector-effect","non-scaling-stroke"),i=t;break}case"rect":{const t=this.createSvgElement("rect");t.setAttribute("x",`${a.x}`),t.setAttribute("y",`${a.y}`),t.setAttribute("width",`${a.width}`),t.setAttribute("height",`${a.height}`),this.applyVmlAttributes(t,e.attrs,new Set(["x","y","width","height"])),i=t;break}case"ellipse":{const t=this.createSvgElement("ellipse");t.setAttribute("cx",`${a.x+a.width/2}`),t.setAttribute("cy",`${a.y+a.height/2}`),t.setAttribute("rx",""+a.width/2),t.setAttribute("ry",""+a.height/2),this.applyVmlAttributes(t,e.attrs,new Set(["cx","cy","rx","ry"])),i=t;break}case"foreignObject":{const t=this.createSvgElement("foreignObject"),[r,n,s,o]=(e.textInset??["0","0","0","0"]).map(e=>4*(this.vmlLengthInPoints(e)??0)/3);t.setAttribute("x",`${a.x+r}`),t.setAttribute("y",`${a.y+n}`),t.setAttribute("width",`${Math.max(0,a.width-r-s)}`),t.setAttribute("height",`${Math.max(0,a.height-n-o)}`),this.applyVmlAttributes(t,e.attrs,new Set(["x","y","width","height"])),t.setAttribute("overflow","hidden");const l=this.createElement("div",{style:{width:"100%",height:"100%",overflow:"hidden",boxSizing:"border-box"}});l.setAttribute("xmlns",Hs.html);for(const t of e.children??[])for(const e of S(this.renderElement(t)).filter(e=>null!=e))l.appendChild(v(e)?document.createTextNode(e):e);t.appendChild(l),i=t;break}default:i=this.createSvgElement("g"),this.applyVmlAttributes(i,e.attrs)}if("foreignObject"!=e.tagName){if(e.children?.length&&"g"!=e.tagName){const e=this.createSvgElement("g");e.appendChild(i),i=e}for(const t of e.children??[])if(t.type==We.VmlElement)i.appendChild(this.renderVmlChildElement(t,s,e.isGroup?void 0:a));else for(const e of S(this.renderElement(t)).filter(e=>null!=e))i.appendChild(v(e)?document.createTextNode(e):e)}if(e.isGroup&&"hidden"==o.overflow){const e=this.createSvgElement("svg");e.setAttribute("x",`${a.x}`),e.setAttribute("y",`${a.y}`),e.setAttribute("width",`${a.width}`),e.setAttribute("height",`${a.height}`),a.width>0&&a.height>0&&e.setAttribute("viewBox",`${a.x} ${a.y} ${a.width} ${a.height}`),e.setAttribute("overflow","hidden"),e.appendChild(i),i=e}const l=[],c=a.x+a.width/2,h=a.y+a.height/2;Number.isFinite(e.rotation)&&e.rotation&&l.push(`rotate(${e.rotation} ${c} ${h})`);const d=/x/i.test(o.flip??""),u=/y/i.test(o.flip??"");if((d||u)&&l.push(`translate(${c} ${h}) scale(${d?-1:1} ${u?-1:1}) translate(${-c} ${-h})`),l.length){const e=this.createSvgElement("g");e.setAttribute("transform",l.join(" ")),e.appendChild(i),i=e}if(!n)for(const e of["display","visibility","opacity"])null!=o[e]&&i.style.setProperty(e,o[e]);return i}renderMmlMathParagraph(e){const t=this.renderElements(e.children);for(const e of t)"math"==e?.localName&&e.setAttribute("display","block");return this.h({tagName:this.currentParagraph?"span":"div",className:`${this.className}-math-paragraph`,style:{display:"block",textAlign:"center"},children:t})}renderMmlPhantom(e){return this.renderContainerNS(e,Hs.mathML,"mphantom")}renderMmlAccent(e){const t=e.children?.find(e=>e.type==We.MmlBase),r=this.createMathMLElement("mo",null,[e.props?.char??"^"]),n=t?S(this.renderElement(t)).filter(e=>null!=e):[];return this.createMathMLElement("mover",null,[...n,r])}renderMmlRadical(e){const t=e.children.find(e=>e.type==We.MmlBase);if(e.props?.hideDegree)return this.createMathMLElement("msqrt",null,this.renderElements([t]));const r=e.children.find(e=>e.type==We.MmlDegree);return this.createMathMLElement("mroot",null,this.renderElements([t,r]))}renderMmlDelimiter(e){const t=[],r=e.props?.beginChar,n=e.props?.endChar;return""!==r&&t.push(this.createMathMLElement("mo",null,[r??"("])),t.push(...this.renderElements(e.children)),""!==n&&t.push(this.createMathMLElement("mo",null,[n??")"])),this.createMathMLElement("mrow",null,t)}renderMmlNary(e){const t=[],r=y(e.children,e=>e.type),n=r[We.MmlSuperArgument],a=r[We.MmlSubArgument],s=n?this.createMathMLElement("mrow",null,this.renderElements(n.children)):null,o=a?this.createMathMLElement("mrow",null,this.renderElements(a.children)):null,i=this.createMathMLElement("mo",null,[e.props?.char??"∫"]);return s&&o?t.push(this.createMathMLElement("munderover",null,[i,o,s])):s?t.push(this.createMathMLElement("mover",null,[i,s])):o?t.push(this.createMathMLElement("munder",null,[i,o])):t.push(i),r[We.MmlBase]&&t.push(...this.renderElements(r[We.MmlBase].children)),this.createMathMLElement("mrow",null,t)}renderMmlPreSubSuper(e){const t=[],r=y(e.children,e=>e.type),n=r[We.MmlSuperArgument],a=r[We.MmlSubArgument],s=this.createMathMLElement("mrow",null,n?this.renderElements(n.children):[]),o=this.createMathMLElement("mrow",null,a?this.renderElements(a.children):[]),i=this.createMathMLElement("mrow",null,[]);return t.push(this.createMathMLElement("msubsup",null,[i,o,s])),r[We.MmlBase]&&t.push(...this.renderElements(r[We.MmlBase].children)),this.createMathMLElement("mrow",null,t)}renderMmlGroupChar(e){const t="bot"===e.props?.verticalJustification?"munder":"mover",r=this.createMathMLElement("mrow",null,this.renderElements(e.children)),n=this.createMathMLElement("mo",null,[e.props?.char??"⏞"]);return this.createMathMLElement(t,null,[r,n])}renderMmlBar(e){const t={};switch(e.props.position){case"top":t.textDecoration="overline";break;case"bottom":t.textDecoration="underline"}return this.renderContainerNS(e,Hs.mathML,"mrow",{style:t})}renderMmlRun(e){const t=this.extractMathRunText(e);if(null!=t){const r=this.renderMathTextTokens(t,e.cssStyle);return r.length?r:null}return this.renderContainerNS(e,Hs.mathML,"mrow")}extractMathRunText(e){let t="";for(const r of e.children??[])switch(r.type){case We.Text:t+=r.text??"";break;case We.DeletedText:qs(Us(this.options))&&(t+=r.text??"");break;case We.Symbol:t+=String.fromCharCode(r.char);break;case We.Tab:t+=" ";break;case We.NoBreakHyphen:t+="‑";break;case We.SoftHyphen:break;default:return null}return t}renderMathTextTokens(e,t){const r=[];let n=0;for(;n<e.length;){const a=e[n];if(/\s/.test(a)){let t=n+1;for(;t<e.length&&/\s/.test(e[t]);)t++;r.push(this.createMathMLElement("mspace",{width:.25*Math.max(1,t-n)+"em"})),n=t;continue}if(fo(a)){let a=n+1;for(;a<e.length&&(fo(e[a])||"."==e[a]);)a++;r.push(this.createMathToken("mn",e.substring(n,a),t)),n=a;continue}if(go(a)){let a=n+1;for(;a<e.length&&go(e[a]);)a++;r.push(this.createMathToken("mi",e.substring(n,a),t)),n=a;continue}bo(a)?r.push(this.createMathToken("mo",a,t)):r.push(this.createMathToken("mtext",a,t)),n++}return r}createMathToken(e,t,r){return this.createMathMLElement(e,r?{style:r}:null,[t])}renderMllList(e){const t=this.renderElements(e.children).map(e=>this.createMathMLElement("mtr",null,[this.createMathMLElement("mtd",null,[e])]));return this.toHTML(e,Hs.mathML,"mtable",t)}toH(e,t,r,n=null){const{$lang:a,"$lang-eastAsia":s,"$lang-bidi":o,...i}=e.cssStyle??{};return{ns:t,tagName:r,className:Vs(e.className,e.styleName&&this.processStyleName(e.styleName)),lang:a,style:this.darkenStyle(i),children:n??this.renderElements(e.children)}}darkenStyle(e){if(!this.options.darkMode)return e;const t=function(e,t){if(!e)return e;let r=e;for(const n in e){const a=e[n];if("string"!=typeof a||!a)continue;let s;Ds.has(n)||n.startsWith("--")&&n.endsWith("-color")?s=Bs(a,t):Is.has(n)&&(s=zs(a,t)),void 0!==s&&s!==a&&(r===e&&(r={...e}),r[n]=s)}return r}(e);if(t===e)return e;const r={...t};for(const n in t){if(n.startsWith("--"))continue;const a=e[n],s=t[n];s===a||"string"!=typeof s||s.toLowerCase().includes("var(")||(r[n]=this.wrapForPrint(a,s))}return r}darkenColorAttr(e){if(!this.options.darkMode)return e;const t=Bs(e);return t===e||t.toLowerCase().includes("var(")?t:this.wrapForPrint(e,t)}wrapForPrint(e,t){let r=this.darkModeVarNames.get(e);return r||(r=`--docx-dm-${this.darkModeVarNames.size}`,this.darkModeVarNames.set(e,r),this.darkModePrintReset[r]=e),`var(${r}, ${t})`}renderDarkModePrintReset(){const e=Object.entries(this.darkModePrintReset);if(!this.options.darkMode||0===e.length)return[];const t=e.map(([e,t])=>` ${e}: ${t};\r\n`).join(""),r=`@media print {\r\n.${this.className} {\r\n${t}}\r\n}\r\n`;return[this.h({tagName:"style",children:[r]})]}toHTML(e,t,r,n=null){const a=this.h(this.toH(e,t,r,n));return 1===a?.nodeType&&this.applyElementRevisionMetadata(a,e),a}applyElementRevisionMetadata(e,t){const r=t.props?.revision;"insert"!==r?.kind&&"delete"!==r?.kind||(js(this.options)?(e.dataset.docxChangeKind=r.kind,e.style.setProperty("--docx-review-color",ao(r.author)),null!=r.id&&(e.dataset.docxChangeId=`${r.id}`),r.author&&(e.dataset.docxChangeAuthor=r.author),r.date&&(e.dataset.docxChangeDate=r.date)):"delete"===r.kind&&(e.style.display="none"));const n=t.props?.formatRevisions?.[0];n&&js(this.options)&&(e.dataset.docxFormatChange="true",e.style.setProperty("--docx-review-color",ao(n.author)),null!=n.id&&(e.dataset.docxChangeId=`${n.id}`),n.author&&(e.dataset.docxChangeAuthor=n.author),n.date&&(e.dataset.docxChangeDate=n.date))}findStyle(e){return e&&this.styleMap?.[e]}isTocParagraphStyle(e,t){return[e,t?.id,t?.name,t?.cssName,...t?.aliases??[]].filter(Boolean).map(e=>String(e).replace(/[\s_-]+/g,"").toLowerCase()).some(e=>/^toc[1-9]$/.test(e))}numberingClass(e,t){return`${this.className}-num-${e}-${t}`}numberingSelector(e,t){return`.${this.className} p.${this.numberingClass(e,t)}`}tabStopClass(){return`${this.className}-tab-stop`}scopeDocumentStyleSelector(e){const t=e.trim();return!t||t.startsWith(`.${this.className}`)||t.startsWith(`section.${this.className}`)||t.startsWith(`.${this.className}-wrapper`)?e:`.${this.className} ${e}`}styleToString(e,t,r=null){let n=`${e} {\r\n`;const a=this.darkenStyle(t);for(const e in a)e.startsWith("$")||(n+=` ${e}: ${a[e]};\r\n`);return r&&(n+=r),n+"}\r\n"}numberingCounter(e,t){return`${this.className}-num-${e}-${t}`}numberingRestartLevel(e){if(e.level<=0)return null;if(null==e.restart)return e.level-1;if(0==e.restart)return null;const t=e.restart-1;return t>=0&&t<e.level?t:null}numberingMarkerRunStyle(e,t){if(!e)return e;const r={...e};return t&&delete r["font-family"],r}normalizeNumberingLevelText(e,t,r){if("bullet"!=t||!e)return{text:e,normalized:!1};const n=(r?.["font-family"]??"").toLowerCase();let a=!1,s=null;if(n.includes("wingdings"))s=this.wingdingsBulletMap();else{if(!n.includes("symbol"))return{text:e,normalized:!1};s=this.symbolBulletMap()}let o="";for(const t of e){const e=s[t.charCodeAt(0)];e?(o+=e,a=!0):o+=t}return{text:o,normalized:a}}symbolBulletMap(){return{183:"•",8226:"•",61623:"•"}}wingdingsBulletMap(){return{61548:"●",61550:"■",61557:"◆",61598:"·",61599:"•",61600:"▪",61601:"○",61604:"◉",61605:"◎",61607:"▪",61608:"◻",61656:"➢",61672:"➔",61690:"▫",61691:"✗",61692:"✓",61693:"☒",61694:"☑"}}levelTextToContent(e,t,r,n,a){const s=[];let o=0;for(const t of e.matchAll(/%\d+/g)){t.index>o&&s.push(`"${this.escapeCssString(e.substring(o,t.index))}"`);let i=parseInt(t[0].substring(1),10)-1;const l=a?.get(`${r}:${i}`)??n??"decimal";s.push(`counter(${this.numberingCounter(r,i)}, ${l})`),o=t.index+t[0].length}const i=e.substring(o);i&&s.push(`"${this.escapeCssString(i)}"`);const l=this.numberingSuffixToCssContent(t);return l&&s.push(l),s.length>0?s.join(" "):'""'}numberingSuffixToCssContent(e){switch(e||"tab"){case"nothing":return"";case"space":return'"\\000020"';default:return'"\\000009"'}}escapeCssString(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\r?\n/g,"\\A ")}numFormatToCssValue(e){return{none:"none",bullet:"disc",decimal:"decimal",lowerLetter:"lower-alpha",upperLetter:"upper-alpha",lowerRoman:"lower-roman",upperRoman:"upper-roman",decimalZero:"decimal-leading-zero",aiueo:"katakana",aiueoFullWidth:"katakana",chineseCounting:"simp-chinese-informal",chineseCountingThousand:"simp-chinese-informal",chineseLegalSimplified:"simp-chinese-formal",chosung:"hangul-consonant",ideographDigital:"cjk-ideographic",ideographTraditional:"cjk-heavenly-stem",ideographLegalTraditional:"trad-chinese-formal",ideographZodiac:"cjk-earthly-branch",iroha:"katakana-iroha",irohaFullWidth:"katakana-iroha",japaneseCounting:"japanese-informal",japaneseDigitalTenThousand:"cjk-decimal",japaneseLegal:"japanese-formal",thaiNumbers:"thai",koreanCounting:"korean-hangul-formal",koreanDigital:"korean-hangul-formal",koreanDigital2:"korean-hanja-informal",hebrew1:"hebrew",hebrew2:"hebrew",hindiNumbers:"devanagari",ganada:"hangul",taiwaneseCounting:"cjk-ideographic",taiwaneseCountingThousand:"cjk-ideographic",taiwaneseDigital:"cjk-decimal"}[e]??e??"decimal"}refreshTabStops(e){const t=e?.querySelectorAll?Array.from(e.querySelectorAll("[data-docx-tab-id]")):this.currentTabs.map(e=>e.span);for(const e of t){if(!e.isConnected||!this.ownsLayoutElement(e))continue;const t=this.currentTabs[Number(e.dataset.docxTabId)];t&&(!hs(e,t.stops)&&this.options.experimental&&os(e,t.stops,this.defaultTabSize,ss()))}}createElementNS(e,t,r,n){return this.h({ns:e,tagName:t,children:n,...r})}createElement(e,t,r){return this.createElementNS(Hs.html,e,t,r)}createMathMLElement(e,t,r){return this.createElementNS(Hs.mathML,e,t,r)}createSvgElement(e,t,r){return this.createElementNS(Hs.svg,e,t,r)}later(e){this.postRenderTasks.push(e)}}function fo(e){return e>="0"&&e<="9"}function go(e){if(!e)return!1;const t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||t>=913&&t<=1023||t>=119808&&t<=120831}function bo(e){return"()+-−=<>≤≥≈≠×÷*/·∙∑Σ∏∫√∞∂∇,.;:[]{}|‖!′″→←↔⇒⇔∈∉⊂⊃⊆⊇∧∨¬".includes(e)}po.nextCommentId=0;function yo(e){const t=function(e){if(null==e)return 0;if("undefined"!=typeof Blob&&e instanceof Blob)return e.size;if("undefined"!=typeof ArrayBuffer){if(e instanceof ArrayBuffer)return e.byteLength;if(ArrayBuffer.isView(e))return e.byteLength}return"number"==typeof e.size?e.size:"number"==typeof e.byteLength?e.byteLength:"number"==typeof e.length?e.length:null}(e);if(0===t)throw new Error("文件为空或尚未保存,无法作为 Word 文档打开。请在 WPS/Word 中保存后重新上传。")}const xo={ignoreHeight:!1,ignoreWidth:!1,fixedPageHeight:!0,ignoreFonts:!1,breakPages:!0,strictWordCompatibility:!0,paginationTolerance:2,maxDynamicPaginationPasses:1e3,awaitLayout:!0,useWorker:!0,workerUrl:void 0,workerFactory:void 0,workerJsZipUrl:void 0,workerFallback:!0,workerTimeout:12e4,renderPageBatchSize:2,renderYieldEveryMs:16,progress:void 0,preserveComplexFieldResults:!0,updatePageReferences:!1,hideWebHiddenContent:!1,externalLinkPolicy:"allow",externalResourcePolicy:"block",darkMode:!1,debug:!1,experimental:!1,className:"docx",inWrapper:!0,hideWrapperOnPrint:!1,trimXmlDeclaration:!0,ignoreLastRenderedPageBreak:!1,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,renderEndnotes:!0,useBase64URL:!1,renderChanges:!1,reviewMode:void 0,reviewPresentation:"balloon",renderComments:!1,renderAltChunks:!0,h:Ws};function wo(e){const t={...xo,...e};return null!=e?.reviewMode&&null==e.renderComments&&(t.renderComments=!0),t}function vo(e,t,r){if("auto"!==t.reviewMode)return t;const n=_s(e,"auto");return t.reviewMode=n.enabled?n.mode:void 0,t.renderChanges=n.enabled,null==r?.renderComments&&(t.renderComments=n.enabled),t}function ko(e,t){const r=wo(t);return r.licenseToken,yo(e),function(e){return!(!e.useWorker||!e.workerFactory&&!e.workerUrl||"undefined"==typeof Worker)}(r)?Mo(e,r).catch(t=>{if(!r.workerFallback)throw t;r.debug&&console.warn("docx-preview: worker parsing failed; falling back to main thread",t);const n={...r,useWorker:!1};return Co(e,n)}):Co(e,r)}function Co(e,t){return yo(e),t.progress?.({phase:"parse",message:"Parsing DOCX on main thread"}),Ca.load(e,new Ka(t),t)}async function So(e,t){const r=vo(e,wo(t),t);r.licenseToken;const n=new po;return await n.render(e,r)}const No=new WeakMap;function Ao(e){const{h:t,progress:r,licenseToken:n,workerFactory:a,...s}=e;return{...s,useWorker:!1}}let Po=0;function Mo(e,t){const r={...xo,...t};return r.licenseToken,yo(e),!r.workerFactory&&!r.workerUrl||"undefined"==typeof Worker?Co(e,{...r,useWorker:!1}):(r.progress?.({phase:"worker",message:"Starting DOCX parse worker"}),new Promise((t,n)=>{const a=++Po,s=r.workerFactory?r.workerFactory():new Worker(r.workerUrl);let o=!1,i=null;const l=()=>{o=!0,i&&clearTimeout(i),s.terminate()};r.workerTimeout>0&&(i=setTimeout(()=>{o||(l(),n(new Error(`docx-preview worker timed out after ${r.workerTimeout}ms`)))},r.workerTimeout)),s.onerror=e=>{o||(l(),n(new Error(e.message||"docx-preview worker error")))},s.onmessage=e=>{const s=e.data??{};if(s.id===a||"ready"===s.type)if("progress"!==s.type){if("parsed"===s.type)return l(),r.progress?.({phase:"worker",message:"Worker parse complete"}),void t(Ca.fromSnapshot(s.snapshot,r));if("error"===s.type){l();const e=new Error(s.error?.message??"docx-preview worker parse failed");e.stack=s.error?.stack,n(e)}}else r.progress?.({phase:"worker",current:s.current,total:s.total,message:s.message})},s.postMessage({type:"parse",id:a,data:e,options:Ao(r),jsZipUrl:r.workerJsZipUrl})}))}async function $o(e,t){const r={...xo,...t},n=i(e);await l(e,[],n),await mo(e,n);const a=Array.from(e.querySelectorAll(`.${r.className}-wrapper`));if(e.classList?.contains(`${r.className}-wrapper`)&&a.unshift(e),r.breakPages&&r.fixedPageHeight&&!r.ignoreHeight&&a.length){const t=Math.max(2,r.maxDynamicPaginationPasses??120),s=()=>a.some(e=>"true"===e.dataset.docxPaginating||"true"===e.dataset.docxPaginationScheduled);for(let r=0;r<t;r++){await Do(),o(e,n);const t=a.find(e=>e.dataset.docxLayoutError);if(t)throw new Error(t.dataset.docxLayoutError);if(!s())break}if(s())throw new Error("DOCX layout did not settle within the configured pagination wait budget")}return await Do(),o(e,n),await mo(e,n),o(e,n),Lo(e,r)}const To=new WeakMap;function Fo(e){!function(e){r.get(e)?.cancel(),r.delete(e)}(e),To.get(e)?.(),To.delete(e),function(e){const t=new Set,r=[e,...Array.from(e.querySelectorAll("[data-docx-layout-root], [data-docx-comment-layer]"))];for(const e of r){const r=uo.get(e);r&&t.add(r),uo.delete(e)}for(const e of t)e.disposeLayout()}(e);const t=No.get(e);t&&e.removeEventListener("click",t),No.delete(e)}function Lo(e,t){const r={...xo,...t},n=Array.from(e.querySelectorAll(`section.${r.className}`)).map((e,t)=>{const n=Array.from(e.querySelectorAll("[data-docx-field-instr]")),a=Array.from(e.querySelectorAll("img")).filter(e=>!e.complete||0===e.naturalWidth).length,s=e.clientHeight>0&&e.scrollHeight>e.clientHeight+(r.paginationTolerance??2);return{index:t+1,section:e.dataset.docxSection??"",pageNumber:parseInt(e.dataset.docxPageNumber??`${t+1}`,10),sectionPageNumber:parseInt(e.dataset.docxSectionPageNumber??"1",10),width:e.clientWidth,height:e.clientHeight,scrollHeight:e.scrollHeight,overflow:s,textLength:e.textContent?.length??0,anchors:Array.from(e.querySelectorAll("[id]")).map(e=>e.id).filter(Boolean),fields:n.map(e=>({instruction:e.dataset.docxFieldInstr??"",value:e.textContent??""})),floats:e.querySelectorAll('[data-docx-float="true"]').length,unresolvedMedia:a}});return{pageCount:n.length,overflowPages:n.filter(e=>e.overflow).map(e=>e.index),unresolvedMedia:n.reduce((e,t)=>e+t.unresolvedMedia,0),textLength:n.reduce((e,t)=>e+t.textLength,0),fields:n.flatMap(e=>e.fields),floats:n.reduce((e,t)=>e+t.floats,0),pages:n}}function Eo(e,t="docx"){if(!e||"function"!=typeof getComputedStyle)return;const r=Array.from(e.querySelectorAll("p")),n=`${t}-num-`;for(const e of r){if(!e.className?.includes(n))continue;const t=getComputedStyle(e,"::before");if(!t.content||"none"==t.content||"normal"==t.content)continue;const r=Ro(e);if(!r||r==e)continue;const a=getComputedStyle(r);Bo(e,"--docx-marker-font-family",a.fontFamily),Bo(e,"--docx-marker-font-size",a.fontSize),Bo(e,"--docx-marker-font-style",a.fontStyle),Bo(e,"--docx-marker-font-weight",a.fontWeight)}}function Ro(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;t.nextNode();){const r=t.currentNode;if(!r.nodeValue?.trim())continue;const n=r.parentElement;if(!n||n==e)return e;const a=getComputedStyle(n);if("none"!=a.display&&"hidden"!=a.visibility)return n}return null}function Bo(e,t,r){r&&e.style.setProperty(t,r)}function Do(){return new Promise(e=>{const t=globalThis;"function"==typeof t.requestIdleCallback?t.requestIdleCallback(()=>e(),{timeout:32}):"function"==typeof t.requestAnimationFrame?t.requestAnimationFrame(()=>e()):setTimeout(e,0)})}e.awaitRenderedLayout=$o,e.collectDocxReviewChanges=Gs,e.collectLayoutSnapshot=Lo,e.defaultOptions=xo,e.disposeRenderedDocument=Fo,e.parseAsync=ko,e.parseAsyncInWorker=Mo,e.renderAsync=async function(e,t,r,n){const s=wo(n);s.licenseToken,Fo(t);const c=a(t),h=await ko(e,s);o(t,c,!1),vo(h,s,n);const d=await So(h,s);o(t,c,!1),r??(r=t),r===t||r.replaceChildren(),t.replaceChildren();let u=0;for(let e of d){("STYLE"===e.nodeName?r:t).appendChild(e),u++,s.renderYieldEveryMs>0&&u%8==0&&(await Do(),o(t,c,!1))}!function(e){const t=No.get(e);t&&e.removeEventListener("click",t);const r=t=>{const r=t;if(r.defaultPrevented||0!=r.button||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey)return;const n=r.target;if(!(n instanceof Element))return;const a=n.closest('a[href^="#"]');if(!a||!e.contains(a))return;const s=a.getAttribute("href");if(!s||"#"==s)return;let o=s.substring(1);try{o=decodeURIComponent(o)}catch{return}const i=Array.from(e.querySelectorAll("[id]")).find(e=>e.id==o);i&&(r.preventDefault(),i.scrollIntoView({block:"start",inline:"nearest"}))};e.addEventListener("click",r),No.set(e,r)}(t),js(s)?(t.dataset.docxReviewEnabled="true",t.dataset.docxReviewMode=Us(s),t.dataset.docxReviewPresentation=s.reviewPresentation??"balloon"):(delete t.dataset.docxReviewEnabled,delete t.dataset.docxReviewMode,delete t.dataset.docxReviewPresentation),Eo(t,s.className);let m=null;if(s.awaitLayout)s.progress?.({phase:"layout",message:"Measuring rendered pages"}),m=await $o(t,s),o(t,c),Eo(t,s.className);else{const e=i(t,c);l(t,[],e).then(()=>mo(t,e)).catch(()=>{})}return function(e,t,r){To.get(e)?.();const n=e.ownerDocument.defaultView;if(!n||"function"!=typeof n.requestAnimationFrame||"function"!=typeof n.cancelAnimationFrame)return;let a=0,s=!1,o=!1,c=!1;const h=async()=>{if(a=0,s||o||!r.isCurrent()||!e.isConnected)return;const n=e.querySelector(`.${t.className}-wrapper`);if("true"!==n?.dataset.docxPaginating&&"true"!==n?.dataset.docxPaginationScheduled){o=!0,c=!1;try{const t=i(e,r);await l(e,[],t),await mo(e,t)}catch(e){r.isCurrent()&&"AbortError"!==e?.name&&(n&&(n.dataset.docxLayoutError=e?.message??"DOCX layout failed"),t.debug&&console.warn("DOCX layout refresh failed",e))}finally{o=!1,c&&d()}}},d=()=>{!s&&r.isCurrent()&&(o?c=!0:a||(a=n.requestAnimationFrame(()=>{h()})))},u=n.ResizeObserver?new n.ResizeObserver(d):null,m=e=>{const t=new Set(e.flatMap(e=>Array.from(e.addedNodes))),r=new Set(e.flatMap(e=>Array.from(e.removedNodes)));[...t,...r].some(e=>e.isConnected||!t.has(e)||!r.has(e))&&d()},p="function"==typeof n.MutationObserver?new n.MutationObserver(m):null;u?.observe(e),p?.observe(e,{childList:!0,subtree:!0}),n.addEventListener("resize",d),e.ownerDocument.fonts?.addEventListener?.("loadingdone",d);const f=()=>{s||(s=!0,n.cancelAnimationFrame(a),u?.disconnect(),p?.disconnect(),n.removeEventListener("resize",d),e.ownerDocument.fonts?.removeEventListener?.("loadingdone",d),r.signal.removeEventListener("abort",f))};r.signal.addEventListener("abort",f,{once:!0}),To.set(e,f)}(t,s,c),s.progress?.({phase:"done",current:m?.pageCount,total:m?.pageCount,message:"DOCX render complete"}),h},e.renderDocument=So,e.resolveDocxReviewState=_s,e.setDocxReviewMode=function(e,t){if(!e||"final"!==(r=t)&&"original"!==r&&"simple"!==r&&"all"!==r)return!1;var r;const n=Array.from(e.querySelectorAll("[data-docx-review-enabled='true']"));if("true"===e.dataset?.docxReviewEnabled&&n.unshift(e),0===n.length)return!1;for(const e of new Set(n))e.dataset.docxReviewMode=t;return!0},e.syncNumberingMarkerStyles=Eo,e.yieldToBrowser=Do});
26
+ */const ts={33:33,34:8704,35:35,36:8707,37:37,38:38,39:8715,40:40,41:41,42:8727,43:43,44:44,45:8722,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:8773,65:913,66:914,67:935,69:917,70:934,71:915,72:919,73:921,74:977,75:922,76:923,77:924,78:925,79:927,80:928,81:920,82:929,83:931,84:932,85:933,86:962,88:926,89:936,90:918,91:91,92:8756,93:93,94:8869,95:95,97:945,98:946,99:967,100:948,101:949,102:966,103:947,104:951,105:953,106:981,107:954,108:955,110:957,111:959,112:960,113:952,114:961,115:963,116:964,117:965,118:982,119:969,120:958,121:968,122:950,123:123,124:124,125:125,126:8764,160:8364,161:978,162:8242,163:8804,165:8734,166:402,167:9827,168:9830,169:9829,170:9824,171:8596,172:8592,173:8593,174:8594,175:8595,176:176,177:177,178:8243,179:8805,180:215,181:8733,182:8706,183:8226,184:247,185:8800,186:8801,187:8776,188:8230,191:8629,192:8501,193:8465,194:8476,195:8472,196:8855,197:8853,198:8709,199:8745,200:8746,201:8835,202:8839,203:8836,204:8834,205:8838,206:8712,207:8713,208:8736,209:8711,213:8719,214:8730,215:8901,216:172,217:8743,218:8744,219:8660,220:8656,221:8657,222:8658,223:8659,224:9674,225:9001,229:8721,241:9002,242:8747,243:8992,245:8993};class rs{constructor(e,t,r){this.className=e,this.createLayer=t,this.layoutContent=r,this.records=new Map,this.bindingRoot=null,this.binding=null,this.root=t(),this.root.dataset.docxCommentLayer="true"}add(e){this.records.set(e.key,e),this.root.appendChild(e.popup)}references(e,t){return Array.from(e.querySelectorAll("[data-docx-comment-reference]")).filter(e=>e.dataset.docxCommentReference===t.key)}place(e,t){const r=t.ownerDocument?.defaultView;if(!r||!t.isConnected||!this.root.isConnected)return;const n=this.root,a=n.getBoundingClientRect(),s=t.getBoundingClientRect(),o=e.references.find(e=>!e.closest("a"))??e.references[0]??t,i=o.getBoundingClientRect(),l=parseFloat(r.getComputedStyle(n).width),c=l>0?a.width/l:0;if(!(c>0&&Number.isFinite(c)&&s.width&&s.height&&i.width&&i.height))return;e.positionedReference!==o&&e.positionedReference&&delete e.positionedReference.dataset.docxCommentPositioned,e.positionedReference=o,e.reference=t;const h=(s.left-a.left)/c,d=(s.top-a.top)/c;let u=(i.left-a.left)/c;const m=(i.top-a.top)/c,p=i.width/c,f=o.closest("a");if(f){const e=f.getBoundingClientRect(),t=o.closest("section")??n,s=t.getBoundingClientRect(),i=r.getComputedStyle(t),h=(s.left-a.left)/c,d=(s.right-a.left)/c,m=(e.left-a.left)/c,g=(e.right-a.left)/c,b=4;u=[h+(parseFloat(i.paddingLeft)||0)-p-b,d-(parseFloat(i.paddingRight)||0)+b,h-p-b,d+b].find(e=>e>=0&&e+p<=l&&(e+p<=m-b||e>=g+b))??Math.max(l,g)+b}e.popup.style.position="absolute",e.popup.style.left=`${u}px`,e.popup.style.top=`${m}px`;const g=r.getComputedStyle(o);if(e.summary.style.fontSize=g.fontSize,e.summary.style.fontFamily=g.fontFamily,e.summary.style.lineHeight=g.lineHeight,e.summary.style.width=`${p}px`,e.summary.style.height=i.height/c+"px",f?delete o.dataset.docxCommentPositioned:o.dataset.docxCommentPositioned="true",e.popup.open){const t=e.body.getBoundingClientRect().width/c,n=Math.min(0,Math.max(-h,l-h-t));e.body.style.left=`${h-u+n}px`,e.body.style.maxWidth=`${Math.max(0,l)}px`;const o=a.height/c,p=Math.max(0,Math.min(o-d-s.height/c,(r.innerHeight-s.bottom)/c)),f=Math.max(0,Math.min(d,s.top/c)),g=p<120&&f>p;e.body.style.top=g?"auto":d-m+s.height/c+"px",e.body.style.bottom=g?m+i.height/c-d+"px":"auto",e.body.style.maxHeight=`${Math.max(1,g?f:p)}px`}}close(e){delete e.restoringOpen,e.revision++,e.opening?.abort(),e.opening=null,e.open=!1,e.popup.open=!1,e.references.forEach(e=>e.setAttribute("aria-expanded","false"))}activate(e,t,r,n=!1){if(!r.generation.isCurrent()||!t.isConnected)return Promise.resolve();delete e.restoringOpen,e.reference=t;const a=e.open;if(e.open=!0,e.popup.open=!0,e.references.forEach(e=>e.setAttribute("aria-expanded","true")),this.place(e,t),a&&!n)return e.layout??Promise.resolve();e.opening?.abort();const s=e.opening=new AbortController,o=++e.revision,i=()=>s.abort();r.generation.signal.addEventListener("abort",i,{once:!0});const c={signal:s.signal,cancel:i,isCurrent:()=>!s.signal.aborted&&r.generation.isCurrent()&&e.revision===o&&e.popup.open&&e.reference.isConnected};return e.body.dataset.docxCommentLayout="pending",e.layout=l(e.body,[],c).then(()=>{c.isCurrent()&&(this.layoutContent(e.body),this.place(e,e.reference),e.body.dataset.docxCommentLayout="ready")}).catch(t=>{e.revision===o&&(e.body.dataset.docxCommentLayout="AbortError"===t?.name?"cancelled":"failed")}).finally(()=>r.generation.signal.removeEventListener("abort",i)),e.layout}async bind(e,t){if(!e.isConnected||!t.isCurrent()||"function"!=typeof e.addEventListener)return;let r=this.binding;if(r&&r.generation.signal===t.signal&&(this.bindingRoot===e||this.bindingRoot.contains(e)))return r.generation=t,void await this.sync(this.bindingRoot,r,!0);r&&r.dispose(r.generation.isCurrent()&&e.isConnected),r=null;const n=[],a=(e,t,r,a=!1)=>{e.addEventListener(t,r,a),n.push(()=>e.removeEventListener(t,r,a))};let s=Array.from(this.records.values()).find(e=>e.popup.open)??null,o=null,i=!1,l=!1;const c=()=>{let t=e.getRootNode().activeElement??e.ownerDocument.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t},h=e=>{const t=e.reference.hasAttribute("tabindex")?e.reference:e.summary;i=!0,t.focus(),i=!1},d=e=>e&&1===e.nodeType?e:null,u=e=>{const t=d(e)?.closest("[data-docx-comment-reference], [data-docx-comment-popup]");return t?this.records.get(t.dataset.docxCommentReference??t.dataset.docxCommentPopup):null},m=(e,t)=>{const r=t;return!!r&&(e.popup.contains(r)||e.references.some(e=>e.contains(r)))},p=(e=s)=>{e&&this.close(e),s===e&&(s=null)};r={generation:t,dispose:(t=!1)=>{n.splice(0).forEach(e=>e());for(const e of this.records.values())t||this.close(e),e.positionedReference&&delete e.positionedReference.dataset.docxCommentPositioned,delete e.positionedReference;this.binding===r&&(this.binding=null,this.bindingRoot=null),e.isConnected&&r.generation.isCurrent()||this.root.remove()}},this.binding=r,this.bindingRoot=e;const f=(e,t)=>{if(l)return;s&&s!==e&&this.close(s),s=e;const n=d(t),a=n?.closest("[data-docx-comment-reference]")??(e.summary.contains(n)?e.positionedReference:null)??e.reference;this.activate(e,a,r)};a(e,"mouseover",e=>{const t=u(e.target);if(t){if(s&&s!==t&&m(s,c()))return;o=t,f(t,e.target)}}),a(e,"mouseout",e=>{const t=e.relatedTarget;s&&!m(s,t)&&(o=null,m(s,c())||p())}),a(e,"focusin",e=>{const t=u(e.target);!i&&t&&d(e.target)?.dataset.docxCommentReference&&f(t,e.target)}),a(e,"focusout",e=>{s&&o!==s&&!m(s,e.relatedTarget)&&p()}),a(e,"click",e=>{const t=d(e.target)?.closest("[data-docx-comment-reference]"),r=t&&this.records.get(t.dataset.docxCommentReference);r&&(e.preventDefault(),e.stopPropagation(),r.popup.open?p(r):f(r,t))}),a(e,"keydown",e=>{const t=e,r=u(e.target);if(!r)return;const n=d(e.target)?.closest("[data-docx-comment-reference]");if(!n||"Enter"!==t.key&&" "!==t.key){if("Escape"===t.key)e.preventDefault(),e.stopPropagation(),p(r),h(r);else if("Tab"===t.key&&r.popup.open){const a=Array.from(r.body.querySelectorAll("a[href], button, input, select, textarea, [tabindex]")).filter(e=>e.tabIndex>=0&&!e.disabled);n&&!t.shiftKey&&a.length?(e.preventDefault(),a[0].focus()):t.shiftKey&&e.target===a[0]?(e.preventDefault(),h(r)):t.shiftKey||e.target!==a[a.length-1]||(h(r),p(r))}}else e.preventDefault(),e.stopPropagation(),r.popup.open?p(r):f(r,n)}),a(e,"toggle",e=>{const t=u(e.target);if(t&&e.target===t.popup&&!l){if(void 0!==t.restoringOpen){const e=t.restoringOpen;if(delete t.restoringOpen,t.popup.open===e)return}t.popup.open&&!t.open?f(t,t.reference):!t.popup.open&&t.open&&(this.close(t),s===t&&(s=null))}},!0);const g=e.ownerDocument.defaultView;if(g){const t=()=>{!l&&r.generation.isCurrent()&&this.sync(e,r,!0)};a(g,"resize",t),a(g,"scroll",t,!0);const s=new Map;a(g,"beforeprint",()=>{if(!l&&r.generation.isCurrent()){l=!0;for(const e of this.records.values())s.set(e,e.popup.open),e.popup.open=!0,this.layoutContent(e.body)}}),a(g,"afterprint",()=>{if(l){for(const[e,t]of s)e.restoringOpen=t,t||e.opening?.abort(),e.open=t,e.popup.open=t,e.references.forEach(e=>e.setAttribute("aria-expanded",`${t}`));s.clear(),l=!1,this.sync(e,r,!0)}});const o=g.MutationObserver;if(o){const t=new o(()=>{e.isConnected&&r.generation.isCurrent()||r.dispose()});t.observe(e.ownerDocument.documentElement,{childList:!0,subtree:!0});for(let r=e.getRootNode();r&&r!==e.ownerDocument;r=r.host?.getRootNode())t.observe(r,{childList:!0,subtree:!0});n.push(()=>t.disconnect())}}a(t.signal,"abort",()=>r.dispose()),await this.sync(e,r,!0)}async sync(e,t,r=!1){const n=[];for(const a of this.records.values()){const s=this.references(e,a);if(!s.length)continue;a.references=s;const o=s.includes(a.reference)?a.reference:s[0];this.place(a,o),t&&a.popup.open&&r?n.push(this.activate(a,o,t,!0)):a.layout&&n.push(a.layout)}await Promise.all(n)}}const ns={pos:0,leader:"none",style:"left"},as=.1;function ss(e=document.body){const t=document.createElement("div");t.style.width="100pt",e.appendChild(t);const r=100/t.offsetWidth;return e.removeChild(t),r}function os(e,t,r,n=.75){const a=e.closest("p");if(!a)return;const s=e.getBoundingClientRect(),o=a.getBoundingClientRect(),i=getComputedStyle(a);if("rtl"==i.direction||i.writingMode&&"horizontal-tb"!=i.writingMode)return;const l=is(i.marginInlineStart||i.marginLeft),c=is(i.marginInlineEnd||i.marginRight),h=is(i.textIndent),d=t?.length>0?t.map(e=>({pos:ls(e.position),leader:e.leader,style:e.style})).sort((e,t)=>e.pos-t.pos):[ns],u=l*n,m=d.some(e=>Math.abs(e.pos-u)<=as);h<-.1&&u>as&&!m&&(d.push({...ns,pos:u}),d.sort((e,t)=>e.pos-t.pos));const p=d[d.length-1],f=(o.width+l+c)*n,g=Number.isFinite(ls(r))?ls(r):36;let b=p.pos+g;if(b<f)for(;b<f&&d.length<50;b+=g)d.push({...ns,pos:b});const y=o.left-l,x=(s.left-y)*n,w=d.find(e=>"clear"!=e.style&&e.pos>x);if(null==w)return;if(!["left","right","center"].includes(w.style||"left"))return;let v=1;if("right"==w.style||"center"==w.style){const t=Array.from(a.querySelectorAll(`.${e.className}`)),r=t.indexOf(e)+1,s=document.createRange();s.setStart(e,1),r<t.length?s.setEndBefore(t[r]):s.setEnd(a,a.childNodes.length);const o="center"==w.style?.5:1,i=s.getBoundingClientRect(),l=i.left+o*i.width-y;v=w.pos-l*n}else v=w.pos-x;const k=Math.max(Number.isFinite(v)?v:0,0);switch(" "!==e.textContent&&(e.textContent=" "),e.style.display="inline-block",e.style.width=`${k.toFixed(2)}pt`,e.style.minWidth="0pt",e.style.lineHeight="1",e.style.whiteSpace="nowrap",e.style.wordSpacing="normal",e.style.textDecoration="none",e.style.borderBottom="",e.style.height="",e.style.transform="",w.leader){case"dot":case"middleDot":e.style.borderBottom="1px dotted currentColor",e.style.height=".85em",e.style.transform="translateY(-.18em)";break;case"hyphen":case"heavy":case"underscore":e.style.borderBottom="1px solid currentColor",e.style.height=".85em",e.style.transform="translateY(-.18em)"}}function is(e){const t=parseFloat(e);return Number.isFinite(t)?t:0}function ls(e){return parseFloat(e)}function cs(e){const t=/^\s*([-+]?(?:\d+(?:\.\d*)?|\.\d+))(pt|px|pc|in|cm|mm)?\s*$/i.exec(e??"");if(!t)return null;const r={pt:1,px:.75,pc:12,in:72,cm:72/2.54,mm:72/25.4}[t[2]?.toLowerCase()??"pt"],n=Number(t[1])*r;return Number.isFinite(n)?n:null}function hs(e,t){const r="explicit"==e.dataset.docxTabLayout,n=r?e.dataset.docxTabFallbackWidth??"":e.style.width,a=r?e.dataset.docxTabFallbackMinWidth??"":e.style.minWidth??"",s=e.style.display,o=()=>(r&&(e.style.width=n,e.style.minWidth=a),e.style.display=s,!1),i=e.closest("p"),l=e.ownerDocument?.defaultView;if(!i||!l||!e.isConnected)return o();const c=l.getComputedStyle(i);if("rtl"==c.direction||c.writingMode&&"horizontal-tb"!=c.writingMode)return o();const h=t.filter(e=>"clear"!=e.style).map(e=>({...e,point:cs(e.position)}));if(!h.length||h.some(e=>null==e.point))return o();h.sort((e,t)=>e.point-t.point);const d=e.style.width;e.style.display="inline-block",e.style.width="0pt";const u=e.getBoundingClientRect(),m=i.getBoundingClientRect(),p=is(c.width)+("border-box"==c.boxSizing?0:is(c.paddingLeft)+is(c.paddingRight)+is(c.borderLeftWidth)+is(c.borderRightWidth)),f=p>0?m.width/p:0;if(!(f>0&&Number.isFinite(f)))return e.style.width=d,o();const g=m.left/f-is(c.marginLeft),b=.75*(u.left/f-g),y=h.find(e=>e.point>b+as);if(!y||!["left","right","center"].includes(y.style||"left")||y.leader&&"none"!=y.leader)return e.style.width=d,o();const x=e=>{for(;e&&e!=i;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}return null};let w=null;for(let t=x(e);t;){if(1==t.nodeType){const e=t;if("BR"==e.tagName||"P"==e.tagName||"true"==e.dataset.docxTab||"true"==e.dataset.docxDrawing){w=e;break}}t=t.firstChild??x(t)}let v=0;if("right"==y.style||"center"==y.style){const t=e.ownerDocument.createRange();if(t.setStartAfter(e),w?t.setEndBefore(w):t.setEnd(i,i.childNodes.length),v=t.getBoundingClientRect().width/f*.75,!Number.isFinite(v))return e.style.width=d,o()}const k="right"==y.style?1:"center"==y.style?.5:0,C=Math.max(0,y.point-b-k*v);return" "!==e.textContent&&(e.textContent=" "),e.style.width=`${C.toFixed(2)}pt`,e.style.minWidth="0pt",e.style.lineHeight="1",e.style.whiteSpace="nowrap",e.style.wordSpacing="normal",e.dataset.docxTabLayout="explicit",e.dataset.docxTabFallbackWidth=n,e.dataset.docxTabFallbackMinWidth=a,!0}function ds(e,t,r){if(!t||![t.start,t.size,r].every(Number.isFinite))return null;if(e.alignSpecified)return"center"==e.align?t.start+(t.size-r)/2:"right"==e.align||"bottom"==e.align?t.start+t.size-r:"left"==e.align||"top"==e.align?t.start:null;const n=cs(e.offset??"0pt");return null==n?null:t.start+4*n/3}const us=e=>Number.parseFloat(e)||0;function ms(e,t,r){const n=e.ownerDocument?.defaultView,a=e.closest("p"),s=e.closest("[data-docx-comment-story]")??e.closest(`section.${r}`);if(!(n&&a&&s&&e.isConnected))return;if(a.closest("foreignObject"))return;const o=n.getComputedStyle(a);if("rtl"==o.direction||o.writingMode&&"horizontal-tb"!=o.writingMode)return;const i=n.getComputedStyle(s),l=s.getBoundingClientRect(),c=us(i.width)+("border-box"==i.boxSizing?0:us(i.paddingLeft)+us(i.paddingRight)+us(i.borderLeftWidth)+us(i.borderRightWidth)),h=c>0?l.width/c:0;if(!(h>0&&Number.isFinite(h)))return;const d=(e,t=!1)=>{const r=e.getBoundingClientRect(),a=n.getComputedStyle(e),s=t?us(a.borderLeftWidth)+us(a.paddingLeft):0,o=t?us(a.borderTopWidth)+us(a.paddingTop):0,i=t?us(a.borderRightWidth)+us(a.paddingRight):0,l=t?us(a.borderBottomWidth)+us(a.paddingBottom):0;return{x:{start:r.left/h+s,size:r.width/h-s-i},y:{start:r.top/h+o,size:r.height/h-o-l}}},u=d(s),m=d(s,!0),p=d(a);if(p.x.size<=0||p.y.size<=0)return;const f=a.closest("article, header, footer");if(!f)return;const g=d(f,!0),b=n.getComputedStyle(f),y=e.previousElementSibling,x="true"==y?.dataset.docxAnchorMarker?d(y):null,w=y?.querySelector?.('[data-docx-anchor-line="top"]'),v=y?.querySelector?.('[data-docx-anchor-line="bottom"]'),k=w?d(w).y.start:null,C=v?d(v).y.start:null,S=null!=k&&null!=C&&C>k?{start:k,size:C-k}:null,N={...g.x},A=us(b.columnCount),P=us(b.columnWidth);if(A>1||P>0){const e="normal"==b.columnGap?us(b.fontSize):us(b.columnGap),t=P>0?Math.max(1,Math.floor((N.size+e)/(P+e))):A,r=A>0?Math.min(A,t):t,n=(N.size+e)/r;if(!(n>0))return;const a=x?.x.start??p.x.start-us(o.marginLeft),s=Math.max(0,Math.min(r-1,Math.floor((a-N.start+.1)/n)));N.start+=s*n,N.size=n-e}const M=!1!==t.layoutInCell?a.closest("td, th"):null,$=M?d(M,!0):null,T=(e,t)=>$&&["page","margin","column","cell"].includes(t)?$[e]:"page"==t?u[e]:"margin"==t?m[e]:"column"==t?"x"==e?N:g.y:"paragraph"==t?p[e]:"character"==t?x?.[e]:"line"==t?"y"==e?S:x?.x:"cell"==t&&M?d(M,!0)[e]:null,F=n.getComputedStyle(e),L={x:us(F.width),y:us(F.height)},R={x:p.x.start+us(o.borderLeftWidth),y:p.y.start+us(o.borderTopWidth)};for(const[r,n]of[["x",t.horizontal],["y",t.vertical]]){const t=ds(n,T(r,n.relative),L[r]),a=cs(n.offset??"0pt");if(null==t||null==a)continue;const s=t-R[r]-4*a/3;e.style.setProperty(`--docx-anchor-origin-${r}`,`${(Math.abs(s)<5e-5?0:s).toFixed(4)}px`)}}const ps=new WeakMap,fs=e=>Number.parseFloat(e)||0;function gs(e,t=()=>!0){const r=e.ownerDocument.defaultView;if(!r)return;const n=e.getBoundingClientRect(),a=r.getComputedStyle(e),s=fs(a.width)+("border-box"===a.boxSizing?0:fs(a.paddingLeft)+fs(a.paddingRight)+fs(a.borderLeftWidth)+fs(a.borderRightWidth)),o=s?n.width/s:0;if(Number.isFinite(o)&&!(o<=0))for(const n of Array.from(e.querySelectorAll('[data-docx-anchor-horizontal="column"], [data-docx-anchor-horizontal="margin"]'))){if(null!=n.dataset.docxAnchorId||!t(n))continue;const a=n.closest('[data-docx-anchor-context="paragraph"]');if(!a||n.offsetParent!==a||"absolute"!==r.getComputedStyle(n).position||!n.style.left)continue;if(a.closest("td, th"))continue;const s="margin"===n.dataset.docxAnchorHorizontal?e:a.closest("article, header, footer");if(!s||!e.contains(s)&&s!==e)continue;const i=r.getComputedStyle(s);let l=s.getBoundingClientRect().left+(fs(i.borderLeftWidth)+fs(i.paddingLeft))*o;const c=r.getComputedStyle(a),h=a.getBoundingClientRect();if(s!==e){const e=fs(i.columnCount),t=fs(i.columnWidth);if(e>1||t>0){const r="normal"===i.columnGap?fs(i.fontSize):fs(i.columnGap),n=s.clientWidth-fs(i.paddingLeft)-fs(i.paddingRight),a=(n+r)/(e>0?e:Math.max(1,Math.floor((n+r)/(t+r))));if(a>0){const e=(h.left-l)/o-fs(c.marginLeft);l+=Math.round(e/a)*a*o}}}const d=(l-(h.left+fs(c.borderLeftWidth)*o))/o;if(!Number.isFinite(d))continue;const u=ps.get(n)??n.style.left;ps.set(n,u),n.style.left=Math.abs(d)<.01?u:`calc(${u} + ${d.toFixed(4)}px)`}}const bs=new WeakMap,ys=/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(?:px|pt|pc|in|cm|mm)?$/i,xs=e=>""!==e&&"none"!==e&&"normal"!==e;function ws(e,t){for(let r=e.parentElement;r;r=r.parentElement){const e=t.getComputedStyle(r);if(e.position&&"static"!==e.position||xs(e.transform)||xs(e.perspective)||xs(e.filter)||/(?:layout|paint|strict|content)/.test(e.contain)||/(?:transform|perspective|filter)/.test(e.willChange))return r}return null}function vs(e,t=()=>!0){const r=e.ownerDocument.defaultView;if(!r)return 0;const n=r.getComputedStyle(e),a=fs(n.width)+("border-box"===n.boxSizing?0:fs(n.paddingLeft)+fs(n.paddingRight)+fs(n.borderLeftWidth)+fs(n.borderRightWidth)),s=a>0?e.getBoundingClientRect().width/a:0;if(!Number.isFinite(s)||s<=0)return 0;let o=0;for(const n of Array.from(e.querySelectorAll('svg[data-docx-float="true"]'))){if(null!=n.dataset.docxAnchorId||!t(n))continue;if("http://www.w3.org/2000/svg"!==n.namespaceURI||n.ownerSVGElement||"absolute"!==r.getComputedStyle(n).position)continue;const a=!("text"!==n.dataset.docxAnchorHorizontal||!n.style.left&&!n.style.marginLeft||n.style.right&&"auto"!==n.style.right),i=!("text"!==n.dataset.docxAnchorVertical||!n.style.top&&!n.style.marginTop||n.style.bottom&&"auto"!==n.style.bottom);if(!a&&!i)continue;const l=n.closest("p");if(!l||l.closest("td, th, svg, [data-docx-shape-textbox]"))continue;const c=l.closest("article, header, footer"),h=ws(n,r);if(!c||!e.contains(c)||!h||h!==l&&h!==c&&h!==e)continue;const d=r.getComputedStyle(h),u=h.getBoundingClientRect(),m=r.getComputedStyle(l);if("rtl"===m.direction||m.writingMode&&"horizontal-tb"!==m.writingMode)continue;const p=bs.get(n)??{left:n.style.left,top:n.style.top},f=e=>!e||"auto"===e||ys.test(e);if(a&&(!f(p.left)||!f(n.style.marginLeft))||i&&(!f(p.top)||!f(n.style.marginTop)))continue;let g=p.left;if(a){const e=r.getComputedStyle(c);let t=c.getBoundingClientRect().left+(fs(e.borderLeftWidth)+fs(e.paddingLeft))*s;const n=l.getBoundingClientRect(),a=fs(e.columnCount),o=fs(e.columnWidth);if(a>1||o>0){const r="normal"===e.columnGap?fs(e.fontSize):fs(e.columnGap),i=c.clientWidth-fs(e.paddingLeft)-fs(e.paddingRight),l=(i+r)/(a>0?a:Math.max(1,Math.floor((i+r)/(o+r))));if(!(l>0))continue;const h=(n.left-t)/s-fs(m.marginLeft);t+=Math.round(h/l)*l*s}const i=(t-u.left)/s-fs(d.borderLeftWidth);if(!Number.isFinite(i))continue;const h=p.left&&"auto"!==p.left?p.left:"0px";g=Math.abs(i)<.01?h:`calc(${h} + ${i.toFixed(4)}px)`}if(bs.set(n,p),a&&(n.style.left=g),i){const e=(l.getBoundingClientRect().top-u.top)/s+fs(m.borderTopWidth)-fs(d.borderTopWidth),t=p.top&&"auto"!==p.top?p.top:"0px";Number.isFinite(e)&&(n.style.top=Math.abs(e)<.01?t:`calc(${t} + ${e.toFixed(4)}px)`)}o++}return o}const ks=e=>Number.parseFloat(e)||0;function Cs(e,t,r){for(const n of Array.from(e.querySelectorAll("[data-docx-vml-text-viewport]"))){if(!r(n))continue;const e=n.ownerSVGElement;if(!e||"true"!==e.dataset.docxVml)continue;const a=e.getScreenCTM?.();if(!a)continue;const s=Math.hypot(a.a,a.b)/t,o=Math.hypot(a.c,a.d)/t,i=n.dataset.docxVmlTextViewport.split(" ").map(Number);if([s,o].every(e=>Number.isFinite(e)&&e>0)&&4===i.length&&i.every(Number.isFinite)&&!(Math.abs(a.a*a.c+a.b*a.d)>1e-5*t*t*s*o)){for(const[e,t]of["x","y","width","height"].entries())n.setAttribute(t,""+i[e]*(e%2?o:s));n.setAttribute("transform",`scale(${1/s} ${1/o})`)}}}function Ss(e){const t=/^([+-]?(?:\d+(?:\.\d*)?|\.\d+))(pt|px|in|cm|mm|pc)?$/i.exec(e?.trim()||"");if(!t)return null;const r=Number(t[1])*({pt:4/3,px:1,in:96,cm:96/2.54,mm:96/25.4,pc:16}[t[2]?.toLowerCase()||"px"]??1);return Number.isFinite(r)?r:null}function Ns(e){return ks(e.width)+("border-box"===e.boxSizing?0:ks(e.paddingLeft)+ks(e.paddingRight)+ks(e.borderLeftWidth)+ks(e.borderRightWidth))}function As(e,t){const r=t.ownerDocument.createTreeWalker(t,1);r.currentNode=e;for(let e=r.nextNode();e;e=r.nextNode())if(e.closest("p")!==t||e.matches("br, [data-docx-tab], [data-docx-float], [data-docx-frame-anchor]"))return e;return null}function Ps(e,t=()=>!0){const r=e.ownerDocument.defaultView;if(!r)return 0;const n=new Map;for(const r of Array.from(e.querySelectorAll('[data-docx-tab="true"][data-docx-tab-pos]'))){if(null!=r.dataset.docxTabId||!t(r))continue;const a=r.closest("p");if(!a||!e.contains(a)||r.closest('[data-docx-has-tab-leader="true"], [data-docx-toc-entry="true"]')||r.dataset.docxTabLeader&&"none"!==r.dataset.docxTabLeader||!["left","right","center"].includes(r.dataset.docxTabAlign||"left")||null===Ss(r.dataset.docxTabPos))continue;const s=n.get(a)||[];s.push(r),n.set(a,s)}let a=0;for(const[e,t]of n){const n=r.getComputedStyle(e);if("rtl"===n.direction||n.writingMode&&"horizontal-tb"!==n.writingMode||"center"===n.textAlign||"right"===n.textAlign||"end"===n.textAlign)continue;const s=e.getBoundingClientRect(),o=Ns(n),i=o>0?s.width/o:0;if(!Number.isFinite(i)||i<=0||s.width<=0)continue;const l=s.left+(ks(n.borderLeftWidth)+ks(n.paddingLeft))*i;for(const e of t)e.style.width="0px",e.style.minWidth="0px";for(const r of t){const t=Ss(r.dataset.docxTabPos),n=r.getBoundingClientRect(),s=e.ownerDocument.createRange();s.setStartAfter(r);const o=As(r,e);o?s.setEndBefore(o):s.setEnd(e,e.childNodes.length);const c=Array.from(s.getClientRects()).filter(e=>e.width>0&&e.bottom>n.top+.1&&e.top<n.bottom-.1);let h=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of c)h=Math.min(h,e.left),d=Math.max(d,e.right);const u=c.length?Math.max(0,d-h)/i:0,m="right"===r.dataset.docxTabAlign?1:"center"===r.dataset.docxTabAlign?.5:0,p=Math.max(0,t-(n.left-l)/i-u*m);Number.isFinite(p)&&(r.style.width=`${p.toFixed(4)}px`,a++)}}return a}const Ms=Math.pow(6/29,3);function $s(e){return e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92}function Ts(e){const t=e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e;return Math.min(Math.max(0,t),1)}const Fs={black:[0,0,0],blue:[0,0,255],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgray:[169,169,169],darkgrey:[169,169,169],darkgreen:[0,100,0],darkmagenta:[139,0,139],darkred:[139,0,0],darkyellow:[128,128,0],green:[0,128,0],gray:[128,128,128],grey:[128,128,128],lightgray:[211,211,211],lightgrey:[211,211,211],magenta:[255,0,255],red:[255,0,0],white:[255,255,255],yellow:[255,255,0]};function Ls(e){return Math.min(255,Math.max(0,e))}const Rs=new Map,Es=/^var\(\s*(--[\w-]+)\s*,\s*([\s\S]+)\)$/i;function Bs(e,t=21.247){if(!e)return e;const r=e.trim(),n=r.toLowerCase();if(n.startsWith("var(")){const n=Es.exec(r);if(!n)return e;const a=n[2].trim(),s=Bs(a,t);return s===a?e:`var(${n[1]}, ${s})`}if(function(e){return""===e||"none"===e||"transparent"===e||"inherit"===e||"initial"===e||"unset"===e||"currentcolor"===e||e.startsWith("var(")||e.startsWith("color-mix(")||e.startsWith("url(")||e.startsWith("linear-gradient(")||e.startsWith("radial-gradient(")||e.startsWith("conic-gradient(")}(n))return e;const a=`${t}|${r}`,s=Rs.get(a);if(void 0!==s)return s;const o=function(e){const t=e.trim();if(t.startsWith("#")){const e=t.slice(1);if(3===e.length||4===e.length){const t=parseInt(e[0]+e[0],16),r=parseInt(e[1]+e[1],16),n=parseInt(e[2]+e[2],16),a=4===e.length?parseInt(e[3]+e[3],16)/255:1;return Number.isNaN(t)||Number.isNaN(r)||Number.isNaN(n)?null:{r:t,g:r,b:n,a:a}}if(6===e.length||8===e.length){const t=parseInt(e.slice(0,2),16),r=parseInt(e.slice(2,4),16),n=parseInt(e.slice(4,6),16),a=8===e.length?parseInt(e.slice(6,8),16)/255:1;return Number.isNaN(t)||Number.isNaN(r)||Number.isNaN(n)?null:{r:t,g:r,b:n,a:a}}return null}const r=/^rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*(?:,\s*([\d.]+)\s*)?\)$/i.exec(t);if(r)return{r:Ls(parseFloat(r[1])),g:Ls(parseFloat(r[2])),b:Ls(parseFloat(r[3])),a:void 0!==r[4]?parseFloat(r[4]):1};const n=Fs[t.toLowerCase()];return n?{r:n[0],g:n[1],b:n[2],a:1}:null}(r);if(!o||0===o.a)return Rs.set(a,e),e;const[i,l,c]=function(e,t,r){const n=$s(e/255),a=$s(t/255),s=$s(r/255);let o=100*(.4124564*n+.3575761*a+.1804375*s)/95.047,i=100*(.2126729*n+.7151522*a+.072175*s)/100,l=100*(.0193339*n+.119192*a+.9503041*s)/108.883;const c=e=>e>Ms?Math.cbrt(e):7.787*e+16/116;return o=c(o),i=c(i),l=c(l),[116*i-16,500*(o-i),200*(i-l)]}(o.r,o.g,o.b),h=(100-t)/100*(100-i)+t,[d,u,m]=function(e,t,r){const n=(e+16)/116,a=n-r/200,s=e=>e*e*e>Ms?e*e*e:(e-16/116)/7.787,o=95.047*s(n+t/500)/100,i=100*s(n)/100,l=108.883*s(a)/100,c=Ts(3.2404542*o+-1.5371385*i+-.4985314*l),h=Ts(-.969266*o+1.8760108*i+.041556*l),d=Ts(.0556434*o+-.2040259*i+1.0572252*l);return[Math.round(255*c),Math.round(255*h),Math.round(255*d)]}(h,l,c),p=o.a>=1?`rgb(${d}, ${u}, ${m})`:`rgba(${d}, ${u}, ${m}, ${Math.round(1e3*o.a)/1e3})`;return Rs.set(a,p),p}const Ds=new Set(["color","background-color","border-color","border-top-color","border-right-color","border-bottom-color","border-left-color","outline-color","text-decoration-color","caret-color","column-rule-color","fill","stroke"]),Is=new Set(["border","border-top","border-right","border-bottom","border-left","outline","column-rule"]),Os=/(var\([^)]*\)|rgba?\([^)]*\)|#[0-9a-fA-F]{3,8}|[a-zA-Z]+)\s*$/;function Hs(e,t){return e?e.replace(Os,e=>Bs(e,t)):e}var zs;function Ws(e){if(v(e))return document.createTextNode(e);if(e instanceof Node)return e;const{ns:t,tagName:r,className:n,style:a,children:s,...o}=e;if("#fragment"===r){const e=document.createDocumentFragment();return s?.forEach(t=>e.appendChild(Ws(t))),e}if("#comment"===r)return document.createComment(s[0]);const i=t?document.createElementNS(t,r):document.createElement(r);if(n&&i.setAttribute("class",n),a)if(v(a))i.setAttribute("style",a);else for(const[e,t]of Object.entries(a))null!=t&&(e.startsWith("--")||e.includes("-")?i.style.setProperty(e,t):i.style[e]=t);if(o)for(const[e,t]of Object.entries(o))void 0!==t&&(i[e]=t);return s&&s.forEach(e=>i.appendChild(Ws(e))),i}function Vs(...e){return e.filter(Boolean).join(" ")}function Us(e){const t=e?.reviewMode;return"final"===t||"original"===t||"simple"===t||"all"===t?t:e?.renderChanges||"auto"===t?"all":"final"}function js(e){return null!=e?.reviewMode||!0===e?.renderChanges}function qs(e){return"original"===e}function Gs(e){const t=[],r=e=>{if(!e)return;if(e.type===We.Paragraph)return void t.push(...function(e){const t=[];let r=null;const n=()=>{if(!r)return;const e=Zs(r.text);(e||r.structural)&&t.push(Ks(r.revision,e||"段落标记",r.structural,r.ids)),r=null},a=(e,t,a=!1)=>{const s=e.id;r&&Js(r.revision)===Js(e)?(null==s||r.ids.includes(s)||r.ids.push(s),r.structural||(r.structural=a)):(n(),r={revision:e,ids:null==s?[]:[s],text:"",structural:a}),r.text+=t},s=e=>{const r=e.props?.formatRevisions??[];if(r.length){n();for(const e of r)t.push(Ys(e))}};s(e);for(const t of e.props?.paragraphMarkRevisions??[]){const e=Xs(t,"delete"===t?.kind?We.Deleted:We.Inserted);e&&a(e,"","delete"===e.kind||"move-from"===e.kind)}const o=(e,t)=>{if(!e)return;s(e);const r=Xs(e.props?.revision,e.type),i=r?[...t,r]:t,l=function(e){return e.type===We.Text||e.type===We.DeletedText?e.text??"":e.type===We.Tab||e.type===We.PositionalTab?"\t":e.type===We.Break?"\n":e.type===We.NoBreakHyphen?"‑":null}(e);if(null!=l){const e=i[i.length-1];return void(e?a(e,l):l.length&&n())}for(const t of e.children??[])o(t,i)};for(const t of e.children??[])o(t,[]);return n(),t}(e));const n=Xs(e.props?.revision,e.type);if(n&&e.type!==We.Inserted&&e.type!==We.Deleted){const r=Zs(so(e));t.push(Ks(n,r||function(e){switch(e){case We.Row:return"表格行";case We.Cell:return"表格单元格";case We.Table:return"表格";case We.Paragraph:return"段落标记";default:return"结构修订"}}(e.type),!0))}for(const r of e.props?.formatRevisions??[])t.push(Ys(r));for(const t of e.children??[])r(t)};r(e?.documentPart?.body??e);for(const r of e?.commentsPart?.comments??[]){const e=null==r.id?void 0:String(r.id);t.push({id:e,ids:null==e?[]:[e],kind:"comment",author:r.author||void 0,date:r.date||void 0,text:Zs(so(r)),presentation:"balloon"})}return t}function _s(e,t){if("auto"===t){const t=Gs(e).length;return{enabled:t>0,mode:t>0?"all":"final",automatic:!0,changeCount:t}}return{enabled:null!=t,mode:Us({reviewMode:t??void 0}),automatic:!1,changeCount:0}}function Xs(e,t){if(!e)return null;const r=function(e,t){return"insert"===e||"delete"===e||"move-from"===e||"move-to"===e?e:t===We.Deleted?"delete":"insert"}(e.kind,t);return"insert"!==r&&"delete"!==r&&"move-from"!==r&&"move-to"!==r?null:{id:null==e.id?void 0:String(e.id),kind:r,author:e.author||void 0,date:e.date||void 0}}function Ks(e,t,r=!1,n){const a=no(n??(null==e.id?[]:[e.id]));return{id:a[0],ids:a,kind:e.kind,author:e.author,date:e.date,text:t||(r?"结构修订":""),presentation:"insert"===e.kind||"move-to"===e.kind?"inline":"balloon"}}function Ys(e){const t=null==e?.id?void 0:String(e.id),r=(n=e?.formatChanges,Array.isArray(n)?n.filter(e=>e&&e.property).map(e=>({property:String(e.property),before:null==e.before?void 0:String(e.before),after:null==e.after?void 0:String(e.after)})):[]);var n;return{id:t,ids:null==t?[]:[t],kind:"format",author:e?.author||void 0,date:e?.date||void 0,text:Qs(r,e?.kind),presentation:"balloon",formatChanges:r}}function Js(e){return[e.kind,e.author??"",e.date??""].join("\0")}function Zs(e){return String(e??"").replace(/[\u2060\u200b]/g,"").replace(/[ \t]+\n/g,"\n").trim()}function Qs(e,t){if(!e.length)return ro(t);return no(e.map(e=>function(e){const t=function(e){if(null==e)return;const t=/(?:^|\|)val=([^|]+)/.exec(e);return t?.[1]??e}(e.after);switch(e.property){case"u":return null==t||"none"===t||"0"===t||"false"===t?"无下划线":function(e){switch(e){case"single":return"单下划线";case"double":return"双下划线";case"words":return"仅字词下划线";case"wave":case"wavyDouble":case"wavyHeavy":return"波浪下划线";default:return"下划线"}}(t);case"b":return eo(t)?"加粗":"取消加粗";case"i":return eo(t)?"倾斜":"取消倾斜";case"strike":return eo(t)?"删除线":"取消删除线";case"dstrike":return eo(t)?"双删除线":"取消双删除线";case"color":return t?`字体颜色 ${to(t)}`:"自动字体颜色";case"highlight":return t&&"none"!==t?`突出显示 ${t}`:"无突出显示";case"sz":case"szCs":return t&&!Number.isNaN(Number(t))?`字号 ${Number(t)/2} 磅`:"字号已更改";case"rFonts":return t?`字体 ${function(e){const t=e.split("|").map(e=>e.split("=")).filter(e=>2===e.length),r=t.find(([e])=>"eastAsia"===e)??t.find(([e])=>"ascii"===e)??t[0];return r?.[1]??e}(t)}`:"使用默认字体";case"jc":return`对齐方式 ${function(e){switch(e){case"center":return"居中";case"right":case"end":return"右对齐";case"both":case"distribute":return"两端对齐";default:return"左对齐"}}(t)}`;case"spacing":return"段落间距已更改";case"ind":return"段落缩进已更改";case"shd":return t?`底纹 ${to(t)}`:"无底纹";case"vertAlign":return"superscript"===t?"上标":"subscript"===t?"下标":"基线对齐";default:return function(e,t){const r={caps:"全部大写",smallCaps:"小型大写字母",vanish:"隐藏文字",keepNext:"与下段同页",keepLines:"段中不分页",pageBreakBefore:"段前分页",tblBorders:"表格边框",tcBorders:"单元格边框",tblW:"表格宽度",tcW:"单元格宽度"}[e]??"格式";return t&&!["true","1"].includes(t)?`${r} ${t}`:r}(e.property,t)}}(e)).filter(Boolean)).join(";")||ro(t)}function eo(e){return null==e||""===e||"1"===e||"true"===e||"on"===e}function to(e){const t=/(?:val|fill)=([^|]+)/.exec(e);return t?.[1]??e}function ro(e){switch(e){case"paragraph-format":return"段落格式已更改";case"table-format":return"表格格式已更改";case"row-format":return"表格行格式已更改";case"cell-format":return"单元格格式已更改";default:return"字符格式已更改"}}function no(e){return[...new Set(e.filter(e=>null!=e&&""!==e))]}function ao(e){const t=["#c2410c","#2563eb","#7c3aed","#0f766e","#be123c","#4d7c0f","#a21caf","#0369a1"],r=String(e||"Unknown");let n=2166136261;for(let e=0;e<r.length;e++)n^=r.charCodeAt(e),n=Math.imul(n,16777619);return t[(n>>>0)%t.length]}function so(e){return e.type===We.Text||e.type===We.DeletedText?e.text??"":e.type===We.Tab||e.type===We.PositionalTab?"\t":e.type===We.Break?"\n":(e.children??[]).map(so).join("").trim()}!function(e){e.html="http://www.w3.org/1999/xhtml",e.svg="http://www.w3.org/2000/svg",e.mathML="http://www.w3.org/1998/Math/MathML"}(zs||(zs={}));const oo=/[\u0000-\u0020\u007f-\u009f]+/g,io=/^[a-z][a-z0-9+.-]*:/i,lo=/^(?:https?|mailto|tel):/i;const co=["http://schemas.openxmlformats.org/drawingml/2006/chart","http://purl.oclc.org/ooxml/drawingml/chart"],ho=["http://schemas.openxmlformats.org/drawingml/2006/main","http://purl.oclc.org/ooxml/drawingml/main"],uo=new WeakMap;async function mo(e,t=i(e)){o(e,t);const r=new Set;for(const t of[e,...Array.from(e.querySelectorAll("[data-docx-layout-root]"))]){const e=uo.get(t);e&&r.add(e)}for(const n of r)o(e,t),await n.prepareLayout(e,t);o(e,t);for(const r of[e,...Array.from(e.querySelectorAll("[data-docx-layout-root]"))]){const e=uo.get(r);e?.shouldRunDynamicPagination()&&r.classList.contains(`${e.className}-wrapper`)&&e.scheduleDynamicPagination(r,t)}}class po{constructor(){this.className="docx",this.styleMap={},this.currentPart=null,this.currentSectionProps=null,this.currentPageNumber=1,this.currentSectionNumber=1,this.currentSectionPageNumber=1,this.totalPages=1,this.sectionPageCount=1,this.tableVerticalMerges=[],this.currentVerticalMerge=null,this.tableCellPositions=[],this.currentCellPosition=null,this.currentTableRow=null,this.repeatedTableHeaderRows=new WeakSet,this.footnoteMap={},this.endnoteMap={},this.currentEndnoteIds=[],this.noteNumbering=new de,this.renderedNoteIds=new Set,this.noteSectionIds=new Map,this.notePageIndex=1,this.dynamicNoteState=new WeakMap,this.noteContinuationOrigins=new WeakMap,this.headerFooterModels=new Map,this.pageHeaderFooterState=new WeakMap,this.currentTabs=[],this.anchorLayouts=new Map,this.currentParagraph=null,this.currentParagraphTabIndex=0,this.currentParagraphTabCount=0,this.commentMap={},this.commentLayer=null,this.commentPresentations=new Map,this.renderingComment=!1,this.hyperlinkDepth=0,this.layoutGenerations=new Map,this.bookmarkTextMap={},this.bookmarkIdToName={},this.tocEntries=[],this.fieldSeqCounters={},this.fieldSetValues={},this.headingIndex=0,this.tasks=[],this.postRenderTasks=[],this.h=Ws,this.darkModeVarNames=new Map,this.darkModePrintReset={}}async render(e,t){this.document=e,this.options=t,this.className=t.className,this.rootSelector=t.inWrapper?`.${this.className}-wrapper`:":root",this.h=t.h??Ws,this.styleMap=null,this.tasks=[],this.postRenderTasks=[],this.commentLayer=null,this.commentPresentations.clear(),this.renderingComment=!1,this.currentTabs=[],this.currentFootnoteIds=[],this.currentEndnoteIds=[],this.footnoteMap={},this.endnoteMap={},this.noteNumbering=new de,this.renderedNoteIds=new Set,this.repeatedTableHeaderRows=new WeakSet,this.noteSectionIds=new Map,this.notePageIndex=1,this.dynamicNoteState=new WeakMap,this.noteContinuationOrigins=new WeakMap,this.anchorLayouts.clear(),this.headerFooterModels.clear(),this.pageHeaderFooterState=new WeakMap,this.fieldSeqCounters={},this.fieldSetValues={},this.headingIndex=0,this.darkModeVarNames=new Map,this.darkModePrintReset={},this.options.renderComments&&globalThis.Highlight&&(this.commentHighlight=new Highlight);const r=[...this.renderDefaultStyle()];if(e.themePart&&r.push(...this.renderTheme(e.themePart)),null!=e.stylesPart){const t=this.cloneRenderData(e.stylesPart.styles);this.styleMap=this.processStyles(t),r.push(...this.renderStyles(t))}e.numberingPart&&(this.prodessNumberings(e.numberingPart.domNumberings),r.push(...await this.renderNumbering(e.numberingPart.domNumberings))),e.footnotesPart&&(this.footnoteMap=y(this.cloneRenderData(e.footnotesPart.notes),e=>e.id)),e.endnotesPart&&(this.endnoteMap=y(this.cloneRenderData(e.endnotesPart.notes),e=>e.id)),e.settingsPart&&(this.defaultTabSize=e.settingsPart.settings?.defaultTabStop),!t.ignoreFonts&&e.fontTablePart&&r.push(...await this.renderFontTable(e.fontTablePart));var n=await this.renderSections(this.cloneRenderData(e.documentPart.body));if(this.options.inWrapper){const e=this.renderWrapper(n);this.commentLayer&&e.appendChild(this.commentLayer.root),r.push(e),this.shouldRunDynamicPagination()&&this.scheduleDynamicPagination(e)}else r.push(...n),this.commentLayer&&(this.commentLayer.root.style.position="fixed",r.push(this.commentLayer.root));r.push(...this.renderDarkModePrintReset()),this.commentHighlight&&t.renderComments&&CSS.highlights.set(`${this.className}-comments`,this.commentHighlight),await Promise.allSettled(this.tasks),this.postRenderTasks.forEach(e=>e()),this.commentLayer&&uo.set(this.commentLayer.root,this);for(const e of r)["section","div"].includes(e.tagName?.toLowerCase())&&!e.dataset?.docxCommentLayer&&(e.dataset.docxLayoutRoot="true",uo.set(e,this));return r}renderTheme(e){const t={},r=e.theme?.fontScheme,n=this.documentThemeLanguages();r&&(r.majorFont&&(t["--docx-majorHAnsi-font"]=this.themeFontFamily(r.majorFont,"latin",n.latin),t["--docx-majorEastAsia-font"]=this.themeFontFamily(r.majorFont,"eastAsia",n.eastAsia),t["--docx-majorBidi-font"]=this.themeFontFamily(r.majorFont,"complexScript",n.bidi),t["--docx-majorCs-font"]=t["--docx-majorBidi-font"],this.addThemeScriptFontVariables(t,"major",r.majorFont)),r.minorFont&&(t["--docx-minorHAnsi-font"]=this.themeFontFamily(r.minorFont,"latin",n.latin),t["--docx-minorEastAsia-font"]=this.themeFontFamily(r.minorFont,"eastAsia",n.eastAsia),t["--docx-minorBidi-font"]=this.themeFontFamily(r.minorFont,"complexScript",n.bidi),t["--docx-minorCs-font"]=t["--docx-minorBidi-font"],this.addThemeScriptFontVariables(t,"minor",r.minorFont)));const a=e.theme?.colorScheme,s=[];if(a)for(let[e,r]of Object.entries(a.colors)){const n=`--docx-${e}-color`;t[n]=`#${r}`,s.push(n)}let o=this.styleToString(`.${this.className}`,t);if(this.options.darkMode&&s.length){const e=s.map(e=>` ${e}: ${t[e]};\r\n`).join("");o+=`@media print {\r\n.${this.className} {\r\n${e}}\r\n}\r\n`}return[this.h({tagName:"#comment",children:["docxjs document theme values"]}),this.h({tagName:"style",children:[o]})]}documentThemeLanguages(){const e={latin:"",eastAsia:"",bidi:""},t=(this.document.stylesPart?.styles??[]).filter(e=>null==e.id||e.isDefault&&"span"==e.target).flatMap(e=>e.styles??[]).find(e=>"span"==e.target),r=t?.values??{};return e.latin=r.$lang??"",e.eastAsia=r["$lang-eastAsia"]??e.latin,e.bidi=r["$lang-bidi"]??e.latin,e}addThemeScriptFontVariables(e,t,r){const n=new Set(["Hans","Hant","Jpan","Hang"]);for(const a of Object.keys(r.scriptTypefaces??{})){const s=n.has(a)?"eastAsia":"complexScript",o=this.themeFontFamily(r,s,"",a);e[`--docx-${t}EastAsia-font-${a}`]=o,e[`--docx-${t}Bidi-font-${a}`]=o,e[`--docx-${t}Cs-font-${a}`]=o}}themeFontFamily(e,t,r,n=""){const a="latin"==t?e.latinTypeface:"eastAsia"==t?e.eaTypeface:e.csTypeface,s=n||Ze(r),o=s?e.scriptTypefaces?.[s]:"",i=a?.trim()||o?.trim()||e.latinTypeface?.trim();if(!i)return"eastAsia"==t?"sans-serif":"serif";const l=[p(i)];return"eastAsia"==t&&l.push(...f(i,s).slice(1)),[...new Set(l)].join(", ")}async renderFontTable(e){const t=[];for(let r of e.fonts)for(let e of r.embedFontRefs)try{const n=await this.document.loadFont(e.id,e.key),a={"font-family":p(r.name),src:`url(${n})`};"bold"!=e.type&&"boldItalic"!=e.type||(a["font-weight"]="bold"),"italic"!=e.type&&"boldItalic"!=e.type||(a["font-style"]="italic"),t.push(this.h({tagName:"#comment",children:[`docxjs ${r.name} font`]})),t.push(this.h({tagName:"style",children:[this.styleToString("@font-face",a)]}))}catch(t){this.options.debug&&console.warn(`Can't load font with id ${e.id} and key ${e.key}`)}return t}processStyleName(e){return e?`${this.className}_${function(e){return e?.replace(/[ .]+/g,"-").replace(/[&]+/g,"and").toLowerCase()}(e)}`:this.className}processStyles(e){const t=y(e.filter(e=>null!=e.id),e=>e.id);for(const n of e.filter(e=>e.basedOn)){var r=t[n.basedOn];if(r){n.paragraphProps=k({},r.paragraphProps,n.paragraphProps),n.runProps=k({},r.runProps,n.runProps);for(const e of r.styles){const t=n.styles.find(t=>t.target==e.target);t?this.copyStyleProperties(e.values,t.values):n.styles.push({...e,values:{...e.values}})}}else this.options.debug&&console.warn(`Can't find base style ${n.basedOn}`)}for(let t of e)t.cssName=this.processStyleName(t.id);return t}prodessNumberings(e){for(let t of e.filter(e=>e.pStyleName)){const e=this.findStyle(t.pStyleName);e?.paragraphProps?.numbering&&(e.paragraphProps.numbering.level=t.level)}}processElement(e){if(e&&e.children)for(var t of e.children)t.parent=e,t.type==We.Table?this.processTable(t):this.processElement(t)}processTable(e){const t=e.children??[];let r=e.columns?.length??0;for(const e of t){let t=e.gridBefore??0;for(const r of e.children??[])t+=r.span??1;r=Math.max(r,t+(e.gridAfter??0))}const n=Math.max(e.rowBandSize??1,1),a=Math.max(e.colBandSize??1,1);t.forEach((s,o)=>{0==o&&this.appendClassName(s,"first-row"),o==t.length-1&&this.appendClassName(s,"last-row"),this.appendClassName(s,Math.floor(o/n)%2==0?"odd-row":"even-row");let i=s.gridBefore??0;for(const t of s.children??[]){t.cssStyle=this.copyStyleProperties(e.cellStyle,t.cssStyle,["border-left","border-right","border-top","border-bottom","padding-left","padding-right","padding-top","padding-bottom"]);const n=t.span??1,s=i+n-1;0==i&&this.appendClassName(t,"first-col"),r>0&&s>=r-1&&this.appendClassName(t,"last-col"),this.appendClassName(t,Math.floor(i/a)%2==0?"odd-col":"even-col"),this.processElement(t),i+=n}})}collectDocumentMetadata(e){this.bookmarkTextMap={},this.bookmarkIdToName={},this.tocEntries=[];const t={},r=e=>{if(e.type!=We.Deleted||qs(Us(this.options))){switch(e.type){case We.BookmarkStart:{const r=e;r.id&&r.name&&(this.bookmarkIdToName[r.id]=r.name,t[r.id]=[]);break}case We.BookmarkEnd:{const r=e,n=this.bookmarkIdToName[r.id];n&&t[r.id]&&(this.bookmarkTextMap[n]=t[r.id].join("").trim(),delete t[r.id]);break}case We.Text:for(const r of Object.keys(t))t[r].push(e.text??"");break;case We.DeletedText:if(qs(Us(this.options)))for(const r of Object.keys(t))t[r].push(e.text??"")}for(const t of e.children??[])r(t)}};for(const t of e.children??[])r(t);for(const[e,r]of Object.entries(t)){const t=this.bookmarkIdToName[e];t&&(this.bookmarkTextMap[t]=r.join("").trim())}for(const t of e.children??[])this.collectTocEntries(t)}collectTocEntries(e){if(e.type!=We.Deleted||qs(Us(this.options))){if(e.type==We.Paragraph){const t=e,r=this.findStyle(t.styleName),n=this.extractText(t).trim();let a=t.outlineLevel??r?.paragraphProps?.outlineLevel;if(null==a&&t.styleName){const e=/heading(\d+)|(?:^|[-_ ])h(\d+)$/i.exec(t.styleName);e&&(a=parseInt(e[1]??e[2],10)-1)}if(n&&null!=a&&a>=0&&a<9){const e=this.findFirstBookmark(t),r=e?.name&&!e.name.startsWith("_")?e.name:`${this.className}-heading-${++this.headingIndex}`;t.props={...t.props??{},anchorId:r},this.tocEntries.push({level:a+1,text:n,id:r})}}for(const t of e.children??[])this.collectTocEntries(t)}}findFirstBookmark(e){if(e.type==We.BookmarkStart)return e;for(const t of e.children??[]){const e=this.findFirstBookmark(t);if(e)return e}return null}extractText(e){switch(e.type){case We.Text:return e.text??"";case We.DeletedText:return qs(Us(this.options))?e.text??"":"";case We.Deleted:return qs(Us(this.options))?(e.children??[]).map(e=>this.extractText(e)).join(""):"";case We.Inserted:return"original"==Us(this.options)?"":(e.children??[]).map(e=>this.extractText(e)).join("");case We.Tab:case We.PositionalTab:return"\t";case We.NoBreakHyphen:return"‑";case We.SoftHyphen:return"";case We.Break:return"\n";case We.Instruction:case We.ComplexField:return""}return(e.children??[]).map(e=>this.extractText(e)).join("")}appendClassName(e,t){e.className=[...new Set(Vs(e.className,t).split(/\s+/).filter(Boolean))].join(" ")}copyStyleProperties(e,t,r=null){if(!e)return t;for(var n of(null==t&&(t={}),null==r&&(r=Object.getOwnPropertyNames(e)),r))e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n]);return t}createPageElement(e,t,r){const n={...r};let a=null,s=null;if(t){if(t.pageMargins&&(n.paddingLeft=this.addSize(t.pageMargins.left,t.pageMargins.gutter),n.paddingRight=t.pageMargins.right,n.paddingTop=t.pageMargins.top,n.paddingBottom=t.pageMargins.bottom),t.pageSize){let e=t.pageSize.width,r=t.pageSize.height;if("landscape"==t.pageSize.orientation){const t=this.parseCssLengthValue(e),n=this.parseCssLengthValue(r);null!=t&&null!=n&&t<n&&([e,r]=[r,e])}a=e,s=r,this.options.ignoreWidth||(n.width=e);(!this.options.ignoreHeight||!this.options.breakPages)&&(n.minHeight=r,!this.options.ignoreHeight&&this.options.breakPages&&this.options.fixedPageHeight&&(n.height=r))}t.pageBorders&&(this.applyPageBorder(n,"top",t.pageBorders.top),this.applyPageBorder(n,"right",t.pageBorders.right),this.applyPageBorder(n,"bottom",t.pageBorders.bottom),this.applyPageBorder(n,"left",t.pageBorders.left))}const o=this.h({tagName:"section",className:e,style:n});return n.paddingLeft&&this.setCssStyle(o,"--docx-page-padding-left",n.paddingLeft),n.paddingTop&&this.setCssStyle(o,"--docx-page-padding-top",n.paddingTop),a&&this.setCssStyle(o,"--docx-page-width",a),s&&this.setCssStyle(o,"--docx-page-height",s),o}addSize(e,t){return e?t&&"0.00pt"!=t&&"0px"!=t?`calc(${e} + ${t})`:e:t}parseCssLengthValue(e){if(!e)return null;const t=/^(-?\d+(?:\.\d+)?)/.exec(e);return t?parseFloat(t[1]):null}applyPageBorder(e,t,r){if(!r)return;const n=this.borderTypeToCss(r.type);e[`border-${t}`]="none"==n?"none":`${r.size??"1px"} ${n} ${this.borderColor(r.color)}`}borderTypeToCss(e){switch(e){case"nil":case"none":return"none";case"double":case"triple":return"double";case"dashed":case"dashSmallGap":return"dashed";case"dotted":case"dotDash":case"dotDotDash":return"dotted"}return"solid"}borderColor(e){return e&&"auto"!=e?/^[0-9a-f]{6}$/i.test(e)?`#${e}`:e:"var(--docx-auto-color, black)"}createSectionContent(e){const t={},r=e.columns?.numberOfColumns??e.columns?.columns?.length,n="linesAndChars"==e.docGrid?.type||"snapToChars"==e.docGrid?.type;return e.docGrid&&(e.docGrid.linePitch&&(t["--docx-doc-grid-line-pitch"]=e.docGrid.linePitch),n&&e.docGrid.charSpace&&(t.letterSpacing=e.docGrid.charSpace)),this.document.settingsPart?.settings?.kinsoku&&(t.lineBreak="strict",t.wordBreak="keep-all"),this.document.settingsPart?.settings?.overflowPunctuation&&(t.hangingPunctuation="allow-end"),this.document.settingsPart?.settings?.topLinePunctuation&&(t["text-spacing-trim"]="space-start"),(this.document.settingsPart?.settings?.autoSpaceDE||this.document.settingsPart?.settings?.autoSpaceDN)&&(t["text-autospace"]=[this.document.settingsPart?.settings?.autoSpaceDE?"ideograph-alpha":null,this.document.settingsPart?.settings?.autoSpaceDN?"ideograph-numeric":null].filter(Boolean).join(" ")),e.columns&&r&&(r>1||e.columns.columns?.length>0)&&(t.columnCount=`${r}`,t.columnGap=e.columns.space,!e.columns.equalWidth&&e.columns.columns?.length>0&&(t.columnWidth=e.columns.columns[0].width,t.columnGap=e.columns.columns[0].space??t.columnGap),e.columns.separator&&(t.columnRule="1px solid black")),this.h({tagName:"article",style:t})}async renderSections(e){const t=[];this.processElement(e),this.collectDocumentMetadata(e);const r=this.splitBySection(this.reviewParagraphs(e.children),e.props);this.resolveSectionHeaderFooterReferences(r);const n=this.groupByPageBreaks(r);if(e.backgroundImage){const t=await this.document.loadDocumentImage(e.backgroundImage.id,this.document.documentPart,this.options.externalResourcePolicy).catch(()=>null);t&&(e={...e,cssStyle:{...e.cssStyle,"background-image":`url(${JSON.stringify(t)})`,"background-repeat":"tile"==e.backgroundImage.type?"repeat":"no-repeat","background-position":"center","background-size":"tile"==e.backgroundImage.type?"auto":"100% 100%"}})}let a=null,s=0,o=0;const i=new Map,l=new Map,c=new Map,h=new Map,d=e=>{if(!c.has(e)){const t=++o;c.set(e,`${this.className}-section-${t}`),h.set(e,t)}};for(const e of n){const t=e[0].sectProps;d(t),i.set(t,(i.get(t)??0)+1)}this.totalPages=n.length;for(let r=0,o=n.length;r<o;r++){this.currentFootnoteIds=[],this.notePageIndex=r+1;let m=n[r][0].sectProps;const p=m;d(m);const f=a!=m;s=f&&null!=m?.pageNumber?.start?m.pageNumber.start:s+1,this.currentPageNumber=s,this.currentSectionNumber=h.get(m)??1,this.currentSectionProps=m,this.currentSectionPageNumber=(l.get(m)??0)+1,this.sectionPageCount=i.get(m)??1,l.set(m,this.currentSectionPageNumber);const g=this.createPageElement(this.className,m,e.cssStyle);g.dataset.docxSection=c.get(m),g.dataset.docxSectionNumber=`${this.currentSectionNumber}`,g.dataset.docxSectionPageNumber=`${this.currentSectionPageNumber}`,g.dataset.docxSectionPageCount=`${this.sectionPageCount}`,g.dataset.docxPageNumber=`${s}`,f&&null!=m?.pageNumber?.start&&(g.dataset.docxPageStart=`${m.pageNumber.start}`),this.options.renderHeaders&&this.renderHeaderFooter(m.headerRefs,m,s,f,g);for(const e of n[r]){this.currentSectionProps=e.sectProps;var u=this.createSectionContent(e.sectProps);e.columnBreak&&(u.style.breakBefore="column"),this.renderElements(e.elements,u),g.appendChild(u),m=e.sectProps}if(this.options.renderFootnotes){const e=this.renderNotes(this.currentFootnoteIds,this.footnoteMap,this.document.footnotesPart,"footnote");e&&g.appendChild(e)}if(this.options.renderEndnotes&&r==o-1){const e=this.renderNotes(this.currentEndnoteIds,this.endnoteMap,this.document.endnotesPart,"endnote");e&&g.appendChild(e)}this.currentSectionProps=m,this.options.renderFooters&&this.renderHeaderFooter(m.footerRefs,m,s,f,g),this.pageHeaderFooterState.set(g,{headerProps:p,footerProps:m,headerId:this.selectHeaderFooterReference(p.headerRefs,p,s,f)?.id,footerId:this.selectHeaderFooterReference(m.footerRefs,m,s,f)?.id}),t.push(g),await this.yieldDuringRender(r+1,o),a=m}return t}resolveSectionHeaderFooterReferences(e){const t=new Map;let r=null;const n=(e,t)=>{const r=new Map((t??[]).map(e=>[e.type,e]));for(const t of e??[])r.set(t.type,t);return Array.from(r.values())};for(const a of e){const e=a.sectProps;let s=t.get(e);s||(s={...e,headerRefs:n(e.headerRefs,r?.headerRefs),footerRefs:n(e.footerRefs,r?.footerRefs)},t.set(e,s),r=s),a.sectProps=s}}selectHeaderFooterReference(e,t,r,n){const a=!!this.document.settingsPart?.settings?.evenAndOddHeaders,s=t.titlePage&&n?"first":a&&r%2==0?"even":"default";return e?.find(e=>e.type==s)}renderHeaderFooter(e,t,r,n,a){const s=this.selectHeaderFooterReference(e,t,r,n);var o=s&&this.document.findPartByRelId(s.id,this.document.documentPart);if(o?.rootElement){this.currentPart=o;let e=this.headerFooterModels.get(o.path);e||(e=this.cloneRenderData(o.rootElement),this.processElement(e),this.headerFooterModels.set(o.path,e));const[r]=this.renderElements([e],a);t?.pageMargins&&(o.rootElement.type===We.Header?(r.style.marginTop=`calc(${t.pageMargins.header} - ${t.pageMargins.top})`,r.style.minHeight=`calc(${t.pageMargins.top} - ${t.pageMargins.header})`):o.rootElement.type===We.Footer&&(r.style.marginBottom=`calc(${t.pageMargins.footer} - ${t.pageMargins.bottom})`,r.style.minHeight=`calc(${t.pageMargins.bottom} - ${t.pageMargins.footer})`)),this.currentPart=null}else o&&this.options.debug&&console.warn(`docx-preview: skipping ${o.path} because its parsed root element is missing`)}isPageBreakElement(e){return e.type==We.Break&&("lastRenderedPageBreak"==e.break?!this.options.ignoreLastRenderedPageBreak:"page"==e.break)}isPageBreakSection(e,t){return!!e&&(!!t&&(e.pageSize?.orientation!=t.pageSize?.orientation||e.pageSize?.width!=t.pageSize?.width||e.pageSize?.height!=t.pageSize?.height))}splitBySection(e,t){this.options.breakPages&&!this.options.ignoreLastRenderedPageBreak&&(e=function(e,t){let r=!1,n=null;const a=new Set,s=()=>{r=!1,n=null};for(const o of e){if(o.type!==We.Paragraph){s();continue}const e=o;let i=!1;const l=e=>{if(!t(e))switch(e.type){case We.Break:const t=e.break;"page"===t?(r=!0,n=null,i=!0):"lastRenderedPageBreak"===t?(i=!0,r?(a.add(e),n=e):n&&(a.delete(n),n=null),r=!1):s();break;case We.BookmarkStart:case We.BookmarkEnd:break;case We.Run:case We.Hyperlink:(e.children??[]).forEach(l);break;case We.Text:case We.DeletedText:e.text&&s();break;default:s()}};(e.children??[]).forEach(l),i&&!e.sectionProps||s()}if(!a.size)return e;const o=e=>{if(a.has(e))return null;if(!e.children?.length)return e;let t=!1;const r=[];for(const n of e.children){const e=o(n);t||(t=e!==n),e&&r.push(e)}return!t||0!==r.length||e.type!==We.Run&&e.type!==We.Hyperlink?t?{...e,children:r}:e:null};return e.map(o)}(e,e=>this.isHiddenRevisionForPagination(e)));let r={sectProps:null,elements:[],pageBreak:!1,columnBreak:!1,startsAfterExplicitPageBreak:!1},n=[r];const a=(e=!1,t=!1,a=!1)=>{if(0==r.elements.length&&null==r.sectProps)return r.pageBreak||(r.pageBreak=e),void(r.columnBreak||(r.columnBreak=t));r.pageBreak||(r.pageBreak=e),r.columnBreak||(r.columnBreak=t),r={sectProps:null,elements:[],pageBreak:!1,columnBreak:!1,startsAfterExplicitPageBreak:a},n.push(r)};for(let t of e){if(t.type!=We.Paragraph){if(t.type==We.Table)for(const e of this.splitTableByPageBreaks(t))e.table.children?.length&&r.elements.push(e.table),e.breakAfter&&a(!0,!1,!0);else r.elements.push(t);continue}const e=t,n=this.findStyle(e.styleName),s=e.pageBreakBefore??n?.paragraphProps?.pageBreakBefore;this.options.breakPages&&s&&r.elements.length>0&&a(!0,!1,!0);const o=this.splitParagraphByPageBreaks(e);for(const e of o){r.elements.push(e.paragraph);const t=e.paragraph.sectionProps;t&&(r.sectProps=t),(e.breakAfter||t)&&(r.endsWithExplicitPageBreak||(r.endsWithExplicitPageBreak=!0===e.explicitPageBreak),a(e.breakAfter||t&&me(t.type),t&&pe(t.type),!0===e.explicitPageBreak))}}if(n=n.filter(e=>e.elements.length>0),0==n.length)return[{sectProps:t,elements:[],pageBreak:!1,columnBreak:!1}];let s=null;for(let e=n.length-1;e>=0;e--)null==n[e].sectProps?n[e].sectProps=s??t:s=n[e].sectProps;return n}hasPageBreakElement(e){return!this.isHiddenRevisionForPagination(e)&&(!!this.isPageBreakElement(e)||(e.children?.some(e=>this.hasPageBreakElement(e))??!1))}splitTableByPageBreaks(e){if(!this.options.breakPages||!e.children?.length)return[{table:e,breakAfter:!1}];if(!e.children.some(e=>this.hasPageBreakElement(e)))return[{table:e,breakAfter:!1}];const t=e.children,r=[];for(const e of t){if(!e.isHeader)break;r.push(e)}const n=[];let a=[];const s=t=>{if(0==a.length&&n.length>0)return;const s=n.length>0;let o=a;if(s&&r.length>0&&!a.some(e=>e.isHeader)){o=[...r.map(e=>{const t={...e};return this.repeatedTableHeaderRows.add(t),t}),...a]}n.push({table:{...e,children:o},breakAfter:t}),a=[]};for(const e of t)a.push(e),this.hasPageBreakElement(e)&&s(!0);return s(!1),n.length>0?n:[{table:e,breakAfter:!1}]}isHiddenRevisionForPagination(e){const t=Us(this.options),r="all"===t&&"inline"===this.options.reviewPresentation;return e.type===We.Deleted&&!qs(t)&&!r||e.type===We.Inserted&&!function(e){return"original"!==e}(t)}hasOnlyHiddenRevisionTail(e){let t=!1;const r=e=>this.isHiddenRevisionForPagination(e)?(t=!0,!0):e.type===We.BookmarkStart||e.type===We.BookmarkEnd||!!([We.Run,We.Hyperlink,We.Inserted,We.Deleted].includes(e.type)&&e.children?.length>0)&&e.children.every(r);return e.every(r)&&t}splitElementByPageBreaks(e){if(this.isHiddenRevisionForPagination(e))return[{element:e}];if(this.isPageBreakElement(e))return[{breakAfter:!0,explicitPageBreak:"page"===e.break}];if(!e.children?.length)return[{element:e}];const t=[];let r={...e,children:[]};const n=()=>{r.children.length>0&&t.push({element:r}),r={...e,children:[]}};for(const a of e.children)for(const e of this.splitElementByPageBreaks(a))e.element&&r.children.push(e.element),e.breakAfter&&(n(),t.push({breakAfter:!0,explicitPageBreak:e.explicitPageBreak}));return n(),t.length>0?t:[{element:e}]}splitParagraphByPageBreaks(e){if(!this.options.breakPages||!e.children?.length)return[{paragraph:e,breakAfter:!1}];const t=[];let r={...e,children:[]};const n=(n,a=!1)=>{(r.children.length>0||0==t.length||a)&&t.push({paragraph:r,breakAfter:n,explicitPageBreak:a}),r={...e,sectionProps:null,children:[]}};for(const t of e.children)for(const e of this.splitElementByPageBreaks(t))e.element&&r.children.push(e.element),e.breakAfter&&n(!0,!0===e.explicitPageBreak);t.length>0&&this.hasOnlyHiddenRevisionTail(r.children)?t[t.length-1].paragraph.children.push(...r.children):(r.children.length>0||0==t.length)&&t.push({paragraph:r,breakAfter:!1});const a=t[t.length-1]?.paragraph;for(const r of t)r.paragraph.sectionProps=r.paragraph===a?e.sectionProps:null;if(e.props?.anchorId&&t.length>1){const e=t.find(e=>this.extractText(e.paragraph).trim())??t[0];for(const r of t)r!==e&&(r.paragraph.props={...r.paragraph.props,anchorId:void 0})}return t}styleValuesForTarget(e,t){return e?.styles?.find(e=>e.target==t)?.values}styleValue(e,t,r){return this.styleValuesForTarget(e,t)?.[r]}effectiveParagraphCssValue(e,t,r){return e.cssStyle?.[r]??this.styleValue(t,"p",r)}isInsideTableCell(e){for(let t=e.parent;t;t=t.parent)if(t.type==We.Cell)return!0;return!1}paragraphUsesDocumentGrid(e,t){const r=this.currentSectionProps?.docGrid?.linePitch;if(!r)return!1;if(this.isInsideTableCell(e)&&!this.document.settingsPart?.settings?.adjustLineHeightInTable)return!1;const n=this.effectiveParagraphCssValue(e,t,"--docx-snap-to-grid");return null==n||!/^(0|false|off)$/i.test(n)}setCssStyle(e,t,r){const n=e.style;"function"==typeof n.setProperty?n.setProperty(t,r):n[t]=r}applyDocumentGridMinimumHeight(e,t,r,n){const a=this.effectiveParagraphCssValue(e,t,"min-height");this.setCssStyle(r,"min-height",a?`max(${a}, ${n})`:n)}applyDocumentGridLinePitch(e,t,r){if(!this.paragraphUsesDocumentGrid(e,t))return;const n=this.currentSectionProps.docGrid.linePitch,a=this.effectiveParagraphCssValue(e,t,"line-height"),s=e.lineSpacing??t?.paragraphProps?.lineSpacing;if(a){if("exact"==s?.lineRule||"exactly"==s?.lineRule)return;const o=/^-?\d+(?:\.\d+)?$/.test(a)?`calc(${a} * 1em)`:a;return this.preserveGridInlineMetrics(r),this.setCssStyle(r,"line-height",`max(${o}, ${n})`),void this.applyDocumentGridMinimumHeight(e,t,r,n)}this.applyDocumentGridMinimumHeight(e,t,r,n)}preserveGridInlineMetrics(e){const t=/^(span|a|sub|sup|b|i|u|s|strike|strong|em)$/,r=e=>{for(const n of Array.from(e.children??[])){if(n.namespaceURI!==zs.html||!t.test(n.localName)||!n.style)continue;const e=n.style;n.dataset?.docxTextScale&&"block"===e.display?r(n):e.lineHeight||e.display&&"inline"!==e.display||/^(absolute|fixed)$/.test(e.position)||e.cssFloat&&"none"!==e.cssFloat||(e.lineHeight="normal",r(n))}};r(e)}groupByPageBreaks(e){let t=[],r=null;const n=[t];for(let a of e)r&&(r.pageBreak||this.isPageBreakSection(r.sectProps,a.sectProps))&&(t=[],n.push(t)),t.push(a),r=a;const a=n.filter(e=>e.length>0).filter(e=>e[0]?.startsAfterExplicitPageBreak||e.some(e=>e.endsWithExplicitPageBreak||e.elements.some(e=>this.hasPageModelContent(e))));return a.length>0?a:n.filter(e=>e.length>0).slice(0,1)}hasPageModelContent(e){if(!e||this.isHiddenRevisionForPagination(e))return!1;switch(e.type){case We.Text:case We.DeletedText:return Boolean(e.text?.trim());case We.Break:case We.Symbol:case We.Drawing:case We.Image:case We.Table:case We.VmlPicture:case We.VmlElement:case We.MmlMath:case We.MmlMathParagraph:case We.Shape:case We.Chart:case We.SmartArt:case We.Ink:case We.AltChunk:case We.FootnoteReference:case We.EndnoteReference:return!0}return e.children?.some(e=>this.hasPageModelContent(e))??!1}async yieldDuringRender(e,t){const r=this.options.renderPageBatchSize??0;this.options.progress&&this.options.progress({phase:"render",current:e,total:t,message:`Rendered ${e}/${t} logical pages`}),r>0&&e%r==0&&await this.yieldToBrowser()}async yieldToBrowser(){(this.options.renderYieldEveryMs??0)<=0||await new Promise(e=>{const t=globalThis;"function"==typeof t.requestIdleCallback?t.requestIdleCallback(()=>e(),{timeout:Math.max(1,this.options.renderYieldEveryMs??16)}):"function"==typeof t.requestAnimationFrame?t.requestAnimationFrame(()=>e()):setTimeout(e,0)})}renderWrapper(e){const t=this.h({tagName:"div",className:this.className+"-wrapper",children:e});return js(this.options)&&(t.dataset.docxReviewEnabled="true",t.dataset.docxReviewMode=Us(this.options),t.dataset.docxReviewPresentation=this.options.reviewPresentation??"balloon"),t}shouldRunDynamicPagination(){return!(!this.options.breakPages||!this.options.fixedPageHeight||this.options.ignoreHeight||"undefined"==typeof document||"function"!=typeof requestAnimationFrame)}scheduleDynamicPagination(e,t=i(e)){e?.isConnected&&t.isCurrent()&&"true"!=e.dataset.docxPaginated&&"true"!=e.dataset.docxPaginating&&"true"!=e.dataset.docxPaginationScheduled&&(e.dataset.docxPaginationScheduled="true",delete e.dataset.docxLayoutError,l(e,this.tasks,t).then(async()=>{await this.yieldToBrowser(),e.isConnected&&t.isCurrent()&&await this.performDynamicPagination(e,t)}).catch(r=>{delete e.dataset.docxPaginating,e.isConnected&&t.isCurrent()&&(e.dataset.docxLayoutError=r?.message??"DOCX layout failed")}).finally(()=>{delete e.dataset.docxPaginationScheduled,e.isConnected||delete e.dataset.docxPaginating}))}async performDynamicPagination(e,t=s(e)){if(!e||"true"==e.dataset.docxPaginated||"true"==e.dataset.docxPaginating)return;if(!e.isConnected||!t.isCurrent())return;if(delete e.dataset.docxPaginationScheduled,e.dataset.docxPaginating="true",this.syncDynamicNotes(e),await this.prepareLayout(e,t),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;const r=Array.from(e.querySelectorAll(":scope > section."+this.className)),n=this.options.maxDynamicPaginationPasses??1e3;let a=0;for(let s=0;s<r.length;s++){const o=r[s];if(s%2==0&&await this.yieldToBrowser(),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;for(;this.isPageOverflowing(o)&&a++<n;){const n=Array.from(o.querySelectorAll(":scope > article"));if(!n.some(e=>e.children.length>0)&&!o.querySelector(":scope > [data-docx-note-list] > li"))break;const a=this.createContinuationPage(o);if(await this.refreshDynamicHeaderFooters([...r.slice(0,s+1),a,...r.slice(s+1)]),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;const i=Array.from(a.querySelectorAll(":scope > article"));let l=this.splitDynamicNotes(o,a);for(let r=n.length-1;r>=0&&this.isPageOverflowing(o);r--){const a=n[r],s=i[r];let c=0;if(s){for(;this.isPageOverflowing(o)&&a.lastElementChild&&c++<500;){if(c%20==0&&await this.yieldToBrowser(),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;if(a.children.length>1){if(this.moveOverflowingTail(a,o,s)){l=!0;continue}let e=this.pickPaginationChunk(a);if(0==e.length)break;if(e.length>=a.children.length){if(this.splitOverflowBlock(a.lastElementChild,o,s)){l=!0;continue}e=[a.lastElementChild]}for(let t=e.length-1;t>=0;t--)s.prepend(e[t]),l=!0}else{if(!this.splitOverflowBlock(a.lastElementChild,o,s))break;l=!0}}if(r>0&&this.isPageOverflowing(o))for(;a.lastElementChild;)s.prepend(a.lastElementChild),l=!0}}if(l||(l=Array.from(a.children).some(e=>e.dataset.docxNoteList&&e.children.length>0)),!l){if(a.remove(),this.syncDynamicNotes(e),await this.refreshDynamicHeaderFooters(r),!e.isConnected||!t.isCurrent())return void delete e.dataset.docxPaginating;break}this.refreshTabStops(e),this.refreshAnchors(e),r.splice(s+1,0,a)}}if(a>=n&&r.some(e=>this.isPageOverflowing(e)))throw new Error("DOCX pagination exceeded the configured pass budget");this.cleanupEmptyNumberedParagraphs(e),this.removeEmptyDynamicPages(e),t.acceptLayoutChanges?.(e),this.syncDynamicNotes(e),await this.refreshDynamicHeaderFooters(Array.from(e.querySelectorAll(":scope > section."+this.className))),e.isConnected&&t.isCurrent()?(this.updateDynamicFieldPages(e),this.refreshTabStops(e),this.refreshAnchors(e),this.assertDynamicNotesFit(e),delete e.dataset.docxPaginating,e.dataset.docxPaginated="true"):delete e.dataset.docxPaginating}moveOverflowingTail(e,t,r){const n=e.ownerDocument?.defaultView;if(!n||e.children.length<3)return!1;const a=n.getComputedStyle(e);if("block"!==a.display||!["auto","1"].includes(a.columnCount)||"auto"!==a.columnWidth||"horizontal-tb"!==a.writingMode)return!1;const s=Array.from(e.children),o=this.getPageBodyBottom(t)+(this.options.paginationTolerance??2);let i=s.length;for(;i>1;){let e=i-1;for(;e>0&&this.isKeepWithNext(s[e-1]);)e--;if(0===e)break;let t=!0;for(let r=e;r<i;r++){const e=s[r],a=n.getComputedStyle(e),i=e.getBoundingClientRect();if(!/^(P|TABLE)$/.test(e.tagName)||!["block","table","list-item"].includes(a.display)||"static"!==a.position||"none"!==a.cssFloat||"none"!==a.transform||"none"!==a.clear||"horizontal-tb"!==a.writingMode||!(parseFloat(a.marginTop)>=0&&parseFloat(a.marginBottom)>=0)||!(i.top>o&&i.bottom>i.top)||e.querySelector("[data-docx-float]")){t=!1;break}}if(!t)break;i=e}if(s.length-i<2)return!1;const l=e.ownerDocument.createDocumentFragment();for(let e=i;e<s.length;e++)l.appendChild(s[e]);return r.prepend(l),!0}pickPaginationChunk(e){const t=Array.from(e.children);if(0==t.length)return[];let r=t.length-1;for(;r>0&&this.isKeepWithNext(t[r-1]);)r--;return t.slice(r)}isKeepWithNext(e){if("true"==e.dataset.docxKeepNext)return!0;const t=getComputedStyle(e);return"avoid"==t.breakAfter||"avoid"==t.pageBreakAfter}isPageOverflowing(e){e.parentElement&&this.syncDynamicNotes(e.parentElement),this.refreshTabStops(e);const t=this.options.paginationTolerance??2;if(e.clientHeight<=0)return!1;const r=e.getBoundingClientRect(),n=this.getPageBodyBottom(e);let a=r.top;for(const r of Array.from(e.children)){const e=r.getBoundingClientRect();if(a=Math.max(a,e.bottom),"article"==r.tagName.toLowerCase()){if(e.bottom>n+t)return!0;for(const e of Array.from(r.children)){const r=e.getBoundingClientRect();if(a=Math.max(a,r.bottom),r.bottom>n+t)return!0}}}const s=this.getPageNoteBottom(e);return Array.from(e.querySelectorAll(":scope > [data-docx-note-list]")).some(e=>Array.from(e.querySelectorAll("*")).some(e=>e.getBoundingClientRect().bottom>s+t))||a>r.bottom+t}createContinuationPage(e,t=!0){const r=e.cloneNode(!1);r.dataset.docxDynamicPage="true",r.removeAttribute("id"),delete r.dataset.docxPageStart;const n=this.pageHeaderFooterState.get(e);n&&this.pageHeaderFooterState.set(r,{...n});for(const t of Array.from(e.childNodes)){if(1===t.nodeType&&t.dataset.docxNoteList)continue;const e=1===t.nodeType&&"article"===t.localName;r.appendChild(t.cloneNode(!e))}return t&&e.after(r),r}syncDynamicNotes(e){let t=this.dynamicNoteState.get(e);if(!t){t={references:Array.from(e.querySelectorAll("article [data-docx-note-reference]")),items:[],fragments:new Map,owners:new Map,text:new Map,fields:new Map};const r=new Map;for(const n of Array.from(e.querySelectorAll("[data-docx-note-list] > li[data-docx-note-id]"))){const e=`${n.dataset.docxNoteKind}:${n.dataset.docxNoteId}`;let a=r.get(e);a||(r.set(e,a=n),t.items.push(a),t.fragments.set(a,[]),t.fields.set(a,[]));const s=t.fragments.get(a);n.dataset.docxNoteFragment=`${s.length}`,s.push(n),t.fields.get(a).push(...Array.from(n.querySelectorAll("[data-docx-field-instr]"))),t.text.set(a,(t.text.get(a)??"")+this.noteTextSignature(n,t.fields.get(a)))}this.dynamicNoteState.set(e,t)}if(0===t.items.length)return;const r=Array.from(e.querySelectorAll(`:scope > section.${this.className}`));if(0===r.length)return;const n=new Set(r),a=e=>{for(;e&&!n.has(e);)e=e.parentElement;return e},s=new Map;for(const e of t.references){if("true"===e.dataset.docxNoteHidden)continue;const t=`${e.dataset.docxNoteReference}:${e.dataset.docxNoteId}`;if(s.has(t))continue;const r=a(e);r&&s.set(t,r)}const o=r.slice().reverse().find(e=>e.querySelector(':scope > [data-docx-note-list="footnote"] > li')||Array.from(e.querySelectorAll(":scope > article > *")).some(e=>this.hasVisiblePaginationContent(e)))??r[0],i=new Map;for(const e of t.items){const l=e.dataset.docxNoteKind,c=t.owners.get(e),h="endnote"===l?n.has(c)&&r.indexOf(c)>=r.indexOf(o)?c:o:s.get(`${l}:${e.dataset.docxNoteId}`);if(!h){e.dataset.docxNoteOwnershipError="missing-reference";continue}delete e.dataset.docxNoteOwnershipError;const d=t.fragments.get(e);if(c&&c!==h||d.some(e=>!a(e))){for(const t of d.slice(1))this.mergeNoteContents(e,t),t.remove();d.splice(1)}t.owners.set(e,h);for(let e=0;e<d.length;e++){const t=d[e];t.dataset.docxNoteFragment=`${e}`;const r=0===e?h:a(t);let n=i.get(r);n||i.set(r,n=new Map);let s=n.get(l);s||n.set(l,s=[]),s.push(t)}}for(const[e,t]of i)for(const r of["footnote","endnote"]){const n=t.get(r);if(!n)continue;const a=this.getOrCreateNoteList(e,r);for(let e=0;e<n.length;e++)a.children[e]!==n[e]&&a.insertBefore(n[e],a.children[e]??null)}for(const e of r)for(const t of Array.from(e.children))t.dataset.docxNoteList&&0===t.children.length&&t.remove()}getOrCreateNoteList(e,t){let r=Array.from(e.children).find(e=>e.dataset.docxNoteList===t);if(!r){r=this.h({tagName:"ol"}),r.dataset.docxNoteList=t;const n=Array.from(e.children).find(e=>"footer"===e.localName||"footnote"===t&&"endnote"===e.dataset.docxNoteList);e.insertBefore(r,n??null)}return r}mergeNoteContents(e,t){const r=e=>{for(;this.noteContinuationOrigins.has(e);)e=this.noteContinuationOrigins.get(e);return e};for(const n of Array.from(t.childNodes)){const t=e.lastChild;1===n.nodeType&&1===t?.nodeType&&r(n)===r(t)?(this.mergeNoteContents(t,n),n.id&&!t.id&&(t.id=n.id),n.remove()):1===n.nodeType&&"true"===n.dataset.docxNoteColumns?n.remove():e.appendChild(n)}}getPageNoteBottom(e){const t=e.getBoundingClientRect(),r=e.ownerDocument?.defaultView;if(!r)return t.bottom;const n=r.getComputedStyle(e),a=e=>Number.parseFloat(e)||0,s=t.bottom-a(n.borderBottomWidth)-a(n.paddingBottom),o=Array.from(e.children).find(e=>"footer"===e.localName);if(!o)return s;const i=r.getComputedStyle(o),l=o.getBoundingClientRect(),c=l.height+a(i.marginTop)+a(i.marginBottom);return Math.min(s,s-c,l.top-a(i.marginTop))}getPageBodyBottom(e){const t=Array.from(e.children).filter(e=>e.dataset.docxNoteList),r=e.ownerDocument?.defaultView;if(!r)return e.getBoundingClientRect().bottom;let n=this.getPageNoteBottom(e);for(const e of t){const t=e.getBoundingClientRect(),a=r.getComputedStyle(e);let s=t.bottom;for(const t of Array.from(e.querySelectorAll("*")))s=Math.max(s,t.getBoundingClientRect().bottom);n-=Math.max(t.height,s-t.top)+(Number.parseFloat(a.marginTop)||0)+(Number.parseFloat(a.marginBottom)||0)}return n}getMinimumNoteBodyBottom(e){const t=e.ownerDocument?.defaultView,r=t?.getComputedStyle(e);let n=e.getBoundingClientRect().top+(parseFloat(r?.paddingTop)||0)+(parseFloat(r?.borderTopWidth)||0);const a=e.querySelector(":scope > header");a&&(n=Math.max(n,a.getBoundingClientRect().bottom));const s=Array.from(e.querySelectorAll(":scope > article > *")).find(e=>this.hasVisiblePaginationContent(e));if(!s)return n;const o=s.getBoundingClientRect();if("table"===s.localName){const e=this.tableContentRows(s)[0];if(e)return Math.max(n,e.getBoundingClientRect().bottom,...Array.from(e.cells,e=>e.getBoundingClientRect().bottom))}if("p"!==s.localName||"true"===s.dataset.docxKeepLines)return Math.max(n,o.bottom);const i=[],l=e.ownerDocument.createTreeWalker(s,NodeFilter.SHOW_TEXT);for(;l.nextNode();){const t=e.ownerDocument.createRange();t.selectNodeContents(l.currentNode);for(const e of Array.from(t.getClientRects()))e.height>0&&e.width>0&&i.push(e)}i.sort((e,t)=>e.top-t.top);const c=i.find(e=>e.top>(i[0]?.top??1/0)+2);return Math.max(n,c?o.top+c.top-i[0].top:o.bottom)}moveEndnotesAfterBody(e,t){const r=this.dynamicNoteState.get(e.parentElement);if(!r||!e.querySelector(":scope > article > *")||!this.isPageOverflowing(e))return!1;const n=Array.from(e.querySelectorAll(':scope > [data-docx-note-list="endnote"] > li'));if(!n.length||n.some(e=>1!==r.fragments.get(e)?.length))return!1;const a=n[0].parentElement,s=a.nextSibling,o=n.map(e=>({item:e,next:e.nextSibling,owner:r.owners.get(e)})),i=this.getOrCreateNoteList(t,"endnote");for(const e of n)i.appendChild(e),r.owners.set(e,t);if(a.children.length||a.remove(),!this.isPageOverflowing(e))return!0;a.parentNode!==e&&e.insertBefore(a,s?.parentNode===e?s:null);for(const{item:e,next:t,owner:n}of o.reverse())a.insertBefore(e,t?.parentNode===a?t:null),r.owners.set(e,n);return i.children.length||i.remove(),!1}splitDynamicNotes(e,t){const r=e.parentElement,n=this.dynamicNoteState.get(r);if(!n?.items.length||e.clientHeight<=0)return!1;if(this.moveEndnotesAfterBody(e,t))return!0;const a=this.options.paginationTolerance??2,s=this.getMinimumNoteBodyBottom(e),o=()=>this.getPageBodyBottom(e)+a<s;if(!o())return!1;let i=!1;const l=new Map,c=Array.from(e.querySelectorAll(":scope > [data-docx-note-list] > li"));for(const h of c.slice().reverse()){if(!o())break;const d=n.items.find(e=>e.dataset.docxNoteKind===h.dataset.docxNoteKind&&e.dataset.docxNoteId===h.dataset.docxNoteId);if(!d)continue;const u=n.fragments.get(d),m=u.indexOf(h),p=h.dataset.docxNoteKind,f=this.getOrCreateNoteList(t,p);if("endnote"===p&&0===m&&e.querySelector(":scope > article > *")){const e=h.parentElement;f.prepend(h),e.children.length||e.remove(),n.owners.set(d,t),i=!0;continue}const g=Array.from(e.querySelectorAll(":scope > [data-docx-note-list] > li")),b=new Map(g.map(e=>[e,this.getNoteItemHeight(e)])),y=this.getPageBodyBottom(e)-s+Array.from(b.values()).reduce((e,t)=>e+t,0);for(const r of g)l.has(r)||l.set(r,this.measureNoteMinimum(r,t,e));const x=g.find(e=>l.get(e)>y+a);if(x)throw t.remove(),this.syncDynamicNotes(r),e.dataset.docxNoteLayoutError=r.dataset.docxNoteLayoutError="unresolved-overflow",new Error(`docx-preview: unbreakable ${x.dataset.docxNoteKind}:${x.dataset.docxNoteId} exceeds its note region; all note content has been preserved`);let w=y-g.reduce((e,t)=>e+l.get(t),0);const v=g.map(e=>Math.max(0,b.get(e)-l.get(e))).sort((e,t)=>e-t);let k=v.length;for(const e of v){if(e*k>w)break;w-=e,k--}const C=k>0?Math.max(0,w/k):1/0,S=l.get(h)+Math.min(b.get(h)-l.get(h),C),N=()=>o()&&this.getNoteItemHeight(h)>S;if(!N()){f.children.length||f.remove();continue}const A=this.cloneBlockShell(h);A.dataset.docxNoteFragment=`${m+1}`,A.dataset.docxContinued="true",f.prepend(A);if(!this.moveNoteItemTail(h,A,e,N)||!this.hasVisibleNoteContent(h)||N()&&this.getNoteItemHeight(h)>y+a){if(this.mergeNoteContents(h,A),A.remove(),m>0&&this.getNoteItemHeight(h)<=y+a&&e.querySelector(":scope > article > *")){f.prepend(h),i=!0;continue}if(f.children.length||f.remove(),o()&&(1===c.length||this.getNoteItemHeight(h)>y+a))throw t.remove(),this.syncDynamicNotes(r),e.dataset.docxNoteLayoutError=r.dataset.docxNoteLayoutError="unresolved-overflow",new Error(`docx-preview: unbreakable ${p}:${h.dataset.docxNoteId} exceeds its note region; all note content has been preserved`)}else u.splice(m+1,0,A),u.forEach((e,t)=>e.dataset.docxNoteFragment=`${t}`),i=!0}return this.syncDynamicNotes(r),i}measureNoteMinimum(e,t,r){const n=this.getOrCreateNoteList(t,e.dataset.docxNoteKind),a=this.cloneBlockShell(e);a.dataset.docxNoteFragment="1",n.appendChild(a);try{return this.moveNoteItemTail(e,a,r,()=>!0),this.getNoteItemHeight(e)}finally{this.mergeNoteContents(e,a),a.remove()}}moveNoteItemTail(e,t,r,n){let a=!1;for(;n()&&e.lastChild;){const s=e.lastChild;if(e.childNodes.length>1&&this.hasNoteContentOutside(e,s))t.prepend(s),a=!0;else{if(1!==s.nodeType||!this.splitNoteBlock(s,t,r,n,e))break;a=!0}}return a}hasNoteContentOutside(e,t){const r=Array.from(e.childNodes);for(;r.length;){const e=r.pop();if(e!==t){if(e.nodeType===Node.TEXT_NODE&&e.textContent.length>0)return!0;if(1===e.nodeType){if(this.isNoteAtomicElement(e))return!0;r.push(...Array.from(e.childNodes))}}}return!1}firstNoteTextBoundary(e){const t=globalThis.Intl?.Segmenter;if(t){let r=0;for(const n of new t(void 0,{granularity:"grapheme"}).segment(e))if(r||(r=n.segment.length),n.segment.trim())return n.index+n.segment.length;return r}const r=e.search(/\S/);let n=Math.max(0,r);return n+(e.codePointAt(n)>65535?2:1)}getNoteItemHeight(e){const t=e.getBoundingClientRect();let r=t.bottom;for(const t of Array.from(e.querySelectorAll("*")))r=Math.max(r,t.getBoundingClientRect().bottom);const n=e.ownerDocument.defaultView.getComputedStyle(e);return Math.max(t.height,r-t.top)+(parseFloat(n.marginTop)||0)+(parseFloat(n.marginBottom)||0)}hasVisibleNoteContent(e){return!!e.textContent?.length||!!e.querySelector("img,svg,math,object,canvas,video,br,[data-docx-field-instr]")}splitNoteBlock(e,t,r,n,a=e.parentElement){const s=e.ownerDocument.defaultView.getComputedStyle(e);if("true"===e.dataset.docxKeepLines||"avoid"===s.breakInside||"avoid"===s.pageBreakInside)return!1;if(!/^(p|table|div|blockquote)$/.test(e.localName))return!1;const o=this.cloneBlockShell(e);o.dataset.docxContinued="true",this.noteContinuationOrigins.set(o,e),t.prepend(o);let i=!1;if("table"===e.localName){for(const t of Array.from(e.querySelectorAll(":scope > colgroup"))){const e=t.cloneNode(!0);e.removeAttribute("id"),e.querySelectorAll("[id]").forEach(e=>e.removeAttribute("id")),e.dataset.docxNoteColumns="true",o.appendChild(e)}const t=new Map,s=(r,n)=>{if(n===e)return void o.appendChild(r);let a=t.get(n);a||(a=this.cloneBlockShell(n),this.noteContinuationOrigins.set(a,n),t.set(n,a),o.appendChild(a)),a.appendChild(r)},l=this.tableContentRows(e);let c=l.length-1;for(;c>0&&l.slice(0,c).some((e,t)=>Array.from(e.cells).some(e=>t+e.rowSpan>c));)c--;if(c>0){for(const e of l.slice(c))s(e,e.parentElement);i=!0}else if(1===l.length&&1===l[0].cells.length&&1===l[0].cells[0].rowSpan){const e=l[0],t=e.cells[0],o=e.ownerDocument.defaultView.getComputedStyle(e);if("avoid"!==o.breakInside&&"avoid"!==o.pageBreakInside){const o=this.cloneBlockShell(e),l=this.cloneBlockShell(t);this.noteContinuationOrigins.set(o,e),this.noteContinuationOrigins.set(l,t),s(o,e.parentElement),o.appendChild(l),i=this.moveNoteBlockTail(t,l,r,n,a)}}}else if("p"===e.localName)for(;n()&&e.lastChild&&this.moveNoteTailNode(e,o,r,n,a);)i=!0;else i=this.moveNoteBlockTail(e,o,r,n,a);return i?e.hasChildNodes()||(e.id&&(o.id=e.id),e.remove()):o.remove(),i}moveNoteBlockTail(e,t,r,n,a){let s=!1;for(;n()&&e.lastChild;){const o=e.lastChild;if(e.childNodes.length>1&&this.hasNoteContentOutside(a,o))t.prepend(o),s=!0;else{if(1!==o.nodeType||!this.splitNoteBlock(o,t,r,n,a))break;s=!0}}return s}moveNoteTailNode(e,t,r,n,a){const s=e.lastChild;if(!s)return!1;if(s.nodeType===Node.TEXT_NODE){const e=this.hasNoteContentOutside(a,s)?0:this.firstNoteTextBoundary(s.textContent);return this.moveTextTail(s,t,r,n,!0,e)}if(1===s.nodeType){const e=s;if(e.hasChildNodes()&&!this.isNoteAtomicElement(e)&&!e.dataset.docxFloat&&!e.dataset.docxNoteReference){const s=this.cloneBlockShell(e);s.removeAttribute("name"),this.noteContinuationOrigins.set(s,e),t.prepend(s);const o=this.moveNoteTailNode(e,s,r,n,a);return e.hasChildNodes()||(e.id&&(s.id=e.id),e.hasAttribute("name")&&s.setAttribute("name",e.getAttribute("name")),e.remove()),s.hasChildNodes()||s.remove(),o}}return!(1===s.nodeType&&this.isNoteAtomicElement(s)&&!this.hasNoteContentOutside(a,s))&&(t.prepend(s),!0)}isNoteAtomicElement(e){return/^(img|svg|math|object|canvas|video|picture|br)$/i.test(e.localName)||e.hasAttribute("data-docx-field-instr")}isMutableNoteField(e){if(!e.hasAttribute("data-docx-field-instr"))return!1;const t=this.tokenizeFieldInstruction((e.dataset.docxFieldInstr??"").replace(/\s+/g," ").trim()),r=t[0]?.replace(/^=/,"").toUpperCase();return["PAGE","NUMPAGES","SECTIONPAGES","SECTION"].includes(r)||"PAGEREF"===r&&!!this.options.updatePageReferences}noteTextSignature(e,t){const r=e=>e.nodeType===Node.TEXT_NODE?e.textContent:1===e.nodeType&&this.isMutableNoteField(e)?`\0docx-field-${t.indexOf(e)}\0`:Array.from(e.childNodes).map(r).join("");return r(e)}assertDynamicNotesFit(e){const t=[],r=this.dynamicNoteState.get(e);if(r)for(const n of r.items){const a=r.fragments.get(n),s=r.fields.get(n),o=a.flatMap(e=>Array.from(e.querySelectorAll("[data-docx-field-instr]")));(a.map(e=>this.noteTextSignature(e,s)).join("")!==r.text.get(n)||o.length!==s.length||o.some((e,t)=>e!==s[t])||a.some((t,r)=>!e.contains(t)||t.dataset.docxNoteFragment!==`${r}`))&&t.push(`fragment conservation ${n.dataset.docxNoteKind}:${n.dataset.docxNoteId}`)}const n=this.options.paginationTolerance??2;for(const r of Array.from(e.querySelectorAll(`:scope > section.${this.className}`))){const e=Array.from(r.children).filter(e=>e.dataset.docxNoteList);if(!e.length||r.clientHeight<=0)continue;delete r.dataset.docxNoteLayoutError;const a=this.getPageBodyBottom(r),s=this.getPageNoteBottom(r),o=Array.from(r.querySelectorAll(":scope > article > *")).some(e=>e.getBoundingClientRect().bottom>a+n),i=e.some(e=>Array.from(e.querySelectorAll("*")).some(e=>e.getBoundingClientRect().bottom>s+n));(o||i)&&(r.dataset.docxNoteLayoutError="unresolved-overflow",t.push(e.flatMap(e=>Array.from(e.children,e=>`${e.dataset.docxNoteKind}:${e.dataset.docxNoteId}`)).join(",")))}if(t.length)throw e.dataset.docxNoteLayoutError="unresolved-overflow",new Error(`docx-preview: note layout requires continuation or unsupported geometry (${t.join("; ")}); all note content has been preserved`);delete e.dataset.docxNoteLayoutError}async refreshDynamicHeaderFooters(e){let t="",r=0,n=0;const a=this.tasks.length;for(const a of e){const e=a.dataset.docxSection??"",s=e!==t;if(s){const s=Number(a.dataset.docxPageStart);r=null!=a.dataset.docxPageStart&&Number.isFinite(s)?s:r+1,n=1,t=e}else r++,n++;const o=this.pageHeaderFooterState.get(a);if(o){this.currentPageNumber=r,this.currentSectionPageNumber=n,this.currentSectionNumber=Number(a.dataset.docxSectionNumber)||1;for(const e of["header","footer"]){const t="header"===e?o.headerProps:o.footerProps,n="header"===e?t.headerRefs:t.footerRefs,i="header"===e?"headerId":"footerId",l=this.selectHeaderFooterReference(n,t,r,s);if(o[i]!==l?.id&&(o[i]=l?.id,a.querySelector(`:scope > ${e}`)?.remove(),("header"===e?this.options.renderHeaders:this.options.renderFooters)&&(this.currentSectionProps=t,this.renderHeaderFooter(n,t,r,s,a),"header"===e))){const e=a.querySelector(":scope > header");e&&a.prepend(e)}}}}await Promise.allSettled(this.tasks.slice(a))}splitOverflowBlock(e,t,r){if(!r.isConnected&&t.isConnected&&r.parentElement&&t.after(r.parentElement),!e||"true"==e.dataset.docxKeepLines)return!1;const n=getComputedStyle(e);if("avoid"==n.breakInside||"avoid"==n.pageBreakInside)return!1;switch(e.tagName.toLowerCase()){case"p":return this.splitParagraphBlock(e,t,r);case"table":return this.splitTableBlock(e,t,r)}return!1}splitParagraphBlock(e,t,r){if(!e.hasChildNodes())return!1;const n=this.cloneBlockShell(e);n.dataset.docxContinued="true",r.prepend(n);let a=!1,s=0;for(;this.isPageOverflowing(t)&&e.hasChildNodes()&&s++<1e3;){if(!this.moveTailInlineNode(e,n,t))break;a=!0,this.removeEmptyInlineContainers(e)}return a?(e.hasChildNodes()?this.options.strictWordCompatibility&&"true"==e.dataset.docxWidowControl&&this.rebalanceWidowOrphan(e,n,t):e.remove(),!0):(n.remove(),!1)}splitTableBlock(e,t,r){const n=this.tableContentRows(e);if(n.length<=1)return!1;const a=this.cloneBlockShell(e);a.dataset.docxContinued="true";for(const t of Array.from(e.children))"colgroup"==t.tagName?.toLowerCase()&&a.appendChild(t.cloneNode(!0));for(const e of n.filter(e=>"true"==e.dataset.docxRepeatHeader)){const t=e.cloneNode(!0);t.dataset.docxRepeatedHeader="true",a.appendChild(t)}r.prepend(a);let s=!1,o=0;for(;this.isPageOverflowing(t)&&this.tableContentRows(e).length>1&&o++<500;){const t=this.tableContentRows(e).filter(e=>"true"!=e.dataset.docxRepeatedHeader),r=t[t.length-1];if(!r)break;a.insertBefore(r,this.firstMovedTableRow(a)),s=!0}return!!s||(a.remove(),!1)}cloneBlockShell(e){const t=e.cloneNode(!1);return t.removeAttribute("id"),t}tableContentRows(e){return Array.from(e.querySelectorAll(":scope > tr, :scope > tbody > tr"))}firstMovedTableRow(e){return this.tableContentRows(e).find(e=>"true"!=e.dataset.docxRepeatedHeader)??null}moveTailInlineNode(e,t,r){const n=e.lastChild;if(!n)return!1;if(n.nodeType==Node.TEXT_NODE)return this.moveTextTail(n,t,r);if(n instanceof Element){if(n.dataset?.docxNoteReference)return t.prepend(n),!0;if(n.childNodes.length>0&&"br"!=n.tagName?.toLowerCase()){const e=n.cloneNode(!1);e.removeAttribute("id"),t.prepend(e);const a=this.moveTailInlineNode(n,e,r);return n.hasChildNodes()||n.remove(),e.hasChildNodes()||e.remove(),a}}return t.prepend(n),!0}moveTextTail(e,t,r,n=()=>this.isPageOverflowing(r),a=!1,s=0){const o=e.data??"";if(!o||o.length<=s)return!1;const i=document.createTextNode("");if(t.prepend(i),1==o.length)return i.data=o,e.remove(),!0;let l=1,c=o.length-s,h=c;for(;l<=c;){const t=Math.floor((l+c)/2);e.data=o.substring(0,o.length-t),i.data=o.substring(o.length-t),n()?l=t+1:(h=t,c=t-1)}if(h=Math.min(o.length-s,this.adjustSplitToWordBoundary(o,h)),a){const e=o.length-h,t=globalThis.Intl?.Segmenter;let r=0;if(t)for(const n of new t(void 0,{granularity:"grapheme"}).segment(o)){if(n.index>e)break;r=n.index}else for(r=e,r>0&&/[\uDC00-\uDFFF]/.test(o[r])&&/[\uD800-\uDBFF]/.test(o[r-1])&&r--;r>0&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f\ufe00-\ufe0f\u200d]/.test(o[r]);)r--;h=o.length-Math.max(r,s)}return e.data=o.substring(0,o.length-h),i.data=o.substring(o.length-h),e.data||e.remove(),!0}adjustSplitToWordBoundary(e,t){if(t<=1||t>=e.length)return t;const r=e.length-t,n=e.lastIndexOf(" ",r);return n>0&&r-n<32?e.length-n-1:t}removeEmptyInlineContainers(e){for(const t of Array.from(e.childNodes))t instanceof HTMLElement&&(this.removeEmptyInlineContainers(t),t.hasChildNodes()||/^(br|img|svg|math)$/i.test(t.tagName)||t.remove())}cleanupEmptyNumberedParagraphs(e){const t=`p[class*="${this.className}-num-"]`;for(const r of Array.from(e.querySelectorAll(t))){if(this.hasVisiblePaginationContent(r))continue;if(!r.id&&!r.querySelector("[id], a[name]"))continue;const t=this.findNextVisiblePaginationBlock(e,r);t&&this.moveAnchorsToBlock(r,t),r.remove()}}removeEmptyDynamicPages(e){const t=Array.from(e.querySelectorAll(`:scope > section.${this.className}[data-docx-dynamic-page="true"]`));for(const e of t){const t=Array.from(e.querySelectorAll(":scope > article")),r=t.some(e=>Array.from(e.children).some(e=>this.hasVisiblePaginationContent(e))),n=Array.from(e.children).some(e=>e.dataset.docxNoteList&&e.children.length>0);t.length>0&&!r&&!n&&e.remove()}}findNextVisiblePaginationBlock(e,t){const r=Array.from(e.querySelectorAll("article p, article table, article figure, article img, article svg, article math"));for(let e=r.indexOf(t)+1;e<r.length;e++){const t=r[e];if(this.hasVisiblePaginationContent(t))return t}return null}hasVisiblePaginationContent(e){return(e.textContent??"").replace(/\s+/g,"").length>0||!!e.querySelector("br,img,svg,math,object,canvas,video,table")}moveAnchorsToBlock(e,t){const r=Array.from(e.querySelectorAll("[id], a[name]"));e.id&&!t.id&&(t.id=e.id);for(let e=r.length-1;e>=0;e--){const n=r[e];n.id&&t.querySelector(`#${CSS.escape(n.id)}`)||t.prepend(n)}}rebalanceWidowOrphan(e,t,r){const n=this.visualLineCount(e),a=this.visualLineCount(t);if(n>=2&&a>=2)return;if(n<2&&e.parentElement&&t.hasChildNodes())return t.prepend(...Array.from(e.childNodes)),void e.remove();let s=0;for(;this.visualLineCount(t)<2&&e.hasChildNodes()&&s++<20&&!this.isPageOverflowing(r)&&this.moveTailInlineNode(e,t,r););}visualLineCount(e){try{const t=document.createRange();t.selectNodeContents(e);const r=Array.from(t.getClientRects());t.detach?.();const n=new Set(r.map(e=>Math.round(e.top)));return Math.max(n.size,1)}catch{return 1}}updateDynamicFieldPages(e){const t=Array.from(e.querySelectorAll(":scope > section."+this.className)),r={},n={},a={},s=[],o=[];let i=0,l="";for(const e of t){const t=e.dataset.docxSection??"";n[t]=(n[t]??0)+1}if(t.forEach((e,t)=>{const c=e.dataset.docxSection??"";if(c!=l){const t=null!=e.dataset.docxPageStart?parseInt(e.dataset.docxPageStart,10):null;i=Number.isFinite(t)?t:i+1,a[c]=1,l=c}else i++,a[c]=(a[c]??0)+1;e.dataset.docxPageNumber=`${i}`,e.dataset.docxSectionPageNumber=`${a[c]}`,e.dataset.docxSectionPageCount=`${n[c]??1}`,s[t]=i,o[t]=a[c];for(const t of Array.from(e.querySelectorAll("[id]")))t.id&&null==r[t.id]&&(r[t.id]=i)}),t.forEach((e,a)=>{const i=e.dataset.docxSection??"";for(const l of Array.from(e.querySelectorAll("[data-docx-field-instr]"))){const c=this.evaluateDynamicField(l.dataset.docxFieldInstr,s[a]??a+1,t.length,r,n[i]??1,o[a]??1,parseInt(e.dataset.docxSectionNumber??"1",10));null!=c&&(l.textContent=c)}}),this.options.updatePageReferences)for(const t of Array.from(e.querySelectorAll("[data-docx-page-ref]"))){const e=t.dataset.docxPageRef;t.textContent=`${r[e]??1}`}this.updateDynamicNoteNumbers(e)}evaluateDynamicField(e,t,r,n,a=r,s=t,o=1){const i=this.tokenizeFieldInstruction((e??"").replace(/\s+/g," ").trim()),l=i[0]?.replace(/^=/,"").toUpperCase();let c=null;switch(l){case"PAGE":c=this.formatFieldNumber(t,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"NUMPAGES":c=this.formatFieldNumber(r,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"SECTIONPAGES":c=this.formatFieldNumber(a,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??this.currentSectionProps?.pageNumber?.format));break;case"SECTION":c=this.formatFieldNumber(o,this.fieldFormatSwitchToNumFormat(this.fieldSwitch(i,"\\*")??"decimal"));break;case"PAGEREF":{if(!this.options.updatePageReferences)return null;const e=this.firstFieldArgument(i);c=e?`${n[e]??1}`:"";break}}return null==c?null:this.applyFieldFormatting(c,e)}renderDefaultStyle(){var e=this.className;const t=!!this.options.darkMode,r=t?"#242424":"gray",n=t?Bs("white"):"white",a=t?Bs("black"):"black";var s=`\n.${e}-wrapper { position: relative; background: ${r}; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; }\n.${e}-wrapper>section.${e} { background: ${n}; box-shadow: ${t?"0 0 10px rgba(0, 0, 0, 0.8)":"0 0 10px rgba(0, 0, 0, 0.5)"}; margin-bottom: 30px;${t?" outline: 1px solid rgba(255, 255, 255, 0.15); outline-offset: -1px;":""} }`;this.options.hideWrapperOnPrint&&(s=`@media not print { ${s} }`);var o=`${s}\n.${e} { --docx-auto-color: ${a}; color: var(--docx-auto-color); font-size: 10.5pt; font-family: var(--docx-minorHAnsi-font, "Times New Roman", serif); hyphens: auto; text-underline-position: from-font; font-kerning: normal; font-variant-ligatures: common-ligatures contextual; text-rendering: optimizeLegibility; line-break: auto; }\nsection.${e} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: visible; isolation: isolate; }\nsection.${e}>header, section.${e}>footer { flex-shrink: 0; }\nsection.${e}>[data-docx-note-list] { flex-shrink: 0; }\nsection.${e}>article { z-index: 1; }\nsection.${e}>article:last-of-type { margin-bottom: auto; }\nsection.${e}>footer { z-index: 1; }\n.${e} [data-docx-continued="true"] { margin-top: 0 !important; }\n.${e} tr[data-docx-repeat-header="true"], .${e} tr[data-docx-repeated-header="true"] { break-after: avoid; }\n.${e} li[data-docx-note-label]::marker { content: attr(data-docx-note-label) " "; }\n.${e} li[data-docx-note-custom="true"]::marker, .${e} li[data-docx-note-label=""]::marker,\n.${e} li[data-docx-note-fragment]:not([data-docx-note-fragment="0"])::marker { content: ""; }\n.${e} table { border-collapse: collapse; }\n.${e} table td, .${e} table th { vertical-align: top; overflow-wrap: anywhere; }\n.${e} p { margin: 0pt; min-height: 1em; }\n.${e} .${e}-paragraph-frame > p { margin: 0; }\n.${e} span { white-space: pre-wrap; overflow-wrap: break-word; font-feature-settings: "kern" 1; }\n.${e} table span { overflow-wrap: anywhere; }\n.${e} .${e}-float-wrap { shape-margin: 0.15in; }\n.${e} .${e}-field { white-space: pre-wrap; }\n.${e} .${e}-tab-stop { display: inline-block; min-width: 1em; white-space: nowrap; line-height: 1; }\n.${e} .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-stop[data-docx-tab-leader="middleDot"] { min-width: 2em; border-bottom: 1px dotted currentColor; height: .85em; transform: translateY(-.18em); }\n.${e} .${e}-tab-stop[data-docx-tab-leader="hyphen"], .${e} .${e}-tab-stop[data-docx-tab-leader="heavy"], .${e} .${e}-tab-stop[data-docx-tab-leader="underscore"] { min-width: 2em; border-bottom: 1px solid currentColor; height: .85em; transform: translateY(-.18em); }\n.${e} .${e}-tab-leader-paragraph > a, .${e} .${e}-tab-leader-paragraph > .${e}-tab-leader-line, .${e} .${e}-tab-leader-line { display: inline-flex; align-items: baseline; width: calc(100% - var(--docx-text-indent, 0pt)); color: inherit !important; text-decoration: none !important; box-sizing: border-box; max-width: none; text-indent: 0; }\n.${e} .${e}-tab-leader-paragraph > a, .${e} .${e}-tab-leader-paragraph > a * { color: inherit !important; text-decoration: none !important; }\n.${e} .${e}-toc-paragraph a, .${e} .${e}-toc-paragraph a * { color: inherit !important; text-decoration: none !important; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"] { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: .35em; align-items: baseline; list-style-position: outside; list-style-type: none; text-indent: 0 !important; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"]::before { grid-column: 1; grid-row: 1; white-space: pre; margin-inline-end: 0; }\n.${e} .${e}-toc-paragraph.${e}-tab-leader-paragraph[class*="${e}-num-"] > a { grid-column: 2; grid-row: 1; display: inline-flex; flex: 1 1 auto; width: auto; min-width: 0; max-width: 100%; }\n.${e} .${e}-tab-leader-title { flex: 0 1 auto; min-width: 0; }\n.${e} .${e}-tab-leader-page { flex: 0 0 auto; white-space: nowrap; text-align: right; }\n.${e} .${e}-tab-leader-fill, .${e} .${e}-tab-leader-paragraph > a > .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-leader-paragraph > a > .${e}-tab-stop[data-docx-tab-leader="middleDot"], .${e} .${e}-tab-leader-paragraph > .${e}-tab-stop[data-docx-tab-leader="dot"], .${e} .${e}-tab-leader-paragraph > .${e}-tab-stop[data-docx-tab-leader="middleDot"] { flex: 1 1 auto; width: auto; margin: 0 .2em; }\n.${e} .${e}-literal-leader-line > .${e}-tab-leader-title { flex: 0 0 auto; white-space: nowrap; }\n.${e} .${e}-toc { display: table; width: 100%; }\n.${e} .${e}-toc-entry { display: table-row; }\n.${e} .${e}-toc-title, .${e} .${e}-toc-page { display: table-cell; }\n.${e} .${e}-toc-title { border-bottom: 1px dotted currentColor; }\n.${e} .${e}-toc-page { text-align: right; width: 3em; }\n.${e} math { font-family: Cambria Math, STIX Two Math, Latin Modern Math, serif; }\n.${e} ruby { ruby-position: over; }\n.${e} rt { font-size: 0.5em; line-height: 1; }\n.${e} .${e}-chart, .${e} .${e}-smartart, .${e} .${e}-ink { min-width: 2in; min-height: 1in; }\n.${e} a { color: inherit; text-decoration: inherit; }\n.${e} svg { fill: transparent; }\n[data-docx-review-enabled="true"] { --docx-review-color: #c2410c; }\n[data-docx-review-enabled="true"] ins[data-docx-change-kind], [data-docx-review-enabled="true"] del[data-docx-change-kind] { text-decoration: none; }\n[data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="delete"], [data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="move-from"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-change-kind="delete"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-change-kind="move-from"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="insert"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="move-to"] { display: none !important; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] ins[data-docx-change-kind]:not([data-docx-change-empty="true"]) { color: var(--docx-review-color); text-decoration: underline; text-decoration-color: var(--docx-review-color); text-underline-offset: .16em; background: color-mix(in srgb, var(--docx-review-color) 7%, transparent); }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] ins[data-docx-change-empty="true"] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] del[data-docx-change-kind] { display: inline-block !important; width: 0 !important; max-width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; line-height: 0 !important; vertical-align: baseline; color: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"][data-docx-review-presentation="inline"] del[data-docx-change-kind] { display: inline !important; width: auto !important; max-width: none !important; height: auto !important; overflow: visible !important; line-height: inherit !important; color: var(--docx-review-color); text-decoration: line-through; text-decoration-color: var(--docx-review-color); }\n[data-docx-review-enabled="true"][data-docx-review-mode="simple"] ins[data-docx-change-kind] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="original"] del[data-docx-change-kind] { color: inherit; text-decoration: none; background: transparent; }\n[data-docx-review-enabled="true"][data-docx-review-mode="all"] [data-docx-format-change="true"], [data-docx-review-enabled="true"][data-docx-review-mode="simple"] [data-docx-format-change="true"] { outline: 0; }\n[data-docx-review-enabled="true"][data-docx-review-mode="final"] [data-docx-change-kind="comment"], [data-docx-review-enabled="true"][data-docx-review-mode="original"] [data-docx-change-kind="comment"] { display: none !important; }\n@media print { .${e}-wrapper { background: transparent; padding: 0; display: block; } .${e}-wrapper>section.${e}, section.${e} { background: white; margin: 0 auto; box-shadow: none; outline: none; break-after: page; page-break-after: always; } .${e} { --docx-auto-color: black; color: black; } }\n`;return this.options.renderComments&&(o+=`\n.${e}-comment-ref { cursor: pointer; }\n.${e}-comment-ref[data-docx-comment-positioned="true"]:not(:focus) { opacity: 0; }\n.${e}-comment-ref:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n.${e}-comment-anchor { display: inline-block; width: 0; height: 0; overflow: visible; vertical-align: baseline; }\n.${e}-comment-layer { position: absolute; inset: 0; pointer-events: none; z-index: 1000; }\n.${e}-comment-popover { display: block; width: max-content; pointer-events: auto; margin: 0; padding: 0; }\n.${e}-comment-popover > summary { list-style: none; cursor: pointer; display: block; padding: 0; margin: 0; }\n.${e}-comment-popover > summary::-webkit-details-marker { display: none; }\n.${e}-comment-popover > summary:focus-visible { outline: 2px solid currentColor; }\n.${e}-comment-body { position: absolute; top: 100%; width: 30ch; box-sizing: border-box; overflow: auto; padding: .5rem; background: ${n}; color: var(--docx-auto-color); box-shadow: 0 0 .25rem rgba(0,0,0,.25); }\n.${e}-comment-author,.${e}-comment-date { font-size: .875rem; color: ${t?Bs("#888888"):"#888"}; }\n@media print { .${e}-comment-layer, .${e}-comment-popover, .${e}-comment-body { position: static !important; width: auto !important; max-width: none !important; max-height: none !important; overflow: visible; } .${e}-comment-layer { pointer-events: auto; } .${e}-comment-body { box-shadow: none; } }\n\n`),[this.h({tagName:"#comment",children:["docxjs library predefined styles"]}),this.h({tagName:"style",children:[o]})]}async renderNumbering(e){var t="",r=[];const n=new Map,a=new Map(e.map(e=>[`${e.id}:${e.level}`,this.numFormatToCssValue(e.format)])),s=(e,t)=>{const r=n.get(e)??[];r.push(t),n.set(e,r)};for(var o of e){var i=this.numberingSelector(o.id,o.level),l="none";if(o.bullet){let e=`--${this.className}-${o.bullet.src}`.toLowerCase();t+=this.styleToString(`${i}:before`,{content:"' '",display:"inline-block",background:`var(${e})`},o.bullet.style);try{const r=await this.document.loadNumberingImage(o.bullet.src);t+=`${this.rootSelector} { ${e}: url(${r}) }`}catch(e){this.options.debug&&console.warn(`Can't load numbering image with src ${o.bullet.src}`)}}else if(o.levelText){let e=this.numberingCounter(o.id,o.level);const n=e+" "+(o.start-1),l=this.numberingRestartLevel(o);null!=l&&s(this.numberingSelector(o.id,l),n),r.push(n);const c=this.normalizeNumberingLevelText(o.levelText,o.format,o.rStyle),h=this.numberingMarkerRunStyle(o.rStyle,c.normalized);t+=this.styleToString(`${i}:before`,{content:this.levelTextToContent(c.text,o.suff,o.id,this.numFormatToCssValue(o.format),a),"counter-increment":e,"font-family":"var(--docx-marker-font-family, inherit)","font-size":"var(--docx-marker-font-size, inherit)","font-style":"var(--docx-marker-font-style, inherit)","font-weight":"var(--docx-marker-font-weight, inherit)",...h})}else l=this.numFormatToCssValue(o.format);t+=this.styleToString(i,{display:"list-item","list-style-position":"inside","list-style-type":l,...o.pStyle})}for(const[e,r]of n)t+=this.styleToString(e,{"counter-set":r.join(" ")});return r.length>0&&(t+=this.styleToString(this.rootSelector,{"counter-reset":r.join(" ")})),[this.h({tagName:"#comment",children:["docxjs document numbering styles"]}),this.h({tagName:"style",children:[t]})]}renderStyles(e){var t="";const r=this.styleMap,n=y(e.filter(e=>e.isDefault),e=>e.target);for(const i of e){var a=i.styles;if(i.linked){var s=i.linked&&r[i.linked];s?a=a.concat(s.styles):this.options.debug&&console.warn(`Can't find linked style ${i.linked}`)}for(const e of a){var o=`${i.target??""}.${i.cssName}${e.mod??""}`;i.target!=e.target&&(o+=` ${e.target}`),o=this.scopeDocumentStyleSelector(o),n[i.target]==i&&(o=`.${this.className} ${i.target}, `+o),t+=this.styleToString(o,e.values)}}return[this.h({tagName:"#comment",children:["docxjs document styles"]}),this.h({tagName:"style",children:[t]})]}renderNotes(e,t,r,n="footnote"){const a=Array.from(new Set(e)).filter(e=>t[e]&&!["separator","continuationSeparator","continuationNotice"].includes(t[e].noteType)&&!this.renderedNoteIds.has(`${n}:${e}`));if(0===a.length)return null;const s=this.currentPart;this.currentPart=r??s;try{const e=a.map(e=>{const r=this.renderElement(t[e]);return r.dataset.docxNoteId=e,r.dataset.docxNoteKind=n,r.dataset.docxNoteFragment="0",this.applyNoteAssignment(r,this.noteNumbering.assignments.get(`${n}:${e}`),!1),this.renderedNoteIds.add(`${n}:${e}`),r}),r=this.h({tagName:"ol",children:e});return r.dataset.docxNoteList=n,r}finally{this.currentPart=s}}formatNoteAssignment(e){return function(e){if(!e||e.custom||"none"===e.properties.format)return"";const t=e.value,r=e.properties.format;switch(r){case"chicago":{const e=["*","†","‡","§"];return t>0&&t<=384?e[(t-1)%e.length].repeat(Math.floor((t-1)/e.length)+1):`${t}`}case"upperLetter":case"lowerLetter":{if(t<=0||t>3328)return`${t}`;const e="upperLetter"===r?65:97;return String.fromCharCode(e+(t-1)%26).repeat(Math.floor((t-1)/26)+1)}case"upperRoman":case"lowerRoman":{if(t<=0||t>3999)return`${t}`;const e=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];let n=t,a="";for(const[t,r]of e)for(;n>=t;)a+=r,n-=t;return"lowerRoman"===r?a.toLowerCase():a}case"decimalZero":return t<10?`0${t}`:`${t}`;case"numberInDash":return`-${t}-`;case"hex":return t.toString(16).toUpperCase();case"ordinal":return`${t}${t%100>=11&&t%100<=13?"th":{1:"st",2:"nd",3:"rd"}[t%10]??"th"}`;default:return`${t}`}}(e)}applyNoteAssignment(e,t,r){if(!t)return;const n=this.formatNoteAssignment(t);e.dataset.docxNoteLabel=n,e.dataset.docxNoteCustom=`${t.custom}`,r?e.childNodes?.length?e.textContent=n:e.appendChild(this.h(n)):(null!=t.value&&e.setAttribute("value",`${t.value}`),e.style.listStyleType=t.custom?"none":this.numFormatToCssValue(t.properties.format))}renderElement(e){switch(e.type){case We.Paragraph:return this.renderParagraph(e);case We.BookmarkStart:return this.renderBookmarkStart(e);case We.BookmarkEnd:return null;case We.Run:return this.renderRun(e);case We.Table:return this.renderTable(e);case We.Row:return this.renderTableRow(e);case We.Cell:return this.renderTableCell(e);case We.Hyperlink:return this.renderHyperlink(e);case We.SmartTag:return this.renderSmartTag(e);case We.Drawing:return this.renderAnchoredElement(e,this.renderDrawing(e));case We.Image:return this.renderImage(e);case We.Shape:return this.renderShape(e);case We.Chart:return this.renderChart(e);case We.SmartArt:return this.renderSmartArt(e);case We.Ink:return this.renderInk(e);case We.SimpleField:return this.renderSimpleField(e);case We.Instruction:case We.ComplexField:return null;case We.Text:return this.renderText(e);case We.DeletedText:return this.renderDeletedText(e);case We.Tab:return this.renderTab(e);case We.Symbol:return this.renderSymbol(e);case We.Break:return this.renderBreak(e);case We.Footer:return this.renderContainer(e,"footer");case We.Header:return this.renderContainer(e,"header");case We.Footnote:case We.Endnote:return this.renderContainer(e,"li");case We.FootnoteReference:return this.renderFootnoteReference(e);case We.EndnoteReference:return this.renderEndnoteReference(e);case We.NoBreakHyphen:return this.h("‑");case We.SoftHyphen:return this.h("­");case We.PositionalTab:return this.renderTab(e);case We.Ruby:return this.renderRuby(e);case We.RubyBase:return this.renderContainer(e,"span");case We.RubyText:return this.toHTML(e,zs.html,"rt");case We.VmlPicture:return this.renderVmlPicture(e);case We.VmlElement:return this.renderAnchoredElement(e,this.renderVmlElement(e));case We.MmlMath:return this.renderContainerNS(e,zs.mathML,"math",{xmlns:zs.mathML});case We.MmlMathParagraph:return this.renderMmlMathParagraph(e);case We.MmlFraction:return this.renderContainerNS(e,zs.mathML,"mfrac");case We.MmlBase:return this.renderContainerNS(e,zs.mathML,e.parent?.type==We.MmlMatrixRow?"mtd":"mrow");case We.MmlNumerator:case We.MmlDenominator:case We.MmlFunction:case We.MmlLimit:case We.MmlBox:return this.renderContainerNS(e,zs.mathML,"mrow");case We.MmlGroupChar:return this.renderMmlGroupChar(e);case We.MmlLimitLower:return this.renderContainerNS(e,zs.mathML,"munder");case We.MmlLimitUpper:return this.renderContainerNS(e,zs.mathML,"mover");case We.MmlSubSuperscript:return this.renderContainerNS(e,zs.mathML,"msubsup");case We.MmlPhantom:return this.renderMmlPhantom(e);case We.MmlBorderBox:return this.renderContainerNS(e,zs.mathML,"menclose");case We.MmlAccent:return this.renderMmlAccent(e);case We.MmlMatrix:return this.renderContainerNS(e,zs.mathML,"mtable");case We.MmlMatrixRow:return this.renderContainerNS(e,zs.mathML,"mtr");case We.MmlRadical:return this.renderMmlRadical(e);case We.MmlSuperscript:return this.renderContainerNS(e,zs.mathML,"msup");case We.MmlSubscript:return this.renderContainerNS(e,zs.mathML,"msub");case We.MmlDegree:case We.MmlSuperArgument:case We.MmlSubArgument:return this.renderContainerNS(e,zs.mathML,"mrow");case We.MmlFunctionName:return this.renderContainerNS(e,zs.mathML,"mi");case We.MmlDelimiter:return this.renderMmlDelimiter(e);case We.MmlRun:return this.renderMmlRun(e);case We.MmlNary:return this.renderMmlNary(e);case We.MmlPreSubSuper:return this.renderMmlPreSubSuper(e);case We.MmlBar:return this.renderMmlBar(e);case We.MmlEquationArray:return this.renderMllList(e);case We.Inserted:return this.renderInserted(e);case We.Deleted:return this.renderDeleted(e);case We.CommentRangeStart:return this.renderCommentRangeStart(e);case We.CommentRangeEnd:return this.renderCommentRangeEnd(e);case We.CommentReference:return this.renderCommentReference(e);case We.AltChunk:return this.renderAltChunk(e)}return null}renderElements(e,t){if(null==e)return null;e=this.reviewParagraphs(e);const r=[];for(let t=0;t<e.length;t++){const n=e[t].type==We.Paragraph?e[t]:null;if(this.isPositionedParagraphFrame(n)){const a=this.paragraphFrameKey(n),s=[n];for(;t+1<e.length;){const r=e[t+1].type==We.Paragraph?e[t+1]:null;if(!this.isPositionedParagraphFrame(r)||this.paragraphFrameKey(r)!=a)break;s.push(r),t++}const o=s.flatMap(e=>S(this.renderElement(e)).filter(e=>null!=e)),i=this.h({tagName:"div",className:`${this.className}-paragraph-frame`,style:this.paragraphFrameStyle(n),children:o});i.dataset.docxFrameAnchor=`${n.frame.horizontalAnchor??"text"}/${n.frame.verticalAnchor??"text"}`,i.dataset.docxFrameParagraphs=`${s.length}`,r.push(i);continue}const a=this.tryRenderComplexField(e,t);a?(r.push(...S(a.node).filter(e=>null!=e)),t=a.nextIndex-1):r.push(...S(this.renderElement(e[t])).filter(e=>null!=e))}return t&&r.forEach(e=>t.appendChild(v(e)?document.createTextNode(e):e)),r}reviewParagraphs(e){const t=Us(this.options);if("all"==t)return e;const r=[];for(const n of e??[]){const e=r[r.length-1],a=n,s="original"==t?(e?.props?.paragraphMarkRevisions??[]).some(e=>"insert"==e.kind):e?.props?.deletedParagraphMark;e?.type==We.Paragraph&&n.type==We.Paragraph&&s&&!e.sectionProps&&this.paragraphFrameKey(e)==this.paragraphFrameKey(a)?r[r.length-1]={...a,children:[...e.children??[],...a.children??[]]}:r.push(n)}return r}isPositionedParagraphFrame(e){const t=e?.frame;return!!t&&"drop"!=t.dropCap&&!!(t.width||t.height||t.horizontalPosition||t.verticalPosition||t.horizontalAlignment||t.verticalAlignment)}paragraphFrameKey(e){const t=e.frame??{};return JSON.stringify([t.width,t.height,t.horizontalPosition,t.verticalPosition,t.horizontalAnchor,t.verticalAnchor,t.horizontalAlignment,t.verticalAlignment,t.horizontalSpace,t.verticalSpace,t.heightRule,t.wrap])}paragraphFrameStyle(e){const t=e.frame,r={position:"absolute",boxSizing:"border-box",zIndex:"2"},n="page"==t.horizontalAnchor,a="page"==t.verticalAnchor;return t.width&&(r.width=t.width),t.height&&("exact"==t.heightRule?(r.height=t.height,r.overflow="hidden"):r.minHeight=t.height),t.horizontalPosition?r.left=n?`calc(${t.horizontalPosition} - var(--docx-page-padding-left, 0pt))`:t.horizontalPosition:"center"==t.horizontalAlignment?(r.left="50%",r.transform="translateX(-50%)"):"right"==t.horizontalAlignment||"outside"==t.horizontalAlignment?r.right="0":"left"!=t.horizontalAlignment&&"inside"!=t.horizontalAlignment||(r.left="0"),t.verticalPosition?r.top=a?`calc(${t.verticalPosition} - var(--docx-page-padding-top, 0pt))`:t.verticalPosition:"center"==t.verticalAlignment?(r.top="50%",r.transform=`${r.transform??""} translateY(-50%)`.trim()):"bottom"==t.verticalAlignment||"outside"==t.verticalAlignment?r.bottom="0":"top"!=t.verticalAlignment&&"inside"!=t.verticalAlignment||(r.top="0"),r}tryRenderComplexField(e,t){if(!this.hasFieldChar(e[t],"begin"))return null;let r=0,n=!1,a="";const s=[];for(let o=t;o<e.length;o++){const t=e[o],i=t.type==We.Run?{...t,fieldRun:!1,children:[]}:null;if(t.type==We.Run){for(const e of t.children??[]){if(e.type==We.ComplexField){const t=e;if("begin"==t.charType)r++;else if("separate"==t.charType&&1==r)n=!0;else if("end"==t.charType&&(r--,0==r))return i.children.length>0&&s.push(i),{node:this.renderSimpleField({type:We.SimpleField,instruction:a,lock:!1,dirty:!1,children:s}),nextIndex:o+1};continue}n||1!=r||e.type!=We.Instruction?n&&r>0&&i.children.push(e):a+=e.text??""}i.children.length>0&&s.push(i)}else n&&r>0&&s.push(t)}return null}hasFieldChar(e,t){return e.type==We.Run&&e.children?.some(e=>e.type==We.ComplexField&&e.charType==t)}renderContainer(e,t){return this.h({tagName:t,children:this.renderElements(e.children)})}renderContainerNS(e,t,r,n){return this.h({ns:t,tagName:r,children:this.renderElements(e.children),...n})}effectiveParagraphTabs(e,t){if(!e?.length)return t;if(!t?.length)return e;const r=[...t];for(const t of e){const e=this.parseCssLengthValue(t.position),n=r.findIndex(t=>this.parseCssLengthValue(t.position)==e);n>=0?r[n]=t:r.push(t)}return r.sort((e,t)=>(this.parseCssLengthValue(e.position)??0)-(this.parseCssLengthValue(t.position)??0))}countParagraphTabs(e){let t=0;const r=e=>{e.type!=We.Tab&&e.type!=We.PositionalTab||t++;for(const t of e.children??[])r(t)};return r(e),t}isLeaderTabStop(e){return!!e?.leader&&"none"!=e.leader&&"clear"!=e.style}resolveRenderedTabStop(e,t,r){if(!e?.length)return null;const n=e[Math.min(t,Math.max(e.length-1,0))],a=[...e].reverse().find(e=>this.isLeaderTabStop(e)),s=this.findStyle(this.currentParagraph?.styleName),o=this.isTocParagraphStyle(this.currentParagraph?.styleName,s),i=!!a&&!!(this.currentParagraph?.numbering??s?.paragraphProps?.numbering)&&o;return a?r<=1?o||i?a:n:t>=r-1?a:this.isLeaderTabStop(n)?e.slice(0,Math.min(t+1,e.length)).reverse().find(e=>!this.isLeaderTabStop(e)&&"clear"!=e.style)??e.find(e=>!this.isLeaderTabStop(e)&&"clear"!=e.style)??null:n:n}renderParagraph(e){const t=this.findStyle(e.styleName);e.tabs=this.effectiveParagraphTabs(e.tabs,t?.paragraphProps?.tabs);const r=this.currentParagraph,n=this.currentParagraphTabIndex,a=this.currentParagraphTabCount;this.currentParagraph=e,this.currentParagraphTabIndex=0,this.currentParagraphTabCount=this.countParagraphTabs(e);let s=this.renderElements(e.children);const o=this.uniformParagraphTextScale(e,t);if(null!=o&&1!=o){const r=this.effectiveParagraphCssValue(e,t,"text-indent")??"0pt",n="rtl"==this.effectiveParagraphCssValue(e,t,"direction"),a=this.h({tagName:"span",className:`${this.className}-text-scale`,style:{display:"block",font:"inherit",background:"none",border:"none",width:100/o+"%",transform:`scaleX(${o})`,transformOrigin:n?"right top":"left top",textIndent:`calc(${r} / ${o})`},children:s});a.dataset.docxTextScale=`${o}`,s=[a]}var i=this.toHTML(e,zs.html,"p",this.wrapTabLeaderChildren(s,!0));if(this.options.exposeDisplayTargets&&e.displayAddress){const t=this.currentPart??this.document.documentPart;i.setAttribute("data-office-target",`${t.path}#${e.displayAddress}`)}const l=this.effectiveParagraphCssValue(e,t,"--docx-snap-to-grid");/^(0|false|off)$/i.test(l??"")&&(i.style.letterSpacing="normal"),this.currentParagraph=r,this.currentParagraphTabIndex=n,this.currentParagraphTabCount=a;const c=e.numbering??t?.paragraphProps?.numbering;c&&i.classList.add(this.numberingClass(c.id,c.level));const h=t?.paragraphProps;(e.pageBreakBefore??h?.pageBreakBefore)&&(i.style.breakBefore="page",i.dataset.docxPageBreakBefore="true"),(e.keepLines??h?.keepLines)&&(i.style.breakInside="avoid",i.dataset.docxKeepLines="true"),(e.keepNext??h?.keepNext)&&(i.style.breakAfter="avoid",i.dataset.docxKeepNext="true"),(e.widowControl??h?.widowControl)&&(i.style.orphans="2",i.style.widows="2",i.dataset.docxWidowControl="true"),this.applyDocumentGridLinePitch(e,t,i);const d=e.tabs?.find(e=>this.isLeaderTabStop(e));return d&&(i.classList.add(`${this.className}-tab-leader-paragraph`),i.dataset.docxHasTabLeader="true",i.dataset.docxTabLeader=d.leader,i.dataset.docxTabAlign=d.style),this.isTocParagraphStyle(e.styleName,t)&&(i.classList.add(`${this.className}-toc-paragraph`),i.dataset.docxTocEntry="true"),this.hasParagraphRelativeAnchor(e)&&(i.style.position&&"static"!=i.style.position||(i.style.position="relative"),i.dataset.docxAnchorContext="paragraph"),e.props?.anchorId&&(i.id=e.props.anchorId,i.setAttribute("id",e.props.anchorId)),i}uniformParagraphTextScale(e,t){if(e.numbering||t?.paragraphProps?.numbering||e.frame||this.effectiveParagraphCssValue(e,t,"writing-mode"))return null;const r="--docx-text-scale",n=e.cssStyle?.[r]??this.styleValue(t,"span",r)??this.styleValue(t,"p",r)??"1";let a=null;const s=(e,t)=>{const n=e.cssStyle?.[r]??this.styleValue(this.findStyle(e.styleName),"span",r)??t;switch(e.type){case We.Text:case We.DeletedText:if(!e.text)return!0;const t=Number(n);return!(!Number.isFinite(t)||t<=0||t>6)&&((null==a||a==t)&&(a=t,!0));case We.Run:case We.Hyperlink:case We.SmartTag:case We.Inserted:case We.Deleted:return(e.children??[]).every(e=>s(e,n));case We.BookmarkStart:case We.BookmarkEnd:case We.CommentRangeStart:case We.CommentRangeEnd:case We.NoBreakHyphen:case We.SoftHyphen:return!0;case We.Break:return["line","textWrapping"].includes(e.break);default:return!1}};return(e.children??[]).every(e=>s(e,n))?a:null}hasParagraphRelativeAnchor(e){return(e.children??[]).some(e=>(e.type==We.Drawing||e.type==We.VmlElement)&&"absolute"==e.cssStyle?.position||this.hasParagraphRelativeAnchor(e))}renderAnchoredElement(e,t){if(t.dataset.docxDrawing="true","absolute"!=e.cssStyle?.position||!e.props?.anchorPosition)return t;const r=e.props.anchorPosition,n={...r,horizontal:{...r.horizontal,offset:r.horizontal.offset??(t.style.left||"0pt")},vertical:{...r.vertical,offset:r.vertical.offset??(t.style.top||"0pt")}},a=`${this.anchorLayouts.size}`;this.anchorLayouts.set(a,n),t.dataset.docxAnchorId=a,t.dataset.docxLayoutInCell=`${!1!==r.layoutInCell}`;const s=e=>/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(e)?`${e}pt`:e;t.style.left=`calc(${s(n.horizontal.offset)} + var(--docx-anchor-origin-x, 0px))`,t.style.top=`calc(${s(n.vertical.offset)} + var(--docx-anchor-origin-y, 0px))`;const o=["top","bottom"].map(e=>{const t=this.h({tagName:"span",style:{display:"inline-block",width:"0px",height:"0px",padding:"0px",border:"0px",verticalAlign:e}});return t.dataset.docxAnchorLine=e,t}),i=this.h({tagName:"span",children:o});i.dataset.docxAnchorMarker="true",i.setAttribute("aria-hidden","true");const l=this.h({tagName:"span",children:[i,t]});return l.dataset.docxDrawing="true",l}refreshAnchors(e){!function(e,t,r=()=>!0){const n=e.ownerDocument?.defaultView;if(!n||"function"!=typeof e.querySelectorAll)return;const a=Array.from(e.querySelectorAll("section"));e.matches?.("section")&&a.unshift(e);for(const e of a){if(!e.classList.contains(t)||!r(e))continue;const a=n.getComputedStyle(e),s=fs(a.width)+("border-box"===a.boxSizing?0:fs(a.paddingLeft)+fs(a.paddingRight)+fs(a.borderLeftWidth)+fs(a.borderRightWidth)),o=e.getBoundingClientRect(),i=s>0?o.width/s:0;if(Number.isFinite(i)&&!(i<=0)){for(const t of Array.from(e.querySelectorAll('[data-docx-anchor-context="paragraph"]'))){if(!r(t))continue;const e=t.getBoundingClientRect();t.style.setProperty("--docx-paragraph-page-offset-top",(e.top-o.top)/i+"px"),t.style.setProperty("--docx-paragraph-page-offset-left",(e.left-o.left)/i+"px")}gs(e,r),vs(e,r),Cs(e,i,r),Ps(e,r)}}}(e,this.className,e=>this.ownsLayoutElement(e));for(const t of Array.from(e.querySelectorAll("[data-docx-anchor-id]"))){if(!this.ownsLayoutElement(t))continue;const e=this.anchorLayouts.get(t.dataset.docxAnchorId);e&&ms(t,e,this.className)}}ownsLayoutElement(e){for(let t=e;t;t=t.parentElement){const e=uo.get(t);if(e)return e==this}return!0}async prepareLayout(e,t=s(e)){if(e.isConnected&&t.isCurrent()&&(this.layoutGenerations.has(t.signal)||(this.layoutGenerations.set(t.signal,t),t.signal.addEventListener("abort",()=>this.layoutGenerations.delete(t.signal),{once:!0})),await this.yieldToBrowser(),e.isConnected&&t.isCurrent())){if(this.commentLayer&&(uo.set(this.commentLayer.root,this),!this.commentLayer.root.parentElement)){const t=[e,...Array.from(e.querySelectorAll("[data-docx-layout-root]"))].find(e=>uo.get(e)===this&&e.classList.contains(`${this.className}-wrapper`));t||(this.commentLayer.root.style.position="fixed"),(t??e).appendChild(this.commentLayer.root)}this.refreshTabStops(e),this.refreshAnchors(e),await(this.commentLayer?.bind(e,t))}}disposeLayout(){for(const e of Array.from(this.layoutGenerations.values()))e.cancel();this.layoutGenerations.clear(),this.commentLayer?.root.remove();const e=globalThis.CSS?.highlights;e&&this.commentHighlight&&e.get(`${this.className}-comments`)===this.commentHighlight&&e.delete(`${this.className}-comments`)}renderHyperlink(e){const t=this.renderHyperlinkChildren(e.children),r=this.h(this.toH(e,zs.html,"a",this.wrapTabLeaderChildren(t)));let n="",a=!1;if(e.id){const t=this.currentPart??this.document.documentPart,r=t?.rels?.find(t=>t.id==e.id&&"External"===t.targetMode);n=r?.target??n,a=!!n}return!n&&e.anchor&&(n=`#${e.anchor}`),this.applyHyperlinkTarget(r,n,a),r}renderHyperlinkChildren(e){this.hyperlinkDepth++;try{return this.renderElements(e)}finally{this.hyperlinkDepth--}}applyHyperlinkTarget(e,t,r){const n=function(e){const t=String(e??"").trim().replace(oo,"");return t?t.startsWith("#")?t:t.startsWith("//")||t.includes("\\")||io.test(t)&&!lo.test(t)?null:t:null}(t);if(n)return r&&"block"==this.options.externalLinkPolicy?(e.setAttribute("data-docx-external-href",n),void e.setAttribute("aria-disabled","true")):void e.setAttribute("href",n)}wrapTabLeaderChildren(e,t=!1){if(!e?.length||e.some(e=>this.hasCssClass(e,`${this.className}-tab-leader-title`)))return e;let r=-1;for(let t=e.length-1;t>=0;t--)if(this.isTabLeaderNode(e[t])){r=t;break}if(r<0)return this.wrapLiteralLeaderChildren(e,t)??e;const n=e.slice(0,r),a=e[r],s=e.slice(r+1);this.addCssClass(a,`${this.className}-tab-leader-fill`);const o=[this.h({tagName:"span",className:`${this.className}-tab-leader-title`,children:n}),a,this.h({tagName:"span",className:`${this.className}-tab-leader-page`,children:s})];return t?[this.h({tagName:"span",className:`${this.className}-tab-leader-line`,children:o})]:o}wrapLiteralLeaderChildren(e,t=!1){const r=this.findLastTextualNodeIndex(e);if(r<0)return null;const n=e[r],a=this.nodeTextContent(n),s=/^(.*?)([.\u2026\u00b7\u2022\u2027\u2219\u22c5]{6,})(\s*[0-90-9IVXLCDMivxlcdm]+)\s*$/.exec(a);if(!s)return null;const[,o,i,l]=s,c=e.slice(0,r),h=e.slice(r+1),d=[...c];o&&d.push(this.cloneTextNodeWithText(n,o));const u=this.h({tagName:"span",className:`${this.tabStopClass()} ${this.className}-tab-leader-fill`,children:[" "],style:this.nodeStyleObject(n)});u.dataset.docxTab="true",u.dataset.docxTabLeader=this.literalLeaderKind(i),u.dataset.docxLiteralLeader="true";const m=[this.h({tagName:"span",className:`${this.className}-tab-leader-title`,children:d}),u,this.h({tagName:"span",className:`${this.className}-tab-leader-page`,children:[this.cloneTextNodeWithText(n,l.trim()),...h]})];return t?[this.h({tagName:"span",className:`${this.className}-tab-leader-line ${this.className}-literal-leader-line`,children:m})]:m}findLastTextualNodeIndex(e){for(let t=e.length-1;t>=0;t--)if(this.nodeTextContent(e[t]).trim())return t;return-1}literalLeaderKind(e){return/^[.\u2026]+$/.test(e)?"dot":"middleDot"}cloneTextNodeWithText(e,t){return this.nodeElementName(e)?this.h({tagName:this.nodeElementName(e),className:this.nodeClassName(e),style:this.nodeStyleObject(e),children:[t]}):this.h({tagName:"span",children:[t]})}nodeElementName(e){const t=e,r=t?.tagName??t?.nodeName;return r&&!String(r).startsWith("#")?String(r).toLowerCase():""}nodeStyleObject(e){const t=e?.style,r={};if(!t)return r;if("number"==typeof t.length&&"function"==typeof t.getPropertyValue)for(let e=0;e<t.length;e++){const n=t.item(e),a=t.getPropertyValue(n);a&&(r[n]=a)}else for(const[e,n]of Object.entries(t))null!=n&&""!==n&&(r[e]=String(n));return r}nodeTextContent(e){const t=e;return t?"string"==typeof t.textContent?t.textContent:"string"==typeof t.text?t.text:Array.from(t.children??t.childNodes??[]).map(e=>this.nodeTextContent(e)).join(""):""}isTabLeaderNode(e){const t=this.nodeDatasetValue(e,"docxTabLeader");return this.hasCssClass(e,this.tabStopClass())&&!!t&&"none"!=t}nodeDatasetValue(e,t){const r=e,n=r?.dataset?.[t];if(null!=n)return String(n);const a="data-"+t.replace(/[A-Z]/g,e=>"-"+e.toLowerCase());return"function"==typeof r?.getAttribute?r.getAttribute(a):r?.attributes?.[a]}hasCssClass(e,t){const r=e;if(!r||!t)return!1;if("function"==typeof r.classList?.contains)return r.classList.contains(t);return this.nodeClassName(r).split(/\s+/).includes(t)}addCssClass(e,t){const r=e;if(!r||!t||this.hasCssClass(e,t))return;if("function"==typeof r.classList?.add)return void r.classList.add(t);const n=Vs(this.nodeClassName(r),t);"function"==typeof r.setAttribute?r.setAttribute("class",n):(r.attributes??(r.attributes={}),r.attributes.class=n)}nodeClassName(e){return"string"==typeof e?.className?e.className:"string"==typeof e?.className?.baseVal?e.className.baseVal:"function"==typeof e?.getAttribute?e.getAttribute("class")??"":e?.attributes?.class??""}renderSmartTag(e){return this.renderContainer(e,"span")}renderCommentRangeStart(e){if(!this.options.renderComments)return null;const t="undefined"==typeof Range?null:new Range;t&&this.commentHighlight?.add(t);const r=this.h({tagName:"#comment",children:["start of DOCX comment"]});return t&&(this.later(()=>t.setStart(r,0)),this.commentMap[e.id]=t),r}renderCommentRangeEnd(e){if(!this.options.renderComments)return null;const t=this.commentMap[e.id],r=this.document.commentsPart?.commentMap[e.id],n=this.h({tagName:"span",className:`${this.className}-comment-anchor`});return n.dataset.docxChangeKind="comment",n.dataset.docxChangeId=`${e.id}`,n.setAttribute("aria-hidden","true"),n.style.setProperty("--docx-review-color",ao(r?.author)),r?.author&&(n.dataset.docxChangeAuthor=r.author),r?.date&&(n.dataset.docxChangeDate=r.date),this.later(()=>t?.setEnd(n,0)),n}renderCommentReference(e){if(!this.options.renderComments||this.renderingComment)return null;const t=this.document.commentsPart?.commentMap[e.id];if(!t)return null;this.commentLayer||(this.commentLayer=new rs(this.className,()=>this.h({tagName:"div",className:`${this.className} ${this.className}-comment-layer`}),e=>{this.refreshTabStops(e),this.refreshAnchors(e)}));const r=`${t.id}`,n=this.h({tagName:"span",className:`${this.className}-comment-ref`,children:["💬"]});n.dataset.docxChangeKind="comment",n.dataset.docxChangeId=r,n.style.setProperty("--docx-review-color",ao(t.author)),t.author&&(n.dataset.docxChangeAuthor=t.author),t.date&&(n.dataset.docxChangeDate=t.date),this.hyperlinkDepth||n.setAttribute("tabindex","0"),n.setAttribute("role","note"),n.setAttribute("aria-label",t.author?`Comment by ${t.author}`:"Comment"),n.setAttribute("aria-expanded","false");let a=this.commentPresentations.get(r);if(!a){const e=`${this.className}-comment-${++po.nextCommentId}`,s=this.h({tagName:"summary",children:["💬"]});s.setAttribute("aria-label",t.author?`Comment by ${t.author}`:"Comment");const o=t.date?new Date(t.date):null,i=this.h({tagName:"article",children:this.renderCommentContent(t)});i.dataset.docxCommentStory="true";const l=this.h({tagName:"div",className:`${this.className}-comment-body`,children:[this.h({tagName:"div",className:`${this.className}-comment-author`,children:[t.author??""]}),this.h({tagName:"div",className:`${this.className}-comment-date`,children:[o&&Number.isFinite(o.getTime())?o.toLocaleString():t.date??""]}),i]});l.setAttribute("id",e),l.setAttribute("role","note");const c=this.h({tagName:"details",className:`${this.className}-comment-popover`,children:[s,l]});c.dataset.docxCommentPopup=e,Object.assign(c.dataset,{docxChangeKind:"comment",docxChangeId:r}),t.author&&(c.dataset.docxChangeAuthor=t.author),t.date&&(c.dataset.docxChangeDate=t.date),a={key:e,descriptionId:e,reference:n,references:[],popup:c,summary:s,body:l,revision:0,open:!1},this.commentLayer.add(a),this.commentPresentations.set(r,a)}return n.dataset.docxCommentReference=a.key,a.references.push(n),n.setAttribute("aria-describedby",a.descriptionId),n.setAttribute("aria-controls",a.descriptionId),n}cloneRenderData(e,t=new Map){if(!e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);const r=Array.isArray(e)?[]:Object.create(Object.getPrototypeOf(e));t.set(e,r);for(const n of Object.keys(e))"parent"!==n&&Object.defineProperty(r,n,{value:this.cloneRenderData(e[n],t),writable:!0,enumerable:!0,configurable:!0});return r}renderCommentContent(e){const t={part:this.currentPart,paragraph:this.currentParagraph,index:this.currentParagraphTabIndex,count:this.currentParagraphTabCount,rendering:this.renderingComment};this.currentPart=this.document.commentsPart,this.currentParagraph=null,this.renderingComment=!0;try{const t=this.cloneRenderData(e);return this.processElement(t),this.renderElements(t.children)??[]}finally{this.currentPart=t.part,this.currentParagraph=t.paragraph,this.currentParagraphTabIndex=t.index,this.currentParagraphTabCount=t.count,this.renderingComment=t.rendering}}renderAltChunk(e){if(!this.options.renderAltChunks)return null;var t=this.h({tagName:"iframe",sandbox:"",referrerPolicy:"no-referrer",loading:"lazy"});return this.tasks.push(this.document.loadAltChunk(e.id,this.currentPart).then(e=>{X(t,e)})),t}renderDrawing(e){e.cssStyle?.["shape-outside"]&&(e.className=Vs(e.className,`${this.className}-float-wrap`));var t=this.toHTML(e,zs.html,this.currentParagraph?"span":"div");(e.cssStyle?.float||"absolute"==e.cssStyle?.position)&&(t.dataset.docxFloat="true");const r=e.props?.anchorPosition;r?.vertical?.relative&&(t.dataset.docxAnchorVertical=r.vertical.relative),r?.horizontal?.relative&&(t.dataset.docxAnchorHorizontal=r.horizontal.relative),t.style.display||(t.style.display="inline-block"),t.style.position||(t.style.position="relative"),t.style.textIndent="0px";for(const e of Array.from(t.children??[]))e.style.verticalAlign="top";return t}renderImage(e){let t=this.toHTML(e,zs.html,"img",[]),r=e.cssStyle?.transform;if(e.alt&&(t.alt=e.alt),e.title&&(t.title=e.title),e.srcRect&&e.srcRect.some(e=>0!=e)){var[n,a,s,o]=e.srcRect;r=`${r??""} scale(${1/(1-n-s)}, ${1/(1-a-o)})`,t.style.clipPath=`inset(${(100*a).toFixed(2)}% ${(100*s).toFixed(2)}% ${(100*o).toFixed(2)}% ${(100*n).toFixed(2)}%)`,t.style.transformOrigin="top left"}return e.rotation&&(r=`rotate(${e.rotation}deg) ${r??""}`),t.style.transform=r?.trim(),this.document&&e.src&&this.tasks.push(this.document.loadDocumentImage(e.src,this.currentPart,this.options.externalResourcePolicy).then(e=>{e&&t.setAttribute("src",e)})),t}renderShape(e){if(e.props?.dmlSvg)return this.renderDmlSvgShape(e);const t=e.props?.dmlTextBox?[this.renderDmlTextBox(e)]:null,r=this.toHTML(e,zs.html,this.currentParagraph?"span":"div",t);return r.style.display||(r.style.display="inline-block"),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r}renderDmlTextBox(e){const t=this.currentParagraph;this.currentParagraph=null;const r=this.renderElements(e.children);this.currentParagraph=t;const n=this.h({tagName:"div",className:`${this.className}-shape-textbox`,style:{"box-sizing":"border-box",display:"flex","flex-direction":"column","justify-content":e.props?.textVerticalAlign??"flex-start","align-items":"stretch",width:"100%",height:"100%",overflow:"hidden",...e.props?.textInsets??{}},children:r});n.dataset.docxShapeTextbox="true",n.setAttribute("xmlns",zs.html);const a=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block",overflow:"hidden"}});a.setAttribute("focusable","false");const s=this.createSvgElement("foreignObject");return s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.appendChild(n),a.appendChild(s),a}renderDmlSvgShape(e){const t=this.createSvgElement("svg",{style:e.cssStyle}),r=e.props??{};t.setAttribute("viewBox",r.viewBox??"0 0 1 1"),t.setAttribute("preserveAspectRatio","none"),t.setAttribute("focusable","false"),e.title&&t.appendChild(this.createSvgElement("title",null,[e.title])),e.alt&&(t.setAttribute("role","img"),t.setAttribute("aria-label",e.alt));const n=this.createSvgElement("path");return n.setAttribute("d",r.pathD??""),n.setAttribute("fill",this.darkenColorAttr(r.fill??"none")),n.setAttribute("stroke",this.darkenColorAttr(r.stroke??"none")),n.setAttribute("stroke-width",r.strokeWidth??"0"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("stroke-linecap","round"),r.strokeDasharray&&n.setAttribute("stroke-dasharray",r.strokeDasharray),t.appendChild(n),t}renderChart(e){var t;const r=this.toHTML(e,zs.html,this.currentParagraph?"span":"div",[]);if((t=r.style).display||(t.display="block"),r.className=Vs(r.className,`${this.className}-chart`),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r.appendChild(this.renderGraphicLoading("Chart")),e.id){const t=this.currentPart;this.tasks.push(this.document.loadRelationshipXml(e.id,t).then(e=>{r.textContent="",r.appendChild(e?this.renderChartSvg(e):this.renderGraphicLoading("Chart"))}).catch(()=>{r.textContent="",r.appendChild(this.renderGraphicLoading("Chart"))}))}return r}renderSmartArt(e){var t;const r=this.toHTML(e,zs.html,this.currentParagraph?"span":"div",[]);if((t=r.style).display||(t.display="block"),r.className=Vs(r.className,`${this.className}-smartart`),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r.appendChild(this.renderGraphicLoading("SmartArt")),e.dataId){const t=this.currentPart;this.tasks.push(this.document.loadRelationshipXml(e.dataId,t).then(e=>{r.textContent="",r.appendChild(e?this.renderSmartArtSvg(e):this.renderGraphicLoading("SmartArt"))}).catch(()=>{r.textContent="",r.appendChild(this.renderGraphicLoading("SmartArt"))}))}return r}renderInk(e){var t;const r=this.toHTML(e,zs.html,this.currentParagraph?"span":"div",[]);if((t=r.style).display||(t.display="block"),r.className=Vs(r.className,`${this.className}-ink`),e.title&&(r.title=e.title),e.alt&&(r.setAttribute("role","img"),r.setAttribute("aria-label",e.alt)),r.appendChild(this.renderGraphicLoading("Ink")),e.id){const t=this.currentPart;this.tasks.push(this.document.loadRelationshipText(e.id,t).then(n=>{if(r.textContent="",n?.trim().startsWith("<"))try{return void r.appendChild(this.renderInkSvg(J(n,!0)))}catch{}return this.document.loadRelationshipBlobUrl(e.id,t,this.options.externalResourcePolicy).then(t=>{r.textContent="",t?r.appendChild(this.h({tagName:"img",src:t,alt:e.alt??"Ink",style:{width:"100%",height:"100%",objectFit:"contain"}})):r.appendChild(this.renderGraphicLoading("Ink"))})}).catch(()=>{r.textContent="",r.appendChild(this.renderGraphicLoading("Ink"))}))}return r}renderGraphicLoading(e){return this.h({tagName:"span",style:{display:"inline-flex","align-items":"center","justify-content":"center",width:"100%",height:"100%","min-width":"2in","min-height":"1in",border:"1px solid currentColor"},children:[`[${e}]`]})}renderChartSvg(e){const t=e.documentElement,r=this.detectChartType(t),n=this.parseChartSeries(t,r),a=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});a.setAttribute("viewBox","0 0 640 360"),a.setAttribute("preserveAspectRatio","xMidYMid meet");const s=this.extractChartTitle(t);if(s){const e=this.svgText(s,320,24,"middle","14px","bold");e.setAttribute("data-docx-chart-title","true"),a.appendChild(e)}if(!n.length||n.every(e=>!e.values.length))return a.appendChild(this.svgText("Chart",320,180,"middle","18px")),a;const o="chart"==t.localName?t:this.chartChild(t,"chart"),i=this.chartChild(o,"plotArea"),l=this.chartChildren(i).filter(e=>e.localName.endsWith("Chart")),c=l.length>1&&l.every(e=>{const r=this.resolveChartAxes(t,e.localName,e),n=this.chartChild(e,"barDir")?.getAttribute("val"),a=this.chartChild(e,"grouping")?.getAttribute("val");return r?.category&&r.value&&["barChart","lineChart"].includes(e.localName)&&(!n||"col"==n)&&!["stacked","percentStacked"].includes(a)});if(c)return this.drawCombinedChartAxes(a,t,l),a;const h=this.resolveChartAxes(t,r);return"lineChart"==r&&"dateAx"==h?.category?.localName?this.drawDateLineChart(a,n,h,{seriesNodes:this.chartChildren(this.chartChild(i,r),"ser")}):"pieChart"==r||"doughnutChart"==r?this.drawPieChart(a,n[0]):["lineChart","scatterChart","areaChart"].includes(r)?this.drawLineChart(a,n,"areaChart"==r):this.drawBarChart(a,n),this.drawChartAxisTitles(a,h),a}chartChildren(e,t){return Array.from(e?.childNodes??[]).filter(e=>1==e.nodeType&&co.includes(e.namespaceURI)&&(!t||e.localName==t))}chartChild(e,t){return this.chartChildren(e,t)[0]??null}chartDescendant(e,t){return e?Array.from(e.getElementsByTagName("*")).find(e=>e.localName==t&&co.includes(e.namespaceURI))??null:null}detectChartType(e){return["barChart","bar3DChart","lineChart","pieChart","doughnutChart","areaChart","scatterChart","ofPieChart","radarChart"].find(t=>e.localName==t&&co.includes(e.namespaceURI)||this.chartDescendant(e,t))??"barChart"}parseChartSeries(e,t){const r=e.localName==t&&co.includes(e.namespaceURI)?e:this.chartDescendant(e,t);return this.chartChildren(r,"ser").map((e,t)=>{const r=this.chartCacheValues(this.chartChild(e,"cat")??this.chartChild(e,"xVal")),n=this.chartCacheValues(this.chartChild(e,"val")??this.chartChild(e,"yVal")).map(e=>e.trim()&&Number.isFinite(Number(e))?Number(e):NaN);return{name:this.chartText(this.chartChild(e,"tx"))||`Series ${t+1}`,categories:r.length?r:n.map((e,t)=>`${t+1}`),values:n}})}chartCacheValues(e){if(!e)return[];const t=["strCache","numCache","strLit","numLit"].map(t=>this.chartDescendant(e,t)).find(Boolean)??e,r=this.chartChild(t,"ptCount")?.getAttribute("val")??"";let n=/^\d+$/.test(r)?Math.min(Number(r),2e4):0;const a=[];for(const e of this.chartChildren(t,"pt")){const t=e.getAttribute("idx")??"";if(!/^\d+$/.test(t))continue;const r=Number(t);!Number.isSafeInteger(r)||r>=2e4||(n=Math.max(n,r+1),a.push({index:r,value:this.chartChild(e,"v")?.textContent??""}))}const s=Array(n).fill(""),o=new Set;for(const e of a)o.has(e.index)||(s[e.index]=e.value),o.add(e.index);return s}chartText(e){if(!e)return"";const t=this.chartCacheValues(e);if(t.length)return t.join(" ");return Array.from(e.getElementsByTagName("*")).filter(e=>"t"==e.localName&&ho.includes(e.namespaceURI)).map(e=>e.textContent).filter(Boolean).join(" ").trim()||this.chartDescendant(e,"v")?.textContent?.trim()||""}chartNumber(e,t){const r=this.chartChild(e,t)?.getAttribute("val");return null!=r&&r.trim()&&Number.isFinite(Number(r))?Number(r):null}chartBoolean(e){return!!e&&!["0","false","off"].includes((e.getAttribute("val")??"1").toLowerCase())}chartTitleText(e){const t=this.chartChild(this.chartChild(e,"tx"),"rich");return t?Array.from(t.childNodes).filter(e=>1==e.nodeType&&"p"==e.localName&&ho.includes(e.namespaceURI)).map(e=>Array.from(e.getElementsByTagNameNS(e.namespaceURI,"t")).map(e=>e.textContent??"").join("")).join("\n"):this.chartText(e)}extractChartTitle(e){const t="chart"==e.localName?e:this.chartChild(e,"chart");return this.chartTitleText(this.chartChild(t,"title"))}resolveChartAxes(e,t,r){const n="chart"==e.localName?e:this.chartChild(e,"chart"),a=this.chartChild(n,"plotArea"),s=r??this.chartChild(a,t);if(!s)return null;const o=this.chartChildren(s,"axId").map(e=>e.getAttribute("val")),i=this.chartChildren(a).filter(e=>/^(catAx|dateAx|valAx)$/.test(e.localName)&&o.includes(this.chartChild(e,"axId")?.getAttribute("val"))),l=i.find(e=>"dateAx"==e.localName)??i.find(e=>"catAx"==e.localName)??null,c=i.find(e=>"valAx"==e.localName&&(!l||this.chartChild(l,"crossAx")?.getAttribute("val")==this.chartChild(e,"axId")?.getAttribute("val")))??i.find(e=>"valAx"==e.localName)??null;return{category:l,value:c,date1904:this.chartBoolean(this.chartChild(e,"date1904"))}}chartValueBounds(e){let t=0,r=0;for(const n of e)for(const e of n.values)Number.isFinite(e)&&(t=Math.min(t,e),r=Math.max(r,e));return{min:t,max:t==r?t+1:r}}drawCategoryLabels(e,t,r,n){const a=t.map((e,t)=>({text:e,index:t})).filter(e=>e.text.trim());if(!a.length)return;const s=a[a.length-1],o=r(s.index)-this.chartLegendTextWidth(s.text)/2;let i=-1/0;a.forEach((t,s)=>{const l=r(t.index),c=this.chartLegendTextWidth(t.text)/2;if(s>0&&s<a.length-1&&(l-c<i+3||l+c+3>o))return;const h=this.svgText(t.text,l,n,"middle","10px");h.setAttribute("data-docx-chart-category-index",`${t.index}`),e.appendChild(h),i=l+c})}drawBarChart(e,t){const r=t[0]?.categories??[],n=Math.max(1,r.length,...t.map(e=>e.values.length)),a=this.chartValueBounds(t),s=e=>300-(e-a.min)/(a.max-a.min)*230,o=s(0),i=540/n,l=i/Math.max(t.length+1,2);e.appendChild(this.svgLine(60,o,600,o)),e.appendChild(this.svgLine(60,300,60,70)),t.forEach((t,r)=>t.values.forEach((t,n)=>{if(!Number.isFinite(t))return;const a=s(t),c=this.createSvgElement("rect");c.setAttribute("x",""+(60+n*i+r*l+.2*l)),c.setAttribute("y",`${Math.min(o,a)}`),c.setAttribute("width",""+.8*l),c.setAttribute("height",`${Math.abs(a-o)}`),c.setAttribute("data-docx-chart-point-index",`${n}`),c.style.fill=this.chartColor(r),e.appendChild(c)})),this.drawCategoryLabels(e,r,e=>60+(e+.5)*i,318),this.drawBottomLegend(e,t.map(e=>e.name),335)}drawLineChart(e,t,r=!1){const n=this.chartValueBounds(t),a=e=>300-(e-n.min)/(n.max-n.min)*230,s=a(0),o=Math.max(1,...t.map(e=>Math.max(e.values.length,e.categories.length))),i=540/Math.max(o-1,1);e.appendChild(this.svgLine(60,s,600,s)),e.appendChild(this.svgLine(60,300,60,70)),t.forEach((t,n)=>{let o=[];const l=()=>{if(!o.length)return;const t=o.map((e,t)=>`${t?"L":"M"}${e[0]},${e[1]}`).join(" ");if(r&&o.length>1){const r=this.createSvgElement("path");r.setAttribute("d",`${t} L${o[o.length-1][0]},${s} L${o[0][0]},${s} Z`),r.style.fill=this.chartColor(n),r.style.opacity="0.25",e.appendChild(r)}const a=this.createSvgElement("path");a.setAttribute("d",t),a.style.stroke=this.chartColor(n),a.style.strokeWidth="2",a.style.fill="none",e.appendChild(a),o=[]};t.values.forEach((t,r)=>{if(!Number.isFinite(t))return void l();const s=60+r*i,c=a(t);o.push([s,c]);const h=this.createSvgElement("circle");h.setAttribute("cx",`${s}`),h.setAttribute("cy",`${c}`),h.setAttribute("r","3"),h.setAttribute("data-docx-chart-point-index",`${r}`),h.style.fill=this.chartColor(n),e.appendChild(h)}),l()}),this.drawCategoryLabels(e,t[0]?.categories??[],e=>60+e*i,318),this.drawBottomLegend(e,t.map(e=>e.name),335)}drawPieChart(e,t){const r=t.values.reduce((e,t)=>e+(Number.isFinite(t)?Math.max(0,t):0),0)||1;let n=-90;t.values.forEach((a,s)=>{if(!Number.isFinite(a)||a<0)return;const o=a/r*360,i=this.createSvgElement(360==o?"circle":"path");360==o?(i.setAttribute("cx","300"),i.setAttribute("cy","180"),i.setAttribute("r","110")):i.setAttribute("d",this.pieSlicePath(300,180,110,n,n+o)),i.setAttribute("data-docx-chart-point-index",`${s}`),i.style.fill=this.chartColor(s),e.appendChild(i),this.drawLegend(e,t.categories[s]||`${s+1}`,s,450,90+22*s),n+=o})}drawCombinedChartAxes(e,t,r){let n=0;const a=[];for(const s of r){const r=this.resolveChartAxes(t,s.localName,s),o=this.parseChartSeries(s,s.localName);if(!r?.category||!r.value||!o.length)continue;const i=this.createSvgElement("g");i.setAttribute("data-docx-chart-axis-group",s.localName),i.setAttribute("data-docx-chart-value-axis-id",this.chartChild(r.value,"axId")?.getAttribute("val")??""),e.appendChild(i),this.drawDateLineChart(i,o,r,{type:s.localName,group:s,colorOffset:n,noLegend:!0,seriesNodes:this.chartChildren(s,"ser")}),this.drawChartAxisTitles(e,r),n+=o.length,a.push(...o.map(e=>e.name))}this.drawBottomLegend(e,a,335),this.syncChartAxisLegend(e)}drawDateLineChart(e,t,r,n={}){const a=r.category,s=r.value,o="dateAx"!=a?.localName,i=t.map(e=>e.categories.map(e=>e.trim()&&Number.isFinite(Number(e))?Number(e):NaN)),l=i.flat().filter(Number.isFinite);if(!o&&!l.length)return void this.drawLineChart(e,t);const c=t.reduce((e,t)=>Math.max(e,t.values.length,t.categories.length),1),h=this.chartChild(a,"scaling"),d=this.chartChild(s,"scaling"),u=o?0:this.chartNumber(h,"min")??l.reduce((e,t)=>Math.min(e,t),1/0);let m=o?c:this.chartNumber(h,"max")??l.reduce((e,t)=>Math.max(e,t),-1/0);m<=u&&(m=u+1);const p=this.chartValueBounds(t);let f=this.chartNumber(d,"min")??p.min,g=this.chartNumber(d,"max")??p.max;if(g<=f&&(f=p.min,g=p.max),!Number.isFinite(m-u)||!Number.isFinite(g-f))return;const b="maxMin"==this.chartChild(h,"orientation")?.getAttribute("val"),y="maxMin"==this.chartChild(d,"orientation")?.getAttribute("val"),x=e=>{const t=(e-u)/(m-u);return 60+540*(b?1-t:t)},w=e=>{const t=(e-f)/(g-f);return 300-230*(y?1-t:t)},v=(e,t)=>x(o?t+.5:e),k="r"==this.chartChild(s,"axPos")?.getAttribute("val"),C=this.chartBoolean(this.chartChild(a,"delete")),S=this.chartBoolean(this.chartChild(s,"delete")),N=this.chartChild(s,"crosses")?.getAttribute("val"),A=this.chartChild(a,"crosses")?.getAttribute("val"),P=Math.min(g,Math.max(f,this.chartNumber(s,"crossesAt")??("max"==N?g:"min"==N?f:0))),M=Math.min(m,Math.max(u,this.chartNumber(a,"crossesAt")??("max"==A?m:u)));if(C||e.appendChild(this.svgLine(60,w(P),600,w(P))),!S){const t=k?600:x(M);e.appendChild(this.svgLine(t,300,t,70))}e.setAttribute("data-docx-chart-x-range",`${u},${m}`),e.setAttribute("data-docx-chart-y-range",`${f},${g}`);const $=this.createSvgElement("svg");for(const[e,t]of Object.entries({x:60,y:70,width:540,height:230,viewBox:"60 70 540 230",overflow:"hidden"}))$.setAttribute(e,String(t));if($.setAttribute("data-docx-chart-date-plot","true"),e.appendChild($),t.forEach((e,r)=>{const a=n.seriesNodes?.[r],s=this.chartChild(a,"spPr"),l=(e,t)=>Array.from(e?.getElementsByTagName("*")??[]).find(e=>e.localName==t&&ho.includes(e.namespaceURI)),h=l(s,"ln"),d=l("barChart"==n.type?s:h,"srgbClr")?.getAttribute("val"),u=r+(n.colorOffset??0),m=/^[0-9a-f]{6}$/i.test(d??"")?`#${d}`:this.chartColor(u),p=h?.getAttribute("w"),b=p&&Number.isFinite(Number(p))?Math.max(0,Number(p)/9525):2,y="none"!=this.chartChild(this.chartChild(a,"marker"),"symbol")?.getAttribute("val");let x=[];const k=()=>{if(!x.length)return;const e=this.createSvgElement("path");e.setAttribute("d",x.map(([e,t],r)=>`${r?"L":"M"}${e},${t}`).join(" ")),e.style.stroke=m,e.style.strokeWidth=String(b),e.style.fill="none",$.appendChild(e),x=[]};e.values.forEach((e,a)=>{const s=i[r][a];if(!o&&!Number.isFinite(s)||!Number.isFinite(e))return void k();const l=v(s,a),h=w(e),d="barChart"==n.type;d||x.push([l,h]);const p=this.createSvgElement(d?"rect":"circle"),b={"data-docx-chart-point-index":a,"data-docx-chart-series-index":u,"data-docx-chart-date-value":s,"data-docx-chart-center-x":l,"data-docx-chart-center-y":h};if(d){const e=Math.max(0,Math.min(500,this.chartNumber(n.group,"gapWidth")??150)),a=540/c/(t.length+e/100),s=w(Math.min(g,Math.max(f,0)));Object.assign(b,{x:l-t.length*a/2+r*a,y:Math.min(h,s),width:a,height:Math.abs(s-h)})}else Object.assign(b,{cx:l,cy:h,r:y?3:0});for(const[e,t]of Object.entries(b))Number.isFinite(t)&&p.setAttribute(e,String(t));p.style.fill=m,$.appendChild(p)}),k()}),!C&&"none"!=this.chartChild(a,"tickLblPos")?.getAttribute("val")){const n=this.chartChild(a,"numFmt")?.getAttribute("formatCode")??(o?"General":"yyyy/m/d"),s=o?t[0].categories.map((e,t)=>({raw:e,value:Number(e),x:v(Number(e),t),index:t})):this.chartDateTicks(a,l,u,m,r.date1904).map(e=>({raw:String(e),value:e,x:x(e)}));s.sort((e,t)=>e.x-t.x);let i=-1/0,c=null;for(const t of s){const a=this.formatChartDateLabel(t.raw,n,r.date1904),s=this.chartLegendTextWidth(a)/2;if(a==c||t.x-s<i+4)continue;const l=this.svgText(a,t.x,318,"middle","10px");l.setAttribute("data-docx-chart-date-tick",Number.isFinite(t.value)?String(t.value):t.raw),o&&l.setAttribute("data-docx-chart-category-index",String(t.index)),e.appendChild(l),i=t.x+s,c=a}}if(!S&&"none"!=this.chartChild(s,"tickLblPos")?.getAttribute("val")){const t=this.chartNumber(s,"majorUnit"),r=null!=t&&t>0?t:(g-f)/5,n=Math.floor((g-f)/r+1e-8)+1;if(n>0&&n<=100)for(let t=0;t<n;t++){const n=Number((f+t*r).toPrecision(12)),a=this.chartAxisNumberLabel(n,this.chartChild(s,"numFmt")?.getAttribute("formatCode")),o=this.svgText(a,k?606:54,w(n)+3,k?"start":"end","10px");o.setAttribute("data-docx-chart-value-tick",String(n)),e.appendChild(o)}}n.noLegend||(this.drawBottomLegend(e,t.map(e=>e.name),335),this.syncChartAxisLegend(e))}drawChartAxisTitles(e,t){for(const r of[t?.category,t?.value]){if(!r||this.chartBoolean(this.chartChild(r,"delete")))continue;const t=this.chartChild(r,"title"),n=this.chartTitleText(t);if(!n)continue;const a=this.chartChild(r,"axPos")?.getAttribute("val")??("valAx"==r.localName?"l":"b"),s=this.chartChild(this.chartChild(t,"layout"),"manualLayout"),o=this.chartNumber(s,"x"),i=this.chartNumber(s,"y"),l=null!=o&&null!=i&&"edge"==this.chartChild(s,"xMode")?.getAttribute("val")&&"edge"==this.chartChild(s,"yMode")?.getAttribute("val"),c={b:[330,349],t:[330,50],l:[16,185],r:[625,185]},h=c[a]??c.b,d=l?640*o:h[0],u=l?360*i:h[1],m=this.svgText(n,d,u,l?"start":"middle","12px");m.setAttribute("data-docx-chart-axis-title",this.chartChild(r,"axId")?.getAttribute("val")??a),l?m.setAttribute("dominant-baseline","hanging"):"l"!=a&&"r"!=a||m.setAttribute("transform",`rotate(${"l"==a?-90:90} ${d} ${u})`),e.appendChild(m)}}syncChartAxisLegend(e){const t=new Map;for(const r of Array.from(e.querySelectorAll("[data-docx-chart-series-index]"))){const e=Number(r.getAttribute("data-docx-chart-series-index"));t.has(e)||t.set(e,r.style.fill)}e.querySelector("[data-docx-chart-legend]")?.querySelectorAll("rect").forEach((e,r)=>{t.has(r)&&(e.style.fill=t.get(r))})}chartAxisNumberLabel(e,t){const r=/^(0)(?:\.(0{1,10}))?(%)?$/.exec(t??"");return r?(e*(r[3]?100:1)).toFixed(r[2]?.length??0)+(r[3]?"%":""):String(e)}chartDateTicks(e,t,r,n,a){const s=this.chartNumber(e,"majorUnit"),o=this.chartChild(e,"majorTimeUnit")?.getAttribute("val")??"days";if(null!=s&&s>0)if("days"==o){const e=Math.floor((n-r)/s+1e-9)+1;if(e>0&&e<=1e3)return Array.from({length:e},(e,t)=>r+t*s)}else if(Number.isInteger(s)&&["months","years"].includes(o)){const e=this.formatChartDateLabel(String(r),"yyyy/mm/dd",a);if(/^\d{4}\/\d{2}\/\d{2}$/.test(e)){const[t,i,l]=e.split("/").map(Number),c=[];for(let e=0;e<1e3;e++){const h=new Date(Date.UTC(t,i-1+e*s*("years"==o?12:1),1)),d=new Date(Date.UTC(h.getUTCFullYear(),h.getUTCMonth()+1,0)).getUTCDate(),u=Date.UTC(h.getUTCFullYear(),h.getUTCMonth(),Math.min(l,d));let m=(u-Date.UTC(a?1904:1899,a?0:11,a?1:31))/864e5;if(!a&&u>=Date.UTC(1900,2,1)&&m++,m+=r-Math.floor(r),!Number.isFinite(m)||m>n+1e-9)break;m>=r-1e-9&&c.push(m)}if(c.length&&c.length<1e3)return c}}return[...new Set(t)].filter(e=>e>=r&&e<=n)}formatChartDateLabel(e,t,r=!1){if(!e.trim()||!Number.isFinite(Number(e)))return e;const n=Number(e),a=Math.floor(n);if(a<0||a>(r?2957003:2958465))return e;const s=Math.min(86399999,Math.round(864e5*(n-a))),o=new Date(Date.UTC(r?1904:1899,r?0:11,r?1:31)+864e5*(a-(!r&&a>60?1:0))+s),i=!r&&60==a,l=i?1900:o.getUTCFullYear(),c=i?2:o.getUTCMonth()+1,h=i?29:o.getUTCDate(),d=(e,t=2)=>String(e).padStart(t,"0"),u=["January","February","March","April","May","June","July","August","September","October","November","December"],m=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];let p="",f=!1;for(let e=0;e<(t??"").length;e++){const r=t[e];if("\\"==r&&e+1<t.length)p+=r+t[++e];else{if('"'==r&&(f=!f),";"==r&&!f)break;p+=r}}if(!p||f)return e;const g=p.match(/"[^"]*"|\\.|\[\$-[\w-]+\]|AM\/PM|A\/P|y+|m+|d+|h+|s+|./gi)??[];if(!g.some(e=>/^(y+|m+|d+|h+|s+)$/i.test(e)))return e;const b=g.some(e=>/^(AM\/PM|A\/P)$/i.test(e));let y="";for(let t=0;t<g.length;t++){const r=g[t],n=r.toLowerCase();if(r.startsWith('"')){y+=r.slice(1,-1);continue}if(r.startsWith("\\")){y+=r.slice(1);continue}if(/^\[\$-/i.test(r)){if(!/^\[\$-(409|en-us)\]$/i.test(r))return e;continue}const a=g.slice(0,t).reverse().find(e=>/^[ymdhs]+$/i.test(e)),s=g.slice(t+1).find(e=>/^[ymdhs]+$/i.test(e));if(/^y{1,4}$/.test(n))y+=n.length<=2?d(l%100):d(l,4);else if(/^m{1,5}$/.test(n)){y+=/^h+$/i.test(a??"")||/^s+$/i.test(s??"")?1==n.length?o.getUTCMinutes():d(o.getUTCMinutes()):1==n.length?c:2==n.length?d(c):3==n.length?u[c-1].slice(0,3):4==n.length?u[c-1]:u[c-1][0]}else if(/^d{1,4}$/.test(n))y+=1==n.length?h:2==n.length?d(h):3==n.length?m[o.getUTCDay()].slice(0,3):m[o.getUTCDay()];else if(/^h{1,2}$/.test(n)){const e=b?o.getUTCHours()%12||12:o.getUTCHours();y+=1==n.length?e:d(e)}else if(/^s{1,2}$/.test(n))y+=1==n.length?o.getUTCSeconds():d(o.getUTCSeconds());else if(/^(am\/pm|a\/p)$/.test(n)){const e=o.getUTCHours()<12?"AM":"PM",t="a/p"==n?e[0]:e;y+=r==n?t.toLowerCase():t}else{if(!/^[\s/.,:\-年月日时分秒()]$/.test(r))return e;y+=r}}return y}pieSlicePath(e,t,r,n,a){const s=this.polar(e,t,r,a),o=this.polar(e,t,r,n),i=a-n<=180?"0":"1";return`M${e},${t} L${s.x},${s.y} A${r},${r} 0 ${i},0 ${o.x},${o.y} Z`}polar(e,t,r,n){const a=(n-90)*Math.PI/180;return{x:e+r*Math.cos(a),y:t+r*Math.sin(a)}}drawLegend(e,t,r,n,a){const s=this.createSvgElement("rect");s.setAttribute("x",`${n}`),s.setAttribute("y",""+(a-10)),s.setAttribute("width","10"),s.setAttribute("height","10"),s.style.fill=this.chartColor(r),e.appendChild(s),e.appendChild(this.svgText(t,n+14,a,"start","10px"))}drawBottomLegend(e,t,r){if(0==t.length)return;const n=t.map(e=>14+this.chartLegendTextWidth(e)),a=n.reduce((e,t)=>e+t,0)+18*Math.max(0,t.length-1),s=this.createSvgElement("g");s.setAttribute("data-docx-chart-legend","bottom"),s.setAttribute("transform",`translate(${Math.max(0,(640-a)/2)}, 0)`);let o=0;t.forEach((e,t)=>{this.drawLegend(s,e,t,o,r),o+=n[t]+18}),e.appendChild(s)}chartLegendTextWidth(e){return Array.from(e).reduce((e,t)=>/\s/.test(t)?e+3:e+((t.codePointAt(0)??0)>255?10:6),0)}chartColor(e){return`hsl(${47*e%360}, 65%, 48%)`}renderSmartArtSvg(e){const t=e.documentElement,r=this.elementsByLocal(t,"pt").map(e=>({id:e.getAttribute("modelId"),type:e.getAttribute("type"),text:this.elementsByLocal(e,"t").map(e=>e.textContent).filter(Boolean).join(" ").trim()})).filter(e=>e.id&&e.text&&"doc"!=e.type),n=this.elementsByLocal(t,"cxn").map(e=>({src:e.getAttribute("srcId"),dst:e.getAttribute("destId")})).filter(e=>e.src&&e.dst&&r.some(t=>t.id==e.src)&&r.some(t=>t.id==e.dst)),a=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});if(a.setAttribute("viewBox","0 0 640 360"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),0==r.length)return a.appendChild(this.svgText("SmartArt",320,180,"middle","18px")),a;const s=this.layoutDiagramNodes(r,n),o={},i=140,l=Math.min(90,260/Math.max(s.length,1));s.forEach((e,t)=>{const r=55+t*l,n=560/Math.max(e.length,1);e.forEach((e,t)=>{o[e.id]={x:40+n*t+Math.max(0,n-i)/2,y:r}})});for(const e of n){const t=o[e.src],r=o[e.dst];t&&r&&a.appendChild(this.svgLine(t.x+70,t.y+44,r.x+70,r.y))}return r.forEach((e,t)=>{const r=o[e.id];if(!r)return;const n=this.createSvgElement("rect");n.setAttribute("x",`${r.x}`),n.setAttribute("y",`${r.y}`),n.setAttribute("width","140"),n.setAttribute("height","44"),n.setAttribute("rx","8"),n.style.fill=this.chartColor(t),n.style.opacity="0.18",n.style.stroke=this.chartColor(t),a.appendChild(n),a.appendChild(this.svgText(e.text,r.x+70,r.y+27,"middle","11px"))}),a}layoutDiagramNodes(e,t){const r=new Map(e.map(e=>[e.id,0]));t.forEach(e=>r.set(e.dst,(r.get(e.dst)??0)+1));let n=e.filter(e=>0==(r.get(e.id)??0));const a=new Set,s=[];for(0==n.length&&(n=e.slice(0,1));n.length>0;){s.push(n),n.forEach(e=>a.add(e.id));const r=t.filter(e=>n.some(t=>t.id==e.src)).map(e=>e.dst).filter(e=>!a.has(e));n=[...new Set(r)].map(t=>e.find(e=>e.id==t)).filter(Boolean)}const o=e.filter(e=>!a.has(e.id));return o.length>0&&s.push(o),s}renderInkSvg(e){const t=this.createSvgElement("svg",{style:{width:"100%",height:"100%",display:"block"}});t.setAttribute("viewBox","0 0 640 360"),t.setAttribute("preserveAspectRatio","xMidYMid meet");const r=this.elementsByLocal(e.documentElement,"trace").map(e=>this.inkTraceToPoints(e.textContent)),n=this.elementsByLocal(e.documentElement,"path").map(e=>e.getAttribute("d")).filter(Boolean);if(0==r.length&&0==n.length)return t.appendChild(this.svgText("Ink",320,180,"middle","18px")),t;const a=r.flat(),s=Math.min(...a.map(e=>e[0]),0),o=Math.min(...a.map(e=>e[1]),0),i=Math.max(...a.map(e=>e[0]),640),l=Math.max(...a.map(e=>e[1]),360),c=Math.min(600/Math.max(i-s,1),320/Math.max(l-o,1)),h=20-s*c,d=20-o*c;for(const e of r){if(e.length<2)continue;const r=this.createSvgElement("path");r.setAttribute("d",e.map((e,t)=>`${0==t?"M":"L"}${e[0]*c+h},${e[1]*c+d}`).join(" ")),r.style.fill="none",r.style.stroke="currentColor",r.style.strokeWidth="2",r.style.strokeLinecap="round",r.style.strokeLinejoin="round",t.appendChild(r)}for(const e of n){const r=this.createSvgElement("path");r.setAttribute("d",e),r.style.fill="none",r.style.stroke="currentColor",r.style.strokeWidth="2",t.appendChild(r)}return t}inkTraceToPoints(e){const t=(e??"").match(/-?\d+(?:\.\d+)?/g)?.map(Number)??[],r=[];for(let e=0;e+1<t.length;e+=2)r.push([t[e],t[e+1]]);return r}svgLine(e,t,r,n){const a=this.createSvgElement("line");return a.setAttribute("x1",`${e}`),a.setAttribute("y1",`${t}`),a.setAttribute("x2",`${r}`),a.setAttribute("y2",`${n}`),a.style.stroke="currentColor",a.style.strokeWidth="1",a}svgText(e,t,r,n="start",a="12px",s=null){const o=this.createSvgElement("text");return o.setAttribute("x",`${t}`),o.setAttribute("y",`${r}`),o.setAttribute("text-anchor",n),o.style.fill="currentColor",o.style.fontSize=a,s&&(o.style.fontWeight=s),o.appendChild(document.createTextNode(e)),o}elementsByLocal(e,t){const r=e.documentElement??e;return Array.from(r.getElementsByTagName("*")).filter(e=>e.localName==t)}firstByLocal(e,t){return this.elementsByLocal(e,t)[0]??null}renderSimpleField(e){const t=this.evaluateFieldNode(e);return void 0===t?this.renderElements(e.children??[]):null==t?null:v(t)?this.renderFieldText(t,e.instruction):t}renderFieldText(e,t){const r=this.h({tagName:"span",className:`${this.className}-field`,children:[e]});return t&&(r.dataset.docxFieldInstr=t),r}evaluateFieldNode(e){const t=(e.instruction??"").replace(/\s+/g," ").trim();if(!t)return;if(t.startsWith("=")){const e=this.evaluateFormula(t.substring(1));return null==e?void 0:this.applyFieldFormatting(`${e}`,t)}const r=this.tokenizeFieldInstruction(t),n=r[0]?.replace(/^=/,"").toUpperCase();if(!this.shouldPreserveStoredFieldResult(n,e))switch(n){case"PAGE":return this.applyFieldFormatting(this.formatFieldNumber(this.currentPageNumber,this.currentSectionProps?.pageNumber?.format),t);case"NUMPAGES":return this.applyFieldFormatting(this.formatFieldNumber(this.totalPages,this.currentSectionProps?.pageNumber?.format),t);case"SECTIONPAGES":return this.applyFieldFormatting(this.formatFieldNumber(this.sectionPageCount,this.currentSectionProps?.pageNumber?.format),t);case"SECTION":return this.applyFieldFormatting(this.formatFieldNumber(this.currentSectionNumber,"decimal"),t);case"DATE":case"TIME":case"CREATEDATE":case"SAVEDATE":case"PRINTDATE":return this.applyFieldFormatting(this.evaluateDateField(r,n),t);case"AUTHOR":return this.applyFieldFormatting(this.document.corePropsPart?.props?.creator??"",t);case"TITLE":return this.applyFieldFormatting(this.document.corePropsPart?.props?.title??"",t);case"SUBJECT":return this.applyFieldFormatting(this.document.corePropsPart?.props?.subject??"",t);case"KEYWORDS":return this.applyFieldFormatting(this.document.corePropsPart?.props?.keywords??"",t);case"NUMWORDS":return this.applyFieldFormatting(`${this.document.extendedPropsPart?.props?.words??""}`,t);case"NUMCHARS":return this.applyFieldFormatting(`${this.document.extendedPropsPart?.props?.characters??""}`,t);case"FILENAME":return this.applyFieldFormatting(this.document.documentPart?.path?.split("/").pop()??"",t);case"DOCPROPERTY":return this.applyFieldFormatting(this.evaluateDocPropertyField(r),t);case"DOCVARIABLE":return this.applyFieldFormatting(this.evaluateDocVariableField(r),t);case"MERGEFIELD":return;case"SET":return this.evaluateSetField(r),null;case"QUOTE":return this.applyFieldFormatting(r.slice(1).map(e=>this.resolveFieldValue(e)).join(""),t);case"HYPERLINK":return this.renderHyperlinkField(r,e);case"IF":return this.applyFieldFormatting(this.evaluateIfField(r),t);case"REF":case"STYLEREF":case"NOTEREF":return this.applyFieldFormatting(this.evaluateRefField(r),t);case"PAGEREF":return this.applyFieldFormatting(this.evaluatePageRefField(r),t);case"SEQ":return this.applyFieldFormatting(this.evaluateSeqField(r),t);case"LISTNUM":return this.applyFieldFormatting(this.evaluateListNumField(r),t);case"TC":case"XE":return null;case"TOC":return this.renderTocField(r);case"SYMBOL":return this.evaluateSymbolField(r)}}shouldPreserveStoredFieldResult(e,t){if(!this.options.preserveComplexFieldResults||!t.children?.length)return!1;switch(e){case"PAGE":case"NUMPAGES":case"SECTIONPAGES":case"SECTION":return!1;case"PAGEREF":return!this.options.updatePageReferences;case"TOC":case"REF":case"STYLEREF":case"NOTEREF":case"SEQ":case"LISTNUM":case"IF":case"DOCVARIABLE":case"MERGEFIELD":return!0}return!1}tokenizeFieldInstruction(e){const t=[];let r="",n=null,a=!1;for(const s of e)a?(r+=s,a=!1):"\\"!=s?'"'!=s&&"'"!=s?!/\s/.test(s)||n?r+=s:r&&(t.push(r),r=""):n==s?(n=null,t.push(r),r=""):n?r+=s:(r.trim()&&t.push(r.trim()),r="",n=s):n?a=!0:(r&&(t.push(r),r=""),r="\\");return r&&t.push(r),t}fieldSwitch(e,t){const r=t.toLowerCase(),n=e.findIndex(e=>e.toLowerCase()==r);return n>=0?e[n+1]:null}hasFieldSwitch(e,t){const r=t.toLowerCase();return e.some(e=>e.toLowerCase()==r)}firstFieldArgument(e,t=1){for(let r=t;r<e.length;r++){if(!e[r]?.startsWith("\\"))return e[r];r++}return null}evaluateDateField(e,t){const r=this.fieldSwitch(e,"\\@"),n=new Date;return r?this.formatFieldDate(n,r):"TIME"==t?n.toLocaleTimeString():n.toLocaleDateString()}formatFieldDate(e,t){const r=(e,t=2)=>`${e}`.padStart(t,"0"),n=["January","February","March","April","May","June","July","August","September","October","November","December"],a=n.map(e=>e.substring(0,3)),s=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],o=s.map(e=>e.substring(0,3)),i=[[/yyyy/g,`${e.getFullYear()}`],[/yy/g,r(e.getFullYear()%100)],[/MMMM/g,n[e.getMonth()]],[/MMM/g,a[e.getMonth()]],[/MM/g,r(e.getMonth()+1)],[/M/g,`${e.getMonth()+1}`],[/dddd/g,s[e.getDay()]],[/ddd/g,o[e.getDay()]],[/dd/g,r(e.getDate())],[/d/g,`${e.getDate()}`],[/HH/g,r(e.getHours())],[/H/g,`${e.getHours()}`],[/hh/g,r((e.getHours()+11)%12+1)],[/h/g,""+((e.getHours()+11)%12+1)],[/mm/g,r(e.getMinutes())],[/m/g,`${e.getMinutes()}`],[/ss/g,r(e.getSeconds())],[/s/g,`${e.getSeconds()}`],[/AM\/PM/g,e.getHours()<12?"AM":"PM"],[/am\/pm/g,e.getHours()<12?"am":"pm"]];let l=t;for(const[e,t]of i)l=l.replace(e,t);return l}evaluateDocPropertyField(e){const t=this.firstFieldArgument(e)?.toLowerCase();if(!t)return"";const r={...this.document.corePropsPart?.props??{},...this.document.extendedPropsPart?.props??{}};for(const[e,n]of Object.entries(r))if(e.toLowerCase()==t)return null==n?"":`${n}`;return""}evaluateSetField(e){const t=this.firstFieldArgument(e);if(!t)return;const r=e.slice(e.indexOf(t)+1).filter(e=>!e.startsWith("\\")).map(e=>this.resolveFieldValue(e)).join(" ");this.fieldSetValues[t]=r}evaluateDocVariableField(e){const t=this.firstFieldArgument(e);return t?this.fieldSetValues[t]??"":""}renderHyperlinkField(e,t){const r=this.fieldSwitch(e,"\\l"),n=this.firstFieldArgument(e)??"",a=r?`${n}#${r}`:n,s=this.h({tagName:"a",children:this.renderHyperlinkChildren(t.children??[])});return this.applyHyperlinkTarget(s,a,!!n),s.textContent||(s.textContent=a||r),s}evaluateIfField(e){const t=["<>",">=","<=","=",">","<"],r=e.findIndex((e,r)=>r>0&&t.includes(e));if(r<0)return"";const n=this.resolveFieldValue(e.slice(1,r).join(" ")),a=e[r],s=this.resolveFieldValue(e[r+1]??""),o=e[r+2]??"",i=e[r+3]??"",l=parseFloat(n),c=parseFloat(s),h=!Number.isNaN(l)&&!Number.isNaN(c),d=h?l:n,u=h?c:s;let m=!1;switch(a){case"=":m=d==u;break;case"<>":m=d!=u;break;case">":m=d>u;break;case"<":m=d<u;break;case">=":m=d>=u;break;case"<=":m=d<=u}return this.resolveFieldValue(m?o:i)}resolveFieldValue(e){const t=(e??"").trim();if(/^[-+]?\d+(?:\.\d+)?$/.test(t))return t;if(this.bookmarkTextMap.hasOwnProperty(t))return this.bookmarkTextMap[t];if(this.fieldSetValues.hasOwnProperty(t))return this.fieldSetValues[t];if(t.startsWith("=")){const e=this.evaluateFormula(t.substring(1));return null==e?"":`${e}`}const r=this.tokenizeFieldInstruction(t)[0]?.toUpperCase();if(["PAGE","NUMPAGES","SECTIONPAGES","SECTION","DATE","TIME","AUTHOR","TITLE","SUBJECT","KEYWORDS","REF","PAGEREF","SEQ","DOCPROPERTY"].includes(r)){const e=this.evaluateFieldNode({type:We.SimpleField,instruction:t,lock:!1,dirty:!1,children:[]});if(v(e))return e}return t}evaluateRefField(e){const t=this.firstFieldArgument(e);return t?this.bookmarkTextMap[t]??this.fieldSetValues[t]??"":""}evaluatePageRefField(e){const t=this.firstFieldArgument(e);return t?`${null!=this.bookmarkTextMap[t]?Math.max(this.currentPageNumber,1):1}`:""}evaluateSeqField(e){const t=this.firstFieldArgument(e);if(!t)return"";if(this.hasFieldSwitch(e,"\\h"))return"";const r=this.fieldSwitch(e,"\\r"),n=this.hasFieldSwitch(e,"\\c");null!=r?this.fieldSeqCounters[t]=parseInt(r,10)||0:n||(this.fieldSeqCounters[t]=(this.fieldSeqCounters[t]??0)+1);const a=this.fieldSwitch(e,"\\*")??"decimal";return this.formatFieldNumber(this.fieldSeqCounters[t]??0,this.fieldFormatSwitchToNumFormat(a))}evaluateListNumField(e){const t=this.firstFieldArgument(e)??"LISTNUM";this.fieldSeqCounters[t]=(this.fieldSeqCounters[t]??0)+1;const r=this.fieldSwitch(e,"*")??"decimal";return this.formatFieldNumber(this.fieldSeqCounters[t],this.fieldFormatSwitchToNumFormat(r))}renderTocField(e){let t=1,r=9;const n=this.fieldSwitch(e,"\\o");if(n){const e=/(\d+)\s*-\s*(\d+)/.exec(n);e&&(t=parseInt(e[1],10),r=parseInt(e[2],10))}const a=this.tocEntries.filter(e=>e.level>=t&&e.level<=r).map(e=>{const t=this.h({tagName:"span",className:`${this.className}-toc-page`,children:["1"]});return t.dataset.docxPageRef=e.id,this.h({tagName:"div",className:`${this.className}-toc-entry ${this.className}-toc-level-${e.level}`,children:[this.h({tagName:"a",className:`${this.className}-toc-title`,href:`#${e.id}`,children:[e.text]}),t]})});return this.h({tagName:"div",className:`${this.className}-toc`,children:a})}evaluateSymbolField(e){const t=parseInt(e[1],10);return Number.isFinite(t)?String.fromCharCode(t):""}evaluateFormula(e){const t=e.replace(/,/g,"").trim();if(!/^[0-9+\-*/().\s]+$/.test(t))return null;try{const e=Function(`"use strict"; return (${t});`)();return Number.isFinite(e)?e:null}catch{return null}}applyFieldFormatting(e,t){const r=this.tokenizeFieldInstruction(t);let n=e??"";const a=this.fieldSwitch(r,"\\*"),s=a?.toUpperCase(),o=this.fieldSwitch(r,"\\#");if(o){const e=parseFloat(n);Number.isNaN(e)||(n=this.formatNumberPicture(e,o))}switch(s){case"UPPER":n=n.toUpperCase();break;case"LOWER":n=n.toLowerCase();break;case"FIRSTCAP":n=n.substring(0,1).toUpperCase()+n.substring(1).toLowerCase();break;case"CAPS":n=n.replace(/\b\w/g,e=>e.toUpperCase());break;case"ROMAN":{const e=parseInt(n,10);Number.isNaN(e)||(n="roman"==a?this.toRoman(e).toLowerCase():this.toRoman(e).toUpperCase());break}case"ALPHABETIC":{const e=parseInt(n,10);Number.isNaN(e)||(n="alphabetic"==a?this.toLetters(e).toLowerCase():this.toLetters(e).toUpperCase());break}}return n}formatNumberPicture(e,t){const r=t.indexOf("."),n=r>=0?t.length-r-1:0;let a=e.toFixed(n);if(t.includes(",")){const[e,t]=a.split(".");a=e.replace(/\B(?=(\d{3})+(?!\d))/g,",")+(null!=t?`.${t}`:"")}return a}fieldFormatSwitchToNumFormat(e){if("roman"==e)return"lowerRoman";if("alphabetic"==e)return"lowerLetter";switch(e?.toUpperCase()){case"ROMAN":return"upperRoman";case"ALPHABETIC":return"upperLetter";default:return"decimal"}}formatFieldNumber(e,t){switch(t){case"upperRoman":return this.toRoman(e).toUpperCase();case"lowerRoman":return this.toRoman(e).toLowerCase();case"upperLetter":return this.toLetters(e).toUpperCase();case"lowerLetter":return this.toLetters(e).toLowerCase();case"decimalZero":return e<10?`0${e}`:`${e}`;default:return`${e}`}}toRoman(e){const t=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];let r=Math.max(Math.floor(e),0),n="";for(const[e,a]of t)for(;r>=e;)n+=a,r-=e;return n||`${e}`}toLetters(e){let t=Math.max(Math.floor(e),1),r="";for(;t>0;)t--,r=String.fromCharCode(65+t%26)+r,t=Math.floor(t/26);return r}renderRuby(e){const t=e.children?.find(e=>e.type==We.RubyBase),r=e.children?.find(e=>e.type==We.RubyText),n=[...t?this.renderElements(t.children):[],...r?S(this.renderElement(r)).filter(e=>null!=e):[]],a=this.h({tagName:"ruby",children:n});return e.align&&(a.style.rubyAlign=e.align),a}hasRenderedContent(e){for(const t of e??[]){if(!t)continue;const e=t,r=e.nodeType,n=String(e.localName??e.tagName??e.nodeName??"").toLowerCase();if(3==r||"#text"==n){if((e.textContent??e.text??e.data??"").length)return!0;continue}if(["br","img","svg","math","table"].includes(n))return!0;if((e.textContent??"").length)return!0;const a=Array.from(e.childNodes??e.children??[]);if(a.length&&this.hasRenderedContent(a))return!0}return!1}renderText(e){return this.h(this.applyCjkLineBreakGuards(e.text))}applyCjkLineBreakGuards(e){if(!e||!this.document.settingsPart?.settings?.kinsoku)return e;const t=this.document.settingsPart.settings.noLineBreaksBefore??"!),.:;?]}¢°·'\"†‡›℃∶、。々〉》」』】〕〗〙〛〜゠ァィゥェォッャュョヮ・ー-?!%,.:;゛゜ヽヾゝゞー",r=this.document.settingsPart.settings.noLineBreaksAfter??"([{$£¥'\"“‘〈《「『【〔〖〘〚";let n="";for(const a of e)t.includes(a)&&(n+="⁠"),n+=a,r.includes(a)&&(n+="⁠");return n}renderDeletedText(e){return js(this.options)||qs(Us(this.options))?this.renderText(e):null}renderBreak(e){switch(e.break){case"textWrapping":case"line":return this.h({tagName:"br"});case"column":return this.h({tagName:"span",style:{breakAfter:"column"}});case"page":return this.options.breakPages?null:this.h({tagName:"span",style:{breakAfter:"page"}});case"lastRenderedPageBreak":return this.options.breakPages||this.options.ignoreLastRenderedPageBreak?null:this.h({tagName:"span",style:{breakAfter:"page"}})}return null}renderInserted(e){return js(this.options)?this.renderRevisionContainer(e,"ins"):"original"==Us(this.options)?null:this.renderElements(e.children)}renderDeleted(e){return js(this.options)?this.renderRevisionContainer(e,"del"):"original"==Us(this.options)?this.renderElements(e.children):null}renderRevisionContainer(e,t){const r=this.renderContainer(e,t),n=e.props?.revision,a=n?.kind??("ins"==t?"insert":"delete");r.dataset.docxChangeKind=a,this.hasOwnRevisionContent(e)||(r.dataset.docxChangeEmpty="true"),r.style.setProperty("--docx-review-color",ao(n?.author)),null!=n?.id&&(r.dataset.docxChangeId=`${n.id}`),n?.author&&(r.dataset.docxChangeAuthor=n.author),n?.date&&(r.dataset.docxChangeDate=n.date,r.setAttribute("datetime",n.date));const s=[n?.author,n?.date].filter(Boolean).join(" - ");return s&&r.setAttribute("title",s),r}hasOwnRevisionContent(e){const t=e=>{for(const r of e.children??[])if(!r.props?.revision){if((r.type==We.Text||r.type==We.DeletedText)&&(r.text??"").length)return!0;if(r.type==We.Tab||r.type==We.PositionalTab||r.type==We.Break||r.type==We.Symbol)return!0;if(t(r))return!0}return!1};return t(e)}renderSymbol(e){const t=function(e,t){const r=String.fromCharCode(t);if("symbol"!==(e??"").trim().replace(/^(["'])(.*)\1$/,"$2").trim().toLowerCase())return{text:r,normalized:!1};const n=t>=61440&&t<=61695?t-61440:t,a=n>=0&&n<=255?ts[n]:void 0,s=void 0===a?r:String.fromCharCode(a);return{text:s,normalized:s!==r}}(e.font,e.char),r=this.h({tagName:"span",children:[t.text],style:{fontFamily:e.font}});return Number.isFinite(e.char)&&r.setAttribute("data-docx-symbol-code",e.char.toString(16).padStart(4,"0").toUpperCase()),e.font&&r.setAttribute("data-docx-symbol-font",e.font),t.normalized&&r.setAttribute("data-docx-symbol-normalized","true"),r}renderFootnoteReference(e){return this.renderNoteReference(e,"footnote")}renderEndnoteReference(e){return this.renderNoteReference(e,"endnote")}renderNoteReference(e,t){const r=this.h({tagName:"sup",children:[]});r.dataset.docxNoteReference=t,r.dataset.docxNoteId=e.id;for(let t=e;t;t=t.parent)if(this.isHiddenRevisionForPagination(t))return r.dataset.docxNoteHidden="true",r;const n="footnote"===t?"footnoteProps":"endnoteProps",a=function(e,t){return{format:t?.numberingFormat??t?.nummeringFormat??e?.numberingFormat??e?.nummeringFormat??"decimal",start:t?.start??e?.start??1,restart:t?.restart??e?.restart??"continuous"}}(this.document.settingsPart?.settings?.[n],this.currentSectionProps?.[n]);let s=this.noteSectionIds.get(this.currentSectionProps);null==s&&(s=`${this.noteSectionIds.size+1}`,this.noteSectionIds.set(this.currentSectionProps,s));const o=this.noteNumbering.assign(t,e.id,!!e.customMarkFollows,a,s,`${this.notePageIndex}`),i="footnote"===t?this.currentFootnoteIds:this.currentEndnoteIds;return i.includes(e.id)||i.push(e.id),r.dataset.docxNoteSection=s,r.dataset.docxNoteFormat=a.format,r.dataset.docxNoteStart=`${a.start}`,r.dataset.docxNoteRestart=a.restart,this.applyNoteAssignment(r,o,!0),r}updateDynamicNoteNumbers(e){const t=Array.from(e.querySelectorAll(`:scope > section.${this.className}`)),r=new de;for(let e=0;e<t.length;e++)for(const n of Array.from(t[e].querySelectorAll("article [data-docx-note-reference]"))){if("true"===n.dataset.docxNoteHidden)continue;const t=r.assign(n.dataset.docxNoteReference,n.dataset.docxNoteId,"true"===n.dataset.docxNoteCustom,{format:n.dataset.docxNoteFormat,start:Number(n.dataset.docxNoteStart),restart:n.dataset.docxNoteRestart},n.dataset.docxNoteSection,`${e+1}`);this.applyNoteAssignment(n,t,!0)}for(const t of Array.from(e.querySelectorAll("li[data-docx-note-id]")))this.applyNoteAssignment(t,r.assignments.get(`${t.dataset.docxNoteKind}:${t.dataset.docxNoteId}`),!1)}renderTab(e){const t=this.currentParagraph??function(e,t){var r=e.parent;for(;null!=r&&r.type!=t;)r=r.parent;return r}(e,We.Paragraph),r=t?.tabs??[],n=r.filter(e=>"clear"!=e?.style),a=this.currentParagraphTabIndex++,s=this.resolveRenderedTabStop(n,a,this.currentParagraphTabCount);var o=this.h({tagName:"span",className:this.tabStopClass(),children:[" "]});return o.dataset.docxTab="true",s&&(o.dataset.docxTabAlign=s.style??"left",o.dataset.docxTabLeader=s.leader??"none",s.position&&(o.dataset.docxTabPos=s.position)),o.dataset.docxTabId=`${this.currentTabs.length}`,this.currentTabs.push({stops:r,span:o}),o}renderBookmarkStart(e){const t=this.h({tagName:"span"});return e.name&&(t.id=e.name,t.setAttribute("id",e.name)),t}renderRun(e){const t=e.fieldRun?e.children?.filter(e=>e.type!=We.Instruction&&e.type!=We.ComplexField):e.children;if(e.fieldRun&&(!t||0==t.length))return null;let r=this.renderElements(t);e.verticalAlign&&(r=[this.h({tagName:e.verticalAlign,children:r})]);if(!e.verticalAlign&&1==t?.length&&(t[0].type==We.Tab||t[0].type==We.PositionalTab)&&1==r?.length){const t=r[0];return e.cssStyle&&Object.assign(t.style,e.cssStyle),e.className&&t.classList.add(e.className),t}const n=this.toHTML(e,zs.html,"span",r),a=this.findStyle(e.styleName),s=e.cssStyle?.["--docx-snap-to-grid"]??this.styleValue(a,"span","--docx-snap-to-grid");if(/^(0|false|off)$/i.test(s??""))n.style.letterSpacing="normal";else if(/^(1|true|on)$/i.test(s??"")){const e=this.currentSectionProps?.docGrid;"linesAndChars"!=e?.type&&"snapToChars"!=e?.type||!e.charSpace||(n.style.letterSpacing=e.charSpace)}return e.id&&(n.id=e.id),n}renderTable(e){e.columns?.length&&!e.cssStyle?.["table-layout"]&&(e.cssStyle??(e.cssStyle={}),e.cssStyle["table-layout"]="fixed"),this.tableCellPositions.push(this.currentCellPosition),this.tableVerticalMerges.push(this.currentVerticalMerge),this.currentVerticalMerge={},this.currentCellPosition={col:0,row:0};const t=[];return e.columns&&t.push(this.renderTableColumns(e.columns)),t.push(...this.renderElements(e.children)),this.currentVerticalMerge=this.tableVerticalMerges.pop(),this.currentCellPosition=this.tableCellPositions.pop(),this.toHTML(e,zs.html,"table",t)}renderTableColumns(e){const t=e.map(e=>this.h({tagName:"col",style:{width:e.width}}));return this.h({tagName:"colgroup",children:t})}renderTableRow(e){this.currentCellPosition.col=e.gridBefore??0;const t=[],r=this.currentTableRow;this.currentTableRow=e,e.gridBefore&&t.push(this.renderTableCellPlaceholder(e.gridBefore)),t.push(...this.renderElements(e.children)),e.gridAfter&&t.push(this.renderTableCellPlaceholder(e.gridAfter));for(const e of Object.keys(this.currentVerticalMerge))this.currentVerticalMerge[e]?.lastRow!=this.currentCellPosition.row&&delete this.currentVerticalMerge[e];this.currentTableRow=r,this.currentCellPosition.row++;const n=this.toHTML(e,zs.html,"tr",t);return e.isHeader&&(n.dataset.docxRepeatHeader="true"),this.repeatedTableHeaderRows.has(e)&&(n.dataset.docxRepeatedHeader="true"),n}renderTableCellPlaceholder(e){return this.h({tagName:"td",colSpan:e,style:{border:"none"}})}renderTableCell(e){const t=this.currentTableRow?.isHeader?"th":"td";let r=this.toHTML(e,zs.html,t);const n=this.currentCellPosition.col,a=Math.max(1,e.span??1),s=this.currentVerticalMerge[n],o=r.style.getPropertyValue?.("border-bottom")||r.style["border-bottom"]||e.cssStyle?.["border-bottom"]||"",i=r.style.getPropertyPriority?.("border-bottom")||"";if(e.verticalMerge)if("restart"==e.verticalMerge)this.currentVerticalMerge[n]={cell:r,span:a,lastRow:this.currentCellPosition.row,bottomBorder:o,bottomBorderPriority:i},r.rowSpan=1;else if(s?.span==a&&s.lastRow==this.currentCellPosition.row-1){s.cell.rowSpan+=1,s.lastRow=this.currentCellPosition.row;const e=o||s.bottomBorder||"";s.cell.style.setProperty?s.cell.style.setProperty("border-bottom",e,i||s.bottomBorderPriority):s.cell.style["border-bottom"]=e,r.style.display="none"}else delete this.currentVerticalMerge[n];else delete this.currentVerticalMerge[n];return e.span&&(r.colSpan=e.span),this.currentCellPosition.col+=r.colSpan,function(e,t,r=e=>e){const n=["tl2br","tr2bl"].filter(e=>t?.[e]&&"none"!==t[e]);if(!n.length)return;const a=e.ownerDocument??document,s="http://www.w3.org/2000/svg",o=a.createElementNS(s,"svg"),i=a.createElement("span");for(const e of n){const n=/^(\d+(?:\.\d+)?)(pt|px)\s+(\w+)\s+(.+)$/.exec(t[e]);if(!n||!Number.isFinite(Number(n[1]))||Number(n[1])<=0)continue;const[,l,c,h,d]=n;if(/url\s*\(|[;{}<>\\\x00-\x1f]/i.test(d))continue;if(i.style.color="",i.style.color=d,!i.style.color)continue;const u=a.createElementNS(s,"line");u.dataset.docxDiagonal=e,u.setAttribute("x1","tl2br"===e?"0%":"100%"),u.setAttribute("y1","0%"),u.setAttribute("x2","tl2br"===e?"100%":"0%"),u.setAttribute("y2","100%"),u.style.stroke=r(i.style.color),u.style.strokeWidth=`${l}${c}`;const m=Number(l)*("pt"===c?4/3:1);"dotted"===h?(u.style.strokeDasharray="0 "+2*m,u.style.strokeLinecap="round"):"dashed"===h&&(u.style.strokeDasharray=`${4*m} ${2*m}`),o.appendChild(u)}o.hasChildNodes()&&(o.setAttribute("aria-hidden","true"),o.setAttribute("focusable","false"),Object.assign(o.style,{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none"}),e.style.position&&"static"!==e.style.position||(e.style.position="relative"),e.appendChild(o))}(r,e.props?.diagonalBorders,e=>this.darkenColorAttr(e)),r}renderVmlPicture(e){const t=this.renderContainer(e,this.currentParagraph?"span":"div");return t.style.display="block",t}vmlLengthInPoints(e){if(null==e)return null;const t=String(e).trim();if(!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?(?:pt|px|in|cm|mm|pc)?$/i.test(t))return null;const r=parseFloat(t);return Number.isFinite(r)?/px$/i.test(t)?.75*r:/in$/i.test(t)?72*r:/cm$/i.test(t)?72*r/2.54:/mm$/i.test(t)?72*r/25.4:/pc$/i.test(t)?12*r:r:null}vmlRenderContext(e,t){const r=C(e.cssStyleText),[n,a]=e.coordOrigin??[0,0],s=e=>Number.isFinite(e)?e:0,o=this.vmlLengthInPoints(r.width),i=this.vmlLengthInPoints(r.height),l=Math.max(0,s(t?.width??4*(o??Math.abs(e.coordSize?.[0]??1))/3)),c=Math.max(0,s(t?.height??4*(i??Math.abs(e.coordSize?.[1]??1))/3)),h=e.coordSize?.[0]??o??3*l/4,d=e.coordSize?.[1]??i??3*c/4;return{originX:s(n),originY:s(a),offsetX:s(t?.x??0),offsetY:s(t?.y??0),scaleX:h>0?s(l/h):0,scaleY:d>0?s(c/d):0,width:l,height:c}}vmlMappedValue(e,t,r,n){if(null==e)return 0;const a=String(e).trim(),s=parseFloat(a);if(!Number.isFinite(s))return 0;const o="x"==r?t.scaleX:t.scaleY,i="x"==r?t.originX:t.originY,l=n?0:"x"==r?t.offsetX:t.offsetY;let c;return c=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)%$/.test(a)?s*("x"==r?t.width:t.height)/100+l:/(?:pt|px|in|cm|mm|pc)$/i.test(a)?4*(this.vmlLengthInPoints(a)??0)/3+l:null!=this.vmlLengthInPoints(a)?(n?s:s-i)*o+l:0,Number.isFinite(c)?c:0}vmlBounds(e,t,r){if(r)return r;const n=C(e.cssStyleText),a=null==n.width?t.width:this.vmlMappedValue(n.width,t,"x",!0),s=null==n.height?t.height:this.vmlMappedValue(n.height,t,"y",!0);return{x:null==n.left?t.offsetX:this.vmlMappedValue(n.left,t,"x",!1),y:null==n.top?t.offsetY:this.vmlMappedValue(n.top,t,"y",!1),width:Math.max(0,a),height:Math.max(0,s)}}vmlCombinedLength(e,t){if(!e)return t;if(!t)return e;const r=this.vmlLengthInPoints(e),n=this.vmlLengthInPoints(t);return null!=r&&null!=n?`${r+n}pt`:`calc(${e} + ${t})`}vmlRootStyle(e){const t=C(e.cssStyleText),r={},n=["position","display","left","top","right","bottom","margin-left","margin-top","width","height","z-index","opacity","visibility","overflow"];for(const e of n)null!=t[e]&&(r[e]=t[e]);return"page"==t["mso-position-horizontal-relative"]&&(r.left=this.vmlCombinedLength(r.left,r["margin-left"]),delete r["margin-left"]),"page"==t["mso-position-vertical-relative"]&&(r.top=this.vmlCombinedLength(r.top,r["margin-top"]),delete r["margin-top"]),r.display??(r.display="block"),r.overflow??(r.overflow="visible"),r["pointer-events"]="none",r}applyVmlAttributes(e,t,r=new Set){for(const[n,a]of Object.entries(t??{}))r.has(n)||e.setAttribute(n,"fill"==n||"stroke"==n?this.darkenColorAttr(a):a)}loadVmlImage(e,t){e.imageHref?.id&&this.tasks.push(this.document?.loadDocumentImage(e.imageHref.id,this.currentPart,this.options.externalResourcePolicy).then(e=>{e&&t.setAttribute("href",e)}))}renderVmlElement(e){const t=this.vmlRenderContext(e),r=this.vmlRootStyle(e);r.width??(r.width=`${t.width}px`),r.height??(r.height=`${t.height}px`);for(const e of["width","height"])/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(r[e])&&(r[e]=`${t[e]}px`);const n=this.createSvgElement("svg",{style:r});if(t.width>0&&t.height>0&&null!=this.vmlLengthInPoints(r.width)&&null!=this.vmlLengthInPoints(r.height)&&n.setAttribute("viewBox",`0 0 ${t.width} ${t.height}`),n.setAttribute("preserveAspectRatio","none"),n.setAttribute("focusable","false"),n.dataset.docxVml="true","absolute"==e.cssStyle?.position){n.dataset.docxFloat="true";const t=e.props?.anchorPosition;t?.horizontal?.relative&&(n.dataset.docxAnchorHorizontal=t.horizontal.relative),t?.vertical?.relative&&(n.dataset.docxAnchorVertical=t.vertical.relative)}return n.appendChild(this.renderVmlChildElement(e,t,{x:0,y:0,width:t.width,height:t.height},!0)),n}renderVmlChildElement(e,t,r,n=!1){const a=this.vmlBounds(e,t,r),s=this.vmlRenderContext(e,a),o=C(e.cssStyleText);let i;switch(e.tagName){case"image":{const t=this.createSvgElement("svg");t.setAttribute("x",`${a.x}`),t.setAttribute("y",`${a.y}`),t.setAttribute("width",`${a.width}`),t.setAttribute("height",`${a.height}`),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("preserveAspectRatio","none"),t.setAttribute("overflow","hidden");const r=this.createSvgElement("image");this.applyVmlAttributes(r,e.attrs),r.setAttribute("x",e.attrs.x??"0"),r.setAttribute("y",e.attrs.y??"0"),r.setAttribute("width",e.attrs.width??"100%"),r.setAttribute("height",e.attrs.height??"100%"),this.loadVmlImage(e,r),t.appendChild(r),i=t;break}case"line":{const r=this.createSvgElement("line"),n=null==e.attrs.x1?a.x:this.vmlMappedValue(e.attrs.x1,t,"x",!1),s=null==e.attrs.y1?a.y:this.vmlMappedValue(e.attrs.y1,t,"y",!1),o=null==e.attrs.x2?a.x+a.width:this.vmlMappedValue(e.attrs.x2,t,"x",!1),l=null==e.attrs.y2?a.y+a.height:this.vmlMappedValue(e.attrs.y2,t,"y",!1);r.setAttribute("x1",`${n}`),r.setAttribute("y1",`${s}`),r.setAttribute("x2",`${o}`),r.setAttribute("y2",`${l}`),this.applyVmlAttributes(r,e.attrs,new Set(["x1","y1","x2","y2"])),e.attrs.stroke||r.setAttribute("stroke","currentColor"),i=r;break}case"path":{const t=this.createSvgElement("path");this.applyVmlAttributes(t,e.attrs,new Set(["d"])),t.setAttribute("d",e.attrs.d??""),t.setAttribute("transform",`matrix(${s.scaleX} 0 0 ${s.scaleY} ${a.x-s.originX*s.scaleX} ${a.y-s.originY*s.scaleY})`),t.setAttribute("vector-effect","non-scaling-stroke"),i=t;break}case"rect":{const t=this.createSvgElement("rect");t.setAttribute("x",`${a.x}`),t.setAttribute("y",`${a.y}`),t.setAttribute("width",`${a.width}`),t.setAttribute("height",`${a.height}`),this.applyVmlAttributes(t,e.attrs,new Set(["x","y","width","height"])),i=t;break}case"ellipse":{const t=this.createSvgElement("ellipse");t.setAttribute("cx",`${a.x+a.width/2}`),t.setAttribute("cy",`${a.y+a.height/2}`),t.setAttribute("rx",""+a.width/2),t.setAttribute("ry",""+a.height/2),this.applyVmlAttributes(t,e.attrs,new Set(["cx","cy","rx","ry"])),i=t;break}case"foreignObject":{const t=this.createSvgElement("foreignObject"),[r,n,s,o]=(e.textInset??["0","0","0","0"]).map(e=>4*(this.vmlLengthInPoints(e)??0)/3);t.setAttribute("x",`${a.x+r}`),t.setAttribute("y",`${a.y+n}`),t.setAttribute("width",`${Math.max(0,a.width-r-s)}`),t.setAttribute("height",`${Math.max(0,a.height-n-o)}`),this.applyVmlAttributes(t,e.attrs,new Set(["x","y","width","height"])),t.setAttribute("overflow","hidden");const l=this.createElement("div",{style:{width:"100%",height:"100%",overflow:"hidden",boxSizing:"border-box"}});l.setAttribute("xmlns",zs.html);for(const t of e.children??[])for(const e of S(this.renderElement(t)).filter(e=>null!=e))l.appendChild(v(e)?document.createTextNode(e):e);t.appendChild(l),i=t;break}default:i=this.createSvgElement("g"),this.applyVmlAttributes(i,e.attrs)}if("foreignObject"!=e.tagName){if(e.children?.length&&"g"!=e.tagName){const e=this.createSvgElement("g");e.appendChild(i),i=e}for(const t of e.children??[])if(t.type==We.VmlElement)i.appendChild(this.renderVmlChildElement(t,s,e.isGroup?void 0:a));else for(const e of S(this.renderElement(t)).filter(e=>null!=e))i.appendChild(v(e)?document.createTextNode(e):e)}if(e.isGroup&&"hidden"==o.overflow){const e=this.createSvgElement("svg");e.setAttribute("x",`${a.x}`),e.setAttribute("y",`${a.y}`),e.setAttribute("width",`${a.width}`),e.setAttribute("height",`${a.height}`),a.width>0&&a.height>0&&e.setAttribute("viewBox",`${a.x} ${a.y} ${a.width} ${a.height}`),e.setAttribute("overflow","hidden"),e.appendChild(i),i=e}const l=[],c=a.x+a.width/2,h=a.y+a.height/2;Number.isFinite(e.rotation)&&e.rotation&&l.push(`rotate(${e.rotation} ${c} ${h})`);const d=/x/i.test(o.flip??""),u=/y/i.test(o.flip??"");if((d||u)&&l.push(`translate(${c} ${h}) scale(${d?-1:1} ${u?-1:1}) translate(${-c} ${-h})`),l.length){const e=this.createSvgElement("g");e.setAttribute("transform",l.join(" ")),e.appendChild(i),i=e}if(!n)for(const e of["display","visibility","opacity"])null!=o[e]&&i.style.setProperty(e,o[e]);return i}renderMmlMathParagraph(e){const t=this.renderElements(e.children);for(const e of t)"math"==e?.localName&&e.setAttribute("display","block");return this.h({tagName:this.currentParagraph?"span":"div",className:`${this.className}-math-paragraph`,style:{display:"block",textAlign:"center"},children:t})}renderMmlPhantom(e){return this.renderContainerNS(e,zs.mathML,"mphantom")}renderMmlAccent(e){const t=e.children?.find(e=>e.type==We.MmlBase),r=this.createMathMLElement("mo",null,[e.props?.char??"^"]),n=t?S(this.renderElement(t)).filter(e=>null!=e):[];return this.createMathMLElement("mover",null,[...n,r])}renderMmlRadical(e){const t=e.children.find(e=>e.type==We.MmlBase);if(e.props?.hideDegree)return this.createMathMLElement("msqrt",null,this.renderElements([t]));const r=e.children.find(e=>e.type==We.MmlDegree);return this.createMathMLElement("mroot",null,this.renderElements([t,r]))}renderMmlDelimiter(e){const t=[],r=e.props?.beginChar,n=e.props?.endChar;return""!==r&&t.push(this.createMathMLElement("mo",null,[r??"("])),t.push(...this.renderElements(e.children)),""!==n&&t.push(this.createMathMLElement("mo",null,[n??")"])),this.createMathMLElement("mrow",null,t)}renderMmlNary(e){const t=[],r=y(e.children,e=>e.type),n=r[We.MmlSuperArgument],a=r[We.MmlSubArgument],s=n?this.createMathMLElement("mrow",null,this.renderElements(n.children)):null,o=a?this.createMathMLElement("mrow",null,this.renderElements(a.children)):null,i=this.createMathMLElement("mo",null,[e.props?.char??"∫"]);return s&&o?t.push(this.createMathMLElement("munderover",null,[i,o,s])):s?t.push(this.createMathMLElement("mover",null,[i,s])):o?t.push(this.createMathMLElement("munder",null,[i,o])):t.push(i),r[We.MmlBase]&&t.push(...this.renderElements(r[We.MmlBase].children)),this.createMathMLElement("mrow",null,t)}renderMmlPreSubSuper(e){const t=[],r=y(e.children,e=>e.type),n=r[We.MmlSuperArgument],a=r[We.MmlSubArgument],s=this.createMathMLElement("mrow",null,n?this.renderElements(n.children):[]),o=this.createMathMLElement("mrow",null,a?this.renderElements(a.children):[]),i=this.createMathMLElement("mrow",null,[]);return t.push(this.createMathMLElement("msubsup",null,[i,o,s])),r[We.MmlBase]&&t.push(...this.renderElements(r[We.MmlBase].children)),this.createMathMLElement("mrow",null,t)}renderMmlGroupChar(e){const t="bot"===e.props?.verticalJustification?"munder":"mover",r=this.createMathMLElement("mrow",null,this.renderElements(e.children)),n=this.createMathMLElement("mo",null,[e.props?.char??"⏞"]);return this.createMathMLElement(t,null,[r,n])}renderMmlBar(e){const t={};switch(e.props.position){case"top":t.textDecoration="overline";break;case"bottom":t.textDecoration="underline"}return this.renderContainerNS(e,zs.mathML,"mrow",{style:t})}renderMmlRun(e){const t=this.extractMathRunText(e);if(null!=t){const r=this.renderMathTextTokens(t,e.cssStyle);return r.length?r:null}return this.renderContainerNS(e,zs.mathML,"mrow")}extractMathRunText(e){let t="";for(const r of e.children??[])switch(r.type){case We.Text:t+=r.text??"";break;case We.DeletedText:qs(Us(this.options))&&(t+=r.text??"");break;case We.Symbol:t+=String.fromCharCode(r.char);break;case We.Tab:t+=" ";break;case We.NoBreakHyphen:t+="‑";break;case We.SoftHyphen:break;default:return null}return t}renderMathTextTokens(e,t){const r=[];let n=0;for(;n<e.length;){const a=e[n];if(/\s/.test(a)){let t=n+1;for(;t<e.length&&/\s/.test(e[t]);)t++;r.push(this.createMathMLElement("mspace",{width:.25*Math.max(1,t-n)+"em"})),n=t;continue}if(fo(a)){let a=n+1;for(;a<e.length&&(fo(e[a])||"."==e[a]);)a++;r.push(this.createMathToken("mn",e.substring(n,a),t)),n=a;continue}if(go(a)){let a=n+1;for(;a<e.length&&go(e[a]);)a++;r.push(this.createMathToken("mi",e.substring(n,a),t)),n=a;continue}bo(a)?r.push(this.createMathToken("mo",a,t)):r.push(this.createMathToken("mtext",a,t)),n++}return r}createMathToken(e,t,r){return this.createMathMLElement(e,r?{style:r}:null,[t])}renderMllList(e){const t=this.renderElements(e.children).map(e=>this.createMathMLElement("mtr",null,[this.createMathMLElement("mtd",null,[e])]));return this.toHTML(e,zs.mathML,"mtable",t)}toH(e,t,r,n=null){const{$lang:a,"$lang-eastAsia":s,"$lang-bidi":o,...i}=e.cssStyle??{};return{ns:t,tagName:r,className:Vs(e.className,e.styleName&&this.processStyleName(e.styleName)),lang:a,style:this.darkenStyle(i),children:n??this.renderElements(e.children)}}darkenStyle(e){if(!this.options.darkMode)return e;const t=function(e,t){if(!e)return e;let r=e;for(const n in e){const a=e[n];if("string"!=typeof a||!a)continue;let s;Ds.has(n)||n.startsWith("--")&&n.endsWith("-color")?s=Bs(a,t):Is.has(n)&&(s=Hs(a,t)),void 0!==s&&s!==a&&(r===e&&(r={...e}),r[n]=s)}return r}(e);if(t===e)return e;const r={...t};for(const n in t){if(n.startsWith("--"))continue;const a=e[n],s=t[n];s===a||"string"!=typeof s||s.toLowerCase().includes("var(")||(r[n]=this.wrapForPrint(a,s))}return r}darkenColorAttr(e){if(!this.options.darkMode)return e;const t=Bs(e);return t===e||t.toLowerCase().includes("var(")?t:this.wrapForPrint(e,t)}wrapForPrint(e,t){let r=this.darkModeVarNames.get(e);return r||(r=`--docx-dm-${this.darkModeVarNames.size}`,this.darkModeVarNames.set(e,r),this.darkModePrintReset[r]=e),`var(${r}, ${t})`}renderDarkModePrintReset(){const e=Object.entries(this.darkModePrintReset);if(!this.options.darkMode||0===e.length)return[];const t=e.map(([e,t])=>` ${e}: ${t};\r\n`).join(""),r=`@media print {\r\n.${this.className} {\r\n${t}}\r\n}\r\n`;return[this.h({tagName:"style",children:[r]})]}toHTML(e,t,r,n=null){const a=this.h(this.toH(e,t,r,n));return 1===a?.nodeType&&this.applyElementRevisionMetadata(a,e),a}applyElementRevisionMetadata(e,t){const r=t.props?.revision;"insert"!==r?.kind&&"delete"!==r?.kind||(js(this.options)?(e.dataset.docxChangeKind=r.kind,e.style.setProperty("--docx-review-color",ao(r.author)),null!=r.id&&(e.dataset.docxChangeId=`${r.id}`),r.author&&(e.dataset.docxChangeAuthor=r.author),r.date&&(e.dataset.docxChangeDate=r.date)):"delete"===r.kind&&(e.style.display="none"));const n=t.props?.formatRevisions?.[0];n&&js(this.options)&&(e.dataset.docxFormatChange="true",e.style.setProperty("--docx-review-color",ao(n.author)),null!=n.id&&(e.dataset.docxChangeId=`${n.id}`),n.author&&(e.dataset.docxChangeAuthor=n.author),n.date&&(e.dataset.docxChangeDate=n.date))}findStyle(e){return e&&this.styleMap?.[e]}isTocParagraphStyle(e,t){return[e,t?.id,t?.name,t?.cssName,...t?.aliases??[]].filter(Boolean).map(e=>String(e).replace(/[\s_-]+/g,"").toLowerCase()).some(e=>/^toc[1-9]$/.test(e))}numberingClass(e,t){return`${this.className}-num-${e}-${t}`}numberingSelector(e,t){return`.${this.className} p.${this.numberingClass(e,t)}`}tabStopClass(){return`${this.className}-tab-stop`}scopeDocumentStyleSelector(e){const t=e.trim();return!t||t.startsWith(`.${this.className}`)||t.startsWith(`section.${this.className}`)||t.startsWith(`.${this.className}-wrapper`)?e:`.${this.className} ${e}`}styleToString(e,t,r=null){let n=`${e} {\r\n`;const a=this.darkenStyle(t);for(const e in a)e.startsWith("$")||(n+=` ${e}: ${a[e]};\r\n`);return r&&(n+=r),n+"}\r\n"}numberingCounter(e,t){return`${this.className}-num-${e}-${t}`}numberingRestartLevel(e){if(e.level<=0)return null;if(null==e.restart)return e.level-1;if(0==e.restart)return null;const t=e.restart-1;return t>=0&&t<e.level?t:null}numberingMarkerRunStyle(e,t){if(!e)return e;const r={...e};return t&&delete r["font-family"],r}normalizeNumberingLevelText(e,t,r){if("bullet"!=t||!e)return{text:e,normalized:!1};const n=(r?.["font-family"]??"").toLowerCase();let a=!1,s=null;if(n.includes("wingdings"))s=this.wingdingsBulletMap();else{if(!n.includes("symbol"))return{text:e,normalized:!1};s=this.symbolBulletMap()}let o="";for(const t of e){const e=s[t.charCodeAt(0)];e?(o+=e,a=!0):o+=t}return{text:o,normalized:a}}symbolBulletMap(){return{183:"•",8226:"•",61623:"•"}}wingdingsBulletMap(){return{61548:"●",61550:"■",61557:"◆",61598:"·",61599:"•",61600:"▪",61601:"○",61604:"◉",61605:"◎",61607:"▪",61608:"◻",61656:"➢",61672:"➔",61690:"▫",61691:"✗",61692:"✓",61693:"☒",61694:"☑"}}levelTextToContent(e,t,r,n,a){const s=[];let o=0;for(const t of e.matchAll(/%\d+/g)){t.index>o&&s.push(`"${this.escapeCssString(e.substring(o,t.index))}"`);let i=parseInt(t[0].substring(1),10)-1;const l=a?.get(`${r}:${i}`)??n??"decimal";s.push(`counter(${this.numberingCounter(r,i)}, ${l})`),o=t.index+t[0].length}const i=e.substring(o);i&&s.push(`"${this.escapeCssString(i)}"`);const l=this.numberingSuffixToCssContent(t);return l&&s.push(l),s.length>0?s.join(" "):'""'}numberingSuffixToCssContent(e){switch(e||"tab"){case"nothing":return"";case"space":return'"\\000020"';default:return'"\\000009"'}}escapeCssString(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\r?\n/g,"\\A ")}numFormatToCssValue(e){return{none:"none",bullet:"disc",decimal:"decimal",lowerLetter:"lower-alpha",upperLetter:"upper-alpha",lowerRoman:"lower-roman",upperRoman:"upper-roman",decimalZero:"decimal-leading-zero",aiueo:"katakana",aiueoFullWidth:"katakana",chineseCounting:"simp-chinese-informal",chineseCountingThousand:"simp-chinese-informal",chineseLegalSimplified:"simp-chinese-formal",chosung:"hangul-consonant",ideographDigital:"cjk-ideographic",ideographTraditional:"cjk-heavenly-stem",ideographLegalTraditional:"trad-chinese-formal",ideographZodiac:"cjk-earthly-branch",iroha:"katakana-iroha",irohaFullWidth:"katakana-iroha",japaneseCounting:"japanese-informal",japaneseDigitalTenThousand:"cjk-decimal",japaneseLegal:"japanese-formal",thaiNumbers:"thai",koreanCounting:"korean-hangul-formal",koreanDigital:"korean-hangul-formal",koreanDigital2:"korean-hanja-informal",hebrew1:"hebrew",hebrew2:"hebrew",hindiNumbers:"devanagari",ganada:"hangul",taiwaneseCounting:"cjk-ideographic",taiwaneseCountingThousand:"cjk-ideographic",taiwaneseDigital:"cjk-decimal"}[e]??e??"decimal"}refreshTabStops(e){const t=e?.querySelectorAll?Array.from(e.querySelectorAll("[data-docx-tab-id]")):this.currentTabs.map(e=>e.span);for(const e of t){if(!e.isConnected||!this.ownsLayoutElement(e))continue;const t=this.currentTabs[Number(e.dataset.docxTabId)];t&&(!hs(e,t.stops)&&this.options.experimental&&os(e,t.stops,this.defaultTabSize,ss()))}}createElementNS(e,t,r,n){return this.h({ns:e,tagName:t,children:n,...r})}createElement(e,t,r){return this.createElementNS(zs.html,e,t,r)}createMathMLElement(e,t,r){return this.createElementNS(zs.mathML,e,t,r)}createSvgElement(e,t,r){return this.createElementNS(zs.svg,e,t,r)}later(e){this.postRenderTasks.push(e)}}function fo(e){return e>="0"&&e<="9"}function go(e){if(!e)return!1;const t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||t>=913&&t<=1023||t>=119808&&t<=120831}function bo(e){return"()+-−=<>≤≥≈≠×÷*/·∙∑Σ∏∫√∞∂∇,.;:[]{}|‖!′″→←↔⇒⇔∈∉⊂⊃⊆⊇∧∨¬".includes(e)}po.nextCommentId=0;function yo(e){const t=function(e){if(null==e)return 0;if("undefined"!=typeof Blob&&e instanceof Blob)return e.size;if("undefined"!=typeof ArrayBuffer){if(e instanceof ArrayBuffer)return e.byteLength;if(ArrayBuffer.isView(e))return e.byteLength}return"number"==typeof e.size?e.size:"number"==typeof e.byteLength?e.byteLength:"number"==typeof e.length?e.length:null}(e);if(0===t)throw new Error("文件为空或尚未保存,无法作为 Word 文档打开。请在 WPS/Word 中保存后重新上传。")}const xo={ignoreHeight:!1,ignoreWidth:!1,fixedPageHeight:!0,ignoreFonts:!1,breakPages:!0,strictWordCompatibility:!0,paginationTolerance:2,maxDynamicPaginationPasses:1e3,awaitLayout:!0,useWorker:!0,workerUrl:void 0,workerFactory:void 0,workerJsZipUrl:void 0,workerFallback:!0,workerTimeout:12e4,renderPageBatchSize:2,renderYieldEveryMs:16,progress:void 0,preserveComplexFieldResults:!0,updatePageReferences:!1,hideWebHiddenContent:!1,externalLinkPolicy:"allow",externalResourcePolicy:"block",darkMode:!1,debug:!1,experimental:!1,className:"docx",inWrapper:!0,hideWrapperOnPrint:!1,trimXmlDeclaration:!0,ignoreLastRenderedPageBreak:!1,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,renderEndnotes:!0,useBase64URL:!1,renderChanges:!1,reviewMode:void 0,reviewPresentation:"balloon",renderComments:!1,renderAltChunks:!0,h:Ws};function wo(e){const t={...xo,...e};return null!=e?.reviewMode&&null==e.renderComments&&(t.renderComments=!0),t}function vo(e,t,r){if("auto"!==t.reviewMode)return t;const n=_s(e,"auto");return t.reviewMode=n.enabled?n.mode:void 0,t.renderChanges=n.enabled,null==r?.renderComments&&(t.renderComments=n.enabled),t}function ko(e,t){const r=wo(t);return r.licenseToken,yo(e),function(e){return!(!e.useWorker||!e.workerFactory&&!e.workerUrl||"undefined"==typeof Worker)}(r)?Mo(e,r).catch(t=>{if(!r.workerFallback)throw t;r.debug&&console.warn("docx-preview: worker parsing failed; falling back to main thread",t);const n={...r,useWorker:!1};return Co(e,n)}):Co(e,r)}function Co(e,t){return yo(e),t.progress?.({phase:"parse",message:"Parsing DOCX on main thread"}),Ca.load(e,new Ka(t),t)}async function So(e,t){const r=vo(e,wo(t),t);r.licenseToken;const n=new po;return await n.render(e,r)}const No=new WeakMap;function Ao(e){const{h:t,progress:r,licenseToken:n,workerFactory:a,...s}=e;return{...s,useWorker:!1}}let Po=0;function Mo(e,t){const r={...xo,...t};return r.licenseToken,yo(e),!r.workerFactory&&!r.workerUrl||"undefined"==typeof Worker?Co(e,{...r,useWorker:!1}):(r.progress?.({phase:"worker",message:"Starting DOCX parse worker"}),new Promise((t,n)=>{const a=++Po,s=r.workerFactory?r.workerFactory():new Worker(r.workerUrl);let o=!1,i=null;const l=()=>{o=!0,i&&clearTimeout(i),s.terminate()};r.workerTimeout>0&&(i=setTimeout(()=>{o||(l(),n(new Error(`docx-preview worker timed out after ${r.workerTimeout}ms`)))},r.workerTimeout)),s.onerror=e=>{o||(l(),n(new Error(e.message||"docx-preview worker error")))},s.onmessage=e=>{const s=e.data??{};if(s.id===a||"ready"===s.type)if("progress"!==s.type){if("parsed"===s.type)return l(),r.progress?.({phase:"worker",message:"Worker parse complete"}),void t(Ca.fromSnapshot(s.snapshot,r));if("error"===s.type){l();const e=new Error(s.error?.message??"docx-preview worker parse failed");e.stack=s.error?.stack,n(e)}}else r.progress?.({phase:"worker",current:s.current,total:s.total,message:s.message})},s.postMessage({type:"parse",id:a,data:e,options:Ao(r),jsZipUrl:r.workerJsZipUrl})}))}async function $o(e,t){const r={...xo,...t},n=i(e);await l(e,[],n),await mo(e,n);const a=Array.from(e.querySelectorAll(`.${r.className}-wrapper`));if(e.classList?.contains(`${r.className}-wrapper`)&&a.unshift(e),r.breakPages&&r.fixedPageHeight&&!r.ignoreHeight&&a.length){const t=Math.max(2,r.maxDynamicPaginationPasses??120),s=()=>a.some(e=>"true"===e.dataset.docxPaginating||"true"===e.dataset.docxPaginationScheduled);for(let r=0;r<t;r++){await Do(),o(e,n);const t=a.find(e=>e.dataset.docxLayoutError);if(t)throw new Error(t.dataset.docxLayoutError);if(!s())break}if(s())throw new Error("DOCX layout did not settle within the configured pagination wait budget")}return await Do(),o(e,n),await mo(e,n),o(e,n),Lo(e,r)}const To=new WeakMap;function Fo(e){!function(e){r.get(e)?.cancel(),r.delete(e)}(e),To.get(e)?.(),To.delete(e),function(e){const t=new Set,r=[e,...Array.from(e.querySelectorAll("[data-docx-layout-root], [data-docx-comment-layer]"))];for(const e of r){const r=uo.get(e);r&&t.add(r),uo.delete(e)}for(const e of t)e.disposeLayout()}(e);const t=No.get(e);t&&e.removeEventListener("click",t),No.delete(e)}function Lo(e,t){const r={...xo,...t},n=Array.from(e.querySelectorAll(`section.${r.className}`)).map((e,t)=>{const n=Array.from(e.querySelectorAll("[data-docx-field-instr]")),a=Array.from(e.querySelectorAll("img")).filter(e=>!e.complete||0===e.naturalWidth).length,s=e.clientHeight>0&&e.scrollHeight>e.clientHeight+(r.paginationTolerance??2);return{index:t+1,section:e.dataset.docxSection??"",pageNumber:parseInt(e.dataset.docxPageNumber??`${t+1}`,10),sectionPageNumber:parseInt(e.dataset.docxSectionPageNumber??"1",10),width:e.clientWidth,height:e.clientHeight,scrollHeight:e.scrollHeight,overflow:s,textLength:e.textContent?.length??0,anchors:Array.from(e.querySelectorAll("[id]")).map(e=>e.id).filter(Boolean),fields:n.map(e=>({instruction:e.dataset.docxFieldInstr??"",value:e.textContent??""})),floats:e.querySelectorAll('[data-docx-float="true"]').length,unresolvedMedia:a}});return{pageCount:n.length,overflowPages:n.filter(e=>e.overflow).map(e=>e.index),unresolvedMedia:n.reduce((e,t)=>e+t.unresolvedMedia,0),textLength:n.reduce((e,t)=>e+t.textLength,0),fields:n.flatMap(e=>e.fields),floats:n.reduce((e,t)=>e+t.floats,0),pages:n}}function Ro(e,t="docx"){if(!e||"function"!=typeof getComputedStyle)return;const r=Array.from(e.querySelectorAll("p")),n=`${t}-num-`;for(const e of r){if(!e.className?.includes(n))continue;const t=getComputedStyle(e,"::before");if(!t.content||"none"==t.content||"normal"==t.content)continue;const r=Eo(e);if(!r||r==e)continue;const a=getComputedStyle(r);Bo(e,"--docx-marker-font-family",a.fontFamily),Bo(e,"--docx-marker-font-size",a.fontSize),Bo(e,"--docx-marker-font-style",a.fontStyle),Bo(e,"--docx-marker-font-weight",a.fontWeight)}}function Eo(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;t.nextNode();){const r=t.currentNode;if(!r.nodeValue?.trim())continue;const n=r.parentElement;if(!n||n==e)return e;const a=getComputedStyle(n);if("none"!=a.display&&"hidden"!=a.visibility)return n}return null}function Bo(e,t,r){r&&e.style.setProperty(t,r)}function Do(){return new Promise(e=>{const t=globalThis;"function"==typeof t.requestIdleCallback?t.requestIdleCallback(()=>e(),{timeout:32}):"function"==typeof t.requestAnimationFrame?t.requestAnimationFrame(()=>e()):setTimeout(e,0)})}e.awaitRenderedLayout=$o,e.collectDocxReviewChanges=Gs,e.collectLayoutSnapshot=Lo,e.defaultOptions=xo,e.disposeRenderedDocument=Fo,e.parseAsync=ko,e.parseAsyncInWorker=Mo,e.renderAsync=async function(e,t,r,n){const s=wo(n);s.licenseToken,Fo(t);const c=a(t),h=await ko(e,s);o(t,c,!1),vo(h,s,n);const d=await So(h,s);o(t,c,!1),r??(r=t),r===t||r.replaceChildren(),t.replaceChildren();let u=0;for(let e of d){("STYLE"===e.nodeName?r:t).appendChild(e),u++,s.renderYieldEveryMs>0&&u%8==0&&(await Do(),o(t,c,!1))}!function(e){const t=No.get(e);t&&e.removeEventListener("click",t);const r=t=>{const r=t;if(r.defaultPrevented||0!=r.button||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey)return;const n=r.target;if(!(n instanceof Element))return;const a=n.closest('a[href^="#"]');if(!a||!e.contains(a))return;const s=a.getAttribute("href");if(!s||"#"==s)return;let o=s.substring(1);try{o=decodeURIComponent(o)}catch{return}const i=Array.from(e.querySelectorAll("[id]")).find(e=>e.id==o);i&&(r.preventDefault(),i.scrollIntoView({block:"start",inline:"nearest"}))};e.addEventListener("click",r),No.set(e,r)}(t),js(s)?(t.dataset.docxReviewEnabled="true",t.dataset.docxReviewMode=Us(s),t.dataset.docxReviewPresentation=s.reviewPresentation??"balloon"):(delete t.dataset.docxReviewEnabled,delete t.dataset.docxReviewMode,delete t.dataset.docxReviewPresentation),Ro(t,s.className);let m=null;if(s.awaitLayout)s.progress?.({phase:"layout",message:"Measuring rendered pages"}),m=await $o(t,s),o(t,c),Ro(t,s.className);else{const e=i(t,c);l(t,[],e).then(()=>mo(t,e)).catch(()=>{})}return function(e,t,r){To.get(e)?.();const n=e.ownerDocument.defaultView;if(!n||"function"!=typeof n.requestAnimationFrame||"function"!=typeof n.cancelAnimationFrame)return;let a=0,s=!1,o=!1,c=!1;const h=async()=>{if(a=0,s||o||!r.isCurrent()||!e.isConnected)return;const n=e.querySelector(`.${t.className}-wrapper`);if("true"!==n?.dataset.docxPaginating&&"true"!==n?.dataset.docxPaginationScheduled){o=!0,c=!1;try{const t=i(e,r);await l(e,[],t),await mo(e,t)}catch(e){r.isCurrent()&&"AbortError"!==e?.name&&(n&&(n.dataset.docxLayoutError=e?.message??"DOCX layout failed"),t.debug&&console.warn("DOCX layout refresh failed",e))}finally{o=!1,c&&d()}}},d=()=>{!s&&r.isCurrent()&&(o?c=!0:a||(a=n.requestAnimationFrame(()=>{h()})))},u=n.ResizeObserver?new n.ResizeObserver(d):null,m=e=>{const t=new Set(e.flatMap(e=>Array.from(e.addedNodes))),r=new Set(e.flatMap(e=>Array.from(e.removedNodes)));[...t,...r].some(e=>e.isConnected||!t.has(e)||!r.has(e))&&d()},p="function"==typeof n.MutationObserver?new n.MutationObserver(m):null;u?.observe(e),p?.observe(e,{childList:!0,subtree:!0}),n.addEventListener("resize",d),e.ownerDocument.fonts?.addEventListener?.("loadingdone",d);const f=()=>{s||(s=!0,n.cancelAnimationFrame(a),u?.disconnect(),p?.disconnect(),n.removeEventListener("resize",d),e.ownerDocument.fonts?.removeEventListener?.("loadingdone",d),r.signal.removeEventListener("abort",f))};r.signal.addEventListener("abort",f,{once:!0}),To.set(e,f)}(t,s,c),s.progress?.({phase:"done",current:m?.pageCount,total:m?.pageCount,message:"DOCX render complete"}),h},e.renderDocument=So,e.resolveDocxReviewState=_s,e.setDocxReviewMode=function(e,t){if(!e||"final"!==(r=t)&&"original"!==r&&"simple"!==r&&"all"!==r)return!1;var r;const n=Array.from(e.querySelectorAll("[data-docx-review-enabled='true']"));if("true"===e.dataset?.docxReviewEnabled&&n.unshift(e),0===n.length)return!1;for(const e of new Set(n))e.dataset.docxReviewMode=t;return!0},e.syncNumberingMarkerStyles=Ro,e.yieldToBrowser=Do});