@univerjs/engine-render 0.18.0 → 0.19.0

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.
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./en-us-DWhJMag6.js";import{AlignTypeH as t,AlignTypeV as n,BaselineOffset as r,BooleanNumber as i,BorderStyleTypes as a,BulletAlignment as o,COLORS as s,CellValueType as c,ColorKit as l,ColumnSeparatorType as u,CustomDecorationType as d,CustomRangeType as f,DEFAULT_EMPTY_DOCUMENT_VALUE as p,DEFAULT_STYLES as m,DataStreamTreeNodeType as h,DataStreamTreeTokenType as g,Disposable as _,DisposableCollection as v,DocumentDataModel as y,DocumentFlavor as b,EventSubject as x,FontStyleType as S,GridType as C,HorizontalAlign as w,IConfigService as T,IContextService as E,IUniverInstanceService as D,Inject as O,Injector as k,ListGlyphType as A,LocaleService as ee,MOVE_BUFFER_VALUE as j,NAMED_STYLE_MAP as M,NAMED_STYLE_SPACE_MAP as te,NumberUnitType as N,ObjectMatrix as P,ObjectRelativeFromH as F,ObjectRelativeFromV as I,PRESET_LIST_TYPE as ne,PageOrientType as L,Plugin as re,PositionedObjectLayoutType as R,Range as ie,Rectangle as ae,Registry as oe,SectionType as se,SheetSkeleton as ce,Skeleton as le,SpacingRule as ue,TableAlignmentType as de,TableRowHeightRule as fe,TableTextWrapType as pe,TextDecoration as z,ThemeService as me,Tools as B,UniverInstanceType as he,VerticalAlign as ge,VerticalAlignmentType as _e,WrapStrategy as V,WrapTextType as ve,addLinkToDocumentModel as ye,checkParagraphHasIndentByStyle as be,createIdentifier as xe,deleteContent as Se,extractPureTextFromCell as Ce,getCellInfoInMergeData as we,getColorStyle as Te,horizontalLineSegmentsSubtraction as Ee,insertTextToContent as De,invertColorByMatrix as Oe,isClassDependencyItem as ke,isNullCell as Ae,isWhiteColor as je,merge as Me,mergeWith as Ne,numberToABC as Pe,numberToListABC as Fe,registerDependencies as Ie,remove as Le,requestImmediateMacroTask as Re,searchArray as ze,sortRules as Be,sortRulesByDesc as Ve,toDisposable as He}from"@univerjs/core";import*as Ue from"cjk-regex";import{BehaviorSubject as We,Observable as Ge,Subject as Ke,Subscription as qe,debounceTime as Je,distinctUntilChanged as Ye,shareReplay as Xe,startWith as Ze}from"rxjs";import{parse as Qe}from"opentype.js/dist/opentype.module";import{franc as $e}from"franc-min";import{getOverflowAncestors as et}from"@floating-ui/dom";import{floor as tt,max as nt,min as rt}from"@floating-ui/utils";import{getDocumentElement as it}from"@floating-ui/utils/dom";let at=function(e){return e.RECT=`rect`,e.CIRCLE=`circle`,e.PATH=`path`,e}({}),ot=function(e){return e[e.XY=0]=`XY`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e}({});const st=1,ct=`"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif`,lt={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},ut={...lt,marginTop:20},dt={...lt,marginBottom:20},ft=1,pt=14;let H=function(e){return e.DEFAULT=`default`,e.AUTO=`auto`,e.CROSSHAIR=`crosshair`,e.POINTER=`pointer`,e.MOVE=`move`,e.EAST_RESIZE=`e-resize`,e.NORTH_EAST_RESIZE=`ne-resize`,e.NORTH_WEST_RESIZE=`nw-resize`,e.NORTH_RESIZE=`n-resize`,e.SOUTH_EAST_RESIZE=`se-resize`,e.SOUTH_WEST_RESIZE=`sw-resize`,e.SOUTH_RESIZE=`s-resize`,e.WEST_RESIZE=`w-resize`,e.TEXT=`text`,e.WAIT=`wait`,e.HELP=`help`,e.CELL=`cell`,e.NONE=`none`,e.VERTICAL_TEXT=`vertical-text`,e.NO_DROP=`no-drop`,e.GRAB=`grab`,e.GRABBING=`grabbing`,e.ALL_SCROLL=`all-scroll`,e.COLUMN_RESIZE=`col-resize`,e.ROW_RESIZE=`row-resize`,e.PROGRESS=`progress`,e.NOT_ALLOWED=`not-allowed`,e.ZOOM_IN=`zoom-in`,e.ZOOM_OUT=`zoom-out`,e}({}),mt=function(e){return e[e.noClip=0]=`noClip`,e[e.DOC_SIZE=1]=`DOC_SIZE`,e[e.CONTENT_SIZE_LEFT=2]=`CONTENT_SIZE_LEFT`,e[e.CONTENT_SIZE_CENTER=3]=`CONTENT_SIZE_CENTER`,e[e.CONTENT_SIZE_Right=4]=`CONTENT_SIZE_Right`,e}({});const ht=`rgb(0,0,0)`;let U=function(e){return e.TOP=`t`,e.BOTTOM=`b`,e.LEFT=`l`,e.RIGHT=`r`,e.TL_BR=`tl_br`,e.TL_BC=`tl_bc`,e.TL_MR=`tl_mr`,e.BL_TR=`bl_tr`,e.ML_TR=`ml_tr`,e.BC_TR=`bc_tr`,e}({}),gt=function(e){return e[e.UP=0]=`UP`,e[e.DOWN=1]=`DOWN`,e}({}),W=function(e){return e.ENGINE=`Engine`,e.SCENE=`Scene`,e.BASE_OBJECT=`BaseObject`,e.SCENE_VIEWER=`SceneViewer`,e.CANVAS=`Canvas`,e.VIEWPORT=`Viewport`,e.LAYER=`Layer`,e.GROUP=`Group`,e.IMAGE=`Image`,e.SHAPE=`Shape`,e.TEXT=`Text`,e}({});const _t=2e3,vt=2e3,yt=2,bt=.5,xt=3,St=4,Ct=5,wt=Math.PI/180,Tt=180/Math.PI,Et=`rgb(`,Dt=(e,t)=>e?t==null?`${Et+e.join(`,`)})`:`${`rgba(`+e.join(`,`)},${t})`:`${Et}0,0,0)`,Ot=(e,t)=>B.isNumber(e)?e:t&&e&&B.isString(e)&&e.substr(e.length-1,1)===`%`?Number.parseFloat(e)/100*t:0,kt=(e,t)=>(t||(t=window),t.requestPostAnimationFrame?t.requestPostAnimationFrame(e):t.requestAnimationFrame?t.requestAnimationFrame(e):t.msRequestAnimationFrame?t.msRequestAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(e):t.mozRequestAnimationFrame?t.mozRequestAnimationFrame(e):t.oRequestAnimationFrame?t.oRequestAnimationFrame(e):setTimeout(e,16)),At=(e,t)=>(t||(t=window),t.requestPostAnimationFrame?t.cancelPostAnimationFrame(e):t.requestAnimationFrame?t.cancelAnimationFrame(e):t.msRequestAnimationFrame?t.msCancelAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitCancelAnimationFrame(e):t.mozRequestAnimationFrame?t.mozCancelAnimationFrame(e):t.oRequestAnimationFrame?t.oCancelAnimationFrame(e):clearTimeout(e)),jt=()=>{let e=document.createElement(`canvas`);try{e.style=e.style||{}}catch(e){console.error(e)}return e},Mt=()=>document.createElement(`img`),Nt=e=>e*Tt,Pt=e=>e*wt,Ft=()=>{let e=`pointer`;return typeof window<`u`&&!window.PointerEvent&&typeof navigator<`u`&&(e=`mouse`),B.isTablet()&&!B.isIPhone()&&!(document&&`ontouchend`in document)&&(e=`mouse`),e},It=()=>B.getBrowserType()===`safari`,Lt=(e=`obj`,t=4)=>{let n=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,``).split(``),r=``;for(let e=0;e<t;e++)r+=n[Math.round(Math.random()*(n.length-1))];let i=new Date().getTime();return`${e}_${r}_${i}`};function Rt(e){return Object.prototype.toString.apply(e)}function zt(e){return Rt(e)===`[object Function]`}function Bt(e){return Rt(e)===`[object Date]`}function Vt(e){return Rt(e)===`[object RegExp]`}function Ht(e){return Rt(e)===`[object Array]`}function Ut(e){return Rt(e)===`[object String]`}function Wt(e){return Rt(e)===`[object Number]`}function Gt(e){return Rt(e)===`[object Object]`}function Kt(e,t){return t=10**t,Math.round(e*t)/t}function G(e,t){return Math.round(e*t)/t}function qt(e){let t=m.ff,n=m.fs;if(!e){let e=`${n}pt ${t}`;return{fontCache:e,fontString:e,fontSize:n,originFontSize:n,fontFamily:t}}let i=S.ITALIC;(e.it===0||e.it===void 0)&&(i=S.NORMAL);let a=S.BOLD;(e.bl===0||e.bl===void 0)&&(a=S.NORMAL);let o=n;e.fs&&(o=Math.ceil(e.fs));let s=o,c=t;if(e.ff){let n=e.ff;n=n.replace(/"/g,``).replace(/'/g,``),n.indexOf(` `)>-1&&(n=`"${n}"`),n==null&&(n=t),c=n}let{va:l}=e;if(l===r.SUBSCRIPT||l===r.SUPERSCRIPT){let{sbr:e,spr:t}=q.getBaselineOffsetInfo(c,s);s*=l===r.SUBSCRIPT?e:t}let u=`${i} ${a} ${s}pt ${c}`;return{fontCache:u,fontString:`${u}, ${ct} `,fontSize:s,originFontSize:o,fontFamily:c}}const Jt=Ue.letters().toRegExp();function Yt(e){return Jt.test(e)}const Xt=Ue.all().toRegExp();function Zt(e){return Xt.test(e)}const Qt=Ue.punctuations().toRegExp();function $t(e){return Qt.test(e)}function en(e){return!!/[\u0000-\u024F]/gi.exec(e)}function tn(e){return!!/[\u0000-\u007F]/gi.exec(e)}function nn(e){return!!/[\u0080-\u00FF]/gi.exec(e)}function rn(e){return!!/[\u0100-\u017F]/gi.exec(e)}function an(e){return!!/[\u0180-\u024F]/gi.exec(e)}const on=new Intl.Segmenter(void 0,{granularity:`grapheme`});function sn(e){var t,n;return(t=(n=on.segment(e)[Symbol.iterator]().next().value)==null?void 0:n.segment)==null?null:t}function cn(e){return!!(/\p{Extended_Pictographic}/u.test(e)||/^\p{Regional_Indicator}{2}$/u.test(e)||/^[0-9#*]\uFE0F?\u20E3$/u.test(e))}function ln(e){let t=sn(e);return t?cn(t):!1}function un(e){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(e)}function dn(e){return/[\u0180-\u024F]/gi.test(e)}function fn(e){return/\s+/g.test(e)}function pn(e){return[`”`,`’`,`,`,`。`,`.`,`、`,`:`,`;`,`?`,`!`,`》`,`)`,`』`,`」`,`】`,`〗`,`〕`,`〉`,`]`,`}`].indexOf(e)>-1}function mn(e){return[`“`,`‘`,`《`,`(`,`『`,`「`,`【`,`〖`,`〔`,`〈`,`[`,`{`].indexOf(e)>-1}function hn(e){return[`・`,`·`].indexOf(e)>-1}const gn=1e3;let _n;function vn(){if(_n)return _n;let e=56;for(;e<gn*2;e++)if(matchMedia(`(max-resolution: ${e}dpi)`).matches===!0)return e;return _n=e,setTimeout(()=>{_n=null},gn),e}function yn(e){return e/(72/vn())}function bn(e){return e*(72/vn())}function xn(e){return e*(vn()/25.4)}function Sn(e){return e*vn()}function Cn(e){let{scaleX:t=1,scaleY:n=1}=e;return Math.max(t,n)}function wn(e,t,n,r){let i=e-1,a=t-1,o=n[i]||0,s=n[e];s==null&&(s=n[n.length-1]);let c=r[a]||0,l=r[t];return l==null&&(l=r[r.length-1]),{startY:o,endY:s,startX:c,endX:l}}function Tn(e,t,n,r,i){e=B.clamp(e,0,n.length-1),t=B.clamp(t,0,r.length-1);let{startY:a,endY:o,startX:s,endX:c}=wn(e,t,n,r),{isMerged:l,isMergedMainCell:u,startRow:d,startColumn:f,endRow:p,endColumn:m}=i,h={startRow:d,startColumn:f,endRow:p,endColumn:m,startY:0,endY:0,startX:0,endX:0},g=n.length-1,_=r.length-1;if(l&&d!==-1&&f!==-1){let e=n[d-1]||0,t=n[p]||n[g],i=r[f-1]||0,a=r[m]||r[_];h={...h,startY:e,endY:t,startX:i,endX:a}}else if(!l&&p!==-1&&m!==-1){let e=n[p]||n[g],t=r[m]||r[_];h={...h,startY:a,endY:e,startX:s,endX:t}}return{isMerged:l,isMergedMainCell:u,actualRow:e,actualColumn:t,startY:a,endY:o,startX:s,endX:c,mergeInfo:h}}const En=Tn;function Dn(e,t,n,r){let i=!1;for(let a=t;a<=n;a++){let{isMerged:t,isMergedMainCell:n}=we(e,a,r);if(!t&&!n){i=!0;break}}return i}function On(e,t,n){return{...e,startY:e.startY+n,endY:e.endY+n,startX:e.startX+t,endX:e.endX+t}}function kn(e,t){return!(e.left>t.right||e.top>t.bottom||t.left>e.right||t.top>e.bottom)}function An(e){let t=document.createElement(`style`);document.head.appendChild(t);let n=t.sheet;for(let t of e)n==null||n.insertRule(t,n.cssRules.length)}function jn(e){for(let t=0,n=document.head.childNodes.length;t<n;t++){let n=document.head.childNodes[t];if(n.nodeName===`STYLE`&&n.textContent&&n.textContent.indexOf(e)>-1)return!0}return!1}function Mn(e){return Number(e.replace(/px/gi,``))}function Nn(e){let{borderTopWidth:t,borderLeftWidth:n,borderRightWidth:r,borderBottomWidth:i,width:a,height:o}=getComputedStyle(e);return{top:Mn(t),left:Mn(n),right:Mn(r),bottom:Mn(i),width:Mn(a),height:Mn(o)}}const Pn=.75;function Fn(e){return e/Pn}function In(e){return e*Pn}function Ln(e,t,n){for(let r of e)if(t>=r.startRow&&t<=r.endRow&&n>=r.startColumn&&n<=r.endColumn)return!0;return!1}function Rn(e,t){let n=[];for(let r of e)for(let e of t)ae.simpleRangesIntersect(r,e)&&n.push(e);return e.concat(n)}function zn(e,t,n){return{startRow:B.clamp(e.startRow,0,t),endRow:B.clamp(e.endRow,0,t),startColumn:B.clamp(e.startColumn,0,n),endColumn:B.clamp(e.endColumn,0,n)}}function Bn(){let e=document.createElement(`div`);e.style.width=`0`,e.style.height=`0`,e.style.backgroundColor=`highlight`,document.body.append(e);let t=getComputedStyle(e).backgroundColor;return e.remove(),new l(t).toRgb()}function Vn(e){"@babel/helpers - typeof";return Vn=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Vn(e)}function Hn(e,t){if(Vn(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Vn(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Un(e){var t=Hn(e,`string`);return Vn(t)==`symbol`?t:t+``}function K(e,t,n){return(t=Un(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const Wn=`0`,Gn=e=>({sbr:.6,sbo:e,spr:.6,spo:e});var q=class{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(e,t,n){this._globalFontMeasureCache.has(e)||this._globalFontMeasureCache.set(e,new Map);let r=this._globalFontMeasureCache.get(e);r&&r.set(t,n)}static clearFontMeasureCache(e){let t=e.split(`/`);if(t.length===1){let e=t[0];this._globalFontMeasureCache.delete(e)}else if(t.length===2){var n;let e=t[0],r=t[1];(n=this._globalFontMeasureCache.get(e))==null||n.delete(r)}else return!1;return!0}static getFontMeasureCache(e,t){var n;return(n=this._globalFontMeasureCache.get(e))==null?void 0:n.get(t)}static autoCleanFontMeasureCache(e=1e6){let t=0,n=!1,r=0;for(let i of this._globalFontMeasureCache){let[,a]=i;if(t+=a.size,t>e){n=!0;break}r++}if(n){let t=0;for(let n of this._globalFontMeasureCache){let[r,i]=n;if(t+=i.size,t>e/2){let n=t-e/2;this._clearMeasureCache(n,i);break}this._globalFontMeasureCache.delete(r)}return!0}return!1}static getBaselineOffsetInfo(e,t){if(this._fontDataMap.size===0)return Gn(t);let n=e.split(`,`);for(let e of n){e=e.replace(/'/g,``);let n=this._fontDataMap.get(e);if(!n)continue;let{subscriptSizeRatio:r,subscriptOffset:i,superscriptSizeRatio:a,superscriptOffset:o}=n;return{sbr:r,sbo:i*t,spr:a,spo:o*t}}return Gn(t)}static getTextSizeByDom(e,t){if(t in this._getTextHeightCache)return this._getTextHeightCache[t];let n=document.getElementById(`universheetTextSizeTest`);n||(n=document.createElement(`span`),n.id=`universheetTextSizeTest`,document.getElementsByTagName(`body`)[0].appendChild(n)),n.style.cssText+=`float:left;white-space:nowrap;visibility:hidden;margin:0;padding:0;;${t}`,n.textContent=e;let r=n.getBoundingClientRect(),i={width:r.width,height:r.height};return this._getTextHeightCache[t]=i,i}static getTextSize(e,t){let{fontString:n,fontSize:r,fontFamily:i}=t,a=this._getBoundingBoxByFont(i,r);if(!a){let r=this.getMeasureText(e,n);a=this._calculateBoundingBoxByMeasureText(r,t)}return a}static getBBoxFromGlyphInfo(e,t){var n;let r=e.glyph,i=e.font,{y1:a,y2:o}=e.boundingBox,s=Fn(t.fontSize)/i.unitsPerEm,{ascender:c,descender:l}=i;return this._calculateBoundingBoxByMeasureText({width:((n=r.advanceWidth)==null?0:n)*s,fontBoundingBoxAscent:c*s,fontBoundingBoxDescent:Math.abs(l*s),actualBoundingBoxAscent:o*s,actualBoundingBoxDescent:Math.abs(a*s)},t)}static getMeasureText(e,t){if(this._context||(this._context=document.createElement(`canvas`).getContext(`2d`)),!this._context)return{width:0,fontBoundingBoxAscent:0,fontBoundingBoxDescent:0,actualBoundingBoxAscent:0,actualBoundingBoxDescent:0};let n=this._context,r=this.getFontMeasureCache(t,e);if(r!=null)return r;n.font=t;let{width:i,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:s,actualBoundingBoxDescent:c}=n.measureText(e),l={width:i,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:s,actualBoundingBoxDescent:c};if(a==null||o==null||Number.isNaN(a)||Number.isNaN(o)){let e=this.getTextSizeByDom(`0`,t).height;n.textBaseline===`top`?(l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e,l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=0):n.textBaseline===`middle`?(l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=e/2,l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e/2):(l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=0,l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e)}return this.setFontMeasureCache(t,e,l),l}static _clearMeasureCache(e,t){let n=0;for(let r of t){let[i]=r;if(n>e)break;t.delete(i),n++}return!0}static _getBoundingBoxByFont(e,t=28,n=``){let r=this._fontDataMap.get(e);if(!r)return;let{notDefWidth:i,ascender:a,descender:o,typoAscender:s,typoDescender:c,strikeoutPosition:l,subscriptSizeRatio:u,subscriptOffset:d,superscriptSizeRatio:f,superscriptOffset:p,hdmxData:m,glyphHorizonMap:h}=r,g=m==null?void 0:m.indexOf(Math.floor(t)),_=h.get(n.charCodeAt(0)),v=i;if(_){let{width:e,pixelsPerEm:t=[]}=_;v=g?t[g]:e}return{width:v*t,ba:a*t,bd:o*t,aba:s*t,abd:c*t,sp:l*t,sbr:u,sbo:d*t,spr:f,spo:p*t}}static _calculateBoundingBoxByMeasureText(e,t){let{width:n,fontBoundingBoxAscent:r,fontBoundingBoxDescent:i,actualBoundingBoxAscent:a,actualBoundingBoxDescent:o}=e,{fontSize:s,originFontSize:c}=t,l=c/s,u=r*l,d=i*l;return{width:n,ba:u,bd:d,aba:a,abd:o,sp:(r+i)/2,sbr:.6,spr:.6,sbo:(u+d)*.141,spo:(u+d)*.4}}};K(q,`_getTextHeightCache`,{}),K(q,`_context`,void 0),K(q,`_fontDataMap`,new Map),K(q,`_globalFontMeasureCache`,new Map);let J=function(e){return e[e.BODY=0]=`BODY`,e[e.HEADER=1]=`HEADER`,e[e.FOOTER=2]=`FOOTER`,e[e.CELL=3]=`CELL`,e}({}),Kn=function(e){return e[e.GLYPH=0]=`GLYPH`,e[e.DIVIDE=1]=`DIVIDE`,e[e.LINE=2]=`LINE`,e[e.COLUMN=3]=`COLUMN`,e[e.SECTION=4]=`SECTION`,e[e.PAGE=5]=`PAGE`,e[e.DRAWING=6]=`DRAWING`,e[e.BULLET=7]=`BULLET`,e[e.HEADER=8]=`HEADER`,e[e.FOOTER=9]=`FOOTER`,e[e.ALL=10]=`ALL`,e}({}),qn=function(e){return e[e.SECTION=0]=`SECTION`,e[e.PAGE=1]=`PAGE`,e[e.COLUMN=2]=`COLUMN`,e}({}),Jn=function(e){return e[e.PARAGRAPH=0]=`PARAGRAPH`,e[e.BLOCK=1]=`BLOCK`,e}({}),Yn=function(e){return e[e.LETTER=0]=`LETTER`,e[e.WORD=1]=`WORD`,e[e.LIST=2]=`LIST`,e[e.PLACEHOLDER=3]=`PLACEHOLDER`,e[e.TAB=4]=`TAB`,e[e.IMAGE=5]=`IMAGE`,e[e.AT=6]=`AT`,e[e.MATH=7]=`MATH`,e[e.MULTI_LINE=8]=`MULTI_LINE`,e[e.CUSTOM=9]=`CUSTOM`,e}({}),Xn=function(e){return e[e.VERTICAL=0]=`VERTICAL`,e[e.HORIZONTAL=1]=`HORIZONTAL`,e[e.AUTO=2]=`AUTO`,e}({});function Zn(e){var t;let n=e==null?void 0:e.parent;return n==null?!1:((t=n.glyphGroup[0])==null?void 0:t.glyphType)===Yn.LIST}function Qn(e,t){let n=tr(e,t);if(n==null)return!1;let{paragraphStyle:r}=n;return r==null?!1:be(r)}function $n(e){let t=e==null?void 0:e.parent,n=t==null?void 0:t.parent,r=t==null?void 0:t.glyphGroup,i=n==null?void 0:n.divides;if(r&&e&&i&&t){let n=r.indexOf(e);if(i.indexOf(t)===i.length-1&&n===r.length-1)return!0}return!1}function er(e){let t=e==null?void 0:e.parent,n=t==null?void 0:t.parent,r=t==null?void 0:t.glyphGroup,i=n==null?void 0:n.divides;if(r&&e&&i&&t){let n=r.indexOf(e),a=i.indexOf(t);if(a===0&&n===0||a===0&&n===1&&r[0].glyphType===Yn.LIST)return!0}return!1}function tr(e,t){var n;let r=e==null||(n=e.parent)==null?void 0:n.parent;if(r==null||t==null)return;let i=t.paragraphs;if(i!=null)for(let e=0;e<i.length;e++){let t=i[e],n=i[e-1];if(t.startIndex===r.paragraphIndex){var a;return{...t,paragraphStart:((a=n==null?void 0:n.startIndex)==null?-1:a)+1,paragraphEnd:t.startIndex}}}}function nr(e){return e==null?!1:[g.PARAGRAPH,g.TAB,g.SECTION_BREAK].indexOf(e.streamType)!==-1||e.content===g.SPACE}function rr(e,t){return e==null||t==null||e.parent==null||t.parent==null?!1:e.parent.parent===t.parent.parent}var Y=class e{constructor(e=0,t=0){this.x=e,this.y=t}static Zero(){return new e(0,0)}static One(){return new e(1,1)}static FromArray(t,n=0){return new e(t[n],t[n+1])}static FromArrayToRef(e,t,n){n.x=e[t],n.y=e[t+1]}static CatmullRom(t,n,r,i,a){let o=a*a,s=a*o;return new e(.5*(2*n.x+(-t.x+r.x)*a+(2*t.x-5*n.x+4*r.x-i.x)*o+(-t.x+3*n.x-3*r.x+i.x)*s),.5*(2*n.y+(-t.y+r.y)*a+(2*t.y-5*n.y+4*r.y-i.y)*o+(-t.y+3*n.y-3*r.y+i.y)*s))}static Clamp(t,n,r){let i=t.x;i=i>r.x?r.x:i,i=i<n.x?n.x:i;let a=t.y;return a=a>r.y?r.y:a,a=a<n.y?n.y:a,new e(i,a)}static Hermite(t,n,r,i,a){let o=a*a,s=a*o,c=2*s-3*o+1,l=-2*s+3*o,u=s-2*o+a,d=s-o;return new e(t.x*c+r.x*l+n.x*u+i.x*d,t.y*c+r.y*l+n.y*u+i.y*d)}static Hermite1stDerivative(t,n,r,i,a){let o=e.Zero();return this.Hermite1stDerivativeToRef(t,n,r,i,a,o),o}static Hermite1stDerivativeToRef(e,t,n,r,i,a){let o=i*i;a.x=(o-i)*6*e.x+(3*o-4*i+1)*t.x+(-o+i)*6*n.x+(3*o-2*i)*r.x,a.y=(o-i)*6*e.y+(3*o-4*i+1)*t.y+(-o+i)*6*n.y+(3*o-2*i)*r.y}static Lerp(t,n,r){return new e(t.x+(n.x-t.x)*r,t.y+(n.y-t.y)*r)}static Dot(e,t){return e.x*t.x+e.y*t.y}static Normalize(t){let n=e.Zero();return this.NormalizeToRef(t,n),n}static NormalizeToRef(e,t){let n=e.length();n!==0&&(t.x=e.x/n,t.y=e.y/n)}static Minimize(t,n){return new e(t.x<n.x?t.x:n.x,t.y<n.y?t.y:n.y)}static Maximize(t,n){return new e(t.x>n.x?t.x:n.x,t.y>n.y?t.y:n.y)}static PointInTriangle(e,t,n,r){let i=1/2*(-n.y*r.x+t.y*(-n.x+r.x)+t.x*(n.y-r.y)+n.x*r.y),a=i<0?-1:1,o=(t.y*r.x-t.x*r.y+(r.y-t.y)*e.x+(t.x-r.x)*e.y)*a,s=(t.x*n.y-t.y*n.x+(t.y-n.y)*e.x+(n.x-t.x)*e.y)*a;return o>0&&s>0&&o+s<2*i*a}static Distance(t,n){return Math.sqrt(e.DistanceSquared(t,n))}static DistanceSquared(e,t){let n=e.x-t.x,r=e.y-t.y;return n*n+r*r}static Center(t,n){return e.CenterToRef(t,n,e.Zero())}static CenterToRef(e,t,n){return n.copyFromFloats((e.x+t.x)/2,(e.y+t.y)/2)}static DistanceOfPointFromSegment(t,n,r){let i=e.DistanceSquared(n,r);if(i===0)return e.Distance(t,n);let a=r.subtract(n),o=Math.max(0,Math.min(1,e.Dot(t.subtract(n),a)/i)),s=n.add(a.multiplyByFloats(o,o));return e.Distance(t,s)}static create(t,n){return new e(t,n)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return`Vector2`}getHashCode(){let e=this.x|0;return e=e*397^(this.y|0),e}toArray(e,t=0){return e[t]=this.x,e[t+1]=this.y,this}fromArray(t,n=0){return e.FromArrayToRef(t,n,this),this}asArray(){let e=[];return this.toArray(e,0),e}copyFrom(e){return this.x=e.x,this.y=e.y,this}copyFromFloats(e,t){return this.x=e,this.y=t,this}set(e,t){return this.copyFromFloats(e,t)}add(t){return new e(this.x+t.x,this.y+t.y)}addToRef(e,t){return t.x=this.x+e.x,t.y=this.y+e.y,this}addByPoint(t,n){return new e(this.x+t,this.y+n)}addInPlace(e){return this.x+=e.x,this.y+=e.y,this}subtract(t){return new e(this.x-t.x,this.y-t.y)}subtractByPoint(t,n){return new e(this.x-t,this.y-n)}subtractToRef(e,t){return t.x=this.x-e.x,t.y=this.y-e.y,this}subtractInPlace(e){return this.x-=e.x,this.y-=e.y,this}multiplyInPlace(e){return this.x*=e.x,this.y*=e.y,this}multiply(t){return new e(this.x*t.x,this.y*t.y)}multiplyToRef(e,t){return t.x=this.x*e.x,t.y=this.y*e.y,this}multiplyByFloats(t,n){return new e(this.x*t,this.y*n)}divide(t){return new e(this.x/t.x,this.y/t.y)}divideToRef(e,t){return t.x=this.x/e.x,t.y=this.y/e.y,this}divideInPlace(e){return this.divideToRef(e,this)}negate(){return new e(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(e){return e.copyFromFloats(this.x*-1,this.y*-1)}scaleInPlace(e){return this.x*=e,this.y*=e,this}scale(t){let n=new e(0,0);return this.scaleToRef(t,n),n}scaleToRef(e,t){return t.x=this.x*e,t.y=this.y*e,this}scaleAndAddToRef(e,t){return t.x+=this.x*e,t.y+=this.y*e,this}equals(e){return e&&this.x===e.x&&this.y===e.y}floor(){return new e(Math.floor(this.x),Math.floor(this.y))}fract(){return new e(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(e){let t=Math.cos(e),n=Math.sin(e),r=t*this.x-n*this.y,i=n*this.x+t*this.y;return this.x=r,this.y=i,this}rotateToRef(e,t){let n=Math.cos(e),r=Math.sin(e);return t.x=n*this.x-r*this.y,t.y=r*this.x+n*this.y,this}rotateByPoint(t,n=e.create(0,0)){let r=Math.cos(t),i=Math.sin(t),a=n.x+(this.x-n.x)*r-(this.y-n.y)*i,o=n.y+(this.x-n.x)*i+(this.y-n.y)*r;return this.x=a,this.y=o,this}transformCoordinateOnRotate(e){let t=Math.sqrt(this.x**2+this.y**2),n=Math.atan2(this.y,this.x),r=-e+n;return this.x=t*Math.cos(r),this.y=t*Math.sin(r),this}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSquared(){return this.x*this.x+this.y*this.y}normalize(){return e.NormalizeToRef(this,this),this}clone(){return new e(this.x,this.y)}};function ir(){let e=1,t=jt().getContext(`2d`);return e=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),e<1?1:e}function ar(e,t,n,r){let i=0,a=0,o=0,s=0,{startX:c,startY:l,endX:u,endY:d}=r;t===U.TOP?(i=c-n,a=l,o=u+n,s=l):t===U.BOTTOM?(i=c-n,a=d,o=u-n,s=d):t===U.LEFT?(i=c,a=l-n,o=c,s=d+n):t===U.RIGHT&&(i=u,a=l-n,o=u,s=d+n),e.beginPath(),e.moveToByPrecision(i,a),e.lineToByPrecision(o,s),e.stroke(),e.closePathByEnv()}function or(e,t,n){let r=0,i=0,a=0,o=0,{startX:s,startY:c,endX:l,endY:u}=n;switch(t){case U.TL_BR:r=s,i=c,a=l,o=u;break;case U.TL_BC:r=s,i=c,a=(s+l)/2,o=u;break;case U.TL_MR:r=s,i=c,a=l,o=(c+u)/2;break;case U.BL_TR:r=s,i=u,a=l,o=c;break;case U.ML_TR:r=s,i=(c+u)/2,a=l,o=c;break;case U.BC_TR:r=(s+l)/2,i=u,a=l,o=c;break}e.beginPath(),e.moveToByPrecision(r,i),e.lineToByPrecision(a,o),e.closePathByEnv(),e.stroke()}function sr(e,t,n){let r=0,i=0,a=0,o=0,s=0,c=0,l=0,u=0,{startX:d,startY:f,endX:p,endY:m}=n;switch(t){case U.TL_BR:r=d,i=f+1.5,a=p-1.5,o=m,s=d+1.5,c=f,l=p,u=m-1.5;break;case U.BL_TR:r=d,i=m-1.5,a=p-1.5,o=f,s=d+1.5,c=m,l=p,u=f+1.5;break}e.beginPath(),e.moveToByPrecision(r,i),e.lineToByPrecision(a,o),e.closePathByEnv(),e.stroke(),e.beginPath(),e.moveToByPrecision(s,c),e.lineToByPrecision(l,u),e.closePathByEnv(),e.stroke()}function cr(e,t,n,r){t===a.DOUBLE&&(n===U.TL_BR||n===U.BL_TR)?sr(e,n,r):or(e,n,r)}function lr(e,t,n){let r=0,i=0,a=0,o=0,{startX:s,startY:c,endX:l,endY:u}=n;switch(t){case U.TOP:r=s,i=c,a=l,o=c;break;case U.BOTTOM:r=s,i=u,a=l,o=u;break;case U.LEFT:r=s,i=c,a=s,o=u;break;case U.RIGHT:r=l,i=c,a=l,o=u;break}e.beginPath(),e.clearRectForTexture(r,i,a-r,o-i)}function ur(e,t){t===a.HAIR?e.setLineDash([1,1]):t===a.DASH_DOT_DOT||t===a.MEDIUM_DASH_DOT_DOT?e.setLineDash([2,2,5,2,2]):t===a.DASH_DOT||t===a.MEDIUM_DASH_DOT||t===a.SLANT_DASH_DOT?e.setLineDash([2,5,2]):t===a.DOTTED?e.setLineDash([2]):t===a.DASHED||t===a.MEDIUM_DASHED?e.setLineDash([3]):e.setLineDash([0])}function dr(){let e=fr(1);return e-Math.floor(e)}function fr(e){return Math.ceil(e/ir()*100)/100}function pr(e){let t=1;return e===a.MEDIUM||e===a.MEDIUM_DASH_DOT||e===a.MEDIUM_DASHED||e===a.MEDIUM_DASH_DOT_DOT?t=2:e===a.THICK&&(t=3),t}function mr(e,t,n,r,i=Y.create(0,0)){let a=e.add(t).rotateByPoint(r),o=a.subtract(t),s=r-n;return o.rotateByPoint(s,a).add(i).transformCoordinateOnRotate(s)}function hr(e){return e>0?gt.DOWN:gt.UP}function gr(e,t,n){let r=[],i=0,a=0,o=0,s=0,c=0,l=hr(n),u=e.length;n=Math.abs(n);let d=Math.tan(n),f=Math.sin(n),p=Math.cos(n);if(l===gt.UP){let n=0;for(let i=0;i<u;i++){let{lineHeight:s=0}=e[i];n+=i===0?0:s;let l=t*f+s*p;r.push(n/d),l>a&&(a=l),i===0&&(o+=s*f,c+=s*p)}o+=n/f+t*p,c-=a}else{var m;let n=0,c=-1,l=[];for(let r=u-1;r>=0;r--){let{lineHeight:i=0}=e[r],s=i/d,m=(t+s)*f;l.unshift(i/d),m>a&&(a=m,n=s,c=r),r===0?o+=i*f:r===u-1?o+=t*p+i/f:o+=i/f}let h=((m=e[c])==null?void 0:m.lineHeight)||0,g=0;for(let t=c+1;t<=u-1;t++){let{lineHeight:n=0}=e[t];h+=n,g+=l[t]||0,r[t]=-g}g=0;for(let t=c-1;t>=0;t--){let{lineHeight:n=0}=e[t];g+=l[t+1]||0,r[t]=g,i+=n}r[c]=0,u===1&&(o+=t*p),s=h/f-n*p}return{rotateTranslateXList:r,rotatedHeight:a,rotatedWidth:o,fixOffsetX:s,fixOffsetY:c,rotateTranslateY:i}}function _r(){let e=.5-dr();return{left:e,top:e}}function vr(e,t,n,r){let i=Pt(t),a=n.clone().rotateByPoint(i,e),o=r.clone().rotateByPoint(i,e),s=a.clone();return s.rotateByPoint(Pt(-t),o),s}function yr(e,t,n){let r=2**53-1,i=2**53-1,a=-(2**53-1),o=-(2**53-1);n.forEach(e=>{let{left:t=0,top:n=0,width:s=0,height:c=0}=e;r=Math.min(r,t),i=Math.min(i,n),a=Math.max(a,t+s),o=Math.max(o,n+c)});let s=a-r,c=o-i;return{left:r+e,top:i+t,width:s,height:c,angle:0,scaleX:1,scaleY:1}}function br(e,t,n){let r=2**53-1,i=2**53-1,a=-(2**53-1),o=-(2**53-1);n.forEach(e=>{let{left:t=0,top:n=0,width:s=0,height:c=0}=e;r=Math.min(r,t),i=Math.min(i,n),a=Math.max(a,t+s),o=Math.max(o,n+c)});let s=a-r,c=o-i;return{left:r,top:i,width:s,height:c,angle:0,scaleX:1,scaleY:1}}function xr(e,t,n,r,i){let{left:a=0,top:o=0,width:s=0,height:c=0,angle:l=0}=e,{left:u=0,top:d=0,angle:f=0,flipX:p=!1,flipY:m=!1}=t,h=a,g=o,_=s,v=c;if(i&&i.width>0&&i.height>0){let e=Sr(i,{left:u,top:d,width:n,height:r},{left:a,top:o,width:s,height:c});h=e.left,g=e.top,_=e.width,v=e.height}let y=u+n/2,b=d+r/2,x=e.flipX||!1,S=e.flipY||!1,C=h,w=g;if(p){let e=C+_/2;C=2*y-e-_/2,x=!x}if(m){let e=w+v/2;w=2*b-e-v/2,S=!S}let T=C+_/2,E=w+v/2,D=vr(new Y(y,b),f,new Y(C,w),new Y(T,E));return{left:D.x,top:D.y,width:_,height:v,angle:f+l,flipX:x,flipY:S}}function Sr(e,t,n){if(!e)return{left:n.left,top:n.top,width:n.width,height:n.height};let{left:r,top:i,width:a,height:o}=e,{left:s,top:c,width:l,height:u}=t;return{left:s+(n.left-r)/a*l,top:c+(n.top-i)/o*u,width:n.width/a*l,height:n.height/o*u}}function Cr(e,t){let n=(t%360+360)%360,r=e.left+e.width/2,i=e.top+e.height/2,a=n>=315||n<45||n>=135&&n<225,o,s;return a?(o=e.width,s=e.height):(o=e.height,s=e.width),{left:r-o/2,top:i-s/2,width:o,height:s}}let wr=function(e){return e[e.PointerMove=0]=`PointerMove`,e[e.PointerDown=1]=`PointerDown`,e[e.PointerUp=2]=`PointerUp`,e[e.Dblclick=3]=`Dblclick`,e[e.Keyboard=4]=`Keyboard`,e}({});var Tr=class{};K(Tr,`DOM_DELTA_PIXEL`,0),K(Tr,`DOM_DELTA_LINE`,1),K(Tr,`DOM_DELTA_PAGE`,2);let Er=function(e){return e[e.Generic=0]=`Generic`,e[e.Keyboard=1]=`Keyboard`,e[e.Mouse=2]=`Mouse`,e[e.Touch=3]=`Touch`,e}({}),X=function(e){return e[e.Horizontal=0]=`Horizontal`,e[e.Vertical=1]=`Vertical`,e[e.LeftClick=2]=`LeftClick`,e[e.MiddleClick=3]=`MiddleClick`,e[e.RightClick=4]=`RightClick`,e[e.BrowserBack=5]=`BrowserBack`,e[e.BrowserForward=6]=`BrowserForward`,e[e.MouseWheelX=7]=`MouseWheelX`,e[e.MouseWheelY=8]=`MouseWheelY`,e[e.MouseWheelZ=9]=`MouseWheelZ`,e[e.DeltaHorizontal=10]=`DeltaHorizontal`,e[e.DeltaVertical=11]=`DeltaVertical`,e[e.FakeMove=12]=`FakeMove`,e}({}),Z=function(e){return e[e.translate=0]=`translate`,e[e.resize=1]=`resize`,e[e.scale=2]=`scale`,e[e.skew=3]=`skew`,e[e.flip=4]=`flip`,e[e.all=5]=`all`,e}({});const Dr=[new Y(0,0),new Y(1,1)];var Or=class{constructor(e=Dr){this._lines=e}intersection(e){if(this._lines.length<1||e.length<1)return;let t=[];for(let n=1;n<this._lines.length;n++){let r=this._lines[n-1],i=this._lines[n];for(let a=1;a<e.length;a++){let e=this._lines[n-1],a=this._lines[n],o=this._intersection({from:r,to:i},{from:e,to:a});o&&t.push(o)}}return t}_intersection(e,t){let n=e.from,r=e.to,i=t.from,a=t.to,o=(n.x-i.x)*(r.y-i.y)-(n.y-i.y)*(r.x-i.x),s=(n.x-a.x)*(r.y-a.y)-(n.y-a.y)*(r.x-a.x);if(o*s>=0)return!1;let c=(i.x-n.x)*(a.y-n.y)-(i.y-n.y)*(a.x-n.x);if(c*(c+o-s)>=0)return!1;let l=c/(s-o),u=l*(r.x-n.x),d=l*(r.y-n.y);return new Y(n.x+u,n.y+d)}};const kr=60,Ar=3600,jr=1e3,Mr=16.67;var Nr=class extends _{constructor(e=60){super(),K(this,`_enabled`,!0),K(this,`_rollingFrameTime`,void 0),K(this,`_lastFrameTimeMs`,void 0),K(this,`_frameCountInLastSecond`,0),K(this,`_lastSecondTimeMs`,void 0),K(this,`_recFPSValueLastSecond`,60),this._rollingFrameTime=new Pr(e)}dispose(){super.dispose()}get averageFrameTime(){return this._rollingFrameTime.averageFrameTime}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return this._recFPSValueLastSecond}get instantaneousFPS(){let e=this._rollingFrameTime.history(0);return e===0?0:jr/e}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(e=this.now()){if(this._enabled){if(this._frameCountInLastSecond++,this._lastSecondTimeMs!=null){if(this._lastSecondTimeMs<=e-jr){let t=e-this._lastSecondTimeMs;this._recFPSValueLastSecond=Math.round(this._frameCountInLastSecond/t*jr),this._lastSecondTimeMs=e,this._frameCountInLastSecond=0}}else this._lastSecondTimeMs=e;if(this._lastFrameTimeMs!=null){let t=e-this._lastFrameTimeMs;this._rollingFrameTime.addFrameTime(t),this._rollingFrameTime.calcAverageFrameTime()}}}endFrame(e){this.sampleFrame(e),this._lastFrameTimeMs=e}now(){return performance&&performance.now?performance.now():Date.now()}enable(){this._enabled=!0}disable(){this._enabled=!1,this._lastFrameTimeMs=null}reset(){this._lastFrameTimeMs=null,this._rollingFrameTime.reset()}},Pr=class{constructor(e){K(this,`averageFrameTime`,Mr),K(this,`variance`,0),K(this,`_samples`,[]),K(this,`_sampleCount`,0),K(this,`_pos`,0),K(this,`_m2`,0),this._samples=Array(e),this.reset()}calcAverageFrameTime(){let e=this.history(0),t;if(this.isSaturated()){let e=this._samples[this._pos];t=e-this.averageFrameTime,this._m2-=t*(e-this.averageFrameTime)}else this._sampleCount++;let n=Math.min(...this._samples),r=Math.min(...this._samples),i=this._samples.filter(e=>e!==r&&e!==n);this.averageFrameTime=i.reduce((e,t)=>e+t,0)/i.length,t=e-this.averageFrameTime,this._m2+=t*(e-this.averageFrameTime),this.variance=this._m2/(this._sampleCount-1)}addFrameTime(e){this._samples[this._pos]=e,this._pos=++this._pos%this._samples.length}history(e){if(e>=this._sampleCount||e>=this._samples.length)return 0;let t=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(t-e)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.averageFrameTime=Mr,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(e){let t=this._samples.length;return(e%t+t)%t}};const Fr={strokeWidth:1.5,stroke:`rgba(0, 0, 0, 0)`,strokeActive:`rgba(0, 0, 0, 1)`,fill:`rgba(0, 0, 0, 0.2)`};function Ir(e){let t=e.getScene().findViewportByPosToScene(Y.FromArray([e.offsetX,e.offsetY]));if(!t)return{scrollX:0,scrollY:0};let n=t.transScroll2ViewportScrollValue(t.scrollX,t.scrollY);return{scrollX:n.x,scrollY:n.y}}const Lr=90;function Rr(e){let{a:t=0,v:n=i.FALSE}=e||{a:0,v:i.FALSE},r=0,a=t;return n===i.TRUE&&(r=90,a=90),{centerAngle:r,vertexAngle:a}}const zr=[1,0,0,1,0,0];var Br=class e{constructor(e=zr){K(this,`dirty`,!1),K(this,`_m`,void 0),this._m=e&&e.slice()||zr}static create(e=zr){return new this(e)}reset(){this._m[0]=1,this._m[1]=0,this._m[2]=0,this._m[3]=1,this._m[4]=0,this._m[5]=0}copy(){return new e(this._m)}copyInto(e){e._m[0]=this._m[0],e._m[1]=this._m[1],e._m[2]=this._m[2],e._m[3]=this._m[3],e._m[4]=this._m[4],e._m[5]=this._m[5]}applyPoint(e,t=!1){let n=this._m,r=n[0]*e.x+n[2]*e.y,i=n[1]*e.x+n[3]*e.y;return t?new Y(r,i):new Y(r+n[4],i+n[5])}translate(e,t){return this._m[4]+=this._m[0]*e+this._m[2]*t,this._m[5]+=this._m[1]*e+this._m[3]*t,this}scale(e,t){return this._m[0]*=e,this._m[1]*=e,this._m[2]*=t,this._m[3]*=t,this}rotate(e){let t=Pt(e),n=Math.cos(t),r=Math.sin(t),i=this._m[0]*n+this._m[2]*r,a=this._m[1]*n+this._m[3]*r,o=this._m[0]*-r+this._m[2]*n,s=this._m[1]*-r+this._m[3]*n;return this._m[0]=i,this._m[1]=a,this._m[2]=o,this._m[3]=s,this}getTranslation(){return{x:this._m[4],y:this._m[5]}}skew(e,t){let n=this._m[0]+this._m[2]*t,r=this._m[1]+this._m[3]*t,i=this._m[2]+this._m[0]*e,a=this._m[3]+this._m[1]*e;return this._m[0]=n,this._m[1]=r,this._m[2]=i,this._m[3]=a,this}multiply(e){let t=this._m[0]*e._m[0]+this._m[2]*e._m[1],n=this._m[1]*e._m[0]+this._m[3]*e._m[1],r=this._m[0]*e._m[2]+this._m[2]*e._m[3],i=this._m[1]*e._m[2]+this._m[3]*e._m[3],a=this._m[0]*e._m[4]+this._m[2]*e._m[5]+this._m[4],o=this._m[1]*e._m[4]+this._m[3]*e._m[5]+this._m[5];return this._m[0]=t,this._m[1]=n,this._m[2]=r,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}invert(){let e=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),t=this._m[3]*e,n=-this._m[1]*e,r=-this._m[2]*e,i=this._m[0]*e,a=e*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),o=e*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=t,this._m[1]=n,this._m[2]=r,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}getMatrix(){return this._m}getMatrixByAccurate(e=3){return this._m.map(t=>Kt(t,e))}setAbsolutePosition(e){let t=this._m[0],n=this._m[1],r=this._m[2],i=this._m[3],a=this._m[4],o=this._m[5],s=(t*(e.y-o)-n*(e.x-a))/(t*i-n*r),c=(e.x-a-r*s)/t;return this.translate(c,s)}decompose(){let e=this._m[0],t=this._m[1],n=this._m[2],r=this._m[3],i=this._m[4],a=this._m[5],o=e*r-t*n,s={x:i,y:a,angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(e!==0||t!==0){let i=Math.sqrt(e*e+t*t);s.angle=t>0?Math.acos(e/i):-Math.acos(e/i),s.scaleX=i,s.scaleY=o/i,s.skewX=(e*n+t*r)/o,s.skewY=0}else if(n!==0||r!==0){let i=Math.sqrt(n*n+r*r);s.angle=Math.PI/2-(r>0?Math.acos(-n/i):-Math.acos(n/i)),s.scaleX=o/i,s.scaleY=i,s.skewX=0,s.skewY=(e*n+t*r)/o}return s.angle=Nt(s.angle),s}makeBoundingBoxFromPoints(e){if(this)for(let t=0;t<e.length;t++)e[t]=this.applyPoint(e[t]);let t=[e[0].x,e[1].x,e[2].x,e[3].x],n=Math.min(...t),r=Math.max(...t)-n,i=[e[0].y,e[1].y,e[2].y,e[3].y],a=Math.min(...i);return{left:n,top:a,width:r,height:Math.max(...i)-a,points:e}}composeMatrix(t){let n=new e([1,0,0,1,t.left||0,t.top||0]);return t.angle&&n.rotate(t.angle),(t.scaleX!==1||t.scaleY!==1||t.skewX||t.skewY||t.flipX||t.flipY)&&n.multiply(this._calcDimensionsMatrix(t)),this._m=n.getMatrix(),this}clone(){return new e([...this._m])}_calcDimensionsMatrix(t){var n,r;let i=(n=t.scaleX)==null?1:n,a=(r=t.scaleY)==null?1:r,o=new e([t.flipX?-i:i,0,0,t.flipY?-a:a,0,0]);return t.skewX&&o.multiply(new e([1,0,Math.tan(Pt(t.skewX)),1,0,0])),t.skewY&&o.multiply(new e([1,Math.tan(Pt(t.skewY)),0,1,0,0])),o}convert2DOMMatrix2D(){let e=this.getMatrix();return{a:e[0],b:e[1],c:e[2],d:e[3],e:e[4],f:e[5]}}};const Vr=[`top`,`left`,`width`,`height`,`angle`,`scaleX`,`scaleY`,`skewX`,`skewY`,`flipX`,`flipY`,`strokeWidth`];let Hr=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.RICH_TEXT=1]=`RICH_TEXT`,e[e.SHAPE=2]=`SHAPE`,e[e.IMAGE=3]=`IMAGE`,e[e.RECT=4]=`RECT`,e[e.CIRCLE=5]=`CIRCLE`,e[e.CHART=6]=`CHART`,e}({});var Ur=class extends _{constructor(e){super(),K(this,`groupKey`,void 0),K(this,`isInGroup`,!1),K(this,`isDrawingObject`,!1),K(this,`objectType`,Hr.UNKNOWN),K(this,`onTransformChange$`,new x),K(this,`onPointerDown$`,new x),K(this,`onPointerMove$`,new x),K(this,`onPointerUp$`,new x),K(this,`onPointerOut$`,new x),K(this,`onPointerOver$`,new x),K(this,`onPointerLeave$`,new x),K(this,`onPointerEnter$`,new x),K(this,`onSingleClick$`,new x),K(this,`onClick$`,new x),K(this,`onDblclick$`,new x),K(this,`onTripleClick$`,new x),K(this,`onMouseWheel$`,new x),K(this,`onDragLeave$`,new x),K(this,`onDragOver$`,new x),K(this,`onDragEnter$`,new x),K(this,`onDrop$`,new x),K(this,`onIsAddedToParent$`,new x),K(this,`onDispose$`,new x),K(this,`_oKey`,void 0),K(this,`_dirty`,!0),K(this,`_forceDirty`,!0),K(this,`_printable`,!1),K(this,`_top`,0),K(this,`_topOrigin`,0),K(this,`_left`,0),K(this,`_leftOrigin`,0),K(this,`_width`,0),K(this,`_widthOrigin`,0),K(this,`_height`,0),K(this,`_heightOrigin`,0),K(this,`_angle`,0),K(this,`_scaleX`,1),K(this,`_scaleY`,1),K(this,`_skewX`,0),K(this,`_skewY`,0),K(this,`_flipX`,!1),K(this,`_flipY`,!1),K(this,`_strokeWidth`,0),K(this,`_parent`,void 0),K(this,`_zIndex`,0),K(this,`_evented`,!0),K(this,`_visible`,!0),K(this,`_debounceParentDirty`,!0),K(this,`_transform`,new Br),K(this,`_cursor`,H.DEFAULT),K(this,`_transformerConfig`,void 0),K(this,`_forceRender`,!1),K(this,`_layer`,void 0),e?this._oKey=e:this._oKey=Lt()}get transform(){let e=this._transform.clone();return this.transformForAngle(e)}transformForAngle(e){if(this._angle!==0){let t=(this.width+this.strokeWidth)/2,n=(this.height+this.strokeWidth)/2;e.rotate(-this._angle),e.translate(t,n),e.rotate(this.angle),e.translate(-t,-n)}return e}get printable(){return this._printable}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get widthOrigin(){return this._widthOrigin}get heightOrigin(){return this._heightOrigin}get classType(){return W.BASE_OBJECT}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}get strokeWidth(){return this._strokeWidth}get angle(){return this._angle}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get ancestorScaleX(){var e;let t=((e=this.getParent())==null?void 0:e.ancestorScaleX)||1;return this.scaleX*t}get ancestorScaleY(){var e;let t=((e=this.getParent())==null?void 0:e.ancestorScaleY)||1;return this.scaleY*t}get ancestorLeft(){var e;return this.left+(((e=this.getParent())==null?void 0:e.ancestorLeft)||0)}get ancestorTop(){var e;return this.top+(((e=this.getParent())==null?void 0:e.ancestorTop)||0)}get ancestorTransform(){let e=this.getParent();return this.isInGroup&&(e==null?void 0:e.classType)===W.GROUP?e==null?void 0:e.ancestorTransform.multiply(this.transform):this.transform}get ancestorGroup(){let e=null,t=this.getParent();for(;t!=null&&t;)t.classType===W.GROUP&&(e=t),t=t.classType===W.GROUP?t.getParent():null;return e}get skewX(){return this._skewX}get skewY(){return this._skewY}get flipX(){return this._flipX}get flipY(){return this._flipY}get parent(){return this._parent}get oKey(){return this._oKey}get zIndex(){return this._zIndex}get evented(){return this._evented}get visible(){return this._visible}get debounceParentDirty(){return this._debounceParentDirty}get cursor(){return this._cursor}get layer(){return this._layer}set transform(e){this._transform=e}set zIndex(e){this._zIndex=e}set parent(e){this._parent=e}set evented(e){this._evented=e}set debounceParentDirty(e){this._debounceParentDirty=e}set cursor(e){this.setCursor(e)}set layer(e){this._layer=e}set top(e){var t;this._topOrigin=e,this._top=Ot(e,(t=this._parent)==null?void 0:t.height)}set left(e){var t;this._leftOrigin=e,this._left=Ot(e,(t=this._parent)==null?void 0:t.width)}set width(e){var t;this._widthOrigin=e,this._width=Ot(e,(t=this._parent)==null?void 0:t.width)}set height(e){var t;this._heightOrigin=e,this._height=Ot(e,(t=this._parent)==null?void 0:t.height)}set strokeWidth(e){this._strokeWidth=e}set angle(e){this._angle=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}set skewX(e){this._skewX=e}set flipY(e){this._flipY=e}set flipX(e){this._flipX=e}set skewY(e){this._skewY=e}get transformerConfig(){return this._transformerConfig}set transformerConfig(e){this._transformerConfig=e}get maxZIndex(){return this._zIndex}makeDirty(e=!0){if(this._dirty=e,e){if(this._layer==null){this._dirty=!1;return}this._layer.makeDirtyWithDebounce(e)}return this}makeForceDirty(e=!0){this._forceDirty=e}makeDirtyNoDebounce(e=!0){if(this._dirty=e,e){var t;(t=this._layer)==null||t.makeDirty(e)}return this}isDirty(){return this._dirty}translate(e,t){let n=this.top;t!==void 0&&(this.top=t);let r=this.left;return e!==void 0&&(this.left=e),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.translate,value:{top:this._top,left:this._left},preValue:{top:n,left:r}}),this}resize(e,t){let n=this.width;e!==void 0&&(this.width=e);let r=this.height;return t!==void 0&&(this.height=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.resize,value:{width:this._width,height:this._height},preValue:{width:n,height:r}}),this}scale(e,t){let n=this.scaleX;e!==void 0&&(this.scaleX=e);let r=this.scaleY;return t!==void 0&&(this.scaleY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.scale,value:{scaleX:this._scaleX,scaleY:this._scaleY},preValue:{scaleX:n,scaleY:r}}),this}skew(e,t){let n=e;e!==void 0&&(this.skewX=e);let r=t;return t!==void 0&&(this.skewY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.skew,value:{skewX:this._skewX,skewY:this._skewY},preValue:{skewX:n,skewY:r}}),this}flip(e,t){let n=e;e!==void 0&&(this.flipX=e);let r=t;return t!==void 0&&(this.flipY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.flip,value:{flipX:this._flipX,flipY:this._flipY},preValue:{flipX:n,flipY:r}}),this}transformByState(e){let t=Object.keys(e),n={};if(t.length!==0)return t.forEach(t=>{e[t]!==void 0&&(n[t]=this[t],this[t]=e[t])}),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.all,value:e,preValue:n}),this}isRender(e){return this._forceRender?!1:e&&!this.isInGroup}getParent(){return this._parent}getState(){return{left:this.left,top:this.top,width:this.width,height:this.height,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRealBound(){var e,t;let{width:n,height:r,left:i,top:a}=this,o;if(this.isInGroup&&((e=this.parent)==null?void 0:e.classType)===W.GROUP&&(t=this.parent)!=null&&t.getBaseBound&&(o=this.parent.getBaseBound()),o){let e=this.getParent(),t={top:e.top||0,left:e.left,width:e.width||0,height:e.height||0},s=Sr(o,t,{width:n,height:r,left:i,top:a});n=s.width,r=s.height,i=s.left-t.left-t.width/2,a=s.top-t.top-t.height/2}return{left:i,top:a,width:n,height:r}}hide(){this._visible=!1,this._makeDirtyMix()}show(){this._visible=!0,this._makeDirtyMix()}render(e,t){}isHit(e){let t=this.getInverseCoord(e);return t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2}triggerPointerMove(e){var t;if(!((t=this.onPointerMove$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerMove(e),!1}return!0}triggerPointerDown(e){var t;if(!((t=this.onPointerDown$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerDown(e),!1}return!0}triggerPointerUp(e){var t;if(!((t=this.onPointerUp$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerUp(e),!1}return!0}triggerSingleClick(e){var t;if(!((t=this.onSingleClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerSingleClick(e),!1}return!0}triggerClick(e){var t;if(!((t=this.onClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerClick(e),!1}return!0}triggerDblclick(e){var t;if(!((t=this.onDblclick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDblclick(e),!1}return!0}triggerTripleClick(e){var t;if(!((t=this.onTripleClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerTripleClick(e),!1}return!0}triggerMouseWheel(e){var t;if(!((t=this.onMouseWheel$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerMouseWheel(e),!1}return!0}triggerPointerOut(e){var t;if(!((t=this.onPointerOut$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerOut(e),!1}return!0}triggerPointerLeave(e){var t;if(!((t=this.onPointerLeave$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerLeave(e),!1}return!0}triggerPointerOver(e){if(!this.onPointerOver$.emitEvent(e)){var t;return(t=this._parent)==null||t.triggerPointerOver(e),!1}return!0}triggerPointerEnter(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerEnter(e),!1}return!0}triggerPointerCancel(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerCancel(e),!1}return!0}triggerDragLeave(e){var t;if(!((t=this.onDragLeave$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragLeave(e),!1}return!0}triggerDragOver(e){var t;if(!((t=this.onDragOver$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragOver(e),!1}return!0}triggerDragEnter(e){var t;if(!((t=this.onDragEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragEnter(e),!1}return!0}triggerDrop(e){var t;if(!((t=this.onDrop$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDrop(e),!1}return!0}dispose(){var e;super.dispose(),this.onTransformChange$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onMouseWheel$.complete(),this.onPointerOut$.complete(),this.onPointerLeave$.complete(),this.onPointerOver$.complete(),this.onPointerEnter$.complete(),this.onDragLeave$.complete(),this.onDragOver$.complete(),this.onDragEnter$.complete(),this.onDrop$.complete(),this.onSingleClick$.complete(),this.onClick$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onIsAddedToParent$.complete(),(e=this.parent)==null||e.removeObject(this),this.onDispose$.emitEvent(this),this._makeDirtyMix(),this.onDispose$.complete(),this._parent=null,this._layer=null,this.transform=null}toJson(){let e={};return Vr.forEach(t=>{this[t]&&(e[t]=this[t])}),e}getScene(){let e=this.parent;for(;e;){if(e.classType===W.SCENE)return e;e=e.getParent()}return null}resetCursor(){var e;(e=this.getScene())==null||e.resetCursor()}setCursor(e){var t;this._cursor=e,(t=this.getScene())==null||t.setCursor(e)}getEngine(){let e=this.getParent();for(;e!=null;){if(e.classType===W.ENGINE)return e;e=e.getParent()}return null}getObjects(){return[]}getLayerIndex(){return this._layer==null?1:this._layer.zIndex}applyTransform(){var e;(e=this.getScene())==null||e.attachTransformerTo(this)}removeTransform(){var e;(e=this.getScene())==null||e.detachTransformerFrom(this)}getInverseCoord(e){return this.ancestorTransform.invert().applyPoint(e)}_setTransForm(){this.transform=Br.create().composeMatrix({left:this.left+this.strokeWidth/2,top:this.top+this.strokeWidth/2,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}),this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}};function Wr(e){let t=e.getBoundingClientRect(),n=document.body,r=document.documentElement,i=window.pageYOffset||r.scrollTop||n.scrollTop,a=window.pageXOffset||r.scrollLeft||n.scrollLeft,o=r.clientTop||n.clientTop,s=r.clientLeft||n.clientLeft;return{top:t.top+i-o,left:t.left+a-s}}var Gr=class{constructor(e,t){K(this,`__mode`,`rendering`),K(this,`_transformCache`,void 0),K(this,`canvas`,void 0),K(this,`_context`,void 0),K(this,`_systemType`,void 0),K(this,`_browserType`,void 0),K(this,`renderConfig`,{}),K(this,`_canvasColorService`,void 0),K(this,`_id`,void 0),K(this,`_normalizedCachedFont`,void 0),this.canvas=e.canvas,this._context=e,this._canvasColorService=t==null?void 0:t.canvasColorService}getId(){return this._id}setId(e){this._id=e}isContextLost(){return this._context.isContextLost()}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(e){this._context.globalAlpha=e}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(e){this._context.globalCompositeOperation=e}get fillStyle(){return this._context.fillStyle}set fillStyle(e){this._context.fillStyle=this._canvasColorService&&typeof e==`string`?this._canvasColorService.getRenderColor(e):e}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(e){this._context.strokeStyle=this._canvasColorService&&typeof e==`string`?this._canvasColorService.getRenderColor(e):e}get filter(){return this._context.filter}set filter(e){this._context.filter=e}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(e){this._context.imageSmoothingEnabled=e}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(e){this._context.imageSmoothingQuality=e}get lineCap(){return this._context.lineCap}set lineCap(e){this._context.lineCap=e}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(e){this._context.lineDashOffset=e}get lineJoin(){return this._context.lineJoin}set lineJoin(e){this._context.lineJoin=e}get lineWidth(){return this._context.lineWidth}set lineWidth(e){this._context.lineWidth=e}setLineWidthByPrecision(e){let{scaleX:t,scaleY:n}=this._getScale();this._context.lineWidth=e/Math.max(t,n)}get miterLimit(){return this._context.miterLimit}set miterLimit(e){this._context.miterLimit=e}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(e){this._context.shadowBlur=e}get shadowColor(){return this._context.shadowColor}set shadowColor(e){this._context.shadowColor=e}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(e){this._context.shadowOffsetX=e}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(e){this._context.shadowOffsetY=e}get direction(){return this._context.direction}set direction(e){this._context.direction=e}get font(){if(this._normalizedCachedFont)return this._normalizedCachedFont;let e=this._context.font;return this._normalizedCachedFont=e,e}set font(e){this._context.font=e,this._normalizedCachedFont=``}get fontKerning(){return this._context.fontKerning}set fontKerning(e){this._context.fontKerning=e}get fontStretch(){return this._context.fontStretch}set fontStretch(e){this._context.fontStretch=e}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(e){this._context.fontVariantCaps=e}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(e){this._context.letterSpacing=e}get textRendering(){return this._context.textRendering}set textRendering(e){this._context.textRendering=e}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(e){this._context.wordSpacing=e}get textAlign(){return this._context.textAlign}set textAlign(e){this._context.textAlign=e}get textBaseline(){return this._context.textBaseline}set textBaseline(e){this._context.textBaseline=e}_getScale(){let{a:e,b:t,c:n,d:r}=this.getTransform();return{scaleX:Math.sqrt(e*e+t*t),scaleY:Math.sqrt(n*n+r*r)}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...e){return this._context.isPointInStroke(...e)}createConicGradient(e,t,n){return this._context.createConicGradient(e,t,n)}roundRect(e,t,n,r,i){this._context.roundRect(e,t,n,r,i)}roundRectByPrecision(e,t,n,r,i){let{scaleX:a,scaleY:o}=this._getScale();e=G(e,a),t=G(t,o),n=G(n,a),r=G(r,o),this.roundRect(e,t,n,r,i)}getTransform(){return this._transformCache||this._context.getTransform()}resetTransform(){this._transformCache=null,this._context.resetTransform()}drawFocusIfNeeded(...e){return this._context.drawFocusIfNeeded(...e)}reset(){this._transformCache=null,this._context.reset()}arc(e,t,n,r,i,a){this._context.arc(e,t,Math.max(0,n),r,i,a)}arcByPrecision(e,t,n,r,i,a){let{scaleX:o,scaleY:s}=this._getScale();e=G(e,o),t=G(t,s),this.arc(e,t,n,r,i,a)}arcTo(e,t,n,r,i){this._context.arcTo(e,t,n,r,i)}arcToByPrecision(e,t,n,r,i){let{scaleX:a,scaleY:o}=this._getScale();e=G(e,a),t=G(t,o),n=G(n,a),r=G(r,o),this.arcTo(e,t,n,r,i)}beginPath(){this._context.beginPath()}bezierCurveTo(e,t,n,r,i,a){this._context.bezierCurveTo(e,t,n,r,i,a)}bezierCurveToByPrecision(e,t,n,r,i,a){let{scaleX:o,scaleY:s}=this._getScale();i=G(i,o),a=G(a,s),e=G(e,o),t=G(t,s),n=G(n,o),r=G(r,s),this.bezierCurveTo(e,t,n,r,i,a)}clearRect(e,t,n,r){this._context.clearRect(e,t,n,r)}clearRectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=G(e,i),t=G(t,a),n=G(n,i),r=G(r,a),this.clearRect(e,t,n,r)}clip(...e){this._context.clip(...e)}closePath(){this._context.closePath()}getSystemType(){return this._systemType||(this._systemType=B.getSystemType()),this._systemType}getBrowserType(){return this._browserType||(this._browserType=B.getBrowserType()),this._browserType}closePathByEnv(){let e=this.getSystemType()===`Mac`,t=this.getBrowserType()===`Chrome`;e&&t||this._context.closePath()}createImageData(...e){if(e.length===0)throw Error(`arguments is zero`);return e.length===1?this._context.createImageData(e[0]):e.length===2?this._context.createImageData(e[0],e[1]):this._context.createImageData(e[0],e[1],e[1])}createLinearGradient(e,t,n,r){return this._context.createLinearGradient(e,t,n,r)}createPattern(e,t){return this._context.createPattern(e,t)}createRadialGradient(e,t,n,r,i,a){return this._context.createRadialGradient(e,t,n,r,i,a)}drawImage(...e){let t=e,n=this._context;t.length===3?n.drawImage(e[0],e[1],e[2]):t.length===5?n.drawImage(e[0],e[1],e[2],e[3],e[4]):t.length===9&&n.drawImage(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])}ellipse(e,t,n,r,i,a,o,s){this._context.ellipse(e,t,n,r,i,a,o,s)}isPointInPath(...e){return this._context.isPointInPath(...e)}fill(...e){this._context.fill(...e)}fillRect(e,t,n,r){this._context.fillRect(e,t,n,r)}fillRectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=G(e,i),t=G(t,a),n=G(n,i),r=G(r,a),this.fillRect(e,t,n,r)}strokeRect(e,t,n,r){this._context.strokeRect(e,t,n,r)}strokeRectPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=G(e,i),t=G(t,a),n=G(n,i),r=G(r,a),this.strokeRect(e,t,n,r)}fillText(e,t,n,r){r?this._context.fillText(e,t,n,r):this._context.fillText(e,t,n)}fillTextPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();t=G(t,i),n=G(n,a),r?(r=G(r,i),this._context.fillText(e,t,n,r)):this._context.fillText(e,t,n)}measureText(e){return this._context.measureText(e)}getImageData(e,t,n,r){return this._context.getImageData(e,t,n,r)}lineTo(e,t){this._context.lineTo(e,t)}lineToByPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=G(e,n),t=G(t,r),this.lineTo(e,t)}moveTo(e,t){this._context.moveTo(e,t)}moveToByPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=G(e,n),t=G(t,r),this.moveTo(e,t)}moveToByPrecisionLog(e,t){let{scaleX:n,scaleY:r}=this._getScale(),i=G(e,n),a=G(t,r);this.moveTo(i,a)}rect(e,t,n,r){this._context.rect(e,t,n,r)}rectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=G(e,i),t=G(t,a),n=G(n,i),r=G(r,a),this.rect(e,t,n,r)}putImageData(e,t,n){this._context.putImageData(e,t,n)}quadraticCurveTo(e,t,n,r){this._context.quadraticCurveTo(e,t,n,r)}restore(){this._transformCache=null,this._normalizedCachedFont=``,this._context.restore()}rotate(e){this._transformCache=null,this._context.rotate(e)}save(){this._context.save()}scale(e,t){this._transformCache=null,this._context.scale(e,t)}setLineDash(e){this._context.setLineDash?this._context.setLineDash(e):`mozDash`in this._context?this._context.mozDash=e:`webkitLineDash`in this._context&&(this._context.webkitLineDash=e)}getLineDash(){return this._context.getLineDash()}setTransform(...e){this._transformCache=null,this._normalizedCachedFont=``,this._context.setTransform(...e)}stroke(e){e?this._context.stroke(e):this._context.stroke()}strokeText(e,t,n,r){this._context.strokeText(e,t,n,r)}strokeTextByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();t=G(t,i),n=G(n,a),r&&(r=G(r,i)),this.strokeText(e,t,n,r)}transform(e,t,n,r,i,a){this._transformCache=null,this._context.transform(e,t,n,r,i,a)}translate(e,t){this._transformCache=null,this._context.translate(e,t)}translateWithPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=G(e,n),t=G(t,r),this._transformCache=null,this._context.translate(e,t)}translateWithPrecisionRatio(e,t){this._transformCache=null;let{scaleX:n,scaleY:r}=this._getScale();this._context.translate(e/n,t/r)}clearRectForTexture(e,t,n,r){this.clearRectByPrecision(e,t,n,r)}setGlobalCompositeOperation(e){this._context.globalCompositeOperation=e}},Kr=class extends Gr{},qr=class extends Gr{constructor(...e){super(...e),K(this,`__mode`,`printing`)}clearRect(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=G(e,i),t=G(t,a),n=G(n,i),r=G(r,a),this._context.save(),this._context.fillStyle=Dt([255,255,255]),this._context.fillRect(e,t,n,r),this._context.restore()}clearRectForTexture(e,t,n,r){}setGlobalCompositeOperation(e){}};let Jr=function(e){return e[e.Rendering=0]=`Rendering`,e[e.Printing=1]=`Printing`,e}({});var Yr=class{constructor(e){K(this,`isCache`,!1),K(this,`_pixelRatio`,1),K(this,`_canvasEle`,void 0),K(this,`_context`,void 0),K(this,`_width`,0),K(this,`_height`,0);let t=e||{};this._canvasEle=jt(),this._canvasEle.style.padding=`0`,this._canvasEle.style.margin=`0`,this._canvasEle.style.border=`0`,this._canvasEle.style.background=`transparent`,this._canvasEle.style.position=`absolute`,this._canvasEle.style.top=`0`,this._canvasEle.style.left=`0`,this._canvasEle.style.zIndex=`8`,this._canvasEle.dataset.uComp=`render-canvas`,this._canvasEle.tabIndex=1,this._canvasEle.style.touchAction=`none`,this._canvasEle.style.outline=`0`;let n=this._canvasEle.getContext(`2d`);if(n==null)throw Error(`context is not support`);t.mode===Jr.Printing?this._context=new qr(n):this._context=new Kr(n,{canvasColorService:t.colorService}),this.setSize(t.width,t.height,t.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setId(e){this._canvasEle.id=e}setSize(e,t,n){var r;this._pixelRatio=n||ir();let i=this.getCanvasEle();i&&e!==void 0&&(i.width=e*this._pixelRatio,this._width=i.width/this._pixelRatio,i.style.width=`${this._width}px`),i&&t!==void 0&&(i.height=t*this._pixelRatio,this._height=i.height/this._pixelRatio,i.style.height=`${this._height}px`),(r=this.getContext())==null||r.setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0)}setPixelRatio(e){this._width===0||this._height===0||(e<1&&(e=1),this.setSize(this._width,this._height,e))}dispose(){var e;this.clear(),(e=this._canvasEle)==null||e.remove(),this._canvasEle=null,this._context=null}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(e,t){try{return this.getCanvasEle().toDataURL(e,t)}catch{try{return this.getCanvasEle().toDataURL()}catch(e){let{message:t}=e;return console.error(`Unable to get data URL. ${t} For more info read https://universheet.net/docs/Canvas.html.`),``}}}},Xr=class extends Yr{constructor(e={width:0,height:0}){super(e),this.setSize(e.width,e.height)}},Zr=class extends Yr{constructor(e={width:0,height:0}){super(e),K(this,`hitCanvas`,!0),this.setSize(e.width,e.height)}},Qr=class extends Ur{constructor(...e){super(...e),K(this,`_extensions`,new Map)}get extensions(){return this._extensions}register(...e){let t=new v;for(let n of e)n.parent=this,this._extensions.set(n.uKey,n),t.add(He(()=>{this._extensions.delete(n.uKey),n.parent=null}));return this.disposeWithMe(t),t}getExtensionsByOrder(){let e=Array.from(this._extensions.values());return e.sort(Be),e}getExtensionByKey(e){return this._extensions.get(e)}draw(e,t){}dispose(){super.dispose();for(let e of this._extensions.values())e.dispose();this._extensions.clear()}},$r=class{constructor(){K(this,`uKey`,``),K(this,`type`,void 0),K(this,`Z_INDEX`,0),K(this,`parent`,void 0),K(this,`translateX`,0),K(this,`translateY`,0),K(this,`extensionOffset`,{})}get zIndex(){return this.Z_INDEX}draw(e,t,n,r,i){}clearCache(){}_getScale(e){return Cn(e)}dispose(){this.extensionOffset={},this.parent=null}};const ei=oe.create(),ti=oe.create(),ni=oe.create(),ri=oe.create();var ii=class extends Qr{constructor(e,t){super(e),this._skeleton=t}getSkeleton(){return this._skeleton}updateSkeleton(e){var t;this._skeleton=e,(t=this.getScene())==null||t.updateTransformerZero(e.rowHeaderWidth,e.columnHeaderHeight)}render(e,t){if(!this.visible)return this.makeDirty(!1),this;e.save(),this._draw(e,t),e.restore()}getParentScale(){let{scaleX:e=1,scaleY:t=1}=this.parent;return this.parent.classType===W.SCENE_VIEWER&&(e=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:t}}getScrollXYByRelativeCoords(e){return{x:0,y:0}}dispose(){super.dispose(),this._skeleton=null}},ai=class extends ii{_draw(e,t){this.draw(e,t)}},oi=class extends ai{getDocuments(){throw Error(`Method not implemented.`)}getNoMergeCellPositionByIndex(e,t){throw Error(`Method not implemented.`)}getSelectionBounding(e,t,n,r){throw Error(`Method not implemented.`)}constructor(e,t){super(e,t),K(this,`_columnHeaderLayoutExtension`,void 0),this._initialDefaultExtension(),this.makeDirty(!0)}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(e,t){let n=this.getSkeleton();if(!n)return;let r=this.getParentScale();n.updateVisibleRange(t);let i=n.rowColumnSegment;if(!i||i.startColumn===-1&&i.endColumn===-1)return;let{rowHeaderWidth:a}=n;e.translateWithPrecision(a,0);let o=this.getExtensionsByOrder();for(let t of o)t.draw(e,r,n)}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>r&&t.y>=0&&t.y<=i}_initialDefaultExtension(){ni.getData().forEach(e=>{this.register(e)}),this._columnHeaderLayoutExtension=this.getExtensionByKey(`DefaultColumnHeaderLayoutExtension`)}setCustomHeader(e,t){this.makeDirty(!0),this._columnHeaderLayoutExtension.configHeaderColumn(e,t)}};let si=function(e){return e[e.OFF=0]=`OFF`,e[e.ON=1]=`ON`,e}({}),ci=function(e){return e.VIEW_MAIN=`viewMain`,e.VIEW_MAIN_LEFT_TOP=`viewMainLeftTop`,e.VIEW_MAIN_TOP=`viewMainTop`,e.VIEW_MAIN_LEFT=`viewMainLeft`,e.VIEW_ROW_TOP=`viewRowTop`,e.VIEW_ROW_BOTTOM=`viewRowBottom`,e.VIEW_COLUMN_LEFT=`viewColumnLeft`,e.VIEW_COLUMN_RIGHT=`viewColumnRight`,e.VIEW_LEFT_TOP=`viewLeftTop`,e}({});const li=50,ui=45,di=21,fi=21,pi=20,mi=[ci.VIEW_MAIN,ci.VIEW_MAIN_LEFT_TOP,ci.VIEW_MAIN_TOP,ci.VIEW_MAIN_LEFT],hi=[ci.VIEW_ROW_TOP,ci.VIEW_ROW_BOTTOM,ci.VIEW_COLUMN_LEFT,ci.VIEW_COLUMN_RIGHT,ci.VIEW_LEFT_TOP],gi=1e4,_i=gi/10;let vi=function(e){return e[e.GRID=0]=`GRID`,e}({});const yi=`sheet-ext-`;var bi=class extends $r{constructor(...e){super(...e),K(this,`type`,vi.GRID)}isRenderDiffRangesByCell(e,t){if(t==null||t.length===0)return!0;for(let n of t){let{startRow:t,startColumn:r,endRow:i,endColumn:a}=n;if(ae.intersects(e,{startRow:t,endRow:i,startColumn:r,endColumn:a}))return!0}return!1}isRenderDiffRangesByColumn(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startColumn:n,endColumn:i}=r;if(ae.intersects({startRow:0,endRow:0,startColumn:e,endColumn:t},{startRow:0,endRow:0,startColumn:n,endColumn:i}))return!0}return!1}isRenderDiffRangesByRow(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startRow:n,endRow:i}=r;if(ae.intersects({startRow:e,endRow:t,startColumn:0,endColumn:0},{startRow:n,endRow:i,startColumn:0,endColumn:0}))return!0}return!1}isRowInRanges(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startRow:n,endRow:i}=r;if(e>=n&&e<=i||t>=n&&t<=i||ae.intersects({startRow:e,endRow:t,startColumn:0,endColumn:0},{startRow:n,endRow:i,startColumn:0,endColumn:0}))return!0}return!1}},xi=class extends bi{constructor(...e){super(...e),K(this,`uKey`,`DefaultBackgroundExtension`),K(this,`Z_INDEX`,21),K(this,`PRINTING_Z_INDEX`,21)}get zIndex(){var e;return(e=this.parent)!=null&&e.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(e,t,n,r,{viewRanges:i,checkOutOfViewBound:a}){let{stylesCache:o,worksheet:s,rowHeightAccumulation:c,columnTotalWidth:l,columnWidthAccumulation:u,rowTotalHeight:d}=n,{background:f,backgroundPositions:p}=o;if(!s||!f||!c||!u||l===void 0||d===void 0)return;e.save();let{scaleX:m,scaleY:h}=e.getScale(),g={ctx:e,backgroundPositions:p,scaleX:m,scaleY:h,checkOutOfViewBound:a,viewRanges:i,diffRanges:r,spreadsheetSkeleton:n},_=[];i.forEach(e=>{let t=n.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn);_.push(...t)});let v=t=>{let r=f[t],a=(e,t,i)=>{if(n.worksheet.getSpanModel().getMergeDataIndex(e,t)!==-1)return;let a=n.getCellByIndexWithNoHeader(e,t);a&&(i||r.getValue(e,t))&&(g.cellInfo=a,this.renderBGByCell(g,e,t))};e.fillStyle=t||Dt([255,255,255]);let o=new Path2D;g.backgroundPaths=o,e.beginPath();let s=r.getSizeOf();i.reduce((e,t)=>e+(t.endRow-t.startRow)*(t.endColumn-t.startColumn),0)<s?i.forEach(e=>{ie.foreach(e,a)}):r.forValue(a),e.fill(o),e.closePath()},y=t=>{let r=f[t];e.fillStyle=t||Dt([255,255,255]);let i=new Path2D;g.backgroundPaths=i,e.beginPath(),_.forEach(e=>{if(r.getValue(e.startRow,e.startColumn)){let t=n.getCellWithCoordByIndex(e.startRow,e.startColumn,!1);if(!t)return;g.cellInfo=t,this.renderBGByCell(g,e.startRow,e.startColumn)}}),e.fill(i),e.closePath()},b=Object.keys(f);for(let e=0;e<b.length;e++){let t=b[e];v(t),y(t)}e.restore()}renderBGByCell(e,t,n){let{spreadsheetSkeleton:r,backgroundPaths:i,scaleX:a,scaleY:o,viewRanges:s,diffRanges:c,cellInfo:l}=e,{startY:u,endY:d,startX:f,endX:p}=l,{isMerged:m,isMergedMainCell:h,mergeInfo:g}=l,_=c&&c.length>0?c:s;if(u=g.startY,d=g.endY,f=g.startX,p=g.endX,!m&&!h&&!Ln(_,t,n))return!0;if(!m&&!h){if(!r.worksheet.getRowVisible(t)||!r.worksheet.getColVisible(n))return!0}else{let e=!0;for(let t=g.startRow;t<=g.endRow;t++)if(r.worksheet.getRowVisible(t)){e=!1;break}if(e)return!0;let t=!0;for(let e=g.startColumn;e<=g.endColumn;e++)if(r.worksheet.getColVisible(e)){t=!1;break}if(t)return!0}let v=G(f,a),y=G(u,o),b=G(p,a),x=G(d,o);i.rect(v,y,b-v,x-y)}};ei.add(xi);var Si=class extends bi{constructor(...e){super(...e),K(this,`uKey`,`DefaultBorderExtension`),K(this,`Z_INDEX`,50),K(this,`preStyle`,void 0),K(this,`preColor`,void 0)}draw(e,t,n,r,{viewRanges:i}){let{stylesCache:a,overflowCache:o,worksheet:s,rowHeightAccumulation:c,columnTotalWidth:l,columnWidthAccumulation:u,rowTotalHeight:d}=n;if(!s||!c||!u||l===void 0||d===void 0)return;let{border:f}=a;if(!f)return;e.save(),e.translateWithPrecisionRatio(bt,bt);let p={ctx:e,precisionScale:this._getScale(e.getScale()),overflowCache:o,diffRanges:r,viewRanges:i,spreadsheetSkeleton:n};e.beginPath(),i.forEach(e=>{ie.foreach(e,(e,t)=>{let n=f.getValue(e,t);n&&this.renderBorderByCell(p,e,t,n)})}),e.closePath(),e.restore()}renderBorderByCell(e,t,n,r){let{ctx:i,precisionScale:o,overflowCache:s,spreadsheetSkeleton:c,diffRanges:l}=e,u=c.getCellWithCoordByIndex(t,n,!1),{startY:d,endY:f,startX:p,endX:m}=u,{isMerged:h,isMergedMainCell:g,mergeInfo:_}=u;if(!h&&(!c.worksheet.getRowVisible(t)||!c.worksheet.getColVisible(n))||!this.isRenderDiffRangesByRow(_.startRow,_.endRow,l))return!0;for(let c in r){let{type:l,style:u,color:v}=r[c];if(u===a.NONE)continue;let y=d,b=f,x=p,S=m;if(l!==U.TOP&&l!==U.BOTTOM&&l!==U.LEFT&&l!==U.RIGHT){if(h)return!0;g&&(y=_.startY,b=_.endY,x=_.startX,S=_.endX)}let C=pr(u);ur(i,u),i.setLineWidthByPrecision(C),i.strokeStyle=v||`rgb(0,0,0)`,cr(i,u,l,{startX:x,startY:y,endX:S,endY:b}),!this._getOverflowExclusion(s,l,t,n)&&(ar(i,l,(C-1)/2/o,{startX:x,startY:y,endX:S,endY:b}),u===a.DOUBLE&&(l===U.LEFT||l===U.RIGHT||l===U.TOP||l===U.BOTTOM)&&this._renderDoubleBorder({renderBorderContext:e,row:t,col:n,type:l,lineWidth:C,startX:x,startY:y,endX:S,endY:b}))}}_getOverflowExclusion(e,t,n,r){let i=!1;return t===U.TOP||t===U.BOTTOM||e==null||e.forRow((a,o)=>{if(a!==n)return!0;o.forEach(n=>{let{startColumn:o,endColumn:s}=e.getValue(a,n);if(t===U.LEFT&&r>o&&r<=s||t===U.RIGHT&&r>=o&&r<s)return i=!0,!1})}),i}_renderDoubleBorder({renderBorderContext:e,row:t,col:n,type:r,lineWidth:i,startX:o,startY:s,endX:c,endY:l}){let{ctx:u,precisionScale:d,spreadsheetSkeleton:f}=e,p=f.stylesCache.border,m=(i-1)/2/d,h=i/2,g=e=>{u.save(),u.lineCap=`round`,u.globalCompositeOperation=`destination-out`,ar(u,r,m,e),u.restore()},_=e=>{let{startXOffset:t,startYOffset:n,endXOffset:i,endYOffset:a}=e;ar(u,r,m,{startX:o-t,startY:s-n,endX:c+i,endY:l+a})},v=e=>{let{startXOffset:t,startYOffset:n,endXOffset:i,endYOffset:a}=e;ar(u,r,m,{startX:o+t,startY:s+n,endX:c-i,endY:l-a})},y=this._getSpecificCellBorder(p,t,n-1),b=this._getSpecificCellBorder(p,t,n+1),x=this._getSpecificCellBorder(p,t-1,n),S=this._getSpecificCellBorder(p,t+1,n),C={startX:o,startY:s,endX:c,endY:l},w={startXOffset:h,startYOffset:h,endXOffset:h,endYOffset:h},T={startXOffset:h,startYOffset:h,endXOffset:h,endYOffset:h};if(r===U.LEFT||r===U.RIGHT){if(x.bottom&&x.bottom.style!==a.DOUBLE)T.startYOffset=0,w.startYOffset=0;else{var E,D,O,k;let e=this._getSpecificCellBorder(p,t-1,n-1),i=this._getSpecificCellBorder(p,t-1,n+1);r===U.LEFT&&(((E=y.top)==null?void 0:E.style)===a.DOUBLE||((D=e.bottom)==null?void 0:D.style)===a.DOUBLE)||r===U.RIGHT&&(((O=b.top)==null?void 0:O.style)===a.DOUBLE||((k=i.bottom)==null?void 0:k.style)===a.DOUBLE)?T.startYOffset=-h:r===U.LEFT&&e.bottom&&e.bottom.style!==a.DOUBLE||r===U.RIGHT&&i.bottom&&i.bottom.style!==a.DOUBLE?T.startYOffset=0:T.startYOffset=h,w.startYOffset=h}if(S.top&&S.top.style!==a.DOUBLE)T.endYOffset=0,w.endYOffset=0;else{var A,ee,j,M;let e=this._getSpecificCellBorder(p,t+1,n-1),i=this._getSpecificCellBorder(p,t+1,n+1);r===U.LEFT&&(((A=y.bottom)==null?void 0:A.style)===a.DOUBLE||((ee=e.top)==null?void 0:ee.style)===a.DOUBLE)||r===U.RIGHT&&(((j=b.bottom)==null?void 0:j.style)===a.DOUBLE||((M=i.top)==null?void 0:M.style)===a.DOUBLE)?T.endYOffset=-h:r===U.LEFT&&e.top&&e.top.style!==a.DOUBLE||r===U.RIGHT&&i.top&&i.top.style!==a.DOUBLE?T.endYOffset=0:T.endYOffset=h,w.endYOffset=h}C.startY=s-h,C.endY=l+h,g(C),(r===U.LEFT&&!y.right||r===U.RIGHT&&!b.left)&&_(T),v(w)}else if(r===U.TOP||r===U.BOTTOM){if(y.right&&y.right.style!==a.DOUBLE)T.startXOffset=0,w.startXOffset=0;else{var te,N,P,F;let e=this._getSpecificCellBorder(p,t-1,n-1),i=this._getSpecificCellBorder(p,t+1,n-1);r===U.TOP&&(((te=x.left)==null?void 0:te.style)===a.DOUBLE||((N=e.right)==null?void 0:N.style)===a.DOUBLE)||r===U.BOTTOM&&(((P=S.left)==null?void 0:P.style)===a.DOUBLE||((F=i.right)==null?void 0:F.style)===a.DOUBLE)?T.startXOffset=-h:r===U.TOP&&e.right&&e.right.style!==a.DOUBLE||r===U.BOTTOM&&i.right&&i.right.style!==a.DOUBLE?T.startXOffset=0:T.startXOffset=h,w.startXOffset=h}if(b.left&&b.left.style!==a.DOUBLE)T.endXOffset=0,w.endXOffset=0;else{var I,ne,L,re;let e=this._getSpecificCellBorder(p,t-1,n+1),i=this._getSpecificCellBorder(p,t+1,n+1);r===U.TOP&&(((I=x.right)==null?void 0:I.style)===a.DOUBLE||((ne=e.left)==null?void 0:ne.style)===a.DOUBLE)||r===U.BOTTOM&&(((L=S.right)==null?void 0:L.style)===a.DOUBLE||((re=i.left)==null?void 0:re.style)===a.DOUBLE)?T.endXOffset=-h:r===U.TOP&&e.left&&e.left.style!==a.DOUBLE||r===U.BOTTOM&&i.left&&i.left.style!==a.DOUBLE?T.endXOffset=0:T.endXOffset=h,w.endXOffset=h}C.startX=o-h,C.endX=c+h,g(C),(r===U.TOP&&!x.bottom||r===U.BOTTOM&&!S.top)&&_(T),v(w)}}_getSpecificCellBorder(e,t,n){let r=e.getValue(t,n),i=null,a=null,o=null,s=null;return r&&(r[U.LEFT]&&Object.prototype.hasOwnProperty.call(r[U.LEFT],`type`)&&(i=r[U.LEFT]),r[U.RIGHT]&&Object.prototype.hasOwnProperty.call(r[U.RIGHT],`type`)&&(a=r[U.RIGHT]),r[U.TOP]&&Object.prototype.hasOwnProperty.call(r[U.TOP],`type`)&&(o=r[U.TOP]),r[U.BOTTOM]&&Object.prototype.hasOwnProperty.call(r[U.BOTTOM],`type`)&&(s=r[U.BOTTOM])),{left:i,right:a,top:o,bottom:s}}};ei.add(Si);const Ci={fontSize:13,fontFamily:ct,fontColor:`#000000`,backgroundColor:Dt([248,249,250]),borderColor:Dt([217,217,217]),textAlign:`center`,textBaseline:`middle`};var wi=class extends bi{constructor(e){super(),K(this,`uKey`,`DefaultColumnHeaderLayoutExtension`),K(this,`Z_INDEX`,10),K(this,`columnsCfg`,{}),K(this,`headerStyle`,{}),K(this,`columnsCfgOfWorksheet`,new Map),K(this,`headerStyleOfWorksheet`,new Map),e&&this.configHeaderColumn(e)}configHeaderColumn(e,t){if(t){var n,r;this.columnsCfgOfWorksheet.set(t,(n=e.columnsCfg)==null?{}:n),this.headerStyleOfWorksheet.set(t,(r=e.headerStyle)==null?{}:r)}else{var i,a;this.columnsCfg=(i=e.columnsCfg)==null?{}:i,this.headerStyle=(a=e.headerStyle)==null?{}:a}}getColumnsCfg(e){var t;let n=(t=this.columnsCfgOfWorksheet.get(e))==null?{}:t;return{...this.columnsCfg,...n}}getHeaderStyle(e){var t;let n=(t=this.headerStyleOfWorksheet.get(e))==null?{}:t;return{...Ci,...this.headerStyle,...n}}getCfgOfCurrentColumn(e,t,n){let r,i;e[n]?(typeof e[n]==`string`&&(e[n]={text:e[n]}),i=e[n],r={...t,...i}):r={...t,text:Pe(n)};let a=Object.keys(i||{}).length>1;return[r,a]}setStyleToCtx(e,t){t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline),t.fontColor&&(e.fillStyle=t.fontColor),t.borderColor&&(e.strokeStyle=t.borderColor),t.fontSize&&(e.font=`${t.fontSize}px ${ct}`)}draw(e,t,n){let{rowColumnSegment:r,columnHeaderHeight:i=0}=n,{startColumn:a,endColumn:o}=r;if(!n||i===0)return;let{rowHeightAccumulation:s,columnTotalWidth:c,columnWidthAccumulation:l,rowTotalHeight:u,worksheet:d}=n;if(!s||!l||c===void 0||u===void 0)return;let f=this.getColumnsCfg(d.getSheetId()),p=this.getHeaderStyle(d.getSheetId()),m=this._getScale(t);this.setStyleToCtx(e,p),e.save(),e.fillStyle=p.backgroundColor,e.fillRectByPrecision(0,0,c,i),e.restore(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(bt,bt);let h=0;for(let t=a-1;t<=o;t++){if(t<0||t>l.length-1)continue;let n=l[t];if(h===n)continue;let r={left:h,top:0,right:n,bottom:i,width:n-h,height:i},[a,o]=this.getCfgOfCurrentColumn(f,p,t);o&&a.backgroundColor&&(e.save(),e.fillStyle=a.backgroundColor,e.fillRectByPrecision(r.left,r.top,r.width,r.height),e.restore()),e.beginPath(),e.moveToByPrecision(r.right,0),e.lineToByPrecision(r.right,r.height),e.stroke();let s=(()=>{switch(a.textAlign){case`center`:return r.left+(r.right-r.left)/2;case`right`:return r.right-3;case`left`:return r.left+3;default:return r.left+(r.right-r.left)/2}})(),c=r.height/2+1;o&&(e.save(),e.beginPath(),this.setStyleToCtx(e,a),e.rectByPrecision(r.left,r.top,r.width,r.height),e.clip()),e.fillText(a.text,s,c),o&&e.restore(),h=n}let g=i-.5/m;e.beginPath(),e.moveToByPrecision(0,g),e.lineToByPrecision(c,g),e.stroke()}};ni.add(new wi);const Ti=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var Ei=class extends bi{constructor(...e){super(...e),K(this,`Z_INDEX`,55),K(this,`uKey`,`DefaultCustomExtension`)}draw(e,t,n,r){let{worksheet:i,rowColumnSegment:a}=n;if(!i)return;let o=new Set,s=i.getSheetId();ie.foreach(a,(t,a)=>{if(!i.getRowVisible(t)||!i.getColVisible(a))return;let c=n.getCellWithCoordByIndex(t,a,!1),{mergeInfo:l}=c,u=i.getCell(t,a);if(c.isMerged&&(u=i.getCell(l.startRow,l.startColumn)),!(u!=null&&u.customRender))return;if(!this.isRenderDiffRangesByRow(l.startRow,l.endRow,r))return!0;if(c.isMerged||c.isMergedMainCell){let e=Ti(l);if(o.has(e))return;o.add(e)}c.isMerged&&(c=n.getCellWithCoordByIndex(l.startRow,l.startColumn,!1));let d={data:u,style:n.getStyles().getStyleByCell(u),primaryWithCoord:c,subUnitId:s,row:t,col:a,worksheet:i,unitId:i.unitId},f=u.customRender.sort(Be);e.save(),f.forEach(t=>{t.drawWith(e,d,n,this.parent)}),e.restore()})}};ei.add(Ei);let Di=function(e){return e.Normal=`Normal`,e.Mandatory=`Mandatory`,e.Hyphen=`Hyphen`,e.Link=`Link`,e}({});var Oi=class{constructor(e,t=Di.Normal){this.position=e,this.type=t}};const ki=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]];var Ai=class{constructor(){K(this,`_rules`,new Map)}add(e,t){this._rules.set(e,t)}shouldBreak(e,t,n){for(let r of this._rules.values())if(r(e,t,n))return!0;return!1}},ji=new Uint8Array([0,8,14,0,0,0,0,0,176,232,0,0,1,181,15,74,240,237,157,11,140,93,69,25,199,231,178,187,183,123,31,187,237,46,108,193,194,22,104,41,200,242,48,128,104,16,129,152,162,64,42,10,193,42,24,121,104,2,65,177,4,9,69,41,193,104,73,35,193,84,20,104,144,152,74,140,109,80,1,149,87,12,175,68,64,162,60,42,9,136,196,70,194,35,40,132,84,222,34,40,18,255,195,153,113,103,103,231,253,58,183,244,158,228,151,57,103,158,223,124,243,205,227,204,57,231,222,141,3,132,220,0,110,5,119,129,191,129,127,128,127,130,255,130,129,65,66,58,131,254,238,56,88,0,22,129,41,240,1,240,97,135,116,71,128,163,12,225,199,130,229,224,100,112,58,88,1,86,130,11,193,197,66,188,75,192,247,193,85,224,26,176,17,220,0,174,7,183,128,59,193,239,192,67,224,81,240,56,75,251,36,115,159,3,47,129,55,192,155,128,12,17,50,12,230,129,113,176,0,44,2,83,96,95,112,16,56,20,44,101,225,203,192,9,44,156,94,127,30,124,9,124,5,124,21,156,7,46,4,23,179,240,239,130,43,192,143,216,245,79,193,117,67,85,249,55,195,189,3,220,203,242,167,242,61,0,247,17,176,25,252,21,60,11,30,27,168,174,183,128,87,216,245,91,112,27,205,42,77,11,238,24,152,0,147,205,42,124,11,139,191,164,89,185,123,179,184,156,3,154,211,28,194,56,2,124,140,33,198,53,113,12,226,30,47,197,63,11,229,157,228,145,135,11,95,20,242,251,50,206,87,128,149,224,34,176,166,57,93,223,181,56,95,7,214,75,229,111,196,245,213,194,245,181,184,254,21,248,141,144,150,114,23,75,119,159,224,191,137,234,20,60,209,172,236,158,242,44,206,159,3,47,130,55,192,59,160,57,7,233,160,251,209,57,85,30,19,112,39,193,30,115,166,203,221,23,231,7,206,209,215,243,35,8,59,220,16,238,194,39,144,254,83,224,179,224,20,112,6,56,27,156,15,190,9,86,131,75,193,229,96,29,88,15,54,176,50,175,99,238,205,112,239,0,247,130,7,193,163,96,51,11,123,6,238,243,224,37,141,156,175,9,254,111,225,188,49,60,147,237,132,243,54,24,5,243,193,66,176,4,236,7,14,6,135,129,143,131,99,193,114,112,50,56,29,172,0,43,135,171,252,47,128,251,109,240,29,118,253,61,184,235,134,253,117,182,158,165,217,0,247,58,143,244,55,7,148,117,187,148,230,30,225,250,90,102,99,15,192,239,17,176,121,184,234,207,207,12,251,241,2,120,21,252,155,234,187,5,61,131,241,86,117,190,160,101,78,187,72,8,159,178,196,237,211,167,79,58,248,56,80,183,28,125,250,244,233,211,167,79,159,62,125,182,46,246,239,209,251,182,131,91,51,247,67,180,251,32,173,106,47,143,158,31,129,243,95,10,97,71,181,236,233,63,141,56,159,99,241,78,129,251,49,184,147,224,12,156,159,205,242,62,31,238,69,96,13,88,11,126,0,174,6,63,105,85,251,56,63,135,123,99,107,230,254,16,229,54,248,253,204,80,246,221,8,191,31,60,0,30,4,15,129,77,224,143,224,225,126,88,63,172,31,214,15,235,135,37,15,251,51,120,2,60,213,170,246,76,235,228,249,86,189,212,93,255,62,125,122,153,216,117,236,203,232,99,111,130,183,91,225,207,233,72,91,237,63,12,255,121,96,39,176,43,216,75,138,183,15,174,15,2,135,130,165,96,25,56,174,93,201,117,34,220,211,218,245,143,63,59,204,173,184,18,252,9,116,231,233,57,26,92,2,238,84,132,189,45,93,127,112,140,144,243,192,45,96,203,88,229,183,219,56,33,95,0,87,130,95,131,151,193,211,173,74,119,167,130,107,192,147,84,135,29,66,14,0,4,247,31,159,233,84,215,34,23,131,43,26,211,220,203,226,114,182,224,122,223,46,33,159,4,95,3,95,7,55,129,87,193,129,35,240,3,55,130,87,70,102,230,179,173,49,54,58,83,111,125,250,244,233,179,45,113,252,168,121,238,63,19,243,209,57,154,249,159,114,110,123,246,154,133,135,173,66,216,106,41,237,26,92,175,101,126,203,53,239,94,209,247,178,214,37,126,47,203,196,101,154,250,173,51,212,155,178,30,225,251,209,119,229,20,241,126,193,252,110,178,228,97,227,118,133,126,85,240,248,247,176,248,191,23,202,125,152,157,63,46,248,109,166,235,48,240,119,232,249,5,184,175,180,171,119,195,222,130,219,192,250,97,78,167,186,158,11,119,71,176,51,187,190,0,105,23,119,166,247,21,247,193,249,65,157,105,25,14,197,249,249,112,151,194,93,6,142,5,203,193,201,29,181,204,13,216,224,233,157,105,185,22,130,21,138,184,60,254,42,176,82,40,143,198,191,8,215,107,88,30,107,225,174,99,225,116,15,116,61,206,55,26,242,187,161,163,214,59,221,119,165,123,171,183,34,252,174,206,204,52,247,225,122,19,245,3,127,1,79,179,60,158,135,251,50,59,127,29,238,219,154,114,229,250,12,98,93,214,1,243,192,68,119,118,89,147,221,234,124,73,119,186,110,54,246,67,220,131,187,213,187,127,135,9,121,30,137,243,163,193,113,221,114,253,203,133,19,123,76,158,58,56,141,233,224,76,131,46,206,210,132,157,11,255,85,93,55,219,200,73,104,221,87,39,108,127,250,110,226,165,221,233,115,58,151,92,198,174,175,130,251,227,66,182,182,81,83,206,245,221,234,221,201,27,133,246,186,173,155,255,153,86,104,61,238,102,114,222,223,3,246,85,39,155,28,219,232,49,196,219,12,158,242,108,211,103,183,2,253,202,182,177,165,59,253,174,249,182,202,235,158,227,201,127,104,252,17,232,83,177,54,236,140,148,25,155,82,49,15,242,238,144,64,102,170,199,93,70,42,119,49,220,41,112,192,72,253,246,46,218,61,253,70,64,23,78,229,62,132,233,225,112,184,75,71,102,167,95,6,191,19,60,116,117,34,139,123,90,132,30,232,122,239,204,204,122,212,201,127,206,200,204,240,111,20,104,207,111,49,157,173,73,212,143,14,115,144,217,54,174,175,69,30,151,143,84,223,145,252,144,185,235,71,170,176,13,35,254,243,248,245,72,115,11,184,19,252,86,72,255,7,156,63,12,30,7,79,10,254,207,225,252,69,240,58,248,23,120,135,133,13,226,222,191,51,58,29,111,28,231,243,217,245,66,184,123,142,206,94,55,236,47,236,23,156,202,210,125,136,249,125,148,185,71,194,125,77,40,255,152,209,106,159,129,158,159,196,220,83,225,158,33,229,191,255,232,204,122,158,141,235,115,13,251,19,180,63,174,26,245,215,223,123,137,213,84,183,131,225,115,87,47,141,177,161,108,24,104,252,159,9,66,172,140,129,37,96,17,99,15,135,52,174,236,13,112,187,65,32,22,193,208,75,90,228,221,199,103,239,158,83,63,122,108,39,132,161,9,201,60,230,210,45,185,142,35,195,140,174,64,83,186,206,13,97,117,216,174,96,153,114,249,180,45,27,236,122,130,244,143,169,109,28,85,159,220,83,227,159,131,65,214,14,180,207,183,4,168,125,238,206,224,231,124,140,24,35,211,54,205,211,241,184,227,82,90,145,1,233,154,144,188,253,109,247,204,249,247,122,249,189,6,183,15,209,6,248,181,171,206,100,155,18,211,140,91,210,150,160,84,191,221,26,24,12,76,163,35,68,134,208,118,148,215,42,182,182,173,219,238,114,66,117,65,199,124,62,103,113,255,22,209,207,97,189,206,152,208,110,19,138,243,38,115,109,243,247,72,15,193,219,197,103,253,161,91,175,139,237,223,22,144,215,241,62,58,111,10,46,167,110,219,206,61,118,187,222,31,181,53,186,207,61,182,52,137,189,238,29,75,28,89,127,170,184,60,142,171,62,82,183,235,123,193,166,228,241,247,189,132,143,30,186,196,111,140,115,25,239,114,218,95,78,157,200,105,232,216,204,251,180,120,143,41,222,215,149,144,85,39,191,236,175,139,87,210,214,115,149,43,218,155,207,253,191,169,125,83,244,159,208,121,44,119,25,49,245,207,105,19,41,245,107,203,203,87,190,49,70,201,113,77,238,47,117,180,143,216,127,82,180,143,152,167,169,175,202,126,54,29,133,206,59,124,189,173,202,155,251,183,20,229,169,198,209,186,219,39,5,166,118,177,201,16,179,14,80,245,75,87,123,81,233,160,116,123,196,234,59,181,28,33,253,161,69,236,237,95,106,62,42,213,255,67,108,90,182,185,58,250,189,78,206,84,122,55,233,192,54,78,228,186,15,224,227,176,235,250,110,107,232,255,174,109,146,187,255,155,218,208,117,191,95,148,185,244,51,130,146,99,145,105,76,138,209,127,76,93,234,208,117,10,189,187,150,151,219,254,93,242,214,173,19,101,82,142,199,190,54,233,219,223,197,118,112,29,211,57,123,245,8,178,92,173,200,252,186,30,122,228,247,133,189,170,27,174,31,95,187,80,233,100,92,66,244,27,20,206,199,216,117,83,193,32,75,39,63,147,176,141,7,169,239,187,229,231,82,220,165,71,67,112,99,198,215,84,107,179,49,7,255,210,115,162,235,24,197,251,71,236,216,46,218,150,110,109,193,159,95,199,140,139,58,121,99,251,160,107,249,186,244,239,171,153,5,53,179,115,205,228,90,75,153,198,13,121,157,100,234,71,185,169,179,236,210,229,211,163,65,102,142,31,190,178,218,198,189,80,92,215,129,161,178,251,148,175,91,251,228,148,193,167,222,169,203,159,138,40,63,245,154,142,235,126,72,184,230,182,39,174,127,83,237,3,164,106,63,190,14,228,242,143,75,254,178,141,241,247,209,114,200,95,199,189,179,205,174,74,174,205,100,253,136,215,188,61,98,215,45,177,247,114,190,246,107,186,167,203,133,73,191,60,78,93,247,125,220,182,92,245,23,75,234,241,47,246,222,73,164,228,145,67,54,81,159,163,142,240,113,86,60,23,253,92,112,145,223,71,22,213,218,182,14,66,108,136,167,141,221,143,208,29,161,118,227,187,254,201,57,159,200,118,230,243,222,132,78,230,212,251,63,185,112,93,247,219,218,75,182,185,24,91,21,219,220,212,23,84,182,145,178,239,132,126,91,144,2,185,236,58,108,131,175,117,117,125,132,51,40,93,239,192,100,222,85,144,95,142,183,61,153,249,173,206,0,153,254,174,116,64,113,45,198,165,204,21,160,249,241,111,96,117,186,108,91,16,101,160,229,12,49,116,186,25,102,178,53,132,184,166,248,166,254,215,86,232,180,43,93,207,87,164,245,89,103,200,253,216,229,27,52,94,63,241,123,42,249,27,43,151,244,161,247,99,226,248,210,50,208,182,132,251,166,109,43,206,99,202,104,121,180,147,235,156,21,179,159,192,237,93,110,195,54,113,107,23,49,157,207,187,195,174,118,147,227,251,72,83,217,170,239,12,85,223,169,154,208,149,231,155,206,85,47,114,251,230,40,207,71,166,208,186,168,228,146,253,84,225,220,149,191,75,182,181,173,74,23,114,29,76,186,51,217,144,139,61,132,180,181,173,220,20,253,193,164,27,211,117,10,251,73,149,191,171,206,98,117,23,43,151,47,115,19,200,64,15,241,57,113,168,172,252,222,216,167,204,28,58,149,239,213,99,242,138,153,87,117,248,206,31,57,233,6,166,145,237,34,135,92,62,125,40,69,89,161,50,184,234,210,39,31,213,181,171,191,156,71,108,253,92,245,238,154,38,71,255,54,213,219,166,55,158,15,15,31,85,148,51,73,210,140,39,33,117,212,233,48,133,46,99,218,93,101,115,92,127,170,56,41,100,46,165,127,91,189,75,227,186,191,45,219,178,201,166,119,215,196,87,245,7,57,76,236,119,58,61,169,228,80,229,163,146,103,210,80,174,10,149,174,38,37,74,217,136,120,61,160,129,134,241,231,146,178,252,244,104,4,184,57,230,225,80,123,231,50,149,236,35,174,122,170,163,76,95,183,78,189,149,44,187,148,173,164,178,107,25,211,62,170,252,14,130,188,135,219,36,110,207,87,108,184,190,183,164,123,54,163,27,163,108,152,246,253,197,125,106,34,213,83,28,3,197,107,122,152,250,132,156,63,127,199,70,181,47,174,210,211,246,12,221,94,58,81,148,161,171,147,174,44,62,166,187,212,197,247,249,119,46,248,239,75,54,4,191,33,225,220,86,23,34,165,181,197,27,18,206,197,116,161,207,238,117,113,85,254,252,89,140,232,71,219,96,49,59,183,185,185,41,85,142,173,124,151,122,219,194,22,147,217,207,128,135,36,120,155,244,154,254,83,213,95,101,127,139,137,218,14,99,100,142,193,150,191,109,125,152,163,29,66,117,227,251,188,43,102,206,77,53,127,235,214,19,190,239,75,164,150,65,156,227,68,92,245,43,203,228,251,30,71,14,125,234,100,240,177,15,215,103,161,161,240,239,131,248,90,194,231,253,26,159,103,194,49,239,51,185,148,239,139,143,126,92,236,199,86,94,142,239,26,114,63,187,167,101,212,241,205,148,169,189,235,60,66,244,77,15,221,252,97,122,167,116,74,227,239,75,157,223,223,77,101,212,171,171,45,139,58,158,32,246,123,46,57,239,16,157,135,126,199,228,58,110,248,212,223,119,140,146,243,142,29,175,119,4,59,21,164,116,121,190,123,32,41,191,237,148,243,174,227,251,78,89,134,247,215,76,206,181,82,87,211,166,244,183,141,39,136,223,239,32,231,254,141,229,210,240,61,151,210,229,202,235,227,216,117,225,48,153,222,43,226,191,37,45,239,179,209,247,96,114,173,79,85,243,9,47,215,213,149,211,153,230,170,134,224,82,249,249,94,129,248,188,200,86,142,13,254,222,170,234,158,185,14,91,229,101,207,103,46,175,167,44,171,74,135,13,201,245,217,99,144,247,25,154,158,121,196,66,2,101,207,85,62,215,109,67,58,231,122,74,181,167,84,130,148,123,108,190,136,253,137,218,110,75,10,231,239,166,218,250,155,235,26,70,28,175,118,35,213,190,92,29,253,217,182,222,239,133,177,134,207,73,41,101,240,93,115,202,109,87,151,30,100,157,184,220,207,213,37,31,183,165,58,202,157,146,202,143,89,79,228,182,55,151,103,152,174,182,224,210,246,186,114,76,107,178,18,246,228,170,19,91,63,176,201,95,234,247,40,196,113,126,76,145,62,102,12,138,197,197,190,75,247,145,28,121,166,236,167,42,221,213,113,152,246,73,117,123,161,185,214,162,174,242,202,178,211,195,69,215,252,55,251,82,218,149,139,29,119,200,236,113,199,117,191,144,143,49,165,214,43,57,199,179,208,57,211,71,46,213,248,94,215,24,192,203,20,191,151,118,25,15,228,124,228,247,143,84,118,198,207,125,126,95,96,92,202,63,100,125,229,219,150,186,247,181,38,164,60,235,154,203,92,234,108,122,14,94,114,124,201,209,127,85,101,212,113,136,178,168,108,222,7,158,223,148,116,174,170,187,202,159,191,31,40,30,49,242,184,180,163,107,251,152,214,56,170,177,208,119,28,229,54,45,143,51,186,50,93,230,178,88,251,228,191,159,202,223,195,145,127,131,215,118,15,20,114,63,32,150,47,199,245,105,191,216,250,203,191,93,236,66,233,241,49,102,190,183,233,52,86,127,177,196,254,14,156,239,243,123,209,54,67,127,115,174,174,246,143,89,243,233,214,107,177,71,204,28,66,132,115,121,61,227,242,110,28,37,100,15,57,70,255,169,219,132,183,203,184,144,87,9,187,19,235,31,99,63,41,177,149,45,251,169,214,219,99,158,186,244,109,191,82,54,33,207,161,226,252,227,211,63,114,216,187,13,83,249,117,204,177,114,253,67,222,195,245,157,111,82,233,143,191,187,154,186,109,98,237,211,5,23,125,218,250,123,170,246,136,237,15,49,99,187,73,254,84,135,234,158,206,197,182,197,249,120,130,148,63,196,242,67,246,71,93,143,148,227,71,105,218,100,246,111,232,229,28,163,117,196,62,47,228,121,132,142,189,37,244,47,30,13,1,57,158,236,199,227,19,77,252,220,50,235,228,244,205,103,208,0,47,71,229,199,93,211,26,41,247,92,18,99,31,169,218,45,116,62,10,221,47,54,245,53,221,252,234,211,231,98,229,240,89,227,170,224,97,169,215,103,37,198,146,216,54,85,205,213,177,253,40,197,189,141,136,252,13,170,238,127,150,108,235,143,94,155,143,93,203,143,217,123,168,123,61,34,203,31,35,71,236,119,179,169,72,209,94,185,222,93,44,49,230,152,198,96,219,115,159,82,253,205,54,246,228,30,223,82,143,129,190,117,46,217,246,190,243,98,110,114,181,173,74,175,185,230,65,159,54,20,227,170,158,141,197,140,185,41,116,22,59,255,196,150,149,218,206,83,146,66,63,177,117,9,181,83,223,126,159,123,158,74,161,203,16,185,100,157,197,236,23,250,252,6,123,142,242,83,180,75,234,249,223,102,159,114,250,208,250,243,163,14,27,18,105,91,174,125,9,249,13,65,113,125,153,250,119,9,83,231,215,205,32,111,142,117,250,46,133,80,149,61,169,241,79,129,170,13,74,150,161,243,23,127,75,84,165,7,85,120,105,22,42,144,229,83,201,107,35,133,108,62,229,249,200,163,146,79,142,235,90,151,73,67,158,62,182,165,114,117,101,233,210,134,246,1,211,216,29,219,134,174,115,68,206,188,115,213,205,102,183,46,237,23,154,191,107,153,41,40,173,199,144,114,76,125,189,212,239,58,139,191,117,106,250,31,175,212,54,225,59,238,250,150,153,218,174,82,235,61,119,249,169,229,79,37,95,174,254,26,91,63,221,122,199,197,126,125,214,18,62,246,238,179,70,40,185,46,203,85,134,106,45,19,83,158,105,125,20,179,38,172,99,13,28,187,126,141,189,55,143,221,31,41,165,39,215,122,255,15]);const Mi=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,Ni=(e,t,n)=>{let r=e[t];e[t]=e[n],e[n]=r},Pi=e=>{let t=e.length;for(let n=0;n<t;n+=4)Ni(e,n,n+3),Ni(e,n+1,n+2)},Fi=e=>{Mi&&Pi(e)};var Ii=class{constructor(){K(this,`table`,new Uint16Array(16)),K(this,`trans`,new Uint16Array(288))}},Li=class{constructor(e,t){K(this,`source`,void 0),K(this,`dest`,void 0),K(this,`sourceIndex`,void 0),K(this,`tag`,void 0),K(this,`bitcount`,void 0),K(this,`destLen`,void 0),K(this,`ltree`,void 0),K(this,`dtree`,void 0),this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new Ii,this.dtree=new Ii}};const Ri=new Ii,zi=new Ii,Bi=new Uint8Array(30),Vi=new Uint16Array(30),Hi=new Uint8Array(30),Ui=new Uint16Array(30),Wi=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Gi=new Ii,Ki=new Uint8Array(320);function qi(e,t,n,r){let i,a;for(i=0;i<n;++i)e[i]=0;for(i=0;i<30-n;++i)e[i+n]=i/n|0;for(a=r,i=0;i<30;++i)t[i]=a,a+=1<<e[i]}function Ji(e,t){let n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}const Yi=new Uint16Array(16);function Xi(e,t,n,r){let i,a;for(i=0;i<16;++i)e.table[i]=0;for(i=0;i<r;++i)e.table[t[n+i]]++;for(e.table[0]=0,a=0,i=0;i<16;++i)Yi[i]=a,a+=e.table[i];for(i=0;i<r;++i)t[n+i]&&(e.trans[Yi[t[n+i]]++]=i)}function Zi(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);let t=e.tag&1;return e.tag>>>=1,t}function Qi(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;let r=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function $i(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;let n=0,r=0,i=0,a=e.tag;do r=2*r+(a&1),a>>>=1,++i,n+=t.table[i],r-=t.table[i];while(r>=0);return e.tag=a,e.bitcount-=i,t.trans[n+r]}function ea(e,t,n){let r,i,a,o=Qi(e,5,257),s=Qi(e,5,1),c=Qi(e,4,4);for(r=0;r<19;++r)Ki[r]=0;for(r=0;r<c;++r){let t=Qi(e,3,0);Ki[Wi[r]]=t}for(Xi(Gi,Ki,0,19),i=0;i<o+s;){let t=$i(e,Gi);switch(t){case 16:{let t=Ki[i-1];for(a=Qi(e,2,3);a;--a)Ki[i++]=t;break}case 17:for(a=Qi(e,3,3);a;--a)Ki[i++]=0;break;case 18:for(a=Qi(e,7,11);a;--a)Ki[i++]=0;break;default:Ki[i++]=t;break}}Xi(t,Ki,0,o),Xi(n,Ki,o,s)}function ta(e,t,n){for(;;){let r=$i(e,t);if(r===256)return 0;if(r<256)e.dest[e.destLen++]=r;else{let t;r-=257;let i=Qi(e,Bi[r],Vi[r]),a=$i(e,n),o=e.destLen-Qi(e,Hi[a],Ui[a]);for(t=o;t<o+i;++t)e.dest[e.destLen++]=e.dest[t]}}}function na(e){let t,n,r;for(;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],n=e.source[e.sourceIndex+3],n=256*n+e.source[e.sourceIndex+2],t!==(~n&65535))return-3;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}function ra(e,t){let n=new Li(e,t),r,i,a;do{switch(r=Zi(n),i=Qi(n,2,0),i){case 0:a=na(n);break;case 1:a=ta(n,Ri,zi);break;case 2:ea(n,n.ltree,n.dtree),a=ta(n,n.ltree,n.dtree);break;default:a=-3}if(a!==0)throw Error(`Data error`)}while(!r);return n.destLen<n.dest.length?typeof n.dest.slice==`function`?n.dest.slice(0,n.destLen):n.dest.subarray(0,n.destLen):n.dest}Ji(Ri,zi),qi(Bi,Vi,4,3),qi(Hi,Ui,2,1),Bi[28]=0,Vi[28]=258;const ia=2048;ia+32+32;const aa=new class{constructor(e){K(this,`highStart`,void 0),K(this,`errorValue`,void 0),K(this,`data`,void 0);let t=typeof e.readUInt32BE==`function`&&typeof e.slice==`function`;if(t||e instanceof Uint8Array){let n;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),n=e.readUInt32LE(8),e=e.slice(12);else{let t=new DataView(e.buffer);this.highStart=t.getUint32(0,!0),this.errorValue=t.getUint32(4,!0),n=t.getUint32(8,!0),e=e.subarray(12)}e=ra(e,new Uint8Array(n)),e=ra(e,new Uint8Array(n)),Fi(e),this.data=new Uint32Array(e.buffer)}else ({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(e&31),this.data[t]):e<=65535?(t=(this.data[ia+(e-55296>>5)]<<2)+(e&31),this.data[t]):e<this.highStart?(t=this.data[2080+(e>>11)],t=this.data[t+(e>>5&63)],t=(t<<2)+(e&31),this.data[t]):this.data[this.data.length-4]}}(ji);function oa(e){switch(e){case 33:return 12;case 39:case 40:case 42:return 12;case 35:return 5;default:return e}}function sa(e){switch(e){case 37:case 38:return 34;case 41:return 22;default:return e}}var ca=class{constructor(e){this.content=e,K(this,`_pos`,0),K(this,`_lastPos`,0),K(this,`_curClass`,null),K(this,`_codePoint`,null),K(this,`_lastCodePoint`,null),K(this,`_nextClass`,null),K(this,`_LB8a`,!1),K(this,`_LB21a`,!1),K(this,`_LB30a`,0),K(this,`_rule`,new Ai)}use(e){return e(this),this}addRule(e,t){return this._rule.add(e,t),this}nextBreakPoint(){if(this._curClass==null){let e=this._nextCharClass();this._curClass=sa(e),this._nextClass=e,this._LB8a=e===31,this._LB30a=0}for(;this._pos<this.content.length;){this._lastPos=this._pos;let e=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===34||this._curClass===36&&this._nextClass!==37)return this._curClass=sa(oa(this._nextClass)),new Oi(this._lastPos,Di.Mandatory);if(this._rule.shouldBreak(this._codePoint,this._lastCodePoint,this._nextClass))return this._curClass=sa(oa(this._nextClass)),new Oi(this._lastPos);let t=this._getSimpleBreak();if(t===null&&(t=this._getPairTableBreak(e)),this._LB8a=this._nextClass===31,t)return new Oi(this._lastPos)}return this._lastPos<this.content.length?(this._lastPos=this.content.length,new Oi(this.content.length)):null}_getNextCodePoint(){let e=this.content.charCodeAt(this._pos++),t=this.content.charCodeAt(this._pos);return e>=55296&&e<=56319&&t>=56320&&t<=57343?(this._pos++,(e-55296)*1024+(t-56320)+65536):e}_nextCharClass(){let e=this._getNextCodePoint(),t=aa.get(e);return this._lastCodePoint=this._codePoint,this._codePoint=e,oa(t)}_getSimpleBreak(){switch(this._nextClass){case 41:return!1;case 34:case 37:case 38:return this._curClass=34,!1;case 36:return this._curClass=36,!1}return null}_getPairTableBreak(e){let t=!1;switch(ki[this._curClass][this._nextClass]){case 0:t=!0;break;case 1:t=e===41;break;case 2:if(t=e===41,!t)return t=!1,t;break;case 3:if(e!==41)return t;break;case 4:break}return this._LB8a&&(t=!1),this._LB21a&&(this._curClass===16||this._curClass===17)?(t=!1,this._LB21a=!1):this._LB21a=this._curClass===13,this._curClass===28?(this._LB30a++,this._LB30a===2&&this._nextClass===28&&(t=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,t}},la=class{constructor(e,t,n,r,i){this._text=e,this._fontStyle=t,this._warp=n,this._width=r,this._height=i,K(this,`_lineBreaker`,void 0),K(this,`_lines`,[]),K(this,`_dirty`,!0),K(this,`_lastBreakLength`,0),this._lineBreaker=new ca(this._text)}calculate(){if(!this._dirty)return this._lines;if(this._dirty=!1,this._lines=[],this._text.length===0){let e=q.getMeasureText(`A`,this._fontStyle);return this._lines.push({text:``,width:0,height:e.fontBoundingBoxAscent+e.fontBoundingBoxDescent,baseline:e.fontBoundingBoxAscent}),this._lines}if(!this._warp){let e=q.getMeasureText(this._text,this._fontStyle);return this._lines.push({text:this._text,width:e.width,height:e.fontBoundingBoxAscent+e.fontBoundingBoxDescent,baseline:e.fontBoundingBoxAscent}),this._lines}let e=0,t={text:``,width:0,height:0,baseline:0},n=0;for(;;){let r=this._lineBreaker.nextBreakPoint();if(!r)break;let{position:i}=r,a=this._text.slice(e,i),o=q.getMeasureText(a,this._fontStyle);if(o.width+t.width>this._width)if(o.width>this._width){if(t.text.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:``,width:0,height:0,baseline:0}}let e=a;for(;e.length>0;){let r=0,i=``,a=0,o=Math.min(this._lastBreakLength,e.length);o===0&&(o=Math.min(10,e.length));let s=e.slice(0,o),c=q.getMeasureText(s,this._fontStyle);if(c.width+t.width<=this._width){r=o;for(let n=o+1;n<=e.length&&(s=e.slice(0,n),c=q.getMeasureText(s,this._fontStyle),c.width+t.width<=this._width);n++)r=n}else{r=0;for(let n=o-1;n>=1;n--)if(s=e.slice(0,n),c=q.getMeasureText(s,this._fontStyle),c.width+t.width<=this._width){r=n;break}}if(r>0&&(this._lastBreakLength=r),r>0&&(i=e.slice(0,r),a=q.getMeasureText(i,this._fontStyle).width),r===0&&t.text.length===0&&(r=1,i=e[0],a=q.getMeasureText(i,this._fontStyle).width),r>0){t.text+=i,t.width+=a;let o=q.getMeasureText(t.text,this._fontStyle);if(t.height=o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,t.baseline=o.fontBoundingBoxAscent,e=e.slice(r),e.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:``,width:0,height:0,baseline:0}}}else break}}else if(t.text.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:a,width:o.width,height:o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,baseline:o.fontBoundingBoxAscent}}else t={text:a,width:o.width,height:o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,baseline:o.fontBoundingBoxAscent};else t.text+=a,t.width+=o.width,t.baseline=o.fontBoundingBoxAscent,t.height=o.fontBoundingBoxAscent+o.fontBoundingBoxDescent;e=i}return t.text.length>0&&this._lines.push(t),this._lines}getLines(){return this._lines}getTotalHeight(){return this._lines.reduce((e,t)=>e+t.height,0)}getTotalWidth(){return this._lines.reduce((e,t)=>Math.max(e,t.width),0)}makeDirty(){this._dirty=!0,this._lastBreakLength=0}};const ua=new Set(Vr),da=[`hoverCursor`,`moveCursor`,`fillRule`,`globalCompositeOperation`,`paintFirst`,`stroke`,`strokeScaleEnabled`,`fill`,`fillAfterStrokeEnabled`,`hitStrokeWidth`,`strokeLineJoin`,`strokeLineCap`,`shadowColor`,`shadowBlur`,`shadowOffset`,`shadowOffsetX`,`shadowOffsetY`,`shadowOpacity`,`shadowEnabled`,`shadowForStrokeEnabled`,`strokeDashArray`,`strokeDashOffset`,`strokeMiterLimit`];var fa=class extends Ur{constructor(e,t){super(e),K(this,`_hoverCursor`,void 0),K(this,`_moveCursor`,null),K(this,`_fillRule`,`nonzero`),K(this,`_globalCompositeOperation`,`source-over`),K(this,`_paintFirst`,`fill`),K(this,`_stroke`,void 0),K(this,`_strokeScaleEnabled`,!1),K(this,`_fill`,void 0),K(this,`_fillAfterStrokeEnabled`,!1),K(this,`_hitStrokeWidth`,0),K(this,`_strokeLineJoin`,`round`),K(this,`_strokeLineCap`,`round`),K(this,`_shadowColor`,void 0),K(this,`_shadowBlur`,0),K(this,`_shadowOffset`,void 0),K(this,`_shadowOffsetX`,0),K(this,`_shadowOffsetY`,0),K(this,`_shadowOpacity`,0),K(this,`_shadowEnabled`,!1),K(this,`_shadowForStrokeEnabled`,!1),K(this,`_strokeDashArray`,void 0),K(this,`_strokeDashOffset`,0),K(this,`_strokeMiterLimit`,0),K(this,`_type`,at.RECT),K(this,`objectType`,Hr.SHAPE),this._initialProps(t)}get hoverCursor(){return this._hoverCursor}get moveCursor(){return this._moveCursor}get fillRule(){return this._fillRule}get globalCompositeOperation(){return this._globalCompositeOperation}get paintFirst(){return this._paintFirst}get stroke(){return this._stroke}get strokeScaleEnabled(){return this._strokeScaleEnabled}get fill(){return this._fill}get fillAfterStrokeEnabled(){return this._fillAfterStrokeEnabled}get hitStrokeWidth(){return this._hitStrokeWidth}get strokeLineJoin(){return this._strokeLineJoin}get strokeLineCap(){return this._strokeLineCap}get shadowColor(){return this._shadowColor}get shadowBlur(){return this._shadowBlur}get shadowOffset(){return this._shadowOffset}get shadowOffsetX(){return this._shadowOffsetX}get shadowOffsetY(){return this._shadowOffsetY}get shadowOpacity(){return this._shadowOpacity}get shadowEnabled(){return this._shadowEnabled}get shadowForStrokeEnabled(){return this._shadowForStrokeEnabled}get strokeDashArray(){return this._strokeDashArray}get strokeDashOffset(){return this._strokeDashOffset}get strokeMiterLimit(){return this._strokeMiterLimit}static drawWith(e,t){}static _renderPaintInOrder(e,t){t.paintFirst===`stroke`?(this._renderStroke(e,t),this._renderFill(e,t)):(this._renderFill(e,t),this._renderStroke(e,t))}static _renderFill(e,t){t.fill&&(e.save(),this._setFillStyles(e,t),t.fillRule===`evenodd`?e.fill(`evenodd`):e.fill(),e.restore())}static _renderStroke(e,t){let{stroke:n,strokeWidth:r,strokeScaleEnabled:i}=t;!n||r===0||(e.save(),this._setStrokeStyles(e,t),e.stroke(),e.restore())}static _removeShadow(e){}static _setFillStyles(e,t){e.fillStyle=t.fill}static _setStrokeStyles(e,t){let{strokeWidth:n,strokeLineCap:r,strokeDashOffset:i,strokeLineJoin:a,strokeMiterLimit:o,stroke:s}=t;e.lineWidth=n,e.lineCap=r,e.lineDashOffset=i,e.lineJoin=a,e.miterLimit=o,e.strokeStyle=s}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(t)){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth+this.left<n||i<this.left||this.height+this.strokeWidth+this.top<e||r<this.top)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e,t),e.restore(),this.makeDirty(!1),this}setProps(e){if(!e)return this;let t=Object.keys(e);return t.length===0?this:(t.forEach(t=>{if(e[t]===void 0)return!0;ua.has(t)||(this[`_${t}`]=e[t])}),this.makeDirty(!0),this)}getPropByKey(e){return this[`_${String(e)}`]}toJson(){let e={};return da.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(e,t){}_initialProps(e){if(!e)return;let t=Object.keys(e);if(t.length===0)return;let n={},r=!1,i=(e==null?void 0:e.rotateEnabled)!==void 0,a=(e==null?void 0:e.resizeEnabled)!==void 0,o=(e==null?void 0:e.borderEnabled)!==void 0;if(i||a||o){let t=this.transformerConfig||{};i&&(t.rotateEnabled=e==null?void 0:e.rotateEnabled),a&&(t.resizeEnabled=e==null?void 0:e.resizeEnabled),o&&(t.borderEnabled=e==null?void 0:e.borderEnabled),this.transformerConfig={...t}}t.forEach(t=>{if(e[t]===void 0)return!0;ua.has(t)?(n[t]=e[t],r=!0):this[`_${t}`]=e[t]}),r&&this.transformByState(n),this.makeDirty(!0)}};const pa=[`text`,`fontStyle`,`warp`,`hAlign`,`vAlign`,`width`,`height`,`color`];var ma=class e extends fa{constructor(e,t){var n,r,i;super(e,t),K(this,`text`,void 0),K(this,`fontStyle`,void 0),K(this,`warp`,void 0),K(this,`hAlign`,void 0),K(this,`vAlign`,void 0),K(this,`skeleton`,void 0),this.width=t.width,this.height=t.height,this.text=t.text,this.fontStyle=t.fontStyle,this.warp=(n=t.warp)==null?!1:n,this.hAlign=(r=t.hAlign)==null?w.LEFT:r,this.vAlign=(i=t.vAlign)==null?ge.TOP:i,this.skeleton=new la(t.text,t.fontStyle,!!t.warp,t.width,t.height)}static drawWith(e,t,n){var r;let{text:i,fontStyle:a,warp:o,hAlign:s,vAlign:l,width:u,height:d,left:f=0,top:p=0,cellValueType:m}=t,h=n==null?new la(i,a,!!o,u,l===ge.TOP?d:1/0):n,g=h.calculate(),_=h.getTotalHeight(),v=p+(l===ge.TOP?0:l===ge.MIDDLE?(d-_)/2:d-_);e.save(),e.font=a,e.fillStyle=(r=t.color)==null?ht:r;for(let n of g){let r=n.height,i=n.width,a=0;if(!(!o&&u<i&&m===c.NUMBER))switch(s){case w.CENTER:a=(u-i)/2;break;case w.RIGHT:a=u-i;break;default:a=0}let l=v+n.baseline;if(e.fillText(n.text,f+a,l),t.underline){var y;this._drawTextDecoration(e,{x:f+a,y:v+r-1,width:i,color:t.color||`#000000`,lineWidth:1,lineType:(y=t.underlineType)==null?z.SINGLE:y})}t.strokeLine&&this._drawTextDecoration(e,{x:f+a,y:v+n.baseline-r*.3,width:i,color:t.color||`#000000`,lineWidth:1,lineType:z.SINGLE}),v+=r}return e.restore(),_}static _drawTextDecoration(e,t){let{x:n,y:r,width:i,color:a,lineWidth:o,lineType:s}=t,c=this._isDouble(s)?r-.8:r;e.save(),e.strokeStyle=a,this._setLineType(e,s,o),e.beginPath(),e.moveTo(n,c),this._drawLine(e,n,c,i,s),this._isDouble(s)&&(e.moveTo(n,c+2),this._drawLine(e,n,c+2,i,s)),e.stroke(),e.restore()}static _drawLine(e,t,n,r,i){if(this._isWave(i))for(let t=1;t<r+1;t++)e.lineTo(t,n+.8*Math.sin(t*1));else e.lineTo(t+r,n)}static _setLineType(e,t,n){switch(t){case z.SINGLE:case z.DOUBLE:e.lineWidth=1,e.setLineDash([0]);return;case z.DOTTED:e.lineWidth=1,e.setLineDash([2]);return;case z.DOTTED_HEAVY:e.lineWidth=2,e.setLineDash([2]);return;case z.DASH:e.lineWidth=1,e.setLineDash([3]);return;case z.DASHED_HEAVY:e.lineWidth=2,e.setLineDash([3]);return;case z.DASH_LONG:e.lineWidth=1,e.setLineDash([6]);return;case z.DASH_LONG_HEAVY:e.lineWidth=2,e.setLineDash([6]);return;case z.DOT_DASH:e.lineWidth=1,e.setLineDash([2,5,2]);return;case z.DASH_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,5,2]);return;case z.DOT_DOT_DASH:e.lineWidth=1,e.setLineDash([2,2,5,2,2]);return;case z.DASH_DOT_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,2,5,2,2]);return;case z.THICK:e.lineWidth=2,e.setLineDash([0]);return;case z.WAVE:case z.WAVY_DOUBLE:e.lineWidth=1;return;case z.WAVY_HEAVY:e.lineWidth=2;return;default:e.setLineDash([0]),e.lineWidth=n}}static _isWave(e){return e===z.WAVE||e===z.WAVY_HEAVY||e===z.WAVY_DOUBLE}static _isDouble(e){return e===z.DOUBLE||e===z.WAVY_DOUBLE}_draw(t){this.skeleton.calculate(),e.drawWith(t,this,this.skeleton)}makeDirty(e){return super.makeDirty(e),e&&this.skeleton.makeDirty(),this}toJson(){let e={};return pa.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}},ha=class{constructor(){K(this,`_translateX`,0),K(this,`_translateY`,0),K(this,`_translateSaveList`,[])}get x(){return this._translateX}get y(){return this._translateY}reset(){this.translateBy(0,0),this._translateSaveList=[]}translateBy(e=0,t=0){this._translateX=e,this._translateY=t}translate(e=0,t=0){this._translateX+=e,this._translateY+=t}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){let e=this._translateSaveList.pop();e&&(this._translateX=e.x,this._translateY=e.y)}translatePagePadding(e){let{marginTop:t=0,marginBottom:n=0,marginLeft:r=0,marginRight:i=0}=e;this.translate(r,t)}restorePagePadding(e){let{marginTop:t=0,marginBottom:n=0,marginLeft:r=0,marginRight:i=0}=e;this.translate(-r,-t)}translatePage(e,t=Xn.VERTICAL,n=0,r=0,i=0,a=0){let{pageWidth:o,pageHeight:s}=e,c=0,l=0;return t===Xn.VERTICAL?c+=s+r:t===Xn.HORIZONTAL&&(l+=o+n),this.translate(l,c),{x:l,y:c}}translateSection(e){let{top:t=0}=e;return this.translate(0,t),{x:0,y:t}}translateColumn(e){let{left:t}=e;return this.translate(t,0),{x:t,y:0}}translateLine(e,t=!1,n=!1){let{top:r,marginBottom:i=0,marginTop:a=0,paddingTop:o=0,paddingBottom:s=0}=e,c=r+(t?a:0)+(n?o:0);return this.translate(0,c),{x:0,y:c}}translateDivide(e){let{left:t,paddingLeft:n}=e,r=t+n;return this.translate(r,0),{x:r,y:0}}translateGlyph(e){let{left:t}=e;return this.translate(t,0),{x:t,y:0}}},ga=class e{constructor(e,t){this.nodeType=e,this.content=t,K(this,`children`,[]),K(this,`parent`,void 0),K(this,`startIndex`,-1),K(this,`endIndex`,-1),K(this,`blocks`,[])}static create(t,n){return new e(t,n)}dispose(){this.children.forEach(e=>{e.dispose()}),this.parent=null,this.blocks=[]}getProps(){let{children:e,parent:t,startIndex:n,endIndex:r,nodeType:i,content:a}=this;return{children:e,parent:t,startIndex:n,endIndex:r,nodeType:i,content:a}}addBlocks(e){this.blocks=this.blocks.concat(e)}setIndexRange(e,t){this.startIndex=e,this.endIndex=t}insertText(e,t){this.content=De(this.content||``,t-this.startIndex,e)}exclude(e){let{startIndex:t,endIndex:n}=this;return e<t||e>n}plus(e){this.startIndex+=e,this.endIndex+=e,this._addIndexForBlock(e)}selfPlus(e,t){this.endIndex+=e,t==null&&(t=this.startIndex),this._addIndexForBlock(e,t)}split(t){let{children:n,parent:r,startIndex:i,nodeType:a,content:o=``}=this.getProps();if(this.exclude(t))return;let s=t-i,c=s,l=o.slice(0,s),u=e.create(a,l);u.parent=r,u.setIndexRange(0,s-1);let d=o.slice(c),f=e.create(a,d);f.parent=r,f.setIndexRange(c,c+d.length-1);let p=[],m=[];for(let e of n){let{startIndex:n}=e;if(e.exclude(t))t<n?p.push(e):m.push(e);else{let n=e.split(t);if(n==null){p.push(e);continue}let{firstNode:r,lastNode:i}=n;p.push(r),p.push(i)}}return u.children=p,f.children=m,u._resetBlocks(),f._resetBlocks(),{firstNode:u,lastNode:f}}getPositionInParent(){var e;let t=(e=this.parent)==null?void 0:e.children.indexOf(this);return t==null?-1:t}remove(){this.children=[],this.parent!=null&&(this.parent.children.splice(this.getPositionInParent(),1),this.parent=null)}minus(e,t){let n=Ee(this.startIndex,this.endIndex,e,t);if(n.length===0)return;let r=this.startIndex;this.startIndex=n[0],this.endIndex=n[1],this.content!=null&&(this.content=Se(this.content||``,e-r,t-r+1))}merge(e){let{startIndex:t,endIndex:n,children:r}=e;this.endIndex+=n-t+1,this.children.push(...r),this.content+=e.content||``,e.remove()}_addIndexForBlock(e,t=-1/0){for(let n=0,r=this.blocks.length;n<r;n++){let r=this.blocks[n];r>=t&&(this.blocks[n]=r+e)}}_resetBlocks(){if(this.nodeType===h.PARAGRAPH&&this.content!=null&&this.content.length!==0){this.blocks=[];for(let e=0,t=this.content.length;e<t;e++)this.content[e]===g.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+e)}}};let _a=function(e){return e.BODY=`BODY`,e.HEADER=`HEADER`,e.FOOTER=`FOOTER`,e}({});function va(e,t,n=h.SECTION_BREAK){if(t.length===0)throw Error("Missing `paragraphs` or `sectionBreaks` fields, or doesn't correspond to the location in `dataStream`.");for(let n of t)n.parent=e,e.children.push(n);let r=n===h.SECTION_BREAK?0:1,i=e.children;e.setIndexRange(i[0].startIndex-r,i[i.length-1].endIndex+1)}function ya(e,t){let n=``,r=e.length,i=[],a=new Map,o=[],s=[],c=[],l=[],u=[],d=[];for(let f=0;f<r;f++){let r=e[f];if(r===g.PARAGRAPH){n+=g.PARAGRAPH;let e=ga.create(h.PARAGRAPH,n),r=c[c.length-1];if(r&&r.isFinished){if(va(e,[r.table],h.PARAGRAPH),t){let e=t.find(e=>e.startIndex===r.table.startIndex&&e.endIndex===r.table.endIndex+1);e&&a.set(e.tableId,{table:r.table})}c.pop()}e.setIndexRange(f-n.length+1,f),e.addBlocks(d),d.length=0,n=``,u.length>0?s.push(e):o.push(e)}else if(r===g.SECTION_BREAK){let e=ga.create(h.SECTION_BREAK),t=u.length>0?s:o;if(t.length===0){let e=ga.create(h.PARAGRAPH,``);e.setIndexRange(f,f-1),t.push(e)}va(e,t);let n=t[t.length-1];if(n&&n.content&&(n.content+=g.SECTION_BREAK),u.length>0){let t=u[u.length-1];va(t,[e],h.TABLE_CELL)}else i.push(e);t.length=0}else if(r===g.TABLE_START){let e=ga.create(h.TABLE);c.push({table:e,isFinished:!1})}else if(r===g.TABLE_ROW_START){let e=ga.create(h.TABLE_ROW);l.push(e)}else if(r===g.TABLE_CELL_START){let e=ga.create(h.TABLE_CELL);u.push(e)}else if(r===g.TABLE_END){let e=c[c.length-1];e.isFinished=!0,n=``}else if(r===g.TABLE_ROW_END){let e=l.pop(),t=c[c.length-1];va(t.table,[e],h.TABLE)}else if(r===g.TABLE_CELL_END){let e=u.pop(),t=l[l.length-1];va(t,[e],h.TABLE_ROW)}else r===g.CUSTOM_BLOCK&&d.push(f),n+=r}return{sectionList:i,tableNodeCache:a}}var ba=class e{constructor(e){if(this._documentDataModel=e,K(this,`_interceptor`,null),K(this,`_cacheSize`,1e3),K(this,`_textRunsCache`,new Map),K(this,`_paragraphCache`,new Map),K(this,`_sectionBreakCache`,new Map),K(this,`_customBlockCache`,new Map),K(this,`_tableCache`,new Map),K(this,`_tableNodeCache`,new Map),K(this,`_children`,[]),K(this,`_editArea`,_a.BODY),K(this,`_editAreaChange$`,new We(null)),K(this,`editAreaChange$`,this._editAreaChange$.asObservable()),K(this,`_headerTreeMap`,new Map),K(this,`_footerTreeMap`,new Map),K(this,`_segmentViewModels$`,new We([])),K(this,`segmentViewModels$`,this._segmentViewModels$.asObservable()),e.getBody()==null)return;let t=e.getBody(),{sectionList:n,tableNodeCache:r}=ya(t.dataStream,t.tables);this._buildAllCache(),this._children=n,this._tableNodeCache=r,this._buildHeaderFooterViewModel()}registerCustomRangeInterceptor(e){return this._interceptor=e,He(()=>this._interceptor=null)}dispose(){this._children.forEach(e=>{e.dispose()}),this._textRunsCache.clear(),this._paragraphCache.clear(),this._sectionBreakCache.clear(),this._customBlockCache.clear(),this._tableCache.clear(),this._tableNodeCache.clear(),this._segmentViewModels$.complete(),this._editAreaChange$.complete()}getHeaderFooterTreeMap(){return{headerTreeMap:this._headerTreeMap,footerTreeMap:this._footerTreeMap}}getEditArea(){return this._editArea}setEditArea(e){e!==this._editArea&&(this._editArea=e,this._editAreaChange$.next(e))}getChildren(){return this._children}getBody(){return this._documentDataModel.getBody()}getSnapshot(){return this._documentDataModel.getSnapshot()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(e){return e==null?this:this._headerTreeMap.has(e)?this._headerTreeMap.get(e):this._footerTreeMap.has(e)?this._footerTreeMap.get(e):this}reset(e){this._documentDataModel=e;let t=e.getBody(),{sectionList:n,tableNodeCache:r}=ya(t.dataStream,t.tables);this._children=n,this._tableNodeCache=r,this._buildAllCache(),this._buildHeaderFooterViewModel()}getSectionBreak(e){return this._sectionBreakCache.get(e)}getParagraph(e){return this._paragraphCache.get(e)}getTextRun(e){let t=Math.floor(e/this._cacheSize),n=this._textRunsCache.get(t);return n==null?void 0:n.get(e%this._cacheSize)}getCustomBlock(e){return this._customBlockCache.get(e)}getCustomBlockWithoutSetCurrentIndex(e){let t=this.getBody().customBlocks;if(t!=null)for(let n=0;n<t.length;n++){let r=t[n];if(r.startIndex===e)return r}}getTableByStartIndex(e){return this._tableCache.get(e)}findTableNodeById(e){var t;return(t=this._tableNodeCache.get(e))==null?void 0:t.table}getCustomRangeRaw(e){let t=this.getBody().customRanges;if(t!=null)for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e>=r.startIndex&&e<=r.endIndex)return r}}getCustomRange(e){return this._interceptor?this._interceptor.getCustomRange(e):this.getCustomRangeRaw(e)}getCustomDecorationRaw(e){let t=this.getBody().customDecorations;if(t!=null)for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e>=r.startIndex&&e<=r.endIndex)return r}}getCustomDecoration(e){return this._interceptor?this._interceptor.getCustomDecoration(e):this.getCustomDecorationRaw(e)}_buildAllCache(){this._buildTextRunsCache(),this._buildParagraphCache(),this._buildSectionBreakCache(),this._buildCustomBlockCache(),this._buildTableCache()}_buildParagraphCache(){var e,t;this._paragraphCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.paragraphs)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._paragraphCache.set(t,e)}}_buildSectionBreakCache(){var e,t;this._sectionBreakCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.sectionBreaks)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._sectionBreakCache.set(t,e)}}_buildCustomBlockCache(){var e,t;this._customBlockCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.customBlocks)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._customBlockCache.set(t,e)}}_buildTableCache(){var e;this._tableCache.clear();let t=(e=this.getBody())==null?void 0:e.tables,n=this.getSnapshot().tableSource;if(!(t==null||n==null))for(let e of t){let{startIndex:t,tableId:r}=e,i=n[r];i!=null&&this._tableCache.set(t,{table:e,tableSource:i})}}_buildTextRunsCache(){var e,t;let n=(e=(t=this.getBody())==null?void 0:t.textRuns)==null?[]:e;this._textRunsCache.clear();for(let e of n){let{st:t,ed:n}=e;for(let r=t;r<n;r++){let t=Math.floor(r/this._cacheSize);this._textRunsCache.has(t)||this._textRunsCache.set(t,new Map),this._textRunsCache.get(t).set(r%this._cacheSize,e)}}}_buildHeaderFooterViewModel(){let{headerModelMap:t,footerModelMap:n}=this._documentDataModel,r=[];for(let[n,i]of t)this._headerTreeMap.set(n,new e(i)),r.push(this._headerTreeMap.get(n));for(let[t,i]of n)this._footerTreeMap.set(t,new e(i)),r.push(this._footerTreeMap.get(t));this._segmentViewModels$.next(r)}};function xa(e){return[` `,`\xA0`,` `].includes(e)}function Sa(e){return xa(e)||Yt(e)||pn(e)||mn(e)||hn(e)}function Ca(e,t){return xa(e)?{stretchability:[0,t/2],shrinkability:[0,t/3]}:pn(e)?{stretchability:[0,0],shrinkability:[0,t/2]}:mn(e)?{stretchability:[0,0],shrinkability:[t/2,0]}:hn(e)?{stretchability:[0,0],shrinkability:[t/4,t/4]}:{stretchability:[0,0],shrinkability:[0,0]}}function wa(e,t,n){return ka(Yn.WORD,e,t,n)}function Ta(e,t,n,r){return ka(Yn.LETTER,e,t,n,r)}function Ea(e,t){return ka(Yn.TAB,g.TAB,e,t)}function Da(e){let t=ka(Yn.LETTER,`-`,e);return t.count=0,t}function Oa(e,t=0,n=0,r=``){let{fontStyle:i,textStyle:a}=e,o=g.CUSTOM_BLOCK;return{content:``,raw:o,ts:a,fontStyle:i,width:t,bBox:{width:0,ba:n,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:Ca(o,0),glyphType:Yn.PLACEHOLDER,streamType:o,count:1,drawingId:r}}function ka(e,t,n,r,a){let{fontStyle:o,textStyle:s,charSpace:c=1,gridType:l=C.LINES,snapToGrid:u=i.FALSE}=n,d=[g.SECTION_BREAK,g.TABLE_START,g.TABLE_END,g.TABLE_ROW_START,g.TABLE_ROW_END,g.TABLE_CELL_START,g.TABLE_CELL_END,g.CUSTOM_RANGE_START,g.CUSTOM_RANGE_END,g.COLUMN_BREAK,g.PAGE_BREAK,g.DOCS_END,g.CUSTOM_BLOCK],f=g.LETTER;if(d.indexOf(t)>-1)return{content:``,raw:t,ts:s,fontStyle:o,width:0,bBox:{width:0,ba:0,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:Ca(t,0),glyphType:Yn.PLACEHOLDER,streamType:t,count:1};t===g.PARAGRAPH&&(f=g.PARAGRAPH);let p=null,m=0;p=a&&a.boundingBox&&a.font?q.getBBoxFromGlyphInfo(a,o):q.getTextSize(t,o);let{width:h=0}=p,_=r==null?h:r;if(as(l,u)&&(_=h+(Zt(t)?c:c/2),l===C.SNAP_TO_CHARS&&(m=(_-h)/2)),a&&a.kerning!==0&&a.font){let e=Fn(o.fontSize)/a.font.unitsPerEm,t=a.kerning*e;_+=t,m+=t}return{content:t,ts:s,fontStyle:o,width:_,bBox:p,xOffset:m,left:0,glyphType:e,streamType:f,isJustifiable:Sa(t),adjustability:Ca(t,_),count:t.length,raw:t}}function Aa(e,t,n){let{symbol:r,bulletAlign:a=o.START,bulletType:s=!1}=t,{fontStyle:c}=e,l=q.getTextSize(r,c),u=l.width,d=Math.ceil(u/n),f=(d<2?2:d)*n,p=0;s&&(a===o.CENTER?(p=-u/2,f-=p):a===o.END&&(p=-u,f-=p));let m=Na(e,l);return{content:r,ts:{...e.ts,st:{s:i.FALSE}},fontStyle:c,width:f,xOffset:0,bBox:m,left:p,isJustifiable:Sa(r),adjustability:Ca(r,f),glyphType:Yn.LIST,streamType:g.LETTER,count:0,raw:r}}function ja(e,t=0){let n=e.length,r;for(let i=0;i<n;i++){let n=e[i];n.left=r?r.left+r.width:t,r=n}}function Ma(e,t,n=0){ja(t,n);for(let n of t)n.parent=e;e.glyphGroup.push(...t)}function Na(e,t){let{ba:n,bd:r}=e.bBox,{ba:i,bd:a}=t;return n+r>i+a?e.bBox:t}function Pa(e,t){e.width-=t,e.adjustability.shrinkability[1]-=t}function Fa(e,t){e.width-=t,e.xOffset-=t,e.adjustability.shrinkability[0]-=t}var Ia=function(e){return e[e.BOTH=0]=`BOTH`,e[e.LEFT=1]=`LEFT`,e[e.RIGHT=2]=`RIGHT`,e}(Ia||{}),La=function(e){return e[e.X=0]=`X`,e[e.Y=1]=`Y`,e}(La||{});function Ra(e,t,n,r,i=0,a=!1,o,s,c,l){var u,d;let{lineHeight:f=15.6,lineTop:p=0,contentHeight:m=0,paddingLeft:h=0,paddingRight:g=0,paddingTop:_=0,paddingBottom:v=0,marginTop:y=0,spaceBelowApply:b=0}=n,{skeTablesInParagraph:x}=o,S=(u=s.skeDrawings)==null?new Map:u,C=(d=s.skeTables)==null?new Map:d,w=c==null?void 0:c.skeDrawings,T=l==null?void 0:l.skeDrawings,E=to(t,e);if(E.lineIndex=i,E.paragraphStart=a,E.contentHeight=m,E.top=p,E.lineHeight=f,E.paddingTop=_,E.paddingBottom=v,E.marginTop=y,E.spaceBelowApply=b,a&&Array.isArray(x)&&x.length>0){let e=x[x.length-1].tableId;E.isBehindTable=!0,E.tableId=e}E.divides=Ha(f,p,r,h,g,s,c,l,new Map(Array.from(S).filter(([e,t])=>t.drawingOrigin.layoutType!==R.INLINE)),w,T,new Map(Array.from(C).filter(([e,t])=>t.tableSource.textWrap===pe.WRAP)));for(let e of E.divides)e.parent=E;return E}function za(e=15.6,t=0,n,r,i){let a=t,o=n.skeDrawings,s=new Map(Array.from(n.skeTables).filter(([e,t])=>t.tableSource.textWrap===pe.NONE)),c=r==null?void 0:r.skeDrawings,l=i==null?void 0:i.skeDrawings;return r&&c&&c.forEach(i=>{let o=Va(Ja(i,r,n,!0),e,t);o&&(a=Math.max(a,o))}),i&&l&&l.forEach(r=>{let o=Va(Ja(r,i,n,!1),e,t);o&&(a=Math.max(a,o))}),o==null||o.forEach(n=>{let r=Va(n,e,t);r&&(a=Math.max(a,r))}),s==null||s.forEach(n=>{let r=Ba(n,e,t);r&&(a=Math.max(a,r))}),a}function Ba(e,t,n){let{top:r,height:i}=e;if(!(r+i<n||r>t+n))return r+i}function Va(e,t,n){let{aTop:r,height:i,aLeft:a,width:o,angle:s=0,drawingOrigin:c}=e,{layoutType:l,distT:u=0,distB:d=0}=c;if(l!==R.WRAP_TOP_AND_BOTTOM)return;if(s===0){let e=r-u,a=u+i+d;return e+a<n||e>t+n?void 0:e+a}let{top:f=0,height:p=0}=qa(s,a,o,r,i);if(f-=u,p+=d,!(f+p<n||f>t+n))return f+p}function Ha(e,t,n,r,i,a,o,s,c,l,u,d){let f=[];return f.push({left:0,width:r},{left:n-i,width:i}),o&&l&&l.forEach(r=>{let i=Ka(Ja(r,o,a,!0),e,t,n);i&&f.push(i)}),s&&u&&u.forEach(r=>{let i=Ka(Ja(r,s,a,!1),e,t,n);i&&f.push(i)}),c==null||c.forEach(r=>{let i=Ka(r,e,t,n);i&&f.push(i)}),d&&d.size>0&&d.forEach(r=>{let{left:i,top:a,width:o,height:s,tableSource:c}=r,{dist:l}=c,u=Za(a,s,i,o,t,e,n,l);u&&f.push(u)}),$a(n,f)}function Ua(e,t){Object.assign(e,t)}function Wa(e,t){e.marginBottom=t}function Ga(e,t,n,r,i){let{top:a,height:o,left:s,width:c,angle:l=0}=e,{top:u=0,left:d=0,width:f=0,height:p=0}=qa(l,s,c,a,o);return!(u+p<n||u>t+n||d+f<r||d>r+i)}function Ka(e,t,n,r){let{aTop:i,height:a,aLeft:o,width:s,angle:c=0,drawingOrigin:l}=e,{layoutType:u}=l;if(u===R.WRAP_NONE||u===R.WRAP_TOP_AND_BOTTOM)return;if(u===R.WRAP_POLYGON){let{start:e=[0,0],lineTo:i}=l;if(!i)return;let a=[];a.push(new Y(e[0],e[1]));for(let e=0;e<i.length;e++){let t=i[e];a.push(new Y(t[0],t[1]))}if(c!==0){let e=new Br().rotate(c);for(let t=0;t<a.length;t++){let n=a[t];a[t]=e.applyPoint(n)}}return Ya(a,n,t,r)}let{distL:d=0,distT:f=0,distB:p=0,distR:m=0,wrapText:h}=l,g={distL:d,distT:f,distB:p,distR:m};if(c===0)return Za(i,a,o,s,n,t,r,g,u,h);let _=qa(c,o,s,i,a);if(u===R.WRAP_SQUARE){let{left:e,width:i,top:a,height:o}=_;return Za(a,o,e,i,n,t,r,g,u,h)}return Ya(_.points,n,t,r)}function qa(e,t,n,r,i){let a=t+n/2,o=r+i/2,s=new Br().translate(a,o).rotate(e).translate(-a,-o),c=new Y(t,r),l=new Y(t,r+i),u=new Y(t+n,r),d=new Y(t+n,r+i);return s.makeBoundingBoxFromPoints([c,l,u,d])}function Ja(e,t,n,r=!0){let{aTop:i}=e,a=i;return a=r?i+t.marginTop-n.marginTop:i+t.marginTop+n.pageHeight-n.marginBottom-n.marginTop,{...e,aTop:a}}function Ya(e,t,n,r){let i=new Or(e),a=i.intersection([new Y(0,t),new Y(r,t)]),o=i.intersection([new Y(0,t+n),new Y(r,t+n)]);if(!a&&!o)return;let s=Xa([...e,...a||[],...o||[]]);return{left:s.min,width:s.max}}function Xa(e,t=La.X){let n=[];for(let r=0;r<e.length;r++){let i=e[r];t===La.X?n.push(i.x):n.push(i.y)}return{max:Math.max(...n),min:Math.min(...n)}}function Za(e,t,n,r,i,a,o,s,c=R.WRAP_SQUARE,l=ve.BOTH_SIDES){let{distL:u=0,distR:d=0,distT:f=0,distB:p=0}=s,m=e-(c===R.WRAP_SQUARE?f:0);if(m+(t+(c===R.WRAP_SQUARE?p+f:0))<=i||m>=a+i)return;let h=n-u,g=r+u+d,_=Qa(l,h,g,o);return _===Ia.LEFT?g=o-h:_===Ia.RIGHT&&(h=0,g=n+r+d),{left:h,width:g}}function Qa(e,t,n,r){let i=Ia.BOTH;return e===ve.LEFT?i=Ia.LEFT:e===ve.RIGHT?i=Ia.RIGHT:e===ve.LARGEST&&(i=t>r-t-n?Ia.LEFT:Ia.RIGHT),i}function $a(e,t){t.sort((e,t)=>e.left>t.left?1:-1);let n=[],r=0,i=t.length;for(let a=0;a<i;a++){let{left:o,width:s}=t[a];if(o>r){let t=o-r;t=t<e?t:e-r;let i=eo(r,t);n.push(i)}if(r=Math.max(o+s,r),a===i-1&&o+s<e){let t=eo(o+s,e-o-s);n.push(t)}}return n}function eo(e,t){return{glyphGroup:[],width:t,left:e,paddingLeft:0,isFull:!1,st:0,ed:0}}function to(e,t){return{paragraphIndex:t,type:e,divides:[],lineHeight:0,contentHeight:0,top:0,asc:0,dsc:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,spaceBelowApply:0,divideLen:0,st:-1,ed:-1,isBehindTable:!1,tableId:``,lineIndex:0,paragraphStart:!1}}function no(e,t,n,r){if(r)if(r.has(e)){let n=r.get(e);n==null||n.elements.push(t)}else r.set(e,{elements:[t],paragraphIndex:e,top:n})}function ro(e=[],t=u.NONE,n=0,r=0,i=1/0,a=1/0){let o=[],s=0,c=0;if(e.length===0)o.push(ao(r,i,0,u.NONE));else for(let n=0;n<e.length;n++){let{width:a,paddingEnd:l}=e[n];c=l,s=a,o.push(ao(r,s,c,t)),r+=s+c,n===e.length-1&&(s=i===1/0?a:i-s,c=0,o.push(ao(r,s,c,t)))}let l={columns:o,colCount:(e==null?void 0:e.length)||1,height:a,top:n,st:0,ed:0};return o.forEach(e=>{e.parent=l}),l}function io(e,t){e.isFull=t}function ao(e,t,n,r){return{lines:[],left:e,width:t,height:0,spaceWidth:n,separator:r,st:0,ed:0,drawingLRIds:[],isFull:!1}}function oo(e,t,n,r,i){var a;let{startIndex:o,endIndex:s,children:c}=r,l=(a=n.getTableByStartIndex(o))==null?void 0:a.tableSource;if(l==null)return console.warn(`Table not found when creating table skeleton`),null;let u=go(o,s,l),d=0,f=0;for(let t of c){let{children:r,startIndex:a,endIndex:o}=t,s=c.indexOf(t),p=l.tableRows[s],{trHeight:m}=p,h=_o(a,o,s,p,!1,u),{hRule:g,val:_}=m;u.rows.push(h);let v=0,y=0;for(let t of r){let a=Rs(e,n,t,i,l,s,r.indexOf(t))[0],{marginTop:o=0,marginBottom:c=0}=a,u=a.height+o+c;a.left=v,v+=a.pageWidth,a.parent=h,h.cells.push(a),y=Math.max(y,u)}g===fe.AT_LEAST?y=Math.max(y,_.v):g===fe.EXACT&&(y=_.v);for(let e of h.cells)e.pageHeight=y;let b=l.tableRows[s];for(let e=0;e<b.tableCells.length;e++){let t=b.tableCells[e],n=h.cells[e],{vAlign:r=_e.CONTENT_ALIGNMENT_UNSPECIFIED}=t,{pageHeight:i,height:a,originMarginTop:o,originMarginBottom:s}=n,c=o;switch(r){case _e.TOP:c=o;break;case _e.CENTER:c=(i-a)/2;break;case _e.BOTTOM:c=i-a-s;break;default:break}c=Math.max(o,c),n.marginTop=c}h.height=y,h.top=d,d+=y,f=Math.max(f,v)}u.width=f,u.height=d;let{pageWidth:p,marginLeft:m=0,marginRight:h=0}=t;return u.left=ho(p-m-h,f,l.align,l.indent),u}function so(e,t){let{startIndex:n,endIndex:r}=t;for(let t of e.values())for(let e of t){let t=e.findIndex(e=>e.paragraph.startIndex>n&&e.paragraph.startIndex<r);t>-1&&e.splice(t)}}function co(e,t,n,r,a,o){var s;let c=[],{startIndex:l,endIndex:u,children:d}=r,f=(s=n.getTableByStartIndex(l))==null?void 0:s.tableSource;if(f==null)return console.warn(`Table not found when creating table skeletons`),{skeTables:c,fromCurrentPage:!1};let p=f.tableRows[0].repeatHeaderRow===i.TRUE,m=go(l,u,f),h={rowTop:0,tableWidth:0,remainHeight:o,repeatRow:p?d[0]:null,repeatRowHeight:0};c.push(m);for(let r of d)po(e,t,c,n,a,r,d.indexOf(r),f,h);return lo(h,t,c,f),{skeTables:c,fromCurrentPage:c[0].height<=o}}function lo(e,t,n,r){let{pageWidth:i,marginLeft:a=0,marginRight:o=0}=t,{tableWidth:s}=e,c=ho(i-a-o,s,r.align,r.indent),l=0;for(let e of n)e.width=s,e.left=c,e.st=e.rows[0].st-1,e.ed=e.rows[e.rows.length-1].ed+1,n.length>1&&(e.tableId=vo(r.tableId,l),l++)}function uo(e){return e[e.length-1]}function fo(e,t,n){let{marginTop:r,marginBottom:i,pageHeight:a}=e,o=a-r-i;return n&&(o-=t.repeatRowHeight),o}function po(e,t,n,r,a,o,s,c,l,u=!1){let d=fo(t,l,!1),f=fo(t,l,!0),{children:p,startIndex:m,endIndex:h}=o,g=c.tableRows[s],{trHeight:_,cantSplit:v}=g,y=[],{hRule:b,val:x}=_,S=v===i.TRUE&&_.hRule===fe.AUTO,C=l.remainHeight<=72,w=uo(n),T=[0];for(let t of p){let n=p.indexOf(t),i=Rs(e,r,t,a,c,s,n,S&&!C?l.remainHeight:f,d);for(;y.length<i.length;){let t=_o(m,h,s,g,u),n=p.length;t.cells=[...Array(n)].map((n,r)=>{let i=Ls(e,a,c,s,r).page;return i.parent=t,i}),y.push(t)}for(;T.length<i.length;)T.push(0);for(let e of i){let{marginTop:t=0,marginBottom:r=0}=e,a=e.height+t+r,o=i.indexOf(e),s=y[o];e.parent=s,s.cells[n]=e,T[o]=Math.max(T[o],a)}}for(let e of y){let t=y.indexOf(e);b===fe.AT_LEAST?T[t]=Math.max(T[t],x.v):b===fe.EXACT&&(T[t]=x.v),T[t]=Math.min(T[t],d);let n=0;for(let r of e.cells)r.left=n,r.pageHeight=T[t],n+=r.pageWidth,l.tableWidth=Math.max(l.tableWidth,n);e.height=T[t]}s===0&&l.repeatRow&&(l.repeatRowHeight=T[T.length-1]);for(let e of y)mo(e,g);for(;y.length>0;){let i=y.shift(),o=w.rows[w.rows.length-1];(l.remainHeight<72||l.remainHeight<i.height)&&(l.remainHeight=fo(t,l,s!==0&&i.index!==o.index),l.rowTop=0,w.rows.length>0&&(w=go(m,h,c),n.push(w),l.repeatRow&&u===!1&&s!==0&&i.index!==o.index))&&(l.remainHeight=fo(t,l,!1),po(e,t,n,r,a,l.repeatRow,0,c,l,!0)),w=uo(n),i.top=l.rowTop,w.height+=i.height,w.rows.push(i),i.parent=w,l.remainHeight-=i.height,l.rowTop+=i.height}}function mo(e,t){for(let n=0;n<t.tableCells.length;n++){let r=t.tableCells[n],i=e.cells[n];if(i==null)continue;let{vAlign:a=_e.CONTENT_ALIGNMENT_UNSPECIFIED}=r,{pageHeight:o,height:s,originMarginTop:c,originMarginBottom:l}=i,u=c;switch(a){case _e.TOP:u=c;break;case _e.CENTER:u=(o-s)/2;break;case _e.BOTTOM:u=o-s-l;break;default:break}u=Math.max(c,u),i.marginTop=u}}function ho(e,t,n,r={v:0}){switch(n){case de.START:return r.v;case de.END:return Math.max(0,e-t);case de.CENTER:return Math.max(0,(e-t)/2);default:throw Error(`Unknown table alignment type`)}}function go(e,t,n){return{rows:[],width:0,height:0,top:0,left:0,st:e,ed:t,tableId:n.tableId,tableSource:n}}function _o(e,t,n,r,i=!1,a){return{cells:[],index:n,height:0,top:0,st:e,ed:t,parent:a,rowSource:r,isRepeatRow:i}}function vo(e,t){return`${e}#-#${t}`}function yo(e){if(!e.includes(`#-#`))return{tableId:e,sliceIndex:0};let[t,n]=e.split(`#-#`);return{tableId:t,sliceIndex:Number(n)}}function bo(e,t,n,r,a,o,s=Di.Normal){if(o)if(a.bulletSkeleton){let{bulletSkeleton:c,paragraphStyle:l={}}=a,{gridType:u=C.LINES,charSpace:d=0,defaultTabStop:f=10.5}=r,{snapToGrid:p=i.TRUE}=l,m=is(d,f,u,p),h=Aa(t[0],c,m),g=c.paragraphProperties||{};a.paragraphStyle=js(a.paragraphStyle,{...g,hanging:{v:h.width}},`max`),Eo(e,[h,...t],n,r,a,o,s)}else Eo(e,t,n,r,a,o,s);else To(e,t,n,r,a,o,s);return[...n]}function xo(e){if(e.length<=1)return!1;let t=!1;for(let n of e)if(n.content===g.SPACE&&(t=!0),t&&n.content!==g.SPACE&&n.content!==g.PARAGRAPH&&n.streamType!==g.SECTION_BREAK)return!1;return t}function So(e,t,n){if(e.length<=1)return!1;let r=t,i=!1;for(let t of e){if(t.content===g.SPACE||t.content===g.PARAGRAPH||t.streamType===g.SECTION_BREAK)break;if(r+=t.width,r>n){i=!0;break}}return i}function Co(e){var t;let n=(t=e.parent)==null?void 0:t.parent;if(n==null)return 0;let r=0;for(let e=n.lines.length-1;e>=0;e--){let t=n.lines[e];if(t.divides[t.divides.length-1].breakType===Di.Hyphen)r++;else break}return r}function wo(e){let t=[],n=e.glyphGroup.pop();for(;n&&n.content!==` `;)t.unshift(n),n=e.glyphGroup.pop();return e.glyphGroup.length===0&&(e.glyphGroup.push(...t),t.length=0),t}function To(e,t,n,r,i,a,o=Di.Normal,s){let c=ts(Yo(n));if(c){var l;let u=Uo(t),{divide:d,isLast:f}=c,p=d==null||(l=d.glyphGroup)==null?void 0:l[d.glyphGroup.length-1],m=((p==null?void 0:p.width)||0)+((p==null?void 0:p.left)||0),{hyphenationZone:h}=r;if(m+u>d.width){Ua(d,{isFull:!0});let l=Co(c.divide),{consecutiveHyphenLimit:u=1/0}=r;if(c.isLast&&t.length===1&&(t[0].content===g.SPACE||t[0].content===g.PARAGRAPH))Ma(d,t,m);else if(c.isLast&&!So(t,m,d.width)&&xo(t))Ma(d,t,m);else if((d==null?void 0:d.glyphGroup.length)===0){let a=[];for(;t.length;)if(a.push(t.shift()),Uo(a)>d.width){a.length>1&&t.unshift(a.pop());break}a.length>0&&Ma(d,a,m),t.length&&To(e,t,n,r,i,!1,o,s)}else if(l>u){let c=wo(d);c.length>0&&(Ua(d,{breakType:Di.Normal}),To(e,c,n,r,i,a,Di.Hyphen)),To(e,t,n,r,i,a,o,s)}else To(e,t,n,r,i,a,o,s)}else if(f&&h&&h>0&&m>=d.width-h&&o===Di.Hyphen&&d.breakType===Di.Normal)Ua(d,{isFull:!0}),To(e,t,n,r,i,a,o,s);else{let s=d.parent,c=Wo(t);if(s&&c&&!Ko(s)){let{paragraphLineGapDefault:l,linePitch:u,lineSpacing:d,spacingRule:f,snapToGrid:p,gridType:m}=os(r,i),{boundingBoxAscent:h,boundingBoxDescent:g}=c,{contentHeight:_}=Ro(h+g,l,u,m,d,f,p);if(s.contentHeight<_){let c=Go(s),l=c.length,u=[],d=1;l>2&&c[0].glyphType===Yn.LIST?(u=[c[0],c[1]],d=2):u=[c[0]];let{paragraphStart:f}=s.parent.lines.pop();Eo(e,u,n,r,i,f,o,h+g);for(let t=d;t<c.length;t++)To(e,[c[t]],n,r,i,a);To(e,t,n,r,i,a,o);return}}Ma(d,t,m),Ua(d,{breakType:o})}}else Eo(e,t,n,r,i,a,o,s)}function Eo(e,t,n,r,i,a,o=Di.Normal,s){var c,l,u,d;let f=Yo(n),p=es(f);if((!p||!p.column)&&(Fo(e,t,n,r,i,!0,o),f=Yo(n),p=es(f)),!p)return;let m=p.column;if(m.width<=0){console.error(`The column width is less than 0, need to adjust page width to make it great than 0`);return}let h=$o(m),g=Math.max(...t.map(e=>e.bBox.ba)),_=Math.max(...t.map(e=>e.bBox.bd)),v=s||g+_,{paragraphStyle:y={},paragraphNonInlineSkeDrawings:b,skeTablesInParagraph:x,skeHeaders:S,skeFooters:C,pDrawingAnchor:w,paragraphIndex:T}=i,{namedStyleType:E}=y,D=E===void 0?null:te[E],{spaceAbove:O,spaceBelow:k,indentFirstLine:A,hanging:ee,indentStart:j,indentEnd:M}={...y,spaceAbove:(c=y.spaceAbove)==null?D==null?void 0:D.spaceAbove:c,spaceBelow:(l=y.spaceBelow)==null?D==null?void 0:D.spaceBelow:l},{paragraphLineGapDefault:N,linePitch:P,lineSpacing:F,spacingRule:ne,snapToGrid:L,gridType:re}=os(r,i),{paddingTop:R,paddingBottom:ie,contentHeight:ae,lineSpacingApply:oe}=Ro(v,N,P,re,F,ne,L),{marginTop:se,spaceBelowApply:ce}=Lo(e,oe,O,k,a,h),le=se+R+ae+ie,ue=m.parent;ue||(ue=Xo(f));let de=((h==null?void 0:h.lineHeight)||0)+((h==null?void 0:h.top)||0),{pageWidth:fe,headerId:pe,footerId:z,segmentId:me}=f,B=S==null||(u=S.get(pe))==null?void 0:u.get(fe),he=C==null||(d=C.get(z))==null?void 0:d.get(fe),ge=!1;if(h){let t=jo(h);if(t.length>0){var _e,V;let n=(_e=e.paragraphConfigCache.get(me))==null||(_e=_e.get(h.paragraphIndex))==null?void 0:_e.paragraphNonInlineSkeDrawings,r=[...(V=n==null?void 0:n.values())==null?[]:V].filter(e=>e.drawingOrigin.docTransform.positionV.relativeFrom===I.LINE).filter(e=>t.includes(e.drawingId));r.length>0&&Do(e,h.top,h.lineHeight,m,r,h.paragraphIndex,a)}}if(b!=null&&b.size>0){var ve;Do(e,de,le,m,[...b.values()].filter(e=>e.drawingOrigin.docTransform.positionV.relativeFrom!==I.LINE),i.paragraphIndex,a,w==null||(ve=w.get(T))==null?void 0:ve.top)}if(x!=null&&x.length>0){var ye;ge=Ao(e,de,le,f,m,ue,x,i.paragraphIndex,r,w==null||(ye=w.get(T))==null?void 0:ye.top)}let be=za(le,de,f,B,he);if(le+be>ue.height&&m.lines.length>0&&f.sections.length>0||ge){if(io(m,!0),Po(e,t,n,r,i,a,o,s),a&&b&&b.size>0)for(let t of b.values())f.skeDrawings.has(t.drawingId)&&f.skeDrawings.delete(t.drawingId),e.floatObjectsCache.has(t.drawingId)&&(e.floatObjectsCache.delete(t.drawingId),e.isDirty=!1,e.layoutStartPointer[me]=null);return}let xe=h?h.lineIndex+1:0,{charSpace:Se,defaultTabStop:Ce}=ss(r,i),{paddingLeft:we,paddingRight:Te}=Io(A,ee,j,M,is(Se,Ce,re,L),a);if(we+Te>=m.width){let e=we/(we+Te);we=m.width*e-.5,Te=m.width-we-.5}let Ee=Ra(T,Jn.PARAGRAPH,{lineHeight:le,contentHeight:ae,lineTop:be,paddingLeft:we,paddingRight:Te,paddingTop:R,paddingBottom:ie,marginTop:se,spaceBelowApply:ce},m.width,xe,a,i,f,B,he);m.lines.push(Ee),Ee.parent=m,no(T,Ee,de,w),To(e,t,n,r,i,a,o,s)}function Do(e,t,n,r,i,a,o,s){if(i.length===0)return;let c=Bo(t,n,r,o,s,i);c==null||c.size===0||(Mo(e,[...c.values()].filter(e=>{let t=e.drawingOrigin.layoutType;return t!==R.INLINE&&t!==R.WRAP_NONE}).map(e=>{let{drawingOrigin:t,drawingId:n,aTop:r,aLeft:i,width:a,height:o,angle:s}=e,c=t.docTransform.positionV;return{id:n,top:r,left:i,width:a,height:o,angle:s,type:ws.IMAGE,positionV:c}}),r,a),Vo(r,c))}function Oo(e,t,n,r,i,a,o){let s=ko(t,i,n,r,o);if(s==null)return;let{tableId:c,width:l,height:u,tableSource:d}=t,{left:f,top:p}=s;Mo(e,[{id:c,top:p,left:f,width:l,height:u,angle:0,type:ws.TABLE,positionV:d.position.positionV}],i,a),t.top=p,t.left=f}function ko(e,t,n,r,i){var a,o,s;let c=(a=t.parent)==null?void 0:a.parent;if(c==null)return;let l=Ho(t),{tableSource:u,width:d,height:f}=e,{positionH:p,positionV:m}=u.position;return{left:(o=ps(p,t,c,d,l))==null?0:o,top:(s=ms(m,c,n,r,f,i,l))==null?0:s}}function Ao(e,t,n,r,i,a,o,s,c,l){if(o.length===0)return!1;let u=o.find(e=>e.hasPositioned===!1);if(u==null)return!1;let{tableId:d,table:f}=u,{tableSource:p}=f;if(u.isSlideTable===!1)switch(p.textWrap){case pe.NONE:f.top=t;break;case pe.WRAP:Oo(e,f,t,n,i,s,l);break;default:throw Error(`Unsupported table text wrap type: ${p.textWrap}`)}let{top:m,left:h,height:g}=f;if(!e.isDirty&&m+g>a.height&&u.isSlideTable===!1){o.pop();let t=a.height-m,{segmentId:n}=r,i=e.viewModel.getSelfOrHeaderFooterViewModel(n),s=u.tableNode;so(e.skeletonResourceReference.skeListLevel,s);let{fromCurrentPage:l,skeTables:d}=co(e,r,i,s,c,t);if(d.forEach((e,t)=>{e.top=t===0&&l?m:0,e.left=h}),l){let e=d.shift();r.skeTables.set(e.tableId,e),e.parent=r,o.push({table:e,tableId:e.tableId,hasPositioned:!0,isSlideTable:!0,tableNode:s})}return o.push(...d.map(e=>({table:e,tableId:e.tableId,hasPositioned:!1,isSlideTable:!0,tableNode:s}))),!0}else return r.skeTables.set(d,f),f.parent=r,u.hasPositioned=!0,u!==o[o.length-1]}function jo(e){let t=[];for(let n of e.divides)for(let e of n.glyphGroup)e.streamType===g.CUSTOM_BLOCK&&t.push(e.drawingId);return t}function Mo(e,t,n,r){var i;let a=(i=n.parent)==null?void 0:i.parent;if(t.length===0||a==null)return;let o=!1;for(let n of t){var s,c;let t=e.floatObjectsCache.get(n.id);if(t==null||t.page.segmentId!==a.segmentId)continue;let i=(s=t.page.sections[0])==null||(s=s.columns[0])==null||(s=s.lines[0])==null?void 0:s.paragraphIndex,l=(c=a.sections[0])==null||(c=c.columns[0])==null||(c=c.lines[0])==null?void 0:c.paragraphIndex;t.page&&i&&l&&i!==l&&(t.page.skeDrawings.delete(n.id),e.floatObjectsCache.delete(n.id),ds([t.page],n=>{let{lineHeight:i,top:a}=n,s=n.parent;if(o||s==null)return;let{width:c,left:l}=s;if(Ga(t.floatObject,i,a,l,c)){var u;o=!0,e.isDirty=!0,e.layoutStartPointer[t.page.segmentId]=Math.min(n.paragraphIndex,(u=e.layoutStartPointer[t.page.segmentId])==null?1/0:u),e.paragraphsOpenNewPage.add(r)}}))}o=!1,ds([a],r=>{let{lineHeight:i,top:s}=r,{width:c,left:l}=n;if(!o)for(let n of t.values()){let t=n;if(e.floatObjectsCache.has(n.id)){let r=e.floatObjectsCache.get(n.id),i=No(e,n);if((r==null?void 0:r.page.segmentId)!==a.segmentId)continue;if(i){var u;t=(u=r==null?void 0:r.floatObject)==null?n:u}else continue}if(Ga(t,i,s,l,c)){var d;o=!0,e.isDirty=!0,e.layoutStartPointer[a.segmentId]=Math.min(r.paragraphIndex,(d=e.layoutStartPointer[a.segmentId])==null?1/0:d);let t=e.floatObjectsCache.get(n.id);t==null&&(t={count:0,floatObject:n,page:a},e.floatObjectsCache.set(n.id,t)),t.count++,t.floatObject=n,t.page=a}}})}function No(e,t){let{relativeFrom:n}=t.positionV,r=e.floatObjectsCache.get(t.id);if(r==null)return!1;if(n===I.PARAGRAPH||n===I.LINE){let{count:e,floatObject:n}=r;if(e<5&&Math.abs(t.top-n.top)>5)return!0}return!1}function Po(e,t,n,r,i,a,o=Di.Normal,s){ns(Yo(n))===!0?Fo(e,t,n,r,i,a,o,s):Eo(e,t,n,r,i,a,o,s)}function Fo(e,t,n,r,i,a,o=Di.Normal,s){let c=Yo(n),{skeHeaders:l,skeFooters:u}=i;n.push(Ps(e,r,{skeHeaders:l,skeFooters:u},(c==null?void 0:c.pageNumber)+1)),Po(e,t,n,r,i,a,o,s)}function Io(e,t,n,r,i,a=!1){let o=rs(e,i),s=rs(t,i),c=rs(n,i),l=rs(r,i),u=c,d=l;return o>0&&a&&(u+=o),s>0&&!a&&(u+=s),{paddingLeft:u,paddingRight:d}}function Lo(e,t=0,n,r,i,a){let o=rs(r,t);if(i){let e=rs(n,t);if(a){let{spaceBelowApply:t}=a;if(e<t){let n=Math.max(t,e);a.lineHeight+=n,Wa(a,n),e=0}}return{marginTop:e,spaceBelowApply:o}}return{marginTop:0,spaceBelowApply:o}}function Ro(e,t,n,r,a,o,s){let c=t,l=t;if(r===C.DEFAULT||s===i.FALSE)return o===ue.AUTO?{paddingTop:c,paddingBottom:l,contentHeight:a*e,lineSpacingApply:e}:{paddingTop:c,paddingBottom:l,contentHeight:Math.max(a,e),lineSpacingApply:a};let u=0;return u=o===ue.AUTO?a*n:a,e+t*2<u?c=l=(u-e)/2:u=e,{paddingTop:c,paddingBottom:l,contentHeight:e,lineSpacingApply:u}}function zo(e,t,n){var r;let i=e.parent,a=e==null||(r=e.parent)==null||(r=r.parent)==null?void 0:r.parent;if(a==null||i==null)return;let o=Ho(i),s=new Map,{top:c,lineHeight:l,marginBottom:u=0}=e;for(let r of e.divides)for(let a of r.glyphGroup)if(a.streamType===g.CUSTOM_BLOCK&&a.width!==0){let{drawingId:d}=a;if(d==null)continue;let f=t==null?void 0:t.get(d),p=f==null?void 0:f.drawingOrigin;if(p==null||f==null)continue;let{docTransform:m}=p,{size:h,angle:g}=m,{width:_=0,height:v=0}=h,y=a.bBox.bd+a.bBox.ba;f.aLeft=r.left+r.paddingLeft+a.left+.5*a.width-.5*_||0,f.aTop=c+l-.5*y-.5*v-u,f.width=_,f.height=v,f.angle=g,f.isPageBreak=o,f.lineTop=c,f.columnLeft=i.left,f.blockAnchorTop=n==null?c:n,f.lineHeight=e.lineHeight,s.set(f.drawingId,f)}a.skeDrawings=new Map([...a.skeDrawings,...s])}function Bo(e,t,n,r,i,a=[]){var o;let s=(o=n.parent)==null?void 0:o.parent;if(s==null||a.length===0)return;let c=new Map,l=Ho(n);if(!(l&&!r)){for(let r of a){var u,d;let{drawingOrigin:a}=r;if(!a)continue;let{docTransform:o}=a,{positionH:f,positionV:p,size:m,angle:h}=o,{width:g=0,height:_=0}=m;r.aLeft=(u=ps(f,n,s,g,l))==null?0:u,r.aTop=(d=ms(p,s,e,t,_,i,l))==null?0:d,r.width=g,r.height=_,r.angle=h,r.initialState=!0,r.columnLeft=n.left,r.lineTop=e,r.lineHeight=t,r.isPageBreak=l,r.blockAnchorTop=i==null?e:i,c.set(r.drawingId,r)}return c}}function Vo(e,t){var n;let r=(n=e.parent)==null?void 0:n.parent;if(!(t==null||t.size===0||r==null))for(let e of t.values()){let t=r.skeDrawings.get(e.drawingId);if(t)if(t.drawingOrigin.layoutType===R.WRAP_TOP_AND_BOTTOM){let n=t.aTop>e.aTop?t:e;r.skeDrawings.set(e.drawingId,n)}else r.skeDrawings.set(e.drawingId,e);else r.skeDrawings.set(e.drawingId,e)}}function Ho(e){let t=e.parent;if(!t)return!1;let n=t==null?void 0:t.columns;if(!n)return!1;let r=n.length;for(let e=r-1;e>=0;e--){let t=n[e].lines,r=t.length;if(!(r<=0)){for(let e=r-1;e>=0;e--)if(t[e].paragraphStart)return!1}}return!0}function Uo(e){let t=e.length,n=0;for(let r=0;r<t;r++){let t=e[r];n+=t.width}return n}function Wo(e){let t=e.length,n=-1/0,r;for(let i=0;i<t;i++){let{ba:t,bd:a}=e[i].bBox;n<t+a&&(r={boundingBoxAscent:t,boundingBoxDescent:a}),n=t+a}return r}function Go({divides:e}){return e.flatMap(e=>e.glyphGroup)}function Ko(e){return!e.divides[0].glyphGroup[0]}function qo(e){return e.type===d.COMMENT?{bbl:{s:i.TRUE,cl:{rgb:`#fcdf7e`},c:i.FALSE},...e.active?{bg:{rgb:`#faedc2`}}:null}:null}function Jo(e){if(e.rangeType===f.HYPERLINK||e.rangeType===f.MENTION||e.rangeType===f.CUSTOM){var t;return{...(t=e.active)==null||t?{ul:{s:i.TRUE}}:null,cl:{rgb:`#274fee`}}}return null}function Yo(e){return e[e.length-1]}function Xo(e){var t;return(t=e.sections)==null?void 0:t[e.sections.length-1]}function Zo(e){let t=Xo(e).columns;return t==null?void 0:t[t.length-1]}function Qo(e){var t;let n=(t=es(e))==null?void 0:t.column.lines;return n==null?void 0:n[n.length-1]}function $o(e){return e.lines[e.lines.length-1]}function es(e){let t=Xo(e);for(let e=0;e<t.columns.length;e++){let n=t.columns[e];if(!n.isFull)return{column:n,isLast:e===t.columns.length-1,index:e}}}function ts(e){let t=Qo(e);if(t)for(let e=0;e<t.divides.length;e++){let n=t.divides[e];if(!n.isFull)return{divide:n,isLast:e===t.divides.length-1,index:e}}}function ns(e){let t=Xo(e),n=t.columns.length;for(let e=0;e<n;e++)if(!t.columns[e].isFull)return!1;return!0}function rs(e,t){if(!e)return 0;let{v:n,u:r}=e;return!r||r===N.PIXEL?n:n*t}function is(e=0,t,n=C.LINES,r=i.TRUE){let a=1;return as(n,r)&&(a=e),a*=t,a}function as(e=C.LINES,t=i.FALSE){return t===i.TRUE&&(e===C.LINES_AND_CHARS||e===C.SNAP_TO_CHARS)}function os(e,t){let{paragraphStyle:n={}}=t,{linePitch:r=15.6,gridType:a=C.LINES,paragraphLineGapDefault:o=0}=e,{lineSpacing:s=0,spacingRule:c=ue.AUTO,snapToGrid:l=i.TRUE}=n,u=s;return(a===C.LINES||a===C.LINES_AND_CHARS)&&s===0&&c===ue.AUTO&&(u=1),{paragraphLineGapDefault:o,linePitch:r,gridType:a,lineSpacing:u,spacingRule:c,snapToGrid:l}}function ss(e,t){let{paragraphStyle:n={}}=t,{charSpace:r=0,gridType:a=C.LINES,defaultTabStop:o=36,documentTextStyle:s={}}=e,{fs:c=14}=s,{snapToGrid:l=i.TRUE}=n;return{charSpace:r,documentFontSize:c,defaultTabStop:o,gridType:a,snapToGrid:l}}function cs(e,t=-1){let n=t;for(let t of e){let{sections:e,skeTables:r}=t,i=n,a=i,o=-1/0,s=0;for(let t of e){let{columns:e}=t,n=a,i=n,c=-1/0,l=0;for(let t of e){let{lines:e}=t,n=i,a=n,o=0,s=-1/0;for(let t of e){let{divides:e,lineHeight:n,top:i,isBehindTable:c,tableId:l}=t,u=a;if(c&&l){let e=r.get(l);e&&(u=e.ed)}let d=u,f=0,p=0,m=0;o=i+n;let h=e.length,g=!1;for(let t=0;t<h;t++){let n=e[t],{glyphGroup:r}=n,i=d,a=i;for(let e of r){let n=e.glyphType===Yn.LIST?0:e.count;a+=n;let{ba:r,bd:i}=e.bBox;p=Math.max(p,r),m=Math.max(m,i),t===h-1&&(f+=e.width)}r.length!==0&&(g=!0,r[0].xOffset!==0&&t===h-1&&(f-=r[0].xOffset),t===h-1&&(f+=n.left),n.st=i+1,n.ed=a>=n.st?a:n.st,d=n.ed)}t.st=g?u+1:u,t.ed=d>=t.st?d:t.st,t.width=f,t.asc=p,t.dsc=m,s=Math.max(s,f),a=t.ed}t.st=n+1,t.ed=a>=t.st?a:t.st,t.height=o,t.width=s,l+=s,c=Math.max(c,t.height),i=t.ed}t.st=n+1,t.ed=i>=t.st?i:t.st,t.height=c,s+=c,o=Math.max(o,l),a=t.ed}for(let e of r.values()){let{ed:t}=e;a=Math.max(a,t)}t.st=i+1,t.ed=a>=t.st?a:t.st,t.height=s,t.width=o,n=t.ed}}function ls(e,t){ds(t,(t,n,r,i)=>{var a,o;let{segmentId:s}=i,c=(a=e.paragraphConfigCache.get(s))==null?void 0:a.get(t.paragraphIndex),l=c==null?void 0:c.paragraphInlineSkeDrawings,u=(o=e.skeletonResourceReference)==null||(o=o.drawingAnchor)==null||(o=o.get(s))==null?void 0:o.get(t.paragraphIndex);l&&l.size>0&&zo(t,l,u==null?void 0:u.top);let d=c==null?void 0:c.paragraphStyle;if(t.divides.length>0){let e=t.divides[t.divides.length-1],n=e.glyphGroup[e.glyphGroup.length-1];(n==null?void 0:n.streamType)===g.PARAGRAPH&&d!=null&&d.borderBottom&&(t.borderBottom=d.borderBottom)}})}function us(e,t){for(let n of e){let{sections:e}=n;for(let r of e){let{columns:e}=r;for(let i of e){let{lines:e}=i;for(let a of e){let{divides:e}=a,o=e.length;for(let s=0;s<o;s++){let o=e[s],{glyphGroup:c}=o;for(let e of c)t&&zt(t)&&t(e,o,a,i,r,n)}}}}}}function ds(e,t){for(let n of e){let{sections:e}=n;for(let r of e){let{columns:e}=r;for(let i of e){let{lines:e}=i;for(let a of e)t&&zt(t)&&t(a,i,r,n)}}}}function fs(e,t){for(let n of e){let{sections:e}=n;for(let n of e){let{columns:e}=n;for(let n of e)t&&zt(t)&&t(n)}}}function ps(e,n,r,i,a=!1){let{relativeFrom:o,align:s,posOffset:c,percent:l}=e;if(s!=null)if(s===t.INSIDE||s===t.OUTSIDE)o===F.MARGIN||F.PAGE;else{if(o===F.COLUMN){let{width:e,left:r}=n,a=0;return s===t.LEFT?a=r:s===t.RIGHT?a=r+e-i:s===t.CENTER&&(a=r+e/2-i/2),a}if(o!==F.LEFT_MARGIN&&o!==F.MARGIN&&o!==F.RIGHT_MARGIN&&o!==F.INSIDE_MARGIN&&o!==F.OUTSIDE_MARGIN&&o===F.PAGE){let{pageWidth:e}=r,n=0;return s===t.RIGHT?n=e-i:s===t.CENTER&&(n=e/2-i/2),n}}else if(c){let{pageWidth:e,marginLeft:t,marginRight:s}=r,l=e-s,u=0;return o===F.COLUMN?u=(a?0:(n==null?void 0:n.left)||0)+c:o===F.LEFT_MARGIN||(o===F.MARGIN?u=c+t:o===F.RIGHT_MARGIN||o===F.INSIDE_MARGIN||o===F.OUTSIDE_MARGIN||o===F.PAGE&&(u=c)),u+i>l&&(u=l-i),u}else if(l){let{pageWidth:e,marginLeft:t,marginRight:n}=r;if(o!==F.LEFT_MARGIN&&o!==F.MARGIN&&o!==F.RIGHT_MARGIN&&o!==F.INSIDE_MARGIN&&o!==F.OUTSIDE_MARGIN&&o===F.PAGE)return l*e}}function ms(e,t,r,i,a,o,s=!1){let{relativeFrom:c,align:l,posOffset:u,percent:d}=e;if(l!=null){if(c===I.LINE){let e=0;return l===n.BOTTOM?e=r+i-a:l===n.TOP?e=r:l===n.CENTER&&(e=r+i/2-a/2),e}else if(c!==I.TOP_MARGIN&&c!==I.MARGIN&&c!==I.BOTTOM_MARGIN&&c!==I.INSIDE_MARGIN&&c!==I.OUTSIDE_MARGIN&&c===I.PAGE){let{pageHeight:e}=t,r=0;return l===n.BOTTOM?r=e-a:l===n.CENTER&&(r=e/2-a/2),r}}else if(u!=null){let e=0,{marginTop:n}=t;return c===I.LINE?e=(r||0)+u:c===I.TOP_MARGIN||(c===I.MARGIN?e=u:c===I.BOTTOM_MARGIN||c===I.INSIDE_MARGIN||c===I.OUTSIDE_MARGIN||(c===I.PAGE?e=u-n:c===I.PARAGRAPH&&(e=(s?0:o==null?r:o)+u))),e}else if(d!=null){let{pageHeight:e,marginBottom:n,marginTop:r}=t;if(c!==I.TOP_MARGIN&&c!==I.MARGIN&&c!==I.BOTTOM_MARGIN&&c!==I.INSIDE_MARGIN&&c!==I.OUTSIDE_MARGIN&&c===I.PAGE)return d*e}}function hs(e){let t=0;for(let n of e.glyphGroup)t+=n.width;return t}const gs=new P;function _s(){gs.reset()}function vs(e,t,n){let{ts:r,fontStyle:a}=e,{gridType:o=C.LINES,charSpace:s=0,pageSize:c={width:1/0,height:1/0},marginRight:l=0,marginLeft:u=0}=t,{snapToGrid:d=i.TRUE}=n;return{fontStyle:a,textStyle:r,charSpace:s,gridType:o,snapToGrid:d,pageWidth:c.width||1/0-u-l}}function ys(e,t){var n;let{listType:r}=e;return(n=t.getDataModel().getBulletPresetList()[r].nestingLevel[0].paragraphProperties)==null?void 0:n.textStyle}const bs={ts:{},st:0,ed:0};function xs(e,t,n,r,a){let{gridType:o=C.LINES,charSpace:s=0,documentTextStyle:c={},pageSize:l={width:1/0,height:1/0},marginRight:u=0,marginLeft:d=0,renderConfig:f={}}=r,{paragraphStyle:p={},bullet:m}=a,{isRenderStyle:h}=f,{startIndex:g}=n,_=t.getTextRun(e+g),v=h===i.FALSE||_==null?bs:_,y=t.getCustomDecoration(e+g),b=y&&y.show!==!1,x=b?qo(y):null,S=t.getCustomRange(e+g),w=S&&S.show!==!1,T=w?Jo(S):null,E=w||b||!!m||(p==null?void 0:p.namedStyleType),{st:D,ed:O}=v,{ts:k={}}=v,A=gs.getValue(D,O);if(A&&!E&&_)return A;let{snapToGrid:ee=i.TRUE,namedStyleType:j}=p,te=m?ys(m,t):null,N=j?M[j]:null;k={...c,...N,...k,...x,...T,...te};let P={fontStyle:qt(k),textStyle:{...c,...k},charSpace:s,gridType:o,snapToGrid:ee,pageWidth:l.width||1/0-d-u};return!E&&_&&gs.setValue(D,O,P),P}function Ss(){return{pages:[],left:0,top:0,st:0,skeHeaders:new Map,skeFooters:new Map,skeListLevel:new Map,drawingAnchor:new Map}}function Cs(e,t){for(let n of e)n.parent=t}let ws=function(e){return e.IMAGE=`IMAGE`,e.TABLE=`TABLE`,e}({});const Ts={columnProperties:[],columnSeparatorType:u.NONE,sectionType:se.SECTION_TYPE_UNSPECIFIED,startIndex:0},Es={width:1/0,height:1/0},Ds={pageNumberStart:1,pageSize:{width:Fn(595),height:1/0},marginTop:Fn(50),marginBottom:Fn(50),marginRight:Fn(50),marginLeft:Fn(50),renderConfig:{vertexAngle:0,centerAngle:0,background:{rgb:`#FFFFFF`}},defaultHeaderId:``,defaultFooterId:``,evenPageHeaderId:``,evenPageFooterId:``,firstPageHeaderId:``,firstPageFooterId:``,evenAndOddHeaders:i.FALSE,useFirstPageHeaderFooter:i.FALSE,marginHeader:0,marginFooter:0},Os={columnProperties:[],columnSeparatorType:u.NONE,sectionType:se.SECTION_TYPE_UNSPECIFIED};function ks(e,t){var n;let{viewModel:r,dataModel:a,docsConfig:o}=e,s=r.getChildren()[t],{documentStyle:c}=a,{documentFlavor:l}=c,d=r.getSectionBreak(s.endIndex)||Ts;l===b.MODERN&&(d=Object.assign({},d,Os),c=Object.assign({},c,Ds));let{pageNumberStart:f=1,pageSize:p=Es,pageOrient:m=L.PORTRAIT,defaultHeaderId:h,defaultFooterId:g,evenPageHeaderId:_,evenPageFooterId:v,firstPageHeaderId:y,firstPageFooterId:x,useFirstPageHeaderFooter:S,evenAndOddHeaders:T,marginTop:E=0,marginBottom:D=0,marginRight:O=0,marginLeft:k=0,marginHeader:A=0,marginFooter:ee=0,autoHyphenation:j=i.FALSE,doNotHyphenateCaps:M=i.FALSE,consecutiveHyphenLimit:te=1/0,hyphenationZone:N,renderConfig:P={horizontalAlign:w.LEFT,verticalAlign:ge.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:V.UNSPECIFIED}}=c,{charSpace:F=0,linePitch:I=15.6,gridType:ne=C.LINES,pageNumberStart:re=f,pageSize:R=p,pageOrient:ie=m,marginTop:ae=E,marginBottom:oe=D,marginRight:se=O,marginLeft:ce=k,marginHeader:le=A,marginFooter:ue=ee,defaultHeaderId:de=h,defaultFooterId:fe=g,evenPageHeaderId:pe=_,evenPageFooterId:z=v,firstPageHeaderId:me=y,firstPageFooterId:B=x,useFirstPageHeaderFooter:he=S,evenAndOddHeaders:_e=T,columnProperties:ve=[],columnSeparatorType:ye=u.NONE,contentDirection:be,sectionType:xe,textDirection:Se,renderConfig:Ce=P}=d,we=r.getChildren()[t+1],Te=(n=r.getSectionBreak(we==null?void 0:we.endIndex))==null?void 0:n.sectionType,Ee={defaultHeaderId:de,evenPageHeaderId:pe,firstPageHeaderId:me},De={defaultFooterId:fe,evenPageFooterId:z,firstPageFooterId:B};return R.width===null&&(R.width=1/0),R.height===null&&(R.height=1/0),{charSpace:F,linePitch:I,gridType:ne,pageNumberStart:re,pageSize:R,pageOrient:ie,marginTop:ae,marginBottom:oe,marginRight:se,marginLeft:ce,marginHeader:le,marginFooter:ue,headerIds:Ee,footerIds:De,useFirstPageHeaderFooter:he,evenAndOddHeaders:_e,columnProperties:ve,columnSeparatorType:ye,contentDirection:be,sectionType:xe,sectionTypeNext:Te,textDirection:Se,renderConfig:Ce,autoHyphenation:j,doNotHyphenateCaps:M,consecutiveHyphenLimit:te,hyphenationZone:N,...o}}function As(e){var t;e.isDirty=!1,(t=e.skeleton.drawingAnchor)==null||t.clear()}function js(e,t,n){let r=(e,t,i)=>i===`v`?typeof t==`number`&&typeof e==`number`?n===`max`?Math.max(t,e):Math.min(t,e):t==null?e:t:typeof t==`object`?Ne(e,t,r):t==null?e:t;return Ne(e,t,r)}function Ms(e,t){let n=[...t],r=null;for(;n.length>0;){let t=n.shift();if(t===`pages`){let t=n.shift();r=e.pages[t]}else if(t===`skeTables`){var i;let e=n.shift();n.shift();let t=n.shift();n.shift();let a=n.shift();r=(i=r.skeTables)==null||(i=i.get(e))==null||(i=i.rows[t])==null?void 0:i.cells[a]}}return r}function Ns(e){return(e-100)/2}function Ps(e,t,n,r=1,a=qn.SECTION){let o=Fs(),{pageNumberStart:s=1,pageSize:c={width:1/0,height:1/0},pageOrient:l=L.PORTRAIT,headerIds:u={},footerIds:d={},useFirstPageHeaderFooter:f,evenAndOddHeaders:p,footerTreeMap:m,headerTreeMap:h,columnProperties:g=[],columnSeparatorType:_,marginTop:v=0,marginBottom:y=0,marginHeader:b=0,marginFooter:x=0,marginLeft:S=0,marginRight:C=0,renderConfig:w={}}=t,{skeHeaders:T,skeFooters:E}=n,{width:D=1/0,height:O=1/0}=c;o.pageNumber=r,o.pageNumberStart=s,o.renderConfig=w,o.marginLeft=S,o.marginRight=C,o.breakType=a,o.pageWidth=D,o.width=0,o.pageHeight=O,o.height=0,o.pageOrient=l;let{defaultHeaderId:k,evenPageHeaderId:A,firstPageHeaderId:ee}=u,{defaultFooterId:j,evenPageFooterId:M,firstPageFooterId:te}=d,N=k==null?``:k,P=j==null?``:j;r===s&&f===i.TRUE?(N=ee==null?``:ee,P=te==null?``:te):r%2==0&&p===i.TRUE&&(N=A==null?``:A,P=M==null?``:M);let F,I;if(N){var ne;if((ne=T.get(N))!=null&&ne.has(D)){var re;F=(re=T.get(N))==null?void 0:re.get(D)}else h&&h.has(N)&&(F=Is(e,h.get(N),t,n,N,!0),T.set(N,new Map([[D,F]])));o.headerId=N}if(P){var R;if((R=E.get(P))!=null&&R.has(D)){var ie;I=(ie=E.get(P))==null?void 0:ie.get(D)}else m&&m.has(P)&&(I=Is(e,m.get(P),t,n,P,!1),E.set(P,new Map([[D,I]])));o.footerId=P}o.originMarginTop=v,o.originMarginBottom=y,o.marginTop=zs(v,F,O),o.marginBottom=zs(y,I,O);let ae=o.sections,oe=ae[ae.length-1],{marginTop:se,marginBottom:ce,marginLeft:le,marginRight:ue}=o,de=D-le-ue,fe=O-se-ce,pe=0;oe&&(pe=oe.top+oe.height);let z=ro(g,_,pe,0,de,fe-pe);return z.parent=o,ae.push(z),o}function Fs(e=J.BODY,t=``){return{sections:[],headerId:``,footerId:``,pageWidth:0,pageHeight:0,pageOrient:L.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,left:0,marginLeft:0,marginRight:0,originMarginTop:0,marginTop:0,originMarginBottom:0,marginBottom:0,breakType:qn.SECTION,st:0,ed:0,skeDrawings:new Map,skeTables:new Map,type:e,segmentId:t}}function Is(e,t,n,r,i,a=!0,o,s=0){let{lists:c,footerTreeMap:l,headerTreeMap:u,localeService:d,pageSize:f,drawings:p,marginLeft:m=0,marginRight:h=0,marginHeader:g=0,marginFooter:_=0}=n,v=(f==null?void 0:f.width)||1/0,y=(f==null?void 0:f.height)||1/0,b={lists:c,footerTreeMap:l,headerTreeMap:u,pageSize:{width:v-m-h,height:Ns(y)-(a?g:_)-5},localeService:d,drawings:p};o==null&&(o=Ps(e,b,r),o.type=a?J.HEADER:J.FOOTER,o.segmentId=i);let x=e.layoutStartPointer[i];e.layoutStartPointer[i]=null;let S=nl(e,t,t.getChildren()[0],o,b,x).pages[0];return e.isDirty&&s<10?(s++,As(e),Is(e,t,n,r,i,a,o,s)):(cs([S]),a?Object.assign(S,{marginTop:g,marginBottom:5}):Object.assign(S,{marginTop:5,marginBottom:_}),S)}function Ls(e,t,n,r,i,a=1/0,o=1/0){var s,c;let{lists:l,footerTreeMap:u,headerTreeMap:d,localeService:f,drawings:p}=t,{skeletonResourceReference:m}=e,{cellMargin:h,tableRows:g,tableColumns:_,tableId:v}=n,{start:y={v:10},end:b={v:10},top:x={v:5},bottom:S={v:5}}=(s=(c=g[r].tableCells[i].margin)==null?h:c)==null?{}:s,C=_[i].size.width.v,w=o,T={lists:l,footerTreeMap:u,headerTreeMap:d,pageSize:{width:C,height:w},marginTop:x.v,marginBottom:S.v,marginLeft:y.v,marginRight:b.v,localeService:f,drawings:p},E=Ps(e,Object.assign({},T,{pageSize:{width:C,height:Number.isFinite(a)?a:w}}),m);return E.type=J.CELL,E.segmentId=v,{page:E,sectionBreakConfig:T}}function Rs(e,t,n,r,i,a,o,s=1/0,c=1/0){let l=n.children[0],{page:u,sectionBreakConfig:d}=Ls(e,r,i,a,o,s,c),{pages:f}=nl(e,t,l,u,d);for(let e of f)e.type=J.CELL,e.segmentId=i.tableId;return cs(f,n.startIndex),ls(e,f),f}function zs(e,t,n){if(!t||t.sections[0].columns[0].lines.length===0)return e;let r=t.height+t.marginTop+t.marginBottom,i=Ns(n);return Math.min(i,Math.max(e,r))}function Bs(){return[]}function Vs(e){return e.length>0&&!/\s|(?![\'])[\!-\@\[-\`\{-\~\u2013-\u203C]/.test(e)}function Hs(e){let t=``;for(let n=0;n<e.length&&Vs(e[n]);n++)t+=e[n];return t}function Us(e,t,n){let r=e;for(let e=0;e<=n;e++)r+=t[e].length;return r}function Ws(e){switch(e){case`–`:case`—`:return .2;case`.`:case`,`:return .8;case`:`:case`;`:return .3;case`،`:case`۔`:return .4;default:return 0}}function Gs(e){let{glyphGroup:t}=e,n=0;for(let e of t){let[t,r]=e.adjustability.shrinkability;n+=t+r}return n}function Ks(e){let{glyphGroup:t}=e,n=0;for(let e of t){let[t,r]=e.adjustability.stretchability;n+=t+r}return n}function qs(e){let t=e.glyphGroup.filter(e=>e.isJustifiable).length,n=e.glyphGroup[e.glyphGroup.length-1];return Zt(n.content)?t-1:t}function Js(e,t,n){for(let r of e.glyphGroup){let e=t<0?r.adjustability.shrinkability[0]:r.adjustability.stretchability[0],i=t<0?r.adjustability.shrinkability[1]:r.adjustability.stretchability[1],a=e*t,o=i*t;r.isJustifiable&&(o+=n),r.width+=a+o,r.xOffset+=a}ja(e.glyphGroup)}function Ys(e,t){let{divides:n}=e;for(let e=0;e<n.length;e++){let r=n[e],{width:i}=r,a=hs(r);if(i!==1/0){if(r.isFull){let e=i-a;if(r.glyphGroup.length>1){let t=r.glyphGroup[r.glyphGroup.length-1],n=Ws(t.content)*t.width;e+=n}let n=0,o=0,s=Gs(r),c=Ks(r);if(e<0&&s>0)n=Math.max(e/s,-1),e=Math.min(e+s,0);else if(t===w.JUSTIFIED){c>0&&(n=Math.min(e/c,1),e=Math.max(e-c,0));let t=qs(r);t>0&&e>0&&(o=e/t,e=0)}(n!==0||o!==0)&&(Js(r,n,o),a=hs(r))}t===w.CENTER?r.paddingLeft=(i-a)/2:t===w.RIGHT&&(r.paddingLeft=i-a),r.paddingLeft=Math.max(r.paddingLeft,0)}}}function Xs(e){for(let t of e.divides){let e=t.glyphGroup[t.glyphGroup.length-1];if(e&&t.isFull&&Yt(e.content)&&e.width-e.xOffset>e.bBox.width){let t=e.width-e.xOffset-e.bBox.width;e.width-=t,e.adjustability.shrinkability[1]=0}}}function Zs(e){for(let t of e.divides){let e=t.glyphGroup.length;if(e<2)continue;let n=t.glyphGroup[0],r=t.glyphGroup[e-1];if(mn(n.content)){let e=n.adjustability.shrinkability[0];Fa(n,e)}if(pn(r.content)){let e=r.adjustability.shrinkability[1];Pa(r,e)}ja(t.glyphGroup)}}function Qs(e,t,n,r,i){for(let t of e.divides){let{glyphGroup:e,breakType:n}=t,a=e[e.length-1];if(a&&Vs(a.content)&&n===Di.Hyphen){let e=Da(vs(a,r,i));e.parent=a.parent,e.left=a.left+a.width,t.glyphGroup.push(e),t.width-=e.width}}}function $s(e,t,n,r){let{endIndex:i}=n,a=t.getParagraph(i)||{startIndex:0};ds(e,e=>{if(e.paragraphIndex!==a.startIndex)return;let{paragraphStyle:i={}}=a,{horizontalAlign:o=w.UNSPECIFIED}=i;Zs(e),Xs(e),Qs(e,t,n,r,i),Ys(e,o)})}function ec(e,t,n){return tc(e,t,n)}function tc(e,t,n){return n===A.DECIMAL?nc(e,t):n===A.DECIMAL_ZERO?rc(e,t):n===A.UPPER_LETTER?ic(e,t):n===A.LOWER_LETTER?ac(e,t):n===A.UPPER_ROMAN?oc(e,t):n===A.LOWER_ROMAN?sc(e,t):nc(e,t)}function nc(e,t){return(e+t).toString()}function rc(e,t){let n=e+t;return n<10?`0${n}`:n.toString()}function ic(e,t){return Fe(e+t-1,!0)}function ac(e,t){return Fe(e+t-1,!1)}function oc(e,t){return cc(e+t,!0)}function sc(e,t){return cc(e+t,!1)}function cc(e,t=!1){let n={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1},r={m:1e3,cm:900,d:500,cd:400,c:100,xc:90,l:50,xl:40,x:10,ix:9,v:5,iv:4,i:1};t&&(r=n);let i=``;for(let t in r)for(;e>=r[t];)i+=t,e-=r[t];return i}function lc(e,t,n,r){if(!e||!t)return;let{listId:i,listType:a,nestingLevel:o=0,textStyle:s}=e,c=t[a];if(!c||!c.nestingLevel){var l;return uc(i,n==null||(l=n[o])==null?void 0:l.startIndexItem)}if(!c.nestingLevel[o]){var u;return uc(i,n==null||(u=n[o])==null?void 0:u.startIndexItem)}return dc(i,o,c.nestingLevel,n,s,r)}function uc(e,t=1){return{listId:e,symbol:`●`,ts:{ff:`Arial`,fs:9},startIndexItem:t,paragraphProperties:{indentFirstLine:{v:0},hanging:{v:21},indentStart:{v:0}}}}function dc(e,t,n,r,i,a){var o,s;let c=n[t],{bulletAlignment:l,glyphFormat:u,textStyle:d={},glyphType:f,glyphSymbol:p}=c,m={...i,...d},h=qt(m),g;g=p||fc(u,t,n,r);let _=(o=r==null||(s=r[t])==null?void 0:s.startIndexItem)==null?1:o;return{listId:e,symbol:g,ts:m,fontStyle:h,startIndexItem:_+1,nestingLevel:c,bulletAlign:l,bulletType:p?!1:!!f,paragraphProperties:c.paragraphProperties}}function fc(e,t,n,r){let i=e.split(`%`),a=[i[0]];for(let e=1;e<i.length;e++){var o;let s=i[e],{level:c,suffix:l}=mc(s),u=(r==null||(o=r[c])==null?void 0:o.startIndexItem)||1;c!==t&&(r==null?void 0:r[c])!==null&&--u;let d=pc(u,n[c]);a.push(d,l)}return a.join(``)}function pc(e=1,t){let{startNumber:n,glyphType:r,glyphSymbol:i}=t;return i||(r?ec(e,n,r):`●`)}function mc(e){if(e===``)return{level:0,suffix:``};let t=e.split(``),n=``,r=``,i=!1,a=/[0-9]/g;return t.forEach(e=>{!i&&a.test(`${n}${e}`)?n+=e:(i=!0,r+=e)}),{level:Number.parseInt(n)-1,suffix:r}}function hc(e,t){if(!e||!t)return;let{listId:n,nestingLevel:r}=e,i=t==null?void 0:t.get(n),a=r;a<0&&(a=0);let o=[];for(let e=a;e>=0;e--)if(Array.isArray(i==null?void 0:i[e])){var s,c;let t=i[e].length;o[e]=(s=(c=i[e][t-1])==null?void 0:c.bullet)==null?null:s}else o[e]=null;return o}function gc(e,t,n,r){if(!t||!n)return;let{listId:i,nestingLevel:a}=t,o=[...(r==null?void 0:r.get(i))||[]];o[a]==null&&(o[a]=[]),o[a].push({bullet:n,paragraph:e}),o.splice(a+1),r==null||r.set(i,o)}function _c(e){let{drawingId:t}=e;return{drawingId:t,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:e,columnLeft:0,lineHeight:0,lineTop:0,blockAnchorTop:0,isPageBreak:!1}}function vc(e){return e.pageNumber+1}function yc(e,t,n,r,i,a,o){let{skeletonResourceReference:s}=e,{lists:c,drawings:l={},localeService:u}=a,{endIndex:d,blocks:f=[],children:p}=i,{segmentId:m}=r,h=t.getParagraph(d)||{startIndex:0},{paragraphStyle:_={},bullet:v}=h,{skeHeaders:y,skeFooters:b,skeListLevel:x,drawingAnchor:S}=s,C=new Map,w=new Map,T=S==null?void 0:S.get(m);T==null&&(T=new Map,S==null||S.set(m,T));let E={paragraphIndex:d,paragraphStyle:B.deepClone(_),paragraphNonInlineSkeDrawings:C,paragraphInlineSkeDrawings:w,skeTablesInParagraph:o?[{tableId:o.tableId,table:o,hasPositioned:!1,isSlideTable:!1,tableNode:p[0]}]:void 0,skeHeaders:y,skeFooters:b,pDrawingAnchor:T},D=e.paragraphConfigCache.get(m);if(D==null&&(D=new Map,e.paragraphConfigCache.set(m,D)),D.has(d)){var O;E.bulletSkeleton=(O=D.get(d))==null?void 0:O.bulletSkeleton}else{let e=lc(v,c,hc(v,x),u);gc(h,v,e,x),E.bulletSkeleton=e}for(let e=0,n=f.length;e<n;e++){let n=f[e],r=t.getCustomBlock(n);if(r==null)continue;let{blockId:i}=r,a=l[i];a.layoutType===R.INLINE?w.set(i,_c(a)):C.set(i,_c(a))}D.set(d,E);let k=[r],A=!0;for(let[t,{text:r,glyphs:i,breakPointType:o}]of n.entries()){let t=()=>{i.length!==0&&(k=bo(e,i,k,a,E,A,o),A=!1)};if(r.endsWith(g.PAGE_BREAK)){t(),k.push(Ps(e,a,s,vc(k[k.length-1]),qn.PAGE)),C.clear(),w.clear();continue}else if(r.endsWith(g.COLUMN_BREAK)){t();let n=k[k.length-1],r=es(n);r&&!r.isLast?io(r.column,!0):k.push(Ps(e,a,s,vc(n),qn.COLUMN));continue}t()}return k}let Q=function(e){return e.Af=`af`,e.As=`as`,e.Be=`be`,e.Bg=`bg`,e.Bn=`bn`,e.Ca=`ca`,e.Cop=`cop`,e.Cs=`cs`,e.Cu=`cu`,e.Cy=`cy`,e.Da=`da`,e.De1901=`de-1901`,e.De1996=`de-1996`,e.DeCh1901=`de-ch-1901`,e.ElMonoton=`el-monoton`,e.ElPolyton=`el-polyton`,e.EnGb=`en-gb`,e.EnUs=`en-us`,e.Es=`es`,e.Et=`et`,e.Eu=`eu`,e.Fi=`fi`,e.Fr=`fr`,e.Fur=`fur`,e.Ga=`ga`,e.Gl=`gl`,e.Grc=`grc`,e.Gu=`gu`,e.Hi=`hi`,e.Hr=`hr`,e.Hsb=`hsb`,e.Hu=`hu`,e.Hy=`hy`,e.Ia=`ia`,e.Id=`id`,e.Is=`is`,e.It=`it`,e.Ka=`ka`,e.Kmr=`kmr`,e.Kn=`kn`,e.LaXClassic=`la-x-classic`,e.LaXLiturgic=`la-x-liturgic`,e.La=`la`,e.Lt=`lt`,e.Lv=`lv`,e.Ml=`ml`,e.MnCyrlXLmc=`mn-cyrl-x-lmc`,e.MnCyrl=`mn-cyrl`,e.Mr=`mr`,e.MulEthi=`mul-ethi`,e.Nb=`nb`,e.Nl=`nl`,e.Nn=`nn`,e.No=`no`,e.Oc=`oc`,e.Or=`or`,e.Pa=`pa`,e.Pi=`pi`,e.Pl=`pl`,e.Pms=`pms`,e.Pt=`pt`,e.Rm=`rm`,e.Ro=`ro`,e.Ru=`ru`,e.Sa=`sa`,e.ShCyrl=`sh-cyrl`,e.ShLatn=`sh-latn`,e.Sk=`sk`,e.Sl=`sl`,e.SrCyrl=`sr-cyrl`,e.Sv=`sv`,e.Ta=`ta`,e.Te=`te`,e.Th=`th`,e.Tk=`tk`,e.Tr=`tr`,e.Uk=`uk`,e.ZhLatnPinyin=`zh-latn-pinyin`,e.UNKNOWN=`unknown`,e}({});function bc(e){return e.length>0&&e===e.toUpperCase()}var xc=class{constructor(e,t,n,r=!1){this._lineBreaker=e,this._hyphen=t,this._lang=n,this._doNotHyphenateCaps=r,K(this,`_curBreak`,null),K(this,`_nextBreak`,new Oi(0)),K(this,`_isInWord`,!1),K(this,`_word`,``),K(this,`_hyphenIndex`,-1),K(this,`_hyphenSlice`,[]),K(this,`content`,``),this.content=e.content}nextBreakPoint(){if(!this._isInWord){if(this._curBreak=this._nextBreak,this._nextBreak=this._lineBreaker.nextBreakPoint(),this._nextBreak==null||this._curBreak==null)return null;let e=Hs(this.content.slice(this._curBreak.position,this._nextBreak.position));return e.length&&!(bc(e)&&this._doNotHyphenateCaps)&&this._nextBreak.type!==Di.Link?(this._isInWord=!0,this._word=e,this._hyphenSlice=this._hyphen.hyphenate(this._word,this._lang),this._hyphenIndex=0,this.nextBreakPoint()):this._nextBreak}else if(this._hyphenIndex<this._hyphenSlice.length-1){let e=Us(this._curBreak.position,this._hyphenSlice,this._hyphenIndex);return this._hyphenIndex++,new Oi(e,Di.Hyphen)}else return this._isInWord=!1,this._word=``,this._hyphenSlice=[],this._hyphenIndex=-1,this._nextBreak}},Sc=function(e){return e.Alphabetic=`Alphabetic`,e.Digit=`Digit`,e.Open=`Open`,e.Other=`Other`,e}(Sc||{});function Cc(e){return/[a-z]/i.test(e)?Sc.Alphabetic:/[0-9]/.test(e)?Sc.Digit:e===`(`||e===`[`?Sc.Open:Sc.Other}function wc(e){let t=[],n=0,r=Sc.Other;for(let i=0;i<e.length;i++){let a=e[i],o=Cc(a);if(i>0&&r!==Sc.Open&&(o===Sc.Other?o===Sc.Other:o!==r)){let a=e.slice(n,i);if(a.length<16)t.push(a);else for(let e=0;e<a.length;e++)t.push(a[e]);n=i,r=o}}return t}const Tc=/[a-z\d!#$%&*+,-./:;=?@_~\\]/i,Ec=/[!,.;:?']$/g;function Dc(e,t){let n=``;for(let r=t;r<e.length;r++){let t=e[r];if(Tc.test(t))n+=t;else break}return n.replace(Ec,``),n}var Oc=class{constructor(e){this._lineBreaker=e,K(this,`_curBreak`,null),K(this,`_nextBreak`,new Oi(0)),K(this,`_isInLink`,!1),K(this,`_link`,``),K(this,`_index`,-1),K(this,`_linkSlice`,[]),K(this,`content`,``),this.content=e.content}nextBreakPoint(){if(!this._isInLink){if(this._curBreak=this._nextBreak,this._nextBreak=this._lineBreaker.nextBreakPoint(),this._nextBreak==null||this._curBreak==null)return null;let e=this.content.slice(this._curBreak.position,this._nextBreak.position);if(e.length&&(e.endsWith(`://`)||e.startsWith(`www.`))){for(this._isInLink=!0,this._link=Dc(this.content,this._curBreak.position),this._linkSlice=wc(this._link),this._index=0;this._nextBreak&&this._nextBreak.position<this._curBreak.position+this._link.length;)this._nextBreak=this._lineBreaker.nextBreakPoint();return this.nextBreakPoint()}else return this._nextBreak}else if(this._index<this._linkSlice.length-1){let e=Us(this._curBreak.position,this._linkSlice,this._index);return this._index++,new Oi(e,Di.Link)}else return this._isInLink=!1,this._link=``,this._linkSlice=[],this._index=-1,this._nextBreak}};function kc(e){e.addRule(`break_before_and_after_slash_b`,(e,t)=>e===8||t===8)}function Ac(e){e.addRule(`break_before_tab`,e=>e===9)}var jc=function(e){return e[e.EQUAL=0]=`EQUAL`,e[e.GREATER=1]=`GREATER`,e[e.LESS=2]=`LESS`,e}(jc||{}),Mc=function(e){return e[e.Normal=0]=`Normal`,e[e.Italic=1]=`Italic`,e[e.Oblique=2]=`Oblique`,e}(Mc||{}),Nc=function(e){return e[e.THIN=100]=`THIN`,e[e.EXTRALIGHT=200]=`EXTRALIGHT`,e[e.LIGHT=300]=`LIGHT`,e[e.REGULAR=400]=`REGULAR`,e[e.MEDIUM=500]=`MEDIUM`,e[e.SEMIBOLD=600]=`SEMIBOLD`,e[e.BOLD=700]=`BOLD`,e[e.EXTRABOLD=800]=`EXTRABOLD`,e[e.BLACK=900]=`BLACK`,e}(Nc||{});function Pc(e){let{family:t,style:n}=e,r=Mc.Normal,i=Nc.REGULAR;switch(/italic/i.test(n)&&(r=Mc.Italic),!0){case/thin|hairline/i.test(n):i=Nc.THIN;break;case/(extra|ultra) *light/i.test(n):i=Nc.EXTRALIGHT;break;case/light/i.test(n):i=Nc.LIGHT;break;case/medium/i.test(n):i=Nc.MEDIUM;break;case/(semi|demi) *bold/i.test(n):i=Nc.SEMIBOLD;break;case/bold/i.test(n):i=Nc.BOLD;break;case/(extra|ultra) *bold/i.test(n):i=Nc.EXTRABOLD;break;case/black|heavy/i.test(n):i=Nc.BLACK;break}return{family:t,variant:{style:r,weight:i}}}function Fc(e){let{ff:t,bl:n=i.FALSE,it:r=i.FALSE}=e;return{family:t==null?`Arial`:t,variant:{style:r===i.TRUE?Mc.Italic:Mc.Normal,weight:n===i.TRUE?Nc.BOLD:Nc.REGULAR}}}function Ic(e,t){let n=1/0;n=e.variant.style===t.variant.style?0:e.variant.style!==Mc.Normal&&t.variant.style!==Mc.Normal?1:2;let r=Math.abs(e.variant.weight-t.variant.weight);return[n,r]}function Lc(e,t){return e[0]===t[0]&&e[1]===t[1]?jc.EQUAL:e[0]===t[0]?e[1]>t[1]?jc.GREATER:jc.LESS:e[0]>t[0]?jc.GREATER:jc.LESS}async function Rc(){var e;if(typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope||typeof window>`u`||window.navigator==null||((e=window.navigator)==null?void 0:e.permissions)==null)return!1;try{return(await window.navigator.permissions.query({name:`local-fonts`})).state===`granted`}catch{return!1}}const zc=new class{constructor(){K(this,`isReady`,!1),K(this,`_fontBook`,new Map),this._loadFontsToBook()}async _loadFontsToBook(){if(!this.isReady&&!(!await Rc()||!(`queryLocalFonts`in window))&&!(typeof navigator==`object`&&navigator.userAgent.includes(`Electron`)))try{let e=await window.queryLocalFonts({postscriptNames:[]});for(let t of e){let{family:e,style:n}=t,r=this._fontBook.get(e);r==null&&(r=new Map,this._fontBook.set(e,r));let i=await(await t.blob()).arrayBuffer();r.set(n,{font:t,buffer:i})}this.isReady=!0}catch(e){console.error(e)}}findBestMatchFontByStyle(e){let t=e.ff,n=this._fontBook.get(t);if(n==null)return;let r=null,i=[1/0,1/0];for(let t of n.values()){let{font:n}=t,a=Ic(Pc(n),Fc(e));(r==null||Lc(i,a)===jc.GREATER)&&(r=t,i=a)}return r}getValidFontFamilies(e){return e.filter(e=>this._fontBook.has(e))}};function Bc(e,t){let{dataStream:n,paragraphs:r=[],textRuns:i=[]}=e,a=0;for(let e=0;e<r.length;e++){let{startIndex:n}=r[e];if(n===t)break;a=n+1}let o=[];for(let e of i){let{st:n,ed:r}=e;n>=a&&n<=t?o.push({...e,st:n-a,ed:Math.min(r,t)-a}):r>=a&&r<=t&&o.push({...e,st:Math.max(n,a)-a,ed:r-a})}return{dataStream:n.substring(a,t+1),textRuns:o}}function Vc(e){let{dataStream:t,textRuns:n=[]}=e,r=0,i=[];for(let e of n){let{st:n,ed:a,ts:o={}}=e;n!==r&&i.push({content:t.substring(r,n)}),i.push({content:t.substring(n,a),style:o}),r=a}return r!==t.length&&i.push({content:t.substring(r)}),i}const Hc=new Map,Uc=new Map;function Wc(e,t,n,r,a){var o,s,c;let l=0,u=r[l];for(;n.has(u);)l++,u=r[l];if(!u)return[{char:e,start:t,end:t+e.length,glyph:null,font:null,kerning:0,boundingBox:null}];n.add(u);let{font:d,buffer:f}=zc.findBestMatchFontByStyle({ff:u,bl:(o=a.bl)==null?i.FALSE:o,it:(s=a.it)==null?i.FALSE:s}),p=Hc.get(d.fullName);p||(p=Qe(f),Hc.set(d.fullName,p));let m=[],h=p.stringToGlyphs(e),g=(c=e.match(/[\s\S]/gu))==null?[]:c,_=0,v=0;for(;_<h.length;){var y;let i=h[_];if(i.index!==0)m.push({char:g[_],start:v+t,end:v+t+g[_].length,glyph:i,font:p,kerning:0,boundingBox:i.getBoundingBox()});else{let i=v,o=sn(e.substring(i));if(o&&cn(o)){let s=0;do s+=g[_].length,v+=g[_].length,_++;while(s<o.length);m.push(...Wc(e.slice(i,i+o.length),t+i,n,r,a));continue}else{let o=h[_+1],s=g[_+1];for(;(o==null?void 0:o.index)===0&&!cn(s);)v+=g[_].length,_++,o=h[_+1],s=g[_+1];m.push(...Wc(e.slice(i,v+g[_].length),t+i,n,r,a))}}v+=(y=g[_])==null?void 0:y.length,_++}return n.delete(u),m}function Gc(e){if(e.length<2)return;let t=e[0].font,n=e[0].glyph;for(let r=1;r<e.length;r++){let{font:i,glyph:a}=e[r];if(t!==i||i==null||n==null||a==null){t=i,n=a;continue}let o=i.getKerningValue(n,a);o!==0&&(e[r].kerning=o),t=i,n=a}}function Kc(e){if(!zc.isReady)return[];let t=JSON.stringify(e);if(Uc.has(t))return Uc.get(t);let n=Vc(e),r=[],i=0;for(let e of n){var a;let{content:t,style:n={}}=e,o=ct.split(`,`).map(e=>e.trim().replace(/["']/g,``));o.unshift((a=n.ff)==null?`Arial`:a),o=zc.getValidFontFamilies(o),r.push(...Wc(t,i,new Set,o,n)),i+=t.length}return Gc(r),Uc.set(t,r),r}function qc(e,t,n,r,i,a){let o=[],s=0,c=t;for(;c.length;){var l;let u=(l=c.match(/^[\s\S]/gu))==null?void 0:l[0];if(u==null||fn(u)||ln(t.substring(s)))break;let d=Ta(u,xs(e+s,n,r,i,a));o.push(d),c=c.substring(u.length),s+=u.length}return{step:s,glyphGroup:o}}function Jc(e,t,n,r,i,a){let o=xs(e,n,r,i,a),s=[],c=0;for(let e=0;e<t.length;e++){let n=t[e];if(un(n))s.unshift(n),c++;else break}return{step:c,glyphGroup:[Ta(s.join(``),o)]}}function Yc(e,t,n,r,i,a){let o=xs(e,n,r,i,a),s=sn(t)||t[0];return{step:s.length,glyphGroup:[Ta(s,o)]}}function Xc(e,t,n,r,i,a){let o=xs(e,n,r,i,a),s=[],c=0;for(let e=0;e<t.length;e++){let n=t[e];if(dn(n))s.push(n),c++;else break}return{step:c,glyphGroup:[wa(s.join(``),o)]}}function Zc(e){let t=e.length;for(let n=0;n<t-1;n++){let t=e[n],r=e[n+1],{width:i,content:a}=t,o=i/2;if($t(a)&&$t(r.content)&&t.adjustability.shrinkability[1]+r.adjustability.shrinkability[0]>=o){let e=Math.min(t.adjustability.shrinkability[1],o);Pa(t,e),Fa(r,o-e)}}}function Qc(e){let t=e.flatMap(e=>e.glyphs),n=null,r=t.length,i=/[a-z\d]/i;for(let e=0;e<r;e++){let a=t[e],o=e<r-1?t[e+1]:null,{width:s}=a;Yt(a.content)&&o&&i.test(o.content)&&(a.width+=s/4,a.adjustability.shrinkability[1]+=s/8),Yt(a.content)&&n&&i.test(n.content)&&(a.width+=s/4,a.xOffset+=s/4,a.adjustability.shrinkability[0]+=s/8),n=a}}function $c(e,t){let{suppressHyphenation:n=i.FALSE}=e,{autoHyphenation:r=i.FALSE}=t;return n===i.FALSE&&r===i.TRUE}function el(e,t,n,r,a,o=!1){let{gridType:s=C.LINES,charSpace:c=0,defaultTabStop:l=10.5,drawings:u={}}=a,d=[],f=new ca(t),{endIndex:p}=r,m=n.getParagraph(p)||{startIndex:0},{paragraphStyle:h={}}=m,{snapToGrid:_=i.TRUE}=h,v=0,y,b=0,{hyphen:x,languageDetector:S}=e,w=Bc(n.getBody(),p),T=[];o&&(T=Kc(w)),Ac(f),kc(f),f=new Oc(f);let E=S.detect(t),D=$c(h,a),O=a.doNotHyphenateCaps===i.TRUE;for(E!==Q.UNKNOWN&&D&&(x.hasPattern(E)?f=new xc(f,x,E,O):x.loadPattern(E));y=f.nextBreakPoint();){let e=t.slice(v,y.position),f=[];if(zc.isReady&&o){let e=[],t=0;for(t=b;t<T.length;t++){let n=T[t],{end:r}=n;if(r>y.position)break;e.push(n)}b=t;for(let t of e){let{start:e,char:i}=t,o=xs(e,n,r,a,m);if(i===g.TAB){let e=Ea(o,is(c,l,s,_));f.push(e)}else if(ln(i)){let e=Ta(i,o);f.push(e)}else{let e=Ta(i,o,void 0,t);f.push(e)}}}else{let t=e,o=v;for(;t.length>0;){var k;let e=(k=t.match(/^[\s\S]/gu))==null?void 0:k[0];if(e==null)break;if(e===g.CUSTOM_BLOCK){let i=xs(o,n,r,a,m),s=null,c=n.getCustomBlockWithoutSetCurrentIndex(r.startIndex+o);if(c!=null){let{blockId:e}=c,t=u[e];if(t.layoutType===R.INLINE){let{angle:e}=t.docTransform,{width:n=0,height:r=0}=t.docTransform.size,a=qa(e,0,n,0,r);s=Oa(i,a.width,a.height,t.drawingId)}else s=Oa(i,0,0,t.drawingId)}s==null&&(s=Ta(e,i)),f.push(s),o+=e.length,t=t.substring(e.length)}else if(/\s/.test(e)||Zt(e)){let u=xs(o,n,r,a,m),d=null;if(e===g.TAB)d=Ea(u,is(c,l,s,_));else if(e===g.PARAGRAPH){var A;d=((A=a.renderConfig)==null?void 0:A.zeroWidthParagraphBreak)===i.TRUE?Ta(e,u,0):Ta(e,u)}else d=Ta(e,u);f.push(d),o+=e.length,t=t.substring(e.length)}else if(ln(t)){let{step:e,glyphGroup:i}=Yc(o,t,n,r,a,m);f.push(...i),o+=e,t=t.substring(e)}else if(un(e)){let{step:e,glyphGroup:i}=Jc(o,t,n,r,a,m);f.push(...i),o+=e,t=t.substring(e)}else if(dn(e)){let{step:e,glyphGroup:i}=Xc(o,t,n,r,a,m);f.push(...i),o+=e,t=t.substring(e)}else{let{step:e,glyphGroup:i}=qc(o,t,n,r,a,m);f.push(...i),o+=e,t=t.substring(e)}}}Zc(f);let p=[[]];for(let e=0;e<f.length;e++){let t=p[p.length-1],n=f[e];n.streamType===g.CUSTOM_BLOCK&&n.width!==0?(t.length===0&&p.pop(),p.push([n])):t.push(n)}let h=p[p.length-1];for(let e of p){let t=e.map(e=>e.content).join(``);d.push({text:t,glyphs:e,breakPointType:e===h?y.type:Di.Normal})}v=y.position}return Qc(d),d}function tl(e,t,n,r,i){_s();let{content:a=``,children:o}=n,s=null;o.length===1&&o[0].nodeType===h.TABLE&&(s=oo(e,r,t,o[0],i));let c=yc(e,t,el(e,a,t,n,i),r,n,i,s);return $s(c,t,n,i),c}function nl(e,t,n,r,i,a){let o=[],s=new Map,c=0;if(a!=null){let{startIndex:e,endIndex:t}=n;if(a>=e&&a<=t){for(let e=0;e<n.children.length;e++)if(n.children[e].endIndex===a){c=e;break}}}for(let a=c;a<n.children.length;a++){let s=n.children[a],c=[],l=r;if(o.length>0&&(l=o[o.length-1]),s.nodeType===h.PARAGRAPH&&(e.paragraphsOpenNewPage.has(s.endIndex)&&(l=Ps(e,i,e.skeletonResourceReference,l.pageNumber+1)),c=tl(e,t,s,l,i)),c.length===0&&(c=Bs()),il(o,c),e.isDirty)break}let{segmentId:l}=r;return e.isDirty&&e.layoutStartPointer[l]!=null&&rl(e.layoutStartPointer[l],o),{pages:o,renderedBlockIdMap:s}}function rl(e,t){let n=!1;for(let r=0;r<t.length;r++){let i=t[r];for(let t=0;t<i.sections.length;t++){let r=i.sections[t];for(let t=0;t<r.columns.length;t++){let i=r.columns[t];for(let t=0;t<i.lines.length;t++)if(i.lines[t].paragraphIndex===e){n=!0,i.lines.splice(t);break}if(n){let e=i.lines.length?t+1:t;e=Math.max(e,1);let n=e-1;n>=0&&(r.columns[n].isFull=!1),r.columns.splice(e);break}}if(n){let e=t+1;i.sections.splice(e);break}}if(n){let e=r+1;t.splice(Math.max(e,1));break}}}function il(e,t){e[e.length-1]===t[0]&&t.splice(0,1),e.push(...t)}const al={[Q.Af]:()=>import(`./af-BgLqt_da.js`),[Q.As]:()=>import(`./as-Du4tN0Ur.js`),[Q.Be]:()=>import(`./be-C3yH1opV.js`),[Q.Bg]:()=>import(`./bg-s3p5bYFo.js`),[Q.Bn]:()=>import(`./bn-B7wXiv_8.js`),[Q.Ca]:()=>import(`./ca-RVapQRyT.js`),[Q.Cop]:()=>import(`./cop-bjDi266F.js`),[Q.Cs]:()=>import(`./cs-CoVIEP81.js`),[Q.Cu]:()=>import(`./cu-BkKAYwnk.js`),[Q.Cy]:()=>import(`./cy-BICL1WFP.js`),[Q.Da]:()=>import(`./da-D_GhAfkh.js`),[Q.De1901]:()=>import(`./de-1901-DayEVQkI.js`),[Q.De1996]:()=>import(`./de-1996-BYKyJe0q.js`),[Q.DeCh1901]:()=>import(`./de-ch-1901-Ba40vark.js`),[Q.ElMonoton]:()=>import(`./el-monoton-HSG2xPo1.js`),[Q.ElPolyton]:()=>import(`./el-polyton-BJPjBDLC.js`),[Q.EnGb]:()=>import(`./en-gb-Cr-964h0.js`),[Q.EnUs]:()=>import(`./en-us-DWhJMag6.js`).then(e=>e.n),[Q.Es]:()=>import(`./es-BUuaiz9d.js`),[Q.Et]:()=>import(`./et-C015_x8l.js`),[Q.Eu]:()=>import(`./eu-B3aIU9f5.js`),[Q.Fi]:()=>import(`./fi-B7ruvwh_.js`),[Q.Fr]:()=>import(`./fr-DV3gbTtF.js`),[Q.Fur]:()=>import(`./fur-spIwr8JD.js`),[Q.Ga]:()=>import(`./ga-C7B_l0aA.js`),[Q.Gl]:()=>import(`./gl-CYJLl1WS.js`),[Q.Grc]:()=>import(`./grc-lz-yc01Y.js`),[Q.Gu]:()=>import(`./gu-CJE3TA6Y.js`),[Q.Hi]:()=>import(`./hi-Bj3BNvk5.js`),[Q.Hr]:()=>import(`./hr-DeSYyEPF.js`),[Q.Hsb]:()=>import(`./hsb-BuISF7qw.js`),[Q.Hu]:()=>import(`./hu-Er-06LwB.js`),[Q.Hy]:()=>import(`./hy-BXJNxqDS.js`),[Q.Ia]:()=>import(`./ia-BFEP1l4_.js`),[Q.Id]:()=>import(`./id-G3HdH_d6.js`),[Q.Is]:()=>import(`./is-CuyM1Klv.js`),[Q.It]:()=>import(`./it-B9L3-zuK.js`),[Q.Ka]:()=>import(`./ka-CJ-8-XpP.js`),[Q.Kmr]:()=>import(`./kmr-Dw4PR7jc.js`),[Q.Kn]:()=>import(`./kn-rBR7srAc.js`),[Q.La]:()=>import(`./la-CukZIpJk.js`),[Q.LaXClassic]:()=>import(`./la-x-classic-C1yWfepN.js`),[Q.LaXLiturgic]:()=>import(`./la-x-liturgic-TEBpiN34.js`),[Q.Lt]:()=>import(`./lt-CrGt2gN6.js`),[Q.Lv]:()=>import(`./lv-DwbelNo9.js`),[Q.Ml]:()=>import(`./ml-DTO45b_Q.js`),[Q.MnCyrl]:()=>import(`./mn-cyrl-yssyJoKJ.js`),[Q.MnCyrlXLmc]:()=>import(`./mn-cyrl-x-lmc-JGPgf2kt.js`),[Q.Mr]:()=>import(`./mr-Cn5FkCE4.js`),[Q.MulEthi]:()=>import(`./mul-ethi-BCzIBO0s.js`),[Q.Nb]:()=>import(`./nb-CAZy0PAe.js`),[Q.Nl]:()=>import(`./nl-BbagbLIQ.js`),[Q.Nn]:()=>import(`./nn-8o8kF0QI.js`),[Q.No]:()=>import(`./no-Dr-IfZLk.js`),[Q.Oc]:()=>import(`./oc-DVWI3UsM.js`),[Q.Or]:()=>import(`./or-uw_w64QL.js`),[Q.Pa]:()=>import(`./pa-Dnz892V-.js`),[Q.Pi]:()=>import(`./pi-D3hJsesb.js`),[Q.Pl]:()=>import(`./pl-DshNXgcE.js`),[Q.Pms]:()=>import(`./pms-BR5uiSUR.js`),[Q.Pt]:()=>import(`./pt-BsHJqljm.js`),[Q.Rm]:()=>import(`./rm-BSIcXoZY.js`),[Q.Ro]:()=>import(`./ro-9R0s2zeK.js`),[Q.Ru]:()=>import(`./ru-CSzZJIz9.js`),[Q.Sa]:()=>import(`./sa-BGGyneYN.js`),[Q.ShCyrl]:()=>import(`./sh-cyrl-8_DTEoVS.js`),[Q.ShLatn]:()=>import(`./sh-latn-DeJ02FJ1.js`),[Q.Sk]:()=>import(`./sk-1hHvxRtp.js`),[Q.Sl]:()=>import(`./sl-DvSuPJlx.js`),[Q.SrCyrl]:()=>import(`./sr-cyrl-CtUccM93.js`),[Q.Sv]:()=>import(`./sv-cd05KdUF.js`),[Q.Ta]:()=>import(`./ta-EjXVByNP.js`),[Q.Te]:()=>import(`./te-y3SgNGG-.js`),[Q.Th]:()=>import(`./th-BwaOkloW.js`),[Q.Tk]:()=>import(`./tk-DhDKYuYK.js`),[Q.Tr]:()=>import(`./tr-CjaKpakU.js`),[Q.Uk]:()=>import(`./uk-BDaGXfoU.js`),[Q.ZhLatnPinyin]:()=>import(`./zh-latn-pinyin-CV1Y2jRQ.js`)};function ol(e){let[t,n]=e;return{levelsTable:t.split(`,`),pattern:JSON.parse(n)}}function sl(e){return e.split(`-`).filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function cl(e){let t=0,n=e;function r(){return n=e.slice(t++),n.length<3?[]:n}function i(){return t===2}return[r,i]}function ll(e){let t=0;function n(){return e[t++]}function r(){return e.length===t+1}return[n,r]}var ul=class t{static getInstance(){return this._instance==null&&(this._instance=new t),this._instance}constructor(){K(this,`_patterns`,new Map),K(this,`_hyphenCache`,new Map),this._preloadPatterns(),this.loadPattern(Q.EnGb)}_preloadPatterns(){this._patterns.set(Q.EnUs,ol(e)),this._loadExceptionsToCache(Q.EnUs,e)}_loadExceptionsToCache(e,t){if(t.length<3)return;let n=t[2];for(let t of n){let n=t.replace(/-/g,``),r=t.split(`-`),i=this._hyphenCache.get(e);i==null&&(i=new Map,this._hyphenCache.set(e,i)),i.set(n,r)}}async loadPattern(e){let t=al[e];if(!t)return;let n=await t(),r=Array.isArray(n)?n:n==null?void 0:n[sl(e)];r!=null&&(this._patterns.set(e,ol(r)),this._loadExceptionsToCache(e,r))}fetchHyphenCache(e){return this._hyphenCache.get(e)}hasPattern(e){return this._patterns.has(e)}hyphenate(e,t){let n=this._hyphenCache.get(t);if(n!=null&&n.has(e))return n.get(e);if(!this._patterns.has(t))throw Error(`Language pattern not found for ${t}, please load pattern before hyphenating`);let{levelsTable:r,pattern:i}=this._patterns.get(t),a=Array(e.length+1).fill(0),[o,s]=cl(`.${e.toLocaleLowerCase()}.`.split(``)),c,l,u,d,f,p,m=-1,h,g,_;for(;(c=o()).length>0;)for(m++,s()&&m--,u=i,h=ll(c),g=h[0],_=h[1];(l=g())&&u[l]!==void 0;)if(d=u[l],u=d[0],f=d[1],u===void 0&&(u={},f=d),!_()&&f!==void 0){p=r[f];for(let e=0;e<p.length;e++)a[m+e]=Math.max(+p[e],a[m+e])}a[0]=a[1]=a[a.length-1]=a[a.length-2]=0;let v=``;for(let t=0;t<a.length;t++)v+=(a[t]%2==1?`-`:``)+e.charAt(t);n==null&&(n=new Map,this._hyphenCache.set(t,n));let y=v.split(`-`);return n.set(e,y),y}dispose(){this._patterns.clear(),this._hyphenCache.clear()}};K(ul,`_instance`,null);const dl={spa:Q.Es,eng:Q.EnUs,rus:Q.Ru,ben:Q.Bn,hin:Q.Hi,por:Q.Pt,ind:Q.Id,fra:Q.Fr,deu:Q.De1901,tel:Q.Te,mar:Q.Mr,ita:Q.It,tam:Q.Ta,tur:Q.Tr,guj:Q.Gu,pol:Q.Pl,ukr:Q.Uk,kan:Q.Kn,mal:Q.Ml,ron:Q.Ro,pan:Q.Pa,hrv:Q.Hr,nld:Q.Nl,srp:Q.SrCyrl,tha:Q.Th,uzn:Q.Kmr,zlm:Q.Ml,hun:Q.Hu,ell:Q.ElMonoton,ces:Q.Cs,bel:Q.Be,bul:Q.Bg,swe:Q.Sv,und:Q.UNKNOWN};var fl=class e{constructor(){K(this,`_detectCache`,new Map)}static getInstance(){return this._instance==null&&(this._instance=new e),this._instance}detect(e){var t;let n=this._detectCache.get(e);return n||(n=(t=dl[$e(e)])==null?Q.UNKNOWN:t,this._detectCache.set(e,n),n)}dispose(){this._detectCache.clear()}};K(fl,`_instance`,null);function pl(e){let t=new Set;e.skeleton.pages=e.skeleton.pages.filter(e=>{let n=t.has(e);return t.add(e),!n})}function ml(e){let t=[],n=e,r=n.parent;for(;r;){if(r.pages){let e=r.pages.indexOf(n);e!==-1&&t.unshift(`pages`,e)}else if(r.cells){let e=r.cells.indexOf(n);e!==-1&&t.unshift(`cells`,e)}else if(r.rows){let e=r.rows.indexOf(n);e!==-1&&t.unshift(`rows`,e)}else r.skeTables&&r.skeTables.has(n.tableId)&&t.unshift(`skeTables`,n.tableId);n=r,r=r==null?void 0:r.parent}return t}var hl=class e extends le{constructor(e,t){super(t),this._docViewModel=e,K(this,`_dirty$`,new Ke),K(this,`dirty$`,this._dirty$.asObservable()),K(this,`_skeletonData`,void 0),K(this,`_findLiquid`,new ha),K(this,`_hyphen`,ul.getInstance()),K(this,`_languageDetector`,fl.getInstance()),K(this,`_iteratorCount`,0),K(this,`_initialWidth`,0)}static create(t,n){return new e(t,n)}dispose(){super.dispose(),this._skeletonData=null,this._findLiquid=null,this._docViewModel.dispose(),this._initialWidth=0}getViewModel(){return this._docViewModel}calculate(e){if(!this.dirty)return;let t=this._prepareLayoutContext();this._skeletonData=this._createSkeleton(t,e),this._dirty$.next(!0)}getSkeletonData(){return this._skeletonData}resetInitialWidth(){this._initialWidth=0}getActualSize(){let e=this.getSkeletonData(),t=0,n=0;return e==null||e.pages.forEach(e=>{let{width:r,height:i}=e;t=Math.max(this._initialWidth,r),this._initialWidth=t,n+=i}),{actualWidth:t,actualHeight:n}}_getPageActualWidth(e){let t=-1/0;for(let n of e.sections)for(let e of n.columns)for(let n of e.lines){let e=0;for(let t of n.divides)for(let n of t.glyphGroup)e+=n.width;t=Math.max(t,e)}return t}getPageSize(){return this.getViewModel().getDataModel().documentStyle.pageSize}findPositionByGlyph(e,t){let n=e.parent,r=n==null?void 0:n.parent,i=r==null?void 0:r.parent,a=i==null?void 0:i.parent,o=a==null?void 0:a.parent,s=this.getSkeletonData();if(!n||!i||!a||!o||!s)return;let c=o.type,l=n.glyphGroup.indexOf(e),u=r.divides.indexOf(n),d=i.lines.indexOf(r),f=a.columns.indexOf(i),p=o.sections.indexOf(a),m=-1,h=ml(o);switch(c){case J.HEADER:case J.FOOTER:m=0;break;case J.BODY:m=s.pages.indexOf(o);break;case J.CELL:m=h[1];break;default:throw Error(`Invalid page type`)}return{glyph:l,divide:u,line:d,column:f,section:p,page:m,segmentPage:t,pageType:c,path:h}}findCharIndexByPosition(e){let t=this.findGlyphByPosition(e),n=t==null?void 0:t.parent;if(n==null)return;let{st:r,glyphGroup:i}=n,a=r;for(let e of i){if(e===t)break;a+=e.count}return e.isBack?a:a+t.count}findNodePositionByCharIndex(e,t=!0,n=``,r=-1){let i=this._findNodeByIndex(e,n,r);if(i==null)return;let a=this.getSkeletonData();if(!a)return;let o=a.pages,{glyph:s,divide:c,line:l,column:u,section:d,page:f,segmentPageIndex:p,pageType:m}=i,h=ml(f),g=-1;switch(m){case J.HEADER:case J.FOOTER:g=0;break;case J.BODY:g=o.indexOf(f);break;case J.CELL:g=h[1];break;default:throw Error(`Invalid page type`)}return{glyph:c.glyphGroup.indexOf(s),divide:l.divides.indexOf(c),line:u.lines.indexOf(l),column:d.columns.indexOf(u),section:f.sections.indexOf(d),page:g,pageType:m,segmentPage:p,isBack:t,path:h}}findNodeByCharIndex(e,t=``,n=-1){let r=this._findNodeByIndex(e,t,n);return r==null?void 0:r.glyph}findGlyphByPosition(e){if(e==null)return;let t=this.getSkeletonData();if(t==null)return;let{pages:n,skeFooters:r,skeHeaders:i}=t,{divide:a,line:o,column:s,section:c,segmentPage:l,pageType:u,path:d,isBack:f}=e,{glyph:p}=e,m=null;if(u===J.HEADER||u===J.FOOTER){m=n[l];let{headerId:e,footerId:t,pageWidth:a}=m;if(u===J.HEADER){var h;let t=(h=i.get(e))==null?void 0:h.get(a);if(t==null)return;m=t}else if(u===J.FOOTER){var g;let e=(g=r.get(t))==null?void 0:g.get(a);if(e==null)return;m=e}}else m=Ms(t,d);if(m==null)return;let _=m.sections[c].columns[s].lines[o].divides[a].glyphGroup;return p=Math.min(p,_.length-1),_[p].glyphType===Yn.LIST&&(p+=1),_[p]}findEditAreaByCoord(e,t,n,r){let{x:i,y:a}=e,o=_a.BODY,s=-1,c=null,l=this.getSkeletonData();if(l==null)return{editArea:o,page:c,pageNumber:s};this._findLiquid.reset();let{pages:u}=l;for(let e=0,l=u.length;e<l;e++){let l=u[e],{marginTop:d,marginBottom:f,pageWidth:p,pageHeight:m}=l;if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y&&a<this._findLiquid.y+d){o=_a.HEADER,c=l,s=e;break}if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y+d&&a<this._findLiquid.y+m-f){o=_a.BODY,c=l,s=e;break}if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y+m-f&&a<this._findLiquid.y+m){o=_a.FOOTER,c=l,s=e;break}this._translatePage(l,t,n,r)}return{editArea:o,page:c,pageNumber:s}}findNodeByCoord(e,t,n,r,i){let{x:a,y:o}=e,s=this.getSkeletonData();if(s==null)return;let c={nearestNodeList:[],nearestNodeDistanceList:[]},{pages:l,skeHeaders:u,skeFooters:d}=s,f=this.findEditAreaByCoord(e,t,n,r).editArea,p=l.length;if(this._findLiquid.reset(),i==null)for(let e=0;e<p;e++){let i=l[e],{headerId:s,footerId:_,pageWidth:v}=i,y=null;if(f===_a.HEADER||f===_a.FOOTER){var m,h;let t=(m=u.get(s))==null?void 0:m.get(v);t&&(y=this._collectNearestNode(t,J.HEADER,i,s,e,c,a,o,p));let n=(h=d.get(_))==null?void 0:h.get(v);if(n){var g;y=(g=y)==null?this._collectNearestNode(n,J.FOOTER,i,_,e,c,a,o,p):g}}else y=this._collectNearestNode(i,J.BODY,i,``,e,c,a,o,p);if(y)return y;this._translatePage(i,t,n,r)}else{let{segmentId:e,segmentPage:s,strict:f}=i,m=null;if(f===!1)for(let i=0;i<p;i++){let s=l[i],{headerId:f,footerId:h,pageWidth:g}=s;if(e!==``){var _,v;let e=(_=u.get(f))==null?void 0:_.get(g);e&&(m=this._collectNearestNode(e,J.HEADER,s,f,i,c,a,o,p));let t=(v=d.get(h))==null?void 0:v.get(g);if(t){var y;m=(y=m)==null?this._collectNearestNode(t,J.FOOTER,s,h,i,c,a,o,p):y}}else m=this._collectNearestNode(s,J.BODY,s,``,i,c,a,o,p);if(m)return m;this._translatePage(s,t,n,r)}else for(let i=0;i<p;i++){let f=l[i];if(e){var b,x;if(s!==i){this._translatePage(f,t,n,r);continue}let{headerId:l,pageWidth:h}=f,g=e===l?(b=u.get(e))==null?void 0:b.get(h):(x=d.get(e))==null?void 0:x.get(h);g&&(m=this._collectNearestNode(g,e===l?J.HEADER:J.FOOTER,f,e,s,c,a,o,p))}else m=this._collectNearestNode(f,J.BODY,f,``,i,c,a,o,p);if(m)return m;this._translatePage(f,t,n,r)}}return this._getNearestNode(c.nearestNodeList,c.nearestNodeDistanceList)}_collectNearestNode(e,t,n,r,i,a,o,s,c,l=0){let{sections:u,skeTables:d}=e;this._findLiquid.translateSave();let f=this._findLiquid.x,p=f+n.pageWidth,m=this._findLiquid.y+(t===J.FOOTER?n.pageHeight-e.pageHeight:0),h=m+e.pageHeight,g=o>=f&&o<=p&&s>=m&&s<=h;if(l===0&&t===J.BODY){let e=i===0,t=i===c-1,r=n.originMarginTop/2;g=e&&t?!0:e?s<=h+r:t?s>=m-r:s>=m-r&&s<=h+r}switch(t){case J.HEADER:this._findLiquid.translatePagePadding({...e,marginLeft:n.marginLeft});break;case J.FOOTER:{let t=n.pageHeight-e.height-e.marginBottom;this._findLiquid.translate(n.marginLeft,t);break}default:this._findLiquid.translatePagePadding(n);break}if(g){let e=1/0;for(let n of u){let{columns:c}=n;this._findLiquid.translateSave(),this._findLiquid.translateSection(n);for(let n of c){let{lines:c}=n;this._findLiquid.translateSave(),this._findLiquid.translateColumn(n);for(let n=0;n<c.length;n++){let u=c[n],{divides:d,type:f,lineHeight:p=0}=u;if(f!==Jn.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(u);let{y:n}=this._findLiquid,c=n,f=n+p,m=Math.abs(s-f),h=d.length;for(let n=0;n<h;n++){let u=d[n],{glyphGroup:p}=u;this._findLiquid.translateSave(),this._findLiquid.translateDivide(u);let{x:h}=this._findLiquid;for(let n of p){if(!n.content||n.content.length===0)continue;let{width:u,left:d}=n,p=h+d,_=h+d+u,v=Math.abs(o-_);if(s>=c&&s<=f){if(o>=p&&o<=_)return{node:n,segmentPage:t===J.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)};e!==-1/0&&(a.nearestNodeList=[],a.nearestNodeDistanceList=[]),a.nearestNodeList.push({node:n,segmentPage:t===J.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)}),a.nearestNodeDistanceList.push({coordInPage:g,distance:v,nestLevel:l}),e=-1/0;continue}m<e&&(e=m,a.nearestNodeList=[],a.nearestNodeDistanceList=[]),m===e&&(a.nearestNodeList.push({node:n,segmentPage:t===J.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)}),a.nearestNodeDistanceList.push({coordInPage:g,distance:v,nestLevel:l}))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}let _=null;if(d.size>0)for(let e of d.values()){var v,y,b;let{top:t,left:n,rows:u}=e;(v=this._findLiquid)==null||v.translateSave(),(y=this._findLiquid)==null||y.translate(n,t);for(let e of u){var x,S,C;let{top:t,cells:n,isRepeatRow:u}=e;if(!u){(x=this._findLiquid)==null||x.translateSave(),(S=this._findLiquid)==null||S.translate(0,t);for(let e of n){var w,T,E,D;let{left:t}=e;(w=this._findLiquid)==null||w.translateSave(),(T=this._findLiquid)==null||T.translate(t,0),_=(E=_)==null?this._collectNearestNode(e,J.CELL,e,r,i,a,o,s,c,l+1):E,(D=this._findLiquid)==null||D.translateRestore()}(C=this._findLiquid)==null||C.translateRestore()}}(b=this._findLiquid)==null||b.translateRestore()}if(_)return this._findLiquid.translateRestore(),_;this._findLiquid.translateRestore()}_getNearestNode(e,t){if(t.length===0)return;if(t.length===1)return e[0];let n=t[0];for(let e=1;e<t.length;e++){let{distance:r,nestLevel:i,coordInPage:a}=t[e];if(i>n.nestLevel){n=t[e];continue}if(i===n.nestLevel){if(a===n.coordInPage){if(r<n.distance){n=t[e];continue}}else if(a){n=t[e];continue}}}return e[t.indexOf(n)]}_getPageBoundingBox(e,t){let{pageWidth:n,pageHeight:r}=e,{x:i,y:a}=this._findLiquid,o=-1,s=-1;return t===Xn.VERTICAL?(o=n,s=a+r):t===Xn.HORIZONTAL&&(o=i+n,s=r),{startX:i,startY:a,endX:o,endY:s}}_translatePage(e,t,n,r){this._findLiquid.translatePage(e,t,n,r)}_prepareLayoutContext(){let e=this.getViewModel(),t=e.getDataModel(),{headerTreeMap:n,footerTreeMap:r}=e.getHeaderFooterTreeMap(),{documentStyle:i,drawings:a,lists:o={}}=t,s={...ne,...o},{paragraphLineGapDefault:c=0,defaultTabStop:l=10.5,textStyle:u={}}=i,d={headerTreeMap:n,footerTreeMap:r,lists:s,drawings:a,localeService:this._localeService,paragraphLineGapDefault:c,defaultTabStop:l,documentTextStyle:u},f=Ss(),{skeHeaders:p,skeFooters:m,skeListLevel:h,drawingAnchor:g}=f;return{viewModel:e,dataModel:t,skeleton:f,skeletonResourceReference:{skeHeaders:p,skeFooters:m,skeListLevel:h,drawingAnchor:g},docsConfig:d,layoutStartPointer:{"":null},isDirty:!1,floatObjectsCache:new Map,paragraphConfigCache:new Map,sectionBreakConfigCache:new Map,paragraphsOpenNewPage:new Set,hyphen:this._hyphen,languageDetector:this._languageDetector}}_createSkeleton(e,t){let{viewModel:n,skeleton:r,skeletonResourceReference:i}=e,a=r.pages,o=0,s=e.layoutStartPointer[``];if(e.layoutStartPointer[``]=null,s!=null)for(let e=0;e<n.getChildren().length;e++){let{endIndex:t,startIndex:r}=n.getChildren()[e];if(s>=r&&s<=t){o=e;break}}for(let t=o,r=n.getChildren().length;t<r;t++){let r=n.getChildren()[t],o=ks(e,t),{sectionType:l,columnProperties:u,columnSeparatorType:d,sectionTypeNext:f,pageNumberStart:p=1}=o,m=Yo(a),h=!1;if(e.sectionBreakConfigCache.set(r.endIndex,o),l===se.CONTINUOUS)cs(a),this._addNewSectionByContinuous(m,u,d),h=!0;else if(s==null||m==null){var c;m=Ps(e,o,i,(c=m==null?void 0:m.pageNumber)==null?p:c)}let{pages:g}=nl(e,n,r,m,o,s);if(f===se.CONTINUOUS&&u.length,h&&g.splice(0,1),a.push(...g),e.isDirty)break}if(e.isDirty&&this._iteratorCount<10)return this._iteratorCount++,As(e),this._createSkeleton(e,t);this._iteratorCount=0,pl(e),cs(r.pages),ls(e,r.pages);for(let t of r.skeHeaders.values())for(let n of t.values())ls(e,[n]);for(let t of r.skeFooters.values())for(let n of t.values())ls(e,[n]);return Cs(r.pages,r),r}_addNewSectionByContinuous(e,t,n){let r=e.sections,i=r[r.length-1],{pageWidth:a,pageHeight:o,marginTop:s,marginBottom:c,marginLeft:l,marginRight:u}=e,d=a-l-u,f=o-s-c,p=((i==null?void 0:i.top)||0)+((i==null?void 0:i.height)||0),m=ro(t,n,p,0,d,f-p);m.parent=e,r.push(m)}_findNodeByIndex(e,t=``,n=-1){let r=this.getSkeletonData();if(r==null)return;let{pages:i,skeFooters:a,skeHeaders:o}=r;for(let r of i){let l=i.indexOf(r);if(t&&l!==n)continue;let{pageWidth:u,skeTables:d}=r,f=r;if(t){var s,c;let e=(s=o.get(t))==null?void 0:s.get(u),n=(c=a.get(t))==null?void 0:c.get(u);if(e)f=e;else if(n)f=n;else continue}if(t===``){let t=!1;for(let n of d.values()){let{rows:r}=n;for(let n of r){let{cells:r}=n;for(let n of r){let{st:r,ed:i}=n;if(e>=r&&e<=i){f=n,t=!0;break}}if(t)break}if(t)break}}let{sections:p,st:m,ed:h}=f;if(!(e<m||e>h))for(let t of p){let{columns:r,st:i,ed:a}=t;if(!(e<i||e>a))for(let i of r){let{lines:r,st:a,ed:o}=i;if(!(e<a||e>o))for(let a of r){let{divides:r,st:o,ed:s}=a,c=r.length;if(!(e<o||e>s))for(let o=0;o<c;o++){let s=r[o],{glyphGroup:c,st:l,ed:u}=s;if(e<l||e>u)continue;let d=e-l;for(let e of c)if(d-=e.count,d<0)return{page:f,pageType:f.type,section:t,column:i,line:a,divide:s,glyph:e,segmentPageIndex:n}}}}}}}};function gl(e,t,n={}){let r=e.length,{textRotation:i,paddingData:a,horizontalAlign:o=w.UNSPECIFIED,verticalAlign:s=ge.UNSPECIFIED,wrapStrategy:c=V.UNSPECIFIED,cellValueType:l}=n,{t:u,r:d,b:f,l:m}=a||Sl,{vertexAngle:h,centerAngle:g}=Rr(i);return new y({id:`d`,body:{dataStream:`${e}${p}`,textRuns:[{ts:t,st:0,ed:r}],paragraphs:[{startIndex:r,paragraphStyle:{horizontalAlign:o}}],sectionBreaks:[{startIndex:r+1}]},documentStyle:{pageSize:{width:1/0,height:1/0},marginTop:u,marginBottom:f,marginRight:d,marginLeft:m,renderConfig:{horizontalAlign:o,verticalAlign:s,centerAngle:g,vertexAngle:h,wrapStrategy:c,cellValueType:l}},drawings:{},drawingsOrder:[]})}function _l(e){if(!e)return{};let{tr:t,td:n,ht:r,vt:i,tb:a,pd:o}=e;return{textRotation:t,textDirection:n,horizontalAlign:r,verticalAlign:i,wrapStrategy:a,paddingData:o}}function vl(e){if(!e)return{};let{ff:t,fs:n,it:r,bl:i,ul:a,st:o,ol:s,cl:c}=e,l={};return t&&(l.ff=t),n&&(l.fs=n),r&&(l.it=r),i&&(l.bl=i),a&&(l.ul=a),o&&(l.st=o),s&&(l.ol=s),c&&(l.cl=c),l}function yl(e,t){return function(n,r){t(n,r,e)}}function bl(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}const xl={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},Sl={t:0,b:2,l:2,r:2},Cl=`RENDER_RAW_FORMULA`;let wl=class extends ce{constructor(e,t,n,r,a,o){super(e,t,n,r,a,o),K(this,`_drawingRange`,{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),K(this,`_cacheRangeMap`,new Map),K(this,`_visibleRangeMap`,new Map),K(this,`_overflowCache`,new P),K(this,`_stylesCache`,{background:{},backgroundPositions:new P,fontMatrix:new P,border:new P}),K(this,`_clearTaskId`,null),K(this,`_handleBgMatrix`,new P),K(this,`_handleBorderMatrix`,new P),K(this,`_showGridlines`,i.TRUE),K(this,`_gridlinesColor`,void 0),K(this,`_scene`,null),this._updateLayout(),this.disposeWithMe(this._contextService.subscribeContextValue$(Cl).pipe(Ze(!1),Ye()).subscribe(e=>{this._renderRawFormula=e,this._resetCache(),this.makeDirty(!0)})),this.disposeWithMe(this.worksheet.__registerGetCellHeight((e,t)=>{var n;return(n=this.calculateAutoHeightForCell(e,t))==null?0:n}))}setScene(e){this._scene=e,this.disposeWithMe(this._scene.onTransformChange$.subscribeEvent(e=>{this.setScale(e.value.scaleX||1,e.value.scaleY)}))}_updateLayout(){let{showGridlines:e,gridlinesColor:t}=this._worksheetData;this._showGridlines=e,this._gridlinesColor=t,super._updateLayout()}get rowColumnSegment(){return this._drawingRange}visibleRangeByViewportKey(e){return this._cacheRangeMap.get(e)}get stylesCache(){return this._stylesCache}get overflowCache(){return this._overflowCache}get showGridlines(){return this._showGridlines}get gridlinesColor(){return this._gridlinesColor}dispose(){super.dispose(),this._drawingRange={startRow:-1,endRow:-1,startColumn:-1,endColumn:-1},this._stylesCache={background:{},backgroundPositions:new P,fontMatrix:new P,border:new P},this._handleBgMatrix.reset(),this._handleBorderMatrix.reset(),this._overflowCache.reset()}getStyles(){return this._styles}setOverflowCache(e){this._overflowCache=e}getFont(e,t){let n=this.stylesCache.fontMatrix;return n&&n.getValue(e,t)||null}updateVisibleRange(e){if(!this._worksheetData||!this.rowHeightAccumulation||!this.columnWidthAccumulation)return!1;if(e){let t=this.getRangeByViewport(e);this._visibleRangeMap.set(e.viewportKey,t);let n=this.getCacheRangeByViewport(e);this._drawingRange=n,this._cacheRangeMap.set(e.viewportKey,n)}return!0}getVisibleRangeByViewport(e){return this._visibleRangeMap.get(e)}getVisibleRanges(){return this._visibleRangeMap}_clearCacheOutOfVisibleRange(e,t,n,r){this._clearTaskId&&cancelIdleCallback(this._clearTaskId),this._clearTaskId=requestIdleCallback(()=>{this._stylesCache.fontMatrix.forValue((i,a)=>{(i<e-100||i>t+100||a<n-100||a>r+100)&&this._stylesCache.fontMatrix.realDeleteValue(i,a)}),this._clearTaskId=null})}setStylesCache(e){if(!this._worksheetData||!this.rowHeightAccumulation||!this.columnWidthAccumulation)return;this.updateVisibleRange(e);let t=this._drawingRange,n=this.columnWidthAccumulation,{startRow:r,endRow:i,startColumn:a,endColumn:o}=t;if(o===-1||i===-1)return;let s=[],c=r,l=Math.max(0,a-20),u=Math.min(n.length-1,o+20);for(let e=r;e<=i;e++){if(this.worksheet.getRowVisible(e)===!1){c<e&&s.push({startRow:c,endRow:e-1,startColumn:a,endColumn:o}),c=e+1;continue}e===i&&s.push({startRow:c,endRow:e,startColumn:a,endColumn:o});for(let t=a;t<=o;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!0,border:!0}});for(let t=l;t<o;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!1,border:!1}});if(o!==0)for(let t=o+1;t<u;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!1,border:!1}})}let d=[];for(let e of s){let t=this.getCurrentRowColumnSegmentMergeData(e);d.push(...t)}for(let e of d)this._setStylesCacheForOneCell(e.startRow,e.startColumn,{mergeRange:e});return this}calculateAutoHeightInRange(e,t){if(!B.isArray(e))return[];let n=[],{rowData:r}=this._worksheetData,a=r,o=new Set,s=this.worksheet.getRowCount();for(let r of e){let{startRow:e,endRow:d,startColumn:f,endColumn:p}=r,m=Math.min(d,s);for(let r=e;r<=m;r++){var c;if(!o.has(r)&&((c=a[r])==null?void 0:c.ia)!==i.FALSE&&this._hasUnMergedCellInRow(r,f,p))if(t){let e=this.worksheet.getRowHeight(r),i=0,a=0;for(let e=f;e<=p;e++){var l,u;let n=(l=t.getValue(r,e))==null?0:l;i=Math.max(i,n);let o=(u=this.calculateAutoHeightForCell(r,e))==null?this._worksheetData.defaultRowHeight:u;a=Math.max(a,o)}if(i<e)o.add(r),n.push({row:r,autoHeight:Math.max(e,a)});else if(a>=e)o.add(r),n.push({row:r,autoHeight:a});else{let e=this._calculateRowAutoHeight(r);o.add(r),n.push({row:r,autoHeight:e})}}else{let e=this._calculateRowAutoHeight(r);o.add(r),n.push({row:r,autoHeight:e})}}}return n}calculateAutoHeightForCell(e,t){var n,r,i,a,o,s,c;let{columnData:l,defaultColumnWidth:u}=this._worksheetData,d=this.worksheet.getCellInfoInMergeData(e,t);if(this._skipAutoHeightForMergedCells&&(d.isMerged||d.isMergedMainCell))return;let f=this.worksheet.getCell(e,t),p=this.worksheet.getComposedCellStyleByCellData(e,t,f);if(f!=null&&f.interceptorAutoHeight){let e=f.interceptorAutoHeight();if(e)return e}let m=((n=f==null||(r=f.fontRenderExtension)==null?void 0:r.leftOffset)==null?0:n)+((i=f==null||(a=f.fontRenderExtension)==null?void 0:a.rightOffset)==null?0:i),{vertexAngle:h,centerAngle:g}=Rr((o=p==null?void 0:p.tr)==null?{a:0}:o),_=(f==null?void 0:f.p)||h||g,v=(s=(c=l[t])==null?void 0:c.w)==null?u:s;if(d.isMergedMainCell){let e=d.startColumn,t=d.endColumn;v=Array.from({length:t-e+1},(t,n)=>e+n).reduce((e,t)=>{var n,r;return e+((n=(r=l[t])==null?void 0:r.w)==null?u:n)},0)}if(v-=m,_){var y;let e=f&&this.worksheet.getCellDocumentModel(f,p);if(e==null)return;let{documentModel:t,textRotation:n,wrapStrategy:r}=e;if(t==null)return;let i=new ba(t),{vertexAngle:a}=Rr(n);typeof v==`number`&&r===V.WRAP&&t.updateDocumentDataPageSize(v);let o=hl.create(i,this._localeService);o.calculate();let{height:s=0}=(y=Dl(o,a))==null?{}:y;if(o){let e=o.getSkeletonData(),{marginTop:t,marginBottom:n,marginLeft:r,marginRight:i}=e.pages[e.pages.length-1],c=Math.abs(Pt(a));s+=t*Math.cos(c)+i*Math.sin(c)+n*Math.cos(c)+r*Math.sin(c)}return s}else{var b,x,S,C,w,T,E,D;if((f==null?void 0:f.v)===void 0||(f==null?void 0:f.v)===null)return;let e=(b=(x=p.pd)==null?void 0:x.l)==null?Sl.l:b,t=(S=(C=p.pd)==null?void 0:C.r)==null?Sl.r:S,n=(w=(T=p.pd)==null?void 0:T.t)==null?Sl.t:w,r=(E=(D=p.pd)==null?void 0:D.b)==null?Sl.b:E;if((p==null?void 0:p.tb)===V.WRAP){let i=new la(`${f.v}`,qt(p).fontCache,(p==null?void 0:p.tb)===V.WRAP,v-e-t,1/0);return i.calculate(),i.getTotalHeight()+n+r}else{let e=q.getMeasureText(`A`,qt(p).fontCache);return e.fontBoundingBoxAscent+e.fontBoundingBoxDescent+n+r}}}_calculateRowAutoHeight(e){let{columnCount:t,defaultRowHeight:n}=this._worksheetData,r=n;for(let n=0;n<t;n++){let t=this.calculateAutoHeightForCell(e,n);t&&(r=Math.max(r,t))}return Math.min(r,_t)}calculateAutoWidthInRange(e){if(!B.isArray(e))return[];let t=[],n=new Set;for(let r of e){let{startColumn:e,endColumn:i}=r;for(let r=e;r<=i;r++){if(!this.worksheet.getColVisible(r)||n.has(r))continue;let e=this._calculateColWidth(r);n.add(r),t.push({col:r,width:Math.max(this._worksheetData.defaultColumnWidth,e)})}}return t}_calculateColWidth(e){let t=this.worksheet,n=0,r=this.visibleRangeByViewportKey(ci.VIEW_MAIN);if(!r)return n;let{startRow:i,endRow:a}=r,o=this.worksheet.getRowCount(),s=new Set;s.add(0),s.add(o-1);let c=this.visibleRangeByViewportKey(ci.VIEW_MAIN_TOP);if(c){let{startRow:e,endRow:t}=c;for(let n=e;n<=t;n++)s.add(n)}let l=((e,t,n)=>[...Array.from({length:t-e+1},(t,n)=>n+e),...n])(Math.max(0,i-gi),Math.min(o,a+gi),s),u=Math.max(0,e-1),d=this.columnWidthAccumulation[e]-this.columnWidthAccumulation[u];e===0&&(d=this.columnWidthAccumulation[e]);for(let r=0;r<l.length;r++){let o=l[r],{isMerged:s,isMergedMainCell:c}=this.worksheet.getCellInfoInMergeData(e,o);if(s&&!c||!this.worksheet.getRowVisible(o))continue;let u=t.getCell(o,e);if(!u||u.p&&(o+1e3<=i||o-1e3>=a))continue;let m=this._getMeasuredWidthByCell(u,o,e,d);if(u.fontRenderExtension){var f,p;m+=(((f=u.fontRenderExtension)==null?void 0:f.leftOffset)||0)+(((p=u.fontRenderExtension)==null?void 0:p.rightOffset)||0)}if(n=Math.max(n,m),n>=2e3)return vt}return n===0?d:Math.max(2,n)}getColWidth(e){let t=Math.max(0,e-1);return this.columnWidthAccumulation[e]-this.columnWidthAccumulation[t]}getRowHeight(e){let t=Math.max(0,e-1);return this.rowHeightAccumulation[e]-this.rowHeightAccumulation[t]}_getMeasuredWidthByCell(e,t,n,r){var i,a;let o=0;if((i=e.fontRenderExtension)!=null&&i.isSkip&&e!=null&&e.interceptorAutoWidth){var s;let t=(s=e.interceptorAutoWidth)==null?void 0:s.call(e);if(t)return t}let c=this.worksheet.getComposedCellStyleByCellData(t,n,e),l=this.worksheet.getCellDocumentModel(e,c);if(l==null)return o;let{documentModel:u,textRotation:d}=l;if(u==null)return o;let f=new ba(u),{vertexAngle:p}=Rr(d);(c==null?void 0:c.tb)===V.WRAP?u.updateDocumentDataPageSize(r,1/0):u.updateDocumentDataPageSize(1/0,1/0);let m=hl.create(f,this._localeService);if(m.calculate(),o=((a=Dl(m,p))==null?{width:0}:a).width,m){let e=m.getSkeletonData(),{marginTop:t,marginBottom:n,marginLeft:r,marginRight:i}=e.pages[e.pages.length-1],a=Math.abs(Pt(p));o+=t*Math.sin(a)+i*Math.cos(a)+n*Math.sin(a)+r*Math.cos(a)}return o}getRangeByBounding(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.cacheBound)}getRangeByViewport(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.viewBound)}getCacheRangeByViewport(e,t){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.cacheBound,t)}getRangeByViewBound(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e)}appendToOverflowCache(e,t,n,r){this._overflowCache.setValue(e,t,{startRow:e,endRow:e,startColumn:n,endColumn:r})}getOverflowPosition(e,t,n,r,i){var a;let o=(a=e==null?void 0:e.width)==null?0:a,s=r,c=r;return t===w.CENTER?(s=this._getOverflowBound(n,r,0,o/2,t),c=this._getOverflowBound(n,r,i-1,o/2,t)):t===w.RIGHT?s=this._getOverflowBound(n,r,0,o):c=this._getOverflowBound(n,r,i-1,o),{startColumn:s,endColumn:c}}calculateCellIndexByPosition(e,t,n,r,i){return this.getCellWithCoordByOffset(e,t,n,r,i)}getCellPositionByOffset(e,t,n,r,i,a){return this.getCellIndexByOffset(e,t,n,r,i,a)}getCellWithMergeInfoByIndex(e,t){return this.worksheet.getCellInfoInMergeData(e,t)}getColumnPositionByOffsetX(e,t,n,r){return this.getColumnIndexByOffsetX(e,t,n,r)}getRowPositionByOffsetY(e,t,n,r){return this.getRowIndexByOffsetY(e,t,n,r)}getCellByIndex(e,t){return this.getCellWithCoordByIndex(e,t)}getCellByIndexWithNoHeader(e,t){return this.getCellWithCoordByIndex(e,t,!1)}getBlankCellDocumentModel(e){let t=this._getCellDocumentModel(e,{ignoreTextRotation:!0}),n=vl(this._styles.getStyleByCell(e));if(t!=null)return t.documentModel==null&&(t.documentModel=gl(``,n)),t;let r=`document`,i=m.tr,a=m.ht,o=m.vt,s=m.tb,c=Sl;return r=qt({}).fontCache,{documentModel:gl(``,n),fontString:r,textRotation:i,wrapStrategy:s,verticalAlign:o,horizontalAlign:a,paddingData:c}}getCellDocumentModelWithFormula(e){return this._getCellDocumentModel(e,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}_getCellDocumentModel(e,t=xl){var n;let{isDeepClone:r,displayRawFormula:i,ignoreTextRotation:a}={...xl,...t},o=this._styles.getStyleByCell(e);if(!e)return;let s,l=`document`,u=_l(o),d=a?m.tr:u.textRotation||m.tr,f=u.horizontalAlign||m.ht,p=u.verticalAlign||m.vt,h=u.wrapStrategy||m.tb,g=u.paddingData||Sl;if(e.f&&i)s=gl(e.f.toString(),{},{verticalAlign:p}),f=m.ht;else if(e.p){let{centerAngle:t,vertexAngle:n}=Rr(d);s=this._updateConfigAndGetDocumentModel(r?B.deepClone(e.p):e.p,f,g,{horizontalAlign:f,verticalAlign:p,centerAngle:t,vertexAngle:n,wrapStrategy:h,zeroWidthParagraphBreak:1})}else if(e.v!=null){let t=vl(o);l=qt(t).fontCache;let n=Ce(e);e.t===c.FORCE_STRING&&i&&(n=`'${n}`),s=gl(n,t,{...u,textRotation:d,cellValueType:e.t})}return s&&e.linkUrl&&e.linkId&&ye(s,e.linkUrl,e.linkId),{documentModel:s,fontString:l,textRotation:d,wrapStrategy:h,verticalAlign:p,horizontalAlign:f,paddingData:g,fill:o==null||(n=o.bg)==null?void 0:n.rgb}}_calculateOverflowCell(e,t,n){let{documentSkeleton:r,vertexAngle:i=0,centerAngle:a=0,horizontalAlign:o,wrapStrategy:s}=n,{t:l=c.STRING}=this._cellData.getValue(e,t)||{},u=o;if(o===w.UNSPECIFIED&&(a===90&&i===90?u=w.CENTER:(i>0&&i!==90||i===-90)&&(u=w.RIGHT)),(s===V.OVERFLOW||s===V.UNSPECIFIED)&&l!==c.NUMBER&&l!==c.BOOLEAN&&o!==w.JUSTIFIED){if(this.intersectMergeRange(e,t))return!0;let a;if(r)a=Dl(r,i);else{let e=q.getMeasureText(`${n.cellData.v}`,n.fontString);a={width:e.width,height:e.fontBoundingBoxDescent+e.fontBoundingBoxAscent}}if(!a)return!0;if(i!==0){let{startY:n,endY:r,startX:o,endX:s}=this.getCellWithCoordByIndex(e,t),c=s-o,l=r-n;a.height>l&&(a={width:l/Math.tan(Math.abs(i))+c,height:l})}let{startColumn:o,endColumn:s}=this.getOverflowPosition(a,u,e,t,this.getColumnCount());if(o===s)return!0;this.appendToOverflowCache(e,t,o,s)}else if(s===V.WRAP&&i!==0){if(this.intersectMergeRange(e,t))return!0;let{startY:n,endY:a}=this.getCellWithCoordByIndex(e,t),o=a-n;r.getViewModel().getDataModel().updateDocumentDataPageSize(o),r.calculate();let s=Dl(r,i);if(!s)return!0;let{startColumn:c,endColumn:l}=this.getOverflowPosition(s,u,e,t,this.getColumnCount());if(c===l)return!0;this.appendToOverflowCache(e,t,c,l)}return!1}_getRangeByViewBounding(e,t,n,r){let i=e.length,a=t.length;if(!n)return{startRow:0,endRow:i-1,startColumn:0,endColumn:a-1};let o=ze(e,Math.round(n.top)-this.columnHeaderHeightAndMarginTop),s=Math.round(n.bottom)-this.columnHeaderHeightAndMarginTop,c=ze(e,s);c<i&&e[c-1]===s&&--c;let l=ze(t,Math.round(n.left)-this.rowHeaderWidthAndMarginLeft),u=Math.round(n.right)-this.rowHeaderWidthAndMarginLeft,d=ze(t,u);return d<a&&t[d-1]===u&&--d,r?{startRow:o,endRow:c===i-1?c:c-1,startColumn:l,endColumn:d===a-1?d:d-1}:{startRow:o,endRow:c,startColumn:l,endColumn:d}}getCurrentRowColumnSegmentMergeData(e){let t=this.columnWidthAccumulation.length-1;return e=e?{startRow:e.startRow,startColumn:0,endRow:e.endRow,endColumn:t}:{startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:t},this.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn)}resetCache(){this._resetCache()}_resetCache(){var e,t,n;this._stylesCache={background:{},backgroundPositions:new P,fontMatrix:new P,border:new P},(e=this._handleBgMatrix)==null||e.reset(),(t=this._handleBorderMatrix)==null||t.reset(),(n=this._overflowCache)==null||n.reset()}resetRangeCache(e){for(let t=0;t<e.length;t++){let n=e[t];ie.foreach(n,(e,t)=>{this._stylesCache.fontMatrix.realDeleteValue(e,t)})}this.makeDirty(!0)}_setBorderStylesCache(e,t,n,r){if(!B.isDefine(this._handleBorderMatrix.getValue(e,t))&&((r==null?void 0:r.cacheItem)||{bg:!0,border:!0}).border&&(this._handleBorderMatrix.setValue(e,t,!0),n&&n.bd)){let i=r==null?void 0:r.mergeRange;i?(this._setMergeBorderProps(U.TOP,this._stylesCache,i),this._setMergeBorderProps(U.BOTTOM,this._stylesCache,i),this._setMergeBorderProps(U.LEFT,this._stylesCache,i),this._setMergeBorderProps(U.RIGHT,this._stylesCache,i)):this.intersectMergeRange(e,t)||(this._setBorderProps(e,t,U.TOP,n,this._stylesCache),this._setBorderProps(e,t,U.BOTTOM,n,this._stylesCache),this._setBorderProps(e,t,U.LEFT,n,this._stylesCache),this._setBorderProps(e,t,U.RIGHT,n,this._stylesCache)),this._setBorderProps(e,t,U.TL_BR,n,this._stylesCache),this._setBorderProps(e,t,U.TL_BC,n,this._stylesCache),this._setBorderProps(e,t,U.TL_MR,n,this._stylesCache),this._setBorderProps(e,t,U.BL_TR,n,this._stylesCache),this._setBorderProps(e,t,U.ML_TR,n,this._stylesCache),this._setBorderProps(e,t,U.BC_TR,n,this._stylesCache)}}_setBgStylesCache(e,t,n,r){if(!B.isDefine(this._handleBgMatrix.getValue(e,t))&&((r==null?void 0:r.cacheItem)||{bg:!0,border:!0}).bg&&(this._handleBgMatrix.setValue(e,t,!0),n&&n.bg&&n.bg.rgb)){var i;let r=n.bg.rgb;this._stylesCache.background[r]||(this._stylesCache.background[r]=new P),this._stylesCache.background[r].setValue(e,t,r);let a=this.getCellWithCoordByIndex(e,t,!1);(i=this._stylesCache.backgroundPositions)==null||i.setValue(e,t,a)}}_setFontStylesCache(e,t,n,r){var i;if(Ae(n))return;let a={cellData:n,imageCacheMap:this._imageCacheMap},o=this._stylesCache.fontMatrix.getValue(e,t);if(!o)this._stylesCache.fontMatrix.setValue(e,t,a);else{let r=o;r.cellData=n,this._stylesCache.fontMatrix.setValue(e,t,o);return}let{vertexAngle:s,centerAngle:c}=Rr((i=r==null?void 0:r.tr)==null?{a:0}:i),l=n!=null&&n.p||s||c?this.worksheet.getCellDocumentModel(n,r,{displayRawFormula:this._renderRawFormula}):null;if(l){let{documentModel:e}=l;if(e){let{fontString:t,wrapStrategy:i,verticalAlign:o,horizontalAlign:u}=l,d=new ba(e);if(d){let e=hl.create(d,this._localeService);e.calculate(),a={documentSkeleton:e,vertexAngle:s,centerAngle:c,verticalAlign:o,horizontalAlign:u,wrapStrategy:i,imageCacheMap:this._imageCacheMap,cellData:n,fontString:t,style:r}}}}else{let e=qt(r==null?void 0:r).fontCache,{vt:t,ht:i,tb:o}=r==null?{}:r;a={documentSkeleton:void 0,vertexAngle:s,centerAngle:c,verticalAlign:t==null?ge.UNSPECIFIED:t,horizontalAlign:i==null?w.UNSPECIFIED:i,wrapStrategy:o==null?V.OVERFLOW:o,imageCacheMap:this._imageCacheMap,cellData:n,fontString:e,style:r}}this._calculateOverflowCell(e,t,a),this._stylesCache.fontMatrix.setValue(e,t,a)}_setStylesCacheForOneCell(e,t,n){if(e===-1||t===-1)return;n||(n={cacheItem:{bg:!0,border:!0}});let{isMerged:r,isMergedMainCell:i,startRow:a,startColumn:o,endRow:s,endColumn:c}=this.worksheet.getCellInfoInMergeData(e,t);if(r&&(n.mergeRange={startRow:a,startColumn:o,endRow:s,endColumn:c}),(this.worksheet.getColVisible(t)===!1||this.worksheet.getRowVisible(e)===!1)&&(r&&!i||!i))return;let l=this.worksheet.getCell(e,t)||this.worksheet.getCellRaw(e,t),u=this.worksheet.getComposedCellStyleByCellData(e,t,l);!l&&Object.keys(u).length===0||(this._setBgStylesCache(e,t,u,n),this._setBorderStylesCache(e,t,u,n),this._setFontStylesCache(e,t,{...l,s:u},u))}_setMergeBorderProps(e,t,n){if(!this.worksheet||!t.border)return;let r=[],i=n.startRow,a=n.endRow,o=n.startRow,s=n.startColumn;e===U.TOP?(o=n.startRow,i=n.startColumn,a=n.endColumn):e===U.BOTTOM?(o=n.endRow,i=n.startColumn,a=n.endColumn):e===U.LEFT?(s=n.startColumn,i=n.startRow,a=n.endRow):e===U.RIGHT&&(s=n.endColumn,i=n.startRow,a=n.endRow);for(let t=i;t<=a;t++){var c,l,u;e===U.TOP||e===U.BOTTOM?s=t:(e===U.LEFT||e===U.RIGHT)&&(o=t);let n=this.worksheet.getCell(o,s);if(!n)break;let i=(c=n.themeStyle)==null?void 0:c.bd,a=this.worksheet.getComposedCellStyleByCellData(o,s,n);if(!a&&!i)break;let d=(l=a==null||(u=a.bd)==null?void 0:u[e])==null?i==null?void 0:i[e]:l;if(d){let e=Te(d.cl)||`rgb(0,0,0)`;r.push({r:o,c:s,style:d.s,color:e})}}r.forEach(n=>{let{r,c:i,style:a,color:o}=n;t.border.getValue(r,i)||t.border.setValue(r,i,{}),t.border.getValue(r,i)[e]={type:e,style:a,color:o}})}_setBorderProps(e,t,n,r,i){var a;let o=(a=r.bd)==null?void 0:a[n];if(!o||!i.border)return;let s=Te(o.cl)||`rgb(0,0,0)`,c=i.border;if(c.getValue(e,t)||c.setValue(e,t,{[n]:{}}),n===U.TOP){var l;if((l=c.getValue(e-1,t))!=null&&l[U.BOTTOM]&&je(s))return}else if(n===U.LEFT){var u;if((u=c.getValue(e,t-1))!=null&&u[U.RIGHT]&&je(s))return}c.getValue(e,t)[n]={type:n,style:o.s,color:s}}getDistanceFromTopLeft(e,t){return{x:this.colStartX(t),y:this.rowStartY(e)}}colStartX(e){let t=this.columnWidthAccumulation,n=e-1;return n===-1?0:t[n]}rowStartY(e){let t=this.rowHeightAccumulation,n=e-1;return n===-1?0:t[n]}getHiddenRowsInRange(e){let t=[];for(let n=e.startRow;n<=e.endRow;n++)this.worksheet.getRowVisible(n)||t.push(n);return t}getHiddenColumnsInRange(e){let t=[];for(let n=e.startColumn;n<=e.endColumn;n++)this.worksheet.getColVisible(n)||t.push(n);return t}convertTransformToOffsetX(e,t,n){let{x:r}=n;return(e-r)*t}convertTransformToOffsetY(e,t,n){let{y:r}=n;return(e-r)*t}};wl=bl([yl(2,O(ee)),yl(3,E),yl(4,T),yl(5,O(k))],wl);function Tl(e,t,n){let{x:r}=n;return(e-r)*t}function El(e,t,n){let{y:r}=n;return(e-r)*t}function Dl(e,t=0){let n=e==null?void 0:e.getSkeletonData(),r=Pt(t);if(!n)return null;let{pages:i}=n;if(!i||i.length===0)return null;let a=i[i.length-1];if(!a)return null;let{width:o,height:s}=a;if(r===0)return{width:o,height:s};if(Math.abs(r)===Math.PI/2)return{width:s,height:o};let c=0,l=0,u=[];fs([a],e=>{let{lines:t,width:n,spaceWidth:i}=e,{rotatedHeight:a,rotatedWidth:o}=gr(t,n,r);l+=a,u.push({rotatedWidth:o,spaceWidth:i})});let d=u.length;for(let e=0;e<d;e++){let{rotatedWidth:t}=u[e];e===0&&(c+=t)}return{width:c,height:l}}function Ol(e,t,n){let r=n*Math.PI/180;return{rotatedWidth:Math.abs(e*Math.cos(r))+Math.abs(t*Math.sin(r)),rotatedHeight:Math.abs(e*Math.sin(r))+Math.abs(t*Math.cos(r))}}var kl=class extends bi{constructor(){super(),K(this,`uKey`,`DefaultFontExtension`),K(this,`Z_INDEX`,45),K(this,`_imageFallback`,new Image),this._imageFallback.src=`data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+`}getDocuments(){let e=this.parent;return e==null?void 0:e.getDocuments()}_drawFallbackImage(e,t,n,r,i){if(this._imageFallback.complete&&this._imageFallback.naturalWidth>0)try{e.drawImage(this._imageFallback,t,n,r,i)}catch(e){console.error(`Failed to draw fallback image:`,e)}}draw(e,t,n,r,i){let{stylesCache:a,worksheet:o}=n,{fontMatrix:s}=a;if(!n||!o||!s)return;let{rowHeightAccumulation:c,columnTotalWidth:l,columnWidthAccumulation:u,rowTotalHeight:d}=n;if(!c||!u||l===void 0||d===void 0||!o)return;let f=this._getScale(t),{viewRanges:p=[],checkOutOfViewBound:m}=i,h={ctx:e,scale:f,columnTotalWidth:l,rowTotalHeight:d,viewRanges:p,checkOutOfViewBound:m||!0,diffRanges:r,spreadsheetSkeleton:n};e.save();let g=[],_=new Set,v=n.getRowCount()-1,y=n.getColumnCount()-1;p.forEach(e=>{e.startColumn-=20,e.endColumn+=20,e=zn(e,v,y),n.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn).forEach(e=>{let t=n.worksheet.getSpanModel().getMergeDataIndex(e.startRow,e.startColumn);_.has(t)||(_.add(t),g.push(e))}),ie.foreach(e,(e,t)=>{if(n.worksheet.getSpanModel().getMergeDataIndex(e,t)!==-1)return;let r=n.getCellWithCoordByIndex(e,t,!1);r&&(h.cellInfo=r,this._renderFontEachCell(h,e,t,s))})}),g.forEach(e=>{h.cellInfo=n.getCellWithCoordByIndex(e.startRow,e.startColumn,!1),this._renderFontEachCell(h,e.startRow,e.startColumn,s)}),e.restore()}_renderFontEachCell(e,t,n,r){var i;let{ctx:a,viewRanges:o,diffRanges:s,spreadsheetSkeleton:c,cellInfo:l}=e,{startY:u,endY:d,startX:f,endX:p}=l,{isMerged:m,isMergedMainCell:h,mergeInfo:g}=l;if(e.startX=f,e.startY=u,e.endX=p,e.endY=d,m&&!h)return!0;h&&(e.startX=g.startX,e.startY=g.startY,e.endX=g.endX,e.endY=g.endY);let _=r.getValue(t,n);if(!_)return!0;e.fontCache=_;let v=c.overflowCache.getValue(t,n),y=s&&s.length>0?s:o,b=!h&&!m;if(!v&&b&&!Ln(y,t,n))return!0;if(b){if(!c.worksheet.getRowVisible(t)||!c.worksheet.getColVisible(n))return!0}else{let e=!0;for(let t=g.startRow;t<=g.endRow;t++)if(c.worksheet.getRowVisible(t)){e=!1;break}if(e)return!0;let t=!0;for(let e=g.startColumn;e<=g.endColumn;e++)if(c.worksheet.getColVisible(e)){t=!1;break}if(t)return!0}let x=c.worksheet.getCell(t,n)||{};if(!(x==null||(i=x.fontRenderExtension)==null)&&i.isSkip)return!0;if(a.save(),a.beginPath(),e.overflowRectangle=v,this._clipByRenderBounds(e,t,n),a.translate(e.startX+bt,e.startY+bt),_.documentSkeleton?this._renderDocuments(a,t,n,e,c.overflowCache):this._renderText(a,t,n,e,c.overflowCache),a.closePath(),a.restore(),_.documentSkeleton){var S;(S=_.documentSkeleton.getViewModel().getDataModel().getDrawingsOrder())!=null&&S.length&&(a.save(),a.beginPath(),this._clipByRenderBounds(e,t,n,1),this._renderImages(a,_,e.startX,e.startY,e.endX,e.endY),a.closePath(),a.restore())}return e.startX=0,e.startY=0,e.endX=0,e.endY=0,e.overflowRectangle=null,!1}_renderImages(e,t,n,r,i,a){var o;let{documentSkeleton:s,verticalAlign:c,horizontalAlign:l}=t,u=s.getSkeletonData().pages[0].height,d=s.getSkeletonData().pages[0].width,f=n,p=r;switch(c){case ge.TOP:p=r+2;break;case ge.MIDDLE:p=(r+a)/2-u/2;break;default:p=a-u-2;break}switch(l){case w.RIGHT:f=i-d-2;break;case w.CENTER:f=(n+i)/2-d/2;break;default:f=n+2;break}let m=s.getViewModel().getDataModel().getDrawings(),h=(o=s.getSkeletonData())==null?void 0:o.pages[0].skeDrawings;h==null||h.forEach(n=>{let r=m==null?void 0:m[n.drawingId];if(r){let i=t.imageCacheMap.getImage(r.imageSourceType,r.source,()=>{var e;(e=this.parent)==null||e.makeDirty()},()=>{var e;(e=this.parent)==null||e.makeDirty()}),a=f+n.aLeft,o=p+n.aTop,s=n.width,c=n.height,l=n.angle,{rotatedHeight:u,rotatedWidth:d}=Ol(s,c,l);if(i&&i.complete){let t=l*Math.PI/180;if(e.save(),e.translate(a+d/2,o+u/2),e.rotate(t),i.getAttribute(`data-error`)===`true`)this._drawFallbackImage(e,-d/2,-u/2,s,c);else try{e.drawImage(i,-d/2,-u/2,s,c)}catch{this._drawFallbackImage(e,-d/2,-u/2,s,c)}e.restore()}}})}_clipByRenderBounds(e,t,n,r=0){var i,a,o,s;let{ctx:c,scale:l,overflowRectangle:u,fontCache:d}=e,{startX:f,endX:p,startY:m,endY:h}=e,{horizontalAlign:g=0,vertexAngle:_=0,centerAngle:v=0}=d,y=g;g===w.UNSPECIFIED&&(v===90&&_===90?y=w.CENTER:(_>0&&_!==90||_===-90)&&(y=w.RIGHT));let b=(i=d==null||(a=d.cellData)==null||(a=a.fontRenderExtension)==null?void 0:a.rightOffset)==null?0:i,x=(o=d==null||(s=d.cellData)==null||(s=s.fontRenderExtension)==null?void 0:s.leftOffset)==null?0:o,S=!0;_===0&&(f+=x,p-=b,(b!==0||x!==0)&&(S=!1));let C=p-f,T=h-m;if(u&&S){let{startColumn:i,startRow:a,endColumn:o,endRow:s}=u,{spreadsheetSkeleton:d}=e,{rowHeightAccumulation:p,columnWidthAccumulation:h}=d;i===o&&i===n?(c.rectByPrecision(f+1/l,m+1/l,C-2/l,T-2/l),c.clip()):y===w.CENTER?this._clipRectangleForOverflow(c,a,s,i,o,l,p,h,r):y===w.RIGHT?this._clipRectangleForOverflow(c,a,t,i,n,l,p,h,r):this._clipRectangleForOverflow(c,t,s,n,o,l,p,h,r)}else c.rectByPrecision(f+1/l,m+1/l,C-2/l,T-2/l),c.clip();e.startX=f,e.startY=m,e.endX=p,e.endY=h}_renderText(e,t,n,r,i){var a,o,s,l,u,d,f,p,m,h;let{fontCache:g}=r;if(!g)return;let _=(a=(o=g.style)==null?void 0:o.pd)==null?Sl:a,v=(s=_.l)==null?Sl.l:s,y=(l=_.r)==null?Sl.r:l,b=(u=_.t)==null?Sl.t:u,x=(d=_.b)==null?Sl.b:d,{vertexAngle:S=0,wrapStrategy:C,cellData:T}=g;if((T==null?void 0:T.v)===void 0||(T==null?void 0:T.v)===null)return;let E=Ce(T),{startX:D,startY:O,endX:k,endY:A}=r,ee=k-D-v-y,j=A-O-b-x,M=g.horizontalAlign;g.horizontalAlign===w.UNSPECIFIED&&(T.t===c.NUMBER||!B.isDefine(T.t)&&typeof T.v==`number`?M=w.RIGHT:T.t===c.BOOLEAN&&(M=w.CENTER)),ma.drawWith(e,{text:E,fontStyle:g.fontString,warp:C===V.WRAP&&S===0,hAlign:M,vAlign:g.verticalAlign,width:ee,height:j,left:v,top:b,color:(f=g.style)==null||(f=f.cl)==null?void 0:f.rgb,strokeLine:!!(!((p=g.style)==null||(p=p.st)==null)&&p.s),underline:!!(!((m=g.style)==null||(m=m.ul)==null)&&m.s),underlineType:(h=g.style)==null||(h=h.ul)==null?void 0:h.t,cellValueType:T.t})}_renderDocuments(e,t,n,r,i){let a=this.getDocuments();if(a==null)throw Error(`documents is null`);let{fontCache:o}=r;if(!o)return;let{documentSkeleton:s,vertexAngle:c=0,wrapStrategy:l}=o;if(!s)return;let u=s.getViewModel().getDataModel(),{startX:d,startY:f,endX:p,endY:m}=r,h=p-d,g=m-f;l===V.WRAP&&c===0?(u.updateDocumentDataPageSize(p-d),s.calculate()):u.updateDocumentDataPageSize(1/0);let _=i.getValue(t,n);if(!(l===V.WRAP&&c===0)&&_){let e=Dl(s),t=u.getSnapshot().documentStyle;if(e&&t){let{width:n}=e,{marginRight:r=0,marginLeft:i=0}=t;s.getViewModel().getDataModel().updateDocumentDataPageSize(n+i+r),s.calculate()}let n=_.endColumn,i=_.startColumn,a=_.startRow,o=_.endRow,c=r.spreadsheetSkeleton.getCellWithCoordByIndex(o,n);p=c.endX,m=c.endY;let l=r.spreadsheetSkeleton.getCellWithCoordByIndex(a,i);d=l.startX,f=l.startY}let v={right:p-d,bottom:m-f};s.makeDirty(!1),a.resize(h,g),a.changeSkeleton(s).render(e,{viewBound:{left:0,top:0,right:v.right,bottom:v.bottom}})}_clipRectangleForOverflow(e,t,n,r,i,a,o,s,c=0){let l=o[t-1]||0,u=o[n]||o[o.length-1],d=s[r-1]||0,f=s[i]||s[s.length-1];e.rectByPrecision(d+c,l+c,f-d-2*c,u-l-2*c),e.clip()}};ei.add(kl);const Al=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var jl=class extends bi{constructor(...e){super(...e),K(this,`Z_INDEX`,60),K(this,`uKey`,`DefaultMarkerExtension`)}draw(e,t,n,r){if(e.__mode===`printing`)return;let{worksheet:i,rowColumnSegment:a}=n;if(!i)return;let o=new Set;ie.foreach(a,(t,a)=>{var s,c,l,u;if(!i.getRowVisible(t)||!i.getColVisible(a))return;let d=i.getCell(t,a),f=n.getCellWithCoordByIndex(t,a,!1),{isMerged:p,isMergedMainCell:m,mergeInfo:h}=f,{startY:g,endY:_,startX:v,endX:y}=f;if((m||p)&&(g=h.startY,_=h.endY,v=h.startX,y=h.endX),p){let e={row:h.startRow,col:h.startColumn};d=i.getCell(e.row,e.col)}if(!this.isRenderDiffRangesByRow(h.startRow,h.endRow,r))return!0;if(f.isMerged||f.isMergedMainCell){let e=Al(h);if(o.has(e))return;o.add(e)}if(d){if((s=d.markers)!=null&&s.tr){e.save();let t=d.markers.tr,n=y,r=g;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n-t.size,r),e.lineTo(n,r+t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((c=d.markers)!=null&&c.tl){e.save();let t=d.markers.tl,n=v,r=g;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n+t.size,r),e.lineTo(n,r+t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((l=d.markers)!=null&&l.br){e.save();let t=d.markers.br,n=y,r=_;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n-t.size,r),e.lineTo(n,r-t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((u=d.markers)!=null&&u.bl){e.save();let t=d.markers.bl,n=v,r=_;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n+t.size,r),e.lineTo(n,r-t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}}})}};ei.add(jl);const Ml={fontSize:13,fontFamily:ct,fontColor:`#000000`,backgroundColor:Dt([248,249,250]),borderColor:Dt([217,217,217]),textAlign:`center`,textBaseline:`middle`};var Nl=class extends bi{constructor(e){super(),K(this,`uKey`,`DefaultRowHeaderLayoutExtension`),K(this,`Z_INDEX`,10),K(this,`rowsCfg`,{}),K(this,`headerStyle`,{}),K(this,`rowsCfgOfWorksheet`,new Map),K(this,`headerStyleOfWorksheet`,new Map),e&&this.configHeaderRow(e)}configHeaderRow(e,t){if(t){var n,r;this.rowsCfgOfWorksheet.set(t,(n=e.rowsCfg)==null?{}:n),this.headerStyleOfWorksheet.set(t,(r=e.headerStyle)==null?{}:r)}else{var i,a;this.rowsCfg=(i=e.rowsCfg)==null?{}:i,this.headerStyle=(a=e.headerStyle)==null?{}:a}}getRowsCfg(e){var t;let n=(t=this.rowsCfgOfWorksheet.get(e))==null?{}:t;return{...this.rowsCfg,...n}}getHeaderStyle(e){var t;let n=(t=this.headerStyleOfWorksheet.get(e))==null?{}:t;return{...Ml,...this.headerStyle,...n}}getCfgOfCurrentRow(e,t,n){let r,i;e[n]?(typeof e[n]==`string`&&(e[n]={text:e[n]}),i=e[n],r={...t,...i}):r={...t,text:`${n+1}`};let a=Object.keys(i||{}).length>1;return[r,a]}setStyleToCtx(e,t){t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline),t.fontColor&&(e.fillStyle=t.fontColor),t.borderColor&&(e.strokeStyle=t.borderColor),t.fontSize&&(e.font=`${t.fontSize}px ${ct}`)}draw(e,t,n){let{rowColumnSegment:r,rowHeaderWidth:i=0}=n,{startRow:a,endRow:o}=r;if(!n||i===0)return;let{rowHeightAccumulation:s,columnTotalWidth:c,columnWidthAccumulation:l,rowTotalHeight:u,worksheet:d}=n;if(!s||!l||c===void 0||u===void 0)return;let f=this.getRowsCfg(d.getSheetId()),p=this.getHeaderStyle(d.getSheetId()),m=this._getScale(t);this.setStyleToCtx(e,p),e.save(),e.fillStyle=p.backgroundColor,e.fillRectByPrecision(0,0,i,u),e.restore(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(bt,bt);let h=0,g=s.length;for(let t=a-1;t<=o;t++){if(t<0||t>g-1)continue;let n=s[t];if(h===n)continue;let r={left:0,top:h,right:i,bottom:n,width:i,height:n-h},[a,o]=this.getCfgOfCurrentRow(f,p,t);o&&a.backgroundColor&&(e.save(),e.fillStyle=a.backgroundColor,e.fillRectByPrecision(r.left,r.top,r.width,r.height),e.restore()),e.beginPath(),e.moveToByPrecision(r.left,r.bottom),e.lineToByPrecision(r.right,r.bottom),e.stroke();let c=(()=>{switch(a.textAlign){case`center`:return r.left+(r.right-r.left)/2;case`right`:return r.right-1;case`left`:return r.left+1;default:return r.left+(r.right-r.left)/2}})(),l=h+(n-h)/2+1;o&&(e.save(),e.beginPath(),this.setStyleToCtx(e,a),e.rectByPrecision(r.left,r.top,r.width,r.height),e.clip()),e.fillText(a.text,c,l),o&&e.restore(),h=n}let _=i-.5/m;e.beginPath(),e.moveToByPrecision(_,0),e.lineToByPrecision(_,u),e.stroke()}};ti.add(new Nl);var Pl=class extends ai{getDocuments(){throw Error(`Method not implemented.`)}getNoMergeCellPositionByIndex(e,t){throw Error(`Method not implemented.`)}getSelectionBounding(e,t,n,r){throw Error(`Method not implemented.`)}constructor(e,t){super(e,t),K(this,`_rowHeaderLayoutExtension`,void 0),this._initialDefaultExtension(),this.makeDirty(!0)}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(e,t){let n=this.getSkeleton();if(!n)return;let r=this.getParentScale();n.updateVisibleRange(t);let i=n.rowColumnSegment;if(!i||i.startRow===-1&&i.endRow===-1)return;let{columnHeaderHeight:a}=n;e.translateWithPrecision(0,a);let o=this.getExtensionsByOrder();for(let t of o)t.draw(e,r,n)}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>=0&&t.x<=r&&t.y>i}_initialDefaultExtension(){ti.getData().forEach(e=>{this.register(e)}),this._rowHeaderLayoutExtension=this.getExtensionByKey(`DefaultRowHeaderLayoutExtension`)}setCustomHeader(e,t){this.makeDirty(!0),this._rowHeaderLayoutExtension.configHeaderRow(e,t)}},Fl=class extends Qr{constructor(e,t,n){super(e),this._skeleton=t,K(this,`pageMarginLeft`,0),K(this,`pageMarginTop`,0),K(this,`pageLayoutType`,Xn.VERTICAL),this._setConfig(n)}getSkeleton(){return this._skeleton}setSkeleton(e){this._skeleton=e}_setConfig(e){(e==null?void 0:e.pageMarginLeft)==null?this.pageMarginLeft=17:this.pageMarginLeft=e==null?void 0:e.pageMarginLeft,(e==null?void 0:e.pageMarginTop)==null?this.pageMarginTop=14:this.pageMarginTop=e==null?void 0:e.pageMarginTop,(e==null?void 0:e.pageLayoutType)==null?this.pageLayoutType=Xn.VERTICAL:this.pageLayoutType=e==null?void 0:e.pageLayoutType}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(!this._skeleton)return;let n=this.transform.getMatrix();e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e,t),e.restore()}getParentScale(){if(!this.parent)return{scaleX:1,scaleY:1};let{scaleX:e=1,scaleY:t=1}=this.parent;return this.parent.classType===W.SCENE&&(e=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:t}}isSkipByDiffBounds(e,t,n,r){if(r==null)return!1;let{pageWidth:i,pageHeight:a,marginBottom:o,marginTop:s,marginLeft:c,marginRight:l}=e,u=n+i+c+l,d=t+a+o+s,{left:f,top:p,right:m,bottom:h}=r.viewBound;return u<f||d<p||n>m&&i!==1/0||t>h&&a!==1/0}};let Il=function(e){return e[e.SPAN=0]=`SPAN`,e[e.LINE=1]=`LINE`,e}({});var Ll=class extends $r{constructor(...e){super(...e),K(this,`type`,Il.SPAN),K(this,`translateX`,0),K(this,`translateY`,0)}},Rl=class extends Ll{constructor(...e){super(...e),K(this,`uKey`,`DefaultDocsBackgroundExtension`),K(this,`Z_INDEX`,10),K(this,`_preBackgroundColor`,``)}draw(e,t,n){var r;let i=(r=n.parent)==null?void 0:r.parent;if(i==null)return;let{contentHeight:a=0}=i,{ts:o,width:s,content:c}=n;if((o==null?void 0:o.bg)==null)return;let{bg:l}=o,u=Te(l),{spanStartPoint:d=Y.create(0,0)}=this.extensionOffset;u&&c!==`\r`&&(e.fillStyle=u,e.fillRect(d.x-.5,d.y+1,s+1,a+2))}clearCache(){this._preBackgroundColor=``}};ri.add(new Rl);var zl=class extends Ll{constructor(...e){super(...e),K(this,`uKey`,`DefaultDocsBorderExtension`),K(this,`Z_INDEX`,50),K(this,`_preBorderStyle`,void 0),K(this,`_preBorderColor`,``)}draw(e,t,n){var r;let i=(r=n.parent)==null?void 0:r.parent;if(!i)return;let{asc:a=0,lineHeight:o=0}=i,{ts:s,left:c,width:l}=n;if(!s)return;let{bd:u}=s;if(!u)return;let d=this._getScale(e.getScale()),f=this._createBorderCache(u);e.save(),e.translateWithPrecisionRatio(bt,bt);let{spanStartPoint:p=Y.create(0,0)}=this.extensionOffset;for(let t of f.keys()){let n=f.get(t);if(!n)continue;let{s:r,cl:i}=n,a=Te(i)||`rgb(0,0,0)`,s=pr(r);r!==this._preBorderStyle&&(ur(e,r),e.setLineWidthByPrecision(s),this._preBorderStyle=r),a!==this._preBorderColor&&(e.strokeStyle=a||`rgb(0,0,0)`,this._preBorderColor=a),ar(e,t,(s-1)/2/d,{startX:p.x,startY:p.y,endX:p.x+l,endY:p.y+o})}e.restore()}clearCache(){this._preBorderStyle=null,this._preBorderColor=``}_createBorderCache(e){let{t,b:n,l:r,r:i}=e,a=new Map;return t&&a.set(U.TOP,t),n&&a.set(U.BOTTOM,n),r&&a.set(U.LEFT,r),i&&a.set(U.RIGHT,i),a}};ri.add(new zl);const Bl=[`checked`];var Vl=class e extends fa{constructor(e,t){super(e,t),K(this,`_checked`,!1),B.isDefine(t.checked)&&(this._checked=t.checked)}get checked(){return this._checked}static drawWith(e,t){let{width:n=16,height:r=16,fill:i,checked:a,top:o=0,left:s=0}=t,c=new Path2D(`M12 2.65381H4C3.17157 2.65381 2.5 3.32538 2.5 4.15381V12.1538C2.5 12.9822 3.17157 13.6538 4 13.6538H12C12.8284 13.6538 13.5 12.9822 13.5 12.1538V4.15381C13.5 3.32538 12.8284 2.65381 12 2.65381ZM4 1.65381C2.61929 1.65381 1.5 2.7731 1.5 4.15381V12.1538C1.5 13.5345 2.61929 14.6538 4 14.6538H12C13.3807 14.6538 14.5 13.5345 14.5 12.1538V4.15381C14.5 2.7731 13.3807 1.65381 12 1.65381H4Z`),l=new Path2D(`M3.99243 1.65381C2.61172 1.65381 1.49243 2.77295 1.49243 4.15381V12.1538C1.49243 13.5347 2.61172 14.6538 3.99243 14.6538H11.9924C13.3731 14.6538 14.4924 13.5347 14.4924 12.1538V4.15381C14.4924 2.77295 13.3731 1.65381 11.9924 1.65381H3.99243ZM12.3779 6.3623C12.6317 6.1084 12.6317 5.69678 12.3779 5.44287C12.1241 5.18896 11.7125 5.18896 11.4586 5.44287L7.21062 9.69092L5.00681 7.4873C4.75296 7.2334 4.3414 7.2334 4.08755 7.4873C3.83372 7.74072 3.83372 8.15234 4.08757 8.40625L6.85709 11.1758C7.05234 11.3711 7.36893 11.3711 7.56418 11.1758L12.3779 6.3623Z`);e.save(),e.translate(s,o),e.scale(n/16,r/16),i&&(e.fillStyle=i),a?e.fill(l,`evenodd`):e.fill(c,`evenodd`),e.restore()}_draw(t){e.drawWith(t,this)}toJson(){let e={};return Bl.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}};const Hl=[`radius`];var Ul=class e extends fa{constructor(e,t){super(e,t),K(this,`_radius`,void 0),K(this,`objectType`,Hr.CIRCLE),this._radius=(t==null?void 0:t.radius)||10,this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,value:n,preValue:r}=e;if(t===Z.resize||t===Z.all){let e=Math.min(this.width,this.height);this._radius=e/2,this.width=e,this.height=e,this._setTransForm()}})}get radius(){return this._radius}static drawWith(e,t){var n;let{radius:r}=t;r=(n=r)==null?10:n,e.beginPath(),t.strokeDashArray&&e.setLineDash(t.strokeDashArray),e.beginPath(),e.arc(r,r,r||0,0,Math.PI*2,!1),e.closePath(),this._renderPaintInOrder(e,t)}toJson(){let e={};return Hl.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}},Wl=class{};const Gl=[`radius`];var Kl=class e extends fa{constructor(e,t){super(e,t),K(this,`objectType`,Hr.RECT),K(this,`_radius`,0),K(this,`_opacity`,1),K(this,`_visualHeight`,void 0),K(this,`_visualWidth`,void 0),t!=null&&t.radius&&(this._radius=t.radius),t!=null&&t.visualHeight&&(this._visualHeight=t.visualHeight),t!=null&&t.visualWidth&&(this._visualWidth=t.visualWidth)}get visualHeight(){return this._visualHeight}get visualWidth(){return this._visualWidth}get radius(){return this._radius}get opacity(){return this._opacity}setObjectType(e){this.objectType=e}setOpacity(e){this._opacity=e}static drawWith(e,t){var n,r,i;let{radius:a,width:o,height:s}=t;if(a=(n=a)==null?0:n,o=(r=o)==null?0:r,s=(i=s)==null?0:i,e.save(),e.beginPath(),t.strokeDashArray&&e.setLineDash(t.strokeDashArray),t.visualHeight&&(e.translate(0,(s-(t.visualHeight||0))/2),s=t.visualHeight),t.visualWidth&&(e.translate((o-(t.visualWidth||0))/2,0),o=t.visualWidth),!a)e.rect(0,0,o,s);else{let t=0,n=0,r=0,i=0;t=n=r=i=Math.min(a,o/2,s/2),e.moveTo(t,0),e.lineTo(o-n,0),e.arc(o-n,n,n,Math.PI*3/2,0,!1),e.lineTo(o,s-i),e.arc(o-i,s-i,i,0,Math.PI/2,!1),e.lineTo(r,s),e.arc(r,s-r,r,Math.PI/2,Math.PI,!1),e.lineTo(0,t),e.arc(t,t,t,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,t),e.restore()}toJson(){let e={};return Gl.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(t){e.drawWith(t,this)}},ql=class e extends Kl{static drawWith(e,t){var n,r,i,a,o;let{radius:s,left:c,top:l,width:u,height:d}=t;if(s=(n=s)==null?0:n,u=(r=u)==null?0:r,d=(i=d)==null?0:i,c=(a=c)==null?0:a,l=(o=l)==null?0:o,e.beginPath(),e.setLineDash(t.strokeDashArray),!s)e.rect(c,l,u,d);else{let t=0,n=0,r=0,i=0;t=n=r=i=Math.min(s,u/2,d/2),e.moveTo(t,0),e.lineTo(u-n,0),e.arc(u-n,n,n,Math.PI*3/2,0,!1),e.lineTo(u,d-i),e.arc(u-i,d-i,i,0,Math.PI/2,!1),e.lineTo(r,d),e.arc(r,d-r,r,Math.PI/2,Math.PI,!1),e.lineTo(0,t),e.arc(t,t,t,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,t)}_draw(t,n){let{radius:r,paintFirst:i,stroke:a,strokeWidth:o,fill:s,strokeScaleEnabled:c,fillRule:l,strokeLineCap:u,strokeDashOffset:d,strokeLineJoin:f,strokeMiterLimit:p,strokeDashArray:m}=this,h=this.getParent().transform,g=h.getMatrix()[4],_=h.getMatrix()[5],v={left:g,top:_,right:g+this.width,bottom:_+this.height},{left:y,top:b,right:x,bottom:S}=v,C=x-y,w=S-b;if(n){let e=ae.getIntersectionBetweenTwoRect(v,n.cacheBound);e&&(y=e.left-g,b=e.top-_,x=e.right,S=e.bottom,C=e.width,w=e.height)}e.drawWith(t,{radius:r,paintFirst:i,stroke:a,strokeWidth:o,fill:s,strokeScaleEnabled:c,fillRule:l,strokeLineCap:u,strokeDashOffset:d,strokeLineJoin:f,strokeMiterLimit:p,strokeDashArray:m,width:C,height:w,left:y,top:b})}},Jl=class{},Yl=class extends fa{constructor(e,t){super(e,t),K(this,`_props`,void 0),K(this,`_native`,void 0),K(this,`_renderByCropper`,!1),K(this,`_transformCalculateSrcRect`,!0),K(this,`objectType`,Hr.IMAGE),K(this,`isDrawingObject`,!0),this._props={...t},t.image?(this._native=t.image,this._native.crossOrigin=`anonymous`,this.makeDirty(!0)):t.url&&(this._native=document.createElement(`img`),this._native.src=t.url,this._native.crossOrigin=`anonymous`,this._native.onload=()=>{var n,r;(n=t.success)==null||n.call(t),this.makeDirty(!0),(r=this.getEngine())==null||(r=r.activeScene)==null||r.onFileLoaded$.emitEvent(e)},this._native.onerror=()=>{t.fail?t.fail():(this._native.src=`data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+`,this.makeDirty(!0))}),this._init()}get srcRect(){return this._props.srcRect}get prstGeom(){return this._props.prstGeom}get opacity(){var e;return(e=this._props.opacity)==null?1:e}setOpacity(e){this._props.opacity=e,this.makeDirty(!0)}get classType(){return W.IMAGE}transformByStateCloseCropper(e){this._transformCalculateSrcRect=!1,this.transformByState(e),this._transformCalculateSrcRect=!0}changeSource(e){this._native==null&&(this._native=document.createElement(`img`)),this._native.src=e,this._native.onload=()=>{this.makeDirty(!0)}}resetSize(){this._native!=null&&(this.transformByState({width:this._native.width,height:this._native.height}),this.setSrcRect(null))}setPrstGeom(e){this._props.prstGeom=e}setSrcRect(e){this._props.srcRect=e,this.makeDirty(!0)}getProps(){return this._props}getNative(){return this._native}getNativeSize(){return this._native==null?{width:this.width,height:this.height}:{width:this._native.width,height:this._native.height}}closeRenderByCropper(){this._renderByCropper=!1}openRenderByCropper(){this._renderByCropper=!0,this._transformBySrcRect()}calculateTransformWithSrcRect(){let{left:e,top:t,width:n,height:r}=this;if(this.srcRect==null)return{left:e,top:t,width:n,height:r,angle:this.angle};let{left:i=0,top:a=0,right:o=0,bottom:s=0}=this.srcRect;return{left:e-i,top:t-a,width:n+o+i,height:r+s+a,angle:this.angle}}_transformBySrcRect(){if(this.srcRect==null)return;let{left:e=0,top:t=0,right:n=0,bottom:r=0}=this.srcRect,{width:i,height:a}=this,{left:o,top:s,width:c,height:l}=this.calculateTransformWithSrcRect();if(this.angle!==0){let n=(i+this.strokeWidth)/2,r=(a+this.strokeWidth)/2,u=c/2-e,d=l/2-t,f=vr(new Y(n,r),this.angle,new Y(o,s),new Y(u,d));o=f.x,s=f.y}this.transformByState({left:o,top:s,width:c,height:l})}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(!this.transform)return this;let{width:n,height:r,left:i,top:a}=this,o=this.getRealBound();if(n=o.width,r=o.height,i=o.left,a=o.top,this.isRender(t)){let{top:e,left:o,bottom:s,right:c}=t.viewBound;if(n+this.strokeWidth+i<o||c<i||r+this.strokeWidth+a<e||s<a)return this}let s=this.transform.getMatrix();e.save();let c=i+n/2,l=a+r/2;return e.transform(s[0],s[1],s[2],s[3],c,l),this.opacity!==1&&(e.globalAlpha=this.opacity),this._draw(e,void 0,n,r),e.restore(),this.makeDirty(!1),this}_draw(e,t,n,r){if(this._native==null)return;let i=n==null?this.width:n,a=r==null?this.height:r;if(!this._renderByCropper&&this.srcRect){let{left:t=0,top:n=0,right:r=0,bottom:o=0}=this.srcRect;e.beginPath(),e.rect(-i/2,-a/2,i,a),e.clip(),e.drawImage(this._native,-t-i/2,-n-a/2,i+r+t,a+o+n)}else e.drawImage(this._native,-i/2,-a/2,i,a)}_init(){this.onTransformChange$.subscribeEvent(e=>{this._updateSrcRectByTransform(e)})}_updateSrcRectByTransform(e){if(this.srcRect==null||!this._transformCalculateSrcRect)return;let{width:t,height:n,left:r,top:i,angle:a}=this,{width:o=0,height:s=0,left:c=0,top:l=0,angle:u}=e.preValue,{left:d=0,top:f=0,right:p=0,bottom:m=0}=this.srcRect,h=d,g=f,_=p,v=m,y=!1;if(o!==0&&o!==t){let e=d/o,n=p/o;h=t*e,_=t*n,y=!0}if(s!==0&&s!==n){let e=f/s,t=m/s;g=n*e,v=n*t,y=!0}y&&this.setSrcRect({left:h,top:g,right:_,bottom:v})}set transform(e){this._transform=e}get transform(){this._transform||this._setTransForm();let e=this._transform.clone();return this.transformForAngle(e)}isHit(e){let{left:t,top:n,width:r,height:i}=this.getRealBound(),a=t+r/2,o=n+i/2,s=this.transform.getMatrix(),c=new Br([s[0],s[1],s[2],s[3],a,o]),l=this.getParent(),u=(this.isInGroup&&(l==null?void 0:l.classType)===W.GROUP?l.ancestorTransform.multiply(c):c).invert().applyPoint(e),d=r/2,f=i/2;return u.x>=-d-this.strokeWidth/2&&u.x<=d+this.strokeWidth/2&&u.y>=-f-this.strokeWidth/2&&u.y<=f+this.strokeWidth/2}};const Xl=[`dataArray`];var Zl=class e extends fa{constructor(t,n){super(t,n),K(this,`_dataArray`,[]),K(this,`_pathLength`,0),K(this,`_selfRectCache`,{left:0,top:0,width:0,height:0}),K(this,`_reCalculateCache`,!0),n!=null&&n.data?this._dataArray=e.parsePathData(n.data):n!=null&&n.dataArray&&(this._dataArray=n.dataArray);for(let e=0;e<this.dataArray.length;++e)this._pathLength+=this.dataArray[e].pathLength;this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,preValue:n}=e;if(t===Z.resize||t===Z.all){this._reCalculateCache=!0;let{left:e,top:t,width:r,height:i}=this._getSelfRect(),{width:a,height:o}=n,s,c;s=a?this.width-a:0,c=o?this.height-o:0;let l=s/r,u=c/i;this.scaleX+=l,this.scaleY+=u,this.left-=e*l,this.top-=t*u,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(e,t){let n=t.dataArray;if(n){e.beginPath();for(let t=0;t<n.length;t++){let r=n[t].command,i=n[t].points;switch(r){case`L`:e.lineTo(i[0],i[1]);break;case`M`:e.moveTo(i[0],i[1]);break;case`C`:e.bezierCurveTo(i[0],i[1],i[2],i[3],i[4],i[5]);break;case`Q`:e.quadraticCurveTo(i[0],i[1],i[2],i[3]);break;case`A`:{let t=i[0],n=i[1],r=i[2],a=i[3],o=i[4],s=i[5],c=i[6],l=i[7],u=r>a?r:a,d=r>a?1:r/a,f=r>a?a/r:1;e.translate(t,n),e.rotate(c),e.scale(d,f),e.arc(0,0,u,o,o+s,!!(1-l)),e.scale(1/d,1/f),e.rotate(-c),e.translate(-t,-n);break}case`z`:e.closePath();break}}this._renderPaintInOrder(e,t)}}static getLineLength(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))}static getPointOnLine(e,t,n,r,i,a,o){a===void 0&&(a=t),o===void 0&&(o=n);let s=(i-n)/(r-t+1e-8),c=Math.sqrt(e*e/(1+s*s));r<t&&(c*=-1);let l=s*c,u;if(r===t)u={x:a,y:o+l};else if((o-n)/(a-t+1e-8)===s)u={x:a+c,y:o+l};else{let d=this.getLineLength(t,n,r,i),f=(a-t)*(r-t)+(o-n)*(i-n);f/=d*d;let p=t+f*(r-t),m=n+f*(i-n),h=this.getLineLength(a,o,p,m),g=Math.sqrt(e*e-h*h);c=Math.sqrt(g*g/(1+s*s)),r<t&&(c*=-1),l=s*c,u={x:p+c,y:m+l}}return u}static getPointOnCubicBezier(e,t,n,r,i,a,o,s,c){function l(e){return e*e*e}function u(e){return 3*e*e*(1-e)}function d(e){return 3*e*(1-e)*(1-e)}function f(e){return(1-e)*(1-e)*(1-e)}return{x:s*l(e)+a*u(e)+r*d(e)+t*f(e),y:c*l(e)+o*u(e)+i*d(e)+n*f(e)}}static getPointOnQuadraticBezier(e,t,n,r,i,a,o){function s(e){return e*e}function c(e){return 2*e*(1-e)}function l(e){return(1-e)*(1-e)}return{x:a*s(e)+r*c(e)+t*l(e),y:o*s(e)+i*c(e)+n*l(e)}}static getPointOnEllipticalArc(e,t,n,r,i,a){let o=Math.cos(a),s=Math.sin(a),c={x:n*Math.cos(i),y:r*Math.sin(i)};return{x:e+(c.x*o-c.y*s),y:t+(c.x*s+c.y*o)}}static parsePathData(e){if(!e)return[];let t=e,n=[`m`,`M`,`l`,`L`,`v`,`V`,`h`,`H`,`z`,`Z`,`c`,`C`,`q`,`Q`,`t`,`T`,`s`,`S`,`a`,`A`];t=t.replace(RegExp(` `,`g`),`,`);for(let e=0,r=n.length;e<r;e++)t=t.replace(new RegExp(n[e],`g`),`|${n[e]}`);let r=t.split(`|`),i=[],a=[],o=0,s=0,c=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,l;for(let e=1,t=r.length;e<t;e++){let t=r[e],n=t.charAt(0);for(t=t.slice(1),a.length=0;l=c.exec(t);)a.push(l[0]);let u=[];for(let e=0,t=a.length;e<t;e++){if(a[e]===`00`){u.push(0,0);continue}let t=Number.parseFloat(a[e]);isNaN(t)?u.push(0):u.push(t)}for(;u.length>0&&!isNaN(u[0]);){let e,t=[],r=o,a=s,c,l,d,f,p,m,h,g,_,v;switch(n){case`l`:o+=u.shift()||0,s+=u.shift()||0,e=`L`,t.push(o,s);break;case`L`:o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`m`:{let r=u.shift()||0,a=u.shift()||0;if(o+=r,s+=a,e=`M`,i.length>2&&i[i.length-1].command===`z`){for(let e=i.length-2;e>=0;e--)if(i[e].command===`M`){o=i[e].points[0]+r,s=i[e].points[1]+a;break}}t.push(o,s),n=`l`;break}case`M`:o=u.shift()||0,s=u.shift()||0,e=`M`,t.push(o,s),n=`L`;break;case`h`:o+=u.shift()||0,e=`L`,t.push(o,s);break;case`H`:o=u.shift()||0,e=`L`,t.push(o,s);break;case`v`:s+=u.shift()||0,e=`L`,t.push(o,s);break;case`V`:s=u.shift()||0,e=`L`,t.push(o,s);break;case`C`:t.push(u.shift()||0,u.shift()||0,u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`c`:t.push(o+(u.shift()||0),s+(u.shift()||0),o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`C`,t.push(o,s);break;case`S`:l=o,d=s,c=i[i.length-1],c.command===`C`&&(l=o+(o-c.points[2]),d=s+(s-c.points[3])),t.push(l,d,u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,e=`C`,t.push(o,s);break;case`s`:l=o,d=s,c=i[i.length-1],c.command===`C`&&(l=o+(o-c.points[2]),d=s+(s-c.points[3])),t.push(l,d,o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`C`,t.push(o,s);break;case`Q`:t.push(u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`q`:t.push(o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`Q`,t.push(o,s);break;case`T`:l=o,d=s,c=i[i.length-1],c.command===`Q`&&(l=o+(o-c.points[0]),d=s+(s-c.points[1])),o=u.shift()||0,s=u.shift()||0,e=`Q`,t.push(l,d,o,s);break;case`t`:l=o,d=s,c=i[i.length-1],c.command===`Q`&&(l=o+(o-c.points[0]),d=s+(s-c.points[1])),o+=u.shift()||0,s+=u.shift()||0,e=`Q`,t.push(l,d,o,s);break;case`A`:f=u.shift()||0,p=u.shift()||0,m=u.shift()||0,h=u.shift()||0,g=u.shift()||0,_=o,v=s,o=u.shift()||0,s=u.shift()||0,e=`A`,t=this.convertEndpointToCenterParameterization(_,v,o,s,h,g,f,p,m);break;case`a`:f=u.shift()||0,p=u.shift()||0,m=u.shift()||0,h=u.shift()||0,g=u.shift()||0,_=o,v=s,o+=u.shift()||0,s+=u.shift()||0,e=`A`,t=this.convertEndpointToCenterParameterization(_,v,o,s,h,g,f,p,m);break}i.push({command:e||n,points:t,start:{x:r,y:a},pathLength:this.calcLength(r,a,e||n,t)})}(n===`z`||n===`Z`)&&i.push({command:`z`,points:[],start:{x:0,y:0},pathLength:0})}return i}static calcLength(t,n,r,i){let a,o,s,c,l=e;switch(r){case`L`:return l.getLineLength(t,n,i[0],i[1]);case`C`:for(a=0,o=l.getPointOnCubicBezier(0,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),c=.01;c<=1;c+=.01)s=l.getPointOnCubicBezier(c,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case`Q`:for(a=0,o=l.getPointOnQuadraticBezier(0,t,n,i[0],i[1],i[2],i[3]),c=.01;c<=1;c+=.01)s=l.getPointOnQuadraticBezier(c,t,n,i[0],i[1],i[2],i[3]),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case`A`:{a=0;let e=i[4],t=i[5],n=i[4]+t,r=Math.PI/180;if(Math.abs(e-n)<r&&(r=Math.abs(e-n)),o=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],e,0),t<0)for(c=e-r;c>n;c-=r)s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;else for(c=e+r;c<n;c+=r)s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],n,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),a}}return 0}static convertEndpointToCenterParameterization(e,t,n,r,i,a,o,s,c){let l=c*(Math.PI/180),u=Math.cos(l)*(e-n)/2+Math.sin(l)*(t-r)/2,d=-1*Math.sin(l)*(e-n)/2+Math.cos(l)*(t-r)/2,f=u*u/(o*o)+d*d/(s*s);f>1&&(o*=Math.sqrt(f),s*=Math.sqrt(f));let p=Math.sqrt((o*o*(s*s)-o*o*(d*d)-s*s*(u*u))/(o*o*(d*d)+s*s*(u*u)));i===a&&(p*=-1),isNaN(p)&&(p=0);let m=p*o*d/s,h=p*-s*u/o,g=(e+n)/2+Math.cos(l)*m-Math.sin(l)*h,_=(t+r)/2+Math.sin(l)*m+Math.cos(l)*h,v=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),y=(e,t)=>(e[0]*t[0]+e[1]*t[1])/(v(e)*v(t)),b=(e,t)=>(e[0]*t[1]<e[1]*t[0]?-1:1)*Math.acos(y(e,t)),x=b([1,0],[(u-m)/o,(d-h)/s]),S=[(u-m)/o,(d-h)/s],C=[(-1*u-m)/o,(-1*d-h)/s],w=b(S,C);return y(S,C)<=-1&&(w=Math.PI),y(S,C)>=1&&(w=0),a===0&&w>0&&(w-=2*Math.PI),a===1&&w<0&&(w+=2*Math.PI),[g,_,o,s,x,w,l,a]}toJson(){let e={};return Xl.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}getState(){let{left:e,top:t,width:n,height:r}=this.getRect();return{left:e,top:t,width:n,height:r,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){let{left:e,top:t,width:n,height:r}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:t*this.scaleY+this.top,width:n*this.scaleX,height:r*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(t){let n,r=0,i=this.dataArray.length;if(!i)return null;for(;r<i&&t>this.dataArray[r].pathLength;)t-=this.dataArray[r].pathLength,++r;if(r===i)return n=this.dataArray[r-1].points.slice(-2),{x:n[0],y:n[1]};if(t<.01)return n=this.dataArray[r].points.slice(0,2),{x:n[0],y:n[1]};let a=this.dataArray[r],o=a.points;switch(a.command){case`L`:return e.getPointOnLine(t,a.start.x,a.start.y,o[0],o[1]);case`C`:return e.getPointOnCubicBezier(t/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3],o[4],o[5]);case`Q`:return e.getPointOnQuadraticBezier(t/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3]);case`A`:{let n=o[0],r=o[1],i=o[2],s=o[3],c=o[4],l=o[5],u=o[6];return c+=l*t/a.pathLength,e.getPointOnEllipticalArc(n,r,i,s,c,u)}}return null}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){let{left:e,top:t,width:n,height:r}=this._getSelfRect(),i=this.width/n,a=this.height/r;this.left-=e*i,this.top-=t*a,this.scaleX=i,this.scaleY=a,this.width=n,this.height=r,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let t=[];this.dataArray.forEach(n=>{if(n.command===`A`){let r=n.points[4],i=n.points[5],a=n.points[4]+i,o=Math.PI/180;if(Math.abs(r-a)<o&&(o=Math.abs(r-a)),i<0)for(let i=r-o;i>a;i-=o){let r=e.getPointOnEllipticalArc(n.points[0],n.points[1],n.points[2],n.points[3],i,0);t.push(r.x,r.y)}else for(let i=r+o;i<a;i+=o){let r=e.getPointOnEllipticalArc(n.points[0],n.points[1],n.points[2],n.points[3],i,0);t.push(r.x,r.y)}}else if(n.command===`C`)for(let r=0;r<=1;r+=.01){let i=e.getPointOnCubicBezier(r,n.start.x,n.start.y,n.points[0],n.points[1],n.points[2],n.points[3],n.points[4],n.points[5]);t.push(i.x,i.y)}else t=t.concat(n.points)});let n=t[0],r=t[0],i=t[1],a=t[1],o,s;for(let e=0;e<t.length/2;e++)o=t[e*2],s=t[e*2+1],isNaN(o)||(n=Math.min(n,o),r=Math.max(r,o)),isNaN(s)||(i=Math.min(i,s),a=Math.max(a,s));let c={left:n,top:i,width:r-n,height:a-i};return this._selfRectCache=c,c}};const Ql=[`pointsGroup`];var $l=class e extends fa{constructor(e,t){super(e,t),K(this,`_pointsGroup`,void 0),this._pointsGroup=(t==null?void 0:t.pointsGroup)||[[]],this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,value:n,preValue:r}=e;(t===Z.resize||t===Z.all)&&this.resizePolygon(r)})}get pointsGroup(){return this._pointsGroup}static drawWith(e,t){var n;let{pointsGroup:r}=t;r=(n=r)==null?[[]]:n,t.strokeDashArray&&e.setLineDash(t.strokeDashArray),e.beginPath();for(let t of r){e.moveTo(t[0].x,t[0].y);for(let n=1;n<t.length;n++){let r=t[n];e.lineTo(r.x,r.y)}}e.closePath(),this._renderPaintInOrder(e,t)}isHit(e){let t=this.getInverseCoord(e);return!!(t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2&&this._contains(t))}_contains(e){let t=!1;for(let n of this._pointsGroup){let r=0,i=n.length;for(let t=0;t<i;t++){let a=n[t],o=n[(t+1)%i];if(this._isOnLine(e,a,o))return!0;if(a.y>e.y!=o.y>e.y){let t=a.x+(e.y-a.y)*(o.x-a.x)/(o.y-a.y);e.x<t&&r++}}r%2!=0&&(t=!t)}return t}_isOnLine(e,t,n){return(t.x-e.x)*(n.y-e.y)-(n.x-e.x)*(t.y-e.y)===0?e.x>=Math.min(t.x,n.x)&&e.x<=Math.max(t.x,n.x)&&e.y>=Math.min(t.y,n.y)&&e.y<=Math.max(t.y,n.y):!1}updatePointGroup(e){this._pointsGroup=e,this._setFixBoundingBox()}resizePolygon(e){let{left:t,top:n,width:r,height:i}=this._getSelfRect(),{width:a,height:o}=e,s,c;s=a?this.width-a:0,c=o?this.height-o:0;let l=s/r,u=c/i;this.scaleX+=l,this.scaleY+=u,this.left-=t*l,this.top-=n*u,this._setTransForm()}toJson(){let e={};return Ql.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}getState(){let{left:e,top:t,width:n,height:r}=this.getRect();return{left:e,top:t,width:n,height:r,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){let{left:e,top:t,width:n,height:r}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:t*this.scaleY+this.top,width:n*this.scaleX,height:r*this.scaleY}}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){let{width:e,height:t,left:n,top:r}=this._getSelfRect();this.left+=n,this.top+=r,this.width=e,this.height=t;let i=this.pointsGroup;for(let e of i)for(let t of e)t.x-=n,t.y-=r;this._setTransForm()}_getSelfRect(){let e=this.pointsGroup,t=e[0][0].x,n=e[0][0].x,r=e[0][0].y,i=e[0][0].y;for(let a of e)for(let e of a)t=Math.min(t,e.x),n=Math.max(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.y);return{left:t,top:r,width:n-t,height:i-r}}};const eu=[`text`,`richText`,`fs`];var tu=class extends Ur{constructor(e,t,n){super(t),this._localeService=e,K(this,`_documentData`,void 0),K(this,`_documentSkeleton`,void 0),K(this,`_documents`,void 0),K(this,`documentModel`,void 0),K(this,`_ff`,void 0),K(this,`_fs`,12),K(this,`_it`,i.FALSE),K(this,`_bl`,i.FALSE),K(this,`_ul`,{s:i.FALSE}),K(this,`_st`,{s:i.FALSE}),K(this,`_ol`,{s:i.FALSE}),K(this,`_bg`,void 0),K(this,`_bd`,void 0),K(this,`_cl`,void 0),K(this,`objectType`,Hr.RICH_TEXT),n!=null&&n.richText?this._documentData=n.richText:n&&(this._fs=n.fs,this._ff=n.ff,this._it=n.it,this._bl=n.bl,this._ul=n.ul,this._st=n.st,this._ol=n.ol,this._bg=n.bg,this._bd=n.bd,this._cl=n.cl,this._documentData=this._convertToDocumentData(n.text||``));let r=this.documentModel=new y(this._documentData),a=new ba(r);this._documentSkeleton=hl.create(a,this._localeService),this._documents=new ou(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(n),this.onTransformChange$.subscribeEvent(e=>{let{type:t}=e;if(t===Z.resize||t===Z.all){r.updateDocumentDataPageSize(this.width),this._documentSkeleton.makeDirty(!0),this._documentSkeleton.calculate();let e=this.getDocsSkeletonPageSize();this.height=(e==null?void 0:e.height)||this.height,this._setTransForm(),this.refreshDocumentByDocData()}})}get fs(){return this._fs}get text(){let e=this._documentData.body;if(!e)return``;let t=[];if(e.textRuns)for(let n of e.textRuns){let r=n.st||0,i=n.ed||0;t.push(e.dataStream.slice(r,i))}return t.join(``)}get documentData(){return this._documentData}getDocsSkeletonPageSize(){var e;let t=(e=this._documentSkeleton)==null?void 0:e.getSkeletonData();if(!t)return;let{pages:n}=t,{width:r,height:i}=n[n.length-1];return{width:r,height:i}}setProps(e){if(!e)return;let t=Object.keys(e);if(t.length!==0)return t.forEach(t=>{if(e[t]===void 0)return!0;eu.indexOf(t)===-1&&(this[`_${t}`]=e[t])}),this.makeDirty(!0),this}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(t)){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth<n||i<0||this.height+this.strokeWidth<e||r<0)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e),e.restore(),this.makeDirty(!1),this}toJson(){let e={};return eu.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(e){this._documents.render(e)}_convertToDocumentData(e){let t=e.length;return{id:`d`,body:{dataStream:`${e}${p}`,textRuns:[{ts:{fs:this._fs||14,ff:this._ff,it:this._it,bl:this._bl,ul:this._ul,st:this._st,ol:this._ol,bg:this._bg,bd:this._bd,cl:this._cl},st:0,ed:t}]},documentStyle:{pageSize:{width:1/0,height:1/0}}}}_initialProps(e){this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(e==null?void 0:e.width,e==null?void 0:e.height),this._documentSkeleton.calculate();let t=this.getDocsSkeletonPageSize();this.transformByState({width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0,left:(e==null?void 0:e.left)||0,top:(e==null?void 0:e.top)||0,angle:e==null?void 0:e.angle}),this.setProps(e),this.makeDirty(!0)}refreshDocumentByDocData(){let e=new ba(this.documentModel=new y(this._documentData));this._documentSkeleton=hl.create(e,this._localeService),this._documents=new ou(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(this.width,1/0),this._documentSkeleton.calculate()}resizeToContentSize(){let e=this.getDocsSkeletonPageSize();e&&e.width!==0&&e.height!==0&&this.transformByState({height:(e==null?void 0:e.height)||0})}},nu=class e extends _{constructor(e,t){super(),K(this,`_enableHorizontal`,!0),K(this,`_enableVertical`,!0),K(this,`horizontalThumbSize`,0),K(this,`horizontalMinusMiniThumb`,0),K(this,`horizontalTrackWidth`,0),K(this,`horizonScrollTrack`,void 0),K(this,`horizonThumbRect`,void 0),K(this,`verticalThumbSize`,0),K(this,`verticalTrackHeight`,0),K(this,`verticalMinusMiniThumb`,0),K(this,`verticalScrollTrack`,void 0),K(this,`verticalThumbRect`,void 0),K(this,`placeholderBarRect`,void 0),K(this,`_viewport`,void 0),K(this,`_mainScene`,void 0),K(this,`_lastX`,-1),K(this,`_lastY`,-1),K(this,`_isHorizonMove`,!1),K(this,`_isVerticalMove`,!1),K(this,`_horizonPointerMoveSub`,void 0),K(this,`_horizonPointerUpSub`,void 0),K(this,`_verticalPointerMoveSub`,void 0),K(this,`_verticalPointerUpSub`,void 0),K(this,`_thumbDefaultBackgroundColor`,`rgba(24, 28, 42, 0.20)`),K(this,`_thumbHoverBackgroundColor`,`rgba(24, 28, 42, 0.30)`),K(this,`_thumbActiveBackgroundColor`,`rgba(24, 28, 42, 0.40)`),K(this,`_trackBackgroundColor`,`rgba(255,255,255,0.5)`),K(this,`_trackBorderColor`,`rgba(255,255,255,0.7)`),K(this,`_trackThickness`,10),K(this,`_vThumbMargin`,2),K(this,`_hThumbMargin`,2),K(this,`_trackBorderThickness`,1),K(this,`_thumbLengthRatio`,1),K(this,`_minThumbSizeH`,17),K(this,`_minThumbSizeV`,17),K(this,`_eventSub`,new qe),K(this,`_viewportH`,0),K(this,`_viewportW`,0),K(this,`_contentW`,0),K(this,`_contentH`,0),e||console.warn(`Missing viewport`),this.setProps(t),this._viewport=e,this._initialScrollRect(),this._initialVerticalEvent(),this._initialHorizontalEvent(),this._viewport.setScrollBar(this)}setProps(e){if(!e)return;let t=Object.keys(e);t.length!==0&&(t.forEach(t=>{e[t]!==void 0&&(this[`_${t}`]=e[t])}),B.isDefine(e.thumbBackgroundColor)&&(this._thumbDefaultBackgroundColor=e.thumbBackgroundColor),B.isDefine(e.barSize)&&(this._trackThickness=e.barSize),B.isDefine(e.barBorder)&&(this._trackBorderThickness=e.barBorder),B.isDefine(e.thumbMargin)&&(this._hThumbMargin=e.thumbMargin,this._vThumbMargin=e.thumbMargin))}get enableHorizontal(){return this._enableHorizontal}set enableHorizontal(e){this._enableHorizontal=e}get enableVertical(){return this._enableVertical}set enableVertical(e){this._enableVertical=e}get limitX(){var e;return(e=this.horizonThumbRect)!=null&&e.visible?this.horizontalTrackWidth-this.horizontalThumbSize:0}get limitY(){var e;return(e=this.verticalThumbRect)!=null&&e.visible?this.verticalTrackHeight-this.verticalThumbSize:0}get ratioScrollX(){if(this._enableHorizontal===!1||this.horizontalThumbSize===void 0||this.horizontalTrackWidth===void 0)return 1;let e=(this.horizontalThumbSize-this.horizontalMinusMiniThumb)*this.miniThumbRatioX/this.horizontalTrackWidth;return Number.isNaN(e)?1:e}get ratioScrollY(){if(this._enableVertical===!1||this.verticalThumbSize===void 0||this.verticalTrackHeight===void 0)return 1;let e=(this.verticalThumbSize-this.verticalMinusMiniThumb)*this.miniThumbRatioY/this.verticalTrackHeight;return Number.isNaN(e)?1:e}get miniThumbRatioX(){let e=this.horizontalTrackWidth-this.horizontalThumbSize;if(e===0)return 0;let t=this.horizontalTrackWidth-(this.horizontalThumbSize-this.horizontalMinusMiniThumb);return t===0?0:e/t}get miniThumbRatioY(){let e=this.verticalTrackHeight-this.verticalThumbSize;if(e===0)return 0;let t=this.verticalTrackHeight-(this.verticalThumbSize-this.verticalMinusMiniThumb);return t===0?0:e/t}hasHorizonThumb(){var e;return((e=this.horizonThumbRect)==null?void 0:e.visible)||!1}hasVerticalThumb(){var e;return((e=this.verticalThumbRect)==null?void 0:e.visible)||!1}get scrollHorizonThumbThickness(){return Math.max(0,this._trackThickness-this._hThumbMargin*2)}get scrollVerticalThumbThickness(){return Math.max(0,this._trackThickness-this._vThumbMargin*2)}set barSize(e){this._trackThickness=e}get barSize(){return this._trackThickness}set trackThickness(e){this._trackThickness=e}get trackThickness(){return this._trackThickness}get totalSize(){return this._trackThickness+this._trackBorderThickness}static attachTo(t,n){return new e(t,n)}dispose(){var e,t,n,r,i,a,o,s,c;super.dispose(),(e=this.horizonScrollTrack)==null||e.dispose(),(t=this.horizonThumbRect)==null||t.dispose(),(n=this.verticalScrollTrack)==null||n.dispose(),(r=this.verticalThumbRect)==null||r.dispose(),(i=this.placeholderBarRect)==null||i.dispose(),this.horizonScrollTrack=null,this.horizonThumbRect=null,this.verticalScrollTrack=null,this.verticalThumbRect=null,this.placeholderBarRect=null,(a=this._horizonPointerMoveSub)==null||a.unsubscribe(),(o=this._horizonPointerUpSub)==null||o.unsubscribe(),(s=this._verticalPointerMoveSub)==null||s.unsubscribe(),(c=this._verticalPointerUpSub)==null||c.unsubscribe(),this._eventSub.unsubscribe(),this._mainScene=null,this._viewport.removeScrollBar()}render(e,t=0,n=0){let{scrollX:r,scrollY:i}=this._viewport;e.save();let a=new Br([1,0,0,1,t,n]).getMatrix();e.transform(a[0],a[1],a[2],a[3],a[4],a[5]),this._enableHorizontal&&(this.horizonScrollTrack.render(e),this.horizonThumbRect.translate(r).render(e)),this._enableVertical&&(this.verticalScrollTrack.render(e),this.verticalThumbRect.translate(void 0,i).render(e)),this._enableHorizontal&&this._enableVertical&&this.placeholderBarRect.render(e),e.restore()}_resizeHorizontal(){var e;let t=this._viewportH,n=this._viewportW,r=this._contentW;if(this._enableHorizontal)if(this.horizontalMinusMiniThumb=0,this.horizontalTrackWidth=n-(this._enableVertical?this._trackThickness:0)-this._trackBorderThickness,this.horizontalThumbSize=this.horizontalTrackWidth*(this.horizontalTrackWidth-this._trackBorderThickness)/r*this._thumbLengthRatio,this.horizontalThumbSize<this._minThumbSizeH&&(this.horizontalMinusMiniThumb=this._minThumbSizeH-this.horizontalThumbSize,this.horizontalThumbSize=this._minThumbSizeH),(e=this.horizonScrollTrack)==null||e.transformByState({left:0,top:t-this._trackThickness,width:this.horizontalTrackWidth,height:Math.max(0,this._trackThickness-this._trackBorderThickness)}),this.horizontalThumbSize>=n-(this._trackThickness+2)){var i;(i=this.horizonThumbRect)==null||i.setProps({visible:!1})}else{var a,o;if(!((a=this.horizonThumbRect)!=null&&a.visible)){var s;(s=this.horizonThumbRect)==null||s.setProps({visible:!0})}(o=this.horizonThumbRect)==null||o.transformByState({left:this._viewport.scrollX,top:t-this._trackThickness+this._hThumbMargin,width:this.horizontalThumbSize,height:this.scrollHorizonThumbThickness})}}_resizeVertical(){var e;let t=this._viewportH,n=this._viewportW,r=this._contentH;if(this._enableVertical)if(this.verticalMinusMiniThumb=0,this.verticalTrackHeight=t-(this._enableHorizontal?this._trackThickness:0)-this._trackBorderThickness,this.verticalThumbSize=this.verticalTrackHeight*this.verticalTrackHeight/r*this._thumbLengthRatio,this.verticalThumbSize<this._minThumbSizeV&&(this.verticalMinusMiniThumb=this._minThumbSizeV-this.verticalThumbSize,this.verticalThumbSize=this._minThumbSizeV),(e=this.verticalScrollTrack)==null||e.transformByState({left:n-this._trackThickness,top:0,width:Math.max(0,this._trackThickness-this._trackBorderThickness),height:this.verticalTrackHeight}),this.verticalThumbSize>=t-this._trackThickness){var i;(i=this.verticalThumbRect)==null||i.setProps({visible:!1})}else{var a,o;if(!((a=this.verticalThumbRect)!=null&&a.visible)){var s;(s=this.verticalThumbRect)==null||s.setProps({visible:!0})}(o=this.verticalThumbRect)==null||o.transformByState({left:n-this._trackThickness+this._vThumbMargin,top:this._viewport.scrollY,width:this.scrollVerticalThumbThickness,height:this.verticalThumbSize})}}_resizeRightBottomCorner(){let e=this._viewportH,t=this._viewportW;if(this._enableHorizontal&&this._enableVertical){var n;(n=this.placeholderBarRect)==null||n.transformByState({left:t-this._trackThickness,top:e-this._trackThickness,width:Math.max(0,this._trackThickness-this._trackBorderThickness),height:Math.max(0,this._trackThickness-this._trackBorderThickness)})}}resize(e=0,t=0,n=0,r=0){e===0&&e===0||(this._viewportH=t,this._viewportW=e,this._contentW=n,this._contentH=r,this._resizeHorizontal(),this._resizeVertical(),this._resizeRightBottomCorner())}makeDirty(e){var t,n,r,i,a;(t=this.horizonScrollTrack)==null||t.makeDirty(e),(n=this.horizonThumbRect)==null||n.makeDirty(e),(r=this.verticalScrollTrack)==null||r.makeDirty(e),(i=this.verticalThumbRect)==null||i.makeDirty(e),(a=this.placeholderBarRect)==null||a.makeDirty(e),this.makeViewDirty(e)}makeViewDirty(e){(this._mainScene||this._viewport.scene).makeDirty(e)}pick(e){var t,n,r,i;return(t=this.horizonThumbRect)!=null&&t.isHit(e)?this.horizonThumbRect:(n=this.verticalThumbRect)!=null&&n.isHit(e)?this.verticalThumbRect:(r=this.horizonScrollTrack)!=null&&r.isHit(e)?this.horizonScrollTrack:(i=this.verticalScrollTrack)!=null&&i.isHit(e)?this.verticalScrollTrack:null}_initialScrollRect(){this._enableHorizontal&&(this.horizonScrollTrack=new Kl(`__horizonBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}),this.horizonThumbRect=new Kl(`__horizonThumbRect__`,{radius:6,fill:this._thumbDefaultBackgroundColor})),this._enableVertical&&(this.verticalScrollTrack=new Kl(`__verticalBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}),this.verticalThumbRect=new Kl(`__verticalThumbRect__`,{radius:6,fill:this._thumbDefaultBackgroundColor})),this._enableHorizontal&&this._enableVertical&&(this.placeholderBarRect=new Kl(`__placeholderBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}))}_initialVerticalEvent(){if(!this._enableVertical)return;let e=this._mainScene||this._viewport.scene;this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerEnter$.subscribeEvent((e,t)=>{this._verticalHoverFunc(this._thumbHoverBackgroundColor,e,t)})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerLeave$.subscribeEvent((e,t)=>{this._verticalHoverLeaveFunc(this._thumbDefaultBackgroundColor,e,t)})),this.verticalScrollTrack&&this._eventSub.add(this.verticalScrollTrack.onPointerDown$.subscribeEvent((e,t)=>{let n=e;this._viewport.scrollToBarPos({y:n.offsetY-this._viewport.top-this.verticalThumbSize/2}),t.stopPropagation()})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerDown$.subscribeEvent((t,n)=>{let r=t,i=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=r.offsetX,this._lastY=r.offsetY,i==null||i.setProps({fill:this._thumbActiveBackgroundColor}),e.setCaptureObject(this.verticalThumbRect),e.disableObjectsEvent(),this.makeViewDirty(!0),n.stopPropagation()})),this._verticalPointerMoveSub=e.onPointerMove$.subscribeEvent((t,n)=>{var r;let i=t;this._isVerticalMove&&(this._viewport.scrollByBarDeltaValue({y:i.offsetY-this._lastY}),this._lastY=i.offsetY,(r=e.getEngine())==null||r.setCapture())}),this._verticalPointerUpSub=e.onPointerUp$.subscribeEvent((t,n)=>{let r=this.verticalThumbRect;this._isVerticalMove=!1,e.releaseCapturedObject(),e.enableObjectsEvent(),r==null||r.setProps({fill:this._thumbHoverBackgroundColor}),this.makeViewDirty(!0)})}_horizonHoverFunc(e,t,n){this._hThumbMargin=1,this._resizeHorizontal(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.horizonThumbRect)(t,n)}_horizonHoverLeaveFunc(e,t,n){this._hThumbMargin=2,this._resizeHorizontal(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.horizonThumbRect)(t,n)}_verticalHoverFunc(e,t,n){this._vThumbMargin=1,this._resizeVertical(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.verticalThumbRect)(t,n)}_verticalHoverLeaveFunc(e,t,n){this._vThumbMargin=2,this._resizeVertical(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.verticalThumbRect)(t,n)}_hoverFunc(e,t){return(n,r)=>{t.setProps({fill:e}),this._resizeHorizontal(),this.makeViewDirty(!0)}}_initialHorizontalEvent(){if(!this._enableHorizontal)return;let e=this._mainScene||this._viewport.scene;this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerEnter$.subscribeEvent((e,t)=>{this._horizonHoverFunc(this._thumbHoverBackgroundColor,e,t)})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerLeave$.subscribeEvent((e,t)=>{this._horizonHoverLeaveFunc(this._thumbDefaultBackgroundColor,e,t)})),this.horizonScrollTrack&&this._eventSub.add(this.horizonScrollTrack.onPointerDown$.subscribeEvent((e,t)=>{let n=e;this._viewport.scrollToBarPos({x:n.offsetX-this._viewport.left-this.horizontalThumbSize/2}),t.stopPropagation()})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerDown$.subscribeEvent((t,n)=>{var r;let i=t;this._isHorizonMove=!0,this._lastX=i.offsetX,this._lastY=i.offsetY,(r=this.horizonThumbRect)==null||r.setProps({fill:this._thumbActiveBackgroundColor}),this.makeViewDirty(!0),e.setCaptureObject(this.horizonThumbRect),e.disableObjectsEvent(),n.stopPropagation()})),this._horizonPointerMoveSub=e.onPointerMove$.subscribeEvent((t,n)=>{var r;let i=t;this._isHorizonMove&&(this._viewport.scrollByBarDeltaValue({x:i.offsetX-this._lastX}),this._lastX=i.offsetX,(r=e.getEngine())==null||r.setCapture())}),this._horizonPointerUpSub=e.onPointerUp$.subscribeEvent((t,n)=>{var r;this._isHorizonMove=!1,e.releaseCapturedObject(),e.enableObjectsEvent(),(r=this.horizonThumbRect)==null||r.setProps({fill:this._thumbHoverBackgroundColor}),this.makeViewDirty(!0)})}},ru=class extends Ll{constructor(){super(),K(this,`uKey`,`DefaultDocsFontAndBaseLineExtension`),K(this,`Z_INDEX`,20),K(this,`_preFontColor`,``),K(this,`actualFontMap`,{})}draw(e,t,n,i,a){var o;if(!((o=n.parent)!=null&&o.parent))return;let{ts:s,content:c,fontStyle:l,bBox:u}=n,{spanPointWithFont:d=Y.create(0,0)}=this.extensionOffset;if(c==null)return;if(!s){this._fillText(e,n,d);return}let f=(l==null?void 0:l.fontString)||``;f&&e.font!==this.actualFontMap[f]&&(e.font=f,this.actualFontMap[f]=e.font);let{cl:p,va:m}=s,h=Te(p)||`rgb(0,0,0)`;h&&this._preFontColor!==h&&(e.fillStyle=h),m===r.SUPERSCRIPT?d.y+=-u.spo:m===r.SUBSCRIPT&&(d.y+=u.sbo),this._fillText(e,n,d)}_fillText(e,t,n){let{renderConfig:r,spanStartPoint:i,centerPoint:a}=this.extensionOffset,{content:o,width:s,bBox:c}=t,{aba:l,abd:u}=c;if(o==null||i==null||a==null)return;let{vertexAngle:d,centerAngle:f}=r==null?{}:r;if(d===90&&f===90&&!Zt(o))e.save(),e.translate(i.x+a.x,i.y+a.y),e.rotate(Math.PI/2),e.translate(-s/2,(l+u)/2-u),e.fillText(o,0,0),e.restore();else if((o===`☐`||o===`☑`)&&t.glyphType===Yn.LIST){var p,m;let r=Math.ceil(((p=(m=t.ts)==null?void 0:m.fs)==null?12:p)*1.2);e.save();let i=t.bBox.aba-t.bBox.abd,a=n.y,s=a-i,c=n.x,l=s+(a-s-r)/2,u=c;e.translate(u-1/2,l-1/2),Vl.drawWith(e,{width:r,height:r,checked:o===`☑`}),e.restore()}else e.fillText(o,n.x,n.y)}clearCache(){this._preFontColor=``}};ri.add(new ru);var iu=class extends Ll{constructor(...e){super(...e),K(this,`uKey`,`DefaultDocsLineExtension`),K(this,`Z_INDEX`,40),K(this,`_preBackgroundColor`,``)}draw(e,t,n){var i;let a=(i=n.parent)==null?void 0:i.parent,{ts:o,bBox:s,content:c}=n;if(a==null||o==null||c===`\r`)return;let{asc:l,dsc:u}=a,{sp:d,spo:f,sbo:p,bd:m}=s,h=Cn(t),g=.5,{ul:_,st:v,ol:y,va:b,bbl:x}=o;if(_){let t=l+u;this._drawLine(e,n,_,t,h)}if(x){let t=l+u+3;this._drawLine(e,n,x,t,h,2)}if(v){let t=l+m-d-g;b===r.SUPERSCRIPT?t-=f:b===r.SUBSCRIPT&&(t+=p),this._drawLine(e,n,v,t,h)}y&&(-1-g,this._drawLine(e,n,y,-1.5,h))}clearCache(){this._preBackgroundColor=``}_drawLine(e,t,n,r,a,o=1){var s;let{s:c,cl:l,t:u,c:d=i.TRUE}=n;if(c!==i.TRUE)return;d==null&&(d=i.TRUE);let{originTranslate:f=Y.create(0,0),alignOffset:p=Y.create(0,0),renderConfig:m={}}=this.extensionOffset,{left:h,width:g}=t,{centerAngle:_=0,vertexAngle:v=0}=m;e.save(),e.strokeStyle=(d===i.TRUE?Te((s=t.ts)==null?void 0:s.cl):Te(l))||`rgb(0,0,0)`,this._setLineType(e,u==null?z.SINGLE:u,o),r+=this._isDouble(u)?-.8:0;let y=Pt(_),b=Pt(v),x=mr(f.addByPoint(h,r),Y.create(0,0),y,b,p),S=mr(f.addByPoint(h+g,r),Y.create(0,0),y,b,p);e.beginPath(),e.moveTo(x.x,x.y),this._drawLineTo(e,x.x,S.x,S.y,u),this._isDouble(u)&&(e.moveTo(x.x,x.y+2),this._drawLineTo(e,x.x,S.x,S.y+2,u)),e.stroke(),e.restore()}_drawLineTo(e,t,n,r,i){if(this._isWave(i))for(let i=t;i<n;i++)e.lineTo(i,r+.8*Math.sin(i*1));else e.lineTo(n,r)}_setLineType(e,t,n){switch(t){case z.SINGLE:case z.DOUBLE:e.lineWidth=1,e.setLineDash([0]);return;case z.DOTTED:e.lineWidth=1,e.setLineDash([2]);return;case z.DOTTED_HEAVY:e.lineWidth=2,e.setLineDash([2]);return;case z.DASH:e.lineWidth=1,e.setLineDash([3]);return;case z.DASHED_HEAVY:e.lineWidth=2,e.setLineDash([3]);return;case z.DASH_LONG:e.lineWidth=1,e.setLineDash([6]);return;case z.DASH_LONG_HEAVY:e.lineWidth=2,e.setLineDash([6]);return;case z.DOT_DASH:e.lineWidth=1,e.setLineDash([2,5,2]);return;case z.DASH_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,5,2]);return;case z.DOT_DOT_DASH:e.lineWidth=1,e.setLineDash([2,2,5,2,2]);return;case z.DASH_DOT_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,2,5,2,2]);return;case z.THICK:e.lineWidth=2,e.setLineDash([0]);return;case z.WAVE:case z.WAVY_DOUBLE:e.lineWidth=1;return;case z.WAVY_HEAVY:e.lineWidth=2;return;default:e.setLineDash([0]),e.lineWidth=n}}_isWave(e){return e===z.WAVE||e===z.WAVY_HEAVY||e===z.WAVY_DOUBLE}_isDouble(e){return e===z.DOUBLE||e===z.WAVY_DOUBLE}};ri.add(new iu);const au={color:{rgb:`#dee0e3`}};var ou=class e extends Fl{constructor(e,t,n){super(e,t,n),K(this,`_pageRender$`,new Ke),K(this,`pageRender$`,this._pageRender$.asObservable()),K(this,`_drawLiquid`,new ha),this._initialDefaultExtension(),this.makeDirty(!0)}static create(t,n,r){return new e(t,n,r)}dispose(){super.dispose(),this._pageRender$.complete(),this._drawLiquid=null}getOffsetConfig(){let{transform:e,pageLayoutType:t,pageMarginLeft:n,pageMarginTop:r,left:i,top:a}=this;return{documentTransform:e,pageLayoutType:t,pageMarginLeft:n,pageMarginTop:r,docsLeft:i,docsTop:a}}getEngine(){return this.getScene().getEngine()}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,t){this.draw(e,t)}draw(e,t){var n;let r=(n=this.getSkeleton())==null?void 0:n.getSkeletonData();if(r==null||this._drawLiquid==null)return;this._drawLiquid.reset();let{pages:i,skeHeaders:a,skeFooters:o}=r,s=this.getParentScale(),l=this.getExtensionsByOrder();for(let e of l)e.clearCache();let u=l.find(e=>e.uKey===`DefaultDocsBackgroundExtension`),d=l.filter(e=>e.type===Il.SPAN&&e.uKey!==`DefaultDocsBackgroundExtension`),f=0,p=0;for(let n=0,r=i.length;n<r;n++){var m,h,g;let r=i[n],{sections:_,marginTop:v=0,marginBottom:y=0,marginLeft:b=0,marginRight:x=0,width:S,height:C,pageWidth:T,headerId:E,footerId:D,renderConfig:O={},skeTables:k}=r,{verticalAlign:A=ge.TOP,horizontalAlign:ee=w.LEFT,centerAngle:j=0,vertexAngle:M=0,wrapStrategy:te=V.UNSPECIFIED,cellValueType:N}=O,P=this._horizontalHandler(S,b,x,ee,M,j,N),F=this._verticalHandler(C,v,y,A),I=Y.create(P,F),ne=Pt(j),L=Pt(M),re=L-ne;if(this.isSkipByDiffBounds(r,f,p,t)){let{x:e,y:t}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);p+=e,f+=t;continue}k.size>0&&this._drawTable(e,r,k,l,u,d,I,ne,L,O,s);let R=(m=a.get(E))==null?void 0:m.get(T),ie=Y.create(P,(h=R==null?void 0:R.marginTop)==null?0:h);R&&this._drawHeaderFooter(R,e,l,u,d,ie,ne,L,O,s,r,!0),this._startRotation(e,re);for(let n of _){let{columns:i}=n;this._drawLiquid.translateSection(n);for(let n of i){let{lines:i,width:a}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(n);let o=i.length,f=I,p=null;if(L!==0){let{rotateTranslateXList:e,rotatedHeight:t,rotatedWidth:n,fixOffsetX:r,fixOffsetY:o,rotateTranslateY:s}=gr(i,a,L),c=n;t>this.height&&te!==V.WRAP&&(te===V.OVERFLOW||L>0)&&(c=this.height/Math.tan(Math.abs(L)));let l=this._horizontalHandler(c,b,x,ee,M,j),u=this._verticalHandler(t,v,y,A)-o;t>this.height&&(u=L<0?this.height-(t+o):-o),f=Y.create(l+r,u),this._drawLiquid.translate(0,-s),p=e}else te===V.WRAP&&(ee!==w.UNSPECIFIED||N!==c.NUMBER)&&(f.x=b);for(let n=0;n<o;n++){let a=i[n],{divides:o,asc:c=0,type:m,lineHeight:h=0}=a,g=c,_=g*Math.sin(ne),v=g*Math.cos(ne);if(m===Jn.BLOCK)for(let t of l)t.type===Il.LINE&&(t.extensionOffset={alignOffset:f,renderConfig:O},t.draw(e,s,a));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(a,!0,!0),p&&this._drawLiquid.translate(p[n]);let i=o.length;for(let n=0;n<i;n++){let r=o[n],{glyphGroup:i}=r;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(r);for(let t of i){if(!t.content||t.content.length===0)continue;let{width:n,left:r}=t,{x:i,y:a}=this._drawLiquid,o=Y.create(i,a),c=Y.create(n/2,h/2),l={spanStartPoint:mr(o.addByPoint(r,0),c,ne,L,f)};u&&(u.extensionOffset=l,u.draw(e,s,t))}for(let n of i){if(!n.content||n.content.length===0)continue;let{width:r,left:i,xOffset:a}=n,{x:o,y:c}=this._drawLiquid,l=Y.create(o,c),u=Y.create(r/2,h/2),p={originTranslate:l,spanStartPoint:mr(l.addByPoint(i+a,0),u,ne,L,f),spanPointWithFont:mr(l.addByPoint(i+_+a,v),u,ne,L,f),centerPoint:u,alignOffset:f,renderConfig:O};for(let r of d)r.extensionOffset=p,r.draw(e,s,n,[],{viewBound:t==null?void 0:t.viewBound})}this._drawLiquid.translateRestore()}a.borderBottom&&this._drawBorderBottom(e,r,a),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}}this._resetRotation(e,re);let ae=(g=o.get(D))==null?void 0:g.get(T);if(ae){let t=Y.create(P,r.pageHeight-(ae==null?void 0:ae.height)-ae.marginBottom);this._drawHeaderFooter(ae,e,l,u,d,t,ne,L,O,s,r,!1)}this._pageRender$.next({page:r,pageLeft:p,pageTop:f,ctx:e});let{x:oe,y:se}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);p+=oe,f+=se}}_drawTable(e,t,n,r,i,a,o,s,c,l,u){for(let[b,x]of n){var d,f,p;let{top:n,left:b,rows:S}=x;(d=this._drawLiquid)==null||d.translateSave(),(f=this._drawLiquid)==null||f.translate(b,n);for(let n of S){var m,h,g;let{top:d,cells:f}=n;(m=this._drawLiquid)==null||m.translateSave(),(h=this._drawLiquid)==null||h.translate(0,d);for(let n of f){var _,v,y;let{left:d}=n;(_=this._drawLiquid)==null||_.translateSave(),(v=this._drawLiquid)==null||v.translate(d,0),this._drawTableCell(e,t,n,r,i,a,o,s,c,l,u),(y=this._drawLiquid)==null||y.translateRestore()}(g=this._drawLiquid)==null||g.translateRestore()}(p=this._drawLiquid)==null||p.translateRestore()}}_drawBorderBottom(e,t,n,r=0,i=0){var a,o,s,c;if(this._drawLiquid==null)return;let{x:l,y:u}=this._drawLiquid,{pageWidth:d,marginLeft:f,marginRight:p,marginTop:m}=t;l+=f+(r==null?0:r),u-=n.marginTop,u-=n.paddingTop,u+=m+i+n.lineHeight+((a=(o=n.borderBottom)==null?void 0:o.padding)==null?0:a),e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=(s=(c=n.borderBottom)==null?void 0:c.color.rgb)==null?`#CDD0D8`:s,ar(e,U.BOTTOM,0,{startX:l,startY:u,endX:l+d-f-p,endY:u}),e.restore()}_drawTableCell(e,t,n,r,i,a,o,s,c,l,u){if(this._drawLiquid==null)return;this._drawTableCellBordersAndBg(e,t,n);let{sections:d,marginLeft:f,marginTop:p}=n;o=Y.create(o.x+f,o.y+p),e.save();let{x:m,y:h}=this._drawLiquid,{pageWidth:g,pageHeight:_}=n;e.beginPath(),e.rectByPrecision(m+t.marginLeft,h+t.marginTop,g,_),e.closePath(),e.clip();for(let f of d){let{columns:d}=f;this._drawLiquid.translateSave(),this._drawLiquid.translateSection(f);for(let f of d){let{lines:d}=f;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(f);let p=d.length,m=o;for(let o=0;o<p;o++){let f=d[o],{divides:p,asc:h=0,type:g,lineHeight:_=0}=f,v=h,y=v*Math.sin(s),b=v*Math.cos(s);if(g===Jn.BLOCK)for(let t of r)t.type===Il.LINE&&(t.extensionOffset={alignOffset:m,renderConfig:l},t.draw(e,u,f));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(f,!0,!0);let r=p.length;for(let t=0;t<r;t++){let n=p[t],{glyphGroup:r}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(n);for(let t of r){if(!t.content||t.content.length===0)continue;let{width:n,left:r}=t,{x:a,y:o}=this._drawLiquid,l=Y.create(a,o),d=Y.create(n/2,_/2),f={spanStartPoint:mr(l.addByPoint(r,0),d,s,c,m)};i&&(i.extensionOffset=f,i.draw(e,u,t))}for(let t of r){if(!t.content||t.content.length===0)continue;let{width:n,left:r,xOffset:i}=t,{x:o,y:d}=this._drawLiquid,f=Y.create(o,d),p=Y.create(n/2,_/2),h={originTranslate:f,spanStartPoint:mr(f.addByPoint(r+i,0),p,s,c,m),spanPointWithFont:mr(f.addByPoint(r+y+i,b),p,s,c,m),centerPoint:p,alignOffset:m,renderConfig:l};for(let n of a)n.extensionOffset=h,n.draw(e,u,t)}this._drawLiquid.translateRestore()}f.borderBottom&&this._drawBorderBottom(e,n,f,t.marginLeft,t.marginTop),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}e.restore()}_drawTableCellBordersAndBg(e,t,n){var r,i,a,o;let{marginLeft:s,marginTop:c}=t,{pageWidth:l,pageHeight:u}=n,d=n.parent,f=d.cells.indexOf(n),{borderTop:p=au,borderBottom:m=au,borderLeft:h=au,borderRight:g=au,backgroundColor:_}=d.rowSource.tableCells[f];if(this._drawLiquid==null)return;let{x:v,y}=this._drawLiquid;v+=s,y+=c,_&&_.rgb&&(e.save(),e.fillStyle=_.rgb,e.fillRectByPrecision(v,y,l,u),e.restore()),e.save(),e.setLineWidthByPrecision(1),e.save(),e.strokeStyle=(r=h.color.rgb)==null?au.color.rgb:r,ar(e,U.LEFT,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(i=p.color.rgb)==null?au.color.rgb:i,ar(e,U.TOP,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(a=g.color.rgb)==null?au.color.rgb:a,ar(e,U.RIGHT,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(o=m.color.rgb)==null?au.color.rgb:o,ar(e,U.BOTTOM,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.restore()}_drawHeaderFooter(e,t,n,r,i,a,o,s,c,l,u,d=!0){if(this._drawLiquid==null)return;let{sections:f}=e,{y:p}=this._drawLiquid;for(let m of f){let{columns:f}=m;this._drawLiquid.translateSave(),this._drawLiquid.translateSection(m);for(let m of f){let{lines:f}=m;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(m);let h=f.length,g=a;for(let a=0;a<h;a++){let m=f[a],{divides:h,asc:_=0,type:v,lineHeight:y=0}=m,b=_,x=b*Math.sin(o),S=b*Math.cos(o);if(v===Jn.BLOCK)for(let e of n)e.type===Il.LINE&&(e.extensionOffset={alignOffset:g,renderConfig:c},e.draw(t,l,m));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(m,!0,!0);let{y:n}=this._drawLiquid;if(d){if(n-p+g.y>(u.pageHeight-100)/2){this._drawLiquid.translateRestore();continue}}else if(n-p+g.y+y<(u.pageHeight-100)/2+100){this._drawLiquid.translateRestore();continue}let a=h.length;for(let e=0;e<a;e++){let n=h[e],{glyphGroup:a}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(n);for(let e of a){if(!e.content||e.content.length===0)continue;let{width:n,left:i}=e,{x:a,y:c}=this._drawLiquid,u=Y.create(a,c),d=Y.create(n/2,y/2),f={spanStartPoint:mr(u.addByPoint(i,0),d,o,s,g)};r&&(r.extensionOffset=f,r.draw(t,l,e))}for(let e of a){if(!e.content||e.content.length===0)continue;let{width:n,left:r,xOffset:a}=e,{x:u,y:d}=this._drawLiquid,f=Y.create(u,d),p=Y.create(n/2,y/2),m={originTranslate:f,spanStartPoint:mr(f.addByPoint(r+a,0),p,o,s,g),spanPointWithFont:mr(f.addByPoint(r+x+a,S),p,o,s,g),centerPoint:p,alignOffset:g,renderConfig:c};for(let n of i)n.extensionOffset=m,n.draw(t,l,e)}this._drawLiquid.translateRestore()}m.borderBottom&&this._drawBorderBottom(t,e,m,u.marginLeft),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}_horizontalHandler(e,t,n,r,i=0,a=0,o){r===w.UNSPECIFIED&&(r=a===90&&i===90?w.CENTER:i>0&&i!==90||i===-90||o===c.NUMBER?w.RIGHT:o===c.BOOLEAN?w.CENTER:w.LEFT);let s=0;return s=r===w.CENTER?(this.width-e)/2:r===w.RIGHT?this.width-e-n:t,s}_verticalHandler(e,t,n,r){let i=0;return i=r===ge.MIDDLE?(this.height-e)/2:r===ge.TOP?t:this.height-e-n,i}_startRotation(e,t){e.rotate(t||0)}_resetRotation(e,t){e.rotate(-t||0)}_initialDefaultExtension(){ri.getData().forEach(e=>{this.register(e)})}},su=class extends ii{constructor(e,t,n=!0){super(e,t),this._allowCache=n,K(this,`_backgroundExtension`,void 0),K(this,`_borderExtension`,void 0),K(this,`_fontExtension`,void 0),K(this,`_refreshIncrementalState`,!1),K(this,`_dirtyBounds`,[]),K(this,`_forceDisableGridlines`,!1),K(this,`_documents`,new ou(`__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__`,void 0,{pageMarginLeft:0,pageMarginTop:0})),K(this,`isPrinting`,!1),this._initialDefaultExtension(),this.makeDirty(!0)}get backgroundExtension(){return this._backgroundExtension}get borderExtension(){return this._borderExtension}get fontExtension(){return this._fontExtension}getDocuments(){return this._documents}get allowCache(){return this._allowCache}get forceDisableGridlines(){return this._forceDisableGridlines}dispose(){var e;super.dispose(),(e=this._documents)==null||e.dispose(),this._documents=null,this._backgroundExtension=null,this._borderExtension=null,this._fontExtension=null}draw(e,t){var n;let r=this.getSkeleton();if(!r)return;this._drawAuxiliary(e);let i=this.getParentScale(),a=this._refreshIncrementalState&&t.diffBounds?(n=t.diffBounds)==null?void 0:n.map(e=>r.getRangeByViewBound(e)):[],o=[r.getCacheRangeByViewport(t,this.isPrinting)],s=this.getExtensionsByOrder(),c=this.getScene();for(let n of s){let s=`${yi}${n.uKey}`,l=B.now();n.draw(e,i,r,a,{viewRanges:o,checkOutOfViewBound:!0,viewportKey:t.viewportKey,viewBound:t.cacheBound,diffBounds:t.diffBounds}),this.addRenderFrameTimeMetricToScene(s,B.now()-l,c)}}addRenderFrameTimeMetricToScene(e,t,n){var r;n=(r=n)==null?this.getScene():r,n.getEngine().renderFrameTimeMetric$.next([e,t])}addRenderTagToScene(e,t,n){var r;n=(r=n)==null?this.getScene():r,n.getEngine().renderFrameTags$.next([e,t])}getScene(){return super.getScene()}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>r&&t.y>i}getNoMergeCellPositionByIndex(e,t){let n=this.getSkeleton();return n?n.getNoMergeCellWithCoordByIndex(e,t):{startX:0,startY:0,endX:0,endY:0}}getScrollXYByRelativeCoords(e){let t=this.getParent(),n=0,r=0,i=t.findViewportByPosToScene(e);if(i){let e=i.viewportScrollX||0,t=i.viewportScrollY||0;n+=e,r+=t}return{x:n,y:r}}isForceDirty(){return this._forceDirty}makeForceDirty(e=!0){this.makeDirty(e),this._forceDirty=e}setForceDisableGridlines(e){this._forceDisableGridlines=e}getSelectionBounding(e,t,n,r){var i;return(i=this.getSkeleton())==null?void 0:i.expandRangeByMerge({startRow:e,startColumn:t,endRow:n,endColumn:r})}makeDirty(e=!0){var t;return(t=this.getParent())==null||t.getViewports().forEach(t=>t.markDirty(e)),super.makeDirty(e),e===!1&&(this._dirtyBounds=[]),this}setDirtyArea(e){this._dirtyBounds=e}renderByViewports(e,t,n){let{diffBounds:r,diffX:i,diffY:a,viewPortPosition:o,cacheCanvas:s,leftOrigin:c,topOrigin:l,bufferEdgeX:u,bufferEdgeY:d,isDirty:f,isForceDirty:p}=t,{rowHeaderWidth:m,columnHeaderHeight:h}=n,{a:g=1,d:_=1}=e.getTransform(),v=u*g/window.devicePixelRatio,y=d*_/window.devicePixelRatio,b=s.getContext();b.save();let x=p||this.isForceDirty(),S=f||this.isDirty();r.length===0||i===0&&a===0||x||S?(S||x)&&(this.addRenderTagToScene(`scrolling`,!1),this.refreshCacheCanvas(t,{cacheCanvas:s,cacheCtx:b,mainCtx:e,topOrigin:l,leftOrigin:c,bufferEdgeX:u,bufferEdgeY:d})):(r.length!==0||i!==0||a!==0)&&(this.addRenderTagToScene(`scrolling`,!0),this.paintNewAreaForScrolling(t,{cacheCanvas:s,cacheCtx:b,mainCtx:e,topOrigin:l,leftOrigin:c,bufferEdgeX:u,bufferEdgeY:d,scaleX:g,scaleY:_,columnHeaderHeight:h,rowHeaderWidth:m}));let C=v*Math.min(1,window.devicePixelRatio),w=y*Math.min(1,window.devicePixelRatio),{left:T,top:E,right:D,bottom:O}=o,k=D-T+m,A=O-E+h;this._applyCache(s,e,C,w,k,A,T,E,k,A),b.restore()}paintNewAreaForScrolling(e,t){let{cacheCanvas:n,cacheCtx:r,mainCtx:i,topOrigin:a,leftOrigin:o,bufferEdgeX:s,bufferEdgeY:c,scaleX:l,scaleY:u,columnHeaderHeight:d,rowHeaderWidth:f}=t,{shouldCacheUpdate:p,diffCacheBounds:m,diffX:h,diffY:g}=e;r.save(),r.setTransform(1,0,0,1,0,0),r.globalCompositeOperation=`copy`,r.drawImage(n.getCanvasEle(),h*l,g*u),r.restore(),this._refreshIncrementalState=!0;let _=i.getTransform();if(r.setTransform(_.a,_.b,_.c,_.d,0,0),r.translateWithPrecision(_.e/_.a-o+s,_.f/_.d-a+c),p)for(let t of m){let{left:n,right:i,bottom:a,top:o}=t,s=n-f,c=o-d,l=i-n,u=a-o;r.clearRectByPrecision(s,c,l,u),r.save(),r.beginPath(),r.rectByPrecision(s,c,l,u),r.closePath(),r.clip(),this.draw(r,{...e,diffBounds:[t]}),r.restore()}this._refreshIncrementalState=!1}refreshCacheCanvas(e,t){let{cacheCanvas:n,cacheCtx:r,mainCtx:i,topOrigin:a,leftOrigin:o,bufferEdgeX:s,bufferEdgeY:c}=t;r.save(),r.setTransform(1,0,0,1,0,0),n.clear(),r.restore(),r.save();let l=i.getTransform();r.setTransform(l.a,l.b,l.c,l.d,0,0),r.translateWithPrecision(l.e/l.a-o+s,l.f/l.d-a+c),this.draw(r,e),r.restore()}render(e,t){var n;if(!this.visible)return this.makeDirty(!1),this;let r=this.getSkeleton();if(!r)return;r.setStylesCache(t);let i=r.rowColumnSegment;if(!i||i.startRow===-1&&i.endRow===-1||i.startColumn===-1&&i.endColumn===-1)return;e.save();let{rowHeaderWidth:a,columnHeaderHeight:o}=r;e.translateWithPrecision(a,o),(n=this.getScene())==null||n.updateTransformerZero(r.rowHeaderWidth,r.columnHeaderHeight);let{viewportKey:s}=t;return mi.includes(s)?t&&t.cacheCanvas?this.renderByViewports(e,t,r):this._draw(e,t):hi.includes(s)||(t&&t.cacheCanvas?this.renderByViewports(e,t,r):this._draw(e,t)),e.restore(),this}_applyCache(e,t,n=0,r=0,i=0,a=0,o=0,s=0,c=0,l=0){if(!t)return;let u=e.getPixelRatio(),d=e.getContext();d.save(),t.save(),t.setTransform(1,0,0,1,0,0),d.setTransform(1,0,0,1,0,0),t.imageSmoothingEnabled=!1,t.drawImage(e.getCanvasEle(),n*u,r*u,i*u,a*u,o*u,s*u,c*u,l*u),t.restore(),d.restore()}_draw(e,t){this.draw(e,t)}_getAncestorSize(){let e=this._getAncestorParent();if(e){if(e.classType===W.ENGINE){let t=e.getCanvas();return{width:t.getWidth(),height:t.getHeight()}}if(e.classType===W.SCENE_VIEWER)return{width:e.width,height:e.height}}}_getAncestorParent(){let e=this.parent;for(;e;){if(e.classType===W.ENGINE||e.classType===W.SCENE_VIEWER)return e;e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent())}}_initialDefaultExtension(){ei.getData().sort(Be).forEach(e=>{this.register(new e)}),this._backgroundExtension=this.getExtensionByKey(`DefaultBackgroundExtension`),this._borderExtension=this.getExtensionByKey(`DefaultBorderExtension`),this._fontExtension=this.getExtensionByKey(`DefaultFontExtension`)}_drawAuxiliary(e){var t;let n=this.getSkeleton();if(n==null)return;let{rowColumnSegment:r,overflowCache:a,showGridlines:o,gridlinesColor:s,worksheet:c}=n,{startRow:l,endRow:u,startColumn:d,endColumn:f}=r;if(!n||o===i.FALSE||this._forceDisableGridlines)return;let{rowHeightAccumulation:p,columnTotalWidth:m,columnWidthAccumulation:h,rowTotalHeight:g}=n;if(!p||!h||m===void 0||g===void 0)return;e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=(t=s==null?e.renderConfig.gridlinesColor:s)==null?Dt([214,216,219]):t;let _=h.length,v=p.length,y=.4,b=u-l+1,x=f-d+1,S=Math.ceil(b*y),C=Math.ceil(x*y),w=Math.max(Math.floor(l-S),0),T=Math.min(Math.ceil(u+S),v-1),E=Math.min(Math.ceil(f+C),_-1),D=Math.max(Math.floor(d-C),0),O=h[D-1]||0,k=p[w-1]||0,A=h[E],ee=p[T];e.translateWithPrecisionRatio(bt,bt),e.beginPath(),e.moveToByPrecision(O,k),e.lineToByPrecision(A,k),e.moveToByPrecision(O,k),e.lineToByPrecision(O,ee),e.closePathByEnv(),e.stroke();let j=[],M=l;for(let t=w;t<=T;t++){if(c.getRowVisible(t)===!1?M<t?(j.push({startRow:M,endRow:t-1,startColumn:d,endColumn:f}),M=t+1):M===t&&(M=t+1):t===u&&M<=t&&j.push({startRow:M,endRow:t,startColumn:d,endColumn:f}),t<0||t>v-1)continue;let n=p[t];e.beginPath(),e.moveToByPrecision(O,n),e.lineToByPrecision(A,n),e.closePathByEnv(),e.stroke()}for(let t=D;t<=E;t++){if(t<0||t>_-1)continue;let n=h[t];e.beginPath(),e.moveToByPrecision(n,k),e.lineToByPrecision(n,ee),e.closePathByEnv(),e.stroke()}let te=[];for(let e of j){let t=n.getCurrentRowColumnSegmentMergeData(e);te.push(...t)}this._clearRectangle(e,p,h,te),this._clearRectangle(e,p,h,a.toNativeArray()),e.restore()}_clearRectangle(e,t,n,r){if(r!=null)for(let c of r){var i,a,o,s;let{startRow:r,endRow:l,startColumn:u,endColumn:d}=c,f=(i=t[r-1])==null?0:i,p=(a=t[l])==null?t[t.length-1]:a,m=(o=n[u-1])==null?0:o,h=(s=n[d])==null?n[n.length-1]:s;e.clearRectByPrecision(m,f,h-m,p-f),e.beginPath(),e.moveToByPrecision(m,f),e.lineToByPrecision(h,f),e.lineToByPrecision(h,p),e.lineToByPrecision(m,p),e.lineToByPrecision(m,f),e.stroke(),e.closePath()}}testShowRuler(e,t){let{cacheBound:n}=t,{rowHeaderWidth:r,columnHeaderHeight:i}=this.getSkeleton(),{left:a,top:o,right:s,bottom:c}=n,l=e=>e+(100-e%100),u=l(a),d=l(s),f=l(o),p=l(c);e.save(),e.beginPath(),e.strokeStyle=`#000000`,e.fillStyle=`#000000`,e.font=`16px Arial`,e.lineWidth=1,e.textAlign=`center`,e.textBaseline=`middle`;for(let t=u;t<=d;t+=50)e.beginPath(),e.strokeStyle=t%100==0?`red`:`#aaa`,e.moveTo(t-r,o-i),e.lineTo(t-r,c-i),e.stroke(),e.closePath();for(let t=f;t<=p;t+=50)e.beginPath(),e.strokeStyle=t%100==0?`red`:`#aaa`,e.moveTo(a-r,t-i),e.lineTo(s-r,t-i),e.stroke(),e.closePath();e.fillStyle=`#666`;for(let t=u;t<=d;t+=100)for(let n=f;n<=p;n+=100)e.fillText(`${t},${n}`,t-r,n-i);e.closePath(),e.restore()}testGetRandomLightColor(){let e=`#`;for(let t=0;t<6;t++)e+=`ABCDEF`[Math.floor(Math.random()*6)];let t=Number.parseInt(e.substring(1,3),16),n=Number.parseInt(e.substring(3,5),16),r=Number.parseInt(e.substring(5,7),16);return t+n+r<610?this.testGetRandomLightColor():e}};let cu=function(e){return e.UserInfo=`userInfo`,e.Text=`text`,e.Image=`image`,e}({});function lu(e,t,n,r){let i=t.type,a=t.config;i===cu.UserInfo&&a.userInfo?uu(e,a.userInfo,r):i===cu.Image&&a.image?fu(e,a.image,n):i===cu.Text&&a.text&&du(e,a.text)}function uu(e,t,n){let{x:r,y:i,repeat:a,spacingX:o,spacingY:s,rotate:c,opacity:l,name:u,fontSize:d,color:f,bold:p,italic:m,direction:h}=t;if(!n)return;let g=``;if(u&&(g+=`${n.name} `),!g)return;e.save(),e.globalAlpha=l,e.direction=h;let _=``;if(m&&(_+=`italic `),p&&(_+=`bold `),_+=`${d}px Arial`,e.font=_,e.fillStyle=f,a){let t=e.canvas.width,n=e.canvas.height;for(let a=i;a<n;a+=d+s)for(let n=r;n<t;n+=e.measureText(g).width+o)e.save(),e.translate(n,a),e.rotate(Math.PI/180*c),e.fillText(g,0,0),e.restore()}else e.save(),e.translate(r,i),e.rotate(Math.PI/180*c),e.fillText(g,0,0),e.restore();e.restore()}function du(e,t){let{x:n,y:r,repeat:i,spacingX:a,spacingY:o,rotate:s,opacity:c,content:l,fontSize:u,color:d,bold:f,italic:p,direction:m}=t;e.save(),e.globalAlpha=c,e.direction=m;let h=``;if(p&&(h+=`italic `),f&&(h+=`bold `),h+=`${u}px Arial`,e.font=h,e.fillStyle=d,l)if(i){let t=e.canvas.width,i=e.canvas.height;for(let c=r;c<i;c+=u+o)for(let r=n;r<t;r+=e.measureText(l).width+a)e.save(),e.translate(r,c),e.rotate(Math.PI/180*s),e.fillText(l,0,0),e.restore()}else e.save(),e.translate(n,r),e.rotate(Math.PI/180*s),e.fillText(l,0,0),e.restore();e.restore()}function fu(e,t,n){let{x:r,y:i,repeat:a,spacingX:o,spacingY:s,rotate:c,opacity:l,width:u,height:d,maintainAspectRatio:f,originRatio:p}=t;if(!(n!=null&&n.complete))return;e.save(),e.globalAlpha=l;let m=u,h=f?u/p:d;if(a){let t=e.canvas.width,a=e.canvas.height;for(let l=i;l<a;l+=h+s)for(let i=r;i<t;i+=m+o)e.save(),e.translate(i,l),e.rotate(Math.PI/180*c),e.drawImage(n,0,0,m,h),e.restore()}else e.save(),e.translate(r,i),e.rotate(Math.PI/180*c),e.drawImage(n,0,0,m,h),e.restore();e.restore()}var pu=class extends _{constructor(e,t=[],n=1,r=!1){super(),this._scene=e,this._zIndex=n,this._allowCache=r,K(this,`_objects`,[]),K(this,`_cacheCanvas`,void 0),K(this,`_dirty`,!0),K(this,`_debounceDirtyFunc`,void 0),this.addObjects(t),this._allowCache&&this._initialCacheCanvas()}get scene(){return this._scene}get zIndex(){return this._zIndex}enableCache(){this._allowCache=!0,this._initialCacheCanvas()}disableCache(){var e;this._allowCache=!1,(e=this._cacheCanvas)==null||e.dispose(),this._cacheCanvas=null}isAllowCache(){return this._allowCache}getObjectsByOrder(){let e=[];this._objects.sort(Be);for(let t of this._objects)!t.isInGroup&&t.visible&&e.push(t);return e}getObjectsByOrderForPick(){let e=[];this._objects.sort(Be);for(let t of this._objects)t.visible&&t.evented&&e.push(t);return e}getObjects(){return this._objects}addObject(e){if(e.classType===W.GROUP){let t=e.getObjects();for(let e of t)this.scene.getObject(e.oKey)||(this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e))}return this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e),this.makeDirty(!0),this}removeObject(e){let t=this.getObjects(),n=t.length;if(e instanceof Ur){for(let r=0;r<n;r++)if(t[r]===e){t.splice(r,1);return}}else for(let r=0;r<n;r++)if(t[r].oKey===e){t.splice(r,1);return}}addObjects(e){return e.forEach(e=>{this.addObject(e)}),this}removeObjects(e){let t=this.getObjects(),n=t.length;for(let r=n-1;r>=0;r--){let n=t[r],i=e.length;if(i===0)break;for(let a=0;a<i;a++){let i=e[a];if(n=i instanceof Ur?n:n.oKey,n===i){t.splice(r,1);break}}}}makeDirty(e=!0){this._dirty=e;let t=this.scene.getParent();return t.classType===W.SCENE_VIEWER&&t.makeDirty(!0),this}makeDirtyWithDebounce(e=!0){this._debounceDirtyFunc&&this._debounceDirtyFunc(),this._debounceDirtyFunc=Re(()=>{this.makeDirty(e),this._debounceDirtyFunc=null})}isDirty(){return this._dirty}render(e,t=!1){var n;let r=e||((n=this._scene.getEngine())==null?void 0:n.getCanvas().getContext());if(r)if(this._allowCache&&this._cacheCanvas){if(this.isDirty()){let e=this._cacheCanvas.getContext();this._cacheCanvas.clear(),e.save(),e.setTransform(r.getTransform()),this._draw(e,t),e.restore()}this._applyCache(r)}else r.save(),this._draw(r,t),r.restore();return this.makeDirty(!1),this}_layerBehavior(e){this.disposeWithMe(He(e.onTransformChange$.subscribeEvent(()=>{this.makeDirty(!0)}))),e.layer=this}_initialCacheCanvas(){let e=this.scene.getEngine();e&&this.disposeWithMe(e.onTransformChange$.subscribeEvent(()=>{this._resizeCacheCanvas()})),this._cacheCanvas=new Yr({colorService:e==null?void 0:e.canvasColorService})}_draw(e,t){let n=this._scene.getViewports().filter(e=>e.shouldIntoRender()),r=this.getObjectsByOrder();for(let[i,a]of n.entries())a.render(e,r,t);r.forEach(e=>{var t;e.makeDirty(!1),(t=e.makeForceDirty)==null||t.call(e,!1)})}_applyCache(e){if(!e||this._cacheCanvas==null)return;let t=this._cacheCanvas.getWidth(),n=this._cacheCanvas.getHeight();t!==0&&n!==0&&e.drawImage(this._cacheCanvas.getCanvasEle(),0,0,t,n)}_resizeCacheCanvas(){let e=this._scene.getEngine();if(e){var t;(t=this._cacheCanvas)==null||t.setSize(e.width,e.height)}this.makeDirty(!0)}clear(){this._objects=[]}dispose(){var e,t;super.dispose(),[...this.getObjects()].forEach(e=>{e.dispose()}),this.clear(),(e=this._debounceDirtyFunc)==null||e.call(this),this._debounceDirtyFunc=null,(t=this._cacheCanvas)==null||t.dispose(),this._cacheCanvas=null}},mu=class extends pu{constructor(...e){super(...e),K(this,`_config`,void 0),K(this,`_image`,void 0),K(this,`_user`,void 0)}render(e,t=!1){var n;super.render(e,t);let r=e||((n=this.scene.getEngine())==null?void 0:n.getCanvas().getContext());return r&&r.getId()&&this._renderWatermark(r),this}updateConfig(e,t){var n;this._config=e,((n=this._config)==null?void 0:n.type)===cu.Image&&this._config.config.image&&(this._image=new Image,this._image.src=this._config.config.image.url),t&&(this._user=t)}_renderWatermark(e){this._config&&lu(e,this._config,this._image,this._user)}};const hu=`UNIVER_WATERMARK_STORAGE_KEY`,gu=10;function _u(e,t,n){e.onPointerEnter$.subscribeEvent(n=>{t(e,n)}),e.onPointerLeave$.subscribeEvent(t=>{n(e,t)})}var vu=class extends Ur{constructor(e,t){super(e),K(this,`_subScenes`,new Map),K(this,`_activeSubScene`,void 0),K(this,`_allowSelectedClipElement`,!1),this._initialProps(t)}get classType(){return W.SCENE_VIEWER}render(e,t){var n;if(!this.visible)return this.makeDirty(!1),this;if(t){let{left:e,top:n,right:r,bottom:i}=t.cacheBound||t.viewBound;if(this.width+this.strokeWidth+this.left<e||r<this.left||this.height+this.strokeWidth+this.top<n||i<this.top)return this}let r=this.transform.getMatrix();return e.save(),e.transform(r[0],r[1],r[2],r[3],r[4],r[5]),(n=this._activeSubScene)==null||n.makeDirtyNoParent(!0).render(e),e.restore(),this.makeDirty(!1),this}getSubScenes(){return this._subScenes}getActiveSubScene(){return this._activeSubScene}getSubScene(e){for(let[t,n]of this._subScenes)if(t===e)return n}addSubScene(e){this._activeSubScene=e,this._subScenes.set(e.sceneKey,e),this.makeDirty()}removeSubScene(e){let t=this._subScenes.get(e);this._subScenes.delete(e),this._activeSubScene===t&&(this._activeSubScene=this._subScenes.values().next().value),this.makeDirty()}activeSubScene(e){if(e==null)return;let t=this._subScenes.get(e);this._activeSubScene!==t&&(this._activeSubScene=t,this.makeDirty())}enableSelectedClipElement(){this._allowSelectedClipElement=!0}disableSelectedClipElement(){this._allowSelectedClipElement=!1}allowSelectedClipElement(){return this._allowSelectedClipElement}pick(e){var t;if(this._activeSubScene===void 0)return;let n=this.transform.invert().applyPoint(e);return(t=this._activeSubScene)==null?void 0:t.pick(n)}dispose(){super.dispose(),this._subScenes.forEach(e=>{e.dispose()})}_initialProps(e){if(!e)return;let t=Object.keys(e);if(t.length===0)return;let n={},r=!1;t.forEach(t=>{if(e[t]===void 0)return!0;n[t]=e[t],r=!0}),r&&this.transformByState(n),this.makeDirty(!0)}};let yu=function(e){return e.LEFT=`__slideNavigationLeft__`,e.RIGHT=`__slideNavigationRight__`,e}({});const bu=`M512 1024C229.248 1024 0 794.752 0 512S229.248 0 512 0s512 229.248 512 512-229.248 512-512 512z m200.746667-478.506667l1.749333-1.664 30.165333-30.165333-330.496-330.581333a42.837333 42.837333 0 0 0-60.288 0 42.538667 42.538667 0 0 0 0 60.330666l270.08 270.165334-270.08 269.952a42.496 42.496 0 0 0 0 60.288c16.64 16.64 43.861333 16.469333 60.288 0.042666l298.581334-298.368z`;var xu=class extends vu{constructor(...e){super(...e),K(this,`slideChangePageByNavigation$`,new x),K(this,`subSceneChanged$`,new x),K(this,`_navigationEnabled`,!1)}activeFirstPage(){let e=this.getSubScenes().keys().next().value;e!=null&&this.changePage(e)}addPageScene(e){let t=e.sceneKey;this.getSubScene(t)||this.addSubScene(e),this.addNavigation(),this.subSceneChanged$.emitEvent(e)}changePage(e){e!==null&&(this.removeNavigation(),this.activeSubScene(e),this.addNavigation())}hasPage(e){return this.getSubScene(e)}addNavigation(){let e=this.getActiveSubScene();if(e==null||this._navigationEnabled===!1)return;let t=new Zl(yu.LEFT,{data:bu,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),n=new Zl(yu.RIGHT,{data:bu,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),r=(e,t)=>{e.setCursor(H.POINTER),e.setProps({fill:this._getArrowColor(!0)})},i=(e,t)=>{e.setCursor(H.DEFAULT),e.setProps({fill:this._getArrowColor()})};_u(t,r,i),_u(n,r,i),this._addNavTrigger(t,n),e.addObjects([t,n],7)}removeNavigation(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(yu.LEFT))==null||e.dispose(),(t=n.getObject(yu.RIGHT))==null||t.dispose())}enableNav(){this._navigationEnabled=!0}disableNav(){this._navigationEnabled=!1}hiddenNav(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(yu.LEFT))==null||e.hide(),(t=n.getObject(yu.RIGHT))==null||t.hide())}showNav(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(yu.LEFT))==null||e.show(),(t=n.getObject(yu.RIGHT))==null||t.show())}renderToThumb(e,t,n=1,r=1){let i=this.getSubScene(t);i!=null&&(e.save(),e.scale(n,r),i.makeDirtyNoParent(!0).render(e),e.restore())}_getSubScenesIndex(e){if(e==null)return;let t=Array.from(this.getSubScenes()),n=t.length,r=0;for(let i=0;i<n;i++){let[n]=t[i];if(e===n){r=i;break}}let i=r+1,a=r-1;return i=i>=n?0:i,a=a<0?n-1:a,{nextScene:t[i][1],previousScene:t[a][1]}}_addNavTrigger(e,t){e.onPointerDown$.subscribeEvent(()=>{var e;let t=this._getSubScenesIndex((e=this.getActiveSubScene())==null?void 0:e.sceneKey),n=t==null?void 0:t.previousScene.sceneKey;this.changePage(n),this.slideChangePageByNavigation$.emitEvent(n)}),t.onPointerDown$.subscribeEvent(()=>{var e;let t=this._getSubScenesIndex((e=this.getActiveSubScene())==null?void 0:e.sceneKey),n=t==null?void 0:t.nextScene.sceneKey;this.changePage(n),this.slideChangePageByNavigation$.emitEvent(n)})}_getArrowColor(e=!1){return e?Dt(s.white,.8):Dt(s.white,.5)}},Su=class e extends Fl{constructor(e,t,n){super(e,t,n),K(this,`_drawLiquid`,void 0),this._drawLiquid=new ha,this.makeDirty(!0)}static create(t,n,r){return new e(t,n,r)}draw(e,t){var n,r;let i=(n=this.getSkeleton())==null?void 0:n.getSkeletonData(),a=(r=this.getSkeleton())==null?void 0:r.getViewModel().getDataModel();if(i==null||a==null)return;let{documentFlavor:o}=a.getSnapshot().documentStyle;if(o!==b.TRADITIONAL)return;this._drawLiquid.reset();let{pages:s}=i,c=0,l=0;for(let n=0,r=s.length;n<r;n++){let r=s[n];if(this.isSkipByDiffBounds(r,c,l,t)){let{x:e,y:t}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);l+=e,c+=t;continue}let{width:i,pageWidth:a,height:o,pageHeight:u,originMarginTop:d,originMarginBottom:f,marginLeft:p,marginRight:m}=r;e.save(),e.translate(l-.5,c-.5);let h={width:a==null?i:a,height:u==null?o:u,strokeWidth:1,stroke:`rgba(198, 198, 198, 1)`,fill:`rgba(255, 255, 255, 1)`,zIndex:3};Kl.drawWith(e,h);let g={dataArray:[{command:`M`,points:[p-15,d]},{command:`L`,points:[p,d]},{command:`L`,points:[p,d-15]},{command:`M`,points:[a-m+15,d]},{command:`L`,points:[a-m,d]},{command:`L`,points:[a-m,d-15]},{command:`M`,points:[p-15,u-f]},{command:`L`,points:[p,u-f]},{command:`L`,points:[p,u-f+15]},{command:`M`,points:[a-m+15,u-f]},{command:`L`,points:[a-m,u-f]},{command:`L`,points:[a-m,u-f+15]}],strokeWidth:1.5,stroke:`rgba(158, 158, 158, 1)`};Zl.drawWith(e,g),e.restore();let{x:_,y:v}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);l+=_,c+=v}}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,t){this.draw(e,t)}},Cu=class extends Ur{constructor(e,t=e=>{},n){super(e),this._render=t,this._isHitCustom=n}toJson(){return{...super.toJson()}}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(t&&!this.isInGroup){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth<n||i<0||this.height+this.strokeWidth<e||r<0)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._render(e),e.restore(),this.makeDirty(!1),this}isHit(e){return this._isHitCustom?this._isHitCustom(e):super.isHit(e)}},wu=class extends Ur{constructor(e,...t){super(e),K(this,`_objects`,[]),K(this,`_selfSizeMode`,!1),this.addObjects(...t)}get classType(){return W.GROUP}set cursor(e){this.setCursor(e)}getState(){return this._selfSizeMode?super.getState():yr(this.left,this.top,this._objects.map(e=>e.getState()))}get width(){return this._selfSizeMode?super.width:this.getState().width||0}get height(){return this._selfSizeMode?super.height:this.getState().height||0}set width(e){if(this._selfSizeMode){super.width=e;return}let t=e-this.width;this._objects.forEach(e=>{e.resize(e.width+t)})}set height(e){if(this._selfSizeMode){super.height=e;return}let t=e-this.height;this._objects.forEach(e=>{e.resize(void 0,e.height+t)})}get maxZIndex(){let e=0;for(let t of this._objects)e=Math.max(e,t.zIndex);return e}openSelfSizeMode(){this._selfSizeMode=!0}closeSelfSizeMode(){this._selfSizeMode=!1}reCalculateObjects(){if(this._selfSizeMode)return;let{left:e=0,top:t=0}=this.getState();for(let n of this._objects)n.transformByState({left:n.left-e,top:n.top-t});this.transformByState({left:e,top:t})}addObjects(...e){for(let t of e)this.addObject(t)}addObject(e){let t=e;if(Ut(e)){let n=this.getScene();if(t=n==null?void 0:n.getObject(e),!t)return;t.parent=this,t.isInGroup=!0,t.groupKey=this.oKey,this._objects.push(t)}else e.parent=this,e.isInGroup=!0,e.groupKey=this.oKey,this._objects.push(e)}removeObject(e){let t=this.getObjects(),n=t.length;if(Ut(e))for(let r=0;r<n;r++){let n=t[r];if(n.oKey===e){t.splice(r,1),this.parent.removeObject(n);return}}else for(let r=0;r<n;r++){let n=t[r];if(n===e){t.splice(r,1),this.parent.removeObject(n);return}}}removeSelfObjectAndTransform(e,t,n,r=!1){let i=[...this.getObjects()],a=i.length;t==null&&(t=this.width),n==null&&(n=this.height);for(let o=0;o<a;o++){let a=i[o];if(a.oKey===e){i.splice(o,1),r&&this._transformObject(a,t,n),a.parent=this.parent,a.groupKey=void 0,a.isInGroup=!1,this._objects=i;return}}}_transformObject(e,t,n){let r=xr(e.getState(),this.getState(),t,n);e.classType===W.GROUP?e.transformByState({left:r.left,top:r.top}):e.transformByState(r)}getObjectsByOrder(){let e=[];this._objects.sort(Be);for(let t of this._objects)t.visible&&e.push(t);return e}getObjects(){return this._objects}render(e,t){e.save();let n=this.transform.getMatrix();e.transform(n[0],n[1],n[2],n[3],n[4],n[5]);let r=this.getObjectsByOrder();for(let n=0;n<r.length;n++)r[n].render(e,t);e.restore()}_clear(){this._objects=[]}dispose(){[...this.getObjects()].forEach(e=>{e.dispose()}),this._clear(),super.dispose()}},Tu=class extends wu{constructor(...e){super(...e),K(this,`_selfSizeMode`,!0),K(this,`_baseBound`,{left:0,top:0,width:0,height:0})}setBaseBound(e){this._baseBound={...e}}getBaseBound(){return{...this._baseBound}}get ancestorTransform(){let{left:e,top:t,width:n,height:r}=this.getRealBound(),i=this.transform.getMatrix(),a=e+n/2,o=t+r/2,s=new Br([i[0],i[1],i[2],i[3],a,o]),c=this.getParent();return this.isInGroup&&(c==null?void 0:c.classType)===W.GROUP?c.ancestorTransform.multiply(s):s}render(e,t){let{left:n,top:r,width:i,height:a}=this.getRealBound();e.save();let o=this.transform.getMatrix(),s=n+i/2,c=r+a/2;e.transform(o[0],o[1],o[2],o[3],s,c);let l=this.getObjectsByOrder();for(let n=0;n<l.length;n++)l[n].render(e,t);e.restore()}addObjects(...e){for(let t of e)this.addObject(t)}isHit(e){let{left:t,top:n,width:r,height:i}=this.getRealBound(),a=this.transform.getMatrix(),o=t+r/2,s=n+i/2,c=new Br([a[0],a[1],a[2],a[3],o,s]),l=this.getParent(),u=(this.isInGroup&&(l==null?void 0:l.classType)===W.GROUP?l.ancestorTransform.multiply(c):c).invert().applyPoint(e),d=r/2,f=i/2;if(u.x<-d||u.x>d||u.y<-f||u.y>f)return!1;let p=this.getObjectsByOrder();for(let t=0;t<p.length;t++)if(p[t].isHit(e))return!0;return!1}dispose(){let e=[...this.getObjects()],t=this.getScene();e.forEach(e=>{e.dispose(),t==null||t.removeObject(e)}),this._objects=[],super.dispose(),t==null||t.removeObject(this)}};function Eu(e){return new Ge(t=>{let n=ku(e,()=>t.next());return()=>n()})}function Du(e,t){let n=null,r,i=it(e);function a(){clearTimeout(r),n==null||n.disconnect(),n=null}function o(s=!1,c=1){a();let{left:l,top:u,width:d,height:f}=e.getBoundingClientRect();if(s||t(),!d||!f)return;let p=tt(u),m=tt(i.clientWidth-(l+d)),h=tt(i.clientHeight-(u+f)),g=tt(l),_={rootMargin:`${-p}px ${-m}px ${-h}px ${-g}px`,threshold:nt(0,rt(1,c))||1},v=!0;function y(e){let t=e[0].intersectionRatio;if(t!==c){if(!v)return o();t?o(!1,t):r=setTimeout(()=>{o(!1,1e-7)},1e3)}v=!1}try{n=new IntersectionObserver(y,{..._,root:i.ownerDocument})}catch{n=new IntersectionObserver(y,_)}n.observe(e)}return o(!0),a}function Ou(e){return e.getBoundingClientRect()}function ku(e,t){let n=e,r=[...n?et(n):[]];r.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`resize`,t)});let i=n?Du(n,t):null,a=null,o=null;function s(){let n=Ou(e);o&&(n.x!==o.x||n.y!==o.y||n.width!==o.width||n.height!==o.height)&&t(),o=n,requestAnimationFrame(s)}return t(),()=>{r.forEach(e=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`resize`,t)}),i==null||i(),a==null||a.disconnect(),a=null}}const Au=xe(`univer.engine-render.canvas-color.service`);var ju=class{getRenderColor(e){return e}};let Mu=class extends _{constructor(e){super(),this._themeService=e,K(this,`_cache`,new Map),K(this,`_invertAlgo`,Oe)}getRenderColor(e){if(!this._themeService.darkMode)return e;if(this._cache.has(e))return this._cache.get(e);let t=``;if(e.startsWith(`#`)){if(t=Pu(this._invertAlgo(Nu(e))),e.length===5){let n=e.charAt(4);t+=n+n}else if(e.length===9){let n=e.substring(7,9);t+=n}}else if(e.startsWith(`rgba`)){let n=e.slice(5,-1).split(`,`),r=this._invertAlgo(n.slice(0,3).map(Number));t=`rgba(${r[0]},${r[1]},${r[2]},${n[3]})`}else if(e.startsWith(`rgb`)){let n=e.slice(4,-1).split(`,`),r=this._invertAlgo(n.map(Number));t=`rgb(${r[0]},${r[1]},${r[2]})`}else if(this._themeService.isValidThemeColor(e))return this._themeService.getColorFromTheme(e);else if(new l(e).isValid){let{r:n,g:r,b:i,a}=new l(e).toRgb(),o=this._invertAlgo([n,r,i]);t=`rgba(${o[0]},${o[1]},${o[2]}, ${a})`}else throw Error(`[CanvasColorService]: illegal color "${e}"`);return this._cache.set(e,t),t}};Mu=bl([yl(0,O(me))],Mu);function Nu(e){let t=e.replace(/^#/,``),n,r,i;return t.length===3||t.length===4?(n=Number.parseInt(t.charAt(0)+t.charAt(0),16),r=Number.parseInt(t.charAt(1)+t.charAt(1),16),i=Number.parseInt(t.charAt(2)+t.charAt(2),16)):(n=Number.parseInt(t.substring(0,2),16),r=Number.parseInt(t.substring(2,4),16),i=Number.parseInt(t.substring(4,6),16)),[n,r,i]}function Pu(e){let t=Math.round(e[0]),n=Math.round(e[1]),r=Math.round(e[2]);return`#${t.toString(16).padStart(2,`0`)}${n.toString(16).padStart(2,`0`)}${r.toString(16).padStart(2,`0`)}`}let Fu=class extends _{get clientRect$(){return this._rect$||(this._rect$=new Ge(e=>{if(!this._container)throw Error(`[Engine]: cannot subscribe to rect changes when container is not set!`);let t=Eu(this._container).subscribe(()=>e.next());return()=>{t.unsubscribe(),this._rect$=null}})).pipe(Xe(1))}get unitId(){return this._unitId}get elapsedTime(){return B.now()-this._renderStartTime}get width(){return this.getCanvas().getWidth()}get height(){return this.getCanvas().getHeight()}get classType(){return W.ENGINE}get activeScene(){return this._activeScene}constructor(e,t,n){super(),this.canvasColorService=n,K(this,`renderEvenInBackground`,!0),K(this,`_beginFrame$`,new Ke),K(this,`beginFrame$`,this._beginFrame$.asObservable()),K(this,`_endFrame$`,new Ke),K(this,`endFrame$`,this._endFrame$.asObservable()),K(this,`renderFrameTimeMetric$`,new Ke),K(this,`renderFrameTags$`,new Ke),K(this,`onInputChanged$`,new x),K(this,`onTransformChange$`,new x),K(this,`_scenes`,{}),K(this,`_activeScene`,null),K(this,`_renderStartTime`,0),K(this,`_rect$`,null),K(this,`_container`,void 0),K(this,`_canvas`,void 0),K(this,`_renderingQueueLaunched`,!1),K(this,`_renderFrameTasks`,[]),K(this,`_requestNewFrameHandler`,-1),K(this,`_frameId`,-1),K(this,`_usingSafari`,It()),K(this,`_resizeObserver`,void 0),K(this,`_fps`,60),K(this,`_deltaTime`,0),K(this,`_performanceMonitor`,void 0),K(this,`_pointerClickEvent`,void 0),K(this,`_pointerDblClickEvent`,void 0),K(this,`_pointerMoveEvent`,void 0),K(this,`_pointerDownEvent`,void 0),K(this,`_pointerUpEvent`,void 0),K(this,`_pointerOutEvent`,void 0),K(this,`_pointerCancelEvent`,void 0),K(this,`_pointerBlurEvent`,void 0),K(this,`_pointerWheelEvent`,void 0),K(this,`_pointerEnterEvent`,void 0),K(this,`_pointerLeaveEvent`,void 0),K(this,`_dragEnterEvent`,void 0),K(this,`_dragLeaveEvent`,void 0),K(this,`_dragOverEvent`,void 0),K(this,`_dropEvent`,void 0),K(this,`_remainCapture`,-1),K(this,`_pointerPosRecord`,{}),K(this,`_mouseId`,-1),K(this,`_isUsingFirefox`,navigator.userAgent.indexOf(`Firefox`)!==-1),K(this,`_previousWidth`,-1e3),K(this,`_previousHeight`,-1e3),K(this,`_unitId`,``),K(this,`_resizeListenerDisposable`,void 0),K(this,`_renderFunction`,e=>{let t=!0;this.renderEvenInBackground||(t=!1),t&&(this._beginFrame(e),this._renderFrame(e),this._endFrame(e)),this._renderFrameTasks.length>0?this._requestNewFrameHandler=kt(this._renderFunction):this._renderingQueueLaunched=!1}),this._unitId=e==null?``:e;let r=Object.assign({},{elementHeight:1,elementWidth:1,renderMode:Jr.Rendering,dpr:1},t);this._canvas=new Yr({mode:r.renderMode,width:r.elementWidth,height:r.elementHeight,pixelRatio:r.dpr,colorService:this.canvasColorService}),this._performanceMonitor=new Nr,this._handleKeyboardAction(),this._handlePointerAction(),this._handleDragAction(),r.renderMode!==Jr.Printing&&this._matchMediaHandler()}getScenes(){return this._scenes}getScene(e){return this._scenes[e]}hasScene(e){return e in this._scenes}addScene(e){let t=e.sceneKey;return this.hasScene(t)&&console.warn(`Scenes has same key, it will be covered`),this._scenes[t]=e,e}setActiveScene(e){let t=this.getScene(e);return t&&(this._activeScene=t),t}hasActiveScene(){return this._activeScene!=null}get requestNewFrameHandler(){return this._requestNewFrameHandler}get frameId(){return this._frameId}setCanvasCursor(e){let t=this.getCanvas().getCanvasEle();t.style.cursor=e}clearCanvas(){this.getCanvas().clear()}getCanvas(){return this._canvas}getCanvasElement(){return this.getCanvas().getCanvasEle()}setCapture(){try{this.getCanvasElement().setPointerCapture(this._remainCapture)}catch{console.warn(`no capture`)}}getPixelRatio(){return this.getCanvas().getPixelRatio()}mount(e,t=!0){this.setContainer(e,t)}unmount(){if(this._clearResizeListener(),!this._container)throw Error(`[Engine]: cannot unmount when container is not set!`);this._container.removeChild(this.getCanvasElement()),this._container=null}setContainer(e,t=!0){if(this._container!==e&&(this._container=e,this._container.appendChild(this.getCanvasElement()),this._clearResizeListener(),t)){this.resize();let e;this._resizeObserver=new ResizeObserver(()=>{e||(e=window.requestIdleCallback(()=>{this.resize(),e=void 0}))}),this._resizeObserver.observe(this._container),this._resizeListenerDisposable=He(()=>{this._resizeObserver.unobserve(this._container),e!==void 0&&window.cancelIdleCallback(e)})}}_clearResizeListener(){var e;(e=this._resizeListenerDisposable)==null||e.dispose(),this._resizeListenerDisposable=void 0}resize(){if(!this._container)return;let{width:e,height:t}=Nn(this._container);e===this._previousWidth&&t===this._previousHeight||(this._previousWidth=e,this._previousHeight=t,this.resizeBySize(e,t))}dprChange(){let e=this._previousWidth,t=this._previousHeight;this.resizeBySize(e,t)}resizeBySize(e,t){let n=this.width,r=this.height;this.getCanvas().setSize(e,t),this.onTransformChange$.emitEvent({type:Z.resize,value:{width:e,height:t},preValue:{width:n,height:r}})}dispose(){var e;super.dispose();let t={...this.getScenes()};Object.keys(t).forEach(e=>{t[e].dispose()}),this._scenes={};let n=Ft(),r=this.getCanvasElement();r.removeEventListener(`click`,this._pointerClickEvent),r.removeEventListener(`dblclick`,this._pointerDblClickEvent),r.removeEventListener(`${n}leave`,this._pointerLeaveEvent),r.removeEventListener(`${n}enter`,this._pointerEnterEvent),r.removeEventListener(`${n}move`,this._pointerMoveEvent),r.removeEventListener(`${n}down`,this._pointerDownEvent),r.removeEventListener(`${n}up`,this._pointerUpEvent),r.removeEventListener(`${n}out`,this._pointerOutEvent),r.removeEventListener(`${n}cancel`,this._pointerCancelEvent),r.removeEventListener(`blur`,this._pointerBlurEvent),r.removeEventListener(`dragenter`,this._dragEnterEvent),r.removeEventListener(`dragleave`,this._dragLeaveEvent),r.removeEventListener(`dragover`,this._dragOverEvent),r.removeEventListener(`drop`,this._dropEvent),r.removeEventListener(this._getWheelEventName(),this._pointerWheelEvent),this._renderFrameTasks=[],this._performanceMonitor.dispose(),this.getCanvas().dispose(),(e=this._resizeObserver)==null||e.disconnect(),this.onTransformChange$.complete(),this._beginFrame$.complete(),this._endFrame$.complete(),this.renderFrameTags$.complete(),this.renderFrameTimeMetric$.complete(),this._clearResizeListener(),this._container=null}addFunction2RenderLoop(e){this._renderFrameTasks.indexOf(e)===-1&&this._renderFrameTasks.push(e)}startRenderLoop(){this._renderingQueueLaunched||(this._renderStartTime=performance.now(),this._renderingQueueLaunched=!0,this._requestNewFrameHandler=kt(this._renderFunction))}runRenderLoop(e){this.addFunction2RenderLoop(e),this.startRenderLoop()}stopRenderLoop(e){if(!e){this._renderFrameTasks.length=0,this._cancelFrame();return}let t=this._renderFrameTasks.indexOf(e);t>=0&&(this._renderFrameTasks.splice(t,1),this._renderFrameTasks.length===0&&this._cancelFrame())}_beginFrame(e){this._frameId++,this._beginFrame$.next(this._frameId)}_endFrame(e){this._performanceMonitor.endFrame(e),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0,this._endFrame$.next({FPS:this.getFps(),frameTime:this.getDeltaTime(),elapsedTime:this.elapsedTime})}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}_renderFrame(e){for(let e=0;e<this._renderFrameTasks.length;e++){let t=this._renderFrameTasks[e];t()}}_cancelFrame(){if(this._renderingQueueLaunched&&this._requestNewFrameHandler){if(this._renderingQueueLaunched=!1,typeof window>`u`){if(typeof cancelAnimationFrame==`function`)return cancelAnimationFrame(this._requestNewFrameHandler)}else{let{cancelAnimationFrame:e}=this._getHostWindow()||window;if(typeof e==`function`)return e(this._requestNewFrameHandler)}return clearTimeout(this._requestNewFrameHandler)}}_getHostWindow(){var e;return typeof window>`u`?null:(e=this.getCanvasElement().ownerDocument)!=null&&e.defaultView?this.getCanvasElement().ownerDocument.defaultView:window}_handleKeyboardAction(){let e=e=>{let t=e;t.deviceType=Er.Keyboard,t.inputIndex=e.keyCode,this.onInputChanged$.emitEvent(t)},t=e=>{let t=e;t.deviceType=Er.Keyboard,t.inputIndex=e.keyCode,this.onInputChanged$.emitEvent(t)},n=this.getCanvasElement();n.addEventListener(`keydown`,e),n.addEventListener(`keyup`,t)}_handlePointerAction(){let e=Ft();this._pointerClickEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerDblClickEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerMoveEvent=e=>{let t=e,n=this._getPointerType(t);this._pointerPosRecord[X.Horizontal]=t.clientX,this._pointerPosRecord[X.Vertical]=t.clientY,this._pointerPosRecord[X.DeltaHorizontal]=t.movementX,this._pointerPosRecord[X.DeltaVertical]=t.movementY;let r=t;r.deviceType=n,r.inputIndex=X.Horizontal,this.onInputChanged$.emitEvent(r),this._usingSafari||(r.inputIndex=t.button+2,this.onInputChanged$.emitEvent(r))},this._pointerDownEvent=e=>{let t=e,n=this._getPointerType(t),r=this._pointerPosRecord[X.Horizontal],i=this._pointerPosRecord[X.Vertical];n===Er.Mouse?(this._mouseId===-1&&(t.pointerId===void 0?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=t.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId)):t.pointerId&&!document.pointerLockElement&&(this._remainCapture=t.pointerId),this._pointerPosRecord[X.Horizontal]=t.clientX,this._pointerPosRecord[X.Vertical]=t.clientY;let a=t;a.deviceType=n,r!==t.clientX&&(a.inputIndex=X.Horizontal,this.onInputChanged$.emitEvent(a)),i!==t.clientY&&(a.inputIndex=X.Vertical,this.onInputChanged$.emitEvent(a)),a.inputIndex=t.button+2,this.onInputChanged$.emitEvent(a)},this._pointerUpEvent=e=>{let t=e,n=this._getPointerType(t),r=this._pointerPosRecord[X.Horizontal],i=this._pointerPosRecord[X.Vertical];this._pointerPosRecord[X.Horizontal]=t.clientX,this._pointerPosRecord[X.Vertical]=t.clientY;let a=t;a.deviceType=n,r!==t.clientX&&(a.inputIndex=X.Horizontal,this.onInputChanged$.emitEvent(a)),i!==t.clientY&&(a.inputIndex=X.Vertical,this.onInputChanged$.emitEvent(a)),a.inputIndex=t.button+2;let o=this.getCanvasElement();n===Er.Mouse&&this._mouseId>=0&&o.hasPointerCapture(this._mouseId)?(this._remainCapture=this._mouseId,o.releasePointerCapture(this._mouseId)):a.pointerId&&o.hasPointerCapture(a.pointerId)&&(this._remainCapture=a.pointerId,o.releasePointerCapture(a.pointerId)),this.onInputChanged$.emitEvent(a),n!==Er.Mouse&&(this._pointerPosRecord={})},this._pointerEnterEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerLeaveEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerOutEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerCancelEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerBlurEvent=()=>{this._mouseId>=0&&this.getCanvasElement().hasPointerCapture(this._mouseId),this._pointerPosRecord={}},this._pointerWheelEvent=e=>{let t=Er.Mouse;this._pointerPosRecord[X.MouseWheelX]=e.deltaX||0,this._pointerPosRecord[X.MouseWheelY]=e.deltaY||e.wheelDelta||0,this._pointerPosRecord[X.MouseWheelZ]=e.deltaZ||0;let n=e;n.deviceType=t,this._pointerPosRecord[X.MouseWheelX]!==0&&(n.currentState=this._pointerPosRecord[X.MouseWheelX]),this._pointerPosRecord[X.MouseWheelY]!==0&&(n.currentState=this._pointerPosRecord[X.MouseWheelY]),this._pointerPosRecord[X.MouseWheelZ]!==0&&(n.currentState=this._pointerPosRecord[X.MouseWheelZ]),this.onInputChanged$.emitEvent(n)};let t=this.getCanvasElement();t.addEventListener(`click`,this._pointerClickEvent),t.addEventListener(`dblclick`,this._pointerDblClickEvent),t.addEventListener(`${e}enter`,this._pointerEnterEvent),t.addEventListener(`${e}leave`,this._pointerLeaveEvent),t.addEventListener(`${e}move`,this._pointerMoveEvent),t.addEventListener(`${e}down`,this._pointerDownEvent),t.addEventListener(`${e}up`,this._pointerUpEvent),t.addEventListener(`${e}out`,this._pointerOutEvent),t.addEventListener(`${e}cancel`,this._pointerCancelEvent),t.addEventListener(`blur`,this._pointerBlurEvent),t.addEventListener(this._getWheelEventName(),this._pointerWheelEvent,this._getPassive()?{passive:!1}:!1)}_handleDragAction(){this._dragEnterEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=4,this.onInputChanged$.emitEvent(n)},this._dragLeaveEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=5,this.onInputChanged$.emitEvent(n)},this._dragOverEvent=e=>{e.preventDefault();let t=this._getPointerType(e),n=this._pointerPosRecord[X.Horizontal],r=this._pointerPosRecord[X.Vertical];this._pointerPosRecord[X.Horizontal]=e.clientX,this._pointerPosRecord[X.Vertical]=e.clientY,this._pointerPosRecord[X.DeltaHorizontal]=e.movementX,this._pointerPosRecord[X.DeltaVertical]=e.movementY;let i=e;i.deviceType=t,n!==e.clientX&&(i.inputIndex=X.Horizontal,i.currentState=this._pointerPosRecord[X.Horizontal],this.onInputChanged$.emitEvent(i)),r!==e.clientY&&(i.inputIndex=X.Vertical,i.currentState=this._pointerPosRecord[X.Vertical],this.onInputChanged$.emitEvent(i)),this._pointerPosRecord[X.DeltaHorizontal]!==0&&(i.inputIndex=X.DeltaHorizontal,i.currentState=this._pointerPosRecord[X.DeltaHorizontal],this.onInputChanged$.emitEvent(i)),this._pointerPosRecord[X.DeltaVertical]!==0&&(i.inputIndex=X.DeltaVertical,i.currentState=this._pointerPosRecord[X.DeltaVertical],this.onInputChanged$.emitEvent(i)),this._usingSafari||(i.inputIndex=e.button+2,i.currentState=this._pointerPosRecord[e.button+2],this.onInputChanged$.emitEvent(i))},this._dropEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=6,this.onInputChanged$.emitEvent(n)};let e=this.getCanvasElement();e.addEventListener(`dragenter`,this._dragEnterEvent),e.addEventListener(`dragleave`,this._dragLeaveEvent),e.addEventListener(`dragover`,this._dragOverEvent),e.addEventListener(`drop`,this._dropEvent)}_getWheelEventName(){return`onwheel`in document.createElement(`div`)?`wheel`:document.onmousewheel===void 0?`DOMMouseScroll`:`mousewheel`}_getPassive(){let e=!1,t=()=>{};try{let n={passive:{get(){e=!0}}},r=this.getCanvasElement();r.addEventListener(`test`,t,n),r.removeEventListener(`test`,t,n)}catch{}return e}_getPointerType(e){let t=Er.Mouse;return(e.pointerType===`touch`||e.pointerType===`pen`||e.touches)&&(t=Er.Touch),t}_matchMediaHandler(){var e;if(!((e=window)!=null&&e.matchMedia))return;let t=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),n=()=>{this.dprChange()};t.addEventListener(`change`,n),this.disposeWithMe(He(()=>{t.removeEventListener(`change`,n)}))}};Fu=bl([yl(2,Au)],Fu);var Iu=`@univerjs/engine-render`,Lu=`0.18.0`;const Ru=`engine-render.config`;Symbol(Ru);const zu={};var Bu=class e extends _{constructor(e){super(),K(this,`_scene`,void 0),K(this,`_alreadyAttached`,!1),K(this,`_onInput$`,void 0),K(this,`_currentMouseEnterPicked`,void 0),K(this,`_startingPosition`,new Y(1/0,1/0)),K(this,`_delayedTimeout`,-1),K(this,`_delayedTripeTimeout`,-1),K(this,`_doubleClickOccurred`,0),K(this,`_tripleClickState`,!1),K(this,`_currentObject`,void 0),K(this,`_clickTimeout`,null),K(this,`_clickCount`,0),this._scene=e}dispose(){super.dispose(),this.detachControl(),this._scene=null,this._currentMouseEnterPicked=null,this._currentObject=null,this._startingPosition=null,clearTimeout(this._delayedTimeout),clearTimeout(this._delayedTripeTimeout),this._onClick=null,this._onDblClick=null,this._onPointerMove=null,this._onPointerDown=null,this._onPointerUp=null,this._onPointerEnter=null,this._onPointerLeave=null,this._onMouseWheel=null,this._onKeyDown=null,this._onKeyUp=null,this._onDragEnter=null,this._onDragLeave=null,this._onDragOver=null,this._onDrop=null}mouseLeaveEnterHandler(e){let t=this._currentObject||this.capturedObject;if(t==null){var n;(n=this._currentMouseEnterPicked)==null||n.triggerPointerLeave(e),this._currentMouseEnterPicked=null}else if(t!==this._currentMouseEnterPicked){let n=this._currentMouseEnterPicked;this._currentMouseEnterPicked=t,n==null||n.triggerPointerLeave(e),t==null||t.triggerPointerEnter(e)}}dragLeaveEnterHandler(e){let t=this._currentObject;if(t==null){var n;(n=this._currentMouseEnterPicked)==null||n.triggerDragLeave(e),this._currentMouseEnterPicked=null}else if(t!==this._currentMouseEnterPicked){let n=this._currentMouseEnterPicked;this._currentMouseEnterPicked=t,n==null||n.triggerDragLeave(e),t==null||t.triggerDragEnter(e)}}_onClick(e){e.pointerId===void 0&&(e.pointerId=0),this._clickCount++,this._clickTimeout||(this._clickTimeout=setTimeout(()=>{if(this._clickCount===1){let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerSingleClick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}else this._clickCount;clearTimeout(this._clickTimeout),this._clickTimeout=null,this._clickCount=0},300));let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerClick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onDblClick(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerDblclick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onPointerEnter(e){e.pointerId===void 0&&(e.pointerId=0),this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),this.mouseLeaveEnterHandler(e)}_onPointerLeave(e){e.pointerId===void 0&&(e.pointerId=0),this._currentObject=null,this.mouseLeaveEnterHandler(e)}_onPointerMove(e){var t;e.pointerId===void 0&&(e.pointerId=0);let n=this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),r=(t=n||this.capturedObject)==null?void 0:t.triggerPointerMove(e);if(this.mouseLeaveEnterHandler(e),!r&&this._shouldDispatchEventToScene(n)){var i;this._scene.onPointerMove$.emitEvent(e),(i=this._scene.getEngine())==null||i.setCapture()}}_onPointerDown(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerPointerDown(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onPointerUp(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerPointerUp(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerUp$.emitEvent(e),this._prePointerDoubleOrTripleClick(e)}_onPointerCancel(e){this._scene.onPointerCancel$.emitEvent(e);let t=this._getObjectAtPos(e.offsetX,e.offsetY);t==null||t.triggerPointerCancel(e)}_onPointerOut(e){this._scene.onPointerOut$.emitEvent(e);let t=this._getObjectAtPos(e.offsetX,e.offsetY);t==null||t.triggerPointerOut(e)}_onMouseWheel(e){let t=this._getObjectAtPos(e.offsetX,e.offsetY),n=t==null?void 0:t.triggerMouseWheel(e);this._scene.getMainViewport().onMouseWheel$.emitEvent(e),!n&&this._shouldDispatchEventToScene(t)&&this._scene.onMouseWheel$.emitEvent(e)}_onKeyDown(e){this._scene.onKeyDown$.emitEvent(e)}_onKeyUp(e){this._scene.onKeyUp$.emitEvent(e)}_onDragEnter(e){var t;this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),(t=this._currentObject)==null||t.triggerDragOver(e),this.dragLeaveEnterHandler(e)}_onDragLeave(e){this._currentObject=null,this.dragLeaveEnterHandler(e)}_onDragOver(e){var t;this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY);let n=(t=this._currentObject)==null?void 0:t.triggerDragOver(e);if(this.dragLeaveEnterHandler(e),!n&&this._shouldDispatchEventToScene(this._currentObject)){var r;this._scene.onDragOver$.emitEvent(e),(r=this._scene.getEngine())==null||r.setCapture()}}_onDrop(e){let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerDrop(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onDrop$.emitEvent(e)}attachControl(e){var t,n,r,i,a,o;let s=(t=e==null?void 0:e.enableDown)==null?!0:t,c=(n=e==null?void 0:e.enableUp)==null?!0:n,l=(r=e==null?void 0:e.enableMove)==null?!0:r,u=(i=e==null?void 0:e.enableWheel)==null?!0:i,d=(a=e==null?void 0:e.enableEnter)==null?!0:a,f=(o=e==null?void 0:e.enableLeave)==null?!0:o,p=this._scene.getEngine();p&&(this._onInput$=p.onInputChanged$.subscribeEvent(e=>{let t=e;if(e.deviceType===Er.Keyboard)switch(e.type){case`keydown`:this._onKeyDown(t);break;case`keyup`:this._onKeyUp(t);break}if(e.deviceType===Er.Mouse||e.deviceType===Er.Touch)switch(e.type){case`wheel`:case`DOMMouseScroll`:case`mousewheel`:u&&this._onMouseWheel(t);break;case`click`:this._onClick(t);break;case`pointerout`:this._onPointerOut(t);break;case`pointercancel`:this._onPointerCancel(t);break;case`pointerleave`:this._onPointerLeave(t);break;case`pointermove`:l&&this._onPointerMove(t);break;case`pointerup`:c&&e.inputIndex>=X.LeftClick&&e.inputIndex<=X.RightClick&&this._onPointerUp(t);break;case`pointerdown`:s&&e.inputIndex>=X.LeftClick&&e.inputIndex<=X.RightClick&&this._onPointerDown(t);break}if(e.dataTransfer)switch(e.type){case`dragenter`:d&&this._onDragEnter(t);break;case`dragover`:{let n=e.inputIndex===X.Horizontal||e.inputIndex===X.Vertical||e.inputIndex===X.DeltaHorizontal||e.inputIndex===X.DeltaVertical;l&&n&&this._onDragOver(t);break}case`dragleave`:f&&this._onDragLeave(t);break;case`drop`:this._onDrop(t);break}}),this.disposeWithMe(He(this._onInput$)),this._alreadyAttached=!0)}detachControl(){var e;this._alreadyAttached&&this._scene.getEngine()&&((e=this._onInput$)==null||e.unsubscribe(),this._alreadyAttached=!1)}_getObjectAtPos(e,t){var n;return(n=this._scene)==null?void 0:n.pick(Y.FromArray([e,t]))}_shouldDispatchEventToScene(e){return e==null?!0:this._scene.objectsEvented?!1:!this._isObjectInSceneViewer(e)}_isObjectInSceneViewer(e){if(e&&e.classType===W.BASE_OBJECT){let t=e.getScene();if(t)return t.getParent().classType===W.SCENE_VIEWER}return!1}_isPointerSwiping(t,n){return Math.abs(this._startingPosition.x-t)>e.DragMovementThreshold||Math.abs(this._startingPosition.y-n)>e.DragMovementThreshold}_prePointerDoubleOrTripleClick(t){let{clientX:n,clientY:r}=t;if(this._isPointerSwiping(n,r)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},e.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState){var i;(i=this._scene)==null||(i=i.pick(Y.FromArray([t.offsetX,t.offsetY])))==null||i.triggerTripleClick(t),this._scene.onTripleClick$.emitEvent(t)}if(this._doubleClickOccurred===2){var a;(a=this._scene)==null||(a=a.pick(Y.FromArray([t.offsetX,t.offsetY])))==null||a.triggerDblclick(t),this._scene.onDblclick$.emitEvent(t),this._resetDoubleClickParam(),this._tripleClickState=!0,clearTimeout(this._delayedTripeTimeout),this._delayedTripeTimeout=setTimeout(()=>{this._tripleClickState=!1},e.TripleClickDelay)}this._startingPosition.x=n,this._startingPosition.y=r}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}get capturedObject(){return this._scene._capturedObject}};K(Bu,`DragMovementThreshold`,2),K(Bu,`LongPressDelay`,500),K(Bu,`DoubleClickDelay`,500),K(Bu,`TripleClickDelay`,300),K(Bu,`ExclusiveDoubleClickMode`,!1);let Vu=function(e){return e[e.NONE=0]=`NONE`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e[e.ALL=3]=`ALL`,e}({});const Hu={t:0,b:15,l:0,r:60};var Uu=class e{constructor(e,t=Vu.ALL,n=Hu){this._scene=e,this._scrollTimerType=t,this._thresholdAutoMove=n,K(this,`_requestNewFrameNumber`,-1),K(this,`_viewport`,void 0),K(this,`_offsetX`,0),K(this,`_offsetY`,0),K(this,`_moveX`,0),K(this,`_moveY`,0),K(this,`_scrollX`,0),K(this,`_scrollY`,0),K(this,`_scrollFunction`,void 0)}static create(t,n=Vu.ALL,r){return new e(t,n,r)}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}set scrollTimerType(e){this._scrollTimerType=e}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(e){this._viewport=e}getActiveViewport(){return this._viewport}startScroll(e,t,n){this._offsetX=e,this._offsetY=t,this._moveX=e,this._moveY=t,n==null?this._viewport=this._scene.findViewportByPosToScene(Y.FromArray([e,t])):this._viewport=n,this._runRenderLoop()}_autoScroll(e){let t=(e==null?void 0:e.top)||0,n=t+((e==null?void 0:e.height)||0),r=(e==null?void 0:e.left)||0,i=r+((e==null?void 0:e.width)||0),{t:a=0,b:o=0,r:s=0,l:c=0}=this._thresholdAutoMove,l=0,u=0,d=!1;if(this._scrollTimerType&Vu.X&&(this._moveX<r+c&&(l=this._moveX-r-c,d=!0),this._moveX>i-s&&(l=this._moveX-i+s,d=!0)),this._scrollTimerType&Vu.Y&&(this._moveY<t+a&&(u=this._moveY-t-a,d=!0),this._moveY>n-o&&(u=this._moveY-n+o,d=!0)),!d)return;e==null||e.scrollByViewportDeltaVal({viewportScrollX:l,viewportScrollY:u});let f=e==null?void 0:e.transScroll2ViewportScrollValue(l,u);this._scrollX=(f==null?void 0:f.x)||0,this._scrollY=(f==null?void 0:f.y)||0}scrolling(e,t,n){this._moveX=e,this._moveY=t,this._scrollFunction=n}stopScroll(){At(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getScene(){return this._scene}_runRenderLoop(){this._autoScroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=kt(this._runRenderLoop.bind(this))}},$=function(e){return e.RESIZE_LT=`__SpreadsheetTransformerResizeLT__`,e.RESIZE_CT=`__SpreadsheetTransformerResizeCT__`,e.RESIZE_RT=`__SpreadsheetTransformerResizeRT__`,e.RESIZE_LM=`__SpreadsheetTransformerResizeLM__`,e.RESIZE_RM=`__SpreadsheetTransformerResizeRM__`,e.RESIZE_LB=`__SpreadsheetTransformerResizeLB__`,e.RESIZE_CB=`__SpreadsheetTransformerResizeCB__`,e.RESIZE_RB=`__SpreadsheetTransformerResizeRB__`,e.OUTLINE=`__SpreadsheetTransformerOutline__`,e.ROTATE_LINE=`__SpreadsheetTransformerRotateLine__`,e.ROTATE=`__SpreadsheetTransformerRotate__`,e.GROUP=`__SpreadsheetTransformer__`,e}($||{});const Wu=[$.RESIZE_LT,$.RESIZE_CT,$.RESIZE_RT,$.RESIZE_LM,$.RESIZE_RM,$.RESIZE_LB,$.RESIZE_CB,$.RESIZE_RB];var Gu=function(e){return e[e.MOVE_START=0]=`MOVE_START`,e[e.MOVING=1]=`MOVING`,e[e.MOVE_END=2]=`MOVE_END`,e}(Gu||{});const Ku=new Set([Hr.CHART]);var qu=class extends _{constructor(e,t){super(),this._scene=e,K(this,`isCropper`,!1),K(this,`hoverEnabled`,!1),K(this,`hoverEnterFunc`,void 0),K(this,`hoverLeaveFunc`,void 0),K(this,`resizeEnabled`,!0),K(this,`rotateEnabled`,!0),K(this,`rotationSnaps`,[]),K(this,`rotationSnapTolerance`,5),K(this,`rotateAnchorOffset`,50),K(this,`rotateSize`,10),K(this,`rotateCornerRadius`,10),K(this,`borderEnabled`,!0),K(this,`borderStroke`,`rgb(97, 97, 97)`),K(this,`borderStrokeWidth`,1),K(this,`borderDash`,[]),K(this,`borderSpacing`,0),K(this,`anchorFill`,`rgb(255, 255, 255)`),K(this,`anchorStroke`,`rgb(185, 185, 185)`),K(this,`anchorStrokeWidth`,1),K(this,`anchorSize`,10),K(this,`anchorCornerRadius`,10),K(this,`keepRatio`,!0),K(this,`centeredScaling`,!1),K(this,`zeroLeft`,0),K(this,`zeroTop`,0),K(this,`enabledAnchors`,[1,1,1,1,1,1,1,1]),K(this,`flipEnabled`,!1),K(this,`ignoreStroke`,!1),K(this,`boundBoxFunc`,void 0),K(this,`useSingleNodeRotation`,!1),K(this,`shouldOverdrawWholeArea`,!1),K(this,`_changeStart$`,new Ke),K(this,`changeStart$`,this._changeStart$.asObservable()),K(this,`_changing$`,new Ke),K(this,`changing$`,this._changing$.asObservable()),K(this,`_changeEnd$`,new Ke),K(this,`changeEnd$`,this._changeEnd$.asObservable()),K(this,`_clearControl$`,new Ke),K(this,`clearControl$`,this._clearControl$.asObservable()),K(this,`_createControl$`,new Ke),K(this,`createControl$`,this._createControl$.asObservable()),K(this,`_startOffsetX`,-1),K(this,`_startOffsetY`,-1),K(this,`_startStateMap`,new Map),K(this,`_viewportScrollX`,-1),K(this,`_viewportScrollY`,-1),K(this,`_topScenePointerMoveSub`,void 0),K(this,`_topScenePointerUpSub`,void 0),K(this,`_cancelFocusSubscription`,void 0),K(this,`_transformerControlMap`,new Map),K(this,`_selectedObjectMap`,new Map),K(this,`_subscriptionObjectMap`,new Map),K(this,`_copperControl`,void 0),K(this,`_copperSelectedObject`,void 0),K(this,`_moveBufferSkip`,!1),K(this,`_debounceClearFunc`,void 0),this._initialProps(t)}updateZeroPoint(e,t){this.zeroLeft=e,this.zeroTop=t}changeNotification(){return this._changing$.next({objects:this._selectedObjectMap,type:Gu.MOVE_START}),this}getSelectedObjectMap(){return this._selectedObjectMap}resetProps(e){this._initialProps(e)}getScene(){return this._scene}clearControls(e=!1){this._clearControls(e)}updateControl(){this._updateControl()}debounceRefreshControls(){this._debounceClearFunc&&this._debounceClearFunc(),this._debounceClearFunc=Re(()=>{this.refreshControls(),this._debounceClearFunc=null})}clearSelectedObjects(){var e;this._selectedObjectMap.clear(),(e=this._cancelFocusSubscription)==null||e.unsubscribe(),this._cancelFocusSubscription=null,this._clearControls(!0)}refreshControls(){return this._clearControlMap(),this._selectedObjectMap.forEach(e=>{this._createControl(e)}),this}createControlForCopper(e){this._createControl(e,!1)}clearCopperControl(){var e;(e=this._copperControl)==null||e.dispose(),this._copperControl=null}setSelectedControl(e){e=this._findGroupObject(e),this._selectedObjectMap.set(e.oKey,e),this._createControl(e)}_getConfig(e){let t=e.transformerConfig,{isCropper:n,hoverEnabled:r,hoverEnterFunc:i,hoverLeaveFunc:a,resizeEnabled:o,rotateEnabled:s,rotationSnaps:c,rotationSnapTolerance:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderDash:g,borderSpacing:_,anchorFill:v,anchorStroke:y,anchorStrokeWidth:b,anchorSize:x,anchorCornerRadius:S,keepRatio:C,centeredScaling:w,enabledAnchors:T,flipEnabled:E,ignoreStroke:D,boundBoxFunc:O,useSingleNodeRotation:k,shouldOverdrawWholeArea:A}=this;if(t!=null){var ee,j,M,te,N,P,F,I,ne,L,re,R,ie,ae,oe,se,ce,le,ue,de,fe,pe,z,me,B,he,ge,_e,V;n=(ee=t.isCropper)==null?n:ee,r=(j=t.hoverEnabled)==null?r:j,i=(M=t.hoverEnterFunc)==null?i:M,a=(te=t.hoverLeaveFunc)==null?a:te,o=(N=t.resizeEnabled)==null?o:N,s=(P=t.rotateEnabled)==null?s:P,c=(F=t.rotationSnaps)==null?c:F,l=(I=t.rotationSnapTolerance)==null?l:I,u=(ne=t.rotateAnchorOffset)==null?u:ne,d=(L=t.rotateSize)==null?d:L,f=(re=t.rotateCornerRadius)==null?f:re,p=(R=t.borderEnabled)==null?p:R,m=(ie=t.borderStroke)==null?m:ie,h=(ae=t.borderStrokeWidth)==null?h:ae,g=(oe=t.borderDash)==null?g:oe,_=(se=t.borderSpacing)==null?_:se,v=(ce=t.anchorFill)==null?v:ce,y=(le=t.anchorStroke)==null?y:le,b=(ue=t.anchorStrokeWidth)==null?b:ue,x=(de=t.anchorSize)==null?x:de,S=(fe=t.anchorCornerRadius)==null?S:fe,C=(pe=t.keepRatio)==null?C:pe,w=(z=t.centeredScaling)==null?w:z,T=(me=t.enabledAnchors)==null?T:me,E=(B=t.flipEnabled)==null?E:B,D=(he=t.ignoreStroke)==null?D:he,O=(ge=t.boundBoxFunc)==null?O:ge,k=(_e=t.useSingleNodeRotation)==null?k:_e,A=(V=t.shouldOverdrawWholeArea)==null?A:V}return{isCropper:n,hoverEnabled:r,hoverEnterFunc:i,hoverLeaveFunc:a,resizeEnabled:o,rotateEnabled:s,rotationSnaps:c,rotationSnapTolerance:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderDash:g,borderSpacing:_,anchorFill:v,anchorStroke:y,anchorStrokeWidth:b,anchorSize:x,anchorCornerRadius:S,keepRatio:C,centeredScaling:w,enabledAnchors:T,flipEnabled:E,ignoreStroke:D,boundBoxFunc:O,useSingleNodeRotation:k,shouldOverdrawWholeArea:A}}attachTo(e){this.hoverEnabled&&(this.hoverEnterFunc&&e.onPointerEnter$.subscribeEvent(this.hoverEnterFunc),this.hoverLeaveFunc&&e.onPointerLeave$.subscribeEvent(this.hoverLeaveFunc)),this.detachFrom(e);let t=e.onPointerDown$.subscribeEvent((t,n)=>{let{offsetX:r,offsetY:i}=t;this._startOffsetX=r,this._startOffsetY=i;let{isCropper:a}=this._getConfig(e),o=this._getTopScene();if(!o)return;this._addCancelObserver(o),o.disableObjectsEvent();let s=Uu.create(o);s.startScroll(r,i);let{scrollX:c,scrollY:l}=Ir(s);this._viewportScrollX=c,this._viewportScrollY=l,a?(this._copperSelectedObject=e,this._changeStart$.next({target:e,objects:new Map([[e.oKey,e]]),type:Gu.MOVE_START})):(this._updateActiveObjectList(e,t),this._changeStart$.next({target:e,objects:this._selectedObjectMap,type:Gu.MOVE_START})),this._moveBufferSkip=!1;let u=o.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:n}=e;this._moving(t,n,s,a),!a&&this._clearControlMap(),s.scrolling(t,n,()=>{this._moving(t,n,s,a)})}),d=o.onPointerUp$.subscribeEvent(t=>{u==null||u.unsubscribe(),d==null||d.unsubscribe(),o.enableObjectsEvent(),!a&&this.refreshControls(),s.dispose();let{offsetX:n,offsetY:r}=t;a?this._changeEnd$.next({objects:new Map([[e.oKey,e]]),type:Gu.MOVE_END,offsetX:n,offsetY:r,event:t}):this._changeEnd$.next({objects:this._selectedObjectMap,type:Gu.MOVE_END,offsetX:n,offsetY:r,event:t})});n.stopPropagation()});return this.disposeWithMe(He(t)),this._subscriptionObjectMap.set(e.oKey,t),e}detachFrom(e){let t=this._subscriptionObjectMap.get(e.oKey);return t&&(t.unsubscribe(),this._subscriptionObjectMap.delete(e.oKey)),e}dispose(){var e,t,n;super.dispose(),(e=this._topScenePointerMoveSub)==null||e.unsubscribe(),(t=this._topScenePointerUpSub)==null||t.unsubscribe(),(n=this._cancelFocusSubscription)==null||n.unsubscribe(),this._cancelFocusSubscription=null,this._topScenePointerMoveSub=null,this._topScenePointerUpSub=null,this._cancelFocusSubscription=null,this._transformerControlMap.forEach(e=>e.dispose()),this._selectedObjectMap.forEach(e=>e.dispose()),this._changeStart$.complete(),this._changing$.complete(),this._changeEnd$.complete()}_initialProps(e){if(!e)return;let t=Object.keys(e);t.length!==0&&t.forEach(t=>{if(e[t]===void 0)return!0;this[t]=e[t]})}_checkMoveBoundary(e,t,n,r,i,a,o){let{left:s,top:c,width:l,height:u}=e;return t+s+r<this.zeroLeft&&(t=-r),n+c+i<this.zeroTop&&(n=-i),t+s+l+r>a+this.zeroLeft&&(t=this.zeroLeft+a-l-s-r),n+c+u+i>o+this.zeroTop&&(n=this.zeroTop+o-u-c-i),{moveLeft:t,moveTop:n}}_moving(e,t,n,r=!1){let{scrollX:i,scrollY:a}=Ir(n),o=e-this._viewportScrollX+i,s=t-this._viewportScrollY+a,{ancestorScaleX:c,ancestorScaleY:l,ancestorLeft:u,ancestorTop:d}=this._scene,f=this._smoothAccuracy((o-this._startOffsetX)/c,r),p=this._smoothAccuracy((s-this._startOffsetY)/l,r);if(this._moveBufferBlocker(e,t))return;let m=this._getTopScene();if(!m)return;let{width:h,height:g}=m;if(!r){let n=Array.from(this._selectedObjectMap.values());for(let e=0;e<n.length;e++){let t=n[e],r=this._checkMoveBoundary(t,f,p,u,d,h,g);f=r.moveLeft,p=r.moveTop}this._selectedObjectMap.forEach(e=>{e.translate(f+e.left,p+e.top)}),this._changing$.next({objects:this._selectedObjectMap,moveX:f,moveY:p,type:Gu.MOVING,offsetX:e,offsetY:t})}else if(this._copperSelectedObject){let n=this._copperSelectedObject,r=this._checkMoveBoundary(n,f,p,u,d,h,g);f=r.moveLeft,p=r.moveTop,n.translate(f+n.left,p+n.top),this._changing$.next({objects:new Map([[n.oKey,n]]),moveX:f,moveY:p,type:Gu.MOVING,offsetX:e,offsetY:t})}this._startOffsetX=o,this._startOffsetY=s}_moveBufferBlocker(e,t){return!this._moveBufferSkip&&Math.abs(e-this._startOffsetX)<j&&Math.abs(t-this._startOffsetY)<j?!0:(this._moveBufferSkip=!0,!1)}_anchorMoving(e,t,n,r,i,a=!1,o){let{scrollX:s,scrollY:c}=Ir(r),l=t-this._viewportScrollX+s,u=n-this._viewportScrollY+c;if(this._moveBufferBlocker(t,n))return;let d=o instanceof wu;a?(this._moveFunc(o,e,l,u,i,a,d),this._changing$.next({objects:new Map([[o.oKey,o]]),type:Gu.MOVING,offsetX:t,offsetY:n})):(this._selectedObjectMap.forEach(t=>{this._moveFunc(t,e,l,u,i,a,d)}),this._changing$.next({objects:this._selectedObjectMap,type:Gu.MOVING,offsetX:t,offsetY:n})),i&&e!==$.RESIZE_CT&&e!==$.RESIZE_CB&&e!==$.RESIZE_LM&&e!==$.RESIZE_RM&&!d||(this._startOffsetX=l,this._startOffsetY=u)}_moveFunc(e,t,n,r,i,a=!1,o=!1){let{left:s,top:c,width:l,height:u,angle:d}=e,f=this._startStateMap.get(e.oKey)||{},p={},{moveLeft:m,moveTop:h}=this._getMovePoint(n,r,e);if(i&&t!==$.RESIZE_CT&&t!==$.RESIZE_CB&&t!==$.RESIZE_LM&&t!==$.RESIZE_RM&&!o)switch(t){case $.RESIZE_LT:p=this._resizeLeftTop(e,m,h,f);break;case $.RESIZE_RT:p=this._resizeRightTop(e,m,h,f);break;case $.RESIZE_LB:p=this._resizeLeftBottom(e,m,h,f);break;case $.RESIZE_RB:p=this._resizeRightBottom(e,m,h,f);break}else p=this._updateCloseKeepRatioState(t,s,c,l,u,m,h);e.transformByState(this._applyRotationForResult(p,{left:s,top:c,width:l,height:u},d,a))}_getMovePoint(e,t,n){let{ancestorScaleX:r,ancestorScaleY:i}=this._scene,{left:a,top:o,width:s,height:c,angle:l}=n,u=new Y(a+s/2,o+c/2),d=new Y(e,t);d.rotateByPoint(Pt(-l),u);let f=new Y(this._startOffsetX,this._startOffsetY);return f.rotateByPoint(Pt(-l),u),{moveLeft:(d.x-f.x)/r,moveTop:(d.y-f.y)/i}}_applyRotationForResult(e,t,n,r=!1){if(n===0)return e;let{left:i=0,top:a=0,width:o=0,height:s=0}=e,{left:c=0,top:l=0,width:u=0,height:d=0}=t,f=u/2,p=d/2,m=o/2+i-c,h=s/2+a-l,g=vr(new Y(f,p),n,new Y(i,a),new Y(m,h));return{width:this._smoothAccuracy(o,r),height:this._smoothAccuracy(s,r),left:this._smoothAccuracy(g.x,r),top:this._smoothAccuracy(g.y,r)}}_updateCloseKeepRatioState(e,t,n,r,i,a,o){let s={left:t,top:n,width:r,height:i};switch(e){case $.RESIZE_LT:s.width=r-a<20?20:r-a,s.height=i-o<20?20:i-o,s.left=t+r-s.width,s.top=n+i-s.height;break;case $.RESIZE_CT:s.height=i-o<20?20:i-o,s.top=n+i-s.height;break;case $.RESIZE_RT:s.width=r+a<20?20:r+a,s.height=i-o<20?20:i-o,s.top=n+i-s.height;break;case $.RESIZE_LM:s.width=r-a<20?20:r-a,s.left=t+r-s.width;break;case $.RESIZE_RM:s.width=a+r<20?20:a+r;break;case $.RESIZE_LB:s.width=r-a<20?20:r-a,s.height=i+o<20?20:i+o,s.left=s.width<=20?t:t+a;break;case $.RESIZE_CB:s.height=o+i<20?20:o+i;break;case $.RESIZE_RB:s.width=a+r<20?20:a+r,s.height=o+i<20?20:o+i;break}return s}_getLimitedSize(e,t){let n=20,r=20;return e>t?n*=Math.abs(e/t):r*=Math.abs(t/e),{limitWidth:n,limitHeight:r}}_resizeLeftTop(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLtRb(t,n,c,l,f),h=c-p,g=l-m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i+o-h,top:a+s-g,width:h,height:g}}_resizeRightBottom(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLtRb(t,n,c,l,f),h=c+p,g=l+m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i,top:a,width:h,height:g}}_resizeLeftBottom(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLbRt(t,n,c,l,f),h=c-p,g=l+m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i+o-h,top:a,width:h,height:g}}_resizeRightTop(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLbRt(t,n,c,l,f),h=c+p,g=l-m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i,top:a+s-g,width:h,height:g}}_fixMoveLtRb(e,t,n,r,i){let a=e,o=t;return(n+a)/(r+o)>i?o=a/i:a=o*i,{moveLeft:a,moveTop:o}}_fixMoveLbRt(e,t,n,r,i){let a=e,o=t;return Math.abs((n-a)/(r+o))>i?o=-a/i:a=-o*i,{moveLeft:a,moveTop:o}}_attachEventToAnchor(e,t=$.RESIZE_LT,n){this.disposeWithMe(He(e.onPointerDown$.subscribeEvent((e,r)=>{let{offsetX:i,offsetY:a}=e;this._startOffsetX=i,this._startOffsetY=a;let o=this._getTopScene(),{keepRatio:s,isCropper:c}=this._getConfig(n);if(o==null)return;o.disableObjectsEvent();let l=Uu.create(o);l.startScroll(i,a);let{scrollX:u,scrollY:d}=Ir(l);this._viewportScrollX=u,this._viewportScrollY=d;let{ancestorLeft:f,ancestorTop:p}=this._scene,{width:m,height:h}=o,g=this._getRotateAnchorCursor(t);if(!c)this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:Gu.MOVE_START}),this._selectedObjectMap.forEach(e=>{let{width:t,height:n,left:r,top:i}=e.getState();this._startStateMap.set(e.oKey,{width:t,height:n,left:r,top:i})});else{this._changeStart$.next({objects:new Map([[n.oKey,n]]),type:Gu.MOVE_START});let{width:e,height:t,left:r,top:i}=n.getState();this._startStateMap.set(n.oKey,{width:e,height:t,left:r,top:i})}this._moveBufferSkip=!1,this._topScenePointerMoveSub=o.onPointerMove$.subscribeEvent(e=>{let{offsetX:r,offsetY:i}=e;this._anchorMoving(t,r,i,l,s,c,n),l.scrolling(r,i,()=>{this._anchorMoving(t,r,i,l,s,c,n)}),o.setCursor(g)}),this._topScenePointerUpSub=o.onPointerUp$.subscribeEvent(e=>{var t,r;(t=this._topScenePointerMoveSub)==null||t.unsubscribe(),(r=this._topScenePointerUpSub)==null||r.unsubscribe(),o.enableObjectsEvent(),o.resetCursor(),l.dispose(),this._startStateMap.clear();let{offsetX:i,offsetY:a}=e;c?(this._recoverySizeBoundary([n],f,p,m,h),this._changeEnd$.next({objects:new Map([[n.oKey,n]]),type:Gu.MOVE_END,offsetX:i,offsetY:a,event:e})):(this._recoverySizeBoundary(Array.from(this._selectedObjectMap.values()),f,p,m,h),this._changeEnd$.next({objects:this._selectedObjectMap,type:Gu.MOVE_END,offsetX:i,offsetY:a,event:e})),this.refreshControls()}),r.stopPropagation()})))}_recoverySizeBoundary(e,t,n,r,i){for(let a=0;a<e.length;a++){let o=e[a],{left:s,top:c,width:l,height:u}=o,d={};s+t<this.zeroLeft?(d.left=this.zeroLeft-t,d.width=l+s):s+l+t>r+this.zeroLeft&&(d.width=this.zeroLeft+r-s-t),c+n<this.zeroTop?(d.top=this.zeroTop-n,d.height=u+c):c+u+n>i+this.zeroTop&&(d.height=this.zeroTop+i-c-n),o.transformByState(d)}}_attachEventToRotate(e,t){this.disposeWithMe(He(e.onPointerDown$.subscribeEvent((e,n)=>{let{offsetX:r,offsetY:i}=e;this._startOffsetX=r,this._startOffsetY=i;let a=this._getTopScene();if(a==null)return;a.disableObjectsEvent();let o=a.getScrollXYInfoByViewport(Y.create(r,i));this._viewportScrollX=o.x,this._viewportScrollY=o.y;let s=this._getRotateAnchorCursor($.ROTATE_LINE),{ancestorLeft:c,ancestorTop:l,width:u,height:d,angle:f}=t,p=u/2+c,m=d/2+l;this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:Gu.MOVE_START}),this._moveBufferSkip=!1;let h=a.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:n}=e;this._rotateMoving(t,n,p,m,f),a.setCursor(s)}),g=a.onPointerUp$.subscribeEvent(e=>{h==null||h.unsubscribe(),g==null||g.unsubscribe(),a.enableObjectsEvent(),a.resetCursor(),this.refreshControls();let{offsetX:t,offsetY:n}=e;this._changeEnd$.next({objects:this._selectedObjectMap,type:Gu.MOVE_END,offsetX:t,offsetY:n,event:e})});n.stopPropagation()})))}_rotateMoving(e,t,n,r,i){let{ancestorScaleX:a,ancestorScaleY:o}=this._scene;if(this._moveBufferBlocker(e,t))return;let s=i+Nt(Math.atan2((t-r)/o+this._viewportScrollY,(e-n)/a+this._viewportScrollX)-Math.atan2((this._startOffsetY-r)/o+this._viewportScrollY,(this._startOffsetX-n)/a+this._viewportScrollX));s<0&&(s=360+s),s%=360,s=this._smoothAccuracy(s),this._selectedObjectMap.forEach(e=>{e.transformByState({angle:s})}),this._changing$.next({objects:this._selectedObjectMap,angle:s,type:Gu.MOVING,offsetX:e,offsetY:t})}_getOutlinePosition(e,t,n,r){return{left:n-r,top:-n-this.borderStrokeWidth,width:e+n*2,height:t+n*2}}_getRotateAnchorCursor(e){let t=H.NORTH_WEST_RESIZE;switch(e){case $.ROTATE:t=H.MOVE;break;case $.ROTATE_LINE:t=H.MOVE;break;case $.RESIZE_LT:break;case $.RESIZE_CT:t=H.NORTH_RESIZE;break;case $.RESIZE_RT:t=H.NORTH_EAST_RESIZE;break;case $.RESIZE_LM:t=H.WEST_RESIZE;break;case $.RESIZE_RM:t=H.EAST_RESIZE;break;case $.RESIZE_LB:t=H.SOUTH_WEST_RESIZE;break;case $.RESIZE_CB:t=H.SOUTH_RESIZE;break;case $.RESIZE_RB:t=H.SOUTH_EAST_RESIZE;break}return t}_getCopperAnchorPosition(e,t,n,r){let{borderStrokeWidth:i,borderSpacing:a,anchorSize:o}=this._getConfig(r),s=0,c=0,l=o,u=o/4;switch(e){case $.RESIZE_LT:s+=-a-i,c+=-a-i;break;case $.RESIZE_CT:s+=n/2-l/2,c+=-a-i;break;case $.RESIZE_RT:s+=n+a-i-l,c+=-a-i;break;case $.RESIZE_LM:s+=a-i,c+=t/2-l/2;break;case $.RESIZE_RM:s+=n+a-i-u,c+=t/2-l/2;break;case $.RESIZE_LB:s+=-this.borderSpacing-i,c+=t+a-i-l;break;case $.RESIZE_CB:s+=n/2-l/2,c+=t+a-i-u;break;case $.RESIZE_RB:s+=n+a-i-l,c+=t+a-i-l;break}return{left:s,top:c}}_getRotateAnchorPosition(e,t,n,r){let{rotateAnchorOffset:i,rotateSize:a,borderStrokeWidth:o,borderSpacing:s,anchorSize:c}=this._getConfig(r),l=-c/2,u=-c/2;switch(e){case $.ROTATE:l=n/2-a/2,u=-i-s-o*2-a;break;case $.ROTATE_LINE:l=n/2,u=-i-s-o;break;case $.RESIZE_LT:l+=-s-o,u+=-s-o;break;case $.RESIZE_CT:l+=n/2,u+=-s-o;break;case $.RESIZE_RT:l+=n+s-o,u+=-s-o;break;case $.RESIZE_LM:l+=s-o,u+=t/2;break;case $.RESIZE_RM:l+=n+s-o,u+=t/2;break;case $.RESIZE_LB:l+=-this.borderSpacing-o,u+=t+s-o;break;case $.RESIZE_CB:l+=n/2,u+=t+s-o;break;case $.RESIZE_RB:l+=n+s-o,u+=t+s-o;break}return{left:l,top:u}}_createResizeAnchor(e,t,n){let{height:r=0,width:i=0,scaleX:a=1,scaleY:o=1}=t.getState(),{anchorFill:s,anchorStroke:c,anchorStrokeWidth:l,anchorCornerRadius:u,anchorSize:d}=this._getConfig(t),{left:f,top:p}=this._getRotateAnchorPosition(e,r,i,t),m=this._getRotateAnchorCursor(e),h=new Kl(`${e}_${n}`,{zIndex:n-1,fill:s,stroke:c,strokeWidth:l,width:d,height:d,radius:u,left:f,top:p});return this._attachHover(h,m,H.DEFAULT),h}_createCopperResizeAnchor(e,t,n){let{height:r=0,width:i=0,scaleX:a=1,scaleY:o=1}=t.getState(),{anchorFill:s,anchorStroke:c,anchorStrokeWidth:l,anchorSize:u}=this._getConfig(t),{left:d,top:f}=this._getCopperAnchorPosition(e,r,i,t),p=this._getRotateAnchorCursor(e),m,h=`${e}_${n}`,g={zIndex:n-1,fill:s,stroke:c,strokeWidth:l,width:u,height:u,left:d,top:f},_=u,v=u/4;return p===H.EAST_RESIZE||p===H.WEST_RESIZE?(g.width=v,g.height=_,m=new Kl(h,g)):p===H.NORTH_RESIZE||p===H.SOUTH_RESIZE?(g.width=_,g.height=v,m=new Kl(h,g)):p===H.NORTH_EAST_RESIZE?(g.pointsGroup=this._getNorthEastPoints(_,v),m=new $l(h,g)):p===H.NORTH_WEST_RESIZE?(g.pointsGroup=this._getNorthWestPoints(_,v),m=new $l(h,g)):p===H.SOUTH_EAST_RESIZE?(g.pointsGroup=this._getSouthEastPoints(_,v),m=new $l(h,g)):p===H.SOUTH_WEST_RESIZE&&(g.pointsGroup=this._getSouthWestPoints(_,v),m=new $l(h,g)),this._attachHover(m,p,H.DEFAULT),m}_getNorthEastPoints(e,t){let n=e-t;return[[{x:0,y:0},{x:e,y:0},{x:e,y:e},{x:n,y:e},{x:n,y:t},{x:0,y:t}]]}_getNorthWestPoints(e,t){return[[{x:0,y:0},{x:e,y:0},{x:e,y:t},{x:t,y:t},{x:t,y:e},{x:0,y:e}]]}_getSouthEastPoints(e,t){let n=e-t;return[[{x:n,y:0},{x:e,y:0},{x:e,y:e},{x:0,y:e},{x:0,y:n},{x:n,y:n},{x:n,y:0}]]}_getSouthWestPoints(e,t){let n=e-t;return[[{x:0,y:0},{x:t,y:0},{x:t,y:n},{x:e,y:n},{x:e,y:e},{x:0,y:e},{x:0,y:0}]]}_checkTransformerType(e){if(e.indexOf($.OUTLINE)>-1)return $.OUTLINE;if(e.indexOf($.ROTATE)>-1)return $.ROTATE;if(e.indexOf($.ROTATE_LINE)>-1)return $.ROTATE_LINE;if(e.indexOf($.RESIZE_LT)>-1)return $.RESIZE_LT;if(e.indexOf($.RESIZE_CT)>-1)return $.RESIZE_CT;if(e.indexOf($.RESIZE_RT)>-1)return $.RESIZE_RT;if(e.indexOf($.RESIZE_LM)>-1)return $.RESIZE_LM;if(e.indexOf($.RESIZE_RM)>-1)return $.RESIZE_RM;if(e.indexOf($.RESIZE_LB)>-1)return $.RESIZE_LB;if(e.indexOf($.RESIZE_CB)>-1)return $.RESIZE_CB;if(e.indexOf($.RESIZE_RB)>-1)return $.RESIZE_RB}_updateControlIterator(e){this._transformerControlMap.forEach((t,n)=>{let r=this._selectedObjectMap.get(n);if(!r)return!0;e(t,r)})}_updateControl(){this._updateControlIterator((e,t)=>{let{left:n,top:r,height:i,width:a,angle:o}=t.getState();e.transformByState({left:n,top:r,height:i,width:a,angle:o}),e.show(),e.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(e=>{e.hide(),e.makeDirty(!0)})}_attachHover(e,t,n){this.disposeWithMe(He(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=t}))),this.disposeWithMe(He(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=n})))}_clearControls(e=!1){this._clearControlMap(),this._clearControl$.next(e)}clearControlByIds(e){for(let t of e)this._selectedObjectMap.delete(t);this.refreshControls()}_clearControlMap(){this._transformerControlMap.forEach(e=>{e.dispose()}),this._transformerControlMap.clear()}_createControl(e,t=!0){let{left:n=0,top:r=0,height:i=0,width:a=0}=e.getState(),o=e.angle,{isCropper:s,resizeEnabled:c,rotateEnabled:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderSpacing:g,enabledAnchors:_}=this._getConfig(e);if(t&&s)return;let v=e.oKey,y=this._selectedObjectMap.size+e.maxZIndex+5e3,b=e.getLayerIndex()||2,x=[];if(p&&!s){let e=new Kl(`${$.OUTLINE}_${y}`,{zIndex:y-1,evented:!1,strokeWidth:h,stroke:m,...this._getOutlinePosition(a,i,g,h)});x.push(e)}if(c&&!s){let{left:t,top:n}=this._getRotateAnchorPosition($.ROTATE_LINE,i,a,e);if(l){let r=new Kl(`${$.ROTATE_LINE}_${y}`,{zIndex:y-1,evented:!1,left:t,top:n,height:u,width:1,strokeWidth:h,stroke:m}),{left:o,top:s}=this._getRotateAnchorPosition($.ROTATE,i,a,e),c=this._getRotateAnchorCursor($.ROTATE),l=new Kl(`${$.ROTATE}_${y}`,{zIndex:y-1,left:o,top:s,height:d,width:d,radius:f,strokeWidth:h*2,stroke:m});this._attachEventToRotate(l,e),this._attachHover(l,c,H.DEFAULT),x.push(r,l)}}if(c)for(let t=0,n=_.length;t<n;t++){if(_[t]!==1)continue;let n=Wu[t],r;r=s?this._createCopperResizeAnchor(n,e,y):this._createResizeAnchor(n,e,y),this._attachEventToAnchor(r,n,e),x.push(r)}let S=new wu(`${$.GROUP}_${v}`,...x);return S.zIndex=y,S.evented=!1,S.openSelfSizeMode(),S.transformByState({left:e.left||n,top:e.top||r,angle:e.angle||o,width:e.width||a,height:e.height||i}),this.getScene().addObject(S,b),s?this._copperControl=S:(this._transformerControlMap.has(v)&&this._transformerControlMap.get(v).dispose(),this._transformerControlMap.set(v,S),this._createControl$.next(S)),S}_getTopScene(){var e;return(e=this.getScene().getEngine())==null?void 0:e.activeScene}activeAnObject(e){this._updateActiveObjectList(e,{}),this._changeStart$.next({target:e,objects:this._selectedObjectMap,type:Gu.MOVE_START})}_updateActiveObjectList(e,t){let{isCropper:n}=this._getConfig(e);e=this._findGroupObject(e),!this._selectedObjectMap.has(e.oKey)&&((!t.ctrlKey||Ku.has(e.objectType))&&(this._selectedObjectMap.clear(),this._clearControlMap()),n||this._selectedObjectMap.set(e.oKey,e),this._createControl(e))}_findGroupObject(e){return e.isInGroup&&e.ancestorGroup||e}_addCancelObserver(e){var t;(t=this._cancelFocusSubscription)==null||t.unsubscribe(),this._cancelFocusSubscription=e.onPointerDown$.subscribeEvent(()=>{this.clearSelectedObjects()})}_smoothAccuracy(e,t=!1,n=1){return t?Kt(e,3):Kt(e,n)}};const Ju=`viewMain`;var Yu=class extends _{constructor(e,t,n){var r;if(super(),this._parent=t,K(this,`_sceneKey`,``),K(this,`_width`,100),K(this,`_height`,100),K(this,`_scaleX`,1),K(this,`_scaleY`,1),K(this,`_transform`,new Br),K(this,`_evented`,!0),K(this,`_layers`,[]),K(this,`_viewports`,[]),K(this,`_cursor`,H.DEFAULT),K(this,`_defaultCursor`,H.DEFAULT),K(this,`_addObject$`,new We(this)),K(this,`addObject$`,this._addObject$.asObservable()),K(this,`onTransformChange$`,new x),K(this,`onFileLoaded$`,new x),K(this,`onPointerDown$`,new x),K(this,`onPointerMove$`,new x),K(this,`onPointerUp$`,new x),K(this,`onPointerEnter$`,new x),K(this,`onPointerOut$`,new x),K(this,`onPointerCancel$`,new x),K(this,`onPointerLeave$`,new x),K(this,`onDragEnter$`,new x),K(this,`onDragOver$`,new x),K(this,`onDragLeave$`,new x),K(this,`onDrop$`,new x),K(this,`onClick$`,new x),K(this,`onSingleClick$`,new x),K(this,`onDblclick$`,new x),K(this,`onTripleClick$`,new x),K(this,`onMouseWheel$`,new x),K(this,`onKeyDown$`,new x),K(this,`onKeyUp$`,new x),K(this,`_beforeRender$`,new We(null)),K(this,`beforeRender$`,this._beforeRender$.asObservable()),K(this,`_afterRender$`,new We(null)),K(this,`afterRender$`,this._afterRender$.asObservable()),K(this,`_transformer`,void 0),K(this,`_inputManager`,void 0),K(this,`_capturedObject`,null),this._sceneKey=e,n&&this.transformByState(n),this._parent.classType===W.ENGINE){let t=this._parent;t.addScene(this),t.hasActiveScene()||t.setActiveScene(e),this._inputManager=new Bu(this)}else this._parent.classType===W.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe(He((r=this._parent)==null?void 0:r.onTransformChange$.subscribeEvent(e=>{this._transformHandler()})))}get classType(){return W.SCENE}get transform(){return this._transform}get width(){return this._width}get height(){return this._height}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get sceneKey(){return this._sceneKey}get objectsEvented(){return this._evented}set transform(e){this._transform=e}set width(e){this._width=e}set height(e){this._height=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}get ancestorScaleX(){let e=this.getParent(),t=1;return e.classType===W.SCENE_VIEWER&&(t=e.ancestorScaleX),this.scaleX*t}get ancestorScaleY(){let e=this.getParent(),t=1;return e.classType===W.SCENE_VIEWER&&(t=e.ancestorScaleY),this.scaleY*t}getAncestorScale(){return{scaleX:this.ancestorScaleX||1,scaleY:this.ancestorScaleY||1}}get ancestorLeft(){let e=this.getParent(),t=0;return e.classType===W.SCENE_VIEWER&&(t=e.ancestorLeft),t}get ancestorTop(){let e=this.getParent(),t=0;return e.classType===W.SCENE_VIEWER&&(t=e.ancestorTop),t}set cursor(e){this.setCursor(e)}attachControl(e){var t;if(this._parent.classType===W.ENGINE)return(t=this._inputManager)==null||t.attachControl(e),this}detachControl(){var e;return(e=this._inputManager)==null||e.detachControl(),this}makeDirty(e=!0){if(this._layers.forEach(t=>{t.makeDirty(e)}),this._parent.classType===W.SCENE_VIEWER){var t;(t=this._parent)==null||t.makeDirty(e)}return this}makeDirtyNoParent(e=!0){return this._layers.forEach(t=>{t.makeDirty(e)}),this}enableLayerCache(...e){e.forEach(e=>{this.getLayer(e).enableCache()})}disableLayerCache(...e){e.forEach(e=>{this.getLayer(e).disableCache()})}isDirty(){for(let e=0;e<this._layers.length;e++)if(this._layers[e].isDirty()===!0)return!0;return!1}getCursor(){return this._cursor}resetCursor(){this.setCursor(this._defaultCursor)}setCursor(e){this._cursor=e;let t=this.getEngine();t&&t.setCanvasCursor(e)}setDefaultCursor(e){this._defaultCursor=e,this.resetCursor()}resize(e,t){let n=this.width;e!==void 0&&(this.width=e);let r=this.height;return t!==void 0&&(this.height=t),this._transformHandler(),this.onTransformChange$.emitEvent({type:Z.resize,value:{width:this.width,height:this.height},preValue:{width:n,height:r}}),this}setScaleValueOnly(e,t){e!==void 0&&(this.scaleX=e),t!==void 0&&(this.scaleY=t)}scale(e,t){let n=this.scaleX,r=this.scaleY;return this.setScaleValueOnly(e||1,t||1),this._transformHandler(),this.onTransformChange$.emitEvent({type:Z.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:n,scaleY:r}}),this}scaleBy(e,t){let n=this.scaleX;e!==void 0&&(this.scaleX+=e);let r=this.scaleY;return t!==void 0&&(this.scaleY+=t),this.scaleX=Kt(this.scaleX,1),this.scaleY=Kt(this.scaleY,1),this._transformHandler(),this.onTransformChange$.emitEvent({type:Z.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:n,scaleY:r}}),this}transformByState(e){let t=Object.keys(e),n={};t.length!==0&&(t.forEach(t=>{e[t]!==void 0&&(n[t]=this[t],this[t]=e[t])}),this._transformHandler(),this.onTransformChange$.emitEvent({type:Z.all,value:e,preValue:n}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===W.ENGINE)return this._parent;let e=this._parent;for(;e;){if(e.classType===W.ENGINE)return e;e=e==null?void 0:e.getParent()}return null}getLayers(){return this._layers}getLayer(e=1){for(let t of this._layers)if(t.zIndex===e)return t;let t=new pu(this,[],e);return this.addLayer(t),t}findLayerByZIndex(e=1){for(let t of this.getLayers())if(t.zIndex===e)return t}getLayerMaxZIndex(){let e=Number.MIN_VALUE;for(let t=0;t<this._layers.length;t++){let n=this._layers[t];n.zIndex>=e&&(e=n.zIndex)}return e}addLayer(...e){this._layers.push(...e)}addObjects(e,t=1){var n;return(n=this.getLayer(t))==null||n.addObjects(e),this._addObject$.next(this),this}addObject(e,t=1){var n;return(n=this.getLayer(t))==null||n.addObject(e),this._addObject$.next(this),this}setObjectBehavior(e){e.parent||(e.parent=this),e.onIsAddedToParent$.emitEvent(this)}removeObject(e){if(e==null)return;let t=this.getLayers();for(let n of t)n.removeObject(e);return this}removeObjects(e){if(e==null)return;let t=this.getLayers();for(let n of t)n.removeObjects(e);return this}getObjectsByLayer(e){let t=[];this._layers.sort(Be);for(let n of this._layers)n.zIndex===e&&t.push(...n.getObjects());return t}getAllObjects(){let e=[];this._layers.sort(Be);for(let t of this._layers)e.push(...t.getObjects());return e}getAllObjectsByOrder(){let e=[];this._layers.sort(Be);for(let t of this._layers)e.push(...t.getObjectsByOrder());return e}getAllObjectsByDescOrder(e=!1){let t=[],n=e?Ve:Be;this._layers.sort(n);for(let e of this._layers)t.push(...e.getObjectsByOrder().sort(n));return t}getAllObjectsByOrderForPick(e=!1){let t=[],n=e?Ve:Be;this._layers.sort(n);for(let e of this._layers)t.push(...e.getObjectsByOrderForPick().sort(n));return t}getObject(e){for(let t of this._layers){let n=t.getObjectsByOrder();for(let t of n)if(t.oKey===e)return t}}getObjectIncludeInGroup(e){for(let t of this._layers){let n=t.getObjects();for(let t of n)if(t.oKey===e)return t}}fuzzyMathObjects(e,t=!1){let n=[];for(let r of this._layers){let i=r.getObjectsByOrder();for(let r of i)(t?r.oKey.startsWith(e):r.oKey.indexOf(e)>-1)&&n.push(r)}return n}addViewport(...e){return this._viewports.push(...e),this}removeViewport(e){for(let t=0,n=this._viewports.length;t<n;t++){let n=this._viewports[t];if(n.viewportKey===e)return this._viewports.splice(t,1),n}}getViewports(){return this._viewports}getMainViewport(){return this.getViewport(Ju)}getViewport(e){for(let t of this._viewports)if(t.viewportKey===e)return t}render(e){var t,n;if(!this.isDirty())return;!e&&((t=this.getEngine())==null||t.clearCanvas());let r=this._layers.sort(Be),i=(n=this.getEngine())==null?void 0:n.getCanvas();this._beforeRender$.next(i);for(let t=0,n=r.length;t<n;t++)r[t].render(e,t===n-1);this._afterRender$.next(i)}async requestRender(e){return new Promise((t,n)=>{this.render(e),kt(t)})}attachTransformerTo(e){var t;this._transformer||this.initTransformer(),(t=this._transformer)==null||t.attachTo(e)}detachTransformerFrom(e){var t;(t=this._transformer)==null||t.detachFrom(e)}initTransformer(e){if(this._transformer){this._transformer.resetProps(e);return}this._transformer=new qu(this,e)}getTransformerByCreate(){return this._transformer||this.initTransformer(),this._transformer}getTransformer(){return this._transformer}updateTransformerZero(e,t){var n;(n=this._transformer)==null||n.updateZeroPoint(e,t)}findViewportByPosToScene(e){return this._viewports.find(t=>t.isHit(e))}getActiveViewportByCoord(e){return e=this.getCoordRelativeToViewport(e),this.findViewportByPosToScene(e)}getVpScrollXYInfoByPosToVp(e,t){return this.getScrollXYInfoByViewport(e,t)}getScrollXYInfoByViewport(e,t){return t||(t=this.findViewportByPosToScene(e)||this.getDefaultViewport()),this.getViewportScrollXY(t)}getDefaultViewport(){return this.getViewport(`viewMain`)}getViewportScrollXY(e){let t=0,n=0;if(e){let r=e.viewportScrollX||0,i=e.viewportScrollY||0;t+=r,n+=i}return{x:t,y:n}}getRelativeToViewportCoord(e){return this.getCoordRelativeToViewport(e)}getCoordRelativeToViewport(e){let t=this.getParent(),n=[];for(;t;)(t.classType===W.SCENE||t.classType===W.SCENE_VIEWER)&&n.push(t),t=(t==null?void 0:t.getParent)&&(t==null?void 0:t.getParent());n.reverse();for(let t of n)if(t.classType===W.SCENE){let n=t.getActiveViewportByCoord(e);if(n){let t=n.viewportScrollX||0,r=n.viewportScrollY||0;e=e.addByPoint(t,r)}}else t.classType===W.SCENE_VIEWER&&(e=t.transform.clone().invert().applyPoint(e));return e}clearLayer(){this._layers=[]}clearViewports(){this._viewports=[]}getPrecisionScale(){var e;let t=((e=this.getEngine())==null?void 0:e.getPixelRatio())||1,{scaleX:n,scaleY:r}=this.getAncestorScale();return{scaleX:n*t,scaleY:r*t}}dispose(){var e,t,n;let r=[...this.getLayers()];r.forEach(e=>{e.dispose()}),r=[];let i=[...this.getViewports()];i.forEach(e=>{e.dispose()}),i=[],this.clearLayer(),this.clearViewports(),this.detachControl(),(e=this.onTransformChange$)==null||e.complete(),(t=this._inputManager)==null||t.dispose(),this._inputManager=null,(n=this._transformer)==null||n.dispose(),this._transformer=null,this.onFileLoaded$.complete(),this.onClick$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onPointerEnter$.complete(),this.onPointerLeave$.complete(),this.onPointerOut$.complete(),this.onPointerCancel$.complete(),this.onDragEnter$.complete(),this.onDragOver$.complete(),this.onDragLeave$.complete(),this.onDrop$.complete(),this.onSingleClick$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onMouseWheel$.complete(),this.onKeyDown$.complete(),this.onKeyUp$.complete(),this._addObject$.complete(),super.dispose()}pick(e){let t=this.getActiveViewportByCoord(e);if(t||(t=this._viewports[0]),!this.objectsEvented||!t)return null;let n=t.pickScrollBar(e);if(n)return n;let r=t.transformVector2SceneCoord(e),i=null,a=this.getAllObjectsByOrderForPick().reverse(),o=a.length;for(let e=0;e<o;e++){var s;let t=a[e];if(!t.visible||!t.evented||t.isInGroup&&((s=t.parent)==null?void 0:s.classType)===W.GROUP&&t.isDrawingObject)continue;let n=r;if(t.isHit(n)){i=t.classType===W.SCENE_VIEWER?t.pick(n)||t.getActiveSubScene():t;break}else if(t.classType===W.SCENE_VIEWER&&t.allowSelectedClipElement()){let e=t.pick(n);if(e){i=e;break}}}return!i&&this._parent.classType===W.ENGINE?this:i}triggerPointerUp(e){var t;if(!((t=this.onPointerUp$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerUp(e),!1}return!0}triggerMouseWheel(e){var t;if(!((t=this.onMouseWheel$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerMouseWheel(e),!1}return!0}triggerSingleClick(e){var t;if(!((t=this.onSingleClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerSingleClick(e),!1}return!0}triggerClick(e){var t;if(!((t=this.onClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerClick(e),!1}return!0}triggerDblclick(e){var t;if(!((t=this.onDblclick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDblclick(e),!1}return!0}triggerTripleClick(e){var t;if(!((t=this.onTripleClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerTripleClick(e),!1}return!0}triggerPointerMove(e){var t;if(!((t=this.onPointerMove$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerMove(e),!1}return!0}triggerPointerDown(e){var t;if(!((t=this.onPointerDown$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerDown(e),!1}return!0}triggerPointerOut(e){if(this._parent.classType===W.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerOut(e),!1}return!0}triggerPointerLeave(e){var t;if(!((t=this.onPointerLeave$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerLeave(e),!1}return!0}triggerPointerOver(e){if(this._parent.classType===W.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerOver(e),!1}return!0}triggerPointerCancel(e){if(this._parent.classType===W.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerCancel(e),!1}return!0}triggerPointerEnter(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerEnter(e),!1}return!0}triggerDragLeave(e){var t;if(!((t=this.onDragLeave$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragLeave(e),!1}return!0}triggerDragOver(e){var t;if(!((t=this.onDragOver$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragOver(e),!1}return!0}triggerDragEnter(e){var t;if(!((t=this.onDragEnter$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragEnter(e),!1}return!0}triggerDrop(e){var t;if(!((t=this.onDrop$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDrop(e),!1}return!0}_transformHandler(){this.transform=Br.create().composeMatrix({scaleX:this.scaleX,scaleY:this.scaleY}),this.getViewports().forEach(e=>{e.resetCanvasSizeAndUpdateScroll()}),this.makeDirty(!0)}disableObjectsEvent(){this._evented=!1}enableObjectsEvent(){this._evented=!0}get capturedObject(){return this._capturedObject}setCaptureObject(e){this._capturedObject=e}releaseCapturedObject(){this._capturedObject=null}};let Xu=class extends _{get unitId(){return this._renderContext.unitId}get type(){return this._renderContext.type}set isMainScene(e){this._renderContext.isMainScene=e}get isMainScene(){return this._renderContext.isMainScene}set engine(e){this._renderContext.engine=e}get engine(){return this._renderContext.engine}set mainComponent(e){this._renderContext.mainComponent=e}get mainComponent(){return this._renderContext.mainComponent}set scene(e){this._renderContext.scene=e}get scene(){return this._renderContext.scene}get components(){return this._renderContext.components}constructor(e,t){super(),K(this,`isRenderUnit`,!0),K(this,`_activated$`,new We(!0)),K(this,`activated$`,this._activated$.pipe(Ye())),K(this,`_injector`,void 0),K(this,`_renderContext`,void 0),this._injector=t.createChild(),this._renderContext={unit:e.unit,unitId:e.unit.getUnitId(),type:e.unit.type,components:new Map,mainComponent:null,isMainScene:e.isMainScene,engine:e.engine,scene:e.scene,activated$:this.activated$,activate:()=>this._activated$.next(!0),deactivate:()=>this._activated$.next(!1)}}dispose(){this._injector.dispose(),super.dispose(),this._activated$.next(!1),this._activated$.complete(),this._renderContext.unit=null,this._renderContext.components.clear()}with(e){return this._injector.get(e)}addRenderDependencies(e){this._initDependencies(e)}_initDependencies(e){let t=this._injector;e.forEach(e=>{let[n,r]=Array.isArray(e)?e:[e,null];if(!r)t.add([n,{useFactory:()=>t.createInstance(n,this._renderContext)}]);else if(ke(r))t.add([n,{useFactory:()=>t.createInstance(r.useClass,this._renderContext)}]);else throw Error(`[RenderUnit]: render dependency could only be an class!`)}),e.forEach(e=>{let[n]=Array.isArray(e)?e:[e,null];t.get(n)})}getRenderContext(){return this._renderContext}activate(){this._renderContext.activate()}deactivate(){this._renderContext.deactivate()}};Xu=bl([yl(1,O(k))],Xu);const Zu={width:1500,height:1e3};let Qu=class extends _{get defaultEngine(){return this._defaultEngine||(this._defaultEngine=new Fu),this._defaultEngine}constructor(e,t,n){super(),this._injector=e,this._univerInstanceService=t,this._themeService=n,K(this,`_defaultEngine`,void 0),K(this,`_renderMap`,new Map),K(this,`_createRender$`,new Ke),K(this,`createRender$`,this._createRender$.asObservable()),K(this,`_renderCreated$`,new Ke),K(this,`created$`,this._renderCreated$.asObservable()),K(this,`_renderDisposed$`,new Ke),K(this,`disposed$`,this._renderDisposed$.asObservable()),K(this,`_renderDependencies`,new Map),this._initDarkModeListener()}dispose(){super.dispose(),this._renderMap.forEach(e=>this._disposeItem(e)),this._renderDependencies.clear(),this._renderMap.clear(),this._renderCreated$.complete(),this._renderDisposed$.complete()}registerRenderModules(e,t){this._renderDependencies.has(e)||this._renderDependencies.set(e,[]);let n=this._renderDependencies.get(e);n.push(...t);for(let[n,r]of this._renderMap)r.type===e&&this._tryAddRenderDependencies(r,t);return He(()=>{t.forEach(e=>Le(n,e))})}registerRenderModule(e,t){this._renderDependencies.has(e)||this._renderDependencies.set(e,[]);let n=this._renderDependencies.get(e);n.push(t);for(let[n,r]of this._renderMap)r.type===e&&this._tryAddRenderDependencies(r,[t]);return He(()=>Le(n,t))}_getRenderDepsByType(e){var t;return Array.from((t=this._renderDependencies.get(e))==null?[]:t)}_initDarkModeListener(){this.disposeWithMe(this._themeService.darkMode$.subscribe(()=>{this.getRenderAll().forEach(e=>{e.components.forEach(e=>{e.makeForceDirty(!0),e.makeDirty(!0)})})}))}create(e){this._createRender$.next(e)}createRender(e){let t=this._createRender(e,this._injector.createInstance(Fu,e,void 0));return this._renderCreated$.next(t),t}getAllRenderersOfType(e){let t=[];for(let[n,r]of this._renderMap)r.type===e&&t.push(r);return t}_tryAddRenderDependencies(e,t){e instanceof Xu&&e.addRenderDependencies(t)}_createRender(e,t,n=!0){let r=this.getRenderById(e),i=!0;r!=null&&r.engine===t&&(i=!1),this._disposeItem(r,i);let{width:a,height:o}=Zu,s=new Yu(`_UNIVER_SCENE_`+e,t,{width:a,height:o}),c=this._univerInstanceService.getUnit(e),l;if(c){let r=this._univerInstanceService.getUnitType(e),i=this._getRenderDepsByType(r);l=this._injector.createInstance(Xu,{unit:c,engine:t,scene:s,isMainScene:n}),this._addRenderUnit(e,l),this._tryAddRenderDependencies(l,i)}else l={isThumbNail:!0,type:he.UNIVER_SLIDE,unitId:e,engine:t,scene:s,mainComponent:null,components:new Map,isMainScene:n,with(e){return null}},this._addRenderUnit(e,l);return l}addRender(e,t){this._addRenderUnit(e,t)}_addRenderUnit(e,t){this._renderMap.set(e,t)}removeRender(e){let t=this._renderMap.get(e);t!=null&&this._disposeItem(t),this._renderMap.delete(e)}has(e){return this._renderMap.has(e)}getRenderById(e){return this._renderMap.get(e)}getRenderUnitById(e){return this._renderMap.get(e)}getRenderAll(){return this._renderMap}_disposeItem(e,t=!0){if(e==null)return;let{engine:n,scene:r,components:i}=e;i==null||i.forEach(e=>e.dispose()),r.dispose(),ed(e)&&e.dispose(),t&&n.dispose(),this._renderDisposed$.next(e.unitId)}};Qu=bl([yl(0,O(k)),yl(1,D),yl(2,O(me))],Qu);const $u=xe(`engine-render.render-manager.service`);function ed(e){return!!e&&typeof e.dispose==`function`}function td(e,t,n){let r=t.getCurrentUnitOfType(e);return r==null?null:n.getRenderUnitById(r.getUnitId())}function nd(e,t,n,r){let i=td(e,n,r);return i?i.with(t):null}var rd=class{constructor(){K(this,`_renderConfig`,{ok:`111`}),K(this,`_updateSignal$`,new Ke),K(this,`updateSignal$`,this._updateSignal$.pipe(Je(4)))}setRenderConfig(e,t){if(t==null){delete this._renderConfig[e];return}this._renderConfig[e]=t}getRenderConfig(){return this._renderConfig}};const id=xe(`univer.render-engine`);let ad=class extends re{constructor(e=zu,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{...r}=Me({},zu,this._config);this._configService.setConfig(Ru,r)}onStarting(){Ie(this._injector,[[rd],[Au,{useClass:Mu}],[id,{useClass:Fu}],[$u,{useClass:Qu}]])}};K(ad,`pluginName`,`UNIVER_RENDER_ENGINE_PLUGIN`),K(ad,`packageName`,Iu),K(ad,`version`,Lu),ad=bl([yl(1,O(k)),yl(2,T)],ad);function od(e,t){if(t.startRow>=e.endRow||t.endRow<=e.startRow||t.startColumn>=e.endColumn||t.endColumn<=e.startColumn)return[e];let n=[];t.startRow>e.startRow&&n.push({startRow:e.startRow,startColumn:e.startColumn,endRow:t.startRow,endColumn:e.endColumn}),t.endRow<e.endRow&&n.push({startRow:t.endRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn});let r=Math.max(e.startRow,t.startRow),i=Math.min(e.endRow,t.endRow);return t.startColumn>e.startColumn&&n.push({startRow:r,startColumn:e.startColumn,endRow:i,endColumn:t.startColumn}),t.endColumn<e.endColumn&&n.push({startRow:r,startColumn:t.endColumn,endRow:i,endColumn:e.endColumn}),n}var sd=class{constructor(e,t,n){var r;K(this,`_viewportKey`,``),K(this,`_scrollX`,0),K(this,`_scrollY`,0),K(this,`_preScrollX`,0),K(this,`_preScrollY`,0),K(this,`_viewportScrollX`,0),K(this,`_viewportScrollY`,0),K(this,`_preViewportScrollX`,0),K(this,`_preViewportScrollY`,0),K(this,`_sceneWCurrVpAfterScale`,0),K(this,`_sceneHCurrVpAfterScale`,0),K(this,`_sceneWidthAfterScale`,void 0),K(this,`_sceneHeightAfterScale`,void 0),K(this,`onMouseWheel$`,new x),K(this,`onScrollAfter$`,new x),K(this,`onScrollEnd$`,new x),K(this,`onScrollByBar$`,new x),K(this,`onResized$`,new Ke),K(this,`_topOrigin`,0),K(this,`_leftOrigin`,0),K(this,`_bottomOrigin`,0),K(this,`_rightOrigin`,0),K(this,`_widthOrigin`,void 0),K(this,`_heightOrigin`,void 0),K(this,`_top`,0),K(this,`_left`,0),K(this,`_bottom`,0),K(this,`_right`,0),K(this,`_width`,void 0),K(this,`_height`,void 0),K(this,`_scene`,void 0),K(this,`_scrollBar`,void 0),K(this,`_isWheelPreventDefaultX`,!1),K(this,`_isWheelPreventDefaultY`,!1),K(this,`_scrollStopNum`,0),K(this,`_clipViewport`,!0),K(this,`_active`,!0),K(this,`_paddingStartX`,0),K(this,`_paddingEndX`,0),K(this,`_paddingStartY`,0),K(this,`_paddingEndY`,0),K(this,`_marginLeft`,0),K(this,`_marginTop`,0),K(this,`_cacheBound`,void 0),K(this,`_preCacheBound`,void 0),K(this,`_preCacheVisibleBound`,void 0),K(this,`_viewBound`,{top:0,left:0,bottom:0,right:0}),K(this,`_preViewBound`,void 0),K(this,`_isDirty`,!0),K(this,`_cacheCanvas`,null),K(this,`_allowCache`,!1),K(this,`bufferEdgeX`,0),K(this,`bufferEdgeY`,0),K(this,`scrollAnimationFrameId`,null),K(this,`_isForceDirty`,!0),this._viewportKey=e,this._scene=t,this._scene.addViewport(this),this._active=B.isDefine(n==null?void 0:n.active)?n==null?void 0:n.active:!0,this.setViewportSize(n),this.initCacheCanvas(n,t),this._isWheelPreventDefaultX=(n==null?void 0:n.isWheelPreventDefaultX)||!1,this._isWheelPreventDefaultY=(n==null?void 0:n.isWheelPreventDefaultY)||!1,this.resetCanvasSizeAndUpdateScroll(),this.getBounding(),(r=this.scene.getEngine())==null||r.onTransformChange$.subscribeEvent(()=>{this.markForceDirty(!0)}),this.markForceDirty(!0)}initCacheCanvas(e,t){if(this._allowCache=(e==null?void 0:e.allowCache)||!1,this._allowCache){var n;this._cacheCanvas=new Yr({colorService:(n=t.getEngine())==null?void 0:n.canvasColorService}),this.bufferEdgeX=(e==null?void 0:e.bufferEdgeX)||0,this.bufferEdgeY=(e==null?void 0:e.bufferEdgeY)||0}}get scene(){return this._scene}get width(){return this._width}get height(){return this._height}get viewportKey(){return this._viewportKey}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get bottomOrigin(){return this._bottomOrigin}get rightOrigin(){return this._rightOrigin}get top(){return this._top}get left(){return this._left}get bottom(){return this._bottom}get right(){return this._right}get isWheelPreventDefaultX(){return this._isWheelPreventDefaultX}get isWheelPreventDefaultY(){return this._isWheelPreventDefaultY}set width(e){this._width=e}set height(e){let t=this.scene.getParent().height;B.isDefine(e)?this._height=B.clamp(e,0,t):this._height=e}get isActive(){return this._active===!1||(this.height||0)<=0||(this.width||0)<=0?!1:this._active}set viewportScrollX(e){this._viewportScrollX=e}get viewportScrollX(){return this._viewportScrollX}set viewportScrollY(e){this._viewportScrollY=e}get viewportScrollY(){return this._viewportScrollY}set scrollX(e){this._scrollX=e}set scrollY(e){this._scrollY=e}get scrollX(){return this._scrollX}get scrollY(){return this._scrollY}set top(e){var t;this._topOrigin=e,this._top=Ot(e,(t=this._scene)==null||(t=t.getParent())==null?void 0:t.height)}set left(e){var t;this._leftOrigin=e,this._left=Ot(e,(t=this.scene.getParent())==null?void 0:t.width)}set bottom(e){var t;this._bottomOrigin=e,this._bottom=Ot(e,(t=this.scene.getParent())==null?void 0:t.height)}set right(e){var t;this._rightOrigin=e,this._right=Ot(e,(t=this.scene.getParent())==null?void 0:t.width)}get viewBound(){return this._viewBound}get cacheBound(){return this._cacheBound}set cacheBound(e){this._cacheBound=e}get preCacheBound(){return this._preCacheBound}set preCacheBound(e){this._preCacheBound=e,this._preCacheVisibleBound=Object.assign({},e)}get _deltaScrollX(){return this.scrollX-this._preScrollX}get _deltaScrollY(){return this.scrollY-this._preScrollY}get _deltaViewportScrollX(){return this.viewportScrollX-this._preViewportScrollX}get _deltaViewportScrollY(){return this.viewportScrollY-this._preViewportScrollY}get canvas(){return this._cacheCanvas}enable(){this._active=!0}disable(){this._active=!1}resetCanvasSizeAndUpdateScroll(){this._resizeCacheCanvas(),this._updateScrollByViewportScrollValue(),this.onResized$.next({width:this._width,height:this._height,left:this._left,top:this._top,paddingStartX:this._paddingStartX,paddingEndX:this._paddingEndX,paddingStartY:this._paddingStartY,paddingEndY:this._paddingEndY})}setScrollBar(e){this._scrollBar=e,this._updateScrollByViewportScrollValue()}removeScrollBar(){this._scrollBar=null}resizeWhenFreezeChange(e){Object.keys(e).length!==0&&(this.setViewportSize(e),this.resetCanvasSizeAndUpdateScroll())}setPadding(e){let{startX:t=0,startY:n=0,endX:r=0,endY:i=0}=e;this._paddingStartX=t,this._paddingEndX=r,this._paddingStartY=n,this._paddingEndY=i,this.resetCanvasSizeAndUpdateScroll()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}setMargin(e,t){this._marginLeft=e,this._marginTop=t}scrollToBarPos(e){return this._scrollToBarPosCore(e)}scrollByBarDeltaValue(e,t=!0){let n=this.scrollX+(e.x||0),r=this.scrollY+(e.y||0);return this._scrollToBarPosCore({x:n,y:r},t)}scrollToViewportPos(e,t=!0){if(!this._scrollBar||this.isActive===!1)return;let{viewportScrollX:n,viewportScrollY:r}=e;return this._scrollToViewportPosCore({viewportScrollX:n,viewportScrollY:r},t)}scrollByViewportDeltaVal(e,t=!0){if(!this._scrollBar||this.isActive===!1)return;let n=this.viewportScrollX+(e.viewportScrollX||0),r=this.viewportScrollY+(e.viewportScrollY||0);return this._scrollToViewportPosCore({viewportScrollX:n,viewportScrollY:r},t)}transViewportScroll2ScrollValue(e,t){let n=e-this._paddingStartX,r=t-this._paddingStartY;if(this._scrollBar){n*=this._scrollBar.ratioScrollX,r*=this._scrollBar.ratioScrollY;let{scaleX:e,scaleY:t}=this.scene;n*=e,r*=t}else this.scrollX!==void 0&&(n=this.scrollX),this.scrollY!==void 0&&(r=this.scrollY);return{x:n,y:r}}transScroll2ViewportScrollValue(e,t){let n=e,r=t;if(this._scrollBar){let{scaleX:e,scaleY:t}=this.scene;this._scrollBar.ratioScrollX===0?n=this.viewportScrollX===void 0?0:this.viewportScrollX:(n/=this._scrollBar.ratioScrollX,n/=e),this._scrollBar.ratioScrollY===0?r=this.viewportScrollY===void 0?0:this.viewportScrollY:(r/=this._scrollBar.ratioScrollY,r/=t)}else n=this.viewportScrollX===void 0?0:this.viewportScrollX,r=this.viewportScrollY===void 0?0:this.viewportScrollY;let{scaleX:i,scaleY:a}=this._scene.getPrecisionScale();return{x:G(n+this._paddingStartX,i),y:G(r+this._paddingStartY,a)}}getViewportScrollByScrollXY(){let e=this.scrollX,t=this.scrollY;return this.transScroll2ViewportScrollValue(e,t)}getScrollBar(){return this._scrollBar}updateScrollVal(e){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;let{scrollX:t,scrollY:n,viewportScrollX:r,viewportScrollY:i}=e;return t!==void 0&&(this.scrollX=t),n!==void 0&&(this.scrollY=n),r!==void 0&&(this._preViewportScrollX=this.viewportScrollX,this.viewportScrollX=r),i!==void 0&&(this._preViewportScrollY=this.viewportScrollY,this.viewportScrollY=i),this}getScrollBarTransForm(){let e=Br.create();return e.multiply(Br.create([1,0,0,1,this._left,this._top])),e}shouldIntoRender(){return!(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)}render(e,t=[],n=!1){var r;if(!this.shouldIntoRender())return;let i=e||((r=this._scene.getEngine())==null?void 0:r.getCanvas().getContext()),a=this._scene.transform.clone();a.multiply(Br.create([1,0,0,1,-this.viewportScrollX||0,-this.viewportScrollY||0]));let o=a.getMatrix();i.save(),this._clipViewport&&(i.beginPath(),i.rect(this.left,this.top,this.width||0,this.height||0),i.clip()),i.transform(o[0],o[1],o[2],o[3],o[4],o[5]);let s=this.calcViewportInfo();for(let e=0,n=t.length;e<n;e++)t[e].render(i,s);if(this.markDirty(!1),this.markForceDirty(!1),this._preViewBound=this._viewBound,s.shouldCacheUpdate&&(this.preCacheBound=this._cacheBound),i.restore(),this._scrollBar&&n){i.save();let e=this.getScrollBarTransForm().getMatrix();i.transform(e[0],e[1],e[2],e[3],e[4],e[5]),this._drawScrollbar(i),i.restore()}this._afterRender()}_makeDefaultViewport(){return{viewBound:{left:-1,top:-1,right:-1,bottom:-1},diffBounds:[],diffX:-1,diffY:-1,viewPortPosition:{top:0,left:0,bottom:0,right:0},viewportKey:this.viewportKey,isDirty:0,isForceDirty:this.isForceDirty,allowCache:!1,cacheBound:{left:-1,top:-1,right:-1,bottom:-1},diffCacheBounds:[],cacheViewPortPosition:{top:0,left:0,bottom:0,right:0},shouldCacheUpdate:0,sceneTrans:Br.create([1,0,0,1,0,0]),leftOrigin:0,topOrigin:0,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY}}calcViewportInfo(){if(this.isActive===!1)return this._makeDefaultViewport();let e=this._scene.transform.clone(),t=this._width,n=this._height,r=this._calcViewPortSize();t=r.width,n=r.height;let i=this.left,a=(t||0)+this.left,o=this.top,s=(n||0)+this.top,c=this.transformVector2SceneCoord(Y.FromArray([i,o])),l=this.transformVector2SceneCoord(Y.FromArray([a,s])),u={left:c.x,right:l.x,top:c.y,bottom:l.y};this._viewBound=u;let d=this._preViewBound,f=this._diffViewBound(u,d),p=((d==null?void 0:d.left)||0)-u.left,m=((d==null?void 0:d.top)||0)-u.top,h={top:o,left:i,bottom:s,right:a},g=this.expandBounds(u);this.cacheBound=g,this.preCacheBound||(this.preCacheBound=this.expandBounds(u));let _=[];this._preCacheVisibleBound&&(p<0?this._preCacheVisibleBound.left-=p:p>0&&(this._preCacheVisibleBound.right-=p),m<0?this._preCacheVisibleBound.top-=m:m>0&&(this._preCacheVisibleBound.bottom-=m));let v=this.expandBounds(h),y=this._calcCacheUpdate(u,this._preCacheVisibleBound,p,m);return y&&(_=this._calcDiffCacheBound(this._preCacheBound,g)),{viewBound:u,diffBounds:f,diffX:p,diffY:m,viewPortPosition:h,viewportKey:this.viewportKey,isDirty:this.isDirty?2:0,isForceDirty:this.isForceDirty,allowCache:this._allowCache,cacheBound:g,diffCacheBounds:_,cacheViewPortPosition:v,shouldCacheUpdate:y,sceneTrans:e,cacheCanvas:this._cacheCanvas,leftOrigin:this._leftOrigin,topOrigin:this._topOrigin,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY,updatePrevCacheBounds:e=>{this.updatePrevCacheBounds(e)}}}getBounding(){return this.calcViewportInfo()}transformVector2SceneCoord(e){let t=this.scene.transform.clone().invert(),n=this.getViewportScrollByScrollXY();return t.applyPoint(e).add(Y.FromArray([n.x,n.y]))}getAbsoluteVector(e){let t=this.scene.transform.clone(),n=this.getViewportScrollByScrollXY();return t.applyPoint(e.subtract(Y.FromArray([n.x,n.y])))}onMouseWheel(e,t){if(!this._scrollBar||this.isActive===!1)return;let n=0,r=0,i=this._scene.width;n=(this.width||1)/i*e.deltaX;let a=this._scene.height,o=this.height||1;e.shiftKey?n=o/a*e.deltaY*3:r=o/a*e.deltaY;let s=this.scrollByBarDeltaValue({x:n,y:r});s&&!s.isLimitedX&&!s.isLimitedY&&(e.preventDefault(),this._scene.getParent().classType===W.SCENE_VIEWER&&t.stopPropagation()),this._isWheelPreventDefaultX&&this._isWheelPreventDefaultY&&e.preventDefault(),this._scene.makeDirty(!0)}isHit(e){if(this.isActive===!1)return!1;let{width:t,height:n}=this._calcViewPortSize();return e.x>=this.left&&e.x<=this.left+(t||0)&&e.y>=this.top&&e.y<=this.top+(n||0)}pickScrollBar(e){if(!this._scrollBar)return;let t=this.getScrollBarTransForm().invert().applyPoint(e);return this._scrollBar.pick(t)}openClip(){this._clipViewport=!0}closeClip(){this._clipViewport=!1}dispose(){var e,t;this.onMouseWheel$.complete(),this.onScrollAfter$.complete(),this.onScrollEnd$.complete(),(e=this._scrollBar)==null||e.dispose(),(t=this._cacheCanvas)==null||t.dispose(),this._scene.removeViewport(this._viewportKey)}limitedScroll(e,t){var n,r,i,a;if(!this._scrollBar)return{scrollX:0,scrollY:0,isLimitedX:!1,isLimitedY:!1};e=(n=e)==null?this.scrollX:n,t=(r=t)==null?this.scrollY:r;let{height:o,width:s}=this._calcViewPortSize();this._sceneWCurrVpAfterScale<=s&&(e=0),this._sceneHCurrVpAfterScale<=o&&(t=0);let c=(i=this._scrollBar)==null?void 0:i.limitX,l=(a=this._scrollBar)==null?void 0:a.limitY,u=!1,d=!1;return(e<0||e>c)&&(u=!0),(t<0||t>l)&&(d=!0),e=B.clamp(e,0,c),t=B.clamp(t,0,l),{scrollX:e,scrollY:t,isLimitedX:u,isLimitedY:d}}_limitViewportScroll(e,t){var n,r;let{width:i,height:a}=this._calcViewPortSize(),o=this._paddingEndY-this._paddingStartY,s=this._paddingEndX-this._paddingStartX,c=this.scene.scaleY,l=this.scene.scaleX,u=(n=(r=this.getScrollBar())==null?void 0:r.totalSize)==null?0:n,d=this._sceneWidthAfterScale-this._marginLeft*l-s*l-i+u,f=this._sceneHeightAfterScale-this._marginTop*c-o*c-a+u;return{viewportScrollX:B.clamp(e,this._paddingStartX,d/l),viewportScrollY:B.clamp(t,this._paddingStartY,f/c),isLimitedX:e>d,isLimitedY:t>f}}markDirty(e){e===void 0&&(e=!0),this._isDirty=e}get isDirty(){return this._isDirty}markForceDirty(e){e===void 0&&(e=!0),this._isForceDirty=e}resetPrevCacheBounds(){this._preCacheBound=null}get isForceDirty(){return this._isForceDirty}_resizeCacheCanvas(){var e;let{width:t,height:n}=this._calcViewPortSize();this.width=t,this.height=n;let r=this.scene.scaleX,i=this.scene.scaleY,a=t===0?0:t+this.bufferEdgeX*2*r,o=n===0?0:n+this.bufferEdgeY*2*i;(e=this._cacheCanvas)==null||e.setSize(a,o),this.cacheBound=this._viewBound,this.preCacheBound=null,this.markForceDirty(!0)}_updateScrollByViewportScrollValue(){if(!this.width||this.width<0||!this.height||this.height<0)return;let{width:e,height:t}=this._calcViewPortSize(),n=(this._scene.width-this._marginLeft-this._paddingEndX)*this._scene.scaleX,r=(this._scene.height-this._marginTop-this._paddingEndY)*this._scene.scaleY;if(this._sceneWCurrVpAfterScale=n,this._sceneHCurrVpAfterScale=r,this._sceneWidthAfterScale=this._scene.width*this._scene.scaleX,this._sceneHeightAfterScale=this._scene.height*this._scene.scaleY,this._scrollBar){this._scrollBar.resize(e,t,n,r);let i=this.viewportScrollX,a=this.viewportScrollY;this.scrollToViewportPos({viewportScrollX:i,viewportScrollY:a})}this.markForceDirty(!0)}_calcViewPortSize(){let{width:e,height:t}=this._scene.getParent(),{scaleX:n=1,scaleY:r=1}=this._scene,i,a,o=this._leftOrigin*n,s=this._topOrigin*r;return this._left=o,this._top=s,i=B.isDefine(this._widthOrigin)?(this._widthOrigin||0)*n:e-(this._left+this._right),a=B.isDefine(this._heightOrigin)?(this._heightOrigin||0)*r:t-(this._top+this._bottom),{width:i,height:a,parentHeight:t}}_afterRender(){}_emitScrollEnd$(e){clearTimeout(this._scrollStopNum),this._scrollStopNum=setTimeout(()=>{var t,n;this.onScrollEnd$.emitEvent({rawScrollX:e.rawScrollX,rawScrollY:e.rawScrollY,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:(t=this._scrollBar)==null?void 0:t.limitX,limitY:(n=this._scrollBar)==null?void 0:n.limitY,isTrigger:!1})},2)}_scrollToBarPosCore(e,t=!0){var n,r,i,a,o;if(this._scrollBar==null)return;let s=e.x,c=e.y,l=this.limitedScroll(s,c),u=this.transScroll2ViewportScrollValue(l.scrollX,l.scrollY);this.scrollX=s=l.scrollX,this.scrollY=c=l.scrollY,this.viewportScrollX=u.x,this.viewportScrollY=u.y;let d={viewport:this,scrollX:s,scrollY:c,viewportScrollX:u.x,viewportScrollY:u.y,rawScrollX:e.x,rawScrollY:e.y,limitX:(n=this._scrollBar)==null?void 0:n.limitX,limitY:(r=this._scrollBar)==null?void 0:r.limitY,isTrigger:t};return(i=this._scrollBar)==null||i.makeDirty(!0),this.onScrollAfter$.emitEvent(d),this._emitScrollEnd$(d),this.onScrollByBar$.emitEvent({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:(a=this._scrollBar)==null?void 0:a.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:t}),l}_scrollToViewportPosCore(e,t=!0){var n,r,i,a,o;if(this._scrollBar==null)return;let s=(n=e.viewportScrollX)==null?this.viewportScrollX:n,c=(r=e.viewportScrollY)==null?this.viewportScrollY:r,l=this.transViewportScroll2ScrollValue(s,c),u=this._limitViewportScroll(s,c);s=u.viewportScrollX,c=u.viewportScrollY;let d=this.transViewportScroll2ScrollValue(s,c),f=d.x,p=d.y;this._preScrollX=this.scrollX,this._preScrollY=this.scrollY,this._preViewportScrollX=this.viewportScrollX,this._preViewportScrollY=this.viewportScrollY,this.scrollX=f,this.scrollY=p,this.viewportScrollX=s,this.viewportScrollY=c;let m={isTrigger:t,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:s,viewportScrollY:c,rawScrollX:l.x,rawScrollY:l.y,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(a=this._scrollBar)==null?void 0:a.limitY};return(o=this._scrollBar)==null||o.makeDirty(!0),this.onScrollAfter$.emitEvent(m),this._emitScrollEnd$(m),u}expandBounds(e){return{left:e.left-this.bufferEdgeX-0,right:e.right+this.bufferEdgeX+0,top:e.top-this.bufferEdgeY-0,bottom:e.bottom+this.bufferEdgeY+0}}updatePrevCacheBounds(e){e&&(this.preCacheBound=this.cacheBound=this.expandBounds(e))}_calcCacheUpdate(e,t,n,r){if(!this._cacheCanvas)return 0;if(!t)return 1;let i=e.right>t.right||e.top<t.top||e.left<t.left||e.bottom>t.bottom?1:0,a=this.bufferEdgeX/50,o=this.bufferEdgeY/50;return(t.right-e.right<a||e.left-t.left<a||e.top-t.top<o||t.bottom-e.bottom<o?5:0)|i}_diffViewBound(e,t){return t==null?[e]:od({startRow:e.top,endRow:e.bottom,startColumn:e.left,endColumn:e.right},{startRow:t.top,endRow:t.bottom,startColumn:t.left,endColumn:t.right}).map(e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return{left:r,top:t,right:i,bottom:n}})}_calcDiffCacheBound(e,t){if(!e)return[t];let n=[];t.left<e.left&&n.push({top:t.top,bottom:t.bottom,left:t.left,right:e.left}),t.right>e.right&&n.push({top:t.top,bottom:t.bottom,left:e.right,right:t.right}),t.top<e.top&&n.push({top:t.top,bottom:e.top,left:Math.max(e.left,t.left),right:Math.min(e.right,t.right)}),t.bottom>e.bottom&&n.push({top:e.bottom,bottom:t.bottom,left:Math.max(e.left,t.left),right:Math.min(e.right,t.right)});let r=this.bufferEdgeX,i=this.bufferEdgeY;for(let e of n)e.left-=r,e.right+=r,e.top-=i,e.bottom+=i;return n}_drawScrollbar(e){if(!this._scrollBar)return;let t=this._scene.getParent();(t.classType===W.SCENE_VIEWER||t.classType===W.ENGINE)&&this._scrollBar.render(e)}setViewportSize(e){B.isDefine(e==null?void 0:e.top)&&(this.top=e.top),B.isDefine(e==null?void 0:e.left)&&(this.left=e.left),B.isDefine(e==null?void 0:e.bottom)&&(this.bottom=e.bottom),B.isDefine(e==null?void 0:e.right)&&(this.right=e.right),B.isDefine(e==null?void 0:e.width)&&(this.width=e==null?void 0:e.width,this._widthOrigin=e==null?void 0:e.width),B.isDefine(e==null?void 0:e.height)&&(this.height=e==null?void 0:e.height,this._heightOrigin=e==null?void 0:e.height)}};export{Vr as BASE_OBJECT_ARRAY,di as BG_Z_INDEX,U as BORDER_TYPE,li as BORDER_Z_INDEX,xi as Background,Ur as BaseObject,Si as Border,qn as BreakType,Bl as CHECK_OBJECT_ARRAY,Hl as CIRCLE_OBJECT_ARRAY,ht as COLOR_BLACK_RGB,H as CURSOR_TYPE,Yr as Canvas,Mu as CanvasColorService,Jr as CanvasRenderMode,Vl as CheckboxShape,Ul as Circle,wi as ColumnHeaderLayout,$r as ComponentExtension,Wl as Control,Ei as Custom,Cu as CustomObject,pt as DEFAULT_DOCUMENT_FONTSIZE,ct as DEFAULT_FONTFACE_PLANE,Ar as DEFAULT_FRAME_LIST_SIZE,kr as DEFAULT_FRAME_SAMPLE_SIZE,Wn as DEFAULT_MEASURE_TEXT,ft as DEFAULT_OFFSET_SPACING,Sl as DEFAULT_PADDING_DATA,dt as DEFAULT_SKELETON_FOOTER,ut as DEFAULT_SKELETON_HEADER,mt as DOCUMENT_CONTEXT_CLIP_TYPE,St as DRAWING_OBJECT_LAYER_INDEX,xt as DRAWING_OBJECT_LOWER_LAYER_INDEX,Ct as DRAWING_OBJECT_UPPER_LAYER_INDEX,ql as DashedRect,ga as DataStreamTreeNode,wr as DeviceInputEventType,Er as DeviceType,Su as DocBackground,la as DocSimpleSkeleton,_a as DocumentEditArea,hl as DocumentSkeleton,J as DocumentSkeletonPageType,ba as DocumentViewModel,ou as Documents,ri as DocumentsSpanAndLineExtensionRegistry,Jl as Drawing,Tu as DrawingGroupObject,ju as DumbCanvasColorService,pi as EXPAND_SIZE_FOR_RENDER_OVERFLOW,Fu as Engine,Tr as EventConstants,bt as FIX_ONE_PIXEL_BLUR_OFFSET,ui as FONT_EXTENSION_Z_INDEX,kl as Font,q as FontCache,Yn as GlyphType,wu as Group,Zr as HitCanvas,Au as ICanvasColorService,zr as INITIAL_MATRIX,Dr as INITIAL_Path2,$u as IRenderManagerService,id as IRenderingEngine,cu as IWatermarkTypeEnum,Yl as Image,It as IsSafari,ot as LINK_VIEW_PORT_TYPE,pu as Layer,Jn as LineType,ha as Liquid,Ju as MAIN_VIEW_PORT_KEY,vt as MAXIMUM_COL_WIDTH,_t as MAXIMUM_ROW_HEIGHT,gi as MEASURE_EXTENT,_i as MEASURE_EXTENT_FOR_PARAGRAPH,st as MIDDLE_CELL_POS_MAGIC_NUMBER,yt as MIN_COL_WIDTH,jl as Marker,Fr as NORMAL_TEXT_SELECTION_PLUGIN_STYLE,gt as ORIENTATION_TYPE,Hr as ObjectType,Xl as PATH_OBJECT_ARRAY,fi as PRINTING_BG_Z_INDEX,Xn as PageLayoutType,Zl as Path,Or as Path2,Nr as PerformanceMonitor,X as PointerInput,Gl as RECT_OBJECT_ARRAY,Ql as REGULAR_POLYGON_OBJECT_ARRAY,W as RENDER_CLASS_TYPE,Cl as RENDER_RAW_FORMULA_KEY,eu as RICHTEXT_OBJECT_ARRAY,Kl as Rect,$l as RegularPolygon,Qr as RenderComponent,Qu as RenderManagerService,Xu as RenderUnit,tu as RichText,Pr as RollingAverage,Nl as RowHeaderLayout,da as SHAPE_OBJECT_ARRAY,at as SHAPE_TYPE,yi as SHEET_EXTENSION_PREFIX,vi as SHEET_EXTENSION_TYPE,ci as SHEET_VIEWPORT_KEY,yu as SLIDE_NAVIGATION_KEY,Yu as Scene,Xr as SceneCanvas,vu as SceneViewer,nu as ScrollBar,Uu as ScrollTimer,Vu as ScrollTimerType,fa as Shape,ni as SheetColumnHeaderExtensionRegistry,ii as SheetComponent,bi as SheetExtension,ti as SheetRowHeaderExtensionRegistry,si as ShowGridlinesState,Kn as SkeletonType,xu as Slide,su as Spreadsheet,oi as SpreadsheetColumnHeader,ei as SpreadsheetExtensionRegistry,ai as SpreadsheetHeader,Pl as SpreadsheetRowHeader,wl as SpreadsheetSkeleton,pa as TEXT_OBJECT_ARRAY,Z as TRANSFORM_CHANGE_OBSERVABLE_TYPE,ma as Text,Br as Transform,gu as UNIVER_WATERMARK_LAYER_INDEX,hu as UNIVER_WATERMARK_STORAGE_KEY,qr as UniverPrintingContext,ad as UniverRenderEnginePlugin,Kr as UniverRenderingContext,Gr as UniverRenderingContext2D,Lr as VERTICAL_ROTATE_ANGLE,Y as Vector2,sd as Viewport,mu as WatermarkLayer,mr as calculateRectRotate,At as cancelRequestFrame,jn as checkStyle,zn as clampRange,lr as clearLineByBorderType,Rr as convertTextRotation,Tl as convertTransformToOffsetX,El as convertTransformToOffsetY,jt as createCanvasElement,Mt as createImageElement,Pt as degToRad,cr as drawDiagonalLineByBorderType,ar as drawLineByBorderType,Rn as expandRangeIfIntersects,G as fixLineWidthByScale,Lt as generateRandomKey,En as getCellByIndexWithMergeInfo,wn as getCellPositionByIndex,is as getCharSpaceApply,Dt as getColor,Ir as getCurrentScrollXY,td as getCurrentTypeOfRenderer,vn as getDPI,ir as getDevicePixelRatio,Dl as getDocsSkeletonPageSize,br as getDrawingGroupState,sn as getFirstGrapheme,qt as getFontStyleString,yr as getGroupState,Zo as getLastColumn,Qo as getLastLine,dr as getLineOffset,pr as getLineWidth,fr as getLineWith,rs as getNumberUnitValue,Wr as getOffsetRectForDom,Ms as getPageFromPath,tr as getParagraphByGlyph,Ft as getPointerPrefix,Sr as getRenderTransformBaseOnParentBound,gr as getRotateOffsetAndFarthestHypotenuse,hr as getRotateOrientation,Cr as getRotatedBoundInGroup,Cn as getScale,Nn as getSizeForDom,Bn as getSystemHighlightColor,yo as getTableIdAndSliceIndex,_r as getTranslateInSpreadContextWithPixelRatio,Rt as getValueType,us as glyphIterator,en as hasAllLatin,un as hasArabic,tn as hasBasicLatin,Zt as hasCJK,$t as hasCJKPunctuation,Yt as hasCJKText,rn as hasLatinExtendedA,an as hasLatinExtendedB,nn as hasLatinOneSupplement,Zn as hasListGlyph,fn as hasSpace,dn as hasTibetan,Dn as hasUnMergedCellInRow,Ln as inViewRanges,An as injectStyle,Ht as isArray,hn as isCjkCenterAlignedPunctuation,pn as isCjkLeftAlignedPunctuation,mn as isCjkRightAlignedPunctuation,Bt as isDate,cn as isEmojiGrapheme,er as isFirstGlyph,zt as isFunction,Qn as isIndentByGlyph,$n as isLastGlyph,Wt as isNumber,Gt as isObject,nr as isPlaceholderOrSpace,kn as isRectIntersect,Vt as isRegExp,rr as isSameLine,Ut as isString,ds as lineIterator,On as mergeInfoOffset,ya as parseDataStreamToTree,In as pixelToPt,Kt as precisionTo,xn as ptToMM,Fn as ptToPixel,yn as ptToPx,Sn as pxToInch,Mn as pxToNum,bn as pxToPt,Nt as radToDeg,fu as renderImageWatermark,du as renderTextWatermark,uu as renderUserInfoWatermark,lu as renderWatermark,kt as requestNewFrame,ur as setLineType,mi as sheetContentViewportKeys,hi as sheetHeaderViewportKeys,ln as startWithEmoji,Ot as toPx,xr as transformObjectOutOfGroup,nd as withCurrentTypeOfRenderer};
1
+ import{t as e}from"./en-us-DWhJMag6.js";import{AlignTypeH as t,AlignTypeV as n,BaselineOffset as r,BooleanNumber as i,BorderStyleTypes as a,BulletAlignment as o,COLORS as s,CellValueType as c,ColorKit as l,ColumnSeparatorType as u,CustomDecorationType as d,CustomRangeType as f,DEFAULT_EMPTY_DOCUMENT_VALUE as p,DEFAULT_STYLES as m,DataStreamTreeNodeType as h,DataStreamTreeTokenType as g,Disposable as _,DisposableCollection as v,DocumentDataModel as y,DocumentFlavor as b,EventSubject as x,FontStyleType as S,GridType as C,HorizontalAlign as w,IConfigService as T,IContextService as E,IUniverInstanceService as D,Inject as O,Injector as k,ListGlyphType as A,LocaleService as ee,MOVE_BUFFER_VALUE as j,NAMED_STYLE_MAP as M,NAMED_STYLE_SPACE_MAP as te,NumberUnitType as N,ObjectMatrix as P,ObjectRelativeFromH as F,ObjectRelativeFromV as I,PRESET_LIST_TYPE as ne,PageOrientType as L,Plugin as re,PositionedObjectLayoutType as R,Range as ie,Rectangle as ae,Registry as oe,SectionType as se,SheetSkeleton as ce,Skeleton as le,SpacingRule as ue,TableAlignmentType as de,TableRowHeightRule as fe,TableTextWrapType as pe,TextDecoration as z,ThemeService as me,Tools as B,UniverInstanceType as he,VerticalAlign as ge,VerticalAlignmentType as _e,WrapStrategy as V,WrapTextType as ve,addLinkToDocumentModel as ye,checkParagraphHasIndentByStyle as be,createIdentifier as xe,deleteContent as Se,extractPureTextFromCell as Ce,getCellInfoInMergeData as we,getColorStyle as Te,horizontalLineSegmentsSubtraction as Ee,insertTextToContent as De,invertColorByMatrix as Oe,isClassDependencyItem as ke,isNullCell as Ae,isWhiteColor as je,merge as Me,mergeWith as Ne,numberToABC as Pe,numberToListABC as Fe,registerDependencies as Ie,remove as Le,requestImmediateMacroTask as Re,searchArray as ze,sortRules as Be,sortRulesByDesc as Ve,toDisposable as He}from"@univerjs/core";import*as Ue from"cjk-regex";import{BehaviorSubject as We,Observable as Ge,Subject as Ke,Subscription as qe,debounceTime as Je,distinctUntilChanged as Ye,shareReplay as Xe,startWith as Ze}from"rxjs";import{parse as Qe}from"opentype.js/dist/opentype.module";import{franc as $e}from"franc-min";import{getOverflowAncestors as et}from"@floating-ui/dom";import{floor as tt,max as nt,min as rt}from"@floating-ui/utils";import{getDocumentElement as it}from"@floating-ui/utils/dom";let at=function(e){return e.RECT=`rect`,e.CIRCLE=`circle`,e.PATH=`path`,e}({}),ot=function(e){return e[e.XY=0]=`XY`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e}({});const st=1,ct=`"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif`,lt={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},ut={...lt,marginTop:20},dt={...lt,marginBottom:20},ft=1,pt=14;let H=function(e){return e.DEFAULT=`default`,e.AUTO=`auto`,e.CROSSHAIR=`crosshair`,e.POINTER=`pointer`,e.MOVE=`move`,e.EAST_RESIZE=`e-resize`,e.NORTH_EAST_RESIZE=`ne-resize`,e.NORTH_WEST_RESIZE=`nw-resize`,e.NORTH_RESIZE=`n-resize`,e.SOUTH_EAST_RESIZE=`se-resize`,e.SOUTH_WEST_RESIZE=`sw-resize`,e.SOUTH_RESIZE=`s-resize`,e.WEST_RESIZE=`w-resize`,e.TEXT=`text`,e.WAIT=`wait`,e.HELP=`help`,e.CELL=`cell`,e.NONE=`none`,e.VERTICAL_TEXT=`vertical-text`,e.NO_DROP=`no-drop`,e.GRAB=`grab`,e.GRABBING=`grabbing`,e.ALL_SCROLL=`all-scroll`,e.COLUMN_RESIZE=`col-resize`,e.ROW_RESIZE=`row-resize`,e.PROGRESS=`progress`,e.NOT_ALLOWED=`not-allowed`,e.ZOOM_IN=`zoom-in`,e.ZOOM_OUT=`zoom-out`,e}({}),mt=function(e){return e[e.noClip=0]=`noClip`,e[e.DOC_SIZE=1]=`DOC_SIZE`,e[e.CONTENT_SIZE_LEFT=2]=`CONTENT_SIZE_LEFT`,e[e.CONTENT_SIZE_CENTER=3]=`CONTENT_SIZE_CENTER`,e[e.CONTENT_SIZE_Right=4]=`CONTENT_SIZE_Right`,e}({});const ht=`rgb(0,0,0)`;let U=function(e){return e.TOP=`t`,e.BOTTOM=`b`,e.LEFT=`l`,e.RIGHT=`r`,e.TL_BR=`tl_br`,e.TL_BC=`tl_bc`,e.TL_MR=`tl_mr`,e.BL_TR=`bl_tr`,e.ML_TR=`ml_tr`,e.BC_TR=`bc_tr`,e}({}),gt=function(e){return e[e.UP=0]=`UP`,e[e.DOWN=1]=`DOWN`,e}({}),W=function(e){return e.ENGINE=`Engine`,e.SCENE=`Scene`,e.BASE_OBJECT=`BaseObject`,e.SCENE_VIEWER=`SceneViewer`,e.CANVAS=`Canvas`,e.VIEWPORT=`Viewport`,e.LAYER=`Layer`,e.GROUP=`Group`,e.IMAGE=`Image`,e.SHAPE=`Shape`,e.TEXT=`Text`,e}({});const _t=2e3,vt=2e3,yt=2,bt=.5,xt=3,St=4,Ct=5,wt=Math.PI/180,Tt=180/Math.PI,Et=`rgb(`,Dt=(e,t)=>e?t==null?`${Et+e.join(`,`)})`:`${`rgba(`+e.join(`,`)},${t})`:`${Et}0,0,0)`,Ot=(e,t)=>B.isNumber(e)?e:t&&e&&B.isString(e)&&e.substr(e.length-1,1)===`%`?Number.parseFloat(e)/100*t:0,kt=(e,t)=>(t||(t=window),t.requestPostAnimationFrame?t.requestPostAnimationFrame(e):t.requestAnimationFrame?t.requestAnimationFrame(e):t.msRequestAnimationFrame?t.msRequestAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(e):t.mozRequestAnimationFrame?t.mozRequestAnimationFrame(e):t.oRequestAnimationFrame?t.oRequestAnimationFrame(e):setTimeout(e,16)),At=(e,t)=>(t||(t=window),t.requestPostAnimationFrame?t.cancelPostAnimationFrame(e):t.requestAnimationFrame?t.cancelAnimationFrame(e):t.msRequestAnimationFrame?t.msCancelAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitCancelAnimationFrame(e):t.mozRequestAnimationFrame?t.mozCancelAnimationFrame(e):t.oRequestAnimationFrame?t.oCancelAnimationFrame(e):clearTimeout(e)),jt=()=>{let e=document.createElement(`canvas`);try{e.style=e.style||{}}catch(e){console.error(e)}return e},Mt=()=>document.createElement(`img`),Nt=e=>e*Tt,Pt=e=>e*wt,Ft=()=>{let e=`pointer`;return typeof window<`u`&&!window.PointerEvent&&typeof navigator<`u`&&(e=`mouse`),B.isTablet()&&!B.isIPhone()&&!(document&&`ontouchend`in document)&&(e=`mouse`),e},It=()=>B.getBrowserType()===`safari`,Lt=(e=`obj`,t=4)=>{let n=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,``).split(``),r=``;for(let e=0;e<t;e++)r+=n[Math.round(Math.random()*(n.length-1))];let i=new Date().getTime();return`${e}_${r}_${i}`};function Rt(e){return Object.prototype.toString.apply(e)}function zt(e){return Rt(e)===`[object Function]`}function Bt(e){return Rt(e)===`[object Date]`}function Vt(e){return Rt(e)===`[object RegExp]`}function Ht(e){return Rt(e)===`[object Array]`}function Ut(e){return Rt(e)===`[object String]`}function Wt(e){return Rt(e)===`[object Number]`}function Gt(e){return Rt(e)===`[object Object]`}function Kt(e,t){return t=10**t,Math.round(e*t)/t}function G(e,t){return Math.round(e*t)/t}function qt(e){let t=m.ff,n=m.fs;if(!e){let e=`${n}pt ${t}`;return{fontCache:e,fontString:e,fontSize:n,originFontSize:n,fontFamily:t}}let i=S.ITALIC;(e.it===0||e.it===void 0)&&(i=S.NORMAL);let a=S.BOLD;(e.bl===0||e.bl===void 0)&&(a=S.NORMAL);let o=n;e.fs&&(o=Math.ceil(e.fs));let s=o,c=t;if(e.ff){let n=e.ff;n=n.replace(/"/g,``).replace(/'/g,``),n.indexOf(` `)>-1&&(n=`"${n}"`),n==null&&(n=t),c=n}let{va:l}=e;if(l===r.SUBSCRIPT||l===r.SUPERSCRIPT){let{sbr:e,spr:t}=q.getBaselineOffsetInfo(c,s);s*=l===r.SUBSCRIPT?e:t}let u=`${i} ${a} ${s}pt ${c}`;return{fontCache:u,fontString:`${u}, ${ct} `,fontSize:s,originFontSize:o,fontFamily:c}}const Jt=Ue.letters().toRegExp();function Yt(e){return Jt.test(e)}const Xt=Ue.all().toRegExp();function Zt(e){return Xt.test(e)}const Qt=Ue.punctuations().toRegExp();function $t(e){return Qt.test(e)}function en(e){return!!/[\u0000-\u024F]/gi.exec(e)}function tn(e){return!!/[\u0000-\u007F]/gi.exec(e)}function nn(e){return!!/[\u0080-\u00FF]/gi.exec(e)}function rn(e){return!!/[\u0100-\u017F]/gi.exec(e)}function an(e){return!!/[\u0180-\u024F]/gi.exec(e)}const on=new Intl.Segmenter(void 0,{granularity:`grapheme`});function sn(e){var t,n;return(t=(n=on.segment(e)[Symbol.iterator]().next().value)==null?void 0:n.segment)==null?null:t}function cn(e){return!!(/\p{Extended_Pictographic}/u.test(e)||/^\p{Regional_Indicator}{2}$/u.test(e)||/^[0-9#*]\uFE0F?\u20E3$/u.test(e))}function ln(e){let t=sn(e);return t?cn(t):!1}function un(e){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(e)}function dn(e){return/[\u0180-\u024F]/gi.test(e)}function fn(e){return/\s+/g.test(e)}function pn(e){return[`”`,`’`,`,`,`。`,`.`,`、`,`:`,`;`,`?`,`!`,`》`,`)`,`』`,`」`,`】`,`〗`,`〕`,`〉`,`]`,`}`].indexOf(e)>-1}function mn(e){return[`“`,`‘`,`《`,`(`,`『`,`「`,`【`,`〖`,`〔`,`〈`,`[`,`{`].indexOf(e)>-1}function hn(e){return[`・`,`·`].indexOf(e)>-1}const gn=1e3;let _n;function vn(){if(_n)return _n;let e=56;for(;e<gn*2;e++)if(matchMedia(`(max-resolution: ${e}dpi)`).matches===!0)return e;return _n=e,setTimeout(()=>{_n=null},gn),e}function yn(e){return e/(72/vn())}function bn(e){return e*(72/vn())}function xn(e){return e*(vn()/25.4)}function Sn(e){return e*vn()}function Cn(e){let{scaleX:t=1,scaleY:n=1}=e;return Math.max(t,n)}function wn(e,t,n,r){let i=e-1,a=t-1,o=n[i]||0,s=n[e];s==null&&(s=n[n.length-1]);let c=r[a]||0,l=r[t];return l==null&&(l=r[r.length-1]),{startY:o,endY:s,startX:c,endX:l}}function Tn(e,t,n,r,i){e=B.clamp(e,0,n.length-1),t=B.clamp(t,0,r.length-1);let{startY:a,endY:o,startX:s,endX:c}=wn(e,t,n,r),{isMerged:l,isMergedMainCell:u,startRow:d,startColumn:f,endRow:p,endColumn:m}=i,h={startRow:d,startColumn:f,endRow:p,endColumn:m,startY:0,endY:0,startX:0,endX:0},g=n.length-1,_=r.length-1;if(l&&d!==-1&&f!==-1){let e=n[d-1]||0,t=n[p]||n[g],i=r[f-1]||0,a=r[m]||r[_];h={...h,startY:e,endY:t,startX:i,endX:a}}else if(!l&&p!==-1&&m!==-1){let e=n[p]||n[g],t=r[m]||r[_];h={...h,startY:a,endY:e,startX:s,endX:t}}return{isMerged:l,isMergedMainCell:u,actualRow:e,actualColumn:t,startY:a,endY:o,startX:s,endX:c,mergeInfo:h}}const En=Tn;function Dn(e,t,n,r){let i=!1;for(let a=t;a<=n;a++){let{isMerged:t,isMergedMainCell:n}=we(e,a,r);if(!t&&!n){i=!0;break}}return i}function On(e,t,n){return{...e,startY:e.startY+n,endY:e.endY+n,startX:e.startX+t,endX:e.endX+t}}function kn(e,t){return!(e.left>t.right||e.top>t.bottom||t.left>e.right||t.top>e.bottom)}function An(e){let t=document.createElement(`style`);document.head.appendChild(t);let n=t.sheet;for(let t of e)n==null||n.insertRule(t,n.cssRules.length)}function jn(e){for(let t=0,n=document.head.childNodes.length;t<n;t++){let n=document.head.childNodes[t];if(n.nodeName===`STYLE`&&n.textContent&&n.textContent.indexOf(e)>-1)return!0}return!1}function Mn(e){return Number(e.replace(/px/gi,``))}function Nn(e){let{borderTopWidth:t,borderLeftWidth:n,borderRightWidth:r,borderBottomWidth:i,width:a,height:o}=getComputedStyle(e);return{top:Mn(t),left:Mn(n),right:Mn(r),bottom:Mn(i),width:Mn(a),height:Mn(o)}}const Pn=.75;function Fn(e){return e/Pn}function In(e){return e*Pn}function Ln(e,t,n){for(let r of e)if(t>=r.startRow&&t<=r.endRow&&n>=r.startColumn&&n<=r.endColumn)return!0;return!1}function Rn(e,t){let n=[];for(let r of e)for(let e of t)ae.simpleRangesIntersect(r,e)&&n.push(e);return e.concat(n)}function zn(e,t,n){return{startRow:B.clamp(e.startRow,0,t),endRow:B.clamp(e.endRow,0,t),startColumn:B.clamp(e.startColumn,0,n),endColumn:B.clamp(e.endColumn,0,n)}}function Bn(){let e=document.createElement(`div`);e.style.width=`0`,e.style.height=`0`,e.style.backgroundColor=`highlight`,document.body.append(e);let t=getComputedStyle(e).backgroundColor;return e.remove(),new l(t).toRgb()}function Vn(e){"@babel/helpers - typeof";return Vn=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Vn(e)}function Hn(e,t){if(Vn(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Vn(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Un(e){var t=Hn(e,`string`);return Vn(t)==`symbol`?t:t+``}function K(e,t,n){return(t=Un(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const Wn=`0`,Gn=e=>({sbr:.6,sbo:e,spr:.6,spo:e});var q=class{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(e,t,n){this._globalFontMeasureCache.has(e)||this._globalFontMeasureCache.set(e,new Map);let r=this._globalFontMeasureCache.get(e);r&&r.set(t,n)}static clearFontMeasureCache(e){let t=e.split(`/`);if(t.length===1){let e=t[0];this._globalFontMeasureCache.delete(e)}else if(t.length===2){var n;let e=t[0],r=t[1];(n=this._globalFontMeasureCache.get(e))==null||n.delete(r)}else return!1;return!0}static getFontMeasureCache(e,t){var n;return(n=this._globalFontMeasureCache.get(e))==null?void 0:n.get(t)}static autoCleanFontMeasureCache(e=1e6){let t=0,n=!1,r=0;for(let i of this._globalFontMeasureCache){let[,a]=i;if(t+=a.size,t>e){n=!0;break}r++}if(n){let t=0;for(let n of this._globalFontMeasureCache){let[r,i]=n;if(t+=i.size,t>e/2){let n=t-e/2;this._clearMeasureCache(n,i);break}this._globalFontMeasureCache.delete(r)}return!0}return!1}static getBaselineOffsetInfo(e,t){if(this._fontDataMap.size===0)return Gn(t);let n=e.split(`,`);for(let e of n){e=e.replace(/'/g,``);let n=this._fontDataMap.get(e);if(!n)continue;let{subscriptSizeRatio:r,subscriptOffset:i,superscriptSizeRatio:a,superscriptOffset:o}=n;return{sbr:r,sbo:i*t,spr:a,spo:o*t}}return Gn(t)}static getTextSizeByDom(e,t){if(t in this._getTextHeightCache)return this._getTextHeightCache[t];let n=document.getElementById(`universheetTextSizeTest`);n||(n=document.createElement(`span`),n.id=`universheetTextSizeTest`,document.getElementsByTagName(`body`)[0].appendChild(n)),n.style.cssText+=`float:left;white-space:nowrap;visibility:hidden;margin:0;padding:0;;${t}`,n.textContent=e;let r=n.getBoundingClientRect(),i={width:r.width,height:r.height};return this._getTextHeightCache[t]=i,i}static getTextSize(e,t){let{fontString:n,fontSize:r,fontFamily:i}=t,a=this._getBoundingBoxByFont(i,r);if(!a){let r=this.getMeasureText(e,n);a=this._calculateBoundingBoxByMeasureText(r,t)}return a}static getBBoxFromGlyphInfo(e,t){var n;let r=e.glyph,i=e.font,{y1:a,y2:o}=e.boundingBox,s=Fn(t.fontSize)/i.unitsPerEm,{ascender:c,descender:l}=i;return this._calculateBoundingBoxByMeasureText({width:((n=r.advanceWidth)==null?0:n)*s,fontBoundingBoxAscent:c*s,fontBoundingBoxDescent:Math.abs(l*s),actualBoundingBoxAscent:o*s,actualBoundingBoxDescent:Math.abs(a*s)},t)}static getMeasureText(e,t){if(this._context||(this._context=document.createElement(`canvas`).getContext(`2d`)),!this._context)return{width:0,fontBoundingBoxAscent:0,fontBoundingBoxDescent:0,actualBoundingBoxAscent:0,actualBoundingBoxDescent:0};let n=this._context,r=this.getFontMeasureCache(t,e);if(r!=null)return r;n.font=t;let{width:i,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:s,actualBoundingBoxDescent:c}=n.measureText(e),l={width:i,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:s,actualBoundingBoxDescent:c};if(a==null||o==null||Number.isNaN(a)||Number.isNaN(o)){let e=this.getTextSizeByDom(`0`,t).height;n.textBaseline===`top`?(l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e,l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=0):n.textBaseline===`middle`?(l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=e/2,l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e/2):(l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=0,l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e)}return this.setFontMeasureCache(t,e,l),l}static _clearMeasureCache(e,t){let n=0;for(let r of t){let[i]=r;if(n>e)break;t.delete(i),n++}return!0}static _getBoundingBoxByFont(e,t=28,n=``){let r=this._fontDataMap.get(e);if(!r)return;let{notDefWidth:i,ascender:a,descender:o,typoAscender:s,typoDescender:c,strikeoutPosition:l,subscriptSizeRatio:u,subscriptOffset:d,superscriptSizeRatio:f,superscriptOffset:p,hdmxData:m,glyphHorizonMap:h}=r,g=m==null?void 0:m.indexOf(Math.floor(t)),_=h.get(n.charCodeAt(0)),v=i;if(_){let{width:e,pixelsPerEm:t=[]}=_;v=g?t[g]:e}return{width:v*t,ba:a*t,bd:o*t,aba:s*t,abd:c*t,sp:l*t,sbr:u,sbo:d*t,spr:f,spo:p*t}}static _calculateBoundingBoxByMeasureText(e,t){let{width:n,fontBoundingBoxAscent:r,fontBoundingBoxDescent:i,actualBoundingBoxAscent:a,actualBoundingBoxDescent:o}=e,{fontSize:s,originFontSize:c}=t,l=c/s,u=r*l,d=i*l;return{width:n,ba:u,bd:d,aba:a,abd:o,sp:(r+i)/2,sbr:.6,spr:.6,sbo:(u+d)*.141,spo:(u+d)*.4}}};K(q,`_getTextHeightCache`,{}),K(q,`_context`,void 0),K(q,`_fontDataMap`,new Map),K(q,`_globalFontMeasureCache`,new Map);let J=function(e){return e[e.BODY=0]=`BODY`,e[e.HEADER=1]=`HEADER`,e[e.FOOTER=2]=`FOOTER`,e[e.CELL=3]=`CELL`,e}({}),Kn=function(e){return e[e.GLYPH=0]=`GLYPH`,e[e.DIVIDE=1]=`DIVIDE`,e[e.LINE=2]=`LINE`,e[e.COLUMN=3]=`COLUMN`,e[e.SECTION=4]=`SECTION`,e[e.PAGE=5]=`PAGE`,e[e.DRAWING=6]=`DRAWING`,e[e.BULLET=7]=`BULLET`,e[e.HEADER=8]=`HEADER`,e[e.FOOTER=9]=`FOOTER`,e[e.ALL=10]=`ALL`,e}({}),qn=function(e){return e[e.SECTION=0]=`SECTION`,e[e.PAGE=1]=`PAGE`,e[e.COLUMN=2]=`COLUMN`,e}({}),Jn=function(e){return e[e.PARAGRAPH=0]=`PARAGRAPH`,e[e.BLOCK=1]=`BLOCK`,e}({}),Yn=function(e){return e[e.LETTER=0]=`LETTER`,e[e.WORD=1]=`WORD`,e[e.LIST=2]=`LIST`,e[e.PLACEHOLDER=3]=`PLACEHOLDER`,e[e.TAB=4]=`TAB`,e[e.IMAGE=5]=`IMAGE`,e[e.AT=6]=`AT`,e[e.MATH=7]=`MATH`,e[e.MULTI_LINE=8]=`MULTI_LINE`,e[e.CUSTOM=9]=`CUSTOM`,e}({}),Xn=function(e){return e[e.VERTICAL=0]=`VERTICAL`,e[e.HORIZONTAL=1]=`HORIZONTAL`,e[e.AUTO=2]=`AUTO`,e}({});function Zn(e){var t;let n=e==null?void 0:e.parent;return n==null?!1:((t=n.glyphGroup[0])==null?void 0:t.glyphType)===Yn.LIST}function Qn(e,t){let n=tr(e,t);if(n==null)return!1;let{paragraphStyle:r}=n;return r==null?!1:be(r)}function $n(e){let t=e==null?void 0:e.parent,n=t==null?void 0:t.parent,r=t==null?void 0:t.glyphGroup,i=n==null?void 0:n.divides;if(r&&e&&i&&t){let n=r.indexOf(e);if(i.indexOf(t)===i.length-1&&n===r.length-1)return!0}return!1}function er(e){let t=e==null?void 0:e.parent,n=t==null?void 0:t.parent,r=t==null?void 0:t.glyphGroup,i=n==null?void 0:n.divides;if(r&&e&&i&&t){let n=r.indexOf(e),a=i.indexOf(t);if(a===0&&n===0||a===0&&n===1&&r[0].glyphType===Yn.LIST)return!0}return!1}function tr(e,t){var n;let r=e==null||(n=e.parent)==null?void 0:n.parent;if(r==null||t==null)return;let i=t.paragraphs;if(i!=null)for(let e=0;e<i.length;e++){let t=i[e],n=i[e-1];if(t.startIndex===r.paragraphIndex){var a;return{...t,paragraphStart:((a=n==null?void 0:n.startIndex)==null?-1:a)+1,paragraphEnd:t.startIndex}}}}function nr(e){return e==null?!1:[g.PARAGRAPH,g.TAB,g.SECTION_BREAK].indexOf(e.streamType)!==-1||e.content===g.SPACE}function rr(e,t){return e==null||t==null||e.parent==null||t.parent==null?!1:e.parent.parent===t.parent.parent}var Y=class e{constructor(e=0,t=0){this.x=e,this.y=t}static Zero(){return new e(0,0)}static One(){return new e(1,1)}static FromArray(t,n=0){return new e(t[n],t[n+1])}static FromArrayToRef(e,t,n){n.x=e[t],n.y=e[t+1]}static CatmullRom(t,n,r,i,a){let o=a*a,s=a*o;return new e(.5*(2*n.x+(-t.x+r.x)*a+(2*t.x-5*n.x+4*r.x-i.x)*o+(-t.x+3*n.x-3*r.x+i.x)*s),.5*(2*n.y+(-t.y+r.y)*a+(2*t.y-5*n.y+4*r.y-i.y)*o+(-t.y+3*n.y-3*r.y+i.y)*s))}static Clamp(t,n,r){let i=t.x;i=i>r.x?r.x:i,i=i<n.x?n.x:i;let a=t.y;return a=a>r.y?r.y:a,a=a<n.y?n.y:a,new e(i,a)}static Hermite(t,n,r,i,a){let o=a*a,s=a*o,c=2*s-3*o+1,l=-2*s+3*o,u=s-2*o+a,d=s-o;return new e(t.x*c+r.x*l+n.x*u+i.x*d,t.y*c+r.y*l+n.y*u+i.y*d)}static Hermite1stDerivative(t,n,r,i,a){let o=e.Zero();return this.Hermite1stDerivativeToRef(t,n,r,i,a,o),o}static Hermite1stDerivativeToRef(e,t,n,r,i,a){let o=i*i;a.x=(o-i)*6*e.x+(3*o-4*i+1)*t.x+(-o+i)*6*n.x+(3*o-2*i)*r.x,a.y=(o-i)*6*e.y+(3*o-4*i+1)*t.y+(-o+i)*6*n.y+(3*o-2*i)*r.y}static Lerp(t,n,r){return new e(t.x+(n.x-t.x)*r,t.y+(n.y-t.y)*r)}static Dot(e,t){return e.x*t.x+e.y*t.y}static Normalize(t){let n=e.Zero();return this.NormalizeToRef(t,n),n}static NormalizeToRef(e,t){let n=e.length();n!==0&&(t.x=e.x/n,t.y=e.y/n)}static Minimize(t,n){return new e(t.x<n.x?t.x:n.x,t.y<n.y?t.y:n.y)}static Maximize(t,n){return new e(t.x>n.x?t.x:n.x,t.y>n.y?t.y:n.y)}static PointInTriangle(e,t,n,r){let i=1/2*(-n.y*r.x+t.y*(-n.x+r.x)+t.x*(n.y-r.y)+n.x*r.y),a=i<0?-1:1,o=(t.y*r.x-t.x*r.y+(r.y-t.y)*e.x+(t.x-r.x)*e.y)*a,s=(t.x*n.y-t.y*n.x+(t.y-n.y)*e.x+(n.x-t.x)*e.y)*a;return o>0&&s>0&&o+s<2*i*a}static Distance(t,n){return Math.sqrt(e.DistanceSquared(t,n))}static DistanceSquared(e,t){let n=e.x-t.x,r=e.y-t.y;return n*n+r*r}static Center(t,n){return e.CenterToRef(t,n,e.Zero())}static CenterToRef(e,t,n){return n.copyFromFloats((e.x+t.x)/2,(e.y+t.y)/2)}static DistanceOfPointFromSegment(t,n,r){let i=e.DistanceSquared(n,r);if(i===0)return e.Distance(t,n);let a=r.subtract(n),o=Math.max(0,Math.min(1,e.Dot(t.subtract(n),a)/i)),s=n.add(a.multiplyByFloats(o,o));return e.Distance(t,s)}static create(t,n){return new e(t,n)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return`Vector2`}getHashCode(){let e=this.x|0;return e=e*397^(this.y|0),e}toArray(e,t=0){return e[t]=this.x,e[t+1]=this.y,this}fromArray(t,n=0){return e.FromArrayToRef(t,n,this),this}asArray(){let e=[];return this.toArray(e,0),e}copyFrom(e){return this.x=e.x,this.y=e.y,this}copyFromFloats(e,t){return this.x=e,this.y=t,this}set(e,t){return this.copyFromFloats(e,t)}add(t){return new e(this.x+t.x,this.y+t.y)}addToRef(e,t){return t.x=this.x+e.x,t.y=this.y+e.y,this}addByPoint(t,n){return new e(this.x+t,this.y+n)}addInPlace(e){return this.x+=e.x,this.y+=e.y,this}subtract(t){return new e(this.x-t.x,this.y-t.y)}subtractByPoint(t,n){return new e(this.x-t,this.y-n)}subtractToRef(e,t){return t.x=this.x-e.x,t.y=this.y-e.y,this}subtractInPlace(e){return this.x-=e.x,this.y-=e.y,this}multiplyInPlace(e){return this.x*=e.x,this.y*=e.y,this}multiply(t){return new e(this.x*t.x,this.y*t.y)}multiplyToRef(e,t){return t.x=this.x*e.x,t.y=this.y*e.y,this}multiplyByFloats(t,n){return new e(this.x*t,this.y*n)}divide(t){return new e(this.x/t.x,this.y/t.y)}divideToRef(e,t){return t.x=this.x/e.x,t.y=this.y/e.y,this}divideInPlace(e){return this.divideToRef(e,this)}negate(){return new e(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(e){return e.copyFromFloats(this.x*-1,this.y*-1)}scaleInPlace(e){return this.x*=e,this.y*=e,this}scale(t){let n=new e(0,0);return this.scaleToRef(t,n),n}scaleToRef(e,t){return t.x=this.x*e,t.y=this.y*e,this}scaleAndAddToRef(e,t){return t.x+=this.x*e,t.y+=this.y*e,this}equals(e){return e&&this.x===e.x&&this.y===e.y}floor(){return new e(Math.floor(this.x),Math.floor(this.y))}fract(){return new e(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(e){let t=Math.cos(e),n=Math.sin(e),r=t*this.x-n*this.y,i=n*this.x+t*this.y;return this.x=r,this.y=i,this}rotateToRef(e,t){let n=Math.cos(e),r=Math.sin(e);return t.x=n*this.x-r*this.y,t.y=r*this.x+n*this.y,this}rotateByPoint(t,n=e.create(0,0)){let r=Math.cos(t),i=Math.sin(t),a=n.x+(this.x-n.x)*r-(this.y-n.y)*i,o=n.y+(this.x-n.x)*i+(this.y-n.y)*r;return this.x=a,this.y=o,this}transformCoordinateOnRotate(e){let t=Math.sqrt(this.x**2+this.y**2),n=Math.atan2(this.y,this.x),r=-e+n;return this.x=t*Math.cos(r),this.y=t*Math.sin(r),this}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSquared(){return this.x*this.x+this.y*this.y}normalize(){return e.NormalizeToRef(this,this),this}clone(){return new e(this.x,this.y)}};function ir(){let e=1,t=jt().getContext(`2d`);return e=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),e<1?1:e}function ar(e,t,n,r){let i=0,a=0,o=0,s=0,{startX:c,startY:l,endX:u,endY:d}=r;t===U.TOP?(i=c-n,a=l,o=u+n,s=l):t===U.BOTTOM?(i=c-n,a=d,o=u-n,s=d):t===U.LEFT?(i=c,a=l-n,o=c,s=d+n):t===U.RIGHT&&(i=u,a=l-n,o=u,s=d+n),e.beginPath(),e.moveToByPrecision(i,a),e.lineToByPrecision(o,s),e.stroke(),e.closePathByEnv()}function or(e,t,n){let r=0,i=0,a=0,o=0,{startX:s,startY:c,endX:l,endY:u}=n;switch(t){case U.TL_BR:r=s,i=c,a=l,o=u;break;case U.TL_BC:r=s,i=c,a=(s+l)/2,o=u;break;case U.TL_MR:r=s,i=c,a=l,o=(c+u)/2;break;case U.BL_TR:r=s,i=u,a=l,o=c;break;case U.ML_TR:r=s,i=(c+u)/2,a=l,o=c;break;case U.BC_TR:r=(s+l)/2,i=u,a=l,o=c;break}e.beginPath(),e.moveToByPrecision(r,i),e.lineToByPrecision(a,o),e.closePathByEnv(),e.stroke()}function sr(e,t,n){let r=0,i=0,a=0,o=0,s=0,c=0,l=0,u=0,{startX:d,startY:f,endX:p,endY:m}=n;switch(t){case U.TL_BR:r=d,i=f+1.5,a=p-1.5,o=m,s=d+1.5,c=f,l=p,u=m-1.5;break;case U.BL_TR:r=d,i=m-1.5,a=p-1.5,o=f,s=d+1.5,c=m,l=p,u=f+1.5;break}e.beginPath(),e.moveToByPrecision(r,i),e.lineToByPrecision(a,o),e.closePathByEnv(),e.stroke(),e.beginPath(),e.moveToByPrecision(s,c),e.lineToByPrecision(l,u),e.closePathByEnv(),e.stroke()}function cr(e,t,n,r){t===a.DOUBLE&&(n===U.TL_BR||n===U.BL_TR)?sr(e,n,r):or(e,n,r)}function lr(e,t,n){let r=0,i=0,a=0,o=0,{startX:s,startY:c,endX:l,endY:u}=n;switch(t){case U.TOP:r=s,i=c,a=l,o=c;break;case U.BOTTOM:r=s,i=u,a=l,o=u;break;case U.LEFT:r=s,i=c,a=s,o=u;break;case U.RIGHT:r=l,i=c,a=l,o=u;break}e.beginPath(),e.clearRectForTexture(r,i,a-r,o-i)}function ur(e,t){t===a.HAIR?e.setLineDash([1,1]):t===a.DASH_DOT_DOT||t===a.MEDIUM_DASH_DOT_DOT?e.setLineDash([2,2,5,2,2]):t===a.DASH_DOT||t===a.MEDIUM_DASH_DOT||t===a.SLANT_DASH_DOT?e.setLineDash([2,5,2]):t===a.DOTTED?e.setLineDash([2]):t===a.DASHED||t===a.MEDIUM_DASHED?e.setLineDash([3]):e.setLineDash([0])}function dr(){let e=fr(1);return e-Math.floor(e)}function fr(e){return Math.ceil(e/ir()*100)/100}function pr(e){let t=1;return e===a.MEDIUM||e===a.MEDIUM_DASH_DOT||e===a.MEDIUM_DASHED||e===a.MEDIUM_DASH_DOT_DOT?t=2:e===a.THICK&&(t=3),t}function mr(e,t,n,r,i=Y.create(0,0)){let a=e.add(t).rotateByPoint(r),o=a.subtract(t),s=r-n;return o.rotateByPoint(s,a).add(i).transformCoordinateOnRotate(s)}function hr(e){return e>0?gt.DOWN:gt.UP}function gr(e,t,n){let r=[],i=0,a=0,o=0,s=0,c=0,l=hr(n),u=e.length;n=Math.abs(n);let d=Math.tan(n),f=Math.sin(n),p=Math.cos(n);if(l===gt.UP){let n=0;for(let i=0;i<u;i++){let{lineHeight:s=0}=e[i];n+=i===0?0:s;let l=t*f+s*p;r.push(n/d),l>a&&(a=l),i===0&&(o+=s*f,c+=s*p)}o+=n/f+t*p,c-=a}else{var m;let n=0,c=-1,l=[];for(let r=u-1;r>=0;r--){let{lineHeight:i=0}=e[r],s=i/d,m=(t+s)*f;l.unshift(i/d),m>a&&(a=m,n=s,c=r),r===0?o+=i*f:r===u-1?o+=t*p+i/f:o+=i/f}let h=((m=e[c])==null?void 0:m.lineHeight)||0,g=0;for(let t=c+1;t<=u-1;t++){let{lineHeight:n=0}=e[t];h+=n,g+=l[t]||0,r[t]=-g}g=0;for(let t=c-1;t>=0;t--){let{lineHeight:n=0}=e[t];g+=l[t+1]||0,r[t]=g,i+=n}r[c]=0,u===1&&(o+=t*p),s=h/f-n*p}return{rotateTranslateXList:r,rotatedHeight:a,rotatedWidth:o,fixOffsetX:s,fixOffsetY:c,rotateTranslateY:i}}function _r(){let e=.5-dr();return{left:e,top:e}}function vr(e,t,n,r){let i=Pt(t),a=n.clone().rotateByPoint(i,e),o=r.clone().rotateByPoint(i,e),s=a.clone();return s.rotateByPoint(Pt(-t),o),s}function yr(e,t,n){let r=2**53-1,i=2**53-1,a=-(2**53-1),o=-(2**53-1);n.forEach(e=>{let{left:t=0,top:n=0,width:s=0,height:c=0}=e;r=Math.min(r,t),i=Math.min(i,n),a=Math.max(a,t+s),o=Math.max(o,n+c)});let s=a-r,c=o-i;return{left:r+e,top:i+t,width:s,height:c,angle:0,scaleX:1,scaleY:1}}function br(e,t,n){let r=2**53-1,i=2**53-1,a=-(2**53-1),o=-(2**53-1);n.forEach(e=>{let{left:t=0,top:n=0,width:s=0,height:c=0}=e;r=Math.min(r,t),i=Math.min(i,n),a=Math.max(a,t+s),o=Math.max(o,n+c)});let s=a-r,c=o-i;return{left:r,top:i,width:s,height:c,angle:0,scaleX:1,scaleY:1}}function xr(e,t,n,r,i){let{left:a=0,top:o=0,width:s=0,height:c=0,angle:l=0}=e,{left:u=0,top:d=0,angle:f=0,flipX:p=!1,flipY:m=!1}=t,h=a,g=o,_=s,v=c;if(i&&i.width>0&&i.height>0){let e=Sr(i,{left:u,top:d,width:n,height:r},{left:a,top:o,width:s,height:c});h=e.left,g=e.top,_=e.width,v=e.height}let y=u+n/2,b=d+r/2,x=e.flipX||!1,S=e.flipY||!1,C=h,w=g;if(p){let e=C+_/2;C=2*y-e-_/2,x=!x}if(m){let e=w+v/2;w=2*b-e-v/2,S=!S}let T=C+_/2,E=w+v/2,D=vr(new Y(y,b),f,new Y(C,w),new Y(T,E));return{left:D.x,top:D.y,width:_,height:v,angle:f+l,flipX:x,flipY:S}}function Sr(e,t,n){if(!e)return{left:n.left,top:n.top,width:n.width,height:n.height};let{left:r,top:i,width:a,height:o}=e,{left:s,top:c,width:l,height:u}=t;return{left:s+(n.left-r)/a*l,top:c+(n.top-i)/o*u,width:n.width/a*l,height:n.height/o*u}}function Cr(e,t){let n=(t%360+360)%360,r=e.left+e.width/2,i=e.top+e.height/2,a=n>=315||n<45||n>=135&&n<225,o,s;return a?(o=e.width,s=e.height):(o=e.height,s=e.width),{left:r-o/2,top:i-s/2,width:o,height:s}}let wr=function(e){return e[e.PointerMove=0]=`PointerMove`,e[e.PointerDown=1]=`PointerDown`,e[e.PointerUp=2]=`PointerUp`,e[e.Dblclick=3]=`Dblclick`,e[e.Keyboard=4]=`Keyboard`,e}({});var Tr=class{};K(Tr,`DOM_DELTA_PIXEL`,0),K(Tr,`DOM_DELTA_LINE`,1),K(Tr,`DOM_DELTA_PAGE`,2);let Er=function(e){return e[e.Generic=0]=`Generic`,e[e.Keyboard=1]=`Keyboard`,e[e.Mouse=2]=`Mouse`,e[e.Touch=3]=`Touch`,e}({}),X=function(e){return e[e.Horizontal=0]=`Horizontal`,e[e.Vertical=1]=`Vertical`,e[e.LeftClick=2]=`LeftClick`,e[e.MiddleClick=3]=`MiddleClick`,e[e.RightClick=4]=`RightClick`,e[e.BrowserBack=5]=`BrowserBack`,e[e.BrowserForward=6]=`BrowserForward`,e[e.MouseWheelX=7]=`MouseWheelX`,e[e.MouseWheelY=8]=`MouseWheelY`,e[e.MouseWheelZ=9]=`MouseWheelZ`,e[e.DeltaHorizontal=10]=`DeltaHorizontal`,e[e.DeltaVertical=11]=`DeltaVertical`,e[e.FakeMove=12]=`FakeMove`,e}({}),Z=function(e){return e[e.translate=0]=`translate`,e[e.resize=1]=`resize`,e[e.scale=2]=`scale`,e[e.skew=3]=`skew`,e[e.flip=4]=`flip`,e[e.all=5]=`all`,e}({});const Dr=[new Y(0,0),new Y(1,1)];var Or=class{constructor(e=Dr){this._lines=e}intersection(e){if(this._lines.length<1||e.length<1)return;let t=[];for(let n=1;n<this._lines.length;n++){let r=this._lines[n-1],i=this._lines[n];for(let a=1;a<e.length;a++){let e=this._lines[n-1],a=this._lines[n],o=this._intersection({from:r,to:i},{from:e,to:a});o&&t.push(o)}}return t}_intersection(e,t){let n=e.from,r=e.to,i=t.from,a=t.to,o=(n.x-i.x)*(r.y-i.y)-(n.y-i.y)*(r.x-i.x),s=(n.x-a.x)*(r.y-a.y)-(n.y-a.y)*(r.x-a.x);if(o*s>=0)return!1;let c=(i.x-n.x)*(a.y-n.y)-(i.y-n.y)*(a.x-n.x);if(c*(c+o-s)>=0)return!1;let l=c/(s-o),u=l*(r.x-n.x),d=l*(r.y-n.y);return new Y(n.x+u,n.y+d)}};const kr=60,Ar=3600,jr=1e3,Mr=16.67;var Nr=class extends _{constructor(e=60){super(),K(this,`_enabled`,!0),K(this,`_rollingFrameTime`,void 0),K(this,`_lastFrameTimeMs`,void 0),K(this,`_frameCountInLastSecond`,0),K(this,`_lastSecondTimeMs`,void 0),K(this,`_recFPSValueLastSecond`,60),this._rollingFrameTime=new Pr(e)}dispose(){super.dispose()}get averageFrameTime(){return this._rollingFrameTime.averageFrameTime}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return this._recFPSValueLastSecond}get instantaneousFPS(){let e=this._rollingFrameTime.history(0);return e===0?0:jr/e}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(e=this.now()){if(this._enabled){if(this._frameCountInLastSecond++,this._lastSecondTimeMs!=null){if(this._lastSecondTimeMs<=e-jr){let t=e-this._lastSecondTimeMs;this._recFPSValueLastSecond=Math.round(this._frameCountInLastSecond/t*jr),this._lastSecondTimeMs=e,this._frameCountInLastSecond=0}}else this._lastSecondTimeMs=e;if(this._lastFrameTimeMs!=null){let t=e-this._lastFrameTimeMs;this._rollingFrameTime.addFrameTime(t),this._rollingFrameTime.calcAverageFrameTime()}}}endFrame(e){this.sampleFrame(e),this._lastFrameTimeMs=e}now(){return performance&&performance.now?performance.now():Date.now()}enable(){this._enabled=!0}disable(){this._enabled=!1,this._lastFrameTimeMs=null}reset(){this._lastFrameTimeMs=null,this._rollingFrameTime.reset()}},Pr=class{constructor(e){K(this,`averageFrameTime`,Mr),K(this,`variance`,0),K(this,`_samples`,[]),K(this,`_sampleCount`,0),K(this,`_pos`,0),K(this,`_m2`,0),this._samples=Array(e),this.reset()}calcAverageFrameTime(){let e=this.history(0),t;if(this.isSaturated()){let e=this._samples[this._pos];t=e-this.averageFrameTime,this._m2-=t*(e-this.averageFrameTime)}else this._sampleCount++;let n=Math.min(...this._samples),r=Math.min(...this._samples),i=this._samples.filter(e=>e!==r&&e!==n);this.averageFrameTime=i.reduce((e,t)=>e+t,0)/i.length,t=e-this.averageFrameTime,this._m2+=t*(e-this.averageFrameTime),this.variance=this._m2/(this._sampleCount-1)}addFrameTime(e){this._samples[this._pos]=e,this._pos=++this._pos%this._samples.length}history(e){if(e>=this._sampleCount||e>=this._samples.length)return 0;let t=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(t-e)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.averageFrameTime=Mr,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(e){let t=this._samples.length;return(e%t+t)%t}};const Fr={strokeWidth:1.5,stroke:`rgba(0, 0, 0, 0)`,strokeActive:`rgba(0, 0, 0, 1)`,fill:`rgba(0, 0, 0, 0.2)`};function Ir(e){let t=e.getScene().findViewportByPosToScene(Y.FromArray([e.offsetX,e.offsetY]));if(!t)return{scrollX:0,scrollY:0};let n=t.transScroll2ViewportScrollValue(t.scrollX,t.scrollY);return{scrollX:n.x,scrollY:n.y}}const Lr=90;function Rr(e){let{a:t=0,v:n=i.FALSE}=e||{a:0,v:i.FALSE},r=0,a=t;return n===i.TRUE&&(r=90,a=90),{centerAngle:r,vertexAngle:a}}const zr=[1,0,0,1,0,0];var Br=class e{constructor(e=zr){K(this,`dirty`,!1),K(this,`_m`,void 0),this._m=e&&e.slice()||zr}static create(e=zr){return new this(e)}reset(){this._m[0]=1,this._m[1]=0,this._m[2]=0,this._m[3]=1,this._m[4]=0,this._m[5]=0}copy(){return new e(this._m)}copyInto(e){e._m[0]=this._m[0],e._m[1]=this._m[1],e._m[2]=this._m[2],e._m[3]=this._m[3],e._m[4]=this._m[4],e._m[5]=this._m[5]}applyPoint(e,t=!1){let n=this._m,r=n[0]*e.x+n[2]*e.y,i=n[1]*e.x+n[3]*e.y;return t?new Y(r,i):new Y(r+n[4],i+n[5])}translate(e,t){return this._m[4]+=this._m[0]*e+this._m[2]*t,this._m[5]+=this._m[1]*e+this._m[3]*t,this}scale(e,t){return this._m[0]*=e,this._m[1]*=e,this._m[2]*=t,this._m[3]*=t,this}rotate(e){let t=Pt(e),n=Math.cos(t),r=Math.sin(t),i=this._m[0]*n+this._m[2]*r,a=this._m[1]*n+this._m[3]*r,o=this._m[0]*-r+this._m[2]*n,s=this._m[1]*-r+this._m[3]*n;return this._m[0]=i,this._m[1]=a,this._m[2]=o,this._m[3]=s,this}getTranslation(){return{x:this._m[4],y:this._m[5]}}skew(e,t){let n=this._m[0]+this._m[2]*t,r=this._m[1]+this._m[3]*t,i=this._m[2]+this._m[0]*e,a=this._m[3]+this._m[1]*e;return this._m[0]=n,this._m[1]=r,this._m[2]=i,this._m[3]=a,this}multiply(e){let t=this._m[0]*e._m[0]+this._m[2]*e._m[1],n=this._m[1]*e._m[0]+this._m[3]*e._m[1],r=this._m[0]*e._m[2]+this._m[2]*e._m[3],i=this._m[1]*e._m[2]+this._m[3]*e._m[3],a=this._m[0]*e._m[4]+this._m[2]*e._m[5]+this._m[4],o=this._m[1]*e._m[4]+this._m[3]*e._m[5]+this._m[5];return this._m[0]=t,this._m[1]=n,this._m[2]=r,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}invert(){let e=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),t=this._m[3]*e,n=-this._m[1]*e,r=-this._m[2]*e,i=this._m[0]*e,a=e*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),o=e*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=t,this._m[1]=n,this._m[2]=r,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}getMatrix(){return this._m}getMatrixByAccurate(e=3){return this._m.map(t=>Kt(t,e))}setAbsolutePosition(e){let t=this._m[0],n=this._m[1],r=this._m[2],i=this._m[3],a=this._m[4],o=this._m[5],s=(t*(e.y-o)-n*(e.x-a))/(t*i-n*r),c=(e.x-a-r*s)/t;return this.translate(c,s)}decompose(){let e=this._m[0],t=this._m[1],n=this._m[2],r=this._m[3],i=this._m[4],a=this._m[5],o=e*r-t*n,s={x:i,y:a,angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(e!==0||t!==0){let i=Math.sqrt(e*e+t*t);s.angle=t>0?Math.acos(e/i):-Math.acos(e/i),s.scaleX=i,s.scaleY=o/i,s.skewX=(e*n+t*r)/o,s.skewY=0}else if(n!==0||r!==0){let i=Math.sqrt(n*n+r*r);s.angle=Math.PI/2-(r>0?Math.acos(-n/i):-Math.acos(n/i)),s.scaleX=o/i,s.scaleY=i,s.skewX=0,s.skewY=(e*n+t*r)/o}return s.angle=Nt(s.angle),s}makeBoundingBoxFromPoints(e){if(this)for(let t=0;t<e.length;t++)e[t]=this.applyPoint(e[t]);let t=[e[0].x,e[1].x,e[2].x,e[3].x],n=Math.min(...t),r=Math.max(...t)-n,i=[e[0].y,e[1].y,e[2].y,e[3].y],a=Math.min(...i);return{left:n,top:a,width:r,height:Math.max(...i)-a,points:e}}composeMatrix(t){let n=new e([1,0,0,1,t.left||0,t.top||0]);return t.angle&&n.rotate(t.angle),(t.scaleX!==1||t.scaleY!==1||t.skewX||t.skewY||t.flipX||t.flipY)&&n.multiply(this._calcDimensionsMatrix(t)),this._m=n.getMatrix(),this}clone(){return new e([...this._m])}_calcDimensionsMatrix(t){var n,r;let i=(n=t.scaleX)==null?1:n,a=(r=t.scaleY)==null?1:r,o=new e([t.flipX?-i:i,0,0,t.flipY?-a:a,0,0]);return t.skewX&&o.multiply(new e([1,0,Math.tan(Pt(t.skewX)),1,0,0])),t.skewY&&o.multiply(new e([1,Math.tan(Pt(t.skewY)),0,1,0,0])),o}convert2DOMMatrix2D(){let e=this.getMatrix();return{a:e[0],b:e[1],c:e[2],d:e[3],e:e[4],f:e[5]}}};const Vr=[`top`,`left`,`width`,`height`,`angle`,`scaleX`,`scaleY`,`skewX`,`skewY`,`flipX`,`flipY`,`strokeWidth`];let Hr=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.RICH_TEXT=1]=`RICH_TEXT`,e[e.SHAPE=2]=`SHAPE`,e[e.IMAGE=3]=`IMAGE`,e[e.RECT=4]=`RECT`,e[e.CIRCLE=5]=`CIRCLE`,e[e.CHART=6]=`CHART`,e}({});var Ur=class extends _{constructor(e){super(),K(this,`groupKey`,void 0),K(this,`isInGroup`,!1),K(this,`isDrawingObject`,!1),K(this,`objectType`,Hr.UNKNOWN),K(this,`onTransformChange$`,new x),K(this,`onPointerDown$`,new x),K(this,`onPointerMove$`,new x),K(this,`onPointerUp$`,new x),K(this,`onPointerOut$`,new x),K(this,`onPointerOver$`,new x),K(this,`onPointerLeave$`,new x),K(this,`onPointerEnter$`,new x),K(this,`onSingleClick$`,new x),K(this,`onClick$`,new x),K(this,`onDblclick$`,new x),K(this,`onTripleClick$`,new x),K(this,`onMouseWheel$`,new x),K(this,`onDragLeave$`,new x),K(this,`onDragOver$`,new x),K(this,`onDragEnter$`,new x),K(this,`onDrop$`,new x),K(this,`onIsAddedToParent$`,new x),K(this,`onDispose$`,new x),K(this,`_oKey`,void 0),K(this,`_dirty`,!0),K(this,`_forceDirty`,!0),K(this,`_printable`,!1),K(this,`_top`,0),K(this,`_topOrigin`,0),K(this,`_left`,0),K(this,`_leftOrigin`,0),K(this,`_width`,0),K(this,`_widthOrigin`,0),K(this,`_height`,0),K(this,`_heightOrigin`,0),K(this,`_angle`,0),K(this,`_scaleX`,1),K(this,`_scaleY`,1),K(this,`_skewX`,0),K(this,`_skewY`,0),K(this,`_flipX`,!1),K(this,`_flipY`,!1),K(this,`_strokeWidth`,0),K(this,`_parent`,void 0),K(this,`_zIndex`,0),K(this,`_evented`,!0),K(this,`_visible`,!0),K(this,`_debounceParentDirty`,!0),K(this,`_transform`,new Br),K(this,`_cursor`,H.DEFAULT),K(this,`_transformerConfig`,void 0),K(this,`_forceRender`,!1),K(this,`_layer`,void 0),e?this._oKey=e:this._oKey=Lt()}get transform(){let e=this._transform.clone();return this.transformForAngle(e)}transformForAngle(e){if(this._angle!==0){let t=(this.width+this.strokeWidth)/2,n=(this.height+this.strokeWidth)/2;e.rotate(-this._angle),e.translate(t,n),e.rotate(this.angle),e.translate(-t,-n)}return e}get printable(){return this._printable}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get widthOrigin(){return this._widthOrigin}get heightOrigin(){return this._heightOrigin}get classType(){return W.BASE_OBJECT}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}get strokeWidth(){return this._strokeWidth}get angle(){return this._angle}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get ancestorScaleX(){var e;let t=((e=this.getParent())==null?void 0:e.ancestorScaleX)||1;return this.scaleX*t}get ancestorScaleY(){var e;let t=((e=this.getParent())==null?void 0:e.ancestorScaleY)||1;return this.scaleY*t}get ancestorLeft(){var e;return this.left+(((e=this.getParent())==null?void 0:e.ancestorLeft)||0)}get ancestorTop(){var e;return this.top+(((e=this.getParent())==null?void 0:e.ancestorTop)||0)}get ancestorTransform(){let e=this.getParent();return this.isInGroup&&(e==null?void 0:e.classType)===W.GROUP?e==null?void 0:e.ancestorTransform.multiply(this.transform):this.transform}get ancestorGroup(){let e=null,t=this.getParent();for(;t!=null&&t;)t.classType===W.GROUP&&(e=t),t=t.classType===W.GROUP?t.getParent():null;return e}get skewX(){return this._skewX}get skewY(){return this._skewY}get flipX(){return this._flipX}get flipY(){return this._flipY}get parent(){return this._parent}get oKey(){return this._oKey}get zIndex(){return this._zIndex}get evented(){return this._evented}get visible(){return this._visible}get debounceParentDirty(){return this._debounceParentDirty}get cursor(){return this._cursor}get layer(){return this._layer}set transform(e){this._transform=e}set zIndex(e){this._zIndex=e}set parent(e){this._parent=e}set evented(e){this._evented=e}set debounceParentDirty(e){this._debounceParentDirty=e}set cursor(e){this.setCursor(e)}set layer(e){this._layer=e}set top(e){var t;this._topOrigin=e,this._top=Ot(e,(t=this._parent)==null?void 0:t.height)}set left(e){var t;this._leftOrigin=e,this._left=Ot(e,(t=this._parent)==null?void 0:t.width)}set width(e){var t;this._widthOrigin=e,this._width=Ot(e,(t=this._parent)==null?void 0:t.width)}set height(e){var t;this._heightOrigin=e,this._height=Ot(e,(t=this._parent)==null?void 0:t.height)}set strokeWidth(e){this._strokeWidth=e}set angle(e){this._angle=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}set skewX(e){this._skewX=e}set flipY(e){this._flipY=e}set flipX(e){this._flipX=e}set skewY(e){this._skewY=e}get transformerConfig(){return this._transformerConfig}set transformerConfig(e){this._transformerConfig=e}get maxZIndex(){return this._zIndex}makeDirty(e=!0){if(this._dirty=e,e){if(this._layer==null){this._dirty=!1;return}this._layer.makeDirtyWithDebounce(e)}return this}makeForceDirty(e=!0){this._forceDirty=e}makeDirtyNoDebounce(e=!0){if(this._dirty=e,e){var t;(t=this._layer)==null||t.makeDirty(e)}return this}isDirty(){return this._dirty}translate(e,t){let n=this.top;t!==void 0&&(this.top=t);let r=this.left;return e!==void 0&&(this.left=e),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.translate,value:{top:this._top,left:this._left},preValue:{top:n,left:r}}),this}resize(e,t){let n=this.width;e!==void 0&&(this.width=e);let r=this.height;return t!==void 0&&(this.height=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.resize,value:{width:this._width,height:this._height},preValue:{width:n,height:r}}),this}scale(e,t){let n=this.scaleX;e!==void 0&&(this.scaleX=e);let r=this.scaleY;return t!==void 0&&(this.scaleY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.scale,value:{scaleX:this._scaleX,scaleY:this._scaleY},preValue:{scaleX:n,scaleY:r}}),this}skew(e,t){let n=e;e!==void 0&&(this.skewX=e);let r=t;return t!==void 0&&(this.skewY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.skew,value:{skewX:this._skewX,skewY:this._skewY},preValue:{skewX:n,skewY:r}}),this}flip(e,t){let n=e;e!==void 0&&(this.flipX=e);let r=t;return t!==void 0&&(this.flipY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.flip,value:{flipX:this._flipX,flipY:this._flipY},preValue:{flipX:n,flipY:r}}),this}transformByState(e){let t=Object.keys(e),n={};if(t.length!==0)return t.forEach(t=>{e[t]!==void 0&&(n[t]=this[t],this[t]=e[t])}),this._setTransForm(),this.onTransformChange$.emitEvent({type:Z.all,value:e,preValue:n}),this}isRender(e){return this._forceRender?!1:e&&!this.isInGroup}getParent(){return this._parent}getState(){return{left:this.left,top:this.top,width:this.width,height:this.height,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRealBound(){var e,t;let{width:n,height:r,left:i,top:a}=this,o;if(this.isInGroup&&((e=this.parent)==null?void 0:e.classType)===W.GROUP&&(t=this.parent)!=null&&t.getBaseBound&&(o=this.parent.getBaseBound()),o){let e=this.getParent(),t={top:e.top||0,left:e.left,width:e.width||0,height:e.height||0},s=Sr(o,t,{width:n,height:r,left:i,top:a});n=s.width,r=s.height,i=s.left-t.left-t.width/2,a=s.top-t.top-t.height/2}return{left:i,top:a,width:n,height:r}}hide(){this._visible=!1,this._makeDirtyMix()}show(){this._visible=!0,this._makeDirtyMix()}render(e,t){}isHit(e){let t=this.getInverseCoord(e);return t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2}triggerPointerMove(e){var t;if(!((t=this.onPointerMove$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerMove(e),!1}return!0}triggerPointerDown(e){var t;if(!((t=this.onPointerDown$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerDown(e),!1}return!0}triggerPointerUp(e){var t;if(!((t=this.onPointerUp$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerUp(e),!1}return!0}triggerSingleClick(e){var t;if(!((t=this.onSingleClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerSingleClick(e),!1}return!0}triggerClick(e){var t;if(!((t=this.onClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerClick(e),!1}return!0}triggerDblclick(e){var t;if(!((t=this.onDblclick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDblclick(e),!1}return!0}triggerTripleClick(e){var t;if(!((t=this.onTripleClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerTripleClick(e),!1}return!0}triggerMouseWheel(e){var t;if(!((t=this.onMouseWheel$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerMouseWheel(e),!1}return!0}triggerPointerOut(e){var t;if(!((t=this.onPointerOut$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerOut(e),!1}return!0}triggerPointerLeave(e){var t;if(!((t=this.onPointerLeave$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerLeave(e),!1}return!0}triggerPointerOver(e){if(!this.onPointerOver$.emitEvent(e)){var t;return(t=this._parent)==null||t.triggerPointerOver(e),!1}return!0}triggerPointerEnter(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerEnter(e),!1}return!0}triggerPointerCancel(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerCancel(e),!1}return!0}triggerDragLeave(e){var t;if(!((t=this.onDragLeave$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragLeave(e),!1}return!0}triggerDragOver(e){var t;if(!((t=this.onDragOver$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragOver(e),!1}return!0}triggerDragEnter(e){var t;if(!((t=this.onDragEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragEnter(e),!1}return!0}triggerDrop(e){var t;if(!((t=this.onDrop$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDrop(e),!1}return!0}dispose(){var e;super.dispose(),this.onTransformChange$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onMouseWheel$.complete(),this.onPointerOut$.complete(),this.onPointerLeave$.complete(),this.onPointerOver$.complete(),this.onPointerEnter$.complete(),this.onDragLeave$.complete(),this.onDragOver$.complete(),this.onDragEnter$.complete(),this.onDrop$.complete(),this.onSingleClick$.complete(),this.onClick$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onIsAddedToParent$.complete(),(e=this.parent)==null||e.removeObject(this),this.onDispose$.emitEvent(this),this._makeDirtyMix(),this.onDispose$.complete(),this._parent=null,this._layer=null,this.transform=null}toJson(){let e={};return Vr.forEach(t=>{this[t]&&(e[t]=this[t])}),e}getScene(){let e=this.parent;for(;e;){if(e.classType===W.SCENE)return e;e=e.getParent()}return null}resetCursor(){var e;(e=this.getScene())==null||e.resetCursor()}setCursor(e){var t;this._cursor=e,(t=this.getScene())==null||t.setCursor(e)}getEngine(){let e=this.getParent();for(;e!=null;){if(e.classType===W.ENGINE)return e;e=e.getParent()}return null}getObjects(){return[]}getLayerIndex(){return this._layer==null?1:this._layer.zIndex}applyTransform(){var e;(e=this.getScene())==null||e.attachTransformerTo(this)}removeTransform(){var e;(e=this.getScene())==null||e.detachTransformerFrom(this)}getInverseCoord(e){return this.ancestorTransform.invert().applyPoint(e)}_setTransForm(){this.transform=Br.create().composeMatrix({left:this.left+this.strokeWidth/2,top:this.top+this.strokeWidth/2,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}),this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}};function Wr(e){let t=e.getBoundingClientRect(),n=document.body,r=document.documentElement,i=window.pageYOffset||r.scrollTop||n.scrollTop,a=window.pageXOffset||r.scrollLeft||n.scrollLeft,o=r.clientTop||n.clientTop,s=r.clientLeft||n.clientLeft;return{top:t.top+i-o,left:t.left+a-s}}var Gr=class{constructor(e,t){K(this,`__mode`,`rendering`),K(this,`_transformCache`,void 0),K(this,`canvas`,void 0),K(this,`_context`,void 0),K(this,`_systemType`,void 0),K(this,`_browserType`,void 0),K(this,`renderConfig`,{}),K(this,`_canvasColorService`,void 0),K(this,`_id`,void 0),K(this,`_normalizedCachedFont`,void 0),this.canvas=e.canvas,this._context=e,this._canvasColorService=t==null?void 0:t.canvasColorService}getId(){return this._id}setId(e){this._id=e}isContextLost(){return this._context.isContextLost()}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(e){this._context.globalAlpha=e}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(e){this._context.globalCompositeOperation=e}get fillStyle(){return this._context.fillStyle}set fillStyle(e){this._context.fillStyle=this._canvasColorService&&typeof e==`string`?this._canvasColorService.getRenderColor(e):e}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(e){this._context.strokeStyle=this._canvasColorService&&typeof e==`string`?this._canvasColorService.getRenderColor(e):e}get filter(){return this._context.filter}set filter(e){this._context.filter=e}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(e){this._context.imageSmoothingEnabled=e}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(e){this._context.imageSmoothingQuality=e}get lineCap(){return this._context.lineCap}set lineCap(e){this._context.lineCap=e}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(e){this._context.lineDashOffset=e}get lineJoin(){return this._context.lineJoin}set lineJoin(e){this._context.lineJoin=e}get lineWidth(){return this._context.lineWidth}set lineWidth(e){this._context.lineWidth=e}setLineWidthByPrecision(e){let{scaleX:t,scaleY:n}=this._getScale();this._context.lineWidth=e/Math.max(t,n)}get miterLimit(){return this._context.miterLimit}set miterLimit(e){this._context.miterLimit=e}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(e){this._context.shadowBlur=e}get shadowColor(){return this._context.shadowColor}set shadowColor(e){this._context.shadowColor=e}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(e){this._context.shadowOffsetX=e}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(e){this._context.shadowOffsetY=e}get direction(){return this._context.direction}set direction(e){this._context.direction=e}get font(){if(this._normalizedCachedFont)return this._normalizedCachedFont;let e=this._context.font;return this._normalizedCachedFont=e,e}set font(e){this._context.font=e,this._normalizedCachedFont=``}get fontKerning(){return this._context.fontKerning}set fontKerning(e){this._context.fontKerning=e}get fontStretch(){return this._context.fontStretch}set fontStretch(e){this._context.fontStretch=e}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(e){this._context.fontVariantCaps=e}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(e){this._context.letterSpacing=e}get textRendering(){return this._context.textRendering}set textRendering(e){this._context.textRendering=e}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(e){this._context.wordSpacing=e}get textAlign(){return this._context.textAlign}set textAlign(e){this._context.textAlign=e}get textBaseline(){return this._context.textBaseline}set textBaseline(e){this._context.textBaseline=e}_getScale(){let{a:e,b:t,c:n,d:r}=this.getTransform();return{scaleX:Math.sqrt(e*e+t*t),scaleY:Math.sqrt(n*n+r*r)}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...e){return this._context.isPointInStroke(...e)}createConicGradient(e,t,n){return this._context.createConicGradient(e,t,n)}roundRect(e,t,n,r,i){this._context.roundRect(e,t,n,r,i)}roundRectByPrecision(e,t,n,r,i){let{scaleX:a,scaleY:o}=this._getScale();e=G(e,a),t=G(t,o),n=G(n,a),r=G(r,o),this.roundRect(e,t,n,r,i)}getTransform(){return this._transformCache||this._context.getTransform()}resetTransform(){this._transformCache=null,this._context.resetTransform()}drawFocusIfNeeded(...e){return this._context.drawFocusIfNeeded(...e)}reset(){this._transformCache=null,this._context.reset()}arc(e,t,n,r,i,a){this._context.arc(e,t,Math.max(0,n),r,i,a)}arcByPrecision(e,t,n,r,i,a){let{scaleX:o,scaleY:s}=this._getScale();e=G(e,o),t=G(t,s),this.arc(e,t,n,r,i,a)}arcTo(e,t,n,r,i){this._context.arcTo(e,t,n,r,i)}arcToByPrecision(e,t,n,r,i){let{scaleX:a,scaleY:o}=this._getScale();e=G(e,a),t=G(t,o),n=G(n,a),r=G(r,o),this.arcTo(e,t,n,r,i)}beginPath(){this._context.beginPath()}bezierCurveTo(e,t,n,r,i,a){this._context.bezierCurveTo(e,t,n,r,i,a)}bezierCurveToByPrecision(e,t,n,r,i,a){let{scaleX:o,scaleY:s}=this._getScale();i=G(i,o),a=G(a,s),e=G(e,o),t=G(t,s),n=G(n,o),r=G(r,s),this.bezierCurveTo(e,t,n,r,i,a)}clearRect(e,t,n,r){this._context.clearRect(e,t,n,r)}clearRectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=G(e,i),t=G(t,a),n=G(n,i),r=G(r,a),this.clearRect(e,t,n,r)}clip(...e){this._context.clip(...e)}closePath(){this._context.closePath()}getSystemType(){return this._systemType||(this._systemType=B.getSystemType()),this._systemType}getBrowserType(){return this._browserType||(this._browserType=B.getBrowserType()),this._browserType}closePathByEnv(){let e=this.getSystemType()===`Mac`,t=this.getBrowserType()===`Chrome`;e&&t||this._context.closePath()}createImageData(...e){if(e.length===0)throw Error(`arguments is zero`);return e.length===1?this._context.createImageData(e[0]):e.length===2?this._context.createImageData(e[0],e[1]):this._context.createImageData(e[0],e[1],e[1])}createLinearGradient(e,t,n,r){return this._context.createLinearGradient(e,t,n,r)}createPattern(e,t){return this._context.createPattern(e,t)}createRadialGradient(e,t,n,r,i,a){return this._context.createRadialGradient(e,t,n,r,i,a)}drawImage(...e){let t=e,n=this._context;t.length===3?n.drawImage(e[0],e[1],e[2]):t.length===5?n.drawImage(e[0],e[1],e[2],e[3],e[4]):t.length===9&&n.drawImage(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])}ellipse(e,t,n,r,i,a,o,s){this._context.ellipse(e,t,n,r,i,a,o,s)}isPointInPath(...e){return this._context.isPointInPath(...e)}fill(...e){this._context.fill(...e)}fillRect(e,t,n,r){this._context.fillRect(e,t,n,r)}fillRectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=G(e,i),t=G(t,a),n=G(n,i),r=G(r,a),this.fillRect(e,t,n,r)}strokeRect(e,t,n,r){this._context.strokeRect(e,t,n,r)}strokeRectPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=G(e,i),t=G(t,a),n=G(n,i),r=G(r,a),this.strokeRect(e,t,n,r)}fillText(e,t,n,r){r?this._context.fillText(e,t,n,r):this._context.fillText(e,t,n)}fillTextPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();t=G(t,i),n=G(n,a),r?(r=G(r,i),this._context.fillText(e,t,n,r)):this._context.fillText(e,t,n)}measureText(e){return this._context.measureText(e)}getImageData(e,t,n,r){return this._context.getImageData(e,t,n,r)}lineTo(e,t){this._context.lineTo(e,t)}lineToByPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=G(e,n),t=G(t,r),this.lineTo(e,t)}moveTo(e,t){this._context.moveTo(e,t)}moveToByPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=G(e,n),t=G(t,r),this.moveTo(e,t)}moveToByPrecisionLog(e,t){let{scaleX:n,scaleY:r}=this._getScale(),i=G(e,n),a=G(t,r);this.moveTo(i,a)}rect(e,t,n,r){this._context.rect(e,t,n,r)}rectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=G(e,i),t=G(t,a),n=G(n,i),r=G(r,a),this.rect(e,t,n,r)}putImageData(e,t,n){this._context.putImageData(e,t,n)}quadraticCurveTo(e,t,n,r){this._context.quadraticCurveTo(e,t,n,r)}restore(){this._transformCache=null,this._normalizedCachedFont=``,this._context.restore()}rotate(e){this._transformCache=null,this._context.rotate(e)}save(){this._context.save()}scale(e,t){this._transformCache=null,this._context.scale(e,t)}setLineDash(e){this._context.setLineDash?this._context.setLineDash(e):`mozDash`in this._context?this._context.mozDash=e:`webkitLineDash`in this._context&&(this._context.webkitLineDash=e)}getLineDash(){return this._context.getLineDash()}setTransform(...e){this._transformCache=null,this._normalizedCachedFont=``,this._context.setTransform(...e)}stroke(e){e?this._context.stroke(e):this._context.stroke()}strokeText(e,t,n,r){this._context.strokeText(e,t,n,r)}strokeTextByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();t=G(t,i),n=G(n,a),r&&(r=G(r,i)),this.strokeText(e,t,n,r)}transform(e,t,n,r,i,a){this._transformCache=null,this._context.transform(e,t,n,r,i,a)}translate(e,t){this._transformCache=null,this._context.translate(e,t)}translateWithPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=G(e,n),t=G(t,r),this._transformCache=null,this._context.translate(e,t)}translateWithPrecisionRatio(e,t){this._transformCache=null;let{scaleX:n,scaleY:r}=this._getScale();this._context.translate(e/n,t/r)}clearRectForTexture(e,t,n,r){this.clearRectByPrecision(e,t,n,r)}setGlobalCompositeOperation(e){this._context.globalCompositeOperation=e}},Kr=class extends Gr{},qr=class extends Gr{constructor(...e){super(...e),K(this,`__mode`,`printing`)}clearRect(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=G(e,i),t=G(t,a),n=G(n,i),r=G(r,a),this._context.save(),this._context.fillStyle=Dt([255,255,255]),this._context.fillRect(e,t,n,r),this._context.restore()}clearRectForTexture(e,t,n,r){}setGlobalCompositeOperation(e){}};let Jr=function(e){return e[e.Rendering=0]=`Rendering`,e[e.Printing=1]=`Printing`,e}({});var Yr=class{constructor(e){K(this,`isCache`,!1),K(this,`_pixelRatio`,1),K(this,`_canvasEle`,void 0),K(this,`_context`,void 0),K(this,`_width`,0),K(this,`_height`,0);let t=e||{};this._canvasEle=jt(),this._canvasEle.style.padding=`0`,this._canvasEle.style.margin=`0`,this._canvasEle.style.border=`0`,this._canvasEle.style.background=`transparent`,this._canvasEle.style.position=`absolute`,this._canvasEle.style.top=`0`,this._canvasEle.style.left=`0`,this._canvasEle.style.zIndex=`8`,this._canvasEle.dataset.uComp=`render-canvas`,this._canvasEle.tabIndex=1,this._canvasEle.style.touchAction=`none`,this._canvasEle.style.outline=`0`;let n=this._canvasEle.getContext(`2d`);if(n==null)throw Error(`context is not support`);t.mode===Jr.Printing?this._context=new qr(n):this._context=new Kr(n,{canvasColorService:t.colorService}),this.setSize(t.width,t.height,t.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setId(e){this._canvasEle.id=e}setSize(e,t,n){var r;this._pixelRatio=n||ir();let i=this.getCanvasEle();i&&e!==void 0&&(i.width=e*this._pixelRatio,this._width=i.width/this._pixelRatio,i.style.width=`${this._width}px`),i&&t!==void 0&&(i.height=t*this._pixelRatio,this._height=i.height/this._pixelRatio,i.style.height=`${this._height}px`),(r=this.getContext())==null||r.setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0)}setPixelRatio(e){this._width===0||this._height===0||(e<1&&(e=1),this.setSize(this._width,this._height,e))}dispose(){var e;this.clear(),(e=this._canvasEle)==null||e.remove(),this._canvasEle=null,this._context=null}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(e,t){try{return this.getCanvasEle().toDataURL(e,t)}catch{try{return this.getCanvasEle().toDataURL()}catch(e){let{message:t}=e;return console.error(`Unable to get data URL. ${t} For more info read https://universheet.net/docs/Canvas.html.`),``}}}},Xr=class extends Yr{constructor(e={width:0,height:0}){super(e),this.setSize(e.width,e.height)}},Zr=class extends Yr{constructor(e={width:0,height:0}){super(e),K(this,`hitCanvas`,!0),this.setSize(e.width,e.height)}},Qr=class extends Ur{constructor(...e){super(...e),K(this,`_extensions`,new Map)}get extensions(){return this._extensions}register(...e){let t=new v;for(let n of e)n.parent=this,this._extensions.set(n.uKey,n),t.add(He(()=>{this._extensions.delete(n.uKey),n.parent=null}));return this.disposeWithMe(t),t}getExtensionsByOrder(){let e=Array.from(this._extensions.values());return e.sort(Be),e}getExtensionByKey(e){return this._extensions.get(e)}draw(e,t){}dispose(){super.dispose();for(let e of this._extensions.values())e.dispose();this._extensions.clear()}},$r=class{constructor(){K(this,`uKey`,``),K(this,`type`,void 0),K(this,`Z_INDEX`,0),K(this,`parent`,void 0),K(this,`translateX`,0),K(this,`translateY`,0),K(this,`extensionOffset`,{})}get zIndex(){return this.Z_INDEX}draw(e,t,n,r,i){}clearCache(){}_getScale(e){return Cn(e)}dispose(){this.extensionOffset={},this.parent=null}};const ei=oe.create(),ti=oe.create(),ni=oe.create(),ri=oe.create();var ii=class extends Qr{constructor(e,t){super(e),this._skeleton=t}getSkeleton(){return this._skeleton}updateSkeleton(e){var t;this._skeleton=e,(t=this.getScene())==null||t.updateTransformerZero(e.rowHeaderWidth,e.columnHeaderHeight)}render(e,t){if(!this.visible)return this.makeDirty(!1),this;e.save(),this._draw(e,t),e.restore()}getParentScale(){let{scaleX:e=1,scaleY:t=1}=this.parent;return this.parent.classType===W.SCENE_VIEWER&&(e=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:t}}getScrollXYByRelativeCoords(e){return{x:0,y:0}}dispose(){super.dispose(),this._skeleton=null}},ai=class extends ii{_draw(e,t){this.draw(e,t)}},oi=class extends ai{getDocuments(){throw Error(`Method not implemented.`)}getNoMergeCellPositionByIndex(e,t){throw Error(`Method not implemented.`)}getSelectionBounding(e,t,n,r){throw Error(`Method not implemented.`)}constructor(e,t){super(e,t),K(this,`_columnHeaderLayoutExtension`,void 0),this._initialDefaultExtension(),this.makeDirty(!0)}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(e,t){let n=this.getSkeleton();if(!n)return;let r=this.getParentScale();n.updateVisibleRange(t);let i=n.rowColumnSegment;if(!i||i.startColumn===-1&&i.endColumn===-1)return;let{rowHeaderWidth:a}=n;e.translateWithPrecision(a,0);let o=this.getExtensionsByOrder();for(let t of o)t.draw(e,r,n)}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>r&&t.y>=0&&t.y<=i}_initialDefaultExtension(){ni.getData().forEach(e=>{this.register(e)}),this._columnHeaderLayoutExtension=this.getExtensionByKey(`DefaultColumnHeaderLayoutExtension`)}setCustomHeader(e,t){this.makeDirty(!0),this._columnHeaderLayoutExtension.configHeaderColumn(e,t)}};let si=function(e){return e[e.OFF=0]=`OFF`,e[e.ON=1]=`ON`,e}({}),ci=function(e){return e.VIEW_MAIN=`viewMain`,e.VIEW_MAIN_LEFT_TOP=`viewMainLeftTop`,e.VIEW_MAIN_TOP=`viewMainTop`,e.VIEW_MAIN_LEFT=`viewMainLeft`,e.VIEW_ROW_TOP=`viewRowTop`,e.VIEW_ROW_BOTTOM=`viewRowBottom`,e.VIEW_COLUMN_LEFT=`viewColumnLeft`,e.VIEW_COLUMN_RIGHT=`viewColumnRight`,e.VIEW_LEFT_TOP=`viewLeftTop`,e}({});const li=50,ui=45,di=21,fi=21,pi=20,mi=[ci.VIEW_MAIN,ci.VIEW_MAIN_LEFT_TOP,ci.VIEW_MAIN_TOP,ci.VIEW_MAIN_LEFT],hi=[ci.VIEW_ROW_TOP,ci.VIEW_ROW_BOTTOM,ci.VIEW_COLUMN_LEFT,ci.VIEW_COLUMN_RIGHT,ci.VIEW_LEFT_TOP],gi=1e4,_i=gi/10;let vi=function(e){return e[e.GRID=0]=`GRID`,e}({});const yi=`sheet-ext-`;var bi=class extends $r{constructor(...e){super(...e),K(this,`type`,vi.GRID)}isRenderDiffRangesByCell(e,t){if(t==null||t.length===0)return!0;for(let n of t){let{startRow:t,startColumn:r,endRow:i,endColumn:a}=n;if(ae.intersects(e,{startRow:t,endRow:i,startColumn:r,endColumn:a}))return!0}return!1}isRenderDiffRangesByColumn(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startColumn:n,endColumn:i}=r;if(ae.intersects({startRow:0,endRow:0,startColumn:e,endColumn:t},{startRow:0,endRow:0,startColumn:n,endColumn:i}))return!0}return!1}isRenderDiffRangesByRow(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startRow:n,endRow:i}=r;if(ae.intersects({startRow:e,endRow:t,startColumn:0,endColumn:0},{startRow:n,endRow:i,startColumn:0,endColumn:0}))return!0}return!1}isRowInRanges(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startRow:n,endRow:i}=r;if(e>=n&&e<=i||t>=n&&t<=i||ae.intersects({startRow:e,endRow:t,startColumn:0,endColumn:0},{startRow:n,endRow:i,startColumn:0,endColumn:0}))return!0}return!1}},xi=class extends bi{constructor(...e){super(...e),K(this,`uKey`,`DefaultBackgroundExtension`),K(this,`Z_INDEX`,21),K(this,`PRINTING_Z_INDEX`,21)}get zIndex(){var e;return(e=this.parent)!=null&&e.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(e,t,n,r,{viewRanges:i,checkOutOfViewBound:a}){let{stylesCache:o,worksheet:s,rowHeightAccumulation:c,columnTotalWidth:l,columnWidthAccumulation:u,rowTotalHeight:d}=n,{background:f,backgroundPositions:p}=o;if(!s||!f||!c||!u||l===void 0||d===void 0)return;e.save();let{scaleX:m,scaleY:h}=e.getScale(),g={ctx:e,backgroundPositions:p,scaleX:m,scaleY:h,checkOutOfViewBound:a,viewRanges:i,diffRanges:r,spreadsheetSkeleton:n},_=[];i.forEach(e=>{let t=n.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn);_.push(...t)});let v=t=>{let r=f[t],a=(e,t,i)=>{if(n.worksheet.getSpanModel().getMergeDataIndex(e,t)!==-1)return;let a=n.getCellByIndexWithNoHeader(e,t);a&&(i||r.getValue(e,t))&&(g.cellInfo=a,this.renderBGByCell(g,e,t))};e.fillStyle=t||Dt([255,255,255]);let o=new Path2D;g.backgroundPaths=o,e.beginPath();let s=r.getSizeOf();i.reduce((e,t)=>e+(t.endRow-t.startRow)*(t.endColumn-t.startColumn),0)<s?i.forEach(e=>{ie.foreach(e,a)}):r.forValue(a),e.fill(o),e.closePath()},y=t=>{let r=f[t];e.fillStyle=t||Dt([255,255,255]);let i=new Path2D;g.backgroundPaths=i,e.beginPath(),_.forEach(e=>{if(r.getValue(e.startRow,e.startColumn)){let t=n.getCellWithCoordByIndex(e.startRow,e.startColumn,!1);if(!t)return;g.cellInfo=t,this.renderBGByCell(g,e.startRow,e.startColumn)}}),e.fill(i),e.closePath()},b=Object.keys(f);for(let e=0;e<b.length;e++){let t=b[e];v(t),y(t)}e.restore()}renderBGByCell(e,t,n){let{spreadsheetSkeleton:r,backgroundPaths:i,scaleX:a,scaleY:o,viewRanges:s,diffRanges:c,cellInfo:l}=e,{startY:u,endY:d,startX:f,endX:p}=l,{isMerged:m,isMergedMainCell:h,mergeInfo:g}=l,_=c&&c.length>0?c:s;if(u=g.startY,d=g.endY,f=g.startX,p=g.endX,!m&&!h&&!Ln(_,t,n))return!0;if(!m&&!h){if(!r.worksheet.getRowVisible(t)||!r.worksheet.getColVisible(n))return!0}else{let e=!0;for(let t=g.startRow;t<=g.endRow;t++)if(r.worksheet.getRowVisible(t)){e=!1;break}if(e)return!0;let t=!0;for(let e=g.startColumn;e<=g.endColumn;e++)if(r.worksheet.getColVisible(e)){t=!1;break}if(t)return!0}let v=G(f,a),y=G(u,o),b=G(p,a),x=G(d,o);i.rect(v,y,b-v,x-y)}};ei.add(xi);var Si=class extends bi{constructor(...e){super(...e),K(this,`uKey`,`DefaultBorderExtension`),K(this,`Z_INDEX`,50),K(this,`preStyle`,void 0),K(this,`preColor`,void 0)}draw(e,t,n,r,{viewRanges:i}){let{stylesCache:a,overflowCache:o,worksheet:s,rowHeightAccumulation:c,columnTotalWidth:l,columnWidthAccumulation:u,rowTotalHeight:d}=n;if(!s||!c||!u||l===void 0||d===void 0)return;let{border:f}=a;if(!f)return;e.save(),e.translateWithPrecisionRatio(bt,bt);let p={ctx:e,precisionScale:this._getScale(e.getScale()),overflowCache:o,diffRanges:r,viewRanges:i,spreadsheetSkeleton:n};e.beginPath(),i.forEach(e=>{ie.foreach(e,(e,t)=>{let n=f.getValue(e,t);n&&this.renderBorderByCell(p,e,t,n)})}),e.closePath(),e.restore()}renderBorderByCell(e,t,n,r){let{ctx:i,precisionScale:o,overflowCache:s,spreadsheetSkeleton:c,diffRanges:l}=e,u=c.getCellWithCoordByIndex(t,n,!1),{startY:d,endY:f,startX:p,endX:m}=u,{isMerged:h,isMergedMainCell:g,mergeInfo:_}=u;if(!h&&(!c.worksheet.getRowVisible(t)||!c.worksheet.getColVisible(n))||!this.isRenderDiffRangesByRow(_.startRow,_.endRow,l))return!0;for(let c in r){let{type:l,style:u,color:v}=r[c];if(u===a.NONE)continue;let y=d,b=f,x=p,S=m;if(l!==U.TOP&&l!==U.BOTTOM&&l!==U.LEFT&&l!==U.RIGHT){if(h)return!0;g&&(y=_.startY,b=_.endY,x=_.startX,S=_.endX)}let C=pr(u);ur(i,u),i.setLineWidthByPrecision(C),i.strokeStyle=v||`rgb(0,0,0)`,cr(i,u,l,{startX:x,startY:y,endX:S,endY:b}),!this._getOverflowExclusion(s,l,t,n)&&(ar(i,l,(C-1)/2/o,{startX:x,startY:y,endX:S,endY:b}),u===a.DOUBLE&&(l===U.LEFT||l===U.RIGHT||l===U.TOP||l===U.BOTTOM)&&this._renderDoubleBorder({renderBorderContext:e,row:t,col:n,type:l,lineWidth:C,startX:x,startY:y,endX:S,endY:b}))}}_getOverflowExclusion(e,t,n,r){let i=!1;return t===U.TOP||t===U.BOTTOM||e==null||e.forRow((a,o)=>{if(a!==n)return!0;o.forEach(n=>{let{startColumn:o,endColumn:s}=e.getValue(a,n);if(t===U.LEFT&&r>o&&r<=s||t===U.RIGHT&&r>=o&&r<s)return i=!0,!1})}),i}_renderDoubleBorder({renderBorderContext:e,row:t,col:n,type:r,lineWidth:i,startX:o,startY:s,endX:c,endY:l}){let{ctx:u,precisionScale:d,spreadsheetSkeleton:f}=e,p=f.stylesCache.border,m=(i-1)/2/d,h=i/2,g=e=>{u.save(),u.lineCap=`round`,u.globalCompositeOperation=`destination-out`,ar(u,r,m,e),u.restore()},_=e=>{let{startXOffset:t,startYOffset:n,endXOffset:i,endYOffset:a}=e;ar(u,r,m,{startX:o-t,startY:s-n,endX:c+i,endY:l+a})},v=e=>{let{startXOffset:t,startYOffset:n,endXOffset:i,endYOffset:a}=e;ar(u,r,m,{startX:o+t,startY:s+n,endX:c-i,endY:l-a})},y=this._getSpecificCellBorder(p,t,n-1),b=this._getSpecificCellBorder(p,t,n+1),x=this._getSpecificCellBorder(p,t-1,n),S=this._getSpecificCellBorder(p,t+1,n),C={startX:o,startY:s,endX:c,endY:l},w={startXOffset:h,startYOffset:h,endXOffset:h,endYOffset:h},T={startXOffset:h,startYOffset:h,endXOffset:h,endYOffset:h};if(r===U.LEFT||r===U.RIGHT){if(x.bottom&&x.bottom.style!==a.DOUBLE)T.startYOffset=0,w.startYOffset=0;else{var E,D,O,k;let e=this._getSpecificCellBorder(p,t-1,n-1),i=this._getSpecificCellBorder(p,t-1,n+1);r===U.LEFT&&(((E=y.top)==null?void 0:E.style)===a.DOUBLE||((D=e.bottom)==null?void 0:D.style)===a.DOUBLE)||r===U.RIGHT&&(((O=b.top)==null?void 0:O.style)===a.DOUBLE||((k=i.bottom)==null?void 0:k.style)===a.DOUBLE)?T.startYOffset=-h:r===U.LEFT&&e.bottom&&e.bottom.style!==a.DOUBLE||r===U.RIGHT&&i.bottom&&i.bottom.style!==a.DOUBLE?T.startYOffset=0:T.startYOffset=h,w.startYOffset=h}if(S.top&&S.top.style!==a.DOUBLE)T.endYOffset=0,w.endYOffset=0;else{var A,ee,j,M;let e=this._getSpecificCellBorder(p,t+1,n-1),i=this._getSpecificCellBorder(p,t+1,n+1);r===U.LEFT&&(((A=y.bottom)==null?void 0:A.style)===a.DOUBLE||((ee=e.top)==null?void 0:ee.style)===a.DOUBLE)||r===U.RIGHT&&(((j=b.bottom)==null?void 0:j.style)===a.DOUBLE||((M=i.top)==null?void 0:M.style)===a.DOUBLE)?T.endYOffset=-h:r===U.LEFT&&e.top&&e.top.style!==a.DOUBLE||r===U.RIGHT&&i.top&&i.top.style!==a.DOUBLE?T.endYOffset=0:T.endYOffset=h,w.endYOffset=h}C.startY=s-h,C.endY=l+h,g(C),(r===U.LEFT&&!y.right||r===U.RIGHT&&!b.left)&&_(T),v(w)}else if(r===U.TOP||r===U.BOTTOM){if(y.right&&y.right.style!==a.DOUBLE)T.startXOffset=0,w.startXOffset=0;else{var te,N,P,F;let e=this._getSpecificCellBorder(p,t-1,n-1),i=this._getSpecificCellBorder(p,t+1,n-1);r===U.TOP&&(((te=x.left)==null?void 0:te.style)===a.DOUBLE||((N=e.right)==null?void 0:N.style)===a.DOUBLE)||r===U.BOTTOM&&(((P=S.left)==null?void 0:P.style)===a.DOUBLE||((F=i.right)==null?void 0:F.style)===a.DOUBLE)?T.startXOffset=-h:r===U.TOP&&e.right&&e.right.style!==a.DOUBLE||r===U.BOTTOM&&i.right&&i.right.style!==a.DOUBLE?T.startXOffset=0:T.startXOffset=h,w.startXOffset=h}if(b.left&&b.left.style!==a.DOUBLE)T.endXOffset=0,w.endXOffset=0;else{var I,ne,L,re;let e=this._getSpecificCellBorder(p,t-1,n+1),i=this._getSpecificCellBorder(p,t+1,n+1);r===U.TOP&&(((I=x.right)==null?void 0:I.style)===a.DOUBLE||((ne=e.left)==null?void 0:ne.style)===a.DOUBLE)||r===U.BOTTOM&&(((L=S.right)==null?void 0:L.style)===a.DOUBLE||((re=i.left)==null?void 0:re.style)===a.DOUBLE)?T.endXOffset=-h:r===U.TOP&&e.left&&e.left.style!==a.DOUBLE||r===U.BOTTOM&&i.left&&i.left.style!==a.DOUBLE?T.endXOffset=0:T.endXOffset=h,w.endXOffset=h}C.startX=o-h,C.endX=c+h,g(C),(r===U.TOP&&!x.bottom||r===U.BOTTOM&&!S.top)&&_(T),v(w)}}_getSpecificCellBorder(e,t,n){let r=e.getValue(t,n),i=null,a=null,o=null,s=null;return r&&(r[U.LEFT]&&Object.prototype.hasOwnProperty.call(r[U.LEFT],`type`)&&(i=r[U.LEFT]),r[U.RIGHT]&&Object.prototype.hasOwnProperty.call(r[U.RIGHT],`type`)&&(a=r[U.RIGHT]),r[U.TOP]&&Object.prototype.hasOwnProperty.call(r[U.TOP],`type`)&&(o=r[U.TOP]),r[U.BOTTOM]&&Object.prototype.hasOwnProperty.call(r[U.BOTTOM],`type`)&&(s=r[U.BOTTOM])),{left:i,right:a,top:o,bottom:s}}};ei.add(Si);const Ci={fontSize:13,fontFamily:ct,fontColor:`#000000`,backgroundColor:Dt([248,249,250]),borderColor:Dt([217,217,217]),textAlign:`center`,textBaseline:`middle`};var wi=class extends bi{constructor(e){super(),K(this,`uKey`,`DefaultColumnHeaderLayoutExtension`),K(this,`Z_INDEX`,10),K(this,`columnsCfg`,{}),K(this,`headerStyle`,{}),K(this,`columnsCfgOfWorksheet`,new Map),K(this,`headerStyleOfWorksheet`,new Map),e&&this.configHeaderColumn(e)}configHeaderColumn(e,t){if(t){var n,r;this.columnsCfgOfWorksheet.set(t,(n=e.columnsCfg)==null?{}:n),this.headerStyleOfWorksheet.set(t,(r=e.headerStyle)==null?{}:r)}else{var i,a;this.columnsCfg=(i=e.columnsCfg)==null?{}:i,this.headerStyle=(a=e.headerStyle)==null?{}:a}}getColumnsCfg(e){var t;let n=(t=this.columnsCfgOfWorksheet.get(e))==null?{}:t;return{...this.columnsCfg,...n}}getHeaderStyle(e){var t;let n=(t=this.headerStyleOfWorksheet.get(e))==null?{}:t;return{...Ci,...this.headerStyle,...n}}getCfgOfCurrentColumn(e,t,n){let r,i;e[n]?(typeof e[n]==`string`&&(e[n]={text:e[n]}),i=e[n],r={...t,...i}):r={...t,text:Pe(n)};let a=Object.keys(i||{}).length>1;return[r,a]}setStyleToCtx(e,t){t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline),t.fontColor&&(e.fillStyle=t.fontColor),t.borderColor&&(e.strokeStyle=t.borderColor),t.fontSize&&(e.font=`${t.fontSize}px ${ct}`)}draw(e,t,n){let{rowColumnSegment:r,columnHeaderHeight:i=0}=n,{startColumn:a,endColumn:o}=r;if(!n||i===0)return;let{rowHeightAccumulation:s,columnTotalWidth:c,columnWidthAccumulation:l,rowTotalHeight:u,worksheet:d}=n;if(!s||!l||c===void 0||u===void 0)return;let f=this.getColumnsCfg(d.getSheetId()),p=this.getHeaderStyle(d.getSheetId()),m=this._getScale(t);this.setStyleToCtx(e,p),e.save(),e.fillStyle=p.backgroundColor,e.fillRectByPrecision(0,0,c,i),e.restore(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(bt,bt);let h=0;for(let t=a-1;t<=o;t++){if(t<0||t>l.length-1)continue;let n=l[t];if(h===n)continue;let r={left:h,top:0,right:n,bottom:i,width:n-h,height:i},[a,o]=this.getCfgOfCurrentColumn(f,p,t);o&&a.backgroundColor&&(e.save(),e.fillStyle=a.backgroundColor,e.fillRectByPrecision(r.left,r.top,r.width,r.height),e.restore()),e.beginPath(),e.moveToByPrecision(r.right,0),e.lineToByPrecision(r.right,r.height),e.stroke();let s=(()=>{switch(a.textAlign){case`center`:return r.left+(r.right-r.left)/2;case`right`:return r.right-3;case`left`:return r.left+3;default:return r.left+(r.right-r.left)/2}})(),c=r.height/2+1;o&&(e.save(),e.beginPath(),this.setStyleToCtx(e,a),e.rectByPrecision(r.left,r.top,r.width,r.height),e.clip()),e.fillText(a.text,s,c),o&&e.restore(),h=n}let g=i-.5/m;e.beginPath(),e.moveToByPrecision(0,g),e.lineToByPrecision(c,g),e.stroke()}};ni.add(new wi);const Ti=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var Ei=class extends bi{constructor(...e){super(...e),K(this,`Z_INDEX`,55),K(this,`uKey`,`DefaultCustomExtension`)}draw(e,t,n,r){let{worksheet:i,rowColumnSegment:a}=n;if(!i)return;let o=new Set,s=i.getSheetId();ie.foreach(a,(t,a)=>{if(!i.getRowVisible(t)||!i.getColVisible(a))return;let c=n.getCellWithCoordByIndex(t,a,!1),{mergeInfo:l}=c,u=i.getCell(t,a);if(c.isMerged&&(u=i.getCell(l.startRow,l.startColumn)),!(u!=null&&u.customRender))return;if(!this.isRenderDiffRangesByRow(l.startRow,l.endRow,r))return!0;if(c.isMerged||c.isMergedMainCell){let e=Ti(l);if(o.has(e))return;o.add(e)}c.isMerged&&(c=n.getCellWithCoordByIndex(l.startRow,l.startColumn,!1));let d={data:u,style:n.getStyles().getStyleByCell(u),primaryWithCoord:c,subUnitId:s,row:t,col:a,worksheet:i,unitId:i.unitId},f=u.customRender.sort(Be);e.save(),f.forEach(t=>{t.drawWith(e,d,n,this.parent)}),e.restore()})}};ei.add(Ei);let Di=function(e){return e.Normal=`Normal`,e.Mandatory=`Mandatory`,e.Hyphen=`Hyphen`,e.Link=`Link`,e}({});var Oi=class{constructor(e,t=Di.Normal){this.position=e,this.type=t}};const ki=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]];var Ai=class{constructor(){K(this,`_rules`,new Map)}add(e,t){this._rules.set(e,t)}shouldBreak(e,t,n){for(let r of this._rules.values())if(r(e,t,n))return!0;return!1}},ji=new Uint8Array([0,8,14,0,0,0,0,0,176,232,0,0,1,181,15,74,240,237,157,11,140,93,69,25,199,231,178,187,183,123,31,187,237,46,108,193,194,22,104,41,200,242,48,128,104,16,129,152,162,64,42,10,193,42,24,121,104,2,65,177,4,9,69,41,193,104,73,35,193,84,20,104,144,152,74,140,109,80,1,149,87,12,175,68,64,162,60,42,9,136,196,70,194,35,40,132,84,222,34,40,18,255,195,153,113,103,103,231,253,58,183,244,158,228,151,57,103,158,223,124,243,205,227,204,57,231,222,141,3,132,220,0,110,5,119,129,191,129,127,128,127,130,255,130,129,65,66,58,131,254,238,56,88,0,22,129,41,240,1,240,97,135,116,71,128,163,12,225,199,130,229,224,100,112,58,88,1,86,130,11,193,197,66,188,75,192,247,193,85,224,26,176,17,220,0,174,7,183,128,59,193,239,192,67,224,81,240,56,75,251,36,115,159,3,47,129,55,192,155,128,12,17,50,12,230,129,113,176,0,44,2,83,96,95,112,16,56,20,44,101,225,203,192,9,44,156,94,127,30,124,9,124,5,124,21,156,7,46,4,23,179,240,239,130,43,192,143,216,245,79,193,117,67,85,249,55,195,189,3,220,203,242,167,242,61,0,247,17,176,25,252,21,60,11,30,27,168,174,183,128,87,216,245,91,112,27,205,42,77,11,238,24,152,0,147,205,42,124,11,139,191,164,89,185,123,179,184,156,3,154,211,28,194,56,2,124,140,33,198,53,113,12,226,30,47,197,63,11,229,157,228,145,135,11,95,20,242,251,50,206,87,128,149,224,34,176,166,57,93,223,181,56,95,7,214,75,229,111,196,245,213,194,245,181,184,254,21,248,141,144,150,114,23,75,119,159,224,191,137,234,20,60,209,172,236,158,242,44,206,159,3,47,130,55,192,59,160,57,7,233,160,251,209,57,85,30,19,112,39,193,30,115,166,203,221,23,231,7,206,209,215,243,35,8,59,220,16,238,194,39,144,254,83,224,179,224,20,112,6,56,27,156,15,190,9,86,131,75,193,229,96,29,88,15,54,176,50,175,99,238,205,112,239,0,247,130,7,193,163,96,51,11,123,6,238,243,224,37,141,156,175,9,254,111,225,188,49,60,147,237,132,243,54,24,5,243,193,66,176,4,236,7,14,6,135,129,143,131,99,193,114,112,50,56,29,172,0,43,135,171,252,47,128,251,109,240,29,118,253,61,184,235,134,253,117,182,158,165,217,0,247,58,143,244,55,7,148,117,187,148,230,30,225,250,90,102,99,15,192,239,17,176,121,184,234,207,207,12,251,241,2,120,21,252,155,234,187,5,61,131,241,86,117,190,160,101,78,187,72,8,159,178,196,237,211,167,79,58,248,56,80,183,28,125,250,244,233,211,167,79,159,62,125,182,46,246,239,209,251,182,131,91,51,247,67,180,251,32,173,106,47,143,158,31,129,243,95,10,97,71,181,236,233,63,141,56,159,99,241,78,129,251,49,184,147,224,12,156,159,205,242,62,31,238,69,96,13,88,11,126,0,174,6,63,105,85,251,56,63,135,123,99,107,230,254,16,229,54,248,253,204,80,246,221,8,191,31,60,0,30,4,15,129,77,224,143,224,225,126,88,63,172,31,214,15,235,135,37,15,251,51,120,2,60,213,170,246,76,235,228,249,86,189,212,93,255,62,125,122,153,216,117,236,203,232,99,111,130,183,91,225,207,233,72,91,237,63,12,255,121,96,39,176,43,216,75,138,183,15,174,15,2,135,130,165,96,25,56,174,93,201,117,34,220,211,218,245,143,63,59,204,173,184,18,252,9,116,231,233,57,26,92,2,238,84,132,189,45,93,127,112,140,144,243,192,45,96,203,88,229,183,219,56,33,95,0,87,130,95,131,151,193,211,173,74,119,167,130,107,192,147,84,135,29,66,14,0,4,247,31,159,233,84,215,34,23,131,43,26,211,220,203,226,114,182,224,122,223,46,33,159,4,95,3,95,7,55,129,87,193,129,35,240,3,55,130,87,70,102,230,179,173,49,54,58,83,111,125,250,244,233,179,45,113,252,168,121,238,63,19,243,209,57,154,249,159,114,110,123,246,154,133,135,173,66,216,106,41,237,26,92,175,101,126,203,53,239,94,209,247,178,214,37,126,47,203,196,101,154,250,173,51,212,155,178,30,225,251,209,119,229,20,241,126,193,252,110,178,228,97,227,118,133,126,85,240,248,247,176,248,191,23,202,125,152,157,63,46,248,109,166,235,48,240,119,232,249,5,184,175,180,171,119,195,222,130,219,192,250,97,78,167,186,158,11,119,71,176,51,187,190,0,105,23,119,166,247,21,247,193,249,65,157,105,25,14,197,249,249,112,151,194,93,6,142,5,203,193,201,29,181,204,13,216,224,233,157,105,185,22,130,21,138,184,60,254,42,176,82,40,143,198,191,8,215,107,88,30,107,225,174,99,225,116,15,116,61,206,55,26,242,187,161,163,214,59,221,119,165,123,171,183,34,252,174,206,204,52,247,225,122,19,245,3,127,1,79,179,60,158,135,251,50,59,127,29,238,219,154,114,229,250,12,98,93,214,1,243,192,68,119,118,89,147,221,234,124,73,119,186,110,54,246,67,220,131,187,213,187,127,135,9,121,30,137,243,163,193,113,221,114,253,203,133,19,123,76,158,58,56,141,233,224,76,131,46,206,210,132,157,11,255,85,93,55,219,200,73,104,221,87,39,108,127,250,110,226,165,221,233,115,58,151,92,198,174,175,130,251,227,66,182,182,81,83,206,245,221,234,221,201,27,133,246,186,173,155,255,153,86,104,61,238,102,114,222,223,3,246,85,39,155,28,219,232,49,196,219,12,158,242,108,211,103,183,2,253,202,182,177,165,59,253,174,249,182,202,235,158,227,201,127,104,252,17,232,83,177,54,236,140,148,25,155,82,49,15,242,238,144,64,102,170,199,93,70,42,119,49,220,41,112,192,72,253,246,46,218,61,253,70,64,23,78,229,62,132,233,225,112,184,75,71,102,167,95,6,191,19,60,116,117,34,139,123,90,132,30,232,122,239,204,204,122,212,201,127,206,200,204,240,111,20,104,207,111,49,157,173,73,212,143,14,115,144,217,54,174,175,69,30,151,143,84,223,145,252,144,185,235,71,170,176,13,35,254,243,248,245,72,115,11,184,19,252,86,72,255,7,156,63,12,30,7,79,10,254,207,225,252,69,240,58,248,23,120,135,133,13,226,222,191,51,58,29,111,28,231,243,217,245,66,184,123,142,206,94,55,236,47,236,23,156,202,210,125,136,249,125,148,185,71,194,125,77,40,255,152,209,106,159,129,158,159,196,220,83,225,158,33,229,191,255,232,204,122,158,141,235,115,13,251,19,180,63,174,26,245,215,223,123,137,213,84,183,131,225,115,87,47,141,177,161,108,24,104,252,159,9,66,172,140,129,37,96,17,99,15,135,52,174,236,13,112,187,65,32,22,193,208,75,90,228,221,199,103,239,158,83,63,122,108,39,132,161,9,201,60,230,210,45,185,142,35,195,140,174,64,83,186,206,13,97,117,216,174,96,153,114,249,180,45,27,236,122,130,244,143,169,109,28,85,159,220,83,227,159,131,65,214,14,180,207,183,4,168,125,238,206,224,231,124,140,24,35,211,54,205,211,241,184,227,82,90,145,1,233,154,144,188,253,109,247,204,249,247,122,249,189,6,183,15,209,6,248,181,171,206,100,155,18,211,140,91,210,150,160,84,191,221,26,24,12,76,163,35,68,134,208,118,148,215,42,182,182,173,219,238,114,66,117,65,199,124,62,103,113,255,22,209,207,97,189,206,152,208,110,19,138,243,38,115,109,243,247,72,15,193,219,197,103,253,161,91,175,139,237,223,22,144,215,241,62,58,111,10,46,167,110,219,206,61,118,187,222,31,181,53,186,207,61,182,52,137,189,238,29,75,28,89,127,170,184,60,142,171,62,82,183,235,123,193,166,228,241,247,189,132,143,30,186,196,111,140,115,25,239,114,218,95,78,157,200,105,232,216,204,251,180,120,143,41,222,215,149,144,85,39,191,236,175,139,87,210,214,115,149,43,218,155,207,253,191,169,125,83,244,159,208,121,44,119,25,49,245,207,105,19,41,245,107,203,203,87,190,49,70,201,113,77,238,47,117,180,143,216,127,82,180,143,152,167,169,175,202,126,54,29,133,206,59,124,189,173,202,155,251,183,20,229,169,198,209,186,219,39,5,166,118,177,201,16,179,14,80,245,75,87,123,81,233,160,116,123,196,234,59,181,28,33,253,161,69,236,237,95,106,62,42,213,255,67,108,90,182,185,58,250,189,78,206,84,122,55,233,192,54,78,228,186,15,224,227,176,235,250,110,107,232,255,174,109,146,187,255,155,218,208,117,191,95,148,185,244,51,130,146,99,145,105,76,138,209,127,76,93,234,208,117,10,189,187,150,151,219,254,93,242,214,173,19,101,82,142,199,190,54,233,219,223,197,118,112,29,211,57,123,245,8,178,92,173,200,252,186,30,122,228,247,133,189,170,27,174,31,95,187,80,233,100,92,66,244,27,20,206,199,216,117,83,193,32,75,39,63,147,176,141,7,169,239,187,229,231,82,220,165,71,67,112,99,198,215,84,107,179,49,7,255,210,115,162,235,24,197,251,71,236,216,46,218,150,110,109,193,159,95,199,140,139,58,121,99,251,160,107,249,186,244,239,171,153,5,53,179,115,205,228,90,75,153,198,13,121,157,100,234,71,185,169,179,236,210,229,211,163,65,102,142,31,190,178,218,198,189,80,92,215,129,161,178,251,148,175,91,251,228,148,193,167,222,169,203,159,138,40,63,245,154,142,235,126,72,184,230,182,39,174,127,83,237,3,164,106,63,190,14,228,242,143,75,254,178,141,241,247,209,114,200,95,199,189,179,205,174,74,174,205,100,253,136,215,188,61,98,215,45,177,247,114,190,246,107,186,167,203,133,73,191,60,78,93,247,125,220,182,92,245,23,75,234,241,47,246,222,73,164,228,145,67,54,81,159,163,142,240,113,86,60,23,253,92,112,145,223,71,22,213,218,182,14,66,108,136,167,141,221,143,208,29,161,118,227,187,254,201,57,159,200,118,230,243,222,132,78,230,212,251,63,185,112,93,247,219,218,75,182,185,24,91,21,219,220,212,23,84,182,145,178,239,132,126,91,144,2,185,236,58,108,131,175,117,117,125,132,51,40,93,239,192,100,222,85,144,95,142,183,61,153,249,173,206,0,153,254,174,116,64,113,45,198,165,204,21,160,249,241,111,96,117,186,108,91,16,101,160,229,12,49,116,186,25,102,178,53,132,184,166,248,166,254,215,86,232,180,43,93,207,87,164,245,89,103,200,253,216,229,27,52,94,63,241,123,42,249,27,43,151,244,161,247,99,226,248,210,50,208,182,132,251,166,109,43,206,99,202,104,121,180,147,235,156,21,179,159,192,237,93,110,195,54,113,107,23,49,157,207,187,195,174,118,147,227,251,72,83,217,170,239,12,85,223,169,154,208,149,231,155,206,85,47,114,251,230,40,207,71,166,208,186,168,228,146,253,84,225,220,149,191,75,182,181,173,74,23,114,29,76,186,51,217,144,139,61,132,180,181,173,220,20,253,193,164,27,211,117,10,251,73,149,191,171,206,98,117,23,43,151,47,115,19,200,64,15,241,57,113,168,172,252,222,216,167,204,28,58,149,239,213,99,242,138,153,87,117,248,206,31,57,233,6,166,145,237,34,135,92,62,125,40,69,89,161,50,184,234,210,39,31,213,181,171,191,156,71,108,253,92,245,238,154,38,71,255,54,213,219,166,55,158,15,15,31,85,148,51,73,210,140,39,33,117,212,233,48,133,46,99,218,93,101,115,92,127,170,56,41,100,46,165,127,91,189,75,227,186,191,45,219,178,201,166,119,215,196,87,245,7,57,76,236,119,58,61,169,228,80,229,163,146,103,210,80,174,10,149,174,38,37,74,217,136,120,61,160,129,134,241,231,146,178,252,244,104,4,184,57,230,225,80,123,231,50,149,236,35,174,122,170,163,76,95,183,78,189,149,44,187,148,173,164,178,107,25,211,62,170,252,14,130,188,135,219,36,110,207,87,108,184,190,183,164,123,54,163,27,163,108,152,246,253,197,125,106,34,213,83,28,3,197,107,122,152,250,132,156,63,127,199,70,181,47,174,210,211,246,12,221,94,58,81,148,161,171,147,174,44,62,166,187,212,197,247,249,119,46,248,239,75,54,4,191,33,225,220,86,23,34,165,181,197,27,18,206,197,116,161,207,238,117,113,85,254,252,89,140,232,71,219,96,49,59,183,185,185,41,85,142,173,124,151,122,219,194,22,147,217,207,128,135,36,120,155,244,154,254,83,213,95,101,127,139,137,218,14,99,100,142,193,150,191,109,125,152,163,29,66,117,227,251,188,43,102,206,77,53,127,235,214,19,190,239,75,164,150,65,156,227,68,92,245,43,203,228,251,30,71,14,125,234,100,240,177,15,215,103,161,161,240,239,131,248,90,194,231,253,26,159,103,194,49,239,51,185,148,239,139,143,126,92,236,199,86,94,142,239,26,114,63,187,167,101,212,241,205,148,169,189,235,60,66,244,77,15,221,252,97,122,167,116,74,227,239,75,157,223,223,77,101,212,171,171,45,139,58,158,32,246,123,46,57,239,16,157,135,126,199,228,58,110,248,212,223,119,140,146,243,142,29,175,119,4,59,21,164,116,121,190,123,32,41,191,237,148,243,174,227,251,78,89,134,247,215,76,206,181,82,87,211,166,244,183,141,39,136,223,239,32,231,254,141,229,210,240,61,151,210,229,202,235,227,216,117,225,48,153,222,43,226,191,37,45,239,179,209,247,96,114,173,79,85,243,9,47,215,213,149,211,153,230,170,134,224,82,249,249,94,129,248,188,200,86,142,13,254,222,170,234,158,185,14,91,229,101,207,103,46,175,167,44,171,74,135,13,201,245,217,99,144,247,25,154,158,121,196,66,2,101,207,85,62,215,109,67,58,231,122,74,181,167,84,130,148,123,108,190,136,253,137,218,110,75,10,231,239,166,218,250,155,235,26,70,28,175,118,35,213,190,92,29,253,217,182,222,239,133,177,134,207,73,41,101,240,93,115,202,109,87,151,30,100,157,184,220,207,213,37,31,183,165,58,202,157,146,202,143,89,79,228,182,55,151,103,152,174,182,224,210,246,186,114,76,107,178,18,246,228,170,19,91,63,176,201,95,234,247,40,196,113,126,76,145,62,102,12,138,197,197,190,75,247,145,28,121,166,236,167,42,221,213,113,152,246,73,117,123,161,185,214,162,174,242,202,178,211,195,69,215,252,55,251,82,218,149,139,29,119,200,236,113,199,117,191,144,143,49,165,214,43,57,199,179,208,57,211,71,46,213,248,94,215,24,192,203,20,191,151,118,25,15,228,124,228,247,143,84,118,198,207,125,126,95,96,92,202,63,100,125,229,219,150,186,247,181,38,164,60,235,154,203,92,234,108,122,14,94,114,124,201,209,127,85,101,212,113,136,178,168,108,222,7,158,223,148,116,174,170,187,202,159,191,31,40,30,49,242,184,180,163,107,251,152,214,56,170,177,208,119,28,229,54,45,143,51,186,50,93,230,178,88,251,228,191,159,202,223,195,145,127,131,215,118,15,20,114,63,32,150,47,199,245,105,191,216,250,203,191,93,236,66,233,241,49,102,190,183,233,52,86,127,177,196,254,14,156,239,243,123,209,54,67,127,115,174,174,246,143,89,243,233,214,107,177,71,204,28,66,132,115,121,61,227,242,110,28,37,100,15,57,70,255,169,219,132,183,203,184,144,87,9,187,19,235,31,99,63,41,177,149,45,251,169,214,219,99,158,186,244,109,191,82,54,33,207,161,226,252,227,211,63,114,216,187,13,83,249,117,204,177,114,253,67,222,195,245,157,111,82,233,143,191,187,154,186,109,98,237,211,5,23,125,218,250,123,170,246,136,237,15,49,99,187,73,254,84,135,234,158,206,197,182,197,249,120,130,148,63,196,242,67,246,71,93,143,148,227,71,105,218,100,246,111,232,229,28,163,117,196,62,47,228,121,132,142,189,37,244,47,30,13,1,57,158,236,199,227,19,77,252,220,50,235,228,244,205,103,208,0,47,71,229,199,93,211,26,41,247,92,18,99,31,169,218,45,116,62,10,221,47,54,245,53,221,252,234,211,231,98,229,240,89,227,170,224,97,169,215,103,37,198,146,216,54,85,205,213,177,253,40,197,189,141,136,252,13,170,238,127,150,108,235,143,94,155,143,93,203,143,217,123,168,123,61,34,203,31,35,71,236,119,179,169,72,209,94,185,222,93,44,49,230,152,198,96,219,115,159,82,253,205,54,246,228,30,223,82,143,129,190,117,46,217,246,190,243,98,110,114,181,173,74,175,185,230,65,159,54,20,227,170,158,141,197,140,185,41,116,22,59,255,196,150,149,218,206,83,146,66,63,177,117,9,181,83,223,126,159,123,158,74,161,203,16,185,100,157,197,236,23,250,252,6,123,142,242,83,180,75,234,249,223,102,159,114,250,208,250,243,163,14,27,18,105,91,174,125,9,249,13,65,113,125,153,250,119,9,83,231,215,205,32,111,142,117,250,46,133,80,149,61,169,241,79,129,170,13,74,150,161,243,23,127,75,84,165,7,85,120,105,22,42,144,229,83,201,107,35,133,108,62,229,249,200,163,146,79,142,235,90,151,73,67,158,62,182,165,114,117,101,233,210,134,246,1,211,216,29,219,134,174,115,68,206,188,115,213,205,102,183,46,237,23,154,191,107,153,41,40,173,199,144,114,76,125,189,212,239,58,139,191,117,106,250,31,175,212,54,225,59,238,250,150,153,218,174,82,235,61,119,249,169,229,79,37,95,174,254,26,91,63,221,122,199,197,126,125,214,18,62,246,238,179,70,40,185,46,203,85,134,106,45,19,83,158,105,125,20,179,38,172,99,13,28,187,126,141,189,55,143,221,31,41,165,39,215,122,255,15]);const Mi=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,Ni=(e,t,n)=>{let r=e[t];e[t]=e[n],e[n]=r},Pi=e=>{let t=e.length;for(let n=0;n<t;n+=4)Ni(e,n,n+3),Ni(e,n+1,n+2)},Fi=e=>{Mi&&Pi(e)};var Ii=class{constructor(){K(this,`table`,new Uint16Array(16)),K(this,`trans`,new Uint16Array(288))}},Li=class{constructor(e,t){K(this,`source`,void 0),K(this,`dest`,void 0),K(this,`sourceIndex`,void 0),K(this,`tag`,void 0),K(this,`bitcount`,void 0),K(this,`destLen`,void 0),K(this,`ltree`,void 0),K(this,`dtree`,void 0),this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new Ii,this.dtree=new Ii}};const Ri=new Ii,zi=new Ii,Bi=new Uint8Array(30),Vi=new Uint16Array(30),Hi=new Uint8Array(30),Ui=new Uint16Array(30),Wi=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Gi=new Ii,Ki=new Uint8Array(320);function qi(e,t,n,r){let i,a;for(i=0;i<n;++i)e[i]=0;for(i=0;i<30-n;++i)e[i+n]=i/n|0;for(a=r,i=0;i<30;++i)t[i]=a,a+=1<<e[i]}function Ji(e,t){let n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}const Yi=new Uint16Array(16);function Xi(e,t,n,r){let i,a;for(i=0;i<16;++i)e.table[i]=0;for(i=0;i<r;++i)e.table[t[n+i]]++;for(e.table[0]=0,a=0,i=0;i<16;++i)Yi[i]=a,a+=e.table[i];for(i=0;i<r;++i)t[n+i]&&(e.trans[Yi[t[n+i]]++]=i)}function Zi(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);let t=e.tag&1;return e.tag>>>=1,t}function Qi(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;let r=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function $i(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;let n=0,r=0,i=0,a=e.tag;do r=2*r+(a&1),a>>>=1,++i,n+=t.table[i],r-=t.table[i];while(r>=0);return e.tag=a,e.bitcount-=i,t.trans[n+r]}function ea(e,t,n){let r,i,a,o=Qi(e,5,257),s=Qi(e,5,1),c=Qi(e,4,4);for(r=0;r<19;++r)Ki[r]=0;for(r=0;r<c;++r){let t=Qi(e,3,0);Ki[Wi[r]]=t}for(Xi(Gi,Ki,0,19),i=0;i<o+s;){let t=$i(e,Gi);switch(t){case 16:{let t=Ki[i-1];for(a=Qi(e,2,3);a;--a)Ki[i++]=t;break}case 17:for(a=Qi(e,3,3);a;--a)Ki[i++]=0;break;case 18:for(a=Qi(e,7,11);a;--a)Ki[i++]=0;break;default:Ki[i++]=t;break}}Xi(t,Ki,0,o),Xi(n,Ki,o,s)}function ta(e,t,n){for(;;){let r=$i(e,t);if(r===256)return 0;if(r<256)e.dest[e.destLen++]=r;else{let t;r-=257;let i=Qi(e,Bi[r],Vi[r]),a=$i(e,n),o=e.destLen-Qi(e,Hi[a],Ui[a]);for(t=o;t<o+i;++t)e.dest[e.destLen++]=e.dest[t]}}}function na(e){let t,n,r;for(;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],n=e.source[e.sourceIndex+3],n=256*n+e.source[e.sourceIndex+2],t!==(~n&65535))return-3;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}function ra(e,t){let n=new Li(e,t),r,i,a;do{switch(r=Zi(n),i=Qi(n,2,0),i){case 0:a=na(n);break;case 1:a=ta(n,Ri,zi);break;case 2:ea(n,n.ltree,n.dtree),a=ta(n,n.ltree,n.dtree);break;default:a=-3}if(a!==0)throw Error(`Data error`)}while(!r);return n.destLen<n.dest.length?typeof n.dest.slice==`function`?n.dest.slice(0,n.destLen):n.dest.subarray(0,n.destLen):n.dest}Ji(Ri,zi),qi(Bi,Vi,4,3),qi(Hi,Ui,2,1),Bi[28]=0,Vi[28]=258;const ia=2048;ia+32+32;const aa=new class{constructor(e){K(this,`highStart`,void 0),K(this,`errorValue`,void 0),K(this,`data`,void 0);let t=typeof e.readUInt32BE==`function`&&typeof e.slice==`function`;if(t||e instanceof Uint8Array){let n;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),n=e.readUInt32LE(8),e=e.slice(12);else{let t=new DataView(e.buffer);this.highStart=t.getUint32(0,!0),this.errorValue=t.getUint32(4,!0),n=t.getUint32(8,!0),e=e.subarray(12)}e=ra(e,new Uint8Array(n)),e=ra(e,new Uint8Array(n)),Fi(e),this.data=new Uint32Array(e.buffer)}else ({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(e&31),this.data[t]):e<=65535?(t=(this.data[ia+(e-55296>>5)]<<2)+(e&31),this.data[t]):e<this.highStart?(t=this.data[2080+(e>>11)],t=this.data[t+(e>>5&63)],t=(t<<2)+(e&31),this.data[t]):this.data[this.data.length-4]}}(ji);function oa(e){switch(e){case 33:return 12;case 39:case 40:case 42:return 12;case 35:return 5;default:return e}}function sa(e){switch(e){case 37:case 38:return 34;case 41:return 22;default:return e}}var ca=class{constructor(e){this.content=e,K(this,`_pos`,0),K(this,`_lastPos`,0),K(this,`_curClass`,null),K(this,`_codePoint`,null),K(this,`_lastCodePoint`,null),K(this,`_nextClass`,null),K(this,`_LB8a`,!1),K(this,`_LB21a`,!1),K(this,`_LB30a`,0),K(this,`_rule`,new Ai)}use(e){return e(this),this}addRule(e,t){return this._rule.add(e,t),this}nextBreakPoint(){if(this._curClass==null){let e=this._nextCharClass();this._curClass=sa(e),this._nextClass=e,this._LB8a=e===31,this._LB30a=0}for(;this._pos<this.content.length;){this._lastPos=this._pos;let e=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===34||this._curClass===36&&this._nextClass!==37)return this._curClass=sa(oa(this._nextClass)),new Oi(this._lastPos,Di.Mandatory);if(this._rule.shouldBreak(this._codePoint,this._lastCodePoint,this._nextClass))return this._curClass=sa(oa(this._nextClass)),new Oi(this._lastPos);let t=this._getSimpleBreak();if(t===null&&(t=this._getPairTableBreak(e)),this._LB8a=this._nextClass===31,t)return new Oi(this._lastPos)}return this._lastPos<this.content.length?(this._lastPos=this.content.length,new Oi(this.content.length)):null}_getNextCodePoint(){let e=this.content.charCodeAt(this._pos++),t=this.content.charCodeAt(this._pos);return e>=55296&&e<=56319&&t>=56320&&t<=57343?(this._pos++,(e-55296)*1024+(t-56320)+65536):e}_nextCharClass(){let e=this._getNextCodePoint(),t=aa.get(e);return this._lastCodePoint=this._codePoint,this._codePoint=e,oa(t)}_getSimpleBreak(){switch(this._nextClass){case 41:return!1;case 34:case 37:case 38:return this._curClass=34,!1;case 36:return this._curClass=36,!1}return null}_getPairTableBreak(e){let t=!1;switch(ki[this._curClass][this._nextClass]){case 0:t=!0;break;case 1:t=e===41;break;case 2:if(t=e===41,!t)return t=!1,t;break;case 3:if(e!==41)return t;break;case 4:break}return this._LB8a&&(t=!1),this._LB21a&&(this._curClass===16||this._curClass===17)?(t=!1,this._LB21a=!1):this._LB21a=this._curClass===13,this._curClass===28?(this._LB30a++,this._LB30a===2&&this._nextClass===28&&(t=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,t}},la=class{constructor(e,t,n,r,i){this._text=e,this._fontStyle=t,this._warp=n,this._width=r,this._height=i,K(this,`_lineBreaker`,void 0),K(this,`_lines`,[]),K(this,`_dirty`,!0),K(this,`_lastBreakLength`,0),this._lineBreaker=new ca(this._text)}calculate(){if(!this._dirty)return this._lines;if(this._dirty=!1,this._lines=[],this._text.length===0){let e=q.getMeasureText(`A`,this._fontStyle);return this._lines.push({text:``,width:0,height:e.fontBoundingBoxAscent+e.fontBoundingBoxDescent,baseline:e.fontBoundingBoxAscent}),this._lines}if(!this._warp){let e=q.getMeasureText(this._text,this._fontStyle);return this._lines.push({text:this._text,width:e.width,height:e.fontBoundingBoxAscent+e.fontBoundingBoxDescent,baseline:e.fontBoundingBoxAscent}),this._lines}let e=0,t={text:``,width:0,height:0,baseline:0},n=0;for(;;){let r=this._lineBreaker.nextBreakPoint();if(!r)break;let{position:i}=r,a=this._text.slice(e,i),o=q.getMeasureText(a,this._fontStyle);if(o.width+t.width>this._width)if(o.width>this._width){if(t.text.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:``,width:0,height:0,baseline:0}}let e=a;for(;e.length>0;){let r=0,i=``,a=0,o=Math.min(this._lastBreakLength,e.length);o===0&&(o=Math.min(10,e.length));let s=e.slice(0,o),c=q.getMeasureText(s,this._fontStyle);if(c.width+t.width<=this._width){r=o;for(let n=o+1;n<=e.length&&(s=e.slice(0,n),c=q.getMeasureText(s,this._fontStyle),c.width+t.width<=this._width);n++)r=n}else{r=0;for(let n=o-1;n>=1;n--)if(s=e.slice(0,n),c=q.getMeasureText(s,this._fontStyle),c.width+t.width<=this._width){r=n;break}}if(r>0&&(this._lastBreakLength=r),r>0&&(i=e.slice(0,r),a=q.getMeasureText(i,this._fontStyle).width),r===0&&t.text.length===0&&(r=1,i=e[0],a=q.getMeasureText(i,this._fontStyle).width),r>0){t.text+=i,t.width+=a;let o=q.getMeasureText(t.text,this._fontStyle);if(t.height=o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,t.baseline=o.fontBoundingBoxAscent,e=e.slice(r),e.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:``,width:0,height:0,baseline:0}}}else break}}else if(t.text.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:a,width:o.width,height:o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,baseline:o.fontBoundingBoxAscent}}else t={text:a,width:o.width,height:o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,baseline:o.fontBoundingBoxAscent};else t.text+=a,t.width+=o.width,t.baseline=o.fontBoundingBoxAscent,t.height=o.fontBoundingBoxAscent+o.fontBoundingBoxDescent;e=i}return t.text.length>0&&this._lines.push(t),this._lines}getLines(){return this._lines}getTotalHeight(){return this._lines.reduce((e,t)=>e+t.height,0)}getTotalWidth(){return this._lines.reduce((e,t)=>Math.max(e,t.width),0)}makeDirty(){this._dirty=!0,this._lastBreakLength=0}};const ua=new Set(Vr),da=[`hoverCursor`,`moveCursor`,`fillRule`,`globalCompositeOperation`,`paintFirst`,`stroke`,`strokeScaleEnabled`,`fill`,`fillAfterStrokeEnabled`,`hitStrokeWidth`,`strokeLineJoin`,`strokeLineCap`,`shadowColor`,`shadowBlur`,`shadowOffset`,`shadowOffsetX`,`shadowOffsetY`,`shadowOpacity`,`shadowEnabled`,`shadowForStrokeEnabled`,`strokeDashArray`,`strokeDashOffset`,`strokeMiterLimit`];var fa=class extends Ur{constructor(e,t){super(e),K(this,`_hoverCursor`,void 0),K(this,`_moveCursor`,null),K(this,`_fillRule`,`nonzero`),K(this,`_globalCompositeOperation`,`source-over`),K(this,`_paintFirst`,`fill`),K(this,`_stroke`,void 0),K(this,`_strokeScaleEnabled`,!1),K(this,`_fill`,void 0),K(this,`_fillAfterStrokeEnabled`,!1),K(this,`_hitStrokeWidth`,0),K(this,`_strokeLineJoin`,`round`),K(this,`_strokeLineCap`,`round`),K(this,`_shadowColor`,void 0),K(this,`_shadowBlur`,0),K(this,`_shadowOffset`,void 0),K(this,`_shadowOffsetX`,0),K(this,`_shadowOffsetY`,0),K(this,`_shadowOpacity`,0),K(this,`_shadowEnabled`,!1),K(this,`_shadowForStrokeEnabled`,!1),K(this,`_strokeDashArray`,void 0),K(this,`_strokeDashOffset`,0),K(this,`_strokeMiterLimit`,0),K(this,`_type`,at.RECT),K(this,`objectType`,Hr.SHAPE),this._initialProps(t)}get hoverCursor(){return this._hoverCursor}get moveCursor(){return this._moveCursor}get fillRule(){return this._fillRule}get globalCompositeOperation(){return this._globalCompositeOperation}get paintFirst(){return this._paintFirst}get stroke(){return this._stroke}get strokeScaleEnabled(){return this._strokeScaleEnabled}get fill(){return this._fill}get fillAfterStrokeEnabled(){return this._fillAfterStrokeEnabled}get hitStrokeWidth(){return this._hitStrokeWidth}get strokeLineJoin(){return this._strokeLineJoin}get strokeLineCap(){return this._strokeLineCap}get shadowColor(){return this._shadowColor}get shadowBlur(){return this._shadowBlur}get shadowOffset(){return this._shadowOffset}get shadowOffsetX(){return this._shadowOffsetX}get shadowOffsetY(){return this._shadowOffsetY}get shadowOpacity(){return this._shadowOpacity}get shadowEnabled(){return this._shadowEnabled}get shadowForStrokeEnabled(){return this._shadowForStrokeEnabled}get strokeDashArray(){return this._strokeDashArray}get strokeDashOffset(){return this._strokeDashOffset}get strokeMiterLimit(){return this._strokeMiterLimit}static drawWith(e,t){}static _renderPaintInOrder(e,t){t.paintFirst===`stroke`?(this._renderStroke(e,t),this._renderFill(e,t)):(this._renderFill(e,t),this._renderStroke(e,t))}static _renderFill(e,t){t.fill&&(e.save(),this._setFillStyles(e,t),t.fillRule===`evenodd`?e.fill(`evenodd`):e.fill(),e.restore())}static _renderStroke(e,t){let{stroke:n,strokeWidth:r,strokeScaleEnabled:i}=t;!n||r===0||(e.save(),this._setStrokeStyles(e,t),e.stroke(),e.restore())}static _removeShadow(e){}static _setFillStyles(e,t){e.fillStyle=t.fill}static _setStrokeStyles(e,t){let{strokeWidth:n,strokeLineCap:r,strokeDashOffset:i,strokeLineJoin:a,strokeMiterLimit:o,stroke:s}=t;e.lineWidth=n,e.lineCap=r,e.lineDashOffset=i,e.lineJoin=a,e.miterLimit=o,e.strokeStyle=s}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(t)){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth+this.left<n||i<this.left||this.height+this.strokeWidth+this.top<e||r<this.top)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e,t),e.restore(),this.makeDirty(!1),this}setProps(e){if(!e)return this;let t=Object.keys(e);return t.length===0?this:(t.forEach(t=>{if(e[t]===void 0)return!0;ua.has(t)||(this[`_${t}`]=e[t])}),this.makeDirty(!0),this)}getPropByKey(e){return this[`_${String(e)}`]}toJson(){let e={};return da.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(e,t){}_initialProps(e){if(!e)return;let t=Object.keys(e);if(t.length===0)return;let n={},r=!1,i=(e==null?void 0:e.rotateEnabled)!==void 0,a=(e==null?void 0:e.resizeEnabled)!==void 0,o=(e==null?void 0:e.borderEnabled)!==void 0;if(i||a||o){let t=this.transformerConfig||{};i&&(t.rotateEnabled=e==null?void 0:e.rotateEnabled),a&&(t.resizeEnabled=e==null?void 0:e.resizeEnabled),o&&(t.borderEnabled=e==null?void 0:e.borderEnabled),this.transformerConfig={...t}}t.forEach(t=>{if(e[t]===void 0)return!0;ua.has(t)?(n[t]=e[t],r=!0):this[`_${t}`]=e[t]}),r&&this.transformByState(n),this.makeDirty(!0)}};const pa=[`text`,`fontStyle`,`warp`,`hAlign`,`vAlign`,`width`,`height`,`color`];var ma=class e extends fa{constructor(e,t){var n,r,i;super(e,t),K(this,`text`,void 0),K(this,`fontStyle`,void 0),K(this,`warp`,void 0),K(this,`hAlign`,void 0),K(this,`vAlign`,void 0),K(this,`skeleton`,void 0),this.width=t.width,this.height=t.height,this.text=t.text,this.fontStyle=t.fontStyle,this.warp=(n=t.warp)==null?!1:n,this.hAlign=(r=t.hAlign)==null?w.LEFT:r,this.vAlign=(i=t.vAlign)==null?ge.TOP:i,this.skeleton=new la(t.text,t.fontStyle,!!t.warp,t.width,t.height)}static drawWith(e,t,n){var r;let{text:i,fontStyle:a,warp:o,hAlign:s,vAlign:l,width:u,height:d,left:f=0,top:p=0,cellValueType:m}=t,h=n==null?new la(i,a,!!o,u,l===ge.TOP?d:1/0):n,g=h.calculate(),_=h.getTotalHeight(),v=p+(l===ge.TOP?0:l===ge.MIDDLE?(d-_)/2:d-_);e.save(),e.font=a,e.fillStyle=(r=t.color)==null?ht:r;for(let n of g){let r=n.height,i=n.width,a=0;if(!(!o&&u<i&&m===c.NUMBER))switch(s){case w.CENTER:a=(u-i)/2;break;case w.RIGHT:a=u-i;break;default:a=0}let l=v+n.baseline;if(e.fillText(n.text,f+a,l),t.underline){var y;this._drawTextDecoration(e,{x:f+a,y:v+r-1,width:i,color:t.color||`#000000`,lineWidth:1,lineType:(y=t.underlineType)==null?z.SINGLE:y})}t.strokeLine&&this._drawTextDecoration(e,{x:f+a,y:v+n.baseline-r*.3,width:i,color:t.color||`#000000`,lineWidth:1,lineType:z.SINGLE}),v+=r}return e.restore(),_}static _drawTextDecoration(e,t){let{x:n,y:r,width:i,color:a,lineWidth:o,lineType:s}=t,c=this._isDouble(s)?r-.8:r;e.save(),e.strokeStyle=a,this._setLineType(e,s,o),e.beginPath(),e.moveTo(n,c),this._drawLine(e,n,c,i,s),this._isDouble(s)&&(e.moveTo(n,c+2),this._drawLine(e,n,c+2,i,s)),e.stroke(),e.restore()}static _drawLine(e,t,n,r,i){if(this._isWave(i))for(let t=1;t<r+1;t++)e.lineTo(t,n+.8*Math.sin(t*1));else e.lineTo(t+r,n)}static _setLineType(e,t,n){switch(t){case z.SINGLE:case z.DOUBLE:e.lineWidth=1,e.setLineDash([0]);return;case z.DOTTED:e.lineWidth=1,e.setLineDash([2]);return;case z.DOTTED_HEAVY:e.lineWidth=2,e.setLineDash([2]);return;case z.DASH:e.lineWidth=1,e.setLineDash([3]);return;case z.DASHED_HEAVY:e.lineWidth=2,e.setLineDash([3]);return;case z.DASH_LONG:e.lineWidth=1,e.setLineDash([6]);return;case z.DASH_LONG_HEAVY:e.lineWidth=2,e.setLineDash([6]);return;case z.DOT_DASH:e.lineWidth=1,e.setLineDash([2,5,2]);return;case z.DASH_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,5,2]);return;case z.DOT_DOT_DASH:e.lineWidth=1,e.setLineDash([2,2,5,2,2]);return;case z.DASH_DOT_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,2,5,2,2]);return;case z.THICK:e.lineWidth=2,e.setLineDash([0]);return;case z.WAVE:case z.WAVY_DOUBLE:e.lineWidth=1;return;case z.WAVY_HEAVY:e.lineWidth=2;return;default:e.setLineDash([0]),e.lineWidth=n}}static _isWave(e){return e===z.WAVE||e===z.WAVY_HEAVY||e===z.WAVY_DOUBLE}static _isDouble(e){return e===z.DOUBLE||e===z.WAVY_DOUBLE}_draw(t){this.skeleton.calculate(),e.drawWith(t,this,this.skeleton)}makeDirty(e){return super.makeDirty(e),e&&this.skeleton.makeDirty(),this}toJson(){let e={};return pa.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}},ha=class{constructor(){K(this,`_translateX`,0),K(this,`_translateY`,0),K(this,`_translateSaveList`,[])}get x(){return this._translateX}get y(){return this._translateY}reset(){this.translateBy(0,0),this._translateSaveList=[]}translateBy(e=0,t=0){this._translateX=e,this._translateY=t}translate(e=0,t=0){this._translateX+=e,this._translateY+=t}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){let e=this._translateSaveList.pop();e&&(this._translateX=e.x,this._translateY=e.y)}translatePagePadding(e){let{marginTop:t=0,marginBottom:n=0,marginLeft:r=0,marginRight:i=0}=e;this.translate(r,t)}restorePagePadding(e){let{marginTop:t=0,marginBottom:n=0,marginLeft:r=0,marginRight:i=0}=e;this.translate(-r,-t)}translatePage(e,t=Xn.VERTICAL,n=0,r=0,i=0,a=0){let{pageWidth:o,pageHeight:s}=e,c=0,l=0;return t===Xn.VERTICAL?c+=s+r:t===Xn.HORIZONTAL&&(l+=o+n),this.translate(l,c),{x:l,y:c}}translateSection(e){let{top:t=0}=e;return this.translate(0,t),{x:0,y:t}}translateColumn(e){let{left:t}=e;return this.translate(t,0),{x:t,y:0}}translateLine(e,t=!1,n=!1){let{top:r,marginBottom:i=0,marginTop:a=0,paddingTop:o=0,paddingBottom:s=0}=e,c=r+(t?a:0)+(n?o:0);return this.translate(0,c),{x:0,y:c}}translateDivide(e){let{left:t,paddingLeft:n}=e,r=t+n;return this.translate(r,0),{x:r,y:0}}translateGlyph(e){let{left:t}=e;return this.translate(t,0),{x:t,y:0}}},ga=class e{constructor(e,t){this.nodeType=e,this.content=t,K(this,`children`,[]),K(this,`parent`,void 0),K(this,`startIndex`,-1),K(this,`endIndex`,-1),K(this,`blocks`,[])}static create(t,n){return new e(t,n)}dispose(){this.children.forEach(e=>{e.dispose()}),this.parent=null,this.blocks=[]}getProps(){let{children:e,parent:t,startIndex:n,endIndex:r,nodeType:i,content:a}=this;return{children:e,parent:t,startIndex:n,endIndex:r,nodeType:i,content:a}}addBlocks(e){this.blocks=this.blocks.concat(e)}setIndexRange(e,t){this.startIndex=e,this.endIndex=t}insertText(e,t){this.content=De(this.content||``,t-this.startIndex,e)}exclude(e){let{startIndex:t,endIndex:n}=this;return e<t||e>n}plus(e){this.startIndex+=e,this.endIndex+=e,this._addIndexForBlock(e)}selfPlus(e,t){this.endIndex+=e,t==null&&(t=this.startIndex),this._addIndexForBlock(e,t)}split(t){let{children:n,parent:r,startIndex:i,nodeType:a,content:o=``}=this.getProps();if(this.exclude(t))return;let s=t-i,c=s,l=o.slice(0,s),u=e.create(a,l);u.parent=r,u.setIndexRange(0,s-1);let d=o.slice(c),f=e.create(a,d);f.parent=r,f.setIndexRange(c,c+d.length-1);let p=[],m=[];for(let e of n){let{startIndex:n}=e;if(e.exclude(t))t<n?p.push(e):m.push(e);else{let n=e.split(t);if(n==null){p.push(e);continue}let{firstNode:r,lastNode:i}=n;p.push(r),p.push(i)}}return u.children=p,f.children=m,u._resetBlocks(),f._resetBlocks(),{firstNode:u,lastNode:f}}getPositionInParent(){var e;let t=(e=this.parent)==null?void 0:e.children.indexOf(this);return t==null?-1:t}remove(){this.children=[],this.parent!=null&&(this.parent.children.splice(this.getPositionInParent(),1),this.parent=null)}minus(e,t){let n=Ee(this.startIndex,this.endIndex,e,t);if(n.length===0)return;let r=this.startIndex;this.startIndex=n[0],this.endIndex=n[1],this.content!=null&&(this.content=Se(this.content||``,e-r,t-r+1))}merge(e){let{startIndex:t,endIndex:n,children:r}=e;this.endIndex+=n-t+1,this.children.push(...r),this.content+=e.content||``,e.remove()}_addIndexForBlock(e,t=-1/0){for(let n=0,r=this.blocks.length;n<r;n++){let r=this.blocks[n];r>=t&&(this.blocks[n]=r+e)}}_resetBlocks(){if(this.nodeType===h.PARAGRAPH&&this.content!=null&&this.content.length!==0){this.blocks=[];for(let e=0,t=this.content.length;e<t;e++)this.content[e]===g.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+e)}}};let _a=function(e){return e.BODY=`BODY`,e.HEADER=`HEADER`,e.FOOTER=`FOOTER`,e}({});function va(e,t,n=h.SECTION_BREAK){if(t.length===0)throw Error("Missing `paragraphs` or `sectionBreaks` fields, or doesn't correspond to the location in `dataStream`.");for(let n of t)n.parent=e,e.children.push(n);let r=n===h.SECTION_BREAK?0:1,i=e.children;e.setIndexRange(i[0].startIndex-r,i[i.length-1].endIndex+1)}function ya(e,t){let n=``,r=e.length,i=[],a=new Map,o=[],s=[],c=[],l=[],u=[],d=[];for(let f=0;f<r;f++){let r=e[f];if(r===g.PARAGRAPH){n+=g.PARAGRAPH;let e=ga.create(h.PARAGRAPH,n),r=c[c.length-1];if(r&&r.isFinished){if(va(e,[r.table],h.PARAGRAPH),t){let e=t.find(e=>e.startIndex===r.table.startIndex&&e.endIndex===r.table.endIndex+1);e&&a.set(e.tableId,{table:r.table})}c.pop()}e.setIndexRange(f-n.length+1,f),e.addBlocks(d),d.length=0,n=``,u.length>0?s.push(e):o.push(e)}else if(r===g.SECTION_BREAK){let e=ga.create(h.SECTION_BREAK),t=u.length>0?s:o;if(t.length===0){let e=ga.create(h.PARAGRAPH,``);e.setIndexRange(f,f-1),t.push(e)}va(e,t);let n=t[t.length-1];if(n&&n.content&&(n.content+=g.SECTION_BREAK),u.length>0){let t=u[u.length-1];va(t,[e],h.TABLE_CELL)}else i.push(e);t.length=0}else if(r===g.TABLE_START){let e=ga.create(h.TABLE);c.push({table:e,isFinished:!1})}else if(r===g.TABLE_ROW_START){let e=ga.create(h.TABLE_ROW);l.push(e)}else if(r===g.TABLE_CELL_START){let e=ga.create(h.TABLE_CELL);u.push(e)}else if(r===g.TABLE_END){let e=c[c.length-1];e.isFinished=!0,n=``}else if(r===g.TABLE_ROW_END){let e=l.pop(),t=c[c.length-1];va(t.table,[e],h.TABLE)}else if(r===g.TABLE_CELL_END){let e=u.pop(),t=l[l.length-1];va(t,[e],h.TABLE_ROW)}else r===g.CUSTOM_BLOCK&&d.push(f),n+=r}return{sectionList:i,tableNodeCache:a}}var ba=class e{constructor(e){if(this._documentDataModel=e,K(this,`_interceptor`,null),K(this,`_cacheSize`,1e3),K(this,`_textRunsCache`,new Map),K(this,`_paragraphCache`,new Map),K(this,`_sectionBreakCache`,new Map),K(this,`_customBlockCache`,new Map),K(this,`_tableCache`,new Map),K(this,`_tableNodeCache`,new Map),K(this,`_children`,[]),K(this,`_editArea`,_a.BODY),K(this,`_editAreaChange$`,new We(null)),K(this,`editAreaChange$`,this._editAreaChange$.asObservable()),K(this,`_headerTreeMap`,new Map),K(this,`_footerTreeMap`,new Map),K(this,`_segmentViewModels$`,new We([])),K(this,`segmentViewModels$`,this._segmentViewModels$.asObservable()),e.getBody()==null)return;let t=e.getBody(),{sectionList:n,tableNodeCache:r}=ya(t.dataStream,t.tables);this._buildAllCache(),this._children=n,this._tableNodeCache=r,this._buildHeaderFooterViewModel()}registerCustomRangeInterceptor(e){return this._interceptor=e,He(()=>this._interceptor=null)}dispose(){this._children.forEach(e=>{e.dispose()}),this._textRunsCache.clear(),this._paragraphCache.clear(),this._sectionBreakCache.clear(),this._customBlockCache.clear(),this._tableCache.clear(),this._tableNodeCache.clear(),this._segmentViewModels$.complete(),this._editAreaChange$.complete()}getHeaderFooterTreeMap(){return{headerTreeMap:this._headerTreeMap,footerTreeMap:this._footerTreeMap}}getEditArea(){return this._editArea}setEditArea(e){e!==this._editArea&&(this._editArea=e,this._editAreaChange$.next(e))}getChildren(){return this._children}getBody(){return this._documentDataModel.getBody()}getSnapshot(){return this._documentDataModel.getSnapshot()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(e){return e==null?this:this._headerTreeMap.has(e)?this._headerTreeMap.get(e):this._footerTreeMap.has(e)?this._footerTreeMap.get(e):this}reset(e){this._documentDataModel=e;let t=e.getBody(),{sectionList:n,tableNodeCache:r}=ya(t.dataStream,t.tables);this._children=n,this._tableNodeCache=r,this._buildAllCache(),this._buildHeaderFooterViewModel()}getSectionBreak(e){return this._sectionBreakCache.get(e)}getParagraph(e){return this._paragraphCache.get(e)}getTextRun(e){let t=Math.floor(e/this._cacheSize),n=this._textRunsCache.get(t);return n==null?void 0:n.get(e%this._cacheSize)}getCustomBlock(e){return this._customBlockCache.get(e)}getCustomBlockWithoutSetCurrentIndex(e){let t=this.getBody().customBlocks;if(t!=null)for(let n=0;n<t.length;n++){let r=t[n];if(r.startIndex===e)return r}}getTableByStartIndex(e){return this._tableCache.get(e)}findTableNodeById(e){var t;return(t=this._tableNodeCache.get(e))==null?void 0:t.table}getCustomRangeRaw(e){let t=this.getBody().customRanges;if(t!=null)for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e>=r.startIndex&&e<=r.endIndex)return r}}getCustomRange(e){return this._interceptor?this._interceptor.getCustomRange(e):this.getCustomRangeRaw(e)}getCustomDecorationRaw(e){let t=this.getBody().customDecorations;if(t!=null)for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e>=r.startIndex&&e<=r.endIndex)return r}}getCustomDecoration(e){return this._interceptor?this._interceptor.getCustomDecoration(e):this.getCustomDecorationRaw(e)}_buildAllCache(){this._buildTextRunsCache(),this._buildParagraphCache(),this._buildSectionBreakCache(),this._buildCustomBlockCache(),this._buildTableCache()}_buildParagraphCache(){var e,t;this._paragraphCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.paragraphs)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._paragraphCache.set(t,e)}}_buildSectionBreakCache(){var e,t;this._sectionBreakCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.sectionBreaks)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._sectionBreakCache.set(t,e)}}_buildCustomBlockCache(){var e,t;this._customBlockCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.customBlocks)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._customBlockCache.set(t,e)}}_buildTableCache(){var e;this._tableCache.clear();let t=(e=this.getBody())==null?void 0:e.tables,n=this.getSnapshot().tableSource;if(!(t==null||n==null))for(let e of t){let{startIndex:t,tableId:r}=e,i=n[r];i!=null&&this._tableCache.set(t,{table:e,tableSource:i})}}_buildTextRunsCache(){var e,t;let n=(e=(t=this.getBody())==null?void 0:t.textRuns)==null?[]:e;this._textRunsCache.clear();for(let e of n){let{st:t,ed:n}=e;for(let r=t;r<n;r++){let t=Math.floor(r/this._cacheSize);this._textRunsCache.has(t)||this._textRunsCache.set(t,new Map),this._textRunsCache.get(t).set(r%this._cacheSize,e)}}}_buildHeaderFooterViewModel(){let{headerModelMap:t,footerModelMap:n}=this._documentDataModel,r=[];for(let[n,i]of t)this._headerTreeMap.set(n,new e(i)),r.push(this._headerTreeMap.get(n));for(let[t,i]of n)this._footerTreeMap.set(t,new e(i)),r.push(this._footerTreeMap.get(t));this._segmentViewModels$.next(r)}};function xa(e){return[` `,`\xA0`,` `].includes(e)}function Sa(e){return xa(e)||Yt(e)||pn(e)||mn(e)||hn(e)}function Ca(e,t){return xa(e)?{stretchability:[0,t/2],shrinkability:[0,t/3]}:pn(e)?{stretchability:[0,0],shrinkability:[0,t/2]}:mn(e)?{stretchability:[0,0],shrinkability:[t/2,0]}:hn(e)?{stretchability:[0,0],shrinkability:[t/4,t/4]}:{stretchability:[0,0],shrinkability:[0,0]}}function wa(e,t,n){return ka(Yn.WORD,e,t,n)}function Ta(e,t,n,r){return ka(Yn.LETTER,e,t,n,r)}function Ea(e,t){return ka(Yn.TAB,g.TAB,e,t)}function Da(e){let t=ka(Yn.LETTER,`-`,e);return t.count=0,t}function Oa(e,t=0,n=0,r=``){let{fontStyle:i,textStyle:a}=e,o=g.CUSTOM_BLOCK;return{content:``,raw:o,ts:a,fontStyle:i,width:t,bBox:{width:0,ba:n,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:Ca(o,0),glyphType:Yn.PLACEHOLDER,streamType:o,count:1,drawingId:r}}function ka(e,t,n,r,a){let{fontStyle:o,textStyle:s,charSpace:c=1,gridType:l=C.LINES,snapToGrid:u=i.FALSE}=n,d=[g.SECTION_BREAK,g.TABLE_START,g.TABLE_END,g.TABLE_ROW_START,g.TABLE_ROW_END,g.TABLE_CELL_START,g.TABLE_CELL_END,g.CUSTOM_RANGE_START,g.CUSTOM_RANGE_END,g.COLUMN_BREAK,g.PAGE_BREAK,g.DOCS_END,g.CUSTOM_BLOCK],f=g.LETTER;if(d.indexOf(t)>-1)return{content:``,raw:t,ts:s,fontStyle:o,width:0,bBox:{width:0,ba:0,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:Ca(t,0),glyphType:Yn.PLACEHOLDER,streamType:t,count:1};t===g.PARAGRAPH&&(f=g.PARAGRAPH);let p=null,m=0;p=a&&a.boundingBox&&a.font?q.getBBoxFromGlyphInfo(a,o):q.getTextSize(t,o);let{width:h=0}=p,_=r==null?h:r;if(as(l,u)&&(_=h+(Zt(t)?c:c/2),l===C.SNAP_TO_CHARS&&(m=(_-h)/2)),a&&a.kerning!==0&&a.font){let e=Fn(o.fontSize)/a.font.unitsPerEm,t=a.kerning*e;_+=t,m+=t}return{content:t,ts:s,fontStyle:o,width:_,bBox:p,xOffset:m,left:0,glyphType:e,streamType:f,isJustifiable:Sa(t),adjustability:Ca(t,_),count:t.length,raw:t}}function Aa(e,t,n){let{symbol:r,bulletAlign:a=o.START,bulletType:s=!1}=t,{fontStyle:c}=e,l=q.getTextSize(r,c),u=l.width,d=Math.ceil(u/n),f=(d<2?2:d)*n,p=0;s&&(a===o.CENTER?(p=-u/2,f-=p):a===o.END&&(p=-u,f-=p));let m=Na(e,l);return{content:r,ts:{...e.ts,st:{s:i.FALSE}},fontStyle:c,width:f,xOffset:0,bBox:m,left:p,isJustifiable:Sa(r),adjustability:Ca(r,f),glyphType:Yn.LIST,streamType:g.LETTER,count:0,raw:r}}function ja(e,t=0){let n=e.length,r;for(let i=0;i<n;i++){let n=e[i];n.left=r?r.left+r.width:t,r=n}}function Ma(e,t,n=0){ja(t,n);for(let n of t)n.parent=e;e.glyphGroup.push(...t)}function Na(e,t){let{ba:n,bd:r}=e.bBox,{ba:i,bd:a}=t;return n+r>i+a?e.bBox:t}function Pa(e,t){e.width-=t,e.adjustability.shrinkability[1]-=t}function Fa(e,t){e.width-=t,e.xOffset-=t,e.adjustability.shrinkability[0]-=t}var Ia=function(e){return e[e.BOTH=0]=`BOTH`,e[e.LEFT=1]=`LEFT`,e[e.RIGHT=2]=`RIGHT`,e}(Ia||{}),La=function(e){return e[e.X=0]=`X`,e[e.Y=1]=`Y`,e}(La||{});function Ra(e,t,n,r,i=0,a=!1,o,s,c,l){var u,d;let{lineHeight:f=15.6,lineTop:p=0,contentHeight:m=0,paddingLeft:h=0,paddingRight:g=0,paddingTop:_=0,paddingBottom:v=0,marginTop:y=0,spaceBelowApply:b=0}=n,{skeTablesInParagraph:x}=o,S=(u=s.skeDrawings)==null?new Map:u,C=(d=s.skeTables)==null?new Map:d,w=c==null?void 0:c.skeDrawings,T=l==null?void 0:l.skeDrawings,E=to(t,e);if(E.lineIndex=i,E.paragraphStart=a,E.contentHeight=m,E.top=p,E.lineHeight=f,E.paddingTop=_,E.paddingBottom=v,E.marginTop=y,E.spaceBelowApply=b,a&&Array.isArray(x)&&x.length>0){let e=x[x.length-1].tableId;E.isBehindTable=!0,E.tableId=e}E.divides=Ha(f,p,r,h,g,s,c,l,new Map(Array.from(S).filter(([e,t])=>t.drawingOrigin.layoutType!==R.INLINE)),w,T,new Map(Array.from(C).filter(([e,t])=>t.tableSource.textWrap===pe.WRAP)));for(let e of E.divides)e.parent=E;return E}function za(e=15.6,t=0,n,r,i){let a=t,o=n.skeDrawings,s=new Map(Array.from(n.skeTables).filter(([e,t])=>t.tableSource.textWrap===pe.NONE)),c=r==null?void 0:r.skeDrawings,l=i==null?void 0:i.skeDrawings;return r&&c&&c.forEach(i=>{let o=Va(Ja(i,r,n,!0),e,t);o&&(a=Math.max(a,o))}),i&&l&&l.forEach(r=>{let o=Va(Ja(r,i,n,!1),e,t);o&&(a=Math.max(a,o))}),o==null||o.forEach(n=>{let r=Va(n,e,t);r&&(a=Math.max(a,r))}),s==null||s.forEach(n=>{let r=Ba(n,e,t);r&&(a=Math.max(a,r))}),a}function Ba(e,t,n){let{top:r,height:i}=e;if(!(r+i<n||r>t+n))return r+i}function Va(e,t,n){let{aTop:r,height:i,aLeft:a,width:o,angle:s=0,drawingOrigin:c}=e,{layoutType:l,distT:u=0,distB:d=0}=c;if(l!==R.WRAP_TOP_AND_BOTTOM)return;if(s===0){let e=r-u,a=u+i+d;return e+a<n||e>t+n?void 0:e+a}let{top:f=0,height:p=0}=qa(s,a,o,r,i);if(f-=u,p+=d,!(f+p<n||f>t+n))return f+p}function Ha(e,t,n,r,i,a,o,s,c,l,u,d){let f=[];return f.push({left:0,width:r},{left:n-i,width:i}),o&&l&&l.forEach(r=>{let i=Ka(Ja(r,o,a,!0),e,t,n);i&&f.push(i)}),s&&u&&u.forEach(r=>{let i=Ka(Ja(r,s,a,!1),e,t,n);i&&f.push(i)}),c==null||c.forEach(r=>{let i=Ka(r,e,t,n);i&&f.push(i)}),d&&d.size>0&&d.forEach(r=>{let{left:i,top:a,width:o,height:s,tableSource:c}=r,{dist:l}=c,u=Za(a,s,i,o,t,e,n,l);u&&f.push(u)}),$a(n,f)}function Ua(e,t){Object.assign(e,t)}function Wa(e,t){e.marginBottom=t}function Ga(e,t,n,r,i){let{top:a,height:o,left:s,width:c,angle:l=0}=e,{top:u=0,left:d=0,width:f=0,height:p=0}=qa(l,s,c,a,o);return!(u+p<n||u>t+n||d+f<r||d>r+i)}function Ka(e,t,n,r){let{aTop:i,height:a,aLeft:o,width:s,angle:c=0,drawingOrigin:l}=e,{layoutType:u}=l;if(u===R.WRAP_NONE||u===R.WRAP_TOP_AND_BOTTOM)return;if(u===R.WRAP_POLYGON){let{start:e=[0,0],lineTo:i}=l;if(!i)return;let a=[];a.push(new Y(e[0],e[1]));for(let e=0;e<i.length;e++){let t=i[e];a.push(new Y(t[0],t[1]))}if(c!==0){let e=new Br().rotate(c);for(let t=0;t<a.length;t++){let n=a[t];a[t]=e.applyPoint(n)}}return Ya(a,n,t,r)}let{distL:d=0,distT:f=0,distB:p=0,distR:m=0,wrapText:h}=l,g={distL:d,distT:f,distB:p,distR:m};if(c===0)return Za(i,a,o,s,n,t,r,g,u,h);let _=qa(c,o,s,i,a);if(u===R.WRAP_SQUARE){let{left:e,width:i,top:a,height:o}=_;return Za(a,o,e,i,n,t,r,g,u,h)}return Ya(_.points,n,t,r)}function qa(e,t,n,r,i){let a=t+n/2,o=r+i/2,s=new Br().translate(a,o).rotate(e).translate(-a,-o),c=new Y(t,r),l=new Y(t,r+i),u=new Y(t+n,r),d=new Y(t+n,r+i);return s.makeBoundingBoxFromPoints([c,l,u,d])}function Ja(e,t,n,r=!0){let{aTop:i}=e,a=i;return a=r?i+t.marginTop-n.marginTop:i+t.marginTop+n.pageHeight-n.marginBottom-n.marginTop,{...e,aTop:a}}function Ya(e,t,n,r){let i=new Or(e),a=i.intersection([new Y(0,t),new Y(r,t)]),o=i.intersection([new Y(0,t+n),new Y(r,t+n)]);if(!a&&!o)return;let s=Xa([...e,...a||[],...o||[]]);return{left:s.min,width:s.max}}function Xa(e,t=La.X){let n=[];for(let r=0;r<e.length;r++){let i=e[r];t===La.X?n.push(i.x):n.push(i.y)}return{max:Math.max(...n),min:Math.min(...n)}}function Za(e,t,n,r,i,a,o,s,c=R.WRAP_SQUARE,l=ve.BOTH_SIDES){let{distL:u=0,distR:d=0,distT:f=0,distB:p=0}=s,m=e-(c===R.WRAP_SQUARE?f:0);if(m+(t+(c===R.WRAP_SQUARE?p+f:0))<=i||m>=a+i)return;let h=n-u,g=r+u+d,_=Qa(l,h,g,o);return _===Ia.LEFT?g=o-h:_===Ia.RIGHT&&(h=0,g=n+r+d),{left:h,width:g}}function Qa(e,t,n,r){let i=Ia.BOTH;return e===ve.LEFT?i=Ia.LEFT:e===ve.RIGHT?i=Ia.RIGHT:e===ve.LARGEST&&(i=t>r-t-n?Ia.LEFT:Ia.RIGHT),i}function $a(e,t){t.sort((e,t)=>e.left>t.left?1:-1);let n=[],r=0,i=t.length;for(let a=0;a<i;a++){let{left:o,width:s}=t[a];if(o>r){let t=o-r;t=t<e?t:e-r;let i=eo(r,t);n.push(i)}if(r=Math.max(o+s,r),a===i-1&&o+s<e){let t=eo(o+s,e-o-s);n.push(t)}}return n}function eo(e,t){return{glyphGroup:[],width:t,left:e,paddingLeft:0,isFull:!1,st:0,ed:0}}function to(e,t){return{paragraphIndex:t,type:e,divides:[],lineHeight:0,contentHeight:0,top:0,asc:0,dsc:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,spaceBelowApply:0,divideLen:0,st:-1,ed:-1,isBehindTable:!1,tableId:``,lineIndex:0,paragraphStart:!1}}function no(e,t,n,r){if(r)if(r.has(e)){let n=r.get(e);n==null||n.elements.push(t)}else r.set(e,{elements:[t],paragraphIndex:e,top:n})}function ro(e=[],t=u.NONE,n=0,r=0,i=1/0,a=1/0){let o=[],s=0,c=0;if(e.length===0)o.push(ao(r,i,0,u.NONE));else for(let n=0;n<e.length;n++){let{width:a,paddingEnd:l}=e[n];c=l,s=a,o.push(ao(r,s,c,t)),r+=s+c,n===e.length-1&&(s=i===1/0?a:i-s,c=0,o.push(ao(r,s,c,t)))}let l={columns:o,colCount:(e==null?void 0:e.length)||1,height:a,top:n,st:0,ed:0};return o.forEach(e=>{e.parent=l}),l}function io(e,t){e.isFull=t}function ao(e,t,n,r){return{lines:[],left:e,width:t,height:0,spaceWidth:n,separator:r,st:0,ed:0,drawingLRIds:[],isFull:!1}}function oo(e,t,n,r,i){var a;let{startIndex:o,endIndex:s,children:c}=r,l=(a=n.getTableByStartIndex(o))==null?void 0:a.tableSource;if(l==null)return console.warn(`Table not found when creating table skeleton`),null;let u=go(o,s,l),d=0,f=0;for(let t of c){let{children:r,startIndex:a,endIndex:o}=t,s=c.indexOf(t),p=l.tableRows[s],{trHeight:m}=p,h=_o(a,o,s,p,!1,u),{hRule:g,val:_}=m;u.rows.push(h);let v=0,y=0;for(let t of r){let a=Rs(e,n,t,i,l,s,r.indexOf(t))[0],{marginTop:o=0,marginBottom:c=0}=a,u=a.height+o+c;a.left=v,v+=a.pageWidth,a.parent=h,h.cells.push(a),y=Math.max(y,u)}g===fe.AT_LEAST?y=Math.max(y,_.v):g===fe.EXACT&&(y=_.v);for(let e of h.cells)e.pageHeight=y;let b=l.tableRows[s];for(let e=0;e<b.tableCells.length;e++){let t=b.tableCells[e],n=h.cells[e],{vAlign:r=_e.CONTENT_ALIGNMENT_UNSPECIFIED}=t,{pageHeight:i,height:a,originMarginTop:o,originMarginBottom:s}=n,c=o;switch(r){case _e.TOP:c=o;break;case _e.CENTER:c=(i-a)/2;break;case _e.BOTTOM:c=i-a-s;break;default:break}c=Math.max(o,c),n.marginTop=c}h.height=y,h.top=d,d+=y,f=Math.max(f,v)}u.width=f,u.height=d;let{pageWidth:p,marginLeft:m=0,marginRight:h=0}=t;return u.left=ho(p-m-h,f,l.align,l.indent),u}function so(e,t){let{startIndex:n,endIndex:r}=t;for(let t of e.values())for(let e of t){let t=e.findIndex(e=>e.paragraph.startIndex>n&&e.paragraph.startIndex<r);t>-1&&e.splice(t)}}function co(e,t,n,r,a,o){var s;let c=[],{startIndex:l,endIndex:u,children:d}=r,f=(s=n.getTableByStartIndex(l))==null?void 0:s.tableSource;if(f==null)return console.warn(`Table not found when creating table skeletons`),{skeTables:c,fromCurrentPage:!1};let p=f.tableRows[0].repeatHeaderRow===i.TRUE,m=go(l,u,f),h={rowTop:0,tableWidth:0,remainHeight:o,repeatRow:p?d[0]:null,repeatRowHeight:0};c.push(m);for(let r of d)po(e,t,c,n,a,r,d.indexOf(r),f,h);return lo(h,t,c,f),{skeTables:c,fromCurrentPage:c[0].height<=o}}function lo(e,t,n,r){let{pageWidth:i,marginLeft:a=0,marginRight:o=0}=t,{tableWidth:s}=e,c=ho(i-a-o,s,r.align,r.indent),l=0;for(let e of n)e.width=s,e.left=c,e.st=e.rows[0].st-1,e.ed=e.rows[e.rows.length-1].ed+1,n.length>1&&(e.tableId=vo(r.tableId,l),l++)}function uo(e){return e[e.length-1]}function fo(e,t,n){let{marginTop:r,marginBottom:i,pageHeight:a}=e,o=a-r-i;return n&&(o-=t.repeatRowHeight),o}function po(e,t,n,r,a,o,s,c,l,u=!1){let d=fo(t,l,!1),f=fo(t,l,!0),{children:p,startIndex:m,endIndex:h}=o,g=c.tableRows[s],{trHeight:_,cantSplit:v}=g,y=[],{hRule:b,val:x}=_,S=v===i.TRUE&&_.hRule===fe.AUTO,C=l.remainHeight<=72,w=uo(n),T=[0];for(let t of p){let n=p.indexOf(t),i=Rs(e,r,t,a,c,s,n,S&&!C?l.remainHeight:f,d);for(;y.length<i.length;){let t=_o(m,h,s,g,u),n=p.length;t.cells=[...Array(n)].map((n,r)=>{let i=Ls(e,a,c,s,r).page;return i.parent=t,i}),y.push(t)}for(;T.length<i.length;)T.push(0);for(let e of i){let{marginTop:t=0,marginBottom:r=0}=e,a=e.height+t+r,o=i.indexOf(e),s=y[o];e.parent=s,s.cells[n]=e,T[o]=Math.max(T[o],a)}}for(let e of y){let t=y.indexOf(e);b===fe.AT_LEAST?T[t]=Math.max(T[t],x.v):b===fe.EXACT&&(T[t]=x.v),T[t]=Math.min(T[t],d);let n=0;for(let r of e.cells)r.left=n,r.pageHeight=T[t],n+=r.pageWidth,l.tableWidth=Math.max(l.tableWidth,n);e.height=T[t]}s===0&&l.repeatRow&&(l.repeatRowHeight=T[T.length-1]);for(let e of y)mo(e,g);for(;y.length>0;){let i=y.shift(),o=w.rows[w.rows.length-1];(l.remainHeight<72||l.remainHeight<i.height)&&(l.remainHeight=fo(t,l,s!==0&&i.index!==o.index),l.rowTop=0,w.rows.length>0&&(w=go(m,h,c),n.push(w),l.repeatRow&&u===!1&&s!==0&&i.index!==o.index))&&(l.remainHeight=fo(t,l,!1),po(e,t,n,r,a,l.repeatRow,0,c,l,!0)),w=uo(n),i.top=l.rowTop,w.height+=i.height,w.rows.push(i),i.parent=w,l.remainHeight-=i.height,l.rowTop+=i.height}}function mo(e,t){for(let n=0;n<t.tableCells.length;n++){let r=t.tableCells[n],i=e.cells[n];if(i==null)continue;let{vAlign:a=_e.CONTENT_ALIGNMENT_UNSPECIFIED}=r,{pageHeight:o,height:s,originMarginTop:c,originMarginBottom:l}=i,u=c;switch(a){case _e.TOP:u=c;break;case _e.CENTER:u=(o-s)/2;break;case _e.BOTTOM:u=o-s-l;break;default:break}u=Math.max(c,u),i.marginTop=u}}function ho(e,t,n,r={v:0}){switch(n){case de.START:return r.v;case de.END:return Math.max(0,e-t);case de.CENTER:return Math.max(0,(e-t)/2);default:throw Error(`Unknown table alignment type`)}}function go(e,t,n){return{rows:[],width:0,height:0,top:0,left:0,st:e,ed:t,tableId:n.tableId,tableSource:n}}function _o(e,t,n,r,i=!1,a){return{cells:[],index:n,height:0,top:0,st:e,ed:t,parent:a,rowSource:r,isRepeatRow:i}}function vo(e,t){return`${e}#-#${t}`}function yo(e){if(!e.includes(`#-#`))return{tableId:e,sliceIndex:0};let[t,n]=e.split(`#-#`);return{tableId:t,sliceIndex:Number(n)}}function bo(e,t,n,r,a,o,s=Di.Normal){if(o)if(a.bulletSkeleton){let{bulletSkeleton:c,paragraphStyle:l={}}=a,{gridType:u=C.LINES,charSpace:d=0,defaultTabStop:f=10.5}=r,{snapToGrid:p=i.TRUE}=l,m=is(d,f,u,p),h=Aa(t[0],c,m),g=c.paragraphProperties||{};a.paragraphStyle=js(a.paragraphStyle,{...g,hanging:{v:h.width}},`max`),Eo(e,[h,...t],n,r,a,o,s)}else Eo(e,t,n,r,a,o,s);else To(e,t,n,r,a,o,s);return[...n]}function xo(e){if(e.length<=1)return!1;let t=!1;for(let n of e)if(n.content===g.SPACE&&(t=!0),t&&n.content!==g.SPACE&&n.content!==g.PARAGRAPH&&n.streamType!==g.SECTION_BREAK)return!1;return t}function So(e,t,n){if(e.length<=1)return!1;let r=t,i=!1;for(let t of e){if(t.content===g.SPACE||t.content===g.PARAGRAPH||t.streamType===g.SECTION_BREAK)break;if(r+=t.width,r>n){i=!0;break}}return i}function Co(e){var t;let n=(t=e.parent)==null?void 0:t.parent;if(n==null)return 0;let r=0;for(let e=n.lines.length-1;e>=0;e--){let t=n.lines[e];if(t.divides[t.divides.length-1].breakType===Di.Hyphen)r++;else break}return r}function wo(e){let t=[],n=e.glyphGroup.pop();for(;n&&n.content!==` `;)t.unshift(n),n=e.glyphGroup.pop();return e.glyphGroup.length===0&&(e.glyphGroup.push(...t),t.length=0),t}function To(e,t,n,r,i,a,o=Di.Normal,s){let c=ts(Yo(n));if(c){var l;let u=Uo(t),{divide:d,isLast:f}=c,p=d==null||(l=d.glyphGroup)==null?void 0:l[d.glyphGroup.length-1],m=((p==null?void 0:p.width)||0)+((p==null?void 0:p.left)||0),{hyphenationZone:h}=r;if(m+u>d.width){Ua(d,{isFull:!0});let l=Co(c.divide),{consecutiveHyphenLimit:u=1/0}=r;if(c.isLast&&t.length===1&&(t[0].content===g.SPACE||t[0].content===g.PARAGRAPH))Ma(d,t,m);else if(c.isLast&&!So(t,m,d.width)&&xo(t))Ma(d,t,m);else if((d==null?void 0:d.glyphGroup.length)===0){let a=[];for(;t.length;)if(a.push(t.shift()),Uo(a)>d.width){a.length>1&&t.unshift(a.pop());break}a.length>0&&Ma(d,a,m),t.length&&To(e,t,n,r,i,!1,o,s)}else if(l>u){let c=wo(d);c.length>0&&(Ua(d,{breakType:Di.Normal}),To(e,c,n,r,i,a,Di.Hyphen)),To(e,t,n,r,i,a,o,s)}else To(e,t,n,r,i,a,o,s)}else if(f&&h&&h>0&&m>=d.width-h&&o===Di.Hyphen&&d.breakType===Di.Normal)Ua(d,{isFull:!0}),To(e,t,n,r,i,a,o,s);else{let s=d.parent,c=Wo(t);if(s&&c&&!Ko(s)){let{paragraphLineGapDefault:l,linePitch:u,lineSpacing:d,spacingRule:f,snapToGrid:p,gridType:m}=os(r,i),{boundingBoxAscent:h,boundingBoxDescent:g}=c,{contentHeight:_}=Ro(h+g,l,u,m,d,f,p);if(s.contentHeight<_){let c=Go(s),l=c.length,u=[],d=1;l>2&&c[0].glyphType===Yn.LIST?(u=[c[0],c[1]],d=2):u=[c[0]];let{paragraphStart:f}=s.parent.lines.pop();Eo(e,u,n,r,i,f,o,h+g);for(let t=d;t<c.length;t++)To(e,[c[t]],n,r,i,a);To(e,t,n,r,i,a,o);return}}Ma(d,t,m),Ua(d,{breakType:o})}}else Eo(e,t,n,r,i,a,o,s)}function Eo(e,t,n,r,i,a,o=Di.Normal,s){var c,l,u,d;let f=Yo(n),p=es(f);if((!p||!p.column)&&(Fo(e,t,n,r,i,!0,o),f=Yo(n),p=es(f)),!p)return;let m=p.column;if(m.width<=0){console.error(`The column width is less than 0, need to adjust page width to make it great than 0`);return}let h=$o(m),g=Math.max(...t.map(e=>e.bBox.ba)),_=Math.max(...t.map(e=>e.bBox.bd)),v=s||g+_,{paragraphStyle:y={},paragraphNonInlineSkeDrawings:b,skeTablesInParagraph:x,skeHeaders:S,skeFooters:C,pDrawingAnchor:w,paragraphIndex:T}=i,{namedStyleType:E}=y,D=E===void 0?null:te[E],{spaceAbove:O,spaceBelow:k,indentFirstLine:A,hanging:ee,indentStart:j,indentEnd:M}={...y,spaceAbove:(c=y.spaceAbove)==null?D==null?void 0:D.spaceAbove:c,spaceBelow:(l=y.spaceBelow)==null?D==null?void 0:D.spaceBelow:l},{paragraphLineGapDefault:N,linePitch:P,lineSpacing:F,spacingRule:ne,snapToGrid:L,gridType:re}=os(r,i),{paddingTop:R,paddingBottom:ie,contentHeight:ae,lineSpacingApply:oe}=Ro(v,N,P,re,F,ne,L),{marginTop:se,spaceBelowApply:ce}=Lo(e,oe,O,k,a,h),le=se+R+ae+ie,ue=m.parent;ue||(ue=Xo(f));let de=((h==null?void 0:h.lineHeight)||0)+((h==null?void 0:h.top)||0),{pageWidth:fe,headerId:pe,footerId:z,segmentId:me}=f,B=S==null||(u=S.get(pe))==null?void 0:u.get(fe),he=C==null||(d=C.get(z))==null?void 0:d.get(fe),ge=!1;if(h){let t=jo(h);if(t.length>0){var _e,V;let n=(_e=e.paragraphConfigCache.get(me))==null||(_e=_e.get(h.paragraphIndex))==null?void 0:_e.paragraphNonInlineSkeDrawings,r=[...(V=n==null?void 0:n.values())==null?[]:V].filter(e=>e.drawingOrigin.docTransform.positionV.relativeFrom===I.LINE).filter(e=>t.includes(e.drawingId));r.length>0&&Do(e,h.top,h.lineHeight,m,r,h.paragraphIndex,a)}}if(b!=null&&b.size>0){var ve;Do(e,de,le,m,[...b.values()].filter(e=>e.drawingOrigin.docTransform.positionV.relativeFrom!==I.LINE),i.paragraphIndex,a,w==null||(ve=w.get(T))==null?void 0:ve.top)}if(x!=null&&x.length>0){var ye;ge=Ao(e,de,le,f,m,ue,x,i.paragraphIndex,r,w==null||(ye=w.get(T))==null?void 0:ye.top)}let be=za(le,de,f,B,he);if(le+be>ue.height&&m.lines.length>0&&f.sections.length>0||ge){if(io(m,!0),Po(e,t,n,r,i,a,o,s),a&&b&&b.size>0)for(let t of b.values())f.skeDrawings.has(t.drawingId)&&f.skeDrawings.delete(t.drawingId),e.floatObjectsCache.has(t.drawingId)&&(e.floatObjectsCache.delete(t.drawingId),e.isDirty=!1,e.layoutStartPointer[me]=null);return}let xe=h?h.lineIndex+1:0,{charSpace:Se,defaultTabStop:Ce}=ss(r,i),{paddingLeft:we,paddingRight:Te}=Io(A,ee,j,M,is(Se,Ce,re,L),a);if(we+Te>=m.width){let e=we/(we+Te);we=m.width*e-.5,Te=m.width-we-.5}let Ee=Ra(T,Jn.PARAGRAPH,{lineHeight:le,contentHeight:ae,lineTop:be,paddingLeft:we,paddingRight:Te,paddingTop:R,paddingBottom:ie,marginTop:se,spaceBelowApply:ce},m.width,xe,a,i,f,B,he);m.lines.push(Ee),Ee.parent=m,no(T,Ee,de,w),To(e,t,n,r,i,a,o,s)}function Do(e,t,n,r,i,a,o,s){if(i.length===0)return;let c=Bo(t,n,r,o,s,i);c==null||c.size===0||(Mo(e,[...c.values()].filter(e=>{let t=e.drawingOrigin.layoutType;return t!==R.INLINE&&t!==R.WRAP_NONE}).map(e=>{let{drawingOrigin:t,drawingId:n,aTop:r,aLeft:i,width:a,height:o,angle:s}=e,c=t.docTransform.positionV;return{id:n,top:r,left:i,width:a,height:o,angle:s,type:ws.IMAGE,positionV:c}}),r,a),Vo(r,c))}function Oo(e,t,n,r,i,a,o){let s=ko(t,i,n,r,o);if(s==null)return;let{tableId:c,width:l,height:u,tableSource:d}=t,{left:f,top:p}=s;Mo(e,[{id:c,top:p,left:f,width:l,height:u,angle:0,type:ws.TABLE,positionV:d.position.positionV}],i,a),t.top=p,t.left=f}function ko(e,t,n,r,i){var a,o,s;let c=(a=t.parent)==null?void 0:a.parent;if(c==null)return;let l=Ho(t),{tableSource:u,width:d,height:f}=e,{positionH:p,positionV:m}=u.position;return{left:(o=ps(p,t,c,d,l))==null?0:o,top:(s=ms(m,c,n,r,f,i,l))==null?0:s}}function Ao(e,t,n,r,i,a,o,s,c,l){if(o.length===0)return!1;let u=o.find(e=>e.hasPositioned===!1);if(u==null)return!1;let{tableId:d,table:f}=u,{tableSource:p}=f;if(u.isSlideTable===!1)switch(p.textWrap){case pe.NONE:f.top=t;break;case pe.WRAP:Oo(e,f,t,n,i,s,l);break;default:throw Error(`Unsupported table text wrap type: ${p.textWrap}`)}let{top:m,left:h,height:g}=f;if(!e.isDirty&&m+g>a.height&&u.isSlideTable===!1){o.pop();let t=a.height-m,{segmentId:n}=r,i=e.viewModel.getSelfOrHeaderFooterViewModel(n),s=u.tableNode;so(e.skeletonResourceReference.skeListLevel,s);let{fromCurrentPage:l,skeTables:d}=co(e,r,i,s,c,t);if(d.forEach((e,t)=>{e.top=t===0&&l?m:0,e.left=h}),l){let e=d.shift();r.skeTables.set(e.tableId,e),e.parent=r,o.push({table:e,tableId:e.tableId,hasPositioned:!0,isSlideTable:!0,tableNode:s})}return o.push(...d.map(e=>({table:e,tableId:e.tableId,hasPositioned:!1,isSlideTable:!0,tableNode:s}))),!0}else return r.skeTables.set(d,f),f.parent=r,u.hasPositioned=!0,u!==o[o.length-1]}function jo(e){let t=[];for(let n of e.divides)for(let e of n.glyphGroup)e.streamType===g.CUSTOM_BLOCK&&t.push(e.drawingId);return t}function Mo(e,t,n,r){var i;let a=(i=n.parent)==null?void 0:i.parent;if(t.length===0||a==null)return;let o=!1;for(let n of t){var s,c;let t=e.floatObjectsCache.get(n.id);if(t==null||t.page.segmentId!==a.segmentId)continue;let i=(s=t.page.sections[0])==null||(s=s.columns[0])==null||(s=s.lines[0])==null?void 0:s.paragraphIndex,l=(c=a.sections[0])==null||(c=c.columns[0])==null||(c=c.lines[0])==null?void 0:c.paragraphIndex;t.page&&i&&l&&i!==l&&(t.page.skeDrawings.delete(n.id),e.floatObjectsCache.delete(n.id),ds([t.page],n=>{let{lineHeight:i,top:a}=n,s=n.parent;if(o||s==null)return;let{width:c,left:l}=s;if(Ga(t.floatObject,i,a,l,c)){var u;o=!0,e.isDirty=!0,e.layoutStartPointer[t.page.segmentId]=Math.min(n.paragraphIndex,(u=e.layoutStartPointer[t.page.segmentId])==null?1/0:u),e.paragraphsOpenNewPage.add(r)}}))}o=!1,ds([a],r=>{let{lineHeight:i,top:s}=r,{width:c,left:l}=n;if(!o)for(let n of t.values()){let t=n;if(e.floatObjectsCache.has(n.id)){let r=e.floatObjectsCache.get(n.id),i=No(e,n);if((r==null?void 0:r.page.segmentId)!==a.segmentId)continue;if(i){var u;t=(u=r==null?void 0:r.floatObject)==null?n:u}else continue}if(Ga(t,i,s,l,c)){var d;o=!0,e.isDirty=!0,e.layoutStartPointer[a.segmentId]=Math.min(r.paragraphIndex,(d=e.layoutStartPointer[a.segmentId])==null?1/0:d);let t=e.floatObjectsCache.get(n.id);t==null&&(t={count:0,floatObject:n,page:a},e.floatObjectsCache.set(n.id,t)),t.count++,t.floatObject=n,t.page=a}}})}function No(e,t){let{relativeFrom:n}=t.positionV,r=e.floatObjectsCache.get(t.id);if(r==null)return!1;if(n===I.PARAGRAPH||n===I.LINE){let{count:e,floatObject:n}=r;if(e<5&&Math.abs(t.top-n.top)>5)return!0}return!1}function Po(e,t,n,r,i,a,o=Di.Normal,s){ns(Yo(n))===!0?Fo(e,t,n,r,i,a,o,s):Eo(e,t,n,r,i,a,o,s)}function Fo(e,t,n,r,i,a,o=Di.Normal,s){let c=Yo(n),{skeHeaders:l,skeFooters:u}=i;n.push(Ps(e,r,{skeHeaders:l,skeFooters:u},(c==null?void 0:c.pageNumber)+1)),Po(e,t,n,r,i,a,o,s)}function Io(e,t,n,r,i,a=!1){let o=rs(e,i),s=rs(t,i),c=rs(n,i),l=rs(r,i),u=c,d=l;return o>0&&a&&(u+=o),s>0&&!a&&(u+=s),{paddingLeft:u,paddingRight:d}}function Lo(e,t=0,n,r,i,a){let o=rs(r,t);if(i){let e=rs(n,t);if(a){let{spaceBelowApply:t}=a;if(e<t){let n=Math.max(t,e);a.lineHeight+=n,Wa(a,n),e=0}}return{marginTop:e,spaceBelowApply:o}}return{marginTop:0,spaceBelowApply:o}}function Ro(e,t,n,r,a,o,s){let c=t,l=t;if(r===C.DEFAULT||s===i.FALSE)return o===ue.AUTO?{paddingTop:c,paddingBottom:l,contentHeight:a*e,lineSpacingApply:e}:{paddingTop:c,paddingBottom:l,contentHeight:Math.max(a,e),lineSpacingApply:a};let u=0;return u=o===ue.AUTO?a*n:a,e+t*2<u?c=l=(u-e)/2:u=e,{paddingTop:c,paddingBottom:l,contentHeight:e,lineSpacingApply:u}}function zo(e,t,n){var r;let i=e.parent,a=e==null||(r=e.parent)==null||(r=r.parent)==null?void 0:r.parent;if(a==null||i==null)return;let o=Ho(i),s=new Map,{top:c,lineHeight:l,marginBottom:u=0}=e;for(let r of e.divides)for(let a of r.glyphGroup)if(a.streamType===g.CUSTOM_BLOCK&&a.width!==0){let{drawingId:d}=a;if(d==null)continue;let f=t==null?void 0:t.get(d),p=f==null?void 0:f.drawingOrigin;if(p==null||f==null)continue;let{docTransform:m}=p,{size:h,angle:g}=m,{width:_=0,height:v=0}=h,y=a.bBox.bd+a.bBox.ba;f.aLeft=r.left+r.paddingLeft+a.left+.5*a.width-.5*_||0,f.aTop=c+l-.5*y-.5*v-u,f.width=_,f.height=v,f.angle=g,f.isPageBreak=o,f.lineTop=c,f.columnLeft=i.left,f.blockAnchorTop=n==null?c:n,f.lineHeight=e.lineHeight,s.set(f.drawingId,f)}a.skeDrawings=new Map([...a.skeDrawings,...s])}function Bo(e,t,n,r,i,a=[]){var o;let s=(o=n.parent)==null?void 0:o.parent;if(s==null||a.length===0)return;let c=new Map,l=Ho(n);if(!(l&&!r)){for(let r of a){var u,d;let{drawingOrigin:a}=r;if(!a)continue;let{docTransform:o}=a,{positionH:f,positionV:p,size:m,angle:h}=o,{width:g=0,height:_=0}=m;r.aLeft=(u=ps(f,n,s,g,l))==null?0:u,r.aTop=(d=ms(p,s,e,t,_,i,l))==null?0:d,r.width=g,r.height=_,r.angle=h,r.initialState=!0,r.columnLeft=n.left,r.lineTop=e,r.lineHeight=t,r.isPageBreak=l,r.blockAnchorTop=i==null?e:i,c.set(r.drawingId,r)}return c}}function Vo(e,t){var n;let r=(n=e.parent)==null?void 0:n.parent;if(!(t==null||t.size===0||r==null))for(let e of t.values()){let t=r.skeDrawings.get(e.drawingId);if(t)if(t.drawingOrigin.layoutType===R.WRAP_TOP_AND_BOTTOM){let n=t.aTop>e.aTop?t:e;r.skeDrawings.set(e.drawingId,n)}else r.skeDrawings.set(e.drawingId,e);else r.skeDrawings.set(e.drawingId,e)}}function Ho(e){let t=e.parent;if(!t)return!1;let n=t==null?void 0:t.columns;if(!n)return!1;let r=n.length;for(let e=r-1;e>=0;e--){let t=n[e].lines,r=t.length;if(!(r<=0)){for(let e=r-1;e>=0;e--)if(t[e].paragraphStart)return!1}}return!0}function Uo(e){let t=e.length,n=0;for(let r=0;r<t;r++){let t=e[r];n+=t.width}return n}function Wo(e){let t=e.length,n=-1/0,r;for(let i=0;i<t;i++){let{ba:t,bd:a}=e[i].bBox;n<t+a&&(r={boundingBoxAscent:t,boundingBoxDescent:a}),n=t+a}return r}function Go({divides:e}){return e.flatMap(e=>e.glyphGroup)}function Ko(e){return!e.divides[0].glyphGroup[0]}function qo(e){return e.type===d.COMMENT?{bbl:{s:i.TRUE,cl:{rgb:`#fcdf7e`},c:i.FALSE},...e.active?{bg:{rgb:`#faedc2`}}:null}:null}function Jo(e){if(e.rangeType===f.HYPERLINK||e.rangeType===f.MENTION||e.rangeType===f.CUSTOM){var t;return{...(t=e.active)==null||t?{ul:{s:i.TRUE}}:null,cl:{rgb:`#274fee`}}}return null}function Yo(e){return e[e.length-1]}function Xo(e){var t;return(t=e.sections)==null?void 0:t[e.sections.length-1]}function Zo(e){let t=Xo(e).columns;return t==null?void 0:t[t.length-1]}function Qo(e){var t;let n=(t=es(e))==null?void 0:t.column.lines;return n==null?void 0:n[n.length-1]}function $o(e){return e.lines[e.lines.length-1]}function es(e){let t=Xo(e);for(let e=0;e<t.columns.length;e++){let n=t.columns[e];if(!n.isFull)return{column:n,isLast:e===t.columns.length-1,index:e}}}function ts(e){let t=Qo(e);if(t)for(let e=0;e<t.divides.length;e++){let n=t.divides[e];if(!n.isFull)return{divide:n,isLast:e===t.divides.length-1,index:e}}}function ns(e){let t=Xo(e),n=t.columns.length;for(let e=0;e<n;e++)if(!t.columns[e].isFull)return!1;return!0}function rs(e,t){if(!e)return 0;let{v:n,u:r}=e;return!r||r===N.PIXEL?n:n*t}function is(e=0,t,n=C.LINES,r=i.TRUE){let a=1;return as(n,r)&&(a=e),a*=t,a}function as(e=C.LINES,t=i.FALSE){return t===i.TRUE&&(e===C.LINES_AND_CHARS||e===C.SNAP_TO_CHARS)}function os(e,t){let{paragraphStyle:n={}}=t,{linePitch:r=15.6,gridType:a=C.LINES,paragraphLineGapDefault:o=0}=e,{lineSpacing:s=0,spacingRule:c=ue.AUTO,snapToGrid:l=i.TRUE}=n,u=s;return(a===C.LINES||a===C.LINES_AND_CHARS)&&s===0&&c===ue.AUTO&&(u=1),{paragraphLineGapDefault:o,linePitch:r,gridType:a,lineSpacing:u,spacingRule:c,snapToGrid:l}}function ss(e,t){let{paragraphStyle:n={}}=t,{charSpace:r=0,gridType:a=C.LINES,defaultTabStop:o=36,documentTextStyle:s={}}=e,{fs:c=14}=s,{snapToGrid:l=i.TRUE}=n;return{charSpace:r,documentFontSize:c,defaultTabStop:o,gridType:a,snapToGrid:l}}function cs(e,t=-1){let n=t;for(let t of e){let{sections:e,skeTables:r}=t,i=n,a=i,o=-1/0,s=0;for(let t of e){let{columns:e}=t,n=a,i=n,c=-1/0,l=0;for(let t of e){let{lines:e}=t,n=i,a=n,o=0,s=-1/0;for(let t of e){let{divides:e,lineHeight:n,top:i,isBehindTable:c,tableId:l}=t,u=a;if(c&&l){let e=r.get(l);e&&(u=e.ed)}let d=u,f=0,p=0,m=0;o=i+n;let h=e.length,g=!1;for(let t=0;t<h;t++){let n=e[t],{glyphGroup:r}=n,i=d,a=i;for(let e of r){let n=e.glyphType===Yn.LIST?0:e.count;a+=n;let{ba:r,bd:i}=e.bBox;p=Math.max(p,r),m=Math.max(m,i),t===h-1&&(f+=e.width)}r.length!==0&&(g=!0,r[0].xOffset!==0&&t===h-1&&(f-=r[0].xOffset),t===h-1&&(f+=n.left),n.st=i+1,n.ed=a>=n.st?a:n.st,d=n.ed)}t.st=g?u+1:u,t.ed=d>=t.st?d:t.st,t.width=f,t.asc=p,t.dsc=m,s=Math.max(s,f),a=t.ed}t.st=n+1,t.ed=a>=t.st?a:t.st,t.height=o,t.width=s,l+=s,c=Math.max(c,t.height),i=t.ed}t.st=n+1,t.ed=i>=t.st?i:t.st,t.height=c,s+=c,o=Math.max(o,l),a=t.ed}for(let e of r.values()){let{ed:t}=e;a=Math.max(a,t)}t.st=i+1,t.ed=a>=t.st?a:t.st,t.height=s,t.width=o,n=t.ed}}function ls(e,t){ds(t,(t,n,r,i)=>{var a,o;let{segmentId:s}=i,c=(a=e.paragraphConfigCache.get(s))==null?void 0:a.get(t.paragraphIndex),l=c==null?void 0:c.paragraphInlineSkeDrawings,u=(o=e.skeletonResourceReference)==null||(o=o.drawingAnchor)==null||(o=o.get(s))==null?void 0:o.get(t.paragraphIndex);l&&l.size>0&&zo(t,l,u==null?void 0:u.top);let d=c==null?void 0:c.paragraphStyle;if(t.divides.length>0){let e=t.divides[t.divides.length-1],n=e.glyphGroup[e.glyphGroup.length-1];(n==null?void 0:n.streamType)===g.PARAGRAPH&&d!=null&&d.borderBottom&&(t.borderBottom=d.borderBottom)}})}function us(e,t){for(let n of e){let{sections:e}=n;for(let r of e){let{columns:e}=r;for(let i of e){let{lines:e}=i;for(let a of e){let{divides:e}=a,o=e.length;for(let s=0;s<o;s++){let o=e[s],{glyphGroup:c}=o;for(let e of c)t&&zt(t)&&t(e,o,a,i,r,n)}}}}}}function ds(e,t){for(let n of e){let{sections:e}=n;for(let r of e){let{columns:e}=r;for(let i of e){let{lines:e}=i;for(let a of e)t&&zt(t)&&t(a,i,r,n)}}}}function fs(e,t){for(let n of e){let{sections:e}=n;for(let n of e){let{columns:e}=n;for(let n of e)t&&zt(t)&&t(n)}}}function ps(e,n,r,i,a=!1){let{relativeFrom:o,align:s,posOffset:c,percent:l}=e;if(s!=null)if(s===t.INSIDE||s===t.OUTSIDE)o===F.MARGIN||F.PAGE;else{if(o===F.COLUMN){let{width:e,left:r}=n,a=0;return s===t.LEFT?a=r:s===t.RIGHT?a=r+e-i:s===t.CENTER&&(a=r+e/2-i/2),a}if(o!==F.LEFT_MARGIN&&o!==F.MARGIN&&o!==F.RIGHT_MARGIN&&o!==F.INSIDE_MARGIN&&o!==F.OUTSIDE_MARGIN&&o===F.PAGE){let{pageWidth:e}=r,n=0;return s===t.RIGHT?n=e-i:s===t.CENTER&&(n=e/2-i/2),n}}else if(c){let{pageWidth:e,marginLeft:t,marginRight:s}=r,l=e-s,u=0;return o===F.COLUMN?u=(a?0:(n==null?void 0:n.left)||0)+c:o===F.LEFT_MARGIN||(o===F.MARGIN?u=c+t:o===F.RIGHT_MARGIN||o===F.INSIDE_MARGIN||o===F.OUTSIDE_MARGIN||o===F.PAGE&&(u=c)),u+i>l&&(u=l-i),u}else if(l){let{pageWidth:e,marginLeft:t,marginRight:n}=r;if(o!==F.LEFT_MARGIN&&o!==F.MARGIN&&o!==F.RIGHT_MARGIN&&o!==F.INSIDE_MARGIN&&o!==F.OUTSIDE_MARGIN&&o===F.PAGE)return l*e}}function ms(e,t,r,i,a,o,s=!1){let{relativeFrom:c,align:l,posOffset:u,percent:d}=e;if(l!=null){if(c===I.LINE){let e=0;return l===n.BOTTOM?e=r+i-a:l===n.TOP?e=r:l===n.CENTER&&(e=r+i/2-a/2),e}else if(c!==I.TOP_MARGIN&&c!==I.MARGIN&&c!==I.BOTTOM_MARGIN&&c!==I.INSIDE_MARGIN&&c!==I.OUTSIDE_MARGIN&&c===I.PAGE){let{pageHeight:e}=t,r=0;return l===n.BOTTOM?r=e-a:l===n.CENTER&&(r=e/2-a/2),r}}else if(u!=null){let e=0,{marginTop:n}=t;return c===I.LINE?e=(r||0)+u:c===I.TOP_MARGIN||(c===I.MARGIN?e=u:c===I.BOTTOM_MARGIN||c===I.INSIDE_MARGIN||c===I.OUTSIDE_MARGIN||(c===I.PAGE?e=u-n:c===I.PARAGRAPH&&(e=(s?0:o==null?r:o)+u))),e}else if(d!=null){let{pageHeight:e,marginBottom:n,marginTop:r}=t;if(c!==I.TOP_MARGIN&&c!==I.MARGIN&&c!==I.BOTTOM_MARGIN&&c!==I.INSIDE_MARGIN&&c!==I.OUTSIDE_MARGIN&&c===I.PAGE)return d*e}}function hs(e){let t=0;for(let n of e.glyphGroup)t+=n.width;return t}const gs=new P;function _s(){gs.reset()}function vs(e,t,n){let{ts:r,fontStyle:a}=e,{gridType:o=C.LINES,charSpace:s=0,pageSize:c={width:1/0,height:1/0},marginRight:l=0,marginLeft:u=0}=t,{snapToGrid:d=i.TRUE}=n;return{fontStyle:a,textStyle:r,charSpace:s,gridType:o,snapToGrid:d,pageWidth:c.width||1/0-u-l}}function ys(e,t){var n;let{listType:r}=e;return(n=t.getDataModel().getBulletPresetList()[r].nestingLevel[0].paragraphProperties)==null?void 0:n.textStyle}const bs={ts:{},st:0,ed:0};function xs(e,t,n,r,a){let{gridType:o=C.LINES,charSpace:s=0,documentTextStyle:c={},pageSize:l={width:1/0,height:1/0},marginRight:u=0,marginLeft:d=0,renderConfig:f={}}=r,{paragraphStyle:p={},bullet:m}=a,{isRenderStyle:h}=f,{startIndex:g}=n,_=t.getTextRun(e+g),v=h===i.FALSE||_==null?bs:_,y=t.getCustomDecoration(e+g),b=y&&y.show!==!1,x=b?qo(y):null,S=t.getCustomRange(e+g),w=S&&S.show!==!1,T=w?Jo(S):null,E=w||b||!!m||(p==null?void 0:p.namedStyleType),{st:D,ed:O}=v,{ts:k={}}=v,A=gs.getValue(D,O);if(A&&!E&&_)return A;let{snapToGrid:ee=i.TRUE,namedStyleType:j}=p,te=m?ys(m,t):null,N=j?M[j]:null;k={...c,...N,...k,...x,...T,...te};let P={fontStyle:qt(k),textStyle:{...c,...k},charSpace:s,gridType:o,snapToGrid:ee,pageWidth:l.width||1/0-d-u};return!E&&_&&gs.setValue(D,O,P),P}function Ss(){return{pages:[],left:0,top:0,st:0,skeHeaders:new Map,skeFooters:new Map,skeListLevel:new Map,drawingAnchor:new Map}}function Cs(e,t){for(let n of e)n.parent=t}let ws=function(e){return e.IMAGE=`IMAGE`,e.TABLE=`TABLE`,e}({});const Ts={columnProperties:[],columnSeparatorType:u.NONE,sectionType:se.SECTION_TYPE_UNSPECIFIED,startIndex:0},Es={width:1/0,height:1/0},Ds={pageNumberStart:1,pageSize:{width:Fn(595),height:1/0},marginTop:Fn(50),marginBottom:Fn(50),marginRight:Fn(50),marginLeft:Fn(50),renderConfig:{vertexAngle:0,centerAngle:0,background:{rgb:`#FFFFFF`}},defaultHeaderId:``,defaultFooterId:``,evenPageHeaderId:``,evenPageFooterId:``,firstPageHeaderId:``,firstPageFooterId:``,evenAndOddHeaders:i.FALSE,useFirstPageHeaderFooter:i.FALSE,marginHeader:0,marginFooter:0},Os={columnProperties:[],columnSeparatorType:u.NONE,sectionType:se.SECTION_TYPE_UNSPECIFIED};function ks(e,t){var n;let{viewModel:r,dataModel:a,docsConfig:o}=e,s=r.getChildren()[t],{documentStyle:c}=a,{documentFlavor:l}=c,d=r.getSectionBreak(s.endIndex)||Ts;l===b.MODERN&&(d=Object.assign({},d,Os),c=Object.assign({},c,Ds));let{pageNumberStart:f=1,pageSize:p=Es,pageOrient:m=L.PORTRAIT,defaultHeaderId:h,defaultFooterId:g,evenPageHeaderId:_,evenPageFooterId:v,firstPageHeaderId:y,firstPageFooterId:x,useFirstPageHeaderFooter:S,evenAndOddHeaders:T,marginTop:E=0,marginBottom:D=0,marginRight:O=0,marginLeft:k=0,marginHeader:A=0,marginFooter:ee=0,autoHyphenation:j=i.FALSE,doNotHyphenateCaps:M=i.FALSE,consecutiveHyphenLimit:te=1/0,hyphenationZone:N,renderConfig:P={horizontalAlign:w.LEFT,verticalAlign:ge.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:V.UNSPECIFIED}}=c,{charSpace:F=0,linePitch:I=15.6,gridType:ne=C.LINES,pageNumberStart:re=f,pageSize:R=p,pageOrient:ie=m,marginTop:ae=E,marginBottom:oe=D,marginRight:se=O,marginLeft:ce=k,marginHeader:le=A,marginFooter:ue=ee,defaultHeaderId:de=h,defaultFooterId:fe=g,evenPageHeaderId:pe=_,evenPageFooterId:z=v,firstPageHeaderId:me=y,firstPageFooterId:B=x,useFirstPageHeaderFooter:he=S,evenAndOddHeaders:_e=T,columnProperties:ve=[],columnSeparatorType:ye=u.NONE,contentDirection:be,sectionType:xe,textDirection:Se,renderConfig:Ce=P}=d,we=r.getChildren()[t+1],Te=(n=r.getSectionBreak(we==null?void 0:we.endIndex))==null?void 0:n.sectionType,Ee={defaultHeaderId:de,evenPageHeaderId:pe,firstPageHeaderId:me},De={defaultFooterId:fe,evenPageFooterId:z,firstPageFooterId:B};return R.width===null&&(R.width=1/0),R.height===null&&(R.height=1/0),{charSpace:F,linePitch:I,gridType:ne,pageNumberStart:re,pageSize:R,pageOrient:ie,marginTop:ae,marginBottom:oe,marginRight:se,marginLeft:ce,marginHeader:le,marginFooter:ue,headerIds:Ee,footerIds:De,useFirstPageHeaderFooter:he,evenAndOddHeaders:_e,columnProperties:ve,columnSeparatorType:ye,contentDirection:be,sectionType:xe,sectionTypeNext:Te,textDirection:Se,renderConfig:Ce,autoHyphenation:j,doNotHyphenateCaps:M,consecutiveHyphenLimit:te,hyphenationZone:N,...o}}function As(e){var t;e.isDirty=!1,(t=e.skeleton.drawingAnchor)==null||t.clear()}function js(e,t,n){let r=(e,t,i)=>i===`v`?typeof t==`number`&&typeof e==`number`?n===`max`?Math.max(t,e):Math.min(t,e):t==null?e:t:typeof t==`object`?Ne(e,t,r):t==null?e:t;return Ne(e,t,r)}function Ms(e,t){let n=[...t],r=null;for(;n.length>0;){let t=n.shift();if(t===`pages`){let t=n.shift();r=e.pages[t]}else if(t===`skeTables`){var i;let e=n.shift();n.shift();let t=n.shift();n.shift();let a=n.shift();r=(i=r.skeTables)==null||(i=i.get(e))==null||(i=i.rows[t])==null?void 0:i.cells[a]}}return r}function Ns(e){return(e-100)/2}function Ps(e,t,n,r=1,a=qn.SECTION){let o=Fs(),{pageNumberStart:s=1,pageSize:c={width:1/0,height:1/0},pageOrient:l=L.PORTRAIT,headerIds:u={},footerIds:d={},useFirstPageHeaderFooter:f,evenAndOddHeaders:p,footerTreeMap:m,headerTreeMap:h,columnProperties:g=[],columnSeparatorType:_,marginTop:v=0,marginBottom:y=0,marginHeader:b=0,marginFooter:x=0,marginLeft:S=0,marginRight:C=0,renderConfig:w={}}=t,{skeHeaders:T,skeFooters:E}=n,{width:D=1/0,height:O=1/0}=c;o.pageNumber=r,o.pageNumberStart=s,o.renderConfig=w,o.marginLeft=S,o.marginRight=C,o.breakType=a,o.pageWidth=D,o.width=0,o.pageHeight=O,o.height=0,o.pageOrient=l;let{defaultHeaderId:k,evenPageHeaderId:A,firstPageHeaderId:ee}=u,{defaultFooterId:j,evenPageFooterId:M,firstPageFooterId:te}=d,N=k==null?``:k,P=j==null?``:j;r===s&&f===i.TRUE?(N=ee==null?``:ee,P=te==null?``:te):r%2==0&&p===i.TRUE&&(N=A==null?``:A,P=M==null?``:M);let F,I;if(N){var ne;if((ne=T.get(N))!=null&&ne.has(D)){var re;F=(re=T.get(N))==null?void 0:re.get(D)}else h&&h.has(N)&&(F=Is(e,h.get(N),t,n,N,!0),T.set(N,new Map([[D,F]])));o.headerId=N}if(P){var R;if((R=E.get(P))!=null&&R.has(D)){var ie;I=(ie=E.get(P))==null?void 0:ie.get(D)}else m&&m.has(P)&&(I=Is(e,m.get(P),t,n,P,!1),E.set(P,new Map([[D,I]])));o.footerId=P}o.originMarginTop=v,o.originMarginBottom=y,o.marginTop=zs(v,F,O),o.marginBottom=zs(y,I,O);let ae=o.sections,oe=ae[ae.length-1],{marginTop:se,marginBottom:ce,marginLeft:le,marginRight:ue}=o,de=D-le-ue,fe=O-se-ce,pe=0;oe&&(pe=oe.top+oe.height);let z=ro(g,_,pe,0,de,fe-pe);return z.parent=o,ae.push(z),o}function Fs(e=J.BODY,t=``){return{sections:[],headerId:``,footerId:``,pageWidth:0,pageHeight:0,pageOrient:L.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,left:0,marginLeft:0,marginRight:0,originMarginTop:0,marginTop:0,originMarginBottom:0,marginBottom:0,breakType:qn.SECTION,st:0,ed:0,skeDrawings:new Map,skeTables:new Map,type:e,segmentId:t}}function Is(e,t,n,r,i,a=!0,o,s=0){let{lists:c,footerTreeMap:l,headerTreeMap:u,localeService:d,pageSize:f,drawings:p,marginLeft:m=0,marginRight:h=0,marginHeader:g=0,marginFooter:_=0}=n,v=(f==null?void 0:f.width)||1/0,y=(f==null?void 0:f.height)||1/0,b={lists:c,footerTreeMap:l,headerTreeMap:u,pageSize:{width:v-m-h,height:Ns(y)-(a?g:_)-5},localeService:d,drawings:p};o==null&&(o=Ps(e,b,r),o.type=a?J.HEADER:J.FOOTER,o.segmentId=i);let x=e.layoutStartPointer[i];e.layoutStartPointer[i]=null;let S=nl(e,t,t.getChildren()[0],o,b,x).pages[0];return e.isDirty&&s<10?(s++,As(e),Is(e,t,n,r,i,a,o,s)):(cs([S]),a?Object.assign(S,{marginTop:g,marginBottom:5}):Object.assign(S,{marginTop:5,marginBottom:_}),S)}function Ls(e,t,n,r,i,a=1/0,o=1/0){var s,c;let{lists:l,footerTreeMap:u,headerTreeMap:d,localeService:f,drawings:p}=t,{skeletonResourceReference:m}=e,{cellMargin:h,tableRows:g,tableColumns:_,tableId:v}=n,{start:y={v:10},end:b={v:10},top:x={v:5},bottom:S={v:5}}=(s=(c=g[r].tableCells[i].margin)==null?h:c)==null?{}:s,C=_[i].size.width.v,w=o,T={lists:l,footerTreeMap:u,headerTreeMap:d,pageSize:{width:C,height:w},marginTop:x.v,marginBottom:S.v,marginLeft:y.v,marginRight:b.v,localeService:f,drawings:p},E=Ps(e,Object.assign({},T,{pageSize:{width:C,height:Number.isFinite(a)?a:w}}),m);return E.type=J.CELL,E.segmentId=v,{page:E,sectionBreakConfig:T}}function Rs(e,t,n,r,i,a,o,s=1/0,c=1/0){let l=n.children[0],{page:u,sectionBreakConfig:d}=Ls(e,r,i,a,o,s,c),{pages:f}=nl(e,t,l,u,d);for(let e of f)e.type=J.CELL,e.segmentId=i.tableId;return cs(f,n.startIndex),ls(e,f),f}function zs(e,t,n){if(!t||t.sections[0].columns[0].lines.length===0)return e;let r=t.height+t.marginTop+t.marginBottom,i=Ns(n);return Math.min(i,Math.max(e,r))}function Bs(){return[]}function Vs(e){return e.length>0&&!/\s|(?![\'])[\!-\@\[-\`\{-\~\u2013-\u203C]/.test(e)}function Hs(e){let t=``;for(let n=0;n<e.length&&Vs(e[n]);n++)t+=e[n];return t}function Us(e,t,n){let r=e;for(let e=0;e<=n;e++)r+=t[e].length;return r}function Ws(e){switch(e){case`–`:case`—`:return .2;case`.`:case`,`:return .8;case`:`:case`;`:return .3;case`،`:case`۔`:return .4;default:return 0}}function Gs(e){let{glyphGroup:t}=e,n=0;for(let e of t){let[t,r]=e.adjustability.shrinkability;n+=t+r}return n}function Ks(e){let{glyphGroup:t}=e,n=0;for(let e of t){let[t,r]=e.adjustability.stretchability;n+=t+r}return n}function qs(e){let t=e.glyphGroup.filter(e=>e.isJustifiable).length,n=e.glyphGroup[e.glyphGroup.length-1];return Zt(n.content)?t-1:t}function Js(e,t,n){for(let r of e.glyphGroup){let e=t<0?r.adjustability.shrinkability[0]:r.adjustability.stretchability[0],i=t<0?r.adjustability.shrinkability[1]:r.adjustability.stretchability[1],a=e*t,o=i*t;r.isJustifiable&&(o+=n),r.width+=a+o,r.xOffset+=a}ja(e.glyphGroup)}function Ys(e,t){let{divides:n}=e;for(let e=0;e<n.length;e++){let r=n[e],{width:i}=r,a=hs(r);if(i!==1/0){if(r.isFull){let e=i-a;if(r.glyphGroup.length>1){let t=r.glyphGroup[r.glyphGroup.length-1],n=Ws(t.content)*t.width;e+=n}let n=0,o=0,s=Gs(r),c=Ks(r);if(e<0&&s>0)n=Math.max(e/s,-1),e=Math.min(e+s,0);else if(t===w.JUSTIFIED){c>0&&(n=Math.min(e/c,1),e=Math.max(e-c,0));let t=qs(r);t>0&&e>0&&(o=e/t,e=0)}(n!==0||o!==0)&&(Js(r,n,o),a=hs(r))}t===w.CENTER?r.paddingLeft=(i-a)/2:t===w.RIGHT&&(r.paddingLeft=i-a),r.paddingLeft=Math.max(r.paddingLeft,0)}}}function Xs(e){for(let t of e.divides){let e=t.glyphGroup[t.glyphGroup.length-1];if(e&&t.isFull&&Yt(e.content)&&e.width-e.xOffset>e.bBox.width){let t=e.width-e.xOffset-e.bBox.width;e.width-=t,e.adjustability.shrinkability[1]=0}}}function Zs(e){for(let t of e.divides){let e=t.glyphGroup.length;if(e<2)continue;let n=t.glyphGroup[0],r=t.glyphGroup[e-1];if(mn(n.content)){let e=n.adjustability.shrinkability[0];Fa(n,e)}if(pn(r.content)){let e=r.adjustability.shrinkability[1];Pa(r,e)}ja(t.glyphGroup)}}function Qs(e,t,n,r,i){for(let t of e.divides){let{glyphGroup:e,breakType:n}=t,a=e[e.length-1];if(a&&Vs(a.content)&&n===Di.Hyphen){let e=Da(vs(a,r,i));e.parent=a.parent,e.left=a.left+a.width,t.glyphGroup.push(e),t.width-=e.width}}}function $s(e,t,n,r){let{endIndex:i}=n,a=t.getParagraph(i)||{startIndex:0};ds(e,e=>{if(e.paragraphIndex!==a.startIndex)return;let{paragraphStyle:i={}}=a,{horizontalAlign:o=w.UNSPECIFIED}=i;Zs(e),Xs(e),Qs(e,t,n,r,i),Ys(e,o)})}function ec(e,t,n){return tc(e,t,n)}function tc(e,t,n){return n===A.DECIMAL?nc(e,t):n===A.DECIMAL_ZERO?rc(e,t):n===A.UPPER_LETTER?ic(e,t):n===A.LOWER_LETTER?ac(e,t):n===A.UPPER_ROMAN?oc(e,t):n===A.LOWER_ROMAN?sc(e,t):nc(e,t)}function nc(e,t){return(e+t).toString()}function rc(e,t){let n=e+t;return n<10?`0${n}`:n.toString()}function ic(e,t){return Fe(e+t-1,!0)}function ac(e,t){return Fe(e+t-1,!1)}function oc(e,t){return cc(e+t,!0)}function sc(e,t){return cc(e+t,!1)}function cc(e,t=!1){let n={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1},r={m:1e3,cm:900,d:500,cd:400,c:100,xc:90,l:50,xl:40,x:10,ix:9,v:5,iv:4,i:1};t&&(r=n);let i=``;for(let t in r)for(;e>=r[t];)i+=t,e-=r[t];return i}function lc(e,t,n,r){if(!e||!t)return;let{listId:i,listType:a,nestingLevel:o=0,textStyle:s}=e,c=t[a];if(!c||!c.nestingLevel){var l;return uc(i,n==null||(l=n[o])==null?void 0:l.startIndexItem)}if(!c.nestingLevel[o]){var u;return uc(i,n==null||(u=n[o])==null?void 0:u.startIndexItem)}return dc(i,o,c.nestingLevel,n,s,r)}function uc(e,t=1){return{listId:e,symbol:`●`,ts:{ff:`Arial`,fs:9},startIndexItem:t,paragraphProperties:{indentFirstLine:{v:0},hanging:{v:21},indentStart:{v:0}}}}function dc(e,t,n,r,i,a){var o,s;let c=n[t],{bulletAlignment:l,glyphFormat:u,textStyle:d={},glyphType:f,glyphSymbol:p}=c,m={...i,...d},h=qt(m),g;g=p||fc(u,t,n,r);let _=(o=r==null||(s=r[t])==null?void 0:s.startIndexItem)==null?1:o;return{listId:e,symbol:g,ts:m,fontStyle:h,startIndexItem:_+1,nestingLevel:c,bulletAlign:l,bulletType:p?!1:!!f,paragraphProperties:c.paragraphProperties}}function fc(e,t,n,r){let i=e.split(`%`),a=[i[0]];for(let e=1;e<i.length;e++){var o;let s=i[e],{level:c,suffix:l}=mc(s),u=(r==null||(o=r[c])==null?void 0:o.startIndexItem)||1;c!==t&&(r==null?void 0:r[c])!==null&&--u;let d=pc(u,n[c]);a.push(d,l)}return a.join(``)}function pc(e=1,t){let{startNumber:n,glyphType:r,glyphSymbol:i}=t;return i||(r?ec(e,n,r):`●`)}function mc(e){if(e===``)return{level:0,suffix:``};let t=e.split(``),n=``,r=``,i=!1,a=/[0-9]/g;return t.forEach(e=>{!i&&a.test(`${n}${e}`)?n+=e:(i=!0,r+=e)}),{level:Number.parseInt(n)-1,suffix:r}}function hc(e,t){if(!e||!t)return;let{listId:n,nestingLevel:r}=e,i=t==null?void 0:t.get(n),a=r;a<0&&(a=0);let o=[];for(let e=a;e>=0;e--)if(Array.isArray(i==null?void 0:i[e])){var s,c;let t=i[e].length;o[e]=(s=(c=i[e][t-1])==null?void 0:c.bullet)==null?null:s}else o[e]=null;return o}function gc(e,t,n,r){if(!t||!n)return;let{listId:i,nestingLevel:a}=t,o=[...(r==null?void 0:r.get(i))||[]];o[a]==null&&(o[a]=[]),o[a].push({bullet:n,paragraph:e}),o.splice(a+1),r==null||r.set(i,o)}function _c(e){let{drawingId:t}=e;return{drawingId:t,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:e,columnLeft:0,lineHeight:0,lineTop:0,blockAnchorTop:0,isPageBreak:!1}}function vc(e){return e.pageNumber+1}function yc(e,t,n,r,i,a,o){let{skeletonResourceReference:s}=e,{lists:c,drawings:l={},localeService:u}=a,{endIndex:d,blocks:f=[],children:p}=i,{segmentId:m}=r,h=t.getParagraph(d)||{startIndex:0},{paragraphStyle:_={},bullet:v}=h,{skeHeaders:y,skeFooters:b,skeListLevel:x,drawingAnchor:S}=s,C=new Map,w=new Map,T=S==null?void 0:S.get(m);T==null&&(T=new Map,S==null||S.set(m,T));let E={paragraphIndex:d,paragraphStyle:B.deepClone(_),paragraphNonInlineSkeDrawings:C,paragraphInlineSkeDrawings:w,skeTablesInParagraph:o?[{tableId:o.tableId,table:o,hasPositioned:!1,isSlideTable:!1,tableNode:p[0]}]:void 0,skeHeaders:y,skeFooters:b,pDrawingAnchor:T},D=e.paragraphConfigCache.get(m);if(D==null&&(D=new Map,e.paragraphConfigCache.set(m,D)),D.has(d)){var O;E.bulletSkeleton=(O=D.get(d))==null?void 0:O.bulletSkeleton}else{let e=lc(v,c,hc(v,x),u);gc(h,v,e,x),E.bulletSkeleton=e}for(let e=0,n=f.length;e<n;e++){let n=f[e],r=t.getCustomBlock(n);if(r==null)continue;let{blockId:i}=r,a=l[i];a.layoutType===R.INLINE?w.set(i,_c(a)):C.set(i,_c(a))}D.set(d,E);let k=[r],A=!0;for(let[t,{text:r,glyphs:i,breakPointType:o}]of n.entries()){let t=()=>{i.length!==0&&(k=bo(e,i,k,a,E,A,o),A=!1)};if(r.endsWith(g.PAGE_BREAK)){t(),k.push(Ps(e,a,s,vc(k[k.length-1]),qn.PAGE)),C.clear(),w.clear();continue}else if(r.endsWith(g.COLUMN_BREAK)){t();let n=k[k.length-1],r=es(n);r&&!r.isLast?io(r.column,!0):k.push(Ps(e,a,s,vc(n),qn.COLUMN));continue}t()}return k}let Q=function(e){return e.Af=`af`,e.As=`as`,e.Be=`be`,e.Bg=`bg`,e.Bn=`bn`,e.Ca=`ca`,e.Cop=`cop`,e.Cs=`cs`,e.Cu=`cu`,e.Cy=`cy`,e.Da=`da`,e.De1901=`de-1901`,e.De1996=`de-1996`,e.DeCh1901=`de-ch-1901`,e.ElMonoton=`el-monoton`,e.ElPolyton=`el-polyton`,e.EnGb=`en-gb`,e.EnUs=`en-us`,e.Es=`es`,e.Et=`et`,e.Eu=`eu`,e.Fi=`fi`,e.Fr=`fr`,e.Fur=`fur`,e.Ga=`ga`,e.Gl=`gl`,e.Grc=`grc`,e.Gu=`gu`,e.Hi=`hi`,e.Hr=`hr`,e.Hsb=`hsb`,e.Hu=`hu`,e.Hy=`hy`,e.Ia=`ia`,e.Id=`id`,e.Is=`is`,e.It=`it`,e.Ka=`ka`,e.Kmr=`kmr`,e.Kn=`kn`,e.LaXClassic=`la-x-classic`,e.LaXLiturgic=`la-x-liturgic`,e.La=`la`,e.Lt=`lt`,e.Lv=`lv`,e.Ml=`ml`,e.MnCyrlXLmc=`mn-cyrl-x-lmc`,e.MnCyrl=`mn-cyrl`,e.Mr=`mr`,e.MulEthi=`mul-ethi`,e.Nb=`nb`,e.Nl=`nl`,e.Nn=`nn`,e.No=`no`,e.Oc=`oc`,e.Or=`or`,e.Pa=`pa`,e.Pi=`pi`,e.Pl=`pl`,e.Pms=`pms`,e.Pt=`pt`,e.Rm=`rm`,e.Ro=`ro`,e.Ru=`ru`,e.Sa=`sa`,e.ShCyrl=`sh-cyrl`,e.ShLatn=`sh-latn`,e.Sk=`sk`,e.Sl=`sl`,e.SrCyrl=`sr-cyrl`,e.Sv=`sv`,e.Ta=`ta`,e.Te=`te`,e.Th=`th`,e.Tk=`tk`,e.Tr=`tr`,e.Uk=`uk`,e.ZhLatnPinyin=`zh-latn-pinyin`,e.UNKNOWN=`unknown`,e}({});function bc(e){return e.length>0&&e===e.toUpperCase()}var xc=class{constructor(e,t,n,r=!1){this._lineBreaker=e,this._hyphen=t,this._lang=n,this._doNotHyphenateCaps=r,K(this,`_curBreak`,null),K(this,`_nextBreak`,new Oi(0)),K(this,`_isInWord`,!1),K(this,`_word`,``),K(this,`_hyphenIndex`,-1),K(this,`_hyphenSlice`,[]),K(this,`content`,``),this.content=e.content}nextBreakPoint(){if(!this._isInWord){if(this._curBreak=this._nextBreak,this._nextBreak=this._lineBreaker.nextBreakPoint(),this._nextBreak==null||this._curBreak==null)return null;let e=Hs(this.content.slice(this._curBreak.position,this._nextBreak.position));return e.length&&!(bc(e)&&this._doNotHyphenateCaps)&&this._nextBreak.type!==Di.Link?(this._isInWord=!0,this._word=e,this._hyphenSlice=this._hyphen.hyphenate(this._word,this._lang),this._hyphenIndex=0,this.nextBreakPoint()):this._nextBreak}else if(this._hyphenIndex<this._hyphenSlice.length-1){let e=Us(this._curBreak.position,this._hyphenSlice,this._hyphenIndex);return this._hyphenIndex++,new Oi(e,Di.Hyphen)}else return this._isInWord=!1,this._word=``,this._hyphenSlice=[],this._hyphenIndex=-1,this._nextBreak}},Sc=function(e){return e.Alphabetic=`Alphabetic`,e.Digit=`Digit`,e.Open=`Open`,e.Other=`Other`,e}(Sc||{});function Cc(e){return/[a-z]/i.test(e)?Sc.Alphabetic:/[0-9]/.test(e)?Sc.Digit:e===`(`||e===`[`?Sc.Open:Sc.Other}function wc(e){let t=[],n=0,r=Sc.Other;for(let i=0;i<e.length;i++){let a=e[i],o=Cc(a);if(i>0&&r!==Sc.Open&&(o===Sc.Other?o===Sc.Other:o!==r)){let a=e.slice(n,i);if(a.length<16)t.push(a);else for(let e=0;e<a.length;e++)t.push(a[e]);n=i,r=o}}return t}const Tc=/[a-z\d!#$%&*+,-./:;=?@_~\\]/i,Ec=/[!,.;:?']$/g;function Dc(e,t){let n=``;for(let r=t;r<e.length;r++){let t=e[r];if(Tc.test(t))n+=t;else break}return n.replace(Ec,``),n}var Oc=class{constructor(e){this._lineBreaker=e,K(this,`_curBreak`,null),K(this,`_nextBreak`,new Oi(0)),K(this,`_isInLink`,!1),K(this,`_link`,``),K(this,`_index`,-1),K(this,`_linkSlice`,[]),K(this,`content`,``),this.content=e.content}nextBreakPoint(){if(!this._isInLink){if(this._curBreak=this._nextBreak,this._nextBreak=this._lineBreaker.nextBreakPoint(),this._nextBreak==null||this._curBreak==null)return null;let e=this.content.slice(this._curBreak.position,this._nextBreak.position);if(e.length&&(e.endsWith(`://`)||e.startsWith(`www.`))){for(this._isInLink=!0,this._link=Dc(this.content,this._curBreak.position),this._linkSlice=wc(this._link),this._index=0;this._nextBreak&&this._nextBreak.position<this._curBreak.position+this._link.length;)this._nextBreak=this._lineBreaker.nextBreakPoint();return this.nextBreakPoint()}else return this._nextBreak}else if(this._index<this._linkSlice.length-1){let e=Us(this._curBreak.position,this._linkSlice,this._index);return this._index++,new Oi(e,Di.Link)}else return this._isInLink=!1,this._link=``,this._linkSlice=[],this._index=-1,this._nextBreak}};function kc(e){e.addRule(`break_before_and_after_slash_b`,(e,t)=>e===8||t===8)}function Ac(e){e.addRule(`break_before_tab`,e=>e===9)}var jc=function(e){return e[e.EQUAL=0]=`EQUAL`,e[e.GREATER=1]=`GREATER`,e[e.LESS=2]=`LESS`,e}(jc||{}),Mc=function(e){return e[e.Normal=0]=`Normal`,e[e.Italic=1]=`Italic`,e[e.Oblique=2]=`Oblique`,e}(Mc||{}),Nc=function(e){return e[e.THIN=100]=`THIN`,e[e.EXTRALIGHT=200]=`EXTRALIGHT`,e[e.LIGHT=300]=`LIGHT`,e[e.REGULAR=400]=`REGULAR`,e[e.MEDIUM=500]=`MEDIUM`,e[e.SEMIBOLD=600]=`SEMIBOLD`,e[e.BOLD=700]=`BOLD`,e[e.EXTRABOLD=800]=`EXTRABOLD`,e[e.BLACK=900]=`BLACK`,e}(Nc||{});function Pc(e){let{family:t,style:n}=e,r=Mc.Normal,i=Nc.REGULAR;switch(/italic/i.test(n)&&(r=Mc.Italic),!0){case/thin|hairline/i.test(n):i=Nc.THIN;break;case/(extra|ultra) *light/i.test(n):i=Nc.EXTRALIGHT;break;case/light/i.test(n):i=Nc.LIGHT;break;case/medium/i.test(n):i=Nc.MEDIUM;break;case/(semi|demi) *bold/i.test(n):i=Nc.SEMIBOLD;break;case/bold/i.test(n):i=Nc.BOLD;break;case/(extra|ultra) *bold/i.test(n):i=Nc.EXTRABOLD;break;case/black|heavy/i.test(n):i=Nc.BLACK;break}return{family:t,variant:{style:r,weight:i}}}function Fc(e){let{ff:t,bl:n=i.FALSE,it:r=i.FALSE}=e;return{family:t==null?`Arial`:t,variant:{style:r===i.TRUE?Mc.Italic:Mc.Normal,weight:n===i.TRUE?Nc.BOLD:Nc.REGULAR}}}function Ic(e,t){let n=1/0;n=e.variant.style===t.variant.style?0:e.variant.style!==Mc.Normal&&t.variant.style!==Mc.Normal?1:2;let r=Math.abs(e.variant.weight-t.variant.weight);return[n,r]}function Lc(e,t){return e[0]===t[0]&&e[1]===t[1]?jc.EQUAL:e[0]===t[0]?e[1]>t[1]?jc.GREATER:jc.LESS:e[0]>t[0]?jc.GREATER:jc.LESS}async function Rc(){var e;if(typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope||typeof window>`u`||window.navigator==null||((e=window.navigator)==null?void 0:e.permissions)==null)return!1;try{return(await window.navigator.permissions.query({name:`local-fonts`})).state===`granted`}catch{return!1}}const zc=new class{constructor(){K(this,`isReady`,!1),K(this,`_fontBook`,new Map),this._loadFontsToBook()}async _loadFontsToBook(){if(!this.isReady&&!(!await Rc()||!(`queryLocalFonts`in window))&&!(typeof navigator==`object`&&navigator.userAgent.includes(`Electron`)))try{let e=await window.queryLocalFonts({postscriptNames:[]});for(let t of e){let{family:e,style:n}=t,r=this._fontBook.get(e);r==null&&(r=new Map,this._fontBook.set(e,r));let i=await(await t.blob()).arrayBuffer();r.set(n,{font:t,buffer:i})}this.isReady=!0}catch(e){console.error(e)}}findBestMatchFontByStyle(e){let t=e.ff,n=this._fontBook.get(t);if(n==null)return;let r=null,i=[1/0,1/0];for(let t of n.values()){let{font:n}=t,a=Ic(Pc(n),Fc(e));(r==null||Lc(i,a)===jc.GREATER)&&(r=t,i=a)}return r}getValidFontFamilies(e){return e.filter(e=>this._fontBook.has(e))}};function Bc(e,t){let{dataStream:n,paragraphs:r=[],textRuns:i=[]}=e,a=0;for(let e=0;e<r.length;e++){let{startIndex:n}=r[e];if(n===t)break;a=n+1}let o=[];for(let e of i){let{st:n,ed:r}=e;n>=a&&n<=t?o.push({...e,st:n-a,ed:Math.min(r,t)-a}):r>=a&&r<=t&&o.push({...e,st:Math.max(n,a)-a,ed:r-a})}return{dataStream:n.substring(a,t+1),textRuns:o}}function Vc(e){let{dataStream:t,textRuns:n=[]}=e,r=0,i=[];for(let e of n){let{st:n,ed:a,ts:o={}}=e;n!==r&&i.push({content:t.substring(r,n)}),i.push({content:t.substring(n,a),style:o}),r=a}return r!==t.length&&i.push({content:t.substring(r)}),i}const Hc=new Map,Uc=new Map;function Wc(e,t,n,r,a){var o,s,c;let l=0,u=r[l];for(;n.has(u);)l++,u=r[l];if(!u)return[{char:e,start:t,end:t+e.length,glyph:null,font:null,kerning:0,boundingBox:null}];n.add(u);let{font:d,buffer:f}=zc.findBestMatchFontByStyle({ff:u,bl:(o=a.bl)==null?i.FALSE:o,it:(s=a.it)==null?i.FALSE:s}),p=Hc.get(d.fullName);p||(p=Qe(f),Hc.set(d.fullName,p));let m=[],h=p.stringToGlyphs(e),g=(c=e.match(/[\s\S]/gu))==null?[]:c,_=0,v=0;for(;_<h.length;){var y;let i=h[_];if(i.index!==0)m.push({char:g[_],start:v+t,end:v+t+g[_].length,glyph:i,font:p,kerning:0,boundingBox:i.getBoundingBox()});else{let i=v,o=sn(e.substring(i));if(o&&cn(o)){let s=0;do s+=g[_].length,v+=g[_].length,_++;while(s<o.length);m.push(...Wc(e.slice(i,i+o.length),t+i,n,r,a));continue}else{let o=h[_+1],s=g[_+1];for(;(o==null?void 0:o.index)===0&&!cn(s);)v+=g[_].length,_++,o=h[_+1],s=g[_+1];m.push(...Wc(e.slice(i,v+g[_].length),t+i,n,r,a))}}v+=(y=g[_])==null?void 0:y.length,_++}return n.delete(u),m}function Gc(e){if(e.length<2)return;let t=e[0].font,n=e[0].glyph;for(let r=1;r<e.length;r++){let{font:i,glyph:a}=e[r];if(t!==i||i==null||n==null||a==null){t=i,n=a;continue}let o=i.getKerningValue(n,a);o!==0&&(e[r].kerning=o),t=i,n=a}}function Kc(e){if(!zc.isReady)return[];let t=JSON.stringify(e);if(Uc.has(t))return Uc.get(t);let n=Vc(e),r=[],i=0;for(let e of n){var a;let{content:t,style:n={}}=e,o=ct.split(`,`).map(e=>e.trim().replace(/["']/g,``));o.unshift((a=n.ff)==null?`Arial`:a),o=zc.getValidFontFamilies(o),r.push(...Wc(t,i,new Set,o,n)),i+=t.length}return Gc(r),Uc.set(t,r),r}function qc(e,t,n,r,i,a){let o=[],s=0,c=t;for(;c.length;){var l;let u=(l=c.match(/^[\s\S]/gu))==null?void 0:l[0];if(u==null||fn(u)||ln(t.substring(s)))break;let d=Ta(u,xs(e+s,n,r,i,a));o.push(d),c=c.substring(u.length),s+=u.length}return{step:s,glyphGroup:o}}function Jc(e,t,n,r,i,a){let o=xs(e,n,r,i,a),s=[],c=0;for(let e=0;e<t.length;e++){let n=t[e];if(un(n))s.unshift(n),c++;else break}return{step:c,glyphGroup:[Ta(s.join(``),o)]}}function Yc(e,t,n,r,i,a){let o=xs(e,n,r,i,a),s=sn(t)||t[0];return{step:s.length,glyphGroup:[Ta(s,o)]}}function Xc(e,t,n,r,i,a){let o=xs(e,n,r,i,a),s=[],c=0;for(let e=0;e<t.length;e++){let n=t[e];if(dn(n))s.push(n),c++;else break}return{step:c,glyphGroup:[wa(s.join(``),o)]}}function Zc(e){let t=e.length;for(let n=0;n<t-1;n++){let t=e[n],r=e[n+1],{width:i,content:a}=t,o=i/2;if($t(a)&&$t(r.content)&&t.adjustability.shrinkability[1]+r.adjustability.shrinkability[0]>=o){let e=Math.min(t.adjustability.shrinkability[1],o);Pa(t,e),Fa(r,o-e)}}}function Qc(e){let t=e.flatMap(e=>e.glyphs),n=null,r=t.length,i=/[a-z\d]/i;for(let e=0;e<r;e++){let a=t[e],o=e<r-1?t[e+1]:null,{width:s}=a;Yt(a.content)&&o&&i.test(o.content)&&(a.width+=s/4,a.adjustability.shrinkability[1]+=s/8),Yt(a.content)&&n&&i.test(n.content)&&(a.width+=s/4,a.xOffset+=s/4,a.adjustability.shrinkability[0]+=s/8),n=a}}function $c(e,t){let{suppressHyphenation:n=i.FALSE}=e,{autoHyphenation:r=i.FALSE}=t;return n===i.FALSE&&r===i.TRUE}function el(e,t,n,r,a,o=!1){let{gridType:s=C.LINES,charSpace:c=0,defaultTabStop:l=10.5,drawings:u={}}=a,d=[],f=new ca(t),{endIndex:p}=r,m=n.getParagraph(p)||{startIndex:0},{paragraphStyle:h={}}=m,{snapToGrid:_=i.TRUE}=h,v=0,y,b=0,{hyphen:x,languageDetector:S}=e,w=Bc(n.getBody(),p),T=[];o&&(T=Kc(w)),Ac(f),kc(f),f=new Oc(f);let E=S.detect(t),D=$c(h,a),O=a.doNotHyphenateCaps===i.TRUE;for(E!==Q.UNKNOWN&&D&&(x.hasPattern(E)?f=new xc(f,x,E,O):x.loadPattern(E));y=f.nextBreakPoint();){let e=t.slice(v,y.position),f=[];if(zc.isReady&&o){let e=[],t=0;for(t=b;t<T.length;t++){let n=T[t],{end:r}=n;if(r>y.position)break;e.push(n)}b=t;for(let t of e){let{start:e,char:i}=t,o=xs(e,n,r,a,m);if(i===g.TAB){let e=Ea(o,is(c,l,s,_));f.push(e)}else if(ln(i)){let e=Ta(i,o);f.push(e)}else{let e=Ta(i,o,void 0,t);f.push(e)}}}else{let t=e,o=v;for(;t.length>0;){var k;let e=(k=t.match(/^[\s\S]/gu))==null?void 0:k[0];if(e==null)break;if(e===g.CUSTOM_BLOCK){let i=xs(o,n,r,a,m),s=null,c=n.getCustomBlockWithoutSetCurrentIndex(r.startIndex+o);if(c!=null){let{blockId:e}=c,t=u[e];if(t.layoutType===R.INLINE){let{angle:e}=t.docTransform,{width:n=0,height:r=0}=t.docTransform.size,a=qa(e,0,n,0,r);s=Oa(i,a.width,a.height,t.drawingId)}else s=Oa(i,0,0,t.drawingId)}s==null&&(s=Ta(e,i)),f.push(s),o+=e.length,t=t.substring(e.length)}else if(/\s/.test(e)||Zt(e)){let u=xs(o,n,r,a,m),d=null;if(e===g.TAB)d=Ea(u,is(c,l,s,_));else if(e===g.PARAGRAPH){var A;d=((A=a.renderConfig)==null?void 0:A.zeroWidthParagraphBreak)===i.TRUE?Ta(e,u,0):Ta(e,u)}else d=Ta(e,u);f.push(d),o+=e.length,t=t.substring(e.length)}else if(ln(t)){let{step:e,glyphGroup:i}=Yc(o,t,n,r,a,m);f.push(...i),o+=e,t=t.substring(e)}else if(un(e)){let{step:e,glyphGroup:i}=Jc(o,t,n,r,a,m);f.push(...i),o+=e,t=t.substring(e)}else if(dn(e)){let{step:e,glyphGroup:i}=Xc(o,t,n,r,a,m);f.push(...i),o+=e,t=t.substring(e)}else{let{step:e,glyphGroup:i}=qc(o,t,n,r,a,m);f.push(...i),o+=e,t=t.substring(e)}}}Zc(f);let p=[[]];for(let e=0;e<f.length;e++){let t=p[p.length-1],n=f[e];n.streamType===g.CUSTOM_BLOCK&&n.width!==0?(t.length===0&&p.pop(),p.push([n])):t.push(n)}let h=p[p.length-1];for(let e of p){let t=e.map(e=>e.content).join(``);d.push({text:t,glyphs:e,breakPointType:e===h?y.type:Di.Normal})}v=y.position}return Qc(d),d}function tl(e,t,n,r,i){_s();let{content:a=``,children:o}=n,s=null;o.length===1&&o[0].nodeType===h.TABLE&&(s=oo(e,r,t,o[0],i));let c=yc(e,t,el(e,a,t,n,i),r,n,i,s);return $s(c,t,n,i),c}function nl(e,t,n,r,i,a){let o=[],s=new Map,c=0;if(a!=null){let{startIndex:e,endIndex:t}=n;if(a>=e&&a<=t){for(let e=0;e<n.children.length;e++)if(n.children[e].endIndex===a){c=e;break}}}for(let a=c;a<n.children.length;a++){let s=n.children[a],c=[],l=r;if(o.length>0&&(l=o[o.length-1]),s.nodeType===h.PARAGRAPH&&(e.paragraphsOpenNewPage.has(s.endIndex)&&(l=Ps(e,i,e.skeletonResourceReference,l.pageNumber+1)),c=tl(e,t,s,l,i)),c.length===0&&(c=Bs()),il(o,c),e.isDirty)break}let{segmentId:l}=r;return e.isDirty&&e.layoutStartPointer[l]!=null&&rl(e.layoutStartPointer[l],o),{pages:o,renderedBlockIdMap:s}}function rl(e,t){let n=!1;for(let r=0;r<t.length;r++){let i=t[r];for(let t=0;t<i.sections.length;t++){let r=i.sections[t];for(let t=0;t<r.columns.length;t++){let i=r.columns[t];for(let t=0;t<i.lines.length;t++)if(i.lines[t].paragraphIndex===e){n=!0,i.lines.splice(t);break}if(n){let e=i.lines.length?t+1:t;e=Math.max(e,1);let n=e-1;n>=0&&(r.columns[n].isFull=!1),r.columns.splice(e);break}}if(n){let e=t+1;i.sections.splice(e);break}}if(n){let e=r+1;t.splice(Math.max(e,1));break}}}function il(e,t){e[e.length-1]===t[0]&&t.splice(0,1),e.push(...t)}const al={[Q.Af]:()=>import(`./af-BgLqt_da.js`),[Q.As]:()=>import(`./as-Du4tN0Ur.js`),[Q.Be]:()=>import(`./be-C3yH1opV.js`),[Q.Bg]:()=>import(`./bg-s3p5bYFo.js`),[Q.Bn]:()=>import(`./bn-B7wXiv_8.js`),[Q.Ca]:()=>import(`./ca-RVapQRyT.js`),[Q.Cop]:()=>import(`./cop-bjDi266F.js`),[Q.Cs]:()=>import(`./cs-CoVIEP81.js`),[Q.Cu]:()=>import(`./cu-BkKAYwnk.js`),[Q.Cy]:()=>import(`./cy-BICL1WFP.js`),[Q.Da]:()=>import(`./da-D_GhAfkh.js`),[Q.De1901]:()=>import(`./de-1901-DayEVQkI.js`),[Q.De1996]:()=>import(`./de-1996-BYKyJe0q.js`),[Q.DeCh1901]:()=>import(`./de-ch-1901-Ba40vark.js`),[Q.ElMonoton]:()=>import(`./el-monoton-HSG2xPo1.js`),[Q.ElPolyton]:()=>import(`./el-polyton-BJPjBDLC.js`),[Q.EnGb]:()=>import(`./en-gb-Cr-964h0.js`),[Q.EnUs]:()=>import(`./en-us-DWhJMag6.js`).then(e=>e.n),[Q.Es]:()=>import(`./es-BUuaiz9d.js`),[Q.Et]:()=>import(`./et-C015_x8l.js`),[Q.Eu]:()=>import(`./eu-B3aIU9f5.js`),[Q.Fi]:()=>import(`./fi-B7ruvwh_.js`),[Q.Fr]:()=>import(`./fr-DV3gbTtF.js`),[Q.Fur]:()=>import(`./fur-spIwr8JD.js`),[Q.Ga]:()=>import(`./ga-C7B_l0aA.js`),[Q.Gl]:()=>import(`./gl-CYJLl1WS.js`),[Q.Grc]:()=>import(`./grc-lz-yc01Y.js`),[Q.Gu]:()=>import(`./gu-CJE3TA6Y.js`),[Q.Hi]:()=>import(`./hi-Bj3BNvk5.js`),[Q.Hr]:()=>import(`./hr-DeSYyEPF.js`),[Q.Hsb]:()=>import(`./hsb-BuISF7qw.js`),[Q.Hu]:()=>import(`./hu-Er-06LwB.js`),[Q.Hy]:()=>import(`./hy-BXJNxqDS.js`),[Q.Ia]:()=>import(`./ia-BFEP1l4_.js`),[Q.Id]:()=>import(`./id-G3HdH_d6.js`),[Q.Is]:()=>import(`./is-CuyM1Klv.js`),[Q.It]:()=>import(`./it-B9L3-zuK.js`),[Q.Ka]:()=>import(`./ka-CJ-8-XpP.js`),[Q.Kmr]:()=>import(`./kmr-Dw4PR7jc.js`),[Q.Kn]:()=>import(`./kn-rBR7srAc.js`),[Q.La]:()=>import(`./la-CukZIpJk.js`),[Q.LaXClassic]:()=>import(`./la-x-classic-C1yWfepN.js`),[Q.LaXLiturgic]:()=>import(`./la-x-liturgic-TEBpiN34.js`),[Q.Lt]:()=>import(`./lt-CrGt2gN6.js`),[Q.Lv]:()=>import(`./lv-DwbelNo9.js`),[Q.Ml]:()=>import(`./ml-DTO45b_Q.js`),[Q.MnCyrl]:()=>import(`./mn-cyrl-yssyJoKJ.js`),[Q.MnCyrlXLmc]:()=>import(`./mn-cyrl-x-lmc-JGPgf2kt.js`),[Q.Mr]:()=>import(`./mr-Cn5FkCE4.js`),[Q.MulEthi]:()=>import(`./mul-ethi-BCzIBO0s.js`),[Q.Nb]:()=>import(`./nb-CAZy0PAe.js`),[Q.Nl]:()=>import(`./nl-BbagbLIQ.js`),[Q.Nn]:()=>import(`./nn-8o8kF0QI.js`),[Q.No]:()=>import(`./no-Dr-IfZLk.js`),[Q.Oc]:()=>import(`./oc-DVWI3UsM.js`),[Q.Or]:()=>import(`./or-uw_w64QL.js`),[Q.Pa]:()=>import(`./pa-Dnz892V-.js`),[Q.Pi]:()=>import(`./pi-D3hJsesb.js`),[Q.Pl]:()=>import(`./pl-DshNXgcE.js`),[Q.Pms]:()=>import(`./pms-BR5uiSUR.js`),[Q.Pt]:()=>import(`./pt-BsHJqljm.js`),[Q.Rm]:()=>import(`./rm-BSIcXoZY.js`),[Q.Ro]:()=>import(`./ro-9R0s2zeK.js`),[Q.Ru]:()=>import(`./ru-CSzZJIz9.js`),[Q.Sa]:()=>import(`./sa-BGGyneYN.js`),[Q.ShCyrl]:()=>import(`./sh-cyrl-8_DTEoVS.js`),[Q.ShLatn]:()=>import(`./sh-latn-DeJ02FJ1.js`),[Q.Sk]:()=>import(`./sk-1hHvxRtp.js`),[Q.Sl]:()=>import(`./sl-DvSuPJlx.js`),[Q.SrCyrl]:()=>import(`./sr-cyrl-CtUccM93.js`),[Q.Sv]:()=>import(`./sv-cd05KdUF.js`),[Q.Ta]:()=>import(`./ta-EjXVByNP.js`),[Q.Te]:()=>import(`./te-y3SgNGG-.js`),[Q.Th]:()=>import(`./th-BwaOkloW.js`),[Q.Tk]:()=>import(`./tk-DhDKYuYK.js`),[Q.Tr]:()=>import(`./tr-CjaKpakU.js`),[Q.Uk]:()=>import(`./uk-BDaGXfoU.js`),[Q.ZhLatnPinyin]:()=>import(`./zh-latn-pinyin-CV1Y2jRQ.js`)};function ol(e){let[t,n]=e;return{levelsTable:t.split(`,`),pattern:JSON.parse(n)}}function sl(e){return e.split(`-`).filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function cl(e){let t=0,n=e;function r(){return n=e.slice(t++),n.length<3?[]:n}function i(){return t===2}return[r,i]}function ll(e){let t=0;function n(){return e[t++]}function r(){return e.length===t+1}return[n,r]}var ul=class t{static getInstance(){return this._instance==null&&(this._instance=new t),this._instance}constructor(){K(this,`_patterns`,new Map),K(this,`_hyphenCache`,new Map),this._preloadPatterns(),this.loadPattern(Q.EnGb)}_preloadPatterns(){this._patterns.set(Q.EnUs,ol(e)),this._loadExceptionsToCache(Q.EnUs,e)}_loadExceptionsToCache(e,t){if(t.length<3)return;let n=t[2];for(let t of n){let n=t.replace(/-/g,``),r=t.split(`-`),i=this._hyphenCache.get(e);i==null&&(i=new Map,this._hyphenCache.set(e,i)),i.set(n,r)}}async loadPattern(e){let t=al[e];if(!t)return;let n=await t(),r=Array.isArray(n)?n:n==null?void 0:n[sl(e)];r!=null&&(this._patterns.set(e,ol(r)),this._loadExceptionsToCache(e,r))}fetchHyphenCache(e){return this._hyphenCache.get(e)}hasPattern(e){return this._patterns.has(e)}hyphenate(e,t){let n=this._hyphenCache.get(t);if(n!=null&&n.has(e))return n.get(e);if(!this._patterns.has(t))throw Error(`Language pattern not found for ${t}, please load pattern before hyphenating`);let{levelsTable:r,pattern:i}=this._patterns.get(t),a=Array(e.length+1).fill(0),[o,s]=cl(`.${e.toLocaleLowerCase()}.`.split(``)),c,l,u,d,f,p,m=-1,h,g,_;for(;(c=o()).length>0;)for(m++,s()&&m--,u=i,h=ll(c),g=h[0],_=h[1];(l=g())&&u[l]!==void 0;)if(d=u[l],u=d[0],f=d[1],u===void 0&&(u={},f=d),!_()&&f!==void 0){p=r[f];for(let e=0;e<p.length;e++)a[m+e]=Math.max(+p[e],a[m+e])}a[0]=a[1]=a[a.length-1]=a[a.length-2]=0;let v=``;for(let t=0;t<a.length;t++)v+=(a[t]%2==1?`-`:``)+e.charAt(t);n==null&&(n=new Map,this._hyphenCache.set(t,n));let y=v.split(`-`);return n.set(e,y),y}dispose(){this._patterns.clear(),this._hyphenCache.clear()}};K(ul,`_instance`,null);const dl={spa:Q.Es,eng:Q.EnUs,rus:Q.Ru,ben:Q.Bn,hin:Q.Hi,por:Q.Pt,ind:Q.Id,fra:Q.Fr,deu:Q.De1901,tel:Q.Te,mar:Q.Mr,ita:Q.It,tam:Q.Ta,tur:Q.Tr,guj:Q.Gu,pol:Q.Pl,ukr:Q.Uk,kan:Q.Kn,mal:Q.Ml,ron:Q.Ro,pan:Q.Pa,hrv:Q.Hr,nld:Q.Nl,srp:Q.SrCyrl,tha:Q.Th,uzn:Q.Kmr,zlm:Q.Ml,hun:Q.Hu,ell:Q.ElMonoton,ces:Q.Cs,bel:Q.Be,bul:Q.Bg,swe:Q.Sv,und:Q.UNKNOWN};var fl=class e{constructor(){K(this,`_detectCache`,new Map)}static getInstance(){return this._instance==null&&(this._instance=new e),this._instance}detect(e){var t;let n=this._detectCache.get(e);return n||(n=(t=dl[$e(e)])==null?Q.UNKNOWN:t,this._detectCache.set(e,n),n)}dispose(){this._detectCache.clear()}};K(fl,`_instance`,null);function pl(e){let t=new Set;e.skeleton.pages=e.skeleton.pages.filter(e=>{let n=t.has(e);return t.add(e),!n})}function ml(e){let t=[],n=e,r=n.parent;for(;r;){if(r.pages){let e=r.pages.indexOf(n);e!==-1&&t.unshift(`pages`,e)}else if(r.cells){let e=r.cells.indexOf(n);e!==-1&&t.unshift(`cells`,e)}else if(r.rows){let e=r.rows.indexOf(n);e!==-1&&t.unshift(`rows`,e)}else r.skeTables&&r.skeTables.has(n.tableId)&&t.unshift(`skeTables`,n.tableId);n=r,r=r==null?void 0:r.parent}return t}var hl=class e extends le{constructor(e,t){super(t),this._docViewModel=e,K(this,`_dirty$`,new Ke),K(this,`dirty$`,this._dirty$.asObservable()),K(this,`_skeletonData`,void 0),K(this,`_findLiquid`,new ha),K(this,`_hyphen`,ul.getInstance()),K(this,`_languageDetector`,fl.getInstance()),K(this,`_iteratorCount`,0),K(this,`_initialWidth`,0)}static create(t,n){return new e(t,n)}dispose(){super.dispose(),this._skeletonData=null,this._findLiquid=null,this._docViewModel.dispose(),this._initialWidth=0}getViewModel(){return this._docViewModel}calculate(e){if(!this.dirty)return;let t=this._prepareLayoutContext();this._skeletonData=this._createSkeleton(t,e),this._dirty$.next(!0)}getSkeletonData(){return this._skeletonData}resetInitialWidth(){this._initialWidth=0}getActualSize(){let e=this.getSkeletonData(),t=0,n=0;return e==null||e.pages.forEach(e=>{let{width:r,height:i}=e;t=Math.max(this._initialWidth,r),this._initialWidth=t,n+=i}),{actualWidth:t,actualHeight:n}}_getPageActualWidth(e){let t=-1/0;for(let n of e.sections)for(let e of n.columns)for(let n of e.lines){let e=0;for(let t of n.divides)for(let n of t.glyphGroup)e+=n.width;t=Math.max(t,e)}return t}getPageSize(){return this.getViewModel().getDataModel().documentStyle.pageSize}findPositionByGlyph(e,t){let n=e.parent,r=n==null?void 0:n.parent,i=r==null?void 0:r.parent,a=i==null?void 0:i.parent,o=a==null?void 0:a.parent,s=this.getSkeletonData();if(!n||!i||!a||!o||!s)return;let c=o.type,l=n.glyphGroup.indexOf(e),u=r.divides.indexOf(n),d=i.lines.indexOf(r),f=a.columns.indexOf(i),p=o.sections.indexOf(a),m=-1,h=ml(o);switch(c){case J.HEADER:case J.FOOTER:m=0;break;case J.BODY:m=s.pages.indexOf(o);break;case J.CELL:m=h[1];break;default:throw Error(`Invalid page type`)}return{glyph:l,divide:u,line:d,column:f,section:p,page:m,segmentPage:t,pageType:c,path:h}}findCharIndexByPosition(e){let t=this.findGlyphByPosition(e),n=t==null?void 0:t.parent;if(n==null)return;let{st:r,glyphGroup:i}=n,a=r;for(let e of i){if(e===t)break;a+=e.count}return e.isBack?a:a+t.count}findNodePositionByCharIndex(e,t=!0,n=``,r=-1){let i=this._findNodeByIndex(e,n,r);if(i==null)return;let a=this.getSkeletonData();if(!a)return;let o=a.pages,{glyph:s,divide:c,line:l,column:u,section:d,page:f,segmentPageIndex:p,pageType:m}=i,h=ml(f),g=-1;switch(m){case J.HEADER:case J.FOOTER:g=0;break;case J.BODY:g=o.indexOf(f);break;case J.CELL:g=h[1];break;default:throw Error(`Invalid page type`)}return{glyph:c.glyphGroup.indexOf(s),divide:l.divides.indexOf(c),line:u.lines.indexOf(l),column:d.columns.indexOf(u),section:f.sections.indexOf(d),page:g,pageType:m,segmentPage:p,isBack:t,path:h}}findNodeByCharIndex(e,t=``,n=-1){let r=this._findNodeByIndex(e,t,n);return r==null?void 0:r.glyph}findGlyphByPosition(e){if(e==null)return;let t=this.getSkeletonData();if(t==null)return;let{pages:n,skeFooters:r,skeHeaders:i}=t,{divide:a,line:o,column:s,section:c,segmentPage:l,pageType:u,path:d,isBack:f}=e,{glyph:p}=e,m=null;if(u===J.HEADER||u===J.FOOTER){m=n[l];let{headerId:e,footerId:t,pageWidth:a}=m;if(u===J.HEADER){var h;let t=(h=i.get(e))==null?void 0:h.get(a);if(t==null)return;m=t}else if(u===J.FOOTER){var g;let e=(g=r.get(t))==null?void 0:g.get(a);if(e==null)return;m=e}}else m=Ms(t,d);if(m==null)return;let _=m.sections[c].columns[s].lines[o].divides[a].glyphGroup;return p=Math.min(p,_.length-1),_[p].glyphType===Yn.LIST&&(p+=1),_[p]}findEditAreaByCoord(e,t,n,r){let{x:i,y:a}=e,o=_a.BODY,s=-1,c=null,l=this.getSkeletonData();if(l==null)return{editArea:o,page:c,pageNumber:s};this._findLiquid.reset();let{pages:u}=l;for(let e=0,l=u.length;e<l;e++){let l=u[e],{marginTop:d,marginBottom:f,pageWidth:p,pageHeight:m}=l;if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y&&a<this._findLiquid.y+d){o=_a.HEADER,c=l,s=e;break}if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y+d&&a<this._findLiquid.y+m-f){o=_a.BODY,c=l,s=e;break}if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y+m-f&&a<this._findLiquid.y+m){o=_a.FOOTER,c=l,s=e;break}this._translatePage(l,t,n,r)}return{editArea:o,page:c,pageNumber:s}}findNodeByCoord(e,t,n,r,i){let{x:a,y:o}=e,s=this.getSkeletonData();if(s==null)return;let c={nearestNodeList:[],nearestNodeDistanceList:[]},{pages:l,skeHeaders:u,skeFooters:d}=s,f=this.findEditAreaByCoord(e,t,n,r).editArea,p=l.length;if(this._findLiquid.reset(),i==null)for(let e=0;e<p;e++){let i=l[e],{headerId:s,footerId:_,pageWidth:v}=i,y=null;if(f===_a.HEADER||f===_a.FOOTER){var m,h;let t=(m=u.get(s))==null?void 0:m.get(v);t&&(y=this._collectNearestNode(t,J.HEADER,i,s,e,c,a,o,p));let n=(h=d.get(_))==null?void 0:h.get(v);if(n){var g;y=(g=y)==null?this._collectNearestNode(n,J.FOOTER,i,_,e,c,a,o,p):g}}else y=this._collectNearestNode(i,J.BODY,i,``,e,c,a,o,p);if(y)return y;this._translatePage(i,t,n,r)}else{let{segmentId:e,segmentPage:s,strict:f}=i,m=null;if(f===!1)for(let i=0;i<p;i++){let s=l[i],{headerId:f,footerId:h,pageWidth:g}=s;if(e!==``){var _,v;let e=(_=u.get(f))==null?void 0:_.get(g);e&&(m=this._collectNearestNode(e,J.HEADER,s,f,i,c,a,o,p));let t=(v=d.get(h))==null?void 0:v.get(g);if(t){var y;m=(y=m)==null?this._collectNearestNode(t,J.FOOTER,s,h,i,c,a,o,p):y}}else m=this._collectNearestNode(s,J.BODY,s,``,i,c,a,o,p);if(m)return m;this._translatePage(s,t,n,r)}else for(let i=0;i<p;i++){let f=l[i];if(e){var b,x;if(s!==i){this._translatePage(f,t,n,r);continue}let{headerId:l,pageWidth:h}=f,g=e===l?(b=u.get(e))==null?void 0:b.get(h):(x=d.get(e))==null?void 0:x.get(h);g&&(m=this._collectNearestNode(g,e===l?J.HEADER:J.FOOTER,f,e,s,c,a,o,p))}else m=this._collectNearestNode(f,J.BODY,f,``,i,c,a,o,p);if(m)return m;this._translatePage(f,t,n,r)}}return this._getNearestNode(c.nearestNodeList,c.nearestNodeDistanceList)}_collectNearestNode(e,t,n,r,i,a,o,s,c,l=0){let{sections:u,skeTables:d}=e;this._findLiquid.translateSave();let f=this._findLiquid.x,p=f+n.pageWidth,m=this._findLiquid.y+(t===J.FOOTER?n.pageHeight-e.pageHeight:0),h=m+e.pageHeight,g=o>=f&&o<=p&&s>=m&&s<=h;if(l===0&&t===J.BODY){let e=i===0,t=i===c-1,r=n.originMarginTop/2;g=e&&t?!0:e?s<=h+r:t?s>=m-r:s>=m-r&&s<=h+r}switch(t){case J.HEADER:this._findLiquid.translatePagePadding({...e,marginLeft:n.marginLeft});break;case J.FOOTER:{let t=n.pageHeight-e.height-e.marginBottom;this._findLiquid.translate(n.marginLeft,t);break}default:this._findLiquid.translatePagePadding(n);break}if(g){let e=1/0;for(let n of u){let{columns:c}=n;this._findLiquid.translateSave(),this._findLiquid.translateSection(n);for(let n of c){let{lines:c}=n;this._findLiquid.translateSave(),this._findLiquid.translateColumn(n);for(let n=0;n<c.length;n++){let u=c[n],{divides:d,type:f,lineHeight:p=0}=u;if(f!==Jn.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(u);let{y:n}=this._findLiquid,c=n,f=n+p,m=Math.abs(s-f),h=d.length;for(let n=0;n<h;n++){let u=d[n],{glyphGroup:p}=u;this._findLiquid.translateSave(),this._findLiquid.translateDivide(u);let{x:h}=this._findLiquid;for(let n of p){if(!n.content||n.content.length===0)continue;let{width:u,left:d}=n,p=h+d,_=h+d+u,v=Math.abs(o-_);if(s>=c&&s<=f){if(o>=p&&o<=_)return{node:n,segmentPage:t===J.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)};e!==-1/0&&(a.nearestNodeList=[],a.nearestNodeDistanceList=[]),a.nearestNodeList.push({node:n,segmentPage:t===J.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)}),a.nearestNodeDistanceList.push({coordInPage:g,distance:v,nestLevel:l}),e=-1/0;continue}m<e&&(e=m,a.nearestNodeList=[],a.nearestNodeDistanceList=[]),m===e&&(a.nearestNodeList.push({node:n,segmentPage:t===J.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)}),a.nearestNodeDistanceList.push({coordInPage:g,distance:v,nestLevel:l}))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}let _=null;if(d.size>0)for(let e of d.values()){var v,y,b;let{top:t,left:n,rows:u}=e;(v=this._findLiquid)==null||v.translateSave(),(y=this._findLiquid)==null||y.translate(n,t);for(let e of u){var x,S,C;let{top:t,cells:n,isRepeatRow:u}=e;if(!u){(x=this._findLiquid)==null||x.translateSave(),(S=this._findLiquid)==null||S.translate(0,t);for(let e of n){var w,T,E,D;let{left:t}=e;(w=this._findLiquid)==null||w.translateSave(),(T=this._findLiquid)==null||T.translate(t,0),_=(E=_)==null?this._collectNearestNode(e,J.CELL,e,r,i,a,o,s,c,l+1):E,(D=this._findLiquid)==null||D.translateRestore()}(C=this._findLiquid)==null||C.translateRestore()}}(b=this._findLiquid)==null||b.translateRestore()}if(_)return this._findLiquid.translateRestore(),_;this._findLiquid.translateRestore()}_getNearestNode(e,t){if(t.length===0)return;if(t.length===1)return e[0];let n=t[0];for(let e=1;e<t.length;e++){let{distance:r,nestLevel:i,coordInPage:a}=t[e];if(i>n.nestLevel){n=t[e];continue}if(i===n.nestLevel){if(a===n.coordInPage){if(r<n.distance){n=t[e];continue}}else if(a){n=t[e];continue}}}return e[t.indexOf(n)]}_getPageBoundingBox(e,t){let{pageWidth:n,pageHeight:r}=e,{x:i,y:a}=this._findLiquid,o=-1,s=-1;return t===Xn.VERTICAL?(o=n,s=a+r):t===Xn.HORIZONTAL&&(o=i+n,s=r),{startX:i,startY:a,endX:o,endY:s}}_translatePage(e,t,n,r){this._findLiquid.translatePage(e,t,n,r)}_prepareLayoutContext(){let e=this.getViewModel(),t=e.getDataModel(),{headerTreeMap:n,footerTreeMap:r}=e.getHeaderFooterTreeMap(),{documentStyle:i,drawings:a,lists:o={}}=t,s={...ne,...o},{paragraphLineGapDefault:c=0,defaultTabStop:l=10.5,textStyle:u={}}=i,d={headerTreeMap:n,footerTreeMap:r,lists:s,drawings:a,localeService:this._localeService,paragraphLineGapDefault:c,defaultTabStop:l,documentTextStyle:u},f=Ss(),{skeHeaders:p,skeFooters:m,skeListLevel:h,drawingAnchor:g}=f;return{viewModel:e,dataModel:t,skeleton:f,skeletonResourceReference:{skeHeaders:p,skeFooters:m,skeListLevel:h,drawingAnchor:g},docsConfig:d,layoutStartPointer:{"":null},isDirty:!1,floatObjectsCache:new Map,paragraphConfigCache:new Map,sectionBreakConfigCache:new Map,paragraphsOpenNewPage:new Set,hyphen:this._hyphen,languageDetector:this._languageDetector}}_createSkeleton(e,t){let{viewModel:n,skeleton:r,skeletonResourceReference:i}=e,a=r.pages,o=0,s=e.layoutStartPointer[``];if(e.layoutStartPointer[``]=null,s!=null)for(let e=0;e<n.getChildren().length;e++){let{endIndex:t,startIndex:r}=n.getChildren()[e];if(s>=r&&s<=t){o=e;break}}for(let t=o,r=n.getChildren().length;t<r;t++){let r=n.getChildren()[t],o=ks(e,t),{sectionType:l,columnProperties:u,columnSeparatorType:d,sectionTypeNext:f,pageNumberStart:p=1}=o,m=Yo(a),h=!1;if(e.sectionBreakConfigCache.set(r.endIndex,o),l===se.CONTINUOUS)cs(a),this._addNewSectionByContinuous(m,u,d),h=!0;else if(s==null||m==null){var c;m=Ps(e,o,i,(c=m==null?void 0:m.pageNumber)==null?p:c)}let{pages:g}=nl(e,n,r,m,o,s);if(f===se.CONTINUOUS&&u.length,h&&g.splice(0,1),a.push(...g),e.isDirty)break}if(e.isDirty&&this._iteratorCount<10)return this._iteratorCount++,As(e),this._createSkeleton(e,t);this._iteratorCount=0,pl(e),cs(r.pages),ls(e,r.pages);for(let t of r.skeHeaders.values())for(let n of t.values())ls(e,[n]);for(let t of r.skeFooters.values())for(let n of t.values())ls(e,[n]);return Cs(r.pages,r),r}_addNewSectionByContinuous(e,t,n){let r=e.sections,i=r[r.length-1],{pageWidth:a,pageHeight:o,marginTop:s,marginBottom:c,marginLeft:l,marginRight:u}=e,d=a-l-u,f=o-s-c,p=((i==null?void 0:i.top)||0)+((i==null?void 0:i.height)||0),m=ro(t,n,p,0,d,f-p);m.parent=e,r.push(m)}_findNodeByIndex(e,t=``,n=-1){let r=this.getSkeletonData();if(r==null)return;let{pages:i,skeFooters:a,skeHeaders:o}=r;for(let r of i){let l=i.indexOf(r);if(t&&l!==n)continue;let{pageWidth:u,skeTables:d}=r,f=r;if(t){var s,c;let e=(s=o.get(t))==null?void 0:s.get(u),n=(c=a.get(t))==null?void 0:c.get(u);if(e)f=e;else if(n)f=n;else continue}if(t===``){let t=!1;for(let n of d.values()){let{rows:r}=n;for(let n of r){let{cells:r}=n;for(let n of r){let{st:r,ed:i}=n;if(e>=r&&e<=i){f=n,t=!0;break}}if(t)break}if(t)break}}let{sections:p,st:m,ed:h}=f;if(!(e<m||e>h))for(let t of p){let{columns:r,st:i,ed:a}=t;if(!(e<i||e>a))for(let i of r){let{lines:r,st:a,ed:o}=i;if(!(e<a||e>o))for(let a of r){let{divides:r,st:o,ed:s}=a,c=r.length;if(!(e<o||e>s))for(let o=0;o<c;o++){let s=r[o],{glyphGroup:c,st:l,ed:u}=s;if(e<l||e>u)continue;let d=e-l;for(let e of c)if(d-=e.count,d<0)return{page:f,pageType:f.type,section:t,column:i,line:a,divide:s,glyph:e,segmentPageIndex:n}}}}}}}};function gl(e,t,n={}){let r=e.length,{textRotation:i,paddingData:a,horizontalAlign:o=w.UNSPECIFIED,verticalAlign:s=ge.UNSPECIFIED,wrapStrategy:c=V.UNSPECIFIED,cellValueType:l}=n,{t:u,r:d,b:f,l:m}=a||Sl,{vertexAngle:h,centerAngle:g}=Rr(i);return new y({id:`d`,body:{dataStream:`${e}${p}`,textRuns:[{ts:t,st:0,ed:r}],paragraphs:[{startIndex:r,paragraphStyle:{horizontalAlign:o}}],sectionBreaks:[{startIndex:r+1}]},documentStyle:{pageSize:{width:1/0,height:1/0},marginTop:u,marginBottom:f,marginRight:d,marginLeft:m,renderConfig:{horizontalAlign:o,verticalAlign:s,centerAngle:g,vertexAngle:h,wrapStrategy:c,cellValueType:l}},drawings:{},drawingsOrder:[]})}function _l(e){if(!e)return{};let{tr:t,td:n,ht:r,vt:i,tb:a,pd:o}=e;return{textRotation:t,textDirection:n,horizontalAlign:r,verticalAlign:i,wrapStrategy:a,paddingData:o}}function vl(e){if(!e)return{};let{ff:t,fs:n,it:r,bl:i,ul:a,st:o,ol:s,cl:c}=e,l={};return t&&(l.ff=t),n&&(l.fs=n),r&&(l.it=r),i&&(l.bl=i),a&&(l.ul=a),o&&(l.st=o),s&&(l.ol=s),c&&(l.cl=c),l}function yl(e,t){return function(n,r){t(n,r,e)}}function bl(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}const xl={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},Sl={t:0,b:2,l:2,r:2},Cl=`RENDER_RAW_FORMULA`;let wl=class extends ce{constructor(e,t,n,r,a,o){super(e,t,n,r,a,o),K(this,`_drawingRange`,{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),K(this,`_cacheRangeMap`,new Map),K(this,`_visibleRangeMap`,new Map),K(this,`_overflowCache`,new P),K(this,`_stylesCache`,{background:{},backgroundPositions:new P,fontMatrix:new P,border:new P}),K(this,`_clearTaskId`,null),K(this,`_handleBgMatrix`,new P),K(this,`_handleBorderMatrix`,new P),K(this,`_showGridlines`,i.TRUE),K(this,`_gridlinesColor`,void 0),K(this,`_scene`,null),this._updateLayout(),this.disposeWithMe(this._contextService.subscribeContextValue$(Cl).pipe(Ze(!1),Ye()).subscribe(e=>{this._renderRawFormula=e,this._resetCache(),this.makeDirty(!0)})),this.disposeWithMe(this.worksheet.__registerGetCellHeight((e,t)=>{var n;return(n=this.calculateAutoHeightForCell(e,t))==null?0:n}))}setScene(e){this._scene=e,this.disposeWithMe(this._scene.onTransformChange$.subscribeEvent(e=>{this.setScale(e.value.scaleX||1,e.value.scaleY)}))}_updateLayout(){let{showGridlines:e,gridlinesColor:t}=this._worksheetData;this._showGridlines=e,this._gridlinesColor=t,super._updateLayout()}get rowColumnSegment(){return this._drawingRange}visibleRangeByViewportKey(e){return this._cacheRangeMap.get(e)}get stylesCache(){return this._stylesCache}get overflowCache(){return this._overflowCache}get showGridlines(){return this._showGridlines}get gridlinesColor(){return this._gridlinesColor}dispose(){super.dispose(),this._drawingRange={startRow:-1,endRow:-1,startColumn:-1,endColumn:-1},this._stylesCache={background:{},backgroundPositions:new P,fontMatrix:new P,border:new P},this._handleBgMatrix.reset(),this._handleBorderMatrix.reset(),this._overflowCache.reset()}getStyles(){return this._styles}setOverflowCache(e){this._overflowCache=e}getFont(e,t){let n=this.stylesCache.fontMatrix;return n&&n.getValue(e,t)||null}updateVisibleRange(e){if(!this._worksheetData||!this.rowHeightAccumulation||!this.columnWidthAccumulation)return!1;if(e){let t=this.getRangeByViewport(e);this._visibleRangeMap.set(e.viewportKey,t);let n=this.getCacheRangeByViewport(e);this._drawingRange=n,this._cacheRangeMap.set(e.viewportKey,n)}return!0}getVisibleRangeByViewport(e){return this._visibleRangeMap.get(e)}getVisibleRanges(){return this._visibleRangeMap}_clearCacheOutOfVisibleRange(e,t,n,r){this._clearTaskId&&cancelIdleCallback(this._clearTaskId),this._clearTaskId=requestIdleCallback(()=>{this._stylesCache.fontMatrix.forValue((i,a)=>{(i<e-100||i>t+100||a<n-100||a>r+100)&&this._stylesCache.fontMatrix.realDeleteValue(i,a)}),this._clearTaskId=null})}setStylesCache(e){if(!this._worksheetData||!this.rowHeightAccumulation||!this.columnWidthAccumulation)return;this.updateVisibleRange(e);let t=this._drawingRange,n=this.columnWidthAccumulation,{startRow:r,endRow:i,startColumn:a,endColumn:o}=t;if(o===-1||i===-1)return;let s=[],c=r,l=Math.max(0,a-20),u=Math.min(n.length-1,o+20);for(let e=r;e<=i;e++){if(this.worksheet.getRowVisible(e)===!1){c<e&&s.push({startRow:c,endRow:e-1,startColumn:a,endColumn:o}),c=e+1;continue}e===i&&s.push({startRow:c,endRow:e,startColumn:a,endColumn:o});for(let t=a;t<=o;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!0,border:!0}});for(let t=l;t<o;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!1,border:!1}});if(o!==0)for(let t=o+1;t<u;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!1,border:!1}})}let d=[];for(let e of s){let t=this.getCurrentRowColumnSegmentMergeData(e);d.push(...t)}for(let e of d)this._setStylesCacheForOneCell(e.startRow,e.startColumn,{mergeRange:e});return this}calculateAutoHeightInRange(e,t){if(!B.isArray(e))return[];let n=[],{rowData:r}=this._worksheetData,a=r,o=new Set,s=this.worksheet.getRowCount();for(let r of e){let{startRow:e,endRow:d,startColumn:f,endColumn:p}=r,m=Math.min(d,s);for(let r=e;r<=m;r++){var c;if(!o.has(r)&&((c=a[r])==null?void 0:c.ia)!==i.FALSE&&this._hasUnMergedCellInRow(r,f,p))if(t){let e=this.worksheet.getRowHeight(r),i=0,a=0;for(let e=f;e<=p;e++){var l,u;let n=(l=t.getValue(r,e))==null?0:l;i=Math.max(i,n);let o=(u=this.calculateAutoHeightForCell(r,e))==null?this._worksheetData.defaultRowHeight:u;a=Math.max(a,o)}if(i<e)o.add(r),n.push({row:r,autoHeight:Math.max(e,a)});else if(a>=e)o.add(r),n.push({row:r,autoHeight:a});else{let e=this._calculateRowAutoHeight(r);o.add(r),n.push({row:r,autoHeight:e})}}else{let e=this._calculateRowAutoHeight(r);o.add(r),n.push({row:r,autoHeight:e})}}}return n}calculateAutoHeightForCell(e,t){var n,r,i,a,o,s,c;let{columnData:l,defaultColumnWidth:u}=this._worksheetData,d=this.worksheet.getCellInfoInMergeData(e,t);if(this._skipAutoHeightForMergedCells&&(d.isMerged||d.isMergedMainCell))return;let f=this.worksheet.getCell(e,t),p=this.worksheet.getComposedCellStyleByCellData(e,t,f);if(f!=null&&f.interceptorAutoHeight){let e=f.interceptorAutoHeight();if(e)return e}let m=((n=f==null||(r=f.fontRenderExtension)==null?void 0:r.leftOffset)==null?0:n)+((i=f==null||(a=f.fontRenderExtension)==null?void 0:a.rightOffset)==null?0:i),{vertexAngle:h,centerAngle:g}=Rr((o=p==null?void 0:p.tr)==null?{a:0}:o),_=(f==null?void 0:f.p)||h||g,v=(s=(c=l[t])==null?void 0:c.w)==null?u:s;if(d.isMergedMainCell){let e=d.startColumn,t=d.endColumn;v=Array.from({length:t-e+1},(t,n)=>e+n).reduce((e,t)=>{var n,r;return e+((n=(r=l[t])==null?void 0:r.w)==null?u:n)},0)}if(v-=m,_){var y;let e=f&&this.worksheet.getCellDocumentModel(f,p);if(e==null)return;let{documentModel:t,textRotation:n,wrapStrategy:r}=e;if(t==null)return;let i=new ba(t),{vertexAngle:a}=Rr(n);typeof v==`number`&&r===V.WRAP&&t.updateDocumentDataPageSize(v);let o=hl.create(i,this._localeService);o.calculate();let{height:s=0}=(y=Dl(o,a))==null?{}:y;if(o){let e=o.getSkeletonData(),{marginTop:t,marginBottom:n,marginLeft:r,marginRight:i}=e.pages[e.pages.length-1],c=Math.abs(Pt(a));s+=t*Math.cos(c)+i*Math.sin(c)+n*Math.cos(c)+r*Math.sin(c)}return s}else{var b,x,S,C,w,T,E,D;if((f==null?void 0:f.v)===void 0||(f==null?void 0:f.v)===null)return;let e=(b=(x=p.pd)==null?void 0:x.l)==null?Sl.l:b,t=(S=(C=p.pd)==null?void 0:C.r)==null?Sl.r:S,n=(w=(T=p.pd)==null?void 0:T.t)==null?Sl.t:w,r=(E=(D=p.pd)==null?void 0:D.b)==null?Sl.b:E;if((p==null?void 0:p.tb)===V.WRAP){let i=new la(`${f.v}`,qt(p).fontCache,(p==null?void 0:p.tb)===V.WRAP,v-e-t,1/0);return i.calculate(),i.getTotalHeight()+n+r}else{let e=q.getMeasureText(`A`,qt(p).fontCache);return e.fontBoundingBoxAscent+e.fontBoundingBoxDescent+n+r}}}_calculateRowAutoHeight(e){let{columnCount:t,defaultRowHeight:n}=this._worksheetData,r=n;for(let n=0;n<t;n++){let t=this.calculateAutoHeightForCell(e,n);t&&(r=Math.max(r,t))}return Math.min(r,_t)}calculateAutoWidthInRange(e){if(!B.isArray(e))return[];let t=[],n=new Set;for(let r of e){let{startColumn:e,endColumn:i}=r;for(let r=e;r<=i;r++){if(!this.worksheet.getColVisible(r)||n.has(r))continue;let e=this._calculateColWidth(r);n.add(r),t.push({col:r,width:Math.max(this._worksheetData.defaultColumnWidth,e)})}}return t}_calculateColWidth(e){let t=this.worksheet,n=0,r=this.visibleRangeByViewportKey(ci.VIEW_MAIN);if(!r)return n;let{startRow:i,endRow:a}=r,o=this.worksheet.getRowCount(),s=new Set;s.add(0),s.add(o-1);let c=this.visibleRangeByViewportKey(ci.VIEW_MAIN_TOP);if(c){let{startRow:e,endRow:t}=c;for(let n=e;n<=t;n++)s.add(n)}let l=((e,t,n)=>[...Array.from({length:t-e+1},(t,n)=>n+e),...n])(Math.max(0,i-gi),Math.min(o,a+gi),s),u=Math.max(0,e-1),d=this.columnWidthAccumulation[e]-this.columnWidthAccumulation[u];e===0&&(d=this.columnWidthAccumulation[e]);for(let r=0;r<l.length;r++){let o=l[r],{isMerged:s,isMergedMainCell:c}=this.worksheet.getCellInfoInMergeData(e,o);if(s&&!c||!this.worksheet.getRowVisible(o))continue;let u=t.getCell(o,e);if(!u||u.p&&(o+1e3<=i||o-1e3>=a))continue;let m=this._getMeasuredWidthByCell(u,o,e,d);if(u.fontRenderExtension){var f,p;m+=(((f=u.fontRenderExtension)==null?void 0:f.leftOffset)||0)+(((p=u.fontRenderExtension)==null?void 0:p.rightOffset)||0)}if(n=Math.max(n,m),n>=2e3)return vt}return n===0?d:Math.max(2,n)}getColWidth(e){let t=Math.max(0,e-1);return this.columnWidthAccumulation[e]-this.columnWidthAccumulation[t]}getRowHeight(e){let t=Math.max(0,e-1);return this.rowHeightAccumulation[e]-this.rowHeightAccumulation[t]}_getMeasuredWidthByCell(e,t,n,r){var i,a;let o=0;if((i=e.fontRenderExtension)!=null&&i.isSkip&&e!=null&&e.interceptorAutoWidth){var s;let t=(s=e.interceptorAutoWidth)==null?void 0:s.call(e);if(t)return t}let c=this.worksheet.getComposedCellStyleByCellData(t,n,e),l=this.worksheet.getCellDocumentModel(e,c);if(l==null)return o;let{documentModel:u,textRotation:d}=l;if(u==null)return o;let f=new ba(u),{vertexAngle:p}=Rr(d);(c==null?void 0:c.tb)===V.WRAP?u.updateDocumentDataPageSize(r,1/0):u.updateDocumentDataPageSize(1/0,1/0);let m=hl.create(f,this._localeService);if(m.calculate(),o=((a=Dl(m,p))==null?{width:0}:a).width,m){let e=m.getSkeletonData(),{marginTop:t,marginBottom:n,marginLeft:r,marginRight:i}=e.pages[e.pages.length-1],a=Math.abs(Pt(p));o+=t*Math.sin(a)+i*Math.cos(a)+n*Math.sin(a)+r*Math.cos(a)}return o}getRangeByBounding(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.cacheBound)}getRangeByViewport(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.viewBound)}getCacheRangeByViewport(e,t){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.cacheBound,t)}getRangeByViewBound(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e)}appendToOverflowCache(e,t,n,r){this._overflowCache.setValue(e,t,{startRow:e,endRow:e,startColumn:n,endColumn:r})}getOverflowPosition(e,t,n,r,i){var a;let o=(a=e==null?void 0:e.width)==null?0:a,s=r,c=r;return t===w.CENTER?(s=this._getOverflowBound(n,r,0,o/2,t),c=this._getOverflowBound(n,r,i-1,o/2,t)):t===w.RIGHT?s=this._getOverflowBound(n,r,0,o):c=this._getOverflowBound(n,r,i-1,o),{startColumn:s,endColumn:c}}calculateCellIndexByPosition(e,t,n,r,i){return this.getCellWithCoordByOffset(e,t,n,r,i)}getCellPositionByOffset(e,t,n,r,i,a){return this.getCellIndexByOffset(e,t,n,r,i,a)}getCellWithMergeInfoByIndex(e,t){return this.worksheet.getCellInfoInMergeData(e,t)}getColumnPositionByOffsetX(e,t,n,r){return this.getColumnIndexByOffsetX(e,t,n,r)}getRowPositionByOffsetY(e,t,n,r){return this.getRowIndexByOffsetY(e,t,n,r)}getCellByIndex(e,t){return this.getCellWithCoordByIndex(e,t)}getCellByIndexWithNoHeader(e,t){return this.getCellWithCoordByIndex(e,t,!1)}getBlankCellDocumentModel(e){let t=this._getCellDocumentModel(e,{ignoreTextRotation:!0}),n=vl(this._styles.getStyleByCell(e));if(t!=null)return t.documentModel==null&&(t.documentModel=gl(``,n)),t;let r=`document`,i=m.tr,a=m.ht,o=m.vt,s=m.tb,c=Sl;return r=qt({}).fontCache,{documentModel:gl(``,n),fontString:r,textRotation:i,wrapStrategy:s,verticalAlign:o,horizontalAlign:a,paddingData:c}}getCellDocumentModelWithFormula(e){return this._getCellDocumentModel(e,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}_getCellDocumentModel(e,t=xl){var n;let{isDeepClone:r,displayRawFormula:i,ignoreTextRotation:a}={...xl,...t},o=this._styles.getStyleByCell(e);if(!e)return;let s,l=`document`,u=_l(o),d=a?m.tr:u.textRotation||m.tr,f=u.horizontalAlign||m.ht,p=u.verticalAlign||m.vt,h=u.wrapStrategy||m.tb,g=u.paddingData||Sl;if(e.f&&i)s=gl(e.f.toString(),{},{verticalAlign:p}),f=m.ht;else if(e.p){let{centerAngle:t,vertexAngle:n}=Rr(d);s=this._updateConfigAndGetDocumentModel(r?B.deepClone(e.p):e.p,f,g,{horizontalAlign:f,verticalAlign:p,centerAngle:t,vertexAngle:n,wrapStrategy:h,zeroWidthParagraphBreak:1})}else if(e.v!=null){let t=vl(o);l=qt(t).fontCache;let n=Ce(e);e.t===c.FORCE_STRING&&i&&(n=`'${n}`),s=gl(n,t,{...u,textRotation:d,cellValueType:e.t})}return s&&e.linkUrl&&e.linkId&&ye(s,e.linkUrl,e.linkId),{documentModel:s,fontString:l,textRotation:d,wrapStrategy:h,verticalAlign:p,horizontalAlign:f,paddingData:g,fill:o==null||(n=o.bg)==null?void 0:n.rgb}}_calculateOverflowCell(e,t,n){let{documentSkeleton:r,vertexAngle:i=0,centerAngle:a=0,horizontalAlign:o,wrapStrategy:s}=n,{t:l=c.STRING}=this._cellData.getValue(e,t)||{},u=o;if(o===w.UNSPECIFIED&&(a===90&&i===90?u=w.CENTER:(i>0&&i!==90||i===-90)&&(u=w.RIGHT)),(s===V.OVERFLOW||s===V.UNSPECIFIED)&&l!==c.NUMBER&&l!==c.BOOLEAN&&o!==w.JUSTIFIED){if(this.intersectMergeRange(e,t))return!0;let a;if(r)a=Dl(r,i);else{let e=q.getMeasureText(`${n.cellData.v}`,n.fontString);a={width:e.width,height:e.fontBoundingBoxDescent+e.fontBoundingBoxAscent}}if(!a)return!0;if(i!==0){let{startY:n,endY:r,startX:o,endX:s}=this.getCellWithCoordByIndex(e,t),c=s-o,l=r-n;a.height>l&&(a={width:l/Math.tan(Math.abs(i))+c,height:l})}let{startColumn:o,endColumn:s}=this.getOverflowPosition(a,u,e,t,this.getColumnCount());if(o===s)return!0;this.appendToOverflowCache(e,t,o,s)}else if(s===V.WRAP&&i!==0){if(this.intersectMergeRange(e,t))return!0;let{startY:n,endY:a}=this.getCellWithCoordByIndex(e,t),o=a-n;r.getViewModel().getDataModel().updateDocumentDataPageSize(o),r.calculate();let s=Dl(r,i);if(!s)return!0;let{startColumn:c,endColumn:l}=this.getOverflowPosition(s,u,e,t,this.getColumnCount());if(c===l)return!0;this.appendToOverflowCache(e,t,c,l)}return!1}_getRangeByViewBounding(e,t,n,r){let i=e.length,a=t.length;if(!n)return{startRow:0,endRow:i-1,startColumn:0,endColumn:a-1};let o=ze(e,Math.round(n.top)-this.columnHeaderHeightAndMarginTop),s=Math.round(n.bottom)-this.columnHeaderHeightAndMarginTop,c=ze(e,s);c<i&&e[c-1]===s&&--c;let l=ze(t,Math.round(n.left)-this.rowHeaderWidthAndMarginLeft),u=Math.round(n.right)-this.rowHeaderWidthAndMarginLeft,d=ze(t,u);return d<a&&t[d-1]===u&&--d,r?{startRow:o,endRow:c===i-1?c:c-1,startColumn:l,endColumn:d===a-1?d:d-1}:{startRow:o,endRow:c,startColumn:l,endColumn:d}}getCurrentRowColumnSegmentMergeData(e){let t=this.columnWidthAccumulation.length-1;return e=e?{startRow:e.startRow,startColumn:0,endRow:e.endRow,endColumn:t}:{startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:t},this.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn)}resetCache(){this._resetCache()}_resetCache(){var e,t,n;this._stylesCache={background:{},backgroundPositions:new P,fontMatrix:new P,border:new P},(e=this._handleBgMatrix)==null||e.reset(),(t=this._handleBorderMatrix)==null||t.reset(),(n=this._overflowCache)==null||n.reset()}resetRangeCache(e){for(let t=0;t<e.length;t++){let n=e[t];ie.foreach(n,(e,t)=>{this._stylesCache.fontMatrix.realDeleteValue(e,t)})}this.makeDirty(!0)}_setBorderStylesCache(e,t,n,r){if(!B.isDefine(this._handleBorderMatrix.getValue(e,t))&&((r==null?void 0:r.cacheItem)||{bg:!0,border:!0}).border&&(this._handleBorderMatrix.setValue(e,t,!0),n&&n.bd)){let i=r==null?void 0:r.mergeRange;i?(this._setMergeBorderProps(U.TOP,this._stylesCache,i),this._setMergeBorderProps(U.BOTTOM,this._stylesCache,i),this._setMergeBorderProps(U.LEFT,this._stylesCache,i),this._setMergeBorderProps(U.RIGHT,this._stylesCache,i)):this.intersectMergeRange(e,t)||(this._setBorderProps(e,t,U.TOP,n,this._stylesCache),this._setBorderProps(e,t,U.BOTTOM,n,this._stylesCache),this._setBorderProps(e,t,U.LEFT,n,this._stylesCache),this._setBorderProps(e,t,U.RIGHT,n,this._stylesCache)),this._setBorderProps(e,t,U.TL_BR,n,this._stylesCache),this._setBorderProps(e,t,U.TL_BC,n,this._stylesCache),this._setBorderProps(e,t,U.TL_MR,n,this._stylesCache),this._setBorderProps(e,t,U.BL_TR,n,this._stylesCache),this._setBorderProps(e,t,U.ML_TR,n,this._stylesCache),this._setBorderProps(e,t,U.BC_TR,n,this._stylesCache)}}_setBgStylesCache(e,t,n,r){if(!B.isDefine(this._handleBgMatrix.getValue(e,t))&&((r==null?void 0:r.cacheItem)||{bg:!0,border:!0}).bg&&(this._handleBgMatrix.setValue(e,t,!0),n&&n.bg&&n.bg.rgb)){var i;let r=n.bg.rgb;this._stylesCache.background[r]||(this._stylesCache.background[r]=new P),this._stylesCache.background[r].setValue(e,t,r);let a=this.getCellWithCoordByIndex(e,t,!1);(i=this._stylesCache.backgroundPositions)==null||i.setValue(e,t,a)}}_setFontStylesCache(e,t,n,r){var i;if(Ae(n))return;let a={cellData:n,imageCacheMap:this._imageCacheMap},o=this._stylesCache.fontMatrix.getValue(e,t);if(!o)this._stylesCache.fontMatrix.setValue(e,t,a);else{let r=o;r.cellData=n,this._stylesCache.fontMatrix.setValue(e,t,o);return}let{vertexAngle:s,centerAngle:c}=Rr((i=r==null?void 0:r.tr)==null?{a:0}:i),l=n!=null&&n.p||s||c?this.worksheet.getCellDocumentModel(n,r,{displayRawFormula:this._renderRawFormula}):null;if(l){let{documentModel:e}=l;if(e){let{fontString:t,wrapStrategy:i,verticalAlign:o,horizontalAlign:u}=l,d=new ba(e);if(d){let e=hl.create(d,this._localeService);e.calculate(),a={documentSkeleton:e,vertexAngle:s,centerAngle:c,verticalAlign:o,horizontalAlign:u,wrapStrategy:i,imageCacheMap:this._imageCacheMap,cellData:n,fontString:t,style:r}}}}else{let e=qt(r==null?void 0:r).fontCache,{vt:t,ht:i,tb:o}=r==null?{}:r;a={documentSkeleton:void 0,vertexAngle:s,centerAngle:c,verticalAlign:t==null?ge.UNSPECIFIED:t,horizontalAlign:i==null?w.UNSPECIFIED:i,wrapStrategy:o==null?V.OVERFLOW:o,imageCacheMap:this._imageCacheMap,cellData:n,fontString:e,style:r}}this._calculateOverflowCell(e,t,a),this._stylesCache.fontMatrix.setValue(e,t,a)}_setStylesCacheForOneCell(e,t,n){if(e===-1||t===-1)return;n||(n={cacheItem:{bg:!0,border:!0}});let{isMerged:r,isMergedMainCell:i,startRow:a,startColumn:o,endRow:s,endColumn:c}=this.worksheet.getCellInfoInMergeData(e,t);if(r&&(n.mergeRange={startRow:a,startColumn:o,endRow:s,endColumn:c}),(this.worksheet.getColVisible(t)===!1||this.worksheet.getRowVisible(e)===!1)&&(r&&!i||!i))return;let l=this.worksheet.getCell(e,t)||this.worksheet.getCellRaw(e,t),u=this.worksheet.getComposedCellStyleByCellData(e,t,l);!l&&Object.keys(u).length===0||(this._setBgStylesCache(e,t,u,n),this._setBorderStylesCache(e,t,u,n),this._setFontStylesCache(e,t,{...l,s:u},u))}_setMergeBorderProps(e,t,n){if(!this.worksheet||!t.border)return;let r=[],i=n.startRow,a=n.endRow,o=n.startRow,s=n.startColumn;e===U.TOP?(o=n.startRow,i=n.startColumn,a=n.endColumn):e===U.BOTTOM?(o=n.endRow,i=n.startColumn,a=n.endColumn):e===U.LEFT?(s=n.startColumn,i=n.startRow,a=n.endRow):e===U.RIGHT&&(s=n.endColumn,i=n.startRow,a=n.endRow);for(let t=i;t<=a;t++){var c,l,u;e===U.TOP||e===U.BOTTOM?s=t:(e===U.LEFT||e===U.RIGHT)&&(o=t);let n=this.worksheet.getCell(o,s);if(!n)break;let i=(c=n.themeStyle)==null?void 0:c.bd,a=this.worksheet.getComposedCellStyleByCellData(o,s,n);if(!a&&!i)break;let d=(l=a==null||(u=a.bd)==null?void 0:u[e])==null?i==null?void 0:i[e]:l;if(d){let e=Te(d.cl)||`rgb(0,0,0)`;r.push({r:o,c:s,style:d.s,color:e})}}r.forEach(n=>{let{r,c:i,style:a,color:o}=n;t.border.getValue(r,i)||t.border.setValue(r,i,{}),t.border.getValue(r,i)[e]={type:e,style:a,color:o}})}_setBorderProps(e,t,n,r,i){var a;let o=(a=r.bd)==null?void 0:a[n];if(!o||!i.border)return;let s=Te(o.cl)||`rgb(0,0,0)`,c=i.border;if(c.getValue(e,t)||c.setValue(e,t,{[n]:{}}),n===U.TOP){var l;if((l=c.getValue(e-1,t))!=null&&l[U.BOTTOM]&&je(s))return}else if(n===U.LEFT){var u;if((u=c.getValue(e,t-1))!=null&&u[U.RIGHT]&&je(s))return}c.getValue(e,t)[n]={type:n,style:o.s,color:s}}getDistanceFromTopLeft(e,t){return{x:this.colStartX(t),y:this.rowStartY(e)}}colStartX(e){let t=this.columnWidthAccumulation,n=e-1;return n===-1?0:t[n]}rowStartY(e){let t=this.rowHeightAccumulation,n=e-1;return n===-1?0:t[n]}getHiddenRowsInRange(e){let t=[];for(let n=e.startRow;n<=e.endRow;n++)this.worksheet.getRowVisible(n)||t.push(n);return t}getHiddenColumnsInRange(e){let t=[];for(let n=e.startColumn;n<=e.endColumn;n++)this.worksheet.getColVisible(n)||t.push(n);return t}convertTransformToOffsetX(e,t,n){let{x:r}=n;return(e-r)*t}convertTransformToOffsetY(e,t,n){let{y:r}=n;return(e-r)*t}};wl=bl([yl(2,O(ee)),yl(3,E),yl(4,T),yl(5,O(k))],wl);function Tl(e,t,n){let{x:r}=n;return(e-r)*t}function El(e,t,n){let{y:r}=n;return(e-r)*t}function Dl(e,t=0){let n=e==null?void 0:e.getSkeletonData(),r=Pt(t);if(!n)return null;let{pages:i}=n;if(!i||i.length===0)return null;let a=i[i.length-1];if(!a)return null;let{width:o,height:s}=a;if(r===0)return{width:o,height:s};if(Math.abs(r)===Math.PI/2)return{width:s,height:o};let c=0,l=0,u=[];fs([a],e=>{let{lines:t,width:n,spaceWidth:i}=e,{rotatedHeight:a,rotatedWidth:o}=gr(t,n,r);l+=a,u.push({rotatedWidth:o,spaceWidth:i})});let d=u.length;for(let e=0;e<d;e++){let{rotatedWidth:t}=u[e];e===0&&(c+=t)}return{width:c,height:l}}function Ol(e,t,n){let r=n*Math.PI/180;return{rotatedWidth:Math.abs(e*Math.cos(r))+Math.abs(t*Math.sin(r)),rotatedHeight:Math.abs(e*Math.sin(r))+Math.abs(t*Math.cos(r))}}var kl=class extends bi{constructor(){super(),K(this,`uKey`,`DefaultFontExtension`),K(this,`Z_INDEX`,45),K(this,`_imageFallback`,new Image),this._imageFallback.src=`data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+`}getDocuments(){let e=this.parent;return e==null?void 0:e.getDocuments()}_drawFallbackImage(e,t,n,r,i){if(this._imageFallback.complete&&this._imageFallback.naturalWidth>0)try{e.drawImage(this._imageFallback,t,n,r,i)}catch(e){console.error(`Failed to draw fallback image:`,e)}}draw(e,t,n,r,i){let{stylesCache:a,worksheet:o}=n,{fontMatrix:s}=a;if(!n||!o||!s)return;let{rowHeightAccumulation:c,columnTotalWidth:l,columnWidthAccumulation:u,rowTotalHeight:d}=n;if(!c||!u||l===void 0||d===void 0||!o)return;let f=this._getScale(t),{viewRanges:p=[],checkOutOfViewBound:m}=i,h={ctx:e,scale:f,columnTotalWidth:l,rowTotalHeight:d,viewRanges:p,checkOutOfViewBound:m||!0,diffRanges:r,spreadsheetSkeleton:n};e.save();let g=[],_=new Set,v=n.getRowCount()-1,y=n.getColumnCount()-1;p.forEach(e=>{e.startColumn-=20,e.endColumn+=20,e=zn(e,v,y),n.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn).forEach(e=>{let t=n.worksheet.getSpanModel().getMergeDataIndex(e.startRow,e.startColumn);_.has(t)||(_.add(t),g.push(e))}),ie.foreach(e,(e,t)=>{if(n.worksheet.getSpanModel().getMergeDataIndex(e,t)!==-1)return;let r=n.getCellWithCoordByIndex(e,t,!1);r&&(h.cellInfo=r,this._renderFontEachCell(h,e,t,s))})}),g.forEach(e=>{h.cellInfo=n.getCellWithCoordByIndex(e.startRow,e.startColumn,!1),this._renderFontEachCell(h,e.startRow,e.startColumn,s)}),e.restore()}_renderFontEachCell(e,t,n,r){var i;let{ctx:a,viewRanges:o,diffRanges:s,spreadsheetSkeleton:c,cellInfo:l}=e,{startY:u,endY:d,startX:f,endX:p}=l,{isMerged:m,isMergedMainCell:h,mergeInfo:g}=l;if(e.startX=f,e.startY=u,e.endX=p,e.endY=d,m&&!h)return!0;h&&(e.startX=g.startX,e.startY=g.startY,e.endX=g.endX,e.endY=g.endY);let _=r.getValue(t,n);if(!_)return!0;e.fontCache=_;let v=c.overflowCache.getValue(t,n),y=s&&s.length>0?s:o,b=!h&&!m;if(!v&&b&&!Ln(y,t,n))return!0;if(b){if(!c.worksheet.getRowVisible(t)||!c.worksheet.getColVisible(n))return!0}else{let e=!0;for(let t=g.startRow;t<=g.endRow;t++)if(c.worksheet.getRowVisible(t)){e=!1;break}if(e)return!0;let t=!0;for(let e=g.startColumn;e<=g.endColumn;e++)if(c.worksheet.getColVisible(e)){t=!1;break}if(t)return!0}let x=c.worksheet.getCell(t,n)||{};if(!(x==null||(i=x.fontRenderExtension)==null)&&i.isSkip)return!0;if(a.save(),a.beginPath(),e.overflowRectangle=v,this._clipByRenderBounds(e,t,n),a.translate(e.startX+bt,e.startY+bt),_.documentSkeleton?this._renderDocuments(a,t,n,e,c.overflowCache):this._renderText(a,t,n,e,c.overflowCache),a.closePath(),a.restore(),_.documentSkeleton){var S;(S=_.documentSkeleton.getViewModel().getDataModel().getDrawingsOrder())!=null&&S.length&&(a.save(),a.beginPath(),this._clipByRenderBounds(e,t,n,1),this._renderImages(a,_,e.startX,e.startY,e.endX,e.endY),a.closePath(),a.restore())}return e.startX=0,e.startY=0,e.endX=0,e.endY=0,e.overflowRectangle=null,!1}_renderImages(e,t,n,r,i,a){var o;let{documentSkeleton:s,verticalAlign:c,horizontalAlign:l}=t,u=s.getSkeletonData().pages[0].height,d=s.getSkeletonData().pages[0].width,f=n,p=r;switch(c){case ge.TOP:p=r+2;break;case ge.MIDDLE:p=(r+a)/2-u/2;break;default:p=a-u-2;break}switch(l){case w.RIGHT:f=i-d-2;break;case w.CENTER:f=(n+i)/2-d/2;break;default:f=n+2;break}let m=s.getViewModel().getDataModel().getDrawings(),h=(o=s.getSkeletonData())==null?void 0:o.pages[0].skeDrawings;h==null||h.forEach(n=>{let r=m==null?void 0:m[n.drawingId];if(r){let i=t.imageCacheMap.getImage(r.imageSourceType,r.source,()=>{var e;(e=this.parent)==null||e.makeDirty()},()=>{var e;(e=this.parent)==null||e.makeDirty()}),a=f+n.aLeft,o=p+n.aTop,s=n.width,c=n.height,l=n.angle,{rotatedHeight:u,rotatedWidth:d}=Ol(s,c,l);if(i&&i.complete){let t=l*Math.PI/180;if(e.save(),e.translate(a+d/2,o+u/2),e.rotate(t),i.getAttribute(`data-error`)===`true`)this._drawFallbackImage(e,-d/2,-u/2,s,c);else try{e.drawImage(i,-d/2,-u/2,s,c)}catch{this._drawFallbackImage(e,-d/2,-u/2,s,c)}e.restore()}}})}_clipByRenderBounds(e,t,n,r=0){var i,a,o,s;let{ctx:c,scale:l,overflowRectangle:u,fontCache:d}=e,{startX:f,endX:p,startY:m,endY:h}=e,{horizontalAlign:g=0,vertexAngle:_=0,centerAngle:v=0}=d,y=g;g===w.UNSPECIFIED&&(v===90&&_===90?y=w.CENTER:(_>0&&_!==90||_===-90)&&(y=w.RIGHT));let b=(i=d==null||(a=d.cellData)==null||(a=a.fontRenderExtension)==null?void 0:a.rightOffset)==null?0:i,x=(o=d==null||(s=d.cellData)==null||(s=s.fontRenderExtension)==null?void 0:s.leftOffset)==null?0:o,S=!0;_===0&&(f+=x,p-=b,(b!==0||x!==0)&&(S=!1));let C=p-f,T=h-m;if(u&&S){let{startColumn:i,startRow:a,endColumn:o,endRow:s}=u,{spreadsheetSkeleton:d}=e,{rowHeightAccumulation:p,columnWidthAccumulation:h}=d;i===o&&i===n?(c.rectByPrecision(f+1/l,m+1/l,C-2/l,T-2/l),c.clip()):y===w.CENTER?this._clipRectangleForOverflow(c,a,s,i,o,l,p,h,r):y===w.RIGHT?this._clipRectangleForOverflow(c,a,t,i,n,l,p,h,r):this._clipRectangleForOverflow(c,t,s,n,o,l,p,h,r)}else c.rectByPrecision(f+1/l,m+1/l,C-2/l,T-2/l),c.clip();e.startX=f,e.startY=m,e.endX=p,e.endY=h}_renderText(e,t,n,r,i){var a,o,s,l,u,d,f,p,m,h;let{fontCache:g}=r;if(!g)return;let _=(a=(o=g.style)==null?void 0:o.pd)==null?Sl:a,v=(s=_.l)==null?Sl.l:s,y=(l=_.r)==null?Sl.r:l,b=(u=_.t)==null?Sl.t:u,x=(d=_.b)==null?Sl.b:d,{vertexAngle:S=0,wrapStrategy:C,cellData:T}=g;if((T==null?void 0:T.v)===void 0||(T==null?void 0:T.v)===null)return;let E=Ce(T),{startX:D,startY:O,endX:k,endY:A}=r,ee=k-D-v-y,j=A-O-b-x,M=g.horizontalAlign;g.horizontalAlign===w.UNSPECIFIED&&(T.t===c.NUMBER||!B.isDefine(T.t)&&typeof T.v==`number`?M=w.RIGHT:T.t===c.BOOLEAN&&(M=w.CENTER)),ma.drawWith(e,{text:E,fontStyle:g.fontString,warp:C===V.WRAP&&S===0,hAlign:M,vAlign:g.verticalAlign,width:ee,height:j,left:v,top:b,color:(f=g.style)==null||(f=f.cl)==null?void 0:f.rgb,strokeLine:!!(!((p=g.style)==null||(p=p.st)==null)&&p.s),underline:!!(!((m=g.style)==null||(m=m.ul)==null)&&m.s),underlineType:(h=g.style)==null||(h=h.ul)==null?void 0:h.t,cellValueType:T.t})}_renderDocuments(e,t,n,r,i){let a=this.getDocuments();if(a==null)throw Error(`documents is null`);let{fontCache:o}=r;if(!o)return;let{documentSkeleton:s,vertexAngle:c=0,wrapStrategy:l}=o;if(!s)return;let u=s.getViewModel().getDataModel(),{startX:d,startY:f,endX:p,endY:m}=r,h=p-d,g=m-f;l===V.WRAP&&c===0?(u.updateDocumentDataPageSize(p-d),s.calculate()):u.updateDocumentDataPageSize(1/0);let _=i.getValue(t,n);if(!(l===V.WRAP&&c===0)&&_){let e=Dl(s),t=u.getSnapshot().documentStyle;if(e&&t){let{width:n}=e,{marginRight:r=0,marginLeft:i=0}=t;s.getViewModel().getDataModel().updateDocumentDataPageSize(n+i+r),s.calculate()}let n=_.endColumn,i=_.startColumn,a=_.startRow,o=_.endRow,c=r.spreadsheetSkeleton.getCellWithCoordByIndex(o,n);p=c.endX,m=c.endY;let l=r.spreadsheetSkeleton.getCellWithCoordByIndex(a,i);d=l.startX,f=l.startY}let v={right:p-d,bottom:m-f};s.makeDirty(!1),a.resize(h,g),a.changeSkeleton(s).render(e,{viewBound:{left:0,top:0,right:v.right,bottom:v.bottom}})}_clipRectangleForOverflow(e,t,n,r,i,a,o,s,c=0){let l=o[t-1]||0,u=o[n]||o[o.length-1],d=s[r-1]||0,f=s[i]||s[s.length-1];e.rectByPrecision(d+c,l+c,f-d-2*c,u-l-2*c),e.clip()}};ei.add(kl);const Al=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var jl=class extends bi{constructor(...e){super(...e),K(this,`Z_INDEX`,60),K(this,`uKey`,`DefaultMarkerExtension`)}draw(e,t,n,r){if(e.__mode===`printing`)return;let{worksheet:i,rowColumnSegment:a}=n;if(!i)return;let o=new Set;ie.foreach(a,(t,a)=>{var s,c,l,u;if(!i.getRowVisible(t)||!i.getColVisible(a))return;let d=i.getCell(t,a),f=n.getCellWithCoordByIndex(t,a,!1),{isMerged:p,isMergedMainCell:m,mergeInfo:h}=f,{startY:g,endY:_,startX:v,endX:y}=f;if((m||p)&&(g=h.startY,_=h.endY,v=h.startX,y=h.endX),p){let e={row:h.startRow,col:h.startColumn};d=i.getCell(e.row,e.col)}if(!this.isRenderDiffRangesByRow(h.startRow,h.endRow,r))return!0;if(f.isMerged||f.isMergedMainCell){let e=Al(h);if(o.has(e))return;o.add(e)}if(d){if((s=d.markers)!=null&&s.tr){e.save();let t=d.markers.tr,n=y,r=g;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n-t.size,r),e.lineTo(n,r+t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((c=d.markers)!=null&&c.tl){e.save();let t=d.markers.tl,n=v,r=g;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n+t.size,r),e.lineTo(n,r+t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((l=d.markers)!=null&&l.br){e.save();let t=d.markers.br,n=y,r=_;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n-t.size,r),e.lineTo(n,r-t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((u=d.markers)!=null&&u.bl){e.save();let t=d.markers.bl,n=v,r=_;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n+t.size,r),e.lineTo(n,r-t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}}})}};ei.add(jl);const Ml={fontSize:13,fontFamily:ct,fontColor:`#000000`,backgroundColor:Dt([248,249,250]),borderColor:Dt([217,217,217]),textAlign:`center`,textBaseline:`middle`};var Nl=class extends bi{constructor(e){super(),K(this,`uKey`,`DefaultRowHeaderLayoutExtension`),K(this,`Z_INDEX`,10),K(this,`rowsCfg`,{}),K(this,`headerStyle`,{}),K(this,`rowsCfgOfWorksheet`,new Map),K(this,`headerStyleOfWorksheet`,new Map),e&&this.configHeaderRow(e)}configHeaderRow(e,t){if(t){var n,r;this.rowsCfgOfWorksheet.set(t,(n=e.rowsCfg)==null?{}:n),this.headerStyleOfWorksheet.set(t,(r=e.headerStyle)==null?{}:r)}else{var i,a;this.rowsCfg=(i=e.rowsCfg)==null?{}:i,this.headerStyle=(a=e.headerStyle)==null?{}:a}}getRowsCfg(e){var t;let n=(t=this.rowsCfgOfWorksheet.get(e))==null?{}:t;return{...this.rowsCfg,...n}}getHeaderStyle(e){var t;let n=(t=this.headerStyleOfWorksheet.get(e))==null?{}:t;return{...Ml,...this.headerStyle,...n}}getCfgOfCurrentRow(e,t,n){let r,i;e[n]?(typeof e[n]==`string`&&(e[n]={text:e[n]}),i=e[n],r={...t,...i}):r={...t,text:`${n+1}`};let a=Object.keys(i||{}).length>1;return[r,a]}setStyleToCtx(e,t){t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline),t.fontColor&&(e.fillStyle=t.fontColor),t.borderColor&&(e.strokeStyle=t.borderColor),t.fontSize&&(e.font=`${t.fontSize}px ${ct}`)}draw(e,t,n){let{rowColumnSegment:r,rowHeaderWidth:i=0}=n,{startRow:a,endRow:o}=r;if(!n||i===0)return;let{rowHeightAccumulation:s,columnTotalWidth:c,columnWidthAccumulation:l,rowTotalHeight:u,worksheet:d}=n;if(!s||!l||c===void 0||u===void 0)return;let f=this.getRowsCfg(d.getSheetId()),p=this.getHeaderStyle(d.getSheetId()),m=this._getScale(t);this.setStyleToCtx(e,p),e.save(),e.fillStyle=p.backgroundColor,e.fillRectByPrecision(0,0,i,u),e.restore(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(bt,bt);let h=0,g=s.length;for(let t=a-1;t<=o;t++){if(t<0||t>g-1)continue;let n=s[t];if(h===n)continue;let r={left:0,top:h,right:i,bottom:n,width:i,height:n-h},[a,o]=this.getCfgOfCurrentRow(f,p,t);o&&a.backgroundColor&&(e.save(),e.fillStyle=a.backgroundColor,e.fillRectByPrecision(r.left,r.top,r.width,r.height),e.restore()),e.beginPath(),e.moveToByPrecision(r.left,r.bottom),e.lineToByPrecision(r.right,r.bottom),e.stroke();let c=(()=>{switch(a.textAlign){case`center`:return r.left+(r.right-r.left)/2;case`right`:return r.right-1;case`left`:return r.left+1;default:return r.left+(r.right-r.left)/2}})(),l=h+(n-h)/2+1;o&&(e.save(),e.beginPath(),this.setStyleToCtx(e,a),e.rectByPrecision(r.left,r.top,r.width,r.height),e.clip()),e.fillText(a.text,c,l),o&&e.restore(),h=n}let _=i-.5/m;e.beginPath(),e.moveToByPrecision(_,0),e.lineToByPrecision(_,u),e.stroke()}};ti.add(new Nl);var Pl=class extends ai{getDocuments(){throw Error(`Method not implemented.`)}getNoMergeCellPositionByIndex(e,t){throw Error(`Method not implemented.`)}getSelectionBounding(e,t,n,r){throw Error(`Method not implemented.`)}constructor(e,t){super(e,t),K(this,`_rowHeaderLayoutExtension`,void 0),this._initialDefaultExtension(),this.makeDirty(!0)}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(e,t){let n=this.getSkeleton();if(!n)return;let r=this.getParentScale();n.updateVisibleRange(t);let i=n.rowColumnSegment;if(!i||i.startRow===-1&&i.endRow===-1)return;let{columnHeaderHeight:a}=n;e.translateWithPrecision(0,a);let o=this.getExtensionsByOrder();for(let t of o)t.draw(e,r,n)}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>=0&&t.x<=r&&t.y>i}_initialDefaultExtension(){ti.getData().forEach(e=>{this.register(e)}),this._rowHeaderLayoutExtension=this.getExtensionByKey(`DefaultRowHeaderLayoutExtension`)}setCustomHeader(e,t){this.makeDirty(!0),this._rowHeaderLayoutExtension.configHeaderRow(e,t)}},Fl=class extends Qr{constructor(e,t,n){super(e),this._skeleton=t,K(this,`pageMarginLeft`,0),K(this,`pageMarginTop`,0),K(this,`pageLayoutType`,Xn.VERTICAL),this._setConfig(n)}getSkeleton(){return this._skeleton}setSkeleton(e){this._skeleton=e}_setConfig(e){(e==null?void 0:e.pageMarginLeft)==null?this.pageMarginLeft=17:this.pageMarginLeft=e==null?void 0:e.pageMarginLeft,(e==null?void 0:e.pageMarginTop)==null?this.pageMarginTop=14:this.pageMarginTop=e==null?void 0:e.pageMarginTop,(e==null?void 0:e.pageLayoutType)==null?this.pageLayoutType=Xn.VERTICAL:this.pageLayoutType=e==null?void 0:e.pageLayoutType}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(!this._skeleton)return;let n=this.transform.getMatrix();e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e,t),e.restore()}getParentScale(){if(!this.parent)return{scaleX:1,scaleY:1};let{scaleX:e=1,scaleY:t=1}=this.parent;return this.parent.classType===W.SCENE&&(e=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:t}}isSkipByDiffBounds(e,t,n,r){if(r==null)return!1;let{pageWidth:i,pageHeight:a,marginBottom:o,marginTop:s,marginLeft:c,marginRight:l}=e,u=n+i+c+l,d=t+a+o+s,{left:f,top:p,right:m,bottom:h}=r.viewBound;return u<f||d<p||n>m&&i!==1/0||t>h&&a!==1/0}};let Il=function(e){return e[e.SPAN=0]=`SPAN`,e[e.LINE=1]=`LINE`,e}({});var Ll=class extends $r{constructor(...e){super(...e),K(this,`type`,Il.SPAN),K(this,`translateX`,0),K(this,`translateY`,0)}},Rl=class extends Ll{constructor(...e){super(...e),K(this,`uKey`,`DefaultDocsBackgroundExtension`),K(this,`Z_INDEX`,10),K(this,`_preBackgroundColor`,``)}draw(e,t,n){var r;let i=(r=n.parent)==null?void 0:r.parent;if(i==null)return;let{contentHeight:a=0}=i,{ts:o,width:s,content:c}=n;if((o==null?void 0:o.bg)==null)return;let{bg:l}=o,u=Te(l),{spanStartPoint:d=Y.create(0,0)}=this.extensionOffset;u&&c!==`\r`&&(e.fillStyle=u,e.fillRect(d.x-.5,d.y+1,s+1,a+2))}clearCache(){this._preBackgroundColor=``}};ri.add(new Rl);var zl=class extends Ll{constructor(...e){super(...e),K(this,`uKey`,`DefaultDocsBorderExtension`),K(this,`Z_INDEX`,50),K(this,`_preBorderStyle`,void 0),K(this,`_preBorderColor`,``)}draw(e,t,n){var r;let i=(r=n.parent)==null?void 0:r.parent;if(!i)return;let{asc:a=0,lineHeight:o=0}=i,{ts:s,left:c,width:l}=n;if(!s)return;let{bd:u}=s;if(!u)return;let d=this._getScale(e.getScale()),f=this._createBorderCache(u);e.save(),e.translateWithPrecisionRatio(bt,bt);let{spanStartPoint:p=Y.create(0,0)}=this.extensionOffset;for(let t of f.keys()){let n=f.get(t);if(!n)continue;let{s:r,cl:i}=n,a=Te(i)||`rgb(0,0,0)`,s=pr(r);r!==this._preBorderStyle&&(ur(e,r),e.setLineWidthByPrecision(s),this._preBorderStyle=r),a!==this._preBorderColor&&(e.strokeStyle=a||`rgb(0,0,0)`,this._preBorderColor=a),ar(e,t,(s-1)/2/d,{startX:p.x,startY:p.y,endX:p.x+l,endY:p.y+o})}e.restore()}clearCache(){this._preBorderStyle=null,this._preBorderColor=``}_createBorderCache(e){let{t,b:n,l:r,r:i}=e,a=new Map;return t&&a.set(U.TOP,t),n&&a.set(U.BOTTOM,n),r&&a.set(U.LEFT,r),i&&a.set(U.RIGHT,i),a}};ri.add(new zl);const Bl=[`checked`];var Vl=class e extends fa{constructor(e,t){super(e,t),K(this,`_checked`,!1),B.isDefine(t.checked)&&(this._checked=t.checked)}get checked(){return this._checked}static drawWith(e,t){let{width:n=16,height:r=16,fill:i,checked:a,top:o=0,left:s=0}=t,c=new Path2D(`M12 2.65381H4C3.17157 2.65381 2.5 3.32538 2.5 4.15381V12.1538C2.5 12.9822 3.17157 13.6538 4 13.6538H12C12.8284 13.6538 13.5 12.9822 13.5 12.1538V4.15381C13.5 3.32538 12.8284 2.65381 12 2.65381ZM4 1.65381C2.61929 1.65381 1.5 2.7731 1.5 4.15381V12.1538C1.5 13.5345 2.61929 14.6538 4 14.6538H12C13.3807 14.6538 14.5 13.5345 14.5 12.1538V4.15381C14.5 2.7731 13.3807 1.65381 12 1.65381H4Z`),l=new Path2D(`M3.99243 1.65381C2.61172 1.65381 1.49243 2.77295 1.49243 4.15381V12.1538C1.49243 13.5347 2.61172 14.6538 3.99243 14.6538H11.9924C13.3731 14.6538 14.4924 13.5347 14.4924 12.1538V4.15381C14.4924 2.77295 13.3731 1.65381 11.9924 1.65381H3.99243ZM12.3779 6.3623C12.6317 6.1084 12.6317 5.69678 12.3779 5.44287C12.1241 5.18896 11.7125 5.18896 11.4586 5.44287L7.21062 9.69092L5.00681 7.4873C4.75296 7.2334 4.3414 7.2334 4.08755 7.4873C3.83372 7.74072 3.83372 8.15234 4.08757 8.40625L6.85709 11.1758C7.05234 11.3711 7.36893 11.3711 7.56418 11.1758L12.3779 6.3623Z`);e.save(),e.translate(s,o),e.scale(n/16,r/16),i&&(e.fillStyle=i),a?e.fill(l,`evenodd`):e.fill(c,`evenodd`),e.restore()}_draw(t){e.drawWith(t,this)}toJson(){let e={};return Bl.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}};const Hl=[`radius`];var Ul=class e extends fa{constructor(e,t){super(e,t),K(this,`_radius`,void 0),K(this,`objectType`,Hr.CIRCLE),this._radius=(t==null?void 0:t.radius)||10,this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,value:n,preValue:r}=e;if(t===Z.resize||t===Z.all){let e=Math.min(this.width,this.height);this._radius=e/2,this.width=e,this.height=e,this._setTransForm()}})}get radius(){return this._radius}static drawWith(e,t){var n;let{radius:r}=t;r=(n=r)==null?10:n,e.beginPath(),t.strokeDashArray&&e.setLineDash(t.strokeDashArray),e.beginPath(),e.arc(r,r,r||0,0,Math.PI*2,!1),e.closePath(),this._renderPaintInOrder(e,t)}toJson(){let e={};return Hl.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}},Wl=class{};const Gl=[`radius`];var Kl=class e extends fa{constructor(e,t){super(e,t),K(this,`objectType`,Hr.RECT),K(this,`_radius`,0),K(this,`_opacity`,1),K(this,`_visualHeight`,void 0),K(this,`_visualWidth`,void 0),t!=null&&t.radius&&(this._radius=t.radius),t!=null&&t.visualHeight&&(this._visualHeight=t.visualHeight),t!=null&&t.visualWidth&&(this._visualWidth=t.visualWidth)}get visualHeight(){return this._visualHeight}get visualWidth(){return this._visualWidth}get radius(){return this._radius}get opacity(){return this._opacity}setObjectType(e){this.objectType=e}setOpacity(e){this._opacity=e}static drawWith(e,t){var n,r,i;let{radius:a,width:o,height:s}=t;if(a=(n=a)==null?0:n,o=(r=o)==null?0:r,s=(i=s)==null?0:i,e.save(),e.beginPath(),t.strokeDashArray&&e.setLineDash(t.strokeDashArray),t.visualHeight&&(e.translate(0,(s-(t.visualHeight||0))/2),s=t.visualHeight),t.visualWidth&&(e.translate((o-(t.visualWidth||0))/2,0),o=t.visualWidth),!a)e.rect(0,0,o,s);else{let t=0,n=0,r=0,i=0;t=n=r=i=Math.min(a,o/2,s/2),e.moveTo(t,0),e.lineTo(o-n,0),e.arc(o-n,n,n,Math.PI*3/2,0,!1),e.lineTo(o,s-i),e.arc(o-i,s-i,i,0,Math.PI/2,!1),e.lineTo(r,s),e.arc(r,s-r,r,Math.PI/2,Math.PI,!1),e.lineTo(0,t),e.arc(t,t,t,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,t),e.restore()}toJson(){let e={};return Gl.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(t){e.drawWith(t,this)}},ql=class e extends Kl{static drawWith(e,t){var n,r,i,a,o;let{radius:s,left:c,top:l,width:u,height:d}=t;if(s=(n=s)==null?0:n,u=(r=u)==null?0:r,d=(i=d)==null?0:i,c=(a=c)==null?0:a,l=(o=l)==null?0:o,e.beginPath(),e.setLineDash(t.strokeDashArray),!s)e.rect(c,l,u,d);else{let t=0,n=0,r=0,i=0;t=n=r=i=Math.min(s,u/2,d/2),e.moveTo(t,0),e.lineTo(u-n,0),e.arc(u-n,n,n,Math.PI*3/2,0,!1),e.lineTo(u,d-i),e.arc(u-i,d-i,i,0,Math.PI/2,!1),e.lineTo(r,d),e.arc(r,d-r,r,Math.PI/2,Math.PI,!1),e.lineTo(0,t),e.arc(t,t,t,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,t)}_draw(t,n){let{radius:r,paintFirst:i,stroke:a,strokeWidth:o,fill:s,strokeScaleEnabled:c,fillRule:l,strokeLineCap:u,strokeDashOffset:d,strokeLineJoin:f,strokeMiterLimit:p,strokeDashArray:m}=this,h=this.getParent().transform,g=h.getMatrix()[4],_=h.getMatrix()[5],v={left:g,top:_,right:g+this.width,bottom:_+this.height},{left:y,top:b,right:x,bottom:S}=v,C=x-y,w=S-b;if(n){let e=ae.getIntersectionBetweenTwoRect(v,n.cacheBound);e&&(y=e.left-g,b=e.top-_,x=e.right,S=e.bottom,C=e.width,w=e.height)}e.drawWith(t,{radius:r,paintFirst:i,stroke:a,strokeWidth:o,fill:s,strokeScaleEnabled:c,fillRule:l,strokeLineCap:u,strokeDashOffset:d,strokeLineJoin:f,strokeMiterLimit:p,strokeDashArray:m,width:C,height:w,left:y,top:b})}},Jl=class{},Yl=class extends fa{constructor(e,t){super(e,t),K(this,`_props`,void 0),K(this,`_native`,void 0),K(this,`_renderByCropper`,!1),K(this,`_transformCalculateSrcRect`,!0),K(this,`objectType`,Hr.IMAGE),K(this,`isDrawingObject`,!0),this._props={...t},t.image?(this._native=t.image,this._native.crossOrigin=`anonymous`,this.makeDirty(!0)):t.url&&(this._native=document.createElement(`img`),this._native.src=t.url,this._native.crossOrigin=`anonymous`,this._native.onload=()=>{var n,r;(n=t.success)==null||n.call(t),this.makeDirty(!0),(r=this.getEngine())==null||(r=r.activeScene)==null||r.onFileLoaded$.emitEvent(e)},this._native.onerror=()=>{t.fail?t.fail():(this._native.src=`data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+`,this.makeDirty(!0))}),this._init()}get srcRect(){return this._props.srcRect}get prstGeom(){return this._props.prstGeom}get opacity(){var e;return(e=this._props.opacity)==null?1:e}setOpacity(e){this._props.opacity=e,this.makeDirty(!0)}get classType(){return W.IMAGE}transformByStateCloseCropper(e){this._transformCalculateSrcRect=!1,this.transformByState(e),this._transformCalculateSrcRect=!0}changeSource(e){this._native==null&&(this._native=document.createElement(`img`)),this._native.src=e,this._native.onload=()=>{this.makeDirty(!0)}}resetSize(){this._native!=null&&(this.transformByState({width:this._native.width,height:this._native.height}),this.setSrcRect(null))}setPrstGeom(e){this._props.prstGeom=e}setSrcRect(e){this._props.srcRect=e,this.makeDirty(!0)}getProps(){return this._props}getNative(){return this._native}getNativeSize(){return this._native==null?{width:this.width,height:this.height}:{width:this._native.width,height:this._native.height}}closeRenderByCropper(){this._renderByCropper=!1}openRenderByCropper(){this._renderByCropper=!0,this._transformBySrcRect()}calculateTransformWithSrcRect(){let{left:e,top:t,width:n,height:r}=this;if(this.srcRect==null)return{left:e,top:t,width:n,height:r,angle:this.angle};let{left:i=0,top:a=0,right:o=0,bottom:s=0}=this.srcRect;return{left:e-i,top:t-a,width:n+o+i,height:r+s+a,angle:this.angle}}_transformBySrcRect(){if(this.srcRect==null)return;let{left:e=0,top:t=0,right:n=0,bottom:r=0}=this.srcRect,{width:i,height:a}=this,{left:o,top:s,width:c,height:l}=this.calculateTransformWithSrcRect();if(this.angle!==0){let n=(i+this.strokeWidth)/2,r=(a+this.strokeWidth)/2,u=c/2-e,d=l/2-t,f=vr(new Y(n,r),this.angle,new Y(o,s),new Y(u,d));o=f.x,s=f.y}this.transformByState({left:o,top:s,width:c,height:l})}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(!this.transform)return this;let{width:n,height:r,left:i,top:a}=this,o=this.getRealBound();if(n=o.width,r=o.height,i=o.left,a=o.top,this.isRender(t)){let{top:e,left:o,bottom:s,right:c}=t.viewBound;if(n+this.strokeWidth+i<o||c<i||r+this.strokeWidth+a<e||s<a)return this}let s=this.transform.getMatrix();e.save();let c=i+n/2,l=a+r/2;return e.transform(s[0],s[1],s[2],s[3],c,l),this.opacity!==1&&(e.globalAlpha=this.opacity),this._draw(e,void 0,n,r),e.restore(),this.makeDirty(!1),this}_draw(e,t,n,r){if(this._native==null)return;let i=n==null?this.width:n,a=r==null?this.height:r;if(!this._renderByCropper&&this.srcRect){let{left:t=0,top:n=0,right:r=0,bottom:o=0}=this.srcRect;e.beginPath(),e.rect(-i/2,-a/2,i,a),e.clip(),e.drawImage(this._native,-t-i/2,-n-a/2,i+r+t,a+o+n)}else e.drawImage(this._native,-i/2,-a/2,i,a)}_init(){this.onTransformChange$.subscribeEvent(e=>{this._updateSrcRectByTransform(e)})}_updateSrcRectByTransform(e){if(this.srcRect==null||!this._transformCalculateSrcRect)return;let{width:t,height:n,left:r,top:i,angle:a}=this,{width:o=0,height:s=0,left:c=0,top:l=0,angle:u}=e.preValue,{left:d=0,top:f=0,right:p=0,bottom:m=0}=this.srcRect,h=d,g=f,_=p,v=m,y=!1;if(o!==0&&o!==t){let e=d/o,n=p/o;h=t*e,_=t*n,y=!0}if(s!==0&&s!==n){let e=f/s,t=m/s;g=n*e,v=n*t,y=!0}y&&this.setSrcRect({left:h,top:g,right:_,bottom:v})}set transform(e){this._transform=e}get transform(){this._transform||this._setTransForm();let e=this._transform.clone();return this.transformForAngle(e)}isHit(e){let{left:t,top:n,width:r,height:i}=this.getRealBound(),a=t+r/2,o=n+i/2,s=this.transform.getMatrix(),c=new Br([s[0],s[1],s[2],s[3],a,o]),l=this.getParent(),u=(this.isInGroup&&(l==null?void 0:l.classType)===W.GROUP?l.ancestorTransform.multiply(c):c).invert().applyPoint(e),d=r/2,f=i/2;return u.x>=-d-this.strokeWidth/2&&u.x<=d+this.strokeWidth/2&&u.y>=-f-this.strokeWidth/2&&u.y<=f+this.strokeWidth/2}};const Xl=[`dataArray`];var Zl=class e extends fa{constructor(t,n){super(t,n),K(this,`_dataArray`,[]),K(this,`_pathLength`,0),K(this,`_selfRectCache`,{left:0,top:0,width:0,height:0}),K(this,`_reCalculateCache`,!0),n!=null&&n.data?this._dataArray=e.parsePathData(n.data):n!=null&&n.dataArray&&(this._dataArray=n.dataArray);for(let e=0;e<this.dataArray.length;++e)this._pathLength+=this.dataArray[e].pathLength;this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,preValue:n}=e;if(t===Z.resize||t===Z.all){this._reCalculateCache=!0;let{left:e,top:t,width:r,height:i}=this._getSelfRect(),{width:a,height:o}=n,s,c;s=a?this.width-a:0,c=o?this.height-o:0;let l=s/r,u=c/i;this.scaleX+=l,this.scaleY+=u,this.left-=e*l,this.top-=t*u,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(e,t){let n=t.dataArray;if(n){e.beginPath();for(let t=0;t<n.length;t++){let r=n[t].command,i=n[t].points;switch(r){case`L`:e.lineTo(i[0],i[1]);break;case`M`:e.moveTo(i[0],i[1]);break;case`C`:e.bezierCurveTo(i[0],i[1],i[2],i[3],i[4],i[5]);break;case`Q`:e.quadraticCurveTo(i[0],i[1],i[2],i[3]);break;case`A`:{let t=i[0],n=i[1],r=i[2],a=i[3],o=i[4],s=i[5],c=i[6],l=i[7],u=r>a?r:a,d=r>a?1:r/a,f=r>a?a/r:1;e.translate(t,n),e.rotate(c),e.scale(d,f),e.arc(0,0,u,o,o+s,!!(1-l)),e.scale(1/d,1/f),e.rotate(-c),e.translate(-t,-n);break}case`z`:e.closePath();break}}this._renderPaintInOrder(e,t)}}static getLineLength(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))}static getPointOnLine(e,t,n,r,i,a,o){a===void 0&&(a=t),o===void 0&&(o=n);let s=(i-n)/(r-t+1e-8),c=Math.sqrt(e*e/(1+s*s));r<t&&(c*=-1);let l=s*c,u;if(r===t)u={x:a,y:o+l};else if((o-n)/(a-t+1e-8)===s)u={x:a+c,y:o+l};else{let d=this.getLineLength(t,n,r,i),f=(a-t)*(r-t)+(o-n)*(i-n);f/=d*d;let p=t+f*(r-t),m=n+f*(i-n),h=this.getLineLength(a,o,p,m),g=Math.sqrt(e*e-h*h);c=Math.sqrt(g*g/(1+s*s)),r<t&&(c*=-1),l=s*c,u={x:p+c,y:m+l}}return u}static getPointOnCubicBezier(e,t,n,r,i,a,o,s,c){function l(e){return e*e*e}function u(e){return 3*e*e*(1-e)}function d(e){return 3*e*(1-e)*(1-e)}function f(e){return(1-e)*(1-e)*(1-e)}return{x:s*l(e)+a*u(e)+r*d(e)+t*f(e),y:c*l(e)+o*u(e)+i*d(e)+n*f(e)}}static getPointOnQuadraticBezier(e,t,n,r,i,a,o){function s(e){return e*e}function c(e){return 2*e*(1-e)}function l(e){return(1-e)*(1-e)}return{x:a*s(e)+r*c(e)+t*l(e),y:o*s(e)+i*c(e)+n*l(e)}}static getPointOnEllipticalArc(e,t,n,r,i,a){let o=Math.cos(a),s=Math.sin(a),c={x:n*Math.cos(i),y:r*Math.sin(i)};return{x:e+(c.x*o-c.y*s),y:t+(c.x*s+c.y*o)}}static parsePathData(e){if(!e)return[];let t=e,n=[`m`,`M`,`l`,`L`,`v`,`V`,`h`,`H`,`z`,`Z`,`c`,`C`,`q`,`Q`,`t`,`T`,`s`,`S`,`a`,`A`];t=t.replace(RegExp(` `,`g`),`,`);for(let e=0,r=n.length;e<r;e++)t=t.replace(new RegExp(n[e],`g`),`|${n[e]}`);let r=t.split(`|`),i=[],a=[],o=0,s=0,c=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,l;for(let e=1,t=r.length;e<t;e++){let t=r[e],n=t.charAt(0);for(t=t.slice(1),a.length=0;l=c.exec(t);)a.push(l[0]);let u=[];for(let e=0,t=a.length;e<t;e++){if(a[e]===`00`){u.push(0,0);continue}let t=Number.parseFloat(a[e]);isNaN(t)?u.push(0):u.push(t)}for(;u.length>0&&!isNaN(u[0]);){let e,t=[],r=o,a=s,c,l,d,f,p,m,h,g,_,v;switch(n){case`l`:o+=u.shift()||0,s+=u.shift()||0,e=`L`,t.push(o,s);break;case`L`:o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`m`:{let r=u.shift()||0,a=u.shift()||0;if(o+=r,s+=a,e=`M`,i.length>2&&i[i.length-1].command===`z`){for(let e=i.length-2;e>=0;e--)if(i[e].command===`M`){o=i[e].points[0]+r,s=i[e].points[1]+a;break}}t.push(o,s),n=`l`;break}case`M`:o=u.shift()||0,s=u.shift()||0,e=`M`,t.push(o,s),n=`L`;break;case`h`:o+=u.shift()||0,e=`L`,t.push(o,s);break;case`H`:o=u.shift()||0,e=`L`,t.push(o,s);break;case`v`:s+=u.shift()||0,e=`L`,t.push(o,s);break;case`V`:s=u.shift()||0,e=`L`,t.push(o,s);break;case`C`:t.push(u.shift()||0,u.shift()||0,u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`c`:t.push(o+(u.shift()||0),s+(u.shift()||0),o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`C`,t.push(o,s);break;case`S`:l=o,d=s,c=i[i.length-1],c.command===`C`&&(l=o+(o-c.points[2]),d=s+(s-c.points[3])),t.push(l,d,u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,e=`C`,t.push(o,s);break;case`s`:l=o,d=s,c=i[i.length-1],c.command===`C`&&(l=o+(o-c.points[2]),d=s+(s-c.points[3])),t.push(l,d,o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`C`,t.push(o,s);break;case`Q`:t.push(u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`q`:t.push(o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`Q`,t.push(o,s);break;case`T`:l=o,d=s,c=i[i.length-1],c.command===`Q`&&(l=o+(o-c.points[0]),d=s+(s-c.points[1])),o=u.shift()||0,s=u.shift()||0,e=`Q`,t.push(l,d,o,s);break;case`t`:l=o,d=s,c=i[i.length-1],c.command===`Q`&&(l=o+(o-c.points[0]),d=s+(s-c.points[1])),o+=u.shift()||0,s+=u.shift()||0,e=`Q`,t.push(l,d,o,s);break;case`A`:f=u.shift()||0,p=u.shift()||0,m=u.shift()||0,h=u.shift()||0,g=u.shift()||0,_=o,v=s,o=u.shift()||0,s=u.shift()||0,e=`A`,t=this.convertEndpointToCenterParameterization(_,v,o,s,h,g,f,p,m);break;case`a`:f=u.shift()||0,p=u.shift()||0,m=u.shift()||0,h=u.shift()||0,g=u.shift()||0,_=o,v=s,o+=u.shift()||0,s+=u.shift()||0,e=`A`,t=this.convertEndpointToCenterParameterization(_,v,o,s,h,g,f,p,m);break}i.push({command:e||n,points:t,start:{x:r,y:a},pathLength:this.calcLength(r,a,e||n,t)})}(n===`z`||n===`Z`)&&i.push({command:`z`,points:[],start:{x:0,y:0},pathLength:0})}return i}static calcLength(t,n,r,i){let a,o,s,c,l=e;switch(r){case`L`:return l.getLineLength(t,n,i[0],i[1]);case`C`:for(a=0,o=l.getPointOnCubicBezier(0,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),c=.01;c<=1;c+=.01)s=l.getPointOnCubicBezier(c,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case`Q`:for(a=0,o=l.getPointOnQuadraticBezier(0,t,n,i[0],i[1],i[2],i[3]),c=.01;c<=1;c+=.01)s=l.getPointOnQuadraticBezier(c,t,n,i[0],i[1],i[2],i[3]),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case`A`:{a=0;let e=i[4],t=i[5],n=i[4]+t,r=Math.PI/180;if(Math.abs(e-n)<r&&(r=Math.abs(e-n)),o=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],e,0),t<0)for(c=e-r;c>n;c-=r)s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;else for(c=e+r;c<n;c+=r)s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],n,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),a}}return 0}static convertEndpointToCenterParameterization(e,t,n,r,i,a,o,s,c){let l=c*(Math.PI/180),u=Math.cos(l)*(e-n)/2+Math.sin(l)*(t-r)/2,d=-1*Math.sin(l)*(e-n)/2+Math.cos(l)*(t-r)/2,f=u*u/(o*o)+d*d/(s*s);f>1&&(o*=Math.sqrt(f),s*=Math.sqrt(f));let p=Math.sqrt((o*o*(s*s)-o*o*(d*d)-s*s*(u*u))/(o*o*(d*d)+s*s*(u*u)));i===a&&(p*=-1),isNaN(p)&&(p=0);let m=p*o*d/s,h=p*-s*u/o,g=(e+n)/2+Math.cos(l)*m-Math.sin(l)*h,_=(t+r)/2+Math.sin(l)*m+Math.cos(l)*h,v=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),y=(e,t)=>(e[0]*t[0]+e[1]*t[1])/(v(e)*v(t)),b=(e,t)=>(e[0]*t[1]<e[1]*t[0]?-1:1)*Math.acos(y(e,t)),x=b([1,0],[(u-m)/o,(d-h)/s]),S=[(u-m)/o,(d-h)/s],C=[(-1*u-m)/o,(-1*d-h)/s],w=b(S,C);return y(S,C)<=-1&&(w=Math.PI),y(S,C)>=1&&(w=0),a===0&&w>0&&(w-=2*Math.PI),a===1&&w<0&&(w+=2*Math.PI),[g,_,o,s,x,w,l,a]}toJson(){let e={};return Xl.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}getState(){let{left:e,top:t,width:n,height:r}=this.getRect();return{left:e,top:t,width:n,height:r,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){let{left:e,top:t,width:n,height:r}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:t*this.scaleY+this.top,width:n*this.scaleX,height:r*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(t){let n,r=0,i=this.dataArray.length;if(!i)return null;for(;r<i&&t>this.dataArray[r].pathLength;)t-=this.dataArray[r].pathLength,++r;if(r===i)return n=this.dataArray[r-1].points.slice(-2),{x:n[0],y:n[1]};if(t<.01)return n=this.dataArray[r].points.slice(0,2),{x:n[0],y:n[1]};let a=this.dataArray[r],o=a.points;switch(a.command){case`L`:return e.getPointOnLine(t,a.start.x,a.start.y,o[0],o[1]);case`C`:return e.getPointOnCubicBezier(t/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3],o[4],o[5]);case`Q`:return e.getPointOnQuadraticBezier(t/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3]);case`A`:{let n=o[0],r=o[1],i=o[2],s=o[3],c=o[4],l=o[5],u=o[6];return c+=l*t/a.pathLength,e.getPointOnEllipticalArc(n,r,i,s,c,u)}}return null}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){let{left:e,top:t,width:n,height:r}=this._getSelfRect(),i=this.width/n,a=this.height/r;this.left-=e*i,this.top-=t*a,this.scaleX=i,this.scaleY=a,this.width=n,this.height=r,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let t=[];this.dataArray.forEach(n=>{if(n.command===`A`){let r=n.points[4],i=n.points[5],a=n.points[4]+i,o=Math.PI/180;if(Math.abs(r-a)<o&&(o=Math.abs(r-a)),i<0)for(let i=r-o;i>a;i-=o){let r=e.getPointOnEllipticalArc(n.points[0],n.points[1],n.points[2],n.points[3],i,0);t.push(r.x,r.y)}else for(let i=r+o;i<a;i+=o){let r=e.getPointOnEllipticalArc(n.points[0],n.points[1],n.points[2],n.points[3],i,0);t.push(r.x,r.y)}}else if(n.command===`C`)for(let r=0;r<=1;r+=.01){let i=e.getPointOnCubicBezier(r,n.start.x,n.start.y,n.points[0],n.points[1],n.points[2],n.points[3],n.points[4],n.points[5]);t.push(i.x,i.y)}else t=t.concat(n.points)});let n=t[0],r=t[0],i=t[1],a=t[1],o,s;for(let e=0;e<t.length/2;e++)o=t[e*2],s=t[e*2+1],isNaN(o)||(n=Math.min(n,o),r=Math.max(r,o)),isNaN(s)||(i=Math.min(i,s),a=Math.max(a,s));let c={left:n,top:i,width:r-n,height:a-i};return this._selfRectCache=c,c}};const Ql=[`pointsGroup`];var $l=class e extends fa{constructor(e,t){super(e,t),K(this,`_pointsGroup`,void 0),this._pointsGroup=(t==null?void 0:t.pointsGroup)||[[]],this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,value:n,preValue:r}=e;(t===Z.resize||t===Z.all)&&this.resizePolygon(r)})}get pointsGroup(){return this._pointsGroup}static drawWith(e,t){var n;let{pointsGroup:r}=t;r=(n=r)==null?[[]]:n,t.strokeDashArray&&e.setLineDash(t.strokeDashArray),e.beginPath();for(let t of r){e.moveTo(t[0].x,t[0].y);for(let n=1;n<t.length;n++){let r=t[n];e.lineTo(r.x,r.y)}}e.closePath(),this._renderPaintInOrder(e,t)}isHit(e){let t=this.getInverseCoord(e);return!!(t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2&&this._contains(t))}_contains(e){let t=!1;for(let n of this._pointsGroup){let r=0,i=n.length;for(let t=0;t<i;t++){let a=n[t],o=n[(t+1)%i];if(this._isOnLine(e,a,o))return!0;if(a.y>e.y!=o.y>e.y){let t=a.x+(e.y-a.y)*(o.x-a.x)/(o.y-a.y);e.x<t&&r++}}r%2!=0&&(t=!t)}return t}_isOnLine(e,t,n){return(t.x-e.x)*(n.y-e.y)-(n.x-e.x)*(t.y-e.y)===0?e.x>=Math.min(t.x,n.x)&&e.x<=Math.max(t.x,n.x)&&e.y>=Math.min(t.y,n.y)&&e.y<=Math.max(t.y,n.y):!1}updatePointGroup(e){this._pointsGroup=e,this._setFixBoundingBox()}resizePolygon(e){let{left:t,top:n,width:r,height:i}=this._getSelfRect(),{width:a,height:o}=e,s,c;s=a?this.width-a:0,c=o?this.height-o:0;let l=s/r,u=c/i;this.scaleX+=l,this.scaleY+=u,this.left-=t*l,this.top-=n*u,this._setTransForm()}toJson(){let e={};return Ql.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}getState(){let{left:e,top:t,width:n,height:r}=this.getRect();return{left:e,top:t,width:n,height:r,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){let{left:e,top:t,width:n,height:r}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:t*this.scaleY+this.top,width:n*this.scaleX,height:r*this.scaleY}}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){let{width:e,height:t,left:n,top:r}=this._getSelfRect();this.left+=n,this.top+=r,this.width=e,this.height=t;let i=this.pointsGroup;for(let e of i)for(let t of e)t.x-=n,t.y-=r;this._setTransForm()}_getSelfRect(){let e=this.pointsGroup,t=e[0][0].x,n=e[0][0].x,r=e[0][0].y,i=e[0][0].y;for(let a of e)for(let e of a)t=Math.min(t,e.x),n=Math.max(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.y);return{left:t,top:r,width:n-t,height:i-r}}};const eu=[`text`,`richText`,`fs`];var tu=class extends Ur{constructor(e,t,n){super(t),this._localeService=e,K(this,`_documentData`,void 0),K(this,`_documentSkeleton`,void 0),K(this,`_documents`,void 0),K(this,`documentModel`,void 0),K(this,`_ff`,void 0),K(this,`_fs`,12),K(this,`_it`,i.FALSE),K(this,`_bl`,i.FALSE),K(this,`_ul`,{s:i.FALSE}),K(this,`_st`,{s:i.FALSE}),K(this,`_ol`,{s:i.FALSE}),K(this,`_bg`,void 0),K(this,`_bd`,void 0),K(this,`_cl`,void 0),K(this,`objectType`,Hr.RICH_TEXT),n!=null&&n.richText?this._documentData=n.richText:n&&(this._fs=n.fs,this._ff=n.ff,this._it=n.it,this._bl=n.bl,this._ul=n.ul,this._st=n.st,this._ol=n.ol,this._bg=n.bg,this._bd=n.bd,this._cl=n.cl,this._documentData=this._convertToDocumentData(n.text||``));let r=this.documentModel=new y(this._documentData),a=new ba(r);this._documentSkeleton=hl.create(a,this._localeService),this._documents=new ou(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(n),this.onTransformChange$.subscribeEvent(e=>{let{type:t}=e;if(t===Z.resize||t===Z.all){r.updateDocumentDataPageSize(this.width),this._documentSkeleton.makeDirty(!0),this._documentSkeleton.calculate();let e=this.getDocsSkeletonPageSize();this.height=(e==null?void 0:e.height)||this.height,this._setTransForm(),this.refreshDocumentByDocData()}})}get fs(){return this._fs}get text(){let e=this._documentData.body;if(!e)return``;let t=[];if(e.textRuns)for(let n of e.textRuns){let r=n.st||0,i=n.ed||0;t.push(e.dataStream.slice(r,i))}return t.join(``)}get documentData(){return this._documentData}getDocsSkeletonPageSize(){var e;let t=(e=this._documentSkeleton)==null?void 0:e.getSkeletonData();if(!t)return;let{pages:n}=t,{width:r,height:i}=n[n.length-1];return{width:r,height:i}}setProps(e){if(!e)return;let t=Object.keys(e);if(t.length!==0)return t.forEach(t=>{if(e[t]===void 0)return!0;eu.indexOf(t)===-1&&(this[`_${t}`]=e[t])}),this.makeDirty(!0),this}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(t)){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth<n||i<0||this.height+this.strokeWidth<e||r<0)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e),e.restore(),this.makeDirty(!1),this}toJson(){let e={};return eu.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(e){this._documents.render(e)}_convertToDocumentData(e){let t=e.length;return{id:`d`,body:{dataStream:`${e}${p}`,textRuns:[{ts:{fs:this._fs||14,ff:this._ff,it:this._it,bl:this._bl,ul:this._ul,st:this._st,ol:this._ol,bg:this._bg,bd:this._bd,cl:this._cl},st:0,ed:t}]},documentStyle:{pageSize:{width:1/0,height:1/0}}}}_initialProps(e){this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(e==null?void 0:e.width,e==null?void 0:e.height),this._documentSkeleton.calculate();let t=this.getDocsSkeletonPageSize();this.transformByState({width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0,left:(e==null?void 0:e.left)||0,top:(e==null?void 0:e.top)||0,angle:e==null?void 0:e.angle}),this.setProps(e),this.makeDirty(!0)}refreshDocumentByDocData(){let e=new ba(this.documentModel=new y(this._documentData));this._documentSkeleton=hl.create(e,this._localeService),this._documents=new ou(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(this.width,1/0),this._documentSkeleton.calculate()}resizeToContentSize(){let e=this.getDocsSkeletonPageSize();e&&e.width!==0&&e.height!==0&&this.transformByState({height:(e==null?void 0:e.height)||0})}},nu=class e extends _{constructor(e,t){super(),K(this,`_enableHorizontal`,!0),K(this,`_enableVertical`,!0),K(this,`horizontalThumbSize`,0),K(this,`horizontalMinusMiniThumb`,0),K(this,`horizontalTrackWidth`,0),K(this,`horizonScrollTrack`,void 0),K(this,`horizonThumbRect`,void 0),K(this,`verticalThumbSize`,0),K(this,`verticalTrackHeight`,0),K(this,`verticalMinusMiniThumb`,0),K(this,`verticalScrollTrack`,void 0),K(this,`verticalThumbRect`,void 0),K(this,`placeholderBarRect`,void 0),K(this,`_viewport`,void 0),K(this,`_mainScene`,void 0),K(this,`_lastX`,-1),K(this,`_lastY`,-1),K(this,`_isHorizonMove`,!1),K(this,`_isVerticalMove`,!1),K(this,`_horizonPointerMoveSub`,void 0),K(this,`_horizonPointerUpSub`,void 0),K(this,`_verticalPointerMoveSub`,void 0),K(this,`_verticalPointerUpSub`,void 0),K(this,`_thumbDefaultBackgroundColor`,`rgba(24, 28, 42, 0.20)`),K(this,`_thumbHoverBackgroundColor`,`rgba(24, 28, 42, 0.30)`),K(this,`_thumbActiveBackgroundColor`,`rgba(24, 28, 42, 0.40)`),K(this,`_trackBackgroundColor`,`rgba(255,255,255,0.5)`),K(this,`_trackBorderColor`,`rgba(255,255,255,0.7)`),K(this,`_trackThickness`,10),K(this,`_vThumbMargin`,2),K(this,`_hThumbMargin`,2),K(this,`_trackBorderThickness`,1),K(this,`_thumbLengthRatio`,1),K(this,`_minThumbSizeH`,17),K(this,`_minThumbSizeV`,17),K(this,`_eventSub`,new qe),K(this,`_viewportH`,0),K(this,`_viewportW`,0),K(this,`_contentW`,0),K(this,`_contentH`,0),e||console.warn(`Missing viewport`),this.setProps(t),this._viewport=e,this._initialScrollRect(),this._initialVerticalEvent(),this._initialHorizontalEvent(),this._viewport.setScrollBar(this)}setProps(e){if(!e)return;let t=Object.keys(e);t.length!==0&&(t.forEach(t=>{e[t]!==void 0&&(this[`_${t}`]=e[t])}),B.isDefine(e.thumbBackgroundColor)&&(this._thumbDefaultBackgroundColor=e.thumbBackgroundColor),B.isDefine(e.barSize)&&(this._trackThickness=e.barSize),B.isDefine(e.barBorder)&&(this._trackBorderThickness=e.barBorder),B.isDefine(e.thumbMargin)&&(this._hThumbMargin=e.thumbMargin,this._vThumbMargin=e.thumbMargin))}get enableHorizontal(){return this._enableHorizontal}set enableHorizontal(e){this._enableHorizontal=e}get enableVertical(){return this._enableVertical}set enableVertical(e){this._enableVertical=e}get limitX(){var e;return(e=this.horizonThumbRect)!=null&&e.visible?this.horizontalTrackWidth-this.horizontalThumbSize:0}get limitY(){var e;return(e=this.verticalThumbRect)!=null&&e.visible?this.verticalTrackHeight-this.verticalThumbSize:0}get ratioScrollX(){if(this._enableHorizontal===!1||this.horizontalThumbSize===void 0||this.horizontalTrackWidth===void 0)return 1;let e=(this.horizontalThumbSize-this.horizontalMinusMiniThumb)*this.miniThumbRatioX/this.horizontalTrackWidth;return Number.isNaN(e)?1:e}get ratioScrollY(){if(this._enableVertical===!1||this.verticalThumbSize===void 0||this.verticalTrackHeight===void 0)return 1;let e=(this.verticalThumbSize-this.verticalMinusMiniThumb)*this.miniThumbRatioY/this.verticalTrackHeight;return Number.isNaN(e)?1:e}get miniThumbRatioX(){let e=this.horizontalTrackWidth-this.horizontalThumbSize;if(e===0)return 0;let t=this.horizontalTrackWidth-(this.horizontalThumbSize-this.horizontalMinusMiniThumb);return t===0?0:e/t}get miniThumbRatioY(){let e=this.verticalTrackHeight-this.verticalThumbSize;if(e===0)return 0;let t=this.verticalTrackHeight-(this.verticalThumbSize-this.verticalMinusMiniThumb);return t===0?0:e/t}hasHorizonThumb(){var e;return((e=this.horizonThumbRect)==null?void 0:e.visible)||!1}hasVerticalThumb(){var e;return((e=this.verticalThumbRect)==null?void 0:e.visible)||!1}get scrollHorizonThumbThickness(){return Math.max(0,this._trackThickness-this._hThumbMargin*2)}get scrollVerticalThumbThickness(){return Math.max(0,this._trackThickness-this._vThumbMargin*2)}set barSize(e){this._trackThickness=e}get barSize(){return this._trackThickness}set trackThickness(e){this._trackThickness=e}get trackThickness(){return this._trackThickness}get totalSize(){return this._trackThickness+this._trackBorderThickness}static attachTo(t,n){return new e(t,n)}dispose(){var e,t,n,r,i,a,o,s,c;super.dispose(),(e=this.horizonScrollTrack)==null||e.dispose(),(t=this.horizonThumbRect)==null||t.dispose(),(n=this.verticalScrollTrack)==null||n.dispose(),(r=this.verticalThumbRect)==null||r.dispose(),(i=this.placeholderBarRect)==null||i.dispose(),this.horizonScrollTrack=null,this.horizonThumbRect=null,this.verticalScrollTrack=null,this.verticalThumbRect=null,this.placeholderBarRect=null,(a=this._horizonPointerMoveSub)==null||a.unsubscribe(),(o=this._horizonPointerUpSub)==null||o.unsubscribe(),(s=this._verticalPointerMoveSub)==null||s.unsubscribe(),(c=this._verticalPointerUpSub)==null||c.unsubscribe(),this._eventSub.unsubscribe(),this._mainScene=null,this._viewport.removeScrollBar()}render(e,t=0,n=0){let{scrollX:r,scrollY:i}=this._viewport;e.save();let a=new Br([1,0,0,1,t,n]).getMatrix();e.transform(a[0],a[1],a[2],a[3],a[4],a[5]),this._enableHorizontal&&(this.horizonScrollTrack.render(e),this.horizonThumbRect.translate(r).render(e)),this._enableVertical&&(this.verticalScrollTrack.render(e),this.verticalThumbRect.translate(void 0,i).render(e)),this._enableHorizontal&&this._enableVertical&&this.placeholderBarRect.render(e),e.restore()}_resizeHorizontal(){var e;let t=this._viewportH,n=this._viewportW,r=this._contentW;if(this._enableHorizontal)if(this.horizontalMinusMiniThumb=0,this.horizontalTrackWidth=n-(this._enableVertical?this._trackThickness:0)-this._trackBorderThickness,this.horizontalThumbSize=this.horizontalTrackWidth*(this.horizontalTrackWidth-this._trackBorderThickness)/r*this._thumbLengthRatio,this.horizontalThumbSize<this._minThumbSizeH&&(this.horizontalMinusMiniThumb=this._minThumbSizeH-this.horizontalThumbSize,this.horizontalThumbSize=this._minThumbSizeH),(e=this.horizonScrollTrack)==null||e.transformByState({left:0,top:t-this._trackThickness,width:this.horizontalTrackWidth,height:Math.max(0,this._trackThickness-this._trackBorderThickness)}),this.horizontalThumbSize>=n-(this._trackThickness+2)){var i;(i=this.horizonThumbRect)==null||i.setProps({visible:!1})}else{var a,o;if(!((a=this.horizonThumbRect)!=null&&a.visible)){var s;(s=this.horizonThumbRect)==null||s.setProps({visible:!0})}(o=this.horizonThumbRect)==null||o.transformByState({left:this._viewport.scrollX,top:t-this._trackThickness+this._hThumbMargin,width:this.horizontalThumbSize,height:this.scrollHorizonThumbThickness})}}_resizeVertical(){var e;let t=this._viewportH,n=this._viewportW,r=this._contentH;if(this._enableVertical)if(this.verticalMinusMiniThumb=0,this.verticalTrackHeight=t-(this._enableHorizontal?this._trackThickness:0)-this._trackBorderThickness,this.verticalThumbSize=this.verticalTrackHeight*this.verticalTrackHeight/r*this._thumbLengthRatio,this.verticalThumbSize<this._minThumbSizeV&&(this.verticalMinusMiniThumb=this._minThumbSizeV-this.verticalThumbSize,this.verticalThumbSize=this._minThumbSizeV),(e=this.verticalScrollTrack)==null||e.transformByState({left:n-this._trackThickness,top:0,width:Math.max(0,this._trackThickness-this._trackBorderThickness),height:this.verticalTrackHeight}),this.verticalThumbSize>=t-this._trackThickness){var i;(i=this.verticalThumbRect)==null||i.setProps({visible:!1})}else{var a,o;if(!((a=this.verticalThumbRect)!=null&&a.visible)){var s;(s=this.verticalThumbRect)==null||s.setProps({visible:!0})}(o=this.verticalThumbRect)==null||o.transformByState({left:n-this._trackThickness+this._vThumbMargin,top:this._viewport.scrollY,width:this.scrollVerticalThumbThickness,height:this.verticalThumbSize})}}_resizeRightBottomCorner(){let e=this._viewportH,t=this._viewportW;if(this._enableHorizontal&&this._enableVertical){var n;(n=this.placeholderBarRect)==null||n.transformByState({left:t-this._trackThickness,top:e-this._trackThickness,width:Math.max(0,this._trackThickness-this._trackBorderThickness),height:Math.max(0,this._trackThickness-this._trackBorderThickness)})}}resize(e=0,t=0,n=0,r=0){e===0&&e===0||(this._viewportH=t,this._viewportW=e,this._contentW=n,this._contentH=r,this._resizeHorizontal(),this._resizeVertical(),this._resizeRightBottomCorner())}makeDirty(e){var t,n,r,i,a;(t=this.horizonScrollTrack)==null||t.makeDirty(e),(n=this.horizonThumbRect)==null||n.makeDirty(e),(r=this.verticalScrollTrack)==null||r.makeDirty(e),(i=this.verticalThumbRect)==null||i.makeDirty(e),(a=this.placeholderBarRect)==null||a.makeDirty(e),this.makeViewDirty(e)}makeViewDirty(e){(this._mainScene||this._viewport.scene).makeDirty(e)}pick(e){var t,n,r,i;return(t=this.horizonThumbRect)!=null&&t.isHit(e)?this.horizonThumbRect:(n=this.verticalThumbRect)!=null&&n.isHit(e)?this.verticalThumbRect:(r=this.horizonScrollTrack)!=null&&r.isHit(e)?this.horizonScrollTrack:(i=this.verticalScrollTrack)!=null&&i.isHit(e)?this.verticalScrollTrack:null}_initialScrollRect(){this._enableHorizontal&&(this.horizonScrollTrack=new Kl(`__horizonBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}),this.horizonThumbRect=new Kl(`__horizonThumbRect__`,{radius:6,fill:this._thumbDefaultBackgroundColor})),this._enableVertical&&(this.verticalScrollTrack=new Kl(`__verticalBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}),this.verticalThumbRect=new Kl(`__verticalThumbRect__`,{radius:6,fill:this._thumbDefaultBackgroundColor})),this._enableHorizontal&&this._enableVertical&&(this.placeholderBarRect=new Kl(`__placeholderBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}))}_initialVerticalEvent(){if(!this._enableVertical)return;let e=this._mainScene||this._viewport.scene;this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerEnter$.subscribeEvent((e,t)=>{this._verticalHoverFunc(this._thumbHoverBackgroundColor,e,t)})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerLeave$.subscribeEvent((e,t)=>{this._verticalHoverLeaveFunc(this._thumbDefaultBackgroundColor,e,t)})),this.verticalScrollTrack&&this._eventSub.add(this.verticalScrollTrack.onPointerDown$.subscribeEvent((e,t)=>{let n=e;this._viewport.scrollToBarPos({y:n.offsetY-this._viewport.top-this.verticalThumbSize/2}),t.stopPropagation()})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerDown$.subscribeEvent((t,n)=>{let r=t,i=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=r.offsetX,this._lastY=r.offsetY,i==null||i.setProps({fill:this._thumbActiveBackgroundColor}),e.setCaptureObject(this.verticalThumbRect),e.disableObjectsEvent(),this.makeViewDirty(!0),n.stopPropagation()})),this._verticalPointerMoveSub=e.onPointerMove$.subscribeEvent((t,n)=>{var r;let i=t;this._isVerticalMove&&(this._viewport.scrollByBarDeltaValue({y:i.offsetY-this._lastY}),this._lastY=i.offsetY,(r=e.getEngine())==null||r.setCapture())}),this._verticalPointerUpSub=e.onPointerUp$.subscribeEvent((t,n)=>{let r=this.verticalThumbRect;this._isVerticalMove=!1,e.releaseCapturedObject(),e.enableObjectsEvent(),r==null||r.setProps({fill:this._thumbHoverBackgroundColor}),this.makeViewDirty(!0)})}_horizonHoverFunc(e,t,n){this._hThumbMargin=1,this._resizeHorizontal(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.horizonThumbRect)(t,n)}_horizonHoverLeaveFunc(e,t,n){this._hThumbMargin=2,this._resizeHorizontal(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.horizonThumbRect)(t,n)}_verticalHoverFunc(e,t,n){this._vThumbMargin=1,this._resizeVertical(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.verticalThumbRect)(t,n)}_verticalHoverLeaveFunc(e,t,n){this._vThumbMargin=2,this._resizeVertical(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.verticalThumbRect)(t,n)}_hoverFunc(e,t){return(n,r)=>{t.setProps({fill:e}),this._resizeHorizontal(),this.makeViewDirty(!0)}}_initialHorizontalEvent(){if(!this._enableHorizontal)return;let e=this._mainScene||this._viewport.scene;this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerEnter$.subscribeEvent((e,t)=>{this._horizonHoverFunc(this._thumbHoverBackgroundColor,e,t)})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerLeave$.subscribeEvent((e,t)=>{this._horizonHoverLeaveFunc(this._thumbDefaultBackgroundColor,e,t)})),this.horizonScrollTrack&&this._eventSub.add(this.horizonScrollTrack.onPointerDown$.subscribeEvent((e,t)=>{let n=e;this._viewport.scrollToBarPos({x:n.offsetX-this._viewport.left-this.horizontalThumbSize/2}),t.stopPropagation()})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerDown$.subscribeEvent((t,n)=>{var r;let i=t;this._isHorizonMove=!0,this._lastX=i.offsetX,this._lastY=i.offsetY,(r=this.horizonThumbRect)==null||r.setProps({fill:this._thumbActiveBackgroundColor}),this.makeViewDirty(!0),e.setCaptureObject(this.horizonThumbRect),e.disableObjectsEvent(),n.stopPropagation()})),this._horizonPointerMoveSub=e.onPointerMove$.subscribeEvent((t,n)=>{var r;let i=t;this._isHorizonMove&&(this._viewport.scrollByBarDeltaValue({x:i.offsetX-this._lastX}),this._lastX=i.offsetX,(r=e.getEngine())==null||r.setCapture())}),this._horizonPointerUpSub=e.onPointerUp$.subscribeEvent((t,n)=>{var r;this._isHorizonMove=!1,e.releaseCapturedObject(),e.enableObjectsEvent(),(r=this.horizonThumbRect)==null||r.setProps({fill:this._thumbHoverBackgroundColor}),this.makeViewDirty(!0)})}},ru=class extends Ll{constructor(){super(),K(this,`uKey`,`DefaultDocsFontAndBaseLineExtension`),K(this,`Z_INDEX`,20),K(this,`_preFontColor`,``),K(this,`actualFontMap`,{})}draw(e,t,n,i,a){var o;if(!((o=n.parent)!=null&&o.parent))return;let{ts:s,content:c,fontStyle:l,bBox:u}=n,{spanPointWithFont:d=Y.create(0,0)}=this.extensionOffset;if(c==null)return;if(!s){this._fillText(e,n,d);return}let f=(l==null?void 0:l.fontString)||``;f&&e.font!==this.actualFontMap[f]&&(e.font=f,this.actualFontMap[f]=e.font);let{cl:p,va:m}=s,h=Te(p)||`rgb(0,0,0)`;h&&this._preFontColor!==h&&(e.fillStyle=h),m===r.SUPERSCRIPT?d.y+=-u.spo:m===r.SUBSCRIPT&&(d.y+=u.sbo),this._fillText(e,n,d)}_fillText(e,t,n){let{renderConfig:r,spanStartPoint:i,centerPoint:a}=this.extensionOffset,{content:o,width:s,bBox:c}=t,{aba:l,abd:u}=c;if(o==null||i==null||a==null)return;let{vertexAngle:d,centerAngle:f}=r==null?{}:r;if(d===90&&f===90&&!Zt(o))e.save(),e.translate(i.x+a.x,i.y+a.y),e.rotate(Math.PI/2),e.translate(-s/2,(l+u)/2-u),e.fillText(o,0,0),e.restore();else if((o===`☐`||o===`☑`)&&t.glyphType===Yn.LIST){var p,m;let r=Math.ceil(((p=(m=t.ts)==null?void 0:m.fs)==null?12:p)*1.2);e.save();let i=t.bBox.aba-t.bBox.abd,a=n.y,s=a-i,c=n.x,l=s+(a-s-r)/2,u=c;e.translate(u-1/2,l-1/2),Vl.drawWith(e,{width:r,height:r,checked:o===`☑`}),e.restore()}else e.fillText(o,n.x,n.y)}clearCache(){this._preFontColor=``}};ri.add(new ru);var iu=class extends Ll{constructor(...e){super(...e),K(this,`uKey`,`DefaultDocsLineExtension`),K(this,`Z_INDEX`,40),K(this,`_preBackgroundColor`,``)}draw(e,t,n){var i;let a=(i=n.parent)==null?void 0:i.parent,{ts:o,bBox:s,content:c}=n;if(a==null||o==null||c===`\r`)return;let{asc:l,dsc:u}=a,{sp:d,spo:f,sbo:p,bd:m}=s,h=Cn(t),g=.5,{ul:_,st:v,ol:y,va:b,bbl:x}=o;if(_){let t=l+u;this._drawLine(e,n,_,t,h)}if(x){let t=l+u+3;this._drawLine(e,n,x,t,h,2)}if(v){let t=l+m-d-g;b===r.SUPERSCRIPT?t-=f:b===r.SUBSCRIPT&&(t+=p),this._drawLine(e,n,v,t,h)}y&&(-1-g,this._drawLine(e,n,y,-1.5,h))}clearCache(){this._preBackgroundColor=``}_drawLine(e,t,n,r,a,o=1){var s;let{s:c,cl:l,t:u,c:d=i.TRUE}=n;if(c!==i.TRUE)return;d==null&&(d=i.TRUE);let{originTranslate:f=Y.create(0,0),alignOffset:p=Y.create(0,0),renderConfig:m={}}=this.extensionOffset,{left:h,width:g}=t,{centerAngle:_=0,vertexAngle:v=0}=m;e.save(),e.strokeStyle=(d===i.TRUE?Te((s=t.ts)==null?void 0:s.cl):Te(l))||`rgb(0,0,0)`,this._setLineType(e,u==null?z.SINGLE:u,o),r+=this._isDouble(u)?-.8:0;let y=Pt(_),b=Pt(v),x=mr(f.addByPoint(h,r),Y.create(0,0),y,b,p),S=mr(f.addByPoint(h+g,r),Y.create(0,0),y,b,p);e.beginPath(),e.moveTo(x.x,x.y),this._drawLineTo(e,x.x,S.x,S.y,u),this._isDouble(u)&&(e.moveTo(x.x,x.y+2),this._drawLineTo(e,x.x,S.x,S.y+2,u)),e.stroke(),e.restore()}_drawLineTo(e,t,n,r,i){if(this._isWave(i))for(let i=t;i<n;i++)e.lineTo(i,r+.8*Math.sin(i*1));else e.lineTo(n,r)}_setLineType(e,t,n){switch(t){case z.SINGLE:case z.DOUBLE:e.lineWidth=1,e.setLineDash([0]);return;case z.DOTTED:e.lineWidth=1,e.setLineDash([2]);return;case z.DOTTED_HEAVY:e.lineWidth=2,e.setLineDash([2]);return;case z.DASH:e.lineWidth=1,e.setLineDash([3]);return;case z.DASHED_HEAVY:e.lineWidth=2,e.setLineDash([3]);return;case z.DASH_LONG:e.lineWidth=1,e.setLineDash([6]);return;case z.DASH_LONG_HEAVY:e.lineWidth=2,e.setLineDash([6]);return;case z.DOT_DASH:e.lineWidth=1,e.setLineDash([2,5,2]);return;case z.DASH_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,5,2]);return;case z.DOT_DOT_DASH:e.lineWidth=1,e.setLineDash([2,2,5,2,2]);return;case z.DASH_DOT_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,2,5,2,2]);return;case z.THICK:e.lineWidth=2,e.setLineDash([0]);return;case z.WAVE:case z.WAVY_DOUBLE:e.lineWidth=1;return;case z.WAVY_HEAVY:e.lineWidth=2;return;default:e.setLineDash([0]),e.lineWidth=n}}_isWave(e){return e===z.WAVE||e===z.WAVY_HEAVY||e===z.WAVY_DOUBLE}_isDouble(e){return e===z.DOUBLE||e===z.WAVY_DOUBLE}};ri.add(new iu);const au={color:{rgb:`#dee0e3`}};var ou=class e extends Fl{constructor(e,t,n){super(e,t,n),K(this,`_pageRender$`,new Ke),K(this,`pageRender$`,this._pageRender$.asObservable()),K(this,`_drawLiquid`,new ha),this._initialDefaultExtension(),this.makeDirty(!0)}static create(t,n,r){return new e(t,n,r)}dispose(){super.dispose(),this._pageRender$.complete(),this._drawLiquid=null}getOffsetConfig(){let{transform:e,pageLayoutType:t,pageMarginLeft:n,pageMarginTop:r,left:i,top:a}=this;return{documentTransform:e,pageLayoutType:t,pageMarginLeft:n,pageMarginTop:r,docsLeft:i,docsTop:a}}getEngine(){return this.getScene().getEngine()}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,t){this.draw(e,t)}draw(e,t){var n;let r=(n=this.getSkeleton())==null?void 0:n.getSkeletonData();if(r==null||this._drawLiquid==null)return;this._drawLiquid.reset();let{pages:i,skeHeaders:a,skeFooters:o}=r,s=this.getParentScale(),l=this.getExtensionsByOrder();for(let e of l)e.clearCache();let u=l.find(e=>e.uKey===`DefaultDocsBackgroundExtension`),d=l.filter(e=>e.type===Il.SPAN&&e.uKey!==`DefaultDocsBackgroundExtension`),f=0,p=0;for(let n=0,r=i.length;n<r;n++){var m,h,g;let r=i[n],{sections:_,marginTop:v=0,marginBottom:y=0,marginLeft:b=0,marginRight:x=0,width:S,height:C,pageWidth:T,headerId:E,footerId:D,renderConfig:O={},skeTables:k}=r,{verticalAlign:A=ge.TOP,horizontalAlign:ee=w.LEFT,centerAngle:j=0,vertexAngle:M=0,wrapStrategy:te=V.UNSPECIFIED,cellValueType:N}=O,P=this._horizontalHandler(S,b,x,ee,M,j,N),F=this._verticalHandler(C,v,y,A),I=Y.create(P,F),ne=Pt(j),L=Pt(M),re=L-ne;if(this.isSkipByDiffBounds(r,f,p,t)){let{x:e,y:t}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);p+=e,f+=t;continue}k.size>0&&this._drawTable(e,r,k,l,u,d,I,ne,L,O,s);let R=(m=a.get(E))==null?void 0:m.get(T),ie=Y.create(P,(h=R==null?void 0:R.marginTop)==null?0:h);R&&this._drawHeaderFooter(R,e,l,u,d,ie,ne,L,O,s,r,!0),this._startRotation(e,re);for(let n of _){let{columns:i}=n;this._drawLiquid.translateSection(n);for(let n of i){let{lines:i,width:a}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(n);let o=i.length,f=I,p=null;if(L!==0){let{rotateTranslateXList:e,rotatedHeight:t,rotatedWidth:n,fixOffsetX:r,fixOffsetY:o,rotateTranslateY:s}=gr(i,a,L),c=n;t>this.height&&te!==V.WRAP&&(te===V.OVERFLOW||L>0)&&(c=this.height/Math.tan(Math.abs(L)));let l=this._horizontalHandler(c,b,x,ee,M,j),u=this._verticalHandler(t,v,y,A)-o;t>this.height&&(u=L<0?this.height-(t+o):-o),f=Y.create(l+r,u),this._drawLiquid.translate(0,-s),p=e}else te===V.WRAP&&(ee!==w.UNSPECIFIED||N!==c.NUMBER)&&(f.x=b);for(let n=0;n<o;n++){let a=i[n],{divides:o,asc:c=0,type:m,lineHeight:h=0}=a,g=c,_=g*Math.sin(ne),v=g*Math.cos(ne);if(m===Jn.BLOCK)for(let t of l)t.type===Il.LINE&&(t.extensionOffset={alignOffset:f,renderConfig:O},t.draw(e,s,a));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(a,!0,!0),p&&this._drawLiquid.translate(p[n]);let i=o.length;for(let n=0;n<i;n++){let r=o[n],{glyphGroup:i}=r;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(r);for(let t of i){if(!t.content||t.content.length===0)continue;let{width:n,left:r}=t,{x:i,y:a}=this._drawLiquid,o=Y.create(i,a),c=Y.create(n/2,h/2),l={spanStartPoint:mr(o.addByPoint(r,0),c,ne,L,f)};u&&(u.extensionOffset=l,u.draw(e,s,t))}for(let n of i){if(!n.content||n.content.length===0)continue;let{width:r,left:i,xOffset:a}=n,{x:o,y:c}=this._drawLiquid,l=Y.create(o,c),u=Y.create(r/2,h/2),p={originTranslate:l,spanStartPoint:mr(l.addByPoint(i+a,0),u,ne,L,f),spanPointWithFont:mr(l.addByPoint(i+_+a,v),u,ne,L,f),centerPoint:u,alignOffset:f,renderConfig:O};for(let r of d)r.extensionOffset=p,r.draw(e,s,n,[],{viewBound:t==null?void 0:t.viewBound})}this._drawLiquid.translateRestore()}a.borderBottom&&this._drawBorderBottom(e,r,a),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}}this._resetRotation(e,re);let ae=(g=o.get(D))==null?void 0:g.get(T);if(ae){let t=Y.create(P,r.pageHeight-(ae==null?void 0:ae.height)-ae.marginBottom);this._drawHeaderFooter(ae,e,l,u,d,t,ne,L,O,s,r,!1)}this._pageRender$.next({page:r,pageLeft:p,pageTop:f,ctx:e});let{x:oe,y:se}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);p+=oe,f+=se}}_drawTable(e,t,n,r,i,a,o,s,c,l,u){for(let[b,x]of n){var d,f,p;let{top:n,left:b,rows:S}=x;(d=this._drawLiquid)==null||d.translateSave(),(f=this._drawLiquid)==null||f.translate(b,n);for(let n of S){var m,h,g;let{top:d,cells:f}=n;(m=this._drawLiquid)==null||m.translateSave(),(h=this._drawLiquid)==null||h.translate(0,d);for(let n of f){var _,v,y;let{left:d}=n;(_=this._drawLiquid)==null||_.translateSave(),(v=this._drawLiquid)==null||v.translate(d,0),this._drawTableCell(e,t,n,r,i,a,o,s,c,l,u),(y=this._drawLiquid)==null||y.translateRestore()}(g=this._drawLiquid)==null||g.translateRestore()}(p=this._drawLiquid)==null||p.translateRestore()}}_drawBorderBottom(e,t,n,r=0,i=0){var a,o,s,c;if(this._drawLiquid==null)return;let{x:l,y:u}=this._drawLiquid,{pageWidth:d,marginLeft:f,marginRight:p,marginTop:m}=t;l+=f+(r==null?0:r),u-=n.marginTop,u-=n.paddingTop,u+=m+i+n.lineHeight+((a=(o=n.borderBottom)==null?void 0:o.padding)==null?0:a),e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=(s=(c=n.borderBottom)==null?void 0:c.color.rgb)==null?`#CDD0D8`:s,ar(e,U.BOTTOM,0,{startX:l,startY:u,endX:l+d-f-p,endY:u}),e.restore()}_drawTableCell(e,t,n,r,i,a,o,s,c,l,u){if(this._drawLiquid==null)return;this._drawTableCellBordersAndBg(e,t,n);let{sections:d,marginLeft:f,marginTop:p}=n;o=Y.create(o.x+f,o.y+p),e.save();let{x:m,y:h}=this._drawLiquid,{pageWidth:g,pageHeight:_}=n;e.beginPath(),e.rectByPrecision(m+t.marginLeft,h+t.marginTop,g,_),e.closePath(),e.clip();for(let f of d){let{columns:d}=f;this._drawLiquid.translateSave(),this._drawLiquid.translateSection(f);for(let f of d){let{lines:d}=f;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(f);let p=d.length,m=o;for(let o=0;o<p;o++){let f=d[o],{divides:p,asc:h=0,type:g,lineHeight:_=0}=f,v=h,y=v*Math.sin(s),b=v*Math.cos(s);if(g===Jn.BLOCK)for(let t of r)t.type===Il.LINE&&(t.extensionOffset={alignOffset:m,renderConfig:l},t.draw(e,u,f));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(f,!0,!0);let r=p.length;for(let t=0;t<r;t++){let n=p[t],{glyphGroup:r}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(n);for(let t of r){if(!t.content||t.content.length===0)continue;let{width:n,left:r}=t,{x:a,y:o}=this._drawLiquid,l=Y.create(a,o),d=Y.create(n/2,_/2),f={spanStartPoint:mr(l.addByPoint(r,0),d,s,c,m)};i&&(i.extensionOffset=f,i.draw(e,u,t))}for(let t of r){if(!t.content||t.content.length===0)continue;let{width:n,left:r,xOffset:i}=t,{x:o,y:d}=this._drawLiquid,f=Y.create(o,d),p=Y.create(n/2,_/2),h={originTranslate:f,spanStartPoint:mr(f.addByPoint(r+i,0),p,s,c,m),spanPointWithFont:mr(f.addByPoint(r+y+i,b),p,s,c,m),centerPoint:p,alignOffset:m,renderConfig:l};for(let n of a)n.extensionOffset=h,n.draw(e,u,t)}this._drawLiquid.translateRestore()}f.borderBottom&&this._drawBorderBottom(e,n,f,t.marginLeft,t.marginTop),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}e.restore()}_drawTableCellBordersAndBg(e,t,n){var r,i,a,o;let{marginLeft:s,marginTop:c}=t,{pageWidth:l,pageHeight:u}=n,d=n.parent,f=d.cells.indexOf(n),{borderTop:p=au,borderBottom:m=au,borderLeft:h=au,borderRight:g=au,backgroundColor:_}=d.rowSource.tableCells[f];if(this._drawLiquid==null)return;let{x:v,y}=this._drawLiquid;v+=s,y+=c,_&&_.rgb&&(e.save(),e.fillStyle=_.rgb,e.fillRectByPrecision(v,y,l,u),e.restore()),e.save(),e.setLineWidthByPrecision(1),e.save(),e.strokeStyle=(r=h.color.rgb)==null?au.color.rgb:r,ar(e,U.LEFT,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(i=p.color.rgb)==null?au.color.rgb:i,ar(e,U.TOP,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(a=g.color.rgb)==null?au.color.rgb:a,ar(e,U.RIGHT,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(o=m.color.rgb)==null?au.color.rgb:o,ar(e,U.BOTTOM,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.restore()}_drawHeaderFooter(e,t,n,r,i,a,o,s,c,l,u,d=!0){if(this._drawLiquid==null)return;let{sections:f}=e,{y:p}=this._drawLiquid;for(let m of f){let{columns:f}=m;this._drawLiquid.translateSave(),this._drawLiquid.translateSection(m);for(let m of f){let{lines:f}=m;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(m);let h=f.length,g=a;for(let a=0;a<h;a++){let m=f[a],{divides:h,asc:_=0,type:v,lineHeight:y=0}=m,b=_,x=b*Math.sin(o),S=b*Math.cos(o);if(v===Jn.BLOCK)for(let e of n)e.type===Il.LINE&&(e.extensionOffset={alignOffset:g,renderConfig:c},e.draw(t,l,m));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(m,!0,!0);let{y:n}=this._drawLiquid;if(d){if(n-p+g.y>(u.pageHeight-100)/2){this._drawLiquid.translateRestore();continue}}else if(n-p+g.y+y<(u.pageHeight-100)/2+100){this._drawLiquid.translateRestore();continue}let a=h.length;for(let e=0;e<a;e++){let n=h[e],{glyphGroup:a}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(n);for(let e of a){if(!e.content||e.content.length===0)continue;let{width:n,left:i}=e,{x:a,y:c}=this._drawLiquid,u=Y.create(a,c),d=Y.create(n/2,y/2),f={spanStartPoint:mr(u.addByPoint(i,0),d,o,s,g)};r&&(r.extensionOffset=f,r.draw(t,l,e))}for(let e of a){if(!e.content||e.content.length===0)continue;let{width:n,left:r,xOffset:a}=e,{x:u,y:d}=this._drawLiquid,f=Y.create(u,d),p=Y.create(n/2,y/2),m={originTranslate:f,spanStartPoint:mr(f.addByPoint(r+a,0),p,o,s,g),spanPointWithFont:mr(f.addByPoint(r+x+a,S),p,o,s,g),centerPoint:p,alignOffset:g,renderConfig:c};for(let n of i)n.extensionOffset=m,n.draw(t,l,e)}this._drawLiquid.translateRestore()}m.borderBottom&&this._drawBorderBottom(t,e,m,u.marginLeft),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}_horizontalHandler(e,t,n,r,i=0,a=0,o){r===w.UNSPECIFIED&&(r=a===90&&i===90?w.CENTER:i>0&&i!==90||i===-90||o===c.NUMBER?w.RIGHT:o===c.BOOLEAN?w.CENTER:w.LEFT);let s=0;return s=r===w.CENTER?(this.width-e)/2:r===w.RIGHT?this.width-e-n:t,s}_verticalHandler(e,t,n,r){let i=0;return i=r===ge.MIDDLE?(this.height-e)/2:r===ge.TOP?t:this.height-e-n,i}_startRotation(e,t){e.rotate(t||0)}_resetRotation(e,t){e.rotate(-t||0)}_initialDefaultExtension(){ri.getData().forEach(e=>{this.register(e)})}},su=class extends ii{constructor(e,t,n=!0){super(e,t),this._allowCache=n,K(this,`_backgroundExtension`,void 0),K(this,`_borderExtension`,void 0),K(this,`_fontExtension`,void 0),K(this,`_refreshIncrementalState`,!1),K(this,`_dirtyBounds`,[]),K(this,`_forceDisableGridlines`,!1),K(this,`_documents`,new ou(`__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__`,void 0,{pageMarginLeft:0,pageMarginTop:0})),K(this,`isPrinting`,!1),this._initialDefaultExtension(),this.makeDirty(!0)}get backgroundExtension(){return this._backgroundExtension}get borderExtension(){return this._borderExtension}get fontExtension(){return this._fontExtension}getDocuments(){return this._documents}get allowCache(){return this._allowCache}get forceDisableGridlines(){return this._forceDisableGridlines}dispose(){var e;super.dispose(),(e=this._documents)==null||e.dispose(),this._documents=null,this._backgroundExtension=null,this._borderExtension=null,this._fontExtension=null}draw(e,t){var n;let r=this.getSkeleton();if(!r)return;this._drawAuxiliary(e);let i=this.getParentScale(),a=this._refreshIncrementalState&&t.diffBounds?(n=t.diffBounds)==null?void 0:n.map(e=>r.getRangeByViewBound(e)):[],o=[r.getCacheRangeByViewport(t,this.isPrinting)],s=this.getExtensionsByOrder(),c=this.getScene();for(let n of s){let s=`${yi}${n.uKey}`,l=B.now();n.draw(e,i,r,a,{viewRanges:o,checkOutOfViewBound:!0,viewportKey:t.viewportKey,viewBound:t.cacheBound,diffBounds:t.diffBounds}),this.addRenderFrameTimeMetricToScene(s,B.now()-l,c)}}addRenderFrameTimeMetricToScene(e,t,n){var r;n=(r=n)==null?this.getScene():r,n.getEngine().renderFrameTimeMetric$.next([e,t])}addRenderTagToScene(e,t,n){var r;n=(r=n)==null?this.getScene():r,n.getEngine().renderFrameTags$.next([e,t])}getScene(){return super.getScene()}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>r&&t.y>i}getNoMergeCellPositionByIndex(e,t){let n=this.getSkeleton();return n?n.getNoMergeCellWithCoordByIndex(e,t):{startX:0,startY:0,endX:0,endY:0}}getScrollXYByRelativeCoords(e){let t=this.getParent(),n=0,r=0,i=t.findViewportByPosToScene(e);if(i){let e=i.viewportScrollX||0,t=i.viewportScrollY||0;n+=e,r+=t}return{x:n,y:r}}isForceDirty(){return this._forceDirty}makeForceDirty(e=!0){this.makeDirty(e),this._forceDirty=e}setForceDisableGridlines(e){this._forceDisableGridlines=e}getSelectionBounding(e,t,n,r){var i;return(i=this.getSkeleton())==null?void 0:i.expandRangeByMerge({startRow:e,startColumn:t,endRow:n,endColumn:r})}makeDirty(e=!0){var t;return(t=this.getParent())==null||t.getViewports().forEach(t=>t.markDirty(e)),super.makeDirty(e),e===!1&&(this._dirtyBounds=[]),this}setDirtyArea(e){this._dirtyBounds=e}renderByViewports(e,t,n){let{diffBounds:r,diffX:i,diffY:a,viewPortPosition:o,cacheCanvas:s,leftOrigin:c,topOrigin:l,bufferEdgeX:u,bufferEdgeY:d,isDirty:f,isForceDirty:p}=t,{rowHeaderWidth:m,columnHeaderHeight:h}=n,{a:g=1,d:_=1}=e.getTransform(),v=u*g/window.devicePixelRatio,y=d*_/window.devicePixelRatio,b=s.getContext();b.save();let x=p||this.isForceDirty(),S=f||this.isDirty();r.length===0||i===0&&a===0||x||S?(S||x)&&(this.addRenderTagToScene(`scrolling`,!1),this.refreshCacheCanvas(t,{cacheCanvas:s,cacheCtx:b,mainCtx:e,topOrigin:l,leftOrigin:c,bufferEdgeX:u,bufferEdgeY:d})):(r.length!==0||i!==0||a!==0)&&(this.addRenderTagToScene(`scrolling`,!0),this.paintNewAreaForScrolling(t,{cacheCanvas:s,cacheCtx:b,mainCtx:e,topOrigin:l,leftOrigin:c,bufferEdgeX:u,bufferEdgeY:d,scaleX:g,scaleY:_,columnHeaderHeight:h,rowHeaderWidth:m}));let C=v*Math.min(1,window.devicePixelRatio),w=y*Math.min(1,window.devicePixelRatio),{left:T,top:E,right:D,bottom:O}=o,k=D-T+m,A=O-E+h;this._applyCache(s,e,C,w,k,A,T,E,k,A),b.restore()}paintNewAreaForScrolling(e,t){let{cacheCanvas:n,cacheCtx:r,mainCtx:i,topOrigin:a,leftOrigin:o,bufferEdgeX:s,bufferEdgeY:c,scaleX:l,scaleY:u,columnHeaderHeight:d,rowHeaderWidth:f}=t,{shouldCacheUpdate:p,diffCacheBounds:m,diffX:h,diffY:g}=e;r.save(),r.setTransform(1,0,0,1,0,0),r.globalCompositeOperation=`copy`,r.drawImage(n.getCanvasEle(),h*l,g*u),r.restore(),this._refreshIncrementalState=!0;let _=i.getTransform();if(r.setTransform(_.a,_.b,_.c,_.d,0,0),r.translateWithPrecision(_.e/_.a-o+s,_.f/_.d-a+c),p)for(let t of m){let{left:n,right:i,bottom:a,top:o}=t,s=n-f,c=o-d,l=i-n,u=a-o;r.clearRectByPrecision(s,c,l,u),r.save(),r.beginPath(),r.rectByPrecision(s,c,l,u),r.closePath(),r.clip(),this.draw(r,{...e,diffBounds:[t]}),r.restore()}this._refreshIncrementalState=!1}refreshCacheCanvas(e,t){let{cacheCanvas:n,cacheCtx:r,mainCtx:i,topOrigin:a,leftOrigin:o,bufferEdgeX:s,bufferEdgeY:c}=t;r.save(),r.setTransform(1,0,0,1,0,0),n.clear(),r.restore(),r.save();let l=i.getTransform();r.setTransform(l.a,l.b,l.c,l.d,0,0),r.translateWithPrecision(l.e/l.a-o+s,l.f/l.d-a+c),this.draw(r,e),r.restore()}render(e,t){var n;if(!this.visible)return this.makeDirty(!1),this;let r=this.getSkeleton();if(!r)return;r.setStylesCache(t);let i=r.rowColumnSegment;if(!i||i.startRow===-1&&i.endRow===-1||i.startColumn===-1&&i.endColumn===-1)return;e.save();let{rowHeaderWidth:a,columnHeaderHeight:o}=r;e.translateWithPrecision(a,o),(n=this.getScene())==null||n.updateTransformerZero(r.rowHeaderWidth,r.columnHeaderHeight);let{viewportKey:s}=t;return mi.includes(s)?t&&t.cacheCanvas?this.renderByViewports(e,t,r):this._draw(e,t):hi.includes(s)||(t&&t.cacheCanvas?this.renderByViewports(e,t,r):this._draw(e,t)),e.restore(),this}_applyCache(e,t,n=0,r=0,i=0,a=0,o=0,s=0,c=0,l=0){if(!t)return;let u=e.getPixelRatio(),d=e.getContext();d.save(),t.save(),t.setTransform(1,0,0,1,0,0),d.setTransform(1,0,0,1,0,0),t.imageSmoothingEnabled=!1,t.drawImage(e.getCanvasEle(),n*u,r*u,i*u,a*u,o*u,s*u,c*u,l*u),t.restore(),d.restore()}_draw(e,t){this.draw(e,t)}_getAncestorSize(){let e=this._getAncestorParent();if(e){if(e.classType===W.ENGINE){let t=e.getCanvas();return{width:t.getWidth(),height:t.getHeight()}}if(e.classType===W.SCENE_VIEWER)return{width:e.width,height:e.height}}}_getAncestorParent(){let e=this.parent;for(;e;){if(e.classType===W.ENGINE||e.classType===W.SCENE_VIEWER)return e;e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent())}}_initialDefaultExtension(){ei.getData().sort(Be).forEach(e=>{this.register(new e)}),this._backgroundExtension=this.getExtensionByKey(`DefaultBackgroundExtension`),this._borderExtension=this.getExtensionByKey(`DefaultBorderExtension`),this._fontExtension=this.getExtensionByKey(`DefaultFontExtension`)}_drawAuxiliary(e){var t;let n=this.getSkeleton();if(n==null)return;let{rowColumnSegment:r,overflowCache:a,showGridlines:o,gridlinesColor:s,worksheet:c}=n,{startRow:l,endRow:u,startColumn:d,endColumn:f}=r;if(!n||o===i.FALSE||this._forceDisableGridlines)return;let{rowHeightAccumulation:p,columnTotalWidth:m,columnWidthAccumulation:h,rowTotalHeight:g}=n;if(!p||!h||m===void 0||g===void 0)return;e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=(t=s==null?e.renderConfig.gridlinesColor:s)==null?Dt([214,216,219]):t;let _=h.length,v=p.length,y=.4,b=u-l+1,x=f-d+1,S=Math.ceil(b*y),C=Math.ceil(x*y),w=Math.max(Math.floor(l-S),0),T=Math.min(Math.ceil(u+S),v-1),E=Math.min(Math.ceil(f+C),_-1),D=Math.max(Math.floor(d-C),0),O=h[D-1]||0,k=p[w-1]||0,A=h[E],ee=p[T];e.translateWithPrecisionRatio(bt,bt),e.beginPath(),e.moveToByPrecision(O,k),e.lineToByPrecision(A,k),e.moveToByPrecision(O,k),e.lineToByPrecision(O,ee),e.closePathByEnv(),e.stroke();let j=[],M=l;for(let t=w;t<=T;t++){if(c.getRowVisible(t)===!1?M<t?(j.push({startRow:M,endRow:t-1,startColumn:d,endColumn:f}),M=t+1):M===t&&(M=t+1):t===u&&M<=t&&j.push({startRow:M,endRow:t,startColumn:d,endColumn:f}),t<0||t>v-1)continue;let n=p[t];e.beginPath(),e.moveToByPrecision(O,n),e.lineToByPrecision(A,n),e.closePathByEnv(),e.stroke()}for(let t=D;t<=E;t++){if(t<0||t>_-1)continue;let n=h[t];e.beginPath(),e.moveToByPrecision(n,k),e.lineToByPrecision(n,ee),e.closePathByEnv(),e.stroke()}let te=[];for(let e of j){let t=n.getCurrentRowColumnSegmentMergeData(e);te.push(...t)}this._clearRectangle(e,p,h,te),this._clearRectangle(e,p,h,a.toNativeArray()),e.restore()}_clearRectangle(e,t,n,r){if(r!=null)for(let c of r){var i,a,o,s;let{startRow:r,endRow:l,startColumn:u,endColumn:d}=c,f=(i=t[r-1])==null?0:i,p=(a=t[l])==null?t[t.length-1]:a,m=(o=n[u-1])==null?0:o,h=(s=n[d])==null?n[n.length-1]:s;e.clearRectByPrecision(m,f,h-m,p-f),e.beginPath(),e.moveToByPrecision(m,f),e.lineToByPrecision(h,f),e.lineToByPrecision(h,p),e.lineToByPrecision(m,p),e.lineToByPrecision(m,f),e.stroke(),e.closePath()}}testShowRuler(e,t){let{cacheBound:n}=t,{rowHeaderWidth:r,columnHeaderHeight:i}=this.getSkeleton(),{left:a,top:o,right:s,bottom:c}=n,l=e=>e+(100-e%100),u=l(a),d=l(s),f=l(o),p=l(c);e.save(),e.beginPath(),e.strokeStyle=`#000000`,e.fillStyle=`#000000`,e.font=`16px Arial`,e.lineWidth=1,e.textAlign=`center`,e.textBaseline=`middle`;for(let t=u;t<=d;t+=50)e.beginPath(),e.strokeStyle=t%100==0?`red`:`#aaa`,e.moveTo(t-r,o-i),e.lineTo(t-r,c-i),e.stroke(),e.closePath();for(let t=f;t<=p;t+=50)e.beginPath(),e.strokeStyle=t%100==0?`red`:`#aaa`,e.moveTo(a-r,t-i),e.lineTo(s-r,t-i),e.stroke(),e.closePath();e.fillStyle=`#666`;for(let t=u;t<=d;t+=100)for(let n=f;n<=p;n+=100)e.fillText(`${t},${n}`,t-r,n-i);e.closePath(),e.restore()}testGetRandomLightColor(){let e=`#`;for(let t=0;t<6;t++)e+=`ABCDEF`[Math.floor(Math.random()*6)];let t=Number.parseInt(e.substring(1,3),16),n=Number.parseInt(e.substring(3,5),16),r=Number.parseInt(e.substring(5,7),16);return t+n+r<610?this.testGetRandomLightColor():e}};let cu=function(e){return e.UserInfo=`userInfo`,e.Text=`text`,e.Image=`image`,e}({});function lu(e,t,n,r){let i=t.type,a=t.config;i===cu.UserInfo&&a.userInfo?uu(e,a.userInfo,r):i===cu.Image&&a.image?fu(e,a.image,n):i===cu.Text&&a.text&&du(e,a.text)}function uu(e,t,n){let{x:r,y:i,repeat:a,spacingX:o,spacingY:s,rotate:c,opacity:l,name:u,fontSize:d,color:f,bold:p,italic:m,direction:h}=t;if(!n)return;let g=``;if(u&&(g+=`${n.name} `),!g)return;e.save(),e.globalAlpha=l,e.direction=h;let _=``;if(m&&(_+=`italic `),p&&(_+=`bold `),_+=`${d}px Arial`,e.font=_,e.fillStyle=f,a){let t=e.canvas.width,n=e.canvas.height;for(let a=i;a<n;a+=d+s)for(let n=r;n<t;n+=e.measureText(g).width+o)e.save(),e.translate(n,a),e.rotate(Math.PI/180*c),e.fillText(g,0,0),e.restore()}else e.save(),e.translate(r,i),e.rotate(Math.PI/180*c),e.fillText(g,0,0),e.restore();e.restore()}function du(e,t){let{x:n,y:r,repeat:i,spacingX:a,spacingY:o,rotate:s,opacity:c,content:l,fontSize:u,color:d,bold:f,italic:p,direction:m}=t;e.save(),e.globalAlpha=c,e.direction=m;let h=``;if(p&&(h+=`italic `),f&&(h+=`bold `),h+=`${u}px Arial`,e.font=h,e.fillStyle=d,l)if(i){let t=e.canvas.width,i=e.canvas.height;for(let c=r;c<i;c+=u+o)for(let r=n;r<t;r+=e.measureText(l).width+a)e.save(),e.translate(r,c),e.rotate(Math.PI/180*s),e.fillText(l,0,0),e.restore()}else e.save(),e.translate(n,r),e.rotate(Math.PI/180*s),e.fillText(l,0,0),e.restore();e.restore()}function fu(e,t,n){let{x:r,y:i,repeat:a,spacingX:o,spacingY:s,rotate:c,opacity:l,width:u,height:d,maintainAspectRatio:f,originRatio:p}=t;if(!(n!=null&&n.complete))return;e.save(),e.globalAlpha=l;let m=u,h=f?u/p:d;if(a){let t=e.canvas.width,a=e.canvas.height;for(let l=i;l<a;l+=h+s)for(let i=r;i<t;i+=m+o)e.save(),e.translate(i,l),e.rotate(Math.PI/180*c),e.drawImage(n,0,0,m,h),e.restore()}else e.save(),e.translate(r,i),e.rotate(Math.PI/180*c),e.drawImage(n,0,0,m,h),e.restore();e.restore()}var pu=class extends _{constructor(e,t=[],n=1,r=!1){super(),this._scene=e,this._zIndex=n,this._allowCache=r,K(this,`_objects`,[]),K(this,`_cacheCanvas`,void 0),K(this,`_dirty`,!0),K(this,`_debounceDirtyFunc`,void 0),this.addObjects(t),this._allowCache&&this._initialCacheCanvas()}get scene(){return this._scene}get zIndex(){return this._zIndex}enableCache(){this._allowCache=!0,this._initialCacheCanvas()}disableCache(){var e;this._allowCache=!1,(e=this._cacheCanvas)==null||e.dispose(),this._cacheCanvas=null}isAllowCache(){return this._allowCache}getObjectsByOrder(){let e=[];this._objects.sort(Be);for(let t of this._objects)!t.isInGroup&&t.visible&&e.push(t);return e}getObjectsByOrderForPick(){let e=[];this._objects.sort(Be);for(let t of this._objects)t.visible&&t.evented&&e.push(t);return e}getObjects(){return this._objects}addObject(e){if(e.classType===W.GROUP){let t=e.getObjects();for(let e of t)this.scene.getObject(e.oKey)||(this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e))}return this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e),this.makeDirty(!0),this}removeObject(e){let t=this.getObjects(),n=t.length;if(e instanceof Ur){for(let r=0;r<n;r++)if(t[r]===e){t.splice(r,1);return}}else for(let r=0;r<n;r++)if(t[r].oKey===e){t.splice(r,1);return}}addObjects(e){return e.forEach(e=>{this.addObject(e)}),this}removeObjects(e){let t=this.getObjects(),n=t.length;for(let r=n-1;r>=0;r--){let n=t[r],i=e.length;if(i===0)break;for(let a=0;a<i;a++){let i=e[a];if(n=i instanceof Ur?n:n.oKey,n===i){t.splice(r,1);break}}}}makeDirty(e=!0){this._dirty=e;let t=this.scene.getParent();return t.classType===W.SCENE_VIEWER&&t.makeDirty(!0),this}makeDirtyWithDebounce(e=!0){this._debounceDirtyFunc&&this._debounceDirtyFunc(),this._debounceDirtyFunc=Re(()=>{this.makeDirty(e),this._debounceDirtyFunc=null})}isDirty(){return this._dirty}render(e,t=!1){var n;let r=e||((n=this._scene.getEngine())==null?void 0:n.getCanvas().getContext());if(r)if(this._allowCache&&this._cacheCanvas){if(this.isDirty()){let e=this._cacheCanvas.getContext();this._cacheCanvas.clear(),e.save(),e.setTransform(r.getTransform()),this._draw(e,t),e.restore()}this._applyCache(r)}else r.save(),this._draw(r,t),r.restore();return this.makeDirty(!1),this}_layerBehavior(e){this.disposeWithMe(He(e.onTransformChange$.subscribeEvent(()=>{this.makeDirty(!0)}))),e.layer=this}_initialCacheCanvas(){let e=this.scene.getEngine();e&&this.disposeWithMe(e.onTransformChange$.subscribeEvent(()=>{this._resizeCacheCanvas()})),this._cacheCanvas=new Yr({colorService:e==null?void 0:e.canvasColorService})}_draw(e,t){let n=this._scene.getViewports().filter(e=>e.shouldIntoRender()),r=this.getObjectsByOrder();for(let[i,a]of n.entries())a.render(e,r,t);r.forEach(e=>{var t;e.makeDirty(!1),(t=e.makeForceDirty)==null||t.call(e,!1)})}_applyCache(e){if(!e||this._cacheCanvas==null)return;let t=this._cacheCanvas.getWidth(),n=this._cacheCanvas.getHeight();t!==0&&n!==0&&e.drawImage(this._cacheCanvas.getCanvasEle(),0,0,t,n)}_resizeCacheCanvas(){let e=this._scene.getEngine();if(e){var t;(t=this._cacheCanvas)==null||t.setSize(e.width,e.height)}this.makeDirty(!0)}clear(){this._objects=[]}dispose(){var e,t;super.dispose(),[...this.getObjects()].forEach(e=>{e.dispose()}),this.clear(),(e=this._debounceDirtyFunc)==null||e.call(this),this._debounceDirtyFunc=null,(t=this._cacheCanvas)==null||t.dispose(),this._cacheCanvas=null}},mu=class extends pu{constructor(...e){super(...e),K(this,`_config`,void 0),K(this,`_image`,void 0),K(this,`_user`,void 0)}render(e,t=!1){var n;super.render(e,t);let r=e||((n=this.scene.getEngine())==null?void 0:n.getCanvas().getContext());return r&&r.getId()&&this._renderWatermark(r),this}updateConfig(e,t){var n;this._config=e,((n=this._config)==null?void 0:n.type)===cu.Image&&this._config.config.image&&(this._image=new Image,this._image.src=this._config.config.image.url),t&&(this._user=t)}_renderWatermark(e){this._config&&lu(e,this._config,this._image,this._user)}};const hu=`UNIVER_WATERMARK_STORAGE_KEY`,gu=10;function _u(e,t,n){e.onPointerEnter$.subscribeEvent(n=>{t(e,n)}),e.onPointerLeave$.subscribeEvent(t=>{n(e,t)})}var vu=class extends Ur{constructor(e,t){super(e),K(this,`_subScenes`,new Map),K(this,`_activeSubScene`,void 0),K(this,`_allowSelectedClipElement`,!1),this._initialProps(t)}get classType(){return W.SCENE_VIEWER}render(e,t){var n;if(!this.visible)return this.makeDirty(!1),this;if(t){let{left:e,top:n,right:r,bottom:i}=t.cacheBound||t.viewBound;if(this.width+this.strokeWidth+this.left<e||r<this.left||this.height+this.strokeWidth+this.top<n||i<this.top)return this}let r=this.transform.getMatrix();return e.save(),e.transform(r[0],r[1],r[2],r[3],r[4],r[5]),(n=this._activeSubScene)==null||n.makeDirtyNoParent(!0).render(e),e.restore(),this.makeDirty(!1),this}getSubScenes(){return this._subScenes}getActiveSubScene(){return this._activeSubScene}getSubScene(e){for(let[t,n]of this._subScenes)if(t===e)return n}addSubScene(e){this._activeSubScene=e,this._subScenes.set(e.sceneKey,e),this.makeDirty()}removeSubScene(e){let t=this._subScenes.get(e);this._subScenes.delete(e),this._activeSubScene===t&&(this._activeSubScene=this._subScenes.values().next().value),this.makeDirty()}activeSubScene(e){if(e==null)return;let t=this._subScenes.get(e);this._activeSubScene!==t&&(this._activeSubScene=t,this.makeDirty())}enableSelectedClipElement(){this._allowSelectedClipElement=!0}disableSelectedClipElement(){this._allowSelectedClipElement=!1}allowSelectedClipElement(){return this._allowSelectedClipElement}pick(e){var t;if(this._activeSubScene===void 0)return;let n=this.transform.invert().applyPoint(e);return(t=this._activeSubScene)==null?void 0:t.pick(n)}dispose(){super.dispose(),this._subScenes.forEach(e=>{e.dispose()})}_initialProps(e){if(!e)return;let t=Object.keys(e);if(t.length===0)return;let n={},r=!1;t.forEach(t=>{if(e[t]===void 0)return!0;n[t]=e[t],r=!0}),r&&this.transformByState(n),this.makeDirty(!0)}};let yu=function(e){return e.LEFT=`__slideNavigationLeft__`,e.RIGHT=`__slideNavigationRight__`,e}({});const bu=`M512 1024C229.248 1024 0 794.752 0 512S229.248 0 512 0s512 229.248 512 512-229.248 512-512 512z m200.746667-478.506667l1.749333-1.664 30.165333-30.165333-330.496-330.581333a42.837333 42.837333 0 0 0-60.288 0 42.538667 42.538667 0 0 0 0 60.330666l270.08 270.165334-270.08 269.952a42.496 42.496 0 0 0 0 60.288c16.64 16.64 43.861333 16.469333 60.288 0.042666l298.581334-298.368z`;var xu=class extends vu{constructor(...e){super(...e),K(this,`slideChangePageByNavigation$`,new x),K(this,`subSceneChanged$`,new x),K(this,`_navigationEnabled`,!1)}activeFirstPage(){let e=this.getSubScenes().keys().next().value;e!=null&&this.changePage(e)}addPageScene(e){let t=e.sceneKey;this.getSubScene(t)||this.addSubScene(e),this.addNavigation(),this.subSceneChanged$.emitEvent(e)}changePage(e){e!==null&&(this.removeNavigation(),this.activeSubScene(e),this.addNavigation())}hasPage(e){return this.getSubScene(e)}addNavigation(){let e=this.getActiveSubScene();if(e==null||this._navigationEnabled===!1)return;let t=new Zl(yu.LEFT,{data:bu,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),n=new Zl(yu.RIGHT,{data:bu,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),r=(e,t)=>{e.setCursor(H.POINTER),e.setProps({fill:this._getArrowColor(!0)})},i=(e,t)=>{e.setCursor(H.DEFAULT),e.setProps({fill:this._getArrowColor()})};_u(t,r,i),_u(n,r,i),this._addNavTrigger(t,n),e.addObjects([t,n],7)}removeNavigation(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(yu.LEFT))==null||e.dispose(),(t=n.getObject(yu.RIGHT))==null||t.dispose())}enableNav(){this._navigationEnabled=!0}disableNav(){this._navigationEnabled=!1}hiddenNav(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(yu.LEFT))==null||e.hide(),(t=n.getObject(yu.RIGHT))==null||t.hide())}showNav(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(yu.LEFT))==null||e.show(),(t=n.getObject(yu.RIGHT))==null||t.show())}renderToThumb(e,t,n=1,r=1){let i=this.getSubScene(t);i!=null&&(e.save(),e.scale(n,r),i.makeDirtyNoParent(!0).render(e),e.restore())}_getSubScenesIndex(e){if(e==null)return;let t=Array.from(this.getSubScenes()),n=t.length,r=0;for(let i=0;i<n;i++){let[n]=t[i];if(e===n){r=i;break}}let i=r+1,a=r-1;return i=i>=n?0:i,a=a<0?n-1:a,{nextScene:t[i][1],previousScene:t[a][1]}}_addNavTrigger(e,t){e.onPointerDown$.subscribeEvent(()=>{var e;let t=this._getSubScenesIndex((e=this.getActiveSubScene())==null?void 0:e.sceneKey),n=t==null?void 0:t.previousScene.sceneKey;this.changePage(n),this.slideChangePageByNavigation$.emitEvent(n)}),t.onPointerDown$.subscribeEvent(()=>{var e;let t=this._getSubScenesIndex((e=this.getActiveSubScene())==null?void 0:e.sceneKey),n=t==null?void 0:t.nextScene.sceneKey;this.changePage(n),this.slideChangePageByNavigation$.emitEvent(n)})}_getArrowColor(e=!1){return e?Dt(s.white,.8):Dt(s.white,.5)}},Su=class e extends Fl{constructor(e,t,n){super(e,t,n),K(this,`_drawLiquid`,void 0),this._drawLiquid=new ha,this.makeDirty(!0)}static create(t,n,r){return new e(t,n,r)}draw(e,t){var n,r;let i=(n=this.getSkeleton())==null?void 0:n.getSkeletonData(),a=(r=this.getSkeleton())==null?void 0:r.getViewModel().getDataModel();if(i==null||a==null)return;let{documentFlavor:o}=a.getSnapshot().documentStyle;if(o!==b.TRADITIONAL)return;this._drawLiquid.reset();let{pages:s}=i,c=0,l=0;for(let n=0,r=s.length;n<r;n++){let r=s[n];if(this.isSkipByDiffBounds(r,c,l,t)){let{x:e,y:t}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);l+=e,c+=t;continue}let{width:i,pageWidth:a,height:o,pageHeight:u,originMarginTop:d,originMarginBottom:f,marginLeft:p,marginRight:m}=r;e.save(),e.translate(l-.5,c-.5);let h={width:a==null?i:a,height:u==null?o:u,strokeWidth:1,stroke:`rgba(198, 198, 198, 1)`,fill:`rgba(255, 255, 255, 1)`,zIndex:3};Kl.drawWith(e,h);let g={dataArray:[{command:`M`,points:[p-15,d]},{command:`L`,points:[p,d]},{command:`L`,points:[p,d-15]},{command:`M`,points:[a-m+15,d]},{command:`L`,points:[a-m,d]},{command:`L`,points:[a-m,d-15]},{command:`M`,points:[p-15,u-f]},{command:`L`,points:[p,u-f]},{command:`L`,points:[p,u-f+15]},{command:`M`,points:[a-m+15,u-f]},{command:`L`,points:[a-m,u-f]},{command:`L`,points:[a-m,u-f+15]}],strokeWidth:1.5,stroke:`rgba(158, 158, 158, 1)`};Zl.drawWith(e,g),e.restore();let{x:_,y:v}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);l+=_,c+=v}}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,t){this.draw(e,t)}},Cu=class extends Ur{constructor(e,t=e=>{},n){super(e),this._render=t,this._isHitCustom=n}toJson(){return{...super.toJson()}}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(t&&!this.isInGroup){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth<n||i<0||this.height+this.strokeWidth<e||r<0)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._render(e),e.restore(),this.makeDirty(!1),this}isHit(e){return this._isHitCustom?this._isHitCustom(e):super.isHit(e)}},wu=class extends Ur{constructor(e,...t){super(e),K(this,`_objects`,[]),K(this,`_selfSizeMode`,!1),this.addObjects(...t)}get classType(){return W.GROUP}set cursor(e){this.setCursor(e)}getState(){return this._selfSizeMode?super.getState():yr(this.left,this.top,this._objects.map(e=>e.getState()))}get width(){return this._selfSizeMode?super.width:this.getState().width||0}get height(){return this._selfSizeMode?super.height:this.getState().height||0}set width(e){if(this._selfSizeMode){super.width=e;return}let t=e-this.width;this._objects.forEach(e=>{e.resize(e.width+t)})}set height(e){if(this._selfSizeMode){super.height=e;return}let t=e-this.height;this._objects.forEach(e=>{e.resize(void 0,e.height+t)})}get maxZIndex(){let e=0;for(let t of this._objects)e=Math.max(e,t.zIndex);return e}openSelfSizeMode(){this._selfSizeMode=!0}closeSelfSizeMode(){this._selfSizeMode=!1}reCalculateObjects(){if(this._selfSizeMode)return;let{left:e=0,top:t=0}=this.getState();for(let n of this._objects)n.transformByState({left:n.left-e,top:n.top-t});this.transformByState({left:e,top:t})}addObjects(...e){for(let t of e)this.addObject(t)}addObject(e){let t=e;if(Ut(e)){let n=this.getScene();if(t=n==null?void 0:n.getObject(e),!t)return;t.parent=this,t.isInGroup=!0,t.groupKey=this.oKey,this._objects.push(t)}else e.parent=this,e.isInGroup=!0,e.groupKey=this.oKey,this._objects.push(e)}removeObject(e){let t=this.getObjects(),n=t.length;if(Ut(e))for(let r=0;r<n;r++){let n=t[r];if(n.oKey===e){t.splice(r,1),this.parent.removeObject(n);return}}else for(let r=0;r<n;r++){let n=t[r];if(n===e){t.splice(r,1),this.parent.removeObject(n);return}}}removeSelfObjectAndTransform(e,t,n,r=!1){let i=[...this.getObjects()],a=i.length;t==null&&(t=this.width),n==null&&(n=this.height);for(let o=0;o<a;o++){let a=i[o];if(a.oKey===e){i.splice(o,1),r&&this._transformObject(a,t,n),a.parent=this.parent,a.groupKey=void 0,a.isInGroup=!1,this._objects=i;return}}}_transformObject(e,t,n){let r=xr(e.getState(),this.getState(),t,n);e.classType===W.GROUP?e.transformByState({left:r.left,top:r.top}):e.transformByState(r)}getObjectsByOrder(){let e=[];this._objects.sort(Be);for(let t of this._objects)t.visible&&e.push(t);return e}getObjects(){return this._objects}render(e,t){e.save();let n=this.transform.getMatrix();e.transform(n[0],n[1],n[2],n[3],n[4],n[5]);let r=this.getObjectsByOrder();for(let n=0;n<r.length;n++)r[n].render(e,t);e.restore()}_clear(){this._objects=[]}dispose(){[...this.getObjects()].forEach(e=>{e.dispose()}),this._clear(),super.dispose()}},Tu=class extends wu{constructor(...e){super(...e),K(this,`_selfSizeMode`,!0),K(this,`_baseBound`,{left:0,top:0,width:0,height:0})}setBaseBound(e){this._baseBound={...e}}getBaseBound(){return{...this._baseBound}}get ancestorTransform(){let{left:e,top:t,width:n,height:r}=this.getRealBound(),i=this.transform.getMatrix(),a=e+n/2,o=t+r/2,s=new Br([i[0],i[1],i[2],i[3],a,o]),c=this.getParent();return this.isInGroup&&(c==null?void 0:c.classType)===W.GROUP?c.ancestorTransform.multiply(s):s}render(e,t){let{left:n,top:r,width:i,height:a}=this.getRealBound();e.save();let o=this.transform.getMatrix(),s=n+i/2,c=r+a/2;e.transform(o[0],o[1],o[2],o[3],s,c);let l=this.getObjectsByOrder();for(let n=0;n<l.length;n++)l[n].render(e,t);e.restore()}addObjects(...e){for(let t of e)this.addObject(t)}isHit(e){let{left:t,top:n,width:r,height:i}=this.getRealBound(),a=this.transform.getMatrix(),o=t+r/2,s=n+i/2,c=new Br([a[0],a[1],a[2],a[3],o,s]),l=this.getParent(),u=(this.isInGroup&&(l==null?void 0:l.classType)===W.GROUP?l.ancestorTransform.multiply(c):c).invert().applyPoint(e),d=r/2,f=i/2;if(u.x<-d||u.x>d||u.y<-f||u.y>f)return!1;let p=this.getObjectsByOrder();for(let t=0;t<p.length;t++)if(p[t].isHit(e))return!0;return!1}dispose(){let e=[...this.getObjects()],t=this.getScene();e.forEach(e=>{e.dispose(),t==null||t.removeObject(e)}),this._objects=[],super.dispose(),t==null||t.removeObject(this)}};function Eu(e){return new Ge(t=>{let n=ku(e,()=>t.next());return()=>n()})}function Du(e,t){let n=null,r,i=it(e);function a(){clearTimeout(r),n==null||n.disconnect(),n=null}function o(s=!1,c=1){a();let{left:l,top:u,width:d,height:f}=e.getBoundingClientRect();if(s||t(),!d||!f)return;let p=tt(u),m=tt(i.clientWidth-(l+d)),h=tt(i.clientHeight-(u+f)),g=tt(l),_={rootMargin:`${-p}px ${-m}px ${-h}px ${-g}px`,threshold:nt(0,rt(1,c))||1},v=!0;function y(e){let t=e[0].intersectionRatio;if(t!==c){if(!v)return o();t?o(!1,t):r=setTimeout(()=>{o(!1,1e-7)},1e3)}v=!1}try{n=new IntersectionObserver(y,{..._,root:i.ownerDocument})}catch{n=new IntersectionObserver(y,_)}n.observe(e)}return o(!0),a}function Ou(e){return e.getBoundingClientRect()}function ku(e,t){let n=e,r=[...n?et(n):[]];r.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`resize`,t)});let i=n?Du(n,t):null,a=null,o=null;function s(){let n=Ou(e);o&&(n.x!==o.x||n.y!==o.y||n.width!==o.width||n.height!==o.height)&&t(),o=n,requestAnimationFrame(s)}return t(),()=>{r.forEach(e=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`resize`,t)}),i==null||i(),a==null||a.disconnect(),a=null}}const Au=xe(`univer.engine-render.canvas-color.service`);var ju=class{getRenderColor(e){return e}};let Mu=class extends _{constructor(e){super(),this._themeService=e,K(this,`_cache`,new Map),K(this,`_invertAlgo`,Oe)}getRenderColor(e){if(!this._themeService.darkMode)return e;if(this._cache.has(e))return this._cache.get(e);let t=``;if(e.startsWith(`#`)){if(t=Pu(this._invertAlgo(Nu(e))),e.length===5){let n=e.charAt(4);t+=n+n}else if(e.length===9){let n=e.substring(7,9);t+=n}}else if(e.startsWith(`rgba`)){let n=e.slice(5,-1).split(`,`),r=this._invertAlgo(n.slice(0,3).map(Number));t=`rgba(${r[0]},${r[1]},${r[2]},${n[3]})`}else if(e.startsWith(`rgb`)){let n=e.slice(4,-1).split(`,`),r=this._invertAlgo(n.map(Number));t=`rgb(${r[0]},${r[1]},${r[2]})`}else if(this._themeService.isValidThemeColor(e))return this._themeService.getColorFromTheme(e);else if(new l(e).isValid){let{r:n,g:r,b:i,a}=new l(e).toRgb(),o=this._invertAlgo([n,r,i]);t=`rgba(${o[0]},${o[1]},${o[2]}, ${a})`}else throw Error(`[CanvasColorService]: illegal color "${e}"`);return this._cache.set(e,t),t}};Mu=bl([yl(0,O(me))],Mu);function Nu(e){let t=e.replace(/^#/,``),n,r,i;return t.length===3||t.length===4?(n=Number.parseInt(t.charAt(0)+t.charAt(0),16),r=Number.parseInt(t.charAt(1)+t.charAt(1),16),i=Number.parseInt(t.charAt(2)+t.charAt(2),16)):(n=Number.parseInt(t.substring(0,2),16),r=Number.parseInt(t.substring(2,4),16),i=Number.parseInt(t.substring(4,6),16)),[n,r,i]}function Pu(e){let t=Math.round(e[0]),n=Math.round(e[1]),r=Math.round(e[2]);return`#${t.toString(16).padStart(2,`0`)}${n.toString(16).padStart(2,`0`)}${r.toString(16).padStart(2,`0`)}`}let Fu=class extends _{get clientRect$(){return this._rect$||(this._rect$=new Ge(e=>{if(!this._container)throw Error(`[Engine]: cannot subscribe to rect changes when container is not set!`);let t=Eu(this._container).subscribe(()=>e.next());return()=>{t.unsubscribe(),this._rect$=null}})).pipe(Xe(1))}get unitId(){return this._unitId}get elapsedTime(){return B.now()-this._renderStartTime}get width(){return this.getCanvas().getWidth()}get height(){return this.getCanvas().getHeight()}get classType(){return W.ENGINE}get activeScene(){return this._activeScene}constructor(e,t,n){super(),this.canvasColorService=n,K(this,`renderEvenInBackground`,!0),K(this,`_beginFrame$`,new Ke),K(this,`beginFrame$`,this._beginFrame$.asObservable()),K(this,`_endFrame$`,new Ke),K(this,`endFrame$`,this._endFrame$.asObservable()),K(this,`renderFrameTimeMetric$`,new Ke),K(this,`renderFrameTags$`,new Ke),K(this,`onInputChanged$`,new x),K(this,`onTransformChange$`,new x),K(this,`_scenes`,{}),K(this,`_activeScene`,null),K(this,`_renderStartTime`,0),K(this,`_rect$`,null),K(this,`_container`,void 0),K(this,`_canvas`,void 0),K(this,`_renderingQueueLaunched`,!1),K(this,`_renderFrameTasks`,[]),K(this,`_requestNewFrameHandler`,-1),K(this,`_frameId`,-1),K(this,`_usingSafari`,It()),K(this,`_resizeObserver`,void 0),K(this,`_fps`,60),K(this,`_deltaTime`,0),K(this,`_performanceMonitor`,void 0),K(this,`_pointerClickEvent`,void 0),K(this,`_pointerDblClickEvent`,void 0),K(this,`_pointerMoveEvent`,void 0),K(this,`_pointerDownEvent`,void 0),K(this,`_pointerUpEvent`,void 0),K(this,`_pointerOutEvent`,void 0),K(this,`_pointerCancelEvent`,void 0),K(this,`_pointerBlurEvent`,void 0),K(this,`_pointerWheelEvent`,void 0),K(this,`_pointerEnterEvent`,void 0),K(this,`_pointerLeaveEvent`,void 0),K(this,`_dragEnterEvent`,void 0),K(this,`_dragLeaveEvent`,void 0),K(this,`_dragOverEvent`,void 0),K(this,`_dropEvent`,void 0),K(this,`_remainCapture`,-1),K(this,`_pointerPosRecord`,{}),K(this,`_mouseId`,-1),K(this,`_isUsingFirefox`,navigator.userAgent.indexOf(`Firefox`)!==-1),K(this,`_previousWidth`,-1e3),K(this,`_previousHeight`,-1e3),K(this,`_unitId`,``),K(this,`_resizeListenerDisposable`,void 0),K(this,`_renderFunction`,e=>{let t=!0;this.renderEvenInBackground||(t=!1),t&&(this._beginFrame(e),this._renderFrame(e),this._endFrame(e)),this._renderFrameTasks.length>0?this._requestNewFrameHandler=kt(this._renderFunction):this._renderingQueueLaunched=!1}),this._unitId=e==null?``:e;let r=Object.assign({},{elementHeight:1,elementWidth:1,renderMode:Jr.Rendering,dpr:1},t);this._canvas=new Yr({mode:r.renderMode,width:r.elementWidth,height:r.elementHeight,pixelRatio:r.dpr,colorService:this.canvasColorService}),this._performanceMonitor=new Nr,this._handleKeyboardAction(),this._handlePointerAction(),this._handleDragAction(),r.renderMode!==Jr.Printing&&this._matchMediaHandler()}getScenes(){return this._scenes}getScene(e){return this._scenes[e]}hasScene(e){return e in this._scenes}addScene(e){let t=e.sceneKey;return this.hasScene(t)&&console.warn(`Scenes has same key, it will be covered`),this._scenes[t]=e,e}setActiveScene(e){let t=this.getScene(e);return t&&(this._activeScene=t),t}hasActiveScene(){return this._activeScene!=null}get requestNewFrameHandler(){return this._requestNewFrameHandler}get frameId(){return this._frameId}setCanvasCursor(e){let t=this.getCanvas().getCanvasEle();t.style.cursor=e}clearCanvas(){this.getCanvas().clear()}getCanvas(){return this._canvas}getCanvasElement(){return this.getCanvas().getCanvasEle()}setCapture(){try{this.getCanvasElement().setPointerCapture(this._remainCapture)}catch{console.warn(`no capture`)}}getPixelRatio(){return this.getCanvas().getPixelRatio()}mount(e,t=!0){this.setContainer(e,t)}unmount(){if(this._clearResizeListener(),!this._container)throw Error(`[Engine]: cannot unmount when container is not set!`);this._container.removeChild(this.getCanvasElement()),this._container=null}setContainer(e,t=!0){if(this._container!==e&&(this._container=e,this._container.appendChild(this.getCanvasElement()),this._clearResizeListener(),t)){this.resize();let e;this._resizeObserver=new ResizeObserver(()=>{e||(e=window.requestIdleCallback(()=>{this.resize(),e=void 0}))}),this._resizeObserver.observe(this._container),this._resizeListenerDisposable=He(()=>{this._resizeObserver.unobserve(this._container),e!==void 0&&window.cancelIdleCallback(e)})}}_clearResizeListener(){var e;(e=this._resizeListenerDisposable)==null||e.dispose(),this._resizeListenerDisposable=void 0}resize(){if(!this._container)return;let{width:e,height:t}=Nn(this._container);e===this._previousWidth&&t===this._previousHeight||(this._previousWidth=e,this._previousHeight=t,this.resizeBySize(e,t))}dprChange(){let e=this._previousWidth,t=this._previousHeight;this.resizeBySize(e,t)}resizeBySize(e,t){let n=this.width,r=this.height;this.getCanvas().setSize(e,t),this.onTransformChange$.emitEvent({type:Z.resize,value:{width:e,height:t},preValue:{width:n,height:r}})}dispose(){var e;super.dispose();let t={...this.getScenes()};Object.keys(t).forEach(e=>{t[e].dispose()}),this._scenes={};let n=Ft(),r=this.getCanvasElement();r.removeEventListener(`click`,this._pointerClickEvent),r.removeEventListener(`dblclick`,this._pointerDblClickEvent),r.removeEventListener(`${n}leave`,this._pointerLeaveEvent),r.removeEventListener(`${n}enter`,this._pointerEnterEvent),r.removeEventListener(`${n}move`,this._pointerMoveEvent),r.removeEventListener(`${n}down`,this._pointerDownEvent),r.removeEventListener(`${n}up`,this._pointerUpEvent),r.removeEventListener(`${n}out`,this._pointerOutEvent),r.removeEventListener(`${n}cancel`,this._pointerCancelEvent),r.removeEventListener(`blur`,this._pointerBlurEvent),r.removeEventListener(`dragenter`,this._dragEnterEvent),r.removeEventListener(`dragleave`,this._dragLeaveEvent),r.removeEventListener(`dragover`,this._dragOverEvent),r.removeEventListener(`drop`,this._dropEvent),r.removeEventListener(this._getWheelEventName(),this._pointerWheelEvent),this._renderFrameTasks=[],this._performanceMonitor.dispose(),this.getCanvas().dispose(),(e=this._resizeObserver)==null||e.disconnect(),this.onTransformChange$.complete(),this._beginFrame$.complete(),this._endFrame$.complete(),this.renderFrameTags$.complete(),this.renderFrameTimeMetric$.complete(),this._clearResizeListener(),this._container=null}addFunction2RenderLoop(e){this._renderFrameTasks.indexOf(e)===-1&&this._renderFrameTasks.push(e)}startRenderLoop(){this._renderingQueueLaunched||(this._renderStartTime=performance.now(),this._renderingQueueLaunched=!0,this._requestNewFrameHandler=kt(this._renderFunction))}runRenderLoop(e){this.addFunction2RenderLoop(e),this.startRenderLoop()}stopRenderLoop(e){if(!e){this._renderFrameTasks.length=0,this._cancelFrame();return}let t=this._renderFrameTasks.indexOf(e);t>=0&&(this._renderFrameTasks.splice(t,1),this._renderFrameTasks.length===0&&this._cancelFrame())}_beginFrame(e){this._frameId++,this._beginFrame$.next(this._frameId)}_endFrame(e){this._performanceMonitor.endFrame(e),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0,this._endFrame$.next({FPS:this.getFps(),frameTime:this.getDeltaTime(),elapsedTime:this.elapsedTime})}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}_renderFrame(e){for(let e=0;e<this._renderFrameTasks.length;e++){let t=this._renderFrameTasks[e];t()}}_cancelFrame(){if(this._renderingQueueLaunched&&this._requestNewFrameHandler){if(this._renderingQueueLaunched=!1,typeof window>`u`){if(typeof cancelAnimationFrame==`function`)return cancelAnimationFrame(this._requestNewFrameHandler)}else{let{cancelAnimationFrame:e}=this._getHostWindow()||window;if(typeof e==`function`)return e(this._requestNewFrameHandler)}return clearTimeout(this._requestNewFrameHandler)}}_getHostWindow(){var e;return typeof window>`u`?null:(e=this.getCanvasElement().ownerDocument)!=null&&e.defaultView?this.getCanvasElement().ownerDocument.defaultView:window}_handleKeyboardAction(){let e=e=>{let t=e;t.deviceType=Er.Keyboard,t.inputIndex=e.keyCode,this.onInputChanged$.emitEvent(t)},t=e=>{let t=e;t.deviceType=Er.Keyboard,t.inputIndex=e.keyCode,this.onInputChanged$.emitEvent(t)},n=this.getCanvasElement();n.addEventListener(`keydown`,e),n.addEventListener(`keyup`,t)}_handlePointerAction(){let e=Ft();this._pointerClickEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerDblClickEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerMoveEvent=e=>{let t=e,n=this._getPointerType(t);this._pointerPosRecord[X.Horizontal]=t.clientX,this._pointerPosRecord[X.Vertical]=t.clientY,this._pointerPosRecord[X.DeltaHorizontal]=t.movementX,this._pointerPosRecord[X.DeltaVertical]=t.movementY;let r=t;r.deviceType=n,r.inputIndex=X.Horizontal,this.onInputChanged$.emitEvent(r),this._usingSafari||(r.inputIndex=t.button+2,this.onInputChanged$.emitEvent(r))},this._pointerDownEvent=e=>{let t=e,n=this._getPointerType(t),r=this._pointerPosRecord[X.Horizontal],i=this._pointerPosRecord[X.Vertical];n===Er.Mouse?(this._mouseId===-1&&(t.pointerId===void 0?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=t.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId)):t.pointerId&&!document.pointerLockElement&&(this._remainCapture=t.pointerId),this._pointerPosRecord[X.Horizontal]=t.clientX,this._pointerPosRecord[X.Vertical]=t.clientY;let a=t;a.deviceType=n,r!==t.clientX&&(a.inputIndex=X.Horizontal,this.onInputChanged$.emitEvent(a)),i!==t.clientY&&(a.inputIndex=X.Vertical,this.onInputChanged$.emitEvent(a)),a.inputIndex=t.button+2,this.onInputChanged$.emitEvent(a)},this._pointerUpEvent=e=>{let t=e,n=this._getPointerType(t),r=this._pointerPosRecord[X.Horizontal],i=this._pointerPosRecord[X.Vertical];this._pointerPosRecord[X.Horizontal]=t.clientX,this._pointerPosRecord[X.Vertical]=t.clientY;let a=t;a.deviceType=n,r!==t.clientX&&(a.inputIndex=X.Horizontal,this.onInputChanged$.emitEvent(a)),i!==t.clientY&&(a.inputIndex=X.Vertical,this.onInputChanged$.emitEvent(a)),a.inputIndex=t.button+2;let o=this.getCanvasElement();n===Er.Mouse&&this._mouseId>=0&&o.hasPointerCapture(this._mouseId)?(this._remainCapture=this._mouseId,o.releasePointerCapture(this._mouseId)):a.pointerId&&o.hasPointerCapture(a.pointerId)&&(this._remainCapture=a.pointerId,o.releasePointerCapture(a.pointerId)),this.onInputChanged$.emitEvent(a),n!==Er.Mouse&&(this._pointerPosRecord={})},this._pointerEnterEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerLeaveEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerOutEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerCancelEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerBlurEvent=()=>{this._mouseId>=0&&this.getCanvasElement().hasPointerCapture(this._mouseId),this._pointerPosRecord={}},this._pointerWheelEvent=e=>{let t=Er.Mouse;this._pointerPosRecord[X.MouseWheelX]=e.deltaX||0,this._pointerPosRecord[X.MouseWheelY]=e.deltaY||e.wheelDelta||0,this._pointerPosRecord[X.MouseWheelZ]=e.deltaZ||0;let n=e;n.deviceType=t,this._pointerPosRecord[X.MouseWheelX]!==0&&(n.currentState=this._pointerPosRecord[X.MouseWheelX]),this._pointerPosRecord[X.MouseWheelY]!==0&&(n.currentState=this._pointerPosRecord[X.MouseWheelY]),this._pointerPosRecord[X.MouseWheelZ]!==0&&(n.currentState=this._pointerPosRecord[X.MouseWheelZ]),this.onInputChanged$.emitEvent(n)};let t=this.getCanvasElement();t.addEventListener(`click`,this._pointerClickEvent),t.addEventListener(`dblclick`,this._pointerDblClickEvent),t.addEventListener(`${e}enter`,this._pointerEnterEvent),t.addEventListener(`${e}leave`,this._pointerLeaveEvent),t.addEventListener(`${e}move`,this._pointerMoveEvent),t.addEventListener(`${e}down`,this._pointerDownEvent),t.addEventListener(`${e}up`,this._pointerUpEvent),t.addEventListener(`${e}out`,this._pointerOutEvent),t.addEventListener(`${e}cancel`,this._pointerCancelEvent),t.addEventListener(`blur`,this._pointerBlurEvent),t.addEventListener(this._getWheelEventName(),this._pointerWheelEvent,this._getPassive()?{passive:!1}:!1)}_handleDragAction(){this._dragEnterEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=4,this.onInputChanged$.emitEvent(n)},this._dragLeaveEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=5,this.onInputChanged$.emitEvent(n)},this._dragOverEvent=e=>{e.preventDefault();let t=this._getPointerType(e),n=this._pointerPosRecord[X.Horizontal],r=this._pointerPosRecord[X.Vertical];this._pointerPosRecord[X.Horizontal]=e.clientX,this._pointerPosRecord[X.Vertical]=e.clientY,this._pointerPosRecord[X.DeltaHorizontal]=e.movementX,this._pointerPosRecord[X.DeltaVertical]=e.movementY;let i=e;i.deviceType=t,n!==e.clientX&&(i.inputIndex=X.Horizontal,i.currentState=this._pointerPosRecord[X.Horizontal],this.onInputChanged$.emitEvent(i)),r!==e.clientY&&(i.inputIndex=X.Vertical,i.currentState=this._pointerPosRecord[X.Vertical],this.onInputChanged$.emitEvent(i)),this._pointerPosRecord[X.DeltaHorizontal]!==0&&(i.inputIndex=X.DeltaHorizontal,i.currentState=this._pointerPosRecord[X.DeltaHorizontal],this.onInputChanged$.emitEvent(i)),this._pointerPosRecord[X.DeltaVertical]!==0&&(i.inputIndex=X.DeltaVertical,i.currentState=this._pointerPosRecord[X.DeltaVertical],this.onInputChanged$.emitEvent(i)),this._usingSafari||(i.inputIndex=e.button+2,i.currentState=this._pointerPosRecord[e.button+2],this.onInputChanged$.emitEvent(i))},this._dropEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=6,this.onInputChanged$.emitEvent(n)};let e=this.getCanvasElement();e.addEventListener(`dragenter`,this._dragEnterEvent),e.addEventListener(`dragleave`,this._dragLeaveEvent),e.addEventListener(`dragover`,this._dragOverEvent),e.addEventListener(`drop`,this._dropEvent)}_getWheelEventName(){return`onwheel`in document.createElement(`div`)?`wheel`:document.onmousewheel===void 0?`DOMMouseScroll`:`mousewheel`}_getPassive(){let e=!1,t=()=>{};try{let n={passive:{get(){e=!0}}},r=this.getCanvasElement();r.addEventListener(`test`,t,n),r.removeEventListener(`test`,t,n)}catch{}return e}_getPointerType(e){let t=Er.Mouse;return(e.pointerType===`touch`||e.pointerType===`pen`||e.touches)&&(t=Er.Touch),t}_matchMediaHandler(){var e;if(!((e=window)!=null&&e.matchMedia))return;let t=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),n=()=>{this.dprChange()};t.addEventListener(`change`,n),this.disposeWithMe(He(()=>{t.removeEventListener(`change`,n)}))}};Fu=bl([yl(2,Au)],Fu);var Iu=`@univerjs/engine-render`,Lu=`0.19.0`;const Ru=`engine-render.config`;Symbol(Ru);const zu={};var Bu=class e extends _{constructor(e){super(),K(this,`_scene`,void 0),K(this,`_alreadyAttached`,!1),K(this,`_onInput$`,void 0),K(this,`_currentMouseEnterPicked`,void 0),K(this,`_startingPosition`,new Y(1/0,1/0)),K(this,`_delayedTimeout`,-1),K(this,`_delayedTripeTimeout`,-1),K(this,`_doubleClickOccurred`,0),K(this,`_tripleClickState`,!1),K(this,`_currentObject`,void 0),K(this,`_clickTimeout`,null),K(this,`_clickCount`,0),this._scene=e}dispose(){super.dispose(),this.detachControl(),this._scene=null,this._currentMouseEnterPicked=null,this._currentObject=null,this._startingPosition=null,clearTimeout(this._delayedTimeout),clearTimeout(this._delayedTripeTimeout),this._onClick=null,this._onDblClick=null,this._onPointerMove=null,this._onPointerDown=null,this._onPointerUp=null,this._onPointerEnter=null,this._onPointerLeave=null,this._onMouseWheel=null,this._onKeyDown=null,this._onKeyUp=null,this._onDragEnter=null,this._onDragLeave=null,this._onDragOver=null,this._onDrop=null}mouseLeaveEnterHandler(e){let t=this._currentObject||this.capturedObject;if(t==null){var n;(n=this._currentMouseEnterPicked)==null||n.triggerPointerLeave(e),this._currentMouseEnterPicked=null}else if(t!==this._currentMouseEnterPicked){let n=this._currentMouseEnterPicked;this._currentMouseEnterPicked=t,n==null||n.triggerPointerLeave(e),t==null||t.triggerPointerEnter(e)}}dragLeaveEnterHandler(e){let t=this._currentObject;if(t==null){var n;(n=this._currentMouseEnterPicked)==null||n.triggerDragLeave(e),this._currentMouseEnterPicked=null}else if(t!==this._currentMouseEnterPicked){let n=this._currentMouseEnterPicked;this._currentMouseEnterPicked=t,n==null||n.triggerDragLeave(e),t==null||t.triggerDragEnter(e)}}_onClick(e){e.pointerId===void 0&&(e.pointerId=0),this._clickCount++,this._clickTimeout||(this._clickTimeout=setTimeout(()=>{if(this._clickCount===1){let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerSingleClick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}else this._clickCount;clearTimeout(this._clickTimeout),this._clickTimeout=null,this._clickCount=0},300));let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerClick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onDblClick(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerDblclick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onPointerEnter(e){e.pointerId===void 0&&(e.pointerId=0),this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),this.mouseLeaveEnterHandler(e)}_onPointerLeave(e){e.pointerId===void 0&&(e.pointerId=0),this._currentObject=null,this.mouseLeaveEnterHandler(e)}_onPointerMove(e){var t;e.pointerId===void 0&&(e.pointerId=0);let n=this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),r=(t=n||this.capturedObject)==null?void 0:t.triggerPointerMove(e);if(this.mouseLeaveEnterHandler(e),!r&&this._shouldDispatchEventToScene(n)){var i;this._scene.onPointerMove$.emitEvent(e),(i=this._scene.getEngine())==null||i.setCapture()}}_onPointerDown(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerPointerDown(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onPointerUp(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerPointerUp(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerUp$.emitEvent(e),this._prePointerDoubleOrTripleClick(e)}_onPointerCancel(e){this._scene.onPointerCancel$.emitEvent(e);let t=this._getObjectAtPos(e.offsetX,e.offsetY);t==null||t.triggerPointerCancel(e)}_onPointerOut(e){this._scene.onPointerOut$.emitEvent(e);let t=this._getObjectAtPos(e.offsetX,e.offsetY);t==null||t.triggerPointerOut(e)}_onMouseWheel(e){let t=this._getObjectAtPos(e.offsetX,e.offsetY),n=t==null?void 0:t.triggerMouseWheel(e);this._scene.getMainViewport().onMouseWheel$.emitEvent(e),!n&&this._shouldDispatchEventToScene(t)&&this._scene.onMouseWheel$.emitEvent(e)}_onKeyDown(e){this._scene.onKeyDown$.emitEvent(e)}_onKeyUp(e){this._scene.onKeyUp$.emitEvent(e)}_onDragEnter(e){var t;this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),(t=this._currentObject)==null||t.triggerDragOver(e),this.dragLeaveEnterHandler(e)}_onDragLeave(e){this._currentObject=null,this.dragLeaveEnterHandler(e)}_onDragOver(e){var t;this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY);let n=(t=this._currentObject)==null?void 0:t.triggerDragOver(e);if(this.dragLeaveEnterHandler(e),!n&&this._shouldDispatchEventToScene(this._currentObject)){var r;this._scene.onDragOver$.emitEvent(e),(r=this._scene.getEngine())==null||r.setCapture()}}_onDrop(e){let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerDrop(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onDrop$.emitEvent(e)}attachControl(e){var t,n,r,i,a,o;let s=(t=e==null?void 0:e.enableDown)==null?!0:t,c=(n=e==null?void 0:e.enableUp)==null?!0:n,l=(r=e==null?void 0:e.enableMove)==null?!0:r,u=(i=e==null?void 0:e.enableWheel)==null?!0:i,d=(a=e==null?void 0:e.enableEnter)==null?!0:a,f=(o=e==null?void 0:e.enableLeave)==null?!0:o,p=this._scene.getEngine();p&&(this._onInput$=p.onInputChanged$.subscribeEvent(e=>{let t=e;if(e.deviceType===Er.Keyboard)switch(e.type){case`keydown`:this._onKeyDown(t);break;case`keyup`:this._onKeyUp(t);break}if(e.deviceType===Er.Mouse||e.deviceType===Er.Touch)switch(e.type){case`wheel`:case`DOMMouseScroll`:case`mousewheel`:u&&this._onMouseWheel(t);break;case`click`:this._onClick(t);break;case`pointerout`:this._onPointerOut(t);break;case`pointercancel`:this._onPointerCancel(t);break;case`pointerleave`:this._onPointerLeave(t);break;case`pointermove`:l&&this._onPointerMove(t);break;case`pointerup`:c&&e.inputIndex>=X.LeftClick&&e.inputIndex<=X.RightClick&&this._onPointerUp(t);break;case`pointerdown`:s&&e.inputIndex>=X.LeftClick&&e.inputIndex<=X.RightClick&&this._onPointerDown(t);break}if(e.dataTransfer)switch(e.type){case`dragenter`:d&&this._onDragEnter(t);break;case`dragover`:{let n=e.inputIndex===X.Horizontal||e.inputIndex===X.Vertical||e.inputIndex===X.DeltaHorizontal||e.inputIndex===X.DeltaVertical;l&&n&&this._onDragOver(t);break}case`dragleave`:f&&this._onDragLeave(t);break;case`drop`:this._onDrop(t);break}}),this.disposeWithMe(He(this._onInput$)),this._alreadyAttached=!0)}detachControl(){var e;this._alreadyAttached&&this._scene.getEngine()&&((e=this._onInput$)==null||e.unsubscribe(),this._alreadyAttached=!1)}_getObjectAtPos(e,t){var n;return(n=this._scene)==null?void 0:n.pick(Y.FromArray([e,t]))}_shouldDispatchEventToScene(e){return e==null?!0:this._scene.objectsEvented?!1:!this._isObjectInSceneViewer(e)}_isObjectInSceneViewer(e){if(e&&e.classType===W.BASE_OBJECT){let t=e.getScene();if(t)return t.getParent().classType===W.SCENE_VIEWER}return!1}_isPointerSwiping(t,n){return Math.abs(this._startingPosition.x-t)>e.DragMovementThreshold||Math.abs(this._startingPosition.y-n)>e.DragMovementThreshold}_prePointerDoubleOrTripleClick(t){let{clientX:n,clientY:r}=t;if(this._isPointerSwiping(n,r)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},e.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState){var i;(i=this._scene)==null||(i=i.pick(Y.FromArray([t.offsetX,t.offsetY])))==null||i.triggerTripleClick(t),this._scene.onTripleClick$.emitEvent(t)}if(this._doubleClickOccurred===2){var a;(a=this._scene)==null||(a=a.pick(Y.FromArray([t.offsetX,t.offsetY])))==null||a.triggerDblclick(t),this._scene.onDblclick$.emitEvent(t),this._resetDoubleClickParam(),this._tripleClickState=!0,clearTimeout(this._delayedTripeTimeout),this._delayedTripeTimeout=setTimeout(()=>{this._tripleClickState=!1},e.TripleClickDelay)}this._startingPosition.x=n,this._startingPosition.y=r}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}get capturedObject(){return this._scene._capturedObject}};K(Bu,`DragMovementThreshold`,2),K(Bu,`LongPressDelay`,500),K(Bu,`DoubleClickDelay`,500),K(Bu,`TripleClickDelay`,300),K(Bu,`ExclusiveDoubleClickMode`,!1);let Vu=function(e){return e[e.NONE=0]=`NONE`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e[e.ALL=3]=`ALL`,e}({});const Hu={t:0,b:15,l:0,r:60};var Uu=class e{constructor(e,t=Vu.ALL,n=Hu){this._scene=e,this._scrollTimerType=t,this._thresholdAutoMove=n,K(this,`_requestNewFrameNumber`,-1),K(this,`_viewport`,void 0),K(this,`_offsetX`,0),K(this,`_offsetY`,0),K(this,`_moveX`,0),K(this,`_moveY`,0),K(this,`_scrollX`,0),K(this,`_scrollY`,0),K(this,`_scrollFunction`,void 0)}static create(t,n=Vu.ALL,r){return new e(t,n,r)}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}set scrollTimerType(e){this._scrollTimerType=e}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(e){this._viewport=e}getActiveViewport(){return this._viewport}startScroll(e,t,n){this._offsetX=e,this._offsetY=t,this._moveX=e,this._moveY=t,n==null?this._viewport=this._scene.findViewportByPosToScene(Y.FromArray([e,t])):this._viewport=n,this._runRenderLoop()}_autoScroll(e){let t=(e==null?void 0:e.top)||0,n=t+((e==null?void 0:e.height)||0),r=(e==null?void 0:e.left)||0,i=r+((e==null?void 0:e.width)||0),{t:a=0,b:o=0,r:s=0,l:c=0}=this._thresholdAutoMove,l=0,u=0,d=!1;if(this._scrollTimerType&Vu.X&&(this._moveX<r+c&&(l=this._moveX-r-c,d=!0),this._moveX>i-s&&(l=this._moveX-i+s,d=!0)),this._scrollTimerType&Vu.Y&&(this._moveY<t+a&&(u=this._moveY-t-a,d=!0),this._moveY>n-o&&(u=this._moveY-n+o,d=!0)),!d)return;e==null||e.scrollByViewportDeltaVal({viewportScrollX:l,viewportScrollY:u});let f=e==null?void 0:e.transScroll2ViewportScrollValue(l,u);this._scrollX=(f==null?void 0:f.x)||0,this._scrollY=(f==null?void 0:f.y)||0}scrolling(e,t,n){this._moveX=e,this._moveY=t,this._scrollFunction=n}stopScroll(){At(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getScene(){return this._scene}_runRenderLoop(){this._autoScroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=kt(this._runRenderLoop.bind(this))}},$=function(e){return e.RESIZE_LT=`__SpreadsheetTransformerResizeLT__`,e.RESIZE_CT=`__SpreadsheetTransformerResizeCT__`,e.RESIZE_RT=`__SpreadsheetTransformerResizeRT__`,e.RESIZE_LM=`__SpreadsheetTransformerResizeLM__`,e.RESIZE_RM=`__SpreadsheetTransformerResizeRM__`,e.RESIZE_LB=`__SpreadsheetTransformerResizeLB__`,e.RESIZE_CB=`__SpreadsheetTransformerResizeCB__`,e.RESIZE_RB=`__SpreadsheetTransformerResizeRB__`,e.OUTLINE=`__SpreadsheetTransformerOutline__`,e.ROTATE_LINE=`__SpreadsheetTransformerRotateLine__`,e.ROTATE=`__SpreadsheetTransformerRotate__`,e.GROUP=`__SpreadsheetTransformer__`,e}($||{});const Wu=[$.RESIZE_LT,$.RESIZE_CT,$.RESIZE_RT,$.RESIZE_LM,$.RESIZE_RM,$.RESIZE_LB,$.RESIZE_CB,$.RESIZE_RB];var Gu=function(e){return e[e.MOVE_START=0]=`MOVE_START`,e[e.MOVING=1]=`MOVING`,e[e.MOVE_END=2]=`MOVE_END`,e}(Gu||{});const Ku=new Set([Hr.CHART]);var qu=class extends _{constructor(e,t){super(),this._scene=e,K(this,`isCropper`,!1),K(this,`hoverEnabled`,!1),K(this,`hoverEnterFunc`,void 0),K(this,`hoverLeaveFunc`,void 0),K(this,`resizeEnabled`,!0),K(this,`rotateEnabled`,!0),K(this,`rotationSnaps`,[]),K(this,`rotationSnapTolerance`,5),K(this,`rotateAnchorOffset`,50),K(this,`rotateSize`,10),K(this,`rotateCornerRadius`,10),K(this,`borderEnabled`,!0),K(this,`borderStroke`,`rgb(97, 97, 97)`),K(this,`borderStrokeWidth`,1),K(this,`borderDash`,[]),K(this,`borderSpacing`,0),K(this,`anchorFill`,`rgb(255, 255, 255)`),K(this,`anchorStroke`,`rgb(185, 185, 185)`),K(this,`anchorStrokeWidth`,1),K(this,`anchorSize`,10),K(this,`anchorCornerRadius`,10),K(this,`keepRatio`,!0),K(this,`centeredScaling`,!1),K(this,`zeroLeft`,0),K(this,`zeroTop`,0),K(this,`enabledAnchors`,[1,1,1,1,1,1,1,1]),K(this,`flipEnabled`,!1),K(this,`ignoreStroke`,!1),K(this,`boundBoxFunc`,void 0),K(this,`useSingleNodeRotation`,!1),K(this,`shouldOverdrawWholeArea`,!1),K(this,`_changeStart$`,new Ke),K(this,`changeStart$`,this._changeStart$.asObservable()),K(this,`_changing$`,new Ke),K(this,`changing$`,this._changing$.asObservable()),K(this,`_changeEnd$`,new Ke),K(this,`changeEnd$`,this._changeEnd$.asObservable()),K(this,`_clearControl$`,new Ke),K(this,`clearControl$`,this._clearControl$.asObservable()),K(this,`_createControl$`,new Ke),K(this,`createControl$`,this._createControl$.asObservable()),K(this,`_startOffsetX`,-1),K(this,`_startOffsetY`,-1),K(this,`_startStateMap`,new Map),K(this,`_viewportScrollX`,-1),K(this,`_viewportScrollY`,-1),K(this,`_topScenePointerMoveSub`,void 0),K(this,`_topScenePointerUpSub`,void 0),K(this,`_cancelFocusSubscription`,void 0),K(this,`_transformerControlMap`,new Map),K(this,`_selectedObjectMap`,new Map),K(this,`_subscriptionObjectMap`,new Map),K(this,`_copperControl`,void 0),K(this,`_copperSelectedObject`,void 0),K(this,`_moveBufferSkip`,!1),K(this,`_debounceClearFunc`,void 0),this._initialProps(t)}updateZeroPoint(e,t){this.zeroLeft=e,this.zeroTop=t}changeNotification(){return this._changing$.next({objects:this._selectedObjectMap,type:Gu.MOVE_START}),this}getSelectedObjectMap(){return this._selectedObjectMap}resetProps(e){this._initialProps(e)}getScene(){return this._scene}clearControls(e=!1){this._clearControls(e)}updateControl(){this._updateControl()}debounceRefreshControls(){this._debounceClearFunc&&this._debounceClearFunc(),this._debounceClearFunc=Re(()=>{this.refreshControls(),this._debounceClearFunc=null})}clearSelectedObjects(){var e;this._selectedObjectMap.clear(),(e=this._cancelFocusSubscription)==null||e.unsubscribe(),this._cancelFocusSubscription=null,this._clearControls(!0)}refreshControls(){return this._clearControlMap(),this._selectedObjectMap.forEach(e=>{this._createControl(e)}),this}createControlForCopper(e){this._createControl(e,!1)}clearCopperControl(){var e;(e=this._copperControl)==null||e.dispose(),this._copperControl=null}setSelectedControl(e){e=this._findGroupObject(e),this._selectedObjectMap.set(e.oKey,e),this._createControl(e)}_getConfig(e){let t=e.transformerConfig,{isCropper:n,hoverEnabled:r,hoverEnterFunc:i,hoverLeaveFunc:a,resizeEnabled:o,rotateEnabled:s,rotationSnaps:c,rotationSnapTolerance:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderDash:g,borderSpacing:_,anchorFill:v,anchorStroke:y,anchorStrokeWidth:b,anchorSize:x,anchorCornerRadius:S,keepRatio:C,centeredScaling:w,enabledAnchors:T,flipEnabled:E,ignoreStroke:D,boundBoxFunc:O,useSingleNodeRotation:k,shouldOverdrawWholeArea:A}=this;if(t!=null){var ee,j,M,te,N,P,F,I,ne,L,re,R,ie,ae,oe,se,ce,le,ue,de,fe,pe,z,me,B,he,ge,_e,V;n=(ee=t.isCropper)==null?n:ee,r=(j=t.hoverEnabled)==null?r:j,i=(M=t.hoverEnterFunc)==null?i:M,a=(te=t.hoverLeaveFunc)==null?a:te,o=(N=t.resizeEnabled)==null?o:N,s=(P=t.rotateEnabled)==null?s:P,c=(F=t.rotationSnaps)==null?c:F,l=(I=t.rotationSnapTolerance)==null?l:I,u=(ne=t.rotateAnchorOffset)==null?u:ne,d=(L=t.rotateSize)==null?d:L,f=(re=t.rotateCornerRadius)==null?f:re,p=(R=t.borderEnabled)==null?p:R,m=(ie=t.borderStroke)==null?m:ie,h=(ae=t.borderStrokeWidth)==null?h:ae,g=(oe=t.borderDash)==null?g:oe,_=(se=t.borderSpacing)==null?_:se,v=(ce=t.anchorFill)==null?v:ce,y=(le=t.anchorStroke)==null?y:le,b=(ue=t.anchorStrokeWidth)==null?b:ue,x=(de=t.anchorSize)==null?x:de,S=(fe=t.anchorCornerRadius)==null?S:fe,C=(pe=t.keepRatio)==null?C:pe,w=(z=t.centeredScaling)==null?w:z,T=(me=t.enabledAnchors)==null?T:me,E=(B=t.flipEnabled)==null?E:B,D=(he=t.ignoreStroke)==null?D:he,O=(ge=t.boundBoxFunc)==null?O:ge,k=(_e=t.useSingleNodeRotation)==null?k:_e,A=(V=t.shouldOverdrawWholeArea)==null?A:V}return{isCropper:n,hoverEnabled:r,hoverEnterFunc:i,hoverLeaveFunc:a,resizeEnabled:o,rotateEnabled:s,rotationSnaps:c,rotationSnapTolerance:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderDash:g,borderSpacing:_,anchorFill:v,anchorStroke:y,anchorStrokeWidth:b,anchorSize:x,anchorCornerRadius:S,keepRatio:C,centeredScaling:w,enabledAnchors:T,flipEnabled:E,ignoreStroke:D,boundBoxFunc:O,useSingleNodeRotation:k,shouldOverdrawWholeArea:A}}attachTo(e){this.hoverEnabled&&(this.hoverEnterFunc&&e.onPointerEnter$.subscribeEvent(this.hoverEnterFunc),this.hoverLeaveFunc&&e.onPointerLeave$.subscribeEvent(this.hoverLeaveFunc)),this.detachFrom(e);let t=e.onPointerDown$.subscribeEvent((t,n)=>{let{offsetX:r,offsetY:i}=t;this._startOffsetX=r,this._startOffsetY=i;let{isCropper:a}=this._getConfig(e),o=this._getTopScene();if(!o)return;this._addCancelObserver(o),o.disableObjectsEvent();let s=Uu.create(o);s.startScroll(r,i);let{scrollX:c,scrollY:l}=Ir(s);this._viewportScrollX=c,this._viewportScrollY=l,a?(this._copperSelectedObject=e,this._changeStart$.next({target:e,objects:new Map([[e.oKey,e]]),type:Gu.MOVE_START})):(this._updateActiveObjectList(e,t),this._changeStart$.next({target:e,objects:this._selectedObjectMap,type:Gu.MOVE_START})),this._moveBufferSkip=!1;let u=o.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:n}=e;this._moving(t,n,s,a),!a&&this._clearControlMap(),s.scrolling(t,n,()=>{this._moving(t,n,s,a)})}),d=o.onPointerUp$.subscribeEvent(t=>{u==null||u.unsubscribe(),d==null||d.unsubscribe(),o.enableObjectsEvent(),!a&&this.refreshControls(),s.dispose();let{offsetX:n,offsetY:r}=t;a?this._changeEnd$.next({objects:new Map([[e.oKey,e]]),type:Gu.MOVE_END,offsetX:n,offsetY:r,event:t}):this._changeEnd$.next({objects:this._selectedObjectMap,type:Gu.MOVE_END,offsetX:n,offsetY:r,event:t})});n.stopPropagation()});return this.disposeWithMe(He(t)),this._subscriptionObjectMap.set(e.oKey,t),e}detachFrom(e){let t=this._subscriptionObjectMap.get(e.oKey);return t&&(t.unsubscribe(),this._subscriptionObjectMap.delete(e.oKey)),e}dispose(){var e,t,n;super.dispose(),(e=this._topScenePointerMoveSub)==null||e.unsubscribe(),(t=this._topScenePointerUpSub)==null||t.unsubscribe(),(n=this._cancelFocusSubscription)==null||n.unsubscribe(),this._cancelFocusSubscription=null,this._topScenePointerMoveSub=null,this._topScenePointerUpSub=null,this._cancelFocusSubscription=null,this._transformerControlMap.forEach(e=>e.dispose()),this._selectedObjectMap.forEach(e=>e.dispose()),this._changeStart$.complete(),this._changing$.complete(),this._changeEnd$.complete()}_initialProps(e){if(!e)return;let t=Object.keys(e);t.length!==0&&t.forEach(t=>{if(e[t]===void 0)return!0;this[t]=e[t]})}_checkMoveBoundary(e,t,n,r,i,a,o){let{left:s,top:c,width:l,height:u}=e;return t+s+r<this.zeroLeft&&(t=-r),n+c+i<this.zeroTop&&(n=-i),t+s+l+r>a+this.zeroLeft&&(t=this.zeroLeft+a-l-s-r),n+c+u+i>o+this.zeroTop&&(n=this.zeroTop+o-u-c-i),{moveLeft:t,moveTop:n}}_moving(e,t,n,r=!1){let{scrollX:i,scrollY:a}=Ir(n),o=e-this._viewportScrollX+i,s=t-this._viewportScrollY+a,{ancestorScaleX:c,ancestorScaleY:l,ancestorLeft:u,ancestorTop:d}=this._scene,f=this._smoothAccuracy((o-this._startOffsetX)/c,r),p=this._smoothAccuracy((s-this._startOffsetY)/l,r);if(this._moveBufferBlocker(e,t))return;let m=this._getTopScene();if(!m)return;let{width:h,height:g}=m;if(!r){let n=Array.from(this._selectedObjectMap.values());for(let e=0;e<n.length;e++){let t=n[e],r=this._checkMoveBoundary(t,f,p,u,d,h,g);f=r.moveLeft,p=r.moveTop}this._selectedObjectMap.forEach(e=>{e.translate(f+e.left,p+e.top)}),this._changing$.next({objects:this._selectedObjectMap,moveX:f,moveY:p,type:Gu.MOVING,offsetX:e,offsetY:t})}else if(this._copperSelectedObject){let n=this._copperSelectedObject,r=this._checkMoveBoundary(n,f,p,u,d,h,g);f=r.moveLeft,p=r.moveTop,n.translate(f+n.left,p+n.top),this._changing$.next({objects:new Map([[n.oKey,n]]),moveX:f,moveY:p,type:Gu.MOVING,offsetX:e,offsetY:t})}this._startOffsetX=o,this._startOffsetY=s}_moveBufferBlocker(e,t){return!this._moveBufferSkip&&Math.abs(e-this._startOffsetX)<j&&Math.abs(t-this._startOffsetY)<j?!0:(this._moveBufferSkip=!0,!1)}_anchorMoving(e,t,n,r,i,a=!1,o){let{scrollX:s,scrollY:c}=Ir(r),l=t-this._viewportScrollX+s,u=n-this._viewportScrollY+c;if(this._moveBufferBlocker(t,n))return;let d=o instanceof wu;a?(this._moveFunc(o,e,l,u,i,a,d),this._changing$.next({objects:new Map([[o.oKey,o]]),type:Gu.MOVING,offsetX:t,offsetY:n})):(this._selectedObjectMap.forEach(t=>{this._moveFunc(t,e,l,u,i,a,d)}),this._changing$.next({objects:this._selectedObjectMap,type:Gu.MOVING,offsetX:t,offsetY:n})),i&&e!==$.RESIZE_CT&&e!==$.RESIZE_CB&&e!==$.RESIZE_LM&&e!==$.RESIZE_RM&&!d||(this._startOffsetX=l,this._startOffsetY=u)}_moveFunc(e,t,n,r,i,a=!1,o=!1){let{left:s,top:c,width:l,height:u,angle:d}=e,f=this._startStateMap.get(e.oKey)||{},p={},{moveLeft:m,moveTop:h}=this._getMovePoint(n,r,e);if(i&&t!==$.RESIZE_CT&&t!==$.RESIZE_CB&&t!==$.RESIZE_LM&&t!==$.RESIZE_RM&&!o)switch(t){case $.RESIZE_LT:p=this._resizeLeftTop(e,m,h,f);break;case $.RESIZE_RT:p=this._resizeRightTop(e,m,h,f);break;case $.RESIZE_LB:p=this._resizeLeftBottom(e,m,h,f);break;case $.RESIZE_RB:p=this._resizeRightBottom(e,m,h,f);break}else p=this._updateCloseKeepRatioState(t,s,c,l,u,m,h);e.transformByState(this._applyRotationForResult(p,{left:s,top:c,width:l,height:u},d,a))}_getMovePoint(e,t,n){let{ancestorScaleX:r,ancestorScaleY:i}=this._scene,{left:a,top:o,width:s,height:c,angle:l}=n,u=new Y(a+s/2,o+c/2),d=new Y(e,t);d.rotateByPoint(Pt(-l),u);let f=new Y(this._startOffsetX,this._startOffsetY);return f.rotateByPoint(Pt(-l),u),{moveLeft:(d.x-f.x)/r,moveTop:(d.y-f.y)/i}}_applyRotationForResult(e,t,n,r=!1){if(n===0)return e;let{left:i=0,top:a=0,width:o=0,height:s=0}=e,{left:c=0,top:l=0,width:u=0,height:d=0}=t,f=u/2,p=d/2,m=o/2+i-c,h=s/2+a-l,g=vr(new Y(f,p),n,new Y(i,a),new Y(m,h));return{width:this._smoothAccuracy(o,r),height:this._smoothAccuracy(s,r),left:this._smoothAccuracy(g.x,r),top:this._smoothAccuracy(g.y,r)}}_updateCloseKeepRatioState(e,t,n,r,i,a,o){let s={left:t,top:n,width:r,height:i};switch(e){case $.RESIZE_LT:s.width=r-a<20?20:r-a,s.height=i-o<20?20:i-o,s.left=t+r-s.width,s.top=n+i-s.height;break;case $.RESIZE_CT:s.height=i-o<20?20:i-o,s.top=n+i-s.height;break;case $.RESIZE_RT:s.width=r+a<20?20:r+a,s.height=i-o<20?20:i-o,s.top=n+i-s.height;break;case $.RESIZE_LM:s.width=r-a<20?20:r-a,s.left=t+r-s.width;break;case $.RESIZE_RM:s.width=a+r<20?20:a+r;break;case $.RESIZE_LB:s.width=r-a<20?20:r-a,s.height=i+o<20?20:i+o,s.left=s.width<=20?t:t+a;break;case $.RESIZE_CB:s.height=o+i<20?20:o+i;break;case $.RESIZE_RB:s.width=a+r<20?20:a+r,s.height=o+i<20?20:o+i;break}return s}_getLimitedSize(e,t){let n=20,r=20;return e>t?n*=Math.abs(e/t):r*=Math.abs(t/e),{limitWidth:n,limitHeight:r}}_resizeLeftTop(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLtRb(t,n,c,l,f),h=c-p,g=l-m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i+o-h,top:a+s-g,width:h,height:g}}_resizeRightBottom(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLtRb(t,n,c,l,f),h=c+p,g=l+m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i,top:a,width:h,height:g}}_resizeLeftBottom(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLbRt(t,n,c,l,f),h=c-p,g=l+m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i+o-h,top:a,width:h,height:g}}_resizeRightTop(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLbRt(t,n,c,l,f),h=c+p,g=l-m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i,top:a+s-g,width:h,height:g}}_fixMoveLtRb(e,t,n,r,i){let a=e,o=t;return(n+a)/(r+o)>i?o=a/i:a=o*i,{moveLeft:a,moveTop:o}}_fixMoveLbRt(e,t,n,r,i){let a=e,o=t;return Math.abs((n-a)/(r+o))>i?o=-a/i:a=-o*i,{moveLeft:a,moveTop:o}}_attachEventToAnchor(e,t=$.RESIZE_LT,n){this.disposeWithMe(He(e.onPointerDown$.subscribeEvent((e,r)=>{let{offsetX:i,offsetY:a}=e;this._startOffsetX=i,this._startOffsetY=a;let o=this._getTopScene(),{keepRatio:s,isCropper:c}=this._getConfig(n);if(o==null)return;o.disableObjectsEvent();let l=Uu.create(o);l.startScroll(i,a);let{scrollX:u,scrollY:d}=Ir(l);this._viewportScrollX=u,this._viewportScrollY=d;let{ancestorLeft:f,ancestorTop:p}=this._scene,{width:m,height:h}=o,g=this._getRotateAnchorCursor(t);if(!c)this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:Gu.MOVE_START}),this._selectedObjectMap.forEach(e=>{let{width:t,height:n,left:r,top:i}=e.getState();this._startStateMap.set(e.oKey,{width:t,height:n,left:r,top:i})});else{this._changeStart$.next({objects:new Map([[n.oKey,n]]),type:Gu.MOVE_START});let{width:e,height:t,left:r,top:i}=n.getState();this._startStateMap.set(n.oKey,{width:e,height:t,left:r,top:i})}this._moveBufferSkip=!1,this._topScenePointerMoveSub=o.onPointerMove$.subscribeEvent(e=>{let{offsetX:r,offsetY:i}=e;this._anchorMoving(t,r,i,l,s,c,n),l.scrolling(r,i,()=>{this._anchorMoving(t,r,i,l,s,c,n)}),o.setCursor(g)}),this._topScenePointerUpSub=o.onPointerUp$.subscribeEvent(e=>{var t,r;(t=this._topScenePointerMoveSub)==null||t.unsubscribe(),(r=this._topScenePointerUpSub)==null||r.unsubscribe(),o.enableObjectsEvent(),o.resetCursor(),l.dispose(),this._startStateMap.clear();let{offsetX:i,offsetY:a}=e;c?(this._recoverySizeBoundary([n],f,p,m,h),this._changeEnd$.next({objects:new Map([[n.oKey,n]]),type:Gu.MOVE_END,offsetX:i,offsetY:a,event:e})):(this._recoverySizeBoundary(Array.from(this._selectedObjectMap.values()),f,p,m,h),this._changeEnd$.next({objects:this._selectedObjectMap,type:Gu.MOVE_END,offsetX:i,offsetY:a,event:e})),this.refreshControls()}),r.stopPropagation()})))}_recoverySizeBoundary(e,t,n,r,i){for(let a=0;a<e.length;a++){let o=e[a],{left:s,top:c,width:l,height:u}=o,d={};s+t<this.zeroLeft?(d.left=this.zeroLeft-t,d.width=l+s):s+l+t>r+this.zeroLeft&&(d.width=this.zeroLeft+r-s-t),c+n<this.zeroTop?(d.top=this.zeroTop-n,d.height=u+c):c+u+n>i+this.zeroTop&&(d.height=this.zeroTop+i-c-n),o.transformByState(d)}}_attachEventToRotate(e,t){this.disposeWithMe(He(e.onPointerDown$.subscribeEvent((e,n)=>{let{offsetX:r,offsetY:i}=e;this._startOffsetX=r,this._startOffsetY=i;let a=this._getTopScene();if(a==null)return;a.disableObjectsEvent();let o=a.getScrollXYInfoByViewport(Y.create(r,i));this._viewportScrollX=o.x,this._viewportScrollY=o.y;let s=this._getRotateAnchorCursor($.ROTATE_LINE),{ancestorLeft:c,ancestorTop:l,width:u,height:d,angle:f}=t,p=u/2+c,m=d/2+l;this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:Gu.MOVE_START}),this._moveBufferSkip=!1;let h=a.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:n}=e;this._rotateMoving(t,n,p,m,f),a.setCursor(s)}),g=a.onPointerUp$.subscribeEvent(e=>{h==null||h.unsubscribe(),g==null||g.unsubscribe(),a.enableObjectsEvent(),a.resetCursor(),this.refreshControls();let{offsetX:t,offsetY:n}=e;this._changeEnd$.next({objects:this._selectedObjectMap,type:Gu.MOVE_END,offsetX:t,offsetY:n,event:e})});n.stopPropagation()})))}_rotateMoving(e,t,n,r,i){let{ancestorScaleX:a,ancestorScaleY:o}=this._scene;if(this._moveBufferBlocker(e,t))return;let s=i+Nt(Math.atan2((t-r)/o+this._viewportScrollY,(e-n)/a+this._viewportScrollX)-Math.atan2((this._startOffsetY-r)/o+this._viewportScrollY,(this._startOffsetX-n)/a+this._viewportScrollX));s<0&&(s=360+s),s%=360,s=this._smoothAccuracy(s),this._selectedObjectMap.forEach(e=>{e.transformByState({angle:s})}),this._changing$.next({objects:this._selectedObjectMap,angle:s,type:Gu.MOVING,offsetX:e,offsetY:t})}_getOutlinePosition(e,t,n,r){return{left:n-r,top:-n-this.borderStrokeWidth,width:e+n*2,height:t+n*2}}_getRotateAnchorCursor(e){let t=H.NORTH_WEST_RESIZE;switch(e){case $.ROTATE:t=H.MOVE;break;case $.ROTATE_LINE:t=H.MOVE;break;case $.RESIZE_LT:break;case $.RESIZE_CT:t=H.NORTH_RESIZE;break;case $.RESIZE_RT:t=H.NORTH_EAST_RESIZE;break;case $.RESIZE_LM:t=H.WEST_RESIZE;break;case $.RESIZE_RM:t=H.EAST_RESIZE;break;case $.RESIZE_LB:t=H.SOUTH_WEST_RESIZE;break;case $.RESIZE_CB:t=H.SOUTH_RESIZE;break;case $.RESIZE_RB:t=H.SOUTH_EAST_RESIZE;break}return t}_getCopperAnchorPosition(e,t,n,r){let{borderStrokeWidth:i,borderSpacing:a,anchorSize:o}=this._getConfig(r),s=0,c=0,l=o,u=o/4;switch(e){case $.RESIZE_LT:s+=-a-i,c+=-a-i;break;case $.RESIZE_CT:s+=n/2-l/2,c+=-a-i;break;case $.RESIZE_RT:s+=n+a-i-l,c+=-a-i;break;case $.RESIZE_LM:s+=a-i,c+=t/2-l/2;break;case $.RESIZE_RM:s+=n+a-i-u,c+=t/2-l/2;break;case $.RESIZE_LB:s+=-this.borderSpacing-i,c+=t+a-i-l;break;case $.RESIZE_CB:s+=n/2-l/2,c+=t+a-i-u;break;case $.RESIZE_RB:s+=n+a-i-l,c+=t+a-i-l;break}return{left:s,top:c}}_getRotateAnchorPosition(e,t,n,r){let{rotateAnchorOffset:i,rotateSize:a,borderStrokeWidth:o,borderSpacing:s,anchorSize:c}=this._getConfig(r),l=-c/2,u=-c/2;switch(e){case $.ROTATE:l=n/2-a/2,u=-i-s-o*2-a;break;case $.ROTATE_LINE:l=n/2,u=-i-s-o;break;case $.RESIZE_LT:l+=-s-o,u+=-s-o;break;case $.RESIZE_CT:l+=n/2,u+=-s-o;break;case $.RESIZE_RT:l+=n+s-o,u+=-s-o;break;case $.RESIZE_LM:l+=s-o,u+=t/2;break;case $.RESIZE_RM:l+=n+s-o,u+=t/2;break;case $.RESIZE_LB:l+=-this.borderSpacing-o,u+=t+s-o;break;case $.RESIZE_CB:l+=n/2,u+=t+s-o;break;case $.RESIZE_RB:l+=n+s-o,u+=t+s-o;break}return{left:l,top:u}}_createResizeAnchor(e,t,n){let{height:r=0,width:i=0,scaleX:a=1,scaleY:o=1}=t.getState(),{anchorFill:s,anchorStroke:c,anchorStrokeWidth:l,anchorCornerRadius:u,anchorSize:d}=this._getConfig(t),{left:f,top:p}=this._getRotateAnchorPosition(e,r,i,t),m=this._getRotateAnchorCursor(e),h=new Kl(`${e}_${n}`,{zIndex:n-1,fill:s,stroke:c,strokeWidth:l,width:d,height:d,radius:u,left:f,top:p});return this._attachHover(h,m,H.DEFAULT),h}_createCopperResizeAnchor(e,t,n){let{height:r=0,width:i=0,scaleX:a=1,scaleY:o=1}=t.getState(),{anchorFill:s,anchorStroke:c,anchorStrokeWidth:l,anchorSize:u}=this._getConfig(t),{left:d,top:f}=this._getCopperAnchorPosition(e,r,i,t),p=this._getRotateAnchorCursor(e),m,h=`${e}_${n}`,g={zIndex:n-1,fill:s,stroke:c,strokeWidth:l,width:u,height:u,left:d,top:f},_=u,v=u/4;return p===H.EAST_RESIZE||p===H.WEST_RESIZE?(g.width=v,g.height=_,m=new Kl(h,g)):p===H.NORTH_RESIZE||p===H.SOUTH_RESIZE?(g.width=_,g.height=v,m=new Kl(h,g)):p===H.NORTH_EAST_RESIZE?(g.pointsGroup=this._getNorthEastPoints(_,v),m=new $l(h,g)):p===H.NORTH_WEST_RESIZE?(g.pointsGroup=this._getNorthWestPoints(_,v),m=new $l(h,g)):p===H.SOUTH_EAST_RESIZE?(g.pointsGroup=this._getSouthEastPoints(_,v),m=new $l(h,g)):p===H.SOUTH_WEST_RESIZE&&(g.pointsGroup=this._getSouthWestPoints(_,v),m=new $l(h,g)),this._attachHover(m,p,H.DEFAULT),m}_getNorthEastPoints(e,t){let n=e-t;return[[{x:0,y:0},{x:e,y:0},{x:e,y:e},{x:n,y:e},{x:n,y:t},{x:0,y:t}]]}_getNorthWestPoints(e,t){return[[{x:0,y:0},{x:e,y:0},{x:e,y:t},{x:t,y:t},{x:t,y:e},{x:0,y:e}]]}_getSouthEastPoints(e,t){let n=e-t;return[[{x:n,y:0},{x:e,y:0},{x:e,y:e},{x:0,y:e},{x:0,y:n},{x:n,y:n},{x:n,y:0}]]}_getSouthWestPoints(e,t){let n=e-t;return[[{x:0,y:0},{x:t,y:0},{x:t,y:n},{x:e,y:n},{x:e,y:e},{x:0,y:e},{x:0,y:0}]]}_checkTransformerType(e){if(e.indexOf($.OUTLINE)>-1)return $.OUTLINE;if(e.indexOf($.ROTATE)>-1)return $.ROTATE;if(e.indexOf($.ROTATE_LINE)>-1)return $.ROTATE_LINE;if(e.indexOf($.RESIZE_LT)>-1)return $.RESIZE_LT;if(e.indexOf($.RESIZE_CT)>-1)return $.RESIZE_CT;if(e.indexOf($.RESIZE_RT)>-1)return $.RESIZE_RT;if(e.indexOf($.RESIZE_LM)>-1)return $.RESIZE_LM;if(e.indexOf($.RESIZE_RM)>-1)return $.RESIZE_RM;if(e.indexOf($.RESIZE_LB)>-1)return $.RESIZE_LB;if(e.indexOf($.RESIZE_CB)>-1)return $.RESIZE_CB;if(e.indexOf($.RESIZE_RB)>-1)return $.RESIZE_RB}_updateControlIterator(e){this._transformerControlMap.forEach((t,n)=>{let r=this._selectedObjectMap.get(n);if(!r)return!0;e(t,r)})}_updateControl(){this._updateControlIterator((e,t)=>{let{left:n,top:r,height:i,width:a,angle:o}=t.getState();e.transformByState({left:n,top:r,height:i,width:a,angle:o}),e.show(),e.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(e=>{e.hide(),e.makeDirty(!0)})}_attachHover(e,t,n){this.disposeWithMe(He(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=t}))),this.disposeWithMe(He(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=n})))}_clearControls(e=!1){this._clearControlMap(),this._clearControl$.next(e)}clearControlByIds(e){for(let t of e)this._selectedObjectMap.delete(t);this.refreshControls()}_clearControlMap(){this._transformerControlMap.forEach(e=>{e.dispose()}),this._transformerControlMap.clear()}_createControl(e,t=!0){let{left:n=0,top:r=0,height:i=0,width:a=0}=e.getState(),o=e.angle,{isCropper:s,resizeEnabled:c,rotateEnabled:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderSpacing:g,enabledAnchors:_}=this._getConfig(e);if(t&&s)return;let v=e.oKey,y=this._selectedObjectMap.size+e.maxZIndex+5e3,b=e.getLayerIndex()||2,x=[];if(p&&!s){let e=new Kl(`${$.OUTLINE}_${y}`,{zIndex:y-1,evented:!1,strokeWidth:h,stroke:m,...this._getOutlinePosition(a,i,g,h)});x.push(e)}if(c&&!s){let{left:t,top:n}=this._getRotateAnchorPosition($.ROTATE_LINE,i,a,e);if(l){let r=new Kl(`${$.ROTATE_LINE}_${y}`,{zIndex:y-1,evented:!1,left:t,top:n,height:u,width:1,strokeWidth:h,stroke:m}),{left:o,top:s}=this._getRotateAnchorPosition($.ROTATE,i,a,e),c=this._getRotateAnchorCursor($.ROTATE),l=new Kl(`${$.ROTATE}_${y}`,{zIndex:y-1,left:o,top:s,height:d,width:d,radius:f,strokeWidth:h*2,stroke:m});this._attachEventToRotate(l,e),this._attachHover(l,c,H.DEFAULT),x.push(r,l)}}if(c)for(let t=0,n=_.length;t<n;t++){if(_[t]!==1)continue;let n=Wu[t],r;r=s?this._createCopperResizeAnchor(n,e,y):this._createResizeAnchor(n,e,y),this._attachEventToAnchor(r,n,e),x.push(r)}let S=new wu(`${$.GROUP}_${v}`,...x);return S.zIndex=y,S.evented=!1,S.openSelfSizeMode(),S.transformByState({left:e.left||n,top:e.top||r,angle:e.angle||o,width:e.width||a,height:e.height||i}),this.getScene().addObject(S,b),s?this._copperControl=S:(this._transformerControlMap.has(v)&&this._transformerControlMap.get(v).dispose(),this._transformerControlMap.set(v,S),this._createControl$.next(S)),S}_getTopScene(){var e;return(e=this.getScene().getEngine())==null?void 0:e.activeScene}activeAnObject(e){this._updateActiveObjectList(e,{}),this._changeStart$.next({target:e,objects:this._selectedObjectMap,type:Gu.MOVE_START})}_updateActiveObjectList(e,t){let{isCropper:n}=this._getConfig(e);e=this._findGroupObject(e),!this._selectedObjectMap.has(e.oKey)&&((!t.ctrlKey||Ku.has(e.objectType))&&(this._selectedObjectMap.clear(),this._clearControlMap()),n||this._selectedObjectMap.set(e.oKey,e),this._createControl(e))}_findGroupObject(e){return e.isInGroup&&e.ancestorGroup||e}_addCancelObserver(e){var t;(t=this._cancelFocusSubscription)==null||t.unsubscribe(),this._cancelFocusSubscription=e.onPointerDown$.subscribeEvent(()=>{this.clearSelectedObjects()})}_smoothAccuracy(e,t=!1,n=1){return t?Kt(e,3):Kt(e,n)}};const Ju=`viewMain`;var Yu=class extends _{constructor(e,t,n){var r;if(super(),this._parent=t,K(this,`_sceneKey`,``),K(this,`_width`,100),K(this,`_height`,100),K(this,`_scaleX`,1),K(this,`_scaleY`,1),K(this,`_transform`,new Br),K(this,`_evented`,!0),K(this,`_layers`,[]),K(this,`_viewports`,[]),K(this,`_cursor`,H.DEFAULT),K(this,`_defaultCursor`,H.DEFAULT),K(this,`_addObject$`,new We(this)),K(this,`addObject$`,this._addObject$.asObservable()),K(this,`onTransformChange$`,new x),K(this,`onFileLoaded$`,new x),K(this,`onPointerDown$`,new x),K(this,`onPointerMove$`,new x),K(this,`onPointerUp$`,new x),K(this,`onPointerEnter$`,new x),K(this,`onPointerOut$`,new x),K(this,`onPointerCancel$`,new x),K(this,`onPointerLeave$`,new x),K(this,`onDragEnter$`,new x),K(this,`onDragOver$`,new x),K(this,`onDragLeave$`,new x),K(this,`onDrop$`,new x),K(this,`onClick$`,new x),K(this,`onSingleClick$`,new x),K(this,`onDblclick$`,new x),K(this,`onTripleClick$`,new x),K(this,`onMouseWheel$`,new x),K(this,`onKeyDown$`,new x),K(this,`onKeyUp$`,new x),K(this,`_beforeRender$`,new We(null)),K(this,`beforeRender$`,this._beforeRender$.asObservable()),K(this,`_afterRender$`,new We(null)),K(this,`afterRender$`,this._afterRender$.asObservable()),K(this,`_transformer`,void 0),K(this,`_inputManager`,void 0),K(this,`_capturedObject`,null),this._sceneKey=e,n&&this.transformByState(n),this._parent.classType===W.ENGINE){let t=this._parent;t.addScene(this),t.hasActiveScene()||t.setActiveScene(e),this._inputManager=new Bu(this)}else this._parent.classType===W.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe(He((r=this._parent)==null?void 0:r.onTransformChange$.subscribeEvent(e=>{this._transformHandler()})))}get classType(){return W.SCENE}get transform(){return this._transform}get width(){return this._width}get height(){return this._height}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get sceneKey(){return this._sceneKey}get objectsEvented(){return this._evented}set transform(e){this._transform=e}set width(e){this._width=e}set height(e){this._height=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}get ancestorScaleX(){let e=this.getParent(),t=1;return e.classType===W.SCENE_VIEWER&&(t=e.ancestorScaleX),this.scaleX*t}get ancestorScaleY(){let e=this.getParent(),t=1;return e.classType===W.SCENE_VIEWER&&(t=e.ancestorScaleY),this.scaleY*t}getAncestorScale(){return{scaleX:this.ancestorScaleX||1,scaleY:this.ancestorScaleY||1}}get ancestorLeft(){let e=this.getParent(),t=0;return e.classType===W.SCENE_VIEWER&&(t=e.ancestorLeft),t}get ancestorTop(){let e=this.getParent(),t=0;return e.classType===W.SCENE_VIEWER&&(t=e.ancestorTop),t}set cursor(e){this.setCursor(e)}attachControl(e){var t;if(this._parent.classType===W.ENGINE)return(t=this._inputManager)==null||t.attachControl(e),this}detachControl(){var e;return(e=this._inputManager)==null||e.detachControl(),this}makeDirty(e=!0){if(this._layers.forEach(t=>{t.makeDirty(e)}),this._parent.classType===W.SCENE_VIEWER){var t;(t=this._parent)==null||t.makeDirty(e)}return this}makeDirtyNoParent(e=!0){return this._layers.forEach(t=>{t.makeDirty(e)}),this}enableLayerCache(...e){e.forEach(e=>{this.getLayer(e).enableCache()})}disableLayerCache(...e){e.forEach(e=>{this.getLayer(e).disableCache()})}isDirty(){for(let e=0;e<this._layers.length;e++)if(this._layers[e].isDirty()===!0)return!0;return!1}getCursor(){return this._cursor}resetCursor(){this.setCursor(this._defaultCursor)}setCursor(e){this._cursor=e;let t=this.getEngine();t&&t.setCanvasCursor(e)}setDefaultCursor(e){this._defaultCursor=e,this.resetCursor()}resize(e,t){let n=this.width;e!==void 0&&(this.width=e);let r=this.height;return t!==void 0&&(this.height=t),this._transformHandler(),this.onTransformChange$.emitEvent({type:Z.resize,value:{width:this.width,height:this.height},preValue:{width:n,height:r}}),this}setScaleValueOnly(e,t){e!==void 0&&(this.scaleX=e),t!==void 0&&(this.scaleY=t)}scale(e,t){let n=this.scaleX,r=this.scaleY;return this.setScaleValueOnly(e||1,t||1),this._transformHandler(),this.onTransformChange$.emitEvent({type:Z.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:n,scaleY:r}}),this}scaleBy(e,t){let n=this.scaleX;e!==void 0&&(this.scaleX+=e);let r=this.scaleY;return t!==void 0&&(this.scaleY+=t),this.scaleX=Kt(this.scaleX,1),this.scaleY=Kt(this.scaleY,1),this._transformHandler(),this.onTransformChange$.emitEvent({type:Z.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:n,scaleY:r}}),this}transformByState(e){let t=Object.keys(e),n={};t.length!==0&&(t.forEach(t=>{e[t]!==void 0&&(n[t]=this[t],this[t]=e[t])}),this._transformHandler(),this.onTransformChange$.emitEvent({type:Z.all,value:e,preValue:n}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===W.ENGINE)return this._parent;let e=this._parent;for(;e;){if(e.classType===W.ENGINE)return e;e=e==null?void 0:e.getParent()}return null}getLayers(){return this._layers}getLayer(e=1){for(let t of this._layers)if(t.zIndex===e)return t;let t=new pu(this,[],e);return this.addLayer(t),t}findLayerByZIndex(e=1){for(let t of this.getLayers())if(t.zIndex===e)return t}getLayerMaxZIndex(){let e=Number.MIN_VALUE;for(let t=0;t<this._layers.length;t++){let n=this._layers[t];n.zIndex>=e&&(e=n.zIndex)}return e}addLayer(...e){this._layers.push(...e)}addObjects(e,t=1){var n;return(n=this.getLayer(t))==null||n.addObjects(e),this._addObject$.next(this),this}addObject(e,t=1){var n;return(n=this.getLayer(t))==null||n.addObject(e),this._addObject$.next(this),this}setObjectBehavior(e){e.parent||(e.parent=this),e.onIsAddedToParent$.emitEvent(this)}removeObject(e){if(e==null)return;let t=this.getLayers();for(let n of t)n.removeObject(e);return this}removeObjects(e){if(e==null)return;let t=this.getLayers();for(let n of t)n.removeObjects(e);return this}getObjectsByLayer(e){let t=[];this._layers.sort(Be);for(let n of this._layers)n.zIndex===e&&t.push(...n.getObjects());return t}getAllObjects(){let e=[];this._layers.sort(Be);for(let t of this._layers)e.push(...t.getObjects());return e}getAllObjectsByOrder(){let e=[];this._layers.sort(Be);for(let t of this._layers)e.push(...t.getObjectsByOrder());return e}getAllObjectsByDescOrder(e=!1){let t=[],n=e?Ve:Be;this._layers.sort(n);for(let e of this._layers)t.push(...e.getObjectsByOrder().sort(n));return t}getAllObjectsByOrderForPick(e=!1){let t=[],n=e?Ve:Be;this._layers.sort(n);for(let e of this._layers)t.push(...e.getObjectsByOrderForPick().sort(n));return t}getObject(e){for(let t of this._layers){let n=t.getObjectsByOrder();for(let t of n)if(t.oKey===e)return t}}getObjectIncludeInGroup(e){for(let t of this._layers){let n=t.getObjects();for(let t of n)if(t.oKey===e)return t}}fuzzyMathObjects(e,t=!1){let n=[];for(let r of this._layers){let i=r.getObjectsByOrder();for(let r of i)(t?r.oKey.startsWith(e):r.oKey.indexOf(e)>-1)&&n.push(r)}return n}addViewport(...e){return this._viewports.push(...e),this}removeViewport(e){for(let t=0,n=this._viewports.length;t<n;t++){let n=this._viewports[t];if(n.viewportKey===e)return this._viewports.splice(t,1),n}}getViewports(){return this._viewports}getMainViewport(){return this.getViewport(Ju)}getViewport(e){for(let t of this._viewports)if(t.viewportKey===e)return t}render(e){var t,n;if(!this.isDirty())return;!e&&((t=this.getEngine())==null||t.clearCanvas());let r=this._layers.sort(Be),i=(n=this.getEngine())==null?void 0:n.getCanvas();this._beforeRender$.next(i);for(let t=0,n=r.length;t<n;t++)r[t].render(e,t===n-1);this._afterRender$.next(i)}async requestRender(e){return new Promise((t,n)=>{this.render(e),kt(t)})}attachTransformerTo(e){var t;this._transformer||this.initTransformer(),(t=this._transformer)==null||t.attachTo(e)}detachTransformerFrom(e){var t;(t=this._transformer)==null||t.detachFrom(e)}initTransformer(e){if(this._transformer){this._transformer.resetProps(e);return}this._transformer=new qu(this,e)}getTransformerByCreate(){return this._transformer||this.initTransformer(),this._transformer}getTransformer(){return this._transformer}updateTransformerZero(e,t){var n;(n=this._transformer)==null||n.updateZeroPoint(e,t)}findViewportByPosToScene(e){return this._viewports.find(t=>t.isHit(e))}getActiveViewportByCoord(e){return e=this.getCoordRelativeToViewport(e),this.findViewportByPosToScene(e)}getVpScrollXYInfoByPosToVp(e,t){return this.getScrollXYInfoByViewport(e,t)}getScrollXYInfoByViewport(e,t){return t||(t=this.findViewportByPosToScene(e)||this.getDefaultViewport()),this.getViewportScrollXY(t)}getDefaultViewport(){return this.getViewport(`viewMain`)}getViewportScrollXY(e){let t=0,n=0;if(e){let r=e.viewportScrollX||0,i=e.viewportScrollY||0;t+=r,n+=i}return{x:t,y:n}}getRelativeToViewportCoord(e){return this.getCoordRelativeToViewport(e)}getCoordRelativeToViewport(e){let t=this.getParent(),n=[];for(;t;)(t.classType===W.SCENE||t.classType===W.SCENE_VIEWER)&&n.push(t),t=(t==null?void 0:t.getParent)&&(t==null?void 0:t.getParent());n.reverse();for(let t of n)if(t.classType===W.SCENE){let n=t.getActiveViewportByCoord(e);if(n){let t=n.viewportScrollX||0,r=n.viewportScrollY||0;e=e.addByPoint(t,r)}}else t.classType===W.SCENE_VIEWER&&(e=t.transform.clone().invert().applyPoint(e));return e}clearLayer(){this._layers=[]}clearViewports(){this._viewports=[]}getPrecisionScale(){var e;let t=((e=this.getEngine())==null?void 0:e.getPixelRatio())||1,{scaleX:n,scaleY:r}=this.getAncestorScale();return{scaleX:n*t,scaleY:r*t}}dispose(){var e,t,n;let r=[...this.getLayers()];r.forEach(e=>{e.dispose()}),r=[];let i=[...this.getViewports()];i.forEach(e=>{e.dispose()}),i=[],this.clearLayer(),this.clearViewports(),this.detachControl(),(e=this.onTransformChange$)==null||e.complete(),(t=this._inputManager)==null||t.dispose(),this._inputManager=null,(n=this._transformer)==null||n.dispose(),this._transformer=null,this.onFileLoaded$.complete(),this.onClick$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onPointerEnter$.complete(),this.onPointerLeave$.complete(),this.onPointerOut$.complete(),this.onPointerCancel$.complete(),this.onDragEnter$.complete(),this.onDragOver$.complete(),this.onDragLeave$.complete(),this.onDrop$.complete(),this.onSingleClick$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onMouseWheel$.complete(),this.onKeyDown$.complete(),this.onKeyUp$.complete(),this._addObject$.complete(),super.dispose()}pick(e){let t=this.getActiveViewportByCoord(e);if(t||(t=this._viewports[0]),!this.objectsEvented||!t)return null;let n=t.pickScrollBar(e);if(n)return n;let r=t.transformVector2SceneCoord(e),i=null,a=this.getAllObjectsByOrderForPick().reverse(),o=a.length;for(let e=0;e<o;e++){var s;let t=a[e];if(!t.visible||!t.evented||t.isInGroup&&((s=t.parent)==null?void 0:s.classType)===W.GROUP&&t.isDrawingObject)continue;let n=r;if(t.isHit(n)){i=t.classType===W.SCENE_VIEWER?t.pick(n)||t.getActiveSubScene():t;break}else if(t.classType===W.SCENE_VIEWER&&t.allowSelectedClipElement()){let e=t.pick(n);if(e){i=e;break}}}return!i&&this._parent.classType===W.ENGINE?this:i}triggerPointerUp(e){var t;if(!((t=this.onPointerUp$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerUp(e),!1}return!0}triggerMouseWheel(e){var t;if(!((t=this.onMouseWheel$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerMouseWheel(e),!1}return!0}triggerSingleClick(e){var t;if(!((t=this.onSingleClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerSingleClick(e),!1}return!0}triggerClick(e){var t;if(!((t=this.onClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerClick(e),!1}return!0}triggerDblclick(e){var t;if(!((t=this.onDblclick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDblclick(e),!1}return!0}triggerTripleClick(e){var t;if(!((t=this.onTripleClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerTripleClick(e),!1}return!0}triggerPointerMove(e){var t;if(!((t=this.onPointerMove$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerMove(e),!1}return!0}triggerPointerDown(e){var t;if(!((t=this.onPointerDown$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerDown(e),!1}return!0}triggerPointerOut(e){if(this._parent.classType===W.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerOut(e),!1}return!0}triggerPointerLeave(e){var t;if(!((t=this.onPointerLeave$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerLeave(e),!1}return!0}triggerPointerOver(e){if(this._parent.classType===W.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerOver(e),!1}return!0}triggerPointerCancel(e){if(this._parent.classType===W.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerCancel(e),!1}return!0}triggerPointerEnter(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerEnter(e),!1}return!0}triggerDragLeave(e){var t;if(!((t=this.onDragLeave$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragLeave(e),!1}return!0}triggerDragOver(e){var t;if(!((t=this.onDragOver$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragOver(e),!1}return!0}triggerDragEnter(e){var t;if(!((t=this.onDragEnter$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragEnter(e),!1}return!0}triggerDrop(e){var t;if(!((t=this.onDrop$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===W.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDrop(e),!1}return!0}_transformHandler(){this.transform=Br.create().composeMatrix({scaleX:this.scaleX,scaleY:this.scaleY}),this.getViewports().forEach(e=>{e.resetCanvasSizeAndUpdateScroll()}),this.makeDirty(!0)}disableObjectsEvent(){this._evented=!1}enableObjectsEvent(){this._evented=!0}get capturedObject(){return this._capturedObject}setCaptureObject(e){this._capturedObject=e}releaseCapturedObject(){this._capturedObject=null}};let Xu=class extends _{get unitId(){return this._renderContext.unitId}get type(){return this._renderContext.type}set isMainScene(e){this._renderContext.isMainScene=e}get isMainScene(){return this._renderContext.isMainScene}set engine(e){this._renderContext.engine=e}get engine(){return this._renderContext.engine}set mainComponent(e){this._renderContext.mainComponent=e}get mainComponent(){return this._renderContext.mainComponent}set scene(e){this._renderContext.scene=e}get scene(){return this._renderContext.scene}get components(){return this._renderContext.components}constructor(e,t){super(),K(this,`isRenderUnit`,!0),K(this,`_activated$`,new We(!0)),K(this,`activated$`,this._activated$.pipe(Ye())),K(this,`_injector`,void 0),K(this,`_renderContext`,void 0),this._injector=t.createChild(),this._renderContext={unit:e.unit,unitId:e.unit.getUnitId(),type:e.unit.type,components:new Map,mainComponent:null,isMainScene:e.isMainScene,engine:e.engine,scene:e.scene,activated$:this.activated$,activate:()=>this._activated$.next(!0),deactivate:()=>this._activated$.next(!1)}}dispose(){this._injector.dispose(),super.dispose(),this._activated$.next(!1),this._activated$.complete(),this._renderContext.unit=null,this._renderContext.components.clear()}with(e){return this._injector.get(e)}addRenderDependencies(e){this._initDependencies(e)}_initDependencies(e){let t=this._injector;e.forEach(e=>{let[n,r]=Array.isArray(e)?e:[e,null];if(!r)t.add([n,{useFactory:()=>t.createInstance(n,this._renderContext)}]);else if(ke(r))t.add([n,{useFactory:()=>t.createInstance(r.useClass,this._renderContext)}]);else throw Error(`[RenderUnit]: render dependency could only be an class!`)}),e.forEach(e=>{let[n]=Array.isArray(e)?e:[e,null];t.get(n)})}getRenderContext(){return this._renderContext}activate(){this._renderContext.activate()}deactivate(){this._renderContext.deactivate()}};Xu=bl([yl(1,O(k))],Xu);const Zu={width:1500,height:1e3};let Qu=class extends _{get defaultEngine(){return this._defaultEngine||(this._defaultEngine=new Fu),this._defaultEngine}constructor(e,t,n){super(),this._injector=e,this._univerInstanceService=t,this._themeService=n,K(this,`_defaultEngine`,void 0),K(this,`_renderMap`,new Map),K(this,`_createRender$`,new Ke),K(this,`createRender$`,this._createRender$.asObservable()),K(this,`_renderCreated$`,new Ke),K(this,`created$`,this._renderCreated$.asObservable()),K(this,`_renderDisposed$`,new Ke),K(this,`disposed$`,this._renderDisposed$.asObservable()),K(this,`_renderDependencies`,new Map),this._initDarkModeListener()}dispose(){super.dispose(),this._renderMap.forEach(e=>this._disposeItem(e)),this._renderDependencies.clear(),this._renderMap.clear(),this._renderCreated$.complete(),this._renderDisposed$.complete()}registerRenderModules(e,t){this._renderDependencies.has(e)||this._renderDependencies.set(e,[]);let n=this._renderDependencies.get(e);n.push(...t);for(let[n,r]of this._renderMap)r.type===e&&this._tryAddRenderDependencies(r,t);return He(()=>{t.forEach(e=>Le(n,e))})}registerRenderModule(e,t){this._renderDependencies.has(e)||this._renderDependencies.set(e,[]);let n=this._renderDependencies.get(e);n.push(t);for(let[n,r]of this._renderMap)r.type===e&&this._tryAddRenderDependencies(r,[t]);return He(()=>Le(n,t))}_getRenderDepsByType(e){var t;return Array.from((t=this._renderDependencies.get(e))==null?[]:t)}_initDarkModeListener(){this.disposeWithMe(this._themeService.darkMode$.subscribe(()=>{this.getRenderAll().forEach(e=>{e.components.forEach(e=>{e.makeForceDirty(!0),e.makeDirty(!0)})})}))}create(e){this._createRender$.next(e)}createRender(e){let t=this._createRender(e,this._injector.createInstance(Fu,e,void 0));return this._renderCreated$.next(t),t}getAllRenderersOfType(e){let t=[];for(let[n,r]of this._renderMap)r.type===e&&t.push(r);return t}_tryAddRenderDependencies(e,t){e instanceof Xu&&e.addRenderDependencies(t)}_createRender(e,t,n=!0){let r=this.getRenderById(e),i=!0;r!=null&&r.engine===t&&(i=!1),this._disposeItem(r,i);let{width:a,height:o}=Zu,s=new Yu(`_UNIVER_SCENE_`+e,t,{width:a,height:o}),c=this._univerInstanceService.getUnit(e),l;if(c){let r=this._univerInstanceService.getUnitType(e),i=this._getRenderDepsByType(r);l=this._injector.createInstance(Xu,{unit:c,engine:t,scene:s,isMainScene:n}),this._addRenderUnit(e,l),this._tryAddRenderDependencies(l,i)}else l={isThumbNail:!0,type:he.UNIVER_SLIDE,unitId:e,engine:t,scene:s,mainComponent:null,components:new Map,isMainScene:n,with(e){return null}},this._addRenderUnit(e,l);return l}addRender(e,t){this._addRenderUnit(e,t)}_addRenderUnit(e,t){this._renderMap.set(e,t)}removeRender(e){let t=this._renderMap.get(e);t!=null&&this._disposeItem(t),this._renderMap.delete(e)}has(e){return this._renderMap.has(e)}getRenderById(e){return this._renderMap.get(e)}getRenderUnitById(e){return this._renderMap.get(e)}getRenderAll(){return this._renderMap}_disposeItem(e,t=!0){if(e==null)return;let{engine:n,scene:r,components:i}=e;i==null||i.forEach(e=>e.dispose()),r.dispose(),ed(e)&&e.dispose(),t&&n.dispose(),this._renderDisposed$.next(e.unitId)}};Qu=bl([yl(0,O(k)),yl(1,D),yl(2,O(me))],Qu);const $u=xe(`engine-render.render-manager.service`);function ed(e){return!!e&&typeof e.dispose==`function`}function td(e,t,n){let r=t.getCurrentUnitOfType(e);return r==null?null:n.getRenderUnitById(r.getUnitId())}function nd(e,t,n,r){let i=td(e,n,r);return i?i.with(t):null}var rd=class{constructor(){K(this,`_renderConfig`,{ok:`111`}),K(this,`_updateSignal$`,new Ke),K(this,`updateSignal$`,this._updateSignal$.pipe(Je(4)))}setRenderConfig(e,t){if(t==null){delete this._renderConfig[e];return}this._renderConfig[e]=t}getRenderConfig(){return this._renderConfig}};const id=xe(`univer.render-engine`);let ad=class extends re{constructor(e=zu,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{...r}=Me({},zu,this._config);this._configService.setConfig(Ru,r)}onStarting(){Ie(this._injector,[[rd],[Au,{useClass:Mu}],[id,{useClass:Fu}],[$u,{useClass:Qu}]])}};K(ad,`pluginName`,`UNIVER_RENDER_ENGINE_PLUGIN`),K(ad,`packageName`,Iu),K(ad,`version`,Lu),ad=bl([yl(1,O(k)),yl(2,T)],ad);function od(e,t){if(t.startRow>=e.endRow||t.endRow<=e.startRow||t.startColumn>=e.endColumn||t.endColumn<=e.startColumn)return[e];let n=[];t.startRow>e.startRow&&n.push({startRow:e.startRow,startColumn:e.startColumn,endRow:t.startRow,endColumn:e.endColumn}),t.endRow<e.endRow&&n.push({startRow:t.endRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn});let r=Math.max(e.startRow,t.startRow),i=Math.min(e.endRow,t.endRow);return t.startColumn>e.startColumn&&n.push({startRow:r,startColumn:e.startColumn,endRow:i,endColumn:t.startColumn}),t.endColumn<e.endColumn&&n.push({startRow:r,startColumn:t.endColumn,endRow:i,endColumn:e.endColumn}),n}var sd=class{constructor(e,t,n){var r;K(this,`_viewportKey`,``),K(this,`_scrollX`,0),K(this,`_scrollY`,0),K(this,`_preScrollX`,0),K(this,`_preScrollY`,0),K(this,`_viewportScrollX`,0),K(this,`_viewportScrollY`,0),K(this,`_preViewportScrollX`,0),K(this,`_preViewportScrollY`,0),K(this,`_sceneWCurrVpAfterScale`,0),K(this,`_sceneHCurrVpAfterScale`,0),K(this,`_sceneWidthAfterScale`,void 0),K(this,`_sceneHeightAfterScale`,void 0),K(this,`onMouseWheel$`,new x),K(this,`onScrollAfter$`,new x),K(this,`onScrollEnd$`,new x),K(this,`onScrollByBar$`,new x),K(this,`onResized$`,new Ke),K(this,`_topOrigin`,0),K(this,`_leftOrigin`,0),K(this,`_bottomOrigin`,0),K(this,`_rightOrigin`,0),K(this,`_widthOrigin`,void 0),K(this,`_heightOrigin`,void 0),K(this,`_top`,0),K(this,`_left`,0),K(this,`_bottom`,0),K(this,`_right`,0),K(this,`_width`,void 0),K(this,`_height`,void 0),K(this,`_scene`,void 0),K(this,`_scrollBar`,void 0),K(this,`_isWheelPreventDefaultX`,!1),K(this,`_isWheelPreventDefaultY`,!1),K(this,`_scrollStopNum`,0),K(this,`_clipViewport`,!0),K(this,`_active`,!0),K(this,`_paddingStartX`,0),K(this,`_paddingEndX`,0),K(this,`_paddingStartY`,0),K(this,`_paddingEndY`,0),K(this,`_marginLeft`,0),K(this,`_marginTop`,0),K(this,`_cacheBound`,void 0),K(this,`_preCacheBound`,void 0),K(this,`_preCacheVisibleBound`,void 0),K(this,`_viewBound`,{top:0,left:0,bottom:0,right:0}),K(this,`_preViewBound`,void 0),K(this,`_isDirty`,!0),K(this,`_cacheCanvas`,null),K(this,`_allowCache`,!1),K(this,`bufferEdgeX`,0),K(this,`bufferEdgeY`,0),K(this,`scrollAnimationFrameId`,null),K(this,`_isForceDirty`,!0),this._viewportKey=e,this._scene=t,this._scene.addViewport(this),this._active=B.isDefine(n==null?void 0:n.active)?n==null?void 0:n.active:!0,this.setViewportSize(n),this.initCacheCanvas(n,t),this._isWheelPreventDefaultX=(n==null?void 0:n.isWheelPreventDefaultX)||!1,this._isWheelPreventDefaultY=(n==null?void 0:n.isWheelPreventDefaultY)||!1,this.resetCanvasSizeAndUpdateScroll(),this.getBounding(),(r=this.scene.getEngine())==null||r.onTransformChange$.subscribeEvent(()=>{this.markForceDirty(!0)}),this.markForceDirty(!0)}initCacheCanvas(e,t){if(this._allowCache=(e==null?void 0:e.allowCache)||!1,this._allowCache){var n;this._cacheCanvas=new Yr({colorService:(n=t.getEngine())==null?void 0:n.canvasColorService}),this.bufferEdgeX=(e==null?void 0:e.bufferEdgeX)||0,this.bufferEdgeY=(e==null?void 0:e.bufferEdgeY)||0}}get scene(){return this._scene}get width(){return this._width}get height(){return this._height}get viewportKey(){return this._viewportKey}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get bottomOrigin(){return this._bottomOrigin}get rightOrigin(){return this._rightOrigin}get top(){return this._top}get left(){return this._left}get bottom(){return this._bottom}get right(){return this._right}get isWheelPreventDefaultX(){return this._isWheelPreventDefaultX}get isWheelPreventDefaultY(){return this._isWheelPreventDefaultY}set width(e){this._width=e}set height(e){let t=this.scene.getParent().height;B.isDefine(e)?this._height=B.clamp(e,0,t):this._height=e}get isActive(){return this._active===!1||(this.height||0)<=0||(this.width||0)<=0?!1:this._active}set viewportScrollX(e){this._viewportScrollX=e}get viewportScrollX(){return this._viewportScrollX}set viewportScrollY(e){this._viewportScrollY=e}get viewportScrollY(){return this._viewportScrollY}set scrollX(e){this._scrollX=e}set scrollY(e){this._scrollY=e}get scrollX(){return this._scrollX}get scrollY(){return this._scrollY}set top(e){var t;this._topOrigin=e,this._top=Ot(e,(t=this._scene)==null||(t=t.getParent())==null?void 0:t.height)}set left(e){var t;this._leftOrigin=e,this._left=Ot(e,(t=this.scene.getParent())==null?void 0:t.width)}set bottom(e){var t;this._bottomOrigin=e,this._bottom=Ot(e,(t=this.scene.getParent())==null?void 0:t.height)}set right(e){var t;this._rightOrigin=e,this._right=Ot(e,(t=this.scene.getParent())==null?void 0:t.width)}get viewBound(){return this._viewBound}get cacheBound(){return this._cacheBound}set cacheBound(e){this._cacheBound=e}get preCacheBound(){return this._preCacheBound}set preCacheBound(e){this._preCacheBound=e,this._preCacheVisibleBound=Object.assign({},e)}get _deltaScrollX(){return this.scrollX-this._preScrollX}get _deltaScrollY(){return this.scrollY-this._preScrollY}get _deltaViewportScrollX(){return this.viewportScrollX-this._preViewportScrollX}get _deltaViewportScrollY(){return this.viewportScrollY-this._preViewportScrollY}get canvas(){return this._cacheCanvas}enable(){this._active=!0}disable(){this._active=!1}resetCanvasSizeAndUpdateScroll(){this._resizeCacheCanvas(),this._updateScrollByViewportScrollValue(),this.onResized$.next({width:this._width,height:this._height,left:this._left,top:this._top,paddingStartX:this._paddingStartX,paddingEndX:this._paddingEndX,paddingStartY:this._paddingStartY,paddingEndY:this._paddingEndY})}setScrollBar(e){this._scrollBar=e,this._updateScrollByViewportScrollValue()}removeScrollBar(){this._scrollBar=null}resizeWhenFreezeChange(e){Object.keys(e).length!==0&&(this.setViewportSize(e),this.resetCanvasSizeAndUpdateScroll())}setPadding(e){let{startX:t=0,startY:n=0,endX:r=0,endY:i=0}=e;this._paddingStartX=t,this._paddingEndX=r,this._paddingStartY=n,this._paddingEndY=i,this.resetCanvasSizeAndUpdateScroll()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}setMargin(e,t){this._marginLeft=e,this._marginTop=t}scrollToBarPos(e){return this._scrollToBarPosCore(e)}scrollByBarDeltaValue(e,t=!0){let n=this.scrollX+(e.x||0),r=this.scrollY+(e.y||0);return this._scrollToBarPosCore({x:n,y:r},t)}scrollToViewportPos(e,t=!0){if(!this._scrollBar||this.isActive===!1)return;let{viewportScrollX:n,viewportScrollY:r}=e;return this._scrollToViewportPosCore({viewportScrollX:n,viewportScrollY:r},t)}scrollByViewportDeltaVal(e,t=!0){if(!this._scrollBar||this.isActive===!1)return;let n=this.viewportScrollX+(e.viewportScrollX||0),r=this.viewportScrollY+(e.viewportScrollY||0);return this._scrollToViewportPosCore({viewportScrollX:n,viewportScrollY:r},t)}transViewportScroll2ScrollValue(e,t){let n=e-this._paddingStartX,r=t-this._paddingStartY;if(this._scrollBar){n*=this._scrollBar.ratioScrollX,r*=this._scrollBar.ratioScrollY;let{scaleX:e,scaleY:t}=this.scene;n*=e,r*=t}else this.scrollX!==void 0&&(n=this.scrollX),this.scrollY!==void 0&&(r=this.scrollY);return{x:n,y:r}}transScroll2ViewportScrollValue(e,t){let n=e,r=t;if(this._scrollBar){let{scaleX:e,scaleY:t}=this.scene;this._scrollBar.ratioScrollX===0?n=this.viewportScrollX===void 0?0:this.viewportScrollX:(n/=this._scrollBar.ratioScrollX,n/=e),this._scrollBar.ratioScrollY===0?r=this.viewportScrollY===void 0?0:this.viewportScrollY:(r/=this._scrollBar.ratioScrollY,r/=t)}else n=this.viewportScrollX===void 0?0:this.viewportScrollX,r=this.viewportScrollY===void 0?0:this.viewportScrollY;let{scaleX:i,scaleY:a}=this._scene.getPrecisionScale();return{x:G(n+this._paddingStartX,i),y:G(r+this._paddingStartY,a)}}getViewportScrollByScrollXY(){let e=this.scrollX,t=this.scrollY;return this.transScroll2ViewportScrollValue(e,t)}getScrollBar(){return this._scrollBar}updateScrollVal(e){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;let{scrollX:t,scrollY:n,viewportScrollX:r,viewportScrollY:i}=e;return t!==void 0&&(this.scrollX=t),n!==void 0&&(this.scrollY=n),r!==void 0&&(this._preViewportScrollX=this.viewportScrollX,this.viewportScrollX=r),i!==void 0&&(this._preViewportScrollY=this.viewportScrollY,this.viewportScrollY=i),this}getScrollBarTransForm(){let e=Br.create();return e.multiply(Br.create([1,0,0,1,this._left,this._top])),e}shouldIntoRender(){return!(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)}render(e,t=[],n=!1){var r;if(!this.shouldIntoRender())return;let i=e||((r=this._scene.getEngine())==null?void 0:r.getCanvas().getContext()),a=this._scene.transform.clone();a.multiply(Br.create([1,0,0,1,-this.viewportScrollX||0,-this.viewportScrollY||0]));let o=a.getMatrix();i.save(),this._clipViewport&&(i.beginPath(),i.rect(this.left,this.top,this.width||0,this.height||0),i.clip()),i.transform(o[0],o[1],o[2],o[3],o[4],o[5]);let s=this.calcViewportInfo();for(let e=0,n=t.length;e<n;e++)t[e].render(i,s);if(this.markDirty(!1),this.markForceDirty(!1),this._preViewBound=this._viewBound,s.shouldCacheUpdate&&(this.preCacheBound=this._cacheBound),i.restore(),this._scrollBar&&n){i.save();let e=this.getScrollBarTransForm().getMatrix();i.transform(e[0],e[1],e[2],e[3],e[4],e[5]),this._drawScrollbar(i),i.restore()}this._afterRender()}_makeDefaultViewport(){return{viewBound:{left:-1,top:-1,right:-1,bottom:-1},diffBounds:[],diffX:-1,diffY:-1,viewPortPosition:{top:0,left:0,bottom:0,right:0},viewportKey:this.viewportKey,isDirty:0,isForceDirty:this.isForceDirty,allowCache:!1,cacheBound:{left:-1,top:-1,right:-1,bottom:-1},diffCacheBounds:[],cacheViewPortPosition:{top:0,left:0,bottom:0,right:0},shouldCacheUpdate:0,sceneTrans:Br.create([1,0,0,1,0,0]),leftOrigin:0,topOrigin:0,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY}}calcViewportInfo(){if(this.isActive===!1)return this._makeDefaultViewport();let e=this._scene.transform.clone(),t=this._width,n=this._height,r=this._calcViewPortSize();t=r.width,n=r.height;let i=this.left,a=(t||0)+this.left,o=this.top,s=(n||0)+this.top,c=this.transformVector2SceneCoord(Y.FromArray([i,o])),l=this.transformVector2SceneCoord(Y.FromArray([a,s])),u={left:c.x,right:l.x,top:c.y,bottom:l.y};this._viewBound=u;let d=this._preViewBound,f=this._diffViewBound(u,d),p=((d==null?void 0:d.left)||0)-u.left,m=((d==null?void 0:d.top)||0)-u.top,h={top:o,left:i,bottom:s,right:a},g=this.expandBounds(u);this.cacheBound=g,this.preCacheBound||(this.preCacheBound=this.expandBounds(u));let _=[];this._preCacheVisibleBound&&(p<0?this._preCacheVisibleBound.left-=p:p>0&&(this._preCacheVisibleBound.right-=p),m<0?this._preCacheVisibleBound.top-=m:m>0&&(this._preCacheVisibleBound.bottom-=m));let v=this.expandBounds(h),y=this._calcCacheUpdate(u,this._preCacheVisibleBound,p,m);return y&&(_=this._calcDiffCacheBound(this._preCacheBound,g)),{viewBound:u,diffBounds:f,diffX:p,diffY:m,viewPortPosition:h,viewportKey:this.viewportKey,isDirty:this.isDirty?2:0,isForceDirty:this.isForceDirty,allowCache:this._allowCache,cacheBound:g,diffCacheBounds:_,cacheViewPortPosition:v,shouldCacheUpdate:y,sceneTrans:e,cacheCanvas:this._cacheCanvas,leftOrigin:this._leftOrigin,topOrigin:this._topOrigin,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY,updatePrevCacheBounds:e=>{this.updatePrevCacheBounds(e)}}}getBounding(){return this.calcViewportInfo()}transformVector2SceneCoord(e){let t=this.scene.transform.clone().invert(),n=this.getViewportScrollByScrollXY();return t.applyPoint(e).add(Y.FromArray([n.x,n.y]))}getAbsoluteVector(e){let t=this.scene.transform.clone(),n=this.getViewportScrollByScrollXY();return t.applyPoint(e.subtract(Y.FromArray([n.x,n.y])))}onMouseWheel(e,t){if(!this._scrollBar||this.isActive===!1)return;let n=0,r=0,i=this._scene.width;n=(this.width||1)/i*e.deltaX;let a=this._scene.height,o=this.height||1;e.shiftKey?n=o/a*e.deltaY*3:r=o/a*e.deltaY;let s=this.scrollByBarDeltaValue({x:n,y:r});s&&!s.isLimitedX&&!s.isLimitedY&&(e.preventDefault(),this._scene.getParent().classType===W.SCENE_VIEWER&&t.stopPropagation()),this._isWheelPreventDefaultX&&this._isWheelPreventDefaultY&&e.preventDefault(),this._scene.makeDirty(!0)}isHit(e){if(this.isActive===!1)return!1;let{width:t,height:n}=this._calcViewPortSize();return e.x>=this.left&&e.x<=this.left+(t||0)&&e.y>=this.top&&e.y<=this.top+(n||0)}pickScrollBar(e){if(!this._scrollBar)return;let t=this.getScrollBarTransForm().invert().applyPoint(e);return this._scrollBar.pick(t)}openClip(){this._clipViewport=!0}closeClip(){this._clipViewport=!1}dispose(){var e,t;this.onMouseWheel$.complete(),this.onScrollAfter$.complete(),this.onScrollEnd$.complete(),(e=this._scrollBar)==null||e.dispose(),(t=this._cacheCanvas)==null||t.dispose(),this._scene.removeViewport(this._viewportKey)}limitedScroll(e,t){var n,r,i,a;if(!this._scrollBar)return{scrollX:0,scrollY:0,isLimitedX:!1,isLimitedY:!1};e=(n=e)==null?this.scrollX:n,t=(r=t)==null?this.scrollY:r;let{height:o,width:s}=this._calcViewPortSize();this._sceneWCurrVpAfterScale<=s&&(e=0),this._sceneHCurrVpAfterScale<=o&&(t=0);let c=(i=this._scrollBar)==null?void 0:i.limitX,l=(a=this._scrollBar)==null?void 0:a.limitY,u=!1,d=!1;return(e<0||e>c)&&(u=!0),(t<0||t>l)&&(d=!0),e=B.clamp(e,0,c),t=B.clamp(t,0,l),{scrollX:e,scrollY:t,isLimitedX:u,isLimitedY:d}}_limitViewportScroll(e,t){var n,r;let{width:i,height:a}=this._calcViewPortSize(),o=this._paddingEndY-this._paddingStartY,s=this._paddingEndX-this._paddingStartX,c=this.scene.scaleY,l=this.scene.scaleX,u=(n=(r=this.getScrollBar())==null?void 0:r.totalSize)==null?0:n,d=this._sceneWidthAfterScale-this._marginLeft*l-s*l-i+u,f=this._sceneHeightAfterScale-this._marginTop*c-o*c-a+u;return{viewportScrollX:B.clamp(e,this._paddingStartX,d/l),viewportScrollY:B.clamp(t,this._paddingStartY,f/c),isLimitedX:e>d,isLimitedY:t>f}}markDirty(e){e===void 0&&(e=!0),this._isDirty=e}get isDirty(){return this._isDirty}markForceDirty(e){e===void 0&&(e=!0),this._isForceDirty=e}resetPrevCacheBounds(){this._preCacheBound=null}get isForceDirty(){return this._isForceDirty}_resizeCacheCanvas(){var e;let{width:t,height:n}=this._calcViewPortSize();this.width=t,this.height=n;let r=this.scene.scaleX,i=this.scene.scaleY,a=t===0?0:t+this.bufferEdgeX*2*r,o=n===0?0:n+this.bufferEdgeY*2*i;(e=this._cacheCanvas)==null||e.setSize(a,o),this.cacheBound=this._viewBound,this.preCacheBound=null,this.markForceDirty(!0)}_updateScrollByViewportScrollValue(){if(!this.width||this.width<0||!this.height||this.height<0)return;let{width:e,height:t}=this._calcViewPortSize(),n=(this._scene.width-this._marginLeft-this._paddingEndX)*this._scene.scaleX,r=(this._scene.height-this._marginTop-this._paddingEndY)*this._scene.scaleY;if(this._sceneWCurrVpAfterScale=n,this._sceneHCurrVpAfterScale=r,this._sceneWidthAfterScale=this._scene.width*this._scene.scaleX,this._sceneHeightAfterScale=this._scene.height*this._scene.scaleY,this._scrollBar){this._scrollBar.resize(e,t,n,r);let i=this.viewportScrollX,a=this.viewportScrollY;this.scrollToViewportPos({viewportScrollX:i,viewportScrollY:a})}this.markForceDirty(!0)}_calcViewPortSize(){let{width:e,height:t}=this._scene.getParent(),{scaleX:n=1,scaleY:r=1}=this._scene,i,a,o=this._leftOrigin*n,s=this._topOrigin*r;return this._left=o,this._top=s,i=B.isDefine(this._widthOrigin)?(this._widthOrigin||0)*n:e-(this._left+this._right),a=B.isDefine(this._heightOrigin)?(this._heightOrigin||0)*r:t-(this._top+this._bottom),{width:i,height:a,parentHeight:t}}_afterRender(){}_emitScrollEnd$(e){clearTimeout(this._scrollStopNum),this._scrollStopNum=setTimeout(()=>{var t,n;this.onScrollEnd$.emitEvent({rawScrollX:e.rawScrollX,rawScrollY:e.rawScrollY,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:(t=this._scrollBar)==null?void 0:t.limitX,limitY:(n=this._scrollBar)==null?void 0:n.limitY,isTrigger:!1})},2)}_scrollToBarPosCore(e,t=!0){var n,r,i,a,o;if(this._scrollBar==null)return;let s=e.x,c=e.y,l=this.limitedScroll(s,c),u=this.transScroll2ViewportScrollValue(l.scrollX,l.scrollY);this.scrollX=s=l.scrollX,this.scrollY=c=l.scrollY,this.viewportScrollX=u.x,this.viewportScrollY=u.y;let d={viewport:this,scrollX:s,scrollY:c,viewportScrollX:u.x,viewportScrollY:u.y,rawScrollX:e.x,rawScrollY:e.y,limitX:(n=this._scrollBar)==null?void 0:n.limitX,limitY:(r=this._scrollBar)==null?void 0:r.limitY,isTrigger:t};return(i=this._scrollBar)==null||i.makeDirty(!0),this.onScrollAfter$.emitEvent(d),this._emitScrollEnd$(d),this.onScrollByBar$.emitEvent({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:(a=this._scrollBar)==null?void 0:a.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:t}),l}_scrollToViewportPosCore(e,t=!0){var n,r,i,a,o;if(this._scrollBar==null)return;let s=(n=e.viewportScrollX)==null?this.viewportScrollX:n,c=(r=e.viewportScrollY)==null?this.viewportScrollY:r,l=this.transViewportScroll2ScrollValue(s,c),u=this._limitViewportScroll(s,c);s=u.viewportScrollX,c=u.viewportScrollY;let d=this.transViewportScroll2ScrollValue(s,c),f=d.x,p=d.y;this._preScrollX=this.scrollX,this._preScrollY=this.scrollY,this._preViewportScrollX=this.viewportScrollX,this._preViewportScrollY=this.viewportScrollY,this.scrollX=f,this.scrollY=p,this.viewportScrollX=s,this.viewportScrollY=c;let m={isTrigger:t,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:s,viewportScrollY:c,rawScrollX:l.x,rawScrollY:l.y,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(a=this._scrollBar)==null?void 0:a.limitY};return(o=this._scrollBar)==null||o.makeDirty(!0),this.onScrollAfter$.emitEvent(m),this._emitScrollEnd$(m),u}expandBounds(e){return{left:e.left-this.bufferEdgeX-0,right:e.right+this.bufferEdgeX+0,top:e.top-this.bufferEdgeY-0,bottom:e.bottom+this.bufferEdgeY+0}}updatePrevCacheBounds(e){e&&(this.preCacheBound=this.cacheBound=this.expandBounds(e))}_calcCacheUpdate(e,t,n,r){if(!this._cacheCanvas)return 0;if(!t)return 1;let i=e.right>t.right||e.top<t.top||e.left<t.left||e.bottom>t.bottom?1:0,a=this.bufferEdgeX/50,o=this.bufferEdgeY/50;return(t.right-e.right<a||e.left-t.left<a||e.top-t.top<o||t.bottom-e.bottom<o?5:0)|i}_diffViewBound(e,t){return t==null?[e]:od({startRow:e.top,endRow:e.bottom,startColumn:e.left,endColumn:e.right},{startRow:t.top,endRow:t.bottom,startColumn:t.left,endColumn:t.right}).map(e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return{left:r,top:t,right:i,bottom:n}})}_calcDiffCacheBound(e,t){if(!e)return[t];let n=[];t.left<e.left&&n.push({top:t.top,bottom:t.bottom,left:t.left,right:e.left}),t.right>e.right&&n.push({top:t.top,bottom:t.bottom,left:e.right,right:t.right}),t.top<e.top&&n.push({top:t.top,bottom:e.top,left:Math.max(e.left,t.left),right:Math.min(e.right,t.right)}),t.bottom>e.bottom&&n.push({top:e.bottom,bottom:t.bottom,left:Math.max(e.left,t.left),right:Math.min(e.right,t.right)});let r=this.bufferEdgeX,i=this.bufferEdgeY;for(let e of n)e.left-=r,e.right+=r,e.top-=i,e.bottom+=i;return n}_drawScrollbar(e){if(!this._scrollBar)return;let t=this._scene.getParent();(t.classType===W.SCENE_VIEWER||t.classType===W.ENGINE)&&this._scrollBar.render(e)}setViewportSize(e){B.isDefine(e==null?void 0:e.top)&&(this.top=e.top),B.isDefine(e==null?void 0:e.left)&&(this.left=e.left),B.isDefine(e==null?void 0:e.bottom)&&(this.bottom=e.bottom),B.isDefine(e==null?void 0:e.right)&&(this.right=e.right),B.isDefine(e==null?void 0:e.width)&&(this.width=e==null?void 0:e.width,this._widthOrigin=e==null?void 0:e.width),B.isDefine(e==null?void 0:e.height)&&(this.height=e==null?void 0:e.height,this._heightOrigin=e==null?void 0:e.height)}};export{Vr as BASE_OBJECT_ARRAY,di as BG_Z_INDEX,U as BORDER_TYPE,li as BORDER_Z_INDEX,xi as Background,Ur as BaseObject,Si as Border,qn as BreakType,Bl as CHECK_OBJECT_ARRAY,Hl as CIRCLE_OBJECT_ARRAY,ht as COLOR_BLACK_RGB,H as CURSOR_TYPE,Yr as Canvas,Mu as CanvasColorService,Jr as CanvasRenderMode,Vl as CheckboxShape,Ul as Circle,wi as ColumnHeaderLayout,$r as ComponentExtension,Wl as Control,Ei as Custom,Cu as CustomObject,pt as DEFAULT_DOCUMENT_FONTSIZE,ct as DEFAULT_FONTFACE_PLANE,Ar as DEFAULT_FRAME_LIST_SIZE,kr as DEFAULT_FRAME_SAMPLE_SIZE,Wn as DEFAULT_MEASURE_TEXT,ft as DEFAULT_OFFSET_SPACING,Sl as DEFAULT_PADDING_DATA,dt as DEFAULT_SKELETON_FOOTER,ut as DEFAULT_SKELETON_HEADER,mt as DOCUMENT_CONTEXT_CLIP_TYPE,St as DRAWING_OBJECT_LAYER_INDEX,xt as DRAWING_OBJECT_LOWER_LAYER_INDEX,Ct as DRAWING_OBJECT_UPPER_LAYER_INDEX,ql as DashedRect,ga as DataStreamTreeNode,wr as DeviceInputEventType,Er as DeviceType,Su as DocBackground,la as DocSimpleSkeleton,_a as DocumentEditArea,hl as DocumentSkeleton,J as DocumentSkeletonPageType,ba as DocumentViewModel,ou as Documents,ri as DocumentsSpanAndLineExtensionRegistry,Jl as Drawing,Tu as DrawingGroupObject,ju as DumbCanvasColorService,pi as EXPAND_SIZE_FOR_RENDER_OVERFLOW,Fu as Engine,Tr as EventConstants,bt as FIX_ONE_PIXEL_BLUR_OFFSET,ui as FONT_EXTENSION_Z_INDEX,kl as Font,q as FontCache,Yn as GlyphType,wu as Group,Zr as HitCanvas,Au as ICanvasColorService,zr as INITIAL_MATRIX,Dr as INITIAL_Path2,$u as IRenderManagerService,id as IRenderingEngine,cu as IWatermarkTypeEnum,Yl as Image,It as IsSafari,ot as LINK_VIEW_PORT_TYPE,pu as Layer,Jn as LineType,ha as Liquid,Ju as MAIN_VIEW_PORT_KEY,vt as MAXIMUM_COL_WIDTH,_t as MAXIMUM_ROW_HEIGHT,gi as MEASURE_EXTENT,_i as MEASURE_EXTENT_FOR_PARAGRAPH,st as MIDDLE_CELL_POS_MAGIC_NUMBER,yt as MIN_COL_WIDTH,jl as Marker,Fr as NORMAL_TEXT_SELECTION_PLUGIN_STYLE,gt as ORIENTATION_TYPE,Hr as ObjectType,Xl as PATH_OBJECT_ARRAY,fi as PRINTING_BG_Z_INDEX,Xn as PageLayoutType,Zl as Path,Or as Path2,Nr as PerformanceMonitor,X as PointerInput,Gl as RECT_OBJECT_ARRAY,Ql as REGULAR_POLYGON_OBJECT_ARRAY,W as RENDER_CLASS_TYPE,Cl as RENDER_RAW_FORMULA_KEY,eu as RICHTEXT_OBJECT_ARRAY,Kl as Rect,$l as RegularPolygon,Qr as RenderComponent,Qu as RenderManagerService,Xu as RenderUnit,tu as RichText,Pr as RollingAverage,Nl as RowHeaderLayout,da as SHAPE_OBJECT_ARRAY,at as SHAPE_TYPE,yi as SHEET_EXTENSION_PREFIX,vi as SHEET_EXTENSION_TYPE,ci as SHEET_VIEWPORT_KEY,yu as SLIDE_NAVIGATION_KEY,Yu as Scene,Xr as SceneCanvas,vu as SceneViewer,nu as ScrollBar,Uu as ScrollTimer,Vu as ScrollTimerType,fa as Shape,ni as SheetColumnHeaderExtensionRegistry,ii as SheetComponent,bi as SheetExtension,ti as SheetRowHeaderExtensionRegistry,si as ShowGridlinesState,Kn as SkeletonType,xu as Slide,su as Spreadsheet,oi as SpreadsheetColumnHeader,ei as SpreadsheetExtensionRegistry,ai as SpreadsheetHeader,Pl as SpreadsheetRowHeader,wl as SpreadsheetSkeleton,pa as TEXT_OBJECT_ARRAY,Z as TRANSFORM_CHANGE_OBSERVABLE_TYPE,ma as Text,Br as Transform,gu as UNIVER_WATERMARK_LAYER_INDEX,hu as UNIVER_WATERMARK_STORAGE_KEY,qr as UniverPrintingContext,ad as UniverRenderEnginePlugin,Kr as UniverRenderingContext,Gr as UniverRenderingContext2D,Lr as VERTICAL_ROTATE_ANGLE,Y as Vector2,sd as Viewport,mu as WatermarkLayer,mr as calculateRectRotate,At as cancelRequestFrame,jn as checkStyle,zn as clampRange,lr as clearLineByBorderType,Rr as convertTextRotation,Tl as convertTransformToOffsetX,El as convertTransformToOffsetY,jt as createCanvasElement,Mt as createImageElement,Pt as degToRad,cr as drawDiagonalLineByBorderType,ar as drawLineByBorderType,Rn as expandRangeIfIntersects,G as fixLineWidthByScale,Lt as generateRandomKey,En as getCellByIndexWithMergeInfo,wn as getCellPositionByIndex,is as getCharSpaceApply,Dt as getColor,Ir as getCurrentScrollXY,td as getCurrentTypeOfRenderer,vn as getDPI,ir as getDevicePixelRatio,Dl as getDocsSkeletonPageSize,br as getDrawingGroupState,sn as getFirstGrapheme,qt as getFontStyleString,yr as getGroupState,Zo as getLastColumn,Qo as getLastLine,dr as getLineOffset,pr as getLineWidth,fr as getLineWith,rs as getNumberUnitValue,Wr as getOffsetRectForDom,Ms as getPageFromPath,tr as getParagraphByGlyph,Ft as getPointerPrefix,Sr as getRenderTransformBaseOnParentBound,gr as getRotateOffsetAndFarthestHypotenuse,hr as getRotateOrientation,Cr as getRotatedBoundInGroup,Cn as getScale,Nn as getSizeForDom,Bn as getSystemHighlightColor,yo as getTableIdAndSliceIndex,_r as getTranslateInSpreadContextWithPixelRatio,Rt as getValueType,us as glyphIterator,en as hasAllLatin,un as hasArabic,tn as hasBasicLatin,Zt as hasCJK,$t as hasCJKPunctuation,Yt as hasCJKText,rn as hasLatinExtendedA,an as hasLatinExtendedB,nn as hasLatinOneSupplement,Zn as hasListGlyph,fn as hasSpace,dn as hasTibetan,Dn as hasUnMergedCellInRow,Ln as inViewRanges,An as injectStyle,Ht as isArray,hn as isCjkCenterAlignedPunctuation,pn as isCjkLeftAlignedPunctuation,mn as isCjkRightAlignedPunctuation,Bt as isDate,cn as isEmojiGrapheme,er as isFirstGlyph,zt as isFunction,Qn as isIndentByGlyph,$n as isLastGlyph,Wt as isNumber,Gt as isObject,nr as isPlaceholderOrSpace,kn as isRectIntersect,Vt as isRegExp,rr as isSameLine,Ut as isString,ds as lineIterator,On as mergeInfoOffset,ya as parseDataStreamToTree,In as pixelToPt,Kt as precisionTo,xn as ptToMM,Fn as ptToPixel,yn as ptToPx,Sn as pxToInch,Mn as pxToNum,bn as pxToPt,Nt as radToDeg,fu as renderImageWatermark,du as renderTextWatermark,uu as renderUserInfoWatermark,lu as renderWatermark,kt as requestNewFrame,ur as setLineType,mi as sheetContentViewportKeys,hi as sheetHeaderViewportKeys,ln as startWithEmoji,Ot as toPx,xr as transformObjectOutOfGroup,nd as withCurrentTypeOfRenderer};