superdoc 2.5.0 β†’ 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -99,10 +99,10 @@ js: import "konva/skia-backend";
99
99
  `,k_=()=>{if(typeof document>"u")throw new Error(hD)},Qi=class cI{constructor(t=[1,0,0,1,0,0]){this.dirty=!1,this.m=t&&t.slice()||[1,0,0,1,0,0]}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 cI(this.m)}copyInto(t){t.m[0]=this.m[0],t.m[1]=this.m[1],t.m[2]=this.m[2],t.m[3]=this.m[3],t.m[4]=this.m[4],t.m[5]=this.m[5]}point(t){const n=this.m;return{x:n[0]*t.x+n[2]*t.y+n[4],y:n[1]*t.x+n[3]*t.y+n[5]}}translate(t,n){return this.m[4]+=this.m[0]*t+this.m[2]*n,this.m[5]+=this.m[1]*t+this.m[3]*n,this}scale(t,n){return this.m[0]*=t,this.m[1]*=t,this.m[2]*=n,this.m[3]*=n,this}rotate(t){const n=Math.cos(t),r=Math.sin(t),o=this.m[0]*n+this.m[2]*r,i=this.m[1]*n+this.m[3]*r,s=this.m[0]*-r+this.m[2]*n,a=this.m[1]*-r+this.m[3]*n;return this.m[0]=o,this.m[1]=i,this.m[2]=s,this.m[3]=a,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(t,n){const r=this.m[0]+this.m[2]*n,o=this.m[1]+this.m[3]*n,i=this.m[2]+this.m[0]*t,s=this.m[3]+this.m[1]*t;return this.m[0]=r,this.m[1]=o,this.m[2]=i,this.m[3]=s,this}multiply(t){const n=this.m[0]*t.m[0]+this.m[2]*t.m[1],r=this.m[1]*t.m[0]+this.m[3]*t.m[1],o=this.m[0]*t.m[2]+this.m[2]*t.m[3],i=this.m[1]*t.m[2]+this.m[3]*t.m[3],s=this.m[0]*t.m[4]+this.m[2]*t.m[5]+this.m[4],a=this.m[1]*t.m[4]+this.m[3]*t.m[5]+this.m[5];return this.m[0]=n,this.m[1]=r,this.m[2]=o,this.m[3]=i,this.m[4]=s,this.m[5]=a,this}invert(){const t=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),n=this.m[3]*t,r=-this.m[1]*t,o=-this.m[2]*t,i=this.m[0]*t,s=t*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),a=t*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=n,this.m[1]=r,this.m[2]=o,this.m[3]=i,this.m[4]=s,this.m[5]=a,this}getMatrix(){return this.m}decompose(){const t=this.m[0],n=this.m[1],r=this.m[2],o=this.m[3],i=this.m[4],s=this.m[5],a=t*o-n*r,l={x:i,y:s,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(t!=0||n!=0){const c=Math.sqrt(t*t+n*n);l.rotation=n>0?Math.acos(t/c):-Math.acos(t/c),l.scaleX=c,l.scaleY=a/c,l.skewX=(t*r+n*o)/a,l.skewY=0}else if(r!=0||o!=0){const c=Math.sqrt(r*r+o*o);l.rotation=Math.PI/2-(o>0?Math.acos(-r/c):-Math.acos(r/c)),l.scaleX=a/c,l.scaleY=c,l.skewX=0,l.skewY=(t*r+n*o)/a}return l.rotation=xe._getRotation(l.rotation),l}},pD="[object Array]",mD="[object Number]",gD="[object String]",vD="[object Boolean]",yD=Math.PI/180,bD=180/Math.PI,hf="#",wD="",CD="0",kD="Konva warning: ",S_="Konva error: ",SD="rgb(",S0={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},_D=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,jp=[],pf=null,AD=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(e){setTimeout(e,16)},xe={_isElement(e){return!!(e&&e.nodeType==1)},_isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)},_isPlainObject(e){return!!e&&e.constructor===Object},_isArray(e){return Object.prototype.toString.call(e)===pD},_isNumber(e){return Object.prototype.toString.call(e)===mD&&!isNaN(e)&&isFinite(e)},_isString(e){return Object.prototype.toString.call(e)===gD},_isBoolean(e){return Object.prototype.toString.call(e)===vD},isObject(e){return e instanceof Object},isValidSelector(e){if(typeof e!="string")return!1;const t=e[0];return t==="#"||t==="."||t===t.toUpperCase()},_sign(e){return e===0||e>0?1:-1},requestAnimFrame(e){jp.push(e),jp.length===1&&AD(function(){const t=jp;jp=[],t.forEach(function(n){n()})})},createCanvasElement(){k_();const e=document.createElement("canvas");try{e.style=e.style||{}}catch{}return e},createImageElement(){return k_(),document.createElement("img")},_isInDocument(e){for(;e=e.parentNode;)if(e==document)return!0;return!1},_urlToImage(e,t){const n=xe.createImageElement();n.onload=function(){t(n)},n.src=e},_rgbToHex(e,t,n){return((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)},_hexToRgb(e){e=e.replace(hf,wD);const t=parseInt(e,16);return{r:t>>16&255,g:t>>8&255,b:t&255}},getRandomColor(){let e=(Math.random()*16777215<<0).toString(16);for(;e.length<6;)e=CD+e;return hf+e},isCanvasFarblingActive(){if(pf!==null)return pf;if(typeof document>"u")return pf=!1,!1;const e=this.createCanvasElement();e.width=10,e.height=10;const t=e.getContext("2d",{willReadFrequently:!0});t.clearRect(0,0,10,10),t.fillStyle="#282828",t.fillRect(0,0,10,10);const n=t.getImageData(0,0,10,10).data;let r=!1;for(let o=0;o<100;o++)if(n[o*4]!==40||n[o*4+1]!==40||n[o*4+2]!==40||n[o*4+3]!==255){r=!0;break}return pf=r,this.releaseCanvas(e),pf},getHitColor(){const e=this.getRandomColor();return this.isCanvasFarblingActive()?this.getSnappedHexColor(e):e},getHitColorKey(e,t,n){return this.isCanvasFarblingActive()&&(e=Math.round(e/5)*5,t=Math.round(t/5)*5,n=Math.round(n/5)*5),hf+this._rgbToHex(e,t,n)},getSnappedHexColor(e){const t=this._hexToRgb(e);return hf+this._rgbToHex(Math.round(t.r/5)*5,Math.round(t.g/5)*5,Math.round(t.b/5)*5)},getRGB(e){let t;return e in S0?(t=S0[e],{r:t[0],g:t[1],b:t[2]}):e[0]===hf?this._hexToRgb(e.substring(1)):e.substr(0,4)===SD?(t=_D.exec(e.replace(/ /g,"")),{r:parseInt(t[1],10),g:parseInt(t[2],10),b:parseInt(t[3],10)}):{r:0,g:0,b:0}},colorToRGBA(e){return e=e||"black",xe._namedColorToRBA(e)||xe._hex3ColorToRGBA(e)||xe._hex4ColorToRGBA(e)||xe._hex6ColorToRGBA(e)||xe._hex8ColorToRGBA(e)||xe._rgbColorToRGBA(e)||xe._rgbaColorToRGBA(e)||xe._hslColorToRGBA(e)},_namedColorToRBA(e){const t=S0[e.toLowerCase()];return t?{r:t[0],g:t[1],b:t[2],a:1}:null},_rgbColorToRGBA(e){if(e.indexOf("rgb(")===0){e=e.match(/rgb\(([^)]+)\)/)[1];const t=e.split(/ *, */).map(Number);return{r:t[0],g:t[1],b:t[2],a:1}}},_rgbaColorToRGBA(e){if(e.indexOf("rgba(")===0){e=e.match(/rgba\(([^)]+)\)/)[1];const t=e.split(/ *, */).map((n,r)=>n.slice(-1)==="%"?r===3?parseInt(n)/100:parseInt(n)/100*255:Number(n));return{r:t[0],g:t[1],b:t[2],a:t[3]}}},_hex8ColorToRGBA(e){if(e[0]==="#"&&e.length===9)return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:parseInt(e.slice(7,9),16)/255}},_hex6ColorToRGBA(e){if(e[0]==="#"&&e.length===7)return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:1}},_hex4ColorToRGBA(e){if(e[0]==="#"&&e.length===5)return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:parseInt(e[4]+e[4],16)/255}},_hex3ColorToRGBA(e){if(e[0]==="#"&&e.length===4)return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:1}},_hslColorToRGBA(e){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(e)){const[t,...n]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e),r=Number(n[0])/360,o=Number(n[1])/100,i=Number(n[2])/100;let s,a,l;if(o===0)return l=i*255,{r:Math.round(l),g:Math.round(l),b:Math.round(l),a:1};i<.5?s=i*(1+o):s=i+o-i*o;const c=2*i-s,d=[0,0,0];for(let f=0;f<3;f++)a=r+1/3*-(f-1),a<0&&a++,a>1&&a--,6*a<1?l=c+(s-c)*6*a:2*a<1?l=s:3*a<2?l=c+(s-c)*(2/3-a)*6:l=c,d[f]=l*255;return{r:Math.round(d[0]),g:Math.round(d[1]),b:Math.round(d[2]),a:1}}},haveIntersection(e,t){return!(t.x>e.x+e.width||t.x+t.width<e.x||t.y>e.y+e.height||t.y+t.height<e.y)},cloneObject(e){const t={};for(const n in e)this._isPlainObject(e[n])?t[n]=this.cloneObject(e[n]):this._isArray(e[n])?t[n]=this.cloneArray(e[n]):t[n]=e[n];return t},cloneArray(e){return e.slice(0)},degToRad(e){return e*yD},radToDeg(e){return e*bD},_degToRad(e){return xe.warn("Util._degToRad is removed. Please use public Util.degToRad instead."),xe.degToRad(e)},_radToDeg(e){return xe.warn("Util._radToDeg is removed. Please use public Util.radToDeg instead."),xe.radToDeg(e)},_getRotation(e){return kt.angleDeg?xe.radToDeg(e):e},_capitalize(e){return e.charAt(0).toUpperCase()+e.slice(1)},throw(e){throw new Error(S_+e)},error(e){console.error(S_+e)},warn(e){kt.showWarnings&&console.warn(kD+e)},each(e,t){for(const n in e)t(n,e[n])},_inRange(e,t,n){return t<=e&&e<n},_getProjectionToSegment(e,t,n,r,o,i){let s,a,l;const c=(e-n)*(e-n)+(t-r)*(t-r);if(c==0)s=e,a=t,l=(o-n)*(o-n)+(i-r)*(i-r);else{const d=((o-e)*(n-e)+(i-t)*(r-t))/c;d<0?(s=e,a=t,l=(e-o)*(e-o)+(t-i)*(t-i)):d>1?(s=n,a=r,l=(n-o)*(n-o)+(r-i)*(r-i)):(s=e+d*(n-e),a=t+d*(r-t),l=(s-o)*(s-o)+(a-i)*(a-i))}return[s,a,l]},_getProjectionToLine(e,t,n){const r=xe.cloneObject(e);let o=Number.MAX_VALUE;return t.forEach(function(i,s){if(!n&&s===t.length-1)return;const a=t[(s+1)%t.length],l=xe._getProjectionToSegment(i.x,i.y,a.x,a.y,e.x,e.y),c=l[0],d=l[1],f=l[2];f<o&&(r.x=c,r.y=d,o=f)}),r},_prepareArrayForTween(e,t,n){const r=[],o=[];if(e.length>t.length){const s=t;t=e,e=s}for(let s=0;s<e.length;s+=2)r.push({x:e[s],y:e[s+1]});for(let s=0;s<t.length;s+=2)o.push({x:t[s],y:t[s+1]});const i=[];return o.forEach(function(s){const a=xe._getProjectionToLine(s,r,n);i.push(a.x),i.push(a.y)}),i},_prepareToStringify(e){let t;e.visitedByCircularReferenceRemoval=!0;for(const n in e)if(e.hasOwnProperty(n)&&e[n]&&typeof e[n]=="object"){if(t=Object.getOwnPropertyDescriptor(e,n),e[n].visitedByCircularReferenceRemoval||xe._isElement(e[n]))if(t.configurable)delete e[n];else return null;else if(xe._prepareToStringify(e[n])===null)if(t.configurable)delete e[n];else return null}return delete e.visitedByCircularReferenceRemoval,e},_assign(e,t){for(const n in t)e[n]=t[n];return e},_getFirstPointerId(e){return e.touches?e.changedTouches[0].identifier:e.pointerId||999},releaseCanvas(...e){kt.releaseCanvasOnDestroy&&e.forEach(t=>{t.width=0,t.height=0})},drawRoundedRectPath(e,t,n,r){let o=t<0?t:0,i=n<0?n:0;t=Math.abs(t),n=Math.abs(n);let s=0,a=0,l=0,c=0;typeof r=="number"?s=a=l=c=Math.min(r,t/2,n/2):(s=Math.min(r[0]||0,t/2,n/2),a=Math.min(r[1]||0,t/2,n/2),c=Math.min(r[2]||0,t/2,n/2),l=Math.min(r[3]||0,t/2,n/2)),e.moveTo(o+s,i),e.lineTo(o+t-a,i),e.arc(o+t-a,i+a,a,Math.PI*3/2,0,!1),e.lineTo(o+t,i+n-c),e.arc(o+t-c,i+n-c,c,0,Math.PI/2,!1),e.lineTo(o+l,i+n),e.arc(o+l,i+n-l,l,Math.PI/2,Math.PI,!1),e.lineTo(o,i+s),e.arc(o+s,i+s,s,Math.PI,Math.PI*3/2,!1)},drawRoundedPolygonPath(e,t,n,r,o){r=Math.abs(r);for(let i=0;i<n;i++){const s=t[(i-1+n)%n],a=t[i],l=t[(i+1)%n],c={x:a.x-s.x,y:a.y-s.y},d={x:l.x-a.x,y:l.y-a.y},f=Math.hypot(c.x,c.y),h=Math.hypot(d.x,d.y);let g;typeof o=="number"?g=o:g=i<o.length?o[i]:0,g=r*Math.cos(Math.PI/n)*Math.min(1,g/r*2);const m={x:c.x/f,y:c.y/f},v={x:d.x/h,y:d.y/h},k={x:a.x-m.x*g,y:a.y-m.y*g},C={x:a.x+v.x*g,y:a.y+v.y*g};i===0?e.moveTo(k.x,k.y):e.lineTo(k.x,k.y),e.arcTo(a.x,a.y,C.x,C.y,g)}}};function ID(e){const t=[],n=e.length,r=xe;for(let o=0;o<n;o++){let i=e[o];r._isNumber(i)?i=Math.round(i*1e3)/1e3:r._isString(i)||(i=i+""),t.push(i)}return t}var __=",",xD="(",ED=")",TD="([",RD="])",MD=";",LD="()",PD="=",A_=["arc","arcTo","beginPath","bezierCurveTo","clearRect","clip","closePath","createLinearGradient","createPattern","createRadialGradient","drawImage","ellipse","fill","fillText","getImageData","createImageData","lineTo","moveTo","putImageData","quadraticCurveTo","rect","roundRect","restore","rotate","save","scale","setLineDash","setTransform","stroke","strokeText","transform","translate"],DD=["fillStyle","strokeStyle","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","letterSpacing","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","direction","font","textAlign","textBaseline","globalAlpha","globalCompositeOperation","imageSmoothingEnabled","filter"],OD=100,Up=null;function I_(){if(Up!==null)return Up;try{const e=xe.createCanvasElement().getContext("2d");return e?!!e&&"filter"in e:(Up=!1,!1)}catch{return Up=!1,!1}}var Hp=class{constructor(e){this.canvas=e,kt.enableTrace&&(this.traceArr=[],this._enableTrace())}fillShape(e){e.fillEnabled()&&this._fill(e)}_fill(e){}strokeShape(e){e.hasStroke()&&this._stroke(e)}_stroke(e){}fillStrokeShape(e){e.attrs.fillAfterStrokeEnabled?(this.strokeShape(e),this.fillShape(e)):(this.fillShape(e),this.strokeShape(e))}getTrace(e,t){let n=this.traceArr,r=n.length,o="",i,s,a,l;for(i=0;i<r;i++)s=n[i],a=s.method,a?(l=s.args,o+=a,e?o+=LD:xe._isArray(l[0])?o+=TD+l.join(__)+RD:(t&&(l=l.map(c=>typeof c=="number"?Math.floor(c):c)),o+=xD+l.join(__)+ED)):(o+=s.property,e||(o+=PD+s.val)),o+=MD;return o}clearTrace(){this.traceArr=[]}_trace(e){let t=this.traceArr,n;t.push(e),n=t.length,n>=OD&&t.shift()}reset(){const e=this.getCanvas().getPixelRatio();this.setTransform(1*e,0,0,1*e,0,0)}getCanvas(){return this.canvas}clear(e){const t=this.getCanvas();e?this.clearRect(e.x||0,e.y||0,e.width||0,e.height||0):this.clearRect(0,0,t.getWidth()/t.pixelRatio,t.getHeight()/t.pixelRatio)}_applyLineCap(e){const t=e.attrs.lineCap;t&&this.setAttr("lineCap",t)}_applyOpacity(e){const t=e.getAbsoluteOpacity();t!==1&&this.setAttr("globalAlpha",t)}_applyLineJoin(e){const t=e.attrs.lineJoin;t&&this.setAttr("lineJoin",t)}_applyMiterLimit(e){const t=e.attrs.miterLimit;t!=null&&this.setAttr("miterLimit",t)}setAttr(e,t){this._context[e]=t}arc(e,t,n,r,o,i){this._context.arc(e,t,n,r,o,i)}arcTo(e,t,n,r,o){this._context.arcTo(e,t,n,r,o)}beginPath(){this._context.beginPath()}bezierCurveTo(e,t,n,r,o,i){this._context.bezierCurveTo(e,t,n,r,o,i)}clearRect(e,t,n,r){this._context.clearRect(e,t,n,r)}clip(...e){this._context.clip.apply(this._context,e)}closePath(){this._context.closePath()}createImageData(e,t){const n=arguments;if(n.length===2)return this._context.createImageData(e,t);if(n.length===1)return this._context.createImageData(e)}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,o,i){return this._context.createRadialGradient(e,t,n,r,o,i)}drawImage(e,t,n,r,o,i,s,a,l){const c=arguments,d=this._context;c.length===3?d.drawImage(e,t,n):c.length===5?d.drawImage(e,t,n,r,o):c.length===9&&d.drawImage(e,t,n,r,o,i,s,a,l)}ellipse(e,t,n,r,o,i,s,a){this._context.ellipse(e,t,n,r,o,i,s,a)}isPointInPath(e,t,n,r){return n?this._context.isPointInPath(n,e,t,r):this._context.isPointInPath(e,t,r)}fill(...e){this._context.fill.apply(this._context,e)}fillRect(e,t,n,r){this._context.fillRect(e,t,n,r)}strokeRect(e,t,n,r){this._context.strokeRect(e,t,n,r)}fillText(e,t,n,r){r?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)}moveTo(e,t){this._context.moveTo(e,t)}rect(e,t,n,r){this._context.rect(e,t,n,r)}roundRect(e,t,n,r,o){this._context.roundRect(e,t,n,r,o)}putImageData(e,t,n){this._context.putImageData(e,t,n)}quadraticCurveTo(e,t,n,r){this._context.quadraticCurveTo(e,t,n,r)}restore(){this._context.restore()}rotate(e){this._context.rotate(e)}save(){this._context.save()}scale(e,t){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,t,n,r,o,i){this._context.setTransform(e,t,n,r,o,i)}stroke(e){e?this._context.stroke(e):this._context.stroke()}strokeText(e,t,n,r){this._context.strokeText(e,t,n,r)}transform(e,t,n,r,o,i){this._context.transform(e,t,n,r,o,i)}translate(e,t){this._context.translate(e,t)}_enableTrace(){let e=this,t=A_.length,n=this.setAttr,r,o;const i=function(s){let a=e[s],l;e[s]=function(){return o=ID(Array.prototype.slice.call(arguments,0)),l=a.apply(e,arguments),e._trace({method:s,args:o}),l}};for(r=0;r<t;r++)i(A_[r]);e.setAttr=function(){n.apply(e,arguments);const s=arguments[0];let a=arguments[1];(s==="shadowOffsetX"||s==="shadowOffsetY"||s==="shadowBlur")&&(a=a/this.canvas.getPixelRatio()),e._trace({property:s,val:a})}}_applyGlobalCompositeOperation(e){const t=e.attrs.globalCompositeOperation;!t||t==="source-over"||this.setAttr("globalCompositeOperation",t)}};DD.forEach(function(e){Object.defineProperty(Hp.prototype,e,{get(){return this._context[e]},set(t){this._context[e]=t}})});var FD=class extends Hp{constructor(e,{willReadFrequently:t=!1}={}){super(e),this._context=e._canvas.getContext("2d",{willReadFrequently:t})}_fillColor(e){const t=e.fill();this.setAttr("fillStyle",t),e._fillFunc(this)}_fillPattern(e){this.setAttr("fillStyle",e._getFillPattern()),e._fillFunc(this)}_fillLinearGradient(e){const t=e._getLinearGradient();t&&(this.setAttr("fillStyle",t),e._fillFunc(this))}_fillRadialGradient(e){const t=e._getRadialGradient();t&&(this.setAttr("fillStyle",t),e._fillFunc(this))}_fill(e){const t=e.fill(),n=e.getFillPriority();if(t&&n==="color"){this._fillColor(e);return}const r=e.getFillPatternImage();if(r&&n==="pattern"){this._fillPattern(e);return}const o=e.getFillLinearGradientColorStops();if(o&&n==="linear-gradient"){this._fillLinearGradient(e);return}const i=e.getFillRadialGradientColorStops();if(i&&n==="radial-gradient"){this._fillRadialGradient(e);return}t?this._fillColor(e):r?this._fillPattern(e):o?this._fillLinearGradient(e):i&&this._fillRadialGradient(e)}_strokeLinearGradient(e){const t=e.getStrokeLinearGradientStartPoint(),n=e.getStrokeLinearGradientEndPoint(),r=e.getStrokeLinearGradientColorStops(),o=this.createLinearGradient(t.x,t.y,n.x,n.y);if(r){for(let i=0;i<r.length;i+=2)o.addColorStop(r[i],r[i+1]);this.setAttr("strokeStyle",o)}}_stroke(e){const t=e.dash(),n=e.getStrokeScaleEnabled();if(e.hasStroke()){if(!n){this.save();const r=this.getCanvas().getPixelRatio();this.setTransform(r,0,0,r,0,0)}this._applyLineCap(e),t&&e.dashEnabled()&&(this.setLineDash(t),this.setAttr("lineDashOffset",e.dashOffset())),this.setAttr("lineWidth",e.strokeWidth()),e.getShadowForStrokeEnabled()||this.setAttr("shadowColor","rgba(0,0,0,0)"),e.getStrokeLinearGradientColorStops()?this._strokeLinearGradient(e):this.setAttr("strokeStyle",e.stroke()),e._strokeFunc(this),n||this.restore()}}_applyShadow(e){var t,n,r;const o=(t=e.getShadowRGBA())!==null&&t!==void 0?t:"black",i=(n=e.getShadowBlur())!==null&&n!==void 0?n:5,s=(r=e.getShadowOffset())!==null&&r!==void 0?r:{x:0,y:0},a=e.getAbsoluteScale(),l=this.canvas.getPixelRatio(),c=a.x*l,d=a.y*l;this.setAttr("shadowColor",o),this.setAttr("shadowBlur",i*Math.min(Math.abs(c),Math.abs(d))),this.setAttr("shadowOffsetX",s.x*c),this.setAttr("shadowOffsetY",s.y*d)}},ND=class extends Hp{constructor(e){super(e),this._context=e._canvas.getContext("2d",{willReadFrequently:!0})}_fill(e){this.save(),this.setAttr("fillStyle",e.colorKey),e._fillFuncHit(this),this.restore()}strokeShape(e){e.hasHitStroke()&&this._stroke(e)}_stroke(e){if(e.hasHitStroke()){const t=e.getStrokeScaleEnabled();if(!t){this.save();const o=this.getCanvas().getPixelRatio();this.setTransform(o,0,0,o,0,0)}this._applyLineCap(e);const n=e.hitStrokeWidth(),r=n==="auto"?e.strokeWidth():n;this.setAttr("lineWidth",r),this.setAttr("strokeStyle",e.colorKey),e._strokeFuncHit(this),t||this.restore()}}},$p;function BD(){if($p)return $p;const e=xe.createCanvasElement(),t=e.getContext("2d");return $p=(function(){return(kt._global.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)})(),xe.releaseCanvas(e),$p}var _0=class{constructor(e){this.pixelRatio=1,this.width=0,this.height=0,this.isCache=!1;const t=(e||{}).pixelRatio||kt.pixelRatio||BD();this.pixelRatio=t,this._canvas=xe.createCanvasElement(),this._canvas.style.padding="0",this._canvas.style.margin="0",this._canvas.style.border="0",this._canvas.style.background="transparent",this._canvas.style.position="absolute",this._canvas.style.top="0",this._canvas.style.left="0"}getContext(){return this.context}getPixelRatio(){return this.pixelRatio}setPixelRatio(e){const t=this.pixelRatio;this.pixelRatio=e,this.setSize(this.getWidth()/t,this.getHeight()/t)}setWidth(e){this.width=this._canvas.width=e*this.pixelRatio,this._canvas.style.width=e+"px";const t=this.pixelRatio;this.getContext()._context.scale(t,t)}setHeight(e){this.height=this._canvas.height=e*this.pixelRatio,this._canvas.style.height=e+"px";const t=this.pixelRatio;this.getContext()._context.scale(t,t)}getWidth(){return this.width}getHeight(){return this.height}setSize(e,t){this.setWidth(e||0),this.setHeight(t||0)}toDataURL(e,t){try{return this._canvas.toDataURL(e,t)}catch{try{return this._canvas.toDataURL()}catch(r){return xe.error("Unable to get data URL. "+r.message+" For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html."),""}}}},cl=class extends _0{constructor(e={width:0,height:0,willReadFrequently:!1}){super(e),this.context=new FD(this,{willReadFrequently:e.willReadFrequently}),this.setSize(e.width,e.height)}},A0=class extends _0{constructor(e={width:0,height:0}){super(e),this.hitCanvas=!0,this.context=new ND(this),this.setSize(e.width,e.height)}},Dn={get isDragging(){let e=!1;return Dn._dragElements.forEach(t=>{t.dragStatus==="dragging"&&(e=!0)}),e},justDragged:!1,get node(){let e;return Dn._dragElements.forEach(t=>{e=t.node}),e},_dragElements:new Map,_drag(e){const t=[];Dn._dragElements.forEach((n,r)=>{const{node:o}=n,i=o.getStage();i.setPointersPositions(e),n.pointerId===void 0&&(n.pointerId=xe._getFirstPointerId(e));const s=i._changedPointerPositions.find(a=>a.id===n.pointerId);if(s){if(n.dragStatus!=="dragging"){const a=o.dragDistance();if(Math.max(Math.abs(s.x-n.startPointerPos.x),Math.abs(s.y-n.startPointerPos.y))<a||(o.startDrag({evt:e}),!o.isDragging()))return}o._setDragPosition(e,n),t.push(o)}}),t.forEach(n=>{n.getStage()&&n.fire("dragmove",{type:"dragmove",target:n,evt:e},!0)})},_endDragBefore(e){const t=[];Dn._dragElements.forEach(n=>{const{node:r}=n,o=r.getStage();if(e&&o.setPointersPositions(e),!o._changedPointerPositions.find(s=>s.id===n.pointerId))return;(n.dragStatus==="dragging"||n.dragStatus==="stopped")&&(Dn.justDragged=!0,kt._mouseListenClick=!1,kt._touchListenClick=!1,kt._pointerListenClick=!1,n.dragStatus="stopped");const i=n.node.getLayer()||n.node instanceof kt.Stage&&n.node;i&&t.indexOf(i)===-1&&t.push(i)}),t.forEach(n=>{n.draw()})},_endDragAfter(e){Dn._dragElements.forEach((t,n)=>{t.dragStatus==="stopped"&&t.node.fire("dragend",{type:"dragend",target:t.node,evt:e},!0),t.dragStatus!=="dragging"&&Dn._dragElements.delete(n)})}};kt.isBrowser&&(window.addEventListener("mouseup",Dn._endDragBefore,!0),window.addEventListener("touchend",Dn._endDragBefore,!0),window.addEventListener("touchcancel",Dn._endDragBefore,!0),window.addEventListener("mousemove",Dn._drag),window.addEventListener("touchmove",Dn._drag),window.addEventListener("mouseup",Dn._endDragAfter,!1),window.addEventListener("touchend",Dn._endDragAfter,!1),window.addEventListener("touchcancel",Dn._endDragAfter,!1));function ul(e){return xe._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||xe._isBoolean(e)?e:Object.prototype.toString.call(e)}function x_(e){return e>255?255:e<0?0:Math.round(e)}function vt(){if(kt.isUnminified)return function(e,t){return xe._isNumber(e)||xe.warn(ul(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}function Gp(e){if(kt.isUnminified)return function(t,n){let r=xe._isNumber(t),o=xe._isArray(t)&&t.length==e;return!r&&!o&&xe.warn(ul(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array<number>('+e+")"),t}}function I0(){if(kt.isUnminified)return function(e,t){return xe._isNumber(e)||e==="auto"||xe.warn(ul(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}function rc(){if(kt.isUnminified)return function(e,t){return xe._isString(e)||xe.warn(ul(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}function E_(){if(kt.isUnminified)return function(e,t){const n=xe._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||xe.warn(ul(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}function zD(){if(kt.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(xe._isArray(e)?e.forEach(function(r){xe._isNumber(r)||xe.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):xe.warn(ul(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}function Ji(){if(kt.isUnminified)return function(e,t){return e===!0||e===!1||xe.warn(ul(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}function VD(e){if(kt.isUnminified)return function(t,n){return t==null||xe.isObject(t)||xe.warn(ul(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}var mf="get",gf="set",ue={addGetterSetter(e,t,n,r,o){ue.addGetter(e,t,n),ue.addSetter(e,t,r,o),ue.addOverloadedGetterSetter(e,t)},addGetter(e,t,n){const r=mf+xe._capitalize(t);e.prototype[r]=e.prototype[r]||function(){const o=this.attrs[t];return o===void 0?n:o}},addSetter(e,t,n,r){const o=gf+xe._capitalize(t);e.prototype[o]||ue.overWriteSetter(e,t,n,r)},overWriteSetter(e,t,n,r){const o=gf+xe._capitalize(t);e.prototype[o]=function(i){return n&&i!==void 0&&i!==null&&(i=n.call(this,i,t)),this._setAttr(t,i),r&&r.call(this),this}},addComponentsGetterSetter(e,t,n,r,o){const i=n.length,s=xe._capitalize,a=mf+s(t),l=gf+s(t);e.prototype[a]=function(){const d={};for(let f=0;f<i;f++){const h=n[f];d[h]=this.getAttr(t+s(h))}return d};const c=VD(n);e.prototype[l]=function(d){const f=this.attrs[t];r&&(d=r.call(this,d,t)),c&&c.call(this,d,t);for(const h in d)d.hasOwnProperty(h)&&this._setAttr(t+s(h),d[h]);return d||n.forEach(h=>{this._setAttr(t+s(h),void 0)}),this._fireChangeEvent(t,f,d),o&&o.call(this),this},ue.addOverloadedGetterSetter(e,t)},addOverloadedGetterSetter(e,t){const n=xe._capitalize(t),r=gf+n,o=mf+n;e.prototype[t]=function(){return arguments.length?(this[r](arguments[0]),this):this[o]()}},addDeprecatedGetterSetter(e,t,n,r){xe.error("Adding deprecated "+t);const o=mf+xe._capitalize(t),i=t+" property is deprecated and will be removed soon. Look at Konva change log for more information.";e.prototype[o]=function(){xe.error(i);const s=this.attrs[t];return s===void 0?n:s},ue.addSetter(e,t,r,function(){xe.error(i)}),ue.addOverloadedGetterSetter(e,t)},backCompat(e,t){xe.each(t,function(n,r){const o=e.prototype[r],i=mf+xe._capitalize(n),s=gf+xe._capitalize(n);function a(){o.apply(this,arguments),xe.error('"'+n+'" method is deprecated and will be removed soon. Use ""'+r+'" instead.')}e.prototype[n]=a,e.prototype[i]=a,e.prototype[s]=a})},afterSetFilter(){this._filterUpToDate=!1}};function jD(e){const t=/(\w+)\(([^)]+)\)/g;let n;for(;(n=t.exec(e))!==null;){const[,r,o]=n;switch(r){case"blur":{const i=parseFloat(o.replace("px",""));return function(s){this.blurRadius(i*.5);const a=kt.Filters;a&&a.Blur&&a.Blur.call(this,s)}}case"brightness":{const i=o.includes("%")?parseFloat(o)/100:parseFloat(o);return function(s){this.brightness(i);const a=kt.Filters;a&&a.Brightness&&a.Brightness.call(this,s)}}case"contrast":{const i=parseFloat(o);return function(s){const a=100*(Math.sqrt(i)-1);this.contrast(a);const l=kt.Filters;l&&l.Contrast&&l.Contrast.call(this,s)}}case"grayscale":return function(i){const s=kt.Filters;s&&s.Grayscale&&s.Grayscale.call(this,i)};case"sepia":return function(i){const s=kt.Filters;s&&s.Sepia&&s.Sepia.call(this,i)};case"invert":return function(i){const s=kt.Filters;s&&s.Invert&&s.Invert.call(this,i)};default:xe.warn(`CSS filter "${r}" is not supported in fallback mode. Consider using function filters for better compatibility.`)}}return()=>{}}var Wp="absoluteOpacity",T_="allEventListeners",Ca="absoluteTransform",R_="absoluteScale",oc="canvas",UD="Change",HD="children",$D="konva",x0="listening",GD="mouseenter",WD="mouseleave",KD="pointerenter",qD="pointerleave",YD="touchenter",XD="touchleave",M_="set",L_="Shape",Kp=" ",P_="stage",dl="transform",ZD="Stage",E0="visible",QD=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(Kp),JD=1,St=class nh{constructor(t){this._id=JD++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===dl||t===Ca)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){let r=this._cache.get(t);return(r===void 0||(t===dl||t===Ca)&&r.dirty===!0)&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const o=n.map(i=>i+"Change.konva").join(Kp);this.on(o,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(oc)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Ca&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(oc)){const{scene:t,filter:n,hit:r}=this._cache.get(oc);xe.releaseCanvas(t._canvas,n._canvas,r._canvas),this._cache.delete(oc)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){const n=t||{};let r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()||void 0}));let o=Math.ceil(n.width||r.width),i=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,c=n.offset||0,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!o||!i){xe.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}const h=Math.abs(Math.round(r.x)-a)>.5?1:0,g=Math.abs(Math.round(r.y)-l)>.5?1:0;o+=c*2+h,i+=c*2+g,a-=c,l-=c;const m=new cl({pixelRatio:s,width:o,height:i}),v=new cl({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),k=new A0({pixelRatio:f,width:o,height:i}),C=m.getContext(),A=k.getContext(),b=new cl({width:m.width/m.pixelRatio+Math.abs(a),height:m.height/m.pixelRatio+Math.abs(l),pixelRatio:m.pixelRatio}),w=b.getContext();return k.isCache=!0,m.isCache=!0,this._cache.delete(oc),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(m.getContext()._context.imageSmoothingEnabled=!1,v.getContext()._context.imageSmoothingEnabled=!1),C.save(),A.save(),w.save(),C.translate(-a,-l),A.translate(-a,-l),w.translate(-a,-l),b.x=a,b.y=l,this._isUnderCache=!0,this._clearSelfAndDescendantCache(Wp),this._clearSelfAndDescendantCache(R_),this.drawScene(m,this,b),this.drawHit(k,this),this._isUnderCache=!1,C.restore(),A.restore(),d&&(C.save(),C.beginPath(),C.rect(0,0,o,i),C.closePath(),C.setAttr("strokeStyle","red"),C.setAttr("lineWidth",5),C.stroke(),C.restore()),xe.releaseCanvas(b._canvas),this._cache.set(oc,{scene:m,filter:v,hit:k,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(oc)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){const r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}];let o=1/0,i=1/0,s=-1/0,a=-1/0;const l=this.getAbsoluteTransform(n);return r.forEach(function(c){const d=l.point(c);o===void 0&&(o=s=d.x,i=a=d.y),o=Math.min(o,d.x),i=Math.min(i,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),{x:o,y:i,width:s-o,height:a-i}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);const r=this._getCachedSceneCanvas(),o=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/o,r.height/o),t.restore()}_drawCachedHitCanvas(t){const n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){let t=this.filters(),n=this._getCanvasCache(),r=n.scene,o=n.filter,i=o.getContext(),s,a,l,c;if(!t||t.length===0)return r;if(this._filterUpToDate)return o;let d=!0;for(let h=0;h<t.length;h++)if(typeof t[h]=="string"&&I_(),typeof t[h]!="string"||!I_()){d=!1;break}const f=r.pixelRatio;if(o.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio),d){const h=t.join(" ");return i.save(),i.setAttr("filter",h),i.drawImage(r._canvas,0,0,r.getWidth()/f,r.getHeight()/f),i.restore(),this._filterUpToDate=!0,o}try{for(s=t.length,i.clear(),i.drawImage(r._canvas,0,0,r.getWidth()/f,r.getHeight()/f),a=i.getImageData(0,0,o.getWidth(),o.getHeight()),l=0;l<s;l++)c=t[l],typeof c=="string"&&(c=jD(c)),c.call(this,a),i.putImageData(a,0,0)}catch(h){xe.error("Unable to apply filter. "+h.message+" This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.")}return this._filterUpToDate=!0,o}on(...t){const n=t[0],r=t[1];if(t[2],this._cache&&this._cache.delete(T_),t.length===3)return this._delegate.apply(this,t);const o=n.split(Kp);for(let i=0;i<o.length;i++){const s=o[i].split("."),a=s[0],l=s[1]||"";this.eventListeners[a]||(this.eventListeners[a]=[]),this.eventListeners[a].push({name:l,handler:r})}return this}off(t,n){let r=(t||"").split(Kp),o=r.length,i,s,a,l,c,d;if(this._cache&&this._cache.delete(T_),!t)for(s in this.eventListeners)this._off(s);for(i=0;i<o;i++)if(a=r[i],l=a.split("."),c=l[0],d=l[1],c)this.eventListeners[c]&&this._off(c,d,n);else for(s in this.eventListeners)this._off(s,d,n);return this}dispatchEvent(t){const n={target:this,type:t.type,evt:t};return this.fire(t.type,n),this}addEventListener(t,n){return this.on(t,function(r){n.call(this,r.evt)}),this}removeEventListener(t){return this.off(t),this}_delegate(t,n,r){const o=this;return this.on(t,function(i){const s=i.target.findAncestors(n,!0,o);for(let a=0;a<s.length;a++)i=xe.cloneObject(i),i.currentTarget=s[a],r.call(s[a],i)}),this}remove(){return this.isDragging()&&this.stopDrag(),Dn._dragElements.delete(this._id),Dn._dragElements.forEach((t,n)=>{this.isAncestorOf(t.node)&&Dn._dragElements.delete(n)}),this._remove(),this}_clearCaches(){this._clearSelfAndDescendantCache(Ca),this._clearSelfAndDescendantCache(Wp),this._clearSelfAndDescendantCache(R_),this._clearSelfAndDescendantCache(P_),this._clearSelfAndDescendantCache(E0),this._clearSelfAndDescendantCache(x0)}_remove(){this._clearCaches();const t=this.getParent();t&&t.children&&(t.children.splice(this.index,1),t._setChildrenIndices(),this.parent=null)}destroy(){return this.remove(),this.clearCache(),this}getAttr(t){const n="get"+xe._capitalize(t);return xe._isFunction(this[n])?this[n]():this.attrs[t]}getAncestors(){let t=this.getParent(),n=[];for(;t;)n.push(t),t=t.getParent();return n}getAttrs(){return this.attrs||{}}setAttrs(t){return this._batchTransformChanges(()=>{let n,r;if(!t)return this;for(n in t)n!==HD&&(r=M_+xe._capitalize(n),xe._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(x0,this._isListening)}_isListening(t){if(!this.listening())return!1;const n=this.getParent();return n&&n!==t&&this!==t?n._isListening(t):!0}isVisible(){return this._getCache(E0,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const n=this.getParent();return n&&n!==t&&this!==t?n._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);const r=this.getLayer();let o=!1;Dn._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(o=!0)});const i=!n&&!kt.hitOnDragEnabled&&(o||kt.isTransforming());return this.isListening()&&this.isVisible()&&!i}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){let t=this.getDepth(),n=this,r=0,o,i,s,a;function l(d){for(o=[],i=d.length,s=0;s<i;s++)a=d[s],r++,a.nodeType!==L_&&(o=o.concat(a.getChildren().slice())),a._id===n._id&&(s=i);o.length>0&&o[0].getDepth()<=t&&l(o)}const c=this.getStage();return n.nodeType!==ZD&&c&&l(c.getChildren()),r}getDepth(){let t=0,n=this.parent;for(;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(dl),this._clearSelfAndDescendantCache(Ca)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){const t=this.getStage();if(!t)return null;const n=t.getPointerPosition();if(!n)return null;const r=this.getAbsoluteTransform().copy();return r.invert(),r.point(n)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);const o=this.getAbsoluteTransform(t).getMatrix(),i=new Qi,s=this.offset();return i.m=o.slice(),i.translate(s.x,s.y),i.getTranslation()}setAbsolutePosition(t){const{x:n,y:r,...o}=this._clearTransform();this.attrs.x=n,this.attrs.y=r,this._clearCache(dl);const i=this._getAbsoluteTransform().copy();return i.invert(),i.translate(t.x,t.y),t={x:this.attrs.x+i.getTranslation().x,y:this.attrs.y+i.getTranslation().y},this._setTransform(o),this.setPosition({x:t.x,y:t.y}),this._clearCache(dl),this._clearSelfAndDescendantCache(Ca),this}_setTransform(t){let n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){const t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){let n=t.x,r=t.y,o=this.x(),i=this.y();return n!==void 0&&(o+=n),r!==void 0&&(i+=r),this.setPosition({x:o,y:i}),this}_eachAncestorReverse(t,n){let r=[],o=this.getParent(),i,s;if(!(n&&n._id===this._id)){for(r.unshift(this);o&&(!n||o._id!==n._id);)r.unshift(o),o=o.parent;for(i=r.length,s=0;s<i;s++)t(r[s])}}rotate(t){return this.rotation(this.rotation()+t),this}moveToTop(){if(!this.parent)return xe.warn("Node has no parent. moveToTop function is ignored."),!1;const t=this.index;return t<this.parent.getChildren().length-1?(this.parent.children.splice(t,1),this.parent.children.push(this),this.parent._setChildrenIndices(),!0):!1}moveUp(){if(!this.parent)return xe.warn("Node has no parent. moveUp function is ignored."),!1;const t=this.index;return t<this.parent.getChildren().length-1?(this.parent.children.splice(t,1),this.parent.children.splice(t+1,0,this),this.parent._setChildrenIndices(),!0):!1}moveDown(){if(!this.parent)return xe.warn("Node has no parent. moveDown function is ignored."),!1;const t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return xe.warn("Node has no parent. moveToBottom function is ignored."),!1;const t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return xe.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&xe.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");const n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(Wp,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){let t=this.opacity();const n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){let t=this.getAttrs(),n,r,o,i,s;const a={attrs:{},className:this.getClassName()};for(n in t)r=t[n],s=xe.isObject(r)&&!xe._isPlainObject(r)&&!xe._isArray(r),!s&&(o=typeof this[n]=="function"&&this[n],delete t[n],i=o?o.call(this):null,t[n]=r,i!==r&&(a.attrs[n]=r));return xe._prepareToStringify(a)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){const o=[];n&&this._isMatch(t)&&o.push(this);let i=this.parent;for(;i;){if(i===r)return o;i._isMatch(t)&&o.push(i),i=i.parent}return o}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);let n=t.replace(/ /g,"").split(","),r=n.length,o,i;for(o=0;o<r;o++)if(i=n[o],xe.isValidSelector(i)||(xe.warn('Selector "'+i+'" is invalid. Allowed selectors examples are "#foo", ".bar" or "Group".'),xe.warn('If you have a custom shape with such className, please change it to start with upper letter like "Triangle".'),xe.warn("Konva is awesome, right?")),i.charAt(0)==="#"){if(this.id()===i.slice(1))return!0}else if(i.charAt(0)==="."){if(this.hasName(i.slice(1)))return!0}else if(this.className===i||this.nodeType===i)return!0;return!1}getLayer(){const t=this.getParent();return t?t.getLayer():null}getStage(){return this._getCache(P_,this._getStage)}_getStage(){const t=this.getParent();return t?t.getStage():null}fire(t,n={},r){return n.target=n.target||this,r?this._fireAndBubble(t,n):this._fire(t,n),this}getAbsoluteTransform(t){return t?this._getAbsoluteTransform(t):this._getCache(Ca,this._getAbsoluteTransform)}_getAbsoluteTransform(t){let n;if(t)return n=new Qi,this._eachAncestorReverse(function(r){const o=r.transformsEnabled();o==="all"?n.multiply(r.getTransform()):o==="position"&&n.translate(r.x()-r.offsetX(),r.y()-r.offsetY())},t),n;{n=this._cache.get(Ca)||new Qi,this.parent?this.parent.getAbsoluteTransform().copyInto(n):n.reset();const r=this.transformsEnabled();if(r==="all")n.multiply(this.getTransform());else if(r==="position"){const o=this.attrs.x||0,i=this.attrs.y||0,s=this.attrs.offsetX||0,a=this.attrs.offsetY||0;n.translate(o-s,i-a)}return n.dirty=!1,n}}getAbsoluteScale(t){let n=this;for(;n;)n._isUnderCache&&(t=n),n=n.getParent();const r=this.getAbsoluteTransform(t).decompose();return{x:r.scaleX,y:r.scaleY}}getAbsoluteRotation(){return this.getAbsoluteTransform().decompose().rotation}getTransform(){return this._getCache(dl,this._getTransform)}_getTransform(){var t,n;const r=this._cache.get(dl)||new Qi;r.reset();const o=this.x(),i=this.y(),s=kt.getAngle(this.rotation()),a=(t=this.attrs.scaleX)!==null&&t!==void 0?t:1,l=(n=this.attrs.scaleY)!==null&&n!==void 0?n:1,c=this.attrs.skewX||0,d=this.attrs.skewY||0,f=this.attrs.offsetX||0,h=this.attrs.offsetY||0;return(o!==0||i!==0)&&r.translate(o,i),s!==0&&r.rotate(s),(c!==0||d!==0)&&r.skew(c,d),(a!==1||l!==1)&&r.scale(a,l),(f!==0||h!==0)&&r.translate(-1*f,-1*h),r.dirty=!1,r}clone(t){let n=xe.cloneObject(this.attrs),r,o,i,s,a;for(r in t)n[r]=t[r];const l=new this.constructor(n);for(r in this.eventListeners)for(o=this.eventListeners[r],i=o.length,s=0;s<i;s++)a=o[s],a.name.indexOf($D)<0&&(l.eventListeners[r]||(l.eventListeners[r]=[]),l.eventListeners[r].push(a));return l}_toKonvaCanvas(t){t=t||{};const n=this.getClientRect(),r=this.getStage(),o=t.x!==void 0?t.x:Math.floor(n.x),i=t.y!==void 0?t.y:Math.floor(n.y),s=t.pixelRatio||1,a=new cl({width:t.width||Math.ceil(n.width)||(r?r.width():0),height:t.height||Math.ceil(n.height)||(r?r.height():0),pixelRatio:s}),l=a.getContext(),c=new cl({width:a.width/a.pixelRatio+Math.abs(o),height:a.height/a.pixelRatio+Math.abs(i),pixelRatio:a.pixelRatio});return t.imageSmoothingEnabled===!1&&(l._context.imageSmoothingEnabled=!1),l.save(),(o||i)&&l.translate(-1*o,-1*i),this.drawScene(a,void 0,c),l.restore(),a}toCanvas(t){return this._toKonvaCanvas(t)._canvas}toDataURL(t){t=t||{};const n=t.mimeType||null,r=t.quality||null,o=this._toKonvaCanvas(t).toDataURL(n,r);return t.callback&&t.callback(o),o}toImage(t){return new Promise((n,r)=>{try{const o=t?.callback;o&&delete t.callback,xe._urlToImage(this.toDataURL(t),function(i){n(i),o?.(i)})}catch(o){r(o)}})}toBlob(t){return new Promise((n,r)=>{try{const o=t?.callback;o&&delete t.callback,this.toCanvas(t).toBlob(i=>{n(i),o?.(i)},t?.mimeType,t?.quality)}catch(o){r(o)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():kt.dragDistance}_off(t,n,r){let o=this.eventListeners[t],i,s,a;for(i=0;i<o.length;i++)if(s=o[i].name,a=o[i].handler,(s!=="konva"||n==="konva")&&(!n||s===n)&&(!r||r===a)){if(o.splice(i,1),o.length===0){delete this.eventListeners[t];break}i--}}_fireChangeEvent(t,n,r){this._fire(t+UD,{oldVal:n,newVal:r})}addName(t){if(!this.hasName(t)){const n=this.name(),r=n?n+" "+t:t;this.name(r)}return this}hasName(t){if(!t)return!1;const n=this.name();return n?(n||"").split(/\s/g).indexOf(t)!==-1:!1}removeName(t){const n=(this.name()||"").split(/\s/g),r=n.indexOf(t);return r!==-1&&(n.splice(r,1),this.name(n.join(" "))),this}setAttr(t,n){const r=this[M_+xe._capitalize(t)];return xe._isFunction(r)?r.call(this,n):this._setAttr(t,n),this}_requestDraw(){if(kt.autoDrawEnabled){const t=this.getLayer()||this.getStage();t?.batchDraw()}}_setAttr(t,n){const r=this.attrs[t];r===n&&!xe.isObject(n)||(n==null?delete this.attrs[t]:this.attrs[t]=n,this._shouldFireChangeEvents&&this._fireChangeEvent(t,r,n),this._requestDraw())}_setComponentAttr(t,n,r){let o;r!==void 0&&(o=this.attrs[t],o||(this.attrs[t]=this.getAttr(t)),this.attrs[t][n]=r,this._fireChangeEvent(t,o,r))}_fireAndBubble(t,n,r){n&&this.nodeType===L_&&(n.target=this);const o=[GD,WD,KD,qD,YD,XD];if(!(o.indexOf(t)!==-1&&(r&&(this===r||this.isAncestorOf&&this.isAncestorOf(r))||this.nodeType==="Stage"&&!r))){this._fire(t,n);const i=o.indexOf(t)!==-1&&r&&r.isAncestorOf&&r.isAncestorOf(this)&&!r.isAncestorOf(this.parent);(n&&!n.cancelBubble||!n)&&this.parent&&this.parent.isListening()&&!i&&(r&&r.parent?this._fireAndBubble.call(this.parent,t,n,r):this._fireAndBubble.call(this.parent,t,n))}}_getProtoListeners(t){var n,r;const{nodeType:o}=this,i=nh.protoListenerMap.get(o)||{};let s=i?.[t];if(s===void 0){s=[];let a=Object.getPrototypeOf(this);for(;a;){const l=(r=(n=a.eventListeners)===null||n===void 0?void 0:n[t])!==null&&r!==void 0?r:[];s.push(...l),a=Object.getPrototypeOf(a)}i[t]=s,nh.protoListenerMap.set(o,i)}return s}_fire(t,n){n=n||{},n.currentTarget=this,n.type=t;const r=this._getProtoListeners(t);if(r){const i=r.slice();for(let s=0;s<i.length;s++)i[s].handler.call(this,n)}const o=this.eventListeners[t];if(o){const i=o.slice(),s=i.length;for(let l=0;l<i.length;l++)i[l].handler.call(this,n);const a=this.eventListeners[t];if(a)for(let l=s;l<a.length;l++)a[l].handler.call(this,n)}}draw(){return this.drawScene(),this.drawHit(),this}_createDragElement(t){const n=t?t.pointerId:void 0,r=this.getStage(),o=this.getAbsolutePosition();if(!r)return;const i=r._getPointerById(n)||r._changedPointerPositions[0]||o;Dn._dragElements.set(this._id,{node:this,startPointerPos:i,offset:{x:i.x-o.x,y:i.y-o.y},dragStatus:"ready",pointerId:n,startEvent:t})}startDrag(t,n=!0){Dn._dragElements.has(this._id)||this._createDragElement(t);const r=Dn._dragElements.get(this._id);r.dragStatus="dragging",this.fire("dragstart",{type:"dragstart",target:this,evt:r.startEvent&&r.startEvent.evt||t&&t.evt},n)}_setDragPosition(t,n){const r=this.getStage()._getPointerById(n.pointerId);if(!r)return;let o={x:r.x-n.offset.x,y:r.y-n.offset.y};const i=this.dragBoundFunc();if(i!==void 0){const s=i.call(this,o,t);s?o=s:xe.warn("dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.")}(!this._lastPos||this._lastPos.x!==o.x||this._lastPos.y!==o.y)&&(this.setAbsolutePosition(o),this._requestDraw()),this._lastPos=o}stopDrag(t){const n=Dn._dragElements.get(this._id);n&&(n.dragStatus="stopped"),Dn._endDragBefore(t),Dn._endDragAfter(t)}setDraggable(t){this._setAttr("draggable",t),this._dragChange()}isDragging(){const t=Dn._dragElements.get(this._id);return t?t.dragStatus==="dragging":!1}_listenDrag(){this._dragCleanup(),this.on("mousedown.konva touchstart.konva",function(t){if(!(t.evt.button===void 0||kt.dragButtons.indexOf(t.evt.button)>=0)||this.isDragging())return;let n=!1;Dn._dragElements.forEach(r=>{this.isAncestorOf(r.node)&&(n=!0)}),n||this._createDragElement(t)})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{if(this._dragCleanup(),!this.getStage())return;const t=Dn._dragElements.get(this._id),n=t&&t.dragStatus==="dragging",r=t&&t.dragStatus==="ready";n?this.stopDrag():r&&Dn._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return xe.haveIntersection(r,this.getClientRect())}static create(t,n){return xe._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){let r=nh.prototype.getClassName.call(t),o=t.children,i,s,a;n&&(t.attrs.container=n),kt[r]||(xe.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=kt[r];if(i=new l(t.attrs),o)for(s=o.length,a=0;a<s;a++)i.add(nh._createNode(o[a]));return i}};St.protoListenerMap=new Map,St.prototype.nodeType="Node",St.prototype._attrsAffectingSize=[],St.prototype.eventListeners={},St.prototype.on(QD,function(){if(this._batchingTransformChange){this._needClearTransformCache=!0;return}this._clearCache(dl),this._clearSelfAndDescendantCache(Ca)}),St.prototype.on("visibleChange.konva",function(){this._clearSelfAndDescendantCache(E0)}),St.prototype.on("listeningChange.konva",function(){this._clearSelfAndDescendantCache(x0)}),St.prototype.on("opacityChange.konva",function(){this._clearSelfAndDescendantCache(Wp)});var Qn=ue.addGetterSetter;Qn(St,"zIndex"),Qn(St,"absolutePosition"),Qn(St,"position"),Qn(St,"x",0,vt()),Qn(St,"y",0,vt()),Qn(St,"globalCompositeOperation","source-over",rc()),Qn(St,"opacity",1,vt()),Qn(St,"name","",rc()),Qn(St,"id","",rc()),Qn(St,"rotation",0,vt()),ue.addComponentsGetterSetter(St,"scale",["x","y"]),Qn(St,"scaleX",1,vt()),Qn(St,"scaleY",1,vt()),ue.addComponentsGetterSetter(St,"skew",["x","y"]),Qn(St,"skewX",0,vt()),Qn(St,"skewY",0,vt()),ue.addComponentsGetterSetter(St,"offset",["x","y"]),Qn(St,"offsetX",0,vt()),Qn(St,"offsetY",0,vt()),Qn(St,"dragDistance",void 0,vt()),Qn(St,"width",0,vt()),Qn(St,"height",0,vt()),Qn(St,"listening",!0,Ji()),Qn(St,"preventDefault",!0,Ji()),Qn(St,"filters",void 0,function(e){return this._filterUpToDate=!1,e}),Qn(St,"visible",!0,Ji()),Qn(St,"transformsEnabled","all",rc()),Qn(St,"size"),Qn(St,"dragBoundFunc"),Qn(St,"draggable",!1,Ji()),ue.backCompat(St,{rotateDeg:"rotate",setRotationDeg:"setRotation",getRotationDeg:"getRotation"});var Ci=class extends St{constructor(){super(...arguments),this.children=[]}getChildren(e){const t=this.children||[];return e?t.filter(e):t}hasChildren(){return this.getChildren().length>0}removeChildren(){return this.getChildren().forEach(e=>{e.parent=null,e.index=0,e.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(e=>{e.parent=null,e.index=0,e.destroy()}),this.children=[],this._requestDraw(),this}add(...e){if(e.length===0)return this;if(e.length>1){for(let n=0;n<e.length;n++)this.add(e[n]);return this}const t=e[0];return t.getParent()?(t.moveTo(this),this):(this._validateAdd(t),t.index=this.getChildren().length,t.parent=this,t._clearCaches(),this.getChildren().push(t),this._fire("add",{child:t}),this._requestDraw(),this)}destroy(){return this.hasChildren()&&this.destroyChildren(),super.destroy(),this}find(e){return this._generalFind(e,!1)}findOne(e){const t=this._generalFind(e,!0);return t.length>0?t[0]:void 0}_generalFind(e,t){const n=[];return this._descendants(r=>{const o=r._isMatch(e);return o&&n.push(r),!!(o&&t)}),n}_descendants(e){let t=!1;const n=this.getChildren();for(const r of n){if(t=e(r),t)return!0;if(r.hasChildren()&&(t=r._descendants(e),t))return!0}return!1}toObject(){const e=St.prototype.toObject.call(this);return e.children=[],this.getChildren().forEach(t=>{e.children.push(t.toObject())}),e}isAncestorOf(e){let t=e.getParent();for(;t;){if(t._id===this._id)return!0;t=t.getParent()}return!1}clone(e){const t=St.prototype.clone.call(this,e);return this.getChildren().forEach(function(n){t.add(n.clone())}),t}getAllIntersections(e){const t=[];return this.find("Shape").forEach(n=>{n.isVisible()&&n.intersects(e)&&t.push(n)}),t}_clearSelfAndDescendantCache(e){var t;super._clearSelfAndDescendantCache(e),!this.isCached()&&((t=this.children)===null||t===void 0||t.forEach(function(n){n._clearSelfAndDescendantCache(e)}))}_setChildrenIndices(){var e;(e=this.children)===null||e===void 0||e.forEach(function(t,n){t.index=n}),this._requestDraw()}drawScene(e,t,n){const r=this.getLayer(),o=e||r&&r.getCanvas(),i=o&&o.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=o&&o.isCache;if(!this.isVisible()&&!l)return this;if(a){i.save();const c=this.getAbsoluteTransform(t).getMatrix();i.transform(c[0],c[1],c[2],c[3],c[4],c[5]),this._drawCachedSceneCanvas(i),i.restore()}else this._drawChildren("drawScene",o,t,n);return this}drawHit(e,t){if(!this.shouldDrawHit(t))return this;const n=this.getLayer(),r=e||n&&n.hitCanvas,o=r&&r.getContext(),i=this._getCanvasCache();if(i&&i.hit){o.save();const s=this.getAbsoluteTransform(t).getMatrix();o.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",r,t);return this}_drawChildren(e,t,n,r){var o;const i=t&&t.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),c=typeof s=="number"&&typeof a=="number"||l,d=n===this;if(c){i.save();const h=this.getAbsoluteTransform(n);let g=h.getMatrix();i.transform(g[0],g[1],g[2],g[3],g[4],g[5]),i.beginPath();let m;if(l)m=l.call(this,i,this);else{const v=this.clipX(),k=this.clipY();i.rect(v||0,k||0,s,a)}i.clip.apply(i,m),g=h.copy().invert().getMatrix(),i.transform(g[0],g[1],g[2],g[3],g[4],g[5])}const f=!d&&this.globalCompositeOperation()!=="source-over"&&e==="drawScene";f&&(i.save(),i._applyGlobalCompositeOperation(this)),(o=this.children)===null||o===void 0||o.forEach(function(h){h[e](t,n,r)}),f&&i.restore(),c&&i.restore()}getClientRect(e={}){var t;const n=e.skipTransform,r=e.relativeTo;let o,i,s,a,l={x:1/0,y:1/0,width:0,height:0};const c=this;(t=this.children)===null||t===void 0||t.forEach(function(h){if(!h.visible())return;const g=h.getClientRect({relativeTo:c,skipShadow:e.skipShadow,skipStroke:e.skipStroke});g.width===0&&g.height===0||(o===void 0?(o=g.x,i=g.y,s=g.x+g.width,a=g.y+g.height):(o=Math.min(o,g.x),i=Math.min(i,g.y),s=Math.max(s,g.x+g.width),a=Math.max(a,g.y+g.height)))});const d=this.find("Shape");let f=!1;for(let h=0;h<d.length;h++)if(d[h]._isVisible(this)){f=!0;break}return f&&o!==void 0?l={x:o,y:i,width:s-o,height:a-i}:l={x:0,y:0,width:0,height:0},n?l:this._transformedRect(l,r)}};ue.addComponentsGetterSetter(Ci,"clip",["x","y","width","height"]),ue.addGetterSetter(Ci,"clipX",void 0,vt()),ue.addGetterSetter(Ci,"clipY",void 0,vt()),ue.addGetterSetter(Ci,"clipWidth",void 0,vt()),ue.addGetterSetter(Ci,"clipHeight",void 0,vt()),ue.addGetterSetter(Ci,"clipFunc");var vf=new Map,D_=kt._global.PointerEvent!==void 0;function T0(e){return vf.get(e)}function R0(e){return{evt:e,pointerId:e.pointerId}}function O_(e,t){return vf.get(e)===t}function F_(e,t){yf(e),t.getStage()&&(vf.set(e,t),D_&&t._fire("gotpointercapture",R0(new PointerEvent("gotpointercapture"))))}function yf(e,t){const n=vf.get(e);if(!n)return;const r=n.getStage();r&&r.content,vf.delete(e),D_&&n._fire("lostpointercapture",R0(new PointerEvent("lostpointercapture")))}var eO="Stage",tO="string",N_="px",nO="mouseout",B_="mouseleave",z_="mouseover",V_="mouseenter",j_="mousemove",U_="mousedown",H_="mouseup",bf="pointermove",wf="pointerdown",ku="pointerup",Cf="pointercancel",rO="lostpointercapture",qp="pointerout",kf="pointerleave",Yp="pointerover",Xp="pointerenter",M0="contextmenu",$_="touchstart",G_="touchend",W_="touchmove",K_="touchcancel",L0="wheel",oO=5,iO=[[V_,"_pointerenter"],[U_,"_pointerdown"],[j_,"_pointermove"],[H_,"_pointerup"],[B_,"_pointerleave"],[$_,"_pointerdown"],[W_,"_pointermove"],[G_,"_pointerup"],[K_,"_pointercancel"],[z_,"_pointerover"],[L0,"_wheel"],[M0,"_contextmenu"],[wf,"_pointerdown"],[bf,"_pointermove"],[ku,"_pointerup"],[Cf,"_pointercancel"],[kf,"_pointerleave"],[rO,"_lostpointercapture"]],P0={mouse:{[qp]:nO,[kf]:B_,[Yp]:z_,[Xp]:V_,[bf]:j_,[wf]:U_,[ku]:H_,[Cf]:"mousecancel",pointerclick:"click",pointerdblclick:"dblclick"},touch:{[qp]:"touchout",[kf]:"touchleave",[Yp]:"touchover",[Xp]:"touchenter",[bf]:W_,[wf]:$_,[ku]:G_,[Cf]:K_,pointerclick:"tap",pointerdblclick:"dbltap"},pointer:{[qp]:qp,[kf]:kf,[Yp]:Yp,[Xp]:Xp,[bf]:bf,[wf]:wf,[ku]:ku,[Cf]:Cf,pointerclick:"pointerclick",pointerdblclick:"pointerdblclick"}},Sf=e=>e.indexOf("pointer")>=0?"pointer":e.indexOf("touch")>=0?"touch":"mouse",Su=e=>{const t=Sf(e);if(t==="pointer")return kt.pointerEventsEnabled&&P0.pointer;if(t==="touch")return P0.touch;if(t==="mouse")return P0.mouse};function q_(e={}){return(e.clipFunc||e.clipWidth||e.clipHeight)&&xe.warn("Stage does not support clipping. Please use clip for Layers or Groups."),e}var sO="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);",_f=[],Zp=class extends Ci{constructor(e){super(q_(e)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),_f.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{q_(this.attrs)}),this._checkVisibility()}_validateAdd(e){const t=e.getType()==="Layer",n=e.getType()==="FastLayer";t||n||xe.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const e=this.visible()?"":"none";this.content.style.display=e}setContainer(e){if(typeof e===tO){let t;if(e.charAt(0)==="."){const n=e.slice(1);e=document.getElementsByClassName(n)[0]}else e.charAt(0)!=="#"?t=e:t=e.slice(1),e=document.getElementById(t);if(!e)throw"Can not find container in document with id "+t}return this._setAttr("container",e),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),e.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){const e=this.children,t=e.length;for(let n=0;n<t;n++)e[n].clear();return this}clone(e){return e||(e={}),e.container=typeof document<"u"&&document.createElement("div"),Ci.prototype.clone.call(this,e)}destroy(){super.destroy();const e=this.content;e&&xe._isInDocument(e)&&this.container().removeChild(e);const t=_f.indexOf(this);return t>-1&&_f.splice(t,1),xe.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const e=this._pointerPositions[0]||this._changedPointerPositions[0];return e?{x:e.x,y:e.y}:(xe.warn(sO),null)}_getPointerById(e){return this._pointerPositions.find(t=>t.id===e)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(e){e={...e},e.x=e.x||0,e.y=e.y||0,e.width=e.width||this.width(),e.height=e.height||this.height();const t=new cl({width:e.width,height:e.height,pixelRatio:e.pixelRatio||1}),n=t.getContext()._context,r=this.children;return(e.x||e.y)&&n.translate(-1*e.x,-1*e.y),r.forEach(function(o){if(!o.isVisible())return;const i=o._toKonvaCanvas(e);n.drawImage(i._canvas,e.x,e.y,i.getWidth()/i.getPixelRatio(),i.getHeight()/i.getPixelRatio())}),t}getIntersection(e){if(!e)return null;const t=this.children,n=t.length-1;for(let r=n;r>=0;r--){const o=t[r].getIntersection(e);if(o)return o}return null}_resizeDOM(){const e=this.width(),t=this.height();this.content&&(this.content.style.width=e+N_,this.content.style.height=t+N_),this.bufferCanvas.setSize(e,t),this.bufferHitCanvas.setSize(e,t),this.children.forEach(n=>{n.setSize({width:e,height:t}),n.draw()})}add(e,...t){if(arguments.length>1){for(let r=0;r<arguments.length;r++)this.add(arguments[r]);return this}super.add(e);const n=this.children.length;return n>oO&&xe.warn("The stage has "+n+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),e.setSize({width:this.width(),height:this.height()}),e.draw(),kt.isBrowser&&this.content.appendChild(e.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(e){return O_(e,this)}setPointerCapture(e){F_(e,this)}releaseCapture(e){yf(e,this)}getLayers(){return this.children}_bindContentEvents(){kt.isBrowser&&iO.forEach(([e,t])=>{this.content.addEventListener(e,n=>{this[t](n)},{passive:!1})})}_pointerenter(e){this.setPointersPositions(e);const t=Su(e.type);t&&this._fire(t.pointerenter,{evt:e,target:this,currentTarget:this})}_pointerover(e){this.setPointersPositions(e);const t=Su(e.type);t&&this._fire(t.pointerover,{evt:e,target:this,currentTarget:this})}_getTargetShape(e){let t=this[e+"targetShape"];return t&&!t.getStage()&&(t=null),t}_pointerleave(e){const t=Su(e.type),n=Sf(e.type);if(!t)return;this.setPointersPositions(e);const r=this._getTargetShape(n),o=!(kt.isDragging()||kt.isTransforming())||kt.hitOnDragEnabled;r&&o?(r._fireAndBubble(t.pointerout,{evt:e}),r._fireAndBubble(t.pointerleave,{evt:e}),this._fire(t.pointerleave,{evt:e,target:this,currentTarget:this}),this[n+"targetShape"]=null):o&&(this._fire(t.pointerleave,{evt:e,target:this,currentTarget:this}),this._fire(t.pointerout,{evt:e,target:this,currentTarget:this})),this.pointerPos=null,this._pointerPositions=[]}_pointerdown(e){const t=Su(e.type),n=Sf(e.type);if(!t)return;this.setPointersPositions(e);let r=!1;this._changedPointerPositions.forEach(o=>{const i=this.getIntersection(o);if(Dn.justDragged=!1,kt["_"+n+"ListenClick"]=!0,!i||!i.isListening()){this[n+"ClickStartShape"]=void 0;return}kt.capturePointerEventsEnabled&&i.setPointerCapture(o.id),this[n+"ClickStartShape"]=i,i._fireAndBubble(t.pointerdown,{evt:e,pointerId:o.id}),r=!0;const s=e.type.indexOf("touch")>=0;i.preventDefault()&&e.cancelable&&s&&e.preventDefault()}),r||this._fire(t.pointerdown,{evt:e,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}_pointermove(e){const t=Su(e.type),n=Sf(e.type);if(!t)return;const r=e.type.indexOf("touch")>=0||e.pointerType==="touch";if(kt.isDragging()&&Dn.node.preventDefault()&&e.cancelable&&r&&e.preventDefault(),this.setPointersPositions(e),!(!(kt.isDragging()||kt.isTransforming())||kt.hitOnDragEnabled))return;const o={};let i=!1;const s=this._getTargetShape(n);this._changedPointerPositions.forEach(a=>{const l=T0(a.id)||this.getIntersection(a),c=a.id,d={evt:e,pointerId:c},f=s!==l;if(f&&s&&(s._fireAndBubble(t.pointerout,{...d},l),s._fireAndBubble(t.pointerleave,{...d},l)),l){if(o[l._id])return;o[l._id]=!0}l&&l.isListening()?(i=!0,f&&(l._fireAndBubble(t.pointerover,{...d},s),l._fireAndBubble(t.pointerenter,{...d},s),this[n+"targetShape"]=l),l._fireAndBubble(t.pointermove,{...d})):s&&(this._fire(t.pointerover,{evt:e,target:this,currentTarget:this,pointerId:c}),this[n+"targetShape"]=null)}),i||this._fire(t.pointermove,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(e){const t=Su(e.type),n=Sf(e.type);if(!t)return;this.setPointersPositions(e);const r=this[n+"ClickStartShape"],o=this[n+"ClickEndShape"],i={};let s=!1;this._changedPointerPositions.forEach(a=>{const l=T0(a.id)||this.getIntersection(a);if(l){if(l.releaseCapture(a.id),i[l._id])return;i[l._id]=!0}const c=a.id,d={evt:e,pointerId:c};let f=!1;kt["_"+n+"InDblClickWindow"]?(f=!0,clearTimeout(this[n+"DblTimeout"])):Dn.justDragged||(kt["_"+n+"InDblClickWindow"]=!0,clearTimeout(this[n+"DblTimeout"])),this[n+"DblTimeout"]=setTimeout(function(){kt["_"+n+"InDblClickWindow"]=!1},kt.dblClickWindow),l&&l.isListening()?(s=!0,this[n+"ClickEndShape"]=l,l._fireAndBubble(t.pointerup,{...d}),kt["_"+n+"ListenClick"]&&r&&r===l&&(l._fireAndBubble(t.pointerclick,{...d}),f&&o&&o===l&&l._fireAndBubble(t.pointerdblclick,{...d}))):(this[n+"ClickEndShape"]=null,s||(this._fire(t.pointerup,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),s=!0),kt["_"+n+"ListenClick"]&&this._fire(t.pointerclick,{evt:e,target:this,currentTarget:this,pointerId:c}),f&&this._fire(t.pointerdblclick,{evt:e,target:this,currentTarget:this,pointerId:c}))}),s||this._fire(t.pointerup,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),kt["_"+n+"ListenClick"]=!1,e.cancelable&&n!=="touch"&&n!=="pointer"&&e.preventDefault()}_contextmenu(e){this.setPointersPositions(e);const t=this.getIntersection(this.getPointerPosition());t&&t.isListening()?t._fireAndBubble(M0,{evt:e}):this._fire(M0,{evt:e,target:this,currentTarget:this})}_wheel(e){this.setPointersPositions(e);const t=this.getIntersection(this.getPointerPosition());t&&t.isListening()?t._fireAndBubble(L0,{evt:e}):this._fire(L0,{evt:e,target:this,currentTarget:this})}_pointercancel(e){this.setPointersPositions(e);const t=T0(e.pointerId)||this.getIntersection(this.getPointerPosition());t&&t._fireAndBubble(ku,R0(e)),yf(e.pointerId)}_lostpointercapture(e){yf(e.pointerId)}setPointersPositions(e){const t=this._getContentPosition();let n=null,r=null;e=e||window.event,e.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(e.touches,o=>{this._pointerPositions.push({id:o.identifier,x:(o.clientX-t.left)/t.scaleX,y:(o.clientY-t.top)/t.scaleY})}),Array.prototype.forEach.call(e.changedTouches||e.touches,o=>{this._changedPointerPositions.push({id:o.identifier,x:(o.clientX-t.left)/t.scaleX,y:(o.clientY-t.top)/t.scaleY})})):(n=(e.clientX-t.left)/t.scaleX,r=(e.clientY-t.top)/t.scaleY,this.pointerPos={x:n,y:r},this._pointerPositions=[{x:n,y:r,id:xe._getFirstPointerId(e)}],this._changedPointerPositions=[{x:n,y:r,id:xe._getFirstPointerId(e)}])}_setPointerPosition(e){xe.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(e)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};const e=this.content.getBoundingClientRect();return{top:e.top,left:e.left,scaleX:e.width/this.content.clientWidth||1,scaleY:e.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new cl({width:this.width(),height:this.height()}),this.bufferHitCanvas=new A0({pixelRatio:1,width:this.width(),height:this.height()}),!kt.isBrowser)return;const e=this.container();if(!e)throw"Stage has no container. A container is required.";e.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),e.appendChild(this.content),this._resizeDOM()}cache(){return xe.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(e){e.batchDraw()}),this}};Zp.prototype.nodeType=eO,yr(Zp),ue.addGetterSetter(Zp,"container"),kt.isBrowser&&document.addEventListener("visibilitychange",()=>{_f.forEach(e=>{e.batchDraw()})});var Y_="hasShadow",X_="shadowRGBA",Z_="patternImage",Q_="linearGradient",J_="radialGradient",Qp;function D0(){return Qp||(Qp=xe.createCanvasElement().getContext("2d"),Qp)}var Af={};function aO(e){const t=this.attrs.fillRule;t?e.fill(t):e.fill()}function lO(e){e.stroke()}function cO(e){const t=this.attrs.fillRule;t?e.fill(t):e.fill()}function uO(e){e.stroke()}function dO(){this._clearCache(Y_)}function fO(){this._clearCache(X_)}function hO(){this._clearCache(Z_)}function pO(){this._clearCache(Q_)}function mO(){this._clearCache(J_)}var ht=class extends St{constructor(e){super(e);let t,n=0;for(;t=xe.getHitColor(),!(t&&!(t in Af));)if(n++,n>=1e4){xe.warn("Failed to find a unique color key for a shape. Konva may work incorrectly. Most likely your browser is using canvas farbling. Consider disabling it."),t=xe.getRandomColor();break}this.colorKey=t,Af[t]=this}getContext(){return xe.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return xe.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(Y_,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(Z_,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){const e=D0().createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(e&&e.setTransform){const t=new Qi;t.translate(this.fillPatternX(),this.fillPatternY()),t.rotate(kt.getAngle(this.fillPatternRotation())),t.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),t.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const n=t.getMatrix(),r=typeof DOMMatrix>"u"?{a:n[0],b:n[1],c:n[2],d:n[3],e:n[4],f:n[5]}:new DOMMatrix(n);e.setTransform(r)}return e}}_getLinearGradient(){return this._getCache(Q_,this.__getLinearGradient)}__getLinearGradient(){const e=this.fillLinearGradientColorStops();if(e){const t=D0(),n=this.fillLinearGradientStartPoint(),r=this.fillLinearGradientEndPoint(),o=t.createLinearGradient(n.x,n.y,r.x,r.y);for(let i=0;i<e.length;i+=2)o.addColorStop(e[i],e[i+1]);return o}}_getRadialGradient(){return this._getCache(J_,this.__getRadialGradient)}__getRadialGradient(){const e=this.fillRadialGradientColorStops();if(e){const t=D0(),n=this.fillRadialGradientStartPoint(),r=this.fillRadialGradientEndPoint(),o=t.createRadialGradient(n.x,n.y,this.fillRadialGradientStartRadius(),r.x,r.y,this.fillRadialGradientEndRadius());for(let i=0;i<e.length;i+=2)o.addColorStop(e[i],e[i+1]);return o}}getShadowRGBA(){return this._getCache(X_,this._getShadowRGBA)}_getShadowRGBA(){if(!this.hasShadow())return;const e=xe.colorToRGBA(this.shadowColor());if(e)return"rgba("+e.r+","+e.g+","+e.b+","+e.a*(this.shadowOpacity()||1)+")"}hasFill(){return this._calculate("hasFill",["fillEnabled","fill","fillPatternImage","fillLinearGradientColorStops","fillRadialGradientColorStops"],()=>this.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const e=this.hitStrokeWidth();return e==="auto"?this.hasStroke():this.strokeEnabled()&&!!e}intersects(e){const t=this.getStage();if(!t)return!1;const n=t.bufferHitCanvas;return n.getContext().clear(),this.drawHit(n,void 0,!0),n.context.getImageData(Math.round(e.x),Math.round(e.y),1,1).data[3]>0}destroy(){return St.prototype.destroy.call(this),delete Af[this.colorKey],delete this.colorKey,this}_useBufferCanvas(e){var t;if(!(!((t=this.attrs.perfectDrawEnabled)!==null&&t!==void 0)||t))return!1;const n=e||this.hasFill(),r=this.hasStroke(),o=this.getAbsoluteOpacity()!==1;if(n&&r&&o)return!0;const i=this.hasShadow(),s=this.shadowForStrokeEnabled();return!!(n&&r&&i&&s)}setStrokeHitEnabled(e){xe.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),e?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){const e=this.size();return{x:this._centroid?-e.width/2:0,y:this._centroid?-e.height/2:0,width:e.width,height:e.height}}getClientRect(e={}){let t=!1,n=this.getParent();for(;n;){if(n.isCached()){t=!0;break}n=n.getParent()}const r=e.skipTransform,o=e.relativeTo||t&&this.getStage()||void 0,i=this.getSelfRect(),s=!e.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,a=i.width+s,l=i.height+s,c=!e.skipShadow&&this.hasShadow(),d=c?this.shadowOffsetX():0,f=c?this.shadowOffsetY():0,h=a+Math.abs(d),g=l+Math.abs(f),m=c&&this.shadowBlur()||0,v={width:h+m*2,height:g+m*2,x:-(s/2+m)+Math.min(d,0)+i.x,y:-(s/2+m)+Math.min(f,0)+i.y};return r?v:this._transformedRect(v,o)}drawScene(e,t,n){const r=this.getLayer(),o=(e||r.getCanvas()).getContext(),i=this._getCanvasCache(),s=this.getSceneFunc(),a=this.hasShadow();let l;const c=t===this;if(!this.isVisible()&&!c)return this;if(i){o.save();const d=this.getAbsoluteTransform(t).getMatrix();return o.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedSceneCanvas(o),o.restore(),this}if(!s)return this;if(o.save(),this._useBufferCanvas()){l=this.getStage();const d=n||l.bufferCanvas,f=d.getContext();n?(f.save(),f.setTransform(1,0,0,1,0,0),f.clearRect(0,0,d.width,d.height),f.restore()):f.clear(),f.save(),f._applyLineJoin(this),f._applyMiterLimit(this);const h=this.getAbsoluteTransform(t).getMatrix();f.transform(h[0],h[1],h[2],h[3],h[4],h[5]),s.call(this,f,this),f.restore();const g=d.pixelRatio;a&&o._applyShadow(this),c||(o._applyOpacity(this),o._applyGlobalCompositeOperation(this)),o.drawImage(d._canvas,d.x||0,d.y||0,d.width/g,d.height/g)}else{if(o._applyLineJoin(this),o._applyMiterLimit(this),!c){const d=this.getAbsoluteTransform(t).getMatrix();o.transform(d[0],d[1],d[2],d[3],d[4],d[5]),o._applyOpacity(this),o._applyGlobalCompositeOperation(this)}a&&o._applyShadow(this),s.call(this,o,this)}return o.restore(),this}drawHit(e,t,n=!1){if(!this.shouldDrawHit(t,n))return this;const r=this.getLayer(),o=e||r.hitCanvas,i=o&&o.getContext(),s=this.hitFunc()||this.sceneFunc(),a=this._getCanvasCache(),l=a&&a.hit;if(this.colorKey||xe.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),l){i.save();const c=this.getAbsoluteTransform(t).getMatrix();return i.transform(c[0],c[1],c[2],c[3],c[4],c[5]),this._drawCachedHitCanvas(i),i.restore(),this}if(!s)return this;if(i.save(),i._applyLineJoin(this),i._applyMiterLimit(this),this!==t){const c=this.getAbsoluteTransform(t).getMatrix();i.transform(c[0],c[1],c[2],c[3],c[4],c[5])}return s.call(this,i,this),i.restore(),this}drawHitFromCache(e=0){const t=this._getCanvasCache(),n=this._getCachedSceneCanvas(),r=t.hit,o=r.getContext(),i=r.getWidth(),s=r.getHeight();o.clear(),o.drawImage(n._canvas,0,0,i,s);try{const a=o.getImageData(0,0,i,s),l=a.data,c=l.length,d=xe._hexToRgb(this.colorKey);for(let f=0;f<c;f+=4)l[f+3]>e?(l[f]=d.r,l[f+1]=d.g,l[f+2]=d.b,l[f+3]=255):l[f+3]=0;o.putImageData(a,0,0)}catch(a){xe.error("Unable to draw hit graph from cached scene canvas. "+a.message)}return this}hasPointerCapture(e){return O_(e,this)}setPointerCapture(e){F_(e,this)}releaseCapture(e){yf(e,this)}};ht.prototype._fillFunc=aO,ht.prototype._strokeFunc=lO,ht.prototype._fillFuncHit=cO,ht.prototype._strokeFuncHit=uO,ht.prototype._centroid=!1,ht.prototype.nodeType="Shape",yr(ht),ht.prototype.eventListeners={},ht.prototype.on("shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",dO),ht.prototype.on("shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",fO),ht.prototype.on("fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",hO),ht.prototype.on("fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",pO),ht.prototype.on("fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",mO),ue.addGetterSetter(ht,"stroke",void 0,E_()),ue.addGetterSetter(ht,"strokeWidth",2,vt()),ue.addGetterSetter(ht,"fillAfterStrokeEnabled",!1),ue.addGetterSetter(ht,"hitStrokeWidth","auto",I0()),ue.addGetterSetter(ht,"strokeHitEnabled",!0,Ji()),ue.addGetterSetter(ht,"perfectDrawEnabled",!0,Ji()),ue.addGetterSetter(ht,"shadowForStrokeEnabled",!0,Ji()),ue.addGetterSetter(ht,"lineJoin"),ue.addGetterSetter(ht,"lineCap"),ue.addGetterSetter(ht,"miterLimit"),ue.addGetterSetter(ht,"sceneFunc"),ue.addGetterSetter(ht,"hitFunc"),ue.addGetterSetter(ht,"dash"),ue.addGetterSetter(ht,"dashOffset",0,vt()),ue.addGetterSetter(ht,"shadowColor",void 0,rc()),ue.addGetterSetter(ht,"shadowBlur",0,vt()),ue.addGetterSetter(ht,"shadowOpacity",1,vt()),ue.addComponentsGetterSetter(ht,"shadowOffset",["x","y"]),ue.addGetterSetter(ht,"shadowOffsetX",0,vt()),ue.addGetterSetter(ht,"shadowOffsetY",0,vt()),ue.addGetterSetter(ht,"fillPatternImage"),ue.addGetterSetter(ht,"fill",void 0,E_()),ue.addGetterSetter(ht,"fillPatternX",0,vt()),ue.addGetterSetter(ht,"fillPatternY",0,vt()),ue.addGetterSetter(ht,"fillLinearGradientColorStops"),ue.addGetterSetter(ht,"strokeLinearGradientColorStops"),ue.addGetterSetter(ht,"fillRadialGradientStartRadius",0),ue.addGetterSetter(ht,"fillRadialGradientEndRadius",0),ue.addGetterSetter(ht,"fillRadialGradientColorStops"),ue.addGetterSetter(ht,"fillPatternRepeat","repeat"),ue.addGetterSetter(ht,"fillEnabled",!0),ue.addGetterSetter(ht,"strokeEnabled",!0),ue.addGetterSetter(ht,"shadowEnabled",!0),ue.addGetterSetter(ht,"dashEnabled",!0),ue.addGetterSetter(ht,"strokeScaleEnabled",!0),ue.addGetterSetter(ht,"fillPriority","color"),ue.addComponentsGetterSetter(ht,"fillPatternOffset",["x","y"]),ue.addGetterSetter(ht,"fillPatternOffsetX",0,vt()),ue.addGetterSetter(ht,"fillPatternOffsetY",0,vt()),ue.addComponentsGetterSetter(ht,"fillPatternScale",["x","y"]),ue.addGetterSetter(ht,"fillPatternScaleX",1,vt()),ue.addGetterSetter(ht,"fillPatternScaleY",1,vt()),ue.addComponentsGetterSetter(ht,"fillLinearGradientStartPoint",["x","y"]),ue.addComponentsGetterSetter(ht,"strokeLinearGradientStartPoint",["x","y"]),ue.addGetterSetter(ht,"fillLinearGradientStartPointX",0),ue.addGetterSetter(ht,"strokeLinearGradientStartPointX",0),ue.addGetterSetter(ht,"fillLinearGradientStartPointY",0),ue.addGetterSetter(ht,"strokeLinearGradientStartPointY",0),ue.addComponentsGetterSetter(ht,"fillLinearGradientEndPoint",["x","y"]),ue.addComponentsGetterSetter(ht,"strokeLinearGradientEndPoint",["x","y"]),ue.addGetterSetter(ht,"fillLinearGradientEndPointX",0),ue.addGetterSetter(ht,"strokeLinearGradientEndPointX",0),ue.addGetterSetter(ht,"fillLinearGradientEndPointY",0),ue.addGetterSetter(ht,"strokeLinearGradientEndPointY",0),ue.addComponentsGetterSetter(ht,"fillRadialGradientStartPoint",["x","y"]),ue.addGetterSetter(ht,"fillRadialGradientStartPointX",0),ue.addGetterSetter(ht,"fillRadialGradientStartPointY",0),ue.addComponentsGetterSetter(ht,"fillRadialGradientEndPoint",["x","y"]),ue.addGetterSetter(ht,"fillRadialGradientEndPointX",0),ue.addGetterSetter(ht,"fillRadialGradientEndPointY",0),ue.addGetterSetter(ht,"fillPatternRotation",0),ue.addGetterSetter(ht,"fillRule",void 0,rc()),ue.backCompat(ht,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var gO="beforeDraw",vO="draw",e4=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],yO=e4.length,ic=class extends Ci{constructor(e){super(e),this.canvas=new cl,this.hitCanvas=new A0({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(e){return this.getContext().clear(e),this.getHitCanvas().getContext().clear(e),this}setZIndex(e){super.setZIndex(e);const t=this.getStage();return t&&t.content&&(t.content.removeChild(this.getNativeCanvasElement()),e<t.children.length-1?t.content.insertBefore(this.getNativeCanvasElement(),t.children[e+1].getCanvas()._canvas):t.content.appendChild(this.getNativeCanvasElement())),this}moveToTop(){St.prototype.moveToTop.call(this);const e=this.getStage();return e&&e.content&&(e.content.removeChild(this.getNativeCanvasElement()),e.content.appendChild(this.getNativeCanvasElement())),!0}moveUp(){if(!St.prototype.moveUp.call(this))return!1;const e=this.getStage();return!e||!e.content?!1:(e.content.removeChild(this.getNativeCanvasElement()),this.index<e.children.length-1?e.content.insertBefore(this.getNativeCanvasElement(),e.children[this.index+1].getCanvas()._canvas):e.content.appendChild(this.getNativeCanvasElement()),!0)}moveDown(){if(St.prototype.moveDown.call(this)){const e=this.getStage();if(e){const t=e.children;e.content&&(e.content.removeChild(this.getNativeCanvasElement()),e.content.insertBefore(this.getNativeCanvasElement(),t[this.index+1].getCanvas()._canvas))}return!0}return!1}moveToBottom(){if(St.prototype.moveToBottom.call(this)){const e=this.getStage();if(e){const t=e.children;e.content&&(e.content.removeChild(this.getNativeCanvasElement()),e.content.insertBefore(this.getNativeCanvasElement(),t[1].getCanvas()._canvas))}return!0}return!1}getLayer(){return this}remove(){const e=this.getNativeCanvasElement();return St.prototype.remove.call(this),e&&e.parentNode&&xe._isInDocument(e)&&e.parentNode.removeChild(e),this}getStage(){return this.parent}setSize({width:e,height:t}){return this.canvas.setSize(e,t),this.hitCanvas.setSize(e,t),this._setSmoothEnabled(),this}_validateAdd(e){const t=e.getType();t!=="Group"&&t!=="Shape"&&xe.throw("You may only add groups and shapes to a layer.")}_toKonvaCanvas(e){return e={...e},e.width=e.width||this.getWidth(),e.height=e.height||this.getHeight(),e.x=e.x!==void 0?e.x:this.x(),e.y=e.y!==void 0?e.y:this.y(),St.prototype._toKonvaCanvas.call(this,e)}_checkVisibility(){this.visible()?this.canvas._canvas.style.display="block":this.canvas._canvas.style.display="none"}_setSmoothEnabled(){this.getContext()._context.imageSmoothingEnabled=this.imageSmoothingEnabled()}getWidth(){if(this.parent)return this.parent.width()}setWidth(){xe.warn('Can not change width of layer. Use "stage.width(value)" function instead.')}getHeight(){if(this.parent)return this.parent.height()}setHeight(){xe.warn('Can not change height of layer. Use "stage.height(value)" function instead.')}batchDraw(){return this._waitingForDraw||(this._waitingForDraw=!0,xe.requestAnimFrame(()=>{this.draw(),this._waitingForDraw=!1})),this}getIntersection(e){if(!this.isListening()||!this.isVisible())return null;let t=1,n=!1;for(;;){for(let r=0;r<yO;r++){const o=e4[r],i=this._getIntersection({x:e.x+o.x*t,y:e.y+o.y*t}),s=i.shape;if(s)return s;if(n=!!i.antialiased,!i.antialiased)break}if(n)t+=1;else return null}}_getIntersection(e){const t=this.hitCanvas.pixelRatio,n=this.hitCanvas.context.getImageData(Math.round(e.x*t),Math.round(e.y*t),1,1).data,r=n[3];if(r===255){const o=xe.getHitColorKey(n[0],n[1],n[2]),i=Af[o];return i?{shape:i}:{antialiased:!0}}else if(r>0)return{antialiased:!0};return{}}drawScene(e,t,n){const r=this.getLayer(),o=e||r&&r.getCanvas();return this._fire(gO,{node:this}),this.clearBeforeDraw()&&o.getContext().clear(),Ci.prototype.drawScene.call(this,o,t,n),this._fire(vO,{node:this}),this}drawHit(e,t){const n=this.getLayer(),r=e||n&&n.hitCanvas;return n&&n.clearBeforeDraw()&&n.getHitCanvas().getContext().clear(),Ci.prototype.drawHit.call(this,r,t),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(e){xe.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(e)}getHitGraphEnabled(e){return xe.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!this.parent||!this.parent.content)return;const e=this.parent;this.hitCanvas._canvas.parentNode?e.content.removeChild(this.hitCanvas._canvas):e.content.appendChild(this.hitCanvas._canvas)}destroy(){return xe.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}};ic.prototype.nodeType="Layer",yr(ic),ue.addGetterSetter(ic,"imageSmoothingEnabled",!0),ue.addGetterSetter(ic,"clearBeforeDraw",!0),ue.addGetterSetter(ic,"hitGraphEnabled",!0,Ji());var O0=class extends ic{constructor(e){super(e),this.listening(!1),xe.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}};O0.prototype.nodeType="FastLayer",yr(O0);var _u=class extends Ci{_validateAdd(e){const t=e.getType();t!=="Group"&&t!=="Shape"&&xe.throw("You may only add groups and shapes to groups.")}};_u.prototype.nodeType="Group",yr(_u);var F0=(function(){return nc.performance&&nc.performance.now?function(){return nc.performance.now()}:function(){return new Date().getTime()}})(),Au=class ed{constructor(t,n){this.id=ed.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:F0(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){let n=[];return t&&(n=Array.isArray(t)?t:[t]),this.layers=n,this}getLayers(){return this.layers}addLayer(t){const n=this.layers,r=n.length;for(let o=0;o<r;o++)if(n[o]._id===t._id)return!1;return this.layers.push(t),!0}isRunning(){const t=ed.animations,n=t.length;for(let r=0;r<n;r++)if(t[r].id===this.id)return!0;return!1}start(){return this.stop(),this.frame.timeDiff=0,this.frame.lastTime=F0(),ed._addAnimation(this),this}stop(){return ed._removeAnimation(this),this}_updateFrameObject(t){this.frame.timeDiff=t-this.frame.lastTime,this.frame.lastTime=t,this.frame.time+=this.frame.timeDiff,this.frame.frameRate=1e3/this.frame.timeDiff}static _addAnimation(t){this.animations.push(t),this._handleAnimation()}static _removeAnimation(t){const n=t.id,r=this.animations,o=r.length;for(let i=0;i<o;i++)if(r[i].id===n){this.animations.splice(i,1);break}}static _runFrames(){const t={},n=this.animations;for(let r=0;r<n.length;r++){const o=n[r],i=o.layers,s=o.func;o._updateFrameObject(F0());const a=i.length;let l;if(s?l=s.call(o,o.frame)!==!1:l=!0,!!l)for(let c=0;c<a;c++){const d=i[c];d._id!==void 0&&(t[d._id]=d)}}for(const r in t)t.hasOwnProperty(r)&&t[r].batchDraw()}static _animationLoop(){const t=ed;t.animations.length?(t._runFrames(),xe.requestAnimFrame(t._animationLoop)):t.animRunning=!1}static _handleAnimation(){this.animRunning||(this.animRunning=!0,xe.requestAnimFrame(this._animationLoop))}};Au.animations=[],Au.animIdCounter=0,Au.animRunning=!1;var bO={node:1,duration:1,easing:1,onFinish:1,yoyo:1},wO=1,t4=2,n4=3,r4=["fill","stroke","shadowColor"],CO=0,kO=class{constructor(e,t,n,r,o,i,s){this.prop=e,this.propFunc=t,this.begin=r,this._pos=r,this.duration=i,this._change=0,this.prevPos=0,this.yoyo=s,this._time=0,this._position=0,this._startTime=0,this._finish=0,this.func=n,this._change=o-this.begin,this.pause()}fire(e){const t=this[e];t&&t()}setTime(e){e>this.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():e<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=e,this.update())}getTime(){return this._time}setPosition(e){this.prevPos=this._pos,this.propFunc(e),this._pos=e}getPosition(e){return e===void 0&&(e=this._time),this.func(e,this.begin,this._change,this.duration)}play(){this.state=t4,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=n4,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(e){this.pause(),this._time=e,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){const e=this.getTimer()-this._startTime;this.state===t4?this.setTime(e):this.state===n4&&this.setTime(this.duration-e)}pause(){this.state=wO,this.fire("onPause")}getTimer(){return new Date().getTime()}},Jp=class Pr{constructor(t){const n=this,r=t.node,o=r._id,i=t.easing||If.Linear,s=!!t.yoyo;let a,l;typeof t.duration>"u"?a=.3:t.duration===0?a=.001:a=t.duration,this.node=r,this._id=CO++;const c=r.getLayer()||(r instanceof kt.Stage?r.getLayers():null);c||xe.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new Au(function(){n.tween.onEnterFrame()},c),this.tween=new kO(l,function(d){n._tweenFunc(d)},i,0,1,a*1e3,s),this._addListeners(),Pr.attrs[o]||(Pr.attrs[o]={}),Pr.attrs[o][this._id]||(Pr.attrs[o][this._id]={}),Pr.tweens[o]||(Pr.tweens[o]={});for(l in t)bO[l]===void 0&&this._addAttr(l,t[l]);this.reset(),this.onFinish=t.onFinish,this.onReset=t.onReset,this.onUpdate=t.onUpdate}_addAttr(t,n){const r=this.node,o=r._id;let i,s,a,l,c;const d=Pr.tweens[o][t];d&&delete Pr.attrs[o][d][t];let f=r.getAttr(t);if(xe._isArray(n))if(i=[],s=Math.max(n.length,f.length),t==="points"&&n.length!==f.length&&(n.length>f.length?(l=f,f=xe._prepareArrayForTween(f,n,r.closed())):(a=n,n=xe._prepareArrayForTween(n,f,r.closed()))),t.indexOf("fill")===0)for(let h=0;h<s;h++)if(h%2===0)i.push(n[h]-f[h]);else{const g=xe.colorToRGBA(f[h]);c=xe.colorToRGBA(n[h]),f[h]=g,i.push({r:c.r-g.r,g:c.g-g.g,b:c.b-g.b,a:c.a-g.a})}else for(let h=0;h<s;h++)i.push(n[h]-f[h]);else r4.indexOf(t)!==-1?(f=xe.colorToRGBA(f),c=xe.colorToRGBA(n),i={r:c.r-f.r,g:c.g-f.g,b:c.b-f.b,a:c.a-f.a}):i=n-f;Pr.attrs[o][this._id][t]={start:f,diff:i,end:n,trueEnd:a,trueStart:l},Pr.tweens[o][t]=this._id}_tweenFunc(t){const n=this.node,r=Pr.attrs[n._id][this._id];let o,i,s,a,l,c,d,f;for(o in r){if(i=r[o],s=i.start,a=i.diff,f=i.end,xe._isArray(s))if(l=[],d=Math.max(s.length,f.length),o.indexOf("fill")===0)for(c=0;c<d;c++)c%2===0?l.push((s[c]||0)+a[c]*t):l.push("rgba("+Math.round(s[c].r+a[c].r*t)+","+Math.round(s[c].g+a[c].g*t)+","+Math.round(s[c].b+a[c].b*t)+","+(s[c].a+a[c].a*t)+")");else for(c=0;c<d;c++)l.push((s[c]||0)+a[c]*t);else r4.indexOf(o)!==-1?l="rgba("+Math.round(s.r+a.r*t)+","+Math.round(s.g+a.g*t)+","+Math.round(s.b+a.b*t)+","+(s.a+a.a*t)+")":l=s+a*t;n.setAttr(o,l)}}_addListeners(){this.tween.onPlay=()=>{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{const t=this.node,n=Pr.attrs[t._id][this._id];n.points&&n.points.trueEnd&&t.setAttr("points",n.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{const t=this.node,n=Pr.attrs[t._id][this._id];n.points&&n.points.trueStart&&t.points(n.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(t){return this.tween.seek(t*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){const t=this.node._id,n=this._id,r=Pr.tweens[t];this.pause(),this.anim&&this.anim.stop();for(const o in r)delete Pr.tweens[t][o];delete Pr.attrs[t][n],Pr.tweens[t]&&(Object.keys(Pr.tweens[t]).length===0&&delete Pr.tweens[t],Object.keys(Pr.attrs[t]).length===0&&delete Pr.attrs[t])}};Jp.attrs={},Jp.tweens={},St.prototype.to=function(e){const t=e.onFinish;e.node=this,e.onFinish=function(){this.destroy(),t&&t()},new Jp(e).play()};var If={BackEaseIn(e,t,n,r){return n*(e/=r)*e*(2.70158*e-1.70158)+t},BackEaseOut(e,t,n,r){return n*((e=e/r-1)*e*(2.70158*e+1.70158)+1)+t},BackEaseInOut(e,t,n,r){let o=1.70158;return(e/=r/2)<1?n/2*(e*e*(((o*=1.525)+1)*e-o))+t:n/2*((e-=2)*e*(((o*=1.525)+1)*e+o)+2)+t},ElasticEaseIn(e,t,n,r,o,i){let s=0;return e===0?t:(e/=r)===1?t+n:(i||(i=r*.3),!o||o<Math.abs(n)?(o=n,s=i/4):s=i/(2*Math.PI)*Math.asin(n/o),-(o*Math.pow(2,10*(e-=1))*Math.sin((e*r-s)*(2*Math.PI)/i))+t)},ElasticEaseOut(e,t,n,r,o,i){let s=0;return e===0?t:(e/=r)===1?t+n:(i||(i=r*.3),!o||o<Math.abs(n)?(o=n,s=i/4):s=i/(2*Math.PI)*Math.asin(n/o),o*Math.pow(2,-10*e)*Math.sin((e*r-s)*(2*Math.PI)/i)+n+t)},ElasticEaseInOut(e,t,n,r,o,i){let s=0;return e===0?t:(e/=r/2)===2?t+n:(i||(i=r*(.3*1.5)),!o||o<Math.abs(n)?(o=n,s=i/4):s=i/(2*Math.PI)*Math.asin(n/o),e<1?-.5*(o*Math.pow(2,10*(e-=1))*Math.sin((e*r-s)*(2*Math.PI)/i))+t:o*Math.pow(2,-10*(e-=1))*Math.sin((e*r-s)*(2*Math.PI)/i)*.5+n+t)},BounceEaseOut(e,t,n,r){return(e/=r)<1/2.75?n*(7.5625*e*e)+t:e<2/2.75?n*(7.5625*(e-=1.5/2.75)*e+.75)+t:e<2.5/2.75?n*(7.5625*(e-=2.25/2.75)*e+.9375)+t:n*(7.5625*(e-=2.625/2.75)*e+.984375)+t},BounceEaseIn(e,t,n,r){return n-If.BounceEaseOut(r-e,0,n,r)+t},BounceEaseInOut(e,t,n,r){return e<r/2?If.BounceEaseIn(e*2,0,n,r)*.5+t:If.BounceEaseOut(e*2-r,0,n,r)*.5+n*.5+t},EaseIn(e,t,n,r){return n*(e/=r)*e+t},EaseOut(e,t,n,r){return-n*(e/=r)*(e-2)+t},EaseInOut(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t},StrongEaseIn(e,t,n,r){return n*(e/=r)*e*e*e*e+t},StrongEaseOut(e,t,n,r){return n*((e=e/r-1)*e*e*e*e+1)+t},StrongEaseInOut(e,t,n,r){return(e/=r/2)<1?n/2*e*e*e*e*e+t:n/2*((e-=2)*e*e*e*e+2)+t},Linear(e,t,n,r){return n*e/r+t}},o4=xe._assign(kt,{Util:xe,Transform:Qi,Node:St,Container:Ci,Stage:Zp,stages:_f,Layer:ic,FastLayer:O0,Group:_u,DD:Dn,Shape:ht,shapes:Af,Animation:Au,Tween:Jp,Easings:If,Context:Hp,Canvas:_0}),ka=class extends ht{_sceneFunc(e){const t=kt.getAngle(this.angle()),n=this.clockwise();e.beginPath(),e.arc(0,0,this.outerRadius(),0,t,n),e.arc(0,0,this.innerRadius(),t,0,!n),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}getSelfRect(){const e=this.innerRadius(),t=this.outerRadius(),n=this.clockwise(),r=kt.getAngle(n?360-this.angle():this.angle()),o=Math.cos(Math.min(r,Math.PI)),i=1,s=Math.sin(Math.min(Math.max(Math.PI,r),3*Math.PI/2)),a=Math.sin(Math.min(r,Math.PI/2)),l=o*(o>0?e:t),c=i*t,d=s*(s>0?e:t),f=a*(a>0?t:e);return{x:l,y:n?-1*f:d,width:c-l,height:f-d}}};ka.prototype._centroid=!0,ka.prototype.className="Arc",ka.prototype._attrsAffectingSize=["innerRadius","outerRadius","angle","clockwise"],yr(ka),ue.addGetterSetter(ka,"innerRadius",0,vt()),ue.addGetterSetter(ka,"outerRadius",0,vt()),ue.addGetterSetter(ka,"angle",0,vt()),ue.addGetterSetter(ka,"clockwise",!1,Ji());function N0(e,t,n,r,o,i,s){const a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(o-n,2)+Math.pow(i-r,2)),c=s*a/(a+l),d=s*l/(a+l);return[n-c*(o-e),r-c*(i-t),n+d*(o-e),r+d*(i-t)]}function i4(e,t){const n=e.length,r=[];for(let o=2;o<n-2;o+=2){const i=N0(e[o-2],e[o-1],e[o],e[o+1],e[o+2],e[o+3],t);isNaN(i[0])||(r.push(i[0]),r.push(i[1]),r.push(e[o]),r.push(e[o+1]),r.push(i[2]),r.push(i[3]))}return r}function SO(e){const t=[[e[0],e[2],e[4],e[6]],[e[1],e[3],e[5],e[7]]],n=[];for(const r of t){const o=-3*r[0]+9*r[1]-9*r[2]+3*r[3];if(o!==0){const i=6*r[0]-12*r[1]+6*r[2],s=-3*r[0]+3*r[1],a=i*i-4*o*s;if(a>=0){const l=Math.sqrt(a);n.push((-i+l)/(2*o)),n.push((-i-l)/(2*o))}}}return n.filter(r=>r>0&&r<1).flatMap(r=>t.map(o=>{const i=1-r;return i*i*i*o[0]+3*i*i*r*o[1]+3*i*r*r*o[2]+r*r*r*o[3]}))}var Sa=class extends ht{constructor(e){super(e),this.on("pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva",function(){this._clearCache("tensionPoints")})}_sceneFunc(e){const t=this.points(),n=t.length,r=this.tension(),o=this.closed(),i=this.bezier();if(!n)return;let s=0;if(e.beginPath(),e.moveTo(t[0],t[1]),r!==0&&n>4){const a=this.getTensionPoints(),l=a.length;for(s=o?0:4,o||e.quadraticCurveTo(a[0],a[1],a[2],a[3]);s<l-2;)e.bezierCurveTo(a[s++],a[s++],a[s++],a[s++],a[s++],a[s++]);o||e.quadraticCurveTo(a[l-2],a[l-1],t[n-2],t[n-1])}else if(i)for(s=2;s<n;)e.bezierCurveTo(t[s++],t[s++],t[s++],t[s++],t[s++],t[s++]);else for(s=2;s<n;s+=2)e.lineTo(t[s],t[s+1]);o?(e.closePath(),e.fillStrokeShape(this)):e.strokeShape(this)}getTensionPoints(){return this._getCache("tensionPoints",this._getTensionPoints)}_getTensionPoints(){return this.closed()?this._getTensionPointsClosed():i4(this.points(),this.tension())}_getTensionPointsClosed(){const e=this.points(),t=e.length,n=this.tension(),r=N0(e[t-2],e[t-1],e[0],e[1],e[2],e[3],n),o=N0(e[t-4],e[t-3],e[t-2],e[t-1],e[0],e[1],n),i=i4(e,n);return[r[2],r[3]].concat(i).concat([o[0],o[1],e[t-2],e[t-1],o[2],o[3],r[0],r[1],e[0],e[1]])}getWidth(){return this.getSelfRect().width}getHeight(){return this.getSelfRect().height}getSelfRect(){let e=this.points();if(e.length<4)return{x:e[0]||0,y:e[1]||0,width:0,height:0};this.tension()!==0?e=[e[0],e[1],...this._getTensionPoints(),e[e.length-2],e[e.length-1]]:this.bezier()?e=[e[0],e[1],...SO(this.points()),e[e.length-2],e[e.length-1]]:e=this.points();let t=e[0],n=e[0],r=e[1],o=e[1],i,s;for(let a=0;a<e.length/2;a++)i=e[a*2],s=e[a*2+1],t=Math.min(t,i),n=Math.max(n,i),r=Math.min(r,s),o=Math.max(o,s);return{x:t,y:r,width:n-t,height:o-r}}};Sa.prototype.className="Line",Sa.prototype._attrsAffectingSize=["points","bezier","tension"],yr(Sa),ue.addGetterSetter(Sa,"closed",!1),ue.addGetterSetter(Sa,"bezier",!1),ue.addGetterSetter(Sa,"tension",0,vt()),ue.addGetterSetter(Sa,"points",[],zD());var _O=[[],[],[-.5773502691896257,.5773502691896257],[0,-.7745966692414834,.7745966692414834],[-.33998104358485626,.33998104358485626,-.8611363115940526,.8611363115940526],[0,-.5384693101056831,.5384693101056831,-.906179845938664,.906179845938664],[.6612093864662645,-.6612093864662645,-.2386191860831969,.2386191860831969,-.932469514203152,.932469514203152],[0,.4058451513773972,-.4058451513773972,-.7415311855993945,.7415311855993945,-.9491079123427585,.9491079123427585],[-.1834346424956498,.1834346424956498,-.525532409916329,.525532409916329,-.7966664774136267,.7966664774136267,-.9602898564975363,.9602898564975363],[0,-.8360311073266358,.8360311073266358,-.9681602395076261,.9681602395076261,-.3242534234038089,.3242534234038089,-.6133714327005904,.6133714327005904],[-.14887433898163122,.14887433898163122,-.4333953941292472,.4333953941292472,-.6794095682990244,.6794095682990244,-.8650633666889845,.8650633666889845,-.9739065285171717,.9739065285171717],[0,-.26954315595234496,.26954315595234496,-.5190961292068118,.5190961292068118,-.7301520055740494,.7301520055740494,-.8870625997680953,.8870625997680953,-.978228658146057,.978228658146057],[-.1252334085114689,.1252334085114689,-.3678314989981802,.3678314989981802,-.5873179542866175,.5873179542866175,-.7699026741943047,.7699026741943047,-.9041172563704749,.9041172563704749,-.9815606342467192,.9815606342467192],[0,-.2304583159551348,.2304583159551348,-.44849275103644687,.44849275103644687,-.6423493394403402,.6423493394403402,-.8015780907333099,.8015780907333099,-.9175983992229779,.9175983992229779,-.9841830547185881,.9841830547185881],[-.10805494870734367,.10805494870734367,-.31911236892788974,.31911236892788974,-.5152486363581541,.5152486363581541,-.6872929048116855,.6872929048116855,-.827201315069765,.827201315069765,-.9284348836635735,.9284348836635735,-.9862838086968123,.9862838086968123],[0,-.20119409399743451,.20119409399743451,-.3941513470775634,.3941513470775634,-.5709721726085388,.5709721726085388,-.7244177313601701,.7244177313601701,-.8482065834104272,.8482065834104272,-.937273392400706,.937273392400706,-.9879925180204854,.9879925180204854],[-.09501250983763744,.09501250983763744,-.2816035507792589,.2816035507792589,-.45801677765722737,.45801677765722737,-.6178762444026438,.6178762444026438,-.755404408355003,.755404408355003,-.8656312023878318,.8656312023878318,-.9445750230732326,.9445750230732326,-.9894009349916499,.9894009349916499],[0,-.17848418149584785,.17848418149584785,-.3512317634538763,.3512317634538763,-.5126905370864769,.5126905370864769,-.6576711592166907,.6576711592166907,-.7815140038968014,.7815140038968014,-.8802391537269859,.8802391537269859,-.9506755217687678,.9506755217687678,-.9905754753144174,.9905754753144174],[-.0847750130417353,.0847750130417353,-.2518862256915055,.2518862256915055,-.41175116146284263,.41175116146284263,-.5597708310739475,.5597708310739475,-.6916870430603532,.6916870430603532,-.8037049589725231,.8037049589725231,-.8926024664975557,.8926024664975557,-.9558239495713977,.9558239495713977,-.9915651684209309,.9915651684209309],[0,-.16035864564022537,.16035864564022537,-.31656409996362983,.31656409996362983,-.46457074137596094,.46457074137596094,-.600545304661681,.600545304661681,-.7209661773352294,.7209661773352294,-.8227146565371428,.8227146565371428,-.9031559036148179,.9031559036148179,-.96020815213483,.96020815213483,-.9924068438435844,.9924068438435844],[-.07652652113349734,.07652652113349734,-.22778585114164507,.22778585114164507,-.37370608871541955,.37370608871541955,-.5108670019508271,.5108670019508271,-.636053680726515,.636053680726515,-.7463319064601508,.7463319064601508,-.8391169718222188,.8391169718222188,-.912234428251326,.912234428251326,-.9639719272779138,.9639719272779138,-.9931285991850949,.9931285991850949],[0,-.1455618541608951,.1455618541608951,-.2880213168024011,.2880213168024011,-.4243421202074388,.4243421202074388,-.5516188358872198,.5516188358872198,-.6671388041974123,.6671388041974123,-.7684399634756779,.7684399634756779,-.8533633645833173,.8533633645833173,-.9200993341504008,.9200993341504008,-.9672268385663063,.9672268385663063,-.9937521706203895,.9937521706203895],[-.06973927331972223,.06973927331972223,-.20786042668822127,.20786042668822127,-.34193582089208424,.34193582089208424,-.469355837986757,.469355837986757,-.5876404035069116,.5876404035069116,-.6944872631866827,.6944872631866827,-.7878168059792081,.7878168059792081,-.8658125777203002,.8658125777203002,-.926956772187174,.926956772187174,-.9700604978354287,.9700604978354287,-.9942945854823992,.9942945854823992],[0,-.1332568242984661,.1332568242984661,-.26413568097034495,.26413568097034495,-.3903010380302908,.3903010380302908,-.5095014778460075,.5095014778460075,-.6196098757636461,.6196098757636461,-.7186613631319502,.7186613631319502,-.8048884016188399,.8048884016188399,-.8767523582704416,.8767523582704416,-.9329710868260161,.9329710868260161,-.9725424712181152,.9725424712181152,-.9947693349975522,.9947693349975522],[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213]],AO=[[],[],[1,1],[.8888888888888888,.5555555555555556,.5555555555555556],[.6521451548625461,.6521451548625461,.34785484513745385,.34785484513745385],[.5688888888888889,.47862867049936647,.47862867049936647,.23692688505618908,.23692688505618908],[.3607615730481386,.3607615730481386,.46791393457269104,.46791393457269104,.17132449237917036,.17132449237917036],[.4179591836734694,.3818300505051189,.3818300505051189,.27970539148927664,.27970539148927664,.1294849661688697,.1294849661688697],[.362683783378362,.362683783378362,.31370664587788727,.31370664587788727,.22238103445337448,.22238103445337448,.10122853629037626,.10122853629037626],[.3302393550012598,.1806481606948574,.1806481606948574,.08127438836157441,.08127438836157441,.31234707704000286,.31234707704000286,.26061069640293544,.26061069640293544],[.29552422471475287,.29552422471475287,.26926671930999635,.26926671930999635,.21908636251598204,.21908636251598204,.1494513491505806,.1494513491505806,.06667134430868814,.06667134430868814],[.2729250867779006,.26280454451024665,.26280454451024665,.23319376459199048,.23319376459199048,.18629021092773426,.18629021092773426,.1255803694649046,.1255803694649046,.05566856711617366,.05566856711617366],[.24914704581340277,.24914704581340277,.2334925365383548,.2334925365383548,.20316742672306592,.20316742672306592,.16007832854334622,.16007832854334622,.10693932599531843,.10693932599531843,.04717533638651183,.04717533638651183],[.2325515532308739,.22628318026289723,.22628318026289723,.2078160475368885,.2078160475368885,.17814598076194574,.17814598076194574,.13887351021978725,.13887351021978725,.09212149983772845,.09212149983772845,.04048400476531588,.04048400476531588],[.2152638534631578,.2152638534631578,.2051984637212956,.2051984637212956,.18553839747793782,.18553839747793782,.15720316715819355,.15720316715819355,.12151857068790319,.12151857068790319,.08015808715976021,.08015808715976021,.03511946033175186,.03511946033175186],[.2025782419255613,.19843148532711158,.19843148532711158,.1861610000155622,.1861610000155622,.16626920581699392,.16626920581699392,.13957067792615432,.13957067792615432,.10715922046717194,.10715922046717194,.07036604748810812,.07036604748810812,.03075324199611727,.03075324199611727],[.1894506104550685,.1894506104550685,.18260341504492358,.18260341504492358,.16915651939500254,.16915651939500254,.14959598881657674,.14959598881657674,.12462897125553388,.12462897125553388,.09515851168249279,.09515851168249279,.062253523938647894,.062253523938647894,.027152459411754096,.027152459411754096],[.17944647035620653,.17656270536699264,.17656270536699264,.16800410215645004,.16800410215645004,.15404576107681028,.15404576107681028,.13513636846852548,.13513636846852548,.11188384719340397,.11188384719340397,.08503614831717918,.08503614831717918,.0554595293739872,.0554595293739872,.02414830286854793,.02414830286854793],[.1691423829631436,.1691423829631436,.16427648374583273,.16427648374583273,.15468467512626524,.15468467512626524,.14064291467065065,.14064291467065065,.12255520671147846,.12255520671147846,.10094204410628717,.10094204410628717,.07642573025488905,.07642573025488905,.0497145488949698,.0497145488949698,.02161601352648331,.02161601352648331],[.1610544498487837,.15896884339395434,.15896884339395434,.15276604206585967,.15276604206585967,.1426067021736066,.1426067021736066,.12875396253933621,.12875396253933621,.11156664554733399,.11156664554733399,.09149002162245,.09149002162245,.06904454273764123,.06904454273764123,.0448142267656996,.0448142267656996,.019461788229726478,.019461788229726478],[.15275338713072584,.15275338713072584,.14917298647260374,.14917298647260374,.14209610931838204,.14209610931838204,.13168863844917664,.13168863844917664,.11819453196151841,.11819453196151841,.10193011981724044,.10193011981724044,.08327674157670475,.08327674157670475,.06267204833410907,.06267204833410907,.04060142980038694,.04060142980038694,.017614007139152118,.017614007139152118],[.14608113364969041,.14452440398997005,.14452440398997005,.13988739479107315,.13988739479107315,.13226893863333747,.13226893863333747,.12183141605372853,.12183141605372853,.10879729916714838,.10879729916714838,.09344442345603386,.09344442345603386,.0761001136283793,.0761001136283793,.057134425426857205,.057134425426857205,.036953789770852494,.036953789770852494,.016017228257774335,.016017228257774335],[.13925187285563198,.13925187285563198,.13654149834601517,.13654149834601517,.13117350478706238,.13117350478706238,.12325237681051242,.12325237681051242,.11293229608053922,.11293229608053922,.10041414444288096,.10041414444288096,.08594160621706773,.08594160621706773,.06979646842452049,.06979646842452049,.052293335152683286,.052293335152683286,.03377490158481415,.03377490158481415,.0146279952982722,.0146279952982722],[.13365457218610619,.1324620394046966,.1324620394046966,.12890572218808216,.12890572218808216,.12304908430672953,.12304908430672953,.11499664022241136,.11499664022241136,.10489209146454141,.10489209146454141,.09291576606003515,.09291576606003515,.07928141177671895,.07928141177671895,.06423242140852585,.06423242140852585,.04803767173108467,.04803767173108467,.030988005856979445,.030988005856979445,.013411859487141771,.013411859487141771],[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872]],IO=[[1],[1,1],[1,2,1],[1,3,3,1]],s4=(e,t,n)=>{let r,o;const s=n/2;r=0;for(let a=0;a<20;a++)o=s*_O[20][a]+s,r+=AO[20][a]*xO(e,t,o);return s*r},a4=(e,t,n)=>{n===void 0&&(n=1);const r=e[0]-2*e[1]+e[2],o=t[0]-2*t[1]+t[2],i=2*e[1]-2*e[0],s=2*t[1]-2*t[0],a=4*(r*r+o*o),l=4*(r*i+o*s),c=i*i+s*s;if(a===0)return n*Math.sqrt(Math.pow(e[2]-e[0],2)+Math.pow(t[2]-t[0],2));const d=l/(2*a),f=c/a,h=n+d,g=f-d*d,m=h*h+g>0?Math.sqrt(h*h+g):0,v=d*d+g>0?Math.sqrt(d*d+g):0,k=d+Math.sqrt(d*d+g)!==0?g*Math.log(Math.abs((h+m)/(d+v))):0;return Math.sqrt(a)/2*(h*m-d*v+k)};function xO(e,t,n){const r=B0(1,n,e),o=B0(1,n,t),i=r*r+o*o;return Math.sqrt(i)}var B0=(e,t,n)=>{const r=n.length-1;let o,i;if(r===0)return 0;if(e===0){i=0;for(let s=0;s<=r;s++)i+=IO[r][s]*Math.pow(1-t,r-s)*Math.pow(t,s)*n[s];return i}else{o=new Array(r);for(let s=0;s<r;s++)o[s]=r*(n[s+1]-n[s]);return B0(e-1,t,o)}},l4=(e,t,n)=>{let r=1,o=e/t,i=(e-n(o))/t,s=0;for(;r>.001;){const a=n(o+i),l=Math.abs(e-a)/t;if(l<r)r=l,o+=i;else{const c=n(o-i),d=Math.abs(e-c)/t;d<r?(r=d,o-=i):i/=2}if(s++,s>500)break}return o},Fi=class mi extends ht{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=mi.parsePathData(this.data()),this.pathLength=mi.getPathLength(this.dataArray)}_sceneFunc(t){const n=this.dataArray;t.beginPath();let r=!1;for(let o=0;o<n.length;o++){const i=n[o].command,s=n[o].points;switch(i){case"L":t.lineTo(s[0],s[1]);break;case"M":t.moveTo(s[0],s[1]);break;case"C":t.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"Q":t.quadraticCurveTo(s[0],s[1],s[2],s[3]);break;case"A":const a=s[0],l=s[1],c=s[2],d=s[3],f=s[4],h=s[5],g=s[6],m=s[7],v=c>d?c:d,k=c>d?1:c/d,C=c>d?d/c:1;t.translate(a,l),t.rotate(g),t.scale(k,C),t.arc(0,0,v,f,f+h,1-m),t.scale(1/k,1/C),t.rotate(-g),t.translate(-a,-l);break;case"z":r=!0,t.closePath()}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){let t=[];this.dataArray.forEach(function(l){if(l.command==="A"){const c=l.points[4],d=l.points[5],f=l.points[4]+d;let h=Math.PI/180;if(Math.abs(c-f)<h&&(h=Math.abs(c-f)),d<0)for(let g=c-h;g>f;g-=h){const m=mi.getPointOnEllipticalArc(l.points[0],l.points[1],l.points[2],l.points[3],g,0);t.push(m.x,m.y)}else for(let g=c+h;g<f;g+=h){const m=mi.getPointOnEllipticalArc(l.points[0],l.points[1],l.points[2],l.points[3],g,0);t.push(m.x,m.y)}}else if(l.command==="C")for(let c=0;c<=1;c+=.01){const d=mi.getPointOnCubicBezier(c,l.start.x,l.start.y,l.points[0],l.points[1],l.points[2],l.points[3],l.points[4],l.points[5]);t.push(d.x,d.y)}else t=t.concat(l.points)});let n=t[0],r=t[0],o=t[1],i=t[1],s,a;for(let l=0;l<t.length/2;l++)s=t[l*2],a=t[l*2+1],isNaN(s)||(n=Math.min(n,s),r=Math.max(r,s)),isNaN(a)||(o=Math.min(o,a),i=Math.max(i,a));return{x:n,y:o,width:r-n,height:i-o}}getLength(){return this.pathLength}getPointAtLength(t){return mi.getPointAtLengthOfDataArray(t,this.dataArray)}static getLineLength(t,n,r,o){return Math.sqrt((r-t)*(r-t)+(o-n)*(o-n))}static getPathLength(t){let n=0;for(let r=0;r<t.length;++r)n+=t[r].pathLength;return n}static getPointAtLengthOfDataArray(t,n){let r,o=0,i=n.length;if(!i)return null;for(;o<i&&t>n[o].pathLength;)t-=n[o].pathLength,++o;if(o===i)return r=n[o-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return n[o].command==="M"?(r=n[o].points.slice(0,2),{x:r[0],y:r[1]}):{x:n[o].start.x,y:n[o].start.y};const s=n[o],a=s.points;switch(s.command){case"L":return mi.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return mi.getPointOnCubicBezier(l4(t,mi.getPathLength(n),v=>s4([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return mi.getPointOnQuadraticBezier(l4(t,mi.getPathLength(n),v=>a4([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":const l=a[0],c=a[1],d=a[2],f=a[3],h=a[5],g=a[6];let m=a[4];return m+=h*t/s.pathLength,mi.getPointOnEllipticalArc(l,c,d,f,m,g)}return null}static getPointOnLine(t,n,r,o,i,s,a){s=s??n,a=a??r;const l=this.getLineLength(n,r,o,i);if(l<1e-10)return{x:n,y:r};if(o===n)return{x:s,y:a+(i>r?t:-t)};const c=(i-r)/(o-n),d=Math.sqrt(t*t/(1+c*c))*(o<n?-1:1),f=c*d;if(Math.abs(a-r-c*(s-n))<1e-10)return{x:s+d,y:a+f};const h=((s-n)*(o-n)+(a-r)*(i-r))/(l*l),g=n+h*(o-n),m=r+h*(i-r),v=this.getLineLength(s,a,g,m),k=Math.sqrt(t*t-v*v),C=Math.sqrt(k*k/(1+c*c))*(o<n?-1:1),A=c*C;return{x:g+C,y:m+A}}static getPointOnCubicBezier(t,n,r,o,i,s,a,l,c){function d(m){return m*m*m}function f(m){return 3*m*m*(1-m)}function h(m){return 3*m*(1-m)*(1-m)}function g(m){return(1-m)*(1-m)*(1-m)}return{x:l*d(t)+s*f(t)+o*h(t)+n*g(t),y:c*d(t)+a*f(t)+i*h(t)+r*g(t)}}static getPointOnQuadraticBezier(t,n,r,o,i,s,a){function l(f){return f*f}function c(f){return 2*f*(1-f)}function d(f){return(1-f)*(1-f)}return{x:s*l(t)+o*c(t)+n*d(t),y:a*l(t)+i*c(t)+r*d(t)}}static getPointOnEllipticalArc(t,n,r,o,i,s){const a=Math.cos(s),l=Math.sin(s),c={x:r*Math.cos(i),y:o*Math.sin(i)};return{x:t+(c.x*a-c.y*l),y:n+(c.x*l+c.y*a)}}static parsePathData(t){if(!t)return[];let n=t;const r=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];n=n.replace(new RegExp(" ","g"),",");for(let f=0;f<r.length;f++)n=n.replace(new RegExp(r[f],"g"),"|"+r[f]);const o=n.split("|"),i=[],s=[];let a=0,l=0;const c=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let d;for(let f=1;f<o.length;f++){let h=o[f],g=h.charAt(0);for(h=h.slice(1),s.length=0;d=c.exec(h);)s.push(d[0]);let m=[],v=g==="A"||g==="a"?0:-1;for(let k=0,C=s.length;k<C;k++){const A=s[k];if(A==="00"){m.push(0,0),v>=0&&(v+=2,v>=7&&(v-=7));continue}if(v>=0){if(v===3){if(/^[01]{2}\d+(?:\.\d+)?$/.test(A)){m.push(parseInt(A[0],10)),m.push(parseInt(A[1],10)),m.push(parseFloat(A.slice(2))),v+=3,v>=7&&(v-=7);continue}if(A==="11"||A==="10"||A==="01"){m.push(parseInt(A[0],10)),m.push(parseInt(A[1],10)),v+=2,v>=7&&(v-=7);continue}if(A==="0"||A==="1"){m.push(parseInt(A,10)),v+=1,v>=7&&(v-=7);continue}}else if(v===4){if(/^[01]\d+(?:\.\d+)?$/.test(A)){m.push(parseInt(A[0],10)),m.push(parseFloat(A.slice(1))),v+=2,v>=7&&(v-=7);continue}if(A==="0"||A==="1"){m.push(parseInt(A,10)),v+=1,v>=7&&(v-=7);continue}}const b=parseFloat(A);isNaN(b)?m.push(0):m.push(b),v+=1,v>=7&&(v-=7)}else{const b=parseFloat(A);isNaN(b)?m.push(0):m.push(b)}}for(;m.length>0&&!isNaN(m[0]);){let k="",C=[];const A=a,b=l;let w,T,M,N,H,L,V,q,D,B;switch(g){case"l":a+=m.shift(),l+=m.shift(),k="L",C.push(a,l);break;case"L":a=m.shift(),l=m.shift(),C.push(a,l);break;case"m":const E=m.shift(),j=m.shift();if(a+=E,l+=j,k="M",i.length>2&&i[i.length-1].command==="z"){for(let J=i.length-2;J>=0;J--)if(i[J].command==="M"){a=i[J].points[0]+E,l=i[J].points[1]+j;break}}C.push(a,l),g="l";break;case"M":a=m.shift(),l=m.shift(),k="M",C.push(a,l),g="L";break;case"h":a+=m.shift(),k="L",C.push(a,l);break;case"H":a=m.shift(),k="L",C.push(a,l);break;case"v":l+=m.shift(),k="L",C.push(a,l);break;case"V":l=m.shift(),k="L",C.push(a,l);break;case"C":C.push(m.shift(),m.shift(),m.shift(),m.shift()),a=m.shift(),l=m.shift(),C.push(a,l);break;case"c":C.push(a+m.shift(),l+m.shift(),a+m.shift(),l+m.shift()),a+=m.shift(),l+=m.shift(),k="C",C.push(a,l);break;case"S":T=a,M=l,w=i[i.length-1],w.command==="C"&&(T=a+(a-w.points[2]),M=l+(l-w.points[3])),C.push(T,M,m.shift(),m.shift()),a=m.shift(),l=m.shift(),k="C",C.push(a,l);break;case"s":T=a,M=l,w=i[i.length-1],w.command==="C"&&(T=a+(a-w.points[2]),M=l+(l-w.points[3])),C.push(T,M,a+m.shift(),l+m.shift()),a+=m.shift(),l+=m.shift(),k="C",C.push(a,l);break;case"Q":C.push(m.shift(),m.shift()),a=m.shift(),l=m.shift(),C.push(a,l);break;case"q":C.push(a+m.shift(),l+m.shift()),a+=m.shift(),l+=m.shift(),k="Q",C.push(a,l);break;case"T":T=a,M=l,w=i[i.length-1],w.command==="Q"&&(T=a+(a-w.points[0]),M=l+(l-w.points[1])),a=m.shift(),l=m.shift(),k="Q",C.push(T,M,a,l);break;case"t":T=a,M=l,w=i[i.length-1],w.command==="Q"&&(T=a+(a-w.points[0]),M=l+(l-w.points[1])),a+=m.shift(),l+=m.shift(),k="Q",C.push(T,M,a,l);break;case"A":N=m.shift(),H=m.shift(),L=m.shift(),V=m.shift(),q=m.shift(),D=a,B=l,a=m.shift(),l=m.shift(),k="A",C=this.convertEndpointToCenterParameterization(D,B,a,l,V,q,N,H,L);break;case"a":N=m.shift(),H=m.shift(),L=m.shift(),V=m.shift(),q=m.shift(),D=a,B=l,a+=m.shift(),l+=m.shift(),k="A",C=this.convertEndpointToCenterParameterization(D,B,a,l,V,q,N,H,L)}i.push({command:k||g,points:C,start:{x:A,y:b},pathLength:this.calcLength(A,b,k||g,C)})}(g==="z"||g==="Z")&&i.push({command:"z",points:[],start:void 0,pathLength:0})}return i}static calcLength(t,n,r,o){let i,s,a,l;const c=mi;switch(r){case"L":return c.getLineLength(t,n,o[0],o[1]);case"C":return s4([t,o[0],o[2],o[4]],[n,o[1],o[3],o[5]],1);case"Q":return a4([t,o[0],o[2]],[n,o[1],o[3]],1);case"A":i=0;const d=o[4],f=o[5],h=o[4]+f;let g=Math.PI/180;if(Math.abs(d-h)<g&&(g=Math.abs(d-h)),s=c.getPointOnEllipticalArc(o[0],o[1],o[2],o[3],d,0),f<0)for(l=d-g;l>h;l-=g)a=c.getPointOnEllipticalArc(o[0],o[1],o[2],o[3],l,0),i+=c.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=d+g;l<h;l+=g)a=c.getPointOnEllipticalArc(o[0],o[1],o[2],o[3],l,0),i+=c.getLineLength(s.x,s.y,a.x,a.y),s=a;return a=c.getPointOnEllipticalArc(o[0],o[1],o[2],o[3],h,0),i+=c.getLineLength(s.x,s.y,a.x,a.y),i}return 0}static convertEndpointToCenterParameterization(t,n,r,o,i,s,a,l,c){const d=c*(Math.PI/180),f=Math.cos(d)*(t-r)/2+Math.sin(d)*(n-o)/2,h=-1*Math.sin(d)*(t-r)/2+Math.cos(d)*(n-o)/2,g=f*f/(a*a)+h*h/(l*l);g>1&&(a*=Math.sqrt(g),l*=Math.sqrt(g));let m=Math.sqrt((a*a*(l*l)-a*a*(h*h)-l*l*(f*f))/(a*a*(h*h)+l*l*(f*f)));i===s&&(m*=-1),isNaN(m)&&(m=0);const v=m*a*h/l,k=m*-l*f/a,C=(t+r)/2+Math.cos(d)*v-Math.sin(d)*k,A=(n+o)/2+Math.sin(d)*v+Math.cos(d)*k,b=function(V){return Math.sqrt(V[0]*V[0]+V[1]*V[1])},w=function(V,q){return(V[0]*q[0]+V[1]*q[1])/(b(V)*b(q))},T=function(V,q){return(V[0]*q[1]<V[1]*q[0]?-1:1)*Math.acos(w(V,q))},M=T([1,0],[(f-v)/a,(h-k)/l]),N=[(f-v)/a,(h-k)/l],H=[(-1*f-v)/a,(-1*h-k)/l];let L=T(N,H);return w(N,H)<=-1&&(L=Math.PI),w(N,H)>=1&&(L=0),s===0&&L>0&&(L=L-2*Math.PI),s===1&&L<0&&(L=L+2*Math.PI),[C,A,a,l,M,L,d,s]}};Fi.prototype.className="Path",Fi.prototype._attrsAffectingSize=["data"],yr(Fi),ue.addGetterSetter(Fi,"data");var sc=class extends Sa{_sceneFunc(e){super._sceneFunc(e);const t=Math.PI*2,n=this.points();let r=n;const o=this.tension()!==0&&n.length>4;o&&(r=this.getTensionPoints());const i=this.pointerLength(),s=n.length;let a,l;if(o){const f=[r[r.length-4],r[r.length-3],r[r.length-2],r[r.length-1],n[s-2],n[s-1]],h=Fi.calcLength(r[r.length-4],r[r.length-3],"C",f),g=Fi.getPointOnQuadraticBezier(Math.min(1,1-i/h),f[0],f[1],f[2],f[3],f[4],f[5]);a=n[s-2]-g.x,l=n[s-1]-g.y}else a=n[s-2]-n[s-4],l=n[s-1]-n[s-3];const c=(Math.atan2(l,a)+t)%t,d=this.pointerWidth();this.pointerAtEnding()&&(e.save(),e.beginPath(),e.translate(n[s-2],n[s-1]),e.rotate(c),e.moveTo(0,0),e.lineTo(-i,d/2),e.lineTo(-i,-d/2),e.closePath(),e.restore(),this.__fillStroke(e)),this.pointerAtBeginning()&&(e.save(),e.beginPath(),e.translate(n[0],n[1]),o?(a=(r[0]+r[2])/2-n[0],l=(r[1]+r[3])/2-n[1]):(a=n[2]-n[0],l=n[3]-n[1]),e.rotate((Math.atan2(-l,-a)+t)%t),e.moveTo(0,0),e.lineTo(-i,d/2),e.lineTo(-i,-d/2),e.closePath(),e.restore(),this.__fillStroke(e))}__fillStroke(e){const t=this.dashEnabled();t&&(this.attrs.dashEnabled=!1,e.setLineDash([])),e.fillStrokeShape(this),t&&(this.attrs.dashEnabled=!0)}getSelfRect(){const e=super.getSelfRect(),t=this.pointerWidth()/2;return{x:e.x,y:e.y-t,width:e.width,height:e.height+t*2}}};sc.prototype.className="Arrow",yr(sc),ue.addGetterSetter(sc,"pointerLength",10,vt()),ue.addGetterSetter(sc,"pointerWidth",10,vt()),ue.addGetterSetter(sc,"pointerAtBeginning",!1),ue.addGetterSetter(sc,"pointerAtEnding",!0);var Iu=class extends ht{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius()!==e/2&&this.radius(e/2)}setHeight(e){this.radius()!==e/2&&this.radius(e/2)}};Iu.prototype._centroid=!0,Iu.prototype.className="Circle",Iu.prototype._attrsAffectingSize=["radius"],yr(Iu),ue.addGetterSetter(Iu,"radius",0,vt());var fl=class extends ht{_sceneFunc(e){const t=this.radiusX(),n=this.radiusY();e.beginPath(),e.save(),t!==n&&e.scale(1,n/t),e.arc(0,0,t,0,Math.PI*2,!1),e.restore(),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(e){this.radiusX(e/2)}setHeight(e){this.radiusY(e/2)}};fl.prototype.className="Ellipse",fl.prototype._centroid=!0,fl.prototype._attrsAffectingSize=["radiusX","radiusY"],yr(fl),ue.addComponentsGetterSetter(fl,"radius",["x","y"]),ue.addGetterSetter(fl,"radiusX",0,vt()),ue.addGetterSetter(fl,"radiusY",0,vt());var es=class uI extends ht{constructor(t){super(t),this._loadListener=()=>{this._requestDraw()},this.on("imageChange.konva",n=>{this._removeImageLoad(n.oldVal),this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",this._loadListener)}_removeImageLoad(t){t&&t.removeEventListener&&t.removeEventListener("load",this._loadListener)}destroy(){return this._removeImageLoad(this.image()),super.destroy(),this}_useBufferCanvas(){const t=!!this.cornerRadius(),n=this.hasShadow();return t&&n?!0:super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),o=this.cornerRadius(),i=this.attrs.image;let s;if(i){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[i,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[i,0,0,n,r]}(this.hasFill()||this.hasStroke()||o)&&(t.beginPath(),o?xe.drawRoundedRectPath(t,n,r,o):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),i&&(o&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){const n=this.width(),r=this.height(),o=this.cornerRadius();t.beginPath(),o?xe.drawRoundedRectPath(t,n,r,o):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n,r;return(r=(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width)!==null&&r!==void 0?r:0}getHeight(){var t,n,r;return(r=(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height)!==null&&r!==void 0?r:0}static fromURL(t,n,r=null){const o=xe.createImageElement();o.onload=function(){n(new uI({image:o}))},o.onerror=r,o.crossOrigin="Anonymous",o.src=t}};es.prototype.className="Image",es.prototype._attrsAffectingSize=["image"],yr(es),ue.addGetterSetter(es,"cornerRadius",0,Gp(4)),ue.addGetterSetter(es,"image"),ue.addComponentsGetterSetter(es,"crop",["x","y","width","height"]),ue.addGetterSetter(es,"cropX",0,vt()),ue.addGetterSetter(es,"cropY",0,vt()),ue.addGetterSetter(es,"cropWidth",0,vt()),ue.addGetterSetter(es,"cropHeight",0,vt());var c4=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],EO="Change.konva",TO="none",z0="up",V0="right",j0="down",U0="left",RO=c4.length,H0=class extends _u{constructor(e){super(e),this.on("add.konva",function(t){this._addListeners(t.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(e){let t=this,n;const r=function(){t._sync()};for(n=0;n<RO;n++)e.on(c4[n]+EO,r)}getWidth(){return this.getText().width()}getHeight(){return this.getText().height()}_sync(){let e=this.getText(),t=this.getTag(),n,r,o,i,s,a,l;if(e&&t){switch(n=e.width(),r=e.height(),o=t.pointerDirection(),i=t.pointerWidth(),l=t.pointerHeight(),s=0,a=0,o){case z0:s=n/2,a=-1*l;break;case V0:s=n+i,a=r/2;break;case j0:s=n/2,a=r+l;break;case U0:s=-1*i,a=r/2}t.setAttrs({x:-1*s,y:-1*a,width:n,height:r}),e.setAttrs({x:-1*s,y:-1*a})}}};H0.prototype.className="Label",yr(H0);var ac=class extends ht{_sceneFunc(e){const t=this.width(),n=this.height(),r=this.pointerDirection(),o=this.pointerWidth(),i=this.pointerHeight(),s=this.cornerRadius();let a=0,l=0,c=0,d=0;typeof s=="number"?a=l=c=d=Math.min(s,t/2,n/2):(a=Math.min(s[0]||0,t/2,n/2),l=Math.min(s[1]||0,t/2,n/2),d=Math.min(s[2]||0,t/2,n/2),c=Math.min(s[3]||0,t/2,n/2)),e.beginPath(),e.moveTo(a,0),r===z0&&(e.lineTo((t-o)/2,0),e.lineTo(t/2,-1*i),e.lineTo((t+o)/2,0)),e.lineTo(t-l,0),e.arc(t-l,l,l,Math.PI*3/2,0,!1),r===V0&&(e.lineTo(t,(n-i)/2),e.lineTo(t+o,n/2),e.lineTo(t,(n+i)/2)),e.lineTo(t,n-d),e.arc(t-d,n-d,d,0,Math.PI/2,!1),r===j0&&(e.lineTo((t+o)/2,n),e.lineTo(t/2,n+i),e.lineTo((t-o)/2,n)),e.lineTo(c,n),e.arc(c,n-c,c,Math.PI/2,Math.PI,!1),r===U0&&(e.lineTo(0,(n+i)/2),e.lineTo(-1*o,n/2),e.lineTo(0,(n-i)/2)),e.lineTo(0,a),e.arc(a,a,a,Math.PI,Math.PI*3/2,!1),e.closePath(),e.fillStrokeShape(this)}getSelfRect(){let e=0,t=0,n=this.pointerWidth(),r=this.pointerHeight(),o=this.pointerDirection(),i=this.width(),s=this.height();return o===z0?(t-=r,s+=r):o===j0?s+=r:o===U0?(e-=n*1.5,i+=n):o===V0&&(i+=n*1.5),{x:e,y:t,width:i,height:s}}};ac.prototype.className="Tag",yr(ac),ue.addGetterSetter(ac,"pointerDirection",TO),ue.addGetterSetter(ac,"pointerWidth",0,vt()),ue.addGetterSetter(ac,"pointerHeight",0,vt()),ue.addGetterSetter(ac,"cornerRadius",0,Gp(4));var xf=class extends ht{_sceneFunc(e){const t=this.cornerRadius(),n=this.width(),r=this.height();e.beginPath(),t?xe.drawRoundedRectPath(e,n,r,t):e.rect(0,0,n,r),e.closePath(),e.fillStrokeShape(this)}};xf.prototype.className="Rect",yr(xf),ue.addGetterSetter(xf,"cornerRadius",0,Gp(4));var hl=class extends ht{_sceneFunc(e){const t=this._getPoints(),n=this.radius(),r=this.sides(),o=this.cornerRadius();if(e.beginPath(),o)xe.drawRoundedPolygonPath(e,t,r,n,o);else{e.moveTo(t[0].x,t[0].y);for(let i=1;i<t.length;i++)e.lineTo(t[i].x,t[i].y)}e.closePath(),e.fillStrokeShape(this)}_getPoints(){const e=this.attrs.sides,t=this.attrs.radius||0,n=[];for(let r=0;r<e;r++)n.push({x:t*Math.sin(r*2*Math.PI/e),y:-1*t*Math.cos(r*2*Math.PI/e)});return n}getSelfRect(){const e=this._getPoints();let t=e[0].x,n=e[0].x,r=e[0].y,o=e[0].y;return e.forEach(i=>{t=Math.min(t,i.x),n=Math.max(n,i.x),r=Math.min(r,i.y),o=Math.max(o,i.y)}),{x:t,y:r,width:n-t,height:o-r}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}};hl.prototype.className="RegularPolygon",hl.prototype._centroid=!0,hl.prototype._attrsAffectingSize=["radius"],yr(hl),ue.addGetterSetter(hl,"radius",0,vt()),ue.addGetterSetter(hl,"sides",0,vt()),ue.addGetterSetter(hl,"cornerRadius",0,Gp(4));var u4=Math.PI*2,lc=class extends ht{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.innerRadius(),0,u4,!1),e.moveTo(this.outerRadius(),0),e.arc(0,0,this.outerRadius(),u4,0,!0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}};lc.prototype.className="Ring",lc.prototype._centroid=!0,lc.prototype._attrsAffectingSize=["innerRadius","outerRadius"],yr(lc),ue.addGetterSetter(lc,"innerRadius",0,vt()),ue.addGetterSetter(lc,"outerRadius",0,vt());var Ds=class extends ht{constructor(e){super(e),this._updated=!0,this.anim=new Au(()=>{const t=this._updated;return this._updated=!1,t}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(e){const t=this.animation(),n=this.frameIndex(),r=n*4,o=this.animations()[t],i=this.frameOffsets(),s=o[r+0],a=o[r+1],l=o[r+2],c=o[r+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(e.beginPath(),e.rect(0,0,l,c),e.closePath(),e.fillStrokeShape(this)),d)if(i){const f=i[t],h=n*2;e.drawImage(d,s,a,l,c,f[h+0],f[h+1],l,c)}else e.drawImage(d,s,a,l,c,0,0,l,c)}_hitFunc(e){const t=this.animation(),n=this.frameIndex(),r=n*4,o=this.animations()[t],i=this.frameOffsets(),s=o[r+2],a=o[r+3];if(e.beginPath(),i){const l=i[t],c=n*2;e.rect(l[c+0],l[c+1],s,a)}else e.rect(0,0,s,a);e.closePath(),e.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){const e=this;this.interval=setInterval(function(){e._updateIndex()},1e3/this.frameRate())}start(){if(this.isRunning())return;const e=this.getLayer();this.anim.setLayers(e),this._setInterval(),this.anim.start()}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){const e=this.frameIndex(),t=this.animation();e<this.animations()[t].length/4-1?this.frameIndex(e+1):this.frameIndex(0)}};Ds.prototype.className="Sprite",yr(Ds),ue.addGetterSetter(Ds,"animation"),ue.addGetterSetter(Ds,"animations"),ue.addGetterSetter(Ds,"frameOffsets"),ue.addGetterSetter(Ds,"image"),ue.addGetterSetter(Ds,"frameIndex",0,vt()),ue.addGetterSetter(Ds,"frameRate",17,vt()),ue.backCompat(Ds,{index:"frameIndex",getIndex:"getFrameIndex",setIndex:"setFrameIndex"});var pl=class extends ht{_sceneFunc(e){const t=this.innerRadius(),n=this.outerRadius(),r=this.numPoints();e.beginPath(),e.moveTo(0,0-n);for(let o=1;o<r*2;o++){const i=o%2===0?n:t,s=i*Math.sin(o*Math.PI/r),a=-1*i*Math.cos(o*Math.PI/r);e.lineTo(s,a)}e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}};pl.prototype.className="Star",pl.prototype._centroid=!0,pl.prototype._attrsAffectingSize=["innerRadius","outerRadius"],yr(pl),ue.addGetterSetter(pl,"numPoints",5,vt()),ue.addGetterSetter(pl,"innerRadius",0,vt()),ue.addGetterSetter(pl,"outerRadius",0,vt());function ml(e){return[...e].reduce((t,n,r,o)=>{if(/\p{Emoji}/u.test(n)){const i=o[r+1];i&&/\p{Emoji_Modifier}|\u200D/u.test(i)?(t.push(n+i),o[r+1]=""):t.push(n)}else/\p{Regional_Indicator}{2}/u.test(n+(o[r+1]||""))?t.push(n+o[r+1]):r>0&&/\p{Mn}|\p{Me}|\p{Mc}/u.test(n)?t[t.length-1]+=n:n&&t.push(n);return t},[])}var xu="auto",MO="center",d4="inherit",Ef="justify",LO="Change.konva",f4="2d",h4="-",p4="left",PO="text",DO="Text",OO="top",FO="bottom",m4="middle",g4="normal",NO="px ",em=" ",BO="right",v4="rtl",zO="word",VO="char",y4="none",$0="…",b4=["direction","fontFamily","fontSize","fontStyle","fontVariant","padding","align","verticalAlign","lineHeight","text","width","height","wrap","ellipsis","letterSpacing"],jO=b4.length,Tf=null;function UO(){if(Tf!==null)return Tf;Tf=!1;try{const e=document.createElement("canvas");e.width=10,e.height=10;const t=e.getContext(f4);if(t){t.globalAlpha=0,t.shadowColor="black",t.shadowBlur=5,t.shadowOffsetX=5,t.shadowOffsetY=5,t.fillStyle="black",t.font="10px Arial",t.fillText("X",0,10);const n=t.getImageData(0,0,10,10).data;for(let r=3;r<n.length;r+=4)if(n[r]>0){Tf=!0;break}}}catch{}return Tf}function HO(e){return e.split(",").map(t=>{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var tm;function G0(){return tm||(tm=xe.createCanvasElement().getContext(f4),tm)}function $O(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function GO(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function WO(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}var ir=class extends ht{constructor(e){super(WO(e)),this._partialTextX=0,this._partialTextY=0;for(let t=0;t<jO;t++)this.on(b4[t]+LO,this._setTextData);this._setTextData()}_sceneFunc(e){var t,n;const r=this.textArr,o=r.length;if(!this.text())return;let i=this.padding(),s=this.fontSize(),a=this.lineHeight()*s,l=this.verticalAlign(),c=this.direction(),d=0,f=this.align(),h=this.getWidth(),g=this.letterSpacing(),m=this.charRenderFunc(),v=this.fill(),k=this.textDecoration(),C=this.underlineOffset(),A=k.indexOf("underline")!==-1,b=k.indexOf("line-through")!==-1,w;c=c===d4?e.direction:c;let T=a/2,M=m4;if(!kt.legacyTextRendering){const N=this.measureSize("M");M="alphabetic",T=(((t=N.fontBoundingBoxAscent)!==null&&t!==void 0?t:N.actualBoundingBoxAscent)-((n=N.fontBoundingBoxDescent)!==null&&n!==void 0?n:N.actualBoundingBoxDescent))/2+a/2}for(c===v4&&e.setAttr("direction",c),e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",M),e.setAttr("textAlign",p4),l===m4?d=(this.getHeight()-o*a-i*2)/2:l===FO&&(d=this.getHeight()-o*a-i*2),e.translate(i,d+i),w=0;w<o;w++){let N=0,H=0;const L=r[w],V=L.text,q=L.width,D=L.lastInParagraph;if(e.save(),f===BO?N+=h-q-i*2:f===MO&&(N+=(h-q-i*2)/2),A){e.save(),e.beginPath();const E=C??(kt.legacyTextRendering?Math.round(s/2):Math.round(s/4)),j=N,J=T+H+E;e.moveTo(j,J);const Y=f===Ef&&!D?h-i*2:q;e.lineTo(j+Math.round(Y),J),e.lineWidth=s/15,e.strokeStyle=this._getLinearGradient()||v,e.stroke(),e.restore()}const B=N;if(c!==v4&&(g!==0||f===Ef||m)){const E=V.split(" ").length-1,j=ml(V);for(let J=0;J<j.length;J++){const Y=j[J];if(Y===" "&&!D&&f===Ef&&(N+=(h-i*2-q)/E),this._partialTextX=N,this._partialTextY=T+H,this._partialText=Y,m){e.save();const se=r.slice(0,w).reduce((pe,je)=>pe+ml(je.text).length,0);m({char:Y,index:J+se,x:N,y:T+H,lineIndex:w,column:J,isLastInLine:D,width:this.measureSize(Y).width,context:e})}e.fillStrokeShape(this),m&&e.restore(),N+=this.measureSize(Y).width+g}}else g!==0&&e.setAttr("letterSpacing",`${g}px`),this._partialTextX=N,this._partialTextY=T+H,this._partialText=V,e.fillStrokeShape(this);if(b){e.save(),e.beginPath();const E=kt.legacyTextRendering?0:-Math.round(s/4),j=B;e.moveTo(j,T+H+E);const J=f===Ef&&!D?h-i*2:q;e.lineTo(j+Math.round(J),T+H+E),e.lineWidth=s/15,e.strokeStyle=this._getLinearGradient()||v,e.stroke(),e.restore()}e.restore(),o>1&&(T+=a)}}_hitFunc(e){const t=this.getWidth(),n=this.getHeight();e.beginPath(),e.rect(0,0,t,n),e.closePath(),e.fillStrokeShape(this)}setText(e){const t=xe._isString(e)?e:e==null?"":e+"";return this._setAttr(PO,t),this}getWidth(){return this.attrs.width===xu||this.attrs.width===void 0?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){return this.attrs.height===xu||this.attrs.height===void 0?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return xe.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(e){var t,n,r,o,i,s,a,l,c,d,f;let h=G0(),g=this.fontSize(),m;h.save(),h.font=this._getContextFont(),m=h.measureText(e),h.restore();const v=g/100;return{actualBoundingBoxAscent:(t=m.actualBoundingBoxAscent)!==null&&t!==void 0?t:71.58203125*v,actualBoundingBoxDescent:(n=m.actualBoundingBoxDescent)!==null&&n!==void 0?n:0,actualBoundingBoxLeft:(r=m.actualBoundingBoxLeft)!==null&&r!==void 0?r:-7.421875*v,actualBoundingBoxRight:(o=m.actualBoundingBoxRight)!==null&&o!==void 0?o:75.732421875*v,alphabeticBaseline:(i=m.alphabeticBaseline)!==null&&i!==void 0?i:0,emHeightAscent:(s=m.emHeightAscent)!==null&&s!==void 0?s:100*v,emHeightDescent:(a=m.emHeightDescent)!==null&&a!==void 0?a:-20*v,fontBoundingBoxAscent:(l=m.fontBoundingBoxAscent)!==null&&l!==void 0?l:91*v,fontBoundingBoxDescent:(c=m.fontBoundingBoxDescent)!==null&&c!==void 0?c:21*v,hangingBaseline:(d=m.hangingBaseline)!==null&&d!==void 0?d:72.80000305175781*v,ideographicBaseline:(f=m.ideographicBaseline)!==null&&f!==void 0?f:-21*v,width:m.width,height:g}}_getContextFont(){return this.fontStyle()+em+this.fontVariant()+em+(this.fontSize()+NO)+HO(this.fontFamily())}_addTextLine(e){this.align()===Ef&&(e=e.trim());const t=this._getTextWidth(e);return this.textArr.push({text:e,width:t,lastInParagraph:!1})}_getTextWidth(e){const t=this.letterSpacing(),n=e.length;return G0().measureText(e).width+t*n}_setTextData(){let e=this.text().split(`
100
100
  `),t=+this.fontSize(),n=0,r=this.lineHeight()*t,o=this.attrs.width,i=this.attrs.height,s=o!==xu&&o!==void 0,a=i!==xu&&i!==void 0,l=this.padding(),c=o-l*2,d=i-l*2,f=0,h=this.wrap(),g=h!==VO&&h!==y4,m=this.ellipsis();this.textArr=[],G0().font=this._getContextFont();const v=m?this._getTextWidth($0):0;for(let k=0,C=e.length;k<C;++k){let A=e[k],b=this._getTextWidth(A);if(s&&b>c)for(;A.length>0;){let w=0,T=ml(A).length,M="",N=0;for(;w<T;){const H=w+T>>>1,L=ml(A).slice(0,H+1).join(""),V=this._getTextWidth(L);(m&&a&&f+r>d?V+v:V)<=c?(w=H+1,M=L,N=V):T=H}if(M){if(g){const H=ml(A),L=ml(M),V=H[L.length],q=V===em||V===h4;let D;if(q&&N<=c)D=L.length;else{const B=L.lastIndexOf(em),E=L.lastIndexOf(h4);D=Math.max(B,E)+1}D>0&&(w=D,M=H.slice(0,w).join(""),N=this._getTextWidth(M))}if(M=M.trimRight(),this._addTextLine(M),n=Math.max(n,N),f+=r,this._shouldHandleEllipsis(f)){this._tryToAddEllipsisToLastLine();break}if(A=ml(A).slice(w).join("").trimLeft(),A.length>0&&(b=this._getTextWidth(A),b<=c)){this._addTextLine(A),f+=r,n=Math.max(n,b);break}}else break}else this._addTextLine(A),f+=r,n=Math.max(n,b),this._shouldHandleEllipsis(f)&&k<C-1&&this._tryToAddEllipsisToLastLine();if(this.textArr[this.textArr.length-1]&&(this.textArr[this.textArr.length-1].lastInParagraph=!0),a&&f+r>d)break}this.textHeight=t,this.textWidth=n}_shouldHandleEllipsis(e){const t=+this.fontSize(),n=this.lineHeight()*t,r=this.attrs.height,o=r!==xu&&r!==void 0,i=r-this.padding()*2;return this.wrap()===y4||o&&e+n>i}_tryToAddEllipsisToLastLine(){const e=this.attrs.width,t=e!==xu&&e!==void 0,n=e-this.padding()*2,r=this.ellipsis(),o=this.textArr[this.textArr.length-1];!o||!r||(t&&(this._getTextWidth(o.text+$0)<n||(o.text=o.text.slice(0,o.text.length-3))),this.textArr.splice(this.textArr.length-1,1),this._addTextLine(o.text+$0))}getStrokeScaleEnabled(){return!0}_useBufferCanvas(){const e=this.textDecoration().indexOf("underline")!==-1||this.textDecoration().indexOf("line-through")!==-1,t=this.hasShadow();return e&&t||t&&this.getAbsoluteOpacity()!==1&&UO()?!0:super._useBufferCanvas()}};ir.prototype._fillFunc=$O,ir.prototype._strokeFunc=GO,ir.prototype.className=DO,ir.prototype._attrsAffectingSize=["text","fontSize","padding","wrap","lineHeight","letterSpacing"],yr(ir),ue.overWriteSetter(ir,"width",I0()),ue.overWriteSetter(ir,"height",I0()),ue.addGetterSetter(ir,"direction",d4),ue.addGetterSetter(ir,"fontFamily","Arial"),ue.addGetterSetter(ir,"fontSize",12,vt()),ue.addGetterSetter(ir,"fontStyle",g4),ue.addGetterSetter(ir,"fontVariant",g4),ue.addGetterSetter(ir,"padding",0,vt()),ue.addGetterSetter(ir,"align",p4),ue.addGetterSetter(ir,"verticalAlign",OO),ue.addGetterSetter(ir,"lineHeight",1,vt()),ue.addGetterSetter(ir,"wrap",zO),ue.addGetterSetter(ir,"ellipsis",!1,Ji()),ue.addGetterSetter(ir,"letterSpacing",0,vt()),ue.addGetterSetter(ir,"text","",rc()),ue.addGetterSetter(ir,"textDecoration",""),ue.addGetterSetter(ir,"underlineOffset",void 0,vt()),ue.addGetterSetter(ir,"charRenderFunc",void 0);var KO="",w4="normal";function C4(e){e.fillText(this.partialText,0,0)}function k4(e){e.strokeText(this.partialText,0,0)}var to=class extends ht{constructor(e){super(e),this.dummyCanvas=xe.createCanvasElement(),this.dataArray=[],this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute(),this._setTextData()}),this.on("textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva",this._setTextData),this._setTextData()}_getTextPathLength(){return Fi.getPathLength(this.dataArray)}_getPointAtLength(e){return!this.attrs.data||e>this.pathLength?null:Fi.getPointAtLengthOfDataArray(e,this.dataArray)}_readDataAttribute(){this.dataArray=Fi.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(e){e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",this.textBaseline()),e.setAttr("textAlign","left"),e.save();const t=this.textDecoration(),n=this.fill(),r=this.fontSize(),o=this.glyphInfo,i=t.indexOf("underline")!==-1,s=t.indexOf("line-through")!==-1;i&&e.beginPath();for(let a=0;a<o.length;a++){e.save();const l=o[a].p0;e.translate(l.x,l.y),e.rotate(o[a].rotation),this.partialText=o[a].text,e.fillStrokeShape(this),i&&(a===0&&e.moveTo(0,r/2+1),e.lineTo(o[a].width,r/2+1)),e.restore()}if(i&&(e.strokeStyle=n,e.lineWidth=r/20,e.stroke()),s){e.beginPath();for(let a=0;a<o.length;a++){e.save();const l=o[a].p0;e.translate(l.x,l.y),e.rotate(o[a].rotation),a===0&&e.moveTo(0,0),e.lineTo(o[a].width,0),e.restore()}e.strokeStyle=n,e.lineWidth=r/20,e.stroke()}e.restore()}_hitFunc(e){e.beginPath();const t=this.glyphInfo;if(t.length>=1){const n=t[0].p0;e.moveTo(n.x,n.y)}for(let n=0;n<t.length;n++){const r=t[n].p1;e.lineTo(r.x,r.y)}e.setAttr("lineWidth",this.fontSize()),e.setAttr("strokeStyle",this.colorKey),e.stroke()}getTextWidth(){return this.textWidth}getTextHeight(){return xe.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}setText(e){return ir.prototype.setText.call(this,e)}_getContextFont(){return ir.prototype._getContextFont.call(this)}_getTextSize(e){const t=this.dummyCanvas.getContext("2d");t.save(),t.font=this._getContextFont();const n=t.measureText(e);return t.restore(),{width:n.width,height:parseInt(`${this.fontSize()}`,10)}}_setTextData(){const e=ml(this.text()),t=[];let n=0;for(let h=0;h<e.length;h++)t.push({char:e[h],width:this._getTextSize(e[h]).width}),n+=t[h].width;const{width:r,height:o}=this._getTextSize(this.attrs.text);if(this.textWidth=n,this.textHeight=o,this.glyphInfo=[],!this.attrs.data)return null;const i=this.letterSpacing(),s=this.align(),a=this.kerningFunc(),l=Math.max(0,n-r),c=Math.max(this.textWidth+((this.attrs.text||"").length-1)*i,0);let d=0;s==="center"&&(d=Math.max(0,this.pathLength/2-c/2)),s==="right"&&(d=Math.max(0,this.pathLength-c));let f=d;for(let h=0;h<t.length;h++){const g=this._getPointAtLength(f);if(!g)return;const m=t[h].char;let v=t[h].width+i;if(m===" "&&s==="justify"){const M=this.text().split(" ").length-1;v+=(this.pathLength-c)/M}const k=f+v,C=this._getPointAtLength(k>this.pathLength&&k-this.pathLength<=l?this.pathLength:k);if(!C)return;const A=Fi.getLineLength(g.x,g.y,C.x,C.y);let b=0;if(a)try{b=a(t[h-1].char,m)*this.fontSize()}catch{b=0}g.x+=b,C.x+=b,this.textWidth+=b;const w=Fi.getPointOnLine(b+A/2,g.x,g.y,C.x,C.y),T=Math.atan2(C.y-g.y,C.x-g.x);this.glyphInfo.push({transposeX:w.x,transposeY:w.y,text:e[h],rotation:T,p0:g,p1:C,width:A}),f+=v}}getSelfRect(){if(!this.glyphInfo.length)return{x:0,y:0,width:0,height:0};const e=[];this.glyphInfo.forEach(function(l){e.push(l.p0.x),e.push(l.p0.y),e.push(l.p1.x),e.push(l.p1.y)});let t=e[0]||0,n=e[0]||0,r=e[1]||0,o=e[1]||0,i,s;for(let l=0;l<e.length/2;l++)i=e[l*2],s=e[l*2+1],t=Math.min(t,i),n=Math.max(n,i),r=Math.min(r,s),o=Math.max(o,s);const a=this.fontSize();return{x:t-a/2,y:r-a/2,width:n-t+a,height:o-r+a}}destroy(){return xe.releaseCanvas(this.dummyCanvas),super.destroy()}};to.prototype._fillFunc=C4,to.prototype._strokeFunc=k4,to.prototype._fillFuncHit=C4,to.prototype._strokeFuncHit=k4,to.prototype.className="TextPath",to.prototype._attrsAffectingSize=["text","fontSize","data"],yr(to),ue.addGetterSetter(to,"data"),ue.addGetterSetter(to,"fontFamily","Arial"),ue.addGetterSetter(to,"fontSize",12,vt()),ue.addGetterSetter(to,"fontStyle",w4),ue.addGetterSetter(to,"align","left"),ue.addGetterSetter(to,"letterSpacing",0,vt()),ue.addGetterSetter(to,"textBaseline","middle"),ue.addGetterSetter(to,"fontVariant",w4),ue.addGetterSetter(to,"text",KO),ue.addGetterSetter(to,"textDecoration",""),ue.addGetterSetter(to,"kerningFunc",void 0);var S4="tr-konva",qO=["resizeEnabledChange","rotateAnchorOffsetChange","rotateAnchorAngleChange","rotateEnabledChange","enabledAnchorsChange","anchorSizeChange","borderEnabledChange","borderStrokeChange","borderStrokeWidthChange","borderDashChange","anchorStrokeChange","anchorStrokeWidthChange","anchorFillChange","anchorCornerRadiusChange","ignoreStrokeChange","anchorStyleFuncChange"].map(e=>e+`.${S4}`).join(" "),_4="nodesRect",YO=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange","draggableChange"],XO={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135},ZO="ontouchstart"in kt._global;function QO(e,t,n){if(e==="rotater")return n;t+=xe.degToRad(XO[e]||0);const r=(xe.radToDeg(t)%360+360)%360;return xe._inRange(r,337.5,360)||xe._inRange(r,0,22.5)?"ns-resize":xe._inRange(r,22.5,67.5)?"nesw-resize":xe._inRange(r,67.5,112.5)?"ew-resize":xe._inRange(r,112.5,157.5)?"nwse-resize":xe._inRange(r,157.5,202.5)?"ns-resize":xe._inRange(r,202.5,247.5)?"nesw-resize":xe._inRange(r,247.5,292.5)?"ew-resize":xe._inRange(r,292.5,337.5)?"nwse-resize":(xe.error("Transformer has unknown angle for cursor detection: "+r),"pointer")}var nm=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"];function JO(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function A4(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),o=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return{...e,rotation:e.rotation+t,x:r,y:o}}function eF(e,t){return A4(e,t,JO(e))}function tF(e,t,n){let r=t;for(let o=0;o<e.length;o++){const i=kt.getAngle(e[o]),s=Math.abs(i-t)%(Math.PI*2);Math.min(s,Math.PI*2-s)<n&&(r=i)}return r}var W0=0,En=class extends _u{constructor(e){super(e),this._movingAnchorName=null,this._transforming=!1,this._elementsCreated=!1,this._createElements(),this._handleMouseMove=this._handleMouseMove.bind(this),this._handleMouseUp=this._handleMouseUp.bind(this),this.update=this.update.bind(this),this.on(qO,this.update),this.getNode()&&this.update()}attachTo(e){return this.setNode(e),this}setNode(e){return xe.warn("tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead."),this.setNodes([e])}getNode(){return this._nodes&&this._nodes[0]}_getEventNamespace(){return S4+this._id}setNodes(e=[]){this._nodes&&this._nodes.length&&this.detach();const t=e.filter(n=>n.isAncestorOf(this)?(xe.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);return this._nodes=e=t,e.length===1&&this.useSingleNodeRotation()?this.rotation(e[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(n=>{const r=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()};if(n._attrsAffectingSize.length){const o=n._attrsAffectingSize.map(i=>i+"Change."+this._getEventNamespace()).join(" ");n.on(o,r)}n.on(YO.map(o=>o+`.${this._getEventNamespace()}`).join(" "),r),n.on(`absoluteTransformChange.${this._getEventNamespace()}`,r),this._proxyDrag(n)}),this._resetTransformCache(),this.findOne(".top-left")&&this.update(),this}_proxyDrag(e){let t;e.on(`dragstart.${this._getEventNamespace()}`,n=>{t=e.getAbsolutePosition(),!this.isDragging()&&e!==this.findOne(".back")&&this.startDrag(n,!1)}),e.on(`dragmove.${this._getEventNamespace()}`,n=>{if(!t)return;const r=e.getAbsolutePosition(),o=r.x-t.x,i=r.y-t.y;this.nodes().forEach(s=>{if(s===e||s.isDragging())return;const a=s.getAbsolutePosition();s.setAbsolutePosition({x:a.x+o,y:a.y+i}),s.startDrag(n)}),t=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(e=>{e.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(_4),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(_4,this.__getNodeRect)}__getNodeShape(e,t=this.rotation(),n){const r=e.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=e.getAbsoluteScale(n),i=e.getAbsolutePosition(n),s=r.x*o.x-e.offsetX()*o.x,a=r.y*o.y-e.offsetY()*o.y,l=(kt.getAngle(e.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2);return A4({x:i.x+s*Math.cos(l)+a*Math.sin(-l),y:i.y+a*Math.cos(l)+s*Math.sin(l),width:r.width*o.x,height:r.height*o.y,rotation:l},-kt.getAngle(t),{x:0,y:0})}__getNodeRect(){if(!this.getNode())return{x:-1e8,y:-1e8,width:0,height:0,rotation:0};const e=[];this.nodes().map(a=>{const l=a.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),c=[{x:l.x,y:l.y},{x:l.x+l.width,y:l.y},{x:l.x+l.width,y:l.y+l.height},{x:l.x,y:l.y+l.height}],d=a.getAbsoluteTransform();c.forEach(function(f){const h=d.point(f);e.push(h)})});const t=new Qi;t.rotate(-kt.getAngle(this.rotation()));let n=1/0,r=1/0,o=-1/0,i=-1/0;e.forEach(function(a){const l=t.point(a);n===void 0&&(n=o=l.x,r=i=l.y),n=Math.min(n,l.x),r=Math.min(r,l.y),o=Math.max(o,l.x),i=Math.max(i,l.y)}),t.invert();const s=t.point({x:n,y:r});return{x:s.x,y:s.y,width:o-n,height:i-r,rotation:kt.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),nm.forEach(e=>{this._createAnchor(e)}),this._createAnchor("rotater"),this._elementsCreated=!0}_createAnchor(e){const t=new xf({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:e+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:ZO?10:"auto"}),n=this;t.on("mousedown touchstart",function(r){n._handleMouseDown(r)}),t.on("dragstart",r=>{t.stopDrag(),r.cancelBubble=!0}),t.on("dragend",r=>{r.cancelBubble=!0}),t.on("mouseenter",()=>{const r=QO(e,kt.getAngle(this.rotation()),this.rotateAnchorCursor());t.getStage().content&&(t.getStage().content.style.cursor=r),this._cursorChange=!0}),t.on("mouseout",()=>{t.getStage().content&&(t.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(t)}_createBack(){const e=new ht({name:"back",width:0,height:0,sceneFunc(t,n){const r=n.getParent(),o=r.padding(),i=n.width(),s=n.height();if(t.beginPath(),t.rect(-o,-o,i+o*2,s+o*2),r.rotateEnabled()&&r.rotateLineVisible()){const a=r.rotateAnchorAngle(),l=r.rotateAnchorOffset(),c=xe.degToRad(a),d=Math.sin(c),f=-Math.cos(c),h=i/2,g=s/2;let m=1/0;f<0?m=Math.min(m,-g/f):f>0&&(m=Math.min(m,(s-g)/f)),d<0?m=Math.min(m,-h/d):d>0&&(m=Math.min(m,(i-h)/d));const v=h+d*m,k=g+f*m,C=xe._sign(s),A=v+d*l*C,b=k+f*l*C;t.moveTo(v,k),t.lineTo(A,b)}t.fillStrokeShape(n)},hitFunc:(t,n)=>{if(!this.shouldOverdrawWholeArea())return;const r=this.padding();t.beginPath(),t.rect(-r,-r,n.width()+r*2,n.height()+r*2),t.fillStrokeShape(n)}});this.add(e),this._proxyDrag(e),e.on("dragstart",t=>{t.cancelBubble=!0}),e.on("dragmove",t=>{t.cancelBubble=!0}),e.on("dragend",t=>{t.cancelBubble=!0}),this.on("dragmove",t=>{this.update()})}_handleMouseDown(e){if(this._transforming)return;this._movingAnchorName=e.target.name().split(" ")[0];const t=this._getNodeRect(),n=t.width,r=t.height,o=Math.sqrt(Math.pow(n,2)+Math.pow(r,2));this.sin=Math.abs(r/o),this.cos=Math.abs(n/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;const i=e.target.getAbsolutePosition(),s=e.target.getStage().getPointerPosition();this._anchorDragOffset={x:s.x-i.x,y:s.y-i.y},W0++,this._fire("transformstart",{evt:e.evt,target:this.getNode()}),this._nodes.forEach(a=>{a._fire("transformstart",{evt:e.evt,target:a})})}_handleMouseMove(e){let t,n,r;const o=this.findOne("."+this._movingAnchorName),i=o.getStage();i.setPointersPositions(e);const s=i.getPointerPosition();let a={x:s.x-this._anchorDragOffset.x,y:s.y-this._anchorDragOffset.y};const l=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(a=this.anchorDragBoundFunc()(l,a,e)),o.setAbsolutePosition(a);const c=o.getAbsolutePosition();if(l.x===c.x&&l.y===c.y)return;if(this._movingAnchorName==="rotater"){const C=this._getNodeRect();t=o.x()-C.width/2,n=-o.y()+C.height/2;const A=kt.getAngle(this.rotateAnchorAngle());let b=Math.atan2(-n,t)+Math.PI/2-A;C.height<0&&(b-=Math.PI);const w=kt.getAngle(this.rotation())+b,T=kt.getAngle(this.rotationSnapTolerance()),M=eF(C,tF(this.rotationSnaps(),w,T)-C.rotation);this._fitNodesInto(M,e);return}const d=this.shiftBehavior();let f;d==="inverted"?f=this.keepRatio()&&!e.shiftKey:d==="none"?f=this.keepRatio():f=this.keepRatio()||e.shiftKey;let h=this.centeredScaling()||e.altKey;if(this._movingAnchorName==="top-left"){if(f){const C=h?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};r=Math.sqrt(Math.pow(C.x-o.x(),2)+Math.pow(C.y-o.y(),2));const A=this.findOne(".top-left").x()>C.x?-1:1,b=this.findOne(".top-left").y()>C.y?-1:1;t=r*this.cos*A,n=r*this.sin*b,this.findOne(".top-left").x(C.x-t),this.findOne(".top-left").y(C.y-n)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(f){const C=h?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};r=Math.sqrt(Math.pow(o.x()-C.x,2)+Math.pow(C.y-o.y(),2));const A=this.findOne(".top-right").x()<C.x?-1:1,b=this.findOne(".top-right").y()>C.y?-1:1;t=r*this.cos*A,n=r*this.sin*b,this.findOne(".top-right").x(C.x+t),this.findOne(".top-right").y(C.y-n)}var g=o.position();this.findOne(".top-left").y(g.y),this.findOne(".bottom-right").x(g.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(f){const C=h?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};r=Math.sqrt(Math.pow(C.x-o.x(),2)+Math.pow(o.y()-C.y,2));const A=C.x<o.x()?-1:1,b=o.y()<C.y?-1:1;t=r*this.cos*A,n=r*this.sin*b,o.x(C.x-t),o.y(C.y+n)}g=o.position(),this.findOne(".top-left").x(g.x),this.findOne(".bottom-right").y(g.y)}else if(this._movingAnchorName==="bottom-center")this.findOne(".bottom-right").y(o.y());else if(this._movingAnchorName==="bottom-right"){if(f){const C=h?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-left").x(),y:this.findOne(".top-left").y()};r=Math.sqrt(Math.pow(o.x()-C.x,2)+Math.pow(o.y()-C.y,2));const A=this.findOne(".bottom-right").x()<C.x?-1:1,b=this.findOne(".bottom-right").y()<C.y?-1:1;t=r*this.cos*A,n=r*this.sin*b,this.findOne(".bottom-right").x(C.x+t),this.findOne(".bottom-right").y(C.y+n)}}else console.error(new Error("Wrong position argument of selection resizer: "+this._movingAnchorName));if(h=this.centeredScaling()||e.altKey,h){const C=this.findOne(".top-left"),A=this.findOne(".bottom-right"),b=C.x(),w=C.y(),T=this.getWidth()-A.x(),M=this.getHeight()-A.y();A.move({x:-b,y:-w}),C.move({x:T,y:M})}const m=this.findOne(".top-left").getAbsolutePosition();t=m.x,n=m.y;const v=this.findOne(".bottom-right").x()-this.findOne(".top-left").x(),k=this.findOne(".bottom-right").y()-this.findOne(".top-left").y();this._fitNodesInto({x:t,y:n,width:v,height:k,rotation:kt.getAngle(this.rotation())},e)}_handleMouseUp(e){this._removeEvents(e)}getAbsoluteTransform(){return this.getTransform()}_removeEvents(e){var t;if(this._transforming){this._transforming=!1,typeof window<"u"&&(window.removeEventListener("mousemove",this._handleMouseMove),window.removeEventListener("touchmove",this._handleMouseMove),window.removeEventListener("mouseup",this._handleMouseUp,!0),window.removeEventListener("touchend",this._handleMouseUp,!0));const n=this.getNode();W0--,this._fire("transformend",{evt:e,target:n}),(t=this.getLayer())===null||t===void 0||t.batchDraw(),n&&this._nodes.forEach(r=>{var o;r._fire("transformend",{evt:e,target:r}),(o=r.getLayer())===null||o===void 0||o.batchDraw()}),this._movingAnchorName=null}}_fitNodesInto(e,t){const n=this._getNodeRect(),r=1;if(xe._inRange(e.width,-this.padding()*2-r,r)){this.update();return}if(xe._inRange(e.height,-this.padding()*2-r,r)){this.update();return}const o=new Qi;if(o.rotate(kt.getAngle(this.rotation())),this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=o.point({x:-this.padding()*2,y:0});e.x+=f.x,e.y+=f.y,e.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y}else if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=o.point({x:this.padding()*2,y:0});this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,e.width+=this.padding()*2}if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=o.point({x:0,y:-this.padding()*2});e.x+=f.x,e.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,e.height+=this.padding()*2}else if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=o.point({x:0,y:this.padding()*2});this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,e.height+=this.padding()*2}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(n,e);f?e=f:xe.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const i=1e7,s=new Qi;s.translate(n.x,n.y),s.rotate(n.rotation),s.scale(n.width/i,n.height/i);const a=new Qi,l=e.width/i,c=e.height/i;this.flipEnabled()===!1?(a.translate(e.x,e.y),a.rotate(e.rotation),a.translate(e.width<0?e.width:0,e.height<0?e.height:0),a.scale(Math.abs(l),Math.abs(c))):(a.translate(e.x,e.y),a.rotate(e.rotation),a.scale(l,c));const d=a.multiply(s.invert());this._nodes.forEach(f=>{var h;if(!f.getStage())return;const g=f.getParent().getAbsoluteTransform(),m=f.getTransform().copy();m.translate(f.offsetX(),f.offsetY());const v=new Qi;v.multiply(g.copy().invert()).multiply(d).multiply(g).multiply(m);const k=v.decompose();f.setAttrs(k),(h=f.getLayer())===null||h===void 0||h.batchDraw()}),this.rotation(xe._getRotation(e.rotation)),this._nodes.forEach(f=>{this._fire("transform",{evt:t,target:f}),f._fire("transform",{evt:t,target:f})}),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(e,t){this.findOne(e).setAttrs(t)}update(){var e;const t=this._getNodeRect();this.rotation(xe._getRotation(t.rotation));const n=t.width,r=t.height,o=this.enabledAnchors(),i=this.resizeEnabled(),s=this.padding(),a=this.anchorSize(),l=this.find("._anchor");l.forEach(T=>{T.setAttrs({width:a,height:a,offsetX:a/2,offsetY:a/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:a/2+s,offsetY:a/2+s,visible:i&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:n/2,y:0,offsetY:a/2+s,visible:i&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:n,y:0,offsetX:a/2-s,offsetY:a/2+s,visible:i&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:r/2,offsetX:a/2+s,visible:i&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:n,y:r/2,offsetX:a/2-s,visible:i&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:r,offsetX:a/2+s,offsetY:a/2-s,visible:i&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:n/2,y:r,offsetY:a/2-s,visible:i&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:n,y:r,offsetX:a/2-s,offsetY:a/2-s,visible:i&&o.indexOf("bottom-right")>=0});const c=this.rotateAnchorAngle(),d=this.rotateAnchorOffset(),f=xe.degToRad(c),h=Math.sin(f),g=-Math.cos(f),m=n/2,v=r/2;let k=1/0;g<0?k=Math.min(k,-v/g):g>0&&(k=Math.min(k,(r-v)/g)),h<0?k=Math.min(k,-m/h):h>0&&(k=Math.min(k,(n-m)/h));const C=m+h*k,A=v+g*k,b=xe._sign(r);this._batchChangeChild(".rotater",{x:C+h*d*b,y:A+g*d*b-s*g,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:n,height:r,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),draggable:this.nodes().some(T=>T.draggable()),x:0,y:0});const w=this.anchorStyleFunc();w&&l.forEach(T=>{w(T)}),(e=this.getLayer())===null||e===void 0||e.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();const e=this.findOne("."+this._movingAnchorName);e&&e.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),_u.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}add(...e){return this._elementsCreated?(xe.error("You cannot add external nodes to the Transformer. Use tr.nodes([node]) instead."),this):super.add(...e)}toObject(){return St.prototype.toObject.call(this)}clone(e){return St.prototype.clone.call(this,e)}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}};En.isTransforming=()=>W0>0;function nF(e){return e instanceof Array||xe.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){nm.indexOf(t)===-1&&xe.warn("Unknown anchor name: "+t+". Available names are: "+nm.join(", "))}),e||[]}En.prototype.className="Transformer",yr(En),ue.addGetterSetter(En,"enabledAnchors",nm,nF),ue.addGetterSetter(En,"flipEnabled",!0,Ji()),ue.addGetterSetter(En,"resizeEnabled",!0),ue.addGetterSetter(En,"anchorSize",10,vt()),ue.addGetterSetter(En,"rotateEnabled",!0),ue.addGetterSetter(En,"rotateLineVisible",!0),ue.addGetterSetter(En,"rotationSnaps",[]),ue.addGetterSetter(En,"rotateAnchorOffset",50,vt()),ue.addGetterSetter(En,"rotateAnchorAngle",0,vt()),ue.addGetterSetter(En,"rotateAnchorCursor","crosshair"),ue.addGetterSetter(En,"rotationSnapTolerance",5,vt()),ue.addGetterSetter(En,"borderEnabled",!0),ue.addGetterSetter(En,"anchorStroke","rgb(0, 161, 255)"),ue.addGetterSetter(En,"anchorStrokeWidth",1,vt()),ue.addGetterSetter(En,"anchorFill","white"),ue.addGetterSetter(En,"anchorCornerRadius",0,vt()),ue.addGetterSetter(En,"borderStroke","rgb(0, 161, 255)"),ue.addGetterSetter(En,"borderStrokeWidth",1,vt()),ue.addGetterSetter(En,"borderDash"),ue.addGetterSetter(En,"keepRatio",!0),ue.addGetterSetter(En,"shiftBehavior","default"),ue.addGetterSetter(En,"centeredScaling",!1),ue.addGetterSetter(En,"ignoreStroke",!1),ue.addGetterSetter(En,"padding",0,vt()),ue.addGetterSetter(En,"nodes"),ue.addGetterSetter(En,"node"),ue.addGetterSetter(En,"boundBoxFunc"),ue.addGetterSetter(En,"anchorDragBoundFunc"),ue.addGetterSetter(En,"anchorStyleFunc"),ue.addGetterSetter(En,"shouldOverdrawWholeArea",!1),ue.addGetterSetter(En,"useSingleNodeRotation",!0),ue.backCompat(En,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var _a=class extends ht{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.radius(),0,kt.getAngle(this.angle()),this.clockwise()),e.lineTo(0,0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}};_a.prototype.className="Wedge",_a.prototype._centroid=!0,_a.prototype._attrsAffectingSize=["radius"],yr(_a),ue.addGetterSetter(_a,"radius",0,vt()),ue.addGetterSetter(_a,"angle",0,vt()),ue.addGetterSetter(_a,"clockwise",!1),ue.backCompat(_a,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function I4(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var rF=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],oF=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function iF(e,t){const n=e.data,r=e.width,o=e.height;let i,s,a,l,c,d,f,h,g,m,v,k,C,A,b,w,T,M,N,H;const L=t+t+1,V=r-1,q=o-1,D=t+1,B=D*(D+1)/2,E=new I4,j=rF[t],J=oF[t];let Y=null,se=E,pe=null,je=null;for(let ge=1;ge<L;ge++)se=se.next=new I4,ge===D&&(Y=se);se.next=E,a=s=0;for(let ge=0;ge<o;ge++){k=C=A=b=l=c=d=f=0,h=D*(w=n[s]),g=D*(T=n[s+1]),m=D*(M=n[s+2]),v=D*(N=n[s+3]),l+=B*w,c+=B*T,d+=B*M,f+=B*N,se=E;for(let be=0;be<D;be++)se.r=w,se.g=T,se.b=M,se.a=N,se=se.next;for(let be=1;be<D;be++)i=s+((V<be?V:be)<<2),l+=(se.r=w=n[i])*(H=D-be),c+=(se.g=T=n[i+1])*H,d+=(se.b=M=n[i+2])*H,f+=(se.a=N=n[i+3])*H,k+=w,C+=T,A+=M,b+=N,se=se.next;pe=E,je=Y;for(let be=0;be<r;be++)n[s+3]=N=f*j>>J,N!==0?(N=255/N,n[s]=(l*j>>J)*N,n[s+1]=(c*j>>J)*N,n[s+2]=(d*j>>J)*N):n[s]=n[s+1]=n[s+2]=0,l-=h,c-=g,d-=m,f-=v,h-=pe.r,g-=pe.g,m-=pe.b,v-=pe.a,i=a+((i=be+t+1)<V?i:V)<<2,k+=pe.r=n[i],C+=pe.g=n[i+1],A+=pe.b=n[i+2],b+=pe.a=n[i+3],l+=k,c+=C,d+=A,f+=b,pe=pe.next,h+=w=je.r,g+=T=je.g,m+=M=je.b,v+=N=je.a,k-=w,C-=T,A-=M,b-=N,je=je.next,s+=4;a+=r}for(let ge=0;ge<r;ge++){C=A=b=k=c=d=f=l=0,s=ge<<2,h=D*(w=n[s]),g=D*(T=n[s+1]),m=D*(M=n[s+2]),v=D*(N=n[s+3]),l+=B*w,c+=B*T,d+=B*M,f+=B*N,se=E;for(let ve=0;ve<D;ve++)se.r=w,se.g=T,se.b=M,se.a=N,se=se.next;let be=r;for(let ve=1;ve<=t;ve++)s=be+ge<<2,l+=(se.r=w=n[s])*(H=D-ve),c+=(se.g=T=n[s+1])*H,d+=(se.b=M=n[s+2])*H,f+=(se.a=N=n[s+3])*H,k+=w,C+=T,A+=M,b+=N,se=se.next,ve<q&&(be+=r);s=ge,pe=E,je=Y;for(let ve=0;ve<o;ve++)i=s<<2,n[i+3]=N=f*j>>J,N>0?(N=255/N,n[i]=(l*j>>J)*N,n[i+1]=(c*j>>J)*N,n[i+2]=(d*j>>J)*N):n[i]=n[i+1]=n[i+2]=0,l-=h,c-=g,d-=m,f-=v,h-=pe.r,g-=pe.g,m-=pe.b,v-=pe.a,i=ge+((i=ve+D)<q?i:q)*r<<2,l+=k+=pe.r=n[i],c+=C+=pe.g=n[i+1],d+=A+=pe.b=n[i+2],f+=b+=pe.a=n[i+3],pe=pe.next,h+=w=je.r,g+=T=je.g,m+=M=je.b,v+=N=je.a,k-=w,C-=T,A-=M,b-=N,je=je.next,s+=r}}var sF=function(t){const n=Math.round(this.blurRadius());n>0&&iF(t,n)};ue.addGetterSetter(St,"blurRadius",0,vt(),ue.afterSetFilter);var aF=function(e){const t=this.brightness()*255,n=e.data,r=n.length;for(let o=0;o<r;o+=4)n[o]+=t,n[o+1]+=t,n[o+2]+=t};ue.addGetterSetter(St,"brightness",0,vt(),ue.afterSetFilter);var lF=function(e){const t=this.brightness(),n=e.data,r=n.length;for(let o=0;o<r;o+=4)n[o]=Math.min(255,n[o]*t),n[o+1]=Math.min(255,n[o+1]*t),n[o+2]=Math.min(255,n[o+2]*t)},cF=function(e){const t=Math.pow((this.contrast()+100)/100,2),n=e.data,r=n.length;let o=150,i=150,s=150;for(let a=0;a<r;a+=4)o=n[a],i=n[a+1],s=n[a+2],o/=255,o-=.5,o*=t,o+=.5,o*=255,i/=255,i-=.5,i*=t,i+=.5,i*=255,s/=255,s-=.5,s*=t,s+=.5,s*=255,o=o<0?0:o>255?255:o,i=i<0?0:i>255?255:i,s=s<0?0:s>255?255:s,n[a]=o,n[a+1]=i,n[a+2]=s};ue.addGetterSetter(St,"contrast",0,vt(),ue.afterSetFilter);var uF=function(e){var t,n,r,o,i,s,a,l,c;const d=e.data,f=e.width,h=e.height,g=Math.min(1,Math.max(0,(n=(t=this.embossStrength)===null||t===void 0?void 0:t.call(this))!==null&&n!==void 0?n:.5)),m=Math.min(1,Math.max(0,(o=(r=this.embossWhiteLevel)===null||r===void 0?void 0:r.call(this))!==null&&o!==void 0?o:.5)),v=(a={"top-left":315,top:270,"top-right":225,right:180,"bottom-right":135,bottom:90,"bottom-left":45,left:0}[(s=(i=this.embossDirection)===null||i===void 0?void 0:i.call(this))!==null&&s!==void 0?s:"top-left"])!==null&&a!==void 0?a:315,k=!!((c=(l=this.embossBlend)===null||l===void 0?void 0:l.call(this))!==null&&c!==void 0&&c),C=g*10,A=m*255,b=v*Math.PI/180,w=Math.cos(b),T=Math.sin(b),M=128/1020*C,N=new Uint8ClampedArray(d),H=new Float32Array(f*h);for(let B=0,E=0;E<d.length;E+=4,B++)H[B]=.2126*N[E]+.7152*N[E+1]+.0722*N[E+2];const L=[-1,0,1,-2,0,2,-1,0,1],V=[-1,-2,-1,0,0,0,1,2,1],q=[-f-1,-f,-f+1,-1,0,1,f-1,f,f+1],D=B=>B<0?0:B>255?255:B;for(let B=1;B<h-1;B++)for(let E=1;E<f-1;E++){const j=B*f+E;let J=0,Y=0;J+=H[j+q[0]]*L[0],Y+=H[j+q[0]]*V[0],J+=H[j+q[1]]*L[1],Y+=H[j+q[1]]*V[1],J+=H[j+q[2]]*L[2],Y+=H[j+q[2]]*V[2],J+=H[j+q[3]]*L[3],Y+=H[j+q[3]]*V[3],J+=H[j+q[5]]*L[5],Y+=H[j+q[5]]*V[5],J+=H[j+q[6]]*L[6],Y+=H[j+q[6]]*V[6],J+=H[j+q[7]]*L[7],Y+=H[j+q[7]]*V[7],J+=H[j+q[8]]*L[8],Y+=H[j+q[8]]*V[8];const se=D(A+(w*J+T*Y)*M),pe=j*4;if(k){const je=se-A;d[pe]=D(N[pe]+je),d[pe+1]=D(N[pe+1]+je),d[pe+2]=D(N[pe+2]+je),d[pe+3]=N[pe+3]}else d[pe]=d[pe+1]=d[pe+2]=se,d[pe+3]=N[pe+3]}for(let B=0;B<f;B++){let E=B*4,j=((h-1)*f+B)*4;d[E]=N[E],d[E+1]=N[E+1],d[E+2]=N[E+2],d[E+3]=N[E+3],d[j]=N[j],d[j+1]=N[j+1],d[j+2]=N[j+2],d[j+3]=N[j+3]}for(let B=1;B<h-1;B++){let E=B*f*4,j=(B*f+(f-1))*4;d[E]=N[E],d[E+1]=N[E+1],d[E+2]=N[E+2],d[E+3]=N[E+3],d[j]=N[j],d[j+1]=N[j+1],d[j+2]=N[j+2],d[j+3]=N[j+3]}return e};ue.addGetterSetter(St,"embossStrength",.5,vt(),ue.afterSetFilter),ue.addGetterSetter(St,"embossWhiteLevel",.5,vt(),ue.afterSetFilter),ue.addGetterSetter(St,"embossDirection","top-left",void 0,ue.afterSetFilter),ue.addGetterSetter(St,"embossBlend",!1,void 0,ue.afterSetFilter);function K0(e,t,n,r,o){const i=n-t,s=o-r;if(i===0)return r+s/2;if(s===0)return r;let a=(e-t)/i;return a=s*a+r,a}var dF=function(e){const t=e.data,n=t.length;let r=t[0],o=r,i,s=t[1],a=s,l,c=t[2],d=c,f;const h=this.enhance();if(h===0)return;for(let b=0;b<n;b+=4)i=t[b+0],i<r?r=i:i>o&&(o=i),l=t[b+1],l<s?s=l:l>a&&(a=l),f=t[b+2],f<c?c=f:f>d&&(d=f);o===r&&(o=255,r=0),a===s&&(a=255,s=0),d===c&&(d=255,c=0);let g,m,v,k,C,A;if(h>0)g=o+h*(255-o),m=r-h*(r-0),v=a+h*(255-a),k=s-h*(s-0),C=d+h*(255-d),A=c-h*(c-0);else{const b=(o+r)*.5;g=o+h*(o-b),m=r+h*(r-b);const w=(a+s)*.5;v=a+h*(a-w),k=s+h*(s-w);const T=(d+c)*.5;C=d+h*(d-T),A=c+h*(c-T)}for(let b=0;b<n;b+=4)t[b+0]=K0(t[b+0],r,o,m,g),t[b+1]=K0(t[b+1],s,a,k,v),t[b+2]=K0(t[b+2],c,d,A,C)};ue.addGetterSetter(St,"enhance",0,vt(),ue.afterSetFilter);var fF=function(e){const t=e.data,n=t.length;for(let r=0;r<n;r+=4){const o=.34*t[r]+.5*t[r+1]+.16*t[r+2];t[r]=o,t[r+1]=o,t[r+2]=o}};ue.addGetterSetter(St,"hue",0,vt(),ue.afterSetFilter),ue.addGetterSetter(St,"saturation",0,vt(),ue.afterSetFilter),ue.addGetterSetter(St,"luminance",0,vt(),ue.afterSetFilter);var hF=function(e){const t=e.data,n=t.length,r=1,o=Math.pow(2,this.saturation()),i=Math.abs(this.hue()+360)%360,s=this.luminance()*127,a=r*o*Math.cos(i*Math.PI/180),l=r*o*Math.sin(i*Math.PI/180),c=.299*r+.701*a+.167*l,d=.587*r-.587*a+.33*l,f=.114*r-.114*a-.497*l,h=.299*r-.299*a-.328*l,g=.587*r+.413*a+.035*l,m=.114*r-.114*a+.293*l,v=.299*r-.3*a+1.25*l,k=.587*r-.586*a-1.05*l,C=.114*r+.886*a-.2*l;let A,b,w,T;for(let M=0;M<n;M+=4)A=t[M+0],b=t[M+1],w=t[M+2],T=t[M+3],t[M+0]=c*A+d*b+f*w+s,t[M+1]=h*A+g*b+m*w+s,t[M+2]=v*A+k*b+C*w+s,t[M+3]=T},pF=function(e){const t=e.data,n=t.length,r=Math.pow(2,this.value()),o=Math.pow(2,this.saturation()),i=Math.abs(this.hue()+360)%360,s=r*o*Math.cos(i*Math.PI/180),a=r*o*Math.sin(i*Math.PI/180),l=.299*r+.701*s+.167*a,c=.587*r-.587*s+.33*a,d=.114*r-.114*s-.497*a,f=.299*r-.299*s-.328*a,h=.587*r+.413*s+.035*a,g=.114*r-.114*s+.293*a,m=.299*r-.3*s+1.25*a,v=.587*r-.586*s-1.05*a,k=.114*r+.886*s-.2*a;for(let C=0;C<n;C+=4){const A=t[C+0],b=t[C+1],w=t[C+2],T=t[C+3];t[C+0]=l*A+c*b+d*w,t[C+1]=f*A+h*b+g*w,t[C+2]=m*A+v*b+k*w,t[C+3]=T}};ue.addGetterSetter(St,"hue",0,vt(),ue.afterSetFilter),ue.addGetterSetter(St,"saturation",0,vt(),ue.afterSetFilter),ue.addGetterSetter(St,"value",0,vt(),ue.afterSetFilter);var mF=function(e){const t=e.data,n=t.length;for(let r=0;r<n;r+=4)t[r]=255-t[r],t[r+1]=255-t[r+1],t[r+2]=255-t[r+2]},gF=function(e,t,n){const r=e.data,o=t.data,i=e.width,s=e.height,a=n.polarCenterX||i/2,l=n.polarCenterY||s/2;let c=Math.sqrt(a*a+l*l),d=i-a,f=s-l;const h=Math.sqrt(d*d+f*f);c=h>c?h:c;const g=s,m=i,v=360/m*Math.PI/180;for(let k=0;k<m;k+=1){const C=Math.sin(k*v),A=Math.cos(k*v);for(let b=0;b<g;b+=1){d=Math.floor(a+c*b/g*A),f=Math.floor(l+c*b/g*C);let w=(f*i+d)*4;const T=r[w+0],M=r[w+1],N=r[w+2],H=r[w+3];w=(k+b*i)*4,o[w+0]=T,o[w+1]=M,o[w+2]=N,o[w+3]=H}}},vF=function(e,t,n){const r=e.data,o=t.data,i=e.width,s=e.height,a=n.polarCenterX||i/2,l=n.polarCenterY||s/2;let c=Math.sqrt(a*a+l*l),d=i-a,f=s-l;const h=Math.sqrt(d*d+f*f);c=h>c?h:c;const g=s,m=i,v=n.polarRotation||0;let k,C;for(d=0;d<i;d+=1)for(f=0;f<s;f+=1){const A=d-a,b=f-l,w=Math.sqrt(A*A+b*b)*g/c;let T=(Math.atan2(b,A)*180/Math.PI+360+v)%360;T=T*m/360,k=Math.floor(T),C=Math.floor(w);let M=(C*i+k)*4;const N=r[M+0],H=r[M+1],L=r[M+2],V=r[M+3];M=(f*i+d)*4,o[M+0]=N,o[M+1]=H,o[M+2]=L,o[M+3]=V}},yF=function(e){const t=e.width,n=e.height;let r,o,i,s,a,l,c,d,f,h,g=Math.round(this.kaleidoscopePower());const m=Math.round(this.kaleidoscopeAngle()),v=Math.floor(t*(m%360)/360);if(g<1)return;const k=xe.createCanvasElement();k.width=t,k.height=n;const C=k.getContext("2d").getImageData(0,0,t,n);xe.releaseCanvas(k),gF(e,C,{polarCenterX:t/2,polarCenterY:n/2});let A=t/Math.pow(2,g);for(;A<=8;)A=A*2,g-=1;A=Math.ceil(A);let b=A,w=0,T=b,M=1;for(v+A>t&&(w=b,T=0,M=-1),o=0;o<n;o+=1)for(r=w;r!==T;r+=M)i=Math.round(r+v)%t,f=(t*o+i)*4,a=C.data[f+0],l=C.data[f+1],c=C.data[f+2],d=C.data[f+3],h=(t*o+r)*4,C.data[h+0]=a,C.data[h+1]=l,C.data[h+2]=c,C.data[h+3]=d;for(o=0;o<n;o+=1)for(b=Math.floor(A),s=0;s<g;s+=1){for(r=0;r<b+1;r+=1)f=(t*o+r)*4,a=C.data[f+0],l=C.data[f+1],c=C.data[f+2],d=C.data[f+3],h=(t*o+b*2-r-1)*4,C.data[h+0]=a,C.data[h+1]=l,C.data[h+2]=c,C.data[h+3]=d;b*=2}vF(C,e,{polarRotation:0})};ue.addGetterSetter(St,"kaleidoscopePower",2,vt(),ue.afterSetFilter),ue.addGetterSetter(St,"kaleidoscopeAngle",0,vt(),ue.afterSetFilter);function rm(e,t,n){let r=(n*e.width+t)*4;const o=[];return o.push(e.data[r++],e.data[r++],e.data[r++],e.data[r++]),o}function Rf(e,t){return Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2))}function bF(e){const t=[0,0,0];for(let n=0;n<e.length;n++)t[0]+=e[n][0],t[1]+=e[n][1],t[2]+=e[n][2];return t[0]/=e.length,t[1]/=e.length,t[2]/=e.length,t}function wF(e,t){const n=rm(e,0,0),r=rm(e,e.width-1,0),o=rm(e,0,e.height-1),i=rm(e,e.width-1,e.height-1),s=t||10;if(Rf(n,r)<s&&Rf(r,i)<s&&Rf(i,o)<s&&Rf(o,n)<s){const a=bF([r,n,i,o]),l=[];for(let c=0;c<e.width*e.height;c++){const d=Rf(a,[e.data[c*4],e.data[c*4+1],e.data[c*4+2]]);l[c]=d<s?0:255}return l}}function CF(e,t){for(let n=0;n<e.width*e.height;n++)e.data[4*n+3]=t[n]}function kF(e,t,n){const r=[1,1,1,1,0,1,1,1,1],o=Math.round(Math.sqrt(r.length)),i=Math.floor(o/2),s=[];for(let a=0;a<n;a++)for(let l=0;l<t;l++){const c=a*t+l;let d=0;for(let f=0;f<o;f++)for(let h=0;h<o;h++){const g=a+f-i,m=l+h-i;if(g>=0&&g<n&&m>=0&&m<t){const v=g*t+m,k=r[f*o+h];d+=e[v]*k}}s[c]=d===2040?255:0}return s}function SF(e,t,n){const r=[1,1,1,1,1,1,1,1,1],o=Math.round(Math.sqrt(r.length)),i=Math.floor(o/2),s=[];for(let a=0;a<n;a++)for(let l=0;l<t;l++){const c=a*t+l;let d=0;for(let f=0;f<o;f++)for(let h=0;h<o;h++){const g=a+f-i,m=l+h-i;if(g>=0&&g<n&&m>=0&&m<t){const v=g*t+m,k=r[f*o+h];d+=e[v]*k}}s[c]=d>=1020?255:0}return s}function _F(e,t,n){const r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],o=Math.round(Math.sqrt(r.length)),i=Math.floor(o/2),s=[];for(let a=0;a<n;a++)for(let l=0;l<t;l++){const c=a*t+l;let d=0;for(let f=0;f<o;f++)for(let h=0;h<o;h++){const g=a+f-i,m=l+h-i;if(g>=0&&g<n&&m>=0&&m<t){const v=g*t+m,k=r[f*o+h];d+=e[v]*k}}s[c]=d}return s}var AF=function(e){let t=wF(e,this.threshold());return t&&(t=kF(t,e.width,e.height),t=SF(t,e.width,e.height),t=_F(t,e.width,e.height),CF(e,t)),e};ue.addGetterSetter(St,"threshold",0,vt(),ue.afterSetFilter);var IF=function(e){const t=this.noise()*255,n=e.data,r=n.length,o=t/2;for(let i=0;i<r;i+=4)n[i+0]+=o-2*o*Math.random(),n[i+1]+=o-2*o*Math.random(),n[i+2]+=o-2*o*Math.random()};ue.addGetterSetter(St,"noise",.2,vt(),ue.afterSetFilter);var xF=function(e){let t=Math.ceil(this.pixelSize()),n=e.width,r=e.height,o=Math.ceil(n/t),i=Math.ceil(r/t),s=e.data;if(t<=0){xe.error("pixelSize value can not be <= 0");return}for(let a=0;a<o;a+=1)for(let l=0;l<i;l+=1){let c=0,d=0,f=0,h=0;const g=a*t,m=g+t,v=l*t,k=v+t;let C=0;for(let A=g;A<m;A+=1)if(!(A>=n))for(let b=v;b<k;b+=1){if(b>=r)continue;const w=(n*b+A)*4;c+=s[w+0],d+=s[w+1],f+=s[w+2],h+=s[w+3],C+=1}c=c/C,d=d/C,f=f/C,h=h/C;for(let A=g;A<m;A+=1)if(!(A>=n))for(let b=v;b<k;b+=1){if(b>=r)continue;const w=(n*b+A)*4;s[w+0]=c,s[w+1]=d,s[w+2]=f,s[w+3]=h}}};ue.addGetterSetter(St,"pixelSize",8,vt(),ue.afterSetFilter);var EF=function(e){const t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,o=255/t;for(let i=0;i<r;i+=1)n[i]=Math.floor(n[i]/o)*o};ue.addGetterSetter(St,"levels",.5,vt(),ue.afterSetFilter);var TF=function(e){const t=e.data,n=t.length,r=this.red(),o=this.green(),i=this.blue();for(let s=0;s<n;s+=4){const a=(.34*t[s]+.5*t[s+1]+.16*t[s+2])/255;t[s]=a*r,t[s+1]=a*o,t[s+2]=a*i,t[s+3]=t[s+3]}};ue.addGetterSetter(St,"red",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),ue.addGetterSetter(St,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),ue.addGetterSetter(St,"blue",0,x_,ue.afterSetFilter);var RF=function(e){const t=e.data,n=t.length,r=this.red(),o=this.green(),i=this.blue(),s=this.alpha();for(let a=0;a<n;a+=4){const l=1-s;t[a]=r*s+t[a]*l,t[a+1]=o*s+t[a+1]*l,t[a+2]=i*s+t[a+2]*l}};ue.addGetterSetter(St,"red",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),ue.addGetterSetter(St,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),ue.addGetterSetter(St,"blue",0,x_,ue.afterSetFilter),ue.addGetterSetter(St,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var MF=function(e){const t=e.data,n=t.length;for(let r=0;r<n;r+=4){const o=t[r+0],i=t[r+1],s=t[r+2];t[r+0]=Math.min(255,o*.393+i*.769+s*.189),t[r+1]=Math.min(255,o*.349+i*.686+s*.168),t[r+2]=Math.min(255,o*.272+i*.534+s*.131)}},LF=function(e){const n=e.data;for(let r=0;r<n.length;r+=4){const o=n[r],i=n[r+1],s=n[r+2];.2126*o+.7152*i+.0722*s>=128&&(n[r]=255-o,n[r+1]=255-i,n[r+2]=255-s)}return e},PF=function(e){const t=this.threshold()*255,n=e.data,r=n.length;for(let o=0;o<r;o+=1)n[o]=n[o]<t?0:255};ue.addGetterSetter(St,"threshold",.5,vt(),ue.afterSetFilter);var DF=o4.Util._assign(o4,{Arc:ka,Arrow:sc,Circle:Iu,Ellipse:fl,Image:es,Label:H0,Tag:ac,Line:Sa,Path:Fi,Rect:xf,RegularPolygon:hl,Ring:lc,Sprite:Ds,Star:pl,Text:ir,TextPath:to,Transformer:En,Wedge:_a,Filters:{Blur:sF,Brightness:lF,Brighten:aF,Contrast:cF,Emboss:uF,Enhance:dF,Grayscale:fF,HSL:hF,HSV:pF,Invert:mF,Kaleidoscope:yF,Mask:AF,Noise:IF,Pixelate:xF,Posterize:EF,RGB:TF,RGBA:RF,Sepia:MF,Solarize:LF,Threshold:PF}}),OF=DF;xt();var FF=["dialog","floating"],x4=["top-right","top-left","bottom-right","bottom-left","top-center","bottom-center"];function NF(e){if(!e||typeof e!="object")throw new Error("SurfaceManager: request must be a non-null object.");if(!FF.includes(e.mode))throw new Error(`SurfaceManager: mode must be "dialog" or "floating", got "${e.mode}".`);const t="kind"in e&&e.kind!=null,n="component"in e&&e.component!=null,r="render"in e&&typeof e.render=="function";if(n&&r)throw new Error('SurfaceManager: request cannot provide both "component" and "render". Use one or the other.');if(!t&&!n&&!r)throw new Error('SurfaceManager: request must provide "kind" (intent-based) or "component"/"render" (direct-render).');if(e.mode==="floating"&&e.floating?.placement!=null&&!x4.includes(e.floating.placement))throw new Error(`SurfaceManager: floating.placement must be one of ${x4.join(", ")}, got "${e.floating.placement}".`)}var BF=class{activeDialog=Hr(null);activeFloating=Hr(null);#e=!1;#n=1;#t;constructor({getModuleConfig:e}){this.#t=e}open(e){if(this.#e)return this.#f(e);NF(e);const t=this.#d(e),{component:n,props:r,render:o}=this.#h(t);let i,s=!1;const a=new Promise(g=>{i=m=>s?!1:(s=!0,g(m),!0)});let l;const c=g=>{i({status:"submitted",data:g})&&this.#i(l)},d=g=>{i({status:"closed",reason:g})&&this.#i(l)};l={id:t.id,mode:t.mode,request:t,component:n,props:r,render:o,resolve:c,close:d,settle:g=>i(g),get settled(){return s}};const f=t.mode==="dialog"?"activeDialog":"activeFloating",h=this[f].value;return h&&!h.settled&&h.settle({status:"replaced",replacedBy:t.id}),this[f].value=l,{id:t.id,mode:t.mode,close:g=>this.#r(l,g),result:a}}close(e,t){if(e!=null){const o=this.#s(e);o&&this.#r(o,t);return}const n=this.activeDialog.value;if(n&&!n.settled){this.#r(n,t);return}const r=this.activeFloating.value;r&&!r.settled&&this.#r(r,t)}settleAll(e){for(const t of[this.activeDialog,this.activeFloating]){const n=t.value;n&&!n.settled&&n.settle(e),t.value=null}}destroy(){this.#e=!0,this.settleAll({status:"destroyed"})}#r(e,t){e.settled||(e.settle({status:"closed",reason:t}),this.#i(e))}#i(e){const t=e.mode==="dialog"?this.activeDialog:this.activeFloating;t.value===e&&(t.value=null)}#s(e){return this.activeDialog.value?.id===e?this.activeDialog.value:this.activeFloating.value?.id===e?this.activeFloating.value:null}#d(e){const t=e.id??`surface-${this.#n++}`,n=this.#t()??{},r=e.mode==="dialog"?n.dialog:n.floating,o=e.mode==="dialog"?{maxWidth:r?.maxWidth,...e.dialog}:e.dialog,i=e.mode==="floating"?{placement:r?.placement??"top-right",width:r?.width,maxWidth:r?.maxWidth,maxHeight:r?.maxHeight,autoFocus:r?.autoFocus??!0,closeOnOutsidePointerDown:r?.closeOnOutsidePointerDown??!1,...e.floating}:e.floating;return{...e,id:t,closeOnEscape:e.closeOnEscape??r?.closeOnEscape??!0,closeOnBackdrop:e.mode==="dialog"?e.closeOnBackdrop??r?.closeOnBackdrop??!0:!1,dialog:o,floating:i}}#h(e){if("component"in e&&e.component!=null)return{component:e.component,props:e.props};if("render"in e&&typeof e.render=="function")return{render:e.render};const t=this.#t()?.resolver;if(typeof t=="function"){const n=t(e);if(n!=null){if(n.type==="none")throw new Error(`SurfaceManager: resolver explicitly suppressed surface for kind "${e.kind}".`);if(n.type==="custom")return{component:n.component,props:n.props};if(n.type==="external")return{render:n.render}}}throw new Error(`SurfaceManager: no renderer resolved for kind "${e.kind}". Provide a resolver via surfaces.resolver, or use a direct-render request.`)}#f(e){return{id:e?.id??`surface-${this.#n++}`,mode:e?.mode??"dialog",close:()=>{},result:Promise.resolve({status:"destroyed"})}}},zF="https://docs.superdoc.dev/guides/migration/document-api",E4=new Set;function VF(e,t){E4.has(e)||(E4.add(e),console.warn(t))}var jF={state:"editor.state",view:"editor.view",schema:"editor.schema",commands:"editor.commands",chain:"editor.chain()",can:"editor.can()",dispatch:"editor.dispatch()"},T4=Symbol.for("superdoc:rawEditor"),R4=new WeakMap;function M4(e){return!e||e[T4]?e:new Proxy(e,{get(t,n){if(n===T4)return t;const r=jF[n];r&&VF(`deprecated:${String(n)}`,`[SuperDoc] ${r} is deprecated and will be removed in a future version. Use the Document API (editor.doc) instead. See ${zF}`);const o=Reflect.get(t,n,t);if(typeof o=="function"){let i=R4.get(t);return i||(i=new Map,R4.set(t,i)),i.has(n)||i.set(n,o.bind(t)),i.get(n)}return o}})}var L4=["review","original","final","off"],UF=["paired","independent"],P4=Symbol.for("@superdoc/trackChanges:normalized"),D4=new Set;function O4(e,t){D4.has(e)||(D4.add(e),console.warn(`[SuperDoc] ${e} is deprecated β€” use ${t} instead.`))}function F4(e,t,n){return typeof e=="boolean"?e:typeof t=="boolean"?t:n}function HF(e,t,n){return typeof e=="string"&&L4.includes(e)?e:typeof t=="string"&&L4.includes(t)?t:n}function $F(e){return typeof e=="string"&&UF.includes(e)?e:null}function cc(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function GF(e){const t=e[P4]===!0;cc(e.modules)||(e.modules={});const n=cc(e.modules.trackChanges),r=cc(e.trackChanges),o=cc(e.layoutEngineOptions?.trackedChanges);t||(r&&O4("config.trackChanges","config.modules.trackChanges"),o&&O4("config.layoutEngineOptions.trackedChanges","config.modules.trackChanges"));const i=F4(n?.visible,r?.visible,!1),s=F4(n?.enabled,o?.enabled,!0),a=$F(n?.replacements)??"paired",l=cc(n?.authorColors)?n.authorColors:void 0,c=cc(n?.semanticColors)?n.semanticColors:void 0,d=e.documentMode==="viewing"?i?"review":"original":"review",f=HF(n?.mode,o?.mode,d),h={visible:i,mode:f,enabled:s,replacements:a};return l&&(h.authorColors=l),c&&(h.semanticColors=c),e.modules.trackChanges=h,e.trackChanges={visible:i},cc(e.layoutEngineOptions)||(e.layoutEngineOptions={}),e.layoutEngineOptions.trackedChanges={mode:f,enabled:s},Object.defineProperty(e,P4,{value:!0,writable:!0,configurable:!0,enumerable:!1}),h}var q0=Object.freeze({id:null,name:"Default SuperDoc user",email:null});function WF(e){return!e||typeof e!="object"?{...q0}:{...q0,...e}}var N4=Object.freeze({toolbar:!0,comments:!0,contextMenu:!0,loading:!0,search:!1,linkPopover:!1,ruler:!1,contentControls:!0}),KF=Object.freeze(["left","center","right"]),PH=Object.freeze(Object.keys(N4)),Eu=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function B4(e,t){const n=e?.[t];return n===!1?!1:n===void 0?N4[t]:!0}function qF(e,t){const n=e?.[t];return Eu(n)?n:{}}var z4=Object.freeze(["readOnly","allowResolve","permissionResolver"]);function YF(e){if(!z4.some(n=>n in e))return e;const t={...e};for(const n of z4)delete t[n];return t}function V4(e={}){const t=e.ui,n=t===!1,r=Eu(t)?t:void 0,o=V=>!n&&B4(r,V),i=V=>n?!1:r?.[V]===void 0?void 0:B4(r,V),s=V=>n?{}:qF(r,V),a=n||i("ruler")===!1,l=n||i("linkPopover")===!1,c=l?void 0:m0(s("linkPopover").popoverResolver,e.modules?.links?.popoverResolver),d=i("contentControls")??(!n&&e.modules?.contentControls?.chrome!=="none"),f=e.modules?.contentControls?.chrome==="none"?void 0:e.modules?.contentControls?.chrome,h=s("toolbar"),g=e.modules?.toolbar,m=Eu(g)?g:{},v=e.modules?.contextMenu??e.modules?.slashMenu,k=Eu(v)?v:{},C=e.modules?.surfaces?.findReplace,A=Eu(C)?C:{},b=[h.groups,m.groups],w=b.find(Eu),T=b.find(Array.isArray),M=m0(T,m.toolbarGroups,e.toolbarGroups),N=Array.isArray(M)?M:null,H=(V,q)=>Object.prototype.hasOwnProperty.call(V,q),L=w&&N?Object.fromEntries([...N.filter(V=>H(w,V)),...Object.keys(w).filter(V=>!KF.includes(V))].map(V=>[V,w[V]])):w;return{enabled:!n,toolbar:{enabled:o("toolbar"),container:n?null:m0(h.container,m.selector,e.toolbar)??null,options:n?{}:{...Ps(m,h),groups:L,toolbarGroups:M,icons:Ps(e.toolbarIcons,m.icons,h.icons),texts:Ps(e.toolbarTexts,m.texts,h.texts)}},comments:{enabled:i("comments")??(!n&&e.modules?.comments!==!1),options:n?{}:Nk(YF(s("comments")))},contextMenu:{enabled:i("contextMenu")??(!n&&e.disableContextMenu!==!0),suppressed:n||i("contextMenu")===!1,options:n?{}:Ps(k,s("contextMenu"))},loading:{enabled:o("loading")},search:{enabled:i("search")??(!n&&!!e.modules?.surfaces?.findReplace),options:n?{}:Ps(A,s("search"))},linkPopover:{enabled:typeof c=="function",suppressed:l,options:Ps(s("linkPopover"),{popoverResolver:c})},ruler:{enabled:i("ruler")??(!n&&!!e.rulers),suppressed:a,container:a?null:s("ruler").container??e.rulerContainer??null},contentControls:{enabled:d,options:d?Ps({chrome:f},s("contentControls")):{chrome:"none"}}}}var Y0=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function j4(e={}){const t=Y0(e.interaction)?e.interaction:{},n=Y0(t.comments)?t.comments:{},r=Y0(e.modules?.comments)?e.modules.comments:{};return{comments:{readOnly:(n.readOnly??r.readOnly??!1)===!0,allowResolve:(n.allowResolve??r.allowResolve??!0)!==!1}}}var U4=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function H4(e={}){const t=U4(e.surfaces)?e.surfaces:{},n=U4(e.modules?.surfaces)?e.modules.surfaces:{},r=t.resolver===void 0?n.resolver:t.resolver;return{resolver:typeof r=="function"?r:null,dialog:Ps(n.dialog,t.dialog),floating:Ps(n.floating,t.floating)}}var XF=class{#e=new Map;#n=new Map;#t=null;#r=new Set;register(e){if(this.#e.has(e.id))throw new Error(`EditorRuntimeRegistry: duplicate runtime id "${e.id}"`);const t=e.root,n=t?this.#n.get(t):void 0;if(n!==void 0&&n!==e.id)throw new Error(`EditorRuntimeRegistry: root element already registered to runtime "${n}"`);this.#e.set(e.id,e),t&&this.#n.set(t,e.id)}unregister(e){const t=this.#e.get(e);return t?(this.#e.delete(e),t.root&&this.#n.delete(t.root),this.#t===e&&(this.#t=null,this.#i({previousRuntimeId:e,nextRuntimeId:null,reason:"active-runtime-unregistered",legacyEditorProjection:null})),!0):!1}get(e){return this.#e.get(e)??null}getAll(){return Array.from(this.#e.values())}getAllByDocumentId(e){const t=[];for(const n of this.#e.values())n.documentId===e&&t.push(n);return t}getActive(){return this.#t===null?null:this.#e.get(this.#t)}getActiveId(){return this.#t}setActive(e,t){if(e!==null&&!this.#e.has(e))throw new Error(`EditorRuntimeRegistry: cannot activate unknown runtime "${e}"`);if(e===this.#t)return;const n=this.#t;this.#t=e;let r=null;e!==null&&(r=this.#e.get(e).getLegacyEditorProjection?.()??null),this.#i({previousRuntimeId:n,nextRuntimeId:e,reason:t,legacyEditorProjection:r})}resolveFromEventTarget(e){const t=e instanceof Element?e:e instanceof Node?e.parentElement:null;if(!t)return null;const n=t.closest(`[${Np}]`);if(!n)return null;const r=n.getAttribute(Np),o=r?this.get(r):null;return o&&o.root===n?o:null}subscribe(e){return this.#r.add(e),()=>{this.#r.delete(e)}}clear(){this.#e.clear(),this.#n.clear(),this.#t=null,this.#r.clear()}#i(e){for(const t of Array.from(this.#r))try{t(e)}catch{}}},ct={notReady:"not-ready",documentApiUnavailable:"document-api-unavailable",documentReadonly:"document-readonly",selectionRequired:"selection-required",rangeSelectionRequired:"range-selection-required",contextUnavailable:"context-unavailable",geometryUnavailable:"geometry-unavailable",targetUnresolved:"target-unresolved",targetNotVisible:"target-not-visible",commandUnsupported:"command-unsupported",commandDeferred:"command-deferred",tableContextUnavailable:"table-context-unavailable",operationUnavailable:"operation-unavailable",bulkDecisionsDisabled:"bulk-decisions-disabled",hostCapabilityUnavailable:"host-capability-unavailable",historyEmpty:"history-empty",searchUnavailable:"search-unavailable",searchInvalidPattern:"search-invalid-pattern",replaceUnsupported:"replace-unsupported",contentControlLocked:"content-control-locked"},$4={bold:"bold",italic:"italic",underline:"underline",strikethrough:"strikethrough",fontFamily:"font-family",fontSize:"font-size",setFontFamily:"setFontFamily",setFontSize:"setFontSize",undo:"undo",redo:"redo",acceptChange:"acceptChange",rejectChange:"rejectChange",acceptAllChanges:"acceptAllChanges",rejectAllChanges:"rejectAllChanges",bulletList:"bullet-list",numberedList:"numbered-list"};function G4(e){const t=n=>typeof n=="string"?n.replace(/\s*pt$/i,"").trim():n;if(typeof e=="string")return t(e);if(e&&typeof e=="object"&&"value"in e){const n=e;return{...n,value:t(n.value)}}return e}function ZF(e){const t=(n,r)=>!r&&n>0&&n<=5?n*100:n;if(typeof e=="string"){const n=e.includes("%"),r=Number.parseFloat(e.replace("%","").trim());return Number.isFinite(r)?t(r,n):e}return typeof e=="number"&&Number.isFinite(e)?t(e,!1):e}function QF(e){const t=e&&typeof e=="object"&&"value"in e?e.value:e;if(t==="in"||t==="cm")return t;if(typeof t=="string"){const n=t.trim().toLowerCase();if(n==="in"||n==="inch"||n==="inches")return"in";if(n==="cm"||n==="centimeter"||n==="centimeters"||n==="centimetre"||n==="centimetres")return"cm"}return t}function W4(e){const t=n=>{if(n===null)return null;if(typeof n!="string")return n;const r=n.trim();return r===""?n:/^#[0-9a-fA-F]{6}$/.test(r)?r:/^[0-9a-fA-F]{6}$/.test(r)?`#${r}`:r};if(e&&typeof e=="object"&&"value"in e){const n=e;return{...n,value:t(n.value)}}return t(e)}function X0(e,t){if(e&&typeof e=="object"){const n=e;for(const r of t)if(r in n)return n[r]}return e}function JF(e){const t=X0(e,["alignment","value"]);if(typeof t!="string")return t;const n=t.trim().toLowerCase();return n==="justified"||n==="both"?"justify":n}function eN(e){const t=X0(e,["line","lineHeight","value"]),n=typeof t=="number"?t:typeof t=="string"?Number.parseFloat(t.trim()):NaN;return!Number.isFinite(n)||n<=0?t:n<=10?Math.round(n*240):Math.round(n)}function tN(e){if(e&&typeof e=="object"&&"role"in e)return e;const t=X0(e,["styleId","value","style"]);return typeof t=="string"?t.trim():t}function nN(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e.mode;if(typeof t=="string")return t}return e}var rN=ct.commandUnsupported,Os=ct.tableContextUnavailable,K4=[{id:"bold",family:"inline marks",disposition:"routed",mutates:!0,docRoute:"format.bold",activeMark:"bold",inline:{key:"bold",kind:"toggle"}},{id:"italic",family:"inline marks",disposition:"routed",mutates:!0,docRoute:"format.italic",activeMark:"italic",inline:{key:"italic",kind:"toggle"}},{id:"underline",family:"inline marks",disposition:"routed",mutates:!0,docRoute:"format.underline",activeMark:"underline",inline:{key:"underline",kind:"toggle"}},{id:"strikethrough",family:"inline marks",disposition:"routed",mutates:!0,docRoute:"format.strikethrough",activeMark:"strikethrough",inline:{key:"strike",kind:"toggle"}},{id:"font-family",family:"fonts",disposition:"routed",mutates:!0,docRoute:"format.fontFamily",aliases:["setFontFamily"],inline:{key:"fontFamily",kind:"value-string"}},{id:"font-size",family:"fonts",disposition:"routed",mutates:!0,docRoute:"format.fontSize",aliases:["setFontSize"],normalizePayload:G4,inline:{key:"fontSize",kind:"value-number"}},{id:"setFontFamily",family:"fonts",disposition:"routed",mutates:!0,docRoute:"format.fontFamily",aliasOf:"font-family",inline:{key:"fontFamily",kind:"value-string"}},{id:"setFontSize",family:"fonts",disposition:"routed",mutates:!0,docRoute:"format.fontSize",aliasOf:"font-size",normalizePayload:G4,inline:{key:"fontSize",kind:"value-number"}},{id:"undo",family:"history",disposition:"routed",mutates:!0,docRoute:"history.undo"},{id:"redo",family:"history",disposition:"routed",mutates:!0,docRoute:"history.redo"},{id:"acceptChange",family:"tracked changes",disposition:"routed",mutates:!0,trackDecision:{kind:"accept",scope:"id"},aliases:["track-changes-accept-selection"]},{id:"rejectChange",family:"tracked changes",disposition:"routed",mutates:!0,trackDecision:{kind:"reject",scope:"id"},aliases:["track-changes-reject-selection"]},{id:"acceptAllChanges",family:"tracked changes (bulk)",disposition:"routed",mutates:!0,trackDecision:{kind:"accept",scope:"all"}},{id:"rejectAllChanges",family:"tracked changes (bulk)",disposition:"routed",mutates:!0,trackDecision:{kind:"reject",scope:"all"}},{id:"track-changes-accept-selection",family:"tracked changes",disposition:"routed",mutates:!0,trackDecision:{kind:"accept",scope:"id"},aliasOf:"acceptChange"},{id:"track-changes-reject-selection",family:"tracked changes",disposition:"routed",mutates:!0,trackDecision:{kind:"reject",scope:"id"},aliasOf:"rejectChange"},{id:"zoom",family:"zoom",disposition:"routed",mutates:!1,instanceRoute:"setZoom",valueFrom:"zoom",normalizePayload:ZF},{id:"zoom-fit-width",family:"zoom",disposition:"routed",mutates:!1,instanceRoute:"setZoomMode",fixedArg:"fit-width",valueFrom:"zoom"},{id:"document-mode",family:"document",disposition:"routed",mutates:!1,instanceRoute:"setDocumentMode",valueFrom:"documentMode",normalizePayload:nN},{id:"measurement-unit",family:"measurement",disposition:"routed",mutates:!1,instanceRoute:"setMeasurementUnit",valueFrom:"measurementUnit",normalizePayload:QF},{id:"text-color",family:"color",disposition:"routed",mutates:!0,docRoute:"format.color",inline:{key:"color",kind:"value-string"},normalizePayload:W4},{id:"highlight-color",family:"color",disposition:"routed",mutates:!0,docRoute:"format.highlight",inline:{key:"highlight",kind:"value-string"},normalizePayload:W4},{id:"link",family:"links",disposition:"routed",mutates:!0,docRoute:"hyperlinks.wrap",activeMark:"link",link:{kind:"link"}},{id:"text-align",family:"paragraph",disposition:"routed",mutates:!0,docRoute:"format.paragraph.setAlignment",blockParagraph:{kind:"alignment"},normalizePayload:JF},{id:"line-height",family:"paragraph",disposition:"routed",mutates:!0,docRoute:"format.paragraph.setSpacing",blockParagraph:{kind:"spacing-line"},normalizePayload:eN},{id:"linked-style",family:"paragraph",disposition:"routed",mutates:!0,docRoute:"styles.paragraph.setStyle",blockParagraph:{kind:"style"},normalizePayload:tN},{id:"bullet-list",family:"lists",disposition:"routed",mutates:!0,docRoute:"lists.apply",list:{mode:"toggle-seed",seed:"bullet"}},{id:"numbered-list",family:"lists",disposition:"routed",mutates:!0,docRoute:"lists.apply",list:{mode:"toggle-seed",seed:"ordered"}},{id:"indent-increase",family:"lists/indent",disposition:"routed",mutates:!0,docRoute:"lists.indent",list:{mode:"indent"}},{id:"indent-decrease",family:"lists/indent",disposition:"routed",mutates:!0,docRoute:"lists.outdent",list:{mode:"outdent"}},{id:"direction-ltr",family:"direction",disposition:"routed",mutates:!0,docRoute:"format.paragraph.setDirection",blockParagraph:{kind:"direction",fixedValue:"ltr"}},{id:"direction-rtl",family:"direction",disposition:"routed",mutates:!0,docRoute:"format.paragraph.setDirection",blockParagraph:{kind:"direction",fixedValue:"rtl"}},{id:"clear-formatting",family:"formatting",disposition:"routed",mutates:!0,docRoute:"format.apply",inline:{key:"*",kind:"clear"}},{id:"image",family:"media",disposition:"routed",mutates:!0,docRoute:"create.image",create:{kind:"image"}},{id:"table-of-contents-insert",family:"TOC",disposition:"routed",mutates:!0,docRoute:"create.tableOfContents",create:{kind:"toc"}},{id:"table-insert",family:"tables",disposition:"routed",mutates:!0,docRoute:"create.table",create:{kind:"table"}},{id:"table-add-row-before",family:"tables",disposition:"routed",mutates:!0,docRoute:"tables.insertRow",table:{action:"insert-row-before",op:"insertRow"},reason:Os},{id:"table-add-row-after",family:"tables",disposition:"routed",mutates:!0,docRoute:"tables.insertRow",table:{action:"insert-row-after",op:"insertRow"},reason:Os},{id:"table-delete-row",family:"tables",disposition:"routed",mutates:!0,docRoute:"tables.deleteRow",table:{action:"delete-row",op:"deleteRow"},reason:Os},{id:"table-add-column-before",family:"tables",disposition:"routed",mutates:!0,docRoute:"tables.insertColumn",table:{action:"insert-column-before",op:"insertColumn"},reason:Os},{id:"table-add-column-after",family:"tables",disposition:"routed",mutates:!0,docRoute:"tables.insertColumn",table:{action:"insert-column-after",op:"insertColumn"},reason:Os},{id:"table-delete-column",family:"tables",disposition:"routed",mutates:!0,docRoute:"tables.deleteColumn",table:{action:"delete-column",op:"deleteColumn"},reason:Os},{id:"table-delete",family:"tables",disposition:"routed",mutates:!0,docRoute:"tables.delete",table:{action:"delete-table",op:"delete"},reason:Os},{id:"table-merge-cells",family:"tables",disposition:"routed",mutates:!0,docRoute:"tables.mergeCells",table:{action:"merge-cells",op:"mergeCells"},reason:Os},{id:"table-split-cell",family:"tables",disposition:"routed",mutates:!0,docRoute:"tables.splitCell",table:{action:"split-cell",op:"splitCell",requiresCell:!0},reason:Os},{id:"table-remove-borders",family:"tables",disposition:"routed",mutates:!0,docRoute:"tables.setBorders",table:{action:"remove-borders",op:"setBorders"},reason:Os},{id:"ruler",family:"UI chrome",disposition:"routed",mutates:!1,instanceRoute:"toggleRuler",valueFrom:"ruler"},{id:"formatting-marks",family:"UI chrome",disposition:"routed",mutates:!1,instanceRoute:"toggleFormattingMarks",valueFrom:"formattingMarks"},{id:"copy-format",family:"formatting",disposition:"routed",mutates:!1},{id:"table-fix",family:"tables",disposition:"unsupported",mutates:!0,reason:rN}],oN=new Map(K4.map(e=>[e.id,e])),iN=K4.map(e=>e.id);function Tu(e){return oN.get(e)??null}var sN=["table-add-row-before","table-add-row-after","table-delete-row","table-add-column-before","table-add-column-after","table-delete-column","table-delete","table-merge-cells","table-split-cell","table-remove-borders"],q4=[{name:"bold",commandId:"bold",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"italic",commandId:"italic",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"underline",commandId:"underline",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"strike",commandId:"strikethrough",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"clearFormatting",commandId:"clear-formatting",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"copyFormat",commandId:"copy-format",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"fontFamily",commandId:"font-family",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"fontSize",commandId:"font-size",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"color",commandId:"text-color",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"highlight",commandId:"highlight-color",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"textAlign",commandId:"text-align",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"list",commandId:"bullet-list",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"numberedlist",commandId:"numbered-list",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"indentleft",commandId:"indent-decrease",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"indentright",commandId:"indent-increase",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"lineHeight",commandId:"line-height",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"linkedStyles",commandId:"linked-style",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"link",commandId:"link",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"image",commandId:"image",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"table",commandId:"table-insert",instanceMethod:null,disposition:"controller-routed",group:"center"},{name:"tableActions",commandId:null,instanceMethod:null,disposition:"shell-owned",group:"center",memberCommandIds:sN,note:"table editing dropdown is shell chrome; its member commands are controller-routed through the shared table-context facade (ui.tables / host.getTableContext()) and fail closed with table-context-unavailable when the caret is not in a table"},{name:"undo",commandId:"undo",instanceMethod:null,disposition:"controller-routed",group:"left"},{name:"redo",commandId:"redo",instanceMethod:null,disposition:"controller-routed",group:"left"},{name:"search",commandId:null,instanceMethod:null,disposition:"shell-owned",group:"right",note:"built-in search button; opens the shared find/replace surface (the same one Cmd/Ctrl+F opens) by emitting a `search:open` event on the SuperDoc instance, which the shell handles. The surface reads/drives the controller search surface (ui.search), backed by the single V2 host search session (host.search) which owns query, navigation, reveal, and replace. Find/navigation are always available when the host exposes search; replace/replaceAll mutate through the host session and fail closed (document-readonly) in viewing/read-only mode. If a runtime cannot expose search, the surface fails closed with search-unavailable"},{name:"zoom",commandId:"zoom",instanceMethod:null,disposition:"controller-routed",group:"right"},{name:"measurementUnit",commandId:"measurement-unit",instanceMethod:null,disposition:"controller-routed",group:"right"},{name:"ruler",commandId:null,instanceMethod:"toggleRuler",disposition:"host-routed",group:"right",note:"built-in shell toggles ruler visibility through the public SuperDoc.toggleRuler() instance method; the controller also routes the ruler command through it so custom UIs drive the same chrome (active state from config.rulers)"},{name:"formattingMarks",commandId:null,instanceMethod:"toggleFormattingMarks",disposition:"host-routed",group:"right",note:"built-in shell toggles nonprinting marks through the public SuperDoc.toggleFormattingMarks()/setShowFormattingMarks() instance methods (not a controller command)"},{name:"documentMode",commandId:"document-mode",instanceMethod:null,disposition:"controller-routed",group:"right"},{name:"acceptTrackedChangeBySelection",commandId:"track-changes-accept-selection",instanceMethod:null,disposition:"controller-routed",group:"right"},{name:"rejectTrackedChangeOnSelection",commandId:"track-changes-reject-selection",instanceMethod:null,disposition:"controller-routed",group:"right"},{name:"customButtons",commandId:null,instanceMethod:null,disposition:"shell-owned",group:"center",note:"consumer-defined buttons the rendered shell owns; their execution context surface is phase 2"}],Y4=new Map(q4.map(e=>[e.name,e])),DH=q4.map(e=>e.name);function Z0(e){return Y4.get(e)??null}function aN(e){const t=Y4.get(e);return t?.disposition==="controller-routed"?t.commandId:null}var lN=".png,.jpg,.jpeg,image/png,image/jpeg",X4=new Set(["image/png","image/jpeg","image/jpg"]),cN=/\.(png|jpe?g)$/i;function uN(e){if(!e)return!1;const t=typeof e.type=="string"?e.type.toLowerCase():"";return t?X4.has(t):cN.test(String(e.name??""))}function Z4(e){return new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(dN(String(r.result),e)),r.onerror=()=>n(r.error??new Error("image-read-failed")),r.readAsDataURL(e)})}function dN(e,t){const n=/^data:([^;,]*);base64,/.exec(e);if(!n)return e;const r=n[1].toLowerCase();if(X4.has(r))return e;const o=String(t?.name??""),i=/\.jpe?g$/i.test(o)?"image/jpeg":/\.png$/i.test(o)?"image/png":null;return i?`data:${i};base64,${e.slice(n[0].length)}`:e}async function fN(e,t){if(typeof t=="function"){const n=await t(e);if(typeof n!="string"||n.trim()==="")throw new Error("handleImageUpload returned an empty result");return n.startsWith("data:")?n:hN(n,e)}return Z4(e)}async function hN(e,t){const n=await fetch(e);if(!n.ok)throw new Error(`image fetch failed: ${n.status}`);const r=await n.blob(),o=(/\.(?:png|jpe?g)(?:$|[?#])/i.test(e)?e.split(/[?#]/)[0]:"")||t?.name||"";return Z4(o?Object.assign(r,{name:o}):r)}function pN({ownerDocument:e=document,onPick:t,onError:n}={}){const r=e.createElement("input");return r.type="file",r.accept=lN,r.hidden=!0,r.tabIndex=-1,r.setAttribute("data-superdoc-image-picker","true"),r.setAttribute("aria-hidden","true"),r.addEventListener("change",()=>{const o=r.files&&r.files[0];if(r.value="",!!o){if(!uN(o)){n?.(new Error(`unsupported image type: ${o.type||o.name}`));return}try{const i=t?.(o);i&&typeof i.then=="function"&&i.catch(s=>n?.(s))}catch(i){n?.(i)}}}),e.body?.appendChild(r),{input:r,open(){r.click()},destroy(){r.remove()}}}var mN=(e,t)=>{let n=e.replace(/[^0-9.]/g,"");return n=parseFloat(n),isNaN(n)&&(n=t),n=parseFloat(n),n},gN=(e,t,n)=>{let r,o,i,s=0;n||(n={});const a=()=>{s=n.leading===!1?0:Date.now(),r=null,i=e(...o),r||(o=null)},l=(...c)=>{const d=Date.now();!s&&n.leading===!1&&(s=d);const f=t-(d-s);return o=c,f<=0||f>t?(r&&(clearTimeout(r),r=null),s=d,i=e(...c),r||(o=null)):!r&&n.trailing!==!1&&(r=setTimeout(a,f)),i};return l.cancel=function(){clearTimeout(r),s=0,r=o=null},l};xt(),fn();var vN={class:"sd-toolbar-icon"},yN=["innerHTML"],bN={__name:"ToolbarButtonIcon",props:{name:{type:String,required:!0},color:{type:String,default:null},icon:{type:String,default:null}},setup(e){const t=e,n=ke(()=>{if(t.name==="color")return{backgroundColor:t.color||"#111111"};if(t.name==="highlight")return{backgroundColor:t.color||"#D6D6D6"}}),r=ke(()=>["color","highlight"].includes(t.name));return(o,i)=>(ye(),Ie("div",vN,[Fe("div",{class:rn(["sd-toolbar-icon__icon",[`sd-toolbar-icon__icon--${t.name}`]]),innerHTML:e.icon},null,10,yN),r.value?(ye(),Ie("div",{key:0,class:"color-bar",style:mn(n.value)},null,4)):mt("",!0)]))}},Q4=un(bN,[["__scopeId","data-v-d7d79424"]]);xt(),fn();var wN=["role","aria-label"],CN=["data-item"],kN=["data-item"],SN={key:1,class:"sd-button-label"},_N=["data-item","aria-label"],AN=["innerHTML"],IN={key:2},xN=["onKeydown","id"],EN=["placeholder","onKeydown","id","data-item"],TN=["data-item","innerHTML"],RN={"aria-live":"polite",class:"sd-visually-hidden"},MN={__name:"ToolbarButton",props:{iconColor:{type:String,default:null},active:{type:Boolean,default:!1},isNarrow:{type:Boolean,default:!1},isWide:{type:Boolean,default:!1},toolbarItem:{type:Object,required:!0},defaultLabel:{type:String,default:null},isOverflowItem:{type:Boolean,default:!1},allowEnterPropagation:{type:Boolean,default:!1}},emits:["buttonClick","textSubmit","mainClick"],setup(e,{emit:t}){const n=t,{proxy:r}=lr(),o=e,{name:i,active:s,icon:a,label:l,hideLabel:c,iconColor:d,hasCaret:f,splitButton:h,disabled:g,expand:m,inlineTextInputVisible:v,hasInlineTextInput:k,minWidth:C,style:A,attributes:b}=o.toolbarItem,w=ke(()=>!!h?.value&&!!f?.value),T=ke(()=>i?.value??""),M=te(""),N=te(null),{isHighContrastMode:H}=Xi();Pt(()=>l?.value,_e=>{document.activeElement!==N.value&&(M.value=_e==null?"":String(_e))},{immediate:!0});const L=()=>{k&&_t(()=>{N.value?.focus(),N.value?.select()}),n("buttonClick")},V=_e=>{g?.value||(_e?.stopPropagation(),n("mainClick"))},q=()=>{w.value||L()},D=_e=>{if(w.value){V(_e);return}L()},B=_e=>{o.allowEnterPropagation||_e.stopPropagation(),D(_e)},E=_e=>{const oe=o.toolbarItem?.nestedOptions?.value??[],Re=_e.trim();if(!Re)return"";const $e=oe.find(nt=>typeof nt?.label=="string"&&nt.label.toLowerCase()===Re.toLowerCase());return $e?.label?$e.label:oe.find(nt=>typeof nt?.label=="string"&&nt.label.toLowerCase().startsWith(Re.toLowerCase()))?.label??Re},j=()=>{const _e=String(M.value??"").trim();let oe=_e;if(T.value==="fontSize"){const Re=Number.parseFloat(_e);oe=_e.match(/^\d+(\.5)?$/)?_e:Number.isFinite(Re)?Math.floor(Re).toString():""}else T.value==="fontFamily"&&(oe=E(_e));return oe?(n("textSubmit",oe),M.value=oe,!0):!1},J=_e=>{const oe=_e?.currentTarget;oe instanceof HTMLInputElement&&(oe.focus({preventScroll:!0}),oe.select())},Y=_e=>{requestAnimationFrame(()=>{const oe=document.getElementById(`inlineTextInput-${_e}`);oe instanceof HTMLInputElement&&(oe.focus({preventScroll:!0}),oe.select())})},se=()=>{const _e=document.querySelector('[role="textbox"][aria-label*="SuperDoc body"], .ProseMirror');return _e instanceof HTMLElement?(_e.focus({preventScroll:!0}),!0):!1},pe=()=>{const _e=r?.$toolbar?.pendingSelectionCapture,oe=()=>{_e&&typeof r?.$toolbar?.ui?.selection?.restore=="function"&&r.$toolbar.ui.selection.restore(_e)};if(se()){oe();return}typeof r?.$toolbar?.superdoc?.focus=="function"&&(r.$toolbar.superdoc.focus(),oe())},je=()=>{j()&&pe()},ge=_e=>{if(j(),_e.shiftKey){T.value==="fontSize"&&(_e.preventDefault(),_t(()=>Y("fontFamily")));return}if(_e.preventDefault(),T.value==="fontFamily"){_t(()=>Y("fontSize"));return}T.value==="fontSize"&&_t(pe)},be=ke(()=>A.value?A.value:{minWidth:o.minWidth}),ve=ke(()=>m?.value?or.dropdownCaretUp:or.dropdownCaretDown);return(_e,oe)=>(ye(),Ie("div",{class:rn(["sd-toolbar-item",Qe(b).className]),style:mn(be.value),role:e.isOverflowItem?"menuitem":"button","aria-label":Qe(b).ariaLabel,"data-sd-part":"toolbar-item",onClick:q,onKeydown:oe[9]||(oe[9]=ni(Re=>B(Re),["enter"])),tabindex:"0"},[Fe("div",{class:rn(["sd-toolbar-button",{"sd-active":Qe(s),"sd-disabled":Qe(g),narrow:e.isNarrow,wide:e.isWide,split:w.value,"has-inline-text-input":Qe(k),"high-contrast":Qe(H)}]),"data-item":`btn-${Qe(i)||""}`},[w.value?(ye(),Ie("div",{key:0,class:"sd-toolbar-button__main","data-item":`btn-${Qe(i)||""}-main`,onClick:oe[0]||(oe[0]=Re=>V(Re))},[Qe(a)?(ye(),ln(Q4,{key:0,color:Qe(d),class:"sd-toolbar-icon",icon:Qe(a),name:Qe(i)},null,8,["color","icon","name"])):mt("",!0),Qe(l)&&!Qe(c)&&!Qe(v)?(ye(),Ie("div",SN,Vt(Qe(l)),1)):mt("",!0)],8,kN)):mt("",!0),w.value?(ye(),Ie("div",{key:1,class:"sd-toolbar-button__caret","data-item":`btn-${Qe(i)||""}-caret`,"aria-label":`${Qe(b).ariaLabel} options`,role:"button"},[Fe("div",{class:"sd-dropdown-caret",innerHTML:ve.value,style:mn({opacity:Qe(g)?.6:1})},null,12,AN)],8,_N)):(ye(),Ie(Wt,{key:2},[Qe(a)?(ye(),ln(Q4,{key:0,color:Qe(d),class:"sd-toolbar-icon",icon:Qe(a),name:Qe(i)},null,8,["color","icon","name"])):mt("",!0),Qe(l)&&!Qe(c)&&(!Qe(v)||T.value==="fontFamily")?(ye(),Ie("div",{key:1,class:rn(["sd-button-label",{"sd-visually-hidden":Qe(v)&&T.value==="fontFamily"}])},Vt(Qe(l)),3)):mt("",!0),Qe(v)?(ye(),Ie("span",IN,[Qe(i)==="fontSize"?ra((ye(),Ie("input",{key:0,"onUpdate:modelValue":oe[1]||(oe[1]=Re=>M.value=Re),onKeydown:[ni(tn(je,["stop","prevent"]),["enter"]),oe[2]||(oe[2]=ni(Re=>ge(Re),["tab"]))],onClick:oe[3]||(oe[3]=tn(Re=>J(Re),["stop"])),onFocus:oe[4]||(oe[4]=Re=>J(Re)),type:"text",class:rn(["button-text-input button-text-input--font-size",{"high-contrast":Qe(H)}]),id:"inlineTextInput-"+Qe(i),autocomplete:"off",ref_key:"inlineInput",ref:N},null,42,xN)),[[Di,M.value]]):ra((ye(),Ie("input",{key:1,"onUpdate:modelValue":oe[5]||(oe[5]=Re=>M.value=Re),placeholder:Qe(l),onKeydown:[ni(tn(je,["stop","prevent"]),["enter"]),oe[6]||(oe[6]=ni(Re=>ge(Re),["tab"]))],onClick:oe[7]||(oe[7]=tn(Re=>J(Re),["stop"])),onFocus:oe[8]||(oe[8]=Re=>J(Re)),type:"text",class:rn(["button-text-input",{"button-text-input--font-family":T.value==="fontFamily","high-contrast":Qe(H)}]),id:"inlineTextInput-"+Qe(i),"data-item":T.value==="fontFamily"?`btn-${Qe(i)}-input`:void 0,autocomplete:"off",ref_key:"inlineInput",ref:N},null,42,EN)),[[Di,M.value]])])):mt("",!0),Qe(f)?(ye(),Ie("div",{key:3,class:"sd-dropdown-caret","data-item":`btn-${Qe(i)||""}-toggle`,innerHTML:ve.value,style:mn({opacity:Qe(g)?.6:1})},null,12,TN)):mt("",!0)],64)),Fe("div",RN,Vt(`${Qe(b).ariaLabel} ${Qe(s)?"selected":"unset"}`),1)],10,CN)],46,wN))}},Q0=un(MN,[["__scopeId","data-v-dbdea151"]]);xt(),fn();var LN={class:"toolbar-separator",role:"separator","aria-label":"Toolbar separator"},PN={__name:"ToolbarSeparator",props:{active:{type:Boolean,default:!1}},emits:["command"],setup(e,{emit:t}){const{isHighContrastMode:n}=Xi(),r=()=>n.value?"#000":"var(--sd-ui-border, #dbdbdb)";return(o,i)=>(ye(),Ie("div",LN,[Fe("div",{class:"separator-inner",style:mn({backgroundColor:r()})},null,4)]))}},DN=un(PN,[["__scopeId","data-v-cb82253a"]]);xt(),fn();var ON={class:"overflow-menu"},FN={class:"overflow-menu-trigger"},NN={key:0,class:"overflow-menu_items",role:"group"},BN={__name:"OverflowMenu",props:{toolbarItem:{type:Object,required:!0},overflowItems:{type:Array,required:!0}},emits:["buttonClick","close"],setup(e,{emit:t}){const{proxy:n}=lr(),r=t,o=e,i=ke(()=>o.toolbarItem.expand.value),s=te(!1),a=ke(()=>({...o.toolbarItem,active:i.value})),l=()=>{r("buttonClick",o.toolbarItem)},c=({item:f,argument:h})=>{n.$toolbar.emitCommand({item:f,argument:h})},d=f=>{f.key==="Escape"&&i.value&&!s.value&&(f.preventDefault(),r("close"))};return Pn(()=>{document.addEventListener("keydown",d,!0)}),rr(()=>{document.removeEventListener("keydown",d,!0)}),(f,h)=>(ye(),Ie("div",ON,[Fe("div",FN,[qt(Q0,{"toolbar-item":a.value,onButtonClick:l},null,8,["toolbar-item"])]),i.value?(ye(),Ie("div",NN,[qt(am,{class:"superdoc-toolbar-overflow","toolbar-items":e.overflowItems,"from-overflow":"",onCommand:c,onDropdownUpdateShow:h[0]||(h[0]=g=>s.value=g)},null,8,["toolbar-items"])])):mt("",!0)]))}},zN=un(BN,[["__scopeId","data-v-504ecd05"]]);xt(),fn();var VN={class:"toolbar-dropdown"},jN=["onClick"],UN={key:0,class:"toolbar-dropdown-option__icon"},HN={class:"toolbar-dropdown-option__label"},om='button, [href], input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])',$N={__name:"ToolbarDropdown",props:{options:{type:Array,default:()=>[]},show:{type:Boolean,required:!0},placement:{type:String,default:"bottom-start"},disabled:{type:Boolean,default:!1},contentStyle:{type:Object,default:()=>({})},menuProps:{type:Function,default:null},nodeProps:{type:Function,default:null}},emits:["update:show","select"],setup(e,{emit:t}){const n=e,r=t,o=te(null),i=te(null),s=te({top:"0px",left:"0px",maxHeight:"none"}),a=te([]),l=te(-1),c=ke(()=>!!n.show),d=ke(()=>n.options.some(oe=>oe?.type==="render")),f=ke(()=>typeof n.menuProps!="function"?{}:n.menuProps()||{}),h=ke(()=>{const{class:oe,style:Re,...$e}=f.value;return $e}),g=ke(()=>["toolbar-dropdown-menu",f.value.class,{"toolbar-dropdown-menu--render-only":n.options.length>0&&n.options.every(oe=>oe&&oe.type==="render")}]),m=ke(()=>{const oe=f.value.style||{};return{...n.contentStyle,...oe}}),v=ke(()=>({...m.value,position:"fixed",top:s.value.top,left:s.value.left,maxHeight:s.value.maxHeight,zIndex:2e3})),k=oe=>{r("update:show",oe)},C=()=>{c.value&&k(!1)},A=()=>{if(!o.value)return;const oe=o.value.getBoundingClientRect(),Re=i.value,$e=Re?.offsetWidth??0,nt=Re?.scrollHeight??Re?.offsetHeight??0,Ct=window.innerWidth||document.documentElement.clientWidth||0,Ee=window.innerHeight||document.documentElement.clientHeight||0,We=8,Xe=4,ee=oe.bottom+Xe,S=oe.top-Xe,ne=Math.max(0,Ee-ee-We),O=Math.max(0,S-We),P=ne<nt&&O>ne,U=P?O:ne,$=P?Math.max(We,S-(nt?Math.min(nt,U):U)):ee;let Q=oe.left;n.placement==="bottom-end"&&(Q=oe.right-$e);const Z=Math.max(We,Ct-$e-We);Q=Math.min(Math.max(We,Q),Z),s.value={top:`${$}px`,left:`${Q}px`,maxHeight:`${U}px`}},b=()=>{n.disabled||k(!c.value)},w=oe=>typeof n.nodeProps!="function"?{}:n.nodeProps(oe)||{},T=oe=>{oe?.disabled||oe?.type!=="render"&&(r("select",oe?.key,oe),C())},M=oe=>oe?.type==="render",N=oe=>!oe?.disabled&&oe?.type!=="render",H=oe=>typeof oe?.icon=="function"||!!oe?.icon,L=oe=>typeof oe?.icon=="function"?oe.icon(oe):oe?.icon||null,V=oe=>oe?typeof oe=="string"?oe.split(/\s+/).includes("sd-selected"):Array.isArray(oe)?oe.some(V):typeof oe=="object"?!!oe["sd-selected"]:!1:!1,q=oe=>V(oe?.props?.class)||V(oe?.class),D=()=>n.options.map((oe,Re)=>N(oe)?Re:-1).filter(oe=>oe>=0),B=()=>{const oe=n.options.findIndex(Re=>N(Re)&&q(Re));return oe>=0?oe:D()[0]??-1},E=(oe,Re)=>{if(!oe){delete a.value[Re];return}a.value[Re]=oe},j=()=>{a.value.forEach((Re,$e)=>{Re&&Re.setAttribute("tabindex",$e===l.value?"0":"-1")});const oe=a.value[l.value];oe&&typeof oe.focus=="function"&&(oe.focus(),oe.scrollIntoView?.({block:"nearest",inline:"nearest"}))},J=oe=>{const Re=D();if(!Re.length){l.value=-1;return}const $e=Re.indexOf(l.value);if($e<0){l.value=oe>0?Re[0]:Re[Re.length-1];return}const nt=($e+oe+Re.length)%Re.length;l.value=Re[nt]},Y=()=>{let oe=n.options[l.value];if(!N(oe)){const Re=D()[0];oe=Re===void 0?null:n.options[Re]}oe&&T(oe)},se=Ul({name:"ToolbarDropdownRenderOption",props:{option:{type:Object,required:!0}},setup(oe){return()=>typeof oe.option.render!="function"?null:oe.option.render()}}),pe=Ul({name:"ToolbarDropdownOptionIcon",props:{option:{type:Object,required:!0}},setup(oe){return()=>L(oe.option)}}),je=oe=>{if(!c.value)return;const Re=oe.target;if(!(Re instanceof Element))return;const $e=o.value?.contains(Re),nt=i.value?.contains(Re);$e||nt||C()},ge=te(null),be=()=>{const oe=o.value,Re=document.activeElement;if(oe&&Re instanceof HTMLElement&&oe.contains(Re)){ge.value=Re;return}ge.value=oe?.matches?.(om)?oe:oe?.querySelector(om)},ve=()=>{const oe=ge.value;if(oe instanceof HTMLElement&&document.contains(oe)){oe.focus();return}const Re=o.value;if(!Re)return;const $e=Re.matches?.(om)?Re:Re.querySelector(om);if($e instanceof HTMLElement){$e.focus();return}Re.setAttribute("tabindex","-1"),Re.focus()},_e=oe=>{if(!c.value)return;const{key:Re}=oe;if(["Escape","ArrowDown","ArrowUp","Enter"].includes(Re)){if(Re==="Escape"){oe.preventDefault(),C(),_t(()=>{requestAnimationFrame(ve)});return}if(!d.value){if(oe.preventDefault(),Re==="ArrowDown"){J(1),j();return}if(Re==="ArrowUp"){J(-1),j();return}Re==="Enter"&&Y()}}};return Pt(c,async oe=>{if(!oe){l.value=-1,a.value=[];return}be(),await _t(),A(),!d.value&&(l.value=B(),await _t(),j())},{immediate:!0}),Pt(c,oe=>{oe?(document.addEventListener("pointerdown",je,!0),document.addEventListener("keydown",_e,!0),window.addEventListener("resize",A),window.addEventListener("scroll",A,!0)):(document.removeEventListener("pointerdown",je,!0),document.removeEventListener("keydown",_e,!0),window.removeEventListener("resize",A),window.removeEventListener("scroll",A,!0))},{immediate:!0}),rr(()=>{document.removeEventListener("pointerdown",je,!0),document.removeEventListener("keydown",_e,!0),window.removeEventListener("resize",A),window.removeEventListener("scroll",A,!0)}),(oe,Re)=>(ye(),Ie("div",VN,[Fe("div",{ref_key:"triggerRef",ref:o,class:"toolbar-dropdown-trigger","data-sd-part":"dropdown-trigger",onClick:b},[_d(oe.$slots,"trigger",{},void 0,!0)],512),(ye(),ln(Ya,{to:"body"},[qt(Wh,{name:"fade-in-scale-up-transition"},{default:Fo(()=>[c.value?(ye(),Ie("div",Cs({key:0,ref_key:"menuRef",ref:i,"data-sd-part":"dropdown-menu",class:g.value,style:v.value},h.value),[(ye(!0),Ie(Wt,null,ar(e.options,($e,nt)=>(ye(),Ie("div",Cs({key:$e.key,ref_for:!0,ref:Ct=>E(Ct,nt),class:["toolbar-dropdown-option",[$e.class,$e.props?.class,{"sd-disabled":$e.disabled,"sd-render":M($e)}]],tabindex:"-1",onClick:Ct=>T($e)},{ref_for:!0},{...$e.props,...w($e)}),[M($e)?(ye(),ln(Qe(se),{key:0,option:$e},null,8,["option"])):(ye(),Ie(Wt,{key:1},[H($e)?(ye(),Ie("span",UN,[qt(Qe(pe),{option:$e},null,8,["option"])])):mt("",!0),Fe("span",HN,Vt($e.label),1)],64))],16,jN))),128))],16)):mt("",!0)]),_:1})]))]))}},GN=un($N,[["__scopeId","data-v-fef410f7"]]),J4=e=>String(e??"").trim().toLowerCase(),im=(e,t)=>{const n=J4(e);if(!n)return-1;for(let r=0;r<t.length;r+=1)if(J4(t[r]).startsWith(n))return r;return-1},WN=(e,t,{autocomplete:n=!0}={})=>{const r=String(e??""),o=im(r,t),i=o>=0?String(t[o]??""):"";return n&&o>=0&&i.length>r.length?{matchIndex:o,display:i,selectionStart:r.length,selectionEnd:i.length}:{matchIndex:o,display:r,selectionStart:r.length,selectionEnd:r.length}},KN=e=>{let t=String(e??"").trim();for(;t.length>=2&&(t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'"));)t=t.slice(1,-1).trim();return t},qN=e=>e<=31||e===127,YN=e=>e===32||e===160||e===65279,XN=e=>Array.from(String(e)).filter(t=>!qN(t.charCodeAt(0))).join(""),ZN=e=>{let t="",n=!1;for(const r of String(e)){if(YN(r.charCodeAt(0))){n=t.length>0;continue}n&&(t+=" "),n=!1,t+=r}return t},QN=e=>{const t=String(e??"").split(",")[0]??"",n=XN(t);return ZN(KN(n)).trim()},JN=1,eB=1638,tB=e=>{const t=String(e??"").replace(/[^0-9.-]/g,""),n=Number.parseFloat(t);if(!Number.isFinite(n))return"";const r=Math.round(n*2)/2;return r<JN?"":String(Math.min(r,eB))};xt(),fn();var nB=["data-item"],rB=["id","value","disabled","aria-label","aria-expanded","aria-controls","aria-activedescendant","data-item"],oB=["data-item","aria-label","disabled"],iB=["innerHTML"],sB=["id","aria-label"],aB=["id","aria-selected","aria-label","onMousedown","onMouseenter"],lB={class:"toolbar-dropdown-option__label"},cB={class:"sd-button-label sd-font-combobox__legacy-label","aria-hidden":"true"},uB={__name:"ToolbarComboBox",props:{item:{type:Object,required:!0},uiFontFamily:{type:String,default:"Arial, Helvetica, sans-serif"},showPreview:{type:Boolean,default:!1},normalizeValue:{type:Function,default:e=>String(e??"").trim()}},emits:["command","item-clicked","tab-out","editor-handoff"],setup(e,{emit:t}){const n=e,r=t,{isHighContrastMode:o}=Xi(),i=te(null),s=te(null),a=te(null),l=te([]),c=te(!1),d=te(!1),f=te(-1),h=te(""),g=te(""),m=te(!1),v=te({top:"0px",left:"0px",minWidth:"0px",maxHeight:"none"}),k=ke(()=>n.item.nestedOptions?.value??[]),C=ke(()=>k.value.map(Z=>String(Z?.label??""))),A=ke(()=>String(n.item.label?.value??"")),b=ke(()=>!!n.item.disabled?.value),w=ke(()=>String(n.item.name?.value??"")),T=ke(()=>n.item.attributes?.value?.ariaLabel??"Font family"),M=ke(()=>c.value?g.value:A.value),N=ke(()=>`sd-${w.value||"combobox"}-listbox-${n.item.id?.value??"default"}`),H=Z=>`${N.value}-option-${Z}`,L=ke(()=>d.value&&f.value>=0?H(f.value):void 0),V=ke(()=>d.value?or.dropdownCaretUp:or.dropdownCaretDown),q=Z=>{const K=String(Z??"").trim().toLowerCase();return k.value.find(me=>String(me?.label??"").trim().toLowerCase()===K)?.props?.style?.fontFamily||Z||n.uiFontFamily},D=ke(()=>n.showPreview?{fontFamily:q(c.value?g.value:A.value)}:{fontFamily:n.uiFontFamily}),B=()=>{const Z=n.item.selectedValue?.value;if(Z){const K=k.value.findIndex(me=>me?.key===Z);if(K>=0)return K}return C.value.findIndex(K=>K.toLowerCase()===A.value.toLowerCase())},E=(Z,K)=>{const me=i.value;if(!(!me||typeof me.setSelectionRange!="function"))try{me.setSelectionRange(Z,K)}catch{}},j=()=>{l.value[f.value]?.scrollIntoView?.({block:"nearest",inline:"nearest"})},J=()=>{l.value[f.value]?.focus?.()},Y=()=>{const Z=s.value;if(!Z)return;const K=Z.getBoundingClientRect(),me=a.value,Me=me?.scrollHeight??me?.offsetHeight??0,he=window.innerHeight||document.documentElement.clientHeight||0,Be=window.innerWidth||document.documentElement.clientWidth||0,qe=8,rt=4,lt=K.bottom+rt,Xt=K.top-rt,He=Math.max(0,he-lt-qe),Ot=Math.max(0,Xt-qe),Dt=He<Me&&Ot>He,sn=Dt?Ot:He,Kn=Dt?Math.max(qe,Xt-(Me?Math.min(Me,sn):sn)):lt,nn=Math.min(Math.max(qe,K.left),Math.max(qe,Be-K.width-qe));v.value={top:`${Kn}px`,left:`${nn}px`,minWidth:`${K.width}px`,maxHeight:`${sn}px`}},se=ke(()=>({position:"fixed",top:v.value.top,left:v.value.left,minWidth:v.value.minWidth,maxHeight:v.value.maxHeight,fontFamily:n.uiFontFamily,zIndex:2e3})),pe=Z=>{n.item.expand&&typeof n.item.expand=="object"&&"value"in n.item.expand&&(n.item.expand.value=Z)},je=(Z,{focusInput:K=!1,focusOption:me=!1}={})=>{if(b.value||!k.value.length){pe(!1);return}d.value=!0,pe(!0),f.value=Z??-1,K&&(c.value=!0,g.value=A.value,i.value?.focus()),_t(()=>{Y(),j(),me&&J()})},ge=({syncItem:Z=!0}={})=>{d.value=!1,f.value=-1,Z&&pe(!1)},be=()=>{ge(),c.value=!1,h.value="",g.value=A.value},ve=()=>{b.value||(d.value||r("item-clicked"),c.value=!0,h.value="",g.value=A.value,_t(()=>E(0,g.value.length)))},_e=Z=>{if(b.value)return;const K=document.activeElement===i.value;if(r("item-clicked"),c.value=!0,K||(h.value="",g.value=A.value,Z.preventDefault(),i.value?.focus({preventScroll:!0}),E(0,A.value.length)),!d.value){const me=B();je(me>=0?me:0)}},oe=Z=>{const K=Z.relatedTarget;K instanceof Node&&s.value?.contains(K)||K instanceof Node&&a.value?.contains(K)||be()},Re=Z=>{if(m.value)return;const K=Z.target,me=K.value,Me=typeof K.selectionStart=="number"?K.selectionStart:me.length,he=typeof K.selectionEnd=="number"?K.selectionEnd:Me,Be=typeof Z.inputType=="string"&&Z.inputType.startsWith("delete"),qe=Me===me.length&&he===me.length;h.value=me;const rt=WN(me,C.value,{autocomplete:!Be&&qe});g.value=rt.display,K.value=rt.display,rt.display===me&&!qe?E(Me,he):E(rt.selectionStart,rt.selectionEnd),d.value&&(f.value=rt.matchIndex,_t(j))},$e=Z=>{m.value=!1,Re(Z)},nt=Z=>{if(!k.value.length)return;const K=k.value.length,me=f.value<0?Z>0?-1:0:f.value;f.value=(me+Z+K)%K,_t(j)},Ct=(Z,K)=>{r("item-clicked"),r("command",{item:n.item,argument:Z,option:K}),K&&(n.item.selectedValue.value=K.key)},Ee=Z=>{Z&&(Ct(Z.label,Z),c.value=!1,h.value="",g.value=Z.label,ge())},We=()=>{if(d.value&&f.value>=0)return Ee(k.value[f.value]),!0;const Z=im(h.value,C.value);if(Z>=0)return Ee(k.value[Z]),!0;const K=n.normalizeValue(h.value);return K?(Ct(K,null),c.value=!1,h.value="",g.value=K,ge(),!0):!1},Xe=Z=>{if(!(Z.isComposing||m.value||Z.keyCode===229)&&!(Z.ctrlKey||Z.metaKey||Z.altKey))switch(Z.key){case"ArrowDown":if(Z.preventDefault(),d.value)J();else{const K=im(h.value,C.value),me=K>=0?K:B();je(me>=0?me:0,{focusOption:!0})}break;case"ArrowUp":if(Z.preventDefault(),d.value)J();else{const K=im(h.value,C.value),me=K>=0?K:B();je(me>=0?me:k.value.length-1,{focusOption:!0})}break;case"Enter":Z.preventDefault(),We()&&r("editor-handoff"),i.value?.blur();break;case"Tab":Z.preventDefault(),We(),ge(),i.value?.blur(),r("tab-out",Z);break;case"Escape":Z.preventDefault(),be(),_t(()=>i.value?.focus())}},ee=Z=>{if(Z.preventDefault(),!b.value)if(r("item-clicked"),d.value)ge(),i.value?.focus();else{const K=B();je(K>=0?K:0,{focusOption:!0})}},S=(Z,K)=>{Z.preventDefault(),Ee(K),r("editor-handoff"),i.value?.blur()},ne=Z=>{f.value=Z},O=Z=>{if(!(Z.ctrlKey||Z.metaKey||Z.altKey))switch(Z.key){case"ArrowDown":Z.preventDefault(),nt(1),J();break;case"ArrowUp":Z.preventDefault(),nt(-1),J();break;case"Enter":Z.preventDefault(),f.value>=0&&(Ee(k.value[f.value]),r("editor-handoff"));break;case"Escape":Z.preventDefault(),be(),_t(()=>i.value?.focus());break;case"Tab":Z.preventDefault(),f.value>=0?Ee(k.value[f.value]):ge(),r("tab-out",{shiftKey:Z.shiftKey,target:i.value})}},P=Z=>{if(!d.value)return;const K=Z.target;K instanceof Element&&(s.value?.contains(K)||a.value?.contains(K)||be())};Pt(d,Z=>{Z?(document.addEventListener("pointerdown",P,!0),window.addEventListener("resize",Y),window.addEventListener("scroll",Y,!0)):(document.removeEventListener("pointerdown",P,!0),window.removeEventListener("resize",Y),window.removeEventListener("scroll",Y,!0),l.value=[])},{immediate:!0}),rr(()=>{document.removeEventListener("pointerdown",P,!0),window.removeEventListener("resize",Y),window.removeEventListener("scroll",Y,!0)});const U=(Z,K)=>{if(!Z){delete l.value[K];return}l.value[K]=Z},$=Z=>Z===f.value,Q=Z=>Z?.key&&Z.key===n.item.selectedValue?.value;return Pt(A,Z=>{c.value||(g.value=Z)}),Pt(()=>!!n.item.expand?.value,Z=>{if(Z&&!d.value){const K=B();je(K>=0?K:0,{focusInput:!0});return}!Z&&d.value&&ge({syncItem:!1})}),(Z,K)=>(ye(),Ie("div",{ref_key:"rootRef",ref:s,class:rn(["sd-font-combobox sd-toolbar-split-field",{"sd-disabled":b.value,"high-contrast":Qe(o)}]),style:mn(n.item.style?.value),"data-item":`btn-${w.value}`},[Fe("span",{class:"sd-font-combobox__field sd-toolbar-split-field__main",onMousedown:_e},[Fe("input",{ref_key:"inputRef",ref:i,id:`inlineTextInput-${w.value}`,class:"button-text-input sd-font-combobox__input",type:"text",role:"combobox",autocomplete:"off",spellcheck:"false",value:M.value,style:mn(D.value),disabled:b.value,"aria-label":T.value,"aria-expanded":d.value?"true":"false","aria-controls":N.value,"aria-activedescendant":L.value,"aria-haspopup":"listbox","aria-autocomplete":"both","data-item":`btn-${w.value}-input`,onFocus:ve,onBlur:oe,onInput:Re,onKeydown:Xe,onCompositionstart:K[0]||(K[0]=me=>m.value=!0),onCompositionend:$e},null,44,rB)],32),Fe("button",{type:"button",class:"sd-font-combobox__caret sd-toolbar-split-field__caret","data-item":`btn-${w.value}-toggle`,tabindex:"-1","aria-label":`${T.value} options`,disabled:b.value,onMousedown:ee},[Fe("span",{class:"sd-dropdown-caret",innerHTML:V.value},null,8,iB)],40,oB),(ye(),ln(Ya,{to:"body"},[d.value?(ye(),Ie("div",{key:0,ref_key:"popupRef",ref:a,role:"listbox",id:N.value,"aria-label":T.value,class:rn(["sd-font-combobox__listbox",{"high-contrast":Qe(o)}]),style:mn(se.value)},[(ye(!0),Ie(Wt,null,ar(k.value,(me,Me)=>(ye(),Ie("div",Cs({key:me.key,ref_for:!0,ref:he=>U(he,Me),id:H(Me),role:"option",tabindex:"-1",class:["toolbar-dropdown-option sd-font-combobox__option",{"sd-active":$(Me),"sd-selected":Q(me)}],"aria-selected":Q(me)?"true":"false","aria-label":`${T.value} - ${me.label}`},{ref_for:!0},me.props,{onMousedown:he=>S(he,me),onMouseenter:he=>ne(Me),onKeydown:O}),[Fe("span",lB,Vt(me.label),1)],16,aB))),128))],14,sB)):mt("",!0)])),Fe("span",cB,Vt(A.value),1)],14,nB))}},eA=un(uB,[["__scopeId","data-v-99070b63"]]);xt();var dB={__name:"FontFamilyCombobox",props:{item:{type:Object,required:!0},uiFontFamily:{type:String,default:"Arial, Helvetica, sans-serif"}},emits:["command","item-clicked","tab-out","editor-handoff"],setup(e,{emit:t}){const n=e,r=t;return(o,i)=>(ye(),ln(eA,{item:n.item,"ui-font-family":n.uiFontFamily,"show-preview":!0,"normalize-value":Qe(QN),onCommand:i[0]||(i[0]=s=>r("command",s)),onItemClicked:i[1]||(i[1]=s=>r("item-clicked")),onTabOut:i[2]||(i[2]=s=>r("tab-out",s)),onEditorHandoff:i[3]||(i[3]=s=>r("editor-handoff"))},null,8,["item","ui-font-family","normalize-value"]))}};xt();var fB={__name:"FontSizeCombobox",props:{item:{type:Object,required:!0},uiFontFamily:{type:String,default:"Arial, Helvetica, sans-serif"}},emits:["command","item-clicked","tab-out","editor-handoff"],setup(e,{emit:t}){const n=e,r=t;return(o,i)=>(ye(),ln(eA,{item:n.item,"ui-font-family":n.uiFontFamily,"show-preview":!1,"normalize-value":Qe(tB),onCommand:i[0]||(i[0]=s=>r("command",s)),onItemClicked:i[1]||(i[1]=s=>r("item-clicked")),onTabOut:i[2]||(i[2]=s=>r("tab-out",s)),onEditorHandoff:i[3]||(i[3]=s=>r("editor-handoff"))},null,8,["item","ui-font-family","normalize-value"]))}};xt(),fn();var hB=2500,pB=Object.assign({inheritAttrs:!1},{__name:"SdTooltip",props:{trigger:{type:String,default:"hover"},delay:{type:Number,default:100},duration:{type:Number,default:100},disabled:{type:Boolean,default:!1},contentStyle:{type:Object,default:()=>({})}},setup(e){const t=e,n=Z1(),r=te(!1),o=te(null),i=te(null),s=te({top:"0px",left:"0px"});let a=null,l=null,c=null;const d=ke(()=>["sd-tooltip-content",n.class]),f=ke(()=>({...t.contentStyle,...n.style||{},position:"fixed",top:s.value.top,left:s.value.left,zIndex:2100})),h=()=>{a&&(window.clearTimeout(a),a=null)},g=()=>{l&&(window.clearTimeout(l),l=null)},m=()=>{c&&(window.clearTimeout(c),c=null)},v=()=>{m(),c=window.setTimeout(()=>{c=null,A()},hB)},k=()=>{if(!o.value||!i.value)return;const V=o.value.getBoundingClientRect(),q=i.value.offsetWidth,D=i.value.offsetHeight,B=window.innerWidth||document.documentElement.clientWidth||0,E=8;let j=V.left+V.width/2-q/2;j=Math.max(E,Math.min(j,B-q-E)),s.value={top:`${V.top-D-10}px`,left:`${j}px`}},C=async()=>{t.disabled||(h(),g(),!r.value&&(r.value=!0,v(),await _t(),k()))},A=()=>{g(),h(),m(),r.value&&(r.value=!1)},b=()=>{if(h(),g(),!r.value){if(t.delay===0){C();return}l=window.setTimeout(()=>{l=null,C()},t.delay)}},w=()=>{if(g(),h(),!!r.value){if(t.duration===0){A();return}a=window.setTimeout(()=>{a=null,A()},t.duration)}},T=()=>{t.trigger==="hover"&&b()},M=()=>{t.trigger==="hover"&&w()},N=()=>{g(),h()},H=()=>{w()},L=V=>{V.key==="Escape"&&A()};return Pt(()=>t.disabled,V=>{V&&A()}),Pt(r,V=>{V?(window.addEventListener("resize",k),window.addEventListener("scroll",k,!0),document.addEventListener("keydown",L,!0)):(window.removeEventListener("resize",k),window.removeEventListener("scroll",k,!0),document.removeEventListener("keydown",L,!0))}),rr(()=>{g(),h(),m(),window.removeEventListener("resize",k),window.removeEventListener("scroll",k,!0),document.removeEventListener("keydown",L,!0)}),(V,q)=>(ye(),Ie(Wt,null,[Fe("span",{ref_key:"triggerRef",ref:o,class:"sd-tooltip-trigger",onMouseenter:T,onMouseleave:M,onFocusin:T,onFocusout:M},[_d(V.$slots,"trigger",{},void 0,!0)],544),(ye(),ln(Ya,{to:"body"},[qt(Wh,{name:"fade-in-scale-up-transition"},{default:Fo(()=>[r.value&&!e.disabled?(ye(),Ie("div",{key:0,ref_key:"contentRef",ref:i,class:rn(d.value),style:mn(f.value),onMouseenter:N,onMouseleave:H},[q[0]||(q[0]=Fe("span",{class:"sd-tooltip-arrow","aria-hidden":"true"},null,-1)),_d(V.$slots,"default",{},void 0,!0)],38)):mt("",!0)]),_:3})]))],64))}}),sm=un(pB,[["__scopeId","data-v-2a872eae"]]),Ru=(e,t=null)=>{if(typeof t?.focus=="function"){t.focus();return}const n=e?.superdoc?.focus??e?.activeEditor?.focus;if(typeof n=="function"){n.call(e?.superdoc??e?.activeEditor,{preventScroll:!0});return}const r=document.querySelector('[role="textbox"][aria-label*="SuperDoc body"], .ProseMirror');r instanceof HTMLElement&&r.focus({preventScroll:!0})};xt(),fn();var mB=["onKeydown","tabindex","data-item-id"],gB={key:0},vB={key:0},yB={key:0},bB={key:0},wB={key:0},CB={__name:"ButtonGroup",props:{toolbarItems:{type:Array,required:!0},overflowItems:{type:Array,default:()=>[]},uiFontFamily:{type:String,default:"Arial, Helvetica, sans-serif"},position:{type:String,default:"left"},fromOverflow:{type:Boolean,default:!1},compactSideGroups:{type:Boolean,default:!1}},emits:["command","item-clicked","dropdown-update-show"],setup(e,{emit:t}){const n=t,{proxy:r}=lr(),o=te([]),i=te(null),s=e,a=te(null),{isHighContrastMode:l}=Xi(),c=window.matchMedia("(max-width: 768px)").matches,d=ke(()=>s.position==="left"?{minWidth:s.compactSideGroups?"auto":"120px",justifyContent:"flex-start"}:s.position==="right"?{minWidth:s.compactSideGroups?"auto":"120px",justifyContent:"flex-end"}:{flexGrow:c?0:1,justifyContent:"center"}),f=Ee=>Ee.type==="button",h=Ee=>Ee.type==="dropdown",g=Ee=>Ee.type==="dropdown"&&Ee.name?.value==="fontFamily",m=Ee=>Ee.type==="dropdown"&&Ee.name?.value==="fontSize",v=Ee=>Ee.type==="separator",k=Ee=>Ee.type==="overflow",C=Ee=>!!Ee.nestedOptions?.value?.length,A=Ee=>{if(!Ee)return!1;const We=Ee.expand;return typeof We=="object"&&We!==null&&"value"in We?!!We.value:!!We},b=(Ee,We)=>{Ee?.expand&&(Ee.expand.value=We)},w=(Ee,We=void 0)=>{if(Ee.disabled.value)return;if(k(Ee)){const ee=!A(Ee);ee&&N(),b(Ee,ee),a.value=ee?Ee:null,n("item-clicked");return}if(h(Ee))return;a.value&&h(a.value)&&A(a.value)&&N(),n("item-clicked");const Xe=We!==void 0?We:Ee.argument?.value;n("command",Xe===void 0?{item:Ee}:{item:Ee,argument:Xe})},T=(Ee,We)=>{Ee.disabled.value||(a.value=null,n("command",{item:Ee,argument:We}))},M=Ee=>{if(Ee.disabled.value)return;N();const We=Ee.splitButtonCommand,Xe=Ee.command,ee=We||Xe;if(!ee)return;const S={...Ee,command:ee};n("item-clicked"),n("command",{item:S})},N=()=>{const Ee=r?.$toolbar?.toolbarItems||[],We=r?.$toolbar?.overflowItems||[],Xe=[...Ee,...We];(Xe.length?Xe:s.toolbarItems).forEach(ee=>{const S=k(ee)&&!s.fromOverflow;(h(ee)||S)&&b(ee,!1)}),a.value=null},H=(Ee,We)=>{N();const Xe=Ee.dropdownValueKey.value?We[Ee.dropdownValueKey.value]:We.label;n("command",{item:Ee,argument:Xe,option:We}),Ee.selectedValue.value=We.key,Ee.restoreEditorFocus&&Ru(r?.$toolbar)},L=Ee=>{n("command",Ee)},V=()=>{N(),n("item-clicked")},q=()=>{const Ee=document.querySelector('[role="textbox"][aria-label*="SuperDoc body"], .ProseMirror');return Ee instanceof HTMLElement?(Ee.focus({preventScroll:!0}),!0):!1},D=()=>{const Ee=r?.$toolbar?.pendingSelectionCapture,We=()=>{Ee&&typeof r?.$toolbar?.ui?.selection?.restore=="function"&&r.$toolbar.ui.selection.restore(Ee)};if(q()){We();return}typeof r?.$toolbar?.superdoc?.focus=="function"&&(r.$toolbar.superdoc.focus(),We())},B=Ee=>!(Ee instanceof HTMLElement)||Ee.classList.contains("sd-disabled")?null:Ee.querySelector("input:not([disabled]), textarea:not([disabled]), select:not([disabled])")||Ee.querySelector('button:not([disabled]), [role="button"]:not(.sd-disabled), [tabindex]:not([tabindex="-1"])'),E=(Ee,We)=>{const Xe=Ee?.target?.closest?.(".sd-toolbar-item-ctn");if(!(Xe instanceof HTMLElement))return!1;let ee=We>0?Xe.nextElementSibling:Xe.previousElementSibling;for(;ee;){const S=B(ee);if(S instanceof HTMLElement)return Xe.setAttribute("tabindex","-1"),ee.setAttribute("tabindex","0"),S.focus(),!0;ee=We>0?ee.nextElementSibling:ee.previousElementSibling}return!1},j=Ee=>{N();const We=Ee?.shiftKey?-1:1;E(Ee,We)||D()},J=Ee=>{if(N(),Ee?.shiftKey){E(Ee,-1)||D();return}D()},Y=()=>{D()},se=Ee=>Ee.nestedOptions?.value?.length?Ee.nestedOptions.value.map(We=>{const Xe=We?.type!=="render"&&Ee.selectedValue.value===We.key;return{...We,props:{...We.props,class:Xe?"sd-selected":""}}}):[],pe=(Ee,We)=>({role:"menuitem",ariaLabel:`${We.attributes.value.ariaLabel} - ${Ee.label}`}),je=Ee=>{const We=Ee.target,Xe=Ee.target.closest(".sd-toolbar-item-ctn").nextElementSibling;Xe&&(We.setAttribute("tabindex","-1"),Xe.setAttribute("tabindex","0"),Xe.focus())},ge=Ee=>{const We=Ee.target,Xe=Ee.target.closest(".sd-toolbar-item-ctn").previousElementSibling;Xe&&(We.setAttribute("tabindex","-1"),Xe.setAttribute("tabindex","0"),Xe.focus())},be=Ee=>{const We=Ee.target.closest(".button-group").nextElementSibling;if(We)We.setAttribute("tabindex","0"),We.focus();else{const Xe=document.querySelector(".ProseMirror");Xe&&Xe.focus()}},ve=Ee=>{const We=Ee.target.closest(".button-group").previousElementSibling;We&&(We.setAttribute("tabindex","0"),We.focus())},_e=Ee=>{if(!Ee.disabled.value){if(h(Ee)){$e(!A(Ee),Ee);return}w(Ee)}},oe=(Ee,We)=>{const Xe=Ee.target.nodeName==="INPUT"||Ee.target.nodeName==="TEXTAREA",ee=We.name.value==="fontSize"||We.name.value==="fontFamily";if(!(Xe&&ee)&&["Enter"," ","Spacebar","Escape","ArrowRight","ArrowLeft","Tab"].includes(Ee.key))switch(Ee.preventDefault(),Ee.key){case"Enter":case" ":case"Spacebar":_e(We);break;case"Escape":N();break;case"ArrowRight":N(),je(Ee);break;case"ArrowLeft":N(),ge(Ee);break;case"Tab":Ee.shiftKey?ve(Ee):be(Ee)}},Re=Ee=>{const We=o.value.find(Xe=>!Xe.classList.contains("sd-disabled"));We&&(We.setAttribute("tabindex","0"),We.focus())},$e=(Ee,We)=>{if(n("item-clicked"),!Ee){N(),n("dropdown-update-show",!1);return}N(),a.value=We,b(We,!0),n("dropdown-update-show",!0)},nt=Ee=>{if(!a.value)return;const We=Ee.target;We instanceof Element&&(We.closest(".sd-toolbar-dropdown-menu")||i.value?.contains(We)||N())};return Pt(()=>A(a.value),Ee=>{Ee?document.addEventListener("pointerdown",nt,!0):document.removeEventListener("pointerdown",nt,!0)},{immediate:!0}),rr(()=>{document.removeEventListener("pointerdown",nt,!0)}),(Ee,We)=>(ye(),Ie("div",{style:mn(d.value),class:"button-group",role:"group",onFocus:Re,ref_key:"buttonGroupRef",ref:i},[(ye(!0),Ie(Wt,null,ar(e.toolbarItems,(Xe,ee)=>(ye(),Ie("div",{key:Xe.id.value,class:rn([{narrow:Xe.isNarrow.value,wide:Xe.isWide.value,"sd-disabled":Xe.disabled.value},"sd-toolbar-item-ctn"]),onKeydown:S=>oe(S,Xe),ref_for:!0,ref_key:"toolbarItemRefs",ref:o,tabindex:ee===0?0:-1,"data-item-id":Xe.id.value},[v(Xe)?(ye(),ln(DN,{key:0,style:{width:"20px"}})):mt("",!0),g(Xe)&&C(Xe)?(ye(),ln(sm,{key:1,trigger:"hover",disabled:!Xe.tooltip?.value,"content-style":{fontFamily:s.uiFontFamily}},{trigger:Fo(()=>[qt(dB,{item:Xe,"ui-font-family":s.uiFontFamily,class:"sd-toolbar-button sd-editor-toolbar-dropdown",onCommand:L,onItemClicked:V,onTabOut:We[0]||(We[0]=S=>j(S)),onEditorHandoff:Y},null,8,["item","ui-font-family"])]),default:Fo(()=>[Fe("div",null,[Wi(Vt(Xe.tooltip)+" ",1),Xe.disabled.value?(ye(),Ie("span",gB,"(disabled)")):mt("",!0)])]),_:2},1032,["disabled","content-style"])):m(Xe)&&C(Xe)?(ye(),ln(sm,{key:2,trigger:"hover",disabled:!Xe.tooltip?.value,"content-style":{fontFamily:s.uiFontFamily}},{trigger:Fo(()=>[qt(fB,{item:Xe,"ui-font-family":s.uiFontFamily,class:"sd-toolbar-button sd-editor-toolbar-dropdown",onCommand:L,onItemClicked:V,onTabOut:We[1]||(We[1]=S=>J(S)),onEditorHandoff:Y},null,8,["item","ui-font-family"])]),default:Fo(()=>[Fe("div",null,[Wi(Vt(Xe.tooltip)+" ",1),Xe.disabled.value?(ye(),Ie("span",vB,"(disabled)")):mt("",!0)])]),_:2},1032,["disabled","content-style"])):h(Xe)&&Xe.nestedOptions?.value?.length?(ye(),ln(GN,{key:3,options:se(Xe),disabled:Xe.disabled.value,show:A(Xe),"content-style":{fontFamily:s.uiFontFamily},placement:"bottom-start",class:"sd-toolbar-button sd-editor-toolbar-dropdown",onSelect:(S,ne)=>H(Xe,ne),"onUpdate:show":S=>$e(S,Xe),style:mn(Xe.dropdownStyles.value),"menu-props":()=>({role:"menu",style:{fontFamily:s.uiFontFamily},class:["sd-toolbar-dropdown-menu",{"high-contrast":Qe(l)}]}),"node-props":S=>pe(S,Xe)},{trigger:Fo(()=>[qt(sm,{trigger:"hover",disabled:!Xe.tooltip?.value,"content-style":{fontFamily:s.uiFontFamily}},{trigger:Fo(()=>[qt(Q0,{"toolbar-item":Xe,disabled:Xe.disabled.value,"allow-enter-propagation":!0,onTextSubmit:S=>T(Xe,S),onMainClick:S=>M(Xe)},null,8,["toolbar-item","disabled","onTextSubmit","onMainClick"])]),default:Fo(()=>[Fe("div",null,[Wi(Vt(Xe.tooltip)+" ",1),Xe.disabled.value?(ye(),Ie("span",yB,"(disabled)")):mt("",!0)])]),_:2},1032,["disabled","content-style"])]),_:2},1032,["options","disabled","show","content-style","onSelect","onUpdate:show","style","menu-props","node-props"])):f(Xe)?(ye(),ln(sm,{key:4,trigger:"hover",class:"sd-editor-toolbar-tooltip","content-style":{fontFamily:s.uiFontFamily}},{trigger:Fo(()=>[qt(Q0,{"toolbar-item":Xe,"is-overflow-item":e.fromOverflow,onTextSubmit:S=>T(Xe,S),onButtonClick:S=>w(Xe)},null,8,["toolbar-item","is-overflow-item","onTextSubmit","onButtonClick"])]),default:Fo(()=>[Xe.tooltip?(ye(),Ie("div",bB,[Wi(Vt(Xe.tooltip)+" ",1),Xe.disabled.value?(ye(),Ie("span",wB,"(disabled)")):mt("",!0)])):mt("",!0)]),_:2},1032,["content-style"])):mt("",!0),k(Xe)&&e.overflowItems.length?(ye(),ln(zN,{key:5,"toolbar-item":Xe,onButtonClick:S=>w(Xe),"overflow-items":e.overflowItems,onClose:N},null,8,["toolbar-item","onButtonClick","overflow-items"])):mt("",!0)],42,mB))),128))],36))}},am=un(CB,[["__scopeId","data-v-2bc00f65"]]),kB=[["Arial","sans-serif"],["Arial Black","sans-serif"],["Arial Narrow","sans-serif"],["Baskerville Old Face","serif"],["Bookman Old Style","serif"],["Brush Script MT","cursive"],["Calibri","sans-serif"],["Century","serif"],["Century Gothic","sans-serif"],["Comic Sans MS","sans-serif"],["Cooper Black","serif"],["Courier New","monospace"],["Garamond","serif"],["Georgia","serif"],["Gill Sans MT Condensed","sans-serif"],["Helvetica","sans-serif"],["Lucida Console","monospace"],["Segoe UI","sans-serif"],["Tahoma","sans-serif"],["Times New Roman","serif"],["Trebuchet MS","sans-serif"],["Verdana","sans-serif"]],SB=kB.map(([e,t])=>({label:e,key:e,props:{style:{fontFamily:`${e}, ${t}`},"data-item":"btn-fontFamily-option"}}));function _B(e){if(e?.length)return e.map(t=>({label:t.label,key:t.value,props:{style:{fontFamily:t.previewFamily||t.label},"data-item":"btn-fontFamily-option"}}))}var AB=[{label:"8",key:"8pt",props:{"data-item":"btn-fontSize-option"}},{label:"9",key:"9pt",props:{"data-item":"btn-fontSize-option"}},{label:"10",key:"10pt",props:{"data-item":"btn-fontSize-option"}},{label:"11",key:"11pt",props:{"data-item":"btn-fontSize-option"}},{label:"12",key:"12pt",props:{"data-item":"btn-fontSize-option"}},{label:"14",key:"14pt",props:{"data-item":"btn-fontSize-option"}},{label:"18",key:"18pt",props:{"data-item":"btn-fontSize-option"}},{label:"24",key:"24pt",props:{"data-item":"btn-fontSize-option"}},{label:"30",key:"30pt",props:{"data-item":"btn-fontSize-option"}},{label:"36",key:"36pt",props:{"data-item":"btn-fontSize-option"}},{label:"48",key:"48pt",props:{"data-item":"btn-fontSize-option"}},{label:"60",key:"60pt",props:{"data-item":"btn-fontSize-option"}},{label:"72",key:"72pt",props:{"data-item":"btn-fontSize-option"}},{label:"96",key:"96pt",props:{"data-item":"btn-fontSize-option"}}],Mf={sm:768,md:1024,lg:1280,xl:1410},J0={undo:"undo",redo:"redo",bold:"bold",italic:"italic",underline:"underline",strike:"strikethrough",acceptTrackedChangeBySelection:"track-changes-accept-selection",rejectTrackedChangeOnSelection:"track-changes-reject-selection",ruler:"ruler",formattingMarks:"formatting-marks",zoom:"zoom",measurementUnit:"measurement-unit",documentMode:"document-mode",link:"link",fontFamily:"font-family",fontSize:"font-size",list:"bullet-list",numberedlist:"numbered-list",table:"table-insert",image:"image",tableOfContents:"table-of-contents-insert",color:"text-color",highlight:"highlight-color",textAlign:"text-align",lineHeight:"line-height",linkedStyles:"linked-style",indentleft:"indent-decrease",indentright:"indent-increase",directionLtr:"direction-ltr",directionRtl:"direction-rtl",clearFormatting:"clear-formatting",copyFormat:"copy-format"},tA={addRowBefore:"table-add-row-before",addRowAfter:"table-add-row-after",deleteRow:"table-delete-row",addColumnBefore:"table-add-column-before",addColumnAfter:"table-add-column-after",deleteColumn:"table-delete-column",deleteTable:"table-delete",deleteCellAndTableBorders:"table-remove-borders",mergeCells:"table-merge-cells",splitCell:"table-split-cell",fixTables:"table-fix"},nA=Object.values(tA),OH=[...new Set([...Object.values(J0),...nA])],IB=new Set(["link"]),FH=new Set(Object.keys(J0).filter(e=>!IB.has(e)));xt(),fn();var xB="Arial, Helvetica, sans-serif",EB={__name:"Toolbar",emits:["command","toggle","select"],setup(e,{emit:t}){const{proxy:n}=lr();let r=te(1);const o=te(0),i=te(!1);let s=null,a=null;const l=ke(()=>{const H=n?.$toolbar?.config?.uiDisplayFallbackFont;return typeof H=="string"&&H.trim()?H.trim():xB}),c=n.$toolbar.config?.toolbarGroups?.includes("left"),d=n.$toolbar.config?.toolbarGroups?.includes("right"),f=n.$toolbar.config?.toolbarButtonsExclude||[],h=H=>(o.value,n.$toolbar.getToolbarItemByGroup(H).filter(L=>!f.includes(L.name.value))),g=()=>{i.value=n.$toolbar.getAvailableWidth()<=Mf.lg},v=gN(async()=>{await n.$toolbar.onToolbarResize(),g(),r.value+=1},300),k=()=>{r.value+=1},C=()=>{o.value+=1};function A(){window.removeEventListener("resize",v),n.$toolbar.off?.("toolbar-items-changed",k),n.$toolbar.off?.("toolbar-state-change",C),s?.disconnect(),s=null}function b(){A(),window.addEventListener("resize",v),n.$toolbar.on?.("toolbar-items-changed",k),n.$toolbar.on?.("toolbar-state-change",C),typeof ResizeObserver<"u"&&n.$toolbar.config?.responsiveToContainer&&n.$toolbar.toolbarContainer&&(s=new ResizeObserver(()=>{v()}),s.observe(n.$toolbar.toolbarContainer)),g()}Pn(b),Tg(b),Rg(A),rr(A);const w=()=>{if(!n.$toolbar.activeEditor){a=null,n.$toolbar.pendingSelectionCapture=null;return}a=n.$toolbar.ui?.selection?.capture?.()??null,n.$toolbar.pendingSelectionCapture=a},T=({item:H,argument:L,option:V})=>{M(),n.$toolbar.emitCommand({item:H,argument:L,option:V})},M=()=>{const H=n.$toolbar.activeEditor;if(!H)return;const L=n.$toolbar.pendingSelectionCapture??a;if(L&&typeof n.$toolbar.ui?.selection?.restore=="function"){n.$toolbar.ui.selection.restore(L);return}H.commands?.restoreSelection?.()},N=H=>{w(),!H.target.closest('input, textarea, [contenteditable="true"]')&&H.preventDefault()};return(H,L)=>(ye(),Ie("div",{class:"superdoc-toolbar",key:Qe(r),role:"toolbar","aria-label":"Toolbar","data-sd-part":"toolbar","data-editor-ui-surface":"",onMousedown:N},[Qe(c)?(ye(),ln(am,{key:0,tabindex:"0","toolbar-items":h("left"),"overflow-items":Qe(n).$toolbar.overflowItems,"compact-side-groups":i.value,"ui-font-family":l.value,position:"left",onCommand:T,class:"superdoc-toolbar-group-side"},null,8,["toolbar-items","overflow-items","compact-side-groups","ui-font-family"])):mt("",!0),qt(am,{tabindex:"0","toolbar-items":h("center"),"overflow-items":Qe(n).$toolbar.overflowItems,"compact-side-groups":i.value,"ui-font-family":l.value,position:"center",onCommand:T},null,8,["toolbar-items","overflow-items","compact-side-groups","ui-font-family"]),Qe(d)?(ye(),ln(am,{key:1,tabindex:"0","toolbar-items":h("right"),"overflow-items":Qe(n).$toolbar.overflowItems,"compact-side-groups":i.value,"ui-font-family":l.value,position:"right",onCommand:T,class:"superdoc-toolbar-group-side"},null,8,["toolbar-items","overflow-items","compact-side-groups","ui-font-family"])):mt("",!0)],32))}},TB=un(EB,[["__scopeId","data-v-55b5af7a"]]),RB=e=>{if(!e)return e;const t=e.props?.style?.fontFamily??e.label??e.key;return{...e,props:{...e.props,style:{...e.props?.style,fontFamily:t},"data-item":e.props?.["data-item"]??"btn-fontFamily-option"}}};xt();var In=e=>{if(!["button","options","separator","dropdown","overflow"].includes(e.type))throw new Error("Invalid toolbar item type - "+e.type);if(e.type==="button"&&!e.defaultLabel&&!e.icon)throw new Error(`Toolbar button item needs either "icon" or "defaultLabel" - ${e.name}. "label" is the live label and is not a substitute for "defaultLabel".`);if(!e.name)throw new Error("Invalid toolbar item name - "+e.name);const t=te(gs()),n=e.type,r=te(e.name),o=e.command,i=e.noArgumentCommand,s=te(e.icon),a=te(e.group||"center"),l=te(e.allowWithoutEditor),c=te(e.attributes||{}),d=e.disabled||!1,f=te(e.disabled),h=te(!1),g=te(!1),m=te(e.style),v=te(e.isNarrow),k=te(e.isWide),C=te(e.minWidth),A=te(e.suppressActiveHighlight||!1),b=te(e.argument),w=te(null),T=te(null),M=te(e.iconColor),N=te(e.hasCaret),H=te(!!e.splitButton),L=e.splitButtonCommand,V=!!e.restoreEditorFocus,q=te(e.dropdownStyles),D=te(e.tooltip),B=te(e.tooltipVisible),E=te(e.tooltipTimeout),j=te(e.defaultLabel),J=te(e.label),Y=te(e.hideLabel),se=te(e.inlineTextInputVisible),pe=te(e.hasInlineTextInput),je=te(e.markName),ge=te(e.labelAttr),be=te(e.selectedValue),ve=te(e.dropdownValueKey),_e=te(e.inputRef||null),oe=te([]);if(e.options){if(!Array.isArray(e.options))throw new Error("Invalid toolbar item options - "+e.options);let S=0;for(let ne=0;ne<e.options.length;ne+=1){const O=e.options[ne];(!O||typeof O!="object")&&(S+=1)}if(S)throw new Error(`Toolbar item options must all be objects - ${e.name}. ${S} row(s) are not, so this item is skipped.`);oe.value?.push(...e.options)}const Re=(S={},...ne)=>{Ee(S,...ne),!A.value&&(h.value=!0)},$e=()=>{We(),h.value=!1},nt=S=>{f.value=S},Ct=()=>{f.value=d},Ee=e.onActivate||(()=>null),We=e.onDeactivate||(()=>null),Xe=()=>{const S={};return Object.keys(ee).forEach(ne=>{ee[ne].value!==void 0&&(S[ne]=ee[ne].value)}),S},ee={id:t,name:r,type:n,command:o,noArgumentCommand:i,icon:s,tooltip:D,group:a,attributes:c,disabled:f,active:h,expand:g,nestedOptions:oe,style:m,isNarrow:v,isWide:k,minWidth:C,argument:b,parentItem:T,iconColor:M,hasCaret:N,splitButton:H,splitButtonCommand:L,dropdownStyles:q,tooltipVisible:B,tooltipTimeout:E,defaultLabel:j,label:J,hideLabel:Y,inlineTextInputVisible:se,hasInlineTextInput:pe,restoreEditorFocus:V,markName:je,labelAttr:ge,childItem:w,allowWithoutEditor:l,dropdownValueKey:ve,selectedValue:be,inputRef:_e};return{...ee,unref:Xe,activate:Re,deactivate:$e,setDisabled:nt,resetDisabled:Ct,onActivate:Ee,onDeactivate:We}};xt(),fn();var MB=["onClick","innerHTML","aria-label","onKeydown"],LB={__name:"AlignmentButtons",emits:["select"],setup(e,{emit:t}){const{isHighContrastMode:n}=Xi(),r=t,o=te([]),i=[{key:"left",ariaLabel:"Align left",icon:or.alignLeft},{key:"center",ariaLabel:"Align center",icon:or.alignCenter},{key:"right",ariaLabel:"Align right",icon:or.alignRight},{key:"justify",ariaLabel:"Justify",icon:or.alignJustify}],s=d=>{r("select",d)},a=d=>{if(d===o.value.length-1)return;const f=o.value[d+1];f&&(f.setAttribute("tabindex","0"),f.focus())},l=d=>{if(d===0)return;const f=o.value[d-1];f&&(f.setAttribute("tabindex","0"),f.focus())},c=(d,f)=>{switch(d.key){case"ArrowLeft":l(f);break;case"ArrowRight":a(f);break;case"Enter":s(i[f].key)}};return Pn(()=>{const d=o.value[0];d&&(d.setAttribute("tabindex","0"),d.focus())}),(d,f)=>(ye(),Ie("div",{class:rn(["alignment-buttons",{"high-contrast":Qe(n)}])},[(ye(),Ie(Wt,null,ar(i,(h,g)=>Fe("div",{key:h.key,class:"sd-button-icon",onClick:m=>s(h.key),innerHTML:h.icon,"data-item":"btn-textAlign-option",role:"menuitem","aria-label":h.ariaLabel,ref_for:!0,ref_key:"alignmentButtonsRefs",ref:o,onKeydown:tn(m=>c(m,g),["prevent"])},null,40,MB)),64))],2))}},PB=un(LB,[["__scopeId","data-v-13e5f7a4"]]);xt(),fn();var DB=["onClick","innerHTML","aria-label","onKeydown"],OB={__name:"StyleButtonsList",props:{buttons:{type:Array,required:!0},selectedStyle:{type:String,default:null},iconSize:{type:Number,default:25}},emits:["select"],setup(e,{emit:t}){const{isHighContrastMode:n}=Xi(),r=t,o=e,i=te([]),s=ke(()=>({width:`${o.iconSize}px`,height:`${o.iconSize}px`})),a=f=>{r("select",f)},l=f=>{if(f===i.value.length-1)return;const h=i.value[f+1];h&&(h.setAttribute("tabindex","0"),h.focus())},c=f=>{if(f===0)return;const h=i.value[f-1];h&&(h.setAttribute("tabindex","0"),h.focus())},d=(f,h)=>{switch(f.key){case"ArrowLeft":c(h);break;case"ArrowRight":l(h);break;case"Enter":a(o.buttons[h].key)}};return Pn(()=>{const f=i.value[0];f&&(f.setAttribute("tabindex","0"),f.focus())}),(f,h)=>(ye(),Ie("div",{class:rn(["style-buttons-list",{"high-contrast":Qe(n)}])},[(ye(!0),Ie(Wt,null,ar(o.buttons,(g,m)=>(ye(),Ie("div",{key:g.key,class:rn(["sd-button-icon",{"sd-selected":o.selectedStyle===g.key}]),style:mn(s.value),onClick:v=>a(g.key),innerHTML:g.icon,role:"menuitem","aria-label":g.ariaLabel,ref_for:!0,ref_key:"buttonRefs",ref:i,onKeydown:tn(v=>d(v,m),["prevent"])},null,46,DB))),128))],2))}},rA=un(OB,[["__scopeId","data-v-44f37ff6"]]),FB=[{key:"disc",icon:or.bulletListDisc,ariaLabel:"Opaque circle"},{key:"circle",icon:or.bulletListCircle,ariaLabel:"Outline circle"},{key:"square",icon:or.bulletListSquare,ariaLabel:"Opaque square"}],NB=[{key:"decimal",icon:or.numberedListDecimal,ariaLabel:"1. 2. 3."},{key:"decimal-paren",icon:or.numberedListDecimalParen,ariaLabel:"1) 2) 3)"},{key:"upper-roman",icon:or.numberedListUpperRoman,ariaLabel:"I. II. III."},{key:"lower-roman",icon:or.numberedListLowerRoman,ariaLabel:"i. ii. iii."},{key:"upper-alpha",icon:or.numberedListUpperAlpha,ariaLabel:"A. B. C."},{key:"upper-alpha-paren",icon:or.numberedListUpperAlphaParen,ariaLabel:"A) B) C)"},{key:"lower-alpha",icon:or.numberedListLowerAlpha,ariaLabel:"a. b. c."},{key:"lower-alpha-paren",icon:or.numberedListLowerAlphaParen,ariaLabel:"a) b) c)"}];xt(),fn();var BB=["onClick","onKeydown"],zB={class:"document-mode-column icon-column"},VB=["innerHTML"],jB={class:"document-mode-column text-column"},UB={class:"document-mode-type"},HB={class:"document-mode-description"},$B={__name:"DocumentMode",props:{options:{type:Array}},emits:["select"],setup(e,{emit:t}){const n=t,r=te([]),{isHighContrastMode:o}=Xi(),i=e,s=d=>{n("select",d)},a=d=>{if(d===r.value.length-1)return;const f=r.value[d+1];f&&(f.setAttribute("tabindex","0"),f.focus())},l=d=>{if(d===0)return;const f=r.value[d-1];f&&(f.setAttribute("tabindex","0"),f.focus())},c=(d,f)=>{switch(d.key){case"ArrowDown":a(f);break;case"ArrowUp":l(f);break;case"Enter":s(i.options[f])}};return Pn(()=>{r.value[0].setAttribute("tabindex","0"),r.value[0].focus()}),(d,f)=>(ye(),Ie("div",{class:rn(["document-mode",{"high-contrast":Qe(o)}])},[(ye(!0),Ie(Wt,null,ar(e.options,(h,g)=>(ye(),Ie("div",{class:rn(["sd-option-item",{"sd-disabled":h.disabled}]),onClick:m=>s(h),"data-item":"btn-documentMode-option",role:"menuitem",ref_for:!0,ref_key:"documentModeRefs",ref:r,onKeydown:tn(m=>c(m,g),["prevent"])},[Fe("div",zB,[Fe("div",{class:"icon-column__icon",innerHTML:h.icon},null,8,VB)]),Fe("div",jB,[Fe("div",UB,Vt(h.label),1),Fe("div",HB,Vt(h.description),1)])],42,BB))),256))],2))}},GB=un($B,[["__scopeId","data-v-bee14d7a"]]);xt(),fn();var WB={class:"linked-style-buttons","data-editor-ui-surface":""},KB=["onClick","onKeydown","aria-label"],qB={__name:"LinkedStyle",props:{styles:{type:Array,default:()=>[]},selectedOption:{type:String,default:null}},emits:["select"],setup(e,{emit:t}){const n=t,r=te([]),o=e,i=f=>{n("select",f)},s=f=>{if(f===r.value.length-1)return;const h=r.value[f+1];h.setAttribute("tabindex","0"),h.focus()},a=f=>{if(f===0)return;const h=r.value[f-1];h.setAttribute("tabindex","0"),h.focus()},l=(f,h,g)=>{switch(f.key){case"ArrowDown":s(h);break;case"ArrowUp":a(h);break;case"Enter":f.preventDefault(),i(g)}},c=f=>f?.name??f?.id??"",d=f=>{const h=f?.preview?.css;return h&&typeof h=="object"?h:void 0};return Pn(()=>{r.value[0]&&(r.value[0].setAttribute("tabindex","0"),r.value[0].focus())}),(f,h)=>(ye(),Ie("div",WB,[(ye(!0),Ie(Wt,null,ar(o.styles,(g,m)=>(ye(),Ie("div",{key:g.id??m,class:rn(["style-item",{selected:e.selectedOption===g.id}]),onClick:v=>i(g),onKeydown:v=>l(v,m,g),"aria-label":`Linked style - ${g.id??c(g)}`,ref_for:!0,ref_key:"styleRefs",ref:r},[Fe("div",{class:"style-name","data-item":"btn-linkedStyles-option",style:mn(d(g))},Vt(c(g)),5)],42,KB))),128))]))}},YB=un(qB,[["__scopeId","data-v-43b5dcca"]]);xt(),fn();var XB=["placeholder"],ZB={class:"sd-ai-writer__footer"},QB={key:0,class:"sd-ai-writer__error",role:"alert"},JB=["disabled"],ez="https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights",tz="You are an expert copywriter and you are immersed in a document editor. Only write what is asked for.",nz={__name:"AIWriter",props:{selectedText:{type:String,default:""},target:{type:Object,default:null},doc:{type:Object,default:null},apiKey:{type:String,default:""},endpoint:{type:String,default:""},restoreSelection:{type:Function,default:null},handleClose:{type:Function,required:!0}},setup(e){const t=e,n=te(""),r=te(!1),o=te(""),i=te(null),s=ke(()=>t.selectedText?"Insert prompt to update text":"Insert prompt to generate text"),a=ke(()=>n.value.trim().length>0&&!r.value);Pn(()=>{_t(()=>{i.value?.focus()})});function l(m){if(typeof m=="string")return m;if(!m||typeof m!="object")return"";const v=m.custom_prompt;if(Array.isArray(v)){const k=v[0];if(k&&typeof k.value=="string")return k.value}return v&&typeof v=="object"&&typeof v.value=="string"?v.value:typeof m.value=="string"?m.value:typeof m.text=="string"?m.text:""}async function c(m){const v={"Content-Type":"application/json"};t.apiKey&&(v["x-api-key"]=t.apiKey);const k=t.selectedText.trim(),C=k?`Rewrite the following text: "${k}" using these instructions: ${m}`:`Generate text based on the following prompt: ${m}`,A=await fetch(t.endpoint||ez,{method:"POST",headers:v,body:JSON.stringify({stream:!1,context:tz,insights:[{type:"custom_prompt",name:k?"text_rewrite":"text_generation",message:C,format:[{value:""}]}]})});if(!A.ok){const w=await A.text().catch(()=>"");throw new Error(w||`AI request failed with ${A.status}`)}const b=l((A.headers.get("content-type")||"").includes("application/json")?await A.json():await A.text()).trim();if(!b)throw new Error("AI returned no text.");return b}function d(m){return!m||typeof m!="object"?!0:!(m.success===!1||m.ok===!1)}function f(m){const v=t.doc;if(!v)throw new Error("Document API is unavailable.");t.restoreSelection?.();let k=null,C=!1;if(t.selectedText&&t.target&&typeof v.replace=="function"?(k=v.replace({target:t.target,text:m}),C=!0):t.target&&typeof v.insert=="function"?(k=v.insert({target:t.target,value:m,type:"text"}),C=!0):typeof v.insert=="function"&&(k=v.insert({value:m,type:"text"}),C=!0),!C)throw new Error("Document text insertion is unavailable.");if(!d(k))throw new Error("Unable to insert generated text.")}async function h(){if(a.value){o.value="",r.value=!0;try{f(await c(n.value.trim())),t.handleClose()}catch(m){o.value=m instanceof Error?m.message:String(m)}finally{r.value=!1}}}function g(m){m.key!=="Enter"||m.shiftKey||(m.preventDefault(),h())}return(m,v)=>(ye(),Ie("form",{class:"sd-ai-writer","data-item":"ai-writer",onSubmit:tn(h,["prevent"])},[ra(Fe("textarea",{ref_key:"textareaRef",ref:i,"onUpdate:modelValue":v[0]||(v[0]=k=>n.value=k),class:"sd-ai-writer__input",placeholder:s.value,rows:"4",onKeydown:g},null,40,XB),[[Di,n.value]]),Fe("div",ZB,[o.value?(ye(),Ie("p",QB,Vt(o.value),1)):mt("",!0),Fe("button",{class:"sd-ai-writer__submit",type:"submit",disabled:!a.value},Vt(r.value?"Generating":"Generate"),9,JB)])],32))}},rz=un(nz,[["__scopeId","data-v-67f6c6f7"]]);xt(),fn();var oz=["aria-label","onClick","onKeydown"],iz=["innerHTML"],sz=["innerHTML"],lm=7,az={__name:"IconGridRow",props:{icons:{type:Array,required:!0},activeColor:{type:Object,required:!1}},emits:["select","clickoutside"],setup(e,{emit:t}){const n=t,r=e,o=ke(()=>m=>r.activeColor.value?r.activeColor.value.toUpperCase()===m.value:!1),i=(m,v)=>v===5||["#FFFFFF","#FAFF09"].includes(m)?{color:"#000"}:{color:"#FFF"},s=m=>{n("select",m.value)},a=te([]),l=te([]);Pn(()=>{if(!r.icons.every(v=>Array.isArray(v)))throw new Error("icon props must be 2d array");const m=l.value[0];m&&(m.setAttribute("tabindex","0"),m.focus({preventScroll:!0}))});const c=(m,v)=>{const k=lm*m+v+1,C=l.value[k];C&&(C.setAttribute("tabindex","0"),C.focus({preventScroll:!0}))},d=(m,v)=>{const k=lm*m+v-1,C=l.value[k];C&&(C.setAttribute("tabindex","0"),C.focus({preventScroll:!0}))},f=(m,v)=>{const k=v+lm*(m+1),C=l.value[k];C&&(C.setAttribute("tabindex","0"),C.focus({preventScroll:!0}))},h=(m,v)=>{const k=v+lm*(m-1),C=l.value[k];C&&(C.setAttribute("tabindex","0"),C.focus({preventScroll:!0}))},g=(m,v,k,C)=>{switch(m.key){case"ArrowRight":c(v,k);break;case"ArrowLeft":d(v,k);break;case"ArrowDown":f(v,k);break;case"ArrowUp":h(v,k);break;case"Enter":s(C);break;case"Escape":n("clickoutside")}};return(m,v)=>(ye(!0),Ie(Wt,null,ar(e.icons,(k,C)=>(ye(),Ie("div",{class:"sd-option-row",key:C,role:"group",ref_for:!0,ref_key:"rowRefs",ref:a},[(ye(!0),Ie(Wt,null,ar(k,(A,b)=>(ye(),Ie("div",{class:"sd-option",key:b,"aria-label":A.label,role:"menuitem",ref_for:!0,ref_key:"iconRefs",ref:l,onClick:tn(w=>s(A),["stop","prevent"]),onKeydown:tn(w=>g(w,C,b,A),["prevent"])},[Fe("div",{class:"sd-option__icon",innerHTML:A.icon,style:mn(A.style)},null,12,iz),o.value(A)?(ye(),Ie("div",{key:0,class:"sd-option__check",innerHTML:Qe(or).colorOptionCheck,style:mn(i(A.value,b))},null,12,sz)):mt("",!0)],40,oz))),128))]))),128))}},oA=un(az,[["__scopeId","data-v-05eb02fc"]]),lz=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.2 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0l-1.8 0c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>
101
101
  `;xt(),fn();var cz={class:"options-grid-wrap"},uz=["innerHTML"],dz={class:"option-grid-ctn"},fz={__name:"IconGrid",props:{icons:{type:Array,required:!0},customIcons:{type:Array,required:!1},activeColor:{type:Object,required:!1},hasNoneIcon:{type:Boolean,required:!1}},emits:["select","clickoutside"],setup(e,{emit:t}){const n=t,r=o=>{n("select",o)};return(o,i)=>(ye(),Ie("div",cz,[e.hasNoneIcon?(ye(),Ie("div",{key:0,class:"none-option",role:"menuitem","aria-label":"Clear color selection",onClick:i[0]||(i[0]=s=>r("none"))},[Fe("span",{innerHTML:Qe(lz),class:"none-icon"},null,8,uz),i[1]||(i[1]=Wi(" None ",-1))])):mt("",!0),Fe("div",dz,[qt(oA,{icons:e.icons,"active-color":e.activeColor,onSelect:r},null,8,["icons","active-color"]),e.customIcons.flat().length?(ye(),Ie(Wt,{key:0},[i[2]||(i[2]=Fe("span",{class:"option-grid-ctn__subtitle"},"Custom colors",-1)),qt(oA,{icons:e.customIcons,"active-color":e.activeColor,onSelect:r},null,8,["icons","active-color"])],64)):mt("",!0)])]))}},hz=un(fz,[["__scopeId","data-v-52b0283a"]]);xt();var pz=e=>{e.expand.value=!1},Ut=(e,t=null)=>({label:t,icon:or.colorOption,value:e,style:{color:e,boxShadow:"0 0 5px 1px rgba(0, 0, 0, 0.1)",borderRadius:"50%"}}),e2=(e,t,n=[],r=!1)=>{const o=i=>{t.iconColor.value=i,e.emitCommand({item:t,argument:i}),pz(t),Ru(e)};return $r("div",{},[$r(hz,{icons:mz,customIcons:n,activeColor:t.iconColor,hasNoneIcon:r,onSelect:o})])},mz=[[Ut("#111111","black"),Ut("#333333","dark gray"),Ut("#5C5C5C","medium gray"),Ut("#858585","light gray"),Ut("#ADADAD","very light gray"),Ut("#D6D6D6","transparent gray"),Ut("#FFFFFF","white")],[Ut("#860028","dark red"),Ut("#D2003F","red"),Ut("#DB3365","coral red"),Ut("#E4668C","light red"),Ut("#ED99B2","pale pink"),Ut("#F6CCD9","transparent pink"),Ut("#FF004D","bright pink")],[Ut("#83015E","dark purple"),Ut("#CD0194","purple"),Ut("#D734A9","orchid"),Ut("#E167BF","light purple"),Ut("#EB99D4","lavender"),Ut("#F5CCEA","transparent pink"),Ut("#FF00A8","neon pink")],[Ut("#8E220A","maroon"),Ut("#DD340F","red-orange"),Ut("#E45C3F","burnt orange"),Ut("#EB856F","peach"),Ut("#F1AE9F","pale peach"),Ut("#F8D6CF","transparent peach"),Ut("#FF7A00","orange")],[Ut("#947D02","olive"),Ut("#E7C302","mustard yellow"),Ut("#ECCF35","yellow"),Ut("#F1DB67","light yellow"),Ut("#F5E79A","very pale yellow"),Ut("#FAF3CC","transparent yellow"),Ut("#FAFF09","neon yellow")],[Ut("#055432","forest green"),Ut("#07834F","green"),Ut("#399C72","medium green"),Ut("#6AB595","light green"),Ut("#9CCDB9","mint"),Ut("#CDE6DC","transparent mint"),Ut("#05F38F","bright teal")],[Ut("#063E7E","navy blue"),Ut("#0A60C5","blue"),Ut("#3B80D1","sky blue"),Ut("#6CA0DC","cornflower blue"),Ut("#9DBFE8","light blue"),Ut("#CEDFF3","very light blue"),Ut("#21c8ce","cyan")],[Ut("#3E027A","deep purple"),Ut("#6103BF","indigo"),Ut("#8136CC","violet"),Ut("#A068D9","lavender pink"),Ut("#C09AE6","light lilac"),Ut("#DFCDF2","transparent lilac"),Ut("#A91DFF","neon purple")]];xt(),fn();var gz=["data-cols","data-rows","onKeydown","onClick"],vz=["aria-valuetext"],cm=5,yz={__name:"TableGrid",emits:["select","clickoutside"],setup(e,{emit:t}){const n=t,r=te(0),o=te(0),{isHighContrastMode:i}=Xi(),s=te([]),a=f=>{let h=f.target;if(h.dataset.grid)return;let g=[...h.parentElement.querySelectorAll("[data-item]")],m=parseInt(h.dataset.cols,10),v=parseInt(h.dataset.rows,10);l(g,m,v)},l=(f,h,g)=>{o.value=h,r.value=g;for(let m=0;m<f.length;m++){let v=f[m],k=parseInt(v.dataset.cols,10),C=parseInt(v.dataset.rows,10);k<=h&&C<=g?v.classList.add("sd-selected"):v.classList.remove("sd-selected")}},c=({cols:f,rows:h})=>{n("select",{cols:f,rows:h})},d=(f,h,g)=>{let m=h-1,v=g-1;switch(f.key){case"ArrowRight":{if(m>=4)return;const k=v*cm;s.value[k+m+1].setAttribute("tabindex","0"),s.value[k+m+1].focus(),l(s.value,h+1,g);break}case"ArrowLeft":{if(m<=0)return;const k=v*cm;s.value[k+m-1].setAttribute("tabindex","0"),s.value[k+m-1].focus(),l(s.value,h-1,g);break}case"ArrowDown":{if(v>=4)return;const k=(v+1)*cm;s.value[k+m].setAttribute("tabindex","0"),s.value[k+m].focus(),l(s.value,h,g+1);break}case"ArrowUp":{if(v<=0)return;const k=(v-1)*cm;s.value[k+m].setAttribute("tabindex","0"),s.value[k+m].focus(),l(s.value,h,g-1);break}case"Enter":c({cols:h,rows:g})}};return Pn(()=>{s.value[0].setAttribute("tabindex","0"),s.value[0].focus(),l(s.value,1,1)}),(f,h)=>(ye(),Ie("div",{class:rn(["toolbar-table-grid-wrapper",{"high-contrast":Qe(i)}])},[Fe("div",{class:"toolbar-table-grid",onMouseover:a,"data-grid":"true"},[(ye(),Ie(Wt,null,ar(5,g=>(ye(),Ie(Wt,{key:g},[(ye(),Ie(Wt,null,ar(5,m=>Fe("div",{class:"toolbar-table-grid__item",key:`${g}_${m}`,"data-cols":m,"data-rows":g,"data-item":"true",ref_for:!0,ref_key:"tableGridItems",ref:s,onKeydown:tn(v=>d(v,m,g),["prevent"]),onClick:tn(v=>c({cols:m,rows:g}),["stop","prevent"])},null,40,gz)),64))],64))),64))],32),Fe("div",{class:"toolbar-table-grid-value","aria-valuetext":`${r.value} x ${o.value}`},Vt(r.value)+" x "+Vt(o.value),9,vz)],2))}},bz=un(yz,[["__scopeId","data-v-b87d6ca2"]]);xt(),fn();var wz={class:"toolbar-table-actions"},Cz=["onClick","data-item","ariaLabel"],kz={class:"toolbar-table-actions__icon"},Sz=["innerHTML"],_z={class:"toolbar-table-actions__label"},Az={__name:"TableActions",props:{options:{type:Array}},emits:["select"],setup(e,{emit:t}){const n=t,r=o=>{n("select",{command:o.command})};return(o,i)=>(ye(),Ie("div",wz,[(ye(!0),Ie(Wt,null,ar(e.options,s=>(ye(),Ie("div",{class:rn(["toolbar-table-actions__item",{"toolbar-table-actions__item--border":s.bottomBorder}]),onClick:a=>r(s),"data-item":s.props?.["data-item"]||"",ariaLabel:s.props?.ariaLabel,role:"menuitem"},[Fe("div",kz,[Fe("div",{class:"toolbar-table-actions__icon-wrapper",innerHTML:s.icon},null,8,Sz)]),Fe("div",_z,Vt(s.label),1)],10,Cz))),256))]))}},Iz=un(Az,[["__scopeId","data-v-0cdad084"]]),xz=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>
102
- `;xt();var Fs=e=>{e.expand.value=!1};function t2(e,t){const n={...e??{}};return t?n.href=t:delete n.href,n}function iA(e){const t=Array.isArray(e?.segments)?e.segments:[];if(e?.kind!=="text"||!t.length)return null;const n=t[0],r=t[t.length-1];if(!n?.blockId||!r?.blockId||!n.range||!r.range)return null;const o=e.story;return{kind:"selection",start:{kind:"text",blockId:n.blockId,offset:n.range.start??0,...o?{story:o}:{}},end:{kind:"text",blockId:r.blockId,offset:r.range.end??0,...o?{story:o}:{}},...o?{story:o}:{}}}function Ez(e){return typeof e?.quotedText=="string"?e.quotedText:typeof e?.text=="string"?e.text:""}function sA(e){return e.ui?.selection?.get?.()??e.ui?.selection?.current?.()??null}function Tz(e){return!!(e.config?.superdoc?.config?.modules?.ai||e.superdoc?.config?.modules?.ai)}function Rz(e){return e.config?.superdoc?.config?.modules?.ai??e.superdoc?.config?.modules?.ai??{}}var Mz=({superToolbar:e,toolbarIcons:t,toolbarTexts:n,toolbarFonts:r,hideButtons:o,availableWidth:i,role:s,isDev:a=!1}={})=>{const l=In({type:"button",name:"bold",command:"toggleBold",icon:t.bold,tooltip:n.bold,attributes:{ariaLabel:"Bold"}}),c=(r??SB).map(RB),d=In({type:"dropdown",name:"fontFamily",tooltip:n.fontFamily,command:"setFontFamily",defaultLabel:"Arial",label:"Arial",markName:"textStyle",labelAttr:"fontFamily",hasCaret:!0,hasInlineTextInput:!0,inlineTextInputVisible:!0,isWide:!0,style:{width:"116px"},suppressActiveHighlight:!0,attributes:{ariaLabel:"Font family"},options:c,onActivate:({fontFamily:et}={},Rt=!1)=>{if(Rt){d.label.value="",d.selectedValue.value="";return}if(!et)return;et=et.split(",")[0],d.label.value=et;const zt=c.find(Jt=>Jt.label===d.defaultLabel.value),Ht=c.find(Jt=>Jt.label===et);Ht?d.selectedValue.value=Ht.key:zt?d.selectedValue.value=zt.key:d.selectedValue.value=""},onDeactivate:()=>{d.label.value=d.defaultLabel.value;const et=c.find(Rt=>Rt.label===d.defaultLabel.value);et?d.selectedValue.value=et.key:d.selectedValue.value=""}}),f=In({type:"dropdown",name:"ai",dropdownStyles:{padding:0,outline:"none"},tooltip:n.ai,icon:t.ai,hideLabel:!0,hasCaret:!1,isWide:!0,suppressActiveHighlight:!0,attributes:{ariaLabel:"AI"},options:[{type:"render",key:"ai",render:()=>h(f)}]});function h(et){const Rt=sA(e),zt=Rt?.selectionTarget??iA(Rt?.target),Ht=Rt?.empty?"":Ez(Rt),Jt=Rz(e),hn=()=>Fs(et),Gn=()=>{const gr=e.pendingSelectionCapture;gr&&typeof e.ui?.selection?.restore=="function"&&e.ui.selection.restore(gr)};return $r("div",{},[$r(rz,{handleClose:hn,selectedText:Ht,target:zt,doc:e.superdoc?.activeEditor?.doc??null,apiKey:Jt?.apiKey||e.config?.aiApiKey||"",endpoint:Jt?.endpoint||e.config?.aiEndpoint||"",restoreSelection:Gn})])}const g=AB,m=In({type:"dropdown",name:"fontSize",defaultLabel:"12",label:"12",style:{width:"56px"},markName:"textStyle",labelAttr:"fontSize",tooltip:n.fontSize,hasCaret:!0,hasInlineTextInput:!0,inlineTextInputVisible:!0,suppressActiveHighlight:!0,isWide:!0,command:"setFontSize",attributes:{ariaLabel:"Font size"},options:g,onActivate:({fontSize:et},Rt=!1)=>{if(Rt){m.label.value="",m.selectedValue.value="";return}const zt=g.find(Gn=>Gn.label===String(m.defaultLabel.value));if(!et){m.label.value=m.defaultLabel.value,zt?m.selectedValue.value=zt.key:m.selectedValue.value="";return}let Ht=mN(et,12);Ht<8&&(Ht=8),Ht>96&&(Ht=96);let Jt=String(Ht);const hn=g.find(Gn=>Gn.label===Jt||Gn.key===Jt);hn?m.selectedValue.value=hn.key:m.selectedValue.value="",m.label.value=Jt},onDeactivate:()=>{m.label.value=m.defaultLabel.value;const et=g.find(Rt=>Rt.label===String(m.defaultLabel.value));et?m.selectedValue.value=et.key:m.selectedValue.value=""}}),v=In({type:"separator",name:"separator",isNarrow:!0}),k=In({type:"button",name:"italic",command:"toggleItalic",icon:t.italic,active:!1,tooltip:n.italic,attributes:{ariaLabel:"Italic"}}),C=In({type:"button",name:"underline",command:"toggleUnderline",icon:t.underline,active:!1,tooltip:n.underline,attributes:{ariaLabel:"Underline"}}),A=In({type:"button",name:"strike",command:"toggleStrike",icon:t.strikethrough,active:!1,tooltip:n.strikethrough,attributes:{ariaLabel:"Strikethrough"}}),b=In({type:"dropdown",name:"highlight",icon:t.highlight,hideLabel:!0,markName:"highlight",labelAttr:"color",active:!1,tooltip:n.highlight,command:"setHighlight",noArgumentCommand:"unsetHighlight",suppressActiveHighlight:!0,attributes:{ariaLabel:"Highlight"},options:[{key:"color",type:"render",render:()=>e2(e,b,[],!0)}],onActivate:({color:et})=>{b.iconColor.value=et||""},onDeactivate:()=>b.iconColor.value=""}),w=In({type:"dropdown",name:"color",icon:t.color,hideLabel:!0,markName:"textStyle",labelAttr:"color",active:!1,tooltip:n.color,command:"setColor",suppressActiveHighlight:!0,attributes:{ariaLabel:"Color"},options:[{key:"color",type:"render",render:()=>e2(e,w)}],onActivate:({color:et})=>{w.iconColor.value=et},onDeactivate:()=>w.iconColor.value="#000"}),T=In({type:"button",name:"search",allowWithoutEditor:!0,active:!1,icon:t.search,tooltip:n.search,group:"right",attributes:{ariaLabel:"Search"}}),M=In({type:"dropdown",name:"link",markName:"link",icon:t.link,active:!1,tooltip:n.link,attributes:{ariaLabel:"Link dropdown"},options:[{type:"render",key:"linkDropdown",render:()=>N(M)}],onActivate:({href:et})=>{M.attributes.value=t2(M.attributes.value,et)},onDeactivate:()=>{M.attributes.value=t2(M.attributes.value,null),M.expand.value=!1}});function N(et){const Rt=sA(e),zt=Rt?.selectionTarget??iA(Rt?.target),Ht=()=>{const Jt=e.pendingSelectionCapture;Jt&&typeof e.ui?.selection?.restore=="function"&&e.ui.selection.restore(Jt)};return $r("div",{},[$r(RS,{ui:e.ui,linkItem:et,textTarget:zt,restoreSelection:Ht,closePopover:()=>{Fs(et),Ru(e)},goToAnchor:()=>{Fs(et);const Jt=et.attributes.value?.href;if(!Jt)return;const hn=Jt.slice(1),Gn=(e.ui?.viewport?.getHost?.()??null)?.querySelector?.(`a[name='${hn}']`);Gn&&uf(Gn)}})])}const H=In({type:"options",name:"linkInput",command:"toggleLink",active:!1});M.childItem=H,H.parentItem=M;const L=In({type:"button",name:"image",command:"startImageUpload",icon:t.image,active:!1,tooltip:n.image,disabled:!1,attributes:{ariaLabel:"Image"}}),V=In({type:"button",name:"tableOfContents",command:"insertTableOfContents",icon:t.tableOfContents,active:!1,tooltip:n.tableOfContents,disabled:!1,attributes:{ariaLabel:"Table of contents"}}),q=In({type:"dropdown",name:"table",icon:t.table,hideLabel:!0,labelAttr:"table",active:!1,tooltip:n.table,command:"insertTable",suppressActiveHighlight:!0,attributes:{ariaLabel:"Table"},options:[{key:"table",type:"render",render:()=>D(q)}]});function D(et){return $r("div",{},[$r(bz,{onSelect:zt=>{e.emitCommand({item:et,argument:zt}),Fs(et),Ru(e)}})])}const B=In({type:"dropdown",name:"tableActions",command:"executeTableCommand",tooltip:n.tableActions,icon:t.tableActions,hideLabel:!0,disabled:!0,attributes:{ariaLabel:"Table actions"},options:[{type:"render",render:()=>j(B)}]}),E=[{label:n.addRowBefore,command:"addRowBefore",icon:t.addRowBefore,props:{"data-item":"btn-tableActions-option",ariaLabel:"Add row before"}},{label:n.addRowAfter,command:"addRowAfter",icon:t.addRowAfter,props:{"data-item":"btn-tableActions-option",ariaLabel:"Add row after"}},{label:n.addColumnBefore,command:"addColumnBefore",icon:t.addColumnBefore,props:{"data-item":"btn-tableActions-option",ariaLabel:"Add column before"}},{label:n.addColumnAfter,command:"addColumnAfter",icon:t.addColumnAfter,bottomBorder:!0,props:{"data-item":"btn-tableActions-option",ariaLabel:"Add column after"}},{label:n.deleteRow,command:"deleteRow",icon:t.deleteRow,props:{"data-item":"btn-tableActions-option",ariaLabel:"Delete row"}},{label:n.deleteColumn,command:"deleteColumn",icon:t.deleteColumn,props:{"data-item":"btn-tableActions-option",ariaLabel:"Delete column"}},{label:n.deleteTable,command:"deleteTable",icon:t.deleteTable,props:{"data-item":"btn-tableActions-option",ariaLabel:"Delete table"}},{label:n.removeBorders,command:"deleteCellAndTableBorders",icon:t.deleteBorders,bottomBorder:!0,props:{"data-item":"btn-tableActions-option",ariaLabel:"Delete cell and table borders"}},{label:n.mergeCells,command:"mergeCells",icon:t.mergeCells,props:{"data-item":"btn-tableActions-option",ariaLabel:"Merge cells"}},{label:n.splitCell,command:"splitCell",icon:t.splitCell,props:{"data-item":"btn-tableActions-option",ariaLabel:"Split cells"}},{label:n.fixTables,command:"fixTables",icon:t.fixTables,props:{"data-item":"btn-tableActions-option",ariaLabel:"Fix tables"}}];function j(et){return $r(Iz,{options:E,onSelect:Rt=>{Fs(et);const{command:zt}=Rt;e.emitCommand({item:et,argument:{command:zt}})}})}const J=In({type:"dropdown",name:"textAlign",tooltip:n.textAlign,icon:t.alignLeft,command:"setTextAlign",hasCaret:!0,markName:"textAlign",labelAttr:"textAlign",suppressActiveHighlight:!0,attributes:{ariaLabel:"Text align"},options:[{type:"render",render:()=>$r("div",{},[$r(PB,{onSelect:Rt=>{Fs(J);const zt={...J,command:"setTextAlign"};zt.command="setTextAlign",e.emitCommand({item:zt,argument:Rt}),Y(J,Rt),Ru(e)}})]),key:"alignment"}],onActivate:({textAlign:et})=>{Y(J,et)},onDeactivate:()=>{Y(J,"left")}}),Y=(et,Rt)=>{let zt=Rt==="both"?"justify":Rt,Ht={left:t.alignLeft,right:t.alignRight,center:t.alignCenter,justify:t.alignJustify},Jt=Ht[zt]??Ht.left;et.icon.value=Jt},se=In({type:"dropdown",name:"list",command:"toggleBulletListStyle",splitButton:!0,splitButtonCommand:"toggleBulletList",icon:t.bulletList,hasCaret:!0,tooltip:n.bulletList,restoreEditorFocus:!0,attributes:{ariaLabel:"Bullet list"},options:[{type:"render",key:"bullet-style-buttons",render:()=>{const et=Rt=>{Fs(se);const zt={...se,command:"toggleBulletListStyle"};e.emitCommand({item:zt,argument:Rt})};return $r(rA,{buttons:FB,iconSize:25,selectedStyle:se.selectedValue.value,onSelect:et})}}]}),pe=In({type:"dropdown",name:"numberedlist",command:"toggleOrderedListStyle",splitButton:!0,splitButtonCommand:"toggleOrderedList",icon:t.numberedList,hasCaret:!0,tooltip:n.numberedList,restoreEditorFocus:!0,attributes:{ariaLabel:"Numbered list"},options:[{type:"render",key:"numbered-style-buttons",render:()=>{const et=Rt=>{Fs(pe);const zt={...pe,command:"toggleOrderedListStyle"};e.emitCommand({item:zt,argument:Rt})};return $r(rA,{buttons:NB,iconSize:30,selectedStyle:pe.selectedValue.value,onSelect:et})}}]}),je=In({type:"button",name:"indentleft",command:"decreaseTextIndent",icon:t.indentLeft,active:!1,tooltip:n.indentLeft,disabled:!1,attributes:{ariaLabel:"Left indent"}}),ge=In({type:"button",name:"indentright",command:"increaseTextIndent",icon:t.indentRight,active:!1,tooltip:n.indentRight,disabled:!1,attributes:{ariaLabel:"Right indent"}}),be=In({type:"overflow",name:"overflow",command:null,icon:t.overflow,active:!1,disabled:!1,attributes:{ariaLabel:"Overflow items"}}),ve=In({type:"dropdown",name:"zoom",allowWithoutEditor:!0,tooltip:n.zoom,defaultLabel:"100%",label:"100%",hasCaret:!0,command:"setZoom",isWide:!0,style:{width:"71px",minWidth:"71px"},inlineTextInputVisible:!1,hasInlineTextInput:!0,attributes:{ariaLabel:"Zoom"},options:[{label:"50%",key:.5,props:{"data-item":"btn-zoom-option"}},{label:"75%",key:.75,props:{"data-item":"btn-zoom-option"}},{label:"90%",key:.9,props:{"data-item":"btn-zoom-option"}},{label:"100%",key:1,props:{"data-item":"btn-zoom-option"}},{label:"125%",key:1.25,props:{"data-item":"btn-zoom-option"}},{label:"150%",key:1.5,props:{"data-item":"btn-zoom-option"}},{label:"200%",key:2,props:{"data-item":"btn-zoom-option"}}],onActivate:({zoom:et})=>{et&&(ve.label.value=et)}}),_e=In({type:"dropdown",name:"measurementUnit",allowWithoutEditor:!0,tooltip:n.measurementUnit,defaultLabel:"in",label:"in",hasCaret:!0,command:"setMeasurementUnit",group:"right",style:{width:"52px",minWidth:"52px"},inlineTextInputVisible:!1,hasInlineTextInput:!1,attributes:{ariaLabel:"Measurement unit"},options:[{label:"Inches",key:"in",props:{"data-item":"btn-measurement-unit-option"}},{label:"Centimeters",key:"cm",props:{"data-item":"btn-measurement-unit-option"}}],onActivate:({measurementUnit:et})=>{et&&(_e.label.value=et)}}),oe=In({type:"button",name:"undo",disabled:!0,tooltip:n.undo,command:"undo",icon:t.undo,group:"left",attributes:{ariaLabel:"Undo"}}),Re=In({type:"button",disabled:!0,name:"redo",tooltip:n.redo,command:"redo",icon:t.redo,group:"left",attributes:{ariaLabel:"Redo"}}),$e=In({type:"button",disabled:!1,name:"acceptTrackedChangeBySelection",tooltip:n.trackChangesAccept,command:"acceptTrackedChangeFromToolbar",icon:t.trackChangesAccept,group:"left",attributes:{ariaLabel:"Accept tracked changes"}}),nt=In({type:"button",disabled:!1,name:"rejectTrackedChangeOnSelection",tooltip:n.trackChangesReject,command:"rejectTrackedChangeFromToolbar",icon:t.trackChangesReject,group:"left",attributes:{ariaLabel:"Reject tracked changes"}}),Ct=In({type:"button",name:"clearFormatting",command:"clearFormat",tooltip:n.clearFormatting,icon:t.clearFormatting,attributes:{ariaLabel:"Clear formatting"}}),Ee=In({type:"button",name:"copyFormat",tooltip:n.copyFormat,icon:t.copyFormat,command:"copyFormat",active:!1,attributes:{ariaLabel:"Copy formatting"}}),We=(et,Rt)=>et==="editor"?Rt:et==="suggester"?Rt.filter(zt=>zt.value==="suggesting"):Rt.filter(zt=>zt.value==="viewing"),Xe=et=>et==="editor"?"Editing":et==="suggester"?"Suggesting":"Viewing",ee=In({type:"dropdown",name:"documentMode",command:"setDocumentMode",allowWithoutEditor:!0,icon:t.documentMode,defaultLabel:Xe(s),label:Xe(s),hasCaret:s==="editor",isWide:!0,style:{display:"flex",justifyContent:"flex-end"},inlineTextInputVisible:!1,hasInlineTextInput:!1,group:"right",disabled:s!=="editor",attributes:{dropdownPosition:"right",className:"sd-toolbar-item--doc-mode",ariaLabel:"Document mode"},options:[{type:"render",render:()=>ne(ee)}]}),S=[{label:n.documentEditingMode,value:"editing",icon:t.documentEditingMode,description:n.documentEditingModeDescription},{label:n.documentSuggestingMode,value:"suggesting",icon:t.documentSuggestingMode,description:n.documentSuggestingModeDescription},{label:n.documentViewingMode,value:"viewing",icon:t.documentViewingMode,description:n.documentViewingModeDescription}];function ne(et){const Rt=We(s,S);return $r(GB,{options:Rt,onSelect:zt=>{const Ht=e.superdoc?.activeEditor??e.activeEditor;Fs(et);const{label:Jt,icon:hn,value:Gn}=zt;ee.label.value=Jt,ee.icon.value=hn,e.emitCommand({item:ee,argument:Gn}),Ru(e,Ht)}})}const O=new Map([["separator",20],["zoom",71],["measurementUnit",52],["fontFamily",118],["fontSize",57],["textAlign",40],["linkedStyles",142],["documentMode",47],["default",32]]),P=["search","ruler","undo","overflow","documentMode"],U=In({type:"button",name:"ruler",command:"toggleRuler",allowWithoutEditor:!0,icon:t.ruler,active:!1,tooltip:n.ruler,attributes:{ariaLabel:"Ruler"}}),$=In({type:"button",name:"formattingMarks",command:"toggleFormattingMarks",allowWithoutEditor:!0,icon:t.formattingMarks,active:!1,tooltip:n.formattingMarks,attributes:{ariaLabel:"Formatting marks"}}),Q=In({type:"dropdown",name:"linkedStyles",command:"setLinkedStyle",tooltip:n.linkedStyles,icon:t.paintbrush,defaultLabel:n.formatText,label:n.formatText,hasCaret:!0,isWide:!0,style:{width:"140px"},suppressActiveHighlight:!0,disabled:!1,attributes:{className:"sd-toolbar-item--linked-styles",ariaLabel:"Linked styles"},options:[{type:"render",key:"linkedStyle",render:()=>{const et=zt=>{Fs(Q);const Ht=typeof zt=="string"?zt:zt?.id??null;if(!Ht)return;const Jt={...Q,command:"setLinkedStyle"};e.emitCommand({item:Jt,argument:Ht})},Rt=e.getActiveLinkedStyleId?.()??null;return $r("div",{},[$r(YB,{styles:e.getLinkedStyleOptions?.()??[],onSelect:et,selectedOption:Rt})])}}],onActivate:({styleId:et,styleName:Rt})=>{const zt=Rt||et;Q.label.value=et&&et!=="Normal"?String(zt):n.formatText,Q.disabled.value=!1},onDeactivate:()=>{Q.disabled.value=!0,Q.label.value=n.formatText}}),Z=(et,Rt)=>{if(Rt.value==et)return $r("div",{innerHTML:xz,class:"dropdown-select-icon"})},K=In({type:"dropdown",name:"lineHeight",tooltip:n.lineHeight,icon:t.lineHeight,hasCaret:!1,hasInlineTextInput:!1,hideLabel:!0,inlineTextInputVisible:!1,suppressActiveHighlight:!0,restoreEditorFocus:!0,isWide:!1,command:"setLineHeight",dropdownValueKey:"key",selectedValue:"1",attributes:{ariaLabel:"Line height"},options:[1,1.15,1.5,2,2.5,3].map(et=>({label:et.toFixed(2),key:et,icon:()=>Z(et,K.selectedValue),props:{"data-item":"btn-lineHeight-option"}}))}),me=20,Me=32,he=P.reduce((et,Rt)=>et+(O.get(Rt)||O.get("default")),0),Be=["linkedStyles","clearFormatting","copyFormat","formattingMarks"],qe=["zoom","fontFamily","fontSize","redo"],rt=i<=Mf.lg,lt=e.config?.showFormattingMarksButton===!0,Xt=e.config?.showTableOfContentsButton===!0;rt&&(ee.attributes.value={...ee.attributes.value,className:`${ee.attributes.value.className} sd-toolbar-item--doc-mode-compact`}),rt&&(Q.attributes.value={...Q.attributes.value,className:`${Q.attributes.value.className} sd-toolbar-item--linked-styles-compact`});let He=[oe,Re,$e,nt,T,ve,d,v,m,v,l,k,C,A,w,b,v,M,L,...Xt?[V]:[],q,B,v,J,se,pe,je,ge,K,v,Q,v,U,_e,...lt?[$]:[],Ee,Ct,...Tz(e)?[f]:[],be,ee];if(i<=Mf.md&&o&&(He=He.filter(et=>et.type!=="separator")),e.config.mode!=="docx"){const et=He.findIndex(zt=>zt.name.value==="linkedStyles");He.splice(et-1,2);const Rt=["ruler","zoom","undo","redo"];He=He.filter(zt=>!Rt.includes(zt.name.value))}const Ot=[];a||(s==="viewer"&&Ot.push($e,nt),He=He.filter(et=>!Ot.includes(et)));const Dt=et=>P.includes(et.name.value),sn=[],Kn=[];let nn=Me+he;return He.forEach(et=>{const Rt=O.get(et.name.value)||O.get("default");if(i<Mf.xl+me&&Be.includes(et.name.value)&&o){if(sn.push(et),et.name.value==="linkedStyles"){const zt=He.findIndex(Ht=>Ht.name.value==="linkedStyles");He.splice(zt+1,1)}return}if(i<Mf.sm&&qe.includes(et.name.value)&&o){sn.push(et);return}if(Dt(et)){Kn.push(et),nn+=Rt;return}nn<i||!o?(Kn.push(et),nn+=Rt):sn.push(et)}),{defaultItems:Kn,overflowItems:sn.filter(et=>et.type!=="separator")}},aA={bold:"Bold",fontFamily:"Font family",ai:"AI text generation",fontSize:"Font size",italic:"Italic",underline:"Underline",highlight:"Highlight color",strikethrough:"Strikethrough",color:"Text color",search:"Search",link:"Link",image:"Image",tableOfContents:"Table of contents",table:"Insert table",tableActions:"Table options",addRowBefore:"Insert row above",addRowAfter:"Insert row below",addColumnBefore:"Insert column left",addColumnAfter:"Insert column right",deleteRow:"Delete row",deleteColumn:"Delete column",deleteTable:"Delete table",removeBorders:"Remove borders",mergeCells:"Merge cells",splitCell:"Split cell",fixTables:"Fix tables",textAlign:"Alignment",bulletList:"Bullet list",numberedList:"Numbered list",indentLeft:"Left indent",indentRight:"Right indent",directionLtr:"Left-to-right",directionRtl:"Right-to-left",zoom:"Zoom",measurementUnit:"Measurement unit",undo:"Undo",redo:"Redo",trackChanges:"Track Changes",trackChangesAccept:"Accept changes under selection",trackChangesReject:"Reject changes under selection",trackChangesOriginal:"Toggle Show Original",trackChangesFinal:"Toggle Show Final",clearFormatting:"Clear formatting",copyFormat:"Format painter",lineHeight:"Line height",formatText:"Format text",ruler:"Show or hide ruler",formattingMarks:"Show or hide formatting marks",pageBreak:"Insert page break",documentEditingMode:"Editing",documentSuggestingMode:"Suggesting",documentViewingMode:"Viewing",documentEditingModeDescription:"Edit document directly",documentSuggestingModeDescription:"Edits become suggestions",documentViewingModeDescription:"View clean version of document only",linkedStyles:"Linked styles"},Lz=e=>e?typeof e!="string"?e instanceof HTMLElement?e:null:e.startsWith("#")||e.startsWith(".")?document.querySelector(e):document.getElementById(e):null;xt();function lA(e){return aN(e)??J0[e]??null}function um(e,t,n,r={}){if(!e?.commands||!t||typeof e.commands.has=="function"&&!e.commands.has(t))return!1;const o=typeof e.commands.executeAsync=="function"?e.commands.executeAsync:e.commands.execute;if(typeof o!="function")return!1;const i=n===void 0?o.call(e.commands,t):o.call(e.commands,t,n);return i&&typeof i.then=="function"&&Promise.resolve(i).then(()=>r.onSettled?.(),s=>{r.onError?.(s),r.onSettled?.()}),!0}var Pz=new Set(["bold","italic","underline","strike","color","highlight","link","clearFormatting","textAlign","list","numberedlist","indentleft","indentright","lineHeight","linkedStyles"]),Dz=new Set(["list","numberedlist"]);function Oz(e,t){if(e==="fontFamily"||e==="fontSize"||Dz.has(e)&&t?.disabled&&t?.supported!==!1&&t?.reason==null)return!0;if(!Pz.has(e))return!1;const n=t?.reason;return n==="range-selection-required"||n==="selection-required"}function cA(e){return!!e?.closest?.("[data-editor-ui-surface], .toolbar-dropdown-menu, .sd-toolbar-dropdown-menu, .sd-tooltip-content")}function Fz(e){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(e.key)}var Nz=class extends Km.default{config={selector:null,toolbarGroups:["left","center","right"],role:"editor",icons:{...or},texts:{...aA},fonts:null,hideButtons:!0,responsiveToContainer:!1,mode:"docx",excludeItems:[],groups:null,customButtons:[],showFormattingMarksButton:!1,showTableOfContentsButton:!1};toolbarItems=[];overflowItems=[];#e=null;#n=null;isDev=!1;role="editor";superdoc;toolbarContainer=null;toolbar=null;_detachFontsChanged=null;constructor(e={}){if(super(),this.config={...this.config,...e},this.toolbarItems=[],this.overflowItems=[],this.isDev=e.isDev||!1,this.superdoc=e.superdoc,this.role=e.role||"editor",this.toolbarContainer=null,this.config.icons={...or,...e.icons},this.config.texts={...aA,...e.texts},this.config.hideButtons=e.hideButtons??!0,this.config.responsiveToContainer=e.responsiveToContainer??!1,this.activeEditor=e.editor??this.superdoc?.activeEditor??null,this.ui=null,this.snapshot=null,this._unsubscribeController=null,this._detachFormatPainterModeChange=null,this._customCommandRegs=new Map,this._reportedInvalidCustomItems=new Set,this._lastFontOptionsSignature="",!this.config.selector&&this.config.element&&(this.config.selector=this.config.element),this.toolbarContainer=Lz(this.config.selector),this.toolbarContainer){const t=(this.config?.uiDisplayFallbackFont||"").toString().trim()||"Arial, Helvetica, sans-serif";this.toolbarContainer.style.setProperty("--sd-ui-font-family",t)}try{if(this.#t(),this.#d(),this.#f(),this.#i(),this._lastFontOptionsSignature=this.#o(),!this.toolbarContainer){this.updateToolbarState();return}this.app=Xl(TB),this.app.directive("click-outside",Xv),this.app.config.globalProperties.$toolbar=this,this.toolbar=this.app.mount(this.toolbarContainer),this.updateToolbarState()}catch(t){try{this.destroy()}catch{}throw t}}#t(){this.ui=this.superdoc?.ui??null,this.ui&&(this.snapshot=this.ui.toolbar.getSnapshot(),this._unsubscribeController=this.ui.toolbar.subscribe(()=>{this.snapshot=this.ui.toolbar.getSnapshot(),this.updateToolbarState()}),this._detachFormatPainterModeChange=this.ui.formatPainter.onModeChange(e=>{e==="armed"||e==="persistent"?this.#a():this.#S()}))}#r(){this._unsubscribeController?.(),this._unsubscribeController=null,this._detachFormatPainterModeChange?.(),this._detachFormatPainterModeChange=null,this.#S();for(const e of this._customCommandRegs.values())try{e.unregister?.()}catch{}this._customCommandRegs.clear(),this.ui=null,this.snapshot=null}#i(){if(!this.superdoc||typeof this.superdoc.on!="function"||typeof this.superdoc.off!="function")return;const e=()=>{const t=this.#o();t!==this._lastFontOptionsSignature&&(this._lastFontOptionsSignature=t,this.#p()),this.updateToolbarState()};this.superdoc.on("fonts-changed",e),this._detachFontsChanged=()=>{this.superdoc?.off?.("fonts-changed",e)}}#s(){this._detachFontsChanged?.(),this._detachFontsChanged=null}#d(){if(Array.isArray(this.config.groups)){this.config.toolbarGroups=this.config.groups,this.config.groups=null;return}this.config.groups&&!Array.isArray(this.config.groups)&&Object.keys(this.config.groups).length&&(this.config.toolbarGroups=Object.keys(this.config.groups))}getAvailableWidth(){const e=document.documentElement.clientWidth,t=this.toolbarContainer?.offsetWidth??0;return this.config.responsiveToContainer?t:e}#h(e){if(e)return e;const t=this.superdoc?.fonts?.getFontFamilyOptions?.()??[];return _B(t)}#f(){const e=this.getAvailableWidth(),t=this.config.groups&&!Array.isArray(this.config.groups)&&Object.keys(this.config.groups).length>0,{defaultItems:n,overflowItems:r}=Mz({superToolbar:this,toolbarIcons:this.config.icons,toolbarTexts:this.config.texts,toolbarFonts:this.#h(this.config.fonts),hideButtons:this.config.hideButtons,availableWidth:e,role:this.role,isDev:this.isDev}),o=this.config.customButtons||[],i=new Set([...n,...r].map(c=>c.name?.value).filter(Boolean)),s=o.map((c,d)=>{try{if(c?.name&&i.has(c.name))throw new Error(`Toolbar item name "${c.name}" is already taken by another item, so this entry is skipped.`);const f=this.#c(c);return i.add(f.name?.value),f}catch(f){const h=`${c?.name??`<unnamed@${d}>`}::${f?.message??String(f)}`;return this._reportedInvalidCustomItems.has(h)||(this._reportedInvalidCustomItems.add(h),this.#b(f,c?.name??null)),null}}).filter(Boolean);s.length&&n.push(...s);let a=[...n.map(c=>c.name.value),...r.map(c=>c.name.value)];if(t){const c=Object.values(this.config.groups).flatMap(h=>h),d=new Set(Object.keys(this.config.groups)),f=s.filter(h=>d.has(h.group?.value||"center")).map(h=>h.name.value);a=[...new Set([...c,...f])]}const l=n.filter(c=>a.includes(c.name.value)).filter(c=>!this.config.excludeItems.includes(c.name.value));if(t)for(const[c,d]of Object.entries(this.config.groups))for(const f of l)d.includes(f.name.value)&&(f.group.value=c);this.toolbarItems=l,this.overflowItems=r.filter(c=>a.includes(c.name.value))}#c(e){const t=In({...e});t.isCustomToolbarItem=!0;const n=e.command;if(typeof n=="function"&&this.ui?.commands?.register){const r=`__builtin_toolbar__${e.name}`;if(!this._customCommandRegs.has(r)){const o=this.ui.commands.register({id:r,execute:i=>{const s=i?.payload&&typeof i.payload=="object"?i.payload:{};return n({...i,item:t,argument:s.argument,option:s.option})}});this._customCommandRegs.set(r,o)}}return t}#p(){this.#f(),this.emit("toolbar-items-changed")}#o(){if(this.config.fonts)return"custom-fonts";const e=this.superdoc?.fonts?.getFontFamilyOptions?.()??[];return JSON.stringify(e.map(t=>[t.label,t.value,t.previewFamily]))}getToolbarItemByGroup(e){return this.toolbarItems.filter(t=>(t.group?.value||"center")===e)}getToolbarItemByName(e){return this.#l().find(t=>t.name.value===e)}#l(){return[...this.toolbarItems,...this.overflowItems]}getLinkedStyleOptions(){return this.ui?.styles?.getQuickGallery?.()??[]}getActiveLinkedStyleId(){return this.ui?.styles?.getActiveParagraphStyle?.()?.styleId??null}setActiveEditor(e){this.activeEditor=e;const t=this.#o();t!==this._lastFontOptionsSignature&&(this._lastFontOptionsSignature=t,this.#p()),this.ui&&(this.snapshot=this.ui.toolbar.getSnapshot()),this.updateToolbarState()}onToolbarResize=()=>{this.#f(),this.updateToolbarState()};#g(e){return e==="ruler"?!!this.superdoc?.config?.rulers:e==="formattingMarks"?!!this.superdoc?.config?.layoutEngineOptions?.showFormattingMarks:!1}#u(e){return e==="ruler"?typeof this.superdoc?.toggleRuler=="function":e==="formattingMarks"?typeof this.superdoc?.toggleFormattingMarks=="function"||typeof this.superdoc?.setShowFormattingMarks=="function":!1}#y(){const e=this.getToolbarItemByName("documentMode");if(!e)return;const t=(this.snapshot?.commands?.["document-mode"]?.value||"editing").toLowerCase(),n=this.config.texts||{},r=this.config.icons||{},o={editing:{label:n.documentEditingMode||"Editing",icon:r.documentEditingMode||r.documentMode},suggesting:{label:n.documentSuggestingMode||"Suggesting",icon:r.documentSuggestingMode||r.documentMode},viewing:{label:n.documentViewingMode||"Viewing",icon:r.documentViewingMode||r.documentMode}},i=o[t]||o.editing;e.label?.value!==void 0&&(e.label.value=i.label),e.defaultLabel?.value!==void 0&&(e.defaultLabel.value=i.label),e.icon?.value!==void 0&&i.icon&&(e.icon.value=i.icon)}#w(){const e=this.toolbarItems.find(n=>n.name.value==="highlight");if(!e)return;const t={key:"color",type:"render",render:()=>e2(this,e,[],!0)};e.nestedOptions.value=[t]}#k(e){return!!e?.active&&e?.value==null}#I(e){return!!e&&e.disabled===!1&&e.value==null}#x(e){const t=e.name.value;if(t==="tableActions"){const i=nA.map(s=>this.snapshot?.commands?.[s]).some(s=>s&&!s.disabled);return e.setDisabled(!i),!0}if(t==="search")return e.setDisabled(!1),!0;if(Z0(t)?.disposition==="host-routed")return e.setDisabled(!this.#u(t)),this.#g(t)?e.activate():e.deactivate(),!0;const n=lA(t);if(!n)return!1;const r=this.snapshot?.commands?.[n];Oz(t,r)?e.setDisabled(!1):e.setDisabled(!!r?.disabled);const o={textAlign:()=>{r?.value?e.activate({textAlign:r.value}):e.deactivate()},lineHeight:()=>{e.selectedValue.value=r?.value!=null?r.value:""},zoom:()=>{if(r?.value!=null){const i=typeof r.value=="number"?`${r.value}%`:String(r.value);e.onActivate({zoom:i})}},measurementUnit:()=>{r?.value!=null&&e.onActivate({measurementUnit:String(r.value)})},documentMode:()=>{this.#y()},link:()=>{e.active.value=!!r?.active,e.attributes.value=t2(e.attributes.value,r?.value??null)},fontFamily:()=>{if(r?.value!=null){e.activate({fontFamily:r.value});return}if(this.#I(r)){e.activate({},!0);return}e.deactivate()},fontSize:()=>{if(r?.value!=null){e.activate({fontSize:r.value});return}if(this.#k(r)){e.activate({},!0);return}e.deactivate()},color:()=>{r?.value!=null?e.activate({color:r.value}):e.deactivate()},highlight:()=>{r?.value!=null?e.activate({color:r.value}):e.deactivate()},linkedStyles:()=>{const i=r?.value,s=typeof i=="string"?i:i?.styleId,a=i&&typeof i=="object"?i.styleName:null;s?e.activate({styleId:s,styleName:a}):e.label.value=this.config.texts?.formatText||"Format text"},list:()=>{r?.active?(e.activate(),e.selectedValue.value=r.value):(e.deactivate(),e.selectedValue.value=null)},numberedlist:()=>{r?.active?(e.activate(),e.selectedValue.value=r.value):(e.deactivate(),e.selectedValue.value=null)},default:()=>{r?.active?e.activate():e.deactivate()}};return(o[t]??o.default)(),!0}updateToolbarState(){this.#y(),this.#w();const e=this.snapshot?.commands?.["document-mode"]?.value||"editing";!(this.snapshot&&(this.superdoc?.activeEditor??this.activeEditor))||e==="viewing"?(this.#L(),this.#l().forEach(n=>{n.allowWithoutEditor?.value&&this.#x(n)})):this.#l().forEach(n=>{n.resetDisabled(),this.#x(n)});const t=this.getToolbarItemByName("copyFormat");t&&(this.snapshot?.copyFormatActive?t.activate():t.deactivate()),this.emit("toolbar-state-change")}#L(){this.#l().forEach(e=>{const{allowWithoutEditor:t}=e;t?.value||e.setDisabled(!0)})}#P(e,t){const n=this.superdoc;if(e==="ruler")return typeof n?.toggleRuler=="function"?(n.toggleRuler(),!0):!1;if(e==="formattingMarks"){if(typeof t=="boolean"&&typeof n?.setShowFormattingMarks=="function")return n.setShowFormattingMarks(t),!0;if(typeof n?.toggleFormattingMarks=="function")return n.toggleFormattingMarks(),!0}return!1}#D(e,t){const n=e?.name?.value;if(!n)return!1;const r={onSettled:()=>this.updateToolbarState(),onError:i=>this.#b(i,n)};if(n==="image"&&t==null)return this.#E();if(n==="tableActions"){const i=tA[t?.command];return i?um(this.ui,i,void 0,r):!1}if(Z0(n)?.disposition==="unsupported")return!0;const o=lA(n);return o?um(this.ui,o,t,r):!1}#E(){return this.snapshot?.commands?.image?.disabled||(this.#e||(this.#e=pN({ownerDocument:this.toolbarContainer?.ownerDocument??document,onPick:async e=>{const t=await fN(e,this.superdoc?.config?.handleImageUpload);um(this.ui,"image",{src:t},{onSettled:()=>this.updateToolbarState(),onError:n=>this.#b(n,"image")})},onError:e=>this.#b(e,"image")})),this.#e.open()),!0}#a(){if(this.#n)return;const e=this.superdoc?.activeEditor?.container??document,t=i=>{cA(i.target)||this.ui.formatPainter.setPointerSelecting(!0)},n=i=>{this.ui.formatPainter.setPointerSelecting(!1),!cA(i.target)&&this.ui.formatPainter.notifyPointerUp()},r=i=>{if(i.key==="Escape"){this.ui.formatPainter.cancel();return}Fz(i)&&this.ui.formatPainter.setKeyboardSelecting(!0)},o=()=>{this.ui.formatPainter.setKeyboardSelecting(!1),this.ui.formatPainter.notifyKeyUp()};e.addEventListener("pointerdown",t),e.addEventListener("pointerup",n),e.addEventListener("keydown",r),e.addEventListener("keyup",o),this.#n=()=>{e.removeEventListener("pointerdown",t),e.removeEventListener("pointerup",n),e.removeEventListener("keydown",r),e.removeEventListener("keyup",o)}}#S(){this.#n&&(this.#n(),this.#n=null)}#b(e,t){const n={error:e instanceof Error?e:new Error(String(e)),originalError:e,itemName:t??null,editor:this.superdoc?.activeEditor??this.activeEditor??null},r={...n};this.emit("exception",n),this.superdoc?.emit?.("exception",r)}emitCommand({item:e,argument:t,option:n}){const r=e?.name?.value,{command:o}=e,i=t!=null;if(!(e?.type==="dropdown"&&!i&&(o==="setFontFamily"||o==="setFontSize"))){if(r==="search"){this.superdoc?.emit?.("search:open");return}try{if(Z0(r)?.disposition==="host-routed"){this.#P(r,t),this.updateToolbarState();return}if(typeof o=="function"){const s=`__builtin_toolbar__${r}`;this._customCommandRegs.has(s)&&this.ui?.commands?.execute?this.ui.commands.execute(s,{argument:t,option:n}):o({item:e,argument:t,option:n,ui:this.ui,superdoc:this.superdoc}),this.updateToolbarState();return}if(e?.isCustomToolbarItem&&typeof o=="string"){if(!um(this.ui,o,t,{onSettled:()=>this.updateToolbarState(),onError:s=>this.#b(s,r)}))throw new Error(`[superdoc toolbar] Command not handled: ${String(o)}`);this.updateToolbarState();return}if(!this.#D(e,t)&&o)throw new Error(`[superdoc toolbar] Command not handled: ${String(o)}`);this.updateToolbarState()}catch(s){this.#b(s,r)}}}destroy(){this.#S(),this.#e?.destroy(),this.#e=null,this.#s(),this.#r(),this.app?.unmount(),this.app=null,this.toolbar=null}};function Bz(e){return new Nz(e)}function zz(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null||Array.isArray(e)!==Array.isArray(t))return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}function Vz(e){if(!e||typeof e!="object")return{};const t={};e.fonts&&(t.rFonts={ascii:e.fonts.ascii,hAnsi:e.fonts.hAnsi,eastAsia:e.fonts.eastAsia,cs:e.fonts.cs,asciiTheme:e.fonts.asciiTheme,hAnsiTheme:e.fonts.hAnsiTheme,eastAsiaTheme:e.fonts.eastAsiaTheme,csTheme:e.fonts.csTheme,hint:e.fonts.hint}),e.fontFamily!=null&&(t.fontFamily=e.fontFamily),e.lang&&(t.lang={val:e.lang.val,eastAsia:e.lang.eastAsia,bidi:e.lang.bidi}),e.fontSize!=null&&(t.fontSize=e.fontSize),e.fontSizeCs!=null&&(t.fontSizeCs=e.fontSizeCs);const n=dm(e.color);n!=null&&(t.color=n),e.highlight!=null&&(t.highlight=e.highlight);const r=Uz(e.shading);r&&(t.shading=r),e.cs!=null&&(t.cs=e.cs),e.rtl!=null&&(t.rtl=e.rtl),e.bold!=null&&(t.bold=e.bold),e.boldCs!=null&&(t.bCs=e.boldCs),e.italic!=null&&(t.italic=e.italic),e.italicCs!=null&&(t.iCs=e.italicCs);const o=jz(e.underline);o!==void 0&&(t.underline=o),e.strikethrough!=null&&(t.strike=e.strikethrough),e.doubleStrikethrough!=null&&(t.dstrike=e.doubleStrikethrough),e.caps!=null&&(t.caps=e.caps),e.smallCaps!=null&&(t.smallCaps=e.smallCaps),e.outline!=null&&(t.outline=e.outline),e.shadow!=null&&(t.shadow=e.shadow),e.emboss!=null&&(t.emboss=e.emboss),e.imprint!=null&&(t.imprint=e.imprint),e.verticalAlign!=null&&(t.vertAlign=e.verticalAlign),e.characterSpacing!=null&&(t.letterSpacing=e.characterSpacing),e.characterScale!=null&&(t.charScale=e.characterScale),e.kern!=null&&(t.kerning=e.kern),e.baselineShift!=null&&(t.position=e.baselineShift),e.fitTextWidth!=null&&(t.fitText={val:e.fitTextWidth}),e.vanish!=null&&(t.vanish=e.vanish),e.webHidden!=null&&(t.webHidden=e.webHidden),e.specVanish!=null&&(t.specVanish=e.specVanish);const i=Hz(e.border);return i&&(t.border=i),t}function dm(e){if(e){if(typeof e=="string")return e;if(e.model==="rgb")return e.value;if(e.model==="auto")return"auto"}}function jz(e){if(e==null)return;const t={};return e.style!=null&&(t.style=e.style),e.color?.model==="rgb"&&(t.color=e.color.value),e.color?.model==="theme"&&(t.themeColor=e.color.theme),Object.keys(t).length>0?t:!0}function Uz(e){if(!e)return;const t={},n=dm(e.fill);n!=null&&(t.fill=n);const r=dm(e.color);return r!=null&&(t.color=r),e.pattern!=null&&(t.val=e.pattern),Object.keys(t).length>0?t:void 0}function Hz(e){if(!e)return;const t={};e.style!=null&&(t.val=e.style),e.width!=null&&(t.sz=e.width),e.space!=null&&(t.space=e.space);const n=dm(e.color);return n!=null&&(t.color=n),Object.keys(t).length>0?t:void 0}function uc(e){const t=e?.selectionTarget??e?.target;if(!e||!t)return"";try{return JSON.stringify(t)}catch{return String(t)}}var $z=new Set(["insert-text","replace-text","plain-text-paste","delete-backward","delete-forward","text.insert","text.replace","text.pastePlain","text.deleteBackward","text.deleteForward","structural.enter","structural:enter-split-paragraph","structural:enter-insert-paragraph-before","structural:enter-insert-paragraph-after","structural:shift-enter-line-break","structural:backspace-boundary-merge-with-previous","structural:delete-boundary-merge-with-next","backspace:boundary-merge-with-previous","backspace:list-remove","backspace:list-outdent"]),Gz=e=>e?.type!=="mutation:committed"||e.origin!=="command"?!1:$z.has(e.editableCommandKind);function uA(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function Wz(e){const t=[],n=o=>{o&&!t.includes(o)&&t.push(o)};n(e.getAttribute("data-track-change-preferred-target-id"));const r=e.getAttribute("data-track-change-ids");if(r)for(const o of uA(r))n(o);return n(e.getAttribute("data-track-change-id")),t}function dA(e,t){if(!e||typeof e.getAttribute!="function")return[];const n=[],r=new Set;let o=[],i=e;for(;i;){const s=i,a=Wz(s),l=a.length>0?s.getAttribute("data-story-key"):null;for(const m of a){const v=`trackedChange:${m}`;if(!r.has(v)){r.add(v);const k={type:"trackedChange",id:m};l&&(k.storyKey=l),n.push(k),o.push(k)}}const c=s.getAttribute("data-layout-story");if(c&&o.length>0){for(const m of o)m.story=c;o=[]}const d=s.getAttribute("data-citation-id");if(d){const m=`citation:${d}`;r.has(m)||(r.add(m),n.push({type:"citation",id:d}))}const f=s.getAttribute("data-comment-ids");if(f)for(const m of uA(f)){const v=`comment:${m}`;r.has(v)||(r.add(v),n.push({type:"comment",id:m}))}const h=s.getAttribute("data-sdt-type"),g=s.getAttribute("data-sdt-id");if(g&&h==="structuredContent"){const m=`contentControl:${g}`;if(!r.has(m)){r.add(m);const v=s.getAttribute("data-sdt-scope"),k=s.getAttribute("data-sdt-tag"),C={type:"contentControl",id:g};(v==="block"||v==="inline")&&(C.scope=v),k&&(C.tag=k),n.push(C)}}if(t&&i===t)break;i=i.parentElement}return n}var fo=()=>({oneOf:[{type:"boolean"},{type:"null"}]}),gl=()=>({oneOf:[{type:"string",minLength:1},{type:"null"}]}),Mu=()=>({oneOf:[{type:"number"},{type:"null"}]}),Lu=e=>({oneOf:[{type:"object",properties:e,additionalProperties:!1,minProperties:1},{type:"null"}]}),Kz={type:"object",properties:{style:{oneOf:[{type:"string",minLength:1},{type:"null"}]},color:{oneOf:[{type:"string",minLength:1},{type:"null"}]},themeColor:{oneOf:[{type:"string",minLength:1},{type:"null"}]}},additionalProperties:!1,minProperties:1},qz={type:"object",properties:{id:{type:"number"},val:{type:"boolean"}},required:["id"],additionalProperties:!1},Yz=()=>({oneOf:[{type:"boolean"},{type:"null"},Kz]}),Xz=()=>({oneOf:[{type:"array",items:qz,minItems:1},{type:"null"}]});function fm(e,t){return{storage:"mark",markName:e,textStyleAttr:t}}function Zz(e){return{storage:"runAttribute",nodeName:"run",runPropertyKey:e}}var n2=(e,t,n)=>({key:e,type:"boolean",ooxmlElement:t,storage:"mark",tracked:!0,carrier:fm(n),schema:fo()}),dc=(e,t,n,r,o)=>({key:e,type:t,ooxmlElement:n,storage:"mark",tracked:!0,carrier:fm("textStyle",o??e),schema:r}),Vn=(e,t,n,r,o)=>({key:e,type:t,ooxmlElement:n,storage:"runAttribute",tracked:!1,carrier:Zz(o??e),schema:r}),hm=[n2("bold","w:b","bold"),n2("italic","w:i","italic"),n2("strike","w:strike","strike"),{key:"underline",type:"object",ooxmlElement:"w:u",storage:"mark",tracked:!0,carrier:fm("underline"),schema:Yz()},{key:"highlight",type:"string",ooxmlElement:"w:highlight",storage:"mark",tracked:!0,carrier:fm("highlight"),schema:gl()},dc("color","string","w:color",gl()),dc("fontSize","number","w:sz",Mu()),dc("fontFamily","string","w:rFonts",gl()),dc("letterSpacing","number","w:spacing",Mu()),dc("vertAlign","string","w:vertAlign",{oneOf:[{enum:["superscript","subscript","baseline"]},{type:"null"}]}),dc("position","number","w:position",Mu()),Vn("dstrike","boolean","w:dstrike",fo()),Vn("smallCaps","boolean","w:smallCaps",fo()),dc("caps","boolean","w:caps",fo(),"textTransform"),Vn("shading","object","w:shd",Lu({fill:{oneOf:[{type:"string",minLength:1},{type:"null"}]},color:{oneOf:[{type:"string",minLength:1},{type:"null"}]},val:{oneOf:[{type:"string",minLength:1},{type:"null"}]}})),Vn("border","object","w:bdr",Lu({val:{oneOf:[{type:"string",minLength:1},{type:"null"}]},sz:{oneOf:[{type:"number"},{type:"null"}]},color:{oneOf:[{type:"string",minLength:1},{type:"null"}]},space:{oneOf:[{type:"number"},{type:"null"}]}}),"borders"),Vn("outline","boolean","w:outline",fo()),Vn("shadow","boolean","w:shadow",fo()),Vn("emboss","boolean","w:emboss",fo()),Vn("imprint","boolean","w:imprint",fo()),Vn("charScale","number","w:w",Mu(),"w"),Vn("kerning","number","w:kern",Mu(),"kern"),Vn("vanish","boolean","w:vanish",fo()),Vn("webHidden","boolean","w:webHidden",fo()),Vn("specVanish","boolean","w:specVanish",fo()),Vn("rtl","boolean","w:rtl",fo()),Vn("cs","boolean","w:cs",fo()),Vn("bCs","boolean","w:bCs",fo(),"boldCs"),Vn("iCs","boolean","w:iCs",fo(),"italicCs"),Vn("eastAsianLayout","object","w:eastAsianLayout",Lu({id:{oneOf:[{type:"string",minLength:1},{type:"null"}]},combine:{oneOf:[{type:"boolean"},{type:"null"}]},combineBrackets:{oneOf:[{type:"string",minLength:1},{type:"null"}]},vert:{oneOf:[{type:"boolean"},{type:"null"}]},vertCompress:{oneOf:[{type:"boolean"},{type:"null"}]}})),Vn("em","string","w:em",gl()),Vn("fitText","object","w:fitText",Lu({val:{oneOf:[{type:"number"},{type:"null"}]},id:{oneOf:[{type:"string",minLength:1},{type:"null"}]}})),Vn("snapToGrid","boolean","w:snapToGrid",fo()),Vn("lang","object","w:lang",Lu({val:{oneOf:[{type:"string",minLength:1},{type:"null"}]},eastAsia:{oneOf:[{type:"string",minLength:1},{type:"null"}]},bidi:{oneOf:[{type:"string",minLength:1},{type:"null"}]}})),Vn("oMath","boolean","w:oMath",fo()),Vn("rStyle","string","w:rStyle",gl(),"styleId"),Vn("rFonts","object","w:rFonts",Lu({ascii:{oneOf:[{type:"string",minLength:1},{type:"null"}]},hAnsi:{oneOf:[{type:"string",minLength:1},{type:"null"}]},eastAsia:{oneOf:[{type:"string",minLength:1},{type:"null"}]},cs:{oneOf:[{type:"string",minLength:1},{type:"null"}]},asciiTheme:{oneOf:[{type:"string",minLength:1},{type:"null"}]},hAnsiTheme:{oneOf:[{type:"string",minLength:1},{type:"null"}]},eastAsiaTheme:{oneOf:[{type:"string",minLength:1},{type:"null"}]},csTheme:{oneOf:[{type:"string",minLength:1},{type:"null"}]},hint:{oneOf:[{type:"string",minLength:1},{type:"null"}]}}),"fontFamily"),Vn("fontSizeCs","number","w:szCs",Mu()),Vn("ligatures","string","w14:ligatures",gl()),Vn("numForm","string","w14:numForm",gl()),Vn("numSpacing","string","w14:numSpacing",gl()),Vn("stylisticSets","array","w14:stylisticSets",Xz()),Vn("contextualAlternates","boolean","w14:cntxtAlts",fo())],NH=new Set(hm.map(e=>e.key)),Qz=Object.fromEntries(hm.map(e=>[e.key,e])),BH={mark:hm.filter(e=>e.storage==="mark").map(e=>e.key),runAttribute:hm.filter(e=>e.storage==="runAttribute").map(e=>e.key)};function Aa(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}function pm(){const e=globalThis;return{sink:typeof e.__superdocV2BenchPipelineTiming=="function"?e.__superdocV2BenchPipelineTiming:null,workerContext:e.__superdocV2BenchWorkerMessageContext??null}}function r2(e){const{sink:t}=pm();if(t)try{t(e)}catch{}}var o2=new WeakMap;function Jz(e){let t=o2.get(e);return t||(t={refCount:0,generation:0,abortController:new AbortController,inFlight:null,activeMutationTokens:new Set},o2.set(e,t)),t.refCount+=1,t}function eV(e,t){t.refCount=Math.max(0,t.refCount-1),!(t.refCount>0)&&(t.abortController.abort("ui-controller-destroyed"),t.inFlight=null,t.activeMutationTokens.clear(),o2.delete(e))}var tV=new Set(Object.values(ct));function i2(e,t){return typeof e=="string"&&tV.has(e)?e:t}function fA(e){if(e&&typeof e=="object"&&e.ok===!1){const t=e.reason;return t==="host-not-ready"||t==="host-disposed"||t==="editing-mount-required"?{ok:!1,reason:ct.notReady}:{ok:!1,reason:i2(t,ct.targetUnresolved)}}return{ok:!0}}var nV=["document-replaced","editorCreate","active-editor-change","document-mode-change","zoomChange","measurement-unit-change","viewport-change","fonts-changed"],rV={[$4.bulletList]:"bullet",[$4.numberedList]:"ordered"};function hA(e){return rV[e]??null}var oV={disc:"disc",circle:"circle",square:"square",decimal:"decimal","decimal-paren":"decimalParenthesis","upper-roman":"upperRoman","lower-roman":"lowerRoman","upper-alpha":"upperLetter","upper-alpha-paren":"upperLetterParenthesis","lower-alpha":"lowerLetter","lower-alpha-paren":"lowerLetterParenthesis"};function iV(e){const t=oV[e];return t?{preset:t,behavior:"toggleStyle"}:{}}var sV={status:"ready",empty:!0,target:null,selectionTarget:null,activeMarks:[],activeCommentIds:[],activeChangeIds:[],quotedText:""},aV=[{key:"contentControls",match:"exact",note:"full-document SDT catalog parse (the measured during-load cliff)"},{key:"contentControls:inRange:",match:"prefix",note:"same adapter load() as the catalog, issued per settled selection"},{key:"hyperlinks:",match:"prefix",note:"per-block hyperlink list over the loading story"},{key:"styles:catalog:",match:"prefix",note:"WordStyleModel recompile from package bytes"},{key:"comments",match:"exact",note:"audited: full comments list; stale-served during load"},{key:"trackChanges",match:"exact",note:"audited: shared all-story tracked-changes catalog; stale-served during load"},{key:"trackChanges:all",match:"exact",note:"audited: current-token validation over the shared all-story catalog; consumers fail closed on non-ready"},{key:"tables",match:"exact",note:"reserved: full tables catalog"},{key:"sections",match:"exact",note:"reserved: full sections list"}],lV=new Set(["/word/comments.xml","/word/commentsExtended.xml","/word/commentsIds.xml"]);function cV(e){return aV.some(t=>t.match==="exact"?t.key===e:e.startsWith(t.key))}var pA={ready:0,stale:1,pending:2};function vl(...e){let t="ready";for(const n of e)pA[n]>pA[t]&&(t=n);return t}function Tt(e,t){if(typeof e!="function")return t;try{const n=e();return n===void 0?t:n}catch{return t}}function Tr(e){return!!e&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}function mr(e,t){if(!e)return null;const n=t.split(".");let r=e;for(const o of n){if(r==null)return null;r=r[o]}return typeof r=="function"?r:null}function qn(e,t="CAPABILITY_UNAVAILABLE"){return{success:!1,failure:{code:t,message:e}}}function Lf(e,t){return{success:!1,failure:{code:"PARTIAL_LINK_EDIT",message:"Hyperlink target was updated, but display text replacement failed."},applied:{href:!0,text:!1},hyperlinkResult:e,textResult:t}}function Pf(e){if(!e||typeof e!="object")return null;const t=e.target;return t&&typeof t=="object"?t:null}function s2(e){if(!e||typeof e!="object")return!1;const t=e,n=i=>{if(!i||typeof i!="object")return!1;const s=i;return s.kind==="text"&&typeof s.blockId=="string"&&typeof s.offset=="number"},r=i=>{if(!i||typeof i!="object")return!1;const s=i,a=s.range;return typeof s.blockId=="string"&&typeof a?.start=="number"&&typeof a.end=="number"};if(Array.isArray(t.segments)){const i=t.segments[0],s=t.segments[t.segments.length-1];return r(i)&&r(s)}if(t.kind==="selection")return n(t.start)&&n(t.end);if(t.kind!=="text"||typeof t.blockId!="string")return!1;const o=t.range;return typeof o?.start=="number"&&typeof o.end=="number"}function mA(e,t){if(!e||typeof e!="object")return null;const n=Pf(e),r=e,o=r.navigationTarget&&typeof r.navigationTarget=="object"?r.navigationTarget:null;if(o?.kind==="block"&&typeof o.blockId=="string"&&o.blockId.length>0){const i={kind:"text",blockId:o.blockId,range:{start:0,end:0},...o.story&&typeof o.story=="object"?{story:o.story}:{},...r.address&&typeof r.address=="object"?{address:r.address}:{}};if(t?.preferStableBlock||!s2(n))return i}return n}function br(e){if(!e||typeof e!="object")return"story:body";const t=e,n=typeof t.storyType=="string"?t.storyType:"body";switch(n){case"body":return"story:body";case"headerFooterPart":return`story:headerFooterPart:${typeof t.refId=="string"?t.refId:""}`;case"headerFooterSlot":return JSON.stringify({storyType:n,section:t.section??null,headerFooterKind:t.headerFooterKind??null,variant:t.variant??null,resolution:t.resolution??"effective",onWrite:t.onWrite??"materializeIfInherited"});case"footnote":return`story:footnote:${typeof t.noteId=="string"?t.noteId:""}`;case"endnote":return`story:endnote:${typeof t.noteId=="string"?t.noteId:""}`;case"textbox":return`story:textbox:${typeof t.textboxId=="string"?t.textboxId:""}`;default:return JSON.stringify(t)}}function Df(e){if(!e||typeof e!="object")return null;const t=e,n=t.address&&typeof t.address=="object"?t.address:null;if(n?.story&&typeof n.story=="object")return n.story;if(t.storyLocator&&typeof t.storyLocator=="object")return t.storyLocator;if(t.trackedChangeStory&&typeof t.trackedChangeStory=="object")return t.trackedChangeStory;const r=Pf(e);if(!r||typeof r!="object")return null;const o=r;if(o.story&&typeof o.story=="object")return o.story;const i=o.address&&typeof o.address=="object"?o.address:null;return i?.story&&typeof i.story=="object"?i.story:null}function Ni(e,t,n){return no(e)!==t?!1:n?br(Df(e))===br(n):!0}function mm(e){const t=Df(e);if(!(!t||br(t)===br(null)))return t}function uV(e){if(typeof e!="string"||e.length===0)return;const t=x6(e);switch(t.kind){case"body":return;case"footnote":return t.id?{kind:"story",storyType:"footnote",noteId:t.id}:void 0;case"endnote":return t.id?{kind:"story",storyType:"endnote",noteId:t.id}:void 0;case"header":case"footer":return t.id?{kind:"story",storyType:"headerFooterPart",refId:t.id}:void 0;default:return}}function dV(e){if(!(typeof e!="string"||e.length===0||e==="body")){if(e.startsWith("hf:part:")){const t=e.slice(8);return t?{kind:"story",storyType:"headerFooterPart",refId:t}:void 0}if(e.startsWith("fn:")){const t=e.slice(3);return t?{kind:"story",storyType:"footnote",noteId:t}:void 0}if(e.startsWith("en:")){const t=e.slice(3);return t?{kind:"story",storyType:"endnote",noteId:t}:void 0}}}function a2(e){if(!e||typeof e!="object")return null;const t=e.selectionTarget;return t&&typeof t=="object"?t:null}function gm(e){if(!e||typeof e!="object")return null;const t=e.id;return typeof t=="string"&&t.length>0?t:null}function fV(e){if(!e||typeof e!="object")return null;const t=e;if(t.kind!=="selection")return e;const n=t.start;return!n||typeof n!="object"?null:{...t,end:n}}function no(e){if(!e||typeof e!="object")return null;const t=e,n=t.id??t.commentId??t.changeId;return typeof n=="string"&&n.length>0?n:null}function hV(e){if(!e||typeof e!="object")return null;const t=e,n=t.anchor,r=t.focus,o=n?.visualCaret,i=r?.visualCaret,s=o?.trackChangeId,a=i?.trackChangeId;return typeof s=="string"&&s.length>0&&s===a?s:null}var gA=new WeakMap;function vA(e){const t=[],n=i=>{typeof i=="string"&&i.length>0&&!t.includes(i)&&t.push(i)},r=i=>{if(!i||typeof i!="object")return;const s=i,a=s.sourceIds;if(a&&typeof a=="object"&&(n(a.wordIdInsert),n(a.wordIdDelete),Array.isArray(a.wordIdOther)))for(const f of a.wordIdOther)n(f);const l=s.wordRevisionIds;l&&typeof l=="object"&&(n(l.insert),n(l.delete),n(l.format));const c=s.replacement;if(c&&typeof c=="object")for(const f of[c.inserted,c.deleted])f&&typeof f=="object"&&(n(f.id),n(f.wordId));const d=s.move;if(d&&typeof d=="object")for(const f of[d.source,d.destination])f&&typeof f=="object"&&(n(f.id),n(f.wordId))};r(e);const o=e?.change;return o&&o!==e&&r(o),t}function Ns(e){const t=gA.get(e);if(t)return t;const n=new Set,r=new Map;for(const i of e){const s=no(i);if(s){n.add(s);for(const a of vA(i)){r.has(a)||r.set(a,s);const l=`imported:${a}`;r.has(l)||r.set(l,s)}}}const o={toPublicId(i){if(n.has(i))return i;const s=r.get(i);return s!=null&&n.has(s)?s:null},aliasesFor(i){const s=[i];for(const[a,l]of r)l===i&&!s.includes(a)&&s.push(a);return s}};return gA.set(e,o),o}var yA=new WeakMap,bA=new WeakMap;function fc(e,t){const n=br(t);let r=yA.get(e);r||(r=new Map,yA.set(e,r));const o=r.get(n);if(o)return o;const i=Ns(e.filter(s=>br(Df(s))===n));return r.set(n,i),i}function pV(e){return!!e&&typeof e=="object"&&e.storyType==="textbox"}function mV(e,t){const n=t.filter(o=>e.some(i=>no(i)===o&&Df(i)==null));if(n.length===0)return null;if(n.length===1)return n[0];const r=new Set;for(const o of n){const i=e.find(s=>no(s)===o);if(i)for(const s of vA(i)){if(r.has(s))return null;r.add(s)}}return n[0]}function gV(e){const t=bA.get(e);if(t)return t;const n=e.filter(o=>Df(o)!=null),r=n.length===e.length?e:n;return bA.set(e,r),r}function vV(e){const{selectionIds:t,publicIds:n,selection:r,bodyItems:o,allStoryItems:i}=e;if(t.length===0)return null;const s=c=>{for(const d of t){const f=c.toPublicId(d);if(f)return f}return null},a=ts(r),l=br(a)===br(null);if(i){const c=l?gV(i):i,d=s(fc(c,a));if(d)return d;const f=n?.find(h=>c.some(g=>Ni(g,h,a)));return f||(l?s(Ns(o)):pV(a)?mV(i,t):null)}return l?s(Ns(o))??t[0]??null:null}function yV(e,t){const n=e.find(r=>no(r)===t||r.importedId===t);return n?n.rootCommentId??n.parentCommentId??no(n)??t:null}function bV(e){const t=e.selectionTarget;if(t){const s=t.start,a=t.end,l=typeof s?.blockId=="string"?s.blockId:void 0,c=typeof a?.blockId=="string"?a.blockId:l;if(l)return{startBlockId:l,endBlockId:c??l}}const n=e.target,r=n&&Array.isArray(n.segments)?n.segments:[],o=r[0]?.blockId,i=r[r.length-1]?.blockId;return typeof o=="string"?{startBlockId:o,endBlockId:typeof i=="string"?i:o}:null}function Nr(e){const t=[],n=s=>{typeof s=="string"&&s.length>0&&!t.includes(s)&&t.push(s)},r=e.target,o=r&&Array.isArray(r.segments)?r.segments:[];for(const s of o)n(s?.blockId);const i=e.selectionTarget;return i&&(n(i.start?.blockId),n(i.end?.blockId)),t}var wV=64;function hc(e){return e.length<=wV}function ts(e){const t=e.target,n=e.selectionTarget,r=n?.start,o=n?.end,i=t?.story??n?.story??r?.story??o?.story;return i&&typeof i=="object"?i:{kind:"story",storyType:"body"}}function So(e,t){return{kind:"block",nodeType:"paragraph",nodeId:e,...t&&typeof t=="object"?{story:t}:{}}}function Ia(e){return{kind:"block",nodeType:"paragraph",nodeId:e}}function wA(e,t){return{kind:"block",nodeType:"listItem",nodeId:e,...t&&typeof t=="object"?{story:t}:{}}}var CA=720;function Bs(e){return Math.round(e*20)}function Pu(e){return typeof e=="number"&&Number.isFinite(e)}function CV(e){if(!e||typeof e!="object")return null;const t=e.node;if(!t||typeof t!="object")return null;const n=t.kind==="heading"?t.heading??null:t.kind==="paragraph"?t.paragraph??null:null;if(!n)return null;const r=n.resolved,o=n.props,i=r?.indent??o?.indent;if(!i||typeof i!="object")return null;const s=Pu(i.left)?Bs(i.left):Pu(i.start)?Bs(i.start):void 0,a=Pu(i.right)?Bs(i.right):Pu(i.end)?Bs(i.end):void 0,l=Pu(i.firstLine)?Bs(i.firstLine):void 0,c=Pu(i.hanging)?Bs(i.hanging):void 0;return s==null&&a==null&&l==null&&c==null?null:{...s!=null?{left:s}:{},...a!=null?{right:a}:{},...l!=null?{firstLine:l}:{},...c!=null?{hanging:c}:{}}}function l2(e){const t=e.target,n=t&&Array.isArray(t.segments)?t.segments:[],r=t?.story,o=[];for(const i of n){if(!i||typeof i.blockId!="string")continue;const s=i.range;!s||typeof s.start!="number"||typeof s.end!="number"||s.start===s.end||o.push({kind:"text",blockId:i.blockId,range:{start:s.start,end:s.end},...r?{story:r}:{}})}return o}function kV(e){if(!e||typeof e!="object")return[];const t=e,n=t.story,r=[];if(t.kind==="text"&&t.range&&typeof t.blockId=="string"){const o=t.range;return typeof o.start=="number"&&typeof o.end=="number"&&o.start!==o.end&&r.push({kind:"text",blockId:t.blockId,range:{start:Math.min(o.start,o.end),end:Math.max(o.start,o.end)},...n?{story:n}:{}}),r}if(t.kind==="text"&&Array.isArray(t.segments)){for(const o of t.segments){const i=o?.range;typeof o?.blockId=="string"&&typeof i?.start=="number"&&typeof i?.end=="number"&&i.start!==i.end&&r.push({kind:"text",blockId:o.blockId,range:{start:Math.min(i.start,i.end),end:Math.max(i.start,i.end)},...n?{story:n}:{}})}return r}if(t.kind==="selection"){const o=t.start,i=t.end,s=typeof o?.blockId=="string"&&i?.blockId===o.blockId?o.blockId:null;o?.kind==="text"&&i?.kind==="text"&&s&&typeof o.offset=="number"&&typeof i.offset=="number"&&o.offset!==i.offset&&r.push({kind:"text",blockId:s,range:{start:Math.min(o.offset,i.offset),end:Math.max(o.offset,i.offset)},...t.story??o.story?{story:t.story??o.story}:{}})}return r}function Of(e){if(!e||typeof e!="object")return null;const t=e,n=t.story;if(t.kind==="text"&&t.range&&typeof t.blockId=="string"){const r=t.range;if(typeof r.start=="number"&&typeof r.end=="number"&&r.start===r.end)return{kind:"text",blockId:t.blockId,range:{start:r.start,end:r.end},...n?{story:n}:{}}}if(t.kind==="text"&&Array.isArray(t.segments)){const r=t.segments[0],o=r?.range;if(typeof r?.blockId=="string"&&typeof o?.start=="number"&&typeof o?.end=="number"&&o.start===o.end)return{kind:"text",blockId:r.blockId,range:{start:o.start,end:o.end},...n?{story:n}:{}}}if(t.kind==="selection"){const r=t.start,o=t.end,i=typeof r?.blockId=="string"&&o?.blockId===r.blockId?r.blockId:null;if(r?.kind==="text"&&o?.kind==="text"&&i&&typeof r.offset=="number"&&typeof o.offset=="number"&&r.offset===o.offset)return{kind:"text",blockId:i,range:{start:r.offset,end:r.offset},...t.story??r.story?{story:t.story??r.story}:{}}}return null}function yl(e){return Of(e.target)??Of(e.selectionTarget)}var kA=["fontFamily","fontSize","color","highlight"],SV={undo:"history.undo",redo:"history.redo"},Ff=["bold","italic","underline","strikethrough"];function c2(e){return kA.includes(e)}function Du(e){const t=e.target,n=t&&Array.isArray(t.segments)?t.segments:[],r=[],o=(l,c,d)=>{typeof l!="string"||typeof c!="number"||typeof d!="number"||r.push({blockId:l,start:Math.min(c,d),end:Math.max(c,d)})};for(const l of n){const c=l?.range;o(l?.blockId,c?.start,c?.end)}if(r.length>0)return r;const i=e.selectionTarget,s=i?.start,a=i?.end;return!s||!a||s.blockId!==a.blockId||o(s.blockId,s.offset,a.offset),r}function ns(e){const t=e.target,n=e.selectionTarget,r=n?.start,o=n?.end,i=t?.story??n?.story??r?.story??o?.story;return i&&typeof i=="object"?i:void 0}function _V(e){const t=ns(e);if(!t||typeof t!="object")return"body";const n=t;return JSON.stringify({storyType:typeof n.storyType=="string"?n.storyType:"body",refId:typeof n.refId=="string"?n.refId:null,noteId:typeof n.noteId=="string"?n.noteId:null,textboxId:typeof n.textboxId=="string"?n.textboxId:null})}function xa(e){const t=Du(e);return t.length===0?null:[_V(e),...t.map(n=>`${n.blockId}:${n.start}-${n.end}`)].join("|")}function SA(e){const t=e.selectionTarget;return!t||typeof t!="object"?null:uc({selectionTarget:t})}function AV(e,t){if(e==="fontSize"){const r=typeof t=="number"?t:Number(t);return Number.isFinite(r)&&r>0?String(r):null}if(typeof t!="string")return null;const n=t.trim();return n.length===0?null:e==="color"||e==="highlight"?n.toUpperCase():n}function IV(e,t){return Math.max(e.start,t.start)<Math.min(e.end,t.end)}function xV(e){if(!e)return[];const t=Array.isArray(e.blocks)?e.blocks:[],n=[];for(const r of t){const o=r?.range,i=r?.blockId;typeof i!="string"||typeof o?.start!="number"||typeof o?.end!="number"||n.push({blockId:i,start:Math.min(o.start,o.end),end:Math.max(o.start,o.end)})}return n}function EV(e,t){return e.length!==t.length?!1:e.every((n,r)=>{const o=t[r];return o?.blockId===n.blockId&&o?.start===n.start&&o?.end===n.end})}function _A(e,t){const n=Du(t);if(n.length===0)return null;const r=e&&Array.isArray(e.items)?e.items:[];if(r.length===0)return null;const o=r.find(i=>EV(n,xV(i)));if(o)return o;if(n.length===1){const i=r.find(s=>{const a=s?.address;return a?.kind==="block"&&a.nodeId===n[0].blockId});if(i)return i}return r[0]??null}function TV(e,t){const n=t==="fontSize"?e?.fontSizePt??e?.fontSize:t==="highlight"?e?.highlight??e?.backgroundColor:e?.[t];if(typeof n=="number")return Number.isFinite(n)?String(n):void 0;if(typeof n!="string")return;const r=n.trim();if(r.length!==0)return t==="color"||t==="highlight"?r.toUpperCase():r}function u2(e){if(typeof e!="string")return;const t=e.split(",")[0]?.trim().replace(/^['"]+|['"]+$/g,"").trim();if(!t)return;const n=t.toLowerCase();if(!(n==="serif"||n==="sans-serif"||n==="monospace"||n==="cursive"||n==="fantasy"))return t}function RV(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return;const t=Math.round(e*.75*2)/2;if(!(t<=0))return String(t)}function MV(e,t){return e==="fontFamily"?t.toLowerCase():e==="color"||e==="highlight"?t.toUpperCase():t}function AA(e,t){if(!e)return{};const n=new Map;for(const i of Du(t)){const s=n.get(i.blockId)??[];s.push({start:i.start,end:i.end}),n.set(i.blockId,s)}if(n.size===0)return{};const r=Array.isArray(e.blocks)?e.blocks:[],o={};for(const i of kA){const s=new Map;let a=!1,l=!1;for(const c of r){const d=typeof c?.blockId=="string"?c.blockId:null;if(!d)continue;const f=n.get(d);if(!f?.length)continue;const h=Array.isArray(c?.runs)?c.runs:[];for(const g of h){const m=g?.range,v=typeof m?.start=="number"?m.start:null,k=typeof m?.end=="number"?m.end:null;if(v==null||k==null||!f.some(b=>IV(b,{start:v,end:k})))continue;a=!0;const C=TV(g?.styles,i);if(C===void 0){l=!0;continue}const A=MV(i,C);if(s.has(A)||s.set(A,C),s.size>1)break}if(s.size>1)break}a&&!l&&s.size===1&&(o[i]=[...s.values()][0])}return o}function d2(e,t){const n=Nr(e)[0];return n?t==="nodeId"?{kind:"after",nodeId:n}:{kind:"after",target:So(n)}:{kind:"documentEnd"}}function on(e,t){const n=e.supported??t!=="unsupported",r=e.enabled??(e.disabled!==void 0?!e.disabled:n);return{enabled:r,disabled:!r,active:e.active??!1,supported:n,value:e.value,source:t,reason:r?void 0:e.reason}}function Nf(e){if(!e||typeof e!="object")return null;const t=e,n=t.change,r=n&&typeof n=="object"?n:t;return{...t,id:t.id??r.id,change:r}}function vm(e){const t=e,n=t.change;return n&&typeof n=="object"?n:t}function zs(e){if(Tr(e))return!0;if(e===!1)return!1;if(e===!0||e==null||typeof e!="object")return!0;const t=e;return"success"in t||"failure"in t||"effects"in t?e:t.status!=="rejected"}function ym(e){return!!e&&typeof e=="object"&&e.success===!0}function _o(e){return!(e===!1||e&&typeof e=="object"&&e.success===!1)}function Bf(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function f2(e){const t=[],n=r=>{if(!r||typeof r!="object")return;const o=r;if(Array.isArray(o.runs)&&t.push(o),Array.isArray(o.rows))for(const i of o.rows){const s=i?.cells;if(Array.isArray(s))for(const a of s){const l=a;if(Array.isArray(l?.blocks))for(const c of l.blocks)n(c);l?.paragraph&&n(l.paragraph)}}};if(Array.isArray(e))for(const r of e)n(r);return t}function pc(e,t){return e.sourceAnchor?.sourceNodeId===t?!0:e.id===t}function bm(e){return e.trackedChange?.kind==="delete"?0:typeof e.text=="string"?e.text.length:0}function ki(e){let t=!1,n=null,r=null,o=null;for(const i of e)t=i,!_o(i)&&n===null&&(n=i),ym(i)&&(o=i),i!==!1&&(r=i);return n??o??r??t}function LV(e){const t=e?.anchor,n=t?.start,r=t?.end;return typeof n?.blockId!="string"||typeof r?.blockId!="string"||n.blockId!==r.blockId||typeof n.offset!="number"||typeof r.offset!="number"?null:{kind:"selection",start:{kind:"text",blockId:n.blockId,offset:n.offset},end:{kind:"text",blockId:r.blockId,offset:r.offset}}}function PV(e){return e.startsWith("#")?{kind:"anchor",anchor:e.slice(1)}:{kind:"external",url:e}}function wm(e){return Tu(e)?.trackDecision??null}function DV(e){return{found:e.length>0,success:e.length>0,rects:e,rect:e[0]}}function bl(e){return{found:!1,success:!1,rects:[],reason:e}}function OV(e,t){if(!t||typeof t.getBoundingClientRect!="function"||e.rects.length===0)return e;let n;try{const o=t.getBoundingClientRect();n={left:o.left,top:o.top}}catch{return e}const r=e.rects.map(o=>({...o,left:o.left-n.left,right:o.right-n.left,top:o.top-n.top,bottom:o.bottom-n.top}));return{...e,rects:r,rect:r[0]}}function FV(e){if(!e||typeof e!="object")return!1;const t=e;if(typeof t.blockId!="string"||!t.range||typeof t.range!="object")return!1;const n=t.range;return Number.isInteger(n.start)&&Number.isInteger(n.end)&&n.start>=0&&n.start<=n.end}function IA(e){if(!e||e.kind!=="text"||!Array.isArray(e.segments)||e.segments.length===0)return null;const t=Array.from(e.segments);if(!t.every(FV))return null;const n=t[0],r=t[t.length-1],o=e.story;return{kind:"selection",start:{kind:"text",blockId:n.blockId,offset:n.range.start,...o?{story:o}:{}},end:{kind:"text",blockId:r.blockId,offset:r.range.end,...o?{story:o}:{}},...o?{story:o}:{}}}function NV(e){return e.selectionTarget?e.selectionTarget:IA(e.target)}function Ou(e){if(e.empty)return null;if(e.selectionTarget)return e.selectionTarget;const t=IA(e.target);return t&&t.start.kind==="text"&&t.end.kind==="text"&&t.start.blockId!==t.end.blockId?null:t}function h2(e){return!e.inline||typeof e.docRoute!="string"?null:e.docRoute.startsWith("format.")?e.docRoute.slice(7):null}var p2={bold:null,italic:null,underline:null,strike:null,color:null,highlight:null,fontFamily:null,fontSize:null,vertAlign:null,smallCaps:null,caps:null,letterSpacing:null,dstrike:null},BV=Object.fromEntries(Object.entries(p2).filter(([e])=>Qz[e]?.tracked===!0));function zV(e,t,n,r){switch(e.kind){case"toggle":{const o=typeof n=="object"&&n!==null&&"value"in n?n.value:n;return typeof o=="boolean"||o===null?{target:t,value:o}:{target:t,value:!r}}case"value-string":{const o=typeof n=="object"&&n!==null&&"value"in n?n.value:n;return o===null?{target:t,value:null}:typeof o!="string"||o.trim()===""?null:{target:t,value:o}}case"value-number":{const o=typeof n=="object"&&n!==null&&"value"in n?n.value:n,i=typeof o=="number"?o:Number(o);return!Number.isFinite(i)||i<=0?null:{target:t,value:i}}case"clear":return{target:t,inline:{...p2}};default:return null}}function VV(e){const t=o=>{if(!o||typeof o!="object")return null;const i=o,s=i.rowIndex,a=i.columnIndex;return typeof s!="number"||!Number.isInteger(s)||typeof a!="number"||!Number.isInteger(a)?null:{rowIndex:s,columnIndex:a}};if(!e)return null;const n=t(e.start),r=t(e.end);return!n||!r?null:{start:n,end:r}}function jV(e,t){const{tableNodeId:n,rowIndex:r,columnIndex:o,cellNodeId:i,mergeRange:s}=t;switch(e){case"insert-row-before":return{nodeId:n,rowIndex:r,position:"above"};case"insert-row-after":return{nodeId:n,rowIndex:r,position:"below"};case"delete-row":return{nodeId:n,rowIndex:r};case"insert-column-before":return{nodeId:n,columnIndex:o,position:"left"};case"insert-column-after":return{nodeId:n,columnIndex:o,position:"right"};case"delete-column":return{nodeId:n,columnIndex:o};case"delete-table":return{nodeId:n};case"merge-cells":{const a=s??{start:{rowIndex:r,columnIndex:o},end:{rowIndex:r,columnIndex:o}};return{nodeId:n,start:a.start,end:a.end}}case"split-cell":return i?{nodeId:i,rows:1,columns:2}:null;case"remove-borders":return{nodeId:n,mode:"applyTo",applyTo:"all",border:null};default:return null}}function UV(e){const t=e.superdoc,n=new Map,r=new Map;let o=null,i=0;const s=[];let a=null,l=0,c=!1,d=Promise.resolve(),f=null,h={mode:"idle",snapshot:null,sourceSelectionKey:null,lastClickAt:0,pointerSelecting:!1,keyboardSelecting:!1},g=0;const m=new Set;let v={},k="",C=null;const A=()=>{const u=t?.activeEditor;return u&&typeof u=="object"?u:null},b=()=>{const u=A()?.doc;return u&&typeof u=="object"?u:null},w=()=>{const u=A()?.v2TrackedChanges;return u&&typeof u=="object"?u:null},T=()=>{const u=A();if(u?.editorVersion!==2)return null;const p=u.reviewWindow;return p&&typeof p=="object"?p:null},M=()=>{const u=T();return!u||typeof u.getSnapshot!="function"?null:Tt(()=>u.getSnapshot(),null)},N=()=>typeof T()?.getSnapshot=="function",H=u=>{const p=u?.status;return p==="ready"||p==="stale"?p:"pending"},L=()=>{const u=A()?.host;return u&&typeof u=="object"?u:null},V=u=>{if(u.storyType!=="headerFooterPart"||typeof u.refId!="string")return null;const p=A(),y=L(),_=p?.pageLayout??y?.pageLayout;if(!_||typeof _!="object")return null;const x=_.getActiveRulerContext,z=y?.resolveHeaderFooterEditTarget;if(typeof x!="function"||typeof z!="function")return null;const G=Tt(()=>x.call(_),null);if(!G||typeof G.pageIndex!="number")return null;for(const re of["header","footer"]){const ce=Tt(()=>z.call(y,{pageIndex:G.pageIndex,kind:re}),null);if(!(ce?.status!=="ready"||ce.refId!==u.refId||typeof ce.sectionId!="string"||!["default","first","even"].includes(String(ce.slotVariant))))return{kind:"story",storyType:"headerFooterSlot",section:{kind:"section",sectionId:ce.sectionId},headerFooterKind:re,variant:ce.slotVariant}}return null},q=()=>{const u=L(),p=u?.getPendingInlineFormat;if(typeof p!="function")return null;const y=Tt(()=>p.call(u),null);return y&&typeof y=="object"?y:null},D=u=>{const p=h2(u);if(!p)return null;const y=q();if(!y||!(p in y))return null;const _=y[p];return u.inline?.kind==="toggle"?_===!0:_!=null&&_!==""},B=u=>{const p=h2(u);if(!p)return;const y=q();if(!y||!(p in y))return;const _=y[p];if(typeof _=="string"&&_!=="")return _;if(typeof _=="number"&&Number.isFinite(_))return String(_)},E=(u,p)=>{const y=L(),_=y?.setPendingInlineFormat;typeof _=="function"&&Tt(()=>_.call(y,u,p),void 0)},j=u=>{const p=L(),y=p?.clearPendingInlineFormat;typeof y=="function"&&Tt(()=>y.call(p,u),void 0)},J=new Set(["bold","italic","underline","strikethrough"]),Y=u=>{const p=q();if(!p)return;const y=Array.isArray(u.activeMarks)?u.activeMarks:[];let _=null;for(const x of Object.keys(p)){const z=p[x];let G;if(J.has(x))G=y.includes(x)===(z===!0);else if(c2(x)){if(z==null)continue;_||(_=Tl(u)),G=_[x]===z}else G=!1;G&&j(x)}},se=()=>{const u=A()?.editCommands;return u&&typeof u=="object"?u:null},pe=u=>{const p=se();if(!p||typeof p.getSnapshot!="function")return null;const y=Tt(()=>p.getSnapshot(),null)?.commands?.[u];return y&&typeof y=="object"?y:null},je=()=>pe("lists.apply"),ge=u=>{const p=u?.value?.seed;return p==="bullet"||p==="ordered"?p:null},be=u=>{const p=SV[u];return p?pe(p):null},ve=()=>{const u=L();if(!u||typeof u.getTableContext!="function")return null;const p=Tt(()=>u.getTableContext(),null);return p&&typeof p=="object"?p:null},_e=()=>{const u=ve();if(!u||u.inTable!==!0)return null;const p=u.table,y=typeof p?.nodeId=="string"&&p.nodeId.length>0?p.nodeId:null;if(!y)return null;const _=u.row,x=u.column,z=u.cell,G=typeof _?.index=="number"&&Number.isInteger(_.index)?_.index:null,re=typeof x?.index=="number"&&Number.isInteger(x.index)?x.index:null;if(G==null||re==null)return null;const ce=typeof z?.nodeId=="string"&&z.nodeId.length>0?z.nodeId:null,Te=u.cellRange;return{tableNodeId:y,rowIndex:G,columnIndex:re,cellNodeId:ce,mergeRange:VV(Te)}},oe=new Map;let Re=null,$e=null,nt=0,Ct=0,Ee=0;const We=new Set,Xe=(u,p)=>u===p?!0:!u||!p?!1:u.id===p.id&&u.paintedEntityId===p.paintedEntityId&&br(u.story)===br(p.story),ee=u=>Array.from(We).some(p=>Xe(p,u)),S=u=>{const p=L();if(typeof p?.getHandles!="function")return;const y=Tt(()=>p.getHandles(),null),_=y?.review;if(_){if(u){if(typeof _.setActiveReviewTarget!="function")return;const x=y?.layout;Tt(()=>_.setActiveReviewTarget({entityType:"trackedChange",entityId:u.id,...u.paintedEntityId?{paintedEntityId:u.paintedEntityId}:{},origin:"panel",layoutEpoch:typeof x?.generation=="number"?x.generation:0,story:u.story??{kind:"story",storyType:"body"}}),null);return}typeof _.getActiveReviewTarget!="function"||typeof _.clearActiveReviewTarget!="function"||Tt(()=>_.getActiveReviewTarget(),null)?.entityType==="trackedChange"&&Tt(()=>_.clearActiveReviewTarget(),void 0)}},ne=(u,p)=>{$e=u,nt+=1,Ee+=1,p?.invalidateQueuedNavigation!==!1&&(Ct+=1)},O=new Set;let P,U=!1,$=null;const Q=new Map,Z=new Set;let K=null,me=null,Me=!1,he=null,Be=0,qe=null,rt=null,lt=null;const Xt=[],He=()=>{if(Me||U)return;Me=!0;const u=()=>{Me=!1,U||jt("async-read-settled")};typeof queueMicrotask=="function"?queueMicrotask(u):Promise.resolve().then(u)},Ot=250,Dt=5e3,sn=u=>{U||he&&Be<=u||(he&&clearTimeout(he),Be=u,he=setTimeout(()=>{he=null,Be=0,U||jt()},Math.max(0,u-Date.now())))},Kn=new WeakMap;let nn=0;const et=u=>{if(!u)return"none";let p=Kn.get(u);return p==null&&(p=nn+=1,Kn.set(u,p)),`e${p}`};let Rt=0;const zt=e.superdoc,Ht=Jz(zt),Jt=()=>{Ht.abortController.abort("review-mutation-started"),Ht.inFlight=null},hn=()=>{Ht.generation+=1,Ht.abortController=new AbortController,Ht.inFlight=null},Gn=u=>{const p=Ht.activeMutationTokens;if(typeof u!="string"||u.length===0||p.has(u))return;const y=p.size===0;p.add(u),y&&Jt()},gr=u=>{const p=Ht.activeMutationTokens;typeof u!="string"||!p.delete(u)||p.size===0&&hn()},ro=u=>{const p=w(),y=p?.listTrackedChanges;if(typeof y!="function")return A()?.editorVersion===2?Promise.reject(new Error("v2-tracked-changes-bridge-pending")):u();if(Ht.activeMutationTokens.size>0)return Promise.reject(new Error("ui-review-catalog-superseded"));const _=Ht.generation,x=Ht.inFlight;if(x?.generation===_)return x.promise;const z=Ht.abortController.signal,G=Te=>{if(z.aborted||_!==Ht.generation||Te?.reason==="review-hydration-superseded")throw new Error("ui-review-catalog-superseded");return Te},re=y.call(p,{blocking:!1,signal:z});if(!Tr(re))return G(re);const ce=Promise.resolve(re).then(G);return Ht.inFlight={generation:_,promise:ce},ce.then(()=>{Ht.inFlight?.promise===ce&&(Ht.inFlight=null)},()=>{Ht.inFlight?.promise===ce&&(Ht.inFlight=null)}),ce};let Yn=null,kn=new Set,Bn=null,Ao=0,Vo=null;const Ce=()=>`${et(A())}|m${Rt}`,Pe=()=>{Yn=null,kn=new Set},Ze=u=>{for(const p of["trackChanges","trackChanges:all"]){const y=Q.get(p);if(!y?.hasSettled||!Array.isArray(y.value))continue;const _=y.value.filter(x=>{const z=no(x);return!z||!u.has(z)});_.length!==y.value.length&&Q.set(p,{...y,value:_})}},gt=u=>{const p=()=>{if(!U)for(const z of[...O])z(P)},y=Bf(u)?u:null,_=A()?.documentMutationReadiness,x=()=>{const z=globalThis.requestAnimationFrame;return typeof z!="function"?Promise.resolve():new Promise(G=>{let re=!1;const ce=()=>{re||(re=!0,clearTimeout(Te),G())},Te=setTimeout(ce,250);z(()=>z(()=>setTimeout(ce,0)))})};if(y?.success===!0&&typeof y.txId=="string"&&y.txId.length>0&&typeof _?.whenPainted=="function")try{Promise.resolve(_.whenPainted.call(_,y)).then(x,()=>{}).then(p,p);return}catch{}p()},Mt=(u,p)=>{const y=P.trackChanges,_=y.items.filter(G=>{const re=no(G);return!re||!u.has(re)});if(_.length===y.items.length)return;$e&&u.has($e.id)&&ne(null);const x=new Set;for(const G of _){const re=vm(G),ce=G,Te=re.author??re.authorEmail??ce.author??ce.authorEmail;typeof Te=="string"&&x.add(Te)}const z=y.items.length-_.length;P={...P,trackChanges:{...y,items:_,total:Math.max(_.length,y.total-z),activeId:y.activeId&&u.has(y.activeId)?null:y.activeId,authors:[...x]}},gt(p)},At=u=>{const p=P.trackChanges,y=p.items.length>0||p.total!==0||p.activeId!==null||p.authors.length>0;Bn=Ce(),$e!==null&&ne(null),P={...P,trackChanges:{...p,items:[],total:0,activeId:null,authors:[]}},y&&gt(u)},Sn=(u,p)=>{if(u.size===0)return;const y=Ce(),_=Yn===y?kn:new Set,x=new Set([...u].filter(z=>!_.has(z)));x.size!==0&&(Yn=y,kn=new Set([..._,...x]),Ze(kn),Mt(x,p))},Kt=u=>Yn===u&&kn.size>0?kn:null,dr=u=>{const p=Ce(),y=Kt(p),_=u.map(Nf).filter(x=>{if(x==null)return!1;const z=no(x);return z!=null&&!y?.has(z)});for(const x of["trackChanges","trackChanges:all"])Q.set(x,{token:p,value:[..._],hasSettled:!0,inflightToken:null})},Wr=()=>`${Ce()}|m${kr()}|s${Ao}`,ho=u=>JSON.stringify({t:u.target??null,s:u.selectionTarget??null}),Si=["contentControls:inRange:","query:","effInline:"],en=120,gn=180,Jn=()=>{const u=L(),p=u?.getDocumentLoadingSnapshot;if(typeof p!="function")return"unknown";const y=Tt(()=>p.call(u),null)?.sourceStage;return y==="opening"||y==="bootstrap-ready"||y==="source-loading"?"loading":y==="source-complete"||y==="source-failed"||y==="source-cancelled"?"complete":"unknown"},wr=new Map,$t=new Map,Rn=new Map;let Kr=null,Io=0,ii=0;const si=u=>{const p=Ce();wr.get(u)!==p&&(wr.set(u,p),He())},wl=()=>{const u=Q.get("comments");return u?.hasSettled?Array.isArray(u.value)&&u.value.length>0:u?.inflightToken!=null},os=(u,p)=>wr.get(u)===p,is=()=>{const u=Ce();let p=!1;for(const[y,_]of $t){if(_!==u){$t.delete(y);continue}if(Rn.get(y)===u)continue;const x=Q.get(y);!x?.hasSettled||x.token!==u||x.inflightToken!=null||(Q.set(y,{...x,token:null,inflightToken:null}),Rn.set(y,u),p=!0)}p&&He()},vr=u=>{u==="comments"?Io+=1:ii+=1,si(u);let p=!1;return()=>{p||(p=!0,u==="comments"?Io=Math.max(0,Io-1):ii=Math.max(0,ii-1),(u==="comments"?Io:ii)===0&&wr.get(u)===Ce()&&wr.delete(u),He())}},we=u=>{si("contentControls")},Ve=()=>{const u=Q.get("trackChanges");u?.hasSettled||u?.inflightToken!=null||si("trackChanges")},wt=()=>{const u=Q.get("comments");u?.hasSettled||u?.inflightToken!=null||si("comments")},at=6500,jn=250;let Mn=0,xo=0,qr=!1,po=null;const mo=()=>{if(U||po)return;const u=()=>{if(po=null,U)return;const p=Date.now()-Mn;if(Wo()||p<at){po=setTimeout(u,jn);return}qr=!1,jt()};po=setTimeout(u,0)};let Go=null,Cr=null;const er=()=>{const u=L();if(!u||Go===u)return;Cr&&(Cr(),Cr=null),Go=u;const p=u.subscribeDocumentLoading;if(typeof p!="function"){Go=null,Yr(at);return}try{const y=z=>{const G=z?.sourceStage;(G==="source-complete"||G==="source-failed"||G==="source-cancelled")&&(Kr=Ce(),is(),Mn=Math.max(Mn,Date.now()),mo())},_=p.call(u,y);typeof _=="function"&&(Cr=_);const x=u.getDocumentLoadingSnapshot;typeof x=="function"&&y(Tt(()=>x.call(u),null))}catch{Go=null,Yr(at)}},ai=()=>{const u=A()?.host,p=u?.getForegroundMutationState;if(typeof p!="function")return null;const y=Tt(()=>p.call(u),null);return{active:typeof y?.active=="number"?y.active:0,pending:typeof y?.pending=="number"?y.pending:0}},Wo=()=>{const u=ai();return!!(u&&(u.active>0||u.pending>0))},Yr=(u=en)=>{U||qe||(qe=setTimeout(()=>{if(qe=null,U)return;if(rt&&Wo()){Yr(),jt();return}const p=rt;rt=null,p===Wr()&&Vi("selection",p,_l,ji),jt()},u))},ss=(u,p)=>{if(!ai())return!1;const y=`${u}\0${p}`;return Z.has(y)?!1:(Z.add(y),Yr(gn),!0)},Bi=u=>{if(K==null||u===K)return me?.timer&&clearTimeout(me.timer),me=null,K=u,!1;if(me?.key===u)return me.ready?(me=null,K=u,!1):!0;me?.timer&&clearTimeout(me.timer);const p={key:u,ready:!1,timer:null};return p.timer=setTimeout(()=>{U||me!==p||(p.timer=null,p.ready=!0,jt())},gn),me=p,!0},Vs=u=>Gz(u),_i=()=>{Hs(),jt()};let zi=null,js=!1,as=0;const Ea=()=>{zi=null,js=!1,as+=1},Cl=()=>{const u=A(),p=u?.documentMutationReadiness;if(!u||typeof p?.whenPainted!="function"||(zi={editor:u,readiness:p,afterEpoch:typeof p.getRenderEpoch=="function"?Tt(()=>p.getRenderEpoch.call(p),null):null},js))return;js=!0;const y=as;(async()=>{for(;!U&&y===as;){const x=zi;if(zi=null,!x){js=!1;return}let z=!1;try{await x.readiness.whenPainted.call(x.readiness,typeof x.afterEpoch=="number"?{afterEpoch:x.afterEpoch}:void 0),z=!0}catch{}if(U||y!==as)return;if(A()!==x.editor){Ea();return}z&&_i()}})()},Fu=()=>{lt&&clearTimeout(lt),lt=setTimeout(()=>{lt=null,U||_i()},500)},Vi=(u,p,y,_)=>{let x;try{x=y()}catch{x=void 0}if(!Tr(x)){const re={token:p,value:_(x),hasSettled:!0,inflightToken:null,failedToken:null,failureCount:0,retryAtMs:0};return Q.set(u,re),re}const z=Q.get(u),G=z?.failedToken===p;return Q.set(u,{token:z?.token??null,value:z?.value??null,hasSettled:z?.hasSettled??!1,inflightToken:p,failedToken:G?p:null,failureCount:G?z.failureCount??0:0,retryAtMs:0}),Promise.resolve(x).then(re=>{const ce=Q.get(u);if(!ce||ce.inflightToken!==p)return;Q.set(u,{token:p,value:_(re),hasSettled:!0,inflightToken:null,failedToken:null,failureCount:0,retryAtMs:0});const{sink:Te,workerContext:ze}=pm();if(Te){const Ue=Aa();Xt.push({key:u,settledAtMs:Ue,commandId:ze?.commandId??null,commandKind:ze?.commandKind??null}),r2({stage:"superdoc-ui-async-read-settled",atMs:Ue,key:u,settledAtMs:Ue,commandId:ze?.commandId??null,commandKind:ze?.commandKind??null})}He()},()=>{const re=Q.get(u);if(!re||re.inflightToken!==p)return;const ce=re.failedToken===p?(re.failureCount??0)+1:1,Te=Math.min(Dt,Ot*2**Math.min(ce-1,8)),ze=Date.now()+Te;Q.set(u,{...re,inflightToken:null,failedToken:p,failureCount:ce,retryAtMs:ze}),sn(ze)}),null},Eo=(u,p,y,_)=>{const x=Q.get(u);if(x&&x.token===p&&x.hasSettled)return{value:x.value,status:"ready"};if(cV(u)&&!os(u,p)){if(Jn()==="loading")return qr=!0,er(),x?.hasSettled?{value:x.value,status:"stale"}:{value:null,status:"pending"};if(qr)return mo(),x?.hasSettled?{value:x.value,status:"stale"}:{value:null,status:"pending"};if(Date.now()-xo<at)return qr=!0,mo(),x?.hasSettled?{value:x.value,status:"stale"}:{value:null,status:"pending"}}if(Wo())return Yr(),x?.hasSettled?{value:x.value,status:"stale"}:{value:null,status:"pending"};if(x?.failedToken===p&&x.inflightToken==null&&(x.retryAtMs??0)>Date.now())return sn(x.retryAtMs),x.hasSettled?{value:x.value,status:"stale"}:{value:null,status:"pending"};if(!x&&u.startsWith("effInline:")&&Bi(u))return{value:null,status:"pending"};if(!x&&ss(u,p))return{value:null,status:"pending"};if(!x||x.inflightToken!==p){const G=Vi(u,p,y,_);if(G)return{value:G.value,status:"ready"}}const z=Q.get(u);return z?.hasSettled?{value:z.value,status:"stale"}:{value:null,status:"pending"}},kl=u=>{for(const p of Q.keys())u(p)&&Q.delete(p)},zf=u=>{const p=ho(u),y=SA(u);return new Set([`contentControls:inRange:${p}`,`query:${p}`,...y?[`effInline:${y}`]:[]])},Us=u=>{const p=zf(u);kl(y=>Si.some(_=>y.startsWith(_))&&!p.has(y));for(const y of Z){const _=y.split("\0",1)[0];Si.some(x=>_.startsWith(x))&&!p.has(_)&&Z.delete(y)}},Ta=()=>{const u=A();u!==Vo&&(Ea(),Vo=u,Q.clear(),he&&clearTimeout(he),he=null,Be=0,me?.timer&&clearTimeout(me.timer),me=null,K=null,C=null,o=null,rt=null,Z.clear(),wr.clear(),$t.clear(),Rn.clear(),Kr=null,qr=!1,Cr&&Cr(),Cr=null,Go=null,Pe(),Bn=null)},Hs=()=>{Rt+=1,$t.clear(),Rn.clear(),Kr=null,Pe()},Sl=()=>{const u=Bn===Ce();Hs(),u&&(dr([]),Bn=Ce()),jt()},Vf=u=>{if(typeof u!="string"||u.length===0)return qn("insertText requires a non-empty string.","INVALID_INPUT");if(kr()==="viewing")return qn("The document is read-only.","DOCUMENT_READONLY");const p=b(),y=p?.insert;if(!p||typeof y!="function")return qn("insert is unavailable.");const _=p.selection?.current;if(typeof _!="function")return qn("selection.current is unavailable.");const x=G=>{const re=G&&typeof G=="object"?G:null,ce=re?.selectionTarget??re?.target??null;return!ce||typeof ce!="object"?qn("insertText requires a live selection target.","PRECONDITION_FAILED"):Tt(()=>Ol(y.call(p,{type:"text",value:u,target:ce}),qn("insert failed.")),qn("insert failed."))};let z;try{z=_.call(p.selection)}catch{return qn("insertText could not resolve the live selection.","PRECONDITION_FAILED")}return Tr(z)?Promise.resolve(z).then(x,()=>qn("insertText could not resolve the live selection.","PRECONDITION_FAILED")):x(z)},ls=(u,p)=>({payload:u,state:P,editor:A(),superdoc:t,context:p,ui:$,execute:(y,_)=>Lc(y,_),executeAsync:(y,_)=>Rm(y,_),doc:b(),selection:P.selection,documentMode:kr(),insertText:Vf}),Ra=u=>u==="editing"||u==="suggesting"||u==="viewing"?u:null,kr=()=>{const u=A(),p=t&&typeof t=="object"?t:null,y=Ra(p?.config?.documentMode),_=Tt(typeof p?.getActiveRuntime=="function"?()=>{const G=p.getActiveRuntime();return typeof G?.getSnapshot=="function"?G.getSnapshot():null}:void 0,null),x=Ra(_?.documentMode),z=Ra(u?.options?.documentMode);return y&&x&&y!==x?y:x??y??z},li=()=>{const u=t&&typeof t=="object"?t:null,p=u?.interactionConfig?.comments;if(p&&typeof p.readOnly=="boolean")return p.readOnly===!0;const y=u?.config?.modules?.comments;return!!y&&typeof y=="object"&&y.readOnly===!0},mc=()=>{const u=t&&typeof t=="object"?t:null,p=u?.interactionConfig?.comments;if(p&&typeof p.allowResolve=="boolean")return p.allowResolve===!1;const y=u?.config?.modules?.comments;return!!y&&typeof y=="object"&&y.allowResolve===!1},$s=()=>kr()==="viewing"||li(),ji=u=>u&&typeof u=="object"?u:null,cs=(u,p)=>{if(!u)return{...sV,status:p};const y=u.target??null,_=typeof u.text=="string"?u.text:"";return{status:p,empty:u.empty===!0,target:y,selectionTarget:u.selectionTarget??null,activeMarks:Array.isArray(u.activeMarks)?u.activeMarks:[],activeCommentIds:Array.isArray(u.activeCommentIds)?u.activeCommentIds:[],activeChangeIds:Array.isArray(u.activeChangeIds)?u.activeChangeIds:[],quotedText:_}},Gs=()=>{const u=b()?.selection;return Eo("selection",Wr(),()=>u?.current?u.current({includeText:!0}):void 0,ji)},Nu=()=>{const{value:u,status:p}=Gs();return cs(u,p)},_l=()=>{const u=b()?.selection;return u?.current?u.current({includeText:!0}):void 0},Al=u=>{if(u.empty!==!0)return!1;const p=u.selectionTarget,y=p?.start,_=p?.end;return y?.kind==="text"&&_?.kind==="text"&&typeof y.blockId=="string"&&y.blockId===_.blockId&&typeof y.offset=="number"&&y.offset===_.offset},Ma=u=>{const p=L(),y=p?.readLiveSelectionSyncSnapshot;if(typeof y!="function")return;const _=ji(Tt(()=>y.call(p),null));if(!_||!Al(_))return;const x=Wr(),z=ai(),G=!!(z&&(z.active>0||z.pending>0));if(G)rt=x,Yr();else if(rt=null,Vi("selection",x,_l,ji))return;const re=Q.get("selection"),ce=Array.isArray(_.activeMarks)&&_.activeMarks.length>0?_.activeMarks:Array.isArray(P.selection.activeMarks)?P.selection.activeMarks:[],Te=Array.isArray(_.activeCommentIds)?_.activeCommentIds:[],ze=hV(u),Ue=yl(P.selection),Ye=Of(_.selectionTarget)??Of(_.target),Je=Ue?.range,Ge=Ye?.range,tt=!!(z&&z.active>0&&Ue&&Ye&&Ue.blockId===Ye.blockId&&br(Ue.story)===br(Ye.story)&&typeof Je?.start=="number"&&typeof Ge?.start=="number"&&Math.abs(Ge.start-Je.start)<=2),ft=ze!=null||tt?P.selection.activeChangeIds.filter(ot=>ze==null||Ns(P.trackChanges.items).aliasesFor(ot).includes(ze)):[],dt=Array.isArray(_.activeChangeIds)&&_.activeChangeIds.length>0?_.activeChangeIds:ft;Q.set("selection",{token:x,value:{..._,activeMarks:ce,activeCommentIds:Te,activeChangeIds:dt},hasSettled:!0,inflightToken:G?null:re?.inflightToken??null})},gc=async(u=0)=>{const p=b()?.selection,y=p?.current,_=Wr();if(typeof y!="function")return Q.set("selection",{token:_,value:null,hasSettled:!0,inflightToken:null}),jt(),P.selection;let x;try{x=y.call(p,{includeText:!0}),Tr(x)&&(x=await Promise.resolve(x))}catch{x=null}return U?cs(null,"pending"):Wr()!==_?u<1?gc(u+1):P.selection:(Q.set("selection",{token:_,value:ji(x),hasSettled:!0,inflightToken:null}),jt(),P.selection)},Il=()=>{const u=b()?.comments;return Eo("comments",Ce(),()=>u?.list?u.list():void 0,p=>p&&Array.isArray(p.items)?p.items:[])},La=(u="trackChanges")=>{const p=Ce(),y=b()?.trackChanges,_=w(),x=typeof _?.listTrackedChanges=="function"?_.listTrackedChanges:null,z=Eo(u,p,()=>x?ro(()=>y?.list?.({in:"all"})):y?.list?y.list({in:"all"}):void 0,G=>{const re=G&&typeof G=="object"?G:null;if(re?.complete===!1||re?.sourceCoverageComplete===!1){if($t.set(u,p),er(),Kr===p||Jn()==="complete"){const ce=()=>{U||is()};typeof queueMicrotask=="function"?queueMicrotask(ce):Promise.resolve().then(ce)}}else $t.get(u)===p&&$t.delete(u);return re&&Array.isArray(re.items)?re.items:[]});return $t.get(u)===p&&z.status==="ready"?{...z,status:"stale"}:z},Bu=u=>{const p=M(),y=N(),_=y?null:Il(),x=y&&Array.isArray(p?.commentItems)?p.commentItems:null,z=y?x:_.value,G=y?H(p):_.status,re=z??[],ce=u.activeCommentIds,Te=Q.get("comments"),ze=Te?.token===Ce()&&Te.hasSettled&&Array.isArray(Te.value)?Te.value:null,Ue=Io>0?ze:re;Re&&Ue&&!Ue.some(Je=>no(Je)===Re)&&(Re=null);const Ye=Re??ce[0]??null;return{status:vl(G,u.status),listStatus:G,items:re,total:re.length,activeIds:ce,activeId:Ye}},Pa=new WeakMap,us=u=>{const p=Pa.get(u);if(p)return p;const y=u.map(Nf).filter(_=>_!=null);return Pa.set(u,y),y},xl=new WeakMap,Sr=(u,p)=>{const y=xl.get(u);if(y?.suppressedIds===p)return y.value;const _=p?u.filter(x=>{const z=no(x);return!z||!p.has(z)}):u;return xl.set(u,{suppressedIds:p,value:_}),_},vc=new WeakMap,Da=u=>{const p=vc.get(u);if(p)return p;const y=new Set;for(const x of u){const z=vm(x),G=x,re=z.author??z.authorEmail??G.author??G.authorEmail;typeof re=="string"&&y.add(re)}const _=[...y];return vc.set(u,_),_},Ai=()=>{const u=Ce();if(N()){const _=Q.get("trackChanges"),x=_?.token===u&&_.hasSettled&&Array.isArray(_.value)?_.value:M()?.trackedChangeItems;return Array.isArray(x)?us(x):null}const{value:p,status:y}=La("trackChanges:all");return y==="ready"?us(p??[]):null},zu=u=>{const p=Ce(),y=Kt(p),_=M(),x=N(),z=x?null:La(),G=x&&Array.isArray(_?.trackedChangeItems)?_.trackedChangeItems:null,re=x?G:z.value,ce=x?H(_):z.status,Te=Sr(us(re??[]),y),ze=Ai(),Ue=$e;if(Ue&&!We.has(Ue)){const Nt=Q.get("trackChanges"),Un=Nt?.token===p&&Nt.hasSettled&&Array.isArray(Nt.value)?Sr(us(Nt.value),y):null,Hn=ii>0?Un:Ue.story?ze:Te;Hn&&!Hn.some(Zr=>Ni(Zr,Ue.id,Ue.story))&&ne(null)}const Ye=ze??Te,Je=fc(Ye,ts(u)),Ge=Bn===p?[]:y?u.activeChangeIds.filter(Nt=>!y.has(Nt)):u.activeChangeIds,tt=Ge.map(Nt=>Je.toPublicId(Nt)??Nt),ft=$e?.story?fc(Ye,$e.story):Ns(Ye),dt=$e?ft.toPublicId($e.id)??$e.id:null,ot=vV({selectionIds:Ge,publicIds:tt,selection:u,bodyItems:Te,allStoryItems:ze}),Ft=dt??ot;return{status:vl(ce,u.status),items:Te,total:Te.length,activeId:Ft,authors:Da(Te)}},Ui=(u,p)=>{if(!N())return p;si("comments");const y=Il(),_=y.value??p.items;return{status:vl(y.status,u.status),listStatus:y.status,items:_,total:_.length,activeIds:u.activeCommentIds,activeId:Re??u.activeCommentIds[0]??null}},yc=(u,p)=>{if(!N())return p;si("trackChanges");const y=La(),_=Kt(Ce()),x=Sr(us(y.value??p.items),_),z=$e?.story?fc(x,$e.story):Ns(x),G=$e?z.toPublicId($e.id)??$e.id:p.activeId;return{status:vl(y.status,u.status),items:x,total:x.length,activeId:G,authors:Da(x)}},Vu=u=>{const p=b()?.contentControls,{value:y,status:_}=Eo("contentControls",Ce(),()=>p?.list?p.list():void 0,re=>re&&Array.isArray(re.items)?re.items:[]),x=y??[],{ids:z,status:G}=ju(p,u);return{status:vl(_,G,u.status),items:x,total:x.length,activeId:z[0]??null,activeIds:z}},Oa=(u,p)=>{if(!u||typeof u.listInRange!="function")return{lockModesById:new Map,status:"ready"};const y=bV(p);if(!y)return{lockModesById:new Map,status:"ready"};const{value:_,status:x}=Eo(`contentControls:inRange:${ho(p)}`,Ce(),()=>u.listInRange(y),re=>re&&Array.isArray(re.items)?re.items:[]),z=_??[],G=new Map;for(const re of z)typeof re?.id=="string"&&G.set(re.id,typeof re.lockMode=="string"?re.lockMode:"unlocked");return{lockModesById:G,status:x}},ju=(u,p)=>{const{lockModesById:y,status:_}=Oa(u,p);return{ids:[...y.keys()],status:_}},Uu=()=>{const u=t?.fonts;return{options:KV(GV(Tt(u?.getDocumentFontOptions?()=>u.getDocumentFontOptions():void 0,[])),WV(Tt(u?.getFontFamilyOptions?()=>u.getFontFamilyOptions():void 0,[]))),sizeOptions:qV}},bc=()=>{const u=Tt(t?.getZoomState?()=>t.getZoomState():void 0,null),p=typeof u?.value=="number"?u.value:100,y=u?.mode;return{mode:y==="manual"||y==="fit-width"?y:y==="fixed"?"manual":null,value:p,min:typeof u?.min=="number"?u.min:10,max:typeof u?.max=="number"?u.max:100}},jf=()=>Tt(t?.getMeasurementUnit?()=>t.getMeasurementUnit():void 0,"in")==="cm"?"cm":"in",Hu=()=>{const u=A();return{ready:u!=null,mode:kr(),dirty:u?!!u.isDirty:!1}},wc=u=>{const p=u.quotedText;if(typeof p!="string"||p.length===0)return null;const y=Du(u);if(y.length===0||!hc(y.map(z=>z.blockId)))return null;const _=u.target,x=y.length===1?So(y[0].blockId,_?.story):void 0;return{select:{type:"text",pattern:p,mode:"contains",caseSensitive:!0},...x?{within:x}:{},require:"any"}},$u=u=>{const p=b()?.query;if(typeof p?.match!="function")return null;const y=wc(u);if(!y)return null;const{value:_}=Eo(`query:${ho(u)}`,Ce(),()=>p.match(y),x=>x&&typeof x=="object"?x:null);return _A(_,u)},Gu=u=>{const p=L(),y=new Set(Nr(u));if(y.size===0)return{};const _=p?.readMountedProjectionBlocksByIds,x=p?.readMountedProjectionBlocks;if(typeof _!="function"&&typeof x!="function")return{};const z=Tt(()=>{if(typeof _!="function")return x.call(p);const tt=ns(u);return tt?_.call(p,[...y],tt):_.call(p,[...y])},null);if(!Array.isArray(z))return{};const G=f2(z),re=tt=>{const ft={},dt=u2(tt.fontFamily);dt&&(ft.fontFamily=dt);const ot=RV(tt.fontSize);return ot&&(ft.fontSize=ot),typeof tt.color=="string"&&tt.color.trim()!==""&&(ft.color=tt.color.trim().toUpperCase()),typeof tt.highlight=="string"&&tt.highlight.trim()!==""&&(ft.highlight=tt.highlight.trim().toUpperCase()),ft},ce=yl(u),Te=ce&&typeof ce.range?.start=="number"?ce.range.start:null;if(ce&&Te!==null&&y.has(ce.blockId)){const tt=G.find(dt=>pc(dt,ce.blockId)),ft=tt&&Array.isArray(tt.runs)?tt.runs:null;if(ft&&ft.length>0&&ft.every(dt=>dt?.kind==="text"||dt?.kind==="tab")){let dt=0,ot=null;for(const Ft of ft){const Nt=bm(Ft);if(Te>=dt&&Te<dt+Nt){ot=Ft;break}dt+=Nt}if(!ot){for(let Ft=ft.length-1;Ft>=0&&!ot;Ft-=1)ft[Ft]?.kind==="text"&&(ot=ft[Ft]);ot??=ft[ft.length-1]??null}return ot?re(ot):{}}}const ze=Du(u);if(ze.length>0){const tt=new Set,ft=new Set;let dt=!1,ot=!0;for(const Ft of ze){const Nt=G.find(Zr=>pc(Zr,Ft.blockId));if(!Nt)return{};const Un=Array.isArray(Nt.runs)?Nt.runs:[];if(Un.length===0)continue;if(!Un.every(Zr=>Zr?.kind==="text"||Zr?.kind==="tab")){ot=!1;break}let Hn=0;for(const Zr of Un){const Qr=bm(Zr),Ar=Hn,Lr=Hn+Qr;if(Ar<Ft.end&&Lr>Ft.start){dt=!0;const Zo=re(Zr);Zo.fontFamily&&tt.add(Zo.fontFamily),Zo.fontSize&&ft.add(Zo.fontSize)}Hn=Lr}}if(ot&&dt){const Ft={};return tt.size===1&&(Ft.fontFamily=[...tt][0]),ft.size===1&&(Ft.fontSize=[...ft][0]),Ft}}const Ue=new Set,Ye=new Set;let Je=!1;for(const tt of G){if(![...y].some(dt=>pc(tt,dt)))continue;const ft=Array.isArray(tt.runs)?tt.runs:[];for(const dt of ft){if(dt?.kind!=="text")continue;Je=!0;const ot=re(dt);ot.fontFamily&&Ue.add(ot.fontFamily),ot.fontSize&&Ye.add(ot.fontSize)}}if(!Je)return{};const Ge={};return Ue.size===1&&(Ge.fontFamily=[...Ue][0]),Ye.size===1&&(Ge.fontSize=[...Ye][0]),Ge},Uf=u=>{const p=L(),y=new Set(Nr(u));if(y.size===0)return{};const _=p?.readMountedProjectionBlocksByIds,x=p?.readMountedProjectionBlocks;if(typeof _!="function"&&typeof x!="function")return{};const z=Tt(()=>{if(typeof _!="function")return x.call(p);const Ge=ns(u);return Ge?_.call(p,[...y],Ge):_.call(p,[...y])},null);if(!Array.isArray(z))return{};const G=f2(z),re=Ge=>({bold:Ge.bold===!0,italic:Ge.italic===!0,underline:Ge.underline!=null,strikethrough:Ge.strike===!0}),ce=Ge=>{const tt={};for(const ft of Ff){const dt=Ge[ft];dt.size===1&&(tt[ft]=[...dt][0])}return tt},Te=yl(u),ze=Te&&typeof Te.range?.start=="number"?Te.range.start:null;if(Te&&ze!==null&&y.has(Te.blockId)){const Ge=G.find(ft=>pc(ft,Te.blockId)),tt=Ge&&Array.isArray(Ge.runs)?Ge.runs:null;if(tt&&tt.length>0&&tt.every(ft=>ft?.kind==="text"||ft?.kind==="tab")){let ft=0,dt=null;for(const ot of tt){const Ft=bm(ot);if(ze>=ft&&ze<ft+Ft){dt=ot;break}ft+=Ft}if(!dt){for(let ot=tt.length-1;ot>=0&&!dt;ot-=1)tt[ot]?.kind==="text"&&(dt=tt[ot]);dt??=tt[tt.length-1]??null}return dt?re(dt):{}}}const Ue=Du(u);if(Ue.length>0){const Ge={bold:new Set,italic:new Set,underline:new Set,strikethrough:new Set};let tt=!1,ft=!0;for(const dt of Ue){const ot=G.find(Un=>pc(Un,dt.blockId));if(!ot)return{};const Ft=Array.isArray(ot.runs)?ot.runs:[];if(Ft.length===0)continue;if(!Ft.every(Un=>Un?.kind==="text"||Un?.kind==="tab")){ft=!1;break}let Nt=0;for(const Un of Ft){const Hn=bm(Un),Zr=Nt,Qr=Nt+Hn;if(Zr<dt.end&&Qr>dt.start){tt=!0;const Ar=re(Un);for(const Lr of Ff)Ge[Lr].add(Ar[Lr])}Nt=Qr}}if(ft&&tt)return ce(Ge)}const Ye={bold:new Set,italic:new Set,underline:new Set,strikethrough:new Set};let Je=!1;for(const Ge of G){if(![...y].some(ft=>pc(Ge,ft)))continue;const tt=Array.isArray(Ge.runs)?Ge.runs:[];for(const ft of tt){if(ft?.kind!=="text")continue;Je=!0;const dt=re(ft);for(const ot of Ff)Ye[ot].add(dt[ot])}}return Je?ce(Ye):{}},Cc=(u,p)=>{if(p.fontFamily!==void 0&&p.fontSize!==void 0&&p.color!==void 0&&p.highlight!==void 0)return{values:p,effectiveUniformityStatus:"ready"};const y=Gu(u),_={...y.fontFamily!==void 0?{fontFamily:y.fontFamily}:{},...y.fontSize!==void 0?{fontSize:y.fontSize}:{},...y.color!==void 0?{color:y.color}:{},...y.highlight!==void 0?{highlight:y.highlight}:{},...p};if(!u.empty&&(_.fontFamily===void 0||_.fontSize===void 0)){const x=kc(u);return x.values&&(_.fontFamily===void 0&&x.values.fontFamily!==void 0&&(_.fontFamily=x.values.fontFamily),_.fontSize===void 0&&x.values.fontSize!==void 0&&(_.fontSize=x.values.fontSize)),{values:_,effectiveUniformityStatus:x.status}}return{values:_,effectiveUniformityStatus:"ready"}},Hf=["fontFamily","fontSize","bold","italic","underline","strikethrough"],Ko=u=>{const p=u.selectionTarget;if(!p)return{value:null,status:"ready"};const y=mr(b(),"format.readEffectiveInlineUniformity");if(!y)return{value:null,status:"ready"};const _=SA(u)??ho(u);return Eo(`effInline:${_}`,Ce(),()=>y({target:p,offsetSpace:"selection",keys:Hf}),x=>x&&typeof x=="object"?x:null)},kc=u=>{const{value:p,status:y}=Ko(u);if(!p||p.success!==!0)return{values:null,status:y};const _=p.values,x=z=>{const G=_?.[z];if(!(!G||G.state!=="uniform"||typeof G.value!="string"))return z==="fontFamily"?u2(G.value):G.value};return{values:{fontFamily:x("fontFamily"),fontSize:x("fontSize")},status:y}},El=u=>{const{value:p,status:y}=Ko(u);if(!p||p.success!==!0)return{values:null,status:y};const _=p.values,x={};for(const z of Ff){const G=_?.[z];G?.state==="uniform"&&(G.value==="true"||G.value==="false")&&(x[z]=G.value==="true")}return{values:x,status:y}},$f=(u,p)=>{const y=u.activeMark;if(!y||!Ff.includes(y))return null;const _=y,x=Uf(p)[_];if(x!==void 0)return x;const{values:z}=El(p),G=z?.[_];return G!==void 0?G:null},Gf=async u=>{const p=u.selectionTarget;if(!p)return null;const y=mr(b(),"format.readEffectiveInlineUniformity");if(!y)return null;try{const _=await Promise.resolve(y({target:p,offsetSpace:"selection"}));return _&&typeof _=="object"&&_.success===!0?_:null}catch{return null}},Fa=(u,p,y)=>{const _=y.values;for(const x of["fontFamily","fontSize"]){if(p[x]!==void 0)continue;const z=_?.[x];z?.state==="uniform"&&typeof z.value=="string"?u[x]=x==="fontFamily"?u2(z.value):z.value:delete u[x]}},Wu=u=>Cc(u,AA($u(u),u)),Tl=u=>Wu(u).values,Wf=async u=>{const p=b()?.query,y=wc(u);if(typeof p?.match!="function"||!y)return Tl(u);try{const _=await Promise.resolve(p.match(y)),x=AA(_A(_&&typeof _=="object"?_:null,u),u),z=Cc(u,x);if(z.effectiveUniformityStatus!=="ready"&&(x.fontFamily===void 0||x.fontSize===void 0)){const G=await Gf(u);G&&Fa(z.values,x,G)}return z.values}catch{return Tl(u)}},Na=async u=>{const p=b();if(p)return typeof p.getNode=="function"?await Promise.resolve(p.getNode(u)):await Promise.resolve(p.getNodeById?.({nodeId:u.nodeId,nodeType:u.nodeType}))},Sc=u=>{const p=b()?.query;if(typeof p?.match!="function")return"ready";const y=wc(u);if(!y)return"ready";const{status:_}=Eo(`query:${ho(u)}`,Ce(),()=>p.match(y),x=>x&&typeof x=="object"?x:null);return _},Ku=u=>{const p=Wu(u),y=p.values;if(u.empty)return p;const _=xa(u);return _?u.status==="ready"&&Sc(u)==="ready"&&p.effectiveUniformityStatus==="ready"?(C={key:_,values:y},p):C&&C.key===_?{...p,values:{...C.values,...y}}:p:p},Ws=u=>{const p=b(),y=Ku(u),_=y.values;u.status==="ready"&&!u.empty&&Sc(u)==="ready"&&y.effectiveUniformityStatus==="ready"&&(v=_,k=`${uc(u)}:${Ce()}`);const x=p?.contentControls,{lockModesById:z}=Oa(x,u),G={};for(const re of Qt())G[re]=Ks(re,p,u,_,z);return G},qo=u=>u?ct.operationUnavailable:A()?ct.documentApiUnavailable:ct.notReady,qu=u=>u==="contentLocked"||u==="sdtContentLocked",ds=u=>{for(const p of u.values())if(qu(p))return ct.contentControlLocked},Kf=(u,p,y,_,x)=>{if(!p)return u.scope==="all"?ct.bulkDecisionsDisabled:qo(x);if(y)return ct.documentReadonly;if(u.scope!=="all"&&_.activeChangeIds.length===0)return ct.selectionRequired},qf=u=>{const p=L(),y=Tt(typeof p?.getCapabilities=="function"?()=>p.getCapabilities():void 0,null)?.editableSubset?.commands;if(Array.isArray(y))return y.find(_=>_?.command===u||_?.id===u)??null;if(y&&typeof y=="object"){const _=y[u];return _&&typeof _=="object"?_:null}return null},Yu=(u,p)=>{if(u.scope!=="all"||typeof p?.[`${u.kind}All`]=="function")return;const y=qf(`trackedChanges.${u.kind}All`);if(!(y&&(y.status==="supported"||y.enabled===!0)))return ct.bulkDecisionsDisabled},Ks=(u,p,y,_,x=new Map)=>{if(oe.has(u))return on({supported:!0,enabled:!0,...Tt(oe.get(u).getState?()=>oe.get(u).getState(ls(void 0)):void 0,{})},"custom");const z=kr()==="viewing",G=hA(u);if(G&&typeof se()?.lists?.apply=="function"){const Je=je(),Ge=typeof Je?.shippedStatus=="string"?Je.shippedStatus:null,tt=Ge!=="not-shipped"&&Ge!=="disabled";return on({enabled:tt&&(typeof Je?.enabled=="boolean"?Je.enabled:!0),active:(tt?ge(Je):null)===G,supported:tt,value:Je?.value},"builtin")}const re=wm(u);if(re){const Je=p?.trackChanges,Ge=typeof Je?.decide=="function"||typeof Je?.[re.kind]=="function",tt=typeof Je?.decide=="function"||typeof Je?.[`${re.kind}All`]=="function",ft=re.scope==="all"?tt:Ge,dt=Yu(re,Je)??Kf(re,ft,$s(),y,p);return on({enabled:dt==null,active:!1,supported:ft,reason:dt},"builtin")}if(u==="copy-format")return kr()==="viewing"?on({supported:!0,enabled:!1,active:!1},"builtin"):A()?on({supported:!0,enabled:!0,active:h.mode!=="idle"},"builtin"):on({supported:!0,enabled:!1,active:!1,reason:ct.notReady},"builtin");const ce=Tu(u);if(!ce)return on({enabled:!1,active:!1,supported:!1,reason:ct.commandUnsupported},"unsupported");if(ce.disposition!=="routed")return on({enabled:!1,active:!1,supported:!1,reason:ce.reason??ct.commandUnsupported},ce.disposition==="unsupported"?"unsupported":"builtin");if(ce.instanceRoute)return yt(ce);if(ce.table)return Zt(ce,p,z);if(ce.inline?.kind==="clear"){if(ce.mutates&&z)return on({enabled:!1,active:!1,supported:!0,reason:ct.documentReadonly},"builtin");const Je=ds(x);if(Je)return on({enabled:!1,active:!1,supported:!0,reason:Je},"builtin");const Ge=Nr(y).length>0||Ou(y)!=null;return on({enabled:Ge,active:!1,supported:!0,reason:Ge?void 0:ct.selectionRequired},"builtin")}const Te=ce.docRoute;if(!Te)return on({enabled:!1,active:!1,supported:!1,reason:ct.commandUnsupported},"unsupported");if(mr(p,Te)==null)return on({enabled:!1,active:!1,supported:!1,reason:qo(p)},"builtin");const ze=be(u);if(ze){const Je=ze.shippedStatus,Ge=Je!=="not-shipped"&&Je!=="disabled",tt=typeof ze.enabled=="boolean"?ze.enabled:!0,ft=u==="undo"||u==="redo",dt=ft&&ze.historyResolved===!1,ot=ft&&Ge&&tt===!1&&ze.reason===null&&!dt,Ft=ze.reason===void 0?void 0:ot?ct.historyEmpty:dt?ct.notReady:i2(ze.reason,ct.commandUnsupported);return ce.mutates&&z?on({enabled:!1,active:!1,supported:Ge,reason:ct.documentReadonly},"builtin"):on({enabled:Ge&&tt,active:!1,supported:Ge,reason:Ft},"builtin")}const Ue=Hi(ce,p,y),Ye=go(ce,p,y,_);if(ce.list?.mode==="indent"||ce.list?.mode==="outdent")return Ke(ce,p,z,y,Ue,Ye);if(ce.list?.mode==="toggle-seed")return ut(ce,p,z,y,Ue,Ye);if(ce.mutates&&z)return on({enabled:!1,active:Ue,supported:!0,value:Ye,reason:ct.documentReadonly},"builtin");if(ce.inline&&!Ou(y)){const Je=ds(x);return on(Je?{enabled:!1,active:Ue,supported:!0,value:Ye,reason:Je}:Nr(y).length>0&&typeof L()?.setPendingInlineFormat=="function"?{enabled:!0,active:Ue,supported:!0,value:Ye}:{enabled:!1,active:Ue,supported:!0,value:Ye,reason:ct.rangeSelectionRequired},"builtin")}if((ce.blockParagraph||ce.list)&&Nr(y).length===0)return on({enabled:!1,active:Ue,supported:!0,value:Ye,reason:ct.selectionRequired},"builtin");if(ce.link&&!Ue&&l2(y).length===0&&!yl(y))return on({enabled:!1,active:Ue,supported:!0,reason:ct.rangeSelectionRequired},"builtin");if(ce.inline){const Je=ds(x);if(Je)return on({enabled:!1,active:Ue,supported:!0,value:Ye,reason:Je},"builtin")}return on({enabled:!0,active:Ue,supported:!0,value:Ye},"builtin")};function _c(u,p){const y=u.address?.anchor,_=y?.start,x=y?.end,z=typeof _?.blockId=="string"?_.blockId:null,G=typeof x?.blockId=="string"?x.blockId:null;if(!z||!G)return!1;const re=typeof _?.offset=="number"?_.offset:null,ce=typeof x?.offset=="number"?x.offset:null;if(re==null||ce==null)return!1;const Te=p.target,ze=Te&&Array.isArray(Te.segments)?Te.segments:[];for(const Ue of ze){const Ye=typeof Ue?.blockId=="string"?Ue.blockId:null;if(!Ye)continue;const Je=Ue.range,Ge=typeof Je?.start=="number"?Je.start:null,tt=typeof Je?.end=="number"?Je.end:null;if(!(Ge==null||tt==null)){if(z!==G){if(Ye===z&&tt>re||Ye===G&&Ge<ce)return!0;continue}if(Ye===z){if(Ge===tt){if(Ge>=re&&Ge<=ce)return!0;continue}if(Math.max(Ge,re)<Math.min(tt,ce))return!0}}}return!1}const Ac=(u,p)=>{const y=u?.hyperlinks;if(!y||typeof y.list!="function")return null;const _=Nr(p);if(!hc(_))return null;for(const x of _){const z={kind:"block",nodeType:"paragraph",nodeId:x},{value:G}=Eo(`hyperlinks:${x}`,Ce(),()=>y.list({within:z}),ce=>ce&&typeof ce=="object"?ce:null),re=(G&&Array.isArray(G.items)?G.items:[]).find(ce=>_c(ce,p));if(re)return re}return null},Hi=(u,p,y)=>{if(u.link)return Ac(p,y)!=null;if(u.list?.mode==="toggle-seed"&&u.list.seed)return Rl(p,y)===u.list.seed;const _=D(u);if(_!==null)return _;const x=r.get(u.id),z=xa(y);if(z&&x?.selectionSignature===z)return x.active;const G=$f(u,y);return G!==null?G:YV(u,y)},go=(u,p,y,_)=>{if(u.inline&&c2(u.inline.key)){const x=B(u);if(x!==void 0)return x;const z=_[u.inline.key];if(z!==void 0)return z;const G=xa(y),re=G?n.get(u.inline.key):void 0;if(G&&re?.selectionSignature===G)return re.value}if(u.id==="linked-style"){const{style:x}=ci(y,Rr().cache);return!x.styleId||x.mixed?void 0:{styleId:x.styleId,styleName:x.styleName}}if(u.id==="text-align")return fe(p,y);if(u.id==="link")return st(p,y)??void 0},fs=(u,p,y)=>{const _=u?.lists;if(!_)return{value:null,status:"ready"};const x=y.storyType==="body",z=typeof _.getStateInStory=="function"?()=>_.getStateInStory({target:Ia(p),story:y}):x&&typeof _.getState=="function"?()=>_.getState({target:Ia(p)}):null;if(!z)return{value:null,status:"ready"};const{value:G,status:re}=Eo(`lists:${br(y)}:${p}`,Ce(),z,ce=>ce&&typeof ce=="object"?ce:null);return{value:G?.success===!0?G:null,status:re}},Ic=(u,p,y)=>fs(u,p,y).value,Ba=(u,p,y)=>{const _=Ic(u,p,y);return!_||_.isListItem!==!0?null:_.seed==="bullet"||_.seed==="ordered"?_.seed:null},xc=(u,p,y)=>{const _=fs(u,p,y),x=_.value;return{value:x&&typeof x.isListItem=="boolean"?x.isListItem:null,status:_.status}},Rl=(u,p)=>{const y=Nr(p);if(y.length===0||!hc(y))return null;const _=ts(p),x=Ba(u,y[0],_);if(x!=="bullet"&&x!=="ordered")return null;for(const z of y.slice(1))if(Ba(u,z,_)!==x)return null;return x},Ec=(u,p,y)=>{if(!u)return{value:null,status:"ready",refreshing:!1};const _=br(y),x=_==="story:body";if(x&&typeof u.getNodeById!="function")return{value:null,status:"ready",refreshing:!1};if(!x&&typeof u.getNode!="function")return{value:null,status:"ready",refreshing:!1};const z=`node:${_}:${p}`,G=Ce(),re=Eo(z,G,()=>x?u.getNodeById({nodeId:p,nodeType:"paragraph"}):u.getNode(So(p,y)),Te=>Te&&typeof Te=="object"?Te:null),ce=Q.get(z);return{...re,refreshing:re.status==="stale"&&ce?.inflightToken===G&&ce.failedToken!==G}},I=u=>u==="left"||u==="center"||u==="right"||u==="justify"?u:void 0,R=u=>u==="start"||u==="end"||u==="distributed"||u==="numTab"||u==="lowKashida"||u==="mediumKashida"||u==="highKashida"||u==="thaiDistribute",X=(u,p)=>{const y=L(),_=y?.readMountedProjectionBlocksByIds;if(typeof _!="function")return null;const x=ns(u),z=Tt(()=>x?_.call(y,[...p],x):_.call(y,[...p]),null);if(!Array.isArray(z))return new Map;const G=f2(z),re=new Map;for(const ce of p){const Te=G.find(Je=>pc(Je,ce));if(!Te)continue;const ze=Te.attrs,Ue=I(ze?.alignment),Ye=d9(ze);re.set(ce,Ue??(Ye==="rtl"?"right":"left"))}return re},ie=(u,p,y,_)=>{const{value:x,status:z,refreshing:G}=Ec(u,p,y),re=_?.get(p);if(z==="pending")return re?{status:"uniform",value:re}:{status:"pending"};if(z==="stale"&&!G)return{status:"pending"};if(z==="stale"&&re)return{status:"uniform",value:re};if(z==="stale"&&_&&!re)return{status:"unavailable"};if(!x)return{status:"unavailable"};const ce=x.node;if(!ce)return{status:"unavailable"};const Te=ce.kind;if(Te!=="paragraph"&&Te!=="heading")return{status:"unavailable"};const ze=ce[Te];if(!ze||typeof ze!="object")return{status:"unavailable"};const Ue=ze.props?.alignment;if(Ue==null)return re?{status:"uniform",value:re}:{status:"unavailable"};const Ye=I(Ue);return Ye?{status:"uniform",value:Ye}:R(Ue)&&re?{status:"uniform",value:re}:{status:"unavailable"}},ae=(u,p)=>{const y=Nr(p);if(y.length===0||!hc(y))return{status:"unavailable"};const _=ts(p),x=X(p,y),z=ie(u,y[0],_,x);if(z.status!=="uniform")return z;for(const G of y.slice(1)){const re=ie(u,G,_,x);if(re.status!=="uniform")return re;if(re.value!==z.value)return{status:"mixed"}}return z},le=u=>{const p=Nr(u);return p.length===0?null:`${br(ts(u))}:${p.join(",")}`},fe=(u,p)=>{const y=ae(u,p),_=y.status==="uniform"?y.value:void 0,x=o;if(!x)return _;const z=le(p);return z&&z!==x.selectionSignature?(o=null,_):!z||!x.settled?x.value:y.status!=="pending"?(o=null,_):x.value},de=(u,p)=>{const y=I(p),_=le(u),x=Nr(u);if(!y||!_||x.length===0)return null;const z=++i;return o={selectionSignature:_,value:y,generation:z,settled:!1,canReconcile:hc(x)},jt(),z},Ae=(u,p)=>{if(u==null)return;const y=o;if(!(!y||y.generation!==u)){if(!_o(p)){o=null;return}if(!y.canReconcile){o=null;return}y.settled=!0}},Le=async(u,p,y)=>{const _=u?.lists;if(!_)return null;try{const x=y.storyType==="body",z=typeof _.getStateInStory=="function"?await _.getStateInStory({target:Ia(p),story:y}):x&&typeof _.getState=="function"?await _.getState({target:Ia(p)}):null,G=z&&typeof z=="object"?z:null;return!G||G.success!==!0||typeof G.isListItem!="boolean"?null:G.isListItem}catch{return null}},Oe=(u,p,y)=>{const _={resolved:!1,seed:null},x=u?.lists;if(!x)return _;const z=y.storyType==="body",G=typeof x.getStateInStory=="function"?()=>x.getStateInStory({target:Ia(p),story:y}):z&&typeof x.getState=="function"?()=>x.getState({target:Ia(p)}):null;if(!G)return _;const re=ce=>{const Te=ce&&typeof ce=="object"?ce:null;return!Te||Te.success!==!0||typeof Te.isListItem!="boolean"?_:{resolved:!0,seed:Te.isListItem===!0&&(Te.seed==="bullet"||Te.seed==="ordered")?Te.seed:null}};try{const ce=G();return Tr(ce)?Promise.resolve(ce).then(re,()=>_):re(ce)}catch{return _}},De=async(u,p,y)=>{if(!u)return null;try{const _=!y||y.storyType==="body",x=y&&typeof u.getNode=="function"?await u.getNode(So(p,y)):_&&typeof u.getNodeById=="function"?await u.getNodeById({nodeId:p,nodeType:"paragraph"}):null;return CV(x&&typeof x=="object"?x:null)}catch{return null}},Ke=(u,p,y,_,x,z)=>{if(u.mutates&&y)return on({enabled:!1,active:x,supported:!0,value:z,reason:ct.documentReadonly},"builtin");const G=Nr(_);if(G.length===0)return on({enabled:!1,active:x,supported:!0,value:z,reason:ct.selectionRequired},"builtin");const re=u.docRoute?mr(p,u.docRoute):null,ce=mr(p,"format.paragraph.setIndentation"),Te=mr(p,"format.paragraph.clearIndentation"),ze=u.list?.mode,Ue=ze==="indent"?ce!=null:ce!=null||Te!=null,Ye=ts(_);let Je=null;if(Ye.storyType!=="body"){Je=[];for(const Ge of G){const{value:tt,status:ft}=xc(p,Ge,Ye);if(tt===null)return ft!=="ready"&&(re!=null||Ue)?on({enabled:!0,active:x,supported:!0,value:z},"builtin"):on({enabled:!1,active:x,supported:!1,value:z,reason:qo(p)},"builtin");Je.push(tt)}}if(Je?.some(Ge=>Ge===!0)){const Ge=ze==="indent"?"lists.indentRange":"lists.outdentRange",tt=kr()!=="suggesting"&&Je.every(dt=>dt===!0)&&mr(p,Ge)!=null,ft=ze==="outdent"&&mr(p,"lists.outdentInStory")!=null;if(!tt&&!ft)return on({enabled:!1,active:x,supported:!1,value:z,reason:qo(p)},"builtin")}for(const[Ge,tt]of G.entries()){const ft=Je?{value:Je[Ge]??null,status:"ready"}:xc(p,tt,Ye),dt=ft.value;if(dt===!0){if(re!=null)return on({enabled:!0,active:x,supported:!0,value:z},"builtin");continue}if(dt===!1&&Ue){if(Ye.storyType!=="body"&&typeof p?.getNode!="function")continue;return on({enabled:!0,active:x,supported:!0,value:z},"builtin")}if(dt===null)return ft.status!=="ready"&&(re!=null||Ue)?on({enabled:!0,active:x,supported:!0,value:z},"builtin"):on({enabled:!1,active:x,supported:!1,value:z,reason:qo(p)},"builtin")}return on({enabled:!1,active:x,supported:!1,value:z,reason:qo(p)},"builtin")},ut=(u,p,y,_,x,z)=>{if(u.mutates&&y)return on({enabled:!1,active:x,supported:!0,value:z,reason:ct.documentReadonly},"builtin");const G=Nr(_);if(G.length===0)return on({enabled:!1,active:x,supported:!0,value:z,reason:ct.selectionRequired},"builtin");const re=ts(_),ce=p?.lists;if(!(typeof ce?.getStateInStory=="function"||re.storyType==="body"&&typeof ce?.getState=="function"))return on({enabled:!1,active:x,supported:!1,value:z,reason:ct.operationUnavailable},"builtin");if(!hc(G))return on(re.storyType==="body"&&mr(p,"lists.remove")!=null?{enabled:!0,active:x,supported:!0,value:z}:{enabled:!1,active:x,supported:!1,value:z,reason:ct.operationUnavailable},"builtin");const Te=G.map(Je=>fs(p,Je,re));if(Te.some(({status:Je})=>Je!=="ready"))return on({enabled:!0,active:x,supported:!0,value:z},"builtin");if(Te.some(({value:Je})=>Je===null))return on({enabled:!1,active:x,supported:!1,value:z,reason:ct.operationUnavailable},"builtin");const ze=u.list?.seed,Ue=Te.every(({value:Je})=>Je?.isListItem===!0&&Je.seed===ze);if(re.storyType==="body")return on(!Ue||mr(p,"lists.remove")!=null?{enabled:!0,active:x,supported:!0,value:z}:{enabled:!1,active:x,supported:!1,value:z,reason:ct.operationUnavailable},"builtin");const Ye=mr(p,"lists.removeInStory");return on(Ue&&Ye?{enabled:!0,active:x,supported:!0,value:z}:{enabled:!1,active:x,supported:!1,value:z,reason:ct.operationUnavailable},"builtin")},st=(u,p)=>{const y=Ac(u,p)?.properties?.href;return typeof y=="string"?y:null},yt=u=>{if(!A())return on({enabled:!1,active:!1,supported:!1,reason:ct.notReady},"builtin");const p=u.instanceRoute;return typeof t?.[p]!="function"?on({enabled:!1,active:!1,supported:!1,reason:ct.operationUnavailable},"builtin"):on({enabled:!0,active:pt(u),supported:!0,value:_n(u)},"builtin")},pt=u=>{const p=t?.config??void 0;return u.valueFrom==="ruler"?!!p?.rulers:u.valueFrom==="formattingMarks"?!!p?.layoutEngineOptions?.showFormattingMarks:!1},Zt=(u,p,y)=>{if(y)return on({enabled:!1,active:!1,supported:!0,reason:ct.documentReadonly},"builtin");const _=_e();return _!=null&&(!u.table.requiresCell||_.cellNodeId!=null)?(u.docRoute?mr(p,u.docRoute):null)==null?on({enabled:!1,active:!1,supported:!1,reason:qo(p)},"builtin"):on({enabled:!0,active:!1,supported:!0},"builtin"):on({enabled:!1,active:!1,supported:!0,reason:ct.tableContextUnavailable},"builtin")},_n=u=>{if(u.valueFrom==="zoom")return bc().value;if(u.valueFrom==="documentMode")return kr();if(u.valueFrom==="measurementUnit")return jf();if(u.valueFrom==="ruler"||u.valueFrom==="formattingMarks")return pt(u)},Br=(u,p)=>u.id==="zoom"?typeof p=="number"&&Number.isFinite(p)&&p>0:u.id==="document-mode"?p==="editing"||p==="suggesting"||p==="viewing":u.id==="measurement-unit"?p==="in"||p==="cm":!0,Qt=()=>[...new Set([...iN,...oe.keys()])],Tn="Normal",wn={ready:!1,status:"ready",catalogRevision:null,quickGallery:[],activeParagraphStyleId:null,activeParagraphStyleName:null,mixedSelection:!1,sourceStatus:null,diagnostics:[]},fr=u=>{const p=b()?.styles;return!p||typeof p.getCatalog!="function"?{value:null,status:"ready"}:Eo(`styles:catalog:${JSON.stringify(u??{})}`,Ce(),()=>p.getCatalog(u),y=>y&&typeof y=="object"?y:null)},Rr=()=>{const u=fr({includePreview:!0});if(!u.value)return{cache:null,status:u.status};const p=fr({view:"quickGallery",includePreview:!0}),y=p.value?p.value.items:u.value.styles.filter(x=>x.visibility.quickGallery),_=new Map;for(const x of u.value.styles)_.set(x.id,x);return{cache:{full:u.value,quickGallery:y,byId:_},status:vl(u.status,p.status)}},vo=(u,p,y)=>{const{value:_,status:x}=Ec(u,p,y);if(!_)return{ok:!1,styleRef:null,status:x};const z=_.node;if(!z||typeof z!="object")return{ok:!1,styleRef:null,status:x};const G=z.kind,re=typeof G=="string"?z[G]:void 0,ce=re&&typeof re=="object"?re.styleRef:void 0;return{ok:!0,styleRef:typeof ce=="string"&&ce.length>0?ce:null,status:x}},ci=(u,p)=>{const y=[],_=b();if(!_)return y.push({severity:"warning",code:"active-style-unavailable",message:"Active paragraph style is unavailable: the Document API is not reachable."}),{style:{styleId:null,styleName:null,mixed:!1,diagnostics:y},status:"ready"};const x=Nr(u);if(x.length===0)return y.push({severity:"info",code:"active-style-no-selection",message:"No paragraph block is resolvable from the current selection; active paragraph style is unavailable."}),{style:{styleId:null,styleName:null,mixed:!1,diagnostics:y},status:"ready"};if(!hc(x))return y.push({severity:"info",code:"active-style-selection-too-large",message:"Active paragraph style is unavailable for a large multi-paragraph selection."}),{style:{styleId:null,styleName:null,mixed:!1,diagnostics:y},status:"ready"};const z=p?.full.defaults.paragraphStyleId??(p?Tn:null),G=new Set;let re=0,ce=0,Te=0,ze="ready";const Ue=ts(u);for(const Ge of x){const tt=vo(_,Ge,Ue);if(ze=vl(ze,tt.status),!tt.ok){ce+=1;continue}if(!tt.styleRef&&!z){Te+=1;continue}const ft=tt.styleRef??z;if(!ft){Te+=1;continue}re+=1,G.add(ft)}if(re===0){const Ge=Te>0&&ce===0;return y.push({severity:"warning",code:Ge?"active-style-default-unavailable":"active-style-read-failed",message:Ge?"Selected paragraphs have no explicit style and the style catalogue is unavailable, so the document default cannot be resolved.":"Could not read the paragraph style of any selected block; active paragraph style is unavailable."}),{style:{styleId:null,styleName:null,mixed:!1,diagnostics:y},status:ze}}const Ye=ce+Te;if(Ye>0)return y.push({severity:"warning",code:"active-style-partial",message:`Active paragraph style resolved from ${re} of ${re+Ye} selected blocks; ${Ye} could not be read, so the active style is unavailable.`}),{style:{styleId:null,styleName:null,mixed:!1,diagnostics:y},status:ze};if(G.size>1)return{style:{styleId:null,styleName:null,mixed:!0,diagnostics:y},status:ze};const Je=[...G][0];return{style:{styleId:Je,styleName:p?.byId.get(Je)?.name??null,mixed:!1,diagnostics:y},status:ze}},Ii=u=>{if(!A())return wn;const{cache:p,status:y}=Rr(),{style:_,status:x}=ci(u,p);let z;return p?z=_.diagnostics.length===0?p.full.diagnostics:[...p.full.diagnostics,..._.diagnostics]:z=[{severity:"warning",code:"catalog-unavailable",message:"The style catalogue is unavailable: the Document API styles surface is not reachable (e.g. viewing mode or a worker-backed editor)."},..._.diagnostics],{ready:!0,status:vl(y,x,u.status),catalogRevision:p?.full.revision??null,quickGallery:p?.quickGallery??[],activeParagraphStyleId:_.styleId,activeParagraphStyleName:_.styleName,mixedSelection:_.mixed,sourceStatus:p?.full.sourceStatus??null,diagnostics:z}},it=(u="direct")=>{const{sink:p}=pm(),y=p?Aa():0,_={},x=(Te,ze)=>{if(!p)return ze();const Ue=Aa();try{return ze()}finally{_[Te]=Aa()-Ue}},z=x("documentMode",kr),G=x("selection",Nu);G.status==="ready"&&Us(G),Y(G);const re=xa(G);for(const[Te,ze]of r)(!re||ze.selectionSignature!==re||ze.settled&&G.status==="ready")&&r.delete(Te);const ce={ready:A()!=null,documentMode:z,document:x("document",Hu),selection:G,toolbar:{context:z,commands:x("toolbarCommands",()=>Ws(G)),copyFormatActive:h.mode!=="idle"},comments:x("comments",()=>Bu(G)),trackChanges:x("trackChanges",()=>zu(G)),contentControls:x("contentControls",()=>Vu(G)),zoom:x("zoom",bc),fonts:x("fonts",Uu),styles:x("styles",()=>Ii(G))};if(p){const Te=Aa();r2({stage:"superdoc-ui-compute-state",atMs:Te,reason:u,startedAtMs:y,completedAtMs:Te,durationMs:Te-y,phaseMs:_,asyncReadSettlements:Xt.splice(0)})}return ce},Cn=u=>{const p=xa(u);p&&a&&p!==a&&(n.clear(),r.clear()),p&&(a=p)};let zr=null,ui=null,za=null,Vr=null,$i=null,di=null,fi=!1;const Tc=()=>{if(U||fi)return;fi=!0;const u=()=>{fi&&(fi=!1,!U&&jt())};typeof queueMicrotask=="function"?queueMicrotask(u):Promise.resolve().then(u)},Ml=()=>{const u=se();if(u!==za&&(Vr&&(Vr(),Vr=null),za=u,!(!u||typeof u.subscribe!="function")))try{const p=u.subscribe(()=>Tc());typeof p=="function"&&(Vr=p)}catch{za=null}},Ll=()=>{const u=T();if(u!==$i&&(di&&(di(),di=null),$i=u,!(!u||typeof u.subscribe!="function")))try{const p=u.subscribe(()=>jt());typeof p=="function"&&(di=p)}catch{$i=null}};let To=null,Yo=null,hs=null,F=null,W=null,Se=null;const Ne=()=>{const u=A()?.host,p=Tt(u?.getHandles?()=>u.getHandles():void 0,null)?.editing?.selection;return p&&typeof p.subscribe=="function"?p:null},bt=()=>{const u=Ne();if(u!==zr&&(ui&&(ui(),ui=null),zr=u,!!u))try{const p=u.subscribe(y=>{Ao+=1,Ma(y),jt("host-selection")});typeof p=="function"&&(ui=p)}catch{zr=null}},an=()=>{const u=A()?.host,p=Tt(u?.getHandles?()=>u.getHandles():void 0,null)?.review;return p&&typeof p.subscribe=="function"?p:null},An=u=>u?typeof u.getActiveReviewTarget=="function"?Tt(()=>u.getActiveReviewTarget(),null):typeof u.getSnapshot=="function"?Tt(()=>u.getSnapshot(),null)?.activeReviewTarget??null:null:null;let vn=0;const yn=(u,p)=>{const y=(p&&typeof p=="object"?p:null)?.lastInteractionRejection;if(vn>0&&u==null&&y&&typeof y=="object"&&y.code==="review-target-invalidated"&&y.detail==="not-painted")return!1;const _=u&&typeof u=="object"?u:null;let x=null;if(_?.entityType==="trackedChange"&&typeof _.entityId=="string"&&_.entityId.length>0){const z=_.story&&typeof _.story=="object"?_.story:void 0,G=z&&br(z)!==br(null)?z:void 0,re=typeof _.paintedEntityId=="string"&&_.paintedEntityId.length>0?_.paintedEntityId:null,ce=re??_.entityId,Te=(()=>{if(G){const Ye=Ai(),Je=Ye?fc(Ye,G):null;return Je?.toPublicId(ce)??Je?.toPublicId(_.entityId)??_.entityId}const Ue=Ns(Array.isArray(P?.trackChanges.items)?P.trackChanges.items:[]);return Ue.toPublicId(ce)??Ue.toPublicId(_.entityId)??_.entityId})(),ze=re??(ce!==Te?ce:null);x={id:Te,...G?{story:G}:{},...ze&&ze!==Te?{paintedEntityId:ze}:{}}}return u==null&&x==null&&$e!=null&&ee($e)||Xe($e,x)?!1:(ne(x),!0)},Ln=()=>{const u=an();if(u===To)return;if(Yo&&(Yo(),Yo=null),To=u,!u){yn(null);return}let p=!0;try{const y=u.subscribe(_=>{const x=_&&typeof _=="object"?_:null,z=x&&Object.prototype.hasOwnProperty.call(x,"activeReviewTarget")?x.activeReviewTarget:An(u);!yn(z,_)||p||jt()});typeof y=="function"&&(Yo=y),yn(An(u))}catch{To=null}finally{p=!1}},cn=()=>{if(zr||kr()!=="viewing")return null;const u=A()?.mount?.container,p=(u&&typeof u=="object"&&"ownerDocument"in u?u.ownerDocument??null:null)??globalThis.document??null;return p&&typeof p.addEventListener=="function"?p:null},Mr=()=>{const u=cn();if(u===W||(Se&&(Se(),Se=null),W=u,!u))return;const p=()=>{Ao+=1,jt()};u.addEventListener("selectionchange",p),u.addEventListener("pointerup",p,!0),u.addEventListener("mouseup",p,!0),Se=()=>{u.removeEventListener("selectionchange",p),u.removeEventListener("pointerup",p,!0),u.removeEventListener("mouseup",p,!0)}};Ta(),yn(An(an())),P=it("initial"),a=xa(P.selection);const jr=()=>{const u=A()?.host?.events,p=u&&typeof u.subscribe=="function"?u:null;if(p!==hs&&(F&&(F(),F=null),hs=p,!!p))try{const y=p.subscribe(_=>{const x=_?.type;if(x==="review-mutation:started"){Gn(_.reviewMutation?.token);return}if(x==="review-mutation:aborted"){gr(_.reviewMutation?.token),He();return}if(x==="mutation:rejected"&&_.reviewMutation&&(gr(_.reviewMutation.token),He()),x==="mutation:committed"&&_.reviewMutation&&gr(_.reviewMutation.token),x==="source:complete"||x==="source:signals-complete"){Kr=Ce(),is();return}if((x==="mutation:committed"||x==="collaboration:remote-changed")&&(Mn=Date.now()),x==="mutation:committed"||x==="save:completed"||x==="collaboration:remote-changed"){const z=x==="mutation:committed"?Uk(_):null;if(z?.allResolved){dr([]),At(_.receipt);return}z?.removedIds.size&&Sn(new Set(z.removedIds),_.receipt);const G=x==="mutation:committed"&&Vs(_)||x==="collaboration:remote-changed"&&Array.isArray(_.changedStoryIds)&&_.changedStoryIds.length>0;if(G&&(xo=Date.now()),x==="mutation:committed"&&G){Fu();return}if(z?.removedIds.size&&z.upsertIds.size===0)return;(x==="collaboration:remote-changed"||x==="mutation:committed"&&!G)&&Cl();const re=x==="collaboration:remote-changed"&&Array.isArray(_.changedPartUris)&&_.changedPartUris.some(Te=>typeof Te=="string"&&lV.has(Te)),ce=x==="collaboration:remote-changed"&&Array.isArray(_.changedStoryIds)&&_.changedStoryIds.length>0&&wl();re&&!G&&(qr=!0),Hs(),re&&!G?si("comments"):ce&&(qr=!0,mo()),jt()}});typeof y=="function"&&(F=y)}catch{hs=null}},jt=(u="unspecified")=>{if(U)return;const{sink:p}=pm(),y=p?Aa():0;fi=!1,Ta(),bt(),Ml(),Ll(),Ln(),Mr(),jr();const _=it(u);Cn(_.selection),P=_;let x=0,z=0;for(const G of[...O]){if(!p){G(P);continue}const re=Aa();G(P);const ce=Aa()-re;x+=ce,z=Math.max(z,ce)}if(p){const G=Aa();r2({stage:"superdoc-ui-recompute",atMs:G,reason:u,startedAtMs:y,completedAtMs:G,durationMs:G-y,listenerCount:O.size,listenerTotalMs:x,listenerMaxMs:z})}},Et=[],pn=[],tr=u=>{for(const p of u)try{p()}catch{}},zn=()=>tr(Et),Xr=()=>tr(pn),xi=[];((u,p)=>{if(!(!u||typeof u.on!="function"))for(const y of p){const _=y==="active-editor-change"?()=>{zn(),Xr(),jt()}:y==="document-replaced"?x=>{const z=x&&typeof x=="object"?x:null,G=z?.editor,re=z?.host,ce=!!G&&G===A(),Te=!!re&&re===L();!ce&&!Te||(Xr(),Q.clear(),Hs(),jt())}:()=>jt();try{u.on(y,_),xi.push(()=>{try{typeof u.off=="function"&&u.off(y,_)}catch{}})}catch{}}})(t,nV),bt(),Ml(),Ll(),Ln(),Mr(),jr();const jo=(u,p=zz)=>({get:()=>u(P),subscribe:y=>{let _=u(P);const x=z=>{const G=u(z);p(_,G)||(_=G,y(G))};return O.add(x),()=>O.delete(x)}}),hi=u=>jo(u),Ro=u=>{const p=y=>{const _=z=>{try{y(z)}catch{}},x=u.subscribe(_);return _(u.get()),x};return{get:()=>u.get(),getSnapshot:()=>u.get(),observe:p,subscribe:y=>p(_=>y({snapshot:_}))}},Rc=(u,p,y)=>{const _=Ro(u),x=Ro(p),z=G=>{const re=vr(y);jt();const ce=x.observe(G);return()=>{ce(),re()}};return{get:_.get,getSnapshot:_.getSnapshot,observe:z,subscribe:G=>z(re=>G({snapshot:re}))}};function Pl(u){return u&&typeof u=="object"&&typeof u.id=="string"?String(u.id):null}function Wn(u){const p=ns(u);return p&&br(p)!==br(null)?p:void 0}function Yf(u,p){return{kind:"id",id:u,...p?{story:p}:{}}}function Sm(u){if(u.empty)return null;const p=u.selectionTarget,y=p?.start,_=p?.end;if(p?.kind!=="selection"||y?.kind!=="text"||_?.kind!=="text"||typeof y.blockId!="string"||y.blockId!==_.blockId||!Number.isInteger(y.offset)||!Number.isInteger(_.offset)||y.offset<0||_.offset<0||y.offset===_.offset)return null;const x=Math.min(y.offset,_.offset),z=Math.max(y.offset,_.offset),G=ns(u);return{kind:"range",coordinateSpace:p.coordinateSpace==="tracked"?"tracked":"visible",range:{kind:"text",...G?{story:G}:{},segments:[{blockId:y.blockId,range:{start:x,end:z}}]}}}function _m(u,p){if(br(p)!==br(null))return;const y=b()?.trackChanges,_=y?.list;if(typeof _!="function")return;const x=Tt(()=>_.call(y),null);if(Tr(x)||!x||typeof x!="object")return;const z=x.items;if(Array.isArray(z))return z.map(Nf).find(G=>G!=null&&Ni(G,u,p))}function g2(u,p){const y=Xf(u.quotedText);if(!y)return!1;const _=vm(p);return[_.insertedText,_.deletedText,_.excerpt].some(x=>Xf(x)===y)}function Xf(u){return typeof u=="string"?u.replace(/\s+/g," ").trim():""}function Am(){const u=P.selection.activeChangeIds[0];if(!u)return"unavailable";const p=ns(P.selection),y=(P.trackChanges.status==="ready"?P.trackChanges.items.find(G=>Ni(G,u,p)):void 0)??_m(u,p)??Ai()?.find(G=>Ni(G,u,p));if(!y)return"unavailable";const _=vm(y),x=_.type,z=_.grouping;return g2(P.selection,y)?"id":x==="replacement"&&z==="replacement-pair"||(x==="insertion"||x==="deletion"||x==="insert"||x==="delete")&&z==="standalone"?"range":"id"}function Im(u,p,y,_){const x=()=>S2(u,Yf(y,_),y,_);try{const z=S2(u,p,null);if(Tr(z))return Mo(Promise.resolve(z).then(re=>_o(zs(re))?re:x()));const G=zs(z);return Mo(_o(G)?z:x())}catch{return!1}}function v2(u,p){if(u.scope==="all")return{target:{kind:"all"},changeId:null};if(typeof p=="string"&&p.length>0)return{target:{kind:"id",id:p},changeId:p};if(p&&typeof p=="object"){const x=p;if(x.target&&typeof x.target=="object"){const G=x.target;return{target:G,changeId:Pl(G),story:G.story}}const z=typeof x.changeId=="string"?x.changeId:x.id;if(typeof z=="string"&&z.length>0)return{target:Yf(z,x.story),changeId:z,story:x.story}}const y=P.selection.activeChangeIds[0],_=Wn(P.selection);return y?{target:Yf(y,_),changeId:y,story:_}:null}function xm(u,p){if(u.scope==="id"&&p==null){if(P.selection.activeChangeIds.length>1)return Jf(u.kind,{kind:"ids",ids:P.selection.activeChangeIds},null);if(P.selection.activeChangeIds.length===1&&!P.selection.empty&&P.selection.selectionTarget){const _=Am();if(_==="unavailable")return!1;if(_==="range"){const x=Sm(P.selection),z=Wn(P.selection);return x?Im(u.kind,x,P.selection.activeChangeIds[0],z):!1}if(_==="id"){const x=P.selection.activeChangeIds[0],z=ns(P.selection),G=z&&br(z)!==br(null)?z:void 0;return k2(u.kind,G?{id:x,story:G}:x)}}}const y=v2(u,p);return y?Jf(u.kind,y.target,y.changeId,y.story):!1}function Mc(u,p){const y=se()?.lists,_=y?.apply;if(typeof _!="function")return!1;const{behavior:x,preset:z,continuity:G}=typeof p=="string"?iV(p):p&&typeof p=="object"?p:{},re={kind:u,behavior:x??"toggle"};z!==void 0&&(re.preset=z),G!==void 0&&(re.continuity=G);try{return Mo(_.call(y,re))}catch{return!1}}let Ei=Promise.resolve(!1),Xo=null,It=Promise.resolve(!1);const Bt=async u=>{if(!ym(u))return u;const p=A()?.documentMutationReadiness,y=p?.whenPainted;if(typeof y!="function")return u;const _=typeof u.txId=="string"?u.txId:void 0;try{await y.call(p,_?{txId:_}:void 0)}catch{}return u},Gt=u=>{if(Tr(u)){const y=Promise.resolve(u);return{immediate:!0,committed:y.then(_=>zs(_),()=>!1),settled:y.then(_=>Bt(zs(_)),()=>!1)}}const p=zs(u);return{immediate:p,committed:Promise.resolve(p),settled:Bt(p)}},_r=()=>{const u=s.shift();if(!u){c=!1,f?.(),f=null;return}try{u.resolve(U?!1:u.mutate())}catch{u.resolve(!1)}},Ur=()=>{let u=!1;return()=>{u||(u=!0,_r())}},yo=(u,p)=>{if(!c){c=!0,d=new Promise(z=>{f=z});try{return{result:p(),release:Ur()}}catch(z){throw c=!1,f?.(),f=null,z}}const y=s.find(z=>z.key===u);if(y)return y.mutate=p,{result:y.result,release:()=>{}};let _;const x=new Promise(z=>{_=z});return s.push({key:u,mutate:p,result:x,resolve:_}),{result:x,release:Ur()}},Ti=new Set(["create.tableOfContents"]),qs=u=>qn(`Tracked authoring is not supported for ${u}.`),Dl=u=>{if(kr()==="suggesting")return Ti.has(u)?qs(u):{changeMode:"tracked"}},wj=()=>kr()==="suggesting"?BV:p2,bo=(u,p,y)=>{const _=Dl(u);return _&&_.success===!1?_:_?p(y,_):p(y)},Cj=(u,p,y,_)=>{const x=u.inline;if(!x)return;const z=zs(_);if(z===!1||typeof z=="object"&&z&&z.success===!1)return;if(x.kind==="clear"){n.clear();return}if(x.kind==="toggle"||!c2(x.key))return;const G=xa(p);if(!G)return;const re=AV(x.key,y.value);if(re==null){n.delete(x.key);return}n.set(x.key,{selectionSignature:G,value:re})},kj=(u,p,y,_)=>!u.inline||u.inline.kind==="toggle"?_:Tr(_)?Promise.resolve(_).then(x=>(Cj(u,p,y,x),x)):_,Sj=(u,p,y,_)=>{if(u.inline?.kind!=="toggle"||!_o(zs(_))||typeof y.value!="boolean"&&y.value!==null)return null;const x=xa(p);if(!x)return null;const z=++l;return r.set(u.id,{selectionSignature:x,active:y.value===!0,generation:z,settled:!1}),jt(),z},_j=(u,p,y)=>{if(p==null)return;const _=r.get(u.id);if(!(!_||_.generation!==p)){if(!_o(y)){r.delete(u.id);return}_.settled=!0}},Em=(u,p)=>u.then(y=>(p?.(y),Sl(),y),()=>(p?.(!1),Sl(),!1)),Mo=(u,p)=>{const y=Xo;if(Xo=null,y)return Ei=Em(y,p),zs(u);if(Tr(u))return Ei=Em(Gt(u).settled,p),!0;const _=zs(u);return ym(_)&&typeof A()?.documentMutationReadiness?.whenPainted=="function"?(Ei=Em(Bt(_),p),_):(p?.(_),Ei=Promise.resolve(_),Sl(),_)},Aj=(u,p)=>!u||typeof u!="object"?p:u,Ol=(u,p=qn("Document API operation failed."))=>{if(Tr(u))return Promise.resolve(u).then(_=>Ol(_,p),()=>p);const y=Aj(u,p);return Hs(),ym(y)&&typeof A()?.documentMutationReadiness?.whenPainted=="function"?(Em(Bt(y)),jt(),y):(jt(),y)},Ij=(u,p,y,_)=>{const x=[],z=[];for(const G of y){const re=_(G);if(re)try{const ce=Gt(bo(u,p,re));x.push(ce.immediate),z.push(ce.settled)}catch{x.push(!1),z.push(Promise.resolve(!1))}}return Xo=z.length?Promise.all(z).then(G=>ki(G)):null,ki(x)},xj=(u,p,y,_)=>{const x=[],z=[];for(const G of y){const re=_(G);if(re)try{const ce=Gt(bo(u,p,re));x.push(ce.immediate),z.push(ce.settled)}catch{x.push(!1),z.push(Promise.resolve(!1))}}return Xo=z.length?Promise.all(z).then(G=>ki(G)):null,ki(x)},y2=(u,p,y,_=P.selection)=>{const x=Dl(u);return x&&x.success===!1?x:_.selectionTarget?p(y,{...x,offsetSpace:"selection"}):x?p(y,x):p(y)},Ej=(u,p,y,_)=>{const x=So(p,_);switch(u.kind){case"alignment":{const z=y;return z!=="left"&&z!=="center"&&z!=="right"&&z!=="justify"?null:{target:x,alignment:z}}case"spacing-line":{const z=typeof y=="number"?y:Number(y);return!Number.isFinite(z)||z<=0?null:{target:x,line:z,lineRule:"auto"}}case"style":if(y&&typeof y=="object"){const z=y.role;if(z&&typeof z=="object")return{target:x,role:z}}return typeof y!="string"||y.trim()===""?null:{target:x,styleId:y};case"direction":{const z=u.fixedValue;return z!=="ltr"&&z!=="rtl"?null:{target:x,direction:z}}default:return null}},Tj=(u,p)=>{const y=u.inline,_=h2(u),x=L();if(!y||typeof x?.setPendingInlineFormat!="function")return!1;if(y.kind==="clear")return j(),!0;if(!_)return!1;let z;if(y.kind==="toggle")z=!Hi(u,b(),P.selection);else{const G=p&&typeof p=="object"&&"value"in p?p.value:p;if(y.kind==="value-number"){const re=typeof G=="number"?G:Number(G);z=Number.isFinite(re)&&re>0?re:null}else z=typeof G=="string"&&G.trim()!==""?G:null;if(z===null)return E(_,null),!0}return E(_,z),!0},Rj=()=>{const u=b(),{lockModesById:p}=Oa(u?.contentControls,P.selection);if(ds(p))return!1;const y=[],_=[],x=Je=>{const Ge=Gt(Je);y.push(Ge.immediate),_.push(Ge.settled)},z=(Je,Ge,tt)=>{try{x(tt?Je(Ge,tt):Je(Ge))}catch{y.push(!1),_.push(Promise.resolve(!1))}},G=Rr().cache?.full.defaults.paragraphStyleId??Tn,re=Ou(P.selection);if(re){const Je=mr(u,"format.apply");if(Je)try{x(y2("format.apply",Je,{target:re,inline:{...wj()}}))}catch{y.push(!1),_.push(Promise.resolve(!1))}}const ce=mr(u,"format.paragraph.resetDirectFormatting"),Te=mr(u,"styles.paragraph.setStyleRef"),ze=ns(P.selection),Ue=!ze||ze.storyType==="body",Ye=mr(u,Ue?"lists.remove":"lists.removeInStory");for(const Je of Nr(P.selection)){const Ge=So(Je,ze);if(ce&&z(ce,{target:Ge}),Ye)try{const tt=Ia(Je),ft=Gt(Ye(Ue?{target:tt}:{target:tt,story:ze}));_.push(ft.settled.then(dt=>_o(dt)?dt:!0))}catch{}Te&&z(Te,{target:Ge,styleId:G})}if(!re&&kr()!=="suggesting"){const Je=mr(u,"format.paragraph.setMarkRunProps");if(Je)for(const Ge of Nr(P.selection))z(Je,{target:So(Ge,ze),markRunProps:{bold:!1,italic:!1,strikethrough:!1,doubleStrikethrough:!1,smallCaps:!1,caps:!1,verticalAlign:"baseline"}})}return Xo=_.length?Promise.all(_).then(Je=>ki(Je)):null,ki(y.length?y:[!1])},Mj=(u,p,y)=>{const _=Nr(P.selection);if(_.length===0)return!1;const x=ns(P.selection);return Ij(u.docRoute,p,_,z=>Ej(u.blockParagraph,z,y,x))},Lj=(u,p,y)=>{const _=b(),x=mr(_,"format.paragraph.setIndentation"),z=mr(_,"format.paragraph.clearIndentation"),G=u.list?.mode,re=ts(P.selection),ce=ns(P.selection),Te=async ze=>{const Ue=await Le(_,ze,re);if(Ue===!0)return{kind:"list",routeToCall:u.docRoute,opToCall:p,input:{target:wA(ze)}};if(Ue===null||ce&&ce.storyType!=="body"&&typeof _?.getNode!="function")return null;const Ye=await De(_,ze,ce),Je={};if(Ye?.right!=null&&(Je.right=Ye.right),Ye?.firstLine!=null&&(Je.firstLine=Ye.firstLine),Ye?.hanging!=null&&(Je.hanging=Ye.hanging),G==="indent")return x?{kind:"paragraph",routeToCall:"format.paragraph.setIndentation",opToCall:x,input:{target:So(ze,ce),left:Math.max(0,Ye?.left??0)+CA,...Je}}:null;const Ge=Math.max(0,(Ye?.left??0)-CA);return Ge>0&&(Je.left=Ge),Object.keys(Je).length===0?z?{kind:"paragraph",routeToCall:"format.paragraph.clearIndentation",opToCall:z,input:{target:So(ze,ce)}}:x?{kind:"paragraph",routeToCall:"format.paragraph.setIndentation",opToCall:x,input:{target:So(ze,ce),left:0}}:null:x?{kind:"paragraph",routeToCall:"format.paragraph.setIndentation",opToCall:x,input:{target:So(ze,ce),...Je}}:null};return Xo=(async()=>{const ze=await Promise.all(y.map(Ge=>Te(Ge).catch(()=>null)));if(ze.length===y.length&&ze.every(Ge=>Ge?.kind==="list")&&kr()!=="suggesting"){const Ge=G==="indent"?"lists.indentRange":"lists.outdentRange",tt=mr(_,Ge);if(tt)try{return await Gt(bo(Ge,tt,{paraIds:y,story:re})).settled}catch{return!1}}const Ue=re.storyType!=="body"&&ze.some(Ge=>Ge?.kind==="list"),Ye=Ue&&G==="outdent"?mr(_,"lists.outdentInStory"):null;if(Ue&&!Ye)return!1;const Je=ze.map(Ge=>{if(!Ge)return Promise.resolve(!1);try{return Ge.kind==="list"&&Ye?Gt(bo("lists.outdentInStory",Ye,{target:Ge.input.target,story:re})).settled:Gt(bo(Ge.routeToCall,Ge.opToCall,Ge.input)).settled}catch{return Promise.resolve(!1)}});return ki(await Promise.all(Je))})(),!0},Pj=(u,p)=>{const y=u.list,_=b(),x=Nr(P.selection);if(x.length===0)return!1;const z=ts(P.selection),G=z.storyType==="body";if(y.mode==="indent"||y.mode==="outdent")return Lj(u,p,x);const re=y.seed,ce=Ue=>{if(Ue.some(dt=>!dt.resolved))return{immediate:!1,settled:null};const Ye=Ue.every(dt=>dt.seed===re);if(!Ye&&!G)return{immediate:!1,settled:null};const Je=Ye?G?"lists.remove":"lists.removeInStory":u.docRoute,Ge=Ye?mr(_,Je):p;if(!Ge)return{immediate:!1,settled:null};const tt=[],ft=[];return x.forEach((dt,ot)=>{if(!Ye&&Ue[ot]?.seed===re)return;const Ft=Ye?{target:Ia(dt),...G?{}:{story:z}}:{target:Ia(dt),seed:re};try{const Nt=Gt(bo(Je,Ge,Ft));tt.push(Nt.immediate),ft.push(Nt.settled)}catch{tt.push(!1),ft.push(Promise.resolve(!1))}}),{immediate:ki(tt),settled:ft.length?Promise.all(ft).then(dt=>ki(dt)):null}},Te=x.map(Ue=>Oe(_,Ue,z));if(Te.some(Tr))return Xo=Promise.all(Te).then(async Ue=>{const Ye=ce(Ue);return Ye.settled?await Ye.settled:Ye.immediate}),!0;const ze=ce(Te);return Xo=ze.settled,ze.immediate};function Zf(u){return u&&typeof u=="object"?u:{}}function Dj(u){if(typeof u=="string")return u;const p=Zf(u);if(Object.prototype.hasOwnProperty.call(p,"href"))return p.href;if(Object.prototype.hasOwnProperty.call(p,"value"))return p.value}function Oj(u,p){const y=Zf(u).text;return typeof y=="string"&&y.trim()!==""?y:p}function PA(u){const p=Zf(u),y=p.capture&&typeof p.capture=="object"?p.capture:null;return p.target??y?.target??y?.selectionTarget??p.selectionTarget??p.textTarget??null}const Fj=u=>{const p=b(),y=p?.hyperlinks;if(!y)return!1;const _=Zf(u),x=Dj(u),z=PA(u),G=typeof _.text=="string"?_.text:void 0,re=typeof _.currentText=="string"?_.currentText:void 0,ce=Bf(_.hyperlinkTarget)?_.hyperlinkTarget:null,Te=Bf(_.textTarget)?_.textTarget:null,ze=Ac(p,P.selection),Ue=typeof ce?.storyId=="string"&&typeof ce?.hyperlinkNodeId=="string";if(Ue&&x===null){const Ye=y.remove;if(typeof Ye!="function")return!1;try{return bo("hyperlinks.remove",Ye,{storyId:ce.storyId,hyperlinkNodeId:ce.hyperlinkNodeId,keepText:!0})}catch{return!1}}if(ze&&x===null){const Ye=y.remove;if(typeof Ye!="function")return!1;try{return bo("hyperlinks.remove",Ye,{target:ze.address,mode:"unwrap"})}catch{return!1}}if((ze||ce)&&typeof x=="string"&&x.trim()!==""){const Ye=y.patch,Je=y.updateTarget;if(!(!Ue&&ze&&typeof Ye=="function")&&!(Ue&&typeof Je=="function"))return!1;const Ge=typeof G=="string"&&G!==(Ue?re:ze?.text??re),tt=p?.text?.replace,ft=Ge?Ue?Te:LV(ze?.address):null,dt=Ge&&!!ft&&typeof tt=="function";if(Ge&&!dt)return!1;const ot=[],Ft=[];let Nt=null,Un=null,Hn=null,Zr=!1;try{if(Ue){if(typeof Je!="function")return!1;const Qr=bo("hyperlinks.updateTarget",Je,{storyId:ce.storyId,hyperlinkNodeId:ce.hyperlinkNodeId,newTarget:PV(x)});Zr=Tr(Qr);const Ar=Gt(Qr);if(!_o(Ar.immediate))return!1;ot.push(Ar.immediate),Ft.push(Ar.settled),Nt=Ar.immediate,Un=Ar.committed,Hn=Ar.settled}else if(ze){if(typeof Ye!="function")return!1;const Qr=bo("hyperlinks.patch",Ye,{target:ze.address,patch:{href:x}});Zr=Tr(Qr);const Ar=Gt(Qr);if(!_o(Ar.immediate))return!1;ot.push(Ar.immediate),Ft.push(Ar.settled),Nt=Ar.immediate,Un=Ar.committed,Hn=Ar.settled}}catch{return!1}if(dt){const Qr=(Lr,Zo)=>_o(Zo)?ki([Lr,Zo]):_o(Lr)?Lf(Lr,Zo):Zo,Ar=Lr=>{if(!_o(Lr))return Lr;try{const Zo=Gt(bo("text.replace",tt,{target:ft,text:G}));return _o(Zo.immediate)?Promise.all([Hn??Promise.resolve(Lr),Zo.settled]).then(([E2,wU])=>Qr(E2,wU)):Lf(Lr,Zo.immediate)}catch{return Lf(Lr,!1)}};if(Zr)return Xo=(Un??Promise.resolve(Nt??!1)).then(Ar),ki(ot);try{const Lr=Gt(bo("text.replace",tt,{target:ft,text:G}));if(!_o(Lr.immediate))return Nt?Lf(Nt,Lr.immediate):Lr.immediate;ot.push(Lr.immediate),Ft.push(Lr.settled),Xo=Promise.all([Hn??Promise.resolve(Nt??!1),Lr.settled]).then(([Zo,E2])=>Qr(Zo,E2))}catch{return Nt?Lf(Nt,!1):!1}}return!dt&&Ft.length>0&&(Xo=Promise.all(Ft).then(Qr=>ki(Qr))),ki(ot)}if(typeof x=="string"&&x.trim()!==""){const Ye=x.trim(),Je=y.wrap,Ge=kV(z),tt=Ge.length>0?Ge:l2(P.selection);if(tt.length>0){if(typeof Je!="function")return!1;try{return xj("hyperlinks.wrap",Je,tt,Ft=>({target:Ft,link:{destination:{href:Ye}}}))}catch{return!1}}const ft=y.insert,dt=Oj(u,Ye);if(typeof ft!="function"||dt.trim()==="")return!1;const ot=Of(z)??yl(P.selection);if(!ot)return!1;try{return bo("hyperlinks.insert",ft,{target:ot,text:dt,link:{destination:{href:Ye}}})}catch{return!1}}return!1},Nj=(u,p,y)=>{const _=u.create.kind,x=y&&typeof y=="object"?y:{};if(_==="table"){const G=Number(x.rows??x.rowCount),re=Number(x.columns??x.cols??x.colCount);if(!Number.isInteger(G)||G<1||!Number.isInteger(re)||re<1)return!1;const ce=yl(P.selection),Te=ce&&typeof ce.blockId=="string"?{kind:"inParagraph",target:So(ce.blockId),offset:ce.range?.start??0}:d2(P.selection,"nodeId");try{return bo(u.docRoute,p,{rows:G,columns:re,at:Te})}catch{return!1}}if(_==="image"){const G=x.src??x.value;if(typeof G!="string"||G.trim()==="")return!1;const re=yl(P.selection),ce=ts(P.selection),Te=ce.storyType==="body"?null:ce;let ze;re&&typeof re.blockId=="string"?ze={kind:"inParagraph",target:So(re.blockId,Te),offset:re.range?.start??0}:(ze=d2(P.selection,"target"),Te&&ze.kind==="after"&&(ze={...ze,target:{...ze.target,story:Te}}));const Ue={src:G,at:ze};Te&&(Ue.in=ze.kind==="inParagraph"?V(Te)??Te:Te),typeof x.alt=="string"&&(Ue.alt=x.alt),typeof x.title=="string"&&(Ue.title=x.title),x.size&&typeof x.size=="object"&&(Ue.size=x.size);try{return bo(u.docRoute,p,Ue)}catch{return!1}}const z={at:d2(P.selection,"target")};typeof x.instruction=="string"&&(z.instruction=x.instruction),x.config&&typeof x.config=="object"&&(z.config=x.config);try{return bo(u.docRoute,p,z)}catch{return!1}},Bj=(u,p)=>{const y=u.table,_=_e();if(!_||y.requiresCell&&!_.cellNodeId)return!1;const x=jV(y.action,_);if(!x)return!1;try{if(y.action==="insert-row-before"||y.action==="insert-row-after"){const z=L(),G=(typeof z?.getHandles=="function"?z.getHandles():null)?.editing?.tables;if(typeof G?.insertRow!="function")return!1;const re=Dl(u.docRoute);return re&&re.success===!1?re:re?G.insertRow(x,re):G.insertRow(x)}return bo(u.docRoute,p,x)}catch{return!1}},zj=u=>!u||u.disposition!=="routed"?!1:!!(u.inline||u.blockParagraph||u.list||u.link||u.create),Vj=u=>{const p=Zf(u);return!!(PA(u)||Bf(p.hyperlinkTarget)||Bf(p.textTarget))},jj=(u,p,y)=>P.selection.status!=="ready"?!1:wm(u)?.scope==="id"||!p||p.disposition!=="routed"?!0:p.inline?.kind==="clear"?Nr(P.selection).length>0||Ou(P.selection)!=null:p.inline?Ou(P.selection)!=null||Nr(P.selection).length>0:p.blockParagraph||p.list?Nr(P.selection).length>0:p.link?Vj(y)||l2(P.selection).length>0||yl(P.selection)!=null||Hi(p,b(),P.selection):!0,Uj=(u,p)=>{const y=wm(u),_=Tu(u);return y?.scope!=="id"&&!zj(_)?!1:!jj(u,_,p)},Hj=(u,p)=>Uj(u,p)?gc().then(()=>{}):null,Lc=(u,p,y)=>{if(Xo=null,Ei=Promise.resolve(!1),U)return!1;const _=oe.get(u);if(_)try{const Ue=_.execute(ls(p,y));return Mo(Ue)}catch{return!1}const x=hA(u);if(x&&typeof se()?.lists?.apply=="function")return Mc(x,p);const z=wm(u);if(z)return xm(z,p);if(u==="copy-format")return Mo($j());const G=Tu(u);if(!G||G.disposition!=="routed")return!1;const re=G.normalizePayload?G.normalizePayload(p):p;if(G.instanceRoute){if(!A()||!Br(G,re))return!1;const Ue=t?.[G.instanceRoute];if(typeof Ue!="function")return!1;try{const Ye=G.fixedArg!==void 0?G.fixedArg:re,Je=Ue.call(t,Ye);return Mo(Je)}catch{return!1}}if(G.inline?.kind==="clear")return G.mutates&&kr()==="viewing"?!1:Mo(Rj());const ce=G.docRoute;if(!ce||G.mutates&&kr()==="viewing")return!1;const Te=b(),ze=mr(Te,ce);if(!ze)return!1;if(G.inline){const{lockModesById:Ue}=Oa(Te?.contentControls,P.selection);if(ds(Ue))return!1;const Ye=Ou(P.selection);if(!Ye)return P.selection.empty===!1?Mo(!1):Mo(Tj(G,re));const Je=Hi(G,Te,P.selection),Ge=zV(G.inline,Ye,re,Je);if(!Ge)return!1;let tt=null;try{const ft=A(),dt=kr(),ot=()=>A()!==ft||b()!==Te||kr()!==dt?!1:y2(ce,ze,Ge),Ft=xa(P.selection)??uc(P.selection),Nt=G.inline.kind==="toggle"?yo(`${G.id}:${Ft}`,ot):null;tt=Nt?.release??null;const Un=Nt?Nt.result:ot(),Hn=Sj(G,P.selection,Ge,Un),Zr=kj(G,P.selection,Ge,Un),Qr=Mo(Zr,Ar=>{_j(G,Hn,Ar),tt?.(),tt=null});return G.inline.kind==="toggle"&&(It=Ei),Qr}catch{return tt?.(),!1}}if(G.blockParagraph){const Ue=Mj(G,ze,re),Ye=G.blockParagraph.kind==="alignment"&&_o(Ue)?de(P.selection,re):null;return Mo(Ue,Je=>{Ae(Ye,Je)})}if(G.list){const Ue=Pj(G,ze);return Mo(Ue)}if(G.link){const Ue=Fj(re);return Mo(Ue)}if(G.create){const Ue=Nj(G,ze,re);return Mo(Ue)}if(G.table){const Ue=Bj(G,ze);return Mo(Ue)}try{return Mo(G.mutates?bo(ce,ze,re):ze(re))}catch{return!1}},Tm=()=>{g+=1,h={mode:"idle",snapshot:null,sourceSelectionKey:null,lastClickAt:h.lastClickAt,pointerSelecting:!1,keyboardSelecting:!1};for(const u of m)u("idle");jt()},$j=async()=>{const u=["bold","italic","underline","strikethrough"].filter(ze=>P.toolbar.commands[ze]?.active===!0),p=await It;await d;const y=_o(p)?u:[],_=500,x=Date.now();if(h.mode!=="idle"){if(h.mode==="armed"&&x-h.lastClickAt<_){h={...h,mode:"persistent",lastClickAt:x};for(const ze of m)ze("persistent");return jt(),!0}return Tm(),!1}const z=x-h.lastClickAt<_,G=++g;h={...h,lastClickAt:x};const re=await gc(),ce=`${uc(re)}:${Ce()}`,Te=await Gj(null,re,ce&&ce===k?v:void 0,y);if(G!==g)return!0;h={...h,mode:z?"persistent":"armed",snapshot:Te,sourceSelectionKey:uc(re),lastClickAt:x};for(const ze of m)ze(h.mode);return jt(),!0},Gj=async(u,p,y,_=[])=>{const x=p?.target??u?.target;if(!x||x.kind!=="text")return null;const z=Array.isArray(x.segments)?x.segments:[];if(z.length===0)return null;const G=b();if(!G)return null;const re=x.story;let ce=null;for(const Ge of z){const tt=(await Na(So(Ge.blockId,re)))?.node??null;if(!tt)continue;const ft=b2(tt),dt=Array.isArray(ft?.inlines)?ft.inlines:[],ot=Wj(dt,Ge.range);ce?ce=DA(ce,ot):ce=ot}const Te=ce?Vz(ce):{},ze={bold:"bold",italic:"italic",underline:"underline",strikethrough:"strike"},Ue=new Set([...p?.activeMarks??(Array.isArray(u?.activeMarks)?u.activeMarks:[]),..._]);for(const[Ge,tt]of Object.entries(ze))Ue.has(Ge)&&(Te[tt]=!0);const Ye=y??await Wf(p??cs(u,"ready"));if(Ye.fontFamily&&(Te.fontFamily=Ye.fontFamily),Ye.color&&(Te.color=Ye.color),Ye.highlight&&(Te.highlight=Ye.highlight),Ye.fontSize){const Ge=Number.parseFloat(Ye.fontSize);Number.isNaN(Ge)||(Te.fontSize=Ge)}let Je=null;if(z.length===1){const Ge=z[0],tt=(await Na(So(Ge.blockId,re)))?.node??null;tt&&b2(tt)&&(Je=await Kj(tt,Ge.blockId,G,re))}return{story:re??null,inline:Te,paragraph:Je}},b2=u=>u?u.kind==="paragraph"?u.paragraph??null:u.kind==="heading"?u.heading??null:null:null,Wj=(u,p)=>{const y=G=>{const re=G.run;return typeof re?.text=="string"?re.text:""},_=G=>G.run?.props;if(p.start===p.end){let G=0;for(const re of u){const ce=y(re),Te=G,ze=G+ce.length;if(G=ze,p.start>=Te&&p.start<=ze){const Ue=_(re);return Ue?{...Ue}:{}}}return{}}let x=0;const z=[];for(const G of u){const re=y(G),ce=x,Te=x+re.length;if(x=Te,Te<=p.start||ce>=p.end)continue;const ze=_(G);ze&&z.push(ze)}return z.length===0?{}:z.length===1?{...z[0]}:DA(z[0],...z.slice(1))},DA=(u,...p)=>{const y={...u};for(const _ of p)for(const x of Object.keys(y)){if(!(x in _)){delete y[x];continue}const z=y[x],G=_[x];(typeof z!=typeof G||JSON.stringify(z)!==JSON.stringify(G))&&delete y[x]}return y},Kj=async(u,p,y,_)=>{const x=b2(u),z=x.props??{},G=x.styleRef??null,re=z.alignment??null,ce=z.spacing??null,Te=z.indent??null,ze=Te?{...Te.left!=null?{left:Te.left}:{},...Te.right!=null?{right:Te.right}:{},...Te.firstLine!=null?{firstLine:Te.firstLine}:{},...Te.hanging!=null?{hanging:Te.hanging}:{}}:null,Ue=z.markRunProps??null,Ye=z.numbering?.numId,Je=typeof Ye=="string"?parseInt(Ye,10):typeof Ye=="number"?Ye:NaN,Ge=z.numbering?.level,tt=isNaN(Je)?null:{numId:Je,...Ge!=null?{level:Ge}:{}};let ft=null;if(tt&&typeof y.lists?.getState=="function")try{const dt=await y.lists.getState({target:So(p,_)});dt&&typeof y.lists?.getStyle=="function"&&(ft=await y.lists.getStyle(dt)??null)}catch{}return{styleId:G,alignment:re,spacing:ce,indentation:ze,markRunProps:Ue,numbering:tt,listStyle:ft}},OA=async()=>{if(h.mode==="idle"||h.pointerSelecting||h.keyboardSelecting)return;const u=b()?.selection,p=async()=>{const G=typeof u?.current=="function"?await Promise.resolve(u.current({includeText:!0})):Gs().value;return ji(G)},y=()=>new Promise(G=>setTimeout(G,16)),_=8;let x=null,z="";for(let G=0;G<_;G+=1){if(G>0&&await y(),h.mode==="idle"||h.pointerSelecting||h.keyboardSelecting)return;if(x=await p(),!(!x||x.empty)&&(z=uc(x),z!==h.sourceSelectionKey))break}if(x&&!x.empty&&z!==h.sourceSelectionKey){await FA(x);return}if(h.snapshot?.paragraph){const G=await p();if(!G||uc(G)===h.sourceSelectionKey)return;await FA(G)}},FA=async u=>{const p=h.snapshot;if(!p){h.mode==="armed"&&Tm();return}const y=b();if(!y)return;const _=cs(u,"ready"),{lockModesById:x}=Oa(y.contentControls,_);if(ds(x)){jt();return}const z=u.target,G=u.selectionTarget;if(u.empty!==!0&&Object.keys(p.inline).length>0){const re=mr(y,"format.apply");if(re&&G)try{if(!_o(zs(await Promise.resolve(y2("format.apply",re,{target:G,inline:p.inline},u))))){jt();return}}catch{jt();return}}if(p.paragraph){const re=Array.isArray(z?.segments)?z.segments:[],ce=z?.story;for(const Te of re){const ze=So(Te.blockId,ce),Ue=await Na(ze),Ye=Ue?.node??null,Je=Ue?.address??null;if(!Ye)continue;const Ge={kind:"block",nodeType:Je?.nodeType??Ye.kind??"paragraph",nodeId:Te.blockId,...ce&&typeof ce=="object"?{story:ce}:{}},{styleId:tt,alignment:ft,spacing:dt,indentation:ot,markRunProps:Ft,numbering:Nt,listStyle:Un}=p.paragraph;if(tt&&await y.styles?.paragraph?.setStyle?.({target:Ge,styleId:tt}),ft&&await y.format?.paragraph?.setAlignment?.({target:Ge,alignment:ft}),dt){const Hn=dt,Zr=Hn.lineRule??"auto",Qr=new Set(["auto","exact","atLeast"]).has(Zr)?Zr:"auto",Ar={...Hn.before!=null?{before:Math.round(Hn.before*20)}:{},...Hn.after!=null?{after:Math.round(Hn.after*20)}:{},...Hn.line!=null?{line:Math.round(Qr==="auto"?Hn.line*240:Hn.line*20),lineRule:Qr}:{}};await y.format?.paragraph?.setSpacing?.({target:Ge,...Ar})}if(ot){const Hn={...ot.left!=null?{left:Bs(ot.left)}:{},...ot.right!=null?{right:Bs(ot.right)}:{},...ot.firstLine!=null?{firstLine:Bs(ot.firstLine)}:{},...ot.hanging!=null?{hanging:Bs(ot.hanging)}:{}};await y.format?.paragraph?.setIndentation?.({target:Ge,...Hn})}Ft&&await y.format?.paragraph?.setMarkRunProps?.({target:Ge,markRunProps:Ft}),Nt&&await y.format?.paragraph?.setNumbering?.({target:Ge,...Nt}),Un&&((await Na(ze))?.address?.nodeType==="listItem"?await y.lists?.applyStyle?.({target:wA(Te.blockId,ce),style:Un}):Nt&&await y.format?.paragraph?.setNumbering?.({target:Ge,...Nt}))}}h.mode==="armed"&&Tm(),jt()},Rm=(u,p,y)=>{const _=Hj(u,p),x=_?_.then(()=>(Lc(u,p,y),Ei)):(Lc(u,p,y),Ei);return Tu(u)?.inline?.kind==="toggle"&&(It=x),x},NA=u=>({id:u,getState:()=>P.toolbar.commands[u]??Ks(u,b(),P.selection,Tl(P.selection)),observe:p=>jo(y=>y.toolbar.commands[u]??{enabled:!1,active:!1,supported:!1,source:"unsupported",reason:ct.commandUnsupported}).subscribe(p),execute:p=>Lc(u,p),executeAsync:p=>Rm(u,p)}),qj=u=>{oe.set(u.id,u),jt();const p=()=>{oe.delete(u.id),jt()};return Object.assign(p,{handle:NA(u.id),unregister:p})},Mm=hi(u=>u.selection),Lm=Ro(Mm),BA=()=>{const u=L();if(typeof u?.getHandles!="function")return{reason:ct.hostCapabilityUnavailable};let p=null;try{p=u.getHandles()}catch(_){const x=_?.reason;return{reason:x==="host-not-ready"||x==="host-disposed"||x==="editing-mount-required"?ct.notReady:ct.hostCapabilityUnavailable}}const y=p?.editing?.selectionTargets;return typeof y?.apply!="function"?{reason:ct.hostCapabilityUnavailable}:{helper:y}},Yj=u=>{const p=L();if(typeof p?.getHandles=="function")try{const y=p.getHandles()?.editing?.contentControls;typeof y?.activate=="function"&&y.activate({id:u})}catch{}},zA={get:Lm.get,getSnapshot:Lm.getSnapshot,subscribe:Lm.subscribe,observe:Lm.observe,current:()=>Gs().value,capture:()=>{const u=Mm.get();return u.empty||!u.target&&!u.selectionTarget?null:{...u,capturedAt:Date.now()}},restore:u=>{const p=x=>(jt(),{...x,success:x.ok});if(!u||typeof u!="object")return p({ok:!1,reason:ct.targetUnresolved});if(!A())return p({ok:!1,reason:ct.notReady});const y=NV(u);if(!y)return p({ok:!1,reason:ct.targetUnresolved});const _=BA();if(!("helper"in _))return p({ok:!1,reason:_.reason});try{return p(fA(_.helper.apply(y)))}catch{return p({ok:!1,reason:ct.hostCapabilityUnavailable})}},apply:u=>{if(!A())return{ok:!1,reason:ct.notReady};const p=BA();if(!("helper"in p))return{ok:!1,reason:p.reason};try{const y=p.helper.apply(u);return jt(),fA(y)}catch{return{ok:!1,reason:ct.hostCapabilityUnavailable}}},getAnchorRect:u=>{const p=L();if(typeof p?.getSelectionAnchorRect=="function"){const y=Tt(()=>p.getSelectionAnchorRect(u),null);return y&&typeof y=="object"&&(Number(y.width)>0||Number(y.height)>0)?y:null}return null},getRects:u=>{const p=Mm.get(),y=p.selectionTarget??p.target;if(p.empty||!y)return[];const _=jm.getRect({target:y,relativeTo:u?.relativeTo});return _.found?_.rects:[]}},Xj={get ids(){return Qt()},has:u=>Tu(u)!=null||oe.has(u),get:u=>NA(u),execute:Lc,executeAsync:Rm,register:qj,getContextMenuItems:u=>{const p=[];for(const y of oe.values()){const _=y.contextMenu;_&&Tt(_.when?()=>_.when(u):void 0,!0)&&p.push({id:y.id,label:_.label,group:_.group,order:_.order,invoke:()=>Lc(y.id,void 0,u)})}return p.sort((y,_)=>(y.order??0)-(_.order??0)||y.label.localeCompare(_.label))}},w2=Ro(hi(u=>u.toolbar)),Zj={get:w2.get,getSnapshot:()=>P.toolbar,subscribe:w2.subscribe,observe:w2.observe,execute:Lc,executeAsync:Rm},Xu=async(u,p)=>{if(!A())return{success:!1,ok:!1,reason:ct.notReady};if(!u)return{success:!1,ok:!1,reason:ct.targetUnresolved};const y=L(),_=y?.scrollTargetIntoView;if(typeof _!="function")return{success:!1,ok:!1,reason:ct.hostCapabilityUnavailable};try{const x={target:u,block:p?.block??"center",behavior:p?.behavior??"smooth"},z=await Promise.resolve(p?.shouldContinue?_.call(y,x,p.shouldContinue):_.call(y,x));return z&&typeof z=="object"&&z.success===!1?{success:!1,ok:!1,reason:i2(z.reason,ct.targetUnresolved)}:{success:!0,ok:!0}}catch{return{success:!1,ok:!1,reason:ct.hostCapabilityUnavailable}}},VA=u=>{if(!u||typeof u!="object")return null;const p=u,y=p.wordRevisionIds&&typeof p.wordRevisionIds=="object"?p.wordRevisionIds:null,_=p.sourceIds&&typeof p.sourceIds=="object"?p.sourceIds:null,x=Array.isArray(_?.wordIdOther)?_.wordIdOther:void 0,z=y?.insert??y?.delete??y?.format??_?.wordIdInsert??_?.wordIdDelete??x?.[0];return typeof z=="string"&&z.length>0?z:null},jA=async(u,p,y,_,x)=>{const z=await Xu(p,x);if(z.ok)return z;const G=w(),re=G?.focusTrackedChange;if(typeof re!="function")return z;const ce=y||_?{commentId:u,...y?{trackedChangeStory:y}:{},..._?{importedId:_}:{}}:u;try{const Te=await Promise.resolve(re.call(G,ce));if(Te&&typeof Te=="object"&&Te.ok===!0)return{success:!0,ok:!0}}catch{}return z},Pm=async(u,p,y,_)=>{const x=u==="trackChanges"?_?.story:void 0,z=dt=>{if(!x||!dt||typeof dt!="object")return dt;const ot=dt,Ft=ot.address&&typeof ot.address=="object"?ot.address:null;return ot.story||Ft?.story?dt:{...ot,story:x}},G=u==="trackChanges"?mA:Pf,re=y.find(dt=>Ni(dt,p,x)),ce=re&&typeof re=="object"?re:null,Te=u==="trackChanges"&&ce?.type==="move"&&(ce.subtype==="move-to"||ce.subtype==="move-from")?ce.subtype:null,ze=Te&&typeof ce?.trackedChangeCanonicalId=="string"?ce.trackedChangeCanonicalId:p,Ue=dt=>{if(!Te)return u==="trackChanges"?mA(dt,{preferStableBlock:!0}):G(dt);const ot=Pf(dt);if(ot?.kind!=="move")return null;const Ft=Te==="move-to"?ot.destination:ot.source;return s2(Ft)?Ft:null},Ye=G(re),Je=u!=="trackChanges"||!Te&&s2(Pf(re));if(Ye&&Je)return z(Ye);const Ge=b()?.[u],tt=u==="comments"?{commentId:p}:{id:ze,...x?{story:x}:{}},ft=Ge?.get;if(typeof ft!="function")return z(Ye);try{return z(Ue(await Promise.resolve(ft.call(Ge,tt)))??Ye)}catch{return z(Ye)}};function UA(u,p){if($s())return qn("Comments are read-only.","DOCUMENT_READONLY");if(mc())return qn("Resolving comments is disabled.","DOCUMENT_READONLY");const y=b()?.comments,_=y?.patch;if(typeof _!="function")return qn("comments.patch is unavailable.");const x=qn("comments.patch failed.");return Tt(()=>Ol(_.call(y,{commentId:u,status:p}),x),x)}const Qf=()=>$s()?qn("Comments are read-only.","DOCUMENT_READONLY"):null,Qj=(u,p)=>{const y=p&&typeof p=="object"?p:null;let _=Array.from(u);y?.includeResolved===!1&&(_=_.filter(ce=>ce.status!=="resolved"));const x=Number(y?.offset),z=Number.isInteger(x)&&x>0?x:0,G=Number(y?.limit),re=Number.isInteger(G)&&G>=0?z+G:void 0;return _.slice(z,re)},Zu=hi(u=>u.comments),Dm=Rc(Zu,jo(u=>Ui(u.selection,u.comments)),"comments"),Jj={get:Dm.get,getSnapshot:Dm.getSnapshot,subscribe:Dm.subscribe,observe:Dm.observe,list:u=>{wt();const p=Il();return Qj(p.value??Zu.get().items,u)},getById:u=>{const p=Zu.get().items.find(x=>no(x)===u)??null;if(p)return p;const y=b()?.comments,_=Tt(y?.get?()=>y.get({commentId:u}):void 0,null);return Tr(_)?null:_},createFromCapture:(u,p)=>{const y=Qf();if(y)return y;const _=b()?.comments,x=_?.create;if(typeof x!="function")return qn("comments.create is unavailable.");const z=qn("comments.create failed.");return Tt(()=>{const G=u&&typeof u=="object"?u.target??u.selectionTarget:null;return G==null?qn("A range selection is required to comment.","NO_SELECTION"):Ol(x.call(_,{target:G,text:p.text}),z)},z)},createFromSelection:u=>{const p=Qf();if(p)return p;const y=b()?.comments,_=y?.create;if(typeof _!="function")return qn("comments.create is unavailable.");const x=Mm.get(),z=x.target??x.selectionTarget;if(x.empty||!z)return qn("A range selection is required to comment.","NO_SELECTION");const G=qn("comments.create failed.");return Tt(()=>Ol(_.call(y,{target:z,text:u.text}),G),G)},reply:(u,p)=>{const y=Qf();if(y)return y;const _=b()?.comments,x=_?.reply??_?.create;if(typeof x!="function")return qn("comments.reply is unavailable.");const z=qn("comments.reply failed.");return Tt(()=>Ol(x===_?.reply?x.call(_,{parentCommentId:u,text:p.text}):x.call(_,{parentCommentId:u,text:p.text}),z),z)},edit:(u,p)=>{const y=Qf();if(y)return y;const _=b()?.comments,x=_?.patch;if(typeof x!="function")return qn("comments.patch is unavailable.");const z=qn("comments.patch failed.");return Tt(()=>Ol(x.call(_,{commentId:u,text:p.text}),z),z)},resolve:u=>UA(u,"resolved"),reopen:u=>UA(u,"active"),delete:u=>{const p=Qf();if(p)return p;const y=b()?.comments,_=y?.delete??y?.remove;if(typeof _!="function")return qn("comments.delete is unavailable.");const x=qn("comments.delete failed.");return Tt(()=>Ol(_.call(y,{commentId:u}),x),x)},setActive:u=>{if(u==null)return Re=null,jt(),!0;if(!A())return!1;const p=Zu.get(),y=Q.get("comments"),_=y?.token===Ce()&&y.hasSettled&&Array.isArray(y.value)?y.value:null,x=_??p.items;if(!_&&p.listStatus!=="ready")return!1;const z=yV(x,u);return!z||!x.some(G=>no(G)===z)?!1:(Re=z,jt(),!0)},scrollTo:async u=>{if(!b())return{success:!1,ok:!1,reason:A()?ct.documentApiUnavailable:ct.notReady};const p=await Pm("comments",u,Zu.get().items);return p?Xu(p):{success:!1,ok:!1,reason:ct.targetUnresolved}}},ps=hi(u=>u.trackChanges),C2=(u,p)=>{Ve();const y=(La().value??ps.get().items).map(Nf).filter(Ue=>Ue!=null&&no(Ue)!==null);if(y.length===0)return null;const _=P.trackChanges.activeId,x=$e?.id===_?$e.story:void 0,z=y.filter(Ue=>mm(Ue)==null),G=x||z.length===0?y:z;let re=_?G.findIndex(Ue=>Ni(Ue,_,x)):-1;re===-1&&_&&x&&(re=G.findIndex(Ue=>Ni(Ue,_)));const ce=G[re===-1?u>0?0:G.length-1:(re+u+G.length)%G.length],Te=no(ce),ze=mm(ce);return ne(ze?{id:Te,story:ze}:{id:Te},p),jt(),Te},HA=async u=>{const p=w(),y=p?.listTrackedChanges;if(typeof y=="function")try{await Promise.resolve(y.call(p,{mode:"visible-window",targetIds:[u],refreshReason:"ui-track-change-reveal-restamp",blocking:!0}))}catch{}};let $A=Promise.resolve();const eU=u=>{const p=Ct;return $A.catch(()=>{}).then(()=>tU(u,p))},tU=async(u,p)=>{if(Ct!==p)return{success:!1};const y=$e,_=C2(u,{invalidateQueuedNavigation:!1});if(_==null)return{success:!1};const x=$e,z=nt,G=()=>Ct===p&&$e===x&&nt===z,re=()=>{G()&&(ne(y,{invalidateQueuedNavigation:!1}),jt())};x&&We.add(x);try{const ce=await Pm("trackChanges",_,ps.get().items,x?.story?{story:x.story}:void 0);if(!G())return{success:!1};if(!ce)return re(),{success:!1};const Te=ps.get().items.find(Ue=>Ni(Ue,_,x?.story))??ps.get().items.find(Ue=>no(Ue)===_),ze=VA(Te);vn+=1;try{const Ue=await jA(_,ce,x?.story,ze,{behavior:"auto",shouldContinue:G});if(!G())return{success:!1};if(!Ue.ok&&Ue.reason!==ct.targetNotVisible)re(),S(y);else{if(Ue.ok&&await HA(_),!G())return{success:!1};S(x)}return{success:Ue.ok}}finally{vn=Math.max(0,vn-1),vn===0&&(G()?To&&yn(An(To)):S($e))}}finally{x&&We.delete(x)}},GA=u=>{const p=eU(u);return $A=p.then(()=>{},()=>{}),p},Om=Rc(ps,jo(u=>yc(u.selection,u.trackChanges)),"trackChanges"),nU={get:Om.get,getSnapshot:Om.getSnapshot,subscribe:Om.subscribe,observe:Om.observe,list:()=>{Ve();const u=La().value??ps.get().items,p=Kt(Ce());return u.map(Nf).filter(y=>y!=null).filter(y=>{const _=no(y);return!_||!p?.has(_)})},accept:u=>k2("accept",u),reject:u=>k2("reject",u),acceptAll:()=>Jf("accept",{kind:"all"},null),rejectAll:()=>Jf("reject",{kind:"all"},null),next:()=>C2(1),previous:()=>C2(-1),navigateNext:()=>GA(1),navigatePrevious:()=>GA(-1),getAt:u=>{if(!u||typeof u!="object"||typeof u.x!="number"||typeof u.y!="number")return null;const p=A2(u);if(p.length===0)return null;const y=ps.get().items;let _;for(const x of p){if(x.type!=="trackedChange")continue;let z;if(x.story){if(_===void 0&&(_=Ai()),!_)continue;z=_}else z=y;const G=z.find(re=>Ni(re,x.id,x.story));if(G)return x.story?{id:G.id,item:G,story:x.story}:{id:G.id,item:G}}return null},setActive:u=>{if(u==null)return ne(null),S(null),jt(),!0;if(!A())return!1;const p=typeof u=="string"?{id:u}:{id:u.id,story:u.story};if(typeof p.id!="string"||p.id.length===0)return!1;const y=p.id;if(p.story){const _=Ai();if(!_)return!1;const x=fc(_,p.story).toPublicId(p.id)??p.id;if(!_.some(z=>Ni(z,x,p.story)))return!1;p.id=x}else{const _=Ai()??ps.get().items,x=Ns(_).toPublicId(p.id)??p.id,z=_.find(G=>no(G)===x);if(!z)return!1;p.id=x,p.story=mm(z)}return y!==p.id&&(p.paintedEntityId=y),ne(p),S(p),jt(),!0},scrollTo:async u=>{if(!b())return{success:!1,ok:!1,reason:A()?ct.documentApiUnavailable:ct.notReady};Ct+=1,Ee+=1;const p=Ee,y=ps.get().items,_=Ns(y).toPublicId(u)??u,x=y.find(Te=>no(Te)===_),z=mm(x),G=VA(x),re=$e,ce={id:_,...z?{story:z}:{},..._!==u?{paintedEntityId:u}:{}};We.add(ce);try{const Te=await Pm("trackChanges",_,y,z?{story:z}:void 0);if(Ee!==p)return{success:!1,ok:!1};if(!Te)return{success:!1,ok:!1,reason:ct.targetUnresolved};ne(ce);const ze=Ee,Ue=$e,Ye=nt,Je=()=>Ee===ze&&$e===Ue&&nt===Ye,Ge=()=>{Je()&&(ne(re,{invalidateQueuedNavigation:!1}),jt())};jt(),vn+=1;try{const tt=await jA(_,Te,z,G,{behavior:"auto",shouldContinue:Je});if(!Je())return{success:!1,ok:!1};if(!tt.ok&&tt.reason!==ct.targetNotVisible)Ge(),S(re);else{if(tt.ok&&await HA(_),!Je())return{success:!1,ok:!1};S(ce)}return tt}finally{vn=Math.max(0,vn-1),vn===0&&(Je()?To&&yn(An(To)):S($e))}}finally{We.delete(ce)}}},k2=(u,p)=>{const{id:y,story:_}=typeof p=="string"?{id:p,story:void 0}:p,x={kind:"id",id:y,..._?{story:_}:{}};return Jf(u,x,y,_)},Jf=(u,p,y,_)=>{try{return Mo(S2(u,p,y,_))}catch{return!1}},S2=(u,p,y,_)=>{if($s())return!1;const x=b()?.trackChanges,z=p.kind==="all"||p.scope==="all",G=p.kind==="range",re=p.kind==="ids";if(Yu({kind:u,scope:z?"all":"id"},x))return!1;const ce=z?`${u}All`:u,Te=!G&&!re&&!_&&x&&typeof x[ce]=="function"?x[ce]:null,ze=x&&typeof x.decide=="function"?x.decide:null;return!Te&&!ze?!1:Te?Te.call(x,y??{}):ze.call(x,{decision:u,target:p})},_2=hi(u=>u.contentControls),eh=u=>_2.get().items.find(p=>p?.id===u)??null,Fm=Ro(_2),rU=(u=>{if(u===void 0)return Fm.get();const p=gm(u);return p?eh(p):null}),oU={get:(u=>(u!==void 0&&we("api"),rU(u))),getSnapshot:Fm.getSnapshot,subscribe:Fm.subscribe,observe:Fm.observe,list:()=>(we("api"),_2.get().items),getById:u=>(we("api"),eh(u)),getRect:u=>{const p=gm(u);if(!p)return bl("unresolved");we("panel");const y=eh(p);if(!y)return bl("unresolved");const _=a2(y);return _?jm.getRect({target:_}):bl("unavailable")},scrollIntoView:async u=>{const p=gm(u);if(!p)return{success:!1};we("panel");const y=eh(p);if(!y)return{success:!1};const _=a2(y);return _?{success:(await Xu(_,{block:u.block,behavior:u.behavior})).ok}:{success:!1}},focus:async u=>{const p=gm(u);if(!p)return{success:!1,reason:"invalid-id"};if(!A())return{success:!1,reason:"not-ready"};we("panel");const y=eh(p);if(!y)return{success:!1,reason:"not-found"};const _=a2(y);if(!_)return{success:!1,reason:"not-reachable"};if(!(await Xu(_,{block:u.block,behavior:u.behavior})).ok)return{success:!1,reason:"not-reachable"};const x=fV(_);if(!x)return{success:!1,reason:"not-reachable"};const z=zA.apply(x);return!z.ok&&z.reason!==ct.hostCapabilityUnavailable?{success:!1,reason:"not-reachable"}:(Yj(p),{success:!0})}},Nm=Ro(hi(u=>u.fonts)),iU={get:Nm.get,getSnapshot:Nm.getSnapshot,subscribe:Nm.subscribe,observe:Nm.observe,getFamilyOptions:()=>P.fonts.options,getSizeOptions:()=>P.fonts.sizeOptions},Bm=Ro(hi(u=>u.zoom)),sU={get:Bm.get,getSnapshot:Bm.getSnapshot,subscribe:Bm.subscribe,observe:Bm.observe,set:u=>{if(typeof t?.setZoom=="function")try{t.setZoom(u),jt()}catch{}},setMode:u=>{if(typeof t?.setZoomMode=="function")try{t.setZoomMode(u),jt()}catch{}}},zm=Ro(hi(u=>u.document)),aU={get:zm.get,getSnapshot:zm.getSnapshot,subscribe:zm.subscribe,observe:zm.observe,setMode:u=>{if(typeof t?.setDocumentMode=="function")try{t.setDocumentMode(u),jt()}catch{}},export:u=>{if(typeof t?.export=="function")try{return Promise.resolve(t.export(u))}catch{return}},getText:()=>{const u=b(),p=Tt(u?.getText?()=>u.getText({}):void 0,null);return typeof p=="string"?p:p&&typeof p=="object"&&typeof p.text=="string"?p.text:null},replaceFile:u=>{const p=t?.replaceFile??t?.loadDocument??t?.reload;if(typeof p=="function")try{return Promise.resolve(p.call(t,u))}catch{return}}},WA=()=>{if(typeof HTMLElement>"u")return null;const u=A()?.mount?.container;if(u instanceof HTMLElement)return u;const p=t?.element;return p instanceof HTMLElement?p:null},lU=(u,p)=>{if(typeof u!="number"||typeof p!="number"||!Number.isFinite(u)||!Number.isFinite(p))return[];const y=globalThis.document;if(!y||typeof y.elementFromPoint!="function")return[];const _=WA();if(!_)return[];const x=y.elementFromPoint(u,p);if(!x||!_.contains(x))return[];const z=[x],G=ot=>{ot&&_.contains(ot)&&!z.includes(ot)&&z.push(ot)},re=y.elementsFromPoint;if(typeof re=="function"){let ot=[];try{ot=re.call(y,u,p)??[]}catch{ot=[]}for(const Ft of ot)G(Ft)}const ce=[],Te=ot=>{ot&&_.contains(ot)&&!ce.includes(ot)&&!z.includes(ot)&&ce.push(ot)},ze=ot=>{const Ft=ot.getBoundingClientRect;if(typeof Ft!="function")return!1;let Nt;try{Nt=Ft.call(ot)}catch{return!1}return Nt!=null&&u>=Nt.left&&u<=Nt.right&&p>=Nt.top&&p<=Nt.bottom};for(const ot of z){const Ft=ot.querySelectorAll;if(typeof Ft!="function")continue;let Nt;try{Nt=Ft.call(ot,"[data-track-change-marker]")}catch{continue}for(let Un=0;Un<Nt.length;Un+=1)ze(Nt[Un])&&Te(Nt[Un])}ce.reverse();const Ue=[...ce,...z],Ye=dA(Ue[0],_);for(let ot=1;ot<Ue.length;ot+=1)for(const Ft of dA(Ue[ot],_))Ye.push(Ft);if(Ye.length===0)return Ye;const Je=ps.get().items,Ge=Ns(Je);let tt;const ft=new Set,dt=[];for(const ot of Ye){if(ot.type!=="trackedChange"){const Hn=`${ot.type}:${ot.id}`;if(ft.has(Hn))continue;ft.add(Hn),dt.push(ot);continue}const Ft=dV(ot.storyKey)??uV(ot.story);let Nt;if(Ft){if(tt===void 0&&(tt=Ai()),!tt||(Nt=fc(tt,Ft).toPublicId(ot.id),!Nt||!tt.some(Hn=>Ni(Hn,Nt,Ft))))continue}else if(Nt=Ge.toPublicId(ot.id),!Nt)continue;const Un=`trackedChange:${Nt}`;ft.has(Un)||(ft.add(Un),dt.push(Ft?{type:"trackedChange",id:Nt,story:Ft}:{type:"trackedChange",id:Nt}))}return dt};function A2(u,p){return typeof u=="object"?lU(u?.x,u?.y):null}const Qu=new Set;let I2=!1;const KA=u=>{const p=L();if(typeof p?.observeGeometry!="function")return;let y=!1;const _=Tt(()=>{const x=p.observeGeometry(()=>u.schedule());return y=!0,x},null);u.detach=typeof _=="function"?_:null,u.boundHost=y?p:null},Vm=u=>{if(u.detach){try{u.detach()}catch{}u.detach=null}u.boundHost=null},qA=()=>{if(I2=!1,!(U||L()))for(const u of Qu)Vm(u)},cU=()=>{if(!I2){if(I2=!0,typeof queueMicrotask=="function"){queueMicrotask(qA);return}Promise.resolve().then(qA)}},uU=()=>{const u=L();if(!u){cU();return}for(const p of Qu)p.boundHost&&p.boundHost===u||(Vm(p),KA(p),p.schedule())};Et.push(uU);const jm={getRect:u=>{const p=L(),y=p?.getTargetRects;if(typeof y=="function"){const _=Tt(()=>y.call(p,{target:u.target}),null);return _&&typeof _=="object"?_.success===!0&&Array.isArray(_.rects)?OV(DV(_.rects.filter(x=>x!=null&&typeof x=="object")),u.relativeTo):bl(typeof _.reason=="string"?_.reason:"unresolved"):bl("unresolved")}return bl("unavailable")},observe:u=>{const p=[];let y=0;const _=typeof requestAnimationFrame=="function",x=()=>{if(!_){u();return}y||(y=requestAnimationFrame(()=>{y=0,u()}))},z=jo(re=>({ready:re.ready,selection:re.selection,zoom:re.zoom}));p.push(z.subscribe(()=>x()));const G={schedule:x,detach:null,boundHost:null};return KA(G),Qu.add(G),()=>{Qu.delete(G),Vm(G),y&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(y);for(const re of p.splice(0))try{re()}catch{}}},getHost:()=>WA(),entityAt:A2,contextAt:u=>{const p=!!u&&typeof u.x=="number"&&typeof u.y=="number",y=p?u.x:0,_=p?u.y:0;return{point:{x:y,y:_},entities:p?A2({x:y,y:_}):[],selection:P.selection,position:null,insideSelection:!1}},scrollIntoView:async u=>{const p=u?.target;if(!p)return{success:!1};let y=null;if(p.kind==="entity"){const _=p.entityType==="comment"?"comments":"trackChanges",x=_==="comments"?Zu.get().items:ps.get().items,z=p.entityType==="trackedChange"&&p.story?{story:p.story}:void 0;y=await Pm(_,p.entityId,x,z)}else{const _=p,x=p,z=Array.isArray(_.segments)&&_.segments.length>0?_.segments:x.blockId&&x.range?[{blockId:x.blockId,range:x.range}]:null;if(z){const G=p.story;y={kind:"text",segments:z,...G?{story:G}:{}}}}return y?{success:(await Xu(y,{block:u.block??"center",behavior:u.behavior??"smooth"})).ok}:{success:!1}}},YA=u=>{const p=(u&&typeof u=="object"?u:null)?.target;return p&&typeof p=="object"?p:null},XA=u=>`metadata:resolve:${u}`,dU=u=>{const p=b()?.metadata;if(!p||typeof p.resolve!="function")return null;const{value:y}=Eo(XA(u),Ce(),()=>p.resolve({id:u}),YA);return y},fU=async u=>{const p=b()?.metadata;if(!p||typeof p.resolve!="function")return null;try{const y=Ce(),_=await Promise.resolve(p.resolve({id:u}));if(y!==Ce())return null;const x=YA(_);return Q.set(XA(u),{token:y,value:x,hasSettled:!0,inflightToken:null}),x}catch{return null}},hU={getRect:u=>{const p=b()?.metadata;if(!p||typeof p.resolve!="function")return bl("unavailable");const y=dU(u.id);return y?jm.getRect({target:y}):bl("unresolved")},scrollIntoView:async u=>{const p=await fU(u.id);return p?{success:(await Xu(p,{block:u.block,behavior:u.behavior})).ok}:{success:!1}}},pU={inTable:!1,tableNodeId:null,rowIndex:null,columnIndex:null,cellNodeId:null,rows:null,columns:null},mU={getContext:()=>{const u=_e();if(!u)return{...pU};const p=ve()?.table;return{inTable:!0,tableNodeId:u.tableNodeId,rowIndex:u.rowIndex,columnIndex:u.columnIndex,cellNodeId:u.cellNodeId,rows:typeof p?.rows=="number"?p.rows:null,columns:typeof p?.columns=="number"?p.columns:null}},isInTable:()=>_e()!=null},Um={query:"",total:0,activeIndex:-1,open:!1,available:!1,caseSensitive:!1,includeDeletedText:!1,regex:!1,canReplace:!1,reason:ct.searchUnavailable};let On={...Um};const Hm=new Set,ja=()=>{const u=L()?.search;return u&&typeof u=="object"?u:null},Ys=()=>{const u=se()?.search;return u&&typeof u=="object"?u:null},th=()=>{const u=ja();if(u&&typeof u.setSession=="function")return!0;const p=Ys();return!!p&&typeof p.query=="function"&&typeof p.getState=="function"},ms=()=>{for(const u of[...Hm])try{u(On)}catch{}},pi=u=>(On={...On,...u},ms(),On);let oo=0,Pc=null;const ZA=()=>{const u=Pc;Pc=null,u&&Tt(()=>(u(),null),null)},gU=()=>{oo+=1,ZA();const u=th();On={...Um,available:u,reason:u?void 0:ct.searchUnavailable},ms()};pn.push(gU);const vU=u=>{if(!u)return!1;const p=u.queryError;if(p&&typeof p=="object"&&p.code==="invalid-pattern")return!0;const y=u.rejection;return u.status==="rejected"&&!!y&&typeof y=="object"&&y.code==="invalid-pattern"},x2=(u,p=!1)=>{const y=u&&typeof u=="object"?u:null;if(!y)return null;const _=Array.isArray(y.matches)?y.matches:[],x=typeof y.total=="number"&&Number.isFinite(y.total)?y.total:_.length,z=typeof y.activeMatchIndex=="number"?y.activeMatchIndex:typeof y.activeIndex=="number"?y.activeIndex:-1;return{...typeof y.query=="string"?{query:y.query}:{},total:x,activeIndex:z,canReplace:y.canReplace===!0||p,...y.includeDeletedText===!0?{includeDeletedText:!0}:{},...y.regex===!0?{regex:!0}:{},...vU(y)?{invalidPattern:!0}:{}}},Lo=()=>{const u=pe("find.replace"),p=pe("find.replaceAll");return u?.enabled===!0||p?.enabled===!0},Po=(u,p=!1)=>{const y=x2(u,p);if(!y){pi({total:0,activeIndex:-1,canReplace:!1,reason:void 0});return}pi({...y.query!==void 0?{query:y.query}:{},total:y.total,activeIndex:y.activeIndex,canReplace:y.canReplace,...y.includeDeletedText!==void 0?{includeDeletedText:y.includeDeletedText}:{},...y.regex!==void 0?{regex:y.regex}:{},reason:y.invalidPattern?ct.searchInvalidPattern:void 0})},Ua=()=>{const u=ja();if(u&&typeof u.getState!="function")return On={...On,available:th(),reason:th()?void 0:ct.searchUnavailable},On;if(!u){const y=Ys();if(y&&typeof y.getState=="function"){const _=x2(Tt(()=>y.getState(),null),Lo());if(_)return On={...On,..._.query!==void 0?{query:_.query}:{},total:_.total,activeIndex:_.activeIndex,canReplace:_.canReplace,available:!0,reason:_.invalidPattern?ct.searchInvalidPattern:void 0,open:On.open||!!_.query},On}return On={...Um,query:On.query,caseSensitive:On.caseSensitive,includeDeletedText:On.includeDeletedText},On}const p=x2(Tt(()=>u.getState(),null));return p&&(On={...On,...p.query!==void 0?{query:p.query}:{},total:p.total,activeIndex:p.activeIndex,canReplace:p.canReplace,...p.includeDeletedText!==void 0?{includeDeletedText:p.includeDeletedText}:{},...p.regex!==void 0?{regex:p.regex}:{},available:!0,reason:p.invalidPattern?ct.searchInvalidPattern:void 0,open:On.open||!!p.query}),On},Ju=u=>{const p=u&&typeof u=="object"?u:null;if(p?.status==="committed")return{ok:!0};if(p?.status==="rejected"&&p.reason==="read-only")return{ok:!1,reason:ct.documentReadonly};const y=p?.rejection;return p?.status==="rejected"&&y&&typeof y=="object"&&y.code==="read-only-document"?{ok:!1,reason:ct.documentReadonly}:{ok:!1,reason:ct.operationUnavailable}},$m=Ro({get:()=>Ua(),subscribe:u=>(Hm.add(u),()=>Hm.delete(u))}),yU={get:$m.get,getSnapshot:$m.getSnapshot,subscribe:$m.subscribe,observe:$m.observe,open:()=>th()?(pi({available:!0,open:!0,reason:void 0}),{ok:!0}):(pi({available:!1,open:!1,reason:ct.searchUnavailable}),{ok:!1,reason:ct.searchUnavailable}),close:()=>{if(oo+=1,Pc)ZA();else{const u=ja();if(u&&typeof u.clear=="function")Tt(()=>u.clear(),null);else{const p=Ys();p&&typeof p.query=="function"&&Tt(()=>p.query({query:""}),null)}}On={...Um,available:th(),reason:void 0},On.available||(On.reason=ct.searchUnavailable),ms()},search:(u,p)=>{const y=ja(),_=!!p?.caseSensitive,x=p?.includeDeletedText===!0,z=p?.regex===!0,G=++oo;if(!y||typeof y.setSession!="function"){const ce=Ys();if(ce&&typeof ce.query=="function"&&typeof ce.getState=="function"){pi({query:u,caseSensitive:_,includeDeletedText:x,regex:z,available:!0,open:!0,reason:void 0}),Pc=()=>{ce.query({query:""})};const Te=Tt(()=>ce.query({query:u,caseSensitive:_,includeDeletedText:x,regex:z}),null);return Tr(Te)?Promise.resolve(Te).then(ze=>{G===oo&&Po(ze,Lo())},()=>{G===oo&&pi({available:!1,reason:ct.searchUnavailable})}):Po(Te,Lo()),Po(Tt(()=>ce.getState(),null),Lo()),On}return pi({query:u,total:0,activeIndex:-1,available:!1,caseSensitive:_,includeDeletedText:x,regex:z,reason:ct.searchUnavailable})}pi({query:u,caseSensitive:_,includeDeletedText:x,regex:z,available:!0,open:!0,reason:void 0}),Pc=()=>{typeof y.clear=="function"&&y.clear()};const re=Tt(()=>y.setSession(u,{caseSensitive:_,includeDeletedText:x,...z?{regex:!0}:{},highlight:!0}),null);if(Po(re),u.length>0&&On.total===0&&On.reason!==ct.searchInvalidPattern){const ce=Ys();if(ce&&typeof ce.query=="function"&&typeof ce.getState=="function"){const Te=Pc;Pc=()=>{Te?.(),ce.query({query:""})};const ze=Tt(()=>ce.query({query:u,caseSensitive:_,includeDeletedText:x,regex:z}),null);Tr(ze)?Promise.resolve(ze).then(Ue=>{G===oo&&Po(Ue,Lo())},()=>{G===oo&&pi({available:!1,reason:ct.searchUnavailable})}):Po(ze,Lo()),Po(Tt(()=>ce.getState(),null),Lo())}}return On},next:()=>{const u=ja();if(!u||typeof u.next!="function"){const p=Ys();if(!p||typeof p.next!="function"||typeof p.getState!="function")return{ok:!1,reason:ct.searchUnavailable};if(On.total===0)return{ok:!1,reason:ct.operationUnavailable};const y=Tt(()=>p.next(),null);if(Tr(y)){const _=oo;Promise.resolve(y).then(x=>{_===oo&&Po(x,Lo())}).catch(()=>{_===oo&&pi({available:!1,reason:ct.searchUnavailable})})}else Po(y,Lo());return Po(Tt(()=>p.getState(),null),Lo()),{ok:!0}}return On.total===0?{ok:!1,reason:ct.operationUnavailable}:(Po(Tt(()=>u.next(),null)),{ok:!0})},previous:()=>{const u=ja();if(!u||typeof u.previous!="function"){const p=Ys();if(!p||typeof p.previous!="function"||typeof p.getState!="function")return{ok:!1,reason:ct.searchUnavailable};if(On.total===0)return{ok:!1,reason:ct.operationUnavailable};const y=Tt(()=>p.previous(),null);if(Tr(y)){const _=oo;Promise.resolve(y).then(x=>{_===oo&&Po(x,Lo())}).catch(()=>{_===oo&&pi({available:!1,reason:ct.searchUnavailable})})}else Po(y,Lo());return Po(Tt(()=>p.getState(),null),Lo()),{ok:!0}}return On.total===0?{ok:!1,reason:ct.operationUnavailable}:(Po(Tt(()=>u.previous(),null)),{ok:!0})},clear:()=>{oo+=1;const u=ja();if(u&&typeof u.clear=="function"&&Tt(()=>u.clear(),null),!u||typeof u.clear!="function"){const p=Ys();p&&typeof p.query=="function"&&Tt(()=>p.query({query:""}),null)}pi({query:"",total:0,activeIndex:-1,canReplace:!1})},replace:u=>{const p=ja();if(!p){const _=Ys();if(!_||typeof _.replace!="function"||typeof _.getState!="function")return{ok:!1,reason:ct.searchUnavailable};if(!Lo())return{ok:!1,reason:ct.operationUnavailable};const x=Tt(()=>_.replace({replacement:typeof u=="string"?u:""}),null);if(Tr(x)){const z=oo;Ua(),ms();const G=()=>z===oo;return Promise.resolve(x).then(re=>(G()&&(Po(re,Lo()),Ua(),ms()),Ju(re)),()=>(G()&&pi({available:!1,reason:ct.searchUnavailable}),{ok:!1,reason:ct.searchUnavailable}))}return Ua(),ms(),Ju(x)}if(typeof p.replaceCurrent!="function")return{ok:!1,reason:ct.operationUnavailable};const y=Tt(()=>p.replaceCurrent(typeof u=="string"?u:""),null);return Ua(),ms(),Ju(y)},replaceAll:u=>{const p=ja();if(!p){const _=Ys();if(!_||typeof _.replaceAll!="function"||typeof _.getState!="function")return{ok:!1,reason:ct.searchUnavailable};if(!Lo())return{ok:!1,reason:ct.operationUnavailable};const x=Tt(()=>_.replaceAll({replacement:typeof u=="string"?u:""}),null);if(Tr(x)){const z=oo;Ua(),ms();const G=()=>z===oo;return Promise.resolve(x).then(re=>(G()&&(Po(re,Lo()),Ua(),ms()),Ju(re)),()=>(G()&&pi({available:!1,reason:ct.searchUnavailable}),{ok:!1,reason:ct.searchUnavailable}))}return Ua(),ms(),Ju(x)}if(typeof p.replaceAll!="function")return{ok:!1,reason:ct.operationUnavailable};const y=Tt(()=>p.replaceAll(typeof u=="string"?u:""),null);return Ua(),ms(),Ju(y)}},QA=hi(u=>u.styles),Gm=Ro(QA),bU={get:Gm.get,getSnapshot:Gm.getSnapshot,subscribe:Gm.subscribe,observe:Gm.observe,getCatalog:u=>fr(u).value,getQuickGallery:()=>QA.get().quickGallery,getActiveParagraphStyle:()=>ci(P.selection,Rr().cache).style},JA={select:jo,get state(){return P},selection:zA,commands:Xj,toolbar:Zj,comments:Jj,trackChanges:nU,contentControls:oU,fonts:iU,zoom:sU,document:aU,viewport:jm,metadata:hU,tables:mU,search:yU,styles:bU,formatPainter:{setPointerSelecting(u){U||(h={...h,pointerSelecting:u})},notifyPointerUp(){U||(h={...h,pointerSelecting:!1},OA())},setKeyboardSelecting(u){U||(h={...h,keyboardSelecting:u})},notifyKeyUp(){U||(h={...h,keyboardSelecting:!1},OA())},cancel(){U||Tm()},onModeChange(u){return U?()=>{}:(m.add(u),()=>m.delete(u))}},createScope:()=>{const u=[];return{select:(p,y)=>{const _=jo(p,y);return{get:_.get,subscribe:x=>{const z=_.subscribe(x);return u.push(z),z}}},dispose:()=>{for(const p of u.splice(0))p()}}},destroy:()=>{if(!U){U=!0,eV(zt,Ht),qe&&(clearTimeout(qe),qe=null),he&&(clearTimeout(he),he=null,Be=0),me?.timer&&(clearTimeout(me.timer),me.timer=null),me=null,lt&&(clearTimeout(lt),lt=null),po&&(clearTimeout(po),po=null),Cr&&Cr(),Cr=null,Go=null,Io=0,ii=0,wr.clear(),$t.clear(),Rn.clear(),Kr=null,Z.clear();for(const u of xi.splice(0))u();ui&&ui(),ui=null,zr=null,Vr&&Vr(),Vr=null,za=null,di&&di(),di=null,$i=null,Yo&&Yo(),Yo=null,To=null,F&&F(),F=null,hs=null,Se&&Se(),Se=null,W=null;for(const u of Qu)Vm(u);Qu.clear(),O.clear(),Hm.clear(),g+=1,m.clear(),oo+=1,oe.clear()}}};return $=JA,JA}var HV=[{value:"Arial",label:"Arial",previewFamily:"Arial, sans-serif"},{value:"Calibri",label:"Calibri",previewFamily:"Calibri, sans-serif"},{value:"Courier New",label:"Courier New",previewFamily:'"Courier New", monospace'},{value:"Georgia",label:"Georgia",previewFamily:"Georgia, serif"},{value:"Times New Roman",label:"Times New Roman",previewFamily:'"Times New Roman", serif'},{value:"Verdana",label:"Verdana",previewFamily:"Verdana, sans-serif"}];function $V(e){const t=e.trim(),n=t[0];if(n==='"'||n==="'"){const o=t.indexOf(n,1);if(o>0)return t.slice(1,o).trim()}const r=t.indexOf(",");return(r===-1?t:t.slice(0,r)).trim().replace(/^["']|["']$/g,"")}function GV(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||typeof n!="object")continue;const r=n,o=typeof r.logicalFamily=="string"?$V(r.logicalFamily):"";if(!o)continue;const i=typeof r.previewFamily=="string"&&r.previewFamily.trim()?r.previewFamily.trim():o;t.push({value:o,label:o,previewFamily:i})}return t}function WV(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||typeof n!="object")continue;const r=n,o=typeof r.value=="string"?r.value.trim():"";if(!o)continue;const i=typeof r.label=="string"&&r.label.trim()?r.label.trim():o,s=typeof r.previewFamily=="string"&&r.previewFamily.trim()?r.previewFamily.trim():o;t.push({value:o,label:i,previewFamily:s})}return t}function KV(e,t=[]){const n=[],r=new Set,o=s=>{const a=String(s.value).trim().toLowerCase();!a||r.has(a)||(r.add(a),n.push(s))};for(const s of e)o(s);const i=t.length?t:HV;for(const s of i)o(s);return n}var qV=[{value:"8",label:"8"},{value:"9",label:"9"},{value:"10",label:"10"},{value:"11",label:"11"},{value:"12",label:"12"},{value:"14",label:"14"},{value:"16",label:"16"},{value:"18",label:"18"},{value:"24",label:"24"},{value:"36",label:"36"}];function YV(e,t){return e.activeMark?t.activeMarks.includes(e.activeMark):!1}xt();var XV=['[data-sdt-type="structuredContent"][data-sdt-id]','[data-sdt-type="structuredContent"][data-sdt-container-id]','[data-sdt-container-type="structuredContent"][data-sdt-container-id]'].join(", "),ZV=Object.freeze(["#FF6B6B","#4ECDC4","#45B7D1","#FFA07A","#98D8C8","#F7DC6F","#BB8FCE","#85C1E2","#F1948A","#82E0AA","#F8C471","#AED6F1","#D7BDE2","#A3E4D7","#F0B27A","#AEB6BF","#E74C3C","#2ECC71","#3498DB","#E67E22","#1ABC9C","#9B59B6","#34495E","#F39C12"]);async function QV(e,t){const n=new y6.default;return e.forEach((r,o)=>{n.file(t[o],r)}),n.generateAsync({type:"blob",compression:"DEFLATE"})}function m2(e){return!!(e&&(e.synced===!0||e.isSynced===!0))}function xA(e){try{e.synced=!0}catch{}try{e.isSynced=!0}catch{}}function JV(e,t){if(!e)return()=>{};if(m2(e))return t(),()=>{};const n=typeof e.on=="function"?e.on.bind(e):null,r=typeof e.off=="function"?e.off.bind(e):null;if(!n)return t(),()=>{};let o=!1;const i=()=>{o||(o=!0,r?.("synced",a),r?.("sync",l))},s=()=>{o||(i(),t())},a=()=>{xA(e),s()},l=c=>{c!==!1&&(c===!0||m2(e))&&(xA(e),s())};return n("synced",a),n("sync",l),m2(e)&&s(),i}function ej(e,t){const n=e.composedPath();if(!n.includes(t))return null;const r=n.find(a=>a instanceof HTMLElement&&a.matches(XV));if(!r)return null;const o=n.some(a=>a instanceof HTMLElement&&a.classList.contains(tp.BLOCK_SDT_LABEL)),i=r.getAttribute("data-sdt-container-id")?.trim()||null,s=r.getAttribute("data-sdt-id")?.trim()||null;return o?i??s:s??i}function tj(e){if(!e||typeof e!="object")return[];const t=e.items;return Array.isArray(t)?t:[]}function nj(e){if(!e||typeof e.id!="string"||e.kind!=="inline"&&e.kind!=="block"||typeof e.controlType!="string")return null;const t=e.properties?.tag,n=e.properties?.alias;return{id:e.id,controlType:e.controlType,scope:e.kind,...typeof t=="string"&&t?{tag:t}:{},...typeof n=="string"&&n?{alias:n}:{}}}function oi(e){return!!(e&&typeof e=="object"&&e.editorVersion===2)}function rj(e){const t=e&&typeof e=="object"?e.code:null;return t==="comment-export-missing-story-reference"||t==="v2-worker-comment-export-mode-unsupported"}function EA(e){return typeof e=="string"&&e.length>0?e:null}function TA(e){return e?oi(e)?EA(e.documentId??e.options?.documentId??null):EA(typeof e.getDocumentId=="function"?e.getDocumentId():e.options?.documentId):null}function oj(e){if(!e||oi(e))return null;const t=e;return t.documentRenderer??t.presentationEditor??null}function rs(e){if(!e)return null;if(oi(e))return e.fonts??null;const t=oj(e);return t?{getReport:()=>t.getFontReport?.()??[],getMissingFonts:()=>t.getMissingFonts?.()??[],getDocumentFonts:()=>[...new Set((t.getFontReport?.()??[]).map(n=>n.logicalFamily))],getDocumentFontOptions:()=>t.getDocumentFontOptions?.()??[],getFontFamilyOptions:()=>t.getFontFamilyOptions?.()??[],getLastFontsChangedPayload:()=>t.getLastFontsChangedPayload?.()??null,map:n=>t.mapFonts(n),unmap:n=>t.unmapFonts(n),add:n=>t.addFonts(Array.isArray(n)?n:[n]),preload:n=>t.preloadFonts(n)}:null}var Cm=class extends Km.default{static{this.allowedTypes=[Fr,Zl,Zh]}#e;#n;#t;#r;#i;#s;#d;#h;#f;#c;#p;get uiConfig(){return this.#p}#o;get interactionConfig(){return this.#o}#l;get surfacesConfig(){return this.#l}#g;#u;#y;#w;constructor(e){if(super(),this.#e=!1,this.#n=!1,this.#t=null,this.#r=null,this.#i=null,this.#s=null,this.#d=null,this.#h=null,this.#f=n=>{this.#k(n)},this.#c=null,this.#p=V4({}),this.#o=j4({}),this.#l=H4({}),this.version="0.0.0",this.users=[],this.whiteboard=null,this.colors=[],this.readyEditors=0,this.pendingCollaborationSaves=0,this.#u=new XF,this.#y=null,this.#w=!1,this.config={selector:"#superdoc",documentMode:"editing",allowSelectionInViewMode:!1,role:"editor",document:{},documents:[],editorExtensions:[],colors:[],users:[],user:{...q0},layoutEngineOptions:{},modules:{},licenseKey:void 0,telemetry:{enabled:!0},title:"SuperDoc",conversations:[],isInternal:!1,comments:{visible:!1},toolbarGroups:["left","center","right"],toolbarIcons:{},toolbarTexts:{},uiDisplayFallbackFont:"Arial, Helvetica, sans-serif",isDev:!1,disablePiniaDevtools:!1,onEditorBeforeCreate:()=>null,onEditorCreate:()=>null,onEditorDestroy:()=>null,onSourceComplete:()=>null,onSourceSignalsComplete:()=>null,onContentError:()=>null,onReady:()=>null,onCommentsUpdate:()=>null,onContentControlActiveChange:()=>null,onContentControlClick:()=>null,onAwarenessUpdate:()=>null,onLocked:()=>null,onPdfDocumentReady:()=>null,onSidebarToggle:()=>null,onCollaborationReady:()=>null,onEditorUpdate:()=>null,onCommentsListChange:()=>null,onException:()=>null,onListDefinitionsChange:()=>null,onPaginationUpdate:()=>null,onTransaction:()=>null,disableContextMenu:!1,viewOptions:{layout:"print"},useLayoutEngine:!0},this.#Z=new WeakSet,this.#Q=null,this.#j=null,this.#M=null,!e.selector)throw new Error("SuperDoc: selector is required");const t=typeof e.selector=="string"?document.querySelector(e.selector):e.selector;if(!(t instanceof HTMLElement))throw new Error("SuperDoc: selector must be a valid CSS selector string or DOM element");this.#g=new BF({getModuleConfig:()=>this.#l}),this.#h=t,t.addEventListener("click",this.#f,!0),this.#I(e,t)}async#k(e){const t=this.#h;if(!t)return;const n=ej(e,t),r=this.activeEditor?.doc?.contentControls?.list;if(!(!n||typeof r!="function"))try{const o=await r();if(this.#e)return;const i=nj(tj(o).find(s=>s.id===n));i&&this.emit("content-control:click",{target:i,source:"pointer"})}catch{return}}async#I(e,t){this.config={...this.config,...e},!this.config.comments||typeof this.config.comments!="object"?this.config.comments={visible:!1}:typeof this.config.comments.visible!="boolean"&&(this.config.comments.visible=!1),GF(this.config),this.config.documents=this.config.documents||[],this.config.layoutEngineOptions=this.config.layoutEngineOptions||{};const n=this.config.viewOptions?.layout==="web",r=this.config.layoutEngineOptions?.flowMode==="semantic";if(n&&this.config.useLayoutEngine&&!r&&(console.warn("[SuperDoc] Web layout uses PM fallback unless layoutEngineOptions.flowMode is set to 'semantic'. Automatically disabling layout engine."),this.config.useLayoutEngine=!1),!n&&r&&(console.warn("[SuperDoc] flowMode 'semantic' is only valid with web layout. Coercing to 'paginated'."),this.config.layoutEngineOptions.flowMode="paginated"),this.editorVersion=2,this.#ye(),this.config.user=WF(this.config.user),this.config.layoutEngineOptions.virtualization||(this.config.layoutEngineOptions.virtualization={enabled:!0,window:5,overscan:1}),this.config.modules=this.config.modules||{},Object.prototype.hasOwnProperty.call(this.config.modules,"comments")||(this.config.modules.comments={}),this.config.modules.comments=Nk(this.config.modules.comments),this.#p=V4(this.config),this.#o=j4(this.config),this.#l=H4(this.config),this.config.disableContextMenu=!this.#p.contextMenu.enabled,this.config.rulers=this.#p.ruler.enabled,this.#p.comments.enabled?this.config.modules.comments===!1&&(this.config.modules.comments={}):this.config.modules.comments=!1,this.#p.comments.enabled){this.config.modules.comments===!0&&(this.config.modules.comments={});const i=this.config.modules.comments;i&&Object.assign(i,this.#o.comments)}if(this.config.colors=I6(this.config.colors),this.userColorMap=new Map,this.colorIndex=0,this.version="2.5.0",this.#C("πŸ¦‹ [superdoc] Using SuperDoc version:",this.version),this.superdocId=e.superdocId||gs(),this.colors=this.config.colors??[],this.#D(),await y8(),this.#e)return;if(await this.#b(this.config.modules),this.#e){this.#ue();return}this.config.cspNonce&&this.#P(),this.user=this.config.user,this.users=this.config.users||[],this.socket=null,this.isDev=this.config.isDev||!1,this.activeEditor=null,this.comments=[],this.#y||(this.#y=this.#u.subscribe(i=>{this.#we(i.nextRuntimeId,i.legacyEditorProjection)})),this.isLocked=this.config.isLocked||!1,this.lockedBy=this.config.lockedBy||null;const o=document.createElement("div");o.style.display="contents",t.appendChild(o),this.#d=o,this.#S(),this.#L(),this.#Ce(),this.#x()}#x(){if(this.#E(),this.readyEditors=0,!this.app)throw new Error("SuperDoc: #startRuntime called before #initVueApp populated this.app");this.app.mount(this.#d)}#L(){const e=this.config.modules?.whiteboard,t=e!==!1&&(e?.enabled??!1);this.whiteboard=new uD({Renderer:OF,superdoc:this,enabled:t}),this.emit("whiteboard:init",{whiteboard:this.whiteboard})}get requiredNumberOfEditors(){return this.#m("requiredNumberOfEditors").documents.filter(e=>e.type===Fr).length}get ui(){return this.#c||(this.#c=UV({superdoc:this}),this.#e&&this.#c.destroy()),this.#c}get state(){return{documents:this.#m("state").documents,users:this.users}}getDocumentRuntimeForDocument(e){return typeof e!="string"||e.length===0?null:(this.superdocStore?.documents??[]).find(t=>t?.getEditor?.()?.options?.documentId===e)?.getDocumentRuntime?.()??null}getComment(e){return typeof e!="string"||e.length===0?null:this.commentsStore?.getComment?.(e)??null}get element(){return typeof this.config.selector=="string"?document.querySelector(this.config.selector):this.config.selector}#P(){const e=this.config.cspNonce,t=document.createElement;document.createElement=function(n){const r=t.call(this,n);return n.toLowerCase()==="style"&&r.setAttribute("nonce",e),r}}#D(){const e=this.config.document,t=!!e&&typeof e=="object"&&Object.keys(e)?.length,n=!!e&&typeof e=="string"&&e.length>0,r=!!e&&typeof File=="function"&&e instanceof File,o=!!e&&e instanceof Blob&&!(e instanceof File),i=this.config.documents&&this.config.documents?.length;if(t&&i&&console.warn("πŸ¦‹ [superdoc] You can only provide one of document or documents"),t){const s=Kd(this.config.document);this.config.documents=[{id:gs(),...s}]}else if(n)this.config.documents=[{id:gs(),type:Fr,url:this.config.document,name:"document.docx"}];else if(r){const s=Kd(this.config.document);this.config.documents=[{id:gs(),...s}]}else if(o){const s=Kd(this.config.document);this.config.documents=[{id:gs(),...s}]}Array.isArray(this.config.documents)&&this.config.documents.length>0&&(this.config.documents=this.config.documents.map(s=>{const a=Kd(s);if(!a||typeof a!="object")return a;const l=typeof a=="object"&&"id"in a&&a.id||s&&typeof s=="object"&&"id"in s&&s.id;return{...a,id:l||gs()}}))}#E(){const{app:e,pinia:t,superdocStore:n,commentsStore:r,highContrastModeStore:o}=QP({disablePiniaDevtools:!!this.config.disablePiniaDevtools});this.app=e,this.pinia=t,this.app.config.globalProperties.$config=this.config,this.app.config.globalProperties.$documentMode=this.config.documentMode,this.app.config.globalProperties.$superdoc=this,this.app.provide("surfaceManager",this.#g),this.superdocStore=n,this.commentsStore=r,this.highContrastModeStore=o,typeof this.superdocStore.setExceptionHandler=="function"&&this.superdocStore.setExceptionHandler(s=>this.emit("exception",s)),this.superdocStore.init(this.config);const i=this.config.modules.comments;this.commentsStore.init(i||{}),this.isCollaborative&&r8(this),this.#ce()}#a(e,t){t&&this.on(e,t)}#S(){this.#a("editorBeforeCreate",this.config.onEditorBeforeCreate),this.#a("editorCreate",this.config.onEditorCreate),this.#a("editorDestroy",this.config.onEditorDestroy),this.#a("source:complete",this.config.onSourceComplete),this.#a("source:signals-complete",this.config.onSourceSignalsComplete),this.#a("ready",this.config.onReady),this.#a("comments-update",this.config.onCommentsUpdate),this.#a("content-control:active-change",this.config.onContentControlActiveChange),this.#a("content-control:click",this.config.onContentControlClick),this.#a("awareness-update",this.config.onAwarenessUpdate),this.#a("locked",this.config.onLocked),this.#a("pdf:document-ready",this.config.onPdfDocumentReady),this.#a("sidebar-toggle",this.config.onSidebarToggle),this.#a("collaboration-ready",this.config.onCollaborationReady),this.on("collaboration-ready",e=>this.#$(e?.editor??null)),this.#a("editor-update",this.config.onEditorUpdate),this.on("content-error",this.onContentError),this.#a("exception",this.config.onException),this.#a("list-definitions-change",this.config.onListDefinitionsChange),this.#a("pagination-update",this.config.onPaginationUpdate),this.#a("fonts-resolved",this.config.onFontsResolved),this.#a("fonts-changed",this.config.onFontsChanged),this.#a("zoomChange",this.config.onZoomChange),this.#a("viewport-change",this.config.onViewportChange)}async#b({collaboration:e}={}){return e?(this.isCollaborative=!1,this.config.documents.length===0&&(this.config.documents=[{id:gs(),type:Fr,name:"document.docx"}]),this.config.v2CollaborationPreflightFailure={code:"collaboration-v1-config-unsupported",message:"SuperDoc v2 cannot use modules.collaboration because it is the SuperDoc v1 collaboration API. SuperDoc did not attach the provider or change the document. Configure Document.v2Collaboration with a v2 room instead."},this.config.documents):this.config.documents}#ee(e,t){this.isCollaborative=!0,this._commentsCollabInitialized=!1,this.ydoc=eo(e),this.provider=eo(t),this.#_();const n=this.config;this._cleanupAwareness=QT(t,this,n.user),n.documents.forEach(r=>{r.ydoc=e,r.provider=t,r.role=this.config.role})}#H(){this.#s=null,this.#A(),typeof this._cleanupAwareness=="function"&&(this._cleanupAwareness(),this._cleanupAwareness=null),this.isCollaborative=!1,this._commentsCollabInitialized=!1,this.ydoc=void 0,this.provider=void 0;const e=this.config;delete e.modules.collaboration,e.documents.forEach(t=>{delete t.ydoc,delete t.provider})}#A(){if(this.#r){try{this.#r()}catch{}this.#r=null}if(this.#i){try{this.#i()}catch{}this.#i=null}}#$(e){this.#A(),oi(e)&&(this.#O(e),this.#T(e))}#O(e){const t=e.presence;if(!t||typeof t.subscribe!="function")return;const n=sD(()=>this.user),r=o=>{if(this.#e)return;const i=n.next(o);this.emit("awareness-update",{...i,superdoc:this})};try{const o=t.getSnapshot?.();o&&r(o),this.#r=t.subscribe(r)}catch(o){console.warn("[SuperDoc] v2 awareness bridge failed to subscribe",o)}}#T(e){const t=e.lock;if(!t||typeof t.subscribe!="function")return;const n=r=>{this.#e||this.#v(!!r.isLocked,this.#F(r.lockedBy??null))};try{if(this.#s&&typeof t.setLocked=="function"){const o=this.#s;t.setLocked(o.isLocked,o.isLocked?o.lockedBy:null),this.#s=null}const r=t.getSnapshot?.();r&&n(r),this.#i=t.subscribe(n)}catch(r){console.warn("[SuperDoc] v2 lock bridge failed to subscribe",r)}}#F(e){return!e||typeof e!="object"||Array.isArray(e)?null:{...e}}#G(e,t){return JSON.stringify(e??null)===JSON.stringify(t??null)}#v(e,t){this.isLocked===e&&this.#G(this.lockedBy,t)||(this.isLocked=e,this.lockedBy=t,this.#C("πŸ¦‹ [superdoc] Locking superdoc:",e,t,`
102
+ `;xt();var Fs=e=>{e.expand.value=!1};function t2(e,t){const n={...e??{}};return t?n.href=t:delete n.href,n}function iA(e){const t=Array.isArray(e?.segments)?e.segments:[];if(e?.kind!=="text"||!t.length)return null;const n=t[0],r=t[t.length-1];if(!n?.blockId||!r?.blockId||!n.range||!r.range)return null;const o=e.story;return{kind:"selection",start:{kind:"text",blockId:n.blockId,offset:n.range.start??0,...o?{story:o}:{}},end:{kind:"text",blockId:r.blockId,offset:r.range.end??0,...o?{story:o}:{}},...o?{story:o}:{}}}function Ez(e){return typeof e?.quotedText=="string"?e.quotedText:typeof e?.text=="string"?e.text:""}function sA(e){return e.ui?.selection?.get?.()??e.ui?.selection?.current?.()??null}function Tz(e){return!!(e.config?.superdoc?.config?.modules?.ai||e.superdoc?.config?.modules?.ai)}function Rz(e){return e.config?.superdoc?.config?.modules?.ai??e.superdoc?.config?.modules?.ai??{}}var Mz=({superToolbar:e,toolbarIcons:t,toolbarTexts:n,toolbarFonts:r,hideButtons:o,availableWidth:i,role:s,isDev:a=!1}={})=>{const l=In({type:"button",name:"bold",command:"toggleBold",icon:t.bold,tooltip:n.bold,attributes:{ariaLabel:"Bold"}}),c=(r??SB).map(RB),d=In({type:"dropdown",name:"fontFamily",tooltip:n.fontFamily,command:"setFontFamily",defaultLabel:"Arial",label:"Arial",markName:"textStyle",labelAttr:"fontFamily",hasCaret:!0,hasInlineTextInput:!0,inlineTextInputVisible:!0,isWide:!0,style:{width:"116px"},suppressActiveHighlight:!0,attributes:{ariaLabel:"Font family"},options:c,onActivate:({fontFamily:et}={},Rt=!1)=>{if(Rt){d.label.value="",d.selectedValue.value="";return}if(!et)return;et=et.split(",")[0],d.label.value=et;const zt=c.find(Jt=>Jt.label===d.defaultLabel.value),Ht=c.find(Jt=>Jt.label===et);Ht?d.selectedValue.value=Ht.key:zt?d.selectedValue.value=zt.key:d.selectedValue.value=""},onDeactivate:()=>{d.label.value=d.defaultLabel.value;const et=c.find(Rt=>Rt.label===d.defaultLabel.value);et?d.selectedValue.value=et.key:d.selectedValue.value=""}}),f=In({type:"dropdown",name:"ai",dropdownStyles:{padding:0,outline:"none"},tooltip:n.ai,icon:t.ai,hideLabel:!0,hasCaret:!1,isWide:!0,suppressActiveHighlight:!0,attributes:{ariaLabel:"AI"},options:[{type:"render",key:"ai",render:()=>h(f)}]});function h(et){const Rt=sA(e),zt=Rt?.selectionTarget??iA(Rt?.target),Ht=Rt?.empty?"":Ez(Rt),Jt=Rz(e),hn=()=>Fs(et),Gn=()=>{const gr=e.pendingSelectionCapture;gr&&typeof e.ui?.selection?.restore=="function"&&e.ui.selection.restore(gr)};return $r("div",{},[$r(rz,{handleClose:hn,selectedText:Ht,target:zt,doc:e.superdoc?.activeEditor?.doc??null,apiKey:Jt?.apiKey||e.config?.aiApiKey||"",endpoint:Jt?.endpoint||e.config?.aiEndpoint||"",restoreSelection:Gn})])}const g=AB,m=In({type:"dropdown",name:"fontSize",defaultLabel:"12",label:"12",style:{width:"56px"},markName:"textStyle",labelAttr:"fontSize",tooltip:n.fontSize,hasCaret:!0,hasInlineTextInput:!0,inlineTextInputVisible:!0,suppressActiveHighlight:!0,isWide:!0,command:"setFontSize",attributes:{ariaLabel:"Font size"},options:g,onActivate:({fontSize:et},Rt=!1)=>{if(Rt){m.label.value="",m.selectedValue.value="";return}const zt=g.find(Gn=>Gn.label===String(m.defaultLabel.value));if(!et){m.label.value=m.defaultLabel.value,zt?m.selectedValue.value=zt.key:m.selectedValue.value="";return}let Ht=mN(et,12);Ht<8&&(Ht=8),Ht>96&&(Ht=96);let Jt=String(Ht);const hn=g.find(Gn=>Gn.label===Jt||Gn.key===Jt);hn?m.selectedValue.value=hn.key:m.selectedValue.value="",m.label.value=Jt},onDeactivate:()=>{m.label.value=m.defaultLabel.value;const et=g.find(Rt=>Rt.label===String(m.defaultLabel.value));et?m.selectedValue.value=et.key:m.selectedValue.value=""}}),v=In({type:"separator",name:"separator",isNarrow:!0}),k=In({type:"button",name:"italic",command:"toggleItalic",icon:t.italic,active:!1,tooltip:n.italic,attributes:{ariaLabel:"Italic"}}),C=In({type:"button",name:"underline",command:"toggleUnderline",icon:t.underline,active:!1,tooltip:n.underline,attributes:{ariaLabel:"Underline"}}),A=In({type:"button",name:"strike",command:"toggleStrike",icon:t.strikethrough,active:!1,tooltip:n.strikethrough,attributes:{ariaLabel:"Strikethrough"}}),b=In({type:"dropdown",name:"highlight",icon:t.highlight,hideLabel:!0,markName:"highlight",labelAttr:"color",active:!1,tooltip:n.highlight,command:"setHighlight",noArgumentCommand:"unsetHighlight",suppressActiveHighlight:!0,attributes:{ariaLabel:"Highlight"},options:[{key:"color",type:"render",render:()=>e2(e,b,[],!0)}],onActivate:({color:et})=>{b.iconColor.value=et||""},onDeactivate:()=>b.iconColor.value=""}),w=In({type:"dropdown",name:"color",icon:t.color,hideLabel:!0,markName:"textStyle",labelAttr:"color",active:!1,tooltip:n.color,command:"setColor",suppressActiveHighlight:!0,attributes:{ariaLabel:"Color"},options:[{key:"color",type:"render",render:()=>e2(e,w)}],onActivate:({color:et})=>{w.iconColor.value=et},onDeactivate:()=>w.iconColor.value="#000"}),T=In({type:"button",name:"search",allowWithoutEditor:!0,active:!1,icon:t.search,tooltip:n.search,group:"right",attributes:{ariaLabel:"Search"}}),M=In({type:"dropdown",name:"link",markName:"link",icon:t.link,active:!1,tooltip:n.link,attributes:{ariaLabel:"Link dropdown"},options:[{type:"render",key:"linkDropdown",render:()=>N(M)}],onActivate:({href:et})=>{M.attributes.value=t2(M.attributes.value,et)},onDeactivate:()=>{M.attributes.value=t2(M.attributes.value,null),M.expand.value=!1}});function N(et){const Rt=sA(e),zt=Rt?.selectionTarget??iA(Rt?.target),Ht=()=>{const Jt=e.pendingSelectionCapture;Jt&&typeof e.ui?.selection?.restore=="function"&&e.ui.selection.restore(Jt)};return $r("div",{},[$r(RS,{ui:e.ui,linkItem:et,textTarget:zt,restoreSelection:Ht,closePopover:()=>{Fs(et),Ru(e)},goToAnchor:()=>{Fs(et);const Jt=et.attributes.value?.href;if(!Jt)return;const hn=Jt.slice(1),Gn=(e.ui?.viewport?.getHost?.()??null)?.querySelector?.(`a[name='${hn}']`);Gn&&uf(Gn)}})])}const H=In({type:"options",name:"linkInput",command:"toggleLink",active:!1});M.childItem=H,H.parentItem=M;const L=In({type:"button",name:"image",command:"startImageUpload",icon:t.image,active:!1,tooltip:n.image,disabled:!1,attributes:{ariaLabel:"Image"}}),V=In({type:"button",name:"tableOfContents",command:"insertTableOfContents",icon:t.tableOfContents,active:!1,tooltip:n.tableOfContents,disabled:!1,attributes:{ariaLabel:"Table of contents"}}),q=In({type:"dropdown",name:"table",icon:t.table,hideLabel:!0,labelAttr:"table",active:!1,tooltip:n.table,command:"insertTable",suppressActiveHighlight:!0,attributes:{ariaLabel:"Table"},options:[{key:"table",type:"render",render:()=>D(q)}]});function D(et){return $r("div",{},[$r(bz,{onSelect:zt=>{e.emitCommand({item:et,argument:zt}),Fs(et),Ru(e)}})])}const B=In({type:"dropdown",name:"tableActions",command:"executeTableCommand",tooltip:n.tableActions,icon:t.tableActions,hideLabel:!0,disabled:!0,attributes:{ariaLabel:"Table actions"},options:[{type:"render",render:()=>j(B)}]}),E=[{label:n.addRowBefore,command:"addRowBefore",icon:t.addRowBefore,props:{"data-item":"btn-tableActions-option",ariaLabel:"Add row before"}},{label:n.addRowAfter,command:"addRowAfter",icon:t.addRowAfter,props:{"data-item":"btn-tableActions-option",ariaLabel:"Add row after"}},{label:n.addColumnBefore,command:"addColumnBefore",icon:t.addColumnBefore,props:{"data-item":"btn-tableActions-option",ariaLabel:"Add column before"}},{label:n.addColumnAfter,command:"addColumnAfter",icon:t.addColumnAfter,bottomBorder:!0,props:{"data-item":"btn-tableActions-option",ariaLabel:"Add column after"}},{label:n.deleteRow,command:"deleteRow",icon:t.deleteRow,props:{"data-item":"btn-tableActions-option",ariaLabel:"Delete row"}},{label:n.deleteColumn,command:"deleteColumn",icon:t.deleteColumn,props:{"data-item":"btn-tableActions-option",ariaLabel:"Delete column"}},{label:n.deleteTable,command:"deleteTable",icon:t.deleteTable,props:{"data-item":"btn-tableActions-option",ariaLabel:"Delete table"}},{label:n.removeBorders,command:"deleteCellAndTableBorders",icon:t.deleteBorders,bottomBorder:!0,props:{"data-item":"btn-tableActions-option",ariaLabel:"Delete cell and table borders"}},{label:n.mergeCells,command:"mergeCells",icon:t.mergeCells,props:{"data-item":"btn-tableActions-option",ariaLabel:"Merge cells"}},{label:n.splitCell,command:"splitCell",icon:t.splitCell,props:{"data-item":"btn-tableActions-option",ariaLabel:"Split cells"}},{label:n.fixTables,command:"fixTables",icon:t.fixTables,props:{"data-item":"btn-tableActions-option",ariaLabel:"Fix tables"}}];function j(et){return $r(Iz,{options:E,onSelect:Rt=>{Fs(et);const{command:zt}=Rt;e.emitCommand({item:et,argument:{command:zt}})}})}const J=In({type:"dropdown",name:"textAlign",tooltip:n.textAlign,icon:t.alignLeft,command:"setTextAlign",hasCaret:!0,markName:"textAlign",labelAttr:"textAlign",suppressActiveHighlight:!0,attributes:{ariaLabel:"Text align"},options:[{type:"render",render:()=>$r("div",{},[$r(PB,{onSelect:Rt=>{Fs(J);const zt={...J,command:"setTextAlign"};zt.command="setTextAlign",e.emitCommand({item:zt,argument:Rt}),Y(J,Rt),Ru(e)}})]),key:"alignment"}],onActivate:({textAlign:et})=>{Y(J,et)},onDeactivate:()=>{Y(J,"left")}}),Y=(et,Rt)=>{let zt=Rt==="both"?"justify":Rt,Ht={left:t.alignLeft,right:t.alignRight,center:t.alignCenter,justify:t.alignJustify},Jt=Ht[zt]??Ht.left;et.icon.value=Jt},se=In({type:"dropdown",name:"list",command:"toggleBulletListStyle",splitButton:!0,splitButtonCommand:"toggleBulletList",icon:t.bulletList,hasCaret:!0,tooltip:n.bulletList,restoreEditorFocus:!0,attributes:{ariaLabel:"Bullet list"},options:[{type:"render",key:"bullet-style-buttons",render:()=>{const et=Rt=>{Fs(se);const zt={...se,command:"toggleBulletListStyle"};e.emitCommand({item:zt,argument:Rt})};return $r(rA,{buttons:FB,iconSize:25,selectedStyle:se.selectedValue.value,onSelect:et})}}]}),pe=In({type:"dropdown",name:"numberedlist",command:"toggleOrderedListStyle",splitButton:!0,splitButtonCommand:"toggleOrderedList",icon:t.numberedList,hasCaret:!0,tooltip:n.numberedList,restoreEditorFocus:!0,attributes:{ariaLabel:"Numbered list"},options:[{type:"render",key:"numbered-style-buttons",render:()=>{const et=Rt=>{Fs(pe);const zt={...pe,command:"toggleOrderedListStyle"};e.emitCommand({item:zt,argument:Rt})};return $r(rA,{buttons:NB,iconSize:30,selectedStyle:pe.selectedValue.value,onSelect:et})}}]}),je=In({type:"button",name:"indentleft",command:"decreaseTextIndent",icon:t.indentLeft,active:!1,tooltip:n.indentLeft,disabled:!1,attributes:{ariaLabel:"Left indent"}}),ge=In({type:"button",name:"indentright",command:"increaseTextIndent",icon:t.indentRight,active:!1,tooltip:n.indentRight,disabled:!1,attributes:{ariaLabel:"Right indent"}}),be=In({type:"overflow",name:"overflow",command:null,icon:t.overflow,active:!1,disabled:!1,attributes:{ariaLabel:"Overflow items"}}),ve=In({type:"dropdown",name:"zoom",allowWithoutEditor:!0,tooltip:n.zoom,defaultLabel:"100%",label:"100%",hasCaret:!0,command:"setZoom",isWide:!0,style:{width:"71px",minWidth:"71px"},inlineTextInputVisible:!1,hasInlineTextInput:!0,attributes:{ariaLabel:"Zoom"},options:[{label:"50%",key:.5,props:{"data-item":"btn-zoom-option"}},{label:"75%",key:.75,props:{"data-item":"btn-zoom-option"}},{label:"90%",key:.9,props:{"data-item":"btn-zoom-option"}},{label:"100%",key:1,props:{"data-item":"btn-zoom-option"}},{label:"125%",key:1.25,props:{"data-item":"btn-zoom-option"}},{label:"150%",key:1.5,props:{"data-item":"btn-zoom-option"}},{label:"200%",key:2,props:{"data-item":"btn-zoom-option"}}],onActivate:({zoom:et})=>{et&&(ve.label.value=et)}}),_e=In({type:"dropdown",name:"measurementUnit",allowWithoutEditor:!0,tooltip:n.measurementUnit,defaultLabel:"in",label:"in",hasCaret:!0,command:"setMeasurementUnit",group:"right",style:{width:"52px",minWidth:"52px"},inlineTextInputVisible:!1,hasInlineTextInput:!1,attributes:{ariaLabel:"Measurement unit"},options:[{label:"Inches",key:"in",props:{"data-item":"btn-measurement-unit-option"}},{label:"Centimeters",key:"cm",props:{"data-item":"btn-measurement-unit-option"}}],onActivate:({measurementUnit:et})=>{et&&(_e.label.value=et)}}),oe=In({type:"button",name:"undo",disabled:!0,tooltip:n.undo,command:"undo",icon:t.undo,group:"left",attributes:{ariaLabel:"Undo"}}),Re=In({type:"button",disabled:!0,name:"redo",tooltip:n.redo,command:"redo",icon:t.redo,group:"left",attributes:{ariaLabel:"Redo"}}),$e=In({type:"button",disabled:!1,name:"acceptTrackedChangeBySelection",tooltip:n.trackChangesAccept,command:"acceptTrackedChangeFromToolbar",icon:t.trackChangesAccept,group:"left",attributes:{ariaLabel:"Accept tracked changes"}}),nt=In({type:"button",disabled:!1,name:"rejectTrackedChangeOnSelection",tooltip:n.trackChangesReject,command:"rejectTrackedChangeFromToolbar",icon:t.trackChangesReject,group:"left",attributes:{ariaLabel:"Reject tracked changes"}}),Ct=In({type:"button",name:"clearFormatting",command:"clearFormat",tooltip:n.clearFormatting,icon:t.clearFormatting,attributes:{ariaLabel:"Clear formatting"}}),Ee=In({type:"button",name:"copyFormat",tooltip:n.copyFormat,icon:t.copyFormat,command:"copyFormat",active:!1,attributes:{ariaLabel:"Copy formatting"}}),We=(et,Rt)=>et==="editor"?Rt:et==="suggester"?Rt.filter(zt=>zt.value==="suggesting"):Rt.filter(zt=>zt.value==="viewing"),Xe=et=>et==="editor"?"Editing":et==="suggester"?"Suggesting":"Viewing",ee=In({type:"dropdown",name:"documentMode",command:"setDocumentMode",allowWithoutEditor:!0,icon:t.documentMode,defaultLabel:Xe(s),label:Xe(s),hasCaret:s==="editor",isWide:!0,style:{display:"flex",justifyContent:"flex-end"},inlineTextInputVisible:!1,hasInlineTextInput:!1,group:"right",disabled:s!=="editor",attributes:{dropdownPosition:"right",className:"sd-toolbar-item--doc-mode",ariaLabel:"Document mode"},options:[{type:"render",render:()=>ne(ee)}]}),S=[{label:n.documentEditingMode,value:"editing",icon:t.documentEditingMode,description:n.documentEditingModeDescription},{label:n.documentSuggestingMode,value:"suggesting",icon:t.documentSuggestingMode,description:n.documentSuggestingModeDescription},{label:n.documentViewingMode,value:"viewing",icon:t.documentViewingMode,description:n.documentViewingModeDescription}];function ne(et){const Rt=We(s,S);return $r(GB,{options:Rt,onSelect:zt=>{const Ht=e.superdoc?.activeEditor??e.activeEditor;Fs(et);const{label:Jt,icon:hn,value:Gn}=zt;ee.label.value=Jt,ee.icon.value=hn,e.emitCommand({item:ee,argument:Gn}),Ru(e,Ht)}})}const O=new Map([["separator",20],["zoom",71],["measurementUnit",52],["fontFamily",118],["fontSize",57],["textAlign",40],["linkedStyles",142],["documentMode",47],["default",32]]),P=["search","ruler","undo","overflow","documentMode"],U=In({type:"button",name:"ruler",command:"toggleRuler",allowWithoutEditor:!0,icon:t.ruler,active:!1,tooltip:n.ruler,attributes:{ariaLabel:"Ruler"}}),$=In({type:"button",name:"formattingMarks",command:"toggleFormattingMarks",allowWithoutEditor:!0,icon:t.formattingMarks,active:!1,tooltip:n.formattingMarks,attributes:{ariaLabel:"Formatting marks"}}),Q=In({type:"dropdown",name:"linkedStyles",command:"setLinkedStyle",tooltip:n.linkedStyles,icon:t.paintbrush,defaultLabel:n.formatText,label:n.formatText,hasCaret:!0,isWide:!0,style:{width:"140px"},suppressActiveHighlight:!0,disabled:!1,attributes:{className:"sd-toolbar-item--linked-styles",ariaLabel:"Linked styles"},options:[{type:"render",key:"linkedStyle",render:()=>{const et=zt=>{Fs(Q);const Ht=typeof zt=="string"?zt:zt?.id??null;if(!Ht)return;const Jt={...Q,command:"setLinkedStyle"};e.emitCommand({item:Jt,argument:Ht})},Rt=e.getActiveLinkedStyleId?.()??null;return $r("div",{},[$r(YB,{styles:e.getLinkedStyleOptions?.()??[],onSelect:et,selectedOption:Rt})])}}],onActivate:({styleId:et,styleName:Rt})=>{const zt=Rt||et;Q.label.value=et&&et!=="Normal"?String(zt):n.formatText,Q.disabled.value=!1},onDeactivate:()=>{Q.disabled.value=!0,Q.label.value=n.formatText}}),Z=(et,Rt)=>{if(Rt.value==et)return $r("div",{innerHTML:xz,class:"dropdown-select-icon"})},K=In({type:"dropdown",name:"lineHeight",tooltip:n.lineHeight,icon:t.lineHeight,hasCaret:!1,hasInlineTextInput:!1,hideLabel:!0,inlineTextInputVisible:!1,suppressActiveHighlight:!0,restoreEditorFocus:!0,isWide:!1,command:"setLineHeight",dropdownValueKey:"key",selectedValue:"1",attributes:{ariaLabel:"Line height"},options:[1,1.15,1.5,2,2.5,3].map(et=>({label:et.toFixed(2),key:et,icon:()=>Z(et,K.selectedValue),props:{"data-item":"btn-lineHeight-option"}}))}),me=20,Me=32,he=P.reduce((et,Rt)=>et+(O.get(Rt)||O.get("default")),0),Be=["linkedStyles","clearFormatting","copyFormat","formattingMarks"],qe=["zoom","fontFamily","fontSize","redo"],rt=i<=Mf.lg,lt=e.config?.showFormattingMarksButton===!0,Xt=e.config?.showTableOfContentsButton===!0;rt&&(ee.attributes.value={...ee.attributes.value,className:`${ee.attributes.value.className} sd-toolbar-item--doc-mode-compact`}),rt&&(Q.attributes.value={...Q.attributes.value,className:`${Q.attributes.value.className} sd-toolbar-item--linked-styles-compact`});let He=[oe,Re,$e,nt,T,ve,d,v,m,v,l,k,C,A,w,b,v,M,L,...Xt?[V]:[],q,B,v,J,se,pe,je,ge,K,v,Q,v,U,_e,...lt?[$]:[],Ee,Ct,...Tz(e)?[f]:[],be,ee];if(i<=Mf.md&&o&&(He=He.filter(et=>et.type!=="separator")),e.config.mode!=="docx"){const et=He.findIndex(zt=>zt.name.value==="linkedStyles");He.splice(et-1,2);const Rt=["ruler","zoom","undo","redo"];He=He.filter(zt=>!Rt.includes(zt.name.value))}const Ot=[];a||(s==="viewer"&&Ot.push($e,nt),He=He.filter(et=>!Ot.includes(et)));const Dt=et=>P.includes(et.name.value),sn=[],Kn=[];let nn=Me+he;return He.forEach(et=>{const Rt=O.get(et.name.value)||O.get("default");if(i<Mf.xl+me&&Be.includes(et.name.value)&&o){if(sn.push(et),et.name.value==="linkedStyles"){const zt=He.findIndex(Ht=>Ht.name.value==="linkedStyles");He.splice(zt+1,1)}return}if(i<Mf.sm&&qe.includes(et.name.value)&&o){sn.push(et);return}if(Dt(et)){Kn.push(et),nn+=Rt;return}nn<i||!o?(Kn.push(et),nn+=Rt):sn.push(et)}),{defaultItems:Kn,overflowItems:sn.filter(et=>et.type!=="separator")}},aA={bold:"Bold",fontFamily:"Font family",ai:"AI text generation",fontSize:"Font size",italic:"Italic",underline:"Underline",highlight:"Highlight color",strikethrough:"Strikethrough",color:"Text color",search:"Search",link:"Link",image:"Image",tableOfContents:"Table of contents",table:"Insert table",tableActions:"Table options",addRowBefore:"Insert row above",addRowAfter:"Insert row below",addColumnBefore:"Insert column left",addColumnAfter:"Insert column right",deleteRow:"Delete row",deleteColumn:"Delete column",deleteTable:"Delete table",removeBorders:"Remove borders",mergeCells:"Merge cells",splitCell:"Split cell",fixTables:"Fix tables",textAlign:"Alignment",bulletList:"Bullet list",numberedList:"Numbered list",indentLeft:"Left indent",indentRight:"Right indent",directionLtr:"Left-to-right",directionRtl:"Right-to-left",zoom:"Zoom",measurementUnit:"Measurement unit",undo:"Undo",redo:"Redo",trackChanges:"Track Changes",trackChangesAccept:"Accept changes under selection",trackChangesReject:"Reject changes under selection",trackChangesOriginal:"Toggle Show Original",trackChangesFinal:"Toggle Show Final",clearFormatting:"Clear formatting",copyFormat:"Format painter",lineHeight:"Line height",formatText:"Format text",ruler:"Show or hide ruler",formattingMarks:"Show or hide formatting marks",pageBreak:"Insert page break",documentEditingMode:"Editing",documentSuggestingMode:"Suggesting",documentViewingMode:"Viewing",documentEditingModeDescription:"Edit document directly",documentSuggestingModeDescription:"Edits become suggestions",documentViewingModeDescription:"View clean version of document only",linkedStyles:"Linked styles"},Lz=e=>e?typeof e!="string"?e instanceof HTMLElement?e:null:e.startsWith("#")||e.startsWith(".")?document.querySelector(e):document.getElementById(e):null;xt();function lA(e){return aN(e)??J0[e]??null}function um(e,t,n,r={}){if(!e?.commands||!t||typeof e.commands.has=="function"&&!e.commands.has(t))return!1;const o=typeof e.commands.executeAsync=="function"?e.commands.executeAsync:e.commands.execute;if(typeof o!="function")return!1;const i=n===void 0?o.call(e.commands,t):o.call(e.commands,t,n);return i&&typeof i.then=="function"&&Promise.resolve(i).then(()=>r.onSettled?.(),s=>{r.onError?.(s),r.onSettled?.()}),!0}var Pz=new Set(["bold","italic","underline","strike","color","highlight","link","clearFormatting","textAlign","list","numberedlist","indentleft","indentright","lineHeight","linkedStyles"]),Dz=new Set(["list","numberedlist"]);function Oz(e,t){if(e==="fontFamily"||e==="fontSize"||Dz.has(e)&&t?.disabled&&t?.supported!==!1&&t?.reason==null)return!0;if(!Pz.has(e))return!1;const n=t?.reason;return n==="range-selection-required"||n==="selection-required"}function cA(e){return!!e?.closest?.("[data-editor-ui-surface], .toolbar-dropdown-menu, .sd-toolbar-dropdown-menu, .sd-tooltip-content")}function Fz(e){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(e.key)}var Nz=class extends Km.default{config={selector:null,toolbarGroups:["left","center","right"],role:"editor",icons:{...or},texts:{...aA},fonts:null,hideButtons:!0,responsiveToContainer:!1,mode:"docx",excludeItems:[],groups:null,customButtons:[],showFormattingMarksButton:!1,showTableOfContentsButton:!1};toolbarItems=[];overflowItems=[];#e=null;#n=null;isDev=!1;role="editor";superdoc;toolbarContainer=null;toolbar=null;_detachFontsChanged=null;constructor(e={}){if(super(),this.config={...this.config,...e},this.toolbarItems=[],this.overflowItems=[],this.isDev=e.isDev||!1,this.superdoc=e.superdoc,this.role=e.role||"editor",this.toolbarContainer=null,this.config.icons={...or,...e.icons},this.config.texts={...aA,...e.texts},this.config.hideButtons=e.hideButtons??!0,this.config.responsiveToContainer=e.responsiveToContainer??!1,this.activeEditor=e.editor??this.superdoc?.activeEditor??null,this.ui=null,this.snapshot=null,this._unsubscribeController=null,this._detachFormatPainterModeChange=null,this._customCommandRegs=new Map,this._reportedInvalidCustomItems=new Set,this._lastFontOptionsSignature="",!this.config.selector&&this.config.element&&(this.config.selector=this.config.element),this.toolbarContainer=Lz(this.config.selector),this.toolbarContainer){const t=(this.config?.uiDisplayFallbackFont||"").toString().trim()||"Arial, Helvetica, sans-serif";this.toolbarContainer.style.setProperty("--sd-ui-font-family",t)}try{if(this.#t(),this.#d(),this.#f(),this.#i(),this._lastFontOptionsSignature=this.#o(),!this.toolbarContainer){this.updateToolbarState();return}this.app=Xl(TB),this.app.directive("click-outside",Xv),this.app.config.globalProperties.$toolbar=this,this.toolbar=this.app.mount(this.toolbarContainer),this.updateToolbarState()}catch(t){try{this.destroy()}catch{}throw t}}#t(){this.ui=this.superdoc?.ui??null,this.ui&&(this.snapshot=this.ui.toolbar.getSnapshot(),this._unsubscribeController=this.ui.toolbar.subscribe(()=>{this.snapshot=this.ui.toolbar.getSnapshot(),this.updateToolbarState()}),this._detachFormatPainterModeChange=this.ui.formatPainter.onModeChange(e=>{e==="armed"||e==="persistent"?this.#a():this.#S()}))}#r(){this._unsubscribeController?.(),this._unsubscribeController=null,this._detachFormatPainterModeChange?.(),this._detachFormatPainterModeChange=null,this.#S();for(const e of this._customCommandRegs.values())try{e.unregister?.()}catch{}this._customCommandRegs.clear(),this.ui=null,this.snapshot=null}#i(){if(!this.superdoc||typeof this.superdoc.on!="function"||typeof this.superdoc.off!="function")return;const e=()=>{const t=this.#o();t!==this._lastFontOptionsSignature&&(this._lastFontOptionsSignature=t,this.#p()),this.updateToolbarState()};this.superdoc.on("fonts-changed",e),this._detachFontsChanged=()=>{this.superdoc?.off?.("fonts-changed",e)}}#s(){this._detachFontsChanged?.(),this._detachFontsChanged=null}#d(){if(Array.isArray(this.config.groups)){this.config.toolbarGroups=this.config.groups,this.config.groups=null;return}this.config.groups&&!Array.isArray(this.config.groups)&&Object.keys(this.config.groups).length&&(this.config.toolbarGroups=Object.keys(this.config.groups))}getAvailableWidth(){const e=document.documentElement.clientWidth,t=this.toolbarContainer?.offsetWidth??0;return this.config.responsiveToContainer?t:e}#h(e){if(e)return e;const t=this.superdoc?.fonts?.getFontFamilyOptions?.()??[];return _B(t)}#f(){const e=this.getAvailableWidth(),t=this.config.groups&&!Array.isArray(this.config.groups)&&Object.keys(this.config.groups).length>0,{defaultItems:n,overflowItems:r}=Mz({superToolbar:this,toolbarIcons:this.config.icons,toolbarTexts:this.config.texts,toolbarFonts:this.#h(this.config.fonts),hideButtons:this.config.hideButtons,availableWidth:e,role:this.role,isDev:this.isDev}),o=this.config.customButtons||[],i=new Set([...n,...r].map(c=>c.name?.value).filter(Boolean)),s=o.map((c,d)=>{try{if(c?.name&&i.has(c.name))throw new Error(`Toolbar item name "${c.name}" is already taken by another item, so this entry is skipped.`);const f=this.#c(c);return i.add(f.name?.value),f}catch(f){const h=`${c?.name??`<unnamed@${d}>`}::${f?.message??String(f)}`;return this._reportedInvalidCustomItems.has(h)||(this._reportedInvalidCustomItems.add(h),this.#b(f,c?.name??null)),null}}).filter(Boolean);s.length&&n.push(...s);let a=[...n.map(c=>c.name.value),...r.map(c=>c.name.value)];if(t){const c=Object.values(this.config.groups).flatMap(h=>h),d=new Set(Object.keys(this.config.groups)),f=s.filter(h=>d.has(h.group?.value||"center")).map(h=>h.name.value);a=[...new Set([...c,...f])]}const l=n.filter(c=>a.includes(c.name.value)).filter(c=>!this.config.excludeItems.includes(c.name.value));if(t)for(const[c,d]of Object.entries(this.config.groups))for(const f of l)d.includes(f.name.value)&&(f.group.value=c);this.toolbarItems=l,this.overflowItems=r.filter(c=>a.includes(c.name.value))}#c(e){const t=In({...e});t.isCustomToolbarItem=!0;const n=e.command;if(typeof n=="function"&&this.ui?.commands?.register){const r=`__builtin_toolbar__${e.name}`;if(!this._customCommandRegs.has(r)){const o=this.ui.commands.register({id:r,execute:i=>{const s=i?.payload&&typeof i.payload=="object"?i.payload:{};return n({...i,item:t,argument:s.argument,option:s.option})}});this._customCommandRegs.set(r,o)}}return t}#p(){this.#f(),this.emit("toolbar-items-changed")}#o(){if(this.config.fonts)return"custom-fonts";const e=this.superdoc?.fonts?.getFontFamilyOptions?.()??[];return JSON.stringify(e.map(t=>[t.label,t.value,t.previewFamily]))}getToolbarItemByGroup(e){return this.toolbarItems.filter(t=>(t.group?.value||"center")===e)}getToolbarItemByName(e){return this.#l().find(t=>t.name.value===e)}#l(){return[...this.toolbarItems,...this.overflowItems]}getLinkedStyleOptions(){return this.ui?.styles?.getQuickGallery?.()??[]}getActiveLinkedStyleId(){return this.ui?.styles?.getActiveParagraphStyle?.()?.styleId??null}setActiveEditor(e){this.activeEditor=e;const t=this.#o();t!==this._lastFontOptionsSignature&&(this._lastFontOptionsSignature=t,this.#p()),this.ui&&(this.snapshot=this.ui.toolbar.getSnapshot()),this.updateToolbarState()}onToolbarResize=()=>{this.#f(),this.updateToolbarState()};#g(e){return e==="ruler"?!!this.superdoc?.config?.rulers:e==="formattingMarks"?!!this.superdoc?.config?.layoutEngineOptions?.showFormattingMarks:!1}#u(e){return e==="ruler"?typeof this.superdoc?.toggleRuler=="function":e==="formattingMarks"?typeof this.superdoc?.toggleFormattingMarks=="function"||typeof this.superdoc?.setShowFormattingMarks=="function":!1}#y(){const e=this.getToolbarItemByName("documentMode");if(!e)return;const t=(this.snapshot?.commands?.["document-mode"]?.value||"editing").toLowerCase(),n=this.config.texts||{},r=this.config.icons||{},o={editing:{label:n.documentEditingMode||"Editing",icon:r.documentEditingMode||r.documentMode},suggesting:{label:n.documentSuggestingMode||"Suggesting",icon:r.documentSuggestingMode||r.documentMode},viewing:{label:n.documentViewingMode||"Viewing",icon:r.documentViewingMode||r.documentMode}},i=o[t]||o.editing;e.label?.value!==void 0&&(e.label.value=i.label),e.defaultLabel?.value!==void 0&&(e.defaultLabel.value=i.label),e.icon?.value!==void 0&&i.icon&&(e.icon.value=i.icon)}#w(){const e=this.toolbarItems.find(n=>n.name.value==="highlight");if(!e)return;const t={key:"color",type:"render",render:()=>e2(this,e,[],!0)};e.nestedOptions.value=[t]}#k(e){return!!e?.active&&e?.value==null}#I(e){return!!e&&e.disabled===!1&&e.value==null}#x(e){const t=e.name.value;if(t==="tableActions"){const i=nA.map(s=>this.snapshot?.commands?.[s]).some(s=>s&&!s.disabled);return e.setDisabled(!i),!0}if(t==="search")return e.setDisabled(!1),!0;if(Z0(t)?.disposition==="host-routed")return e.setDisabled(!this.#u(t)),this.#g(t)?e.activate():e.deactivate(),!0;const n=lA(t);if(!n)return!1;const r=this.snapshot?.commands?.[n];Oz(t,r)?e.setDisabled(!1):e.setDisabled(!!r?.disabled);const o={textAlign:()=>{r?.value?e.activate({textAlign:r.value}):e.deactivate()},lineHeight:()=>{e.selectedValue.value=r?.value!=null?r.value:""},zoom:()=>{if(r?.value!=null){const i=typeof r.value=="number"?`${r.value}%`:String(r.value);e.onActivate({zoom:i})}},measurementUnit:()=>{r?.value!=null&&e.onActivate({measurementUnit:String(r.value)})},documentMode:()=>{this.#y()},link:()=>{e.active.value=!!r?.active,e.attributes.value=t2(e.attributes.value,r?.value??null)},fontFamily:()=>{if(r?.value!=null){e.activate({fontFamily:r.value});return}if(this.#I(r)){e.activate({},!0);return}e.deactivate()},fontSize:()=>{if(r?.value!=null){e.activate({fontSize:r.value});return}if(this.#k(r)){e.activate({},!0);return}e.deactivate()},color:()=>{r?.value!=null?e.activate({color:r.value}):e.deactivate()},highlight:()=>{r?.value!=null?e.activate({color:r.value}):e.deactivate()},linkedStyles:()=>{const i=r?.value,s=typeof i=="string"?i:i?.styleId,a=i&&typeof i=="object"?i.styleName:null;s?e.activate({styleId:s,styleName:a}):e.label.value=this.config.texts?.formatText||"Format text"},list:()=>{r?.active?(e.activate(),e.selectedValue.value=r.value):(e.deactivate(),e.selectedValue.value=null)},numberedlist:()=>{r?.active?(e.activate(),e.selectedValue.value=r.value):(e.deactivate(),e.selectedValue.value=null)},default:()=>{r?.active?e.activate():e.deactivate()}};return(o[t]??o.default)(),!0}updateToolbarState(){this.#y(),this.#w();const e=this.snapshot?.commands?.["document-mode"]?.value||"editing";!(this.snapshot&&(this.superdoc?.activeEditor??this.activeEditor))||e==="viewing"?(this.#L(),this.#l().forEach(n=>{n.allowWithoutEditor?.value&&this.#x(n)})):this.#l().forEach(n=>{n.resetDisabled(),this.#x(n)});const t=this.getToolbarItemByName("copyFormat");t&&(this.snapshot?.copyFormatActive?t.activate():t.deactivate()),this.emit("toolbar-state-change")}#L(){this.#l().forEach(e=>{const{allowWithoutEditor:t}=e;t?.value||e.setDisabled(!0)})}#P(e,t){const n=this.superdoc;if(e==="ruler")return typeof n?.toggleRuler=="function"?(n.toggleRuler(),!0):!1;if(e==="formattingMarks"){if(typeof t=="boolean"&&typeof n?.setShowFormattingMarks=="function")return n.setShowFormattingMarks(t),!0;if(typeof n?.toggleFormattingMarks=="function")return n.toggleFormattingMarks(),!0}return!1}#D(e,t){const n=e?.name?.value;if(!n)return!1;const r={onSettled:()=>this.updateToolbarState(),onError:i=>this.#b(i,n)};if(n==="image"&&t==null)return this.#E();if(n==="tableActions"){const i=tA[t?.command];return i?um(this.ui,i,void 0,r):!1}if(Z0(n)?.disposition==="unsupported")return!0;const o=lA(n);return o?um(this.ui,o,t,r):!1}#E(){return this.snapshot?.commands?.image?.disabled||(this.#e||(this.#e=pN({ownerDocument:this.toolbarContainer?.ownerDocument??document,onPick:async e=>{const t=await fN(e,this.superdoc?.config?.handleImageUpload);um(this.ui,"image",{src:t},{onSettled:()=>this.updateToolbarState(),onError:n=>this.#b(n,"image")})},onError:e=>this.#b(e,"image")})),this.#e.open()),!0}#a(){if(this.#n)return;const e=this.superdoc?.activeEditor?.container??document,t=i=>{cA(i.target)||this.ui.formatPainter.setPointerSelecting(!0)},n=i=>{this.ui.formatPainter.setPointerSelecting(!1),!cA(i.target)&&this.ui.formatPainter.notifyPointerUp()},r=i=>{if(i.key==="Escape"){this.ui.formatPainter.cancel();return}Fz(i)&&this.ui.formatPainter.setKeyboardSelecting(!0)},o=()=>{this.ui.formatPainter.setKeyboardSelecting(!1),this.ui.formatPainter.notifyKeyUp()};e.addEventListener("pointerdown",t),e.addEventListener("pointerup",n),e.addEventListener("keydown",r),e.addEventListener("keyup",o),this.#n=()=>{e.removeEventListener("pointerdown",t),e.removeEventListener("pointerup",n),e.removeEventListener("keydown",r),e.removeEventListener("keyup",o)}}#S(){this.#n&&(this.#n(),this.#n=null)}#b(e,t){const n={error:e instanceof Error?e:new Error(String(e)),originalError:e,itemName:t??null,editor:this.superdoc?.activeEditor??this.activeEditor??null},r={...n};this.emit("exception",n),this.superdoc?.emit?.("exception",r)}emitCommand({item:e,argument:t,option:n}){const r=e?.name?.value,{command:o}=e,i=t!=null;if(!(e?.type==="dropdown"&&!i&&(o==="setFontFamily"||o==="setFontSize"))){if(r==="search"){this.superdoc?.emit?.("search:open");return}try{if(Z0(r)?.disposition==="host-routed"){this.#P(r,t),this.updateToolbarState();return}if(typeof o=="function"){const s=`__builtin_toolbar__${r}`;this._customCommandRegs.has(s)&&this.ui?.commands?.execute?this.ui.commands.execute(s,{argument:t,option:n}):o({item:e,argument:t,option:n,ui:this.ui,superdoc:this.superdoc}),this.updateToolbarState();return}if(e?.isCustomToolbarItem&&typeof o=="string"){if(!um(this.ui,o,t,{onSettled:()=>this.updateToolbarState(),onError:s=>this.#b(s,r)}))throw new Error(`[superdoc toolbar] Command not handled: ${String(o)}`);this.updateToolbarState();return}if(!this.#D(e,t)&&o)throw new Error(`[superdoc toolbar] Command not handled: ${String(o)}`);this.updateToolbarState()}catch(s){this.#b(s,r)}}}destroy(){this.#S(),this.#e?.destroy(),this.#e=null,this.#s(),this.#r(),this.app?.unmount(),this.app=null,this.toolbar=null}};function Bz(e){return new Nz(e)}function zz(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null||Array.isArray(e)!==Array.isArray(t))return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}function Vz(e){if(!e||typeof e!="object")return{};const t={};e.fonts&&(t.rFonts={ascii:e.fonts.ascii,hAnsi:e.fonts.hAnsi,eastAsia:e.fonts.eastAsia,cs:e.fonts.cs,asciiTheme:e.fonts.asciiTheme,hAnsiTheme:e.fonts.hAnsiTheme,eastAsiaTheme:e.fonts.eastAsiaTheme,csTheme:e.fonts.csTheme,hint:e.fonts.hint}),e.fontFamily!=null&&(t.fontFamily=e.fontFamily),e.lang&&(t.lang={val:e.lang.val,eastAsia:e.lang.eastAsia,bidi:e.lang.bidi}),e.fontSize!=null&&(t.fontSize=e.fontSize),e.fontSizeCs!=null&&(t.fontSizeCs=e.fontSizeCs);const n=dm(e.color);n!=null&&(t.color=n),e.highlight!=null&&(t.highlight=e.highlight);const r=Uz(e.shading);r&&(t.shading=r),e.cs!=null&&(t.cs=e.cs),e.rtl!=null&&(t.rtl=e.rtl),e.bold!=null&&(t.bold=e.bold),e.boldCs!=null&&(t.bCs=e.boldCs),e.italic!=null&&(t.italic=e.italic),e.italicCs!=null&&(t.iCs=e.italicCs);const o=jz(e.underline);o!==void 0&&(t.underline=o),e.strikethrough!=null&&(t.strike=e.strikethrough),e.doubleStrikethrough!=null&&(t.dstrike=e.doubleStrikethrough),e.caps!=null&&(t.caps=e.caps),e.smallCaps!=null&&(t.smallCaps=e.smallCaps),e.outline!=null&&(t.outline=e.outline),e.shadow!=null&&(t.shadow=e.shadow),e.emboss!=null&&(t.emboss=e.emboss),e.imprint!=null&&(t.imprint=e.imprint),e.verticalAlign!=null&&(t.vertAlign=e.verticalAlign),e.characterSpacing!=null&&(t.letterSpacing=e.characterSpacing),e.characterScale!=null&&(t.charScale=e.characterScale),e.kern!=null&&(t.kerning=e.kern),e.baselineShift!=null&&(t.position=e.baselineShift),e.fitTextWidth!=null&&(t.fitText={val:e.fitTextWidth}),e.vanish!=null&&(t.vanish=e.vanish),e.webHidden!=null&&(t.webHidden=e.webHidden),e.specVanish!=null&&(t.specVanish=e.specVanish);const i=Hz(e.border);return i&&(t.border=i),t}function dm(e){if(e){if(typeof e=="string")return e;if(e.model==="rgb")return e.value;if(e.model==="auto")return"auto"}}function jz(e){if(e==null)return;const t={};return e.style!=null&&(t.style=e.style),e.color?.model==="rgb"&&(t.color=e.color.value),e.color?.model==="theme"&&(t.themeColor=e.color.theme),Object.keys(t).length>0?t:!0}function Uz(e){if(!e)return;const t={},n=dm(e.fill);n!=null&&(t.fill=n);const r=dm(e.color);return r!=null&&(t.color=r),e.pattern!=null&&(t.val=e.pattern),Object.keys(t).length>0?t:void 0}function Hz(e){if(!e)return;const t={};e.style!=null&&(t.val=e.style),e.width!=null&&(t.sz=e.width),e.space!=null&&(t.space=e.space);const n=dm(e.color);return n!=null&&(t.color=n),Object.keys(t).length>0?t:void 0}function uc(e){const t=e?.selectionTarget??e?.target;if(!e||!t)return"";try{return JSON.stringify(t)}catch{return String(t)}}var $z=new Set(["insert-text","replace-text","plain-text-paste","delete-backward","delete-forward","text.insert","text.replace","text.pastePlain","text.deleteBackward","text.deleteForward","structural.enter","structural:enter-split-paragraph","structural:enter-insert-paragraph-before","structural:enter-insert-paragraph-after","structural:shift-enter-line-break","structural:backspace-boundary-merge-with-previous","structural:delete-boundary-merge-with-next","backspace:boundary-merge-with-previous","backspace:list-remove","backspace:list-outdent"]),Gz=e=>e?.type!=="mutation:committed"||e.origin!=="command"?!1:$z.has(e.editableCommandKind);function uA(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function Wz(e){const t=[],n=o=>{o&&!t.includes(o)&&t.push(o)};n(e.getAttribute("data-track-change-preferred-target-id"));const r=e.getAttribute("data-track-change-ids");if(r)for(const o of uA(r))n(o);return n(e.getAttribute("data-track-change-id")),t}function dA(e,t){if(!e||typeof e.getAttribute!="function")return[];const n=[],r=new Set;let o=[],i=e;for(;i;){const s=i,a=Wz(s),l=a.length>0?s.getAttribute("data-story-key"):null;for(const m of a){const v=`trackedChange:${m}`;if(!r.has(v)){r.add(v);const k={type:"trackedChange",id:m};l&&(k.storyKey=l),n.push(k),o.push(k)}}const c=s.getAttribute("data-layout-story");if(c&&o.length>0){for(const m of o)m.story=c;o=[]}const d=s.getAttribute("data-citation-id");if(d){const m=`citation:${d}`;r.has(m)||(r.add(m),n.push({type:"citation",id:d}))}const f=s.getAttribute("data-comment-ids");if(f)for(const m of uA(f)){const v=`comment:${m}`;r.has(v)||(r.add(v),n.push({type:"comment",id:m}))}const h=s.getAttribute("data-sdt-type"),g=s.getAttribute("data-sdt-id");if(g&&h==="structuredContent"){const m=`contentControl:${g}`;if(!r.has(m)){r.add(m);const v=s.getAttribute("data-sdt-scope"),k=s.getAttribute("data-sdt-tag"),C={type:"contentControl",id:g};(v==="block"||v==="inline")&&(C.scope=v),k&&(C.tag=k),n.push(C)}}if(t&&i===t)break;i=i.parentElement}return n}var fo=()=>({oneOf:[{type:"boolean"},{type:"null"}]}),gl=()=>({oneOf:[{type:"string",minLength:1},{type:"null"}]}),Mu=()=>({oneOf:[{type:"number"},{type:"null"}]}),Lu=e=>({oneOf:[{type:"object",properties:e,additionalProperties:!1,minProperties:1},{type:"null"}]}),Kz={type:"object",properties:{style:{oneOf:[{type:"string",minLength:1},{type:"null"}]},color:{oneOf:[{type:"string",minLength:1},{type:"null"}]},themeColor:{oneOf:[{type:"string",minLength:1},{type:"null"}]}},additionalProperties:!1,minProperties:1},qz={type:"object",properties:{id:{type:"number"},val:{type:"boolean"}},required:["id"],additionalProperties:!1},Yz=()=>({oneOf:[{type:"boolean"},{type:"null"},Kz]}),Xz=()=>({oneOf:[{type:"array",items:qz,minItems:1},{type:"null"}]});function fm(e,t){return{storage:"mark",markName:e,textStyleAttr:t}}function Zz(e){return{storage:"runAttribute",nodeName:"run",runPropertyKey:e}}var n2=(e,t,n)=>({key:e,type:"boolean",ooxmlElement:t,storage:"mark",tracked:!0,carrier:fm(n),schema:fo()}),dc=(e,t,n,r,o)=>({key:e,type:t,ooxmlElement:n,storage:"mark",tracked:!0,carrier:fm("textStyle",o??e),schema:r}),Vn=(e,t,n,r,o)=>({key:e,type:t,ooxmlElement:n,storage:"runAttribute",tracked:!1,carrier:Zz(o??e),schema:r}),hm=[n2("bold","w:b","bold"),n2("italic","w:i","italic"),n2("strike","w:strike","strike"),{key:"underline",type:"object",ooxmlElement:"w:u",storage:"mark",tracked:!0,carrier:fm("underline"),schema:Yz()},{key:"highlight",type:"string",ooxmlElement:"w:highlight",storage:"mark",tracked:!0,carrier:fm("highlight"),schema:gl()},dc("color","string","w:color",gl()),dc("fontSize","number","w:sz",Mu()),dc("fontFamily","string","w:rFonts",gl()),dc("letterSpacing","number","w:spacing",Mu()),dc("vertAlign","string","w:vertAlign",{oneOf:[{enum:["superscript","subscript","baseline"]},{type:"null"}]}),dc("position","number","w:position",Mu()),Vn("dstrike","boolean","w:dstrike",fo()),Vn("smallCaps","boolean","w:smallCaps",fo()),dc("caps","boolean","w:caps",fo(),"textTransform"),Vn("shading","object","w:shd",Lu({fill:{oneOf:[{type:"string",minLength:1},{type:"null"}]},color:{oneOf:[{type:"string",minLength:1},{type:"null"}]},val:{oneOf:[{type:"string",minLength:1},{type:"null"}]}})),Vn("border","object","w:bdr",Lu({val:{oneOf:[{type:"string",minLength:1},{type:"null"}]},sz:{oneOf:[{type:"number"},{type:"null"}]},color:{oneOf:[{type:"string",minLength:1},{type:"null"}]},space:{oneOf:[{type:"number"},{type:"null"}]}}),"borders"),Vn("outline","boolean","w:outline",fo()),Vn("shadow","boolean","w:shadow",fo()),Vn("emboss","boolean","w:emboss",fo()),Vn("imprint","boolean","w:imprint",fo()),Vn("charScale","number","w:w",Mu(),"w"),Vn("kerning","number","w:kern",Mu(),"kern"),Vn("vanish","boolean","w:vanish",fo()),Vn("webHidden","boolean","w:webHidden",fo()),Vn("specVanish","boolean","w:specVanish",fo()),Vn("rtl","boolean","w:rtl",fo()),Vn("cs","boolean","w:cs",fo()),Vn("bCs","boolean","w:bCs",fo(),"boldCs"),Vn("iCs","boolean","w:iCs",fo(),"italicCs"),Vn("eastAsianLayout","object","w:eastAsianLayout",Lu({id:{oneOf:[{type:"string",minLength:1},{type:"null"}]},combine:{oneOf:[{type:"boolean"},{type:"null"}]},combineBrackets:{oneOf:[{type:"string",minLength:1},{type:"null"}]},vert:{oneOf:[{type:"boolean"},{type:"null"}]},vertCompress:{oneOf:[{type:"boolean"},{type:"null"}]}})),Vn("em","string","w:em",gl()),Vn("fitText","object","w:fitText",Lu({val:{oneOf:[{type:"number"},{type:"null"}]},id:{oneOf:[{type:"string",minLength:1},{type:"null"}]}})),Vn("snapToGrid","boolean","w:snapToGrid",fo()),Vn("lang","object","w:lang",Lu({val:{oneOf:[{type:"string",minLength:1},{type:"null"}]},eastAsia:{oneOf:[{type:"string",minLength:1},{type:"null"}]},bidi:{oneOf:[{type:"string",minLength:1},{type:"null"}]}})),Vn("oMath","boolean","w:oMath",fo()),Vn("rStyle","string","w:rStyle",gl(),"styleId"),Vn("rFonts","object","w:rFonts",Lu({ascii:{oneOf:[{type:"string",minLength:1},{type:"null"}]},hAnsi:{oneOf:[{type:"string",minLength:1},{type:"null"}]},eastAsia:{oneOf:[{type:"string",minLength:1},{type:"null"}]},cs:{oneOf:[{type:"string",minLength:1},{type:"null"}]},asciiTheme:{oneOf:[{type:"string",minLength:1},{type:"null"}]},hAnsiTheme:{oneOf:[{type:"string",minLength:1},{type:"null"}]},eastAsiaTheme:{oneOf:[{type:"string",minLength:1},{type:"null"}]},csTheme:{oneOf:[{type:"string",minLength:1},{type:"null"}]},hint:{oneOf:[{type:"string",minLength:1},{type:"null"}]}}),"fontFamily"),Vn("fontSizeCs","number","w:szCs",Mu()),Vn("ligatures","string","w14:ligatures",gl()),Vn("numForm","string","w14:numForm",gl()),Vn("numSpacing","string","w14:numSpacing",gl()),Vn("stylisticSets","array","w14:stylisticSets",Xz()),Vn("contextualAlternates","boolean","w14:cntxtAlts",fo())],NH=new Set(hm.map(e=>e.key)),Qz=Object.fromEntries(hm.map(e=>[e.key,e])),BH={mark:hm.filter(e=>e.storage==="mark").map(e=>e.key),runAttribute:hm.filter(e=>e.storage==="runAttribute").map(e=>e.key)};function Aa(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}function pm(){const e=globalThis;return{sink:typeof e.__superdocV2BenchPipelineTiming=="function"?e.__superdocV2BenchPipelineTiming:null,workerContext:e.__superdocV2BenchWorkerMessageContext??null}}function r2(e){const{sink:t}=pm();if(t)try{t(e)}catch{}}var o2=new WeakMap;function Jz(e){let t=o2.get(e);return t||(t={refCount:0,generation:0,abortController:new AbortController,inFlight:null,activeMutationTokens:new Set},o2.set(e,t)),t.refCount+=1,t}function eV(e,t){t.refCount=Math.max(0,t.refCount-1),!(t.refCount>0)&&(t.abortController.abort("ui-controller-destroyed"),t.inFlight=null,t.activeMutationTokens.clear(),o2.delete(e))}var tV=new Set(Object.values(ct));function i2(e,t){return typeof e=="string"&&tV.has(e)?e:t}function fA(e){if(e&&typeof e=="object"&&e.ok===!1){const t=e.reason;return t==="host-not-ready"||t==="host-disposed"||t==="editing-mount-required"?{ok:!1,reason:ct.notReady}:{ok:!1,reason:i2(t,ct.targetUnresolved)}}return{ok:!0}}var nV=["document-replaced","editorCreate","active-editor-change","document-mode-change","zoomChange","measurement-unit-change","viewport-change","fonts-changed"],rV={[$4.bulletList]:"bullet",[$4.numberedList]:"ordered"};function hA(e){return rV[e]??null}var oV={disc:"disc",circle:"circle",square:"square",decimal:"decimal","decimal-paren":"decimalParenthesis","upper-roman":"upperRoman","lower-roman":"lowerRoman","upper-alpha":"upperLetter","upper-alpha-paren":"upperLetterParenthesis","lower-alpha":"lowerLetter","lower-alpha-paren":"lowerLetterParenthesis"};function iV(e){const t=oV[e];return t?{preset:t,behavior:"toggleStyle"}:{}}var sV={status:"ready",empty:!0,target:null,selectionTarget:null,activeMarks:[],activeCommentIds:[],activeChangeIds:[],quotedText:""},aV=[{key:"contentControls",match:"exact",note:"full-document SDT catalog parse (the measured during-load cliff)"},{key:"contentControls:inRange:",match:"prefix",note:"same adapter load() as the catalog, issued per settled selection"},{key:"hyperlinks:",match:"prefix",note:"per-block hyperlink list over the loading story"},{key:"styles:catalog:",match:"prefix",note:"WordStyleModel recompile from package bytes"},{key:"comments",match:"exact",note:"audited: full comments list; stale-served during load"},{key:"trackChanges",match:"exact",note:"audited: shared all-story tracked-changes catalog; stale-served during load"},{key:"trackChanges:all",match:"exact",note:"audited: current-token validation over the shared all-story catalog; consumers fail closed on non-ready"},{key:"tables",match:"exact",note:"reserved: full tables catalog"},{key:"sections",match:"exact",note:"reserved: full sections list"}],lV=new Set(["/word/comments.xml","/word/commentsExtended.xml","/word/commentsIds.xml"]);function cV(e){return aV.some(t=>t.match==="exact"?t.key===e:e.startsWith(t.key))}var pA={ready:0,stale:1,pending:2};function vl(...e){let t="ready";for(const n of e)pA[n]>pA[t]&&(t=n);return t}function Tt(e,t){if(typeof e!="function")return t;try{const n=e();return n===void 0?t:n}catch{return t}}function Tr(e){return!!e&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}function mr(e,t){if(!e)return null;const n=t.split(".");let r=e;for(const o of n){if(r==null)return null;r=r[o]}return typeof r=="function"?r:null}function qn(e,t="CAPABILITY_UNAVAILABLE"){return{success:!1,failure:{code:t,message:e}}}function Lf(e,t){return{success:!1,failure:{code:"PARTIAL_LINK_EDIT",message:"Hyperlink target was updated, but display text replacement failed."},applied:{href:!0,text:!1},hyperlinkResult:e,textResult:t}}function Pf(e){if(!e||typeof e!="object")return null;const t=e.target;return t&&typeof t=="object"?t:null}function s2(e){if(!e||typeof e!="object")return!1;const t=e,n=i=>{if(!i||typeof i!="object")return!1;const s=i;return s.kind==="text"&&typeof s.blockId=="string"&&typeof s.offset=="number"},r=i=>{if(!i||typeof i!="object")return!1;const s=i,a=s.range;return typeof s.blockId=="string"&&typeof a?.start=="number"&&typeof a.end=="number"};if(Array.isArray(t.segments)){const i=t.segments[0],s=t.segments[t.segments.length-1];return r(i)&&r(s)}if(t.kind==="selection")return n(t.start)&&n(t.end);if(t.kind!=="text"||typeof t.blockId!="string")return!1;const o=t.range;return typeof o?.start=="number"&&typeof o.end=="number"}function mA(e,t){if(!e||typeof e!="object")return null;const n=Pf(e),r=e,o=r.navigationTarget&&typeof r.navigationTarget=="object"?r.navigationTarget:null;if(o?.kind==="block"&&typeof o.blockId=="string"&&o.blockId.length>0){const i={kind:"text",blockId:o.blockId,range:{start:0,end:0},...o.story&&typeof o.story=="object"?{story:o.story}:{},...r.address&&typeof r.address=="object"?{address:r.address}:{}};if(t?.preferStableBlock||!s2(n))return i}return n}function br(e){if(!e||typeof e!="object")return"story:body";const t=e,n=typeof t.storyType=="string"?t.storyType:"body";switch(n){case"body":return"story:body";case"headerFooterPart":return`story:headerFooterPart:${typeof t.refId=="string"?t.refId:""}`;case"headerFooterSlot":return JSON.stringify({storyType:n,section:t.section??null,headerFooterKind:t.headerFooterKind??null,variant:t.variant??null,resolution:t.resolution??"effective",onWrite:t.onWrite??"materializeIfInherited"});case"footnote":return`story:footnote:${typeof t.noteId=="string"?t.noteId:""}`;case"endnote":return`story:endnote:${typeof t.noteId=="string"?t.noteId:""}`;case"textbox":return`story:textbox:${typeof t.textboxId=="string"?t.textboxId:""}`;default:return JSON.stringify(t)}}function Df(e){if(!e||typeof e!="object")return null;const t=e,n=t.address&&typeof t.address=="object"?t.address:null;if(n?.story&&typeof n.story=="object")return n.story;if(t.storyLocator&&typeof t.storyLocator=="object")return t.storyLocator;if(t.trackedChangeStory&&typeof t.trackedChangeStory=="object")return t.trackedChangeStory;const r=Pf(e);if(!r||typeof r!="object")return null;const o=r;if(o.story&&typeof o.story=="object")return o.story;const i=o.address&&typeof o.address=="object"?o.address:null;return i?.story&&typeof i.story=="object"?i.story:null}function Ni(e,t,n){return no(e)!==t?!1:n?br(Df(e))===br(n):!0}function mm(e){const t=Df(e);if(!(!t||br(t)===br(null)))return t}function uV(e){if(typeof e!="string"||e.length===0)return;const t=x6(e);switch(t.kind){case"body":return;case"footnote":return t.id?{kind:"story",storyType:"footnote",noteId:t.id}:void 0;case"endnote":return t.id?{kind:"story",storyType:"endnote",noteId:t.id}:void 0;case"header":case"footer":return t.id?{kind:"story",storyType:"headerFooterPart",refId:t.id}:void 0;default:return}}function dV(e){if(!(typeof e!="string"||e.length===0||e==="body")){if(e.startsWith("hf:part:")){const t=e.slice(8);return t?{kind:"story",storyType:"headerFooterPart",refId:t}:void 0}if(e.startsWith("fn:")){const t=e.slice(3);return t?{kind:"story",storyType:"footnote",noteId:t}:void 0}if(e.startsWith("en:")){const t=e.slice(3);return t?{kind:"story",storyType:"endnote",noteId:t}:void 0}}}function a2(e){if(!e||typeof e!="object")return null;const t=e.selectionTarget;return t&&typeof t=="object"?t:null}function gm(e){if(!e||typeof e!="object")return null;const t=e.id;return typeof t=="string"&&t.length>0?t:null}function fV(e){if(!e||typeof e!="object")return null;const t=e;if(t.kind!=="selection")return e;const n=t.start;return!n||typeof n!="object"?null:{...t,end:n}}function no(e){if(!e||typeof e!="object")return null;const t=e,n=t.id??t.commentId??t.changeId;return typeof n=="string"&&n.length>0?n:null}function hV(e){if(!e||typeof e!="object")return null;const t=e,n=t.anchor,r=t.focus,o=n?.visualCaret,i=r?.visualCaret,s=o?.trackChangeId,a=i?.trackChangeId;return typeof s=="string"&&s.length>0&&s===a?s:null}var gA=new WeakMap;function vA(e){const t=[],n=i=>{typeof i=="string"&&i.length>0&&!t.includes(i)&&t.push(i)},r=i=>{if(!i||typeof i!="object")return;const s=i,a=s.sourceIds;if(a&&typeof a=="object"&&(n(a.wordIdInsert),n(a.wordIdDelete),Array.isArray(a.wordIdOther)))for(const f of a.wordIdOther)n(f);const l=s.wordRevisionIds;l&&typeof l=="object"&&(n(l.insert),n(l.delete),n(l.format));const c=s.replacement;if(c&&typeof c=="object")for(const f of[c.inserted,c.deleted])f&&typeof f=="object"&&(n(f.id),n(f.wordId));const d=s.move;if(d&&typeof d=="object")for(const f of[d.source,d.destination])f&&typeof f=="object"&&(n(f.id),n(f.wordId))};r(e);const o=e?.change;return o&&o!==e&&r(o),t}function Ns(e){const t=gA.get(e);if(t)return t;const n=new Set,r=new Map;for(const i of e){const s=no(i);if(s){n.add(s);for(const a of vA(i)){r.has(a)||r.set(a,s);const l=`imported:${a}`;r.has(l)||r.set(l,s)}}}const o={toPublicId(i){if(n.has(i))return i;const s=r.get(i);return s!=null&&n.has(s)?s:null},aliasesFor(i){const s=[i];for(const[a,l]of r)l===i&&!s.includes(a)&&s.push(a);return s}};return gA.set(e,o),o}var yA=new WeakMap,bA=new WeakMap;function fc(e,t){const n=br(t);let r=yA.get(e);r||(r=new Map,yA.set(e,r));const o=r.get(n);if(o)return o;const i=Ns(e.filter(s=>br(Df(s))===n));return r.set(n,i),i}function pV(e){return!!e&&typeof e=="object"&&e.storyType==="textbox"}function mV(e,t){const n=t.filter(o=>e.some(i=>no(i)===o&&Df(i)==null));if(n.length===0)return null;if(n.length===1)return n[0];const r=new Set;for(const o of n){const i=e.find(s=>no(s)===o);if(i)for(const s of vA(i)){if(r.has(s))return null;r.add(s)}}return n[0]}function gV(e){const t=bA.get(e);if(t)return t;const n=e.filter(o=>Df(o)!=null),r=n.length===e.length?e:n;return bA.set(e,r),r}function vV(e){const{selectionIds:t,publicIds:n,selection:r,bodyItems:o,allStoryItems:i}=e;if(t.length===0)return null;const s=c=>{for(const d of t){const f=c.toPublicId(d);if(f)return f}return null},a=ts(r),l=br(a)===br(null);if(i){const c=l?gV(i):i,d=s(fc(c,a));if(d)return d;const f=n?.find(h=>c.some(g=>Ni(g,h,a)));return f||(l?s(Ns(o)):pV(a)?mV(i,t):null)}return l?s(Ns(o))??t[0]??null:null}function yV(e,t){const n=e.find(r=>no(r)===t||r.importedId===t);return n?n.rootCommentId??n.parentCommentId??no(n)??t:null}function bV(e){const t=e.selectionTarget;if(t){const s=t.start,a=t.end,l=typeof s?.blockId=="string"?s.blockId:void 0,c=typeof a?.blockId=="string"?a.blockId:l;if(l)return{startBlockId:l,endBlockId:c??l}}const n=e.target,r=n&&Array.isArray(n.segments)?n.segments:[],o=r[0]?.blockId,i=r[r.length-1]?.blockId;return typeof o=="string"?{startBlockId:o,endBlockId:typeof i=="string"?i:o}:null}function Nr(e){const t=[],n=s=>{typeof s=="string"&&s.length>0&&!t.includes(s)&&t.push(s)},r=e.target,o=r&&Array.isArray(r.segments)?r.segments:[];for(const s of o)n(s?.blockId);const i=e.selectionTarget;return i&&(n(i.start?.blockId),n(i.end?.blockId)),t}var wV=64;function hc(e){return e.length<=wV}function ts(e){const t=e.target,n=e.selectionTarget,r=n?.start,o=n?.end,i=t?.story??n?.story??r?.story??o?.story;return i&&typeof i=="object"?i:{kind:"story",storyType:"body"}}function So(e,t){return{kind:"block",nodeType:"paragraph",nodeId:e,...t&&typeof t=="object"?{story:t}:{}}}function Ia(e){return{kind:"block",nodeType:"paragraph",nodeId:e}}function wA(e,t){return{kind:"block",nodeType:"listItem",nodeId:e,...t&&typeof t=="object"?{story:t}:{}}}var CA=720;function Bs(e){return Math.round(e*20)}function Pu(e){return typeof e=="number"&&Number.isFinite(e)}function CV(e){if(!e||typeof e!="object")return null;const t=e.node;if(!t||typeof t!="object")return null;const n=t.kind==="heading"?t.heading??null:t.kind==="paragraph"?t.paragraph??null:null;if(!n)return null;const r=n.resolved,o=n.props,i=r?.indent??o?.indent;if(!i||typeof i!="object")return null;const s=Pu(i.left)?Bs(i.left):Pu(i.start)?Bs(i.start):void 0,a=Pu(i.right)?Bs(i.right):Pu(i.end)?Bs(i.end):void 0,l=Pu(i.firstLine)?Bs(i.firstLine):void 0,c=Pu(i.hanging)?Bs(i.hanging):void 0;return s==null&&a==null&&l==null&&c==null?null:{...s!=null?{left:s}:{},...a!=null?{right:a}:{},...l!=null?{firstLine:l}:{},...c!=null?{hanging:c}:{}}}function l2(e){const t=e.target,n=t&&Array.isArray(t.segments)?t.segments:[],r=t?.story,o=[];for(const i of n){if(!i||typeof i.blockId!="string")continue;const s=i.range;!s||typeof s.start!="number"||typeof s.end!="number"||s.start===s.end||o.push({kind:"text",blockId:i.blockId,range:{start:s.start,end:s.end},...r?{story:r}:{}})}return o}function kV(e){if(!e||typeof e!="object")return[];const t=e,n=t.story,r=[];if(t.kind==="text"&&t.range&&typeof t.blockId=="string"){const o=t.range;return typeof o.start=="number"&&typeof o.end=="number"&&o.start!==o.end&&r.push({kind:"text",blockId:t.blockId,range:{start:Math.min(o.start,o.end),end:Math.max(o.start,o.end)},...n?{story:n}:{}}),r}if(t.kind==="text"&&Array.isArray(t.segments)){for(const o of t.segments){const i=o?.range;typeof o?.blockId=="string"&&typeof i?.start=="number"&&typeof i?.end=="number"&&i.start!==i.end&&r.push({kind:"text",blockId:o.blockId,range:{start:Math.min(i.start,i.end),end:Math.max(i.start,i.end)},...n?{story:n}:{}})}return r}if(t.kind==="selection"){const o=t.start,i=t.end,s=typeof o?.blockId=="string"&&i?.blockId===o.blockId?o.blockId:null;o?.kind==="text"&&i?.kind==="text"&&s&&typeof o.offset=="number"&&typeof i.offset=="number"&&o.offset!==i.offset&&r.push({kind:"text",blockId:s,range:{start:Math.min(o.offset,i.offset),end:Math.max(o.offset,i.offset)},...t.story??o.story?{story:t.story??o.story}:{}})}return r}function Of(e){if(!e||typeof e!="object")return null;const t=e,n=t.story;if(t.kind==="text"&&t.range&&typeof t.blockId=="string"){const r=t.range;if(typeof r.start=="number"&&typeof r.end=="number"&&r.start===r.end)return{kind:"text",blockId:t.blockId,range:{start:r.start,end:r.end},...n?{story:n}:{}}}if(t.kind==="text"&&Array.isArray(t.segments)){const r=t.segments[0],o=r?.range;if(typeof r?.blockId=="string"&&typeof o?.start=="number"&&typeof o?.end=="number"&&o.start===o.end)return{kind:"text",blockId:r.blockId,range:{start:o.start,end:o.end},...n?{story:n}:{}}}if(t.kind==="selection"){const r=t.start,o=t.end,i=typeof r?.blockId=="string"&&o?.blockId===r.blockId?r.blockId:null;if(r?.kind==="text"&&o?.kind==="text"&&i&&typeof r.offset=="number"&&typeof o.offset=="number"&&r.offset===o.offset)return{kind:"text",blockId:i,range:{start:r.offset,end:r.offset},...t.story??r.story?{story:t.story??r.story}:{}}}return null}function yl(e){return Of(e.target)??Of(e.selectionTarget)}var kA=["fontFamily","fontSize","color","highlight"],SV={undo:"history.undo",redo:"history.redo"},Ff=["bold","italic","underline","strikethrough"];function c2(e){return kA.includes(e)}function Du(e){const t=e.target,n=t&&Array.isArray(t.segments)?t.segments:[],r=[],o=(l,c,d)=>{typeof l!="string"||typeof c!="number"||typeof d!="number"||r.push({blockId:l,start:Math.min(c,d),end:Math.max(c,d)})};for(const l of n){const c=l?.range;o(l?.blockId,c?.start,c?.end)}if(r.length>0)return r;const i=e.selectionTarget,s=i?.start,a=i?.end;return!s||!a||s.blockId!==a.blockId||o(s.blockId,s.offset,a.offset),r}function ns(e){const t=e.target,n=e.selectionTarget,r=n?.start,o=n?.end,i=t?.story??n?.story??r?.story??o?.story;return i&&typeof i=="object"?i:void 0}function _V(e){const t=ns(e);if(!t||typeof t!="object")return"body";const n=t;return JSON.stringify({storyType:typeof n.storyType=="string"?n.storyType:"body",refId:typeof n.refId=="string"?n.refId:null,noteId:typeof n.noteId=="string"?n.noteId:null,textboxId:typeof n.textboxId=="string"?n.textboxId:null})}function xa(e){const t=Du(e);return t.length===0?null:[_V(e),...t.map(n=>`${n.blockId}:${n.start}-${n.end}`)].join("|")}function SA(e){const t=e.selectionTarget;return!t||typeof t!="object"?null:uc({selectionTarget:t})}function AV(e,t){if(e==="fontSize"){const r=typeof t=="number"?t:Number(t);return Number.isFinite(r)&&r>0?String(r):null}if(typeof t!="string")return null;const n=t.trim();return n.length===0?null:e==="color"||e==="highlight"?n.toUpperCase():n}function IV(e,t){return Math.max(e.start,t.start)<Math.min(e.end,t.end)}function xV(e){if(!e)return[];const t=Array.isArray(e.blocks)?e.blocks:[],n=[];for(const r of t){const o=r?.range,i=r?.blockId;typeof i!="string"||typeof o?.start!="number"||typeof o?.end!="number"||n.push({blockId:i,start:Math.min(o.start,o.end),end:Math.max(o.start,o.end)})}return n}function EV(e,t){return e.length!==t.length?!1:e.every((n,r)=>{const o=t[r];return o?.blockId===n.blockId&&o?.start===n.start&&o?.end===n.end})}function _A(e,t){const n=Du(t);if(n.length===0)return null;const r=e&&Array.isArray(e.items)?e.items:[];if(r.length===0)return null;const o=r.find(i=>EV(n,xV(i)));if(o)return o;if(n.length===1){const i=r.find(s=>{const a=s?.address;return a?.kind==="block"&&a.nodeId===n[0].blockId});if(i)return i}return r[0]??null}function TV(e,t){const n=t==="fontSize"?e?.fontSizePt??e?.fontSize:t==="highlight"?e?.highlight??e?.backgroundColor:e?.[t];if(typeof n=="number")return Number.isFinite(n)?String(n):void 0;if(typeof n!="string")return;const r=n.trim();if(r.length!==0)return t==="color"||t==="highlight"?r.toUpperCase():r}function u2(e){if(typeof e!="string")return;const t=e.split(",")[0]?.trim().replace(/^['"]+|['"]+$/g,"").trim();if(!t)return;const n=t.toLowerCase();if(!(n==="serif"||n==="sans-serif"||n==="monospace"||n==="cursive"||n==="fantasy"))return t}function RV(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return;const t=Math.round(e*.75*2)/2;if(!(t<=0))return String(t)}function MV(e,t){return e==="fontFamily"?t.toLowerCase():e==="color"||e==="highlight"?t.toUpperCase():t}function AA(e,t){if(!e)return{};const n=new Map;for(const i of Du(t)){const s=n.get(i.blockId)??[];s.push({start:i.start,end:i.end}),n.set(i.blockId,s)}if(n.size===0)return{};const r=Array.isArray(e.blocks)?e.blocks:[],o={};for(const i of kA){const s=new Map;let a=!1,l=!1;for(const c of r){const d=typeof c?.blockId=="string"?c.blockId:null;if(!d)continue;const f=n.get(d);if(!f?.length)continue;const h=Array.isArray(c?.runs)?c.runs:[];for(const g of h){const m=g?.range,v=typeof m?.start=="number"?m.start:null,k=typeof m?.end=="number"?m.end:null;if(v==null||k==null||!f.some(b=>IV(b,{start:v,end:k})))continue;a=!0;const C=TV(g?.styles,i);if(C===void 0){l=!0;continue}const A=MV(i,C);if(s.has(A)||s.set(A,C),s.size>1)break}if(s.size>1)break}a&&!l&&s.size===1&&(o[i]=[...s.values()][0])}return o}function d2(e,t){const n=Nr(e)[0];return n?t==="nodeId"?{kind:"after",nodeId:n}:{kind:"after",target:So(n)}:{kind:"documentEnd"}}function on(e,t){const n=e.supported??t!=="unsupported",r=e.enabled??(e.disabled!==void 0?!e.disabled:n);return{enabled:r,disabled:!r,active:e.active??!1,supported:n,value:e.value,source:t,reason:r?void 0:e.reason}}function Nf(e){if(!e||typeof e!="object")return null;const t=e,n=t.change,r=n&&typeof n=="object"?n:t;return{...t,id:t.id??r.id,change:r}}function vm(e){const t=e,n=t.change;return n&&typeof n=="object"?n:t}function zs(e){if(Tr(e))return!0;if(e===!1)return!1;if(e===!0||e==null||typeof e!="object")return!0;const t=e;return"success"in t||"failure"in t||"effects"in t?e:t.status!=="rejected"}function ym(e){return!!e&&typeof e=="object"&&e.success===!0}function _o(e){return!(e===!1||e&&typeof e=="object"&&e.success===!1)}function Bf(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function f2(e){const t=[],n=r=>{if(!r||typeof r!="object")return;const o=r;if(Array.isArray(o.runs)&&t.push(o),Array.isArray(o.rows))for(const i of o.rows){const s=i?.cells;if(Array.isArray(s))for(const a of s){const l=a;if(Array.isArray(l?.blocks))for(const c of l.blocks)n(c);l?.paragraph&&n(l.paragraph)}}};if(Array.isArray(e))for(const r of e)n(r);return t}function pc(e,t){return e.sourceAnchor?.sourceNodeId===t?!0:e.id===t}function bm(e){return e.trackedChange?.kind==="delete"?0:typeof e.text=="string"?e.text.length:0}function ki(e){let t=!1,n=null,r=null,o=null;for(const i of e)t=i,!_o(i)&&n===null&&(n=i),ym(i)&&(o=i),i!==!1&&(r=i);return n??o??r??t}function LV(e){const t=e?.anchor,n=t?.start,r=t?.end;return typeof n?.blockId!="string"||typeof r?.blockId!="string"||n.blockId!==r.blockId||typeof n.offset!="number"||typeof r.offset!="number"?null:{kind:"selection",start:{kind:"text",blockId:n.blockId,offset:n.offset},end:{kind:"text",blockId:r.blockId,offset:r.offset}}}function PV(e){return e.startsWith("#")?{kind:"anchor",anchor:e.slice(1)}:{kind:"external",url:e}}function wm(e){return Tu(e)?.trackDecision??null}function DV(e){return{found:e.length>0,success:e.length>0,rects:e,rect:e[0]}}function bl(e){return{found:!1,success:!1,rects:[],reason:e}}function OV(e,t){if(!t||typeof t.getBoundingClientRect!="function"||e.rects.length===0)return e;let n;try{const o=t.getBoundingClientRect();n={left:o.left,top:o.top}}catch{return e}const r=e.rects.map(o=>({...o,left:o.left-n.left,right:o.right-n.left,top:o.top-n.top,bottom:o.bottom-n.top}));return{...e,rects:r,rect:r[0]}}function FV(e){if(!e||typeof e!="object")return!1;const t=e;if(typeof t.blockId!="string"||!t.range||typeof t.range!="object")return!1;const n=t.range;return Number.isInteger(n.start)&&Number.isInteger(n.end)&&n.start>=0&&n.start<=n.end}function IA(e){if(!e||e.kind!=="text"||!Array.isArray(e.segments)||e.segments.length===0)return null;const t=Array.from(e.segments);if(!t.every(FV))return null;const n=t[0],r=t[t.length-1],o=e.story;return{kind:"selection",start:{kind:"text",blockId:n.blockId,offset:n.range.start,...o?{story:o}:{}},end:{kind:"text",blockId:r.blockId,offset:r.range.end,...o?{story:o}:{}},...o?{story:o}:{}}}function NV(e){return e.selectionTarget?e.selectionTarget:IA(e.target)}function Ou(e){if(e.empty)return null;if(e.selectionTarget)return e.selectionTarget;const t=IA(e.target);return t&&t.start.kind==="text"&&t.end.kind==="text"&&t.start.blockId!==t.end.blockId?null:t}function h2(e){return!e.inline||typeof e.docRoute!="string"?null:e.docRoute.startsWith("format.")?e.docRoute.slice(7):null}var p2={bold:null,italic:null,underline:null,strike:null,color:null,highlight:null,fontFamily:null,fontSize:null,vertAlign:null,smallCaps:null,caps:null,letterSpacing:null,dstrike:null},BV=Object.fromEntries(Object.entries(p2).filter(([e])=>Qz[e]?.tracked===!0));function zV(e,t,n,r){switch(e.kind){case"toggle":{const o=typeof n=="object"&&n!==null&&"value"in n?n.value:n;return typeof o=="boolean"||o===null?{target:t,value:o}:{target:t,value:!r}}case"value-string":{const o=typeof n=="object"&&n!==null&&"value"in n?n.value:n;return o===null?{target:t,value:null}:typeof o!="string"||o.trim()===""?null:{target:t,value:o}}case"value-number":{const o=typeof n=="object"&&n!==null&&"value"in n?n.value:n,i=typeof o=="number"?o:Number(o);return!Number.isFinite(i)||i<=0?null:{target:t,value:i}}case"clear":return{target:t,inline:{...p2}};default:return null}}function VV(e){const t=o=>{if(!o||typeof o!="object")return null;const i=o,s=i.rowIndex,a=i.columnIndex;return typeof s!="number"||!Number.isInteger(s)||typeof a!="number"||!Number.isInteger(a)?null:{rowIndex:s,columnIndex:a}};if(!e)return null;const n=t(e.start),r=t(e.end);return!n||!r?null:{start:n,end:r}}function jV(e,t){const{tableNodeId:n,rowIndex:r,columnIndex:o,cellNodeId:i,mergeRange:s}=t;switch(e){case"insert-row-before":return{nodeId:n,rowIndex:r,position:"above"};case"insert-row-after":return{nodeId:n,rowIndex:r,position:"below"};case"delete-row":return{nodeId:n,rowIndex:r};case"insert-column-before":return{nodeId:n,columnIndex:o,position:"left"};case"insert-column-after":return{nodeId:n,columnIndex:o,position:"right"};case"delete-column":return{nodeId:n,columnIndex:o};case"delete-table":return{nodeId:n};case"merge-cells":{const a=s??{start:{rowIndex:r,columnIndex:o},end:{rowIndex:r,columnIndex:o}};return{nodeId:n,start:a.start,end:a.end}}case"split-cell":return i?{nodeId:i,rows:1,columns:2}:null;case"remove-borders":return{nodeId:n,mode:"applyTo",applyTo:"all",border:null};default:return null}}function UV(e){const t=e.superdoc,n=new Map,r=new Map;let o=null,i=0;const s=[];let a=null,l=0,c=!1,d=Promise.resolve(),f=null,h={mode:"idle",snapshot:null,sourceSelectionKey:null,lastClickAt:0,pointerSelecting:!1,keyboardSelecting:!1},g=0;const m=new Set;let v={},k="",C=null;const A=()=>{const u=t?.activeEditor;return u&&typeof u=="object"?u:null},b=()=>{const u=A()?.doc;return u&&typeof u=="object"?u:null},w=()=>{const u=A()?.v2TrackedChanges;return u&&typeof u=="object"?u:null},T=()=>{const u=A();if(u?.editorVersion!==2)return null;const p=u.reviewWindow;return p&&typeof p=="object"?p:null},M=()=>{const u=T();return!u||typeof u.getSnapshot!="function"?null:Tt(()=>u.getSnapshot(),null)},N=()=>typeof T()?.getSnapshot=="function",H=u=>{const p=u?.status;return p==="ready"||p==="stale"?p:"pending"},L=()=>{const u=A()?.host;return u&&typeof u=="object"?u:null},V=u=>{if(u.storyType!=="headerFooterPart"||typeof u.refId!="string")return null;const p=A(),y=L(),_=p?.pageLayout??y?.pageLayout;if(!_||typeof _!="object")return null;const x=_.getActiveRulerContext,z=y?.resolveHeaderFooterEditTarget;if(typeof x!="function"||typeof z!="function")return null;const G=Tt(()=>x.call(_),null);if(!G||typeof G.pageIndex!="number")return null;for(const re of["header","footer"]){const ce=Tt(()=>z.call(y,{pageIndex:G.pageIndex,kind:re}),null);if(!(ce?.status!=="ready"||ce.refId!==u.refId||typeof ce.sectionId!="string"||!["default","first","even"].includes(String(ce.slotVariant))))return{kind:"story",storyType:"headerFooterSlot",section:{kind:"section",sectionId:ce.sectionId},headerFooterKind:re,variant:ce.slotVariant}}return null},q=()=>{const u=L(),p=u?.getPendingInlineFormat;if(typeof p!="function")return null;const y=Tt(()=>p.call(u),null);return y&&typeof y=="object"?y:null},D=u=>{const p=h2(u);if(!p)return null;const y=q();if(!y||!(p in y))return null;const _=y[p];return u.inline?.kind==="toggle"?_===!0:_!=null&&_!==""},B=u=>{const p=h2(u);if(!p)return;const y=q();if(!y||!(p in y))return;const _=y[p];if(typeof _=="string"&&_!=="")return _;if(typeof _=="number"&&Number.isFinite(_))return String(_)},E=(u,p)=>{const y=L(),_=y?.setPendingInlineFormat;typeof _=="function"&&Tt(()=>_.call(y,u,p),void 0)},j=u=>{const p=L(),y=p?.clearPendingInlineFormat;typeof y=="function"&&Tt(()=>y.call(p,u),void 0)},J=new Set(["bold","italic","underline","strikethrough"]),Y=u=>{const p=q();if(!p)return;const y=Array.isArray(u.activeMarks)?u.activeMarks:[];let _=null;for(const x of Object.keys(p)){const z=p[x];let G;if(J.has(x))G=y.includes(x)===(z===!0);else if(c2(x)){if(z==null)continue;_||(_=Tl(u)),G=_[x]===z}else G=!1;G&&j(x)}},se=()=>{const u=A()?.editCommands;return u&&typeof u=="object"?u:null},pe=u=>{const p=se();if(!p||typeof p.getSnapshot!="function")return null;const y=Tt(()=>p.getSnapshot(),null)?.commands?.[u];return y&&typeof y=="object"?y:null},je=()=>pe("lists.apply"),ge=u=>{const p=u?.value?.seed;return p==="bullet"||p==="ordered"?p:null},be=u=>{const p=SV[u];return p?pe(p):null},ve=()=>{const u=L();if(!u||typeof u.getTableContext!="function")return null;const p=Tt(()=>u.getTableContext(),null);return p&&typeof p=="object"?p:null},_e=()=>{const u=ve();if(!u||u.inTable!==!0)return null;const p=u.table,y=typeof p?.nodeId=="string"&&p.nodeId.length>0?p.nodeId:null;if(!y)return null;const _=u.row,x=u.column,z=u.cell,G=typeof _?.index=="number"&&Number.isInteger(_.index)?_.index:null,re=typeof x?.index=="number"&&Number.isInteger(x.index)?x.index:null;if(G==null||re==null)return null;const ce=typeof z?.nodeId=="string"&&z.nodeId.length>0?z.nodeId:null,Te=u.cellRange;return{tableNodeId:y,rowIndex:G,columnIndex:re,cellNodeId:ce,mergeRange:VV(Te)}},oe=new Map;let Re=null,$e=null,nt=0,Ct=0,Ee=0;const We=new Set,Xe=(u,p)=>u===p?!0:!u||!p?!1:u.id===p.id&&u.paintedEntityId===p.paintedEntityId&&br(u.story)===br(p.story),ee=u=>Array.from(We).some(p=>Xe(p,u)),S=u=>{const p=L();if(typeof p?.getHandles!="function")return;const y=Tt(()=>p.getHandles(),null),_=y?.review;if(_){if(u){if(typeof _.setActiveReviewTarget!="function")return;const x=y?.layout;Tt(()=>_.setActiveReviewTarget({entityType:"trackedChange",entityId:u.id,...u.paintedEntityId?{paintedEntityId:u.paintedEntityId}:{},origin:"panel",layoutEpoch:typeof x?.generation=="number"?x.generation:0,story:u.story??{kind:"story",storyType:"body"}}),null);return}typeof _.getActiveReviewTarget!="function"||typeof _.clearActiveReviewTarget!="function"||Tt(()=>_.getActiveReviewTarget(),null)?.entityType==="trackedChange"&&Tt(()=>_.clearActiveReviewTarget(),void 0)}},ne=(u,p)=>{$e=u,nt+=1,Ee+=1,p?.invalidateQueuedNavigation!==!1&&(Ct+=1)},O=new Set;let P,U=!1,$=null;const Q=new Map,Z=new Set;let K=null,me=null,Me=!1,he=null,Be=0,qe=null,rt=null,lt=null;const Xt=[],He=()=>{if(Me||U)return;Me=!0;const u=()=>{Me=!1,U||jt("async-read-settled")};typeof queueMicrotask=="function"?queueMicrotask(u):Promise.resolve().then(u)},Ot=250,Dt=5e3,sn=u=>{U||he&&Be<=u||(he&&clearTimeout(he),Be=u,he=setTimeout(()=>{he=null,Be=0,U||jt()},Math.max(0,u-Date.now())))},Kn=new WeakMap;let nn=0;const et=u=>{if(!u)return"none";let p=Kn.get(u);return p==null&&(p=nn+=1,Kn.set(u,p)),`e${p}`};let Rt=0;const zt=e.superdoc,Ht=Jz(zt),Jt=()=>{Ht.abortController.abort("review-mutation-started"),Ht.inFlight=null},hn=()=>{Ht.generation+=1,Ht.abortController=new AbortController,Ht.inFlight=null},Gn=u=>{const p=Ht.activeMutationTokens;if(typeof u!="string"||u.length===0||p.has(u))return;const y=p.size===0;p.add(u),y&&Jt()},gr=u=>{const p=Ht.activeMutationTokens;typeof u!="string"||!p.delete(u)||p.size===0&&hn()},ro=u=>{const p=w(),y=p?.listTrackedChanges;if(typeof y!="function")return A()?.editorVersion===2?Promise.reject(new Error("v2-tracked-changes-bridge-pending")):u();if(Ht.activeMutationTokens.size>0)return Promise.reject(new Error("ui-review-catalog-superseded"));const _=Ht.generation,x=Ht.inFlight;if(x?.generation===_)return x.promise;const z=Ht.abortController.signal,G=Te=>{if(z.aborted||_!==Ht.generation||Te?.reason==="review-hydration-superseded")throw new Error("ui-review-catalog-superseded");return Te},re=y.call(p,{blocking:!1,signal:z});if(!Tr(re))return G(re);const ce=Promise.resolve(re).then(G);return Ht.inFlight={generation:_,promise:ce},ce.then(()=>{Ht.inFlight?.promise===ce&&(Ht.inFlight=null)},()=>{Ht.inFlight?.promise===ce&&(Ht.inFlight=null)}),ce};let Yn=null,kn=new Set,Bn=null,Ao=0,Vo=null;const Ce=()=>`${et(A())}|m${Rt}`,Pe=()=>{Yn=null,kn=new Set},Ze=u=>{for(const p of["trackChanges","trackChanges:all"]){const y=Q.get(p);if(!y?.hasSettled||!Array.isArray(y.value))continue;const _=y.value.filter(x=>{const z=no(x);return!z||!u.has(z)});_.length!==y.value.length&&Q.set(p,{...y,value:_})}},gt=u=>{const p=()=>{if(!U)for(const z of[...O])z(P)},y=Bf(u)?u:null,_=A()?.documentMutationReadiness,x=()=>{const z=globalThis.requestAnimationFrame;return typeof z!="function"?Promise.resolve():new Promise(G=>{let re=!1;const ce=()=>{re||(re=!0,clearTimeout(Te),G())},Te=setTimeout(ce,250);z(()=>z(()=>setTimeout(ce,0)))})};if(y?.success===!0&&typeof y.txId=="string"&&y.txId.length>0&&typeof _?.whenPainted=="function")try{Promise.resolve(_.whenPainted.call(_,y)).then(x,()=>{}).then(p,p);return}catch{}p()},Mt=(u,p)=>{const y=P.trackChanges,_=y.items.filter(G=>{const re=no(G);return!re||!u.has(re)});if(_.length===y.items.length)return;$e&&u.has($e.id)&&ne(null);const x=new Set;for(const G of _){const re=vm(G),ce=G,Te=re.author??re.authorEmail??ce.author??ce.authorEmail;typeof Te=="string"&&x.add(Te)}const z=y.items.length-_.length;P={...P,trackChanges:{...y,items:_,total:Math.max(_.length,y.total-z),activeId:y.activeId&&u.has(y.activeId)?null:y.activeId,authors:[...x]}},gt(p)},At=u=>{const p=P.trackChanges,y=p.items.length>0||p.total!==0||p.activeId!==null||p.authors.length>0;Bn=Ce(),$e!==null&&ne(null),P={...P,trackChanges:{...p,items:[],total:0,activeId:null,authors:[]}},y&&gt(u)},Sn=(u,p)=>{if(u.size===0)return;const y=Ce(),_=Yn===y?kn:new Set,x=new Set([...u].filter(z=>!_.has(z)));x.size!==0&&(Yn=y,kn=new Set([..._,...x]),Ze(kn),Mt(x,p))},Kt=u=>Yn===u&&kn.size>0?kn:null,dr=u=>{const p=Ce(),y=Kt(p),_=u.map(Nf).filter(x=>{if(x==null)return!1;const z=no(x);return z!=null&&!y?.has(z)});for(const x of["trackChanges","trackChanges:all"])Q.set(x,{token:p,value:[..._],hasSettled:!0,inflightToken:null})},Wr=()=>`${Ce()}|m${kr()}|s${Ao}`,ho=u=>JSON.stringify({t:u.target??null,s:u.selectionTarget??null}),Si=["contentControls:inRange:","query:","effInline:"],en=120,gn=180,Jn=()=>{const u=L(),p=u?.getDocumentLoadingSnapshot;if(typeof p!="function")return"unknown";const y=Tt(()=>p.call(u),null)?.sourceStage;return y==="opening"||y==="bootstrap-ready"||y==="source-loading"?"loading":y==="source-complete"||y==="source-failed"||y==="source-cancelled"?"complete":"unknown"},wr=new Map,$t=new Map,Rn=new Map;let Kr=null,Io=0,ii=0;const si=u=>{const p=Ce();wr.get(u)!==p&&(wr.set(u,p),He())},wl=()=>{const u=Q.get("comments");return u?.hasSettled?Array.isArray(u.value)&&u.value.length>0:u?.inflightToken!=null},os=(u,p)=>wr.get(u)===p,is=()=>{const u=Ce();let p=!1;for(const[y,_]of $t){if(_!==u){$t.delete(y);continue}if(Rn.get(y)===u)continue;const x=Q.get(y);!x?.hasSettled||x.token!==u||x.inflightToken!=null||(Q.set(y,{...x,token:null,inflightToken:null}),Rn.set(y,u),p=!0)}p&&He()},vr=u=>{u==="comments"?Io+=1:ii+=1,si(u);let p=!1;return()=>{p||(p=!0,u==="comments"?Io=Math.max(0,Io-1):ii=Math.max(0,ii-1),(u==="comments"?Io:ii)===0&&wr.get(u)===Ce()&&wr.delete(u),He())}},we=u=>{si("contentControls")},Ve=()=>{const u=Q.get("trackChanges");u?.hasSettled||u?.inflightToken!=null||si("trackChanges")},wt=()=>{const u=Q.get("comments");u?.hasSettled||u?.inflightToken!=null||si("comments")},at=6500,jn=250;let Mn=0,xo=0,qr=!1,po=null;const mo=()=>{if(U||po)return;const u=()=>{if(po=null,U)return;const p=Date.now()-Mn;if(Wo()||p<at){po=setTimeout(u,jn);return}qr=!1,jt()};po=setTimeout(u,0)};let Go=null,Cr=null;const er=()=>{const u=L();if(!u||Go===u)return;Cr&&(Cr(),Cr=null),Go=u;const p=u.subscribeDocumentLoading;if(typeof p!="function"){Go=null,Yr(at);return}try{const y=z=>{const G=z?.sourceStage;(G==="source-complete"||G==="source-failed"||G==="source-cancelled")&&(Kr=Ce(),is(),Mn=Math.max(Mn,Date.now()),mo())},_=p.call(u,y);typeof _=="function"&&(Cr=_);const x=u.getDocumentLoadingSnapshot;typeof x=="function"&&y(Tt(()=>x.call(u),null))}catch{Go=null,Yr(at)}},ai=()=>{const u=A()?.host,p=u?.getForegroundMutationState;if(typeof p!="function")return null;const y=Tt(()=>p.call(u),null);return{active:typeof y?.active=="number"?y.active:0,pending:typeof y?.pending=="number"?y.pending:0}},Wo=()=>{const u=ai();return!!(u&&(u.active>0||u.pending>0))},Yr=(u=en)=>{U||qe||(qe=setTimeout(()=>{if(qe=null,U)return;if(rt&&Wo()){Yr(),jt();return}const p=rt;rt=null,p===Wr()&&Vi("selection",p,_l,ji),jt()},u))},ss=(u,p)=>{if(!ai())return!1;const y=`${u}\0${p}`;return Z.has(y)?!1:(Z.add(y),Yr(gn),!0)},Bi=u=>{if(K==null||u===K)return me?.timer&&clearTimeout(me.timer),me=null,K=u,!1;if(me?.key===u)return me.ready?(me=null,K=u,!1):!0;me?.timer&&clearTimeout(me.timer);const p={key:u,ready:!1,timer:null};return p.timer=setTimeout(()=>{U||me!==p||(p.timer=null,p.ready=!0,jt())},gn),me=p,!0},Vs=u=>Gz(u),_i=()=>{Hs(),jt()};let zi=null,js=!1,as=0;const Ea=()=>{zi=null,js=!1,as+=1},Cl=()=>{const u=A(),p=u?.documentMutationReadiness;if(!u||typeof p?.whenPainted!="function"||(zi={editor:u,readiness:p,afterEpoch:typeof p.getRenderEpoch=="function"?Tt(()=>p.getRenderEpoch.call(p),null):null},js))return;js=!0;const y=as;(async()=>{for(;!U&&y===as;){const x=zi;if(zi=null,!x){js=!1;return}let z=!1;try{await x.readiness.whenPainted.call(x.readiness,typeof x.afterEpoch=="number"?{afterEpoch:x.afterEpoch}:void 0),z=!0}catch{}if(U||y!==as)return;if(A()!==x.editor){Ea();return}z&&_i()}})()},Fu=()=>{lt&&clearTimeout(lt),lt=setTimeout(()=>{lt=null,U||_i()},500)},Vi=(u,p,y,_)=>{let x;try{x=y()}catch{x=void 0}if(!Tr(x)){const re={token:p,value:_(x),hasSettled:!0,inflightToken:null,failedToken:null,failureCount:0,retryAtMs:0};return Q.set(u,re),re}const z=Q.get(u),G=z?.failedToken===p;return Q.set(u,{token:z?.token??null,value:z?.value??null,hasSettled:z?.hasSettled??!1,inflightToken:p,failedToken:G?p:null,failureCount:G?z.failureCount??0:0,retryAtMs:0}),Promise.resolve(x).then(re=>{const ce=Q.get(u);if(!ce||ce.inflightToken!==p)return;Q.set(u,{token:p,value:_(re),hasSettled:!0,inflightToken:null,failedToken:null,failureCount:0,retryAtMs:0});const{sink:Te,workerContext:ze}=pm();if(Te){const Ue=Aa();Xt.push({key:u,settledAtMs:Ue,commandId:ze?.commandId??null,commandKind:ze?.commandKind??null}),r2({stage:"superdoc-ui-async-read-settled",atMs:Ue,key:u,settledAtMs:Ue,commandId:ze?.commandId??null,commandKind:ze?.commandKind??null})}He()},()=>{const re=Q.get(u);if(!re||re.inflightToken!==p)return;const ce=re.failedToken===p?(re.failureCount??0)+1:1,Te=Math.min(Dt,Ot*2**Math.min(ce-1,8)),ze=Date.now()+Te;Q.set(u,{...re,inflightToken:null,failedToken:p,failureCount:ce,retryAtMs:ze}),sn(ze)}),null},Eo=(u,p,y,_)=>{const x=Q.get(u);if(x&&x.token===p&&x.hasSettled)return{value:x.value,status:"ready"};if(cV(u)&&!os(u,p)){if(Jn()==="loading")return qr=!0,er(),x?.hasSettled?{value:x.value,status:"stale"}:{value:null,status:"pending"};if(qr)return mo(),x?.hasSettled?{value:x.value,status:"stale"}:{value:null,status:"pending"};if(Date.now()-xo<at)return qr=!0,mo(),x?.hasSettled?{value:x.value,status:"stale"}:{value:null,status:"pending"}}if(Wo())return Yr(),x?.hasSettled?{value:x.value,status:"stale"}:{value:null,status:"pending"};if(x?.failedToken===p&&x.inflightToken==null&&(x.retryAtMs??0)>Date.now())return sn(x.retryAtMs),x.hasSettled?{value:x.value,status:"stale"}:{value:null,status:"pending"};if(!x&&u.startsWith("effInline:")&&Bi(u))return{value:null,status:"pending"};if(!x&&ss(u,p))return{value:null,status:"pending"};if(!x||x.inflightToken!==p){const G=Vi(u,p,y,_);if(G)return{value:G.value,status:"ready"}}const z=Q.get(u);return z?.hasSettled?{value:z.value,status:"stale"}:{value:null,status:"pending"}},kl=u=>{for(const p of Q.keys())u(p)&&Q.delete(p)},zf=u=>{const p=ho(u),y=SA(u);return new Set([`contentControls:inRange:${p}`,`query:${p}`,...y?[`effInline:${y}`]:[]])},Us=u=>{const p=zf(u);kl(y=>Si.some(_=>y.startsWith(_))&&!p.has(y));for(const y of Z){const _=y.split("\0",1)[0];Si.some(x=>_.startsWith(x))&&!p.has(_)&&Z.delete(y)}},Ta=()=>{const u=A();u!==Vo&&(Ea(),Vo=u,Q.clear(),he&&clearTimeout(he),he=null,Be=0,me?.timer&&clearTimeout(me.timer),me=null,K=null,C=null,o=null,rt=null,Z.clear(),wr.clear(),$t.clear(),Rn.clear(),Kr=null,qr=!1,Cr&&Cr(),Cr=null,Go=null,Pe(),Bn=null)},Hs=()=>{Rt+=1,$t.clear(),Rn.clear(),Kr=null,Pe()},Sl=()=>{const u=Bn===Ce();Hs(),u&&(dr([]),Bn=Ce()),jt()},Vf=u=>{if(typeof u!="string"||u.length===0)return qn("insertText requires a non-empty string.","INVALID_INPUT");if(kr()==="viewing")return qn("The document is read-only.","DOCUMENT_READONLY");const p=b(),y=p?.insert;if(!p||typeof y!="function")return qn("insert is unavailable.");const _=p.selection?.current;if(typeof _!="function")return qn("selection.current is unavailable.");const x=G=>{const re=G&&typeof G=="object"?G:null,ce=re?.selectionTarget??re?.target??null;return!ce||typeof ce!="object"?qn("insertText requires a live selection target.","PRECONDITION_FAILED"):Tt(()=>Ol(y.call(p,{type:"text",value:u,target:ce}),qn("insert failed.")),qn("insert failed."))};let z;try{z=_.call(p.selection)}catch{return qn("insertText could not resolve the live selection.","PRECONDITION_FAILED")}return Tr(z)?Promise.resolve(z).then(x,()=>qn("insertText could not resolve the live selection.","PRECONDITION_FAILED")):x(z)},ls=(u,p)=>({payload:u,state:P,editor:A(),superdoc:t,context:p,ui:$,execute:(y,_)=>Lc(y,_),executeAsync:(y,_)=>Rm(y,_),doc:b(),selection:P.selection,documentMode:kr(),insertText:Vf}),Ra=u=>u==="editing"||u==="suggesting"||u==="viewing"?u:null,kr=()=>{const u=A(),p=t&&typeof t=="object"?t:null,y=Ra(p?.config?.documentMode),_=Tt(typeof p?.getActiveRuntime=="function"?()=>{const G=p.getActiveRuntime();return typeof G?.getSnapshot=="function"?G.getSnapshot():null}:void 0,null),x=Ra(_?.documentMode),z=Ra(u?.options?.documentMode);return y&&x&&y!==x?y:x??y??z},li=()=>{const u=t&&typeof t=="object"?t:null,p=u?.interactionConfig?.comments;if(p&&typeof p.readOnly=="boolean")return p.readOnly===!0;const y=u?.config?.modules?.comments;return!!y&&typeof y=="object"&&y.readOnly===!0},mc=()=>{const u=t&&typeof t=="object"?t:null,p=u?.interactionConfig?.comments;if(p&&typeof p.allowResolve=="boolean")return p.allowResolve===!1;const y=u?.config?.modules?.comments;return!!y&&typeof y=="object"&&y.allowResolve===!1},$s=()=>kr()==="viewing"||li(),ji=u=>u&&typeof u=="object"?u:null,cs=(u,p)=>{if(!u)return{...sV,status:p};const y=u.target??null,_=typeof u.text=="string"?u.text:"";return{status:p,empty:u.empty===!0,target:y,selectionTarget:u.selectionTarget??null,activeMarks:Array.isArray(u.activeMarks)?u.activeMarks:[],activeCommentIds:Array.isArray(u.activeCommentIds)?u.activeCommentIds:[],activeChangeIds:Array.isArray(u.activeChangeIds)?u.activeChangeIds:[],quotedText:_}},Gs=()=>{const u=b()?.selection;return Eo("selection",Wr(),()=>u?.current?u.current({includeText:!0}):void 0,ji)},Nu=()=>{const{value:u,status:p}=Gs();return cs(u,p)},_l=()=>{const u=b()?.selection;return u?.current?u.current({includeText:!0}):void 0},Al=u=>{if(u.empty!==!0)return!1;const p=u.selectionTarget,y=p?.start,_=p?.end;return y?.kind==="text"&&_?.kind==="text"&&typeof y.blockId=="string"&&y.blockId===_.blockId&&typeof y.offset=="number"&&y.offset===_.offset},Ma=u=>{const p=L(),y=p?.readLiveSelectionSyncSnapshot;if(typeof y!="function")return;const _=ji(Tt(()=>y.call(p),null));if(!_||!Al(_))return;const x=Wr(),z=ai(),G=!!(z&&(z.active>0||z.pending>0));if(G)rt=x,Yr();else if(rt=null,Vi("selection",x,_l,ji))return;const re=Q.get("selection"),ce=Array.isArray(_.activeMarks)&&_.activeMarks.length>0?_.activeMarks:Array.isArray(P.selection.activeMarks)?P.selection.activeMarks:[],Te=Array.isArray(_.activeCommentIds)?_.activeCommentIds:[],ze=hV(u),Ue=yl(P.selection),Ye=Of(_.selectionTarget)??Of(_.target),Je=Ue?.range,Ge=Ye?.range,tt=!!(z&&z.active>0&&Ue&&Ye&&Ue.blockId===Ye.blockId&&br(Ue.story)===br(Ye.story)&&typeof Je?.start=="number"&&typeof Ge?.start=="number"&&Math.abs(Ge.start-Je.start)<=2),ft=ze!=null||tt?P.selection.activeChangeIds.filter(ot=>ze==null||Ns(P.trackChanges.items).aliasesFor(ot).includes(ze)):[],dt=Array.isArray(_.activeChangeIds)&&_.activeChangeIds.length>0?_.activeChangeIds:ft;Q.set("selection",{token:x,value:{..._,activeMarks:ce,activeCommentIds:Te,activeChangeIds:dt},hasSettled:!0,inflightToken:G?null:re?.inflightToken??null})},gc=async(u=0)=>{const p=b()?.selection,y=p?.current,_=Wr();if(typeof y!="function")return Q.set("selection",{token:_,value:null,hasSettled:!0,inflightToken:null}),jt(),P.selection;let x;try{x=y.call(p,{includeText:!0}),Tr(x)&&(x=await Promise.resolve(x))}catch{x=null}return U?cs(null,"pending"):Wr()!==_?u<1?gc(u+1):P.selection:(Q.set("selection",{token:_,value:ji(x),hasSettled:!0,inflightToken:null}),jt(),P.selection)},Il=()=>{const u=b()?.comments;return Eo("comments",Ce(),()=>u?.list?u.list():void 0,p=>p&&Array.isArray(p.items)?p.items:[])},La=(u="trackChanges")=>{const p=Ce(),y=b()?.trackChanges,_=w(),x=typeof _?.listTrackedChanges=="function"?_.listTrackedChanges:null,z=Eo(u,p,()=>x?ro(()=>y?.list?.({in:"all"})):y?.list?y.list({in:"all"}):void 0,G=>{const re=G&&typeof G=="object"?G:null;if(re?.complete===!1||re?.sourceCoverageComplete===!1){if($t.set(u,p),er(),Kr===p||Jn()==="complete"){const ce=()=>{U||is()};typeof queueMicrotask=="function"?queueMicrotask(ce):Promise.resolve().then(ce)}}else $t.get(u)===p&&$t.delete(u);return re&&Array.isArray(re.items)?re.items:[]});return $t.get(u)===p&&z.status==="ready"?{...z,status:"stale"}:z},Bu=u=>{const p=M(),y=N(),_=y?null:Il(),x=y&&Array.isArray(p?.commentItems)?p.commentItems:null,z=y?x:_.value,G=y?H(p):_.status,re=z??[],ce=u.activeCommentIds,Te=Q.get("comments"),ze=Te?.token===Ce()&&Te.hasSettled&&Array.isArray(Te.value)?Te.value:null,Ue=Io>0?ze:re;Re&&Ue&&!Ue.some(Je=>no(Je)===Re)&&(Re=null);const Ye=Re??ce[0]??null;return{status:vl(G,u.status),listStatus:G,items:re,total:re.length,activeIds:ce,activeId:Ye}},Pa=new WeakMap,us=u=>{const p=Pa.get(u);if(p)return p;const y=u.map(Nf).filter(_=>_!=null);return Pa.set(u,y),y},xl=new WeakMap,Sr=(u,p)=>{const y=xl.get(u);if(y?.suppressedIds===p)return y.value;const _=p?u.filter(x=>{const z=no(x);return!z||!p.has(z)}):u;return xl.set(u,{suppressedIds:p,value:_}),_},vc=new WeakMap,Da=u=>{const p=vc.get(u);if(p)return p;const y=new Set;for(const x of u){const z=vm(x),G=x,re=z.author??z.authorEmail??G.author??G.authorEmail;typeof re=="string"&&y.add(re)}const _=[...y];return vc.set(u,_),_},Ai=()=>{const u=Ce();if(N()){const _=Q.get("trackChanges"),x=_?.token===u&&_.hasSettled&&Array.isArray(_.value)?_.value:M()?.trackedChangeItems;return Array.isArray(x)?us(x):null}const{value:p,status:y}=La("trackChanges:all");return y==="ready"?us(p??[]):null},zu=u=>{const p=Ce(),y=Kt(p),_=M(),x=N(),z=x?null:La(),G=x&&Array.isArray(_?.trackedChangeItems)?_.trackedChangeItems:null,re=x?G:z.value,ce=x?H(_):z.status,Te=Sr(us(re??[]),y),ze=Ai(),Ue=$e;if(Ue&&!We.has(Ue)){const Nt=Q.get("trackChanges"),Un=Nt?.token===p&&Nt.hasSettled&&Array.isArray(Nt.value)?Sr(us(Nt.value),y):null,Hn=ii>0?Un:Ue.story?ze:Te;Hn&&!Hn.some(Zr=>Ni(Zr,Ue.id,Ue.story))&&ne(null)}const Ye=ze??Te,Je=fc(Ye,ts(u)),Ge=Bn===p?[]:y?u.activeChangeIds.filter(Nt=>!y.has(Nt)):u.activeChangeIds,tt=Ge.map(Nt=>Je.toPublicId(Nt)??Nt),ft=$e?.story?fc(Ye,$e.story):Ns(Ye),dt=$e?ft.toPublicId($e.id)??$e.id:null,ot=vV({selectionIds:Ge,publicIds:tt,selection:u,bodyItems:Te,allStoryItems:ze}),Ft=dt??ot;return{status:vl(ce,u.status),items:Te,total:Te.length,activeId:Ft,authors:Da(Te)}},Ui=(u,p)=>{if(!N())return p;si("comments");const y=Il(),_=y.value??p.items;return{status:vl(y.status,u.status),listStatus:y.status,items:_,total:_.length,activeIds:u.activeCommentIds,activeId:Re??u.activeCommentIds[0]??null}},yc=(u,p)=>{if(!N())return p;si("trackChanges");const y=La(),_=Kt(Ce()),x=Sr(us(y.value??p.items),_),z=$e?.story?fc(x,$e.story):Ns(x),G=$e?z.toPublicId($e.id)??$e.id:p.activeId;return{status:vl(y.status,u.status),items:x,total:x.length,activeId:G,authors:Da(x)}},Vu=u=>{const p=b()?.contentControls,{value:y,status:_}=Eo("contentControls",Ce(),()=>p?.list?p.list():void 0,re=>re&&Array.isArray(re.items)?re.items:[]),x=y??[],{ids:z,status:G}=ju(p,u);return{status:vl(_,G,u.status),items:x,total:x.length,activeId:z[0]??null,activeIds:z}},Oa=(u,p)=>{if(!u||typeof u.listInRange!="function")return{lockModesById:new Map,status:"ready"};const y=bV(p);if(!y)return{lockModesById:new Map,status:"ready"};const{value:_,status:x}=Eo(`contentControls:inRange:${ho(p)}`,Ce(),()=>u.listInRange(y),re=>re&&Array.isArray(re.items)?re.items:[]),z=_??[],G=new Map;for(const re of z)typeof re?.id=="string"&&G.set(re.id,typeof re.lockMode=="string"?re.lockMode:"unlocked");return{lockModesById:G,status:x}},ju=(u,p)=>{const{lockModesById:y,status:_}=Oa(u,p);return{ids:[...y.keys()],status:_}},Uu=()=>{const u=t?.fonts;return{options:KV(GV(Tt(u?.getDocumentFontOptions?()=>u.getDocumentFontOptions():void 0,[])),WV(Tt(u?.getFontFamilyOptions?()=>u.getFontFamilyOptions():void 0,[]))),sizeOptions:qV}},bc=()=>{const u=Tt(t?.getZoomState?()=>t.getZoomState():void 0,null),p=typeof u?.value=="number"?u.value:100,y=u?.mode;return{mode:y==="manual"||y==="fit-width"?y:y==="fixed"?"manual":null,value:p,min:typeof u?.min=="number"?u.min:10,max:typeof u?.max=="number"?u.max:100}},jf=()=>Tt(t?.getMeasurementUnit?()=>t.getMeasurementUnit():void 0,"in")==="cm"?"cm":"in",Hu=()=>{const u=A();return{ready:u!=null,mode:kr(),dirty:u?!!u.isDirty:!1}},wc=u=>{const p=u.quotedText;if(typeof p!="string"||p.length===0)return null;const y=Du(u);if(y.length===0||!hc(y.map(z=>z.blockId)))return null;const _=u.target,x=y.length===1?So(y[0].blockId,_?.story):void 0;return{select:{type:"text",pattern:p,mode:"contains",caseSensitive:!0},...x?{within:x}:{},require:"any"}},$u=u=>{const p=b()?.query;if(typeof p?.match!="function")return null;const y=wc(u);if(!y)return null;const{value:_}=Eo(`query:${ho(u)}`,Ce(),()=>p.match(y),x=>x&&typeof x=="object"?x:null);return _A(_,u)},Gu=u=>{const p=L(),y=new Set(Nr(u));if(y.size===0)return{};const _=p?.readMountedProjectionBlocksByIds,x=p?.readMountedProjectionBlocks;if(typeof _!="function"&&typeof x!="function")return{};const z=Tt(()=>{if(typeof _!="function")return x.call(p);const tt=ns(u);return tt?_.call(p,[...y],tt):_.call(p,[...y])},null);if(!Array.isArray(z))return{};const G=f2(z),re=tt=>{const ft={},dt=u2(tt.fontFamily);dt&&(ft.fontFamily=dt);const ot=RV(tt.fontSize);return ot&&(ft.fontSize=ot),typeof tt.color=="string"&&tt.color.trim()!==""&&(ft.color=tt.color.trim().toUpperCase()),typeof tt.highlight=="string"&&tt.highlight.trim()!==""&&(ft.highlight=tt.highlight.trim().toUpperCase()),ft},ce=yl(u),Te=ce&&typeof ce.range?.start=="number"?ce.range.start:null;if(ce&&Te!==null&&y.has(ce.blockId)){const tt=G.find(dt=>pc(dt,ce.blockId)),ft=tt&&Array.isArray(tt.runs)?tt.runs:null;if(ft&&ft.length>0&&ft.every(dt=>dt?.kind==="text"||dt?.kind==="tab")){let dt=0,ot=null;for(const Ft of ft){const Nt=bm(Ft);if(Te>=dt&&Te<dt+Nt){ot=Ft;break}dt+=Nt}if(!ot){for(let Ft=ft.length-1;Ft>=0&&!ot;Ft-=1)ft[Ft]?.kind==="text"&&(ot=ft[Ft]);ot??=ft[ft.length-1]??null}return ot?re(ot):{}}}const ze=Du(u);if(ze.length>0){const tt=new Set,ft=new Set;let dt=!1,ot=!0;for(const Ft of ze){const Nt=G.find(Zr=>pc(Zr,Ft.blockId));if(!Nt)return{};const Un=Array.isArray(Nt.runs)?Nt.runs:[];if(Un.length===0)continue;if(!Un.every(Zr=>Zr?.kind==="text"||Zr?.kind==="tab")){ot=!1;break}let Hn=0;for(const Zr of Un){const Qr=bm(Zr),Ar=Hn,Lr=Hn+Qr;if(Ar<Ft.end&&Lr>Ft.start){dt=!0;const Zo=re(Zr);Zo.fontFamily&&tt.add(Zo.fontFamily),Zo.fontSize&&ft.add(Zo.fontSize)}Hn=Lr}}if(ot&&dt){const Ft={};return tt.size===1&&(Ft.fontFamily=[...tt][0]),ft.size===1&&(Ft.fontSize=[...ft][0]),Ft}}const Ue=new Set,Ye=new Set;let Je=!1;for(const tt of G){if(![...y].some(dt=>pc(tt,dt)))continue;const ft=Array.isArray(tt.runs)?tt.runs:[];for(const dt of ft){if(dt?.kind!=="text")continue;Je=!0;const ot=re(dt);ot.fontFamily&&Ue.add(ot.fontFamily),ot.fontSize&&Ye.add(ot.fontSize)}}if(!Je)return{};const Ge={};return Ue.size===1&&(Ge.fontFamily=[...Ue][0]),Ye.size===1&&(Ge.fontSize=[...Ye][0]),Ge},Uf=u=>{const p=L(),y=new Set(Nr(u));if(y.size===0)return{};const _=p?.readMountedProjectionBlocksByIds,x=p?.readMountedProjectionBlocks;if(typeof _!="function"&&typeof x!="function")return{};const z=Tt(()=>{if(typeof _!="function")return x.call(p);const Ge=ns(u);return Ge?_.call(p,[...y],Ge):_.call(p,[...y])},null);if(!Array.isArray(z))return{};const G=f2(z),re=Ge=>({bold:Ge.bold===!0,italic:Ge.italic===!0,underline:Ge.underline!=null,strikethrough:Ge.strike===!0}),ce=Ge=>{const tt={};for(const ft of Ff){const dt=Ge[ft];dt.size===1&&(tt[ft]=[...dt][0])}return tt},Te=yl(u),ze=Te&&typeof Te.range?.start=="number"?Te.range.start:null;if(Te&&ze!==null&&y.has(Te.blockId)){const Ge=G.find(ft=>pc(ft,Te.blockId)),tt=Ge&&Array.isArray(Ge.runs)?Ge.runs:null;if(tt&&tt.length>0&&tt.every(ft=>ft?.kind==="text"||ft?.kind==="tab")){let ft=0,dt=null;for(const ot of tt){const Ft=bm(ot);if(ze>=ft&&ze<ft+Ft){dt=ot;break}ft+=Ft}if(!dt){for(let ot=tt.length-1;ot>=0&&!dt;ot-=1)tt[ot]?.kind==="text"&&(dt=tt[ot]);dt??=tt[tt.length-1]??null}return dt?re(dt):{}}}const Ue=Du(u);if(Ue.length>0){const Ge={bold:new Set,italic:new Set,underline:new Set,strikethrough:new Set};let tt=!1,ft=!0;for(const dt of Ue){const ot=G.find(Un=>pc(Un,dt.blockId));if(!ot)return{};const Ft=Array.isArray(ot.runs)?ot.runs:[];if(Ft.length===0)continue;if(!Ft.every(Un=>Un?.kind==="text"||Un?.kind==="tab")){ft=!1;break}let Nt=0;for(const Un of Ft){const Hn=bm(Un),Zr=Nt,Qr=Nt+Hn;if(Zr<dt.end&&Qr>dt.start){tt=!0;const Ar=re(Un);for(const Lr of Ff)Ge[Lr].add(Ar[Lr])}Nt=Qr}}if(ft&&tt)return ce(Ge)}const Ye={bold:new Set,italic:new Set,underline:new Set,strikethrough:new Set};let Je=!1;for(const Ge of G){if(![...y].some(ft=>pc(Ge,ft)))continue;const tt=Array.isArray(Ge.runs)?Ge.runs:[];for(const ft of tt){if(ft?.kind!=="text")continue;Je=!0;const dt=re(ft);for(const ot of Ff)Ye[ot].add(dt[ot])}}return Je?ce(Ye):{}},Cc=(u,p)=>{if(p.fontFamily!==void 0&&p.fontSize!==void 0&&p.color!==void 0&&p.highlight!==void 0)return{values:p,effectiveUniformityStatus:"ready"};const y=Gu(u),_={...y.fontFamily!==void 0?{fontFamily:y.fontFamily}:{},...y.fontSize!==void 0?{fontSize:y.fontSize}:{},...y.color!==void 0?{color:y.color}:{},...y.highlight!==void 0?{highlight:y.highlight}:{},...p};if(!u.empty&&(_.fontFamily===void 0||_.fontSize===void 0)){const x=kc(u);return x.values&&(_.fontFamily===void 0&&x.values.fontFamily!==void 0&&(_.fontFamily=x.values.fontFamily),_.fontSize===void 0&&x.values.fontSize!==void 0&&(_.fontSize=x.values.fontSize)),{values:_,effectiveUniformityStatus:x.status}}return{values:_,effectiveUniformityStatus:"ready"}},Hf=["fontFamily","fontSize","bold","italic","underline","strikethrough"],Ko=u=>{const p=u.selectionTarget;if(!p)return{value:null,status:"ready"};const y=mr(b(),"format.readEffectiveInlineUniformity");if(!y)return{value:null,status:"ready"};const _=SA(u)??ho(u);return Eo(`effInline:${_}`,Ce(),()=>y({target:p,offsetSpace:"selection",keys:Hf}),x=>x&&typeof x=="object"?x:null)},kc=u=>{const{value:p,status:y}=Ko(u);if(!p||p.success!==!0)return{values:null,status:y};const _=p.values,x=z=>{const G=_?.[z];if(!(!G||G.state!=="uniform"||typeof G.value!="string"))return z==="fontFamily"?u2(G.value):G.value};return{values:{fontFamily:x("fontFamily"),fontSize:x("fontSize")},status:y}},El=u=>{const{value:p,status:y}=Ko(u);if(!p||p.success!==!0)return{values:null,status:y};const _=p.values,x={};for(const z of Ff){const G=_?.[z];G?.state==="uniform"&&(G.value==="true"||G.value==="false")&&(x[z]=G.value==="true")}return{values:x,status:y}},$f=(u,p)=>{const y=u.activeMark;if(!y||!Ff.includes(y))return null;const _=y,x=Uf(p)[_];if(x!==void 0)return x;const{values:z}=El(p),G=z?.[_];return G!==void 0?G:null},Gf=async u=>{const p=u.selectionTarget;if(!p)return null;const y=mr(b(),"format.readEffectiveInlineUniformity");if(!y)return null;try{const _=await Promise.resolve(y({target:p,offsetSpace:"selection"}));return _&&typeof _=="object"&&_.success===!0?_:null}catch{return null}},Fa=(u,p,y)=>{const _=y.values;for(const x of["fontFamily","fontSize"]){if(p[x]!==void 0)continue;const z=_?.[x];z?.state==="uniform"&&typeof z.value=="string"?u[x]=x==="fontFamily"?u2(z.value):z.value:delete u[x]}},Wu=u=>Cc(u,AA($u(u),u)),Tl=u=>Wu(u).values,Wf=async u=>{const p=b()?.query,y=wc(u);if(typeof p?.match!="function"||!y)return Tl(u);try{const _=await Promise.resolve(p.match(y)),x=AA(_A(_&&typeof _=="object"?_:null,u),u),z=Cc(u,x);if(z.effectiveUniformityStatus!=="ready"&&(x.fontFamily===void 0||x.fontSize===void 0)){const G=await Gf(u);G&&Fa(z.values,x,G)}return z.values}catch{return Tl(u)}},Na=async u=>{const p=b();if(p)return typeof p.getNode=="function"?await Promise.resolve(p.getNode(u)):await Promise.resolve(p.getNodeById?.({nodeId:u.nodeId,nodeType:u.nodeType}))},Sc=u=>{const p=b()?.query;if(typeof p?.match!="function")return"ready";const y=wc(u);if(!y)return"ready";const{status:_}=Eo(`query:${ho(u)}`,Ce(),()=>p.match(y),x=>x&&typeof x=="object"?x:null);return _},Ku=u=>{const p=Wu(u),y=p.values;if(u.empty)return p;const _=xa(u);return _?u.status==="ready"&&Sc(u)==="ready"&&p.effectiveUniformityStatus==="ready"?(C={key:_,values:y},p):C&&C.key===_?{...p,values:{...C.values,...y}}:p:p},Ws=u=>{const p=b(),y=Ku(u),_=y.values;u.status==="ready"&&!u.empty&&Sc(u)==="ready"&&y.effectiveUniformityStatus==="ready"&&(v=_,k=`${uc(u)}:${Ce()}`);const x=p?.contentControls,{lockModesById:z}=Oa(x,u),G={};for(const re of Qt())G[re]=Ks(re,p,u,_,z);return G},qo=u=>u?ct.operationUnavailable:A()?ct.documentApiUnavailable:ct.notReady,qu=u=>u==="contentLocked"||u==="sdtContentLocked",ds=u=>{for(const p of u.values())if(qu(p))return ct.contentControlLocked},Kf=(u,p,y,_,x)=>{if(!p)return u.scope==="all"?ct.bulkDecisionsDisabled:qo(x);if(y)return ct.documentReadonly;if(u.scope!=="all"&&_.activeChangeIds.length===0)return ct.selectionRequired},qf=u=>{const p=L(),y=Tt(typeof p?.getCapabilities=="function"?()=>p.getCapabilities():void 0,null)?.editableSubset?.commands;if(Array.isArray(y))return y.find(_=>_?.command===u||_?.id===u)??null;if(y&&typeof y=="object"){const _=y[u];return _&&typeof _=="object"?_:null}return null},Yu=(u,p)=>{if(u.scope!=="all"||typeof p?.[`${u.kind}All`]=="function")return;const y=qf(`trackedChanges.${u.kind}All`);if(!(y&&(y.status==="supported"||y.enabled===!0)))return ct.bulkDecisionsDisabled},Ks=(u,p,y,_,x=new Map)=>{if(oe.has(u))return on({supported:!0,enabled:!0,...Tt(oe.get(u).getState?()=>oe.get(u).getState(ls(void 0)):void 0,{})},"custom");const z=kr()==="viewing",G=hA(u);if(G&&typeof se()?.lists?.apply=="function"){const Je=je(),Ge=typeof Je?.shippedStatus=="string"?Je.shippedStatus:null,tt=Ge!=="not-shipped"&&Ge!=="disabled";return on({enabled:tt&&(typeof Je?.enabled=="boolean"?Je.enabled:!0),active:(tt?ge(Je):null)===G,supported:tt,value:Je?.value},"builtin")}const re=wm(u);if(re){const Je=p?.trackChanges,Ge=typeof Je?.decide=="function"||typeof Je?.[re.kind]=="function",tt=typeof Je?.decide=="function"||typeof Je?.[`${re.kind}All`]=="function",ft=re.scope==="all"?tt:Ge,dt=Yu(re,Je)??Kf(re,ft,$s(),y,p);return on({enabled:dt==null,active:!1,supported:ft,reason:dt},"builtin")}if(u==="copy-format")return kr()==="viewing"?on({supported:!0,enabled:!1,active:!1},"builtin"):A()?on({supported:!0,enabled:!0,active:h.mode!=="idle"},"builtin"):on({supported:!0,enabled:!1,active:!1,reason:ct.notReady},"builtin");const ce=Tu(u);if(!ce)return on({enabled:!1,active:!1,supported:!1,reason:ct.commandUnsupported},"unsupported");if(ce.disposition!=="routed")return on({enabled:!1,active:!1,supported:!1,reason:ce.reason??ct.commandUnsupported},ce.disposition==="unsupported"?"unsupported":"builtin");if(ce.instanceRoute)return yt(ce);if(ce.table)return Zt(ce,p,z);if(ce.inline?.kind==="clear"){if(ce.mutates&&z)return on({enabled:!1,active:!1,supported:!0,reason:ct.documentReadonly},"builtin");const Je=ds(x);if(Je)return on({enabled:!1,active:!1,supported:!0,reason:Je},"builtin");const Ge=Nr(y).length>0||Ou(y)!=null;return on({enabled:Ge,active:!1,supported:!0,reason:Ge?void 0:ct.selectionRequired},"builtin")}const Te=ce.docRoute;if(!Te)return on({enabled:!1,active:!1,supported:!1,reason:ct.commandUnsupported},"unsupported");if(mr(p,Te)==null)return on({enabled:!1,active:!1,supported:!1,reason:qo(p)},"builtin");const ze=be(u);if(ze){const Je=ze.shippedStatus,Ge=Je!=="not-shipped"&&Je!=="disabled",tt=typeof ze.enabled=="boolean"?ze.enabled:!0,ft=u==="undo"||u==="redo",dt=ft&&ze.historyResolved===!1,ot=ft&&Ge&&tt===!1&&ze.reason===null&&!dt,Ft=ze.reason===void 0?void 0:ot?ct.historyEmpty:dt?ct.notReady:i2(ze.reason,ct.commandUnsupported);return ce.mutates&&z?on({enabled:!1,active:!1,supported:Ge,reason:ct.documentReadonly},"builtin"):on({enabled:Ge&&tt,active:!1,supported:Ge,reason:Ft},"builtin")}const Ue=Hi(ce,p,y),Ye=go(ce,p,y,_);if(ce.list?.mode==="indent"||ce.list?.mode==="outdent")return Ke(ce,p,z,y,Ue,Ye);if(ce.list?.mode==="toggle-seed")return ut(ce,p,z,y,Ue,Ye);if(ce.mutates&&z)return on({enabled:!1,active:Ue,supported:!0,value:Ye,reason:ct.documentReadonly},"builtin");if(ce.inline&&!Ou(y)){const Je=ds(x);return on(Je?{enabled:!1,active:Ue,supported:!0,value:Ye,reason:Je}:Nr(y).length>0&&typeof L()?.setPendingInlineFormat=="function"?{enabled:!0,active:Ue,supported:!0,value:Ye}:{enabled:!1,active:Ue,supported:!0,value:Ye,reason:ct.rangeSelectionRequired},"builtin")}if((ce.blockParagraph||ce.list)&&Nr(y).length===0)return on({enabled:!1,active:Ue,supported:!0,value:Ye,reason:ct.selectionRequired},"builtin");if(ce.link&&!Ue&&l2(y).length===0&&!yl(y))return on({enabled:!1,active:Ue,supported:!0,reason:ct.rangeSelectionRequired},"builtin");if(ce.inline){const Je=ds(x);if(Je)return on({enabled:!1,active:Ue,supported:!0,value:Ye,reason:Je},"builtin")}return on({enabled:!0,active:Ue,supported:!0,value:Ye},"builtin")};function _c(u,p){const y=u.address?.anchor,_=y?.start,x=y?.end,z=typeof _?.blockId=="string"?_.blockId:null,G=typeof x?.blockId=="string"?x.blockId:null;if(!z||!G)return!1;const re=typeof _?.offset=="number"?_.offset:null,ce=typeof x?.offset=="number"?x.offset:null;if(re==null||ce==null)return!1;const Te=p.target,ze=Te&&Array.isArray(Te.segments)?Te.segments:[];for(const Ue of ze){const Ye=typeof Ue?.blockId=="string"?Ue.blockId:null;if(!Ye)continue;const Je=Ue.range,Ge=typeof Je?.start=="number"?Je.start:null,tt=typeof Je?.end=="number"?Je.end:null;if(!(Ge==null||tt==null)){if(z!==G){if(Ye===z&&tt>re||Ye===G&&Ge<ce)return!0;continue}if(Ye===z){if(Ge===tt){if(Ge>=re&&Ge<=ce)return!0;continue}if(Math.max(Ge,re)<Math.min(tt,ce))return!0}}}return!1}const Ac=(u,p)=>{const y=u?.hyperlinks;if(!y||typeof y.list!="function")return null;const _=Nr(p);if(!hc(_))return null;for(const x of _){const z={kind:"block",nodeType:"paragraph",nodeId:x},{value:G}=Eo(`hyperlinks:${x}`,Ce(),()=>y.list({within:z}),ce=>ce&&typeof ce=="object"?ce:null),re=(G&&Array.isArray(G.items)?G.items:[]).find(ce=>_c(ce,p));if(re)return re}return null},Hi=(u,p,y)=>{if(u.link)return Ac(p,y)!=null;if(u.list?.mode==="toggle-seed"&&u.list.seed)return Rl(p,y)===u.list.seed;const _=D(u);if(_!==null)return _;const x=r.get(u.id),z=xa(y);if(z&&x?.selectionSignature===z)return x.active;const G=$f(u,y);return G!==null?G:YV(u,y)},go=(u,p,y,_)=>{if(u.inline&&c2(u.inline.key)){const x=B(u);if(x!==void 0)return x;const z=_[u.inline.key];if(z!==void 0)return z;const G=xa(y),re=G?n.get(u.inline.key):void 0;if(G&&re?.selectionSignature===G)return re.value}if(u.id==="linked-style"){const{style:x}=ci(y,Rr().cache);return!x.styleId||x.mixed?void 0:{styleId:x.styleId,styleName:x.styleName}}if(u.id==="text-align")return fe(p,y);if(u.id==="link")return st(p,y)??void 0},fs=(u,p,y)=>{const _=u?.lists;if(!_)return{value:null,status:"ready"};const x=y.storyType==="body",z=typeof _.getStateInStory=="function"?()=>_.getStateInStory({target:Ia(p),story:y}):x&&typeof _.getState=="function"?()=>_.getState({target:Ia(p)}):null;if(!z)return{value:null,status:"ready"};const{value:G,status:re}=Eo(`lists:${br(y)}:${p}`,Ce(),z,ce=>ce&&typeof ce=="object"?ce:null);return{value:G?.success===!0?G:null,status:re}},Ic=(u,p,y)=>fs(u,p,y).value,Ba=(u,p,y)=>{const _=Ic(u,p,y);return!_||_.isListItem!==!0?null:_.seed==="bullet"||_.seed==="ordered"?_.seed:null},xc=(u,p,y)=>{const _=fs(u,p,y),x=_.value;return{value:x&&typeof x.isListItem=="boolean"?x.isListItem:null,status:_.status}},Rl=(u,p)=>{const y=Nr(p);if(y.length===0||!hc(y))return null;const _=ts(p),x=Ba(u,y[0],_);if(x!=="bullet"&&x!=="ordered")return null;for(const z of y.slice(1))if(Ba(u,z,_)!==x)return null;return x},Ec=(u,p,y)=>{if(!u)return{value:null,status:"ready",refreshing:!1};const _=br(y),x=_==="story:body";if(x&&typeof u.getNodeById!="function")return{value:null,status:"ready",refreshing:!1};if(!x&&typeof u.getNode!="function")return{value:null,status:"ready",refreshing:!1};const z=`node:${_}:${p}`,G=Ce(),re=Eo(z,G,()=>x?u.getNodeById({nodeId:p,nodeType:"paragraph"}):u.getNode(So(p,y)),Te=>Te&&typeof Te=="object"?Te:null),ce=Q.get(z);return{...re,refreshing:re.status==="stale"&&ce?.inflightToken===G&&ce.failedToken!==G}},I=u=>u==="left"||u==="center"||u==="right"||u==="justify"?u:void 0,R=u=>u==="start"||u==="end"||u==="distributed"||u==="numTab"||u==="lowKashida"||u==="mediumKashida"||u==="highKashida"||u==="thaiDistribute",X=(u,p)=>{const y=L(),_=y?.readMountedProjectionBlocksByIds;if(typeof _!="function")return null;const x=ns(u),z=Tt(()=>x?_.call(y,[...p],x):_.call(y,[...p]),null);if(!Array.isArray(z))return new Map;const G=f2(z),re=new Map;for(const ce of p){const Te=G.find(Je=>pc(Je,ce));if(!Te)continue;const ze=Te.attrs,Ue=I(ze?.alignment),Ye=d9(ze);re.set(ce,Ue??(Ye==="rtl"?"right":"left"))}return re},ie=(u,p,y,_)=>{const{value:x,status:z,refreshing:G}=Ec(u,p,y),re=_?.get(p);if(z==="pending")return re?{status:"uniform",value:re}:{status:"pending"};if(z==="stale"&&!G)return{status:"pending"};if(z==="stale"&&re)return{status:"uniform",value:re};if(z==="stale"&&_&&!re)return{status:"unavailable"};if(!x)return{status:"unavailable"};const ce=x.node;if(!ce)return{status:"unavailable"};const Te=ce.kind;if(Te!=="paragraph"&&Te!=="heading")return{status:"unavailable"};const ze=ce[Te];if(!ze||typeof ze!="object")return{status:"unavailable"};const Ue=ze.props?.alignment;if(Ue==null)return re?{status:"uniform",value:re}:{status:"unavailable"};const Ye=I(Ue);return Ye?{status:"uniform",value:Ye}:R(Ue)&&re?{status:"uniform",value:re}:{status:"unavailable"}},ae=(u,p)=>{const y=Nr(p);if(y.length===0||!hc(y))return{status:"unavailable"};const _=ts(p),x=X(p,y),z=ie(u,y[0],_,x);if(z.status!=="uniform")return z;for(const G of y.slice(1)){const re=ie(u,G,_,x);if(re.status!=="uniform")return re;if(re.value!==z.value)return{status:"mixed"}}return z},le=u=>{const p=Nr(u);return p.length===0?null:`${br(ts(u))}:${p.join(",")}`},fe=(u,p)=>{const y=ae(u,p),_=y.status==="uniform"?y.value:void 0,x=o;if(!x)return _;const z=le(p);return z&&z!==x.selectionSignature?(o=null,_):!z||!x.settled?x.value:y.status!=="pending"?(o=null,_):x.value},de=(u,p)=>{const y=I(p),_=le(u),x=Nr(u);if(!y||!_||x.length===0)return null;const z=++i;return o={selectionSignature:_,value:y,generation:z,settled:!1,canReconcile:hc(x)},jt(),z},Ae=(u,p)=>{if(u==null)return;const y=o;if(!(!y||y.generation!==u)){if(!_o(p)){o=null;return}if(!y.canReconcile){o=null;return}y.settled=!0}},Le=async(u,p,y)=>{const _=u?.lists;if(!_)return null;try{const x=y.storyType==="body",z=typeof _.getStateInStory=="function"?await _.getStateInStory({target:Ia(p),story:y}):x&&typeof _.getState=="function"?await _.getState({target:Ia(p)}):null,G=z&&typeof z=="object"?z:null;return!G||G.success!==!0||typeof G.isListItem!="boolean"?null:G.isListItem}catch{return null}},Oe=(u,p,y)=>{const _={resolved:!1,seed:null},x=u?.lists;if(!x)return _;const z=y.storyType==="body",G=typeof x.getStateInStory=="function"?()=>x.getStateInStory({target:Ia(p),story:y}):z&&typeof x.getState=="function"?()=>x.getState({target:Ia(p)}):null;if(!G)return _;const re=ce=>{const Te=ce&&typeof ce=="object"?ce:null;return!Te||Te.success!==!0||typeof Te.isListItem!="boolean"?_:{resolved:!0,seed:Te.isListItem===!0&&(Te.seed==="bullet"||Te.seed==="ordered")?Te.seed:null}};try{const ce=G();return Tr(ce)?Promise.resolve(ce).then(re,()=>_):re(ce)}catch{return _}},De=async(u,p,y)=>{if(!u)return null;try{const _=!y||y.storyType==="body",x=y&&typeof u.getNode=="function"?await u.getNode(So(p,y)):_&&typeof u.getNodeById=="function"?await u.getNodeById({nodeId:p,nodeType:"paragraph"}):null;return CV(x&&typeof x=="object"?x:null)}catch{return null}},Ke=(u,p,y,_,x,z)=>{if(u.mutates&&y)return on({enabled:!1,active:x,supported:!0,value:z,reason:ct.documentReadonly},"builtin");const G=Nr(_);if(G.length===0)return on({enabled:!1,active:x,supported:!0,value:z,reason:ct.selectionRequired},"builtin");const re=u.docRoute?mr(p,u.docRoute):null,ce=mr(p,"format.paragraph.setIndentation"),Te=mr(p,"format.paragraph.clearIndentation"),ze=u.list?.mode,Ue=ze==="indent"?ce!=null:ce!=null||Te!=null,Ye=ts(_);let Je=null;if(Ye.storyType!=="body"){Je=[];for(const Ge of G){const{value:tt,status:ft}=xc(p,Ge,Ye);if(tt===null)return ft!=="ready"&&(re!=null||Ue)?on({enabled:!0,active:x,supported:!0,value:z},"builtin"):on({enabled:!1,active:x,supported:!1,value:z,reason:qo(p)},"builtin");Je.push(tt)}}if(Je?.some(Ge=>Ge===!0)){const Ge=ze==="indent"?"lists.indentRange":"lists.outdentRange",tt=kr()!=="suggesting"&&Je.every(dt=>dt===!0)&&mr(p,Ge)!=null,ft=ze==="outdent"&&mr(p,"lists.outdentInStory")!=null;if(!tt&&!ft)return on({enabled:!1,active:x,supported:!1,value:z,reason:qo(p)},"builtin")}for(const[Ge,tt]of G.entries()){const ft=Je?{value:Je[Ge]??null,status:"ready"}:xc(p,tt,Ye),dt=ft.value;if(dt===!0){if(re!=null)return on({enabled:!0,active:x,supported:!0,value:z},"builtin");continue}if(dt===!1&&Ue){if(Ye.storyType!=="body"&&typeof p?.getNode!="function")continue;return on({enabled:!0,active:x,supported:!0,value:z},"builtin")}if(dt===null)return ft.status!=="ready"&&(re!=null||Ue)?on({enabled:!0,active:x,supported:!0,value:z},"builtin"):on({enabled:!1,active:x,supported:!1,value:z,reason:qo(p)},"builtin")}return on({enabled:!1,active:x,supported:!1,value:z,reason:qo(p)},"builtin")},ut=(u,p,y,_,x,z)=>{if(u.mutates&&y)return on({enabled:!1,active:x,supported:!0,value:z,reason:ct.documentReadonly},"builtin");const G=Nr(_);if(G.length===0)return on({enabled:!1,active:x,supported:!0,value:z,reason:ct.selectionRequired},"builtin");const re=ts(_),ce=p?.lists;if(!(typeof ce?.getStateInStory=="function"||re.storyType==="body"&&typeof ce?.getState=="function"))return on({enabled:!1,active:x,supported:!1,value:z,reason:ct.operationUnavailable},"builtin");if(!hc(G))return on(re.storyType==="body"&&mr(p,"lists.remove")!=null?{enabled:!0,active:x,supported:!0,value:z}:{enabled:!1,active:x,supported:!1,value:z,reason:ct.operationUnavailable},"builtin");const Te=G.map(Je=>fs(p,Je,re));if(Te.some(({status:Je})=>Je!=="ready"))return on({enabled:!0,active:x,supported:!0,value:z},"builtin");if(Te.some(({value:Je})=>Je===null))return on({enabled:!1,active:x,supported:!1,value:z,reason:ct.operationUnavailable},"builtin");const ze=u.list?.seed,Ue=Te.every(({value:Je})=>Je?.isListItem===!0&&Je.seed===ze);if(re.storyType==="body")return on(!Ue||mr(p,"lists.remove")!=null?{enabled:!0,active:x,supported:!0,value:z}:{enabled:!1,active:x,supported:!1,value:z,reason:ct.operationUnavailable},"builtin");const Ye=mr(p,"lists.removeInStory");return on(Ue&&Ye?{enabled:!0,active:x,supported:!0,value:z}:{enabled:!1,active:x,supported:!1,value:z,reason:ct.operationUnavailable},"builtin")},st=(u,p)=>{const y=Ac(u,p)?.properties?.href;return typeof y=="string"?y:null},yt=u=>{if(!A())return on({enabled:!1,active:!1,supported:!1,reason:ct.notReady},"builtin");const p=u.instanceRoute;return typeof t?.[p]!="function"?on({enabled:!1,active:!1,supported:!1,reason:ct.operationUnavailable},"builtin"):on({enabled:!0,active:pt(u),supported:!0,value:_n(u)},"builtin")},pt=u=>{const p=t?.config??void 0;return u.valueFrom==="ruler"?!!p?.rulers:u.valueFrom==="formattingMarks"?!!p?.layoutEngineOptions?.showFormattingMarks:!1},Zt=(u,p,y)=>{if(y)return on({enabled:!1,active:!1,supported:!0,reason:ct.documentReadonly},"builtin");const _=_e();return _!=null&&(!u.table.requiresCell||_.cellNodeId!=null)?(u.docRoute?mr(p,u.docRoute):null)==null?on({enabled:!1,active:!1,supported:!1,reason:qo(p)},"builtin"):on({enabled:!0,active:!1,supported:!0},"builtin"):on({enabled:!1,active:!1,supported:!0,reason:ct.tableContextUnavailable},"builtin")},_n=u=>{if(u.valueFrom==="zoom")return bc().value;if(u.valueFrom==="documentMode")return kr();if(u.valueFrom==="measurementUnit")return jf();if(u.valueFrom==="ruler"||u.valueFrom==="formattingMarks")return pt(u)},Br=(u,p)=>u.id==="zoom"?typeof p=="number"&&Number.isFinite(p)&&p>0:u.id==="document-mode"?p==="editing"||p==="suggesting"||p==="viewing":u.id==="measurement-unit"?p==="in"||p==="cm":!0,Qt=()=>[...new Set([...iN,...oe.keys()])],Tn="Normal",wn={ready:!1,status:"ready",catalogRevision:null,quickGallery:[],activeParagraphStyleId:null,activeParagraphStyleName:null,mixedSelection:!1,sourceStatus:null,diagnostics:[]},fr=u=>{const p=b()?.styles;return!p||typeof p.getCatalog!="function"?{value:null,status:"ready"}:Eo(`styles:catalog:${JSON.stringify(u??{})}`,Ce(),()=>p.getCatalog(u),y=>y&&typeof y=="object"?y:null)},Rr=()=>{const u=fr({includePreview:!0});if(!u.value)return{cache:null,status:u.status};const p=fr({view:"quickGallery",includePreview:!0}),y=p.value?p.value.items:u.value.styles.filter(x=>x.visibility.quickGallery),_=new Map;for(const x of u.value.styles)_.set(x.id,x);return{cache:{full:u.value,quickGallery:y,byId:_},status:vl(u.status,p.status)}},vo=(u,p,y)=>{const{value:_,status:x}=Ec(u,p,y);if(!_)return{ok:!1,styleRef:null,status:x};const z=_.node;if(!z||typeof z!="object")return{ok:!1,styleRef:null,status:x};const G=z.kind,re=typeof G=="string"?z[G]:void 0,ce=re&&typeof re=="object"?re.styleRef:void 0;return{ok:!0,styleRef:typeof ce=="string"&&ce.length>0?ce:null,status:x}},ci=(u,p)=>{const y=[],_=b();if(!_)return y.push({severity:"warning",code:"active-style-unavailable",message:"Active paragraph style is unavailable: the Document API is not reachable."}),{style:{styleId:null,styleName:null,mixed:!1,diagnostics:y},status:"ready"};const x=Nr(u);if(x.length===0)return y.push({severity:"info",code:"active-style-no-selection",message:"No paragraph block is resolvable from the current selection; active paragraph style is unavailable."}),{style:{styleId:null,styleName:null,mixed:!1,diagnostics:y},status:"ready"};if(!hc(x))return y.push({severity:"info",code:"active-style-selection-too-large",message:"Active paragraph style is unavailable for a large multi-paragraph selection."}),{style:{styleId:null,styleName:null,mixed:!1,diagnostics:y},status:"ready"};const z=p?.full.defaults.paragraphStyleId??(p?Tn:null),G=new Set;let re=0,ce=0,Te=0,ze="ready";const Ue=ts(u);for(const Ge of x){const tt=vo(_,Ge,Ue);if(ze=vl(ze,tt.status),!tt.ok){ce+=1;continue}if(!tt.styleRef&&!z){Te+=1;continue}const ft=tt.styleRef??z;if(!ft){Te+=1;continue}re+=1,G.add(ft)}if(re===0){const Ge=Te>0&&ce===0;return y.push({severity:"warning",code:Ge?"active-style-default-unavailable":"active-style-read-failed",message:Ge?"Selected paragraphs have no explicit style and the style catalogue is unavailable, so the document default cannot be resolved.":"Could not read the paragraph style of any selected block; active paragraph style is unavailable."}),{style:{styleId:null,styleName:null,mixed:!1,diagnostics:y},status:ze}}const Ye=ce+Te;if(Ye>0)return y.push({severity:"warning",code:"active-style-partial",message:`Active paragraph style resolved from ${re} of ${re+Ye} selected blocks; ${Ye} could not be read, so the active style is unavailable.`}),{style:{styleId:null,styleName:null,mixed:!1,diagnostics:y},status:ze};if(G.size>1)return{style:{styleId:null,styleName:null,mixed:!0,diagnostics:y},status:ze};const Je=[...G][0];return{style:{styleId:Je,styleName:p?.byId.get(Je)?.name??null,mixed:!1,diagnostics:y},status:ze}},Ii=u=>{if(!A())return wn;const{cache:p,status:y}=Rr(),{style:_,status:x}=ci(u,p);let z;return p?z=_.diagnostics.length===0?p.full.diagnostics:[...p.full.diagnostics,..._.diagnostics]:z=[{severity:"warning",code:"catalog-unavailable",message:"The style catalogue is unavailable: the Document API styles surface is not reachable (e.g. viewing mode or a worker-backed editor)."},..._.diagnostics],{ready:!0,status:vl(y,x,u.status),catalogRevision:p?.full.revision??null,quickGallery:p?.quickGallery??[],activeParagraphStyleId:_.styleId,activeParagraphStyleName:_.styleName,mixedSelection:_.mixed,sourceStatus:p?.full.sourceStatus??null,diagnostics:z}},it=(u="direct")=>{const{sink:p}=pm(),y=p?Aa():0,_={},x=(Te,ze)=>{if(!p)return ze();const Ue=Aa();try{return ze()}finally{_[Te]=Aa()-Ue}},z=x("documentMode",kr),G=x("selection",Nu);G.status==="ready"&&Us(G),Y(G);const re=xa(G);for(const[Te,ze]of r)(!re||ze.selectionSignature!==re||ze.settled&&G.status==="ready")&&r.delete(Te);const ce={ready:A()!=null,documentMode:z,document:x("document",Hu),selection:G,toolbar:{context:z,commands:x("toolbarCommands",()=>Ws(G)),copyFormatActive:h.mode!=="idle"},comments:x("comments",()=>Bu(G)),trackChanges:x("trackChanges",()=>zu(G)),contentControls:x("contentControls",()=>Vu(G)),zoom:x("zoom",bc),fonts:x("fonts",Uu),styles:x("styles",()=>Ii(G))};if(p){const Te=Aa();r2({stage:"superdoc-ui-compute-state",atMs:Te,reason:u,startedAtMs:y,completedAtMs:Te,durationMs:Te-y,phaseMs:_,asyncReadSettlements:Xt.splice(0)})}return ce},Cn=u=>{const p=xa(u);p&&a&&p!==a&&(n.clear(),r.clear()),p&&(a=p)};let zr=null,ui=null,za=null,Vr=null,$i=null,di=null,fi=!1;const Tc=()=>{if(U||fi)return;fi=!0;const u=()=>{fi&&(fi=!1,!U&&jt())};typeof queueMicrotask=="function"?queueMicrotask(u):Promise.resolve().then(u)},Ml=()=>{const u=se();if(u!==za&&(Vr&&(Vr(),Vr=null),za=u,!(!u||typeof u.subscribe!="function")))try{const p=u.subscribe(()=>Tc());typeof p=="function"&&(Vr=p)}catch{za=null}},Ll=()=>{const u=T();if(u!==$i&&(di&&(di(),di=null),$i=u,!(!u||typeof u.subscribe!="function")))try{const p=u.subscribe(()=>jt());typeof p=="function"&&(di=p)}catch{$i=null}};let To=null,Yo=null,hs=null,F=null,W=null,Se=null;const Ne=()=>{const u=A()?.host,p=Tt(u?.getHandles?()=>u.getHandles():void 0,null)?.editing?.selection;return p&&typeof p.subscribe=="function"?p:null},bt=()=>{const u=Ne();if(u!==zr&&(ui&&(ui(),ui=null),zr=u,!!u))try{const p=u.subscribe(y=>{Ao+=1,Ma(y),jt("host-selection")});typeof p=="function"&&(ui=p)}catch{zr=null}},an=()=>{const u=A()?.host,p=Tt(u?.getHandles?()=>u.getHandles():void 0,null)?.review;return p&&typeof p.subscribe=="function"?p:null},An=u=>u?typeof u.getActiveReviewTarget=="function"?Tt(()=>u.getActiveReviewTarget(),null):typeof u.getSnapshot=="function"?Tt(()=>u.getSnapshot(),null)?.activeReviewTarget??null:null:null;let vn=0;const yn=(u,p)=>{const y=(p&&typeof p=="object"?p:null)?.lastInteractionRejection;if(vn>0&&u==null&&y&&typeof y=="object"&&y.code==="review-target-invalidated"&&y.detail==="not-painted")return!1;const _=u&&typeof u=="object"?u:null;let x=null;if(_?.entityType==="trackedChange"&&typeof _.entityId=="string"&&_.entityId.length>0){const z=_.story&&typeof _.story=="object"?_.story:void 0,G=z&&br(z)!==br(null)?z:void 0,re=typeof _.paintedEntityId=="string"&&_.paintedEntityId.length>0?_.paintedEntityId:null,ce=re??_.entityId,Te=(()=>{if(G){const Ye=Ai(),Je=Ye?fc(Ye,G):null;return Je?.toPublicId(ce)??Je?.toPublicId(_.entityId)??_.entityId}const Ue=Ns(Array.isArray(P?.trackChanges.items)?P.trackChanges.items:[]);return Ue.toPublicId(ce)??Ue.toPublicId(_.entityId)??_.entityId})(),ze=re??(ce!==Te?ce:null);x={id:Te,...G?{story:G}:{},...ze&&ze!==Te?{paintedEntityId:ze}:{}}}return u==null&&x==null&&$e!=null&&ee($e)||Xe($e,x)?!1:(ne(x),!0)},Ln=()=>{const u=an();if(u===To)return;if(Yo&&(Yo(),Yo=null),To=u,!u){yn(null);return}let p=!0;try{const y=u.subscribe(_=>{const x=_&&typeof _=="object"?_:null,z=x&&Object.prototype.hasOwnProperty.call(x,"activeReviewTarget")?x.activeReviewTarget:An(u);!yn(z,_)||p||jt()});typeof y=="function"&&(Yo=y),yn(An(u))}catch{To=null}finally{p=!1}},cn=()=>{if(zr||kr()!=="viewing")return null;const u=A()?.mount?.container,p=(u&&typeof u=="object"&&"ownerDocument"in u?u.ownerDocument??null:null)??globalThis.document??null;return p&&typeof p.addEventListener=="function"?p:null},Mr=()=>{const u=cn();if(u===W||(Se&&(Se(),Se=null),W=u,!u))return;const p=()=>{Ao+=1,jt()};u.addEventListener("selectionchange",p),u.addEventListener("pointerup",p,!0),u.addEventListener("mouseup",p,!0),Se=()=>{u.removeEventListener("selectionchange",p),u.removeEventListener("pointerup",p,!0),u.removeEventListener("mouseup",p,!0)}};Ta(),yn(An(an())),P=it("initial"),a=xa(P.selection);const jr=()=>{const u=A()?.host?.events,p=u&&typeof u.subscribe=="function"?u:null;if(p!==hs&&(F&&(F(),F=null),hs=p,!!p))try{const y=p.subscribe(_=>{const x=_?.type;if(x==="review-mutation:started"){Gn(_.reviewMutation?.token);return}if(x==="review-mutation:aborted"){gr(_.reviewMutation?.token),He();return}if(x==="mutation:rejected"&&_.reviewMutation&&(gr(_.reviewMutation.token),He()),x==="mutation:committed"&&_.reviewMutation&&gr(_.reviewMutation.token),x==="source:complete"||x==="source:signals-complete"){Kr=Ce(),is();return}if((x==="mutation:committed"||x==="collaboration:remote-changed")&&(Mn=Date.now()),x==="mutation:committed"||x==="save:completed"||x==="collaboration:remote-changed"){const z=x==="mutation:committed"?Uk(_):null;if(z?.allResolved){dr([]),At(_.receipt);return}z?.removedIds.size&&Sn(new Set(z.removedIds),_.receipt);const G=x==="mutation:committed"&&Vs(_)||x==="collaboration:remote-changed"&&Array.isArray(_.changedStoryIds)&&_.changedStoryIds.length>0;if(G&&(xo=Date.now()),x==="mutation:committed"&&G){Fu();return}if(z?.removedIds.size&&z.upsertIds.size===0)return;(x==="collaboration:remote-changed"||x==="mutation:committed"&&!G)&&Cl();const re=x==="collaboration:remote-changed"&&Array.isArray(_.changedPartUris)&&_.changedPartUris.some(Te=>typeof Te=="string"&&lV.has(Te)),ce=x==="collaboration:remote-changed"&&Array.isArray(_.changedStoryIds)&&_.changedStoryIds.length>0&&wl();re&&!G&&(qr=!0),Hs(),re&&!G?si("comments"):ce&&(qr=!0,mo()),jt()}});typeof y=="function"&&(F=y)}catch{hs=null}},jt=(u="unspecified")=>{if(U)return;const{sink:p}=pm(),y=p?Aa():0;fi=!1,Ta(),bt(),Ml(),Ll(),Ln(),Mr(),jr();const _=it(u);Cn(_.selection),P=_;let x=0,z=0;for(const G of[...O]){if(!p){G(P);continue}const re=Aa();G(P);const ce=Aa()-re;x+=ce,z=Math.max(z,ce)}if(p){const G=Aa();r2({stage:"superdoc-ui-recompute",atMs:G,reason:u,startedAtMs:y,completedAtMs:G,durationMs:G-y,listenerCount:O.size,listenerTotalMs:x,listenerMaxMs:z})}},Et=[],pn=[],tr=u=>{for(const p of u)try{p()}catch{}},zn=()=>tr(Et),Xr=()=>tr(pn),xi=[];((u,p)=>{if(!(!u||typeof u.on!="function"))for(const y of p){const _=y==="active-editor-change"?()=>{zn(),Xr(),jt()}:y==="document-replaced"?x=>{const z=x&&typeof x=="object"?x:null,G=z?.editor,re=z?.host,ce=!!G&&G===A(),Te=!!re&&re===L();!ce&&!Te||(Xr(),Q.clear(),Hs(),jt())}:()=>jt();try{u.on(y,_),xi.push(()=>{try{typeof u.off=="function"&&u.off(y,_)}catch{}})}catch{}}})(t,nV),bt(),Ml(),Ll(),Ln(),Mr(),jr();const jo=(u,p=zz)=>({get:()=>u(P),subscribe:y=>{let _=u(P);const x=z=>{const G=u(z);p(_,G)||(_=G,y(G))};return O.add(x),()=>O.delete(x)}}),hi=u=>jo(u),Ro=u=>{const p=y=>{const _=z=>{try{y(z)}catch{}},x=u.subscribe(_);return _(u.get()),x};return{get:()=>u.get(),getSnapshot:()=>u.get(),observe:p,subscribe:y=>p(_=>y({snapshot:_}))}},Rc=(u,p,y)=>{const _=Ro(u),x=Ro(p),z=G=>{const re=vr(y);jt();const ce=x.observe(G);return()=>{ce(),re()}};return{get:_.get,getSnapshot:_.getSnapshot,observe:z,subscribe:G=>z(re=>G({snapshot:re}))}};function Pl(u){return u&&typeof u=="object"&&typeof u.id=="string"?String(u.id):null}function Wn(u){const p=ns(u);return p&&br(p)!==br(null)?p:void 0}function Yf(u,p){return{kind:"id",id:u,...p?{story:p}:{}}}function Sm(u){if(u.empty)return null;const p=u.selectionTarget,y=p?.start,_=p?.end;if(p?.kind!=="selection"||y?.kind!=="text"||_?.kind!=="text"||typeof y.blockId!="string"||y.blockId!==_.blockId||!Number.isInteger(y.offset)||!Number.isInteger(_.offset)||y.offset<0||_.offset<0||y.offset===_.offset)return null;const x=Math.min(y.offset,_.offset),z=Math.max(y.offset,_.offset),G=ns(u);return{kind:"range",coordinateSpace:p.coordinateSpace==="tracked"?"tracked":"visible",range:{kind:"text",...G?{story:G}:{},segments:[{blockId:y.blockId,range:{start:x,end:z}}]}}}function _m(u,p){if(br(p)!==br(null))return;const y=b()?.trackChanges,_=y?.list;if(typeof _!="function")return;const x=Tt(()=>_.call(y),null);if(Tr(x)||!x||typeof x!="object")return;const z=x.items;if(Array.isArray(z))return z.map(Nf).find(G=>G!=null&&Ni(G,u,p))}function g2(u,p){const y=Xf(u.quotedText);if(!y)return!1;const _=vm(p);return[_.insertedText,_.deletedText,_.excerpt].some(x=>Xf(x)===y)}function Xf(u){return typeof u=="string"?u.replace(/\s+/g," ").trim():""}function Am(){const u=P.selection.activeChangeIds[0];if(!u)return"unavailable";const p=ns(P.selection),y=(P.trackChanges.status==="ready"?P.trackChanges.items.find(G=>Ni(G,u,p)):void 0)??_m(u,p)??Ai()?.find(G=>Ni(G,u,p));if(!y)return"unavailable";const _=vm(y),x=_.type,z=_.grouping;return g2(P.selection,y)?"id":x==="replacement"&&z==="replacement-pair"||(x==="insertion"||x==="deletion"||x==="insert"||x==="delete")&&z==="standalone"?"range":"id"}function Im(u,p,y,_){const x=()=>S2(u,Yf(y,_),y,_);try{const z=S2(u,p,null);if(Tr(z))return Mo(Promise.resolve(z).then(re=>_o(zs(re))?re:x()));const G=zs(z);return Mo(_o(G)?z:x())}catch{return!1}}function v2(u,p){if(u.scope==="all")return{target:{kind:"all"},changeId:null};if(typeof p=="string"&&p.length>0)return{target:{kind:"id",id:p},changeId:p};if(p&&typeof p=="object"){const x=p;if(x.target&&typeof x.target=="object"){const G=x.target;return{target:G,changeId:Pl(G),story:G.story}}const z=typeof x.changeId=="string"?x.changeId:x.id;if(typeof z=="string"&&z.length>0)return{target:Yf(z,x.story),changeId:z,story:x.story}}const y=P.selection.activeChangeIds[0],_=Wn(P.selection);return y?{target:Yf(y,_),changeId:y,story:_}:null}function xm(u,p){if(u.scope==="id"&&p==null){if(P.selection.activeChangeIds.length>1)return Jf(u.kind,{kind:"ids",ids:P.selection.activeChangeIds},null);if(P.selection.activeChangeIds.length===1&&!P.selection.empty&&P.selection.selectionTarget){const _=Am();if(_==="unavailable")return!1;if(_==="range"){const x=Sm(P.selection),z=Wn(P.selection);return x?Im(u.kind,x,P.selection.activeChangeIds[0],z):!1}if(_==="id"){const x=P.selection.activeChangeIds[0],z=ns(P.selection),G=z&&br(z)!==br(null)?z:void 0;return k2(u.kind,G?{id:x,story:G}:x)}}}const y=v2(u,p);return y?Jf(u.kind,y.target,y.changeId,y.story):!1}function Mc(u,p){const y=se()?.lists,_=y?.apply;if(typeof _!="function")return!1;const{behavior:x,preset:z,continuity:G}=typeof p=="string"?iV(p):p&&typeof p=="object"?p:{},re={kind:u,behavior:x??"toggle"};z!==void 0&&(re.preset=z),G!==void 0&&(re.continuity=G);try{return Mo(_.call(y,re))}catch{return!1}}let Ei=Promise.resolve(!1),Xo=null,It=Promise.resolve(!1);const Bt=async u=>{if(!ym(u))return u;const p=A()?.documentMutationReadiness,y=p?.whenPainted;if(typeof y!="function")return u;const _=typeof u.txId=="string"?u.txId:void 0;try{await y.call(p,_?{txId:_}:void 0)}catch{}return u},Gt=u=>{if(Tr(u)){const y=Promise.resolve(u);return{immediate:!0,committed:y.then(_=>zs(_),()=>!1),settled:y.then(_=>Bt(zs(_)),()=>!1)}}const p=zs(u);return{immediate:p,committed:Promise.resolve(p),settled:Bt(p)}},_r=()=>{const u=s.shift();if(!u){c=!1,f?.(),f=null;return}try{u.resolve(U?!1:u.mutate())}catch{u.resolve(!1)}},Ur=()=>{let u=!1;return()=>{u||(u=!0,_r())}},yo=(u,p)=>{if(!c){c=!0,d=new Promise(z=>{f=z});try{return{result:p(),release:Ur()}}catch(z){throw c=!1,f?.(),f=null,z}}const y=s.find(z=>z.key===u);if(y)return y.mutate=p,{result:y.result,release:()=>{}};let _;const x=new Promise(z=>{_=z});return s.push({key:u,mutate:p,result:x,resolve:_}),{result:x,release:Ur()}},Ti=new Set(["create.tableOfContents"]),qs=u=>qn(`Tracked authoring is not supported for ${u}.`),Dl=u=>{if(kr()==="suggesting")return Ti.has(u)?qs(u):{changeMode:"tracked"}},wj=()=>kr()==="suggesting"?BV:p2,bo=(u,p,y)=>{const _=Dl(u);return _&&_.success===!1?_:_?p(y,_):p(y)},Cj=(u,p,y,_)=>{const x=u.inline;if(!x)return;const z=zs(_);if(z===!1||typeof z=="object"&&z&&z.success===!1)return;if(x.kind==="clear"){n.clear();return}if(x.kind==="toggle"||!c2(x.key))return;const G=xa(p);if(!G)return;const re=AV(x.key,y.value);if(re==null){n.delete(x.key);return}n.set(x.key,{selectionSignature:G,value:re})},kj=(u,p,y,_)=>!u.inline||u.inline.kind==="toggle"?_:Tr(_)?Promise.resolve(_).then(x=>(Cj(u,p,y,x),x)):_,Sj=(u,p,y,_)=>{if(u.inline?.kind!=="toggle"||!_o(zs(_))||typeof y.value!="boolean"&&y.value!==null)return null;const x=xa(p);if(!x)return null;const z=++l;return r.set(u.id,{selectionSignature:x,active:y.value===!0,generation:z,settled:!1}),jt(),z},_j=(u,p,y)=>{if(p==null)return;const _=r.get(u.id);if(!(!_||_.generation!==p)){if(!_o(y)){r.delete(u.id);return}_.settled=!0}},Em=(u,p)=>u.then(y=>(p?.(y),Sl(),y),()=>(p?.(!1),Sl(),!1)),Mo=(u,p)=>{const y=Xo;if(Xo=null,y)return Ei=Em(y,p),zs(u);if(Tr(u))return Ei=Em(Gt(u).settled,p),!0;const _=zs(u);return ym(_)&&typeof A()?.documentMutationReadiness?.whenPainted=="function"?(Ei=Em(Bt(_),p),_):(p?.(_),Ei=Promise.resolve(_),Sl(),_)},Aj=(u,p)=>!u||typeof u!="object"?p:u,Ol=(u,p=qn("Document API operation failed."))=>{if(Tr(u))return Promise.resolve(u).then(_=>Ol(_,p),()=>p);const y=Aj(u,p);return Hs(),ym(y)&&typeof A()?.documentMutationReadiness?.whenPainted=="function"?(Em(Bt(y)),jt(),y):(jt(),y)},Ij=(u,p,y,_)=>{const x=[],z=[];for(const G of y){const re=_(G);if(re)try{const ce=Gt(bo(u,p,re));x.push(ce.immediate),z.push(ce.settled)}catch{x.push(!1),z.push(Promise.resolve(!1))}}return Xo=z.length?Promise.all(z).then(G=>ki(G)):null,ki(x)},xj=(u,p,y,_)=>{const x=[],z=[];for(const G of y){const re=_(G);if(re)try{const ce=Gt(bo(u,p,re));x.push(ce.immediate),z.push(ce.settled)}catch{x.push(!1),z.push(Promise.resolve(!1))}}return Xo=z.length?Promise.all(z).then(G=>ki(G)):null,ki(x)},y2=(u,p,y,_=P.selection)=>{const x=Dl(u);return x&&x.success===!1?x:_.selectionTarget?p(y,{...x,offsetSpace:"selection"}):x?p(y,x):p(y)},Ej=(u,p,y,_)=>{const x=So(p,_);switch(u.kind){case"alignment":{const z=y;return z!=="left"&&z!=="center"&&z!=="right"&&z!=="justify"?null:{target:x,alignment:z}}case"spacing-line":{const z=typeof y=="number"?y:Number(y);return!Number.isFinite(z)||z<=0?null:{target:x,line:z,lineRule:"auto"}}case"style":if(y&&typeof y=="object"){const z=y.role;if(z&&typeof z=="object")return{target:x,role:z}}return typeof y!="string"||y.trim()===""?null:{target:x,styleId:y};case"direction":{const z=u.fixedValue;return z!=="ltr"&&z!=="rtl"?null:{target:x,direction:z}}default:return null}},Tj=(u,p)=>{const y=u.inline,_=h2(u),x=L();if(!y||typeof x?.setPendingInlineFormat!="function")return!1;if(y.kind==="clear")return j(),!0;if(!_)return!1;let z;if(y.kind==="toggle")z=!Hi(u,b(),P.selection);else{const G=p&&typeof p=="object"&&"value"in p?p.value:p;if(y.kind==="value-number"){const re=typeof G=="number"?G:Number(G);z=Number.isFinite(re)&&re>0?re:null}else z=typeof G=="string"&&G.trim()!==""?G:null;if(z===null)return E(_,null),!0}return E(_,z),!0},Rj=()=>{const u=b(),{lockModesById:p}=Oa(u?.contentControls,P.selection);if(ds(p))return!1;const y=[],_=[],x=Je=>{const Ge=Gt(Je);y.push(Ge.immediate),_.push(Ge.settled)},z=(Je,Ge,tt)=>{try{x(tt?Je(Ge,tt):Je(Ge))}catch{y.push(!1),_.push(Promise.resolve(!1))}},G=Rr().cache?.full.defaults.paragraphStyleId??Tn,re=Ou(P.selection);if(re){const Je=mr(u,"format.apply");if(Je)try{x(y2("format.apply",Je,{target:re,inline:{...wj()}}))}catch{y.push(!1),_.push(Promise.resolve(!1))}}const ce=mr(u,"format.paragraph.resetDirectFormatting"),Te=mr(u,"styles.paragraph.setStyleRef"),ze=ns(P.selection),Ue=!ze||ze.storyType==="body",Ye=mr(u,Ue?"lists.remove":"lists.removeInStory");for(const Je of Nr(P.selection)){const Ge=So(Je,ze);if(ce&&z(ce,{target:Ge}),Ye)try{const tt=Ia(Je),ft=Gt(Ye(Ue?{target:tt}:{target:tt,story:ze}));_.push(ft.settled.then(dt=>_o(dt)?dt:!0))}catch{}Te&&z(Te,{target:Ge,styleId:G})}if(!re&&kr()!=="suggesting"){const Je=mr(u,"format.paragraph.setMarkRunProps");if(Je)for(const Ge of Nr(P.selection))z(Je,{target:So(Ge,ze),markRunProps:{bold:!1,italic:!1,strikethrough:!1,doubleStrikethrough:!1,smallCaps:!1,caps:!1,verticalAlign:"baseline"}})}return Xo=_.length?Promise.all(_).then(Je=>ki(Je)):null,ki(y.length?y:[!1])},Mj=(u,p,y)=>{const _=Nr(P.selection);if(_.length===0)return!1;const x=ns(P.selection);return Ij(u.docRoute,p,_,z=>Ej(u.blockParagraph,z,y,x))},Lj=(u,p,y)=>{const _=b(),x=mr(_,"format.paragraph.setIndentation"),z=mr(_,"format.paragraph.clearIndentation"),G=u.list?.mode,re=ts(P.selection),ce=ns(P.selection),Te=async ze=>{const Ue=await Le(_,ze,re);if(Ue===!0)return{kind:"list",routeToCall:u.docRoute,opToCall:p,input:{target:wA(ze)}};if(Ue===null||ce&&ce.storyType!=="body"&&typeof _?.getNode!="function")return null;const Ye=await De(_,ze,ce),Je={};if(Ye?.right!=null&&(Je.right=Ye.right),Ye?.firstLine!=null&&(Je.firstLine=Ye.firstLine),Ye?.hanging!=null&&(Je.hanging=Ye.hanging),G==="indent")return x?{kind:"paragraph",routeToCall:"format.paragraph.setIndentation",opToCall:x,input:{target:So(ze,ce),left:Math.max(0,Ye?.left??0)+CA,...Je}}:null;const Ge=Math.max(0,(Ye?.left??0)-CA);return Ge>0&&(Je.left=Ge),Object.keys(Je).length===0?z?{kind:"paragraph",routeToCall:"format.paragraph.clearIndentation",opToCall:z,input:{target:So(ze,ce)}}:x?{kind:"paragraph",routeToCall:"format.paragraph.setIndentation",opToCall:x,input:{target:So(ze,ce),left:0}}:null:x?{kind:"paragraph",routeToCall:"format.paragraph.setIndentation",opToCall:x,input:{target:So(ze,ce),...Je}}:null};return Xo=(async()=>{const ze=await Promise.all(y.map(Ge=>Te(Ge).catch(()=>null)));if(ze.length===y.length&&ze.every(Ge=>Ge?.kind==="list")&&kr()!=="suggesting"){const Ge=G==="indent"?"lists.indentRange":"lists.outdentRange",tt=mr(_,Ge);if(tt)try{return await Gt(bo(Ge,tt,{paraIds:y,story:re})).settled}catch{return!1}}const Ue=re.storyType!=="body"&&ze.some(Ge=>Ge?.kind==="list"),Ye=Ue&&G==="outdent"?mr(_,"lists.outdentInStory"):null;if(Ue&&!Ye)return!1;const Je=ze.map(Ge=>{if(!Ge)return Promise.resolve(!1);try{return Ge.kind==="list"&&Ye?Gt(bo("lists.outdentInStory",Ye,{target:Ge.input.target,story:re})).settled:Gt(bo(Ge.routeToCall,Ge.opToCall,Ge.input)).settled}catch{return Promise.resolve(!1)}});return ki(await Promise.all(Je))})(),!0},Pj=(u,p)=>{const y=u.list,_=b(),x=Nr(P.selection);if(x.length===0)return!1;const z=ts(P.selection),G=z.storyType==="body";if(y.mode==="indent"||y.mode==="outdent")return Lj(u,p,x);const re=y.seed,ce=Ue=>{if(Ue.some(dt=>!dt.resolved))return{immediate:!1,settled:null};const Ye=Ue.every(dt=>dt.seed===re);if(!Ye&&!G)return{immediate:!1,settled:null};const Je=Ye?G?"lists.remove":"lists.removeInStory":u.docRoute,Ge=Ye?mr(_,Je):p;if(!Ge)return{immediate:!1,settled:null};const tt=[],ft=[];return x.forEach((dt,ot)=>{if(!Ye&&Ue[ot]?.seed===re)return;const Ft=Ye?{target:Ia(dt),...G?{}:{story:z}}:{target:Ia(dt),seed:re};try{const Nt=Gt(bo(Je,Ge,Ft));tt.push(Nt.immediate),ft.push(Nt.settled)}catch{tt.push(!1),ft.push(Promise.resolve(!1))}}),{immediate:ki(tt),settled:ft.length?Promise.all(ft).then(dt=>ki(dt)):null}},Te=x.map(Ue=>Oe(_,Ue,z));if(Te.some(Tr))return Xo=Promise.all(Te).then(async Ue=>{const Ye=ce(Ue);return Ye.settled?await Ye.settled:Ye.immediate}),!0;const ze=ce(Te);return Xo=ze.settled,ze.immediate};function Zf(u){return u&&typeof u=="object"?u:{}}function Dj(u){if(typeof u=="string")return u;const p=Zf(u);if(Object.prototype.hasOwnProperty.call(p,"href"))return p.href;if(Object.prototype.hasOwnProperty.call(p,"value"))return p.value}function Oj(u,p){const y=Zf(u).text;return typeof y=="string"&&y.trim()!==""?y:p}function PA(u){const p=Zf(u),y=p.capture&&typeof p.capture=="object"?p.capture:null;return p.target??y?.target??y?.selectionTarget??p.selectionTarget??p.textTarget??null}const Fj=u=>{const p=b(),y=p?.hyperlinks;if(!y)return!1;const _=Zf(u),x=Dj(u),z=PA(u),G=typeof _.text=="string"?_.text:void 0,re=typeof _.currentText=="string"?_.currentText:void 0,ce=Bf(_.hyperlinkTarget)?_.hyperlinkTarget:null,Te=Bf(_.textTarget)?_.textTarget:null,ze=Ac(p,P.selection),Ue=typeof ce?.storyId=="string"&&typeof ce?.hyperlinkNodeId=="string";if(Ue&&x===null){const Ye=y.remove;if(typeof Ye!="function")return!1;try{return bo("hyperlinks.remove",Ye,{storyId:ce.storyId,hyperlinkNodeId:ce.hyperlinkNodeId,keepText:!0})}catch{return!1}}if(ze&&x===null){const Ye=y.remove;if(typeof Ye!="function")return!1;try{return bo("hyperlinks.remove",Ye,{target:ze.address,mode:"unwrap"})}catch{return!1}}if((ze||ce)&&typeof x=="string"&&x.trim()!==""){const Ye=y.patch,Je=y.updateTarget;if(!(!Ue&&ze&&typeof Ye=="function")&&!(Ue&&typeof Je=="function"))return!1;const Ge=typeof G=="string"&&G!==(Ue?re:ze?.text??re),tt=p?.text?.replace,ft=Ge?Ue?Te:LV(ze?.address):null,dt=Ge&&!!ft&&typeof tt=="function";if(Ge&&!dt)return!1;const ot=[],Ft=[];let Nt=null,Un=null,Hn=null,Zr=!1;try{if(Ue){if(typeof Je!="function")return!1;const Qr=bo("hyperlinks.updateTarget",Je,{storyId:ce.storyId,hyperlinkNodeId:ce.hyperlinkNodeId,newTarget:PV(x)});Zr=Tr(Qr);const Ar=Gt(Qr);if(!_o(Ar.immediate))return!1;ot.push(Ar.immediate),Ft.push(Ar.settled),Nt=Ar.immediate,Un=Ar.committed,Hn=Ar.settled}else if(ze){if(typeof Ye!="function")return!1;const Qr=bo("hyperlinks.patch",Ye,{target:ze.address,patch:{href:x}});Zr=Tr(Qr);const Ar=Gt(Qr);if(!_o(Ar.immediate))return!1;ot.push(Ar.immediate),Ft.push(Ar.settled),Nt=Ar.immediate,Un=Ar.committed,Hn=Ar.settled}}catch{return!1}if(dt){const Qr=(Lr,Zo)=>_o(Zo)?ki([Lr,Zo]):_o(Lr)?Lf(Lr,Zo):Zo,Ar=Lr=>{if(!_o(Lr))return Lr;try{const Zo=Gt(bo("text.replace",tt,{target:ft,text:G}));return _o(Zo.immediate)?Promise.all([Hn??Promise.resolve(Lr),Zo.settled]).then(([E2,wU])=>Qr(E2,wU)):Lf(Lr,Zo.immediate)}catch{return Lf(Lr,!1)}};if(Zr)return Xo=(Un??Promise.resolve(Nt??!1)).then(Ar),ki(ot);try{const Lr=Gt(bo("text.replace",tt,{target:ft,text:G}));if(!_o(Lr.immediate))return Nt?Lf(Nt,Lr.immediate):Lr.immediate;ot.push(Lr.immediate),Ft.push(Lr.settled),Xo=Promise.all([Hn??Promise.resolve(Nt??!1),Lr.settled]).then(([Zo,E2])=>Qr(Zo,E2))}catch{return Nt?Lf(Nt,!1):!1}}return!dt&&Ft.length>0&&(Xo=Promise.all(Ft).then(Qr=>ki(Qr))),ki(ot)}if(typeof x=="string"&&x.trim()!==""){const Ye=x.trim(),Je=y.wrap,Ge=kV(z),tt=Ge.length>0?Ge:l2(P.selection);if(tt.length>0){if(typeof Je!="function")return!1;try{return xj("hyperlinks.wrap",Je,tt,Ft=>({target:Ft,link:{destination:{href:Ye}}}))}catch{return!1}}const ft=y.insert,dt=Oj(u,Ye);if(typeof ft!="function"||dt.trim()==="")return!1;const ot=Of(z)??yl(P.selection);if(!ot)return!1;try{return bo("hyperlinks.insert",ft,{target:ot,text:dt,link:{destination:{href:Ye}}})}catch{return!1}}return!1},Nj=(u,p,y)=>{const _=u.create.kind,x=y&&typeof y=="object"?y:{};if(_==="table"){const G=Number(x.rows??x.rowCount),re=Number(x.columns??x.cols??x.colCount);if(!Number.isInteger(G)||G<1||!Number.isInteger(re)||re<1)return!1;const ce=yl(P.selection),Te=ce&&typeof ce.blockId=="string"?{kind:"inParagraph",target:So(ce.blockId),offset:ce.range?.start??0}:d2(P.selection,"nodeId");try{return bo(u.docRoute,p,{rows:G,columns:re,at:Te})}catch{return!1}}if(_==="image"){const G=x.src??x.value;if(typeof G!="string"||G.trim()==="")return!1;const re=yl(P.selection),ce=ts(P.selection),Te=ce.storyType==="body"?null:ce;let ze;re&&typeof re.blockId=="string"?ze={kind:"inParagraph",target:So(re.blockId,Te),offset:re.range?.start??0}:(ze=d2(P.selection,"target"),Te&&ze.kind==="after"&&(ze={...ze,target:{...ze.target,story:Te}}));const Ue={src:G,at:ze};Te&&(Ue.in=ze.kind==="inParagraph"?V(Te)??Te:Te),typeof x.alt=="string"&&(Ue.alt=x.alt),typeof x.title=="string"&&(Ue.title=x.title),x.size&&typeof x.size=="object"&&(Ue.size=x.size);try{return bo(u.docRoute,p,Ue)}catch{return!1}}const z={at:d2(P.selection,"target")};typeof x.instruction=="string"&&(z.instruction=x.instruction),x.config&&typeof x.config=="object"&&(z.config=x.config);try{return bo(u.docRoute,p,z)}catch{return!1}},Bj=(u,p)=>{const y=u.table,_=_e();if(!_||y.requiresCell&&!_.cellNodeId)return!1;const x=jV(y.action,_);if(!x)return!1;try{if(y.action==="insert-row-before"||y.action==="insert-row-after"){const z=L(),G=(typeof z?.getHandles=="function"?z.getHandles():null)?.editing?.tables;if(typeof G?.insertRow!="function")return!1;const re=Dl(u.docRoute);return re&&re.success===!1?re:re?G.insertRow(x,re):G.insertRow(x)}return bo(u.docRoute,p,x)}catch{return!1}},zj=u=>!u||u.disposition!=="routed"?!1:!!(u.inline||u.blockParagraph||u.list||u.link||u.create),Vj=u=>{const p=Zf(u);return!!(PA(u)||Bf(p.hyperlinkTarget)||Bf(p.textTarget))},jj=(u,p,y)=>P.selection.status!=="ready"?!1:wm(u)?.scope==="id"||!p||p.disposition!=="routed"?!0:p.inline?.kind==="clear"?Nr(P.selection).length>0||Ou(P.selection)!=null:p.inline?Ou(P.selection)!=null||Nr(P.selection).length>0:p.blockParagraph||p.list?Nr(P.selection).length>0:p.link?Vj(y)||l2(P.selection).length>0||yl(P.selection)!=null||Hi(p,b(),P.selection):!0,Uj=(u,p)=>{const y=wm(u),_=Tu(u);return y?.scope!=="id"&&!zj(_)?!1:!jj(u,_,p)},Hj=(u,p)=>Uj(u,p)?gc().then(()=>{}):null,Lc=(u,p,y)=>{if(Xo=null,Ei=Promise.resolve(!1),U)return!1;const _=oe.get(u);if(_)try{const Ue=_.execute(ls(p,y));return Mo(Ue)}catch{return!1}const x=hA(u);if(x&&typeof se()?.lists?.apply=="function")return Mc(x,p);const z=wm(u);if(z)return xm(z,p);if(u==="copy-format")return Mo($j());const G=Tu(u);if(!G||G.disposition!=="routed")return!1;const re=G.normalizePayload?G.normalizePayload(p):p;if(G.instanceRoute){if(!A()||!Br(G,re))return!1;const Ue=t?.[G.instanceRoute];if(typeof Ue!="function")return!1;try{const Ye=G.fixedArg!==void 0?G.fixedArg:re,Je=Ue.call(t,Ye);return Mo(Je)}catch{return!1}}if(G.inline?.kind==="clear")return G.mutates&&kr()==="viewing"?!1:Mo(Rj());const ce=G.docRoute;if(!ce||G.mutates&&kr()==="viewing")return!1;const Te=b(),ze=mr(Te,ce);if(!ze)return!1;if(G.inline){const{lockModesById:Ue}=Oa(Te?.contentControls,P.selection);if(ds(Ue))return!1;const Ye=Ou(P.selection);if(!Ye)return P.selection.empty===!1?Mo(!1):Mo(Tj(G,re));const Je=Hi(G,Te,P.selection),Ge=zV(G.inline,Ye,re,Je);if(!Ge)return!1;let tt=null;try{const ft=A(),dt=kr(),ot=()=>A()!==ft||b()!==Te||kr()!==dt?!1:y2(ce,ze,Ge),Ft=xa(P.selection)??uc(P.selection),Nt=G.inline.kind==="toggle"?yo(`${G.id}:${Ft}`,ot):null;tt=Nt?.release??null;const Un=Nt?Nt.result:ot(),Hn=Sj(G,P.selection,Ge,Un),Zr=kj(G,P.selection,Ge,Un),Qr=Mo(Zr,Ar=>{_j(G,Hn,Ar),tt?.(),tt=null});return G.inline.kind==="toggle"&&(It=Ei),Qr}catch{return tt?.(),!1}}if(G.blockParagraph){const Ue=Mj(G,ze,re),Ye=G.blockParagraph.kind==="alignment"&&_o(Ue)?de(P.selection,re):null;return Mo(Ue,Je=>{Ae(Ye,Je)})}if(G.list){const Ue=Pj(G,ze);return Mo(Ue)}if(G.link){const Ue=Fj(re);return Mo(Ue)}if(G.create){const Ue=Nj(G,ze,re);return Mo(Ue)}if(G.table){const Ue=Bj(G,ze);return Mo(Ue)}try{return Mo(G.mutates?bo(ce,ze,re):ze(re))}catch{return!1}},Tm=()=>{g+=1,h={mode:"idle",snapshot:null,sourceSelectionKey:null,lastClickAt:h.lastClickAt,pointerSelecting:!1,keyboardSelecting:!1};for(const u of m)u("idle");jt()},$j=async()=>{const u=["bold","italic","underline","strikethrough"].filter(ze=>P.toolbar.commands[ze]?.active===!0),p=await It;await d;const y=_o(p)?u:[],_=500,x=Date.now();if(h.mode!=="idle"){if(h.mode==="armed"&&x-h.lastClickAt<_){h={...h,mode:"persistent",lastClickAt:x};for(const ze of m)ze("persistent");return jt(),!0}return Tm(),!1}const z=x-h.lastClickAt<_,G=++g;h={...h,lastClickAt:x};const re=await gc(),ce=`${uc(re)}:${Ce()}`,Te=await Gj(null,re,ce&&ce===k?v:void 0,y);if(G!==g)return!0;h={...h,mode:z?"persistent":"armed",snapshot:Te,sourceSelectionKey:uc(re),lastClickAt:x};for(const ze of m)ze(h.mode);return jt(),!0},Gj=async(u,p,y,_=[])=>{const x=p?.target??u?.target;if(!x||x.kind!=="text")return null;const z=Array.isArray(x.segments)?x.segments:[];if(z.length===0)return null;const G=b();if(!G)return null;const re=x.story;let ce=null;for(const Ge of z){const tt=(await Na(So(Ge.blockId,re)))?.node??null;if(!tt)continue;const ft=b2(tt),dt=Array.isArray(ft?.inlines)?ft.inlines:[],ot=Wj(dt,Ge.range);ce?ce=DA(ce,ot):ce=ot}const Te=ce?Vz(ce):{},ze={bold:"bold",italic:"italic",underline:"underline",strikethrough:"strike"},Ue=new Set([...p?.activeMarks??(Array.isArray(u?.activeMarks)?u.activeMarks:[]),..._]);for(const[Ge,tt]of Object.entries(ze))Ue.has(Ge)&&(Te[tt]=!0);const Ye=y??await Wf(p??cs(u,"ready"));if(Ye.fontFamily&&(Te.fontFamily=Ye.fontFamily),Ye.color&&(Te.color=Ye.color),Ye.highlight&&(Te.highlight=Ye.highlight),Ye.fontSize){const Ge=Number.parseFloat(Ye.fontSize);Number.isNaN(Ge)||(Te.fontSize=Ge)}let Je=null;if(z.length===1){const Ge=z[0],tt=(await Na(So(Ge.blockId,re)))?.node??null;tt&&b2(tt)&&(Je=await Kj(tt,Ge.blockId,G,re))}return{story:re??null,inline:Te,paragraph:Je}},b2=u=>u?u.kind==="paragraph"?u.paragraph??null:u.kind==="heading"?u.heading??null:null:null,Wj=(u,p)=>{const y=G=>{const re=G.run;return typeof re?.text=="string"?re.text:""},_=G=>G.run?.props;if(p.start===p.end){let G=0;for(const re of u){const ce=y(re),Te=G,ze=G+ce.length;if(G=ze,p.start>=Te&&p.start<=ze){const Ue=_(re);return Ue?{...Ue}:{}}}return{}}let x=0;const z=[];for(const G of u){const re=y(G),ce=x,Te=x+re.length;if(x=Te,Te<=p.start||ce>=p.end)continue;const ze=_(G);ze&&z.push(ze)}return z.length===0?{}:z.length===1?{...z[0]}:DA(z[0],...z.slice(1))},DA=(u,...p)=>{const y={...u};for(const _ of p)for(const x of Object.keys(y)){if(!(x in _)){delete y[x];continue}const z=y[x],G=_[x];(typeof z!=typeof G||JSON.stringify(z)!==JSON.stringify(G))&&delete y[x]}return y},Kj=async(u,p,y,_)=>{const x=b2(u),z=x.props??{},G=x.styleRef??null,re=z.alignment??null,ce=z.spacing??null,Te=z.indent??null,ze=Te?{...Te.left!=null?{left:Te.left}:{},...Te.right!=null?{right:Te.right}:{},...Te.firstLine!=null?{firstLine:Te.firstLine}:{},...Te.hanging!=null?{hanging:Te.hanging}:{}}:null,Ue=z.markRunProps??null,Ye=z.numbering?.numId,Je=typeof Ye=="string"?parseInt(Ye,10):typeof Ye=="number"?Ye:NaN,Ge=z.numbering?.level,tt=isNaN(Je)?null:{numId:Je,...Ge!=null?{level:Ge}:{}};let ft=null;if(tt&&typeof y.lists?.getState=="function")try{const dt=await y.lists.getState({target:So(p,_)});dt&&typeof y.lists?.getStyle=="function"&&(ft=await y.lists.getStyle(dt)??null)}catch{}return{styleId:G,alignment:re,spacing:ce,indentation:ze,markRunProps:Ue,numbering:tt,listStyle:ft}},OA=async()=>{if(h.mode==="idle"||h.pointerSelecting||h.keyboardSelecting)return;const u=b()?.selection,p=async()=>{const G=typeof u?.current=="function"?await Promise.resolve(u.current({includeText:!0})):Gs().value;return ji(G)},y=()=>new Promise(G=>setTimeout(G,16)),_=8;let x=null,z="";for(let G=0;G<_;G+=1){if(G>0&&await y(),h.mode==="idle"||h.pointerSelecting||h.keyboardSelecting)return;if(x=await p(),!(!x||x.empty)&&(z=uc(x),z!==h.sourceSelectionKey))break}if(x&&!x.empty&&z!==h.sourceSelectionKey){await FA(x);return}if(h.snapshot?.paragraph){const G=await p();if(!G||uc(G)===h.sourceSelectionKey)return;await FA(G)}},FA=async u=>{const p=h.snapshot;if(!p){h.mode==="armed"&&Tm();return}const y=b();if(!y)return;const _=cs(u,"ready"),{lockModesById:x}=Oa(y.contentControls,_);if(ds(x)){jt();return}const z=u.target,G=u.selectionTarget;if(u.empty!==!0&&Object.keys(p.inline).length>0){const re=mr(y,"format.apply");if(re&&G)try{if(!_o(zs(await Promise.resolve(y2("format.apply",re,{target:G,inline:p.inline},u))))){jt();return}}catch{jt();return}}if(p.paragraph){const re=Array.isArray(z?.segments)?z.segments:[],ce=z?.story;for(const Te of re){const ze=So(Te.blockId,ce),Ue=await Na(ze),Ye=Ue?.node??null,Je=Ue?.address??null;if(!Ye)continue;const Ge={kind:"block",nodeType:Je?.nodeType??Ye.kind??"paragraph",nodeId:Te.blockId,...ce&&typeof ce=="object"?{story:ce}:{}},{styleId:tt,alignment:ft,spacing:dt,indentation:ot,markRunProps:Ft,numbering:Nt,listStyle:Un}=p.paragraph;if(tt&&await y.styles?.paragraph?.setStyle?.({target:Ge,styleId:tt}),ft&&await y.format?.paragraph?.setAlignment?.({target:Ge,alignment:ft}),dt){const Hn=dt,Zr=Hn.lineRule??"auto",Qr=new Set(["auto","exact","atLeast"]).has(Zr)?Zr:"auto",Ar={...Hn.before!=null?{before:Math.round(Hn.before*20)}:{},...Hn.after!=null?{after:Math.round(Hn.after*20)}:{},...Hn.line!=null?{line:Math.round(Qr==="auto"?Hn.line*240:Hn.line*20),lineRule:Qr}:{}};await y.format?.paragraph?.setSpacing?.({target:Ge,...Ar})}if(ot){const Hn={...ot.left!=null?{left:Bs(ot.left)}:{},...ot.right!=null?{right:Bs(ot.right)}:{},...ot.firstLine!=null?{firstLine:Bs(ot.firstLine)}:{},...ot.hanging!=null?{hanging:Bs(ot.hanging)}:{}};await y.format?.paragraph?.setIndentation?.({target:Ge,...Hn})}Ft&&await y.format?.paragraph?.setMarkRunProps?.({target:Ge,markRunProps:Ft}),Nt&&await y.format?.paragraph?.setNumbering?.({target:Ge,...Nt}),Un&&((await Na(ze))?.address?.nodeType==="listItem"?await y.lists?.applyStyle?.({target:wA(Te.blockId,ce),style:Un}):Nt&&await y.format?.paragraph?.setNumbering?.({target:Ge,...Nt}))}}h.mode==="armed"&&Tm(),jt()},Rm=(u,p,y)=>{const _=Hj(u,p),x=_?_.then(()=>(Lc(u,p,y),Ei)):(Lc(u,p,y),Ei);return Tu(u)?.inline?.kind==="toggle"&&(It=x),x},NA=u=>({id:u,getState:()=>P.toolbar.commands[u]??Ks(u,b(),P.selection,Tl(P.selection)),observe:p=>jo(y=>y.toolbar.commands[u]??{enabled:!1,active:!1,supported:!1,source:"unsupported",reason:ct.commandUnsupported}).subscribe(p),execute:p=>Lc(u,p),executeAsync:p=>Rm(u,p)}),qj=u=>{oe.set(u.id,u),jt();const p=()=>{oe.delete(u.id),jt()};return Object.assign(p,{handle:NA(u.id),unregister:p})},Mm=hi(u=>u.selection),Lm=Ro(Mm),BA=()=>{const u=L();if(typeof u?.getHandles!="function")return{reason:ct.hostCapabilityUnavailable};let p=null;try{p=u.getHandles()}catch(_){const x=_?.reason;return{reason:x==="host-not-ready"||x==="host-disposed"||x==="editing-mount-required"?ct.notReady:ct.hostCapabilityUnavailable}}const y=p?.editing?.selectionTargets;return typeof y?.apply!="function"?{reason:ct.hostCapabilityUnavailable}:{helper:y}},Yj=u=>{const p=L();if(typeof p?.getHandles=="function")try{const y=p.getHandles()?.editing?.contentControls;typeof y?.activate=="function"&&y.activate({id:u})}catch{}},zA={get:Lm.get,getSnapshot:Lm.getSnapshot,subscribe:Lm.subscribe,observe:Lm.observe,current:()=>Gs().value,capture:()=>{const u=Mm.get();return u.empty||!u.target&&!u.selectionTarget?null:{...u,capturedAt:Date.now()}},restore:u=>{const p=x=>(jt(),{...x,success:x.ok});if(!u||typeof u!="object")return p({ok:!1,reason:ct.targetUnresolved});if(!A())return p({ok:!1,reason:ct.notReady});const y=NV(u);if(!y)return p({ok:!1,reason:ct.targetUnresolved});const _=BA();if(!("helper"in _))return p({ok:!1,reason:_.reason});try{return p(fA(_.helper.apply(y)))}catch{return p({ok:!1,reason:ct.hostCapabilityUnavailable})}},apply:u=>{if(!A())return{ok:!1,reason:ct.notReady};const p=BA();if(!("helper"in p))return{ok:!1,reason:p.reason};try{const y=p.helper.apply(u);return jt(),fA(y)}catch{return{ok:!1,reason:ct.hostCapabilityUnavailable}}},getAnchorRect:u=>{const p=L();if(typeof p?.getSelectionAnchorRect=="function"){const y=Tt(()=>p.getSelectionAnchorRect(u),null);return y&&typeof y=="object"&&(Number(y.width)>0||Number(y.height)>0)?y:null}return null},getRects:u=>{const p=Mm.get(),y=p.selectionTarget??p.target;if(p.empty||!y)return[];const _=jm.getRect({target:y,relativeTo:u?.relativeTo});return _.found?_.rects:[]}},Xj={get ids(){return Qt()},has:u=>Tu(u)!=null||oe.has(u),get:u=>NA(u),execute:Lc,executeAsync:Rm,register:qj,getContextMenuItems:u=>{const p=[];for(const y of oe.values()){const _=y.contextMenu;_&&Tt(_.when?()=>_.when(u):void 0,!0)&&p.push({id:y.id,label:_.label,group:_.group,order:_.order,invoke:()=>Lc(y.id,void 0,u)})}return p.sort((y,_)=>(y.order??0)-(_.order??0)||y.label.localeCompare(_.label))}},w2=Ro(hi(u=>u.toolbar)),Zj={get:w2.get,getSnapshot:()=>P.toolbar,subscribe:w2.subscribe,observe:w2.observe,execute:Lc,executeAsync:Rm},Xu=async(u,p)=>{if(!A())return{success:!1,ok:!1,reason:ct.notReady};if(!u)return{success:!1,ok:!1,reason:ct.targetUnresolved};const y=L(),_=y?.scrollTargetIntoView;if(typeof _!="function")return{success:!1,ok:!1,reason:ct.hostCapabilityUnavailable};try{const x={target:u,block:p?.block??"center",behavior:p?.behavior??"smooth"},z=await Promise.resolve(p?.shouldContinue?_.call(y,x,p.shouldContinue):_.call(y,x));return z&&typeof z=="object"&&z.success===!1?{success:!1,ok:!1,reason:i2(z.reason,ct.targetUnresolved)}:{success:!0,ok:!0}}catch{return{success:!1,ok:!1,reason:ct.hostCapabilityUnavailable}}},VA=u=>{if(!u||typeof u!="object")return null;const p=u,y=p.wordRevisionIds&&typeof p.wordRevisionIds=="object"?p.wordRevisionIds:null,_=p.sourceIds&&typeof p.sourceIds=="object"?p.sourceIds:null,x=Array.isArray(_?.wordIdOther)?_.wordIdOther:void 0,z=y?.insert??y?.delete??y?.format??_?.wordIdInsert??_?.wordIdDelete??x?.[0];return typeof z=="string"&&z.length>0?z:null},jA=async(u,p,y,_,x)=>{const z=await Xu(p,x);if(z.ok)return z;const G=w(),re=G?.focusTrackedChange;if(typeof re!="function")return z;const ce=y||_?{commentId:u,...y?{trackedChangeStory:y}:{},..._?{importedId:_}:{}}:u;try{const Te=await Promise.resolve(re.call(G,ce));if(Te&&typeof Te=="object"&&Te.ok===!0)return{success:!0,ok:!0}}catch{}return z},Pm=async(u,p,y,_)=>{const x=u==="trackChanges"?_?.story:void 0,z=dt=>{if(!x||!dt||typeof dt!="object")return dt;const ot=dt,Ft=ot.address&&typeof ot.address=="object"?ot.address:null;return ot.story||Ft?.story?dt:{...ot,story:x}},G=u==="trackChanges"?mA:Pf,re=y.find(dt=>Ni(dt,p,x)),ce=re&&typeof re=="object"?re:null,Te=u==="trackChanges"&&ce?.type==="move"&&(ce.subtype==="move-to"||ce.subtype==="move-from")?ce.subtype:null,ze=Te&&typeof ce?.trackedChangeCanonicalId=="string"?ce.trackedChangeCanonicalId:p,Ue=dt=>{if(!Te)return u==="trackChanges"?mA(dt,{preferStableBlock:!0}):G(dt);const ot=Pf(dt);if(ot?.kind!=="move")return null;const Ft=Te==="move-to"?ot.destination:ot.source;return s2(Ft)?Ft:null},Ye=G(re),Je=u!=="trackChanges"||!Te&&s2(Pf(re));if(Ye&&Je)return z(Ye);const Ge=b()?.[u],tt=u==="comments"?{commentId:p}:{id:ze,...x?{story:x}:{}},ft=Ge?.get;if(typeof ft!="function")return z(Ye);try{return z(Ue(await Promise.resolve(ft.call(Ge,tt)))??Ye)}catch{return z(Ye)}};function UA(u,p){if($s())return qn("Comments are read-only.","DOCUMENT_READONLY");if(mc())return qn("Resolving comments is disabled.","DOCUMENT_READONLY");const y=b()?.comments,_=y?.patch;if(typeof _!="function")return qn("comments.patch is unavailable.");const x=qn("comments.patch failed.");return Tt(()=>Ol(_.call(y,{commentId:u,status:p}),x),x)}const Qf=()=>$s()?qn("Comments are read-only.","DOCUMENT_READONLY"):null,Qj=(u,p)=>{const y=p&&typeof p=="object"?p:null;let _=Array.from(u);y?.includeResolved===!1&&(_=_.filter(ce=>ce.status!=="resolved"));const x=Number(y?.offset),z=Number.isInteger(x)&&x>0?x:0,G=Number(y?.limit),re=Number.isInteger(G)&&G>=0?z+G:void 0;return _.slice(z,re)},Zu=hi(u=>u.comments),Dm=Rc(Zu,jo(u=>Ui(u.selection,u.comments)),"comments"),Jj={get:Dm.get,getSnapshot:Dm.getSnapshot,subscribe:Dm.subscribe,observe:Dm.observe,list:u=>{wt();const p=Il();return Qj(p.value??Zu.get().items,u)},getById:u=>{const p=Zu.get().items.find(x=>no(x)===u)??null;if(p)return p;const y=b()?.comments,_=Tt(y?.get?()=>y.get({commentId:u}):void 0,null);return Tr(_)?null:_},createFromCapture:(u,p)=>{const y=Qf();if(y)return y;const _=b()?.comments,x=_?.create;if(typeof x!="function")return qn("comments.create is unavailable.");const z=qn("comments.create failed.");return Tt(()=>{const G=u&&typeof u=="object"?u.target??u.selectionTarget:null;return G==null?qn("A range selection is required to comment.","NO_SELECTION"):Ol(x.call(_,{target:G,text:p.text}),z)},z)},createFromSelection:u=>{const p=Qf();if(p)return p;const y=b()?.comments,_=y?.create;if(typeof _!="function")return qn("comments.create is unavailable.");const x=Mm.get(),z=x.target??x.selectionTarget;if(x.empty||!z)return qn("A range selection is required to comment.","NO_SELECTION");const G=qn("comments.create failed.");return Tt(()=>Ol(_.call(y,{target:z,text:u.text}),G),G)},reply:(u,p)=>{const y=Qf();if(y)return y;const _=b()?.comments,x=_?.reply??_?.create;if(typeof x!="function")return qn("comments.reply is unavailable.");const z=qn("comments.reply failed.");return Tt(()=>Ol(x===_?.reply?x.call(_,{parentCommentId:u,text:p.text}):x.call(_,{parentCommentId:u,text:p.text}),z),z)},edit:(u,p)=>{const y=Qf();if(y)return y;const _=b()?.comments,x=_?.patch;if(typeof x!="function")return qn("comments.patch is unavailable.");const z=qn("comments.patch failed.");return Tt(()=>Ol(x.call(_,{commentId:u,text:p.text}),z),z)},resolve:u=>UA(u,"resolved"),reopen:u=>UA(u,"active"),delete:u=>{const p=Qf();if(p)return p;const y=b()?.comments,_=y?.delete??y?.remove;if(typeof _!="function")return qn("comments.delete is unavailable.");const x=qn("comments.delete failed.");return Tt(()=>Ol(_.call(y,{commentId:u}),x),x)},setActive:u=>{if(u==null)return Re=null,jt(),!0;if(!A())return!1;const p=Zu.get(),y=Q.get("comments"),_=y?.token===Ce()&&y.hasSettled&&Array.isArray(y.value)?y.value:null,x=_??p.items;if(!_&&p.listStatus!=="ready")return!1;const z=yV(x,u);return!z||!x.some(G=>no(G)===z)?!1:(Re=z,jt(),!0)},scrollTo:async u=>{if(!b())return{success:!1,ok:!1,reason:A()?ct.documentApiUnavailable:ct.notReady};const p=await Pm("comments",u,Zu.get().items);return p?Xu(p):{success:!1,ok:!1,reason:ct.targetUnresolved}}},ps=hi(u=>u.trackChanges),C2=(u,p)=>{Ve();const y=(La().value??ps.get().items).map(Nf).filter(Ue=>Ue!=null&&no(Ue)!==null);if(y.length===0)return null;const _=P.trackChanges.activeId,x=$e?.id===_?$e.story:void 0,z=y.filter(Ue=>mm(Ue)==null),G=x||z.length===0?y:z;let re=_?G.findIndex(Ue=>Ni(Ue,_,x)):-1;re===-1&&_&&x&&(re=G.findIndex(Ue=>Ni(Ue,_)));const ce=G[re===-1?u>0?0:G.length-1:(re+u+G.length)%G.length],Te=no(ce),ze=mm(ce);return ne(ze?{id:Te,story:ze}:{id:Te},p),jt(),Te},HA=async u=>{const p=w(),y=p?.listTrackedChanges;if(typeof y=="function")try{await Promise.resolve(y.call(p,{mode:"visible-window",targetIds:[u],refreshReason:"ui-track-change-reveal-restamp",blocking:!0}))}catch{}};let $A=Promise.resolve();const eU=u=>{const p=Ct;return $A.catch(()=>{}).then(()=>tU(u,p))},tU=async(u,p)=>{if(Ct!==p)return{success:!1};const y=$e,_=C2(u,{invalidateQueuedNavigation:!1});if(_==null)return{success:!1};const x=$e,z=nt,G=()=>Ct===p&&$e===x&&nt===z,re=()=>{G()&&(ne(y,{invalidateQueuedNavigation:!1}),jt())};x&&We.add(x);try{const ce=await Pm("trackChanges",_,ps.get().items,x?.story?{story:x.story}:void 0);if(!G())return{success:!1};if(!ce)return re(),{success:!1};const Te=ps.get().items.find(Ue=>Ni(Ue,_,x?.story))??ps.get().items.find(Ue=>no(Ue)===_),ze=VA(Te);vn+=1;try{const Ue=await jA(_,ce,x?.story,ze,{behavior:"auto",shouldContinue:G});if(!G())return{success:!1};if(!Ue.ok&&Ue.reason!==ct.targetNotVisible)re(),S(y);else{if(Ue.ok&&await HA(_),!G())return{success:!1};S(x)}return{success:Ue.ok}}finally{vn=Math.max(0,vn-1),vn===0&&(G()?To&&yn(An(To)):S($e))}}finally{x&&We.delete(x)}},GA=u=>{const p=eU(u);return $A=p.then(()=>{},()=>{}),p},Om=Rc(ps,jo(u=>yc(u.selection,u.trackChanges)),"trackChanges"),nU={get:Om.get,getSnapshot:Om.getSnapshot,subscribe:Om.subscribe,observe:Om.observe,list:()=>{Ve();const u=La().value??ps.get().items,p=Kt(Ce());return u.map(Nf).filter(y=>y!=null).filter(y=>{const _=no(y);return!_||!p?.has(_)})},accept:u=>k2("accept",u),reject:u=>k2("reject",u),acceptAll:()=>Jf("accept",{kind:"all"},null),rejectAll:()=>Jf("reject",{kind:"all"},null),next:()=>C2(1),previous:()=>C2(-1),navigateNext:()=>GA(1),navigatePrevious:()=>GA(-1),getAt:u=>{if(!u||typeof u!="object"||typeof u.x!="number"||typeof u.y!="number")return null;const p=A2(u);if(p.length===0)return null;const y=ps.get().items;let _;for(const x of p){if(x.type!=="trackedChange")continue;let z;if(x.story){if(_===void 0&&(_=Ai()),!_)continue;z=_}else z=y;const G=z.find(re=>Ni(re,x.id,x.story));if(G)return x.story?{id:G.id,item:G,story:x.story}:{id:G.id,item:G}}return null},setActive:u=>{if(u==null)return ne(null),S(null),jt(),!0;if(!A())return!1;const p=typeof u=="string"?{id:u}:{id:u.id,story:u.story};if(typeof p.id!="string"||p.id.length===0)return!1;const y=p.id;if(p.story){const _=Ai();if(!_)return!1;const x=fc(_,p.story).toPublicId(p.id)??p.id;if(!_.some(z=>Ni(z,x,p.story)))return!1;p.id=x}else{const _=Ai()??ps.get().items,x=Ns(_).toPublicId(p.id)??p.id,z=_.find(G=>no(G)===x);if(!z)return!1;p.id=x,p.story=mm(z)}return y!==p.id&&(p.paintedEntityId=y),ne(p),S(p),jt(),!0},scrollTo:async u=>{if(!b())return{success:!1,ok:!1,reason:A()?ct.documentApiUnavailable:ct.notReady};Ct+=1,Ee+=1;const p=Ee,y=ps.get().items,_=Ns(y).toPublicId(u)??u,x=y.find(Te=>no(Te)===_),z=mm(x),G=VA(x),re=$e,ce={id:_,...z?{story:z}:{},..._!==u?{paintedEntityId:u}:{}};We.add(ce);try{const Te=await Pm("trackChanges",_,y,z?{story:z}:void 0);if(Ee!==p)return{success:!1,ok:!1};if(!Te)return{success:!1,ok:!1,reason:ct.targetUnresolved};ne(ce);const ze=Ee,Ue=$e,Ye=nt,Je=()=>Ee===ze&&$e===Ue&&nt===Ye,Ge=()=>{Je()&&(ne(re,{invalidateQueuedNavigation:!1}),jt())};jt(),vn+=1;try{const tt=await jA(_,Te,z,G,{behavior:"auto",shouldContinue:Je});if(!Je())return{success:!1,ok:!1};if(!tt.ok&&tt.reason!==ct.targetNotVisible)Ge(),S(re);else{if(tt.ok&&await HA(_),!Je())return{success:!1,ok:!1};S(ce)}return tt}finally{vn=Math.max(0,vn-1),vn===0&&(Je()?To&&yn(An(To)):S($e))}}finally{We.delete(ce)}}},k2=(u,p)=>{const{id:y,story:_}=typeof p=="string"?{id:p,story:void 0}:p,x={kind:"id",id:y,..._?{story:_}:{}};return Jf(u,x,y,_)},Jf=(u,p,y,_)=>{try{return Mo(S2(u,p,y,_))}catch{return!1}},S2=(u,p,y,_)=>{if($s())return!1;const x=b()?.trackChanges,z=p.kind==="all"||p.scope==="all",G=p.kind==="range",re=p.kind==="ids";if(Yu({kind:u,scope:z?"all":"id"},x))return!1;const ce=z?`${u}All`:u,Te=!G&&!re&&!_&&x&&typeof x[ce]=="function"?x[ce]:null,ze=x&&typeof x.decide=="function"?x.decide:null;return!Te&&!ze?!1:Te?Te.call(x,y??{}):ze.call(x,{decision:u,target:p})},_2=hi(u=>u.contentControls),eh=u=>_2.get().items.find(p=>p?.id===u)??null,Fm=Ro(_2),rU=(u=>{if(u===void 0)return Fm.get();const p=gm(u);return p?eh(p):null}),oU={get:(u=>(u!==void 0&&we("api"),rU(u))),getSnapshot:Fm.getSnapshot,subscribe:Fm.subscribe,observe:Fm.observe,list:()=>(we("api"),_2.get().items),getById:u=>(we("api"),eh(u)),getRect:u=>{const p=gm(u);if(!p)return bl("unresolved");we("panel");const y=eh(p);if(!y)return bl("unresolved");const _=a2(y);return _?jm.getRect({target:_}):bl("unavailable")},scrollIntoView:async u=>{const p=gm(u);if(!p)return{success:!1};we("panel");const y=eh(p);if(!y)return{success:!1};const _=a2(y);return _?{success:(await Xu(_,{block:u.block,behavior:u.behavior})).ok}:{success:!1}},focus:async u=>{const p=gm(u);if(!p)return{success:!1,reason:"invalid-id"};if(!A())return{success:!1,reason:"not-ready"};we("panel");const y=eh(p);if(!y)return{success:!1,reason:"not-found"};const _=a2(y);if(!_)return{success:!1,reason:"not-reachable"};if(!(await Xu(_,{block:u.block,behavior:u.behavior})).ok)return{success:!1,reason:"not-reachable"};const x=fV(_);if(!x)return{success:!1,reason:"not-reachable"};const z=zA.apply(x);return!z.ok&&z.reason!==ct.hostCapabilityUnavailable?{success:!1,reason:"not-reachable"}:(Yj(p),{success:!0})}},Nm=Ro(hi(u=>u.fonts)),iU={get:Nm.get,getSnapshot:Nm.getSnapshot,subscribe:Nm.subscribe,observe:Nm.observe,getFamilyOptions:()=>P.fonts.options,getSizeOptions:()=>P.fonts.sizeOptions},Bm=Ro(hi(u=>u.zoom)),sU={get:Bm.get,getSnapshot:Bm.getSnapshot,subscribe:Bm.subscribe,observe:Bm.observe,set:u=>{if(typeof t?.setZoom=="function")try{t.setZoom(u),jt()}catch{}},setMode:u=>{if(typeof t?.setZoomMode=="function")try{t.setZoomMode(u),jt()}catch{}}},zm=Ro(hi(u=>u.document)),aU={get:zm.get,getSnapshot:zm.getSnapshot,subscribe:zm.subscribe,observe:zm.observe,setMode:u=>{if(typeof t?.setDocumentMode=="function")try{t.setDocumentMode(u),jt()}catch{}},export:u=>{if(typeof t?.export=="function")try{return Promise.resolve(t.export(u))}catch{return}},getText:()=>{const u=b(),p=Tt(u?.getText?()=>u.getText({}):void 0,null);return typeof p=="string"?p:p&&typeof p=="object"&&typeof p.text=="string"?p.text:null},replaceFile:u=>{const p=t?.replaceFile??t?.loadDocument??t?.reload;if(typeof p=="function")try{return Promise.resolve(p.call(t,u))}catch{return}}},WA=()=>{if(typeof HTMLElement>"u")return null;const u=A()?.mount?.container;if(u instanceof HTMLElement)return u;const p=t?.element;return p instanceof HTMLElement?p:null},lU=(u,p)=>{if(typeof u!="number"||typeof p!="number"||!Number.isFinite(u)||!Number.isFinite(p))return[];const y=globalThis.document;if(!y||typeof y.elementFromPoint!="function")return[];const _=WA();if(!_)return[];const x=y.elementFromPoint(u,p);if(!x||!_.contains(x))return[];const z=[x],G=ot=>{ot&&_.contains(ot)&&!z.includes(ot)&&z.push(ot)},re=y.elementsFromPoint;if(typeof re=="function"){let ot=[];try{ot=re.call(y,u,p)??[]}catch{ot=[]}for(const Ft of ot)G(Ft)}const ce=[],Te=ot=>{ot&&_.contains(ot)&&!ce.includes(ot)&&!z.includes(ot)&&ce.push(ot)},ze=ot=>{const Ft=ot.getBoundingClientRect;if(typeof Ft!="function")return!1;let Nt;try{Nt=Ft.call(ot)}catch{return!1}return Nt!=null&&u>=Nt.left&&u<=Nt.right&&p>=Nt.top&&p<=Nt.bottom};for(const ot of z){const Ft=ot.querySelectorAll;if(typeof Ft!="function")continue;let Nt;try{Nt=Ft.call(ot,"[data-track-change-marker]")}catch{continue}for(let Un=0;Un<Nt.length;Un+=1)ze(Nt[Un])&&Te(Nt[Un])}ce.reverse();const Ue=[...ce,...z],Ye=dA(Ue[0],_);for(let ot=1;ot<Ue.length;ot+=1)for(const Ft of dA(Ue[ot],_))Ye.push(Ft);if(Ye.length===0)return Ye;const Je=ps.get().items,Ge=Ns(Je);let tt;const ft=new Set,dt=[];for(const ot of Ye){if(ot.type!=="trackedChange"){const Hn=`${ot.type}:${ot.id}`;if(ft.has(Hn))continue;ft.add(Hn),dt.push(ot);continue}const Ft=dV(ot.storyKey)??uV(ot.story);let Nt;if(Ft){if(tt===void 0&&(tt=Ai()),!tt||(Nt=fc(tt,Ft).toPublicId(ot.id),!Nt||!tt.some(Hn=>Ni(Hn,Nt,Ft))))continue}else if(Nt=Ge.toPublicId(ot.id),!Nt)continue;const Un=`trackedChange:${Nt}`;ft.has(Un)||(ft.add(Un),dt.push(Ft?{type:"trackedChange",id:Nt,story:Ft}:{type:"trackedChange",id:Nt}))}return dt};function A2(u,p){return typeof u=="object"?lU(u?.x,u?.y):null}const Qu=new Set;let I2=!1;const KA=u=>{const p=L();if(typeof p?.observeGeometry!="function")return;let y=!1;const _=Tt(()=>{const x=p.observeGeometry(()=>u.schedule());return y=!0,x},null);u.detach=typeof _=="function"?_:null,u.boundHost=y?p:null},Vm=u=>{if(u.detach){try{u.detach()}catch{}u.detach=null}u.boundHost=null},qA=()=>{if(I2=!1,!(U||L()))for(const u of Qu)Vm(u)},cU=()=>{if(!I2){if(I2=!0,typeof queueMicrotask=="function"){queueMicrotask(qA);return}Promise.resolve().then(qA)}},uU=()=>{const u=L();if(!u){cU();return}for(const p of Qu)p.boundHost&&p.boundHost===u||(Vm(p),KA(p),p.schedule())};Et.push(uU);const jm={getRect:u=>{const p=L(),y=p?.getTargetRects;if(typeof y=="function"){const _=Tt(()=>y.call(p,{target:u.target}),null);return _&&typeof _=="object"?_.success===!0&&Array.isArray(_.rects)?OV(DV(_.rects.filter(x=>x!=null&&typeof x=="object")),u.relativeTo):bl(typeof _.reason=="string"?_.reason:"unresolved"):bl("unresolved")}return bl("unavailable")},observe:u=>{const p=[];let y=0;const _=typeof requestAnimationFrame=="function",x=()=>{if(!_){u();return}y||(y=requestAnimationFrame(()=>{y=0,u()}))},z=jo(re=>({ready:re.ready,selection:re.selection,zoom:re.zoom}));p.push(z.subscribe(()=>x()));const G={schedule:x,detach:null,boundHost:null};return KA(G),Qu.add(G),()=>{Qu.delete(G),Vm(G),y&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(y);for(const re of p.splice(0))try{re()}catch{}}},getHost:()=>WA(),entityAt:A2,contextAt:u=>{const p=!!u&&typeof u.x=="number"&&typeof u.y=="number",y=p?u.x:0,_=p?u.y:0;return{point:{x:y,y:_},entities:p?A2({x:y,y:_}):[],selection:P.selection,position:null,insideSelection:!1}},scrollIntoView:async u=>{const p=u?.target;if(!p)return{success:!1};let y=null;if(p.kind==="entity"){const _=p.entityType==="comment"?"comments":"trackChanges",x=_==="comments"?Zu.get().items:ps.get().items,z=p.entityType==="trackedChange"&&p.story?{story:p.story}:void 0;y=await Pm(_,p.entityId,x,z)}else{const _=p,x=p,z=Array.isArray(_.segments)&&_.segments.length>0?_.segments:x.blockId&&x.range?[{blockId:x.blockId,range:x.range}]:null;if(z){const G=p.story;y={kind:"text",segments:z,...G?{story:G}:{}}}}return y?{success:(await Xu(y,{block:u.block??"center",behavior:u.behavior??"smooth"})).ok}:{success:!1}}},YA=u=>{const p=(u&&typeof u=="object"?u:null)?.target;return p&&typeof p=="object"?p:null},XA=u=>`metadata:resolve:${u}`,dU=u=>{const p=b()?.metadata;if(!p||typeof p.resolve!="function")return null;const{value:y}=Eo(XA(u),Ce(),()=>p.resolve({id:u}),YA);return y},fU=async u=>{const p=b()?.metadata;if(!p||typeof p.resolve!="function")return null;try{const y=Ce(),_=await Promise.resolve(p.resolve({id:u}));if(y!==Ce())return null;const x=YA(_);return Q.set(XA(u),{token:y,value:x,hasSettled:!0,inflightToken:null}),x}catch{return null}},hU={getRect:u=>{const p=b()?.metadata;if(!p||typeof p.resolve!="function")return bl("unavailable");const y=dU(u.id);return y?jm.getRect({target:y}):bl("unresolved")},scrollIntoView:async u=>{const p=await fU(u.id);return p?{success:(await Xu(p,{block:u.block,behavior:u.behavior})).ok}:{success:!1}}},pU={inTable:!1,tableNodeId:null,rowIndex:null,columnIndex:null,cellNodeId:null,rows:null,columns:null},mU={getContext:()=>{const u=_e();if(!u)return{...pU};const p=ve()?.table;return{inTable:!0,tableNodeId:u.tableNodeId,rowIndex:u.rowIndex,columnIndex:u.columnIndex,cellNodeId:u.cellNodeId,rows:typeof p?.rows=="number"?p.rows:null,columns:typeof p?.columns=="number"?p.columns:null}},isInTable:()=>_e()!=null},Um={query:"",total:0,activeIndex:-1,open:!1,available:!1,caseSensitive:!1,includeDeletedText:!1,regex:!1,canReplace:!1,reason:ct.searchUnavailable};let On={...Um};const Hm=new Set,ja=()=>{const u=L()?.search;return u&&typeof u=="object"?u:null},Ys=()=>{const u=se()?.search;return u&&typeof u=="object"?u:null},th=()=>{const u=ja();if(u&&typeof u.setSession=="function")return!0;const p=Ys();return!!p&&typeof p.query=="function"&&typeof p.getState=="function"},ms=()=>{for(const u of[...Hm])try{u(On)}catch{}},pi=u=>(On={...On,...u},ms(),On);let oo=0,Pc=null;const ZA=()=>{const u=Pc;Pc=null,u&&Tt(()=>(u(),null),null)},gU=()=>{oo+=1,ZA();const u=th();On={...Um,available:u,reason:u?void 0:ct.searchUnavailable},ms()};pn.push(gU);const vU=u=>{if(!u)return!1;const p=u.queryError;if(p&&typeof p=="object"&&p.code==="invalid-pattern")return!0;const y=u.rejection;return u.status==="rejected"&&!!y&&typeof y=="object"&&y.code==="invalid-pattern"},x2=(u,p=!1)=>{const y=u&&typeof u=="object"?u:null;if(!y)return null;const _=Array.isArray(y.matches)?y.matches:[],x=typeof y.total=="number"&&Number.isFinite(y.total)?y.total:_.length,z=typeof y.activeMatchIndex=="number"?y.activeMatchIndex:typeof y.activeIndex=="number"?y.activeIndex:-1;return{...typeof y.query=="string"?{query:y.query}:{},total:x,activeIndex:z,canReplace:y.canReplace===!0||p,...y.includeDeletedText===!0?{includeDeletedText:!0}:{},...y.regex===!0?{regex:!0}:{},...vU(y)?{invalidPattern:!0}:{}}},Lo=()=>{const u=pe("find.replace"),p=pe("find.replaceAll");return u?.enabled===!0||p?.enabled===!0},Po=(u,p=!1)=>{const y=x2(u,p);if(!y){pi({total:0,activeIndex:-1,canReplace:!1,reason:void 0});return}pi({...y.query!==void 0?{query:y.query}:{},total:y.total,activeIndex:y.activeIndex,canReplace:y.canReplace,...y.includeDeletedText!==void 0?{includeDeletedText:y.includeDeletedText}:{},...y.regex!==void 0?{regex:y.regex}:{},reason:y.invalidPattern?ct.searchInvalidPattern:void 0})},Ua=()=>{const u=ja();if(u&&typeof u.getState!="function")return On={...On,available:th(),reason:th()?void 0:ct.searchUnavailable},On;if(!u){const y=Ys();if(y&&typeof y.getState=="function"){const _=x2(Tt(()=>y.getState(),null),Lo());if(_)return On={...On,..._.query!==void 0?{query:_.query}:{},total:_.total,activeIndex:_.activeIndex,canReplace:_.canReplace,available:!0,reason:_.invalidPattern?ct.searchInvalidPattern:void 0,open:On.open||!!_.query},On}return On={...Um,query:On.query,caseSensitive:On.caseSensitive,includeDeletedText:On.includeDeletedText},On}const p=x2(Tt(()=>u.getState(),null));return p&&(On={...On,...p.query!==void 0?{query:p.query}:{},total:p.total,activeIndex:p.activeIndex,canReplace:p.canReplace,...p.includeDeletedText!==void 0?{includeDeletedText:p.includeDeletedText}:{},...p.regex!==void 0?{regex:p.regex}:{},available:!0,reason:p.invalidPattern?ct.searchInvalidPattern:void 0,open:On.open||!!p.query}),On},Ju=u=>{const p=u&&typeof u=="object"?u:null;if(p?.status==="committed")return{ok:!0};if(p?.status==="rejected"&&p.reason==="read-only")return{ok:!1,reason:ct.documentReadonly};const y=p?.rejection;return p?.status==="rejected"&&y&&typeof y=="object"&&y.code==="read-only-document"?{ok:!1,reason:ct.documentReadonly}:{ok:!1,reason:ct.operationUnavailable}},$m=Ro({get:()=>Ua(),subscribe:u=>(Hm.add(u),()=>Hm.delete(u))}),yU={get:$m.get,getSnapshot:$m.getSnapshot,subscribe:$m.subscribe,observe:$m.observe,open:()=>th()?(pi({available:!0,open:!0,reason:void 0}),{ok:!0}):(pi({available:!1,open:!1,reason:ct.searchUnavailable}),{ok:!1,reason:ct.searchUnavailable}),close:()=>{if(oo+=1,Pc)ZA();else{const u=ja();if(u&&typeof u.clear=="function")Tt(()=>u.clear(),null);else{const p=Ys();p&&typeof p.query=="function"&&Tt(()=>p.query({query:""}),null)}}On={...Um,available:th(),reason:void 0},On.available||(On.reason=ct.searchUnavailable),ms()},search:(u,p)=>{const y=ja(),_=!!p?.caseSensitive,x=p?.includeDeletedText===!0,z=p?.regex===!0,G=++oo;if(!y||typeof y.setSession!="function"){const ce=Ys();if(ce&&typeof ce.query=="function"&&typeof ce.getState=="function"){pi({query:u,caseSensitive:_,includeDeletedText:x,regex:z,available:!0,open:!0,reason:void 0}),Pc=()=>{ce.query({query:""})};const Te=Tt(()=>ce.query({query:u,caseSensitive:_,includeDeletedText:x,regex:z}),null);return Tr(Te)?Promise.resolve(Te).then(ze=>{G===oo&&Po(ze,Lo())},()=>{G===oo&&pi({available:!1,reason:ct.searchUnavailable})}):Po(Te,Lo()),Po(Tt(()=>ce.getState(),null),Lo()),On}return pi({query:u,total:0,activeIndex:-1,available:!1,caseSensitive:_,includeDeletedText:x,regex:z,reason:ct.searchUnavailable})}pi({query:u,caseSensitive:_,includeDeletedText:x,regex:z,available:!0,open:!0,reason:void 0}),Pc=()=>{typeof y.clear=="function"&&y.clear()};const re=Tt(()=>y.setSession(u,{caseSensitive:_,includeDeletedText:x,...z?{regex:!0}:{},highlight:!0}),null);if(Po(re),u.length>0&&On.total===0&&On.reason!==ct.searchInvalidPattern){const ce=Ys();if(ce&&typeof ce.query=="function"&&typeof ce.getState=="function"){const Te=Pc;Pc=()=>{Te?.(),ce.query({query:""})};const ze=Tt(()=>ce.query({query:u,caseSensitive:_,includeDeletedText:x,regex:z}),null);Tr(ze)?Promise.resolve(ze).then(Ue=>{G===oo&&Po(Ue,Lo())},()=>{G===oo&&pi({available:!1,reason:ct.searchUnavailable})}):Po(ze,Lo()),Po(Tt(()=>ce.getState(),null),Lo())}}return On},next:()=>{const u=ja();if(!u||typeof u.next!="function"){const p=Ys();if(!p||typeof p.next!="function"||typeof p.getState!="function")return{ok:!1,reason:ct.searchUnavailable};if(On.total===0)return{ok:!1,reason:ct.operationUnavailable};const y=Tt(()=>p.next(),null);if(Tr(y)){const _=oo;Promise.resolve(y).then(x=>{_===oo&&Po(x,Lo())}).catch(()=>{_===oo&&pi({available:!1,reason:ct.searchUnavailable})})}else Po(y,Lo());return Po(Tt(()=>p.getState(),null),Lo()),{ok:!0}}return On.total===0?{ok:!1,reason:ct.operationUnavailable}:(Po(Tt(()=>u.next(),null)),{ok:!0})},previous:()=>{const u=ja();if(!u||typeof u.previous!="function"){const p=Ys();if(!p||typeof p.previous!="function"||typeof p.getState!="function")return{ok:!1,reason:ct.searchUnavailable};if(On.total===0)return{ok:!1,reason:ct.operationUnavailable};const y=Tt(()=>p.previous(),null);if(Tr(y)){const _=oo;Promise.resolve(y).then(x=>{_===oo&&Po(x,Lo())}).catch(()=>{_===oo&&pi({available:!1,reason:ct.searchUnavailable})})}else Po(y,Lo());return Po(Tt(()=>p.getState(),null),Lo()),{ok:!0}}return On.total===0?{ok:!1,reason:ct.operationUnavailable}:(Po(Tt(()=>u.previous(),null)),{ok:!0})},clear:()=>{oo+=1;const u=ja();if(u&&typeof u.clear=="function"&&Tt(()=>u.clear(),null),!u||typeof u.clear!="function"){const p=Ys();p&&typeof p.query=="function"&&Tt(()=>p.query({query:""}),null)}pi({query:"",total:0,activeIndex:-1,canReplace:!1})},replace:u=>{const p=ja();if(!p){const _=Ys();if(!_||typeof _.replace!="function"||typeof _.getState!="function")return{ok:!1,reason:ct.searchUnavailable};if(!Lo())return{ok:!1,reason:ct.operationUnavailable};const x=Tt(()=>_.replace({replacement:typeof u=="string"?u:""}),null);if(Tr(x)){const z=oo;Ua(),ms();const G=()=>z===oo;return Promise.resolve(x).then(re=>(G()&&(Po(re,Lo()),Ua(),ms()),Ju(re)),()=>(G()&&pi({available:!1,reason:ct.searchUnavailable}),{ok:!1,reason:ct.searchUnavailable}))}return Ua(),ms(),Ju(x)}if(typeof p.replaceCurrent!="function")return{ok:!1,reason:ct.operationUnavailable};const y=Tt(()=>p.replaceCurrent(typeof u=="string"?u:""),null);return Ua(),ms(),Ju(y)},replaceAll:u=>{const p=ja();if(!p){const _=Ys();if(!_||typeof _.replaceAll!="function"||typeof _.getState!="function")return{ok:!1,reason:ct.searchUnavailable};if(!Lo())return{ok:!1,reason:ct.operationUnavailable};const x=Tt(()=>_.replaceAll({replacement:typeof u=="string"?u:""}),null);if(Tr(x)){const z=oo;Ua(),ms();const G=()=>z===oo;return Promise.resolve(x).then(re=>(G()&&(Po(re,Lo()),Ua(),ms()),Ju(re)),()=>(G()&&pi({available:!1,reason:ct.searchUnavailable}),{ok:!1,reason:ct.searchUnavailable}))}return Ua(),ms(),Ju(x)}if(typeof p.replaceAll!="function")return{ok:!1,reason:ct.operationUnavailable};const y=Tt(()=>p.replaceAll(typeof u=="string"?u:""),null);return Ua(),ms(),Ju(y)}},QA=hi(u=>u.styles),Gm=Ro(QA),bU={get:Gm.get,getSnapshot:Gm.getSnapshot,subscribe:Gm.subscribe,observe:Gm.observe,getCatalog:u=>fr(u).value,getQuickGallery:()=>QA.get().quickGallery,getActiveParagraphStyle:()=>ci(P.selection,Rr().cache).style},JA={select:jo,get state(){return P},selection:zA,commands:Xj,toolbar:Zj,comments:Jj,trackChanges:nU,contentControls:oU,fonts:iU,zoom:sU,document:aU,viewport:jm,metadata:hU,tables:mU,search:yU,styles:bU,formatPainter:{setPointerSelecting(u){U||(h={...h,pointerSelecting:u})},notifyPointerUp(){U||(h={...h,pointerSelecting:!1},OA())},setKeyboardSelecting(u){U||(h={...h,keyboardSelecting:u})},notifyKeyUp(){U||(h={...h,keyboardSelecting:!1},OA())},cancel(){U||Tm()},onModeChange(u){return U?()=>{}:(m.add(u),()=>m.delete(u))}},createScope:()=>{const u=[];return{select:(p,y)=>{const _=jo(p,y);return{get:_.get,subscribe:x=>{const z=_.subscribe(x);return u.push(z),z}}},dispose:()=>{for(const p of u.splice(0))p()}}},destroy:()=>{if(!U){U=!0,eV(zt,Ht),qe&&(clearTimeout(qe),qe=null),he&&(clearTimeout(he),he=null,Be=0),me?.timer&&(clearTimeout(me.timer),me.timer=null),me=null,lt&&(clearTimeout(lt),lt=null),po&&(clearTimeout(po),po=null),Cr&&Cr(),Cr=null,Go=null,Io=0,ii=0,wr.clear(),$t.clear(),Rn.clear(),Kr=null,Z.clear();for(const u of xi.splice(0))u();ui&&ui(),ui=null,zr=null,Vr&&Vr(),Vr=null,za=null,di&&di(),di=null,$i=null,Yo&&Yo(),Yo=null,To=null,F&&F(),F=null,hs=null,Se&&Se(),Se=null,W=null;for(const u of Qu)Vm(u);Qu.clear(),O.clear(),Hm.clear(),g+=1,m.clear(),oo+=1,oe.clear()}}};return $=JA,JA}var HV=[{value:"Arial",label:"Arial",previewFamily:"Arial, sans-serif"},{value:"Calibri",label:"Calibri",previewFamily:"Calibri, sans-serif"},{value:"Courier New",label:"Courier New",previewFamily:'"Courier New", monospace'},{value:"Georgia",label:"Georgia",previewFamily:"Georgia, serif"},{value:"Times New Roman",label:"Times New Roman",previewFamily:'"Times New Roman", serif'},{value:"Verdana",label:"Verdana",previewFamily:"Verdana, sans-serif"}];function $V(e){const t=e.trim(),n=t[0];if(n==='"'||n==="'"){const o=t.indexOf(n,1);if(o>0)return t.slice(1,o).trim()}const r=t.indexOf(",");return(r===-1?t:t.slice(0,r)).trim().replace(/^["']|["']$/g,"")}function GV(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||typeof n!="object")continue;const r=n,o=typeof r.logicalFamily=="string"?$V(r.logicalFamily):"";if(!o)continue;const i=typeof r.previewFamily=="string"&&r.previewFamily.trim()?r.previewFamily.trim():o;t.push({value:o,label:o,previewFamily:i})}return t}function WV(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||typeof n!="object")continue;const r=n,o=typeof r.value=="string"?r.value.trim():"";if(!o)continue;const i=typeof r.label=="string"&&r.label.trim()?r.label.trim():o,s=typeof r.previewFamily=="string"&&r.previewFamily.trim()?r.previewFamily.trim():o;t.push({value:o,label:i,previewFamily:s})}return t}function KV(e,t=[]){const n=[],r=new Set,o=s=>{const a=String(s.value).trim().toLowerCase();!a||r.has(a)||(r.add(a),n.push(s))};for(const s of e)o(s);const i=t.length?t:HV;for(const s of i)o(s);return n}var qV=[{value:"8",label:"8"},{value:"9",label:"9"},{value:"10",label:"10"},{value:"11",label:"11"},{value:"12",label:"12"},{value:"14",label:"14"},{value:"16",label:"16"},{value:"18",label:"18"},{value:"24",label:"24"},{value:"36",label:"36"}];function YV(e,t){return e.activeMark?t.activeMarks.includes(e.activeMark):!1}xt();var XV=['[data-sdt-type="structuredContent"][data-sdt-id]','[data-sdt-type="structuredContent"][data-sdt-container-id]','[data-sdt-container-type="structuredContent"][data-sdt-container-id]'].join(", "),ZV=Object.freeze(["#FF6B6B","#4ECDC4","#45B7D1","#FFA07A","#98D8C8","#F7DC6F","#BB8FCE","#85C1E2","#F1948A","#82E0AA","#F8C471","#AED6F1","#D7BDE2","#A3E4D7","#F0B27A","#AEB6BF","#E74C3C","#2ECC71","#3498DB","#E67E22","#1ABC9C","#9B59B6","#34495E","#F39C12"]);async function QV(e,t){const n=new y6.default;return e.forEach((r,o)=>{n.file(t[o],r)}),n.generateAsync({type:"blob",compression:"DEFLATE"})}function m2(e){return!!(e&&(e.synced===!0||e.isSynced===!0))}function xA(e){try{e.synced=!0}catch{}try{e.isSynced=!0}catch{}}function JV(e,t){if(!e)return()=>{};if(m2(e))return t(),()=>{};const n=typeof e.on=="function"?e.on.bind(e):null,r=typeof e.off=="function"?e.off.bind(e):null;if(!n)return t(),()=>{};let o=!1;const i=()=>{o||(o=!0,r?.("synced",a),r?.("sync",l))},s=()=>{o||(i(),t())},a=()=>{xA(e),s()},l=c=>{c!==!1&&(c===!0||m2(e))&&(xA(e),s())};return n("synced",a),n("sync",l),m2(e)&&s(),i}function ej(e,t){const n=e.composedPath();if(!n.includes(t))return null;const r=n.find(a=>a instanceof HTMLElement&&a.matches(XV));if(!r)return null;const o=n.some(a=>a instanceof HTMLElement&&a.classList.contains(tp.BLOCK_SDT_LABEL)),i=r.getAttribute("data-sdt-container-id")?.trim()||null,s=r.getAttribute("data-sdt-id")?.trim()||null;return o?i??s:s??i}function tj(e){if(!e||typeof e!="object")return[];const t=e.items;return Array.isArray(t)?t:[]}function nj(e){if(!e||typeof e.id!="string"||e.kind!=="inline"&&e.kind!=="block"||typeof e.controlType!="string")return null;const t=e.properties?.tag,n=e.properties?.alias;return{id:e.id,controlType:e.controlType,scope:e.kind,...typeof t=="string"&&t?{tag:t}:{},...typeof n=="string"&&n?{alias:n}:{}}}function oi(e){return!!(e&&typeof e=="object"&&e.editorVersion===2)}function rj(e){const t=e&&typeof e=="object"?e.code:null;return t==="comment-export-missing-story-reference"||t==="v2-worker-comment-export-mode-unsupported"}function EA(e){return typeof e=="string"&&e.length>0?e:null}function TA(e){return e?oi(e)?EA(e.documentId??e.options?.documentId??null):EA(typeof e.getDocumentId=="function"?e.getDocumentId():e.options?.documentId):null}function oj(e){if(!e||oi(e))return null;const t=e;return t.documentRenderer??t.presentationEditor??null}function rs(e){if(!e)return null;if(oi(e))return e.fonts??null;const t=oj(e);return t?{getReport:()=>t.getFontReport?.()??[],getMissingFonts:()=>t.getMissingFonts?.()??[],getDocumentFonts:()=>[...new Set((t.getFontReport?.()??[]).map(n=>n.logicalFamily))],getDocumentFontOptions:()=>t.getDocumentFontOptions?.()??[],getFontFamilyOptions:()=>t.getFontFamilyOptions?.()??[],getLastFontsChangedPayload:()=>t.getLastFontsChangedPayload?.()??null,map:n=>t.mapFonts(n),unmap:n=>t.unmapFonts(n),add:n=>t.addFonts(Array.isArray(n)?n:[n]),preload:n=>t.preloadFonts(n)}:null}var Cm=class extends Km.default{static{this.allowedTypes=[Fr,Zl,Zh]}#e;#n;#t;#r;#i;#s;#d;#h;#f;#c;#p;get uiConfig(){return this.#p}#o;get interactionConfig(){return this.#o}#l;get surfacesConfig(){return this.#l}#g;#u;#y;#w;constructor(e){if(super(),this.#e=!1,this.#n=!1,this.#t=null,this.#r=null,this.#i=null,this.#s=null,this.#d=null,this.#h=null,this.#f=n=>{this.#k(n)},this.#c=null,this.#p=V4({}),this.#o=j4({}),this.#l=H4({}),this.version="0.0.0",this.users=[],this.whiteboard=null,this.colors=[],this.readyEditors=0,this.pendingCollaborationSaves=0,this.#u=new XF,this.#y=null,this.#w=!1,this.config={selector:"#superdoc",documentMode:"editing",allowSelectionInViewMode:!1,role:"editor",document:{},documents:[],editorExtensions:[],colors:[],users:[],user:{...q0},layoutEngineOptions:{},modules:{},licenseKey:void 0,telemetry:{enabled:!0},title:"SuperDoc",conversations:[],isInternal:!1,comments:{visible:!1},toolbarGroups:["left","center","right"],toolbarIcons:{},toolbarTexts:{},uiDisplayFallbackFont:"Arial, Helvetica, sans-serif",isDev:!1,disablePiniaDevtools:!1,onEditorBeforeCreate:()=>null,onEditorCreate:()=>null,onEditorDestroy:()=>null,onSourceComplete:()=>null,onSourceSignalsComplete:()=>null,onContentError:()=>null,onReady:()=>null,onCommentsUpdate:()=>null,onContentControlActiveChange:()=>null,onContentControlClick:()=>null,onAwarenessUpdate:()=>null,onLocked:()=>null,onPdfDocumentReady:()=>null,onSidebarToggle:()=>null,onCollaborationReady:()=>null,onEditorUpdate:()=>null,onCommentsListChange:()=>null,onException:()=>null,onListDefinitionsChange:()=>null,onPaginationUpdate:()=>null,onTransaction:()=>null,disableContextMenu:!1,viewOptions:{layout:"print"},useLayoutEngine:!0},this.#Z=new WeakSet,this.#Q=null,this.#j=null,this.#M=null,!e.selector)throw new Error("SuperDoc: selector is required");const t=typeof e.selector=="string"?document.querySelector(e.selector):e.selector;if(!(t instanceof HTMLElement))throw new Error("SuperDoc: selector must be a valid CSS selector string or DOM element");this.#g=new BF({getModuleConfig:()=>this.#l}),this.#h=t,t.addEventListener("click",this.#f,!0),this.#I(e,t)}async#k(e){const t=this.#h;if(!t)return;const n=ej(e,t),r=this.activeEditor?.doc?.contentControls?.list;if(!(!n||typeof r!="function"))try{const o=await r();if(this.#e)return;const i=nj(tj(o).find(s=>s.id===n));i&&this.emit("content-control:click",{target:i,source:"pointer"})}catch{return}}async#I(e,t){this.config={...this.config,...e},!this.config.comments||typeof this.config.comments!="object"?this.config.comments={visible:!1}:typeof this.config.comments.visible!="boolean"&&(this.config.comments.visible=!1),GF(this.config),this.config.documents=this.config.documents||[],this.config.layoutEngineOptions=this.config.layoutEngineOptions||{};const n=this.config.viewOptions?.layout==="web",r=this.config.layoutEngineOptions?.flowMode==="semantic";if(n&&this.config.useLayoutEngine&&!r&&(console.warn("[SuperDoc] Web layout uses PM fallback unless layoutEngineOptions.flowMode is set to 'semantic'. Automatically disabling layout engine."),this.config.useLayoutEngine=!1),!n&&r&&(console.warn("[SuperDoc] flowMode 'semantic' is only valid with web layout. Coercing to 'paginated'."),this.config.layoutEngineOptions.flowMode="paginated"),this.editorVersion=2,this.#ye(),this.config.user=WF(this.config.user),this.config.layoutEngineOptions.virtualization||(this.config.layoutEngineOptions.virtualization={enabled:!0,window:5,overscan:1}),this.config.modules=this.config.modules||{},Object.prototype.hasOwnProperty.call(this.config.modules,"comments")||(this.config.modules.comments={}),this.config.modules.comments=Nk(this.config.modules.comments),this.#p=V4(this.config),this.#o=j4(this.config),this.#l=H4(this.config),this.config.disableContextMenu=!this.#p.contextMenu.enabled,this.config.rulers=this.#p.ruler.enabled,this.#p.comments.enabled?this.config.modules.comments===!1&&(this.config.modules.comments={}):this.config.modules.comments=!1,this.#p.comments.enabled){this.config.modules.comments===!0&&(this.config.modules.comments={});const i=this.config.modules.comments;i&&Object.assign(i,this.#o.comments)}if(this.config.colors=I6(this.config.colors),this.userColorMap=new Map,this.colorIndex=0,this.version="2.5.1",this.#C("πŸ¦‹ [superdoc] Using SuperDoc version:",this.version),this.superdocId=e.superdocId||gs(),this.colors=this.config.colors??[],this.#D(),await y8(),this.#e)return;if(await this.#b(this.config.modules),this.#e){this.#ue();return}this.config.cspNonce&&this.#P(),this.user=this.config.user,this.users=this.config.users||[],this.socket=null,this.isDev=this.config.isDev||!1,this.activeEditor=null,this.comments=[],this.#y||(this.#y=this.#u.subscribe(i=>{this.#we(i.nextRuntimeId,i.legacyEditorProjection)})),this.isLocked=this.config.isLocked||!1,this.lockedBy=this.config.lockedBy||null;const o=document.createElement("div");o.style.display="contents",t.appendChild(o),this.#d=o,this.#S(),this.#L(),this.#Ce(),this.#x()}#x(){if(this.#E(),this.readyEditors=0,!this.app)throw new Error("SuperDoc: #startRuntime called before #initVueApp populated this.app");this.app.mount(this.#d)}#L(){const e=this.config.modules?.whiteboard,t=e!==!1&&(e?.enabled??!1);this.whiteboard=new uD({Renderer:OF,superdoc:this,enabled:t}),this.emit("whiteboard:init",{whiteboard:this.whiteboard})}get requiredNumberOfEditors(){return this.#m("requiredNumberOfEditors").documents.filter(e=>e.type===Fr).length}get ui(){return this.#c||(this.#c=UV({superdoc:this}),this.#e&&this.#c.destroy()),this.#c}get state(){return{documents:this.#m("state").documents,users:this.users}}getDocumentRuntimeForDocument(e){return typeof e!="string"||e.length===0?null:(this.superdocStore?.documents??[]).find(t=>t?.getEditor?.()?.options?.documentId===e)?.getDocumentRuntime?.()??null}getComment(e){return typeof e!="string"||e.length===0?null:this.commentsStore?.getComment?.(e)??null}get element(){return typeof this.config.selector=="string"?document.querySelector(this.config.selector):this.config.selector}#P(){const e=this.config.cspNonce,t=document.createElement;document.createElement=function(n){const r=t.call(this,n);return n.toLowerCase()==="style"&&r.setAttribute("nonce",e),r}}#D(){const e=this.config.document,t=!!e&&typeof e=="object"&&Object.keys(e)?.length,n=!!e&&typeof e=="string"&&e.length>0,r=!!e&&typeof File=="function"&&e instanceof File,o=!!e&&e instanceof Blob&&!(e instanceof File),i=this.config.documents&&this.config.documents?.length;if(t&&i&&console.warn("πŸ¦‹ [superdoc] You can only provide one of document or documents"),t){const s=Kd(this.config.document);this.config.documents=[{id:gs(),...s}]}else if(n)this.config.documents=[{id:gs(),type:Fr,url:this.config.document,name:"document.docx"}];else if(r){const s=Kd(this.config.document);this.config.documents=[{id:gs(),...s}]}else if(o){const s=Kd(this.config.document);this.config.documents=[{id:gs(),...s}]}Array.isArray(this.config.documents)&&this.config.documents.length>0&&(this.config.documents=this.config.documents.map(s=>{const a=Kd(s);if(!a||typeof a!="object")return a;const l=typeof a=="object"&&"id"in a&&a.id||s&&typeof s=="object"&&"id"in s&&s.id;return{...a,id:l||gs()}}))}#E(){const{app:e,pinia:t,superdocStore:n,commentsStore:r,highContrastModeStore:o}=QP({disablePiniaDevtools:!!this.config.disablePiniaDevtools});this.app=e,this.pinia=t,this.app.config.globalProperties.$config=this.config,this.app.config.globalProperties.$documentMode=this.config.documentMode,this.app.config.globalProperties.$superdoc=this,this.app.provide("surfaceManager",this.#g),this.superdocStore=n,this.commentsStore=r,this.highContrastModeStore=o,typeof this.superdocStore.setExceptionHandler=="function"&&this.superdocStore.setExceptionHandler(s=>this.emit("exception",s)),this.superdocStore.init(this.config);const i=this.config.modules.comments;this.commentsStore.init(i||{}),this.isCollaborative&&r8(this),this.#ce()}#a(e,t){t&&this.on(e,t)}#S(){this.#a("editorBeforeCreate",this.config.onEditorBeforeCreate),this.#a("editorCreate",this.config.onEditorCreate),this.#a("editorDestroy",this.config.onEditorDestroy),this.#a("source:complete",this.config.onSourceComplete),this.#a("source:signals-complete",this.config.onSourceSignalsComplete),this.#a("ready",this.config.onReady),this.#a("comments-update",this.config.onCommentsUpdate),this.#a("content-control:active-change",this.config.onContentControlActiveChange),this.#a("content-control:click",this.config.onContentControlClick),this.#a("awareness-update",this.config.onAwarenessUpdate),this.#a("locked",this.config.onLocked),this.#a("pdf:document-ready",this.config.onPdfDocumentReady),this.#a("sidebar-toggle",this.config.onSidebarToggle),this.#a("collaboration-ready",this.config.onCollaborationReady),this.on("collaboration-ready",e=>this.#$(e?.editor??null)),this.#a("editor-update",this.config.onEditorUpdate),this.on("content-error",this.onContentError),this.#a("exception",this.config.onException),this.#a("list-definitions-change",this.config.onListDefinitionsChange),this.#a("pagination-update",this.config.onPaginationUpdate),this.#a("fonts-resolved",this.config.onFontsResolved),this.#a("fonts-changed",this.config.onFontsChanged),this.#a("zoomChange",this.config.onZoomChange),this.#a("viewport-change",this.config.onViewportChange)}async#b({collaboration:e}={}){return e?(this.isCollaborative=!1,this.config.documents.length===0&&(this.config.documents=[{id:gs(),type:Fr,name:"document.docx"}]),this.config.v2CollaborationPreflightFailure={code:"collaboration-v1-config-unsupported",message:"SuperDoc v2 cannot use modules.collaboration because it is the SuperDoc v1 collaboration API. SuperDoc did not attach the provider or change the document. Configure Document.v2Collaboration with a v2 room instead."},this.config.documents):this.config.documents}#ee(e,t){this.isCollaborative=!0,this._commentsCollabInitialized=!1,this.ydoc=eo(e),this.provider=eo(t),this.#_();const n=this.config;this._cleanupAwareness=QT(t,this,n.user),n.documents.forEach(r=>{r.ydoc=e,r.provider=t,r.role=this.config.role})}#H(){this.#s=null,this.#A(),typeof this._cleanupAwareness=="function"&&(this._cleanupAwareness(),this._cleanupAwareness=null),this.isCollaborative=!1,this._commentsCollabInitialized=!1,this.ydoc=void 0,this.provider=void 0;const e=this.config;delete e.modules.collaboration,e.documents.forEach(t=>{delete t.ydoc,delete t.provider})}#A(){if(this.#r){try{this.#r()}catch{}this.#r=null}if(this.#i){try{this.#i()}catch{}this.#i=null}}#$(e){this.#A(),oi(e)&&(this.#O(e),this.#T(e))}#O(e){const t=e.presence;if(!t||typeof t.subscribe!="function")return;const n=sD(()=>this.user),r=o=>{if(this.#e)return;const i=n.next(o);this.emit("awareness-update",{...i,superdoc:this})};try{const o=t.getSnapshot?.();o&&r(o),this.#r=t.subscribe(r)}catch(o){console.warn("[SuperDoc] v2 awareness bridge failed to subscribe",o)}}#T(e){const t=e.lock;if(!t||typeof t.subscribe!="function")return;const n=r=>{this.#e||this.#v(!!r.isLocked,this.#F(r.lockedBy??null))};try{if(this.#s&&typeof t.setLocked=="function"){const o=this.#s;t.setLocked(o.isLocked,o.isLocked?o.lockedBy:null),this.#s=null}const r=t.getSnapshot?.();r&&n(r),this.#i=t.subscribe(n)}catch(r){console.warn("[SuperDoc] v2 lock bridge failed to subscribe",r)}}#F(e){return!e||typeof e!="object"||Array.isArray(e)?null:{...e}}#G(e,t){return JSON.stringify(e??null)===JSON.stringify(t??null)}#v(e,t){this.isLocked===e&&this.#G(this.lockedBy,t)||(this.isLocked=e,this.lockedBy=t,this.#C("πŸ¦‹ [superdoc] Locking superdoc:",e,t,`
103
103
 
104
104
 
105
105
  `),this.emit("locked",{isLocked:e,lockedBy:t}))}#_(){const e=this.config.user;if(!e||e.color)return;const t=this.colors.length>0?this.colors:ZV,n=e.id||e.email||e.name||"";let r=5381;for(let o=0;o<n.length;o++)r=(r<<5)+r^n.charCodeAt(o);e.color=t[Math.abs(r)%t.length]}async upgradeToCollaboration(e){const{target:t}=this.#pe(e);this.#n=!0;try{const n=await this.#he(),r=this.#W(),o=this.#N();this.#K();try{this.#s=o;const i=await this.#de(t,n);this.#fe(i,t),this.#s=null}catch(i){throw this.#B(r),i}}finally{this.#t=null,this.#n=!1}}#N(){return{isLocked:this.isLocked,lockedBy:this.lockedBy?{...this.lockedBy}:null}}#W(){const e=this.config.documents.find(r=>r.type===Fr),t=this.superdocStore?.documents.find(r=>r.id===e.id)??null,n=t?bn(t):null;return{isCollaborative:this.isCollaborative,configV2Collaboration:e.v2Collaboration??null,configData:e.data,storeDoc:t,storeV2Collaboration:this.#Y(n),storeData:t?.data}}#B(e){this.#s=null;const t=this.config.documents.find(n=>n.type===Fr);t.v2Collaboration=e.configV2Collaboration,t.data=e.configData,this.isCollaborative=e.isCollaborative,e.storeDoc&&(e.storeDoc.data=e.storeData,this.#z(e.storeDoc,e.storeV2Collaboration))}#K(){if(this.#e)throw new Error("SuperDoc: instance was destroyed during upgrade")}#m(e){if(!this.superdocStore)throw new Error(`SuperDoc: ${e} requires the instance to be ready; wait for the "ready" event before calling.`);return this.superdocStore}#te(e){if(!this.commentsStore)throw new Error(`SuperDoc: ${e} requires the instance to be ready; wait for the "ready" event before calling.`);return this.commentsStore}#R(e){if(!this.superdocStore)throw new Error(`SuperDoc: ${e} requires the instance to be ready; wait for the "ready" event before calling.`)}#q(e,t){const n=this.superdocStore?.documents;if(Array.isArray(n))for(const r of n){const o=bn(r);o.ydoc&&typeof o.ydoc=="object"&&"value"in o.ydoc&&(o.ydoc.value=e),o.provider&&typeof o.provider=="object"&&"value"in o.provider&&(o.provider.value=t)}}#Y(e){if(!e)return null;const t=e.v2Collaboration;return t&&typeof t=="object"&&"value"in t?t.value:t??null}#z(e,t){const n=bn(e).v2Collaboration;if(n&&typeof n=="object"&&"value"in n){n.value=t;return}e.v2Collaboration=t}#ne(e){return e.providerFamily==="liveblocks"?{providerType:"liveblocks",documentId:e.documentId,roomMode:e.roomMode,...e.publicApiKey?{publicApiKey:e.publicApiKey}:{},...e.authEndpoint?{authEndpoint:e.authEndpoint}:{}}:e.providerFamily==="hocuspocus"?{providerType:"hocuspocus",documentId:e.documentId,roomMode:e.roomMode,...e.serverUrl?{serverUrl:e.serverUrl}:{},...e.params?{params:e.params}:{},...e.token?{token:e.token}:{}}:{providerType:"y-websocket",documentId:e.documentId,roomMode:e.roomMode,...e.serverUrl?{serverUrl:e.serverUrl}:{},...e.params?{params:e.params}:{}}}async#de(e,t){const n=this.config.documents.find(s=>s.type===Fr),r=this.#m("upgradeToCollaboration").documents.find(s=>s.id===n.id);if(!r)throw new Error("SuperDoc: source document store entry is not available for upgrade");const o=r.getEditor?.();if(!oi(o)||typeof o.upgradeToCollaboration!="function")throw new Error("SuperDoc: live v2 editor cannot attach collaboration in place");const i=this.#ne({...e,roomMode:"create"});return n.v2Collaboration=i,this.#z(r,i),this.isCollaborative=!0,await o.upgradeToCollaboration(t,i),n.data=t,r.data=t,{configDoc:n,storeDoc:r}}#fe(e,t){const n=this.#ne({...t,roomMode:"join"});e.configDoc.v2Collaboration=n,this.#z(e.storeDoc,n)}async#he(){const e=this.activeEditor;if(oi(e)&&typeof e.save=="function"){const r=await e.save();return this.#X(r)}const t=this.config.documents.find(r=>r.type===Fr),n=(this.superdocStore?.documents.find(r=>r.id===t.id)??null)?.data??t.data;if(n instanceof Blob)return n;if(n instanceof Uint8Array||n instanceof ArrayBuffer)return this.#X(n);throw new Error("SuperDoc: upgradeToCollaboration() requires a live v2 editor save or DOCX Blob source")}#X(e){if(e instanceof Blob)return e;if(e instanceof Uint8Array){const t=new Uint8Array(e.byteLength);return t.set(e),new Blob([t],{type:Fr})}if(e instanceof ArrayBuffer)return new Blob([e],{type:Fr});throw new Error("SuperDoc: active v2 editor returned an unsupported DOCX save payload")}#re(e,t){const n=TA(e),r=(n?this.config.documents.find(a=>a.id===n):null)??this.config.documents.find(a=>a.type==="application/vnd.openxmlformats-officedocument.wordprocessingml.document");if(!r)return;const o=this.#X(t),i=r.v2Collaboration&&typeof r.v2Collaboration=="object"&&r.v2Collaboration.roomMode==="create"?{...r.v2Collaboration,roomMode:"join"}:null;r.data=o,i&&(r.v2Collaboration=i);const s=this.superdocStore?.documents.find(a=>a.id===r.id)??null;s&&(s.data=o,i&&this.#z(s,i))}#Ae(){const e=this.superdocStore?.documents;if(!e?.length)throw new Error("SuperDoc: no store documents available for upgrade");const t=e[0].getDocumentRuntime?.()||e[0].getEditor?.();if(!t?.attachCollaboration)throw new Error("SuperDoc: editor does not support attachCollaboration");return t}#Ie(){this.#H(),this.#q(null,null)}#xe(e){const n=e.editor??e;return n.options?.collaborationIsReady?Promise.resolve():new Promise(r=>{let o=!1;const i=()=>{o||(o=!0,clearTimeout(s),typeof n.off=="function"&&n.off("collaborationReady",a))},s=setTimeout(()=>{i(),console.warn("[SuperDoc] collaborationReady did not fire within 10 s after collaboration attach. Continuing β€” collaboration is active but cursor/presence setup may be delayed."),r(void 0)},1e4),a=()=>{i(),r(void 0)};this.#t=()=>{i(),r(void 0)},typeof n.on=="function"?n.on("collaborationReady",a):(i(),r(void 0))})}#Ee(e){return new Promise((n,r)=>{let o,i=!1,s=()=>{};const a=()=>{i=!0,clearTimeout(o),s()};s=JV(e,()=>{i||(a(),n())}),i||(o=setTimeout(()=>{a(),r(new Error("SuperDoc: collaboration provider did not sync within 10000 ms. The provider exposes on/off but never emitted sync(true) or synced."))},1e4)),this.#t=()=>{i||(a(),r(new Error("SuperDoc: instance was destroyed during upgrade")))}})}#pe(e){if(this.#e)throw new Error("SuperDoc: cannot upgrade a destroyed instance");if(this.#n)throw new Error("SuperDoc: upgrade already in progress");if(this.isCollaborative)throw new Error("SuperDoc: instance is already collaborative");const t=this.config,n=t.documents.filter(c=>c.type===Fr);if(n.length===0)throw new Error("SuperDoc: no DOCX document found for upgrade");if(n.length>1)throw new Error("SuperDoc: upgradeToCollaboration() only supports a single DOCX document");if(t.documents.length!==n.length)throw new Error("SuperDoc: upgradeToCollaboration() only supports single-DOCX instances");if(!oi(this.#ge()))throw new Error("SuperDoc: upgradeToCollaboration() requires a ready v2 DOCX editor");const r=n[0],o=r.id;if(typeof o!="string"||o.length===0)throw new Error("SuperDoc: source document is missing its mounted document identity");const i=t.modules?.collaboration,s=e.ydoc||e.provider?{ydoc:e.ydoc,provider:e.provider}:i?{...i}:null,a=e.v2Collaboration??this.#me(r.v2Collaboration)??i?.v2Collaboration??i?.v2??null,l=YS({v2Collaboration:a,legacyCollaboration:s,documentType:Fr,documentCount:t.documents.length,...typeof window<"u"?{authEndpointBaseUrl:window.location.href}:{}});if(!l.ok)throw new Error(`SuperDoc: upgradeToCollaboration() ${l.reason}: ${l.message}`);return{target:l.target}}#me(e){return e&&typeof e=="object"&&"value"in e?e.value:e}#ge(){const e=this.config.documents.find(n=>n.type===Fr),t=this.#m("upgradeToCollaboration").documents.find(n=>n.id===e.id)?.getEditor?.();if(!t)throw new Error("SuperDoc: source editor not yet created β€” wait for the ready event before upgrading");return t}addSharedUser(e){this.#R("addSharedUser");const t=tu({actor:e});t&&this.users.some(n=>tu({actor:n})===t)||this.users.push(e)}removeSharedUser(e){this.#R("removeSharedUser");const t=typeof e=="string"?qv(e):"",n=typeof e=="string"?`email:${t}`:tu({actor:e});this.users=this.users.filter(r=>{const o=tu({actor:r});return n?o!==n:t?qv(r.email)!==t:!0})}onContentError({error:e,editor:t}){const n=t.options?.documentId,r=this.#m("onContentError").documents.find(i=>i.id===n),o=typeof r?.id=="string"?r.id:typeof n=="string"?n:"";this.config.onContentError?.({error:e,editor:t,documentId:o,file:r?.data})}broadcastPdfDocumentReady(){this.emit("pdf:document-ready")}broadcastReady(){this.readyEditors===this.requiredNumberOfEditors&&this.emit("ready",{superdoc:this})}broadcastEditorBeforeCreate(e){this.emit("editorBeforeCreate",{editor:M4(e)})}broadcastEditorCreate(e){this.readyEditors++,this.broadcastReady(),this.#ve(e),this.emit("editorCreate",{editor:M4(e)})}broadcastSourceComplete(){this.emit("source:complete")}broadcastSourceSignalsComplete(){this.emit("source:signals-complete")}#Z;#ve(e){if(!e||typeof e.on!="function"||this.#Z.has(e))return;this.#Z.add(e),e.on("fonts-changed",n=>{this.#oe(e)&&this.#V(n)});const t=(e.documentRenderer??e.presentationEditor)?.getLastFontsChangedPayload?.();t&&this.#oe(e)&&this.#V(t)}#oe(e){return!this.activeEditor||e===this.activeEditor}#Q;#V(e){this.#Q=e,this.emit("fonts-changed",e)}broadcastEditorDestroy(){this.emit("editorDestroy")}broadcastSidebarToggle(e){this.emit("sidebar-toggle",e)}#ye(){Array.isArray(this.config.editorExtensions)&&this.config.editorExtensions.length>0&&console.warn("[SuperDoc] `editorExtensions` is a legacy ProseMirror concept and is ignored by superdoc@2. Use `extensions` with `defineSuperDocExtension`; legacy ProseMirror extensions (Node.create, Mark.create, addPmPlugins, custom schema) do not run in v2.")}#C(...e){(console.debug?console.debug:console.log)("πŸ¦‹ πŸ¦Έβ€β™€οΈ [superdoc]",...e)}#j;get fonts(){return this.#j||(this.#j={getReport:()=>rs(this.activeEditor)?.getReport()??[],getMissingFonts:()=>rs(this.activeEditor)?.getMissingFonts()??[],getDocumentFontOptions:()=>rs(this.activeEditor)?.getDocumentFontOptions()??[],getFontFamilyOptions:()=>rs(this.activeEditor)?.getFontFamilyOptions()??[],getDocumentFonts:()=>rs(this.activeEditor)?.getDocumentFonts()??[],onReport:e=>{const t=this.activeEditor,n=t?rs(t)?.getLastFontsChangedPayload?.()??null:this.#Q??null;return n&&e(n),this.on("fonts-changed",e),()=>this.off("fonts-changed",e)},map:e=>{const t=rs(this.activeEditor);if(!t)throw new Error("superdoc.fonts.map requires an active editor");t.map(e)},unmap:e=>{const t=rs(this.activeEditor);if(!t)throw new Error("superdoc.fonts.unmap requires an active editor");t.unmap(e)},add:e=>{const t=rs(this.activeEditor);if(!t)throw new Error("superdoc.fonts.add requires an active editor");t.add(e)},preload:e=>{const t=rs(this.activeEditor);if(!t)throw new Error("superdoc.fonts.preload requires an active editor");return t.preload(e)}}),this.#j}#U(){const e=this.activeEditor!==null;this.#ie(),this.activeEditor=null,this.toolbar?.setActiveEditor?this.toolbar.setActiveEditor(null):this.toolbar&&(this.toolbar.activeEditor=null),e&&this.emit("active-editor-change")}#M;#ie(){if(this.#M){try{this.#M()}catch{}this.#M=null}}#be(e){this.#ie();const t=rs(e);if(!t?.onChanged)return;const n=t.getLastFontsChangedPayload?.();n&&this.#V(n),this.#M=t.onChanged(r=>this.#V(r))}#we(e,t){this.#w=!0;try{if(e===null){this.#U();return}this.#u.get(e)?.kind==="v2"&&oi(t)?this.#se(t):this.#U()}finally{this.#w=!1}}#se(e){if(oi(e)){!this.#w&&this.#u.getActive()&&this.#u.setActive(null,"set-active-v2-facade");const t=this.activeEditor;this.activeEditor=e,this.#be(e),this.toolbar?.setActiveEditor?.(e),t!==this.activeEditor&&this.emit("active-editor-change");return}this.#U()}setActiveEditor(e){this.#se(e)}getV2FeatureMatrix(){return[{feature:"source.docx-bytes",status:"supported",reason:"SuperDoc normalizes File/Blob/ArrayBuffer/Uint8Array DOCX inputs for the separate DOCX Engine dependency"},{feature:"source.url",status:"supported",reason:"shell-owned source normalization resolves URL-backed DOCX inputs before opening the injected v2 editor"},{feature:"source.blank",status:"supported",reason:"shell-owned blank-document seeding resolves to DOCX bytes before mounting the injected v2 editor"},{feature:"execution.browser-worker",status:"supported",reason:"the shipped public v2 shell opens DOCX documents through the browser-worker path by default when collaboration is not active"},{feature:"distribution.cdn-iife",status:"supported",reason:"the CDN/IIFE distribution ships the public bundle plus the emitted v2 browser-worker asset and opens DOCX documents through the worker-backed v2 runtime"},{feature:"docx.open-render",status:"supported",reason:"superdoc@2 opens and renders DOCX documents through its DOCX Engine dependency"},{feature:"docx.review-handles",status:"supported",reason:"Comment/tracked-change list + decide via v2 host handles"},{feature:"shell.toolbar",status:"supported",reason:"new SuperDoc({ toolbar }) mounts the rendered built-in toolbar shell and the superdoc.toolbar handle, both backed by the V2 command controller and the internal compatibility catalog. Explicit item-level limits stay fail-closed in the shared command matrix (for example search replace and copyFormat)."},{feature:"shell.rich-formatting",status:"supported",reason:"Rich inline, paragraph, and list formatting route through the V2 command controller and public Document API (format.* / styles.* / lists.*): bold, italic, underline, strikethrough, font family/size, text/highlight color, alignment, line spacing, linked styles, bullet/numbered lists, indent, and clear formatting."},{feature:"shell.comments-sidebar",status:"supported",reason:"ui-phase3-002: v2 comments adapter routes create/reply/edit/resolve/delete through V2EditorHost.dispatch"},{feature:"shell.comments-sidebar.reopen",status:"supported",reason:'ui-phase3-002: v2 comments sidebar reopens resolved threads through the v2 comments adapter (activeEditor.doc.comments.patch({ status: "active" }))'},{feature:"shell.tracked-change-sidebar",status:"supported",reason:"SD-3722: v2 tracked-change adapter lists and decides exact body, header/footer-part, and note targets"},{feature:"shell.tracked-change-sidebar.bulk",status:"supported",reason:"SD-4039/SD-4040: the shipped v2 command posture exposes all-story Accept All and Reject All through the canonical doc.trackChanges.decide({ target: { kind: 'all' } }) mutation"},{feature:"shell.tracked-change-sidebar.non-body",status:"supported",reason:"SD-3722: public v2 shell hydrates and targets header/footer-part and note tracked changes"},{feature:"shell.comments-sidebar.persistence",status:"supported",reason:"ui-phase3-004: comment create/reply/edit/resolve/delete persist through SuperDoc.export() β†’ re-mount via the v2 host save bridge"},{feature:"shell.tracked-change-sidebar.persistence",status:"supported",reason:"ui-phase3-004: tracked-change accept/reject persist through SuperDoc.export() β†’ re-mount via the v2 host save bridge"},{feature:"shell.comments-sidebar.author-required",status:"supported",reason:"ui-phase3-004: v2 comments adapter surfaces commentCommandsReason=author-required from the host capability matrix; write controls disable and forced dispatch reports ok:false"},{feature:"shell.find-replace",status:"supported",reason:"Ctrl/Cmd+F opens the SuperDoc find/replace surface in v2; find/navigation/replace/replaceAll route through the single host search session (host.search) via ui.search, with replace failing closed in viewing/read-only mode"},{feature:"shell.ai-writer",status:"supported",reason:"built-in toolbar renders the modules.ai-gated AI writer and applies generated text through the public Document API facade"},{feature:"shell.collaboration",status:"supported",reason:"v2 single-doc y-websocket collaboration is wired through document.v2Collaboration, including collaboration-ready, awareness-update, and locked event bridges; arbitrary external { ydoc, provider } adapters remain unsupported"},{feature:"shell.context-menu",status:"supported",reason:"v2 renders the built-in right-click and slash context menu, forwards ui.contextMenu custom items, and honors ui.contextMenu: false for application-owned replacements"},{feature:"shell.page-metrics",status:"supported",reason:"ui-phase4-001: v2 page metrics snapshot (editorVersion: 2, documentId, renderEpoch, layoutGeneration, zoom, pages[], capabilities) available via superdoc.activeEditor.pageMetrics.{ getSnapshot, subscribe, setZoom, scrollToPage, revealBodyTarget, pageIndexForBodyTarget }"},{feature:"shell.zoom",status:"supported",reason:"ui-phase4-001: SuperDoc.setZoom routes to V2EditorHost.setZoom in v2 mode; single CSS-transform wrapper applies scale to the painted document, page metrics viewport coords scale with the same zoom value"},{feature:"shell.ruler-page-margins",status:"supported",reason:"ui-phase4-002: v2 ruler renders against the V2PageMetricsSnapshot and dispatches margin drags through a narrow v2 page-layout bridge (`activeEditor.pageLayout.setMargins(...)`) backed by `doc.sections.setPageMargins(...)`. The v2 page metrics snapshot now reports `capabilities.marginEdit = { supported: true }`"},{feature:"shell.custom-extensions",status:"supported",reason:"superdoc@2 supports customer extensions through `extensions` + `defineSuperDocExtension`; command execution and diagnostics are exposed through the narrow `activeEditor.extensions` facet. Legacy ProseMirror `editorExtensions` are ignored in v2."},{feature:"pdf.viewer",status:"supported",reason:"editorVersion ignored for PDF documents"},{feature:"html.viewer",status:"supported",reason:"editorVersion ignored for HTML documents"}]}get v2(){return this.editorVersion!==2?null:{version:2,featureMatrix:this.getV2FeatureMatrix()}}registerEditorRuntime(e){this.#u.register(e)}unregisterEditorRuntime(e){return this.#u.unregister(e)}getActiveRuntime(){return this.#u.getActive()}setActiveRuntime(e,t){this.#u.setActive(e,t)}resolveRuntimeFromEventTarget(e){return this.#u.resolveFromEventTarget(e)}activateRuntimeFromEventTarget(e,t){const n=this.#u.resolveFromEventTarget(e);return n?(this.#u.setActive(n.id,t),!0):!1}toggleRuler(){const e=this.#m("toggleRuler");this.config.rulers=!this.config.rulers,e.documents.forEach(t=>{t.rulers=this.config.rulers}),this.toolbar?.updateToolbarState?.()}canPerformPermission({permission:e,role:t=this.config.role,isInternal:n=this.config.isInternal,comment:r=null,trackedChange:o=null}={}){if(!e)return!1;let i=r??o?.comment??null;const s=o?.commentId||o?.id;if(!i&&s&&this.commentsStore?.getComment){const l=this.commentsStore.getComment(s),c=l?.getValues;i=typeof c=="function"?c.call(l):l}const a={superdoc:this,currentUser:this.config.user,comment:i??null,trackedChange:o??null};return wa(e,t,n,a)}#Ce(){const e=this.config.modules?.toolbar,t=e&&typeof e=="object"?e:{},n=this.#p.toolbar;this.toolbarElement=n.container??void 0;const r=this.config.ui,o=typeof r=="object"&&r!==null&&r.toolbar!==void 0;if(!(n.enabled&&(n.container||e===!0||e!=null&&typeof e=="object"||o))){this.toolbar=null;return}try{this.toolbar=Bz({...t,...n.options,selector:this.toolbarElement,superdoc:this,editor:this.activeEditor,role:this.config.role,isDev:this.isDev,documentMode:this.config.documentMode,groups:n.options.groups,toolbarGroups:n.options.toolbarGroups,icons:n.options.icons,texts:n.options.texts,uiDisplayFallbackFont:this.config.uiDisplayFallbackFont})}catch(i){console.warn("[SuperDoc] built-in toolbar mount failed",i),this.toolbar=null}}addCommentsList(e){!this.config?.modules?.comments||this.config.role==="viewer"||(this.commentsList?.close(),e&&(this.config.modules.comments.element=e),this.commentsList=new FR(this.config.modules?.comments,this),this.config.onCommentsListChange&&this.config.onCommentsListChange({isRendered:!0}),this.emit("comments-list-change",{isRendered:!0}))}removeCommentsList(){this.commentsList&&(this.commentsList.close(),this.commentsList=null,this.config.onCommentsListChange&&this.config.onCommentsListChange({isRendered:!1}),this.emit("comments-list-change",{isRendered:!1}))}scrollToComment(e,t={}){if(!this.config?.modules?.comments||!e||typeof e!="string")return!1;const n=this.element||document,r=globalThis.CSS?.escape?globalThis.CSS.escape(e):e.replace(/"/g,'\\"'),o=n.querySelector(`[data-comment-ids*="${r}"]`);if(!o)return!1;const{behavior:i="smooth",block:s="start"}=t??{};return o.scrollIntoView({behavior:i,block:s}),this.commentsStore?.setActiveComment?.(this,e),!0}async navigateTo(e){const t=this.superdocStore?.documents;if(!t?.length)return!1;const n=t[0].getDocumentRuntime?.();return n?.navigateTo?n.navigateTo(e):!1}async scrollToElement(e){const t=this.superdocStore?.documents;if(!t?.length)return!1;const n=t[0].getDocumentRuntime?.();return n?.scrollToElement?n.scrollToElement(e):!1}setDisableContextMenu(e=!0){if(!e&&this.#p.contextMenu.suppressed)return;const t=!!e;this.config.disableContextMenu!==t&&(this.config.disableContextMenu=t,this.superdocStore?.documents?.forEach(n=>{const r=n.getDocumentRuntime?.();r?.setContextMenuDisabled&&r.setContextMenuDisabled(t);const o=n.getEditor?.();o?.setOptions&&o.setOptions({disableContextMenu:t})}))}setShowBookmarks(e=!0){const t=!!e,n=this.config.layoutEngineOptions=this.config.layoutEngineOptions||{};n.showBookmarks!==t&&(n.showBookmarks=t,this.superdocStore?.documents?.forEach(r=>{r.getDocumentRuntime?.()?.setShowBookmarks?.(t)}))}setShowFormattingMarks(e=!0){const t=!!e,n=this.config.layoutEngineOptions=this.config.layoutEngineOptions||{};n.showFormattingMarks!==t&&(n.showFormattingMarks=t,this.superdocStore?.documents?.forEach(r=>{r.getDocumentRuntime?.()?.setShowFormattingMarks?.(t)}),this.emit("formatting-marks-change",{showFormattingMarks:t,superdoc:this}),this.toolbar?.updateToolbarState?.())}toggleFormattingMarks(){const e=!!this.config.layoutEngineOptions?.showFormattingMarks;this.setShowFormattingMarks(!e)}setDocumentMode(e){if(!e)return;this.#R("setDocumentMode"),e=e.toLowerCase(),this.config.documentMode=e,this.#ce();const t={viewing:()=>this.#le(),editing:()=>this.#ke(),suggesting:()=>this.#ae()};t[e]&&(t[e](),this.emit("document-mode-change",{documentMode:e}))}#J(e,t){const n=typeof e.id=="string"&&e.id.length>0?e.id:null;if(n){const i=this.#u.getAllByDocumentId(n);if(i.length>0){for(const s of i)s.setDocumentMode(t);return}}const r=typeof e.getDocumentRuntime=="function"?e.getDocumentRuntime():null;if(typeof r?.setDocumentMode=="function"){r.setDocumentMode(t);return}const o=typeof e.getEditor=="function"?e.getEditor():null;o&&typeof o.setDocumentMode=="function"&&o.setDocumentMode(t)}setTrackedChangesPreferences(e){const t=e&&Object.keys(e).length?{...e}:void 0;this.config.layoutEngineOptions||(this.config.layoutEngineOptions={}),this.config.layoutEngineOptions.trackedChanges=t,this.superdocStore?.documents?.forEach(n=>{const r=typeof n.getDocumentRuntime=="function"?n.getDocumentRuntime():null;r?.setTrackedChangesOverrides&&r.setTrackedChangesOverrides(t)})}#ke(){if(this.config.role!=="editor")return this.#ae();const e=this.#m("setDocumentMode");if(e.documents.length>0){const t=e.documents[0]?.getEditor();t&&this.setActiveEditor(t)}this.setTrackedChangesPreferences({mode:"review",enabled:!0}),e.documents.forEach(t=>{t.restoreComments?.(),this.#J(t,"editing")})}#ae(){if(!["editor","suggester"].includes(this.config.role??""))return this.#le();const e=this.#m("setDocumentMode");if(e.documents.length>0){const t=e.documents[0]?.getEditor();t&&this.setActiveEditor(t)}this.setTrackedChangesPreferences({mode:"review",enabled:!0}),e.documents.forEach(t=>{t.restoreComments?.(),this.#J(t,"suggesting")})}#le(){const e=this.#m("setDocumentMode");this.toolbar?.setActiveEditor?this.toolbar.setActiveEditor(null):this.toolbar&&(this.toolbar.activeEditor=null);const t=this.config.comments?.visible===!0,n=this.config.trackChanges?.visible===!0;this.setTrackedChangesPreferences(n?{mode:"review",enabled:!0}:{mode:"original",enabled:!0}),!t&&!n&&this.commentsStore?.clearEditorCommentPositions?.(),e.documents.forEach(r=>{t||n?r.restoreComments?.():r.removeComments?.(),this.#J(r,"viewing")})}#ce(){const e=this.config.comments?.visible===!0,t=this.config.trackChanges?.visible===!0,n=this.config.documentMode==="viewing",r=e||t;this.commentsStore?.setViewingVisibility&&this.commentsStore.setViewingVisibility({documentMode:this.config.documentMode,commentsVisible:e,trackChangesVisible:t});const o=this.superdocStore?.documents;Array.isArray(o)&&o.length>0&&o.forEach(i=>{const s=typeof i.getDocumentRuntime=="function"?i.getDocumentRuntime():null;s?.setViewingCommentOptions&&s.setViewingCommentOptions({emitCommentPositionsInViewing:n&&r,enableCommentsInViewing:n&&e})})}search(e){const t=this.activeEditor?.commands,n=t?.search;if(typeof n=="function")return n.call(t,e,{searchModel:"visible"})}goToSearchResult(e){const t=this.activeEditor?.commands,n=t?.goToSearchResult;if(typeof n=="function")return!!n.call(t,e)}getZoom(){return this.superdocStore?.activeZoom??100}setZoom(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0){console.warn("[SuperDoc] setZoom expects a positive number representing percentage");return}if(!this.superdocStore){console.warn("[SuperDoc] setZoom called before initialization; use config.zoom.initial for the starting zoom");return}this.superdocStore.activeZoom=e,this.superdocStore.zoomMode="manual",this.emit("zoomChange",{zoom:e,mode:"manual"})}setZoomMode(e){if(e!=="manual"&&e!=="fit-width"){console.warn("[SuperDoc] setZoomMode expects 'manual' or 'fit-width'");return}if(!this.superdocStore){console.warn("[SuperDoc] setZoomMode called before initialization; use config.zoom.mode for the starting mode");return}this.superdocStore.zoomMode!==e&&(this.superdocStore.zoomMode=e,this.emit("zoomChange",{zoom:this.getZoom(),mode:e}))}getZoomState(){const e=Mk(this.config.zoom?.fitWidth);return{mode:this.superdocStore?.zoomMode??"manual",value:this.superdocStore?.activeZoom??100,fitZoom:this.superdocStore?.viewportMetrics?.fitZoom??null,min:e.min,max:e.max}}getViewportMetrics(){return this.superdocStore?.viewportMetrics??null}getMeasurementUnit(){return this.superdocStore?.measurementUnit??"in"}setMeasurementUnit(e){if(e!=="in"&&e!=="cm"){console.warn("[SuperDoc] setMeasurementUnit expects 'in' or 'cm'");return}if(!this.superdocStore){console.warn("[SuperDoc] setMeasurementUnit called before initialization; use config.measurementUnit for the starting unit");return}this.superdocStore.measurementUnit!==e&&(this.superdocStore.measurementUnit=e,this.emit("measurement-unit-change",{unit:e}))}setLocked(e=!0){const t=this.activeEditor;if(oi(t)&&typeof t.lock?.setLocked=="function"){t.lock.setLocked(e,e?{...this.user}:null);const n=t.lock.getSnapshot?.();n&&this.#v(!!n.isLocked,this.#F(n.lockedBy??null));return}this.config.documents.forEach(n=>{const r=n.ydoc;if(!r)return;const o=r.getMap("meta");r.transact(()=>{o.set("locked",e),e?o.set("lockedBy",this.user):o.delete("lockedBy")})}),this.#v(e,e?this.user:null)}getHTML(e={}){const t=[];return this.#m("getHTML").documents.forEach(n=>{const r=n.getEditor?.();r&&t.push(r)}),t.map(n=>n.getHTML(e))}lockSuperdoc(e=!1,t=null){this.#v(e,t)}async export({exportType:e=["docx"],commentsType:t="external",exportedName:n,additionalFiles:r=[],additionalFileNames:o=[],isFinalDoc:i=!1,triggerDownload:s=!0,fieldsHighlightColor:a=null}={}){const l=b_(n||this.config.title),c=await this.exportEditorsToDOCX({commentsType:t,isFinalDoc:i,fieldsHighlightColor:a}),d=[...r],f=[...o];if(e.includes("docx")&&c.forEach(g=>{d.push(g),f.push(`${l}.docx`)}),d.length===1)return s?y_(d[0],l,e[0]):d[0];const h=await QV(d,f);return s?y_(h,l,"zip"):h}async replaceFile(e){const t=this.activeEditor;if(oi(t)&&typeof t.replaceFile=="function"){const r=await t.replaceFile(e),o=r&&typeof r=="object"?r.state:null;return(o===null||o==="review-ready"||o==="editing-ready")&&(this.#re(t,e),this.emit("document-replaced",{editor:t,host:t?.host})),r}const n=t&&!oi(t)?t.replaceFile:null;if(typeof n=="function"){const r=await n.call(t,e),o=r&&typeof r=="object"?r.state:void 0;return(o==null||o==="review-ready"||o==="editing-ready")&&(this.#re(t,e),this.emit("document-replaced",{editor:t,host:t?.host})),r}throw new Error("SuperDoc: replaceFile is unavailable for the active editor")}async exportEditorsToDOCX({commentsType:e,isFinalDoc:t,fieldsHighlightColor:n}={}){const r=this.config?.modules?.comments!==!1;let o,i=!1;const s=()=>(i||(i=!0,e==="clean"?o=[]:r&&this.commentsStore&&typeof this.commentsStore.translateCommentsForExport=="function"&&(o=this.commentsStore.translateCommentsForExport(),Array.isArray(o)||(o=[]))),o),a=new WeakSet,l=c=>{"editor"in c&&c.error&&typeof c.error=="object"&&a.add(c.error)};this.on("exception",l);try{const c=this.#m("exportEditorsToDOCX").documents.map(async d=>{if(!d||d.type!=="application/vnd.openxmlformats-officedocument.wordprocessingml.document")return null;const f=typeof d.getEditor=="function"?d.getEditor():null,h=()=>!d.data||d.data.type&&d.data.type!=="application/vnd.openxmlformats-officedocument.wordprocessingml.document"?null:d.data;if(!f||typeof f.exportDocx!="function")return h();const g=f.editorVersion===2;try{const m=await f.exportDocx(g?{isFinalDoc:t,commentsType:e,fieldsHighlightColor:n}:{isFinalDoc:t,comments:s(),commentsType:e,fieldsHighlightColor:n});if(m)return m}catch(m){if((!m||typeof m!="object"||!a.has(m))&&this.emit("exception",{error:m,document:d}),g&&(e==="clean"||rj(m)))throw m}return h()});return(await Promise.all(c)).filter(d=>d!=null)}finally{this.off("exception",l)}}async#Se(){this.#C("πŸ¦‹ [superdoc] Triggering collaboration saves");const e=this.#m("save");return new Promise(t=>{e.documents.forEach((n,r)=>{if(this.#C(`Before reset - Doc ${r}: pending = ${this.pendingCollaborationSaves}`),this.pendingCollaborationSaves=0,n.ydoc){this.pendingCollaborationSaves++,this.#C(`After increment - Doc ${r}: pending = ${this.pendingCollaborationSaves}`);const o=n.ydoc.getMap("meta");o.observe(i=>{i.changes.keys.has("immediate-save-finished")&&(this.pendingCollaborationSaves--,this.pendingCollaborationSaves<=0&&t())}),o.set("immediate-save",!0)}}),this.#C(`FINAL pending = ${this.pendingCollaborationSaves}, but we have ${e.documents.filter(n=>n.ydoc).length} docs!`)})}async save(){const e=[this.#Se()];this.#C("πŸ¦‹ [superdoc] Saving superdoc"),await Promise.all(e),this.#C("πŸ¦‹ [superdoc] Save complete")}#_e(e,t){const n=e.provider;n&&n!==this.provider&&!t.some(o=>o.provider===n)&&(n.disconnect?.(),n.destroy?.());const r=e.ydoc;r&&r!==this.ydoc&&!t.some(o=>o.ydoc===r)&&r.destroy?.()}#ue(){this.#s=null,this.#A(),typeof this._cleanupAwareness=="function"&&(this._cleanupAwareness(),this._cleanupAwareness=null);const e=this.config;e.socket?.cancelWebsocketRetry?.(),e.socket?.disconnect(),e.socket?.destroy(),this.ydoc?.destroy(),this.provider?.disconnect?.(),this.provider?.destroy?.(),e.documents.forEach(t=>{t.provider?.disconnect?.(),t.provider?.destroy?.(),t.ydoc?.destroy()})}openSurface(e){return this.#g.open(e)}closeSurface(e){this.#g.close(e)}async removeDocument(e){const t=typeof e=="string"?e:String(e??"");if(!t)return!1;const n=this.#m("removeDocument"),r=this.activeEditor,o=TA(r);for(const s of this.#u.getAllByDocumentId(t))this.#u.unregister(s.id);o===t&&r!==null&&this.#U();const i=n.removeDocument(t);return i?(this.#_e(i,n.documents),await _t(),!0):!1}destroy(){this.#e=!0,this.#h?.removeEventListener("click",this.#f,!0),this.#h=null,this.#t&&(this.#t(),this.#t=null),this.#g&&this.#g.destroy(),this.toolbar?.destroy?.(),this.commentsList?.close(),this.commentsList=null,this.app&&(this.#C("[superdoc] Unmounting app"),this.superdocStore?.reset(),this.app.unmount(),this.removeAllListeners(),delete this.app.config.globalProperties.$config,delete this.app.config.globalProperties.$superdoc),this.#c?.destroy(),this.#ue(),this.#y?.(),this.#y=null,this.#u.clear(),this.#d&&(this.#d.remove(),this.#d=null)}focus(e={}){const t=this.getActiveRuntime();if(t?.getCapabilities().lifecycle.canFocus){t.focus(e).catch(n=>{console.warn("[SuperDoc] active editor runtime focus failed",n)});return}this.activeEditor?oi(this.activeEditor)?this.activeEditor.focus?.(e):this.activeEditor.focus?.():this.#m("focus").documents.find(n=>{const r=n.getEditor?.();return r?(oi(r)?r.focus?.(e):r.focus?.(),!0):!1})}setHighContrastMode(e){this.activeEditor&&(this.activeEditor.setHighContrastMode?.(e),this.highContrastModeStore?.setHighContrastMode(e))}};xt();var RA="__SUPERDOC_V2_BROWSER_RUNTIME__";function ij(e=globalThis){const t=e[RA];return t&&typeof t=="object"?t:null}function sj(e={},t=globalThis){const n=ij(t)??{},r={...n,...e,vue:e.vue??n.vue??m6};return t[RA]=r,r}sj();var aj={action:"--sd-ui-action",actionHover:"--sd-ui-action-hover",actionText:"--sd-ui-action-text",bg:"--sd-ui-bg",hoverBg:"--sd-ui-hover-bg",activeBg:"--sd-ui-active-bg",disabledBg:"--sd-ui-disabled-bg",text:"--sd-ui-text",textMuted:"--sd-ui-text-muted",textDisabled:"--sd-ui-text-disabled",border:"--sd-ui-border"},lj=0;function MA(e){const{name:t,font:n,radius:r,shadow:o,colors:i,vars:s}=e,a=`sd-theme-${(t?t.replace(/[^a-zA-Z0-9-_]/g,"-"):null)||`custom-${++lj}`}`,l=[];if(i)for(const[c,d]of Object.entries(i)){if(d==null)continue;const f=aj[c];f&&l.push(` ${f}: ${d};`)}if(n!=null&&l.push(` --sd-ui-font-family: ${n};`),r!=null&&l.push(` --sd-ui-radius: ${r};`),o!=null&&l.push(` --sd-ui-shadow: ${o};`),s)for(const[c,d]of Object.entries(s))d!=null&&l.push(` ${c}: ${d};`);return{className:a,css:l.length>0?`.${a} {
106
106
  ${l.join(`
107
107
  `)}
108
- }`:""}}function cj(e,t){if(typeof document>"u"||!t)return;let n=document.querySelector(`[data-sd-theme="${e}"]`);n||(n=document.createElement("style"),n.setAttribute("data-sd-theme",e),document.head.appendChild(n)),n.textContent=t}function uj(e){const{className:t,css:n}=MA(e);return cj(t,n),t}function dj(e){return MA(e)}function fj(e){if(!e||typeof e!="object")throw new Error("defineSuperDocExtension requires an extension object.");if(typeof e.id!="string"||e.id.length===0)throw new Error("defineSuperDocExtension requires a non-empty string `id`.");if(typeof e.activate!="function")throw new Error(`defineSuperDocExtension("${e.id}") requires an \`activate(ctx)\` function.`);if(e.storage!==void 0&&typeof e.storage!="function")throw new Error(`defineSuperDocExtension("${e.id}") \`storage\` must be a function returning the initial storage object.`);return e}var hj=td({BlankDOCX:()=>ak,DOCX:()=>Fr,HTML:()=>Zh,PDF:()=>Zl,SuperDoc:()=>Cm,buildTheme:()=>dj,compareVersions:()=>S6,createTheme:()=>uj,defineSuperDocExtension:()=>fj,getFileObject:()=>Yv}),pj="SUPERDOC_ENGINE_CDN_BASE_URL",LA=Symbol.for("superdoc.docx-engine.cdn-load-state"),km="superdocDocxEngineStatus";function mj(e,t,n=null){const r=e?.[pj],o=typeof r=="string"&&r.trim()?r:n;if(typeof o=="string"&&o.trim())return gj(o);if(!t)throw new Error("SuperDoc: the CDN build is missing its exact DOCX Engine version");return`https://cdn.jsdelivr.net/npm/@superdoc/docx-engine@${t}`}function gj(e){const t=e.trim().replace(/\/+$/,""),n=t.match(/^([a-z][a-z\d+.-]*):/iu)?.[1]?.toLowerCase();if(n&&n!=="http"&&n!=="https")throw new TypeError(`SuperDoc: unsupported DOCX Engine CDN URL scheme ${n}:`);return t}function vj({engineVersion:e,buildBaseUrl:t}){g8(()=>{const n=mj(globalThis,e,t),r=globalThis[LA],o=r instanceof Map?r:new Map;if(globalThis[LA]=o,!o.has(n)){const i=Promise.all([import(`${n}/dist-cdn/docx-engine.es.js`),yj(`${n}/dist-cdn/style.css`)]).then(([s])=>s);o.set(n,i),i.catch(()=>{o.get(n)===i&&o.delete(n)})}return o.get(n)})}function yj(e){if(typeof document>"u")return Promise.resolve();const t=new URL(e,document.baseURI).href,n=Array.from(document.querySelectorAll('link[rel~="stylesheet"]')).find(o=>o.href===t);if(n?.sheet||n?.dataset[km]==="loaded")return Promise.resolve();const r=n?.dataset[km]==="loading";return n&&!r&&n.remove(),new Promise((o,i)=>{const s=r?n:document.createElement("link");let a=!1,l;const c=(g,m)=>{a||(a=!0,l?.disconnect(),s.dataset[km]=g,m())},d=()=>c("loaded",o),f=()=>c("error",()=>i(new Error(`SuperDoc: failed to load DOCX Engine styles from ${t}`))),h=()=>{s.isConnected||c("error",()=>i(new Error(`SuperDoc: DOCX Engine stylesheet was removed while loading from ${t}`)))};s.addEventListener("load",d,{once:!0}),s.addEventListener("error",f,{once:!0}),typeof globalThis.MutationObserver=="function"&&(l=new globalThis.MutationObserver(h),l.observe(document.head,{childList:!0})),r||(s.rel="stylesheet",s.href=t,s.dataset.superdocDocxEngine="true",s.dataset[km]="loading",document.head.appendChild(s))})}vj({engineVersion:"0.3.0-next.60",buildBaseUrl:null});for(const[e,t]of Object.entries(hj))e==="SuperDoc"||e==="default"||Object.prototype.hasOwnProperty.call(Cm,e)||(Cm[e]=t);var bj=Cm;return bj})();
108
+ }`:""}}function cj(e,t){if(typeof document>"u"||!t)return;let n=document.querySelector(`[data-sd-theme="${e}"]`);n||(n=document.createElement("style"),n.setAttribute("data-sd-theme",e),document.head.appendChild(n)),n.textContent=t}function uj(e){const{className:t,css:n}=MA(e);return cj(t,n),t}function dj(e){return MA(e)}function fj(e){if(!e||typeof e!="object")throw new Error("defineSuperDocExtension requires an extension object.");if(typeof e.id!="string"||e.id.length===0)throw new Error("defineSuperDocExtension requires a non-empty string `id`.");if(typeof e.activate!="function")throw new Error(`defineSuperDocExtension("${e.id}") requires an \`activate(ctx)\` function.`);if(e.storage!==void 0&&typeof e.storage!="function")throw new Error(`defineSuperDocExtension("${e.id}") \`storage\` must be a function returning the initial storage object.`);return e}var hj=td({BlankDOCX:()=>ak,DOCX:()=>Fr,HTML:()=>Zh,PDF:()=>Zl,SuperDoc:()=>Cm,buildTheme:()=>dj,compareVersions:()=>S6,createTheme:()=>uj,defineSuperDocExtension:()=>fj,getFileObject:()=>Yv}),pj="SUPERDOC_ENGINE_CDN_BASE_URL",LA=Symbol.for("superdoc.docx-engine.cdn-load-state"),km="superdocDocxEngineStatus";function mj(e,t,n=null){const r=e?.[pj],o=typeof r=="string"&&r.trim()?r:n;if(typeof o=="string"&&o.trim())return gj(o);if(!t)throw new Error("SuperDoc: the CDN build is missing its exact DOCX Engine version");return`https://cdn.jsdelivr.net/npm/@superdoc/docx-engine@${t}`}function gj(e){const t=e.trim().replace(/\/+$/,""),n=t.match(/^([a-z][a-z\d+.-]*):/iu)?.[1]?.toLowerCase();if(n&&n!=="http"&&n!=="https")throw new TypeError(`SuperDoc: unsupported DOCX Engine CDN URL scheme ${n}:`);return t}function vj({engineVersion:e,buildBaseUrl:t}){g8(()=>{const n=mj(globalThis,e,t),r=globalThis[LA],o=r instanceof Map?r:new Map;if(globalThis[LA]=o,!o.has(n)){const i=Promise.all([import(`${n}/dist-cdn/docx-engine.es.js`),yj(`${n}/dist-cdn/style.css`)]).then(([s])=>s);o.set(n,i),i.catch(()=>{o.get(n)===i&&o.delete(n)})}return o.get(n)})}function yj(e){if(typeof document>"u")return Promise.resolve();const t=new URL(e,document.baseURI).href,n=Array.from(document.querySelectorAll('link[rel~="stylesheet"]')).find(o=>o.href===t);if(n?.sheet||n?.dataset[km]==="loaded")return Promise.resolve();const r=n?.dataset[km]==="loading";return n&&!r&&n.remove(),new Promise((o,i)=>{const s=r?n:document.createElement("link");let a=!1,l;const c=(g,m)=>{a||(a=!0,l?.disconnect(),s.dataset[km]=g,m())},d=()=>c("loaded",o),f=()=>c("error",()=>i(new Error(`SuperDoc: failed to load DOCX Engine styles from ${t}`))),h=()=>{s.isConnected||c("error",()=>i(new Error(`SuperDoc: DOCX Engine stylesheet was removed while loading from ${t}`)))};s.addEventListener("load",d,{once:!0}),s.addEventListener("error",f,{once:!0}),typeof globalThis.MutationObserver=="function"&&(l=new globalThis.MutationObserver(h),l.observe(document.head,{childList:!0})),r||(s.rel="stylesheet",s.href=t,s.dataset.superdocDocxEngine="true",s.dataset[km]="loading",document.head.appendChild(s))})}vj({engineVersion:"0.4.0",buildBaseUrl:null});for(const[e,t]of Object.entries(hj))e==="SuperDoc"||e==="default"||Object.prototype.hasOwnProperty.call(Cm,e)||(Cm[e]=t);var bj=Cm;return bj})();