@byomakase/omakase-player 0.2.1 → 0.2.2

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.
@@ -1,13 +1,13 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ze=require("hls.js");var Nl=Math.PI/180;function Gl(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const ii=typeof global<"u"?global:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},D={_global:ii,version:"8.3.14",isBrowser:Gl(),isUnminified:/param/.test(function(r){}.toString()),dblClickWindow:400,getAngle(r){return D.angleDeg?r*Nl:r},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return D.DD.isDragging},isDragReady(){return!!D.DD.node},releaseCanvasOnDestroy:!0,document:ii.document,_injectGlobal(r){ii.Konva=r}},ge=r=>{D[r.prototype.getClassName()]=r};D._injectGlobal(D);class Ge{constructor(e=[1,0,0,1,0,0]){this.dirty=!1,this.m=e&&e.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 Ge(this.m)}copyInto(e){e.m[0]=this.m[0],e.m[1]=this.m[1],e.m[2]=this.m[2],e.m[3]=this.m[3],e.m[4]=this.m[4],e.m[5]=this.m[5]}point(e){var t=this.m;return{x:t[0]*e.x+t[2]*e.y+t[4],y:t[1]*e.x+t[3]*e.y+t[5]}}translate(e,t){return this.m[4]+=this.m[0]*e+this.m[2]*t,this.m[5]+=this.m[1]*e+this.m[3]*t,this}scale(e,t){return this.m[0]*=e,this.m[1]*=e,this.m[2]*=t,this.m[3]*=t,this}rotate(e){var t=Math.cos(e),i=Math.sin(e),s=this.m[0]*t+this.m[2]*i,n=this.m[1]*t+this.m[3]*i,a=this.m[0]*-i+this.m[2]*t,o=this.m[1]*-i+this.m[3]*t;return this.m[0]=s,this.m[1]=n,this.m[2]=a,this.m[3]=o,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(e,t){var i=this.m[0]+this.m[2]*t,s=this.m[1]+this.m[3]*t,n=this.m[2]+this.m[0]*e,a=this.m[3]+this.m[1]*e;return this.m[0]=i,this.m[1]=s,this.m[2]=n,this.m[3]=a,this}multiply(e){var t=this.m[0]*e.m[0]+this.m[2]*e.m[1],i=this.m[1]*e.m[0]+this.m[3]*e.m[1],s=this.m[0]*e.m[2]+this.m[2]*e.m[3],n=this.m[1]*e.m[2]+this.m[3]*e.m[3],a=this.m[0]*e.m[4]+this.m[2]*e.m[5]+this.m[4],o=this.m[1]*e.m[4]+this.m[3]*e.m[5]+this.m[5];return this.m[0]=t,this.m[1]=i,this.m[2]=s,this.m[3]=n,this.m[4]=a,this.m[5]=o,this}invert(){var e=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),t=this.m[3]*e,i=-this.m[1]*e,s=-this.m[2]*e,n=this.m[0]*e,a=e*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),o=e*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=t,this.m[1]=i,this.m[2]=s,this.m[3]=n,this.m[4]=a,this.m[5]=o,this}getMatrix(){return this.m}decompose(){var e=this.m[0],t=this.m[1],i=this.m[2],s=this.m[3],n=this.m[4],a=this.m[5],o=e*s-t*i;let h={x:n,y:a,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(e!=0||t!=0){var l=Math.sqrt(e*e+t*t);h.rotation=t>0?Math.acos(e/l):-Math.acos(e/l),h.scaleX=l,h.scaleY=o/l,h.skewX=(e*i+t*s)/o,h.skewY=0}else if(i!=0||s!=0){var d=Math.sqrt(i*i+s*s);h.rotation=Math.PI/2-(s>0?Math.acos(-i/d):-Math.acos(i/d)),h.scaleX=o/d,h.scaleY=d,h.skewX=0,h.skewY=(e*i+t*s)/o}return h.rotation=y._getRotation(h.rotation),h}}var Dl="[object Array]",Fl="[object Number]",Hl="[object String]",Bl="[object Boolean]",$l=Math.PI/180,Vl=180/Math.PI,ns="#",zl="",Wl="0",Ul="Konva warning: ",Cn="Konva error: ",Zl="rgb(",as={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]},jl=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,rr=[];const Xl=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(r){setTimeout(r,60)},y={_isElement(r){return!!(r&&r.nodeType==1)},_isFunction(r){return!!(r&&r.constructor&&r.call&&r.apply)},_isPlainObject(r){return!!r&&r.constructor===Object},_isArray(r){return Object.prototype.toString.call(r)===Dl},_isNumber(r){return Object.prototype.toString.call(r)===Fl&&!isNaN(r)&&isFinite(r)},_isString(r){return Object.prototype.toString.call(r)===Hl},_isBoolean(r){return Object.prototype.toString.call(r)===Bl},isObject(r){return r instanceof Object},isValidSelector(r){if(typeof r!="string")return!1;var e=r[0];return e==="#"||e==="."||e===e.toUpperCase()},_sign(r){return r===0||r>0?1:-1},requestAnimFrame(r){rr.push(r),rr.length===1&&Xl(function(){const e=rr;rr=[],e.forEach(function(t){t()})})},createCanvasElement(){var r=document.createElement("canvas");try{r.style=r.style||{}}catch{}return r},createImageElement(){return document.createElement("img")},_isInDocument(r){for(;r=r.parentNode;)if(r==document)return!0;return!1},_urlToImage(r,e){var t=y.createImageElement();t.onload=function(){e(t)},t.src=r},_rgbToHex(r,e,t){return((1<<24)+(r<<16)+(e<<8)+t).toString(16).slice(1)},_hexToRgb(r){r=r.replace(ns,zl);var e=parseInt(r,16);return{r:e>>16&255,g:e>>8&255,b:e&255}},getRandomColor(){for(var r=(Math.random()*16777215<<0).toString(16);r.length<6;)r=Wl+r;return ns+r},getRGB(r){var e;return r in as?(e=as[r],{r:e[0],g:e[1],b:e[2]}):r[0]===ns?this._hexToRgb(r.substring(1)):r.substr(0,4)===Zl?(e=jl.exec(r.replace(/ /g,"")),{r:parseInt(e[1],10),g:parseInt(e[2],10),b:parseInt(e[3],10)}):{r:0,g:0,b:0}},colorToRGBA(r){return r=r||"black",y._namedColorToRBA(r)||y._hex3ColorToRGBA(r)||y._hex6ColorToRGBA(r)||y._rgbColorToRGBA(r)||y._rgbaColorToRGBA(r)||y._hslColorToRGBA(r)},_namedColorToRBA(r){var e=as[r.toLowerCase()];return e?{r:e[0],g:e[1],b:e[2],a:1}:null},_rgbColorToRGBA(r){if(r.indexOf("rgb(")===0){r=r.match(/rgb\(([^)]+)\)/)[1];var e=r.split(/ *, */).map(Number);return{r:e[0],g:e[1],b:e[2],a:1}}},_rgbaColorToRGBA(r){if(r.indexOf("rgba(")===0){r=r.match(/rgba\(([^)]+)\)/)[1];var e=r.split(/ *, */).map((t,i)=>t.slice(-1)==="%"?i===3?parseInt(t)/100:parseInt(t)/100*255:Number(t));return{r:e[0],g:e[1],b:e[2],a:e[3]}}},_hex6ColorToRGBA(r){if(r[0]==="#"&&r.length===7)return{r:parseInt(r.slice(1,3),16),g:parseInt(r.slice(3,5),16),b:parseInt(r.slice(5,7),16),a:1}},_hex3ColorToRGBA(r){if(r[0]==="#"&&r.length===4)return{r:parseInt(r[1]+r[1],16),g:parseInt(r[2]+r[2],16),b:parseInt(r[3]+r[3],16),a:1}},_hslColorToRGBA(r){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(r)){const[e,...t]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(r),i=Number(t[0])/360,s=Number(t[1])/100,n=Number(t[2])/100;let a,o,h;if(s===0)return h=n*255,{r:Math.round(h),g:Math.round(h),b:Math.round(h),a:1};n<.5?a=n*(1+s):a=n+s-n*s;const l=2*n-a,d=[0,0,0];for(let u=0;u<3;u++)o=i+1/3*-(u-1),o<0&&o++,o>1&&o--,6*o<1?h=l+(a-l)*6*o:2*o<1?h=a:3*o<2?h=l+(a-l)*(2/3-o)*6:h=l,d[u]=h*255;return{r:Math.round(d[0]),g:Math.round(d[1]),b:Math.round(d[2]),a:1}}},haveIntersection(r,e){return!(e.x>r.x+r.width||e.x+e.width<r.x||e.y>r.y+r.height||e.y+e.height<r.y)},cloneObject(r){var e={};for(var t in r)this._isPlainObject(r[t])?e[t]=this.cloneObject(r[t]):this._isArray(r[t])?e[t]=this.cloneArray(r[t]):e[t]=r[t];return e},cloneArray(r){return r.slice(0)},degToRad(r){return r*$l},radToDeg(r){return r*Vl},_degToRad(r){return y.warn("Util._degToRad is removed. Please use public Util.degToRad instead."),y.degToRad(r)},_radToDeg(r){return y.warn("Util._radToDeg is removed. Please use public Util.radToDeg instead."),y.radToDeg(r)},_getRotation(r){return D.angleDeg?y.radToDeg(r):r},_capitalize(r){return r.charAt(0).toUpperCase()+r.slice(1)},throw(r){throw new Error(Cn+r)},error(r){console.error(Cn+r)},warn(r){D.showWarnings&&console.warn(Ul+r)},each(r,e){for(var t in r)e(t,r[t])},_inRange(r,e,t){return e<=r&&r<t},_getProjectionToSegment(r,e,t,i,s,n){var a,o,h,l=(r-t)*(r-t)+(e-i)*(e-i);if(l==0)a=r,o=e,h=(s-t)*(s-t)+(n-i)*(n-i);else{var d=((s-r)*(t-r)+(n-e)*(i-e))/l;d<0?(a=r,o=e,h=(r-s)*(r-s)+(e-n)*(e-n)):d>1?(a=t,o=i,h=(t-s)*(t-s)+(i-n)*(i-n)):(a=r+d*(t-r),o=e+d*(i-e),h=(a-s)*(a-s)+(o-n)*(o-n))}return[a,o,h]},_getProjectionToLine(r,e,t){var i=y.cloneObject(r),s=Number.MAX_VALUE;return e.forEach(function(n,a){if(!(!t&&a===e.length-1)){var o=e[(a+1)%e.length],h=y._getProjectionToSegment(n.x,n.y,o.x,o.y,r.x,r.y),l=h[0],d=h[1],u=h[2];u<s&&(i.x=l,i.y=d,s=u)}}),i},_prepareArrayForTween(r,e,t){var i,s=[],n=[];if(r.length>e.length){var a=e;e=r,r=a}for(i=0;i<r.length;i+=2)s.push({x:r[i],y:r[i+1]});for(i=0;i<e.length;i+=2)n.push({x:e[i],y:e[i+1]});var o=[];return n.forEach(function(h){var l=y._getProjectionToLine(h,s,t);o.push(l.x),o.push(l.y)}),o},_prepareToStringify(r){var e;r.visitedByCircularReferenceRemoval=!0;for(var t in r)if(r.hasOwnProperty(t)&&r[t]&&typeof r[t]=="object"){if(e=Object.getOwnPropertyDescriptor(r,t),r[t].visitedByCircularReferenceRemoval||y._isElement(r[t]))if(e.configurable)delete r[t];else return null;else if(y._prepareToStringify(r[t])===null)if(e.configurable)delete r[t];else return null}return delete r.visitedByCircularReferenceRemoval,r},_assign(r,e){for(var t in e)r[t]=e[t];return r},_getFirstPointerId(r){return r.touches?r.changedTouches[0].identifier:r.pointerId||999},releaseCanvas(...r){D.releaseCanvasOnDestroy&&r.forEach(e=>{e.width=0,e.height=0})}};function It(r){return y._isString(r)?'"'+r+'"':Object.prototype.toString.call(r)==="[object Number]"||y._isBoolean(r)?r:Object.prototype.toString.call(r)}function Oa(r){return r>255?255:r<0?0:Math.round(r)}function k(){if(D.isUnminified)return function(r,e){return y._isNumber(r)||y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a number.'),r}}function Ma(r){if(D.isUnminified)return function(e,t){let i=y._isNumber(e),s=y._isArray(e)&&e.length==r;return!i&&!s&&y.warn(It(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or Array<number>('+r+")"),e}}function Js(){if(D.isUnminified)return function(r,e){var t=y._isNumber(r),i=r==="auto";return t||i||y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a number or "auto".'),r}}function pi(){if(D.isUnminified)return function(r,e){return y._isString(r)||y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a string.'),r}}function La(){if(D.isUnminified)return function(r,e){const t=y._isString(r),i=Object.prototype.toString.call(r)==="[object CanvasGradient]"||r&&r.addColorStop;return t||i||y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a string or a native gradient.'),r}}function ql(){if(D.isUnminified)return function(r,e){const t=Int8Array?Object.getPrototypeOf(Int8Array):null;return t&&r instanceof t||(y._isArray(r)?r.forEach(function(i){y._isNumber(i)||y.warn('"'+e+'" attribute has non numeric element '+i+". Make sure that all elements are numbers.")}):y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a array of numbers.')),r}}function qe(){if(D.isUnminified)return function(r,e){var t=r===!0||r===!1;return t||y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a boolean.'),r}}function Yl(r){if(D.isUnminified)return function(e,t){return e==null||y.isObject(e)||y.warn(It(e)+' is a not valid value for "'+t+'" attribute. The value should be an object with properties '+r),e}}var _i="get",wi="set";const g={addGetterSetter(r,e,t,i,s){g.addGetter(r,e,t),g.addSetter(r,e,i,s),g.addOverloadedGetterSetter(r,e)},addGetter(r,e,t){var i=_i+y._capitalize(e);r.prototype[i]=r.prototype[i]||function(){var s=this.attrs[e];return s===void 0?t:s}},addSetter(r,e,t,i){var s=wi+y._capitalize(e);r.prototype[s]||g.overWriteSetter(r,e,t,i)},overWriteSetter(r,e,t,i){var s=wi+y._capitalize(e);r.prototype[s]=function(n){return t&&n!==void 0&&n!==null&&(n=t.call(this,n,e)),this._setAttr(e,n),i&&i.call(this),this}},addComponentsGetterSetter(r,e,t,i,s){var n=t.length,a=y._capitalize,o=_i+a(e),h=wi+a(e),l,d;r.prototype[o]=function(){var c={};for(l=0;l<n;l++)d=t[l],c[d]=this.getAttr(e+a(d));return c};var u=Yl(t);r.prototype[h]=function(c){var p=this.attrs[e],f;i&&(c=i.call(this,c)),u&&u.call(this,c,e);for(f in c)c.hasOwnProperty(f)&&this._setAttr(e+a(f),c[f]);return c||t.forEach(m=>{this._setAttr(e+a(m),void 0)}),this._fireChangeEvent(e,p,c),s&&s.call(this),this},g.addOverloadedGetterSetter(r,e)},addOverloadedGetterSetter(r,e){var t=y._capitalize(e),i=wi+t,s=_i+t;r.prototype[e]=function(){return arguments.length?(this[i](arguments[0]),this):this[s]()}},addDeprecatedGetterSetter(r,e,t,i){y.error("Adding deprecated "+e);var s=_i+y._capitalize(e),n=e+" property is deprecated and will be removed soon. Look at Konva change log for more information.";r.prototype[s]=function(){y.error(n);var a=this.attrs[e];return a===void 0?t:a},g.addSetter(r,e,i,function(){y.error(n)}),g.addOverloadedGetterSetter(r,e)},backCompat(r,e){y.each(e,function(t,i){var s=r.prototype[i],n=_i+y._capitalize(t),a=wi+y._capitalize(t);function o(){s.apply(this,arguments),y.error('"'+t+'" method is deprecated and will be removed soon. Use ""'+i+'" instead.')}r.prototype[t]=o,r.prototype[n]=o,r.prototype[a]=o})},afterSetFilter(){this._filterUpToDate=!1}};function Kl(r){var e=[],t=r.length,i=y,s,n;for(s=0;s<t;s++)n=r[s],i._isNumber(n)?n=Math.round(n*1e3)/1e3:i._isString(n)||(n=n+""),e.push(n);return e}var En=",",Jl="(",Ql=")",eh="([",th="])",ih=";",rh="()",sh="=",kn=["arc","arcTo","beginPath","bezierCurveTo","clearRect","clip","closePath","createLinearGradient","createPattern","createRadialGradient","drawImage","ellipse","fill","fillText","getImageData","createImageData","lineTo","moveTo","putImageData","quadraticCurveTo","rect","restore","rotate","save","scale","setLineDash","setTransform","stroke","strokeText","transform","translate"],nh=["fillStyle","strokeStyle","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","font","textAlign","textBaseline","globalAlpha","globalCompositeOperation","imageSmoothingEnabled"];const ah=100;class Ur{constructor(e){this.canvas=e,D.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){var i=this.traceArr,s=i.length,n="",a,o,h,l;for(a=0;a<s;a++)o=i[a],h=o.method,h?(l=o.args,n+=h,e?n+=rh:y._isArray(l[0])?n+=eh+l.join(En)+th:(t&&(l=l.map(d=>typeof d=="number"?Math.floor(d):d)),n+=Jl+l.join(En)+Ql)):(n+=o.property,e||(n+=sh+o.val)),n+=ih;return n}clearTrace(){this.traceArr=[]}_trace(e){var t=this.traceArr,i;t.push(e),i=t.length,i>=ah&&t.shift()}reset(){var e=this.getCanvas().getPixelRatio();this.setTransform(1*e,0,0,1*e,0,0)}getCanvas(){return this.canvas}clear(e){var 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){var t=e.getLineCap();t&&this.setAttr("lineCap",t)}_applyOpacity(e){var t=e.getAbsoluteOpacity();t!==1&&this.setAttr("globalAlpha",t)}_applyLineJoin(e){var t=e.attrs.lineJoin;t&&this.setAttr("lineJoin",t)}setAttr(e,t){this._context[e]=t}arc(e,t,i,s,n,a){this._context.arc(e,t,i,s,n,a)}arcTo(e,t,i,s,n){this._context.arcTo(e,t,i,s,n)}beginPath(){this._context.beginPath()}bezierCurveTo(e,t,i,s,n,a){this._context.bezierCurveTo(e,t,i,s,n,a)}clearRect(e,t,i,s){this._context.clearRect(e,t,i,s)}clip(){this._context.clip()}closePath(){this._context.closePath()}createImageData(e,t){var i=arguments;if(i.length===2)return this._context.createImageData(e,t);if(i.length===1)return this._context.createImageData(e)}createLinearGradient(e,t,i,s){return this._context.createLinearGradient(e,t,i,s)}createPattern(e,t){return this._context.createPattern(e,t)}createRadialGradient(e,t,i,s,n,a){return this._context.createRadialGradient(e,t,i,s,n,a)}drawImage(e,t,i,s,n,a,o,h,l){var d=arguments,u=this._context;d.length===3?u.drawImage(e,t,i):d.length===5?u.drawImage(e,t,i,s,n):d.length===9&&u.drawImage(e,t,i,s,n,a,o,h,l)}ellipse(e,t,i,s,n,a,o,h){this._context.ellipse(e,t,i,s,n,a,o,h)}isPointInPath(e,t){return this._context.isPointInPath(e,t)}fill(e){e?this._context.fill(e):this._context.fill()}fillRect(e,t,i,s){this._context.fillRect(e,t,i,s)}strokeRect(e,t,i,s){this._context.strokeRect(e,t,i,s)}fillText(e,t,i,s){s?this._context.fillText(e,t,i,s):this._context.fillText(e,t,i)}measureText(e){return this._context.measureText(e)}getImageData(e,t,i,s){return this._context.getImageData(e,t,i,s)}lineTo(e,t){this._context.lineTo(e,t)}moveTo(e,t){this._context.moveTo(e,t)}rect(e,t,i,s){this._context.rect(e,t,i,s)}putImageData(e,t,i){this._context.putImageData(e,t,i)}quadraticCurveTo(e,t,i,s){this._context.quadraticCurveTo(e,t,i,s)}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,i,s,n,a){this._context.setTransform(e,t,i,s,n,a)}stroke(e){e?this._context.stroke(e):this._context.stroke()}strokeText(e,t,i,s){this._context.strokeText(e,t,i,s)}transform(e,t,i,s,n,a){this._context.transform(e,t,i,s,n,a)}translate(e,t){this._context.translate(e,t)}_enableTrace(){var e=this,t=kn.length,i=this.setAttr,s,n,a=function(o){var h=e[o],l;e[o]=function(){return n=Kl(Array.prototype.slice.call(arguments,0)),l=h.apply(e,arguments),e._trace({method:o,args:n}),l}};for(s=0;s<t;s++)a(kn[s]);e.setAttr=function(){i.apply(e,arguments);var o=arguments[0],h=arguments[1];(o==="shadowOffsetX"||o==="shadowOffsetY"||o==="shadowBlur")&&(h=h/this.canvas.getPixelRatio()),e._trace({property:o,val:h})}}_applyGlobalCompositeOperation(e){const t=e.attrs.globalCompositeOperation;var i=!t||t==="source-over";i||this.setAttr("globalCompositeOperation",t)}}nh.forEach(function(r){Object.defineProperty(Ur.prototype,r,{get(){return this._context[r]},set(e){this._context[r]=e}})});class oh extends Ur{constructor(e){super(e),this._context=e._canvas.getContext("2d")}_fillColor(e){var t=e.fill();this.setAttr("fillStyle",t),e._fillFunc(this)}_fillPattern(e){this.setAttr("fillStyle",e._getFillPattern()),e._fillFunc(this)}_fillLinearGradient(e){var t=e._getLinearGradient();t&&(this.setAttr("fillStyle",t),e._fillFunc(this))}_fillRadialGradient(e){var t=e._getRadialGradient();t&&(this.setAttr("fillStyle",t),e._fillFunc(this))}_fill(e){var t=e.fill(),i=e.getFillPriority();if(t&&i==="color"){this._fillColor(e);return}var s=e.getFillPatternImage();if(s&&i==="pattern"){this._fillPattern(e);return}var n=e.getFillLinearGradientColorStops();if(n&&i==="linear-gradient"){this._fillLinearGradient(e);return}var a=e.getFillRadialGradientColorStops();if(a&&i==="radial-gradient"){this._fillRadialGradient(e);return}t?this._fillColor(e):s?this._fillPattern(e):n?this._fillLinearGradient(e):a&&this._fillRadialGradient(e)}_strokeLinearGradient(e){var t=e.getStrokeLinearGradientStartPoint(),i=e.getStrokeLinearGradientEndPoint(),s=e.getStrokeLinearGradientColorStops(),n=this.createLinearGradient(t.x,t.y,i.x,i.y);if(s){for(var a=0;a<s.length;a+=2)n.addColorStop(s[a],s[a+1]);this.setAttr("strokeStyle",n)}}_stroke(e){var t=e.dash(),i=e.getStrokeScaleEnabled();if(e.hasStroke()){if(!i){this.save();var s=this.getCanvas().getPixelRatio();this.setTransform(s,0,0,s,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)");var n=e.getStrokeLinearGradientColorStops();n?this._strokeLinearGradient(e):this.setAttr("strokeStyle",e.stroke()),e._strokeFunc(this),i||this.restore()}}_applyShadow(e){var t,i,s,n=(t=e.getShadowRGBA())!==null&&t!==void 0?t:"black",a=(i=e.getShadowBlur())!==null&&i!==void 0?i:5,o=(s=e.getShadowOffset())!==null&&s!==void 0?s:{x:0,y:0},h=e.getAbsoluteScale(),l=this.canvas.getPixelRatio(),d=h.x*l,u=h.y*l;this.setAttr("shadowColor",n),this.setAttr("shadowBlur",a*Math.min(Math.abs(d),Math.abs(u))),this.setAttr("shadowOffsetX",o.x*d),this.setAttr("shadowOffsetY",o.y*u)}}class lh extends Ur{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()){var t=e.getStrokeScaleEnabled();if(!t){this.save();var i=this.getCanvas().getPixelRatio();this.setTransform(i,0,0,i,0,0)}this._applyLineCap(e);var s=e.hitStrokeWidth(),n=s==="auto"?e.strokeWidth():s;this.setAttr("lineWidth",n),this.setAttr("strokeStyle",e.colorKey),e._strokeFuncHit(this),t||this.restore()}}}var sr;function hh(){if(sr)return sr;var r=y.createCanvasElement(),e=r.getContext("2d");return sr=function(){var t=D._global.devicePixelRatio||1,i=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return t/i}(),y.releaseCanvas(r),sr}class Zr{constructor(e){this.pixelRatio=1,this.width=0,this.height=0,this.isCache=!1;var t=e||{},i=t.pixelRatio||D.pixelRatio||hh();this.pixelRatio=i,this._canvas=y.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){var 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";var t=this.pixelRatio,i=this.getContext()._context;i.scale(t,t)}setHeight(e){this.height=this._canvas.height=e*this.pixelRatio,this._canvas.style.height=e+"px";var t=this.pixelRatio,i=this.getContext()._context;i.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(s){return y.error("Unable to get data URL. "+s.message+" For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html."),""}}}}g.addGetterSetter(Zr,"pixelRatio",void 0,k());class ri extends Zr{constructor(e={width:0,height:0}){super(e),this.context=new oh(this),this.setSize(e.width,e.height)}}class Qs extends Zr{constructor(e={width:0,height:0}){super(e),this.hitCanvas=!0,this.context=new lh(this),this.setSize(e.width,e.height)}}const re={get isDragging(){var r=!1;return re._dragElements.forEach(e=>{e.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return re._dragElements.forEach(e=>{r=e.node}),r},_dragElements:new Map,_drag(r){const e=[];re._dragElements.forEach((t,i)=>{const{node:s}=t,n=s.getStage();n.setPointersPositions(r),t.pointerId===void 0&&(t.pointerId=y._getFirstPointerId(r));const a=n._changedPointerPositions.find(l=>l.id===t.pointerId);if(a){if(t.dragStatus!=="dragging"){var o=s.dragDistance(),h=Math.max(Math.abs(a.x-t.startPointerPos.x),Math.abs(a.y-t.startPointerPos.y));if(h<o||(s.startDrag({evt:r}),!s.isDragging()))return}s._setDragPosition(r,t),e.push(s)}}),e.forEach(t=>{t.fire("dragmove",{type:"dragmove",target:t,evt:r},!0)})},_endDragBefore(r){const e=[];re._dragElements.forEach(t=>{const{node:i}=t,s=i.getStage();if(r&&s.setPointersPositions(r),!s._changedPointerPositions.find(o=>o.id===t.pointerId))return;(t.dragStatus==="dragging"||t.dragStatus==="stopped")&&(re.justDragged=!0,D._mouseListenClick=!1,D._touchListenClick=!1,D._pointerListenClick=!1,t.dragStatus="stopped");const a=t.node.getLayer()||t.node instanceof D.Stage&&t.node;a&&e.indexOf(a)===-1&&e.push(a)}),e.forEach(t=>{t.draw()})},_endDragAfter(r){re._dragElements.forEach((e,t)=>{e.dragStatus==="stopped"&&e.node.fire("dragend",{type:"dragend",target:e.node,evt:r},!0),e.dragStatus!=="dragging"&&re._dragElements.delete(t)})}};D.isBrowser&&(window.addEventListener("mouseup",re._endDragBefore,!0),window.addEventListener("touchend",re._endDragBefore,!0),window.addEventListener("mousemove",re._drag),window.addEventListener("touchmove",re._drag),window.addEventListener("mouseup",re._endDragAfter,!1),window.addEventListener("touchend",re._endDragAfter,!1));var vr="absoluteOpacity",nr="allEventListeners",ot="absoluteTransform",xn="absoluteScale",Ft="canvas",dh="Change",uh="children",ch="konva",_s="listening",Pn="mouseenter",An="mouseleave",On="set",Mn="Shape",yr=" ",Ln="stage",Et="transform",fh="Stage",ws="visible",ph=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(yr);let mh=1;class x{constructor(e){this._id=mh++,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(e),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(e){(e===Et||e===ot)&&this._cache.get(e)?this._cache.get(e).dirty=!0:e?this._cache.delete(e):this._cache.clear()}_getCache(e,t){var i=this._cache.get(e),s=e===Et||e===ot,n=i===void 0||s&&i.dirty===!0;return n&&(i=t.call(this),this._cache.set(e,i)),i}_calculate(e,t,i){if(!this._attachedDepsListeners.get(e)){const s=t.map(n=>n+"Change.konva").join(yr);this.on(s,()=>{this._clearCache(e)}),this._attachedDepsListeners.set(e,!0)}return this._getCache(e,i)}_getCanvasCache(){return this._cache.get(Ft)}_clearSelfAndDescendantCache(e){this._clearCache(e),e===ot&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(Ft)){const{scene:e,filter:t,hit:i}=this._cache.get(Ft);y.releaseCanvas(e,t,i),this._cache.delete(Ft)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(e){var t=e||{},i={};(t.x===void 0||t.y===void 0||t.width===void 0||t.height===void 0)&&(i=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var s=Math.ceil(t.width||i.width),n=Math.ceil(t.height||i.height),a=t.pixelRatio,o=t.x===void 0?Math.floor(i.x):t.x,h=t.y===void 0?Math.floor(i.y):t.y,l=t.offset||0,d=t.drawBorder||!1,u=t.hitCanvasPixelRatio||1;if(!s||!n){y.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}s+=l*2+1,n+=l*2+1,o-=l,h-=l;var c=new ri({pixelRatio:a,width:s,height:n}),p=new ri({pixelRatio:a,width:0,height:0}),f=new Qs({pixelRatio:u,width:s,height:n}),m=c.getContext(),v=f.getContext();return f.isCache=!0,c.isCache=!0,this._cache.delete(Ft),this._filterUpToDate=!1,t.imageSmoothingEnabled===!1&&(c.getContext()._context.imageSmoothingEnabled=!1,p.getContext()._context.imageSmoothingEnabled=!1),m.save(),v.save(),m.translate(-o,-h),v.translate(-o,-h),this._isUnderCache=!0,this._clearSelfAndDescendantCache(vr),this._clearSelfAndDescendantCache(xn),this.drawScene(c,this),this.drawHit(f,this),this._isUnderCache=!1,m.restore(),v.restore(),d&&(m.save(),m.beginPath(),m.rect(0,0,s,n),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(Ft,{scene:c,filter:p,hit:f,x:o,y:h}),this._requestDraw(),this}isCached(){return this._cache.has(Ft)}getClientRect(e){throw new Error('abstract "getClientRect" method call')}_transformedRect(e,t){var i=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height}],s,n,a,o,h=this.getAbsoluteTransform(t);return i.forEach(function(l){var d=h.point(l);s===void 0&&(s=a=d.x,n=o=d.y),s=Math.min(s,d.x),n=Math.min(n,d.y),a=Math.max(a,d.x),o=Math.max(o,d.y)}),{x:s,y:n,width:a-s,height:o-n}}_drawCachedSceneCanvas(e){e.save(),e._applyOpacity(this),e._applyGlobalCompositeOperation(this);const t=this._getCanvasCache();e.translate(t.x,t.y);var i=this._getCachedSceneCanvas(),s=i.pixelRatio;e.drawImage(i._canvas,0,0,i.width/s,i.height/s),e.restore()}_drawCachedHitCanvas(e){var t=this._getCanvasCache(),i=t.hit;e.save(),e.translate(t.x,t.y),e.drawImage(i._canvas,0,0,i.width/i.pixelRatio,i.height/i.pixelRatio),e.restore()}_getCachedSceneCanvas(){var e=this.filters(),t=this._getCanvasCache(),i=t.scene,s=t.filter,n=s.getContext(),a,o,h,l;if(e){if(!this._filterUpToDate){var d=i.pixelRatio;s.setSize(i.width/i.pixelRatio,i.height/i.pixelRatio);try{for(a=e.length,n.clear(),n.drawImage(i._canvas,0,0,i.getWidth()/d,i.getHeight()/d),o=n.getImageData(0,0,s.getWidth(),s.getHeight()),h=0;h<a;h++){if(l=e[h],typeof l!="function"){y.error("Filter should be type of function, but got "+typeof l+" instead. Please check correct filters");continue}l.call(this,o),n.putImageData(o,0,0)}}catch(u){y.error("Unable to apply filter. "+u.message+" This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.")}this._filterUpToDate=!0}return s}return i}on(e,t){if(this._cache&&this._cache.delete(nr),arguments.length===3)return this._delegate.apply(this,arguments);var i=e.split(yr),s=i.length,n,a,o,h,l;for(n=0;n<s;n++)a=i[n],o=a.split("."),h=o[0],l=o[1]||"",this.eventListeners[h]||(this.eventListeners[h]=[]),this.eventListeners[h].push({name:l,handler:t});return this}off(e,t){var i=(e||"").split(yr),s=i.length,n,a,o,h,l,d;if(this._cache&&this._cache.delete(nr),!e)for(a in this.eventListeners)this._off(a);for(n=0;n<s;n++)if(o=i[n],h=o.split("."),l=h[0],d=h[1],l)this.eventListeners[l]&&this._off(l,d,t);else for(a in this.eventListeners)this._off(a,d,t);return this}dispatchEvent(e){var t={target:this,type:e.type,evt:e};return this.fire(e.type,t),this}addEventListener(e,t){return this.on(e,function(i){t.call(this,i.evt)}),this}removeEventListener(e){return this.off(e),this}_delegate(e,t,i){var s=this;this.on(e,function(n){for(var a=n.target.findAncestors(t,!0,s),o=0;o<a.length;o++)n=y.cloneObject(n),n.currentTarget=a[o],i.call(a[o],n)})}remove(){return this.isDragging()&&this.stopDrag(),re._dragElements.delete(this._id),this._remove(),this}_clearCaches(){this._clearSelfAndDescendantCache(ot),this._clearSelfAndDescendantCache(vr),this._clearSelfAndDescendantCache(xn),this._clearSelfAndDescendantCache(Ln),this._clearSelfAndDescendantCache(ws),this._clearSelfAndDescendantCache(_s)}_remove(){this._clearCaches();var e=this.getParent();e&&e.children&&(e.children.splice(this.index,1),e._setChildrenIndices(),this.parent=null)}destroy(){return this.remove(),this.clearCache(),this}getAttr(e){var t="get"+y._capitalize(e);return y._isFunction(this[t])?this[t]():this.attrs[e]}getAncestors(){for(var e=this.getParent(),t=[];e;)t.push(e),e=e.getParent();return t}getAttrs(){return this.attrs||{}}setAttrs(e){return this._batchTransformChanges(()=>{var t,i;if(!e)return this;for(t in e)t!==uh&&(i=On+y._capitalize(t),y._isFunction(this[i])?this[i](e[t]):this._setAttr(t,e[t]))}),this}isListening(){return this._getCache(_s,this._isListening)}_isListening(e){if(!this.listening())return!1;const i=this.getParent();return i&&i!==e&&this!==e?i._isListening(e):!0}isVisible(){return this._getCache(ws,this._isVisible)}_isVisible(e){if(!this.visible())return!1;const i=this.getParent();return i&&i!==e&&this!==e?i._isVisible(e):!0}shouldDrawHit(e,t=!1){if(e)return this._isVisible(e)&&this._isListening(e);var i=this.getLayer(),s=!1;re._dragElements.forEach(a=>{a.dragStatus==="dragging"&&(a.node.nodeType==="Stage"||a.node.getLayer()===i)&&(s=!0)});var n=!t&&!D.hitOnDragEnabled&&s;return this.isListening()&&this.isVisible()&&!n}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var e=this.getDepth(),t=this,i=0,s,n,a,o;function h(l){for(s=[],n=l.length,a=0;a<n;a++)o=l[a],i++,o.nodeType!==Mn&&(s=s.concat(o.getChildren().slice())),o._id===t._id&&(a=n);s.length>0&&s[0].getDepth()<=e&&h(s)}return t.nodeType!==fh&&h(t.getStage().getChildren()),i}getDepth(){for(var e=0,t=this.parent;t;)e++,t=t.parent;return e}_batchTransformChanges(e){this._batchingTransformChange=!0,e(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(Et),this._clearSelfAndDescendantCache(ot)),this._needClearTransformCache=!1}setPosition(e){return this._batchTransformChanges(()=>{this.x(e.x),this.y(e.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var e=this.getStage().getPointerPosition();if(!e)return null;var t=this.getAbsoluteTransform().copy();return t.invert(),t.point(e)}getAbsolutePosition(e){let t=!1,i=this.parent;for(;i;){if(i.isCached()){t=!0;break}i=i.parent}t&&!e&&(e=!0);var s=this.getAbsoluteTransform(e).getMatrix(),n=new Ge,a=this.offset();return n.m=s.slice(),n.translate(a.x,a.y),n.getTranslation()}setAbsolutePosition(e){var t=this._clearTransform();this.attrs.x=t.x,this.attrs.y=t.y,delete t.x,delete t.y,this._clearCache(Et);var i=this._getAbsoluteTransform().copy();return i.invert(),i.translate(e.x,e.y),e={x:this.attrs.x+i.getTranslation().x,y:this.attrs.y+i.getTranslation().y},this._setTransform(t),this.setPosition({x:e.x,y:e.y}),this._clearCache(Et),this._clearSelfAndDescendantCache(ot),this}_setTransform(e){var t;for(t in e)this.attrs[t]=e[t]}_clearTransform(){var e={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,e}move(e){var t=e.x,i=e.y,s=this.x(),n=this.y();return t!==void 0&&(s+=t),i!==void 0&&(n+=i),this.setPosition({x:s,y:n}),this}_eachAncestorReverse(e,t){var i=[],s=this.getParent(),n,a;if(!(t&&t._id===this._id)){for(i.unshift(this);s&&(!t||s._id!==t._id);)i.unshift(s),s=s.parent;for(n=i.length,a=0;a<n;a++)e(i[a])}}rotate(e){return this.rotation(this.rotation()+e),this}moveToTop(){if(!this.parent)return y.warn("Node has no parent. moveToTop function is ignored."),!1;var e=this.index,t=this.parent.getChildren().length;return e<t-1?(this.parent.children.splice(e,1),this.parent.children.push(this),this.parent._setChildrenIndices(),!0):!1}moveUp(){if(!this.parent)return y.warn("Node has no parent. moveUp function is ignored."),!1;var e=this.index,t=this.parent.getChildren().length;return e<t-1?(this.parent.children.splice(e,1),this.parent.children.splice(e+1,0,this),this.parent._setChildrenIndices(),!0):!1}moveDown(){if(!this.parent)return y.warn("Node has no parent. moveDown function is ignored."),!1;var e=this.index;return e>0?(this.parent.children.splice(e,1),this.parent.children.splice(e-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return y.warn("Node has no parent. moveToBottom function is ignored."),!1;var e=this.index;return e>0?(this.parent.children.splice(e,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(e){if(!this.parent)return y.warn("Node has no parent. zIndex parameter is ignored."),this;(e<0||e>=this.parent.children.length)&&y.warn("Unexpected value "+e+" 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)+".");var t=this.index;return this.parent.children.splice(t,1),this.parent.children.splice(e,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(vr,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var e=this.opacity(),t=this.getParent();return t&&!t._isUnderCache&&(e*=t.getAbsoluteOpacity()),e}moveTo(e){return this.getParent()!==e&&(this._remove(),e.add(this)),this}toObject(){var e={},t=this.getAttrs(),i,s,n,a,o;e.attrs={};for(i in t)s=t[i],o=y.isObject(s)&&!y._isPlainObject(s)&&!y._isArray(s),!o&&(n=typeof this[i]=="function"&&this[i],delete t[i],a=n?n.call(this):null,t[i]=s,a!==s&&(e.attrs[i]=s));return e.className=this.getClassName(),y._prepareToStringify(e)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(e,t,i){var s=[];t&&this._isMatch(e)&&s.push(this);for(var n=this.parent;n;){if(n===i)return s;n._isMatch(e)&&s.push(n),n=n.parent}return s}isAncestorOf(e){return!1}findAncestor(e,t,i){return this.findAncestors(e,t,i)[0]}_isMatch(e){if(!e)return!1;if(typeof e=="function")return e(this);var t=e.replace(/ /g,"").split(","),i=t.length,s,n;for(s=0;s<i;s++)if(n=t[s],y.isValidSelector(n)||(y.warn('Selector "'+n+'" is invalid. Allowed selectors examples are "#foo", ".bar" or "Group".'),y.warn('If you have a custom shape with such className, please change it to start with upper letter like "Triangle".'),y.warn("Konva is awesome, right?")),n.charAt(0)==="#"){if(this.id()===n.slice(1))return!0}else if(n.charAt(0)==="."){if(this.hasName(n.slice(1)))return!0}else if(this.className===n||this.nodeType===n)return!0;return!1}getLayer(){var e=this.getParent();return e?e.getLayer():null}getStage(){return this._getCache(Ln,this._getStage)}_getStage(){var e=this.getParent();if(e)return e.getStage()}fire(e,t={},i){return t.target=t.target||this,i?this._fireAndBubble(e,t):this._fire(e,t),this}getAbsoluteTransform(e){return e?this._getAbsoluteTransform(e):this._getCache(ot,this._getAbsoluteTransform)}_getAbsoluteTransform(e){var t;if(e)return t=new Ge,this._eachAncestorReverse(function(s){var n=s.transformsEnabled();n==="all"?t.multiply(s.getTransform()):n==="position"&&t.translate(s.x()-s.offsetX(),s.y()-s.offsetY())},e),t;t=this._cache.get(ot)||new Ge,this.parent?this.parent.getAbsoluteTransform().copyInto(t):t.reset();var i=this.transformsEnabled();if(i==="all")t.multiply(this.getTransform());else if(i==="position"){const s=this.attrs.x||0,n=this.attrs.y||0,a=this.attrs.offsetX||0,o=this.attrs.offsetY||0;t.translate(s-a,n-o)}return t.dirty=!1,t}getAbsoluteScale(e){for(var t=this;t;)t._isUnderCache&&(e=t),t=t.getParent();const s=this.getAbsoluteTransform(e).decompose();return{x:s.scaleX,y:s.scaleY}}getAbsoluteRotation(){return this.getAbsoluteTransform().decompose().rotation}getTransform(){return this._getCache(Et,this._getTransform)}_getTransform(){var e,t,i=this._cache.get(Et)||new Ge;i.reset();var s=this.x(),n=this.y(),a=D.getAngle(this.rotation()),o=(e=this.attrs.scaleX)!==null&&e!==void 0?e:1,h=(t=this.attrs.scaleY)!==null&&t!==void 0?t:1,l=this.attrs.skewX||0,d=this.attrs.skewY||0,u=this.attrs.offsetX||0,c=this.attrs.offsetY||0;return(s!==0||n!==0)&&i.translate(s,n),a!==0&&i.rotate(a),(l!==0||d!==0)&&i.skew(l,d),(o!==1||h!==1)&&i.scale(o,h),(u!==0||c!==0)&&i.translate(-1*u,-1*c),i.dirty=!1,i}clone(e){var t=y.cloneObject(this.attrs),i,s,n,a,o;for(i in e)t[i]=e[i];var h=new this.constructor(t);for(i in this.eventListeners)for(s=this.eventListeners[i],n=s.length,a=0;a<n;a++)o=s[a],o.name.indexOf(ch)<0&&(h.eventListeners[i]||(h.eventListeners[i]=[]),h.eventListeners[i].push(o));return h}_toKonvaCanvas(e){e=e||{};var t=this.getClientRect(),i=this.getStage(),s=e.x!==void 0?e.x:Math.floor(t.x),n=e.y!==void 0?e.y:Math.floor(t.y),a=e.pixelRatio||1,o=new ri({width:e.width||Math.ceil(t.width)||(i?i.width():0),height:e.height||Math.ceil(t.height)||(i?i.height():0),pixelRatio:a}),h=o.getContext();return e.imageSmoothingEnabled===!1&&(h._context.imageSmoothingEnabled=!1),h.save(),(s||n)&&h.translate(-1*s,-1*n),this.drawScene(o),h.restore(),o}toCanvas(e){return this._toKonvaCanvas(e)._canvas}toDataURL(e){e=e||{};var t=e.mimeType||null,i=e.quality||null,s=this._toKonvaCanvas(e).toDataURL(t,i);return e.callback&&e.callback(s),s}toImage(e){return new Promise((t,i)=>{try{const s=e==null?void 0:e.callback;s&&delete e.callback,y._urlToImage(this.toDataURL(e),function(n){t(n),s==null||s(n)})}catch(s){i(s)}})}toBlob(e){return new Promise((t,i)=>{try{const s=e==null?void 0:e.callback;s&&delete e.callback,this.toCanvas(e).toBlob(n=>{t(n),s==null||s(n)})}catch(s){i(s)}})}setSize(e){return this.width(e.width),this.height(e.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():D.dragDistance}_off(e,t,i){var s=this.eventListeners[e],n,a,o;for(n=0;n<s.length;n++)if(a=s[n].name,o=s[n].handler,(a!=="konva"||t==="konva")&&(!t||a===t)&&(!i||i===o)){if(s.splice(n,1),s.length===0){delete this.eventListeners[e];break}n--}}_fireChangeEvent(e,t,i){this._fire(e+dh,{oldVal:t,newVal:i})}addName(e){if(!this.hasName(e)){var t=this.name(),i=t?t+" "+e:e;this.name(i)}return this}hasName(e){if(!e)return!1;const t=this.name();if(!t)return!1;var i=(t||"").split(/\s/g);return i.indexOf(e)!==-1}removeName(e){var t=(this.name()||"").split(/\s/g),i=t.indexOf(e);return i!==-1&&(t.splice(i,1),this.name(t.join(" "))),this}setAttr(e,t){var i=this[On+y._capitalize(e)];return y._isFunction(i)?i.call(this,t):this._setAttr(e,t),this}_requestDraw(){if(D.autoDrawEnabled){const e=this.getLayer()||this.getStage();e==null||e.batchDraw()}}_setAttr(e,t){var i=this.attrs[e];i===t&&!y.isObject(t)||(t==null?delete this.attrs[e]:this.attrs[e]=t,this._shouldFireChangeEvents&&this._fireChangeEvent(e,i,t),this._requestDraw())}_setComponentAttr(e,t,i){var s;i!==void 0&&(s=this.attrs[e],s||(this.attrs[e]=this.getAttr(e)),this.attrs[e][t]=i,this._fireChangeEvent(e,s,i))}_fireAndBubble(e,t,i){t&&this.nodeType===Mn&&(t.target=this);var s=(e===Pn||e===An)&&(i&&(this===i||this.isAncestorOf&&this.isAncestorOf(i))||this.nodeType==="Stage"&&!i);if(!s){this._fire(e,t);var n=(e===Pn||e===An)&&i&&i.isAncestorOf&&i.isAncestorOf(this)&&!i.isAncestorOf(this.parent);(t&&!t.cancelBubble||!t)&&this.parent&&this.parent.isListening()&&!n&&(i&&i.parent?this._fireAndBubble.call(this.parent,e,t,i):this._fireAndBubble.call(this.parent,e,t))}}_getProtoListeners(e){let t=this._cache.get(nr);if(!t){t={};let s=Object.getPrototypeOf(this);for(;s;){if(!s.eventListeners){s=Object.getPrototypeOf(s);continue}for(var i in s.eventListeners){const n=s.eventListeners[i],a=t[i]||[];t[i]=n.concat(a)}s=Object.getPrototypeOf(s)}this._cache.set(nr,t)}return t[e]}_fire(e,t){t=t||{},t.currentTarget=this,t.type=e;const i=this._getProtoListeners(e);if(i)for(var s=0;s<i.length;s++)i[s].handler.call(this,t);const n=this.eventListeners[e];if(n)for(var s=0;s<n.length;s++)n[s].handler.call(this,t)}draw(){return this.drawScene(),this.drawHit(),this}_createDragElement(e){var t=e?e.pointerId:void 0,i=this.getStage(),s=this.getAbsolutePosition(),n=i._getPointerById(t)||i._changedPointerPositions[0]||s;re._dragElements.set(this._id,{node:this,startPointerPos:n,offset:{x:n.x-s.x,y:n.y-s.y},dragStatus:"ready",pointerId:t})}startDrag(e,t=!0){re._dragElements.has(this._id)||this._createDragElement(e);const i=re._dragElements.get(this._id);i.dragStatus="dragging",this.fire("dragstart",{type:"dragstart",target:this,evt:e&&e.evt},t)}_setDragPosition(e,t){const i=this.getStage()._getPointerById(t.pointerId);if(i){var s={x:i.x-t.offset.x,y:i.y-t.offset.y},n=this.dragBoundFunc();if(n!==void 0){const a=n.call(this,s,e);a?s=a:y.warn("dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.")}(!this._lastPos||this._lastPos.x!==s.x||this._lastPos.y!==s.y)&&(this.setAbsolutePosition(s),this._requestDraw()),this._lastPos=s}}stopDrag(e){const t=re._dragElements.get(this._id);t&&(t.dragStatus="stopped"),re._endDragBefore(e),re._endDragAfter(e)}setDraggable(e){this._setAttr("draggable",e),this._dragChange()}isDragging(){const e=re._dragElements.get(this._id);return e?e.dragStatus==="dragging":!1}_listenDrag(){this._dragCleanup(),this.on("mousedown.konva touchstart.konva",function(e){var t=e.evt.button!==void 0,i=!t||D.dragButtons.indexOf(e.evt.button)>=0;if(i&&!this.isDragging()){var s=!1;re._dragElements.forEach(n=>{this.isAncestorOf(n.node)&&(s=!0)}),s||this._createDragElement(e)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var e=this.getStage();if(!e)return;const t=re._dragElements.get(this._id),i=t&&t.dragStatus==="dragging",s=t&&t.dragStatus==="ready";i?this.stopDrag():s&&re._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(e={x:0,y:0}){const t=this.getStage();if(!t)return!1;const i={x:-e.x,y:-e.y,width:t.width()+2*e.x,height:t.height()+2*e.y};return y.haveIntersection(i,this.getClientRect())}static create(e,t){return y._isString(e)&&(e=JSON.parse(e)),this._createNode(e,t)}static _createNode(e,t){var i=x.prototype.getClassName.call(e),s=e.children,n,a,o;t&&(e.attrs.container=t),D[i]||(y.warn('Can not find a node with class name "'+i+'". Fallback to "Shape".'),i="Shape");const h=D[i];if(n=new h(e.attrs),s)for(a=s.length,o=0;o<a;o++)n.add(x._createNode(s[o]));return n}}x.prototype.nodeType="Node";x.prototype._attrsAffectingSize=[];x.prototype.eventListeners={};x.prototype.on.call(x.prototype,ph,function(){if(this._batchingTransformChange){this._needClearTransformCache=!0;return}this._clearCache(Et),this._clearSelfAndDescendantCache(ot)});x.prototype.on.call(x.prototype,"visibleChange.konva",function(){this._clearSelfAndDescendantCache(ws)});x.prototype.on.call(x.prototype,"listeningChange.konva",function(){this._clearSelfAndDescendantCache(_s)});x.prototype.on.call(x.prototype,"opacityChange.konva",function(){this._clearSelfAndDescendantCache(vr)});const ce=g.addGetterSetter;ce(x,"zIndex");ce(x,"absolutePosition");ce(x,"position");ce(x,"x",0,k());ce(x,"y",0,k());ce(x,"globalCompositeOperation","source-over",pi());ce(x,"opacity",1,k());ce(x,"name","",pi());ce(x,"id","",pi());ce(x,"rotation",0,k());g.addComponentsGetterSetter(x,"scale",["x","y"]);ce(x,"scaleX",1,k());ce(x,"scaleY",1,k());g.addComponentsGetterSetter(x,"skew",["x","y"]);ce(x,"skewX",0,k());ce(x,"skewY",0,k());g.addComponentsGetterSetter(x,"offset",["x","y"]);ce(x,"offsetX",0,k());ce(x,"offsetY",0,k());ce(x,"dragDistance",null,k());ce(x,"width",0,k());ce(x,"height",0,k());ce(x,"listening",!0,qe());ce(x,"preventDefault",!0,qe());ce(x,"filters",null,function(r){return this._filterUpToDate=!1,r});ce(x,"visible",!0,qe());ce(x,"transformsEnabled","all",pi());ce(x,"size");ce(x,"dragBoundFunc");ce(x,"draggable",!1,qe());g.backCompat(x,{rotateDeg:"rotate",setRotationDeg:"setRotation",getRotationDeg:"getRotation"});class De extends x{constructor(){super(...arguments),this.children=[]}getChildren(e){if(!e)return this.children||[];const t=this.children||[];var i=[];return t.forEach(function(s){e(s)&&i.push(s)}),i}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(arguments.length>1){for(var t=0;t<arguments.length;t++)this.add(arguments[t]);return this}var i=e[0];return i.getParent()?(i.moveTo(this),this):(this._validateAdd(i),i.index=this.getChildren().length,i.parent=this,i._clearCaches(),this.getChildren().push(i),this._fire("add",{child:i}),this._requestDraw(),this)}destroy(){return this.hasChildren()&&this.destroyChildren(),super.destroy(),this}find(e){return this._generalFind(e,!1)}findOne(e){var t=this._generalFind(e,!0);return t.length>0?t[0]:void 0}_generalFind(e,t){var i=[];return this._descendants(s=>{const n=s._isMatch(e);return n&&i.push(s),!!(n&&t)}),i}_descendants(e){let t=!1;const i=this.getChildren();for(const s of i){if(t=e(s),t)return!0;if(s.hasChildren()&&(t=s._descendants(e),t))return!0}return!1}toObject(){var e=x.prototype.toObject.call(this);return e.children=[],this.getChildren().forEach(t=>{e.children.push(t.toObject())}),e}isAncestorOf(e){for(var t=e.getParent();t;){if(t._id===this._id)return!0;t=t.getParent()}return!1}clone(e){var t=x.prototype.clone.call(this,e);return this.getChildren().forEach(function(i){t.add(i.clone())}),t}getAllIntersections(e){var t=[];return this.find("Shape").forEach(function(i){i.isVisible()&&i.intersects(e)&&t.push(i)}),t}_clearSelfAndDescendantCache(e){var t;super._clearSelfAndDescendantCache(e),!this.isCached()&&((t=this.children)===null||t===void 0||t.forEach(function(i){i._clearSelfAndDescendantCache(e)}))}_setChildrenIndices(){var e;(e=this.children)===null||e===void 0||e.forEach(function(t,i){t.index=i}),this._requestDraw()}drawScene(e,t){var i=this.getLayer(),s=e||i&&i.getCanvas(),n=s&&s.getContext(),a=this._getCanvasCache(),o=a&&a.scene,h=s&&s.isCache;if(!this.isVisible()&&!h)return this;if(o){n.save();var l=this.getAbsoluteTransform(t).getMatrix();n.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedSceneCanvas(n),n.restore()}else this._drawChildren("drawScene",s,t);return this}drawHit(e,t){if(!this.shouldDrawHit(t))return this;var i=this.getLayer(),s=e||i&&i.hitCanvas,n=s&&s.getContext(),a=this._getCanvasCache(),o=a&&a.hit;if(o){n.save();var h=this.getAbsoluteTransform(t).getMatrix();n.transform(h[0],h[1],h[2],h[3],h[4],h[5]),this._drawCachedHitCanvas(n),n.restore()}else this._drawChildren("drawHit",s,t);return this}_drawChildren(e,t,i){var s,n=t&&t.getContext(),a=this.clipWidth(),o=this.clipHeight(),h=this.clipFunc(),l=a&&o||h;const d=i===this;if(l){n.save();var u=this.getAbsoluteTransform(i),c=u.getMatrix();if(n.transform(c[0],c[1],c[2],c[3],c[4],c[5]),n.beginPath(),h)h.call(this,n,this);else{var p=this.clipX(),f=this.clipY();n.rect(p,f,a,o)}n.clip(),c=u.copy().invert().getMatrix(),n.transform(c[0],c[1],c[2],c[3],c[4],c[5])}var m=!d&&this.globalCompositeOperation()!=="source-over"&&e==="drawScene";m&&(n.save(),n._applyGlobalCompositeOperation(this)),(s=this.children)===null||s===void 0||s.forEach(function(v){v[e](t,i)}),m&&n.restore(),l&&n.restore()}getClientRect(e){var t;e=e||{};var i=e.skipTransform,s=e.relativeTo,n,a,o,h,l={x:1/0,y:1/0,width:0,height:0},d=this;(t=this.children)===null||t===void 0||t.forEach(function(m){if(m.visible()){var v=m.getClientRect({relativeTo:d,skipShadow:e.skipShadow,skipStroke:e.skipStroke});v.width===0&&v.height===0||(n===void 0?(n=v.x,a=v.y,o=v.x+v.width,h=v.y+v.height):(n=Math.min(n,v.x),a=Math.min(a,v.y),o=Math.max(o,v.x+v.width),h=Math.max(h,v.y+v.height)))}});for(var u=this.find("Shape"),c=!1,p=0;p<u.length;p++){var f=u[p];if(f._isVisible(this)){c=!0;break}}return c&&n!==void 0?l={x:n,y:a,width:o-n,height:h-a}:l={x:0,y:0,width:0,height:0},i?l:this._transformedRect(l,s)}}g.addComponentsGetterSetter(De,"clip",["x","y","width","height"]);g.addGetterSetter(De,"clipX",void 0,k());g.addGetterSetter(De,"clipY",void 0,k());g.addGetterSetter(De,"clipWidth",void 0,k());g.addGetterSetter(De,"clipHeight",void 0,k());g.addGetterSetter(De,"clipFunc");const Ri=new Map,Ra=D._global.PointerEvent!==void 0;function os(r){return Ri.get(r)}function en(r){return{evt:r,pointerId:r.pointerId}}function Ia(r,e){return Ri.get(r)===e}function Na(r,e){Oi(r),e.getStage()&&(Ri.set(r,e),Ra&&e._fire("gotpointercapture",en(new PointerEvent("gotpointercapture"))))}function Oi(r,e){const t=Ri.get(r);if(!t)return;const i=t.getStage();i&&i.content,Ri.delete(r),Ra&&t._fire("lostpointercapture",en(new PointerEvent("lostpointercapture")))}var gh="Stage",vh="string",Rn="px",yh="mouseout",Ga="mouseleave",Da="mouseover",Fa="mouseenter",Ha="mousemove",Ba="mousedown",$a="mouseup",ki="pointermove",xi="pointerdown",Jt="pointerup",Pi="pointercancel",bh="lostpointercapture",ar="pointerout",or="pointerleave",lr="pointerover",hr="pointerenter",Ss="contextmenu",Va="touchstart",za="touchend",Wa="touchmove",Ua="touchcancel",Ts="wheel",_h=5,wh=[[Fa,"_pointerenter"],[Ba,"_pointerdown"],[Ha,"_pointermove"],[$a,"_pointerup"],[Ga,"_pointerleave"],[Va,"_pointerdown"],[Wa,"_pointermove"],[za,"_pointerup"],[Ua,"_pointercancel"],[Da,"_pointerover"],[Ts,"_wheel"],[Ss,"_contextmenu"],[xi,"_pointerdown"],[ki,"_pointermove"],[Jt,"_pointerup"],[Pi,"_pointercancel"],[bh,"_lostpointercapture"]];const ls={mouse:{[ar]:yh,[or]:Ga,[lr]:Da,[hr]:Fa,[ki]:Ha,[xi]:Ba,[Jt]:$a,[Pi]:"mousecancel",pointerclick:"click",pointerdblclick:"dblclick"},touch:{[ar]:"touchout",[or]:"touchleave",[lr]:"touchover",[hr]:"touchenter",[ki]:Wa,[xi]:Va,[Jt]:za,[Pi]:Ua,pointerclick:"tap",pointerdblclick:"dbltap"},pointer:{[ar]:ar,[or]:or,[lr]:lr,[hr]:hr,[ki]:ki,[xi]:xi,[Jt]:Jt,[Pi]:Pi,pointerclick:"pointerclick",pointerdblclick:"pointerdblclick"}},Ai=r=>r.indexOf("pointer")>=0?"pointer":r.indexOf("touch")>=0?"touch":"mouse",qt=r=>{const e=Ai(r);if(e==="pointer")return D.pointerEventsEnabled&&ls.pointer;if(e==="touch")return ls.touch;if(e==="mouse")return ls.mouse};function In(r={}){return(r.clipFunc||r.clipWidth||r.clipHeight)&&y.warn("Stage does not support clipping. Please use clip for Layers or Groups."),r}const Sh="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);",br=[];class jr extends De{constructor(e){super(In(e)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),br.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{In(this.attrs)}),this._checkVisibility()}_validateAdd(e){const t=e.getType()==="Layer",i=e.getType()==="FastLayer";t||i||y.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===vh){if(e.charAt(0)==="."){var t=e.slice(1);e=document.getElementsByClassName(t)[0]}else{var i;e.charAt(0)!=="#"?i=e:i=e.slice(1),e=document.getElementById(i)}if(!e)throw"Can not find container in document with id "+i}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(){var e=this.children,t=e.length,i;for(i=0;i<t;i++)e[i].clear();return this}clone(e){return e||(e={}),e.container=typeof document<"u"&&document.createElement("div"),De.prototype.clone.call(this,e)}destroy(){super.destroy();var e=this.content;e&&y._isInDocument(e)&&this.container().removeChild(e);var t=br.indexOf(this);return t>-1&&br.splice(t,1),y.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}:(y.warn(Sh),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();var t=new ri({width:e.width,height:e.height,pixelRatio:e.pixelRatio||1}),i=t.getContext()._context,s=this.children;return(e.x||e.y)&&i.translate(-1*e.x,-1*e.y),s.forEach(function(n){if(n.isVisible()){var a=n._toKonvaCanvas(e);i.drawImage(a._canvas,e.x,e.y,a.getWidth()/a.getPixelRatio(),a.getHeight()/a.getPixelRatio())}}),t}getIntersection(e){if(!e)return null;var t=this.children,i=t.length,s=i-1,n;for(n=s;n>=0;n--){const a=t[n].getIntersection(e);if(a)return a}return null}_resizeDOM(){var e=this.width(),t=this.height();this.content&&(this.content.style.width=e+Rn,this.content.style.height=t+Rn),this.bufferCanvas.setSize(e,t),this.bufferHitCanvas.setSize(e,t),this.children.forEach(i=>{i.setSize({width:e,height:t}),i.draw()})}add(e,...t){if(arguments.length>1){for(var i=0;i<arguments.length;i++)this.add(arguments[i]);return this}super.add(e);var s=this.children.length;return s>_h&&y.warn("The stage has "+s+" 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(),D.isBrowser&&this.content.appendChild(e.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(e){return Ia(e,this)}setPointerCapture(e){Na(e,this)}releaseCapture(e){Oi(e)}getLayers(){return this.children}_bindContentEvents(){D.isBrowser&&wh.forEach(([e,t])=>{this.content.addEventListener(e,i=>{this[t](i)},{passive:!1})})}_pointerenter(e){this.setPointersPositions(e);const t=qt(e.type);this._fire(t.pointerenter,{evt:e,target:this,currentTarget:this})}_pointerover(e){this.setPointersPositions(e);const t=qt(e.type);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=qt(e.type),i=Ai(e.type);if(t){this.setPointersPositions(e);var s=this._getTargetShape(i),n=!re.isDragging||D.hitOnDragEnabled;s&&n?(s._fireAndBubble(t.pointerout,{evt:e}),s._fireAndBubble(t.pointerleave,{evt:e}),this._fire(t.pointerleave,{evt:e,target:this,currentTarget:this}),this[i+"targetShape"]=null):n&&(this._fire(t.pointerleave,{evt:e,target:this,currentTarget:this}),this._fire(t.pointerout,{evt:e,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(e){const t=qt(e.type),i=Ai(e.type);if(t){this.setPointersPositions(e);var s=!1;this._changedPointerPositions.forEach(n=>{var a=this.getIntersection(n);if(re.justDragged=!1,D["_"+i+"ListenClick"]=!0,!(a&&a.isListening()))return;D.capturePointerEventsEnabled&&a.setPointerCapture(n.id),this[i+"ClickStartShape"]=a,a._fireAndBubble(t.pointerdown,{evt:e,pointerId:n.id}),s=!0;const h=e.type.indexOf("touch")>=0;a.preventDefault()&&e.cancelable&&h&&e.preventDefault()}),s||this._fire(t.pointerdown,{evt:e,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(e){const t=qt(e.type),i=Ai(e.type);if(!t)return;re.isDragging&&re.node.preventDefault()&&e.cancelable&&e.preventDefault(),this.setPointersPositions(e);var s=!re.isDragging||D.hitOnDragEnabled;if(!s)return;var n={};let a=!1;var o=this._getTargetShape(i);this._changedPointerPositions.forEach(h=>{const l=os(h.id)||this.getIntersection(h),d=h.id,u={evt:e,pointerId:d};var c=o!==l;if(c&&o&&(o._fireAndBubble(t.pointerout,Object.assign({},u),l),o._fireAndBubble(t.pointerleave,Object.assign({},u),l)),l){if(n[l._id])return;n[l._id]=!0}l&&l.isListening()?(a=!0,c&&(l._fireAndBubble(t.pointerover,Object.assign({},u),o),l._fireAndBubble(t.pointerenter,Object.assign({},u),o),this[i+"targetShape"]=l),l._fireAndBubble(t.pointermove,Object.assign({},u))):o&&(this._fire(t.pointerover,{evt:e,target:this,currentTarget:this,pointerId:d}),this[i+"targetShape"]=null)}),a||this._fire(t.pointermove,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(e){const t=qt(e.type),i=Ai(e.type);if(!t)return;this.setPointersPositions(e);const s=this[i+"ClickStartShape"],n=this[i+"ClickEndShape"];var a={};let o=!1;this._changedPointerPositions.forEach(h=>{const l=os(h.id)||this.getIntersection(h);if(l){if(l.releaseCapture(h.id),a[l._id])return;a[l._id]=!0}const d=h.id,u={evt:e,pointerId:d};let c=!1;D["_"+i+"InDblClickWindow"]?(c=!0,clearTimeout(this[i+"DblTimeout"])):re.justDragged||(D["_"+i+"InDblClickWindow"]=!0,clearTimeout(this[i+"DblTimeout"])),this[i+"DblTimeout"]=setTimeout(function(){D["_"+i+"InDblClickWindow"]=!1},D.dblClickWindow),l&&l.isListening()?(o=!0,this[i+"ClickEndShape"]=l,l._fireAndBubble(t.pointerup,Object.assign({},u)),D["_"+i+"ListenClick"]&&s&&s===l&&(l._fireAndBubble(t.pointerclick,Object.assign({},u)),c&&n&&n===l&&l._fireAndBubble(t.pointerdblclick,Object.assign({},u)))):(this[i+"ClickEndShape"]=null,D["_"+i+"ListenClick"]&&this._fire(t.pointerclick,{evt:e,target:this,currentTarget:this,pointerId:d}),c&&this._fire(t.pointerdblclick,{evt:e,target:this,currentTarget:this,pointerId:d}))}),o||this._fire(t.pointerup,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),D["_"+i+"ListenClick"]=!1,e.cancelable&&i!=="touch"&&e.preventDefault()}_contextmenu(e){this.setPointersPositions(e);var t=this.getIntersection(this.getPointerPosition());t&&t.isListening()?t._fireAndBubble(Ss,{evt:e}):this._fire(Ss,{evt:e,target:this,currentTarget:this})}_wheel(e){this.setPointersPositions(e);var t=this.getIntersection(this.getPointerPosition());t&&t.isListening()?t._fireAndBubble(Ts,{evt:e}):this._fire(Ts,{evt:e,target:this,currentTarget:this})}_pointercancel(e){this.setPointersPositions(e);const t=os(e.pointerId)||this.getIntersection(this.getPointerPosition());t&&t._fireAndBubble(Jt,en(e)),Oi(e.pointerId)}_lostpointercapture(e){Oi(e.pointerId)}setPointersPositions(e){var t=this._getContentPosition(),i=null,s=null;e=e||window.event,e.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(e.touches,n=>{this._pointerPositions.push({id:n.identifier,x:(n.clientX-t.left)/t.scaleX,y:(n.clientY-t.top)/t.scaleY})}),Array.prototype.forEach.call(e.changedTouches||e.touches,n=>{this._changedPointerPositions.push({id:n.identifier,x:(n.clientX-t.left)/t.scaleX,y:(n.clientY-t.top)/t.scaleY})})):(i=(e.clientX-t.left)/t.scaleX,s=(e.clientY-t.top)/t.scaleY,this.pointerPos={x:i,y:s},this._pointerPositions=[{x:i,y:s,id:y._getFirstPointerId(e)}],this._changedPointerPositions=[{x:i,y:s,id:y._getFirstPointerId(e)}])}_setPointerPosition(e){y.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};var 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 ri({width:this.width(),height:this.height()}),this.bufferHitCanvas=new Qs({pixelRatio:1,width:this.width(),height:this.height()}),!!D.isBrowser){var 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 y.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}}jr.prototype.nodeType=gh;ge(jr);g.addGetterSetter(jr,"container");var Za="hasShadow",ja="shadowRGBA",Xa="patternImage",qa="linearGradient",Ya="radialGradient";let dr;function hs(){return dr||(dr=y.createCanvasElement().getContext("2d"),dr)}const Mi={};function Th(r){r.fill()}function Ch(r){r.stroke()}function Eh(r){r.fill()}function kh(r){r.stroke()}function xh(){this._clearCache(Za)}function Ph(){this._clearCache(ja)}function Ah(){this._clearCache(Xa)}function Oh(){this._clearCache(qa)}function Mh(){this._clearCache(Ya)}class E extends x{constructor(e){super(e);let t;for(;t=y.getRandomColor(),!(t&&!(t in Mi)););this.colorKey=t,Mi[t]=this}getContext(){return y.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return y.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(Za,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(Xa,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var e=hs();const t=e.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(t&&t.setTransform){const i=new Ge;i.translate(this.fillPatternX(),this.fillPatternY()),i.rotate(D.getAngle(this.fillPatternRotation())),i.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),i.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const s=i.getMatrix(),n=typeof DOMMatrix>"u"?{a:s[0],b:s[1],c:s[2],d:s[3],e:s[4],f:s[5]}:new DOMMatrix(s);t.setTransform(n)}return t}}_getLinearGradient(){return this._getCache(qa,this.__getLinearGradient)}__getLinearGradient(){var e=this.fillLinearGradientColorStops();if(e){for(var t=hs(),i=this.fillLinearGradientStartPoint(),s=this.fillLinearGradientEndPoint(),n=t.createLinearGradient(i.x,i.y,s.x,s.y),a=0;a<e.length;a+=2)n.addColorStop(e[a],e[a+1]);return n}}_getRadialGradient(){return this._getCache(Ya,this.__getRadialGradient)}__getRadialGradient(){var e=this.fillRadialGradientColorStops();if(e){for(var t=hs(),i=this.fillRadialGradientStartPoint(),s=this.fillRadialGradientEndPoint(),n=t.createRadialGradient(i.x,i.y,this.fillRadialGradientStartRadius(),s.x,s.y,this.fillRadialGradientEndRadius()),a=0;a<e.length;a+=2)n.addColorStop(e[a],e[a+1]);return n}}getShadowRGBA(){return this._getCache(ja,this._getShadowRGBA)}_getShadowRGBA(){if(this.hasShadow()){var e=y.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){var t=this.getStage(),i=t.bufferHitCanvas,s;return i.getContext().clear(),this.drawHit(i,null,!0),s=i.context.getImageData(Math.round(e.x),Math.round(e.y),1,1).data,s[3]>0}destroy(){return x.prototype.destroy.call(this),delete Mi[this.colorKey],delete this.colorKey,this}_useBufferCanvas(e){var t;if(!this.getStage()||!((t=this.attrs.perfectDrawEnabled)!==null&&t!==void 0?t:!0))return!1;const s=e||this.hasFill(),n=this.hasStroke(),a=this.getAbsoluteOpacity()!==1;if(s&&n&&a)return!0;const o=this.hasShadow(),h=this.shadowForStrokeEnabled();return!!(s&&n&&o&&h)}setStrokeHitEnabled(e){y.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),e?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var 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={}){const t=e.skipTransform,i=e.relativeTo,s=this.getSelfRect(),a=!e.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,o=s.width+a,h=s.height+a,l=!e.skipShadow&&this.hasShadow(),d=l?this.shadowOffsetX():0,u=l?this.shadowOffsetY():0,c=o+Math.abs(d),p=h+Math.abs(u),f=l&&this.shadowBlur()||0,m=c+f*2,v=p+f*2,_={width:m,height:v,x:-(a/2+f)+Math.min(d,0)+s.x,y:-(a/2+f)+Math.min(u,0)+s.y};return t?_:this._transformedRect(_,i)}drawScene(e,t){var i=this.getLayer(),s=e||i.getCanvas(),n=s.getContext(),a=this._getCanvasCache(),o=this.getSceneFunc(),h=this.hasShadow(),l,d,u,c=s.isCache,p=t===this;if(!this.isVisible()&&!p)return this;if(a){n.save();var f=this.getAbsoluteTransform(t).getMatrix();return n.transform(f[0],f[1],f[2],f[3],f[4],f[5]),this._drawCachedSceneCanvas(n),n.restore(),this}if(!o)return this;if(n.save(),this._useBufferCanvas()&&!c){l=this.getStage(),d=l.bufferCanvas,u=d.getContext(),u.clear(),u.save(),u._applyLineJoin(this);var m=this.getAbsoluteTransform(t).getMatrix();u.transform(m[0],m[1],m[2],m[3],m[4],m[5]),o.call(this,u,this),u.restore();var v=d.pixelRatio;h&&n._applyShadow(this),n._applyOpacity(this),n._applyGlobalCompositeOperation(this),n.drawImage(d._canvas,0,0,d.width/v,d.height/v)}else{if(n._applyLineJoin(this),!p){var m=this.getAbsoluteTransform(t).getMatrix();n.transform(m[0],m[1],m[2],m[3],m[4],m[5]),n._applyOpacity(this),n._applyGlobalCompositeOperation(this)}h&&n._applyShadow(this),o.call(this,n,this)}return n.restore(),this}drawHit(e,t,i=!1){if(!this.shouldDrawHit(t,i))return this;var s=this.getLayer(),n=e||s.hitCanvas,a=n&&n.getContext(),o=this.hitFunc()||this.sceneFunc(),h=this._getCanvasCache(),l=h&&h.hit;if(this.colorKey||y.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){a.save();var d=this.getAbsoluteTransform(t).getMatrix();return a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedHitCanvas(a),a.restore(),this}if(!o)return this;if(a.save(),a._applyLineJoin(this),!(this===t)){var c=this.getAbsoluteTransform(t).getMatrix();a.transform(c[0],c[1],c[2],c[3],c[4],c[5])}return o.call(this,a,this),a.restore(),this}drawHitFromCache(e=0){var t=this._getCanvasCache(),i=this._getCachedSceneCanvas(),s=t.hit,n=s.getContext(),a=s.getWidth(),o=s.getHeight(),h,l,d,u,c,p;n.clear(),n.drawImage(i._canvas,0,0,a,o);try{for(h=n.getImageData(0,0,a,o),l=h.data,d=l.length,u=y._hexToRgb(this.colorKey),c=0;c<d;c+=4)p=l[c+3],p>e?(l[c]=u.r,l[c+1]=u.g,l[c+2]=u.b,l[c+3]=255):l[c+3]=0;n.putImageData(h,0,0)}catch(f){y.error("Unable to draw hit graph from cached scene canvas. "+f.message)}return this}hasPointerCapture(e){return Ia(e,this)}setPointerCapture(e){Na(e,this)}releaseCapture(e){Oi(e)}}E.prototype._fillFunc=Th;E.prototype._strokeFunc=Ch;E.prototype._fillFuncHit=Eh;E.prototype._strokeFuncHit=kh;E.prototype._centroid=!1;E.prototype.nodeType="Shape";ge(E);E.prototype.eventListeners={};E.prototype.on.call(E.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",xh);E.prototype.on.call(E.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",Ph);E.prototype.on.call(E.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",Ah);E.prototype.on.call(E.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",Oh);E.prototype.on.call(E.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",Mh);g.addGetterSetter(E,"stroke",void 0,La());g.addGetterSetter(E,"strokeWidth",2,k());g.addGetterSetter(E,"fillAfterStrokeEnabled",!1);g.addGetterSetter(E,"hitStrokeWidth","auto",Js());g.addGetterSetter(E,"strokeHitEnabled",!0,qe());g.addGetterSetter(E,"perfectDrawEnabled",!0,qe());g.addGetterSetter(E,"shadowForStrokeEnabled",!0,qe());g.addGetterSetter(E,"lineJoin");g.addGetterSetter(E,"lineCap");g.addGetterSetter(E,"sceneFunc");g.addGetterSetter(E,"hitFunc");g.addGetterSetter(E,"dash");g.addGetterSetter(E,"dashOffset",0,k());g.addGetterSetter(E,"shadowColor",void 0,pi());g.addGetterSetter(E,"shadowBlur",0,k());g.addGetterSetter(E,"shadowOpacity",1,k());g.addComponentsGetterSetter(E,"shadowOffset",["x","y"]);g.addGetterSetter(E,"shadowOffsetX",0,k());g.addGetterSetter(E,"shadowOffsetY",0,k());g.addGetterSetter(E,"fillPatternImage");g.addGetterSetter(E,"fill",void 0,La());g.addGetterSetter(E,"fillPatternX",0,k());g.addGetterSetter(E,"fillPatternY",0,k());g.addGetterSetter(E,"fillLinearGradientColorStops");g.addGetterSetter(E,"strokeLinearGradientColorStops");g.addGetterSetter(E,"fillRadialGradientStartRadius",0);g.addGetterSetter(E,"fillRadialGradientEndRadius",0);g.addGetterSetter(E,"fillRadialGradientColorStops");g.addGetterSetter(E,"fillPatternRepeat","repeat");g.addGetterSetter(E,"fillEnabled",!0);g.addGetterSetter(E,"strokeEnabled",!0);g.addGetterSetter(E,"shadowEnabled",!0);g.addGetterSetter(E,"dashEnabled",!0);g.addGetterSetter(E,"strokeScaleEnabled",!0);g.addGetterSetter(E,"fillPriority","color");g.addComponentsGetterSetter(E,"fillPatternOffset",["x","y"]);g.addGetterSetter(E,"fillPatternOffsetX",0,k());g.addGetterSetter(E,"fillPatternOffsetY",0,k());g.addComponentsGetterSetter(E,"fillPatternScale",["x","y"]);g.addGetterSetter(E,"fillPatternScaleX",1,k());g.addGetterSetter(E,"fillPatternScaleY",1,k());g.addComponentsGetterSetter(E,"fillLinearGradientStartPoint",["x","y"]);g.addComponentsGetterSetter(E,"strokeLinearGradientStartPoint",["x","y"]);g.addGetterSetter(E,"fillLinearGradientStartPointX",0);g.addGetterSetter(E,"strokeLinearGradientStartPointX",0);g.addGetterSetter(E,"fillLinearGradientStartPointY",0);g.addGetterSetter(E,"strokeLinearGradientStartPointY",0);g.addComponentsGetterSetter(E,"fillLinearGradientEndPoint",["x","y"]);g.addComponentsGetterSetter(E,"strokeLinearGradientEndPoint",["x","y"]);g.addGetterSetter(E,"fillLinearGradientEndPointX",0);g.addGetterSetter(E,"strokeLinearGradientEndPointX",0);g.addGetterSetter(E,"fillLinearGradientEndPointY",0);g.addGetterSetter(E,"strokeLinearGradientEndPointY",0);g.addComponentsGetterSetter(E,"fillRadialGradientStartPoint",["x","y"]);g.addGetterSetter(E,"fillRadialGradientStartPointX",0);g.addGetterSetter(E,"fillRadialGradientStartPointY",0);g.addComponentsGetterSetter(E,"fillRadialGradientEndPoint",["x","y"]);g.addGetterSetter(E,"fillRadialGradientEndPointX",0);g.addGetterSetter(E,"fillRadialGradientEndPointY",0);g.addGetterSetter(E,"fillPatternRotation",0);g.backCompat(E,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var Lh="#",Rh="beforeDraw",Ih="draw",Ka=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],Nh=Ka.length;class Wt extends De{constructor(e){super(e),this.canvas=new ri,this.hitCanvas=new Qs({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);var 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(){x.prototype.moveToTop.call(this);var e=this.getStage();return e&&e.content&&(e.content.removeChild(this.getNativeCanvasElement()),e.content.appendChild(this.getNativeCanvasElement())),!0}moveUp(){var e=x.prototype.moveUp.call(this);if(!e)return!1;var t=this.getStage();return!t||!t.content?!1:(t.content.removeChild(this.getNativeCanvasElement()),this.index<t.children.length-1?t.content.insertBefore(this.getNativeCanvasElement(),t.children[this.index+1].getCanvas()._canvas):t.content.appendChild(this.getNativeCanvasElement()),!0)}moveDown(){if(x.prototype.moveDown.call(this)){var e=this.getStage();if(e){var 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(x.prototype.moveToBottom.call(this)){var e=this.getStage();if(e){var 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(){var e=this.getNativeCanvasElement();return x.prototype.remove.call(this),e&&e.parentNode&&y._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){var t=e.getType();t!=="Group"&&t!=="Shape"&&y.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(),x.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(){y.warn('Can not change width of layer. Use "stage.width(value)" function instead.')}getHeight(){if(this.parent)return this.parent.height()}setHeight(){y.warn('Can not change height of layer. Use "stage.height(value)" function instead.')}batchDraw(){return this._waitingForDraw||(this._waitingForDraw=!0,y.requestAnimFrame(()=>{this.draw(),this._waitingForDraw=!1})),this}getIntersection(e){if(!this.isListening()||!this.isVisible())return null;for(var t=1,i=!1;;){for(let s=0;s<Nh;s++){const n=Ka[s],a=this._getIntersection({x:e.x+n.x*t,y:e.y+n.y*t}),o=a.shape;if(o)return o;if(i=!!a.antialiased,!a.antialiased)break}if(i)t+=1;else return null}}_getIntersection(e){const t=this.hitCanvas.pixelRatio,i=this.hitCanvas.context.getImageData(Math.round(e.x*t),Math.round(e.y*t),1,1).data,s=i[3];if(s===255){const n=y._rgbToHex(i[0],i[1],i[2]),a=Mi[Lh+n];return a?{shape:a}:{antialiased:!0}}else if(s>0)return{antialiased:!0};return{}}drawScene(e,t){var i=this.getLayer(),s=e||i&&i.getCanvas();return this._fire(Rh,{node:this}),this.clearBeforeDraw()&&s.getContext().clear(),De.prototype.drawScene.call(this,s,t),this._fire(Ih,{node:this}),this}drawHit(e,t){var i=this.getLayer(),s=e||i&&i.hitCanvas;return i&&i.clearBeforeDraw()&&i.getHitCanvas().getContext().clear(),De.prototype.drawHit.call(this,s,t),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(e){y.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(e)}getHitGraphEnabled(e){return y.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var e=this.parent,t=!!this.hitCanvas._canvas.parentNode;t?e.content.removeChild(this.hitCanvas._canvas):e.content.appendChild(this.hitCanvas._canvas)}}destroy(){return y.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Wt.prototype.nodeType="Layer";ge(Wt);g.addGetterSetter(Wt,"imageSmoothingEnabled",!0);g.addGetterSetter(Wt,"clearBeforeDraw",!0);g.addGetterSetter(Wt,"hitGraphEnabled",!0,qe());class tn extends Wt{constructor(e){super(e),this.listening(!1),y.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}tn.prototype.nodeType="FastLayer";ge(tn);class oi extends De{_validateAdd(e){var t=e.getType();t!=="Group"&&t!=="Shape"&&y.throw("You may only add groups and shapes to groups.")}}oi.prototype.nodeType="Group";ge(oi);var ds=function(){return ii.performance&&ii.performance.now?function(){return ii.performance.now()}:function(){return new Date().getTime()}}();class Be{constructor(e,t){this.id=Be.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:ds(),frameRate:0},this.func=e,this.setLayers(t)}setLayers(e){var t=[];return e?e.length>0?t=e:t=[e]:t=[],this.layers=t,this}getLayers(){return this.layers}addLayer(e){var t=this.layers,i=t.length,s;for(s=0;s<i;s++)if(t[s]._id===e._id)return!1;return this.layers.push(e),!0}isRunning(){var e=Be,t=e.animations,i=t.length,s;for(s=0;s<i;s++)if(t[s].id===this.id)return!0;return!1}start(){return this.stop(),this.frame.timeDiff=0,this.frame.lastTime=ds(),Be._addAnimation(this),this}stop(){return Be._removeAnimation(this),this}_updateFrameObject(e){this.frame.timeDiff=e-this.frame.lastTime,this.frame.lastTime=e,this.frame.time+=this.frame.timeDiff,this.frame.frameRate=1e3/this.frame.timeDiff}static _addAnimation(e){this.animations.push(e),this._handleAnimation()}static _removeAnimation(e){var t=e.id,i=this.animations,s=i.length,n;for(n=0;n<s;n++)if(i[n].id===t){this.animations.splice(n,1);break}}static _runFrames(){var e={},t=this.animations,i,s,n,a,o,h,l,d,u;for(a=0;a<t.length;a++)if(i=t[a],s=i.layers,n=i.func,i._updateFrameObject(ds()),h=s.length,n?u=n.call(i,i.frame)!==!1:u=!0,!!u)for(o=0;o<h;o++)l=s[o],l._id!==void 0&&(e[l._id]=l);for(d in e)e.hasOwnProperty(d)&&e[d].batchDraw()}static _animationLoop(){var e=Be;e.animations.length?(e._runFrames(),y.requestAnimFrame(e._animationLoop)):e.animRunning=!1}static _handleAnimation(){this.animRunning||(this.animRunning=!0,y.requestAnimFrame(this._animationLoop))}}Be.animations=[];Be.animIdCounter=0;Be.animRunning=!1;var Gh={node:1,duration:1,easing:1,onFinish:1,yoyo:1},Dh=1,Nn=2,Gn=3,Fh=0,Dn=["fill","stroke","shadowColor"];class Hh{constructor(e,t,i,s,n,a,o){this.prop=e,this.propFunc=t,this.begin=s,this._pos=s,this.duration=a,this._change=0,this.prevPos=0,this.yoyo=o,this._time=0,this._position=0,this._startTime=0,this._finish=0,this.func=i,this._change=n-this.begin,this.pause()}fire(e){var 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=Nn,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=Gn,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(){var e=this.getTimer()-this._startTime;this.state===Nn?this.setTime(e):this.state===Gn&&this.setTime(this.duration-e)}pause(){this.state=Dh,this.fire("onPause")}getTimer(){return new Date().getTime()}}class ye{constructor(e){var t=this,i=e.node,s=i._id,n,a=e.easing||Li.Linear,o=!!e.yoyo,h;typeof e.duration>"u"?n=.3:e.duration===0?n=.001:n=e.duration,this.node=i,this._id=Fh++;var l=i.getLayer()||(i instanceof D.Stage?i.getLayers():null);l||y.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new Be(function(){t.tween.onEnterFrame()},l),this.tween=new Hh(h,function(d){t._tweenFunc(d)},a,0,1,n*1e3,o),this._addListeners(),ye.attrs[s]||(ye.attrs[s]={}),ye.attrs[s][this._id]||(ye.attrs[s][this._id]={}),ye.tweens[s]||(ye.tweens[s]={});for(h in e)Gh[h]===void 0&&this._addAttr(h,e[h]);this.reset(),this.onFinish=e.onFinish,this.onReset=e.onReset,this.onUpdate=e.onUpdate}_addAttr(e,t){var i=this.node,s=i._id,n,a,o,h,l,d,u,c;if(o=ye.tweens[s][e],o&&delete ye.attrs[s][o][e],n=i.getAttr(e),y._isArray(t))if(a=[],l=Math.max(t.length,n.length),e==="points"&&t.length!==n.length&&(t.length>n.length?(u=n,n=y._prepareArrayForTween(n,t,i.closed())):(d=t,t=y._prepareArrayForTween(t,n,i.closed()))),e.indexOf("fill")===0)for(h=0;h<l;h++)if(h%2===0)a.push(t[h]-n[h]);else{var p=y.colorToRGBA(n[h]);c=y.colorToRGBA(t[h]),n[h]=p,a.push({r:c.r-p.r,g:c.g-p.g,b:c.b-p.b,a:c.a-p.a})}else for(h=0;h<l;h++)a.push(t[h]-n[h]);else Dn.indexOf(e)!==-1?(n=y.colorToRGBA(n),c=y.colorToRGBA(t),a={r:c.r-n.r,g:c.g-n.g,b:c.b-n.b,a:c.a-n.a}):a=t-n;ye.attrs[s][this._id][e]={start:n,diff:a,end:t,trueEnd:d,trueStart:u},ye.tweens[s][e]=this._id}_tweenFunc(e){var t=this.node,i=ye.attrs[t._id][this._id],s,n,a,o,h,l,d,u;for(s in i){if(n=i[s],a=n.start,o=n.diff,u=n.end,y._isArray(a))if(h=[],d=Math.max(a.length,u.length),s.indexOf("fill")===0)for(l=0;l<d;l++)l%2===0?h.push((a[l]||0)+o[l]*e):h.push("rgba("+Math.round(a[l].r+o[l].r*e)+","+Math.round(a[l].g+o[l].g*e)+","+Math.round(a[l].b+o[l].b*e)+","+(a[l].a+o[l].a*e)+")");else for(l=0;l<d;l++)h.push((a[l]||0)+o[l]*e);else Dn.indexOf(s)!==-1?h="rgba("+Math.round(a.r+o.r*e)+","+Math.round(a.g+o.g*e)+","+Math.round(a.b+o.b*e)+","+(a.a+o.a*e)+")":h=a+o*e;t.setAttr(s,h)}}_addListeners(){this.tween.onPlay=()=>{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var e=this.node,t=ye.attrs[e._id][this._id];t.points&&t.points.trueEnd&&e.setAttr("points",t.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var e=this.node,t=ye.attrs[e._id][this._id];t.points&&t.points.trueStart&&e.points(t.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(e){return this.tween.seek(e*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var e=this.node._id,t=this._id,i=ye.tweens[e],s;this.pause();for(s in i)delete ye.tweens[e][s];delete ye.attrs[e][t]}}ye.attrs={};ye.tweens={};x.prototype.to=function(r){var e=r.onFinish;r.node=this,r.onFinish=function(){this.destroy(),e&&e()};var t=new ye(r);t.play()};const Li={BackEaseIn(r,e,t,i){var s=1.70158;return t*(r/=i)*r*((s+1)*r-s)+e},BackEaseOut(r,e,t,i){var s=1.70158;return t*((r=r/i-1)*r*((s+1)*r+s)+1)+e},BackEaseInOut(r,e,t,i){var s=1.70158;return(r/=i/2)<1?t/2*(r*r*(((s*=1.525)+1)*r-s))+e:t/2*((r-=2)*r*(((s*=1.525)+1)*r+s)+2)+e},ElasticEaseIn(r,e,t,i,s,n){var a=0;return r===0?e:(r/=i)===1?e+t:(n||(n=i*.3),!s||s<Math.abs(t)?(s=t,a=n/4):a=n/(2*Math.PI)*Math.asin(t/s),-(s*Math.pow(2,10*(r-=1))*Math.sin((r*i-a)*(2*Math.PI)/n))+e)},ElasticEaseOut(r,e,t,i,s,n){var a=0;return r===0?e:(r/=i)===1?e+t:(n||(n=i*.3),!s||s<Math.abs(t)?(s=t,a=n/4):a=n/(2*Math.PI)*Math.asin(t/s),s*Math.pow(2,-10*r)*Math.sin((r*i-a)*(2*Math.PI)/n)+t+e)},ElasticEaseInOut(r,e,t,i,s,n){var a=0;return r===0?e:(r/=i/2)===2?e+t:(n||(n=i*(.3*1.5)),!s||s<Math.abs(t)?(s=t,a=n/4):a=n/(2*Math.PI)*Math.asin(t/s),r<1?-.5*(s*Math.pow(2,10*(r-=1))*Math.sin((r*i-a)*(2*Math.PI)/n))+e:s*Math.pow(2,-10*(r-=1))*Math.sin((r*i-a)*(2*Math.PI)/n)*.5+t+e)},BounceEaseOut(r,e,t,i){return(r/=i)<1/2.75?t*(7.5625*r*r)+e:r<2/2.75?t*(7.5625*(r-=1.5/2.75)*r+.75)+e:r<2.5/2.75?t*(7.5625*(r-=2.25/2.75)*r+.9375)+e:t*(7.5625*(r-=2.625/2.75)*r+.984375)+e},BounceEaseIn(r,e,t,i){return t-Li.BounceEaseOut(i-r,0,t,i)+e},BounceEaseInOut(r,e,t,i){return r<i/2?Li.BounceEaseIn(r*2,0,t,i)*.5+e:Li.BounceEaseOut(r*2-i,0,t,i)*.5+t*.5+e},EaseIn(r,e,t,i){return t*(r/=i)*r+e},EaseOut(r,e,t,i){return-t*(r/=i)*(r-2)+e},EaseInOut(r,e,t,i){return(r/=i/2)<1?t/2*r*r+e:-t/2*(--r*(r-2)-1)+e},StrongEaseIn(r,e,t,i){return t*(r/=i)*r*r*r*r+e},StrongEaseOut(r,e,t,i){return t*((r=r/i-1)*r*r*r*r+1)+e},StrongEaseInOut(r,e,t,i){return(r/=i/2)<1?t/2*r*r*r*r*r+e:t/2*((r-=2)*r*r*r*r+2)+e},Linear(r,e,t,i){return t*r/i+e}},Fn=y._assign(D,{Util:y,Transform:Ge,Node:x,Container:De,Stage:jr,stages:br,Layer:Wt,FastLayer:tn,Group:oi,DD:re,Shape:E,shapes:Mi,Animation:Be,Tween:ye,Easings:Li,Context:Ur,Canvas:Zr});class vt extends E{_sceneFunc(e){var t=D.getAngle(this.angle()),i=this.clockwise();e.beginPath(),e.arc(0,0,this.outerRadius(),0,t,i),e.arc(0,0,this.innerRadius(),t,0,!i),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(),i=this.clockwise(),s=D.getAngle(i?360-this.angle():this.angle()),n=Math.cos(Math.min(s,Math.PI)),a=1,o=Math.sin(Math.min(Math.max(Math.PI,s),3*Math.PI/2)),h=Math.sin(Math.min(s,Math.PI/2)),l=n*(n>0?e:t),d=a*t,u=o*(o>0?e:t),c=h*(h>0?t:e);return{x:l,y:i?-1*c:u,width:d-l,height:c-u}}}vt.prototype._centroid=!0;vt.prototype.className="Arc";vt.prototype._attrsAffectingSize=["innerRadius","outerRadius"];ge(vt);g.addGetterSetter(vt,"innerRadius",0,k());g.addGetterSetter(vt,"outerRadius",0,k());g.addGetterSetter(vt,"angle",0,k());g.addGetterSetter(vt,"clockwise",!1,qe());function Cs(r,e,t,i,s,n,a){var o=Math.sqrt(Math.pow(t-r,2)+Math.pow(i-e,2)),h=Math.sqrt(Math.pow(s-t,2)+Math.pow(n-i,2)),l=a*o/(o+h),d=a*h/(o+h),u=t-l*(s-r),c=i-l*(n-e),p=t+d*(s-r),f=i+d*(n-e);return[u,c,p,f]}function Hn(r,e){var t=r.length,i=[],s,n;for(s=2;s<t-2;s+=2)n=Cs(r[s-2],r[s-1],r[s],r[s+1],r[s+2],r[s+3],e),!isNaN(n[0])&&(i.push(n[0]),i.push(n[1]),i.push(r[s]),i.push(r[s+1]),i.push(n[2]),i.push(n[3]));return i}class yt extends E{constructor(e){super(e),this.on("pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva",function(){this._clearCache("tensionPoints")})}_sceneFunc(e){var t=this.points(),i=t.length,s=this.tension(),n=this.closed(),a=this.bezier(),o,h,l;if(i){if(e.beginPath(),e.moveTo(t[0],t[1]),s!==0&&i>4){for(o=this.getTensionPoints(),h=o.length,l=n?0:4,n||e.quadraticCurveTo(o[0],o[1],o[2],o[3]);l<h-2;)e.bezierCurveTo(o[l++],o[l++],o[l++],o[l++],o[l++],o[l++]);n||e.quadraticCurveTo(o[h-2],o[h-1],t[i-2],t[i-1])}else if(a)for(l=2;l<i;)e.bezierCurveTo(t[l++],t[l++],t[l++],t[l++],t[l++],t[l++]);else for(l=2;l<i;l+=2)e.lineTo(t[l],t[l+1]);n?(e.closePath(),e.fillStrokeShape(this)):e.strokeShape(this)}}getTensionPoints(){return this._getCache("tensionPoints",this._getTensionPoints)}_getTensionPoints(){return this.closed()?this._getTensionPointsClosed():Hn(this.points(),this.tension())}_getTensionPointsClosed(){var e=this.points(),t=e.length,i=this.tension(),s=Cs(e[t-2],e[t-1],e[0],e[1],e[2],e[3],i),n=Cs(e[t-4],e[t-3],e[t-2],e[t-1],e[0],e[1],i),a=Hn(e,i),o=[s[2],s[3]].concat(a).concat([n[0],n[1],e[t-2],e[t-1],n[2],n[3],s[0],s[1],e[0],e[1]]);return o}getWidth(){return this.getSelfRect().width}getHeight(){return this.getSelfRect().height}getSelfRect(){var 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]]:e=this.points();for(var t=e[0],i=e[0],s=e[1],n=e[1],a,o,h=0;h<e.length/2;h++)a=e[h*2],o=e[h*2+1],t=Math.min(t,a),i=Math.max(i,a),s=Math.min(s,o),n=Math.max(n,o);return{x:t,y:s,width:i-t,height:n-s}}}yt.prototype.className="Line";yt.prototype._attrsAffectingSize=["points","bezier","tension"];ge(yt);g.addGetterSetter(yt,"closed",!1);g.addGetterSetter(yt,"bezier",!1);g.addGetterSetter(yt,"tension",0,k());g.addGetterSetter(yt,"points",[],ql());class he extends E{constructor(e){super(e),this.dataArray=[],this.pathLength=0,this.dataArray=he.parsePathData(this.data()),this.pathLength=0;for(var t=0;t<this.dataArray.length;++t)this.pathLength+=this.dataArray[t].pathLength;this.on("dataChange.konva",function(){this.dataArray=he.parsePathData(this.data()),this.pathLength=0;for(var i=0;i<this.dataArray.length;++i)this.pathLength+=this.dataArray[i].pathLength})}_sceneFunc(e){var t=this.dataArray;e.beginPath();for(var i=!1,s=0;s<t.length;s++){var n=t[s].command,a=t[s].points;switch(n){case"L":e.lineTo(a[0],a[1]);break;case"M":e.moveTo(a[0],a[1]);break;case"C":e.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"Q":e.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case"A":var o=a[0],h=a[1],l=a[2],d=a[3],u=a[4],c=a[5],p=a[6],f=a[7],m=l>d?l:d,v=l>d?1:l/d,_=l>d?d/l:1;e.translate(o,h),e.rotate(p),e.scale(v,_),e.arc(0,0,m,u,u+c,1-f),e.scale(1/v,1/_),e.rotate(-p),e.translate(-o,-h);break;case"z":i=!0,e.closePath();break}}!i&&!this.hasFill()?e.strokeShape(this):e.fillStrokeShape(this)}getSelfRect(){var e=[];this.dataArray.forEach(function(l){if(l.command==="A"){var d=l.points[4],u=l.points[5],c=l.points[4]+u,p=Math.PI/180;if(Math.abs(d-c)<p&&(p=Math.abs(d-c)),u<0)for(let f=d-p;f>c;f-=p){const m=he.getPointOnEllipticalArc(l.points[0],l.points[1],l.points[2],l.points[3],f,0);e.push(m.x,m.y)}else for(let f=d+p;f<c;f+=p){const m=he.getPointOnEllipticalArc(l.points[0],l.points[1],l.points[2],l.points[3],f,0);e.push(m.x,m.y)}}else if(l.command==="C")for(let f=0;f<=1;f+=.01){const m=he.getPointOnCubicBezier(f,l.start.x,l.start.y,l.points[0],l.points[1],l.points[2],l.points[3],l.points[4],l.points[5]);e.push(m.x,m.y)}else e=e.concat(l.points)});for(var t=e[0],i=e[0],s=e[1],n=e[1],a,o,h=0;h<e.length/2;h++)a=e[h*2],o=e[h*2+1],isNaN(a)||(t=Math.min(t,a),i=Math.max(i,a)),isNaN(o)||(s=Math.min(s,o),n=Math.max(n,o));return{x:t,y:s,width:i-t,height:n-s}}getLength(){return this.pathLength}getPointAtLength(e){var t,i=0,s=this.dataArray.length;if(!s)return null;for(;i<s&&e>this.dataArray[i].pathLength;)e-=this.dataArray[i].pathLength,++i;if(i===s)return t=this.dataArray[i-1].points.slice(-2),{x:t[0],y:t[1]};if(e<.01)return t=this.dataArray[i].points.slice(0,2),{x:t[0],y:t[1]};var n=this.dataArray[i],a=n.points;switch(n.command){case"L":return he.getPointOnLine(e,n.start.x,n.start.y,a[0],a[1]);case"C":return he.getPointOnCubicBezier(e/n.pathLength,n.start.x,n.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return he.getPointOnQuadraticBezier(e/n.pathLength,n.start.x,n.start.y,a[0],a[1],a[2],a[3]);case"A":var o=a[0],h=a[1],l=a[2],d=a[3],u=a[4],c=a[5],p=a[6];return u+=c*e/n.pathLength,he.getPointOnEllipticalArc(o,h,l,d,u,p)}return null}static getLineLength(e,t,i,s){return Math.sqrt((i-e)*(i-e)+(s-t)*(s-t))}static getPointOnLine(e,t,i,s,n,a,o){a===void 0&&(a=t),o===void 0&&(o=i);var h=(n-i)/(s-t+1e-8),l=Math.sqrt(e*e/(1+h*h));s<t&&(l*=-1);var d=h*l,u;if(s===t)u={x:a,y:o+d};else if((o-i)/(a-t+1e-8)===h)u={x:a+l,y:o+d};else{var c,p,f=this.getLineLength(t,i,s,n),m=(a-t)*(s-t)+(o-i)*(n-i);m=m/(f*f),c=t+m*(s-t),p=i+m*(n-i);var v=this.getLineLength(a,o,c,p),_=Math.sqrt(e*e-v*v);l=Math.sqrt(_*_/(1+h*h)),s<t&&(l*=-1),d=h*l,u={x:c+l,y:p+d}}return u}static getPointOnCubicBezier(e,t,i,s,n,a,o,h,l){function d(v){return v*v*v}function u(v){return 3*v*v*(1-v)}function c(v){return 3*v*(1-v)*(1-v)}function p(v){return(1-v)*(1-v)*(1-v)}var f=h*d(e)+a*u(e)+s*c(e)+t*p(e),m=l*d(e)+o*u(e)+n*c(e)+i*p(e);return{x:f,y:m}}static getPointOnQuadraticBezier(e,t,i,s,n,a,o){function h(p){return p*p}function l(p){return 2*p*(1-p)}function d(p){return(1-p)*(1-p)}var u=a*h(e)+s*l(e)+t*d(e),c=o*h(e)+n*l(e)+i*d(e);return{x:u,y:c}}static getPointOnEllipticalArc(e,t,i,s,n,a){var o=Math.cos(a),h=Math.sin(a),l={x:i*Math.cos(n),y:s*Math.sin(n)};return{x:e+(l.x*o-l.y*h),y:t+(l.x*h+l.y*o)}}static parsePathData(e){if(!e)return[];var t=e,i=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];t=t.replace(new RegExp(" ","g"),",");for(var s=0;s<i.length;s++)t=t.replace(new RegExp(i[s],"g"),"|"+i[s]);var n=t.split("|"),a=[],o=[],h=0,l=0,d=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,u;for(s=1;s<n.length;s++){var c=n[s],p=c.charAt(0);for(c=c.slice(1),o.length=0;u=d.exec(c);)o.push(u[0]);for(var f=[],m=0,v=o.length;m<v;m++){if(o[m]==="00"){f.push(0,0);continue}var _=parseFloat(o[m]);isNaN(_)?f.push(0):f.push(_)}for(;f.length>0&&!isNaN(f[0]);){var w=null,b=[],T=h,M=l,P,G,L,H,$,R,K,W,le,ne;switch(p){case"l":h+=f.shift(),l+=f.shift(),w="L",b.push(h,l);break;case"L":h=f.shift(),l=f.shift(),b.push(h,l);break;case"m":var U=f.shift(),we=f.shift();if(h+=U,l+=we,w="M",a.length>2&&a[a.length-1].command==="z"){for(var Re=a.length-2;Re>=0;Re--)if(a[Re].command==="M"){h=a[Re].points[0]+U,l=a[Re].points[1]+we;break}}b.push(h,l),p="l";break;case"M":h=f.shift(),l=f.shift(),w="M",b.push(h,l),p="L";break;case"h":h+=f.shift(),w="L",b.push(h,l);break;case"H":h=f.shift(),w="L",b.push(h,l);break;case"v":l+=f.shift(),w="L",b.push(h,l);break;case"V":l=f.shift(),w="L",b.push(h,l);break;case"C":b.push(f.shift(),f.shift(),f.shift(),f.shift()),h=f.shift(),l=f.shift(),b.push(h,l);break;case"c":b.push(h+f.shift(),l+f.shift(),h+f.shift(),l+f.shift()),h+=f.shift(),l+=f.shift(),w="C",b.push(h,l);break;case"S":G=h,L=l,P=a[a.length-1],P.command==="C"&&(G=h+(h-P.points[2]),L=l+(l-P.points[3])),b.push(G,L,f.shift(),f.shift()),h=f.shift(),l=f.shift(),w="C",b.push(h,l);break;case"s":G=h,L=l,P=a[a.length-1],P.command==="C"&&(G=h+(h-P.points[2]),L=l+(l-P.points[3])),b.push(G,L,h+f.shift(),l+f.shift()),h+=f.shift(),l+=f.shift(),w="C",b.push(h,l);break;case"Q":b.push(f.shift(),f.shift()),h=f.shift(),l=f.shift(),b.push(h,l);break;case"q":b.push(h+f.shift(),l+f.shift()),h+=f.shift(),l+=f.shift(),w="Q",b.push(h,l);break;case"T":G=h,L=l,P=a[a.length-1],P.command==="Q"&&(G=h+(h-P.points[0]),L=l+(l-P.points[1])),h=f.shift(),l=f.shift(),w="Q",b.push(G,L,h,l);break;case"t":G=h,L=l,P=a[a.length-1],P.command==="Q"&&(G=h+(h-P.points[0]),L=l+(l-P.points[1])),h+=f.shift(),l+=f.shift(),w="Q",b.push(G,L,h,l);break;case"A":H=f.shift(),$=f.shift(),R=f.shift(),K=f.shift(),W=f.shift(),le=h,ne=l,h=f.shift(),l=f.shift(),w="A",b=this.convertEndpointToCenterParameterization(le,ne,h,l,K,W,H,$,R);break;case"a":H=f.shift(),$=f.shift(),R=f.shift(),K=f.shift(),W=f.shift(),le=h,ne=l,h+=f.shift(),l+=f.shift(),w="A",b=this.convertEndpointToCenterParameterization(le,ne,h,l,K,W,H,$,R);break}a.push({command:w||p,points:b,start:{x:T,y:M},pathLength:this.calcLength(T,M,w||p,b)})}(p==="z"||p==="Z")&&a.push({command:"z",points:[],start:void 0,pathLength:0})}return a}static calcLength(e,t,i,s){var n,a,o,h,l=he;switch(i){case"L":return l.getLineLength(e,t,s[0],s[1]);case"C":for(n=0,a=l.getPointOnCubicBezier(0,e,t,s[0],s[1],s[2],s[3],s[4],s[5]),h=.01;h<=1;h+=.01)o=l.getPointOnCubicBezier(h,e,t,s[0],s[1],s[2],s[3],s[4],s[5]),n+=l.getLineLength(a.x,a.y,o.x,o.y),a=o;return n;case"Q":for(n=0,a=l.getPointOnQuadraticBezier(0,e,t,s[0],s[1],s[2],s[3]),h=.01;h<=1;h+=.01)o=l.getPointOnQuadraticBezier(h,e,t,s[0],s[1],s[2],s[3]),n+=l.getLineLength(a.x,a.y,o.x,o.y),a=o;return n;case"A":n=0;var d=s[4],u=s[5],c=s[4]+u,p=Math.PI/180;if(Math.abs(d-c)<p&&(p=Math.abs(d-c)),a=l.getPointOnEllipticalArc(s[0],s[1],s[2],s[3],d,0),u<0)for(h=d-p;h>c;h-=p)o=l.getPointOnEllipticalArc(s[0],s[1],s[2],s[3],h,0),n+=l.getLineLength(a.x,a.y,o.x,o.y),a=o;else for(h=d+p;h<c;h+=p)o=l.getPointOnEllipticalArc(s[0],s[1],s[2],s[3],h,0),n+=l.getLineLength(a.x,a.y,o.x,o.y),a=o;return o=l.getPointOnEllipticalArc(s[0],s[1],s[2],s[3],c,0),n+=l.getLineLength(a.x,a.y,o.x,o.y),n}return 0}static convertEndpointToCenterParameterization(e,t,i,s,n,a,o,h,l){var d=l*(Math.PI/180),u=Math.cos(d)*(e-i)/2+Math.sin(d)*(t-s)/2,c=-1*Math.sin(d)*(e-i)/2+Math.cos(d)*(t-s)/2,p=u*u/(o*o)+c*c/(h*h);p>1&&(o*=Math.sqrt(p),h*=Math.sqrt(p));var f=Math.sqrt((o*o*(h*h)-o*o*(c*c)-h*h*(u*u))/(o*o*(c*c)+h*h*(u*u)));n===a&&(f*=-1),isNaN(f)&&(f=0);var m=f*o*c/h,v=f*-h*u/o,_=(e+i)/2+Math.cos(d)*m-Math.sin(d)*v,w=(t+s)/2+Math.sin(d)*m+Math.cos(d)*v,b=function($){return Math.sqrt($[0]*$[0]+$[1]*$[1])},T=function($,R){return($[0]*R[0]+$[1]*R[1])/(b($)*b(R))},M=function($,R){return($[0]*R[1]<$[1]*R[0]?-1:1)*Math.acos(T($,R))},P=M([1,0],[(u-m)/o,(c-v)/h]),G=[(u-m)/o,(c-v)/h],L=[(-1*u-m)/o,(-1*c-v)/h],H=M(G,L);return T(G,L)<=-1&&(H=Math.PI),T(G,L)>=1&&(H=0),a===0&&H>0&&(H=H-2*Math.PI),a===1&&H<0&&(H=H+2*Math.PI),[_,w,o,h,P,H,d,a]}}he.prototype.className="Path";he.prototype._attrsAffectingSize=["data"];ge(he);g.addGetterSetter(he,"data");class Ut extends yt{_sceneFunc(e){super._sceneFunc(e);var t=Math.PI*2,i=this.points(),s=i,n=this.tension()!==0&&i.length>4;n&&(s=this.getTensionPoints());var a=this.pointerLength(),o=i.length,h,l;if(n){const c=[s[s.length-4],s[s.length-3],s[s.length-2],s[s.length-1],i[o-2],i[o-1]],p=he.calcLength(s[s.length-4],s[s.length-3],"C",c),f=he.getPointOnQuadraticBezier(Math.min(1,1-a/p),c[0],c[1],c[2],c[3],c[4],c[5]);h=i[o-2]-f.x,l=i[o-1]-f.y}else h=i[o-2]-i[o-4],l=i[o-1]-i[o-3];var d=(Math.atan2(l,h)+t)%t,u=this.pointerWidth();this.pointerAtEnding()&&(e.save(),e.beginPath(),e.translate(i[o-2],i[o-1]),e.rotate(d),e.moveTo(0,0),e.lineTo(-a,u/2),e.lineTo(-a,-u/2),e.closePath(),e.restore(),this.__fillStroke(e)),this.pointerAtBeginning()&&(e.save(),e.beginPath(),e.translate(i[0],i[1]),n?(h=(s[0]+s[2])/2-i[0],l=(s[1]+s[3])/2-i[1]):(h=i[2]-i[0],l=i[3]-i[1]),e.rotate((Math.atan2(-l,-h)+t)%t),e.moveTo(0,0),e.lineTo(-a,u/2),e.lineTo(-a,-u/2),e.closePath(),e.restore(),this.__fillStroke(e))}__fillStroke(e){var 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-t,y:e.y-t,width:e.width+t*2,height:e.height+t*2}}}Ut.prototype.className="Arrow";ge(Ut);g.addGetterSetter(Ut,"pointerLength",10,k());g.addGetterSetter(Ut,"pointerWidth",10,k());g.addGetterSetter(Ut,"pointerAtBeginning",!1);g.addGetterSetter(Ut,"pointerAtEnding",!0);class mi extends E{_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)}}mi.prototype._centroid=!0;mi.prototype.className="Circle";mi.prototype._attrsAffectingSize=["radius"];ge(mi);g.addGetterSetter(mi,"radius",0,k());class Nt extends E{_sceneFunc(e){var t=this.radiusX(),i=this.radiusY();e.beginPath(),e.save(),t!==i&&e.scale(1,i/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)}}Nt.prototype.className="Ellipse";Nt.prototype._centroid=!0;Nt.prototype._attrsAffectingSize=["radiusX","radiusY"];ge(Nt);g.addComponentsGetterSetter(Nt,"radius",["x","y"]);g.addGetterSetter(Nt,"radiusX",0,k());g.addGetterSetter(Nt,"radiusY",0,k());class Ye extends E{constructor(e){super(e),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const e=this.image();e&&e.complete||e&&e.readyState===4||e&&e.addEventListener&&e.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(e){const t=this.getWidth(),i=this.getHeight(),s=this.attrs.image;let n;if(s){const a=this.attrs.cropWidth,o=this.attrs.cropHeight;a&&o?n=[s,this.cropX(),this.cropY(),a,o,0,0,t,i]:n=[s,0,0,t,i]}(this.hasFill()||this.hasStroke())&&(e.beginPath(),e.rect(0,0,t,i),e.closePath(),e.fillStrokeShape(this)),s&&e.drawImage.apply(e,n)}_hitFunc(e){var t=this.width(),i=this.height();e.beginPath(),e.rect(0,0,t,i),e.closePath(),e.fillStrokeShape(this)}getWidth(){var e,t;return(e=this.attrs.width)!==null&&e!==void 0?e:(t=this.image())===null||t===void 0?void 0:t.width}getHeight(){var e,t;return(e=this.attrs.height)!==null&&e!==void 0?e:(t=this.image())===null||t===void 0?void 0:t.height}static fromURL(e,t,i=null){var s=y.createImageElement();s.onload=function(){var n=new Ye({image:s});t(n)},s.onerror=i,s.crossOrigin="Anonymous",s.src=e}}Ye.prototype.className="Image";ge(Ye);g.addGetterSetter(Ye,"image");g.addComponentsGetterSetter(Ye,"crop",["x","y","width","height"]);g.addGetterSetter(Ye,"cropX",0,k());g.addGetterSetter(Ye,"cropY",0,k());g.addGetterSetter(Ye,"cropWidth",0,k());g.addGetterSetter(Ye,"cropHeight",0,k());var Ja=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],Bh="Change.konva",$h="none",Es="up",ks="right",xs="down",Ps="left",Vh=Ja.length;class rn extends oi{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){var t=this,i,s=function(){t._sync()};for(i=0;i<Vh;i++)e.on(Ja[i]+Bh,s)}getWidth(){return this.getText().width()}getHeight(){return this.getText().height()}_sync(){var e=this.getText(),t=this.getTag(),i,s,n,a,o,h,l;if(e&&t){switch(i=e.width(),s=e.height(),n=t.pointerDirection(),a=t.pointerWidth(),l=t.pointerHeight(),o=0,h=0,n){case Es:o=i/2,h=-1*l;break;case ks:o=i+a,h=s/2;break;case xs:o=i/2,h=s+l;break;case Ps:o=-1*a,h=s/2;break}t.setAttrs({x:-1*o,y:-1*h,width:i,height:s}),e.setAttrs({x:-1*o,y:-1*h})}}}rn.prototype.className="Label";ge(rn);class Zt extends E{_sceneFunc(e){var t=this.width(),i=this.height(),s=this.pointerDirection(),n=this.pointerWidth(),a=this.pointerHeight(),o=this.cornerRadius();let h=0,l=0,d=0,u=0;typeof o=="number"?h=l=d=u=Math.min(o,t/2,i/2):(h=Math.min(o[0]||0,t/2,i/2),l=Math.min(o[1]||0,t/2,i/2),u=Math.min(o[2]||0,t/2,i/2),d=Math.min(o[3]||0,t/2,i/2)),e.beginPath(),e.moveTo(h,0),s===Es&&(e.lineTo((t-n)/2,0),e.lineTo(t/2,-1*a),e.lineTo((t+n)/2,0)),e.lineTo(t-l,0),e.arc(t-l,l,l,Math.PI*3/2,0,!1),s===ks&&(e.lineTo(t,(i-a)/2),e.lineTo(t+n,i/2),e.lineTo(t,(i+a)/2)),e.lineTo(t,i-u),e.arc(t-u,i-u,u,0,Math.PI/2,!1),s===xs&&(e.lineTo((t+n)/2,i),e.lineTo(t/2,i+a),e.lineTo((t-n)/2,i)),e.lineTo(d,i),e.arc(d,i-d,d,Math.PI/2,Math.PI,!1),s===Ps&&(e.lineTo(0,(i+a)/2),e.lineTo(-1*n,i/2),e.lineTo(0,(i-a)/2)),e.lineTo(0,h),e.arc(h,h,h,Math.PI,Math.PI*3/2,!1),e.closePath(),e.fillStrokeShape(this)}getSelfRect(){var e=0,t=0,i=this.pointerWidth(),s=this.pointerHeight(),n=this.pointerDirection(),a=this.width(),o=this.height();return n===Es?(t-=s,o+=s):n===xs?o+=s:n===Ps?(e-=i*1.5,a+=i):n===ks&&(a+=i*1.5),{x:e,y:t,width:a,height:o}}}Zt.prototype.className="Tag";ge(Zt);g.addGetterSetter(Zt,"pointerDirection",$h);g.addGetterSetter(Zt,"pointerWidth",0,k());g.addGetterSetter(Zt,"pointerHeight",0,k());g.addGetterSetter(Zt,"cornerRadius",0,Ma(4));class Xi extends E{_sceneFunc(e){var t=this.cornerRadius(),i=this.width(),s=this.height();if(e.beginPath(),!t)e.rect(0,0,i,s);else{let n=0,a=0,o=0,h=0;typeof t=="number"?n=a=o=h=Math.min(t,i/2,s/2):(n=Math.min(t[0]||0,i/2,s/2),a=Math.min(t[1]||0,i/2,s/2),h=Math.min(t[2]||0,i/2,s/2),o=Math.min(t[3]||0,i/2,s/2)),e.moveTo(n,0),e.lineTo(i-a,0),e.arc(i-a,a,a,Math.PI*3/2,0,!1),e.lineTo(i,s-h),e.arc(i-h,s-h,h,0,Math.PI/2,!1),e.lineTo(o,s),e.arc(o,s-o,o,Math.PI/2,Math.PI,!1),e.lineTo(0,n),e.arc(n,n,n,Math.PI,Math.PI*3/2,!1)}e.closePath(),e.fillStrokeShape(this)}}Xi.prototype.className="Rect";ge(Xi);g.addGetterSetter(Xi,"cornerRadius",0,Ma(4));class jt extends E{_sceneFunc(e){const t=this._getPoints();e.beginPath(),e.moveTo(t[0].x,t[0].y);for(var 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,i=[];for(var s=0;s<e;s++)i.push({x:t*Math.sin(s*2*Math.PI/e),y:-1*t*Math.cos(s*2*Math.PI/e)});return i}getSelfRect(){const e=this._getPoints();var t=e[0].x,i=e[0].y,s=e[0].x,n=e[0].y;return e.forEach(a=>{t=Math.min(t,a.x),i=Math.max(i,a.x),s=Math.min(s,a.y),n=Math.max(n,a.y)}),{x:t,y:s,width:i-t,height:n-s}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}}jt.prototype.className="RegularPolygon";jt.prototype._centroid=!0;jt.prototype._attrsAffectingSize=["radius"];ge(jt);g.addGetterSetter(jt,"radius",0,k());g.addGetterSetter(jt,"sides",0,k());var Bn=Math.PI*2;class Xt extends E{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.innerRadius(),0,Bn,!1),e.moveTo(this.outerRadius(),0),e.arc(0,0,this.outerRadius(),Bn,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)}}Xt.prototype.className="Ring";Xt.prototype._centroid=!0;Xt.prototype._attrsAffectingSize=["innerRadius","outerRadius"];ge(Xt);g.addGetterSetter(Xt,"innerRadius",0,k());g.addGetterSetter(Xt,"outerRadius",0,k());class at extends E{constructor(e){super(e),this._updated=!0,this.anim=new Be(()=>{var 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){var t=this.animation(),i=this.frameIndex(),s=i*4,n=this.animations()[t],a=this.frameOffsets(),o=n[s+0],h=n[s+1],l=n[s+2],d=n[s+3],u=this.image();if((this.hasFill()||this.hasStroke())&&(e.beginPath(),e.rect(0,0,l,d),e.closePath(),e.fillStrokeShape(this)),u)if(a){var c=a[t],p=i*2;e.drawImage(u,o,h,l,d,c[p+0],c[p+1],l,d)}else e.drawImage(u,o,h,l,d,0,0,l,d)}_hitFunc(e){var t=this.animation(),i=this.frameIndex(),s=i*4,n=this.animations()[t],a=this.frameOffsets(),o=n[s+2],h=n[s+3];if(e.beginPath(),a){var l=a[t],d=i*2;e.rect(l[d+0],l[d+1],o,h)}else e.rect(0,0,o,h);e.closePath(),e.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var e=this;this.interval=setInterval(function(){e._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var 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(){var e=this.frameIndex(),t=this.animation(),i=this.animations(),s=i[t],n=s.length/4;e<n-1?this.frameIndex(e+1):this.frameIndex(0)}}at.prototype.className="Sprite";ge(at);g.addGetterSetter(at,"animation");g.addGetterSetter(at,"animations");g.addGetterSetter(at,"frameOffsets");g.addGetterSetter(at,"image");g.addGetterSetter(at,"frameIndex",0,k());g.addGetterSetter(at,"frameRate",17,k());g.backCompat(at,{index:"frameIndex",getIndex:"getFrameIndex",setIndex:"setFrameIndex"});class Gt extends E{_sceneFunc(e){var t=this.innerRadius(),i=this.outerRadius(),s=this.numPoints();e.beginPath(),e.moveTo(0,0-i);for(var n=1;n<s*2;n++){var a=n%2===0?i:t,o=a*Math.sin(n*Math.PI/s),h=-1*a*Math.cos(n*Math.PI/s);e.lineTo(o,h)}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)}}Gt.prototype.className="Star";Gt.prototype._centroid=!0;Gt.prototype._attrsAffectingSize=["innerRadius","outerRadius"];ge(Gt);g.addGetterSetter(Gt,"numPoints",5,k());g.addGetterSetter(Gt,"innerRadius",0,k());g.addGetterSetter(Gt,"outerRadius",0,k());function Qa(r){return Array.from(r)}var Yt="auto",zh="center",Si="justify",Wh="Change.konva",Uh="2d",$n="-",eo="left",Zh="text",jh="Text",Xh="top",qh="bottom",Vn="middle",to="normal",Yh="px ",ur=" ",Kh="right",Jh="word",Qh="char",zn="none",us="…",io=["fontFamily","fontSize","fontStyle","fontVariant","padding","align","verticalAlign","lineHeight","text","width","height","wrap","ellipsis","letterSpacing"],ed=io.length;function td(r){return r.split(",").map(e=>{e=e.trim();const t=e.indexOf(" ")>=0,i=e.indexOf('"')>=0||e.indexOf("'")>=0;return t&&!i&&(e=`"${e}"`),e}).join(", ")}var cr;function cs(){return cr||(cr=y.createCanvasElement().getContext(Uh),cr)}function id(r){r.fillText(this._partialText,this._partialTextX,this._partialTextY)}function rd(r){r.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function sd(r){return r=r||{},!r.fillLinearGradientColorStops&&!r.fillRadialGradientColorStops&&!r.fillPatternImage&&(r.fill=r.fill||"black"),r}class me extends E{constructor(e){super(sd(e)),this._partialTextX=0,this._partialTextY=0;for(var t=0;t<ed;t++)this.on(io[t]+Wh,this._setTextData);this._setTextData()}_sceneFunc(e){var t=this.textArr,i=t.length;if(this.text()){var s=this.padding(),n=this.fontSize(),a=this.lineHeight()*n,o=this.verticalAlign(),h=0,l=this.align(),d=this.getWidth(),u=this.letterSpacing(),c=this.fill(),p=this.textDecoration(),f=p.indexOf("underline")!==-1,m=p.indexOf("line-through")!==-1,v,_=0,_=a/2,w=0,b=0;for(e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",Vn),e.setAttr("textAlign",eo),o===Vn?h=(this.getHeight()-i*a-s*2)/2:o===qh&&(h=this.getHeight()-i*a-s*2),e.translate(s,h+s),v=0;v<i;v++){var w=0,b=0,T=t[v],M=T.text,P=T.width,G=T.lastInParagraph,L,H,$;if(e.save(),l===Kh?w+=d-P-s*2:l===zh&&(w+=(d-P-s*2)/2),f&&(e.save(),e.beginPath(),e.moveTo(w,_+b+Math.round(n/2)),L=M.split(" ").length-1,H=L===0,$=l===Si&&G&&!H?d-s*2:P,e.lineTo(w+Math.round($),_+b+Math.round(n/2)),e.lineWidth=n/15,e.strokeStyle=c,e.stroke(),e.restore()),m&&(e.save(),e.beginPath(),e.moveTo(w,_+b),L=M.split(" ").length-1,H=L===0,$=l===Si&&G&&!H?d-s*2:P,e.lineTo(w+Math.round($),_+b),e.lineWidth=n/15,e.strokeStyle=c,e.stroke(),e.restore()),u!==0||l===Si){L=M.split(" ").length-1;for(var R=Qa(M),K=0;K<R.length;K++){var W=R[K];W===" "&&!G&&l===Si&&(w+=(d-s*2-P)/L),this._partialTextX=w,this._partialTextY=_+b,this._partialText=W,e.fillStrokeShape(this),w+=this.measureSize(W).width+u}}else this._partialTextX=w,this._partialTextY=_+b,this._partialText=M,e.fillStrokeShape(this);e.restore(),i>1&&(_+=a)}}}_hitFunc(e){var t=this.getWidth(),i=this.getHeight();e.beginPath(),e.rect(0,0,t,i),e.closePath(),e.fillStrokeShape(this)}setText(e){var t=y._isString(e)?e:e==null?"":e+"";return this._setAttr(Zh,t),this}getWidth(){var e=this.attrs.width===Yt||this.attrs.width===void 0;return e?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var e=this.attrs.height===Yt||this.attrs.height===void 0;return e?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return y.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=cs(),i=this.fontSize(),s;return t.save(),t.font=this._getContextFont(),s=t.measureText(e),t.restore(),{width:s.width,height:i}}_getContextFont(){return this.fontStyle()+ur+this.fontVariant()+ur+(this.fontSize()+Yh)+td(this.fontFamily())}_addTextLine(e){this.align()===Si&&(e=e.trim());var t=this._getTextWidth(e);return this.textArr.push({text:e,width:t,lastInParagraph:!1})}_getTextWidth(e){var t=this.letterSpacing(),i=e.length;return cs().measureText(e).width+(i?t*(i-1):0)}_setTextData(){var e=this.text().split(`
2
- `),t=+this.fontSize(),i=0,s=this.lineHeight()*t,n=this.attrs.width,a=this.attrs.height,o=n!==Yt&&n!==void 0,h=a!==Yt&&a!==void 0,l=this.padding(),d=n-l*2,u=a-l*2,c=0,p=this.wrap(),f=p!==zn,m=p!==Qh&&f,v=this.ellipsis();this.textArr=[],cs().font=this._getContextFont();for(var _=v?this._getTextWidth(us):0,w=0,b=e.length;w<b;++w){var T=e[w],M=this._getTextWidth(T);if(o&&M>d)for(;T.length>0;){for(var P=0,G=T.length,L="",H=0;P<G;){var $=P+G>>>1,R=T.slice(0,$+1),K=this._getTextWidth(R)+_;K<=d?(P=$+1,L=R,H=K):G=$}if(L){if(m){var W,le=T[L.length],ne=le===ur||le===$n;ne&&H<=d?W=L.length:W=Math.max(L.lastIndexOf(ur),L.lastIndexOf($n))+1,W>0&&(P=W,L=L.slice(0,P),H=this._getTextWidth(L))}L=L.trimRight(),this._addTextLine(L),i=Math.max(i,H),c+=s;var U=this._shouldHandleEllipsis(c);if(U){this._tryToAddEllipsisToLastLine();break}if(T=T.slice(P),T=T.trimLeft(),T.length>0&&(M=this._getTextWidth(T),M<=d)){this._addTextLine(T),c+=s,i=Math.max(i,M);break}}else break}else this._addTextLine(T),c+=s,i=Math.max(i,M),this._shouldHandleEllipsis(c)&&w<b-1&&this._tryToAddEllipsisToLastLine();if(h&&c+s>u)break;this.textArr[this.textArr.length-1]&&(this.textArr[this.textArr.length-1].lastInParagraph=!0)}this.textHeight=t,this.textWidth=i}_shouldHandleEllipsis(e){var t=+this.fontSize(),i=this.lineHeight()*t,s=this.attrs.height,n=s!==Yt&&s!==void 0,a=this.padding(),o=s-a*2,h=this.wrap(),l=h!==zn;return!l||n&&e+i>o}_tryToAddEllipsisToLastLine(){var e=this.attrs.width,t=e!==Yt&&e!==void 0,i=this.padding(),s=e-i*2,n=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!(!a||!n)){if(t){var o=this._getTextWidth(a.text+us)<s;o||(a.text=a.text.slice(0,a.text.length-3))}this.textArr.splice(this.textArr.length-1,1),this._addTextLine(a.text+us)}}getStrokeScaleEnabled(){return!0}}me.prototype._fillFunc=id;me.prototype._strokeFunc=rd;me.prototype.className=jh;me.prototype._attrsAffectingSize=["text","fontSize","padding","wrap","lineHeight","letterSpacing"];ge(me);g.overWriteSetter(me,"width",Js());g.overWriteSetter(me,"height",Js());g.addGetterSetter(me,"fontFamily","Arial");g.addGetterSetter(me,"fontSize",12,k());g.addGetterSetter(me,"fontStyle",to);g.addGetterSetter(me,"fontVariant",to);g.addGetterSetter(me,"padding",0,k());g.addGetterSetter(me,"align",eo);g.addGetterSetter(me,"verticalAlign",Xh);g.addGetterSetter(me,"lineHeight",1,k());g.addGetterSetter(me,"wrap",Jh);g.addGetterSetter(me,"ellipsis",!1,qe());g.addGetterSetter(me,"letterSpacing",0,k());g.addGetterSetter(me,"text","",pi());g.addGetterSetter(me,"textDecoration","");var nd="",ro="normal";function so(r){r.fillText(this.partialText,0,0)}function no(r){r.strokeText(this.partialText,0,0)}class Ce extends E{constructor(e){super(e),this.dummyCanvas=y.createCanvasElement(),this.dataArray=[],this.dataArray=he.parsePathData(this.attrs.data),this.on("dataChange.konva",function(){this.dataArray=he.parsePathData(this.attrs.data),this._setTextData()}),this.on("textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva",this._setTextData),this._setTextData()}_sceneFunc(e){e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",this.textBaseline()),e.setAttr("textAlign","left"),e.save();var t=this.textDecoration(),i=this.fill(),s=this.fontSize(),n=this.glyphInfo;t==="underline"&&e.beginPath();for(var a=0;a<n.length;a++){e.save();var o=n[a].p0;e.translate(o.x,o.y),e.rotate(n[a].rotation),this.partialText=n[a].text,e.fillStrokeShape(this),t==="underline"&&(a===0&&e.moveTo(0,s/2+1),e.lineTo(s,s/2+1)),e.restore()}t==="underline"&&(e.strokeStyle=i,e.lineWidth=s/20,e.stroke()),e.restore()}_hitFunc(e){e.beginPath();var t=this.glyphInfo;if(t.length>=1){var i=t[0].p0;e.moveTo(i.x,i.y)}for(var s=0;s<t.length;s++){var n=t[s].p1;e.lineTo(n.x,n.y)}e.setAttr("lineWidth",this.fontSize()),e.setAttr("strokeStyle",this.colorKey),e.stroke()}getTextWidth(){return this.textWidth}getTextHeight(){return y.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}setText(e){return me.prototype.setText.call(this,e)}_getContextFont(){return me.prototype._getContextFont.call(this)}_getTextSize(e){var t=this.dummyCanvas,i=t.getContext("2d");i.save(),i.font=this._getContextFont();var s=i.measureText(e);return i.restore(),{width:s.width,height:parseInt(this.attrs.fontSize,10)}}_setTextData(){var e=this,t=this._getTextSize(this.attrs.text),i=this.letterSpacing(),s=this.align(),n=this.kerningFunc();this.textWidth=t.width,this.textHeight=t.height;var a=Math.max(this.textWidth+((this.attrs.text||"").length-1)*i,0);this.glyphInfo=[];for(var o=0,h=0;h<e.dataArray.length;h++)e.dataArray[h].pathLength>0&&(o+=e.dataArray[h].pathLength);var l=0;s==="center"&&(l=Math.max(0,o/2-a/2)),s==="right"&&(l=Math.max(0,o-a));for(var d=Qa(this.text()),u=this.text().split(" ").length-1,c,p,f,m=-1,v=0,_=function(){v=0;for(var K=e.dataArray,W=m+1;W<K.length;W++){if(K[W].pathLength>0)return m=W,K[W];K[W].command==="M"&&(c={x:K[W].points[0],y:K[W].points[1]})}return{}},w=function(K){var W=e._getTextSize(K).width+i;K===" "&&s==="justify"&&(W+=(o-a)/u);var le=0,ne=0;for(p=void 0;Math.abs(W-le)/W>.01&&ne<20;){ne++;for(var U=le;f===void 0;)f=_(),f&&U+f.pathLength<W&&(U+=f.pathLength,f=void 0);if(Object.keys(f).length===0||c===void 0)return;var we=!1;switch(f.command){case"L":he.getLineLength(c.x,c.y,f.points[0],f.points[1])>W?p=he.getPointOnLine(W,c.x,c.y,f.points[0],f.points[1],c.x,c.y):f=void 0;break;case"A":var Re=f.points[4],Ve=f.points[5],te=f.points[4]+Ve;v===0?v=Re+1e-8:W>le?v+=Math.PI/180*Ve/Math.abs(Ve):v-=Math.PI/360*Ve/Math.abs(Ve),(Ve<0&&v<te||Ve>=0&&v>te)&&(v=te,we=!0),p=he.getPointOnEllipticalArc(f.points[0],f.points[1],f.points[2],f.points[3],v,f.points[6]);break;case"C":v===0?W>f.pathLength?v=1e-8:v=W/f.pathLength:W>le?v+=(W-le)/f.pathLength/2:v=Math.max(v-(le-W)/f.pathLength/2,0),v>1&&(v=1,we=!0),p=he.getPointOnCubicBezier(v,f.start.x,f.start.y,f.points[0],f.points[1],f.points[2],f.points[3],f.points[4],f.points[5]);break;case"Q":v===0?v=W/f.pathLength:W>le?v+=(W-le)/f.pathLength:v-=(le-W)/f.pathLength,v>1&&(v=1,we=!0),p=he.getPointOnQuadraticBezier(v,f.start.x,f.start.y,f.points[0],f.points[1],f.points[2],f.points[3]);break}p!==void 0&&(le=he.getLineLength(c.x,c.y,p.x,p.y)),we&&(we=!1,f=void 0)}},b="C",T=e._getTextSize(b).width+i,M=l/T-1,P=0;P<M&&(w(b),!(c===void 0||p===void 0));P++)c=p;for(var G=0;G<d.length&&(w(d[G]),!(c===void 0||p===void 0));G++){var L=he.getLineLength(c.x,c.y,p.x,p.y),H=0;if(n)try{H=n(d[G-1],d[G])*this.fontSize()}catch{H=0}c.x+=H,p.x+=H,this.textWidth+=H;var $=he.getPointOnLine(H+L/2,c.x,c.y,p.x,p.y),R=Math.atan2(p.y-c.y,p.x-c.x);this.glyphInfo.push({transposeX:$.x,transposeY:$.y,text:d[G],rotation:R,p0:c,p1:p}),c=p}}getSelfRect(){if(!this.glyphInfo.length)return{x:0,y:0,width:0,height:0};var e=[];this.glyphInfo.forEach(function(d){e.push(d.p0.x),e.push(d.p0.y),e.push(d.p1.x),e.push(d.p1.y)});for(var t=e[0]||0,i=e[0]||0,s=e[1]||0,n=e[1]||0,a,o,h=0;h<e.length/2;h++)a=e[h*2],o=e[h*2+1],t=Math.min(t,a),i=Math.max(i,a),s=Math.min(s,o),n=Math.max(n,o);var l=this.fontSize();return{x:t-l/2,y:s-l/2,width:i-t+l,height:n-s+l}}destroy(){return y.releaseCanvas(this.dummyCanvas),super.destroy()}}Ce.prototype._fillFunc=so;Ce.prototype._strokeFunc=no;Ce.prototype._fillFuncHit=so;Ce.prototype._strokeFuncHit=no;Ce.prototype.className="TextPath";Ce.prototype._attrsAffectingSize=["text","fontSize","data"];ge(Ce);g.addGetterSetter(Ce,"data");g.addGetterSetter(Ce,"fontFamily","Arial");g.addGetterSetter(Ce,"fontSize",12,k());g.addGetterSetter(Ce,"fontStyle",ro);g.addGetterSetter(Ce,"align","left");g.addGetterSetter(Ce,"letterSpacing",0,k());g.addGetterSetter(Ce,"textBaseline","middle");g.addGetterSetter(Ce,"fontVariant",ro);g.addGetterSetter(Ce,"text",nd);g.addGetterSetter(Ce,"textDecoration",null);g.addGetterSetter(Ce,"kerningFunc",null);var ao="tr-konva",ad=["resizeEnabledChange","rotateAnchorOffsetChange","rotateEnabledChange","enabledAnchorsChange","anchorSizeChange","borderEnabledChange","borderStrokeChange","borderStrokeWidthChange","borderDashChange","anchorStrokeChange","anchorStrokeWidthChange","anchorFillChange","anchorCornerRadiusChange","ignoreStrokeChange"].map(r=>r+`.${ao}`).join(" "),Wn="nodesRect",od=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],ld={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const hd="ontouchstart"in D._global;function dd(r,e){if(r==="rotater")return"crosshair";e+=y.degToRad(ld[r]||0);var t=(y.radToDeg(e)%360+360)%360;return y._inRange(t,315+22.5,360)||y._inRange(t,0,22.5)?"ns-resize":y._inRange(t,45-22.5,45+22.5)?"nesw-resize":y._inRange(t,90-22.5,90+22.5)?"ew-resize":y._inRange(t,135-22.5,135+22.5)?"nwse-resize":y._inRange(t,180-22.5,180+22.5)?"ns-resize":y._inRange(t,225-22.5,225+22.5)?"nesw-resize":y._inRange(t,270-22.5,270+22.5)?"ew-resize":y._inRange(t,315-22.5,315+22.5)?"nwse-resize":(y.error("Transformer has unknown angle for cursor detection: "+t),"pointer")}var xr=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],Un=1e8;function ud(r){return{x:r.x+r.width/2*Math.cos(r.rotation)+r.height/2*Math.sin(-r.rotation),y:r.y+r.height/2*Math.cos(r.rotation)+r.width/2*Math.sin(r.rotation)}}function oo(r,e,t){const i=t.x+(r.x-t.x)*Math.cos(e)-(r.y-t.y)*Math.sin(e),s=t.y+(r.x-t.x)*Math.sin(e)+(r.y-t.y)*Math.cos(e);return Object.assign(Object.assign({},r),{rotation:r.rotation+e,x:i,y:s})}function cd(r,e){const t=ud(r);return oo(r,e,t)}function fd(r,e,t){let i=e;for(let s=0;s<r.length;s++){const n=D.getAngle(r[s]),a=Math.abs(n-e)%(Math.PI*2);Math.min(a,Math.PI*2-a)<t&&(i=n)}return i}class oe extends oi{constructor(e){super(e),this._transforming=!1,this._createElements(),this._handleMouseMove=this._handleMouseMove.bind(this),this._handleMouseUp=this._handleMouseUp.bind(this),this.update=this.update.bind(this),this.on(ad,this.update),this.getNode()&&this.update()}attachTo(e){return this.setNode(e),this}setNode(e){return y.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 ao+this._id}setNodes(e=[]){this._nodes&&this._nodes.length&&this.detach(),this._nodes=e,e.length===1&&this.useSingleNodeRotation()?this.rotation(e[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const s=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},n=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(n,s),i.on(od.map(a=>a+`.${this._getEventNamespace()}`).join(" "),s),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,s),this._proxyDrag(i)}),this._resetTransformCache();var t=!!this.findOne(".top-left");return t&&this.update(),this}_proxyDrag(e){let t;e.on(`dragstart.${this._getEventNamespace()}`,i=>{t=e.getAbsolutePosition(),!this.isDragging()&&e!==this.findOne(".back")&&this.startDrag(i,!1)}),e.on(`dragmove.${this._getEventNamespace()}`,i=>{if(!t)return;const s=e.getAbsolutePosition(),n=s.x-t.x,a=s.y-t.y;this.nodes().forEach(o=>{if(o===e||o.isDragging())return;const h=o.getAbsolutePosition();o.setAbsolutePosition({x:h.x+n,y:h.y+a}),o.startDrag(i)}),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(Wn),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(Wn,this.__getNodeRect)}__getNodeShape(e,t=this.rotation(),i){var s=e.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),n=e.getAbsoluteScale(i),a=e.getAbsolutePosition(i),o=s.x*n.x-e.offsetX()*n.x,h=s.y*n.y-e.offsetY()*n.y;const l=(D.getAngle(e.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:a.x+o*Math.cos(l)+h*Math.sin(-l),y:a.y+h*Math.cos(l)+o*Math.sin(l),width:s.width*n.x,height:s.height*n.y,rotation:l};return oo(d,-D.getAngle(t),{x:0,y:0})}__getNodeRect(){var e=this.getNode();if(!e)return{x:-Un,y:-Un,width:0,height:0,rotation:0};const t=[];this.nodes().map(l=>{const d=l.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var u=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],c=l.getAbsoluteTransform();u.forEach(function(p){var f=c.point(p);t.push(f)})});const i=new Ge;i.rotate(-D.getAngle(this.rotation()));var s,n,a,o;t.forEach(function(l){var d=i.point(l);s===void 0&&(s=a=d.x,n=o=d.y),s=Math.min(s,d.x),n=Math.min(n,d.y),a=Math.max(a,d.x),o=Math.max(o,d.y)}),i.invert();const h=i.point({x:s,y:n});return{x:h.x,y:h.y,width:a-s,height:o-n,rotation:D.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(),xr.forEach(function(e){this._createAnchor(e)}.bind(this)),this._createAnchor("rotater")}_createAnchor(e){var t=new Xi({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:e+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:hd?10:"auto"}),i=this;t.on("mousedown touchstart",function(s){i._handleMouseDown(s)}),t.on("dragstart",s=>{t.stopDrag(),s.cancelBubble=!0}),t.on("dragend",s=>{s.cancelBubble=!0}),t.on("mouseenter",()=>{var s=D.getAngle(this.rotation()),n=dd(e,s);t.getStage().content&&(t.getStage().content.style.cursor=n),this._cursorChange=!0}),t.on("mouseout",()=>{t.getStage().content&&(t.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(t)}_createBack(){var e=new E({name:"back",width:0,height:0,draggable:!0,sceneFunc(t){var i=this.getParent(),s=i.padding();t.beginPath(),t.rect(-s,-s,this.width()+s*2,this.height()+s*2),t.moveTo(this.width()/2,-s),i.rotateEnabled()&&t.lineTo(this.width()/2,-i.rotateAnchorOffset()*y._sign(this.height())-s),t.fillStrokeShape(this)},hitFunc:(t,i)=>{if(this.shouldOverdrawWholeArea()){var s=this.padding();t.beginPath(),t.rect(-s,-s,i.width()+s*2,i.height()+s*2),t.fillStrokeShape(i)}}});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){this._movingAnchorName=e.target.name().split(" ")[0];var t=this._getNodeRect(),i=t.width,s=t.height,n=Math.sqrt(Math.pow(i,2)+Math.pow(s,2));this.sin=Math.abs(s/n),this.cos=Math.abs(i/n),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;var a=e.target.getAbsolutePosition(),o=e.target.getStage().getPointerPosition();this._anchorDragOffset={x:o.x-a.x,y:o.y-a.y},this._fire("transformstart",{evt:e.evt,target:this.getNode()}),this._nodes.forEach(h=>{h._fire("transformstart",{evt:e.evt,target:h})})}_handleMouseMove(e){var t,i,s,n=this.findOne("."+this._movingAnchorName),a=n.getStage();a.setPointersPositions(e);const o=a.getPointerPosition();let h={x:o.x-this._anchorDragOffset.x,y:o.y-this._anchorDragOffset.y};const l=n.getAbsolutePosition();this.anchorDragBoundFunc()&&(h=this.anchorDragBoundFunc()(l,h,e)),n.setAbsolutePosition(h);const d=n.getAbsolutePosition();if(!(l.x===d.x&&l.y===d.y)){if(this._movingAnchorName==="rotater"){var u=this._getNodeRect();t=n.x()-u.width/2,i=-n.y()+u.height/2;let K=Math.atan2(-i,t)+Math.PI/2;u.height<0&&(K-=Math.PI);var c=D.getAngle(this.rotation());const W=c+K,le=D.getAngle(this.rotationSnapTolerance()),U=fd(this.rotationSnaps(),W,le)-u.rotation,we=cd(u,U);this._fitNodesInto(we,e);return}var p=this.keepRatio()||e.shiftKey,w=this.centeredScaling()||e.altKey;if(this._movingAnchorName==="top-left"){if(p){var f=w?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};s=Math.sqrt(Math.pow(f.x-n.x(),2)+Math.pow(f.y-n.y(),2));var m=this.findOne(".top-left").x()>f.x?-1:1,v=this.findOne(".top-left").y()>f.y?-1:1;t=s*this.cos*m,i=s*this.sin*v,this.findOne(".top-left").x(f.x-t),this.findOne(".top-left").y(f.y-i)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(n.y());else if(this._movingAnchorName==="top-right"){if(p){var f=w?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};s=Math.sqrt(Math.pow(n.x()-f.x,2)+Math.pow(f.y-n.y(),2));var m=this.findOne(".top-right").x()<f.x?-1:1,v=this.findOne(".top-right").y()>f.y?-1:1;t=s*this.cos*m,i=s*this.sin*v,this.findOne(".top-right").x(f.x+t),this.findOne(".top-right").y(f.y-i)}var _=n.position();this.findOne(".top-left").y(_.y),this.findOne(".bottom-right").x(_.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(n.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(n.x());else if(this._movingAnchorName==="bottom-left"){if(p){var f=w?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};s=Math.sqrt(Math.pow(f.x-n.x(),2)+Math.pow(n.y()-f.y,2));var m=f.x<n.x()?-1:1,v=n.y()<f.y?-1:1;t=s*this.cos*m,i=s*this.sin*v,n.x(f.x-t),n.y(f.y+i)}_=n.position(),this.findOne(".top-left").x(_.x),this.findOne(".bottom-right").y(_.y)}else if(this._movingAnchorName==="bottom-center")this.findOne(".bottom-right").y(n.y());else if(this._movingAnchorName==="bottom-right"){if(p){var f=w?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-left").x(),y:this.findOne(".top-left").y()};s=Math.sqrt(Math.pow(n.x()-f.x,2)+Math.pow(n.y()-f.y,2));var m=this.findOne(".bottom-right").x()<f.x?-1:1,v=this.findOne(".bottom-right").y()<f.y?-1:1;t=s*this.cos*m,i=s*this.sin*v,this.findOne(".bottom-right").x(f.x+t),this.findOne(".bottom-right").y(f.y+i)}}else console.error(new Error("Wrong position argument of selection resizer: "+this._movingAnchorName));var w=this.centeredScaling()||e.altKey;if(w){var b=this.findOne(".top-left"),T=this.findOne(".bottom-right"),M=b.x(),P=b.y(),G=this.getWidth()-T.x(),L=this.getHeight()-T.y();T.move({x:-M,y:-P}),b.move({x:G,y:L})}var H=this.findOne(".top-left").getAbsolutePosition();t=H.x,i=H.y;var $=this.findOne(".bottom-right").x()-this.findOne(".top-left").x(),R=this.findOne(".bottom-right").y()-this.findOne(".top-left").y();this._fitNodesInto({x:t,y:i,width:$,height:R,rotation:D.getAngle(this.rotation())},e)}}_handleMouseUp(e){this._removeEvents(e)}getAbsoluteTransform(){return this.getTransform()}_removeEvents(e){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));var t=this.getNode();this._fire("transformend",{evt:e,target:t}),t&&this._nodes.forEach(i=>{i._fire("transformend",{evt:e,target:i})}),this._movingAnchorName=null}}_fitNodesInto(e,t){var i=this._getNodeRect();const s=1;if(y._inRange(e.width,-this.padding()*2-s,s)){this.update();return}if(y._inRange(e.height,-this.padding()*2-s,s)){this.update();return}const n=this.flipEnabled();var a=new Ge;if(a.rotate(D.getAngle(this.rotation())),this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("left")>=0){const u=a.point({x:-this.padding()*2,y:0});if(e.x+=u.x,e.y+=u.y,e.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=u.x,this._anchorDragOffset.y-=u.y,!n){this.update();return}}else if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("right")>=0){const u=a.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=u.x,this._anchorDragOffset.y-=u.y,e.width+=this.padding()*2,!n){this.update();return}}if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("top")>=0){const u=a.point({x:0,y:-this.padding()*2});if(e.x+=u.x,e.y+=u.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=u.x,this._anchorDragOffset.y-=u.y,e.height+=this.padding()*2,!n){this.update();return}}else if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const u=a.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=u.x,this._anchorDragOffset.y-=u.y,e.height+=this.padding()*2,!n){this.update();return}}if(this.boundBoxFunc()){const u=this.boundBoxFunc()(i,e);u?e=u:y.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const o=1e7,h=new Ge;h.translate(i.x,i.y),h.rotate(i.rotation),h.scale(i.width/o,i.height/o);const l=new Ge;l.translate(e.x,e.y),l.rotate(e.rotation),l.scale(e.width/o,e.height/o);const d=l.multiply(h.invert());this._nodes.forEach(u=>{var c;const p=u.getParent().getAbsoluteTransform(),f=u.getTransform().copy();f.translate(u.offsetX(),u.offsetY());const m=new Ge;m.multiply(p.copy().invert()).multiply(d).multiply(p).multiply(f);const v=m.decompose();u.setAttrs(v),this._fire("transform",{evt:t,target:u}),u._fire("transform",{evt:t,target:u}),(c=u.getLayer())===null||c===void 0||c.batchDraw()}),this.rotation(y._getRotation(e.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(e,t){this.findOne(e).setAttrs(t)}update(){var e,t=this._getNodeRect();this.rotation(y._getRotation(t.rotation));var i=t.width,s=t.height,n=this.enabledAnchors(),a=this.resizeEnabled(),o=this.padding(),h=this.anchorSize();this.find("._anchor").forEach(l=>{l.setAttrs({width:h,height:h,offsetX:h/2,offsetY:h/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:h/2+o,offsetY:h/2+o,visible:a&&n.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:i/2,y:0,offsetY:h/2+o,visible:a&&n.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:i,y:0,offsetX:h/2-o,offsetY:h/2+o,visible:a&&n.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:s/2,offsetX:h/2+o,visible:a&&n.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:i,y:s/2,offsetX:h/2-o,visible:a&&n.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:s,offsetX:h/2+o,offsetY:h/2-o,visible:a&&n.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:i/2,y:s,offsetY:h/2-o,visible:a&&n.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:i,y:s,offsetX:h/2-o,offsetY:h/2-o,visible:a&&n.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:i/2,y:-this.rotateAnchorOffset()*y._sign(s)-o,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:i,height:s,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0}),(e=this.getLayer())===null||e===void 0||e.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var e=this.findOne("."+this._movingAnchorName);e&&e.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),oi.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return x.prototype.toObject.call(this)}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}function pd(r){return r instanceof Array||y.warn("enabledAnchors value should be an array"),r instanceof Array&&r.forEach(function(e){xr.indexOf(e)===-1&&y.warn("Unknown anchor name: "+e+". Available names are: "+xr.join(", "))}),r||[]}oe.prototype.className="Transformer";ge(oe);g.addGetterSetter(oe,"enabledAnchors",xr,pd);g.addGetterSetter(oe,"flipEnabled",!0,qe());g.addGetterSetter(oe,"resizeEnabled",!0);g.addGetterSetter(oe,"anchorSize",10,k());g.addGetterSetter(oe,"rotateEnabled",!0);g.addGetterSetter(oe,"rotationSnaps",[]);g.addGetterSetter(oe,"rotateAnchorOffset",50,k());g.addGetterSetter(oe,"rotationSnapTolerance",5,k());g.addGetterSetter(oe,"borderEnabled",!0);g.addGetterSetter(oe,"anchorStroke","rgb(0, 161, 255)");g.addGetterSetter(oe,"anchorStrokeWidth",1,k());g.addGetterSetter(oe,"anchorFill","white");g.addGetterSetter(oe,"anchorCornerRadius",0,k());g.addGetterSetter(oe,"borderStroke","rgb(0, 161, 255)");g.addGetterSetter(oe,"borderStrokeWidth",1,k());g.addGetterSetter(oe,"borderDash");g.addGetterSetter(oe,"keepRatio",!0);g.addGetterSetter(oe,"centeredScaling",!1);g.addGetterSetter(oe,"ignoreStroke",!1);g.addGetterSetter(oe,"padding",0,k());g.addGetterSetter(oe,"node");g.addGetterSetter(oe,"nodes");g.addGetterSetter(oe,"boundBoxFunc");g.addGetterSetter(oe,"anchorDragBoundFunc");g.addGetterSetter(oe,"shouldOverdrawWholeArea",!1);g.addGetterSetter(oe,"useSingleNodeRotation",!0);g.backCompat(oe,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});class bt extends E{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.radius(),0,D.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)}}bt.prototype.className="Wedge";bt.prototype._centroid=!0;bt.prototype._attrsAffectingSize=["radius"];ge(bt);g.addGetterSetter(bt,"radius",0,k());g.addGetterSetter(bt,"angle",0,k());g.addGetterSetter(bt,"clockwise",!1);g.backCompat(bt,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function Zn(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var md=[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],gd=[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 vd(r,e){var t=r.data,i=r.width,s=r.height,n,a,o,h,l,d,u,c,p,f,m,v,_,w,b,T,M,P,G,L,H,$,R,K,W=e+e+1,le=i-1,ne=s-1,U=e+1,we=U*(U+1)/2,Re=new Zn,Ve=null,te=Re,ve=null,Ie=null,St=md[e],Tt=gd[e];for(o=1;o<W;o++)te=te.next=new Zn,o===U&&(Ve=te);for(te.next=Re,u=d=0,a=0;a<s;a++){for(T=M=P=G=c=p=f=m=0,v=U*(L=t[d]),_=U*(H=t[d+1]),w=U*($=t[d+2]),b=U*(R=t[d+3]),c+=we*L,p+=we*H,f+=we*$,m+=we*R,te=Re,o=0;o<U;o++)te.r=L,te.g=H,te.b=$,te.a=R,te=te.next;for(o=1;o<U;o++)h=d+((le<o?le:o)<<2),c+=(te.r=L=t[h])*(K=U-o),p+=(te.g=H=t[h+1])*K,f+=(te.b=$=t[h+2])*K,m+=(te.a=R=t[h+3])*K,T+=L,M+=H,P+=$,G+=R,te=te.next;for(ve=Re,Ie=Ve,n=0;n<i;n++)t[d+3]=R=m*St>>Tt,R!==0?(R=255/R,t[d]=(c*St>>Tt)*R,t[d+1]=(p*St>>Tt)*R,t[d+2]=(f*St>>Tt)*R):t[d]=t[d+1]=t[d+2]=0,c-=v,p-=_,f-=w,m-=b,v-=ve.r,_-=ve.g,w-=ve.b,b-=ve.a,h=u+((h=n+e+1)<le?h:le)<<2,T+=ve.r=t[h],M+=ve.g=t[h+1],P+=ve.b=t[h+2],G+=ve.a=t[h+3],c+=T,p+=M,f+=P,m+=G,ve=ve.next,v+=L=Ie.r,_+=H=Ie.g,w+=$=Ie.b,b+=R=Ie.a,T-=L,M-=H,P-=$,G-=R,Ie=Ie.next,d+=4;u+=i}for(n=0;n<i;n++){for(M=P=G=T=p=f=m=c=0,d=n<<2,v=U*(L=t[d]),_=U*(H=t[d+1]),w=U*($=t[d+2]),b=U*(R=t[d+3]),c+=we*L,p+=we*H,f+=we*$,m+=we*R,te=Re,o=0;o<U;o++)te.r=L,te.g=H,te.b=$,te.a=R,te=te.next;for(l=i,o=1;o<=e;o++)d=l+n<<2,c+=(te.r=L=t[d])*(K=U-o),p+=(te.g=H=t[d+1])*K,f+=(te.b=$=t[d+2])*K,m+=(te.a=R=t[d+3])*K,T+=L,M+=H,P+=$,G+=R,te=te.next,o<ne&&(l+=i);for(d=n,ve=Re,Ie=Ve,a=0;a<s;a++)h=d<<2,t[h+3]=R=m*St>>Tt,R>0?(R=255/R,t[h]=(c*St>>Tt)*R,t[h+1]=(p*St>>Tt)*R,t[h+2]=(f*St>>Tt)*R):t[h]=t[h+1]=t[h+2]=0,c-=v,p-=_,f-=w,m-=b,v-=ve.r,_-=ve.g,w-=ve.b,b-=ve.a,h=n+((h=a+U)<ne?h:ne)*i<<2,c+=T+=ve.r=t[h],p+=M+=ve.g=t[h+1],f+=P+=ve.b=t[h+2],m+=G+=ve.a=t[h+3],ve=ve.next,v+=L=Ie.r,_+=H=Ie.g,w+=$=Ie.b,b+=R=Ie.a,T-=L,M-=H,P-=$,G-=R,Ie=Ie.next,d+=i}}const yd=function(e){var t=Math.round(this.blurRadius());t>0&&vd(e,t)};g.addGetterSetter(x,"blurRadius",0,k(),g.afterSetFilter);const bd=function(r){var e=this.brightness()*255,t=r.data,i=t.length,s;for(s=0;s<i;s+=4)t[s]+=e,t[s+1]+=e,t[s+2]+=e};g.addGetterSetter(x,"brightness",0,k(),g.afterSetFilter);const _d=function(r){var e=Math.pow((this.contrast()+100)/100,2),t=r.data,i=t.length,s=150,n=150,a=150,o;for(o=0;o<i;o+=4)s=t[o],n=t[o+1],a=t[o+2],s/=255,s-=.5,s*=e,s+=.5,s*=255,n/=255,n-=.5,n*=e,n+=.5,n*=255,a/=255,a-=.5,a*=e,a+=.5,a*=255,s=s<0?0:s>255?255:s,n=n<0?0:n>255?255:n,a=a<0?0:a>255?255:a,t[o]=s,t[o+1]=n,t[o+2]=a};g.addGetterSetter(x,"contrast",0,k(),g.afterSetFilter);const wd=function(r){var e=this.embossStrength()*10,t=this.embossWhiteLevel()*255,i=this.embossDirection(),s=this.embossBlend(),n=0,a=0,o=r.data,h=r.width,l=r.height,d=h*4,u=l;switch(i){case"top-left":n=-1,a=-1;break;case"top":n=-1,a=0;break;case"top-right":n=-1,a=1;break;case"right":n=0,a=1;break;case"bottom-right":n=1,a=1;break;case"bottom":n=1,a=0;break;case"bottom-left":n=1,a=-1;break;case"left":n=0,a=-1;break;default:y.error("Unknown emboss direction: "+i)}do{var c=(u-1)*d,p=n;u+p<1&&(p=0),u+p>l&&(p=0);var f=(u-1+p)*h*4,m=h;do{var v=c+(m-1)*4,_=a;m+_<1&&(_=0),m+_>h&&(_=0);var w=f+(m-1+_)*4,b=o[v]-o[w],T=o[v+1]-o[w+1],M=o[v+2]-o[w+2],P=b,G=P>0?P:-P,L=T>0?T:-T,H=M>0?M:-M;if(L>G&&(P=T),H>G&&(P=M),P*=e,s){var $=o[v]+P,R=o[v+1]+P,K=o[v+2]+P;o[v]=$>255?255:$<0?0:$,o[v+1]=R>255?255:R<0?0:R,o[v+2]=K>255?255:K<0?0:K}else{var W=t-P;W<0?W=0:W>255&&(W=255),o[v]=o[v+1]=o[v+2]=W}}while(--m)}while(--u)};g.addGetterSetter(x,"embossStrength",.5,k(),g.afterSetFilter);g.addGetterSetter(x,"embossWhiteLevel",.5,k(),g.afterSetFilter);g.addGetterSetter(x,"embossDirection","top-left",null,g.afterSetFilter);g.addGetterSetter(x,"embossBlend",!1,null,g.afterSetFilter);function fs(r,e,t,i,s){var n=t-e,a=s-i,o;return n===0?i+a/2:a===0?i:(o=(r-e)/n,o=a*o+i,o)}const Sd=function(r){var e=r.data,t=e.length,i=e[0],s=i,n,a=e[1],o=a,h,l=e[2],d=l,u,c,p=this.enhance();if(p!==0){for(c=0;c<t;c+=4)n=e[c+0],n<i?i=n:n>s&&(s=n),h=e[c+1],h<a?a=h:h>o&&(o=h),u=e[c+2],u<l?l=u:u>d&&(d=u);s===i&&(s=255,i=0),o===a&&(o=255,a=0),d===l&&(d=255,l=0);var f,m,v,_,w,b,T,M,P;for(p>0?(m=s+p*(255-s),v=i-p*(i-0),w=o+p*(255-o),b=a-p*(a-0),M=d+p*(255-d),P=l-p*(l-0)):(f=(s+i)*.5,m=s+p*(s-f),v=i+p*(i-f),_=(o+a)*.5,w=o+p*(o-_),b=a+p*(a-_),T=(d+l)*.5,M=d+p*(d-T),P=l+p*(l-T)),c=0;c<t;c+=4)e[c+0]=fs(e[c+0],i,s,v,m),e[c+1]=fs(e[c+1],a,o,b,w),e[c+2]=fs(e[c+2],l,d,P,M)}};g.addGetterSetter(x,"enhance",0,k(),g.afterSetFilter);const Td=function(r){var e=r.data,t=e.length,i,s;for(i=0;i<t;i+=4)s=.34*e[i]+.5*e[i+1]+.16*e[i+2],e[i]=s,e[i+1]=s,e[i+2]=s};g.addGetterSetter(x,"hue",0,k(),g.afterSetFilter);g.addGetterSetter(x,"saturation",0,k(),g.afterSetFilter);g.addGetterSetter(x,"luminance",0,k(),g.afterSetFilter);const Cd=function(r){var e=r.data,t=e.length,i=1,s=Math.pow(2,this.saturation()),n=Math.abs(this.hue()+360)%360,a=this.luminance()*127,o,h=i*s*Math.cos(n*Math.PI/180),l=i*s*Math.sin(n*Math.PI/180),d=.299*i+.701*h+.167*l,u=.587*i-.587*h+.33*l,c=.114*i-.114*h-.497*l,p=.299*i-.299*h-.328*l,f=.587*i+.413*h+.035*l,m=.114*i-.114*h+.293*l,v=.299*i-.3*h+1.25*l,_=.587*i-.586*h-1.05*l,w=.114*i+.886*h-.2*l,b,T,M,P;for(o=0;o<t;o+=4)b=e[o+0],T=e[o+1],M=e[o+2],P=e[o+3],e[o+0]=d*b+u*T+c*M+a,e[o+1]=p*b+f*T+m*M+a,e[o+2]=v*b+_*T+w*M+a,e[o+3]=P},Ed=function(r){var e=r.data,t=e.length,i=Math.pow(2,this.value()),s=Math.pow(2,this.saturation()),n=Math.abs(this.hue()+360)%360,a,o=i*s*Math.cos(n*Math.PI/180),h=i*s*Math.sin(n*Math.PI/180),l=.299*i+.701*o+.167*h,d=.587*i-.587*o+.33*h,u=.114*i-.114*o-.497*h,c=.299*i-.299*o-.328*h,p=.587*i+.413*o+.035*h,f=.114*i-.114*o+.293*h,m=.299*i-.3*o+1.25*h,v=.587*i-.586*o-1.05*h,_=.114*i+.886*o-.2*h,w,b,T,M;for(a=0;a<t;a+=4)w=e[a+0],b=e[a+1],T=e[a+2],M=e[a+3],e[a+0]=l*w+d*b+u*T,e[a+1]=c*w+p*b+f*T,e[a+2]=m*w+v*b+_*T,e[a+3]=M};g.addGetterSetter(x,"hue",0,k(),g.afterSetFilter);g.addGetterSetter(x,"saturation",0,k(),g.afterSetFilter);g.addGetterSetter(x,"value",0,k(),g.afterSetFilter);const kd=function(r){var e=r.data,t=e.length,i;for(i=0;i<t;i+=4)e[i]=255-e[i],e[i+1]=255-e[i+1],e[i+2]=255-e[i+2]};var xd=function(r,e,t){var i=r.data,s=e.data,n=r.width,a=r.height,o=t.polarCenterX||n/2,h=t.polarCenterY||a/2,l,d,u,c=0,p=0,f=0,m=0,v,_=Math.sqrt(o*o+h*h);d=n-o,u=a-h,v=Math.sqrt(d*d+u*u),_=v>_?v:_;var w=a,b=n,T,M,P=360/b*Math.PI/180,G,L;for(M=0;M<b;M+=1)for(G=Math.sin(M*P),L=Math.cos(M*P),T=0;T<w;T+=1)d=Math.floor(o+_*T/w*L),u=Math.floor(h+_*T/w*G),l=(u*n+d)*4,c=i[l+0],p=i[l+1],f=i[l+2],m=i[l+3],l=(M+T*n)*4,s[l+0]=c,s[l+1]=p,s[l+2]=f,s[l+3]=m},Pd=function(r,e,t){var i=r.data,s=e.data,n=r.width,a=r.height,o=t.polarCenterX||n/2,h=t.polarCenterY||a/2,l,d,u,c,p,f=0,m=0,v=0,_=0,w,b=Math.sqrt(o*o+h*h);d=n-o,u=a-h,w=Math.sqrt(d*d+u*u),b=w>b?w:b;var T=a,M=n,P,G,L=t.polarRotation||0,H,$;for(d=0;d<n;d+=1)for(u=0;u<a;u+=1)c=d-o,p=u-h,P=Math.sqrt(c*c+p*p)*T/b,G=(Math.atan2(p,c)*180/Math.PI+360+L)%360,G=G*M/360,H=Math.floor(G),$=Math.floor(P),l=($*n+H)*4,f=i[l+0],m=i[l+1],v=i[l+2],_=i[l+3],l=(u*n+d)*4,s[l+0]=f,s[l+1]=m,s[l+2]=v,s[l+3]=_};const Ad=function(r){var e=r.width,t=r.height,i,s,n,a,o,h,l,d,u,c,p=Math.round(this.kaleidoscopePower()),f=Math.round(this.kaleidoscopeAngle()),m=Math.floor(e*(f%360)/360);if(!(p<1)){var v=y.createCanvasElement();v.width=e,v.height=t;var _=v.getContext("2d").getImageData(0,0,e,t);y.releaseCanvas(v),xd(r,_,{polarCenterX:e/2,polarCenterY:t/2});for(var w=e/Math.pow(2,p);w<=8;)w=w*2,p-=1;w=Math.ceil(w);var b=w,T=0,M=b,P=1;for(m+w>e&&(T=b,M=0,P=-1),s=0;s<t;s+=1)for(i=T;i!==M;i+=P)n=Math.round(i+m)%e,u=(e*s+n)*4,o=_.data[u+0],h=_.data[u+1],l=_.data[u+2],d=_.data[u+3],c=(e*s+i)*4,_.data[c+0]=o,_.data[c+1]=h,_.data[c+2]=l,_.data[c+3]=d;for(s=0;s<t;s+=1)for(b=Math.floor(w),a=0;a<p;a+=1){for(i=0;i<b+1;i+=1)u=(e*s+i)*4,o=_.data[u+0],h=_.data[u+1],l=_.data[u+2],d=_.data[u+3],c=(e*s+b*2-i-1)*4,_.data[c+0]=o,_.data[c+1]=h,_.data[c+2]=l,_.data[c+3]=d;b*=2}Pd(_,r,{polarRotation:0})}};g.addGetterSetter(x,"kaleidoscopePower",2,k(),g.afterSetFilter);g.addGetterSetter(x,"kaleidoscopeAngle",0,k(),g.afterSetFilter);function fr(r,e,t){var i=(t*r.width+e)*4,s=[];return s.push(r.data[i++],r.data[i++],r.data[i++],r.data[i++]),s}function Ti(r,e){return Math.sqrt(Math.pow(r[0]-e[0],2)+Math.pow(r[1]-e[1],2)+Math.pow(r[2]-e[2],2))}function Od(r){for(var e=[0,0,0],t=0;t<r.length;t++)e[0]+=r[t][0],e[1]+=r[t][1],e[2]+=r[t][2];return e[0]/=r.length,e[1]/=r.length,e[2]/=r.length,e}function Md(r,e){var t=fr(r,0,0),i=fr(r,r.width-1,0),s=fr(r,0,r.height-1),n=fr(r,r.width-1,r.height-1),a=e||10;if(Ti(t,i)<a&&Ti(i,n)<a&&Ti(n,s)<a&&Ti(s,t)<a){for(var o=Od([i,t,n,s]),h=[],l=0;l<r.width*r.height;l++){var d=Ti(o,[r.data[l*4],r.data[l*4+1],r.data[l*4+2]]);h[l]=d<a?0:255}return h}}function Ld(r,e){for(var t=0;t<r.width*r.height;t++)r.data[4*t+3]=e[t]}function Rd(r,e,t){for(var i=[1,1,1,1,0,1,1,1,1],s=Math.round(Math.sqrt(i.length)),n=Math.floor(s/2),a=[],o=0;o<t;o++)for(var h=0;h<e;h++){for(var l=o*e+h,d=0,u=0;u<s;u++)for(var c=0;c<s;c++){var p=o+u-n,f=h+c-n;if(p>=0&&p<t&&f>=0&&f<e){var m=p*e+f,v=i[u*s+c];d+=r[m]*v}}a[l]=d===255*8?255:0}return a}function Id(r,e,t){for(var i=[1,1,1,1,1,1,1,1,1],s=Math.round(Math.sqrt(i.length)),n=Math.floor(s/2),a=[],o=0;o<t;o++)for(var h=0;h<e;h++){for(var l=o*e+h,d=0,u=0;u<s;u++)for(var c=0;c<s;c++){var p=o+u-n,f=h+c-n;if(p>=0&&p<t&&f>=0&&f<e){var m=p*e+f,v=i[u*s+c];d+=r[m]*v}}a[l]=d>=255*4?255:0}return a}function Nd(r,e,t){for(var i=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],s=Math.round(Math.sqrt(i.length)),n=Math.floor(s/2),a=[],o=0;o<t;o++)for(var h=0;h<e;h++){for(var l=o*e+h,d=0,u=0;u<s;u++)for(var c=0;c<s;c++){var p=o+u-n,f=h+c-n;if(p>=0&&p<t&&f>=0&&f<e){var m=p*e+f,v=i[u*s+c];d+=r[m]*v}}a[l]=d}return a}const Gd=function(r){var e=this.threshold(),t=Md(r,e);return t&&(t=Rd(t,r.width,r.height),t=Id(t,r.width,r.height),t=Nd(t,r.width,r.height),Ld(r,t)),r};g.addGetterSetter(x,"threshold",0,k(),g.afterSetFilter);const Dd=function(r){var e=this.noise()*255,t=r.data,i=t.length,s=e/2,n;for(n=0;n<i;n+=4)t[n+0]+=s-2*s*Math.random(),t[n+1]+=s-2*s*Math.random(),t[n+2]+=s-2*s*Math.random()};g.addGetterSetter(x,"noise",.2,k(),g.afterSetFilter);const Fd=function(r){var e=Math.ceil(this.pixelSize()),t=r.width,i=r.height,s,n,a,o,h,l,d,u=Math.ceil(t/e),c=Math.ceil(i/e),p,f,m,v,_,w,b,T=r.data;if(e<=0){y.error("pixelSize value can not be <= 0");return}for(_=0;_<u;_+=1)for(w=0;w<c;w+=1){for(o=0,h=0,l=0,d=0,p=_*e,f=p+e,m=w*e,v=m+e,b=0,s=p;s<f;s+=1)if(!(s>=t))for(n=m;n<v;n+=1)n>=i||(a=(t*n+s)*4,o+=T[a+0],h+=T[a+1],l+=T[a+2],d+=T[a+3],b+=1);for(o=o/b,h=h/b,l=l/b,d=d/b,s=p;s<f;s+=1)if(!(s>=t))for(n=m;n<v;n+=1)n>=i||(a=(t*n+s)*4,T[a+0]=o,T[a+1]=h,T[a+2]=l,T[a+3]=d)}};g.addGetterSetter(x,"pixelSize",8,k(),g.afterSetFilter);const Hd=function(r){var e=Math.round(this.levels()*254)+1,t=r.data,i=t.length,s=255/e,n;for(n=0;n<i;n+=1)t[n]=Math.floor(t[n]/s)*s};g.addGetterSetter(x,"levels",.5,k(),g.afterSetFilter);const Bd=function(r){var e=r.data,t=e.length,i=this.red(),s=this.green(),n=this.blue(),a,o;for(a=0;a<t;a+=4)o=(.34*e[a]+.5*e[a+1]+.16*e[a+2])/255,e[a]=o*i,e[a+1]=o*s,e[a+2]=o*n,e[a+3]=e[a+3]};g.addGetterSetter(x,"red",0,function(r){return this._filterUpToDate=!1,r>255?255:r<0?0:Math.round(r)});g.addGetterSetter(x,"green",0,function(r){return this._filterUpToDate=!1,r>255?255:r<0?0:Math.round(r)});g.addGetterSetter(x,"blue",0,Oa,g.afterSetFilter);const $d=function(r){var e=r.data,t=e.length,i=this.red(),s=this.green(),n=this.blue(),a=this.alpha(),o,h;for(o=0;o<t;o+=4)h=1-a,e[o]=i*a+e[o]*h,e[o+1]=s*a+e[o+1]*h,e[o+2]=n*a+e[o+2]*h};g.addGetterSetter(x,"red",0,function(r){return this._filterUpToDate=!1,r>255?255:r<0?0:Math.round(r)});g.addGetterSetter(x,"green",0,function(r){return this._filterUpToDate=!1,r>255?255:r<0?0:Math.round(r)});g.addGetterSetter(x,"blue",0,Oa,g.afterSetFilter);g.addGetterSetter(x,"alpha",1,function(r){return this._filterUpToDate=!1,r>1?1:r<0?0:r});const Vd=function(r){var e=r.data,t=e.length,i,s,n,a;for(i=0;i<t;i+=4)s=e[i+0],n=e[i+1],a=e[i+2],e[i+0]=Math.min(255,s*.393+n*.769+a*.189),e[i+1]=Math.min(255,s*.349+n*.686+a*.168),e[i+2]=Math.min(255,s*.272+n*.534+a*.131)},zd=function(r){var e=r.data,t=r.width,i=r.height,s=t*4,n=i;do{var a=(n-1)*s,o=t;do{var h=a+(o-1)*4,l=e[h],d=e[h+1],u=e[h+2];l>127&&(l=255-l),d>127&&(d=255-d),u>127&&(u=255-u),e[h]=l,e[h+1]=d,e[h+2]=u}while(--o)}while(--n)},Wd=function(r){var e=this.threshold()*255,t=r.data,i=t.length,s;for(s=0;s<i;s+=1)t[s]=t[s]<e?0:255};g.addGetterSetter(x,"threshold",.5,k(),g.afterSetFilter);const A=Fn.Util._assign(Fn,{Arc:vt,Arrow:Ut,Circle:mi,Ellipse:Nt,Image:Ye,Label:rn,Tag:Zt,Line:yt,Path:he,Rect:Xi,RegularPolygon:jt,Ring:Xt,Sprite:at,Star:Gt,Text:me,TextPath:Ce,Transformer:oe,Wedge:bt,Filters:{Blur:yd,Brighten:bd,Contrast:_d,Emboss:wd,Enhance:Sd,Grayscale:Td,HSL:Cd,HSV:Ed,Invert:kd,Kaleidoscope:Ad,Mask:Gd,Noise:Dd,Pixelate:Fd,Posterize:Hd,RGB:Bd,RGBA:$d,Sepia:Vd,Solarize:zd,Threshold:Wd}});var As=function(r,e){return As=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s])},As(r,e)};function _t(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");As(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function Ud(r,e,t,i){function s(n){return n instanceof t?n:new t(function(a){a(n)})}return new(t||(t=Promise))(function(n,a){function o(d){try{l(i.next(d))}catch(u){a(u)}}function h(d){try{l(i.throw(d))}catch(u){a(u)}}function l(d){d.done?n(d.value):s(d.value).then(o,h)}l((i=i.apply(r,e||[])).next())})}function lo(r,e){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,s,n,a;return a={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(l){return function(d){return h([l,d])}}function h(l){if(i)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(t=0)),t;)try{if(i=1,s&&(n=l[0]&2?s.return:l[0]?s.throw||((n=s.return)&&n.call(s),0):s.next)&&!(n=n.call(s,l[1])).done)return n;switch(s=0,n&&(l=[l[0]&2,n.value]),l[0]){case 0:case 1:n=l;break;case 4:return t.label++,{value:l[1],done:!1};case 5:t.label++,s=l[1],l=[0];continue;case 7:l=t.ops.pop(),t.trys.pop();continue;default:if(n=t.trys,!(n=n.length>0&&n[n.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!n||l[1]>n[0]&&l[1]<n[3])){t.label=l[1];break}if(l[0]===6&&t.label<n[1]){t.label=n[1],n=l;break}if(n&&t.label<n[2]){t.label=n[2],t.ops.push(l);break}n[2]&&t.ops.pop(),t.trys.pop();continue}l=e.call(r,t)}catch(d){l=[6,d],s=0}finally{i=n=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function li(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function At(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),s,n=[],a;try{for(;(e===void 0||e-- >0)&&!(s=i.next()).done;)n.push(s.value)}catch(o){a={error:o}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(a)throw a.error}}return n}function Bt(r,e,t){if(t||arguments.length===2)for(var i=0,s=e.length,n;i<s;i++)(n||!(i in e))&&(n||(n=Array.prototype.slice.call(e,0,i)),n[i]=e[i]);return r.concat(n||Array.prototype.slice.call(e))}function si(r){return this instanceof si?(this.v=r,this):new si(r)}function Zd(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),s,n=[];return s={},a("next"),a("throw"),a("return"),s[Symbol.asyncIterator]=function(){return this},s;function a(c){i[c]&&(s[c]=function(p){return new Promise(function(f,m){n.push([c,p,f,m])>1||o(c,p)})})}function o(c,p){try{h(i[c](p))}catch(f){u(n[0][3],f)}}function h(c){c.value instanceof si?Promise.resolve(c.value.v).then(l,d):u(n[0][2],c)}function l(c){o("next",c)}function d(c){o("throw",c)}function u(c,p){c(p),n.shift(),n.length&&o(n[0][0],n[0][1])}}function jd(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof li=="function"?li(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=r[n]&&function(a){return new Promise(function(o,h){a=r[n](a),s(o,h,a.done,a.value)})}}function s(n,a,o,h){Promise.resolve(h).then(function(l){n({value:l,done:o})},a)}}function de(r){return typeof r=="function"}function sn(r){var e=function(i){Error.call(i),i.stack=new Error().stack},t=r(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var ps=sn(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ze=require("hls.js");var Nl=Math.PI/180;function Gl(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const ii=typeof global<"u"?global:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},D={_global:ii,version:"8.3.14",isBrowser:Gl(),isUnminified:/param/.test(function(r){}.toString()),dblClickWindow:400,getAngle(r){return D.angleDeg?r*Nl:r},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return D.DD.isDragging},isDragReady(){return!!D.DD.node},releaseCanvasOnDestroy:!0,document:ii.document,_injectGlobal(r){ii.Konva=r}},ge=r=>{D[r.prototype.getClassName()]=r};D._injectGlobal(D);class Ge{constructor(e=[1,0,0,1,0,0]){this.dirty=!1,this.m=e&&e.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 Ge(this.m)}copyInto(e){e.m[0]=this.m[0],e.m[1]=this.m[1],e.m[2]=this.m[2],e.m[3]=this.m[3],e.m[4]=this.m[4],e.m[5]=this.m[5]}point(e){var t=this.m;return{x:t[0]*e.x+t[2]*e.y+t[4],y:t[1]*e.x+t[3]*e.y+t[5]}}translate(e,t){return this.m[4]+=this.m[0]*e+this.m[2]*t,this.m[5]+=this.m[1]*e+this.m[3]*t,this}scale(e,t){return this.m[0]*=e,this.m[1]*=e,this.m[2]*=t,this.m[3]*=t,this}rotate(e){var t=Math.cos(e),i=Math.sin(e),s=this.m[0]*t+this.m[2]*i,n=this.m[1]*t+this.m[3]*i,a=this.m[0]*-i+this.m[2]*t,o=this.m[1]*-i+this.m[3]*t;return this.m[0]=s,this.m[1]=n,this.m[2]=a,this.m[3]=o,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(e,t){var i=this.m[0]+this.m[2]*t,s=this.m[1]+this.m[3]*t,n=this.m[2]+this.m[0]*e,a=this.m[3]+this.m[1]*e;return this.m[0]=i,this.m[1]=s,this.m[2]=n,this.m[3]=a,this}multiply(e){var t=this.m[0]*e.m[0]+this.m[2]*e.m[1],i=this.m[1]*e.m[0]+this.m[3]*e.m[1],s=this.m[0]*e.m[2]+this.m[2]*e.m[3],n=this.m[1]*e.m[2]+this.m[3]*e.m[3],a=this.m[0]*e.m[4]+this.m[2]*e.m[5]+this.m[4],o=this.m[1]*e.m[4]+this.m[3]*e.m[5]+this.m[5];return this.m[0]=t,this.m[1]=i,this.m[2]=s,this.m[3]=n,this.m[4]=a,this.m[5]=o,this}invert(){var e=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),t=this.m[3]*e,i=-this.m[1]*e,s=-this.m[2]*e,n=this.m[0]*e,a=e*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),o=e*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=t,this.m[1]=i,this.m[2]=s,this.m[3]=n,this.m[4]=a,this.m[5]=o,this}getMatrix(){return this.m}decompose(){var e=this.m[0],t=this.m[1],i=this.m[2],s=this.m[3],n=this.m[4],a=this.m[5],o=e*s-t*i;let h={x:n,y:a,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(e!=0||t!=0){var l=Math.sqrt(e*e+t*t);h.rotation=t>0?Math.acos(e/l):-Math.acos(e/l),h.scaleX=l,h.scaleY=o/l,h.skewX=(e*i+t*s)/o,h.skewY=0}else if(i!=0||s!=0){var d=Math.sqrt(i*i+s*s);h.rotation=Math.PI/2-(s>0?Math.acos(-i/d):-Math.acos(i/d)),h.scaleX=o/d,h.scaleY=d,h.skewX=0,h.skewY=(e*i+t*s)/o}return h.rotation=y._getRotation(h.rotation),h}}var Dl="[object Array]",Fl="[object Number]",Hl="[object String]",Bl="[object Boolean]",$l=Math.PI/180,Vl=180/Math.PI,ns="#",zl="",Wl="0",Ul="Konva warning: ",Cn="Konva error: ",Zl="rgb(",as={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]},jl=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,rr=[];const Xl=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(r){setTimeout(r,60)},y={_isElement(r){return!!(r&&r.nodeType==1)},_isFunction(r){return!!(r&&r.constructor&&r.call&&r.apply)},_isPlainObject(r){return!!r&&r.constructor===Object},_isArray(r){return Object.prototype.toString.call(r)===Dl},_isNumber(r){return Object.prototype.toString.call(r)===Fl&&!isNaN(r)&&isFinite(r)},_isString(r){return Object.prototype.toString.call(r)===Hl},_isBoolean(r){return Object.prototype.toString.call(r)===Bl},isObject(r){return r instanceof Object},isValidSelector(r){if(typeof r!="string")return!1;var e=r[0];return e==="#"||e==="."||e===e.toUpperCase()},_sign(r){return r===0||r>0?1:-1},requestAnimFrame(r){rr.push(r),rr.length===1&&Xl(function(){const e=rr;rr=[],e.forEach(function(t){t()})})},createCanvasElement(){var r=document.createElement("canvas");try{r.style=r.style||{}}catch{}return r},createImageElement(){return document.createElement("img")},_isInDocument(r){for(;r=r.parentNode;)if(r==document)return!0;return!1},_urlToImage(r,e){var t=y.createImageElement();t.onload=function(){e(t)},t.src=r},_rgbToHex(r,e,t){return((1<<24)+(r<<16)+(e<<8)+t).toString(16).slice(1)},_hexToRgb(r){r=r.replace(ns,zl);var e=parseInt(r,16);return{r:e>>16&255,g:e>>8&255,b:e&255}},getRandomColor(){for(var r=(Math.random()*16777215<<0).toString(16);r.length<6;)r=Wl+r;return ns+r},getRGB(r){var e;return r in as?(e=as[r],{r:e[0],g:e[1],b:e[2]}):r[0]===ns?this._hexToRgb(r.substring(1)):r.substr(0,4)===Zl?(e=jl.exec(r.replace(/ /g,"")),{r:parseInt(e[1],10),g:parseInt(e[2],10),b:parseInt(e[3],10)}):{r:0,g:0,b:0}},colorToRGBA(r){return r=r||"black",y._namedColorToRBA(r)||y._hex3ColorToRGBA(r)||y._hex6ColorToRGBA(r)||y._rgbColorToRGBA(r)||y._rgbaColorToRGBA(r)||y._hslColorToRGBA(r)},_namedColorToRBA(r){var e=as[r.toLowerCase()];return e?{r:e[0],g:e[1],b:e[2],a:1}:null},_rgbColorToRGBA(r){if(r.indexOf("rgb(")===0){r=r.match(/rgb\(([^)]+)\)/)[1];var e=r.split(/ *, */).map(Number);return{r:e[0],g:e[1],b:e[2],a:1}}},_rgbaColorToRGBA(r){if(r.indexOf("rgba(")===0){r=r.match(/rgba\(([^)]+)\)/)[1];var e=r.split(/ *, */).map((t,i)=>t.slice(-1)==="%"?i===3?parseInt(t)/100:parseInt(t)/100*255:Number(t));return{r:e[0],g:e[1],b:e[2],a:e[3]}}},_hex6ColorToRGBA(r){if(r[0]==="#"&&r.length===7)return{r:parseInt(r.slice(1,3),16),g:parseInt(r.slice(3,5),16),b:parseInt(r.slice(5,7),16),a:1}},_hex3ColorToRGBA(r){if(r[0]==="#"&&r.length===4)return{r:parseInt(r[1]+r[1],16),g:parseInt(r[2]+r[2],16),b:parseInt(r[3]+r[3],16),a:1}},_hslColorToRGBA(r){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(r)){const[e,...t]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(r),i=Number(t[0])/360,s=Number(t[1])/100,n=Number(t[2])/100;let a,o,h;if(s===0)return h=n*255,{r:Math.round(h),g:Math.round(h),b:Math.round(h),a:1};n<.5?a=n*(1+s):a=n+s-n*s;const l=2*n-a,d=[0,0,0];for(let u=0;u<3;u++)o=i+1/3*-(u-1),o<0&&o++,o>1&&o--,6*o<1?h=l+(a-l)*6*o:2*o<1?h=a:3*o<2?h=l+(a-l)*(2/3-o)*6:h=l,d[u]=h*255;return{r:Math.round(d[0]),g:Math.round(d[1]),b:Math.round(d[2]),a:1}}},haveIntersection(r,e){return!(e.x>r.x+r.width||e.x+e.width<r.x||e.y>r.y+r.height||e.y+e.height<r.y)},cloneObject(r){var e={};for(var t in r)this._isPlainObject(r[t])?e[t]=this.cloneObject(r[t]):this._isArray(r[t])?e[t]=this.cloneArray(r[t]):e[t]=r[t];return e},cloneArray(r){return r.slice(0)},degToRad(r){return r*$l},radToDeg(r){return r*Vl},_degToRad(r){return y.warn("Util._degToRad is removed. Please use public Util.degToRad instead."),y.degToRad(r)},_radToDeg(r){return y.warn("Util._radToDeg is removed. Please use public Util.radToDeg instead."),y.radToDeg(r)},_getRotation(r){return D.angleDeg?y.radToDeg(r):r},_capitalize(r){return r.charAt(0).toUpperCase()+r.slice(1)},throw(r){throw new Error(Cn+r)},error(r){console.error(Cn+r)},warn(r){D.showWarnings&&console.warn(Ul+r)},each(r,e){for(var t in r)e(t,r[t])},_inRange(r,e,t){return e<=r&&r<t},_getProjectionToSegment(r,e,t,i,s,n){var a,o,h,l=(r-t)*(r-t)+(e-i)*(e-i);if(l==0)a=r,o=e,h=(s-t)*(s-t)+(n-i)*(n-i);else{var d=((s-r)*(t-r)+(n-e)*(i-e))/l;d<0?(a=r,o=e,h=(r-s)*(r-s)+(e-n)*(e-n)):d>1?(a=t,o=i,h=(t-s)*(t-s)+(i-n)*(i-n)):(a=r+d*(t-r),o=e+d*(i-e),h=(a-s)*(a-s)+(o-n)*(o-n))}return[a,o,h]},_getProjectionToLine(r,e,t){var i=y.cloneObject(r),s=Number.MAX_VALUE;return e.forEach(function(n,a){if(!(!t&&a===e.length-1)){var o=e[(a+1)%e.length],h=y._getProjectionToSegment(n.x,n.y,o.x,o.y,r.x,r.y),l=h[0],d=h[1],u=h[2];u<s&&(i.x=l,i.y=d,s=u)}}),i},_prepareArrayForTween(r,e,t){var i,s=[],n=[];if(r.length>e.length){var a=e;e=r,r=a}for(i=0;i<r.length;i+=2)s.push({x:r[i],y:r[i+1]});for(i=0;i<e.length;i+=2)n.push({x:e[i],y:e[i+1]});var o=[];return n.forEach(function(h){var l=y._getProjectionToLine(h,s,t);o.push(l.x),o.push(l.y)}),o},_prepareToStringify(r){var e;r.visitedByCircularReferenceRemoval=!0;for(var t in r)if(r.hasOwnProperty(t)&&r[t]&&typeof r[t]=="object"){if(e=Object.getOwnPropertyDescriptor(r,t),r[t].visitedByCircularReferenceRemoval||y._isElement(r[t]))if(e.configurable)delete r[t];else return null;else if(y._prepareToStringify(r[t])===null)if(e.configurable)delete r[t];else return null}return delete r.visitedByCircularReferenceRemoval,r},_assign(r,e){for(var t in e)r[t]=e[t];return r},_getFirstPointerId(r){return r.touches?r.changedTouches[0].identifier:r.pointerId||999},releaseCanvas(...r){D.releaseCanvasOnDestroy&&r.forEach(e=>{e.width=0,e.height=0})}};function It(r){return y._isString(r)?'"'+r+'"':Object.prototype.toString.call(r)==="[object Number]"||y._isBoolean(r)?r:Object.prototype.toString.call(r)}function Oa(r){return r>255?255:r<0?0:Math.round(r)}function k(){if(D.isUnminified)return function(r,e){return y._isNumber(r)||y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a number.'),r}}function Ma(r){if(D.isUnminified)return function(e,t){let i=y._isNumber(e),s=y._isArray(e)&&e.length==r;return!i&&!s&&y.warn(It(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or Array<number>('+r+")"),e}}function Js(){if(D.isUnminified)return function(r,e){var t=y._isNumber(r),i=r==="auto";return t||i||y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a number or "auto".'),r}}function pi(){if(D.isUnminified)return function(r,e){return y._isString(r)||y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a string.'),r}}function La(){if(D.isUnminified)return function(r,e){const t=y._isString(r),i=Object.prototype.toString.call(r)==="[object CanvasGradient]"||r&&r.addColorStop;return t||i||y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a string or a native gradient.'),r}}function ql(){if(D.isUnminified)return function(r,e){const t=Int8Array?Object.getPrototypeOf(Int8Array):null;return t&&r instanceof t||(y._isArray(r)?r.forEach(function(i){y._isNumber(i)||y.warn('"'+e+'" attribute has non numeric element '+i+". Make sure that all elements are numbers.")}):y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a array of numbers.')),r}}function qe(){if(D.isUnminified)return function(r,e){var t=r===!0||r===!1;return t||y.warn(It(r)+' is a not valid value for "'+e+'" attribute. The value should be a boolean.'),r}}function Yl(r){if(D.isUnminified)return function(e,t){return e==null||y.isObject(e)||y.warn(It(e)+' is a not valid value for "'+t+'" attribute. The value should be an object with properties '+r),e}}var _i="get",wi="set";const g={addGetterSetter(r,e,t,i,s){g.addGetter(r,e,t),g.addSetter(r,e,i,s),g.addOverloadedGetterSetter(r,e)},addGetter(r,e,t){var i=_i+y._capitalize(e);r.prototype[i]=r.prototype[i]||function(){var s=this.attrs[e];return s===void 0?t:s}},addSetter(r,e,t,i){var s=wi+y._capitalize(e);r.prototype[s]||g.overWriteSetter(r,e,t,i)},overWriteSetter(r,e,t,i){var s=wi+y._capitalize(e);r.prototype[s]=function(n){return t&&n!==void 0&&n!==null&&(n=t.call(this,n,e)),this._setAttr(e,n),i&&i.call(this),this}},addComponentsGetterSetter(r,e,t,i,s){var n=t.length,a=y._capitalize,o=_i+a(e),h=wi+a(e),l,d;r.prototype[o]=function(){var c={};for(l=0;l<n;l++)d=t[l],c[d]=this.getAttr(e+a(d));return c};var u=Yl(t);r.prototype[h]=function(c){var p=this.attrs[e],f;i&&(c=i.call(this,c)),u&&u.call(this,c,e);for(f in c)c.hasOwnProperty(f)&&this._setAttr(e+a(f),c[f]);return c||t.forEach(m=>{this._setAttr(e+a(m),void 0)}),this._fireChangeEvent(e,p,c),s&&s.call(this),this},g.addOverloadedGetterSetter(r,e)},addOverloadedGetterSetter(r,e){var t=y._capitalize(e),i=wi+t,s=_i+t;r.prototype[e]=function(){return arguments.length?(this[i](arguments[0]),this):this[s]()}},addDeprecatedGetterSetter(r,e,t,i){y.error("Adding deprecated "+e);var s=_i+y._capitalize(e),n=e+" property is deprecated and will be removed soon. Look at Konva change log for more information.";r.prototype[s]=function(){y.error(n);var a=this.attrs[e];return a===void 0?t:a},g.addSetter(r,e,i,function(){y.error(n)}),g.addOverloadedGetterSetter(r,e)},backCompat(r,e){y.each(e,function(t,i){var s=r.prototype[i],n=_i+y._capitalize(t),a=wi+y._capitalize(t);function o(){s.apply(this,arguments),y.error('"'+t+'" method is deprecated and will be removed soon. Use ""'+i+'" instead.')}r.prototype[t]=o,r.prototype[n]=o,r.prototype[a]=o})},afterSetFilter(){this._filterUpToDate=!1}};function Kl(r){var e=[],t=r.length,i=y,s,n;for(s=0;s<t;s++)n=r[s],i._isNumber(n)?n=Math.round(n*1e3)/1e3:i._isString(n)||(n=n+""),e.push(n);return e}var En=",",Jl="(",Ql=")",eh="([",th="])",ih=";",rh="()",sh="=",kn=["arc","arcTo","beginPath","bezierCurveTo","clearRect","clip","closePath","createLinearGradient","createPattern","createRadialGradient","drawImage","ellipse","fill","fillText","getImageData","createImageData","lineTo","moveTo","putImageData","quadraticCurveTo","rect","restore","rotate","save","scale","setLineDash","setTransform","stroke","strokeText","transform","translate"],nh=["fillStyle","strokeStyle","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","font","textAlign","textBaseline","globalAlpha","globalCompositeOperation","imageSmoothingEnabled"];const ah=100;class Ur{constructor(e){this.canvas=e,D.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){var i=this.traceArr,s=i.length,n="",a,o,h,l;for(a=0;a<s;a++)o=i[a],h=o.method,h?(l=o.args,n+=h,e?n+=rh:y._isArray(l[0])?n+=eh+l.join(En)+th:(t&&(l=l.map(d=>typeof d=="number"?Math.floor(d):d)),n+=Jl+l.join(En)+Ql)):(n+=o.property,e||(n+=sh+o.val)),n+=ih;return n}clearTrace(){this.traceArr=[]}_trace(e){var t=this.traceArr,i;t.push(e),i=t.length,i>=ah&&t.shift()}reset(){var e=this.getCanvas().getPixelRatio();this.setTransform(1*e,0,0,1*e,0,0)}getCanvas(){return this.canvas}clear(e){var 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){var t=e.getLineCap();t&&this.setAttr("lineCap",t)}_applyOpacity(e){var t=e.getAbsoluteOpacity();t!==1&&this.setAttr("globalAlpha",t)}_applyLineJoin(e){var t=e.attrs.lineJoin;t&&this.setAttr("lineJoin",t)}setAttr(e,t){this._context[e]=t}arc(e,t,i,s,n,a){this._context.arc(e,t,i,s,n,a)}arcTo(e,t,i,s,n){this._context.arcTo(e,t,i,s,n)}beginPath(){this._context.beginPath()}bezierCurveTo(e,t,i,s,n,a){this._context.bezierCurveTo(e,t,i,s,n,a)}clearRect(e,t,i,s){this._context.clearRect(e,t,i,s)}clip(){this._context.clip()}closePath(){this._context.closePath()}createImageData(e,t){var i=arguments;if(i.length===2)return this._context.createImageData(e,t);if(i.length===1)return this._context.createImageData(e)}createLinearGradient(e,t,i,s){return this._context.createLinearGradient(e,t,i,s)}createPattern(e,t){return this._context.createPattern(e,t)}createRadialGradient(e,t,i,s,n,a){return this._context.createRadialGradient(e,t,i,s,n,a)}drawImage(e,t,i,s,n,a,o,h,l){var d=arguments,u=this._context;d.length===3?u.drawImage(e,t,i):d.length===5?u.drawImage(e,t,i,s,n):d.length===9&&u.drawImage(e,t,i,s,n,a,o,h,l)}ellipse(e,t,i,s,n,a,o,h){this._context.ellipse(e,t,i,s,n,a,o,h)}isPointInPath(e,t){return this._context.isPointInPath(e,t)}fill(e){e?this._context.fill(e):this._context.fill()}fillRect(e,t,i,s){this._context.fillRect(e,t,i,s)}strokeRect(e,t,i,s){this._context.strokeRect(e,t,i,s)}fillText(e,t,i,s){s?this._context.fillText(e,t,i,s):this._context.fillText(e,t,i)}measureText(e){return this._context.measureText(e)}getImageData(e,t,i,s){return this._context.getImageData(e,t,i,s)}lineTo(e,t){this._context.lineTo(e,t)}moveTo(e,t){this._context.moveTo(e,t)}rect(e,t,i,s){this._context.rect(e,t,i,s)}putImageData(e,t,i){this._context.putImageData(e,t,i)}quadraticCurveTo(e,t,i,s){this._context.quadraticCurveTo(e,t,i,s)}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,i,s,n,a){this._context.setTransform(e,t,i,s,n,a)}stroke(e){e?this._context.stroke(e):this._context.stroke()}strokeText(e,t,i,s){this._context.strokeText(e,t,i,s)}transform(e,t,i,s,n,a){this._context.transform(e,t,i,s,n,a)}translate(e,t){this._context.translate(e,t)}_enableTrace(){var e=this,t=kn.length,i=this.setAttr,s,n,a=function(o){var h=e[o],l;e[o]=function(){return n=Kl(Array.prototype.slice.call(arguments,0)),l=h.apply(e,arguments),e._trace({method:o,args:n}),l}};for(s=0;s<t;s++)a(kn[s]);e.setAttr=function(){i.apply(e,arguments);var o=arguments[0],h=arguments[1];(o==="shadowOffsetX"||o==="shadowOffsetY"||o==="shadowBlur")&&(h=h/this.canvas.getPixelRatio()),e._trace({property:o,val:h})}}_applyGlobalCompositeOperation(e){const t=e.attrs.globalCompositeOperation;var i=!t||t==="source-over";i||this.setAttr("globalCompositeOperation",t)}}nh.forEach(function(r){Object.defineProperty(Ur.prototype,r,{get(){return this._context[r]},set(e){this._context[r]=e}})});class oh extends Ur{constructor(e){super(e),this._context=e._canvas.getContext("2d")}_fillColor(e){var t=e.fill();this.setAttr("fillStyle",t),e._fillFunc(this)}_fillPattern(e){this.setAttr("fillStyle",e._getFillPattern()),e._fillFunc(this)}_fillLinearGradient(e){var t=e._getLinearGradient();t&&(this.setAttr("fillStyle",t),e._fillFunc(this))}_fillRadialGradient(e){var t=e._getRadialGradient();t&&(this.setAttr("fillStyle",t),e._fillFunc(this))}_fill(e){var t=e.fill(),i=e.getFillPriority();if(t&&i==="color"){this._fillColor(e);return}var s=e.getFillPatternImage();if(s&&i==="pattern"){this._fillPattern(e);return}var n=e.getFillLinearGradientColorStops();if(n&&i==="linear-gradient"){this._fillLinearGradient(e);return}var a=e.getFillRadialGradientColorStops();if(a&&i==="radial-gradient"){this._fillRadialGradient(e);return}t?this._fillColor(e):s?this._fillPattern(e):n?this._fillLinearGradient(e):a&&this._fillRadialGradient(e)}_strokeLinearGradient(e){var t=e.getStrokeLinearGradientStartPoint(),i=e.getStrokeLinearGradientEndPoint(),s=e.getStrokeLinearGradientColorStops(),n=this.createLinearGradient(t.x,t.y,i.x,i.y);if(s){for(var a=0;a<s.length;a+=2)n.addColorStop(s[a],s[a+1]);this.setAttr("strokeStyle",n)}}_stroke(e){var t=e.dash(),i=e.getStrokeScaleEnabled();if(e.hasStroke()){if(!i){this.save();var s=this.getCanvas().getPixelRatio();this.setTransform(s,0,0,s,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)");var n=e.getStrokeLinearGradientColorStops();n?this._strokeLinearGradient(e):this.setAttr("strokeStyle",e.stroke()),e._strokeFunc(this),i||this.restore()}}_applyShadow(e){var t,i,s,n=(t=e.getShadowRGBA())!==null&&t!==void 0?t:"black",a=(i=e.getShadowBlur())!==null&&i!==void 0?i:5,o=(s=e.getShadowOffset())!==null&&s!==void 0?s:{x:0,y:0},h=e.getAbsoluteScale(),l=this.canvas.getPixelRatio(),d=h.x*l,u=h.y*l;this.setAttr("shadowColor",n),this.setAttr("shadowBlur",a*Math.min(Math.abs(d),Math.abs(u))),this.setAttr("shadowOffsetX",o.x*d),this.setAttr("shadowOffsetY",o.y*u)}}class lh extends Ur{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()){var t=e.getStrokeScaleEnabled();if(!t){this.save();var i=this.getCanvas().getPixelRatio();this.setTransform(i,0,0,i,0,0)}this._applyLineCap(e);var s=e.hitStrokeWidth(),n=s==="auto"?e.strokeWidth():s;this.setAttr("lineWidth",n),this.setAttr("strokeStyle",e.colorKey),e._strokeFuncHit(this),t||this.restore()}}}var sr;function hh(){if(sr)return sr;var r=y.createCanvasElement(),e=r.getContext("2d");return sr=function(){var t=D._global.devicePixelRatio||1,i=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return t/i}(),y.releaseCanvas(r),sr}class Zr{constructor(e){this.pixelRatio=1,this.width=0,this.height=0,this.isCache=!1;var t=e||{},i=t.pixelRatio||D.pixelRatio||hh();this.pixelRatio=i,this._canvas=y.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){var 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";var t=this.pixelRatio,i=this.getContext()._context;i.scale(t,t)}setHeight(e){this.height=this._canvas.height=e*this.pixelRatio,this._canvas.style.height=e+"px";var t=this.pixelRatio,i=this.getContext()._context;i.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(s){return y.error("Unable to get data URL. "+s.message+" For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html."),""}}}}g.addGetterSetter(Zr,"pixelRatio",void 0,k());class ri extends Zr{constructor(e={width:0,height:0}){super(e),this.context=new oh(this),this.setSize(e.width,e.height)}}class Qs extends Zr{constructor(e={width:0,height:0}){super(e),this.hitCanvas=!0,this.context=new lh(this),this.setSize(e.width,e.height)}}const re={get isDragging(){var r=!1;return re._dragElements.forEach(e=>{e.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return re._dragElements.forEach(e=>{r=e.node}),r},_dragElements:new Map,_drag(r){const e=[];re._dragElements.forEach((t,i)=>{const{node:s}=t,n=s.getStage();n.setPointersPositions(r),t.pointerId===void 0&&(t.pointerId=y._getFirstPointerId(r));const a=n._changedPointerPositions.find(l=>l.id===t.pointerId);if(a){if(t.dragStatus!=="dragging"){var o=s.dragDistance(),h=Math.max(Math.abs(a.x-t.startPointerPos.x),Math.abs(a.y-t.startPointerPos.y));if(h<o||(s.startDrag({evt:r}),!s.isDragging()))return}s._setDragPosition(r,t),e.push(s)}}),e.forEach(t=>{t.fire("dragmove",{type:"dragmove",target:t,evt:r},!0)})},_endDragBefore(r){const e=[];re._dragElements.forEach(t=>{const{node:i}=t,s=i.getStage();if(r&&s.setPointersPositions(r),!s._changedPointerPositions.find(o=>o.id===t.pointerId))return;(t.dragStatus==="dragging"||t.dragStatus==="stopped")&&(re.justDragged=!0,D._mouseListenClick=!1,D._touchListenClick=!1,D._pointerListenClick=!1,t.dragStatus="stopped");const a=t.node.getLayer()||t.node instanceof D.Stage&&t.node;a&&e.indexOf(a)===-1&&e.push(a)}),e.forEach(t=>{t.draw()})},_endDragAfter(r){re._dragElements.forEach((e,t)=>{e.dragStatus==="stopped"&&e.node.fire("dragend",{type:"dragend",target:e.node,evt:r},!0),e.dragStatus!=="dragging"&&re._dragElements.delete(t)})}};D.isBrowser&&(window.addEventListener("mouseup",re._endDragBefore,!0),window.addEventListener("touchend",re._endDragBefore,!0),window.addEventListener("mousemove",re._drag),window.addEventListener("touchmove",re._drag),window.addEventListener("mouseup",re._endDragAfter,!1),window.addEventListener("touchend",re._endDragAfter,!1));var vr="absoluteOpacity",nr="allEventListeners",ot="absoluteTransform",xn="absoluteScale",Ft="canvas",dh="Change",uh="children",ch="konva",_s="listening",Pn="mouseenter",An="mouseleave",On="set",Mn="Shape",yr=" ",Ln="stage",Et="transform",fh="Stage",ws="visible",ph=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(yr);let mh=1;class P{constructor(e){this._id=mh++,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(e),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(e){(e===Et||e===ot)&&this._cache.get(e)?this._cache.get(e).dirty=!0:e?this._cache.delete(e):this._cache.clear()}_getCache(e,t){var i=this._cache.get(e),s=e===Et||e===ot,n=i===void 0||s&&i.dirty===!0;return n&&(i=t.call(this),this._cache.set(e,i)),i}_calculate(e,t,i){if(!this._attachedDepsListeners.get(e)){const s=t.map(n=>n+"Change.konva").join(yr);this.on(s,()=>{this._clearCache(e)}),this._attachedDepsListeners.set(e,!0)}return this._getCache(e,i)}_getCanvasCache(){return this._cache.get(Ft)}_clearSelfAndDescendantCache(e){this._clearCache(e),e===ot&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(Ft)){const{scene:e,filter:t,hit:i}=this._cache.get(Ft);y.releaseCanvas(e,t,i),this._cache.delete(Ft)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(e){var t=e||{},i={};(t.x===void 0||t.y===void 0||t.width===void 0||t.height===void 0)&&(i=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var s=Math.ceil(t.width||i.width),n=Math.ceil(t.height||i.height),a=t.pixelRatio,o=t.x===void 0?Math.floor(i.x):t.x,h=t.y===void 0?Math.floor(i.y):t.y,l=t.offset||0,d=t.drawBorder||!1,u=t.hitCanvasPixelRatio||1;if(!s||!n){y.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}s+=l*2+1,n+=l*2+1,o-=l,h-=l;var c=new ri({pixelRatio:a,width:s,height:n}),p=new ri({pixelRatio:a,width:0,height:0}),f=new Qs({pixelRatio:u,width:s,height:n}),m=c.getContext(),v=f.getContext();return f.isCache=!0,c.isCache=!0,this._cache.delete(Ft),this._filterUpToDate=!1,t.imageSmoothingEnabled===!1&&(c.getContext()._context.imageSmoothingEnabled=!1,p.getContext()._context.imageSmoothingEnabled=!1),m.save(),v.save(),m.translate(-o,-h),v.translate(-o,-h),this._isUnderCache=!0,this._clearSelfAndDescendantCache(vr),this._clearSelfAndDescendantCache(xn),this.drawScene(c,this),this.drawHit(f,this),this._isUnderCache=!1,m.restore(),v.restore(),d&&(m.save(),m.beginPath(),m.rect(0,0,s,n),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(Ft,{scene:c,filter:p,hit:f,x:o,y:h}),this._requestDraw(),this}isCached(){return this._cache.has(Ft)}getClientRect(e){throw new Error('abstract "getClientRect" method call')}_transformedRect(e,t){var i=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height}],s,n,a,o,h=this.getAbsoluteTransform(t);return i.forEach(function(l){var d=h.point(l);s===void 0&&(s=a=d.x,n=o=d.y),s=Math.min(s,d.x),n=Math.min(n,d.y),a=Math.max(a,d.x),o=Math.max(o,d.y)}),{x:s,y:n,width:a-s,height:o-n}}_drawCachedSceneCanvas(e){e.save(),e._applyOpacity(this),e._applyGlobalCompositeOperation(this);const t=this._getCanvasCache();e.translate(t.x,t.y);var i=this._getCachedSceneCanvas(),s=i.pixelRatio;e.drawImage(i._canvas,0,0,i.width/s,i.height/s),e.restore()}_drawCachedHitCanvas(e){var t=this._getCanvasCache(),i=t.hit;e.save(),e.translate(t.x,t.y),e.drawImage(i._canvas,0,0,i.width/i.pixelRatio,i.height/i.pixelRatio),e.restore()}_getCachedSceneCanvas(){var e=this.filters(),t=this._getCanvasCache(),i=t.scene,s=t.filter,n=s.getContext(),a,o,h,l;if(e){if(!this._filterUpToDate){var d=i.pixelRatio;s.setSize(i.width/i.pixelRatio,i.height/i.pixelRatio);try{for(a=e.length,n.clear(),n.drawImage(i._canvas,0,0,i.getWidth()/d,i.getHeight()/d),o=n.getImageData(0,0,s.getWidth(),s.getHeight()),h=0;h<a;h++){if(l=e[h],typeof l!="function"){y.error("Filter should be type of function, but got "+typeof l+" instead. Please check correct filters");continue}l.call(this,o),n.putImageData(o,0,0)}}catch(u){y.error("Unable to apply filter. "+u.message+" This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.")}this._filterUpToDate=!0}return s}return i}on(e,t){if(this._cache&&this._cache.delete(nr),arguments.length===3)return this._delegate.apply(this,arguments);var i=e.split(yr),s=i.length,n,a,o,h,l;for(n=0;n<s;n++)a=i[n],o=a.split("."),h=o[0],l=o[1]||"",this.eventListeners[h]||(this.eventListeners[h]=[]),this.eventListeners[h].push({name:l,handler:t});return this}off(e,t){var i=(e||"").split(yr),s=i.length,n,a,o,h,l,d;if(this._cache&&this._cache.delete(nr),!e)for(a in this.eventListeners)this._off(a);for(n=0;n<s;n++)if(o=i[n],h=o.split("."),l=h[0],d=h[1],l)this.eventListeners[l]&&this._off(l,d,t);else for(a in this.eventListeners)this._off(a,d,t);return this}dispatchEvent(e){var t={target:this,type:e.type,evt:e};return this.fire(e.type,t),this}addEventListener(e,t){return this.on(e,function(i){t.call(this,i.evt)}),this}removeEventListener(e){return this.off(e),this}_delegate(e,t,i){var s=this;this.on(e,function(n){for(var a=n.target.findAncestors(t,!0,s),o=0;o<a.length;o++)n=y.cloneObject(n),n.currentTarget=a[o],i.call(a[o],n)})}remove(){return this.isDragging()&&this.stopDrag(),re._dragElements.delete(this._id),this._remove(),this}_clearCaches(){this._clearSelfAndDescendantCache(ot),this._clearSelfAndDescendantCache(vr),this._clearSelfAndDescendantCache(xn),this._clearSelfAndDescendantCache(Ln),this._clearSelfAndDescendantCache(ws),this._clearSelfAndDescendantCache(_s)}_remove(){this._clearCaches();var e=this.getParent();e&&e.children&&(e.children.splice(this.index,1),e._setChildrenIndices(),this.parent=null)}destroy(){return this.remove(),this.clearCache(),this}getAttr(e){var t="get"+y._capitalize(e);return y._isFunction(this[t])?this[t]():this.attrs[e]}getAncestors(){for(var e=this.getParent(),t=[];e;)t.push(e),e=e.getParent();return t}getAttrs(){return this.attrs||{}}setAttrs(e){return this._batchTransformChanges(()=>{var t,i;if(!e)return this;for(t in e)t!==uh&&(i=On+y._capitalize(t),y._isFunction(this[i])?this[i](e[t]):this._setAttr(t,e[t]))}),this}isListening(){return this._getCache(_s,this._isListening)}_isListening(e){if(!this.listening())return!1;const i=this.getParent();return i&&i!==e&&this!==e?i._isListening(e):!0}isVisible(){return this._getCache(ws,this._isVisible)}_isVisible(e){if(!this.visible())return!1;const i=this.getParent();return i&&i!==e&&this!==e?i._isVisible(e):!0}shouldDrawHit(e,t=!1){if(e)return this._isVisible(e)&&this._isListening(e);var i=this.getLayer(),s=!1;re._dragElements.forEach(a=>{a.dragStatus==="dragging"&&(a.node.nodeType==="Stage"||a.node.getLayer()===i)&&(s=!0)});var n=!t&&!D.hitOnDragEnabled&&s;return this.isListening()&&this.isVisible()&&!n}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var e=this.getDepth(),t=this,i=0,s,n,a,o;function h(l){for(s=[],n=l.length,a=0;a<n;a++)o=l[a],i++,o.nodeType!==Mn&&(s=s.concat(o.getChildren().slice())),o._id===t._id&&(a=n);s.length>0&&s[0].getDepth()<=e&&h(s)}return t.nodeType!==fh&&h(t.getStage().getChildren()),i}getDepth(){for(var e=0,t=this.parent;t;)e++,t=t.parent;return e}_batchTransformChanges(e){this._batchingTransformChange=!0,e(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(Et),this._clearSelfAndDescendantCache(ot)),this._needClearTransformCache=!1}setPosition(e){return this._batchTransformChanges(()=>{this.x(e.x),this.y(e.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var e=this.getStage().getPointerPosition();if(!e)return null;var t=this.getAbsoluteTransform().copy();return t.invert(),t.point(e)}getAbsolutePosition(e){let t=!1,i=this.parent;for(;i;){if(i.isCached()){t=!0;break}i=i.parent}t&&!e&&(e=!0);var s=this.getAbsoluteTransform(e).getMatrix(),n=new Ge,a=this.offset();return n.m=s.slice(),n.translate(a.x,a.y),n.getTranslation()}setAbsolutePosition(e){var t=this._clearTransform();this.attrs.x=t.x,this.attrs.y=t.y,delete t.x,delete t.y,this._clearCache(Et);var i=this._getAbsoluteTransform().copy();return i.invert(),i.translate(e.x,e.y),e={x:this.attrs.x+i.getTranslation().x,y:this.attrs.y+i.getTranslation().y},this._setTransform(t),this.setPosition({x:e.x,y:e.y}),this._clearCache(Et),this._clearSelfAndDescendantCache(ot),this}_setTransform(e){var t;for(t in e)this.attrs[t]=e[t]}_clearTransform(){var e={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,e}move(e){var t=e.x,i=e.y,s=this.x(),n=this.y();return t!==void 0&&(s+=t),i!==void 0&&(n+=i),this.setPosition({x:s,y:n}),this}_eachAncestorReverse(e,t){var i=[],s=this.getParent(),n,a;if(!(t&&t._id===this._id)){for(i.unshift(this);s&&(!t||s._id!==t._id);)i.unshift(s),s=s.parent;for(n=i.length,a=0;a<n;a++)e(i[a])}}rotate(e){return this.rotation(this.rotation()+e),this}moveToTop(){if(!this.parent)return y.warn("Node has no parent. moveToTop function is ignored."),!1;var e=this.index,t=this.parent.getChildren().length;return e<t-1?(this.parent.children.splice(e,1),this.parent.children.push(this),this.parent._setChildrenIndices(),!0):!1}moveUp(){if(!this.parent)return y.warn("Node has no parent. moveUp function is ignored."),!1;var e=this.index,t=this.parent.getChildren().length;return e<t-1?(this.parent.children.splice(e,1),this.parent.children.splice(e+1,0,this),this.parent._setChildrenIndices(),!0):!1}moveDown(){if(!this.parent)return y.warn("Node has no parent. moveDown function is ignored."),!1;var e=this.index;return e>0?(this.parent.children.splice(e,1),this.parent.children.splice(e-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return y.warn("Node has no parent. moveToBottom function is ignored."),!1;var e=this.index;return e>0?(this.parent.children.splice(e,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(e){if(!this.parent)return y.warn("Node has no parent. zIndex parameter is ignored."),this;(e<0||e>=this.parent.children.length)&&y.warn("Unexpected value "+e+" 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)+".");var t=this.index;return this.parent.children.splice(t,1),this.parent.children.splice(e,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(vr,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var e=this.opacity(),t=this.getParent();return t&&!t._isUnderCache&&(e*=t.getAbsoluteOpacity()),e}moveTo(e){return this.getParent()!==e&&(this._remove(),e.add(this)),this}toObject(){var e={},t=this.getAttrs(),i,s,n,a,o;e.attrs={};for(i in t)s=t[i],o=y.isObject(s)&&!y._isPlainObject(s)&&!y._isArray(s),!o&&(n=typeof this[i]=="function"&&this[i],delete t[i],a=n?n.call(this):null,t[i]=s,a!==s&&(e.attrs[i]=s));return e.className=this.getClassName(),y._prepareToStringify(e)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(e,t,i){var s=[];t&&this._isMatch(e)&&s.push(this);for(var n=this.parent;n;){if(n===i)return s;n._isMatch(e)&&s.push(n),n=n.parent}return s}isAncestorOf(e){return!1}findAncestor(e,t,i){return this.findAncestors(e,t,i)[0]}_isMatch(e){if(!e)return!1;if(typeof e=="function")return e(this);var t=e.replace(/ /g,"").split(","),i=t.length,s,n;for(s=0;s<i;s++)if(n=t[s],y.isValidSelector(n)||(y.warn('Selector "'+n+'" is invalid. Allowed selectors examples are "#foo", ".bar" or "Group".'),y.warn('If you have a custom shape with such className, please change it to start with upper letter like "Triangle".'),y.warn("Konva is awesome, right?")),n.charAt(0)==="#"){if(this.id()===n.slice(1))return!0}else if(n.charAt(0)==="."){if(this.hasName(n.slice(1)))return!0}else if(this.className===n||this.nodeType===n)return!0;return!1}getLayer(){var e=this.getParent();return e?e.getLayer():null}getStage(){return this._getCache(Ln,this._getStage)}_getStage(){var e=this.getParent();if(e)return e.getStage()}fire(e,t={},i){return t.target=t.target||this,i?this._fireAndBubble(e,t):this._fire(e,t),this}getAbsoluteTransform(e){return e?this._getAbsoluteTransform(e):this._getCache(ot,this._getAbsoluteTransform)}_getAbsoluteTransform(e){var t;if(e)return t=new Ge,this._eachAncestorReverse(function(s){var n=s.transformsEnabled();n==="all"?t.multiply(s.getTransform()):n==="position"&&t.translate(s.x()-s.offsetX(),s.y()-s.offsetY())},e),t;t=this._cache.get(ot)||new Ge,this.parent?this.parent.getAbsoluteTransform().copyInto(t):t.reset();var i=this.transformsEnabled();if(i==="all")t.multiply(this.getTransform());else if(i==="position"){const s=this.attrs.x||0,n=this.attrs.y||0,a=this.attrs.offsetX||0,o=this.attrs.offsetY||0;t.translate(s-a,n-o)}return t.dirty=!1,t}getAbsoluteScale(e){for(var t=this;t;)t._isUnderCache&&(e=t),t=t.getParent();const s=this.getAbsoluteTransform(e).decompose();return{x:s.scaleX,y:s.scaleY}}getAbsoluteRotation(){return this.getAbsoluteTransform().decompose().rotation}getTransform(){return this._getCache(Et,this._getTransform)}_getTransform(){var e,t,i=this._cache.get(Et)||new Ge;i.reset();var s=this.x(),n=this.y(),a=D.getAngle(this.rotation()),o=(e=this.attrs.scaleX)!==null&&e!==void 0?e:1,h=(t=this.attrs.scaleY)!==null&&t!==void 0?t:1,l=this.attrs.skewX||0,d=this.attrs.skewY||0,u=this.attrs.offsetX||0,c=this.attrs.offsetY||0;return(s!==0||n!==0)&&i.translate(s,n),a!==0&&i.rotate(a),(l!==0||d!==0)&&i.skew(l,d),(o!==1||h!==1)&&i.scale(o,h),(u!==0||c!==0)&&i.translate(-1*u,-1*c),i.dirty=!1,i}clone(e){var t=y.cloneObject(this.attrs),i,s,n,a,o;for(i in e)t[i]=e[i];var h=new this.constructor(t);for(i in this.eventListeners)for(s=this.eventListeners[i],n=s.length,a=0;a<n;a++)o=s[a],o.name.indexOf(ch)<0&&(h.eventListeners[i]||(h.eventListeners[i]=[]),h.eventListeners[i].push(o));return h}_toKonvaCanvas(e){e=e||{};var t=this.getClientRect(),i=this.getStage(),s=e.x!==void 0?e.x:Math.floor(t.x),n=e.y!==void 0?e.y:Math.floor(t.y),a=e.pixelRatio||1,o=new ri({width:e.width||Math.ceil(t.width)||(i?i.width():0),height:e.height||Math.ceil(t.height)||(i?i.height():0),pixelRatio:a}),h=o.getContext();return e.imageSmoothingEnabled===!1&&(h._context.imageSmoothingEnabled=!1),h.save(),(s||n)&&h.translate(-1*s,-1*n),this.drawScene(o),h.restore(),o}toCanvas(e){return this._toKonvaCanvas(e)._canvas}toDataURL(e){e=e||{};var t=e.mimeType||null,i=e.quality||null,s=this._toKonvaCanvas(e).toDataURL(t,i);return e.callback&&e.callback(s),s}toImage(e){return new Promise((t,i)=>{try{const s=e==null?void 0:e.callback;s&&delete e.callback,y._urlToImage(this.toDataURL(e),function(n){t(n),s==null||s(n)})}catch(s){i(s)}})}toBlob(e){return new Promise((t,i)=>{try{const s=e==null?void 0:e.callback;s&&delete e.callback,this.toCanvas(e).toBlob(n=>{t(n),s==null||s(n)})}catch(s){i(s)}})}setSize(e){return this.width(e.width),this.height(e.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():D.dragDistance}_off(e,t,i){var s=this.eventListeners[e],n,a,o;for(n=0;n<s.length;n++)if(a=s[n].name,o=s[n].handler,(a!=="konva"||t==="konva")&&(!t||a===t)&&(!i||i===o)){if(s.splice(n,1),s.length===0){delete this.eventListeners[e];break}n--}}_fireChangeEvent(e,t,i){this._fire(e+dh,{oldVal:t,newVal:i})}addName(e){if(!this.hasName(e)){var t=this.name(),i=t?t+" "+e:e;this.name(i)}return this}hasName(e){if(!e)return!1;const t=this.name();if(!t)return!1;var i=(t||"").split(/\s/g);return i.indexOf(e)!==-1}removeName(e){var t=(this.name()||"").split(/\s/g),i=t.indexOf(e);return i!==-1&&(t.splice(i,1),this.name(t.join(" "))),this}setAttr(e,t){var i=this[On+y._capitalize(e)];return y._isFunction(i)?i.call(this,t):this._setAttr(e,t),this}_requestDraw(){if(D.autoDrawEnabled){const e=this.getLayer()||this.getStage();e==null||e.batchDraw()}}_setAttr(e,t){var i=this.attrs[e];i===t&&!y.isObject(t)||(t==null?delete this.attrs[e]:this.attrs[e]=t,this._shouldFireChangeEvents&&this._fireChangeEvent(e,i,t),this._requestDraw())}_setComponentAttr(e,t,i){var s;i!==void 0&&(s=this.attrs[e],s||(this.attrs[e]=this.getAttr(e)),this.attrs[e][t]=i,this._fireChangeEvent(e,s,i))}_fireAndBubble(e,t,i){t&&this.nodeType===Mn&&(t.target=this);var s=(e===Pn||e===An)&&(i&&(this===i||this.isAncestorOf&&this.isAncestorOf(i))||this.nodeType==="Stage"&&!i);if(!s){this._fire(e,t);var n=(e===Pn||e===An)&&i&&i.isAncestorOf&&i.isAncestorOf(this)&&!i.isAncestorOf(this.parent);(t&&!t.cancelBubble||!t)&&this.parent&&this.parent.isListening()&&!n&&(i&&i.parent?this._fireAndBubble.call(this.parent,e,t,i):this._fireAndBubble.call(this.parent,e,t))}}_getProtoListeners(e){let t=this._cache.get(nr);if(!t){t={};let s=Object.getPrototypeOf(this);for(;s;){if(!s.eventListeners){s=Object.getPrototypeOf(s);continue}for(var i in s.eventListeners){const n=s.eventListeners[i],a=t[i]||[];t[i]=n.concat(a)}s=Object.getPrototypeOf(s)}this._cache.set(nr,t)}return t[e]}_fire(e,t){t=t||{},t.currentTarget=this,t.type=e;const i=this._getProtoListeners(e);if(i)for(var s=0;s<i.length;s++)i[s].handler.call(this,t);const n=this.eventListeners[e];if(n)for(var s=0;s<n.length;s++)n[s].handler.call(this,t)}draw(){return this.drawScene(),this.drawHit(),this}_createDragElement(e){var t=e?e.pointerId:void 0,i=this.getStage(),s=this.getAbsolutePosition(),n=i._getPointerById(t)||i._changedPointerPositions[0]||s;re._dragElements.set(this._id,{node:this,startPointerPos:n,offset:{x:n.x-s.x,y:n.y-s.y},dragStatus:"ready",pointerId:t})}startDrag(e,t=!0){re._dragElements.has(this._id)||this._createDragElement(e);const i=re._dragElements.get(this._id);i.dragStatus="dragging",this.fire("dragstart",{type:"dragstart",target:this,evt:e&&e.evt},t)}_setDragPosition(e,t){const i=this.getStage()._getPointerById(t.pointerId);if(i){var s={x:i.x-t.offset.x,y:i.y-t.offset.y},n=this.dragBoundFunc();if(n!==void 0){const a=n.call(this,s,e);a?s=a:y.warn("dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.")}(!this._lastPos||this._lastPos.x!==s.x||this._lastPos.y!==s.y)&&(this.setAbsolutePosition(s),this._requestDraw()),this._lastPos=s}}stopDrag(e){const t=re._dragElements.get(this._id);t&&(t.dragStatus="stopped"),re._endDragBefore(e),re._endDragAfter(e)}setDraggable(e){this._setAttr("draggable",e),this._dragChange()}isDragging(){const e=re._dragElements.get(this._id);return e?e.dragStatus==="dragging":!1}_listenDrag(){this._dragCleanup(),this.on("mousedown.konva touchstart.konva",function(e){var t=e.evt.button!==void 0,i=!t||D.dragButtons.indexOf(e.evt.button)>=0;if(i&&!this.isDragging()){var s=!1;re._dragElements.forEach(n=>{this.isAncestorOf(n.node)&&(s=!0)}),s||this._createDragElement(e)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var e=this.getStage();if(!e)return;const t=re._dragElements.get(this._id),i=t&&t.dragStatus==="dragging",s=t&&t.dragStatus==="ready";i?this.stopDrag():s&&re._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(e={x:0,y:0}){const t=this.getStage();if(!t)return!1;const i={x:-e.x,y:-e.y,width:t.width()+2*e.x,height:t.height()+2*e.y};return y.haveIntersection(i,this.getClientRect())}static create(e,t){return y._isString(e)&&(e=JSON.parse(e)),this._createNode(e,t)}static _createNode(e,t){var i=P.prototype.getClassName.call(e),s=e.children,n,a,o;t&&(e.attrs.container=t),D[i]||(y.warn('Can not find a node with class name "'+i+'". Fallback to "Shape".'),i="Shape");const h=D[i];if(n=new h(e.attrs),s)for(a=s.length,o=0;o<a;o++)n.add(P._createNode(s[o]));return n}}P.prototype.nodeType="Node";P.prototype._attrsAffectingSize=[];P.prototype.eventListeners={};P.prototype.on.call(P.prototype,ph,function(){if(this._batchingTransformChange){this._needClearTransformCache=!0;return}this._clearCache(Et),this._clearSelfAndDescendantCache(ot)});P.prototype.on.call(P.prototype,"visibleChange.konva",function(){this._clearSelfAndDescendantCache(ws)});P.prototype.on.call(P.prototype,"listeningChange.konva",function(){this._clearSelfAndDescendantCache(_s)});P.prototype.on.call(P.prototype,"opacityChange.konva",function(){this._clearSelfAndDescendantCache(vr)});const ce=g.addGetterSetter;ce(P,"zIndex");ce(P,"absolutePosition");ce(P,"position");ce(P,"x",0,k());ce(P,"y",0,k());ce(P,"globalCompositeOperation","source-over",pi());ce(P,"opacity",1,k());ce(P,"name","",pi());ce(P,"id","",pi());ce(P,"rotation",0,k());g.addComponentsGetterSetter(P,"scale",["x","y"]);ce(P,"scaleX",1,k());ce(P,"scaleY",1,k());g.addComponentsGetterSetter(P,"skew",["x","y"]);ce(P,"skewX",0,k());ce(P,"skewY",0,k());g.addComponentsGetterSetter(P,"offset",["x","y"]);ce(P,"offsetX",0,k());ce(P,"offsetY",0,k());ce(P,"dragDistance",null,k());ce(P,"width",0,k());ce(P,"height",0,k());ce(P,"listening",!0,qe());ce(P,"preventDefault",!0,qe());ce(P,"filters",null,function(r){return this._filterUpToDate=!1,r});ce(P,"visible",!0,qe());ce(P,"transformsEnabled","all",pi());ce(P,"size");ce(P,"dragBoundFunc");ce(P,"draggable",!1,qe());g.backCompat(P,{rotateDeg:"rotate",setRotationDeg:"setRotation",getRotationDeg:"getRotation"});class De extends P{constructor(){super(...arguments),this.children=[]}getChildren(e){if(!e)return this.children||[];const t=this.children||[];var i=[];return t.forEach(function(s){e(s)&&i.push(s)}),i}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(arguments.length>1){for(var t=0;t<arguments.length;t++)this.add(arguments[t]);return this}var i=e[0];return i.getParent()?(i.moveTo(this),this):(this._validateAdd(i),i.index=this.getChildren().length,i.parent=this,i._clearCaches(),this.getChildren().push(i),this._fire("add",{child:i}),this._requestDraw(),this)}destroy(){return this.hasChildren()&&this.destroyChildren(),super.destroy(),this}find(e){return this._generalFind(e,!1)}findOne(e){var t=this._generalFind(e,!0);return t.length>0?t[0]:void 0}_generalFind(e,t){var i=[];return this._descendants(s=>{const n=s._isMatch(e);return n&&i.push(s),!!(n&&t)}),i}_descendants(e){let t=!1;const i=this.getChildren();for(const s of i){if(t=e(s),t)return!0;if(s.hasChildren()&&(t=s._descendants(e),t))return!0}return!1}toObject(){var e=P.prototype.toObject.call(this);return e.children=[],this.getChildren().forEach(t=>{e.children.push(t.toObject())}),e}isAncestorOf(e){for(var t=e.getParent();t;){if(t._id===this._id)return!0;t=t.getParent()}return!1}clone(e){var t=P.prototype.clone.call(this,e);return this.getChildren().forEach(function(i){t.add(i.clone())}),t}getAllIntersections(e){var t=[];return this.find("Shape").forEach(function(i){i.isVisible()&&i.intersects(e)&&t.push(i)}),t}_clearSelfAndDescendantCache(e){var t;super._clearSelfAndDescendantCache(e),!this.isCached()&&((t=this.children)===null||t===void 0||t.forEach(function(i){i._clearSelfAndDescendantCache(e)}))}_setChildrenIndices(){var e;(e=this.children)===null||e===void 0||e.forEach(function(t,i){t.index=i}),this._requestDraw()}drawScene(e,t){var i=this.getLayer(),s=e||i&&i.getCanvas(),n=s&&s.getContext(),a=this._getCanvasCache(),o=a&&a.scene,h=s&&s.isCache;if(!this.isVisible()&&!h)return this;if(o){n.save();var l=this.getAbsoluteTransform(t).getMatrix();n.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedSceneCanvas(n),n.restore()}else this._drawChildren("drawScene",s,t);return this}drawHit(e,t){if(!this.shouldDrawHit(t))return this;var i=this.getLayer(),s=e||i&&i.hitCanvas,n=s&&s.getContext(),a=this._getCanvasCache(),o=a&&a.hit;if(o){n.save();var h=this.getAbsoluteTransform(t).getMatrix();n.transform(h[0],h[1],h[2],h[3],h[4],h[5]),this._drawCachedHitCanvas(n),n.restore()}else this._drawChildren("drawHit",s,t);return this}_drawChildren(e,t,i){var s,n=t&&t.getContext(),a=this.clipWidth(),o=this.clipHeight(),h=this.clipFunc(),l=a&&o||h;const d=i===this;if(l){n.save();var u=this.getAbsoluteTransform(i),c=u.getMatrix();if(n.transform(c[0],c[1],c[2],c[3],c[4],c[5]),n.beginPath(),h)h.call(this,n,this);else{var p=this.clipX(),f=this.clipY();n.rect(p,f,a,o)}n.clip(),c=u.copy().invert().getMatrix(),n.transform(c[0],c[1],c[2],c[3],c[4],c[5])}var m=!d&&this.globalCompositeOperation()!=="source-over"&&e==="drawScene";m&&(n.save(),n._applyGlobalCompositeOperation(this)),(s=this.children)===null||s===void 0||s.forEach(function(v){v[e](t,i)}),m&&n.restore(),l&&n.restore()}getClientRect(e){var t;e=e||{};var i=e.skipTransform,s=e.relativeTo,n,a,o,h,l={x:1/0,y:1/0,width:0,height:0},d=this;(t=this.children)===null||t===void 0||t.forEach(function(m){if(m.visible()){var v=m.getClientRect({relativeTo:d,skipShadow:e.skipShadow,skipStroke:e.skipStroke});v.width===0&&v.height===0||(n===void 0?(n=v.x,a=v.y,o=v.x+v.width,h=v.y+v.height):(n=Math.min(n,v.x),a=Math.min(a,v.y),o=Math.max(o,v.x+v.width),h=Math.max(h,v.y+v.height)))}});for(var u=this.find("Shape"),c=!1,p=0;p<u.length;p++){var f=u[p];if(f._isVisible(this)){c=!0;break}}return c&&n!==void 0?l={x:n,y:a,width:o-n,height:h-a}:l={x:0,y:0,width:0,height:0},i?l:this._transformedRect(l,s)}}g.addComponentsGetterSetter(De,"clip",["x","y","width","height"]);g.addGetterSetter(De,"clipX",void 0,k());g.addGetterSetter(De,"clipY",void 0,k());g.addGetterSetter(De,"clipWidth",void 0,k());g.addGetterSetter(De,"clipHeight",void 0,k());g.addGetterSetter(De,"clipFunc");const Ri=new Map,Ra=D._global.PointerEvent!==void 0;function os(r){return Ri.get(r)}function en(r){return{evt:r,pointerId:r.pointerId}}function Ia(r,e){return Ri.get(r)===e}function Na(r,e){Oi(r),e.getStage()&&(Ri.set(r,e),Ra&&e._fire("gotpointercapture",en(new PointerEvent("gotpointercapture"))))}function Oi(r,e){const t=Ri.get(r);if(!t)return;const i=t.getStage();i&&i.content,Ri.delete(r),Ra&&t._fire("lostpointercapture",en(new PointerEvent("lostpointercapture")))}var gh="Stage",vh="string",Rn="px",yh="mouseout",Ga="mouseleave",Da="mouseover",Fa="mouseenter",Ha="mousemove",Ba="mousedown",$a="mouseup",ki="pointermove",xi="pointerdown",Jt="pointerup",Pi="pointercancel",bh="lostpointercapture",ar="pointerout",or="pointerleave",lr="pointerover",hr="pointerenter",Ss="contextmenu",Va="touchstart",za="touchend",Wa="touchmove",Ua="touchcancel",Ts="wheel",_h=5,wh=[[Fa,"_pointerenter"],[Ba,"_pointerdown"],[Ha,"_pointermove"],[$a,"_pointerup"],[Ga,"_pointerleave"],[Va,"_pointerdown"],[Wa,"_pointermove"],[za,"_pointerup"],[Ua,"_pointercancel"],[Da,"_pointerover"],[Ts,"_wheel"],[Ss,"_contextmenu"],[xi,"_pointerdown"],[ki,"_pointermove"],[Jt,"_pointerup"],[Pi,"_pointercancel"],[bh,"_lostpointercapture"]];const ls={mouse:{[ar]:yh,[or]:Ga,[lr]:Da,[hr]:Fa,[ki]:Ha,[xi]:Ba,[Jt]:$a,[Pi]:"mousecancel",pointerclick:"click",pointerdblclick:"dblclick"},touch:{[ar]:"touchout",[or]:"touchleave",[lr]:"touchover",[hr]:"touchenter",[ki]:Wa,[xi]:Va,[Jt]:za,[Pi]:Ua,pointerclick:"tap",pointerdblclick:"dbltap"},pointer:{[ar]:ar,[or]:or,[lr]:lr,[hr]:hr,[ki]:ki,[xi]:xi,[Jt]:Jt,[Pi]:Pi,pointerclick:"pointerclick",pointerdblclick:"pointerdblclick"}},Ai=r=>r.indexOf("pointer")>=0?"pointer":r.indexOf("touch")>=0?"touch":"mouse",qt=r=>{const e=Ai(r);if(e==="pointer")return D.pointerEventsEnabled&&ls.pointer;if(e==="touch")return ls.touch;if(e==="mouse")return ls.mouse};function In(r={}){return(r.clipFunc||r.clipWidth||r.clipHeight)&&y.warn("Stage does not support clipping. Please use clip for Layers or Groups."),r}const Sh="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);",br=[];class jr extends De{constructor(e){super(In(e)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),br.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{In(this.attrs)}),this._checkVisibility()}_validateAdd(e){const t=e.getType()==="Layer",i=e.getType()==="FastLayer";t||i||y.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===vh){if(e.charAt(0)==="."){var t=e.slice(1);e=document.getElementsByClassName(t)[0]}else{var i;e.charAt(0)!=="#"?i=e:i=e.slice(1),e=document.getElementById(i)}if(!e)throw"Can not find container in document with id "+i}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(){var e=this.children,t=e.length,i;for(i=0;i<t;i++)e[i].clear();return this}clone(e){return e||(e={}),e.container=typeof document<"u"&&document.createElement("div"),De.prototype.clone.call(this,e)}destroy(){super.destroy();var e=this.content;e&&y._isInDocument(e)&&this.container().removeChild(e);var t=br.indexOf(this);return t>-1&&br.splice(t,1),y.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}:(y.warn(Sh),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();var t=new ri({width:e.width,height:e.height,pixelRatio:e.pixelRatio||1}),i=t.getContext()._context,s=this.children;return(e.x||e.y)&&i.translate(-1*e.x,-1*e.y),s.forEach(function(n){if(n.isVisible()){var a=n._toKonvaCanvas(e);i.drawImage(a._canvas,e.x,e.y,a.getWidth()/a.getPixelRatio(),a.getHeight()/a.getPixelRatio())}}),t}getIntersection(e){if(!e)return null;var t=this.children,i=t.length,s=i-1,n;for(n=s;n>=0;n--){const a=t[n].getIntersection(e);if(a)return a}return null}_resizeDOM(){var e=this.width(),t=this.height();this.content&&(this.content.style.width=e+Rn,this.content.style.height=t+Rn),this.bufferCanvas.setSize(e,t),this.bufferHitCanvas.setSize(e,t),this.children.forEach(i=>{i.setSize({width:e,height:t}),i.draw()})}add(e,...t){if(arguments.length>1){for(var i=0;i<arguments.length;i++)this.add(arguments[i]);return this}super.add(e);var s=this.children.length;return s>_h&&y.warn("The stage has "+s+" 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(),D.isBrowser&&this.content.appendChild(e.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(e){return Ia(e,this)}setPointerCapture(e){Na(e,this)}releaseCapture(e){Oi(e)}getLayers(){return this.children}_bindContentEvents(){D.isBrowser&&wh.forEach(([e,t])=>{this.content.addEventListener(e,i=>{this[t](i)},{passive:!1})})}_pointerenter(e){this.setPointersPositions(e);const t=qt(e.type);this._fire(t.pointerenter,{evt:e,target:this,currentTarget:this})}_pointerover(e){this.setPointersPositions(e);const t=qt(e.type);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=qt(e.type),i=Ai(e.type);if(t){this.setPointersPositions(e);var s=this._getTargetShape(i),n=!re.isDragging||D.hitOnDragEnabled;s&&n?(s._fireAndBubble(t.pointerout,{evt:e}),s._fireAndBubble(t.pointerleave,{evt:e}),this._fire(t.pointerleave,{evt:e,target:this,currentTarget:this}),this[i+"targetShape"]=null):n&&(this._fire(t.pointerleave,{evt:e,target:this,currentTarget:this}),this._fire(t.pointerout,{evt:e,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(e){const t=qt(e.type),i=Ai(e.type);if(t){this.setPointersPositions(e);var s=!1;this._changedPointerPositions.forEach(n=>{var a=this.getIntersection(n);if(re.justDragged=!1,D["_"+i+"ListenClick"]=!0,!(a&&a.isListening()))return;D.capturePointerEventsEnabled&&a.setPointerCapture(n.id),this[i+"ClickStartShape"]=a,a._fireAndBubble(t.pointerdown,{evt:e,pointerId:n.id}),s=!0;const h=e.type.indexOf("touch")>=0;a.preventDefault()&&e.cancelable&&h&&e.preventDefault()}),s||this._fire(t.pointerdown,{evt:e,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(e){const t=qt(e.type),i=Ai(e.type);if(!t)return;re.isDragging&&re.node.preventDefault()&&e.cancelable&&e.preventDefault(),this.setPointersPositions(e);var s=!re.isDragging||D.hitOnDragEnabled;if(!s)return;var n={};let a=!1;var o=this._getTargetShape(i);this._changedPointerPositions.forEach(h=>{const l=os(h.id)||this.getIntersection(h),d=h.id,u={evt:e,pointerId:d};var c=o!==l;if(c&&o&&(o._fireAndBubble(t.pointerout,Object.assign({},u),l),o._fireAndBubble(t.pointerleave,Object.assign({},u),l)),l){if(n[l._id])return;n[l._id]=!0}l&&l.isListening()?(a=!0,c&&(l._fireAndBubble(t.pointerover,Object.assign({},u),o),l._fireAndBubble(t.pointerenter,Object.assign({},u),o),this[i+"targetShape"]=l),l._fireAndBubble(t.pointermove,Object.assign({},u))):o&&(this._fire(t.pointerover,{evt:e,target:this,currentTarget:this,pointerId:d}),this[i+"targetShape"]=null)}),a||this._fire(t.pointermove,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(e){const t=qt(e.type),i=Ai(e.type);if(!t)return;this.setPointersPositions(e);const s=this[i+"ClickStartShape"],n=this[i+"ClickEndShape"];var a={};let o=!1;this._changedPointerPositions.forEach(h=>{const l=os(h.id)||this.getIntersection(h);if(l){if(l.releaseCapture(h.id),a[l._id])return;a[l._id]=!0}const d=h.id,u={evt:e,pointerId:d};let c=!1;D["_"+i+"InDblClickWindow"]?(c=!0,clearTimeout(this[i+"DblTimeout"])):re.justDragged||(D["_"+i+"InDblClickWindow"]=!0,clearTimeout(this[i+"DblTimeout"])),this[i+"DblTimeout"]=setTimeout(function(){D["_"+i+"InDblClickWindow"]=!1},D.dblClickWindow),l&&l.isListening()?(o=!0,this[i+"ClickEndShape"]=l,l._fireAndBubble(t.pointerup,Object.assign({},u)),D["_"+i+"ListenClick"]&&s&&s===l&&(l._fireAndBubble(t.pointerclick,Object.assign({},u)),c&&n&&n===l&&l._fireAndBubble(t.pointerdblclick,Object.assign({},u)))):(this[i+"ClickEndShape"]=null,D["_"+i+"ListenClick"]&&this._fire(t.pointerclick,{evt:e,target:this,currentTarget:this,pointerId:d}),c&&this._fire(t.pointerdblclick,{evt:e,target:this,currentTarget:this,pointerId:d}))}),o||this._fire(t.pointerup,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),D["_"+i+"ListenClick"]=!1,e.cancelable&&i!=="touch"&&e.preventDefault()}_contextmenu(e){this.setPointersPositions(e);var t=this.getIntersection(this.getPointerPosition());t&&t.isListening()?t._fireAndBubble(Ss,{evt:e}):this._fire(Ss,{evt:e,target:this,currentTarget:this})}_wheel(e){this.setPointersPositions(e);var t=this.getIntersection(this.getPointerPosition());t&&t.isListening()?t._fireAndBubble(Ts,{evt:e}):this._fire(Ts,{evt:e,target:this,currentTarget:this})}_pointercancel(e){this.setPointersPositions(e);const t=os(e.pointerId)||this.getIntersection(this.getPointerPosition());t&&t._fireAndBubble(Jt,en(e)),Oi(e.pointerId)}_lostpointercapture(e){Oi(e.pointerId)}setPointersPositions(e){var t=this._getContentPosition(),i=null,s=null;e=e||window.event,e.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(e.touches,n=>{this._pointerPositions.push({id:n.identifier,x:(n.clientX-t.left)/t.scaleX,y:(n.clientY-t.top)/t.scaleY})}),Array.prototype.forEach.call(e.changedTouches||e.touches,n=>{this._changedPointerPositions.push({id:n.identifier,x:(n.clientX-t.left)/t.scaleX,y:(n.clientY-t.top)/t.scaleY})})):(i=(e.clientX-t.left)/t.scaleX,s=(e.clientY-t.top)/t.scaleY,this.pointerPos={x:i,y:s},this._pointerPositions=[{x:i,y:s,id:y._getFirstPointerId(e)}],this._changedPointerPositions=[{x:i,y:s,id:y._getFirstPointerId(e)}])}_setPointerPosition(e){y.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};var 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 ri({width:this.width(),height:this.height()}),this.bufferHitCanvas=new Qs({pixelRatio:1,width:this.width(),height:this.height()}),!!D.isBrowser){var 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 y.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}}jr.prototype.nodeType=gh;ge(jr);g.addGetterSetter(jr,"container");var Za="hasShadow",ja="shadowRGBA",Xa="patternImage",qa="linearGradient",Ya="radialGradient";let dr;function hs(){return dr||(dr=y.createCanvasElement().getContext("2d"),dr)}const Mi={};function Th(r){r.fill()}function Ch(r){r.stroke()}function Eh(r){r.fill()}function kh(r){r.stroke()}function xh(){this._clearCache(Za)}function Ph(){this._clearCache(ja)}function Ah(){this._clearCache(Xa)}function Oh(){this._clearCache(qa)}function Mh(){this._clearCache(Ya)}class E extends P{constructor(e){super(e);let t;for(;t=y.getRandomColor(),!(t&&!(t in Mi)););this.colorKey=t,Mi[t]=this}getContext(){return y.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return y.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(Za,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(Xa,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var e=hs();const t=e.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(t&&t.setTransform){const i=new Ge;i.translate(this.fillPatternX(),this.fillPatternY()),i.rotate(D.getAngle(this.fillPatternRotation())),i.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),i.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const s=i.getMatrix(),n=typeof DOMMatrix>"u"?{a:s[0],b:s[1],c:s[2],d:s[3],e:s[4],f:s[5]}:new DOMMatrix(s);t.setTransform(n)}return t}}_getLinearGradient(){return this._getCache(qa,this.__getLinearGradient)}__getLinearGradient(){var e=this.fillLinearGradientColorStops();if(e){for(var t=hs(),i=this.fillLinearGradientStartPoint(),s=this.fillLinearGradientEndPoint(),n=t.createLinearGradient(i.x,i.y,s.x,s.y),a=0;a<e.length;a+=2)n.addColorStop(e[a],e[a+1]);return n}}_getRadialGradient(){return this._getCache(Ya,this.__getRadialGradient)}__getRadialGradient(){var e=this.fillRadialGradientColorStops();if(e){for(var t=hs(),i=this.fillRadialGradientStartPoint(),s=this.fillRadialGradientEndPoint(),n=t.createRadialGradient(i.x,i.y,this.fillRadialGradientStartRadius(),s.x,s.y,this.fillRadialGradientEndRadius()),a=0;a<e.length;a+=2)n.addColorStop(e[a],e[a+1]);return n}}getShadowRGBA(){return this._getCache(ja,this._getShadowRGBA)}_getShadowRGBA(){if(this.hasShadow()){var e=y.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){var t=this.getStage(),i=t.bufferHitCanvas,s;return i.getContext().clear(),this.drawHit(i,null,!0),s=i.context.getImageData(Math.round(e.x),Math.round(e.y),1,1).data,s[3]>0}destroy(){return P.prototype.destroy.call(this),delete Mi[this.colorKey],delete this.colorKey,this}_useBufferCanvas(e){var t;if(!this.getStage()||!((t=this.attrs.perfectDrawEnabled)!==null&&t!==void 0?t:!0))return!1;const s=e||this.hasFill(),n=this.hasStroke(),a=this.getAbsoluteOpacity()!==1;if(s&&n&&a)return!0;const o=this.hasShadow(),h=this.shadowForStrokeEnabled();return!!(s&&n&&o&&h)}setStrokeHitEnabled(e){y.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),e?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var 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={}){const t=e.skipTransform,i=e.relativeTo,s=this.getSelfRect(),a=!e.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,o=s.width+a,h=s.height+a,l=!e.skipShadow&&this.hasShadow(),d=l?this.shadowOffsetX():0,u=l?this.shadowOffsetY():0,c=o+Math.abs(d),p=h+Math.abs(u),f=l&&this.shadowBlur()||0,m=c+f*2,v=p+f*2,_={width:m,height:v,x:-(a/2+f)+Math.min(d,0)+s.x,y:-(a/2+f)+Math.min(u,0)+s.y};return t?_:this._transformedRect(_,i)}drawScene(e,t){var i=this.getLayer(),s=e||i.getCanvas(),n=s.getContext(),a=this._getCanvasCache(),o=this.getSceneFunc(),h=this.hasShadow(),l,d,u,c=s.isCache,p=t===this;if(!this.isVisible()&&!p)return this;if(a){n.save();var f=this.getAbsoluteTransform(t).getMatrix();return n.transform(f[0],f[1],f[2],f[3],f[4],f[5]),this._drawCachedSceneCanvas(n),n.restore(),this}if(!o)return this;if(n.save(),this._useBufferCanvas()&&!c){l=this.getStage(),d=l.bufferCanvas,u=d.getContext(),u.clear(),u.save(),u._applyLineJoin(this);var m=this.getAbsoluteTransform(t).getMatrix();u.transform(m[0],m[1],m[2],m[3],m[4],m[5]),o.call(this,u,this),u.restore();var v=d.pixelRatio;h&&n._applyShadow(this),n._applyOpacity(this),n._applyGlobalCompositeOperation(this),n.drawImage(d._canvas,0,0,d.width/v,d.height/v)}else{if(n._applyLineJoin(this),!p){var m=this.getAbsoluteTransform(t).getMatrix();n.transform(m[0],m[1],m[2],m[3],m[4],m[5]),n._applyOpacity(this),n._applyGlobalCompositeOperation(this)}h&&n._applyShadow(this),o.call(this,n,this)}return n.restore(),this}drawHit(e,t,i=!1){if(!this.shouldDrawHit(t,i))return this;var s=this.getLayer(),n=e||s.hitCanvas,a=n&&n.getContext(),o=this.hitFunc()||this.sceneFunc(),h=this._getCanvasCache(),l=h&&h.hit;if(this.colorKey||y.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){a.save();var d=this.getAbsoluteTransform(t).getMatrix();return a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedHitCanvas(a),a.restore(),this}if(!o)return this;if(a.save(),a._applyLineJoin(this),!(this===t)){var c=this.getAbsoluteTransform(t).getMatrix();a.transform(c[0],c[1],c[2],c[3],c[4],c[5])}return o.call(this,a,this),a.restore(),this}drawHitFromCache(e=0){var t=this._getCanvasCache(),i=this._getCachedSceneCanvas(),s=t.hit,n=s.getContext(),a=s.getWidth(),o=s.getHeight(),h,l,d,u,c,p;n.clear(),n.drawImage(i._canvas,0,0,a,o);try{for(h=n.getImageData(0,0,a,o),l=h.data,d=l.length,u=y._hexToRgb(this.colorKey),c=0;c<d;c+=4)p=l[c+3],p>e?(l[c]=u.r,l[c+1]=u.g,l[c+2]=u.b,l[c+3]=255):l[c+3]=0;n.putImageData(h,0,0)}catch(f){y.error("Unable to draw hit graph from cached scene canvas. "+f.message)}return this}hasPointerCapture(e){return Ia(e,this)}setPointerCapture(e){Na(e,this)}releaseCapture(e){Oi(e)}}E.prototype._fillFunc=Th;E.prototype._strokeFunc=Ch;E.prototype._fillFuncHit=Eh;E.prototype._strokeFuncHit=kh;E.prototype._centroid=!1;E.prototype.nodeType="Shape";ge(E);E.prototype.eventListeners={};E.prototype.on.call(E.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",xh);E.prototype.on.call(E.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",Ph);E.prototype.on.call(E.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",Ah);E.prototype.on.call(E.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",Oh);E.prototype.on.call(E.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",Mh);g.addGetterSetter(E,"stroke",void 0,La());g.addGetterSetter(E,"strokeWidth",2,k());g.addGetterSetter(E,"fillAfterStrokeEnabled",!1);g.addGetterSetter(E,"hitStrokeWidth","auto",Js());g.addGetterSetter(E,"strokeHitEnabled",!0,qe());g.addGetterSetter(E,"perfectDrawEnabled",!0,qe());g.addGetterSetter(E,"shadowForStrokeEnabled",!0,qe());g.addGetterSetter(E,"lineJoin");g.addGetterSetter(E,"lineCap");g.addGetterSetter(E,"sceneFunc");g.addGetterSetter(E,"hitFunc");g.addGetterSetter(E,"dash");g.addGetterSetter(E,"dashOffset",0,k());g.addGetterSetter(E,"shadowColor",void 0,pi());g.addGetterSetter(E,"shadowBlur",0,k());g.addGetterSetter(E,"shadowOpacity",1,k());g.addComponentsGetterSetter(E,"shadowOffset",["x","y"]);g.addGetterSetter(E,"shadowOffsetX",0,k());g.addGetterSetter(E,"shadowOffsetY",0,k());g.addGetterSetter(E,"fillPatternImage");g.addGetterSetter(E,"fill",void 0,La());g.addGetterSetter(E,"fillPatternX",0,k());g.addGetterSetter(E,"fillPatternY",0,k());g.addGetterSetter(E,"fillLinearGradientColorStops");g.addGetterSetter(E,"strokeLinearGradientColorStops");g.addGetterSetter(E,"fillRadialGradientStartRadius",0);g.addGetterSetter(E,"fillRadialGradientEndRadius",0);g.addGetterSetter(E,"fillRadialGradientColorStops");g.addGetterSetter(E,"fillPatternRepeat","repeat");g.addGetterSetter(E,"fillEnabled",!0);g.addGetterSetter(E,"strokeEnabled",!0);g.addGetterSetter(E,"shadowEnabled",!0);g.addGetterSetter(E,"dashEnabled",!0);g.addGetterSetter(E,"strokeScaleEnabled",!0);g.addGetterSetter(E,"fillPriority","color");g.addComponentsGetterSetter(E,"fillPatternOffset",["x","y"]);g.addGetterSetter(E,"fillPatternOffsetX",0,k());g.addGetterSetter(E,"fillPatternOffsetY",0,k());g.addComponentsGetterSetter(E,"fillPatternScale",["x","y"]);g.addGetterSetter(E,"fillPatternScaleX",1,k());g.addGetterSetter(E,"fillPatternScaleY",1,k());g.addComponentsGetterSetter(E,"fillLinearGradientStartPoint",["x","y"]);g.addComponentsGetterSetter(E,"strokeLinearGradientStartPoint",["x","y"]);g.addGetterSetter(E,"fillLinearGradientStartPointX",0);g.addGetterSetter(E,"strokeLinearGradientStartPointX",0);g.addGetterSetter(E,"fillLinearGradientStartPointY",0);g.addGetterSetter(E,"strokeLinearGradientStartPointY",0);g.addComponentsGetterSetter(E,"fillLinearGradientEndPoint",["x","y"]);g.addComponentsGetterSetter(E,"strokeLinearGradientEndPoint",["x","y"]);g.addGetterSetter(E,"fillLinearGradientEndPointX",0);g.addGetterSetter(E,"strokeLinearGradientEndPointX",0);g.addGetterSetter(E,"fillLinearGradientEndPointY",0);g.addGetterSetter(E,"strokeLinearGradientEndPointY",0);g.addComponentsGetterSetter(E,"fillRadialGradientStartPoint",["x","y"]);g.addGetterSetter(E,"fillRadialGradientStartPointX",0);g.addGetterSetter(E,"fillRadialGradientStartPointY",0);g.addComponentsGetterSetter(E,"fillRadialGradientEndPoint",["x","y"]);g.addGetterSetter(E,"fillRadialGradientEndPointX",0);g.addGetterSetter(E,"fillRadialGradientEndPointY",0);g.addGetterSetter(E,"fillPatternRotation",0);g.backCompat(E,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var Lh="#",Rh="beforeDraw",Ih="draw",Ka=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],Nh=Ka.length;class Wt extends De{constructor(e){super(e),this.canvas=new ri,this.hitCanvas=new Qs({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);var 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(){P.prototype.moveToTop.call(this);var e=this.getStage();return e&&e.content&&(e.content.removeChild(this.getNativeCanvasElement()),e.content.appendChild(this.getNativeCanvasElement())),!0}moveUp(){var e=P.prototype.moveUp.call(this);if(!e)return!1;var t=this.getStage();return!t||!t.content?!1:(t.content.removeChild(this.getNativeCanvasElement()),this.index<t.children.length-1?t.content.insertBefore(this.getNativeCanvasElement(),t.children[this.index+1].getCanvas()._canvas):t.content.appendChild(this.getNativeCanvasElement()),!0)}moveDown(){if(P.prototype.moveDown.call(this)){var e=this.getStage();if(e){var 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(P.prototype.moveToBottom.call(this)){var e=this.getStage();if(e){var 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(){var e=this.getNativeCanvasElement();return P.prototype.remove.call(this),e&&e.parentNode&&y._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){var t=e.getType();t!=="Group"&&t!=="Shape"&&y.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(),P.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(){y.warn('Can not change width of layer. Use "stage.width(value)" function instead.')}getHeight(){if(this.parent)return this.parent.height()}setHeight(){y.warn('Can not change height of layer. Use "stage.height(value)" function instead.')}batchDraw(){return this._waitingForDraw||(this._waitingForDraw=!0,y.requestAnimFrame(()=>{this.draw(),this._waitingForDraw=!1})),this}getIntersection(e){if(!this.isListening()||!this.isVisible())return null;for(var t=1,i=!1;;){for(let s=0;s<Nh;s++){const n=Ka[s],a=this._getIntersection({x:e.x+n.x*t,y:e.y+n.y*t}),o=a.shape;if(o)return o;if(i=!!a.antialiased,!a.antialiased)break}if(i)t+=1;else return null}}_getIntersection(e){const t=this.hitCanvas.pixelRatio,i=this.hitCanvas.context.getImageData(Math.round(e.x*t),Math.round(e.y*t),1,1).data,s=i[3];if(s===255){const n=y._rgbToHex(i[0],i[1],i[2]),a=Mi[Lh+n];return a?{shape:a}:{antialiased:!0}}else if(s>0)return{antialiased:!0};return{}}drawScene(e,t){var i=this.getLayer(),s=e||i&&i.getCanvas();return this._fire(Rh,{node:this}),this.clearBeforeDraw()&&s.getContext().clear(),De.prototype.drawScene.call(this,s,t),this._fire(Ih,{node:this}),this}drawHit(e,t){var i=this.getLayer(),s=e||i&&i.hitCanvas;return i&&i.clearBeforeDraw()&&i.getHitCanvas().getContext().clear(),De.prototype.drawHit.call(this,s,t),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(e){y.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(e)}getHitGraphEnabled(e){return y.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var e=this.parent,t=!!this.hitCanvas._canvas.parentNode;t?e.content.removeChild(this.hitCanvas._canvas):e.content.appendChild(this.hitCanvas._canvas)}}destroy(){return y.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Wt.prototype.nodeType="Layer";ge(Wt);g.addGetterSetter(Wt,"imageSmoothingEnabled",!0);g.addGetterSetter(Wt,"clearBeforeDraw",!0);g.addGetterSetter(Wt,"hitGraphEnabled",!0,qe());class tn extends Wt{constructor(e){super(e),this.listening(!1),y.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}tn.prototype.nodeType="FastLayer";ge(tn);class oi extends De{_validateAdd(e){var t=e.getType();t!=="Group"&&t!=="Shape"&&y.throw("You may only add groups and shapes to groups.")}}oi.prototype.nodeType="Group";ge(oi);var ds=function(){return ii.performance&&ii.performance.now?function(){return ii.performance.now()}:function(){return new Date().getTime()}}();class Be{constructor(e,t){this.id=Be.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:ds(),frameRate:0},this.func=e,this.setLayers(t)}setLayers(e){var t=[];return e?e.length>0?t=e:t=[e]:t=[],this.layers=t,this}getLayers(){return this.layers}addLayer(e){var t=this.layers,i=t.length,s;for(s=0;s<i;s++)if(t[s]._id===e._id)return!1;return this.layers.push(e),!0}isRunning(){var e=Be,t=e.animations,i=t.length,s;for(s=0;s<i;s++)if(t[s].id===this.id)return!0;return!1}start(){return this.stop(),this.frame.timeDiff=0,this.frame.lastTime=ds(),Be._addAnimation(this),this}stop(){return Be._removeAnimation(this),this}_updateFrameObject(e){this.frame.timeDiff=e-this.frame.lastTime,this.frame.lastTime=e,this.frame.time+=this.frame.timeDiff,this.frame.frameRate=1e3/this.frame.timeDiff}static _addAnimation(e){this.animations.push(e),this._handleAnimation()}static _removeAnimation(e){var t=e.id,i=this.animations,s=i.length,n;for(n=0;n<s;n++)if(i[n].id===t){this.animations.splice(n,1);break}}static _runFrames(){var e={},t=this.animations,i,s,n,a,o,h,l,d,u;for(a=0;a<t.length;a++)if(i=t[a],s=i.layers,n=i.func,i._updateFrameObject(ds()),h=s.length,n?u=n.call(i,i.frame)!==!1:u=!0,!!u)for(o=0;o<h;o++)l=s[o],l._id!==void 0&&(e[l._id]=l);for(d in e)e.hasOwnProperty(d)&&e[d].batchDraw()}static _animationLoop(){var e=Be;e.animations.length?(e._runFrames(),y.requestAnimFrame(e._animationLoop)):e.animRunning=!1}static _handleAnimation(){this.animRunning||(this.animRunning=!0,y.requestAnimFrame(this._animationLoop))}}Be.animations=[];Be.animIdCounter=0;Be.animRunning=!1;var Gh={node:1,duration:1,easing:1,onFinish:1,yoyo:1},Dh=1,Nn=2,Gn=3,Fh=0,Dn=["fill","stroke","shadowColor"];class Hh{constructor(e,t,i,s,n,a,o){this.prop=e,this.propFunc=t,this.begin=s,this._pos=s,this.duration=a,this._change=0,this.prevPos=0,this.yoyo=o,this._time=0,this._position=0,this._startTime=0,this._finish=0,this.func=i,this._change=n-this.begin,this.pause()}fire(e){var 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=Nn,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=Gn,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(){var e=this.getTimer()-this._startTime;this.state===Nn?this.setTime(e):this.state===Gn&&this.setTime(this.duration-e)}pause(){this.state=Dh,this.fire("onPause")}getTimer(){return new Date().getTime()}}class ye{constructor(e){var t=this,i=e.node,s=i._id,n,a=e.easing||Li.Linear,o=!!e.yoyo,h;typeof e.duration>"u"?n=.3:e.duration===0?n=.001:n=e.duration,this.node=i,this._id=Fh++;var l=i.getLayer()||(i instanceof D.Stage?i.getLayers():null);l||y.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new Be(function(){t.tween.onEnterFrame()},l),this.tween=new Hh(h,function(d){t._tweenFunc(d)},a,0,1,n*1e3,o),this._addListeners(),ye.attrs[s]||(ye.attrs[s]={}),ye.attrs[s][this._id]||(ye.attrs[s][this._id]={}),ye.tweens[s]||(ye.tweens[s]={});for(h in e)Gh[h]===void 0&&this._addAttr(h,e[h]);this.reset(),this.onFinish=e.onFinish,this.onReset=e.onReset,this.onUpdate=e.onUpdate}_addAttr(e,t){var i=this.node,s=i._id,n,a,o,h,l,d,u,c;if(o=ye.tweens[s][e],o&&delete ye.attrs[s][o][e],n=i.getAttr(e),y._isArray(t))if(a=[],l=Math.max(t.length,n.length),e==="points"&&t.length!==n.length&&(t.length>n.length?(u=n,n=y._prepareArrayForTween(n,t,i.closed())):(d=t,t=y._prepareArrayForTween(t,n,i.closed()))),e.indexOf("fill")===0)for(h=0;h<l;h++)if(h%2===0)a.push(t[h]-n[h]);else{var p=y.colorToRGBA(n[h]);c=y.colorToRGBA(t[h]),n[h]=p,a.push({r:c.r-p.r,g:c.g-p.g,b:c.b-p.b,a:c.a-p.a})}else for(h=0;h<l;h++)a.push(t[h]-n[h]);else Dn.indexOf(e)!==-1?(n=y.colorToRGBA(n),c=y.colorToRGBA(t),a={r:c.r-n.r,g:c.g-n.g,b:c.b-n.b,a:c.a-n.a}):a=t-n;ye.attrs[s][this._id][e]={start:n,diff:a,end:t,trueEnd:d,trueStart:u},ye.tweens[s][e]=this._id}_tweenFunc(e){var t=this.node,i=ye.attrs[t._id][this._id],s,n,a,o,h,l,d,u;for(s in i){if(n=i[s],a=n.start,o=n.diff,u=n.end,y._isArray(a))if(h=[],d=Math.max(a.length,u.length),s.indexOf("fill")===0)for(l=0;l<d;l++)l%2===0?h.push((a[l]||0)+o[l]*e):h.push("rgba("+Math.round(a[l].r+o[l].r*e)+","+Math.round(a[l].g+o[l].g*e)+","+Math.round(a[l].b+o[l].b*e)+","+(a[l].a+o[l].a*e)+")");else for(l=0;l<d;l++)h.push((a[l]||0)+o[l]*e);else Dn.indexOf(s)!==-1?h="rgba("+Math.round(a.r+o.r*e)+","+Math.round(a.g+o.g*e)+","+Math.round(a.b+o.b*e)+","+(a.a+o.a*e)+")":h=a+o*e;t.setAttr(s,h)}}_addListeners(){this.tween.onPlay=()=>{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var e=this.node,t=ye.attrs[e._id][this._id];t.points&&t.points.trueEnd&&e.setAttr("points",t.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var e=this.node,t=ye.attrs[e._id][this._id];t.points&&t.points.trueStart&&e.points(t.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(e){return this.tween.seek(e*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var e=this.node._id,t=this._id,i=ye.tweens[e],s;this.pause();for(s in i)delete ye.tweens[e][s];delete ye.attrs[e][t]}}ye.attrs={};ye.tweens={};P.prototype.to=function(r){var e=r.onFinish;r.node=this,r.onFinish=function(){this.destroy(),e&&e()};var t=new ye(r);t.play()};const Li={BackEaseIn(r,e,t,i){var s=1.70158;return t*(r/=i)*r*((s+1)*r-s)+e},BackEaseOut(r,e,t,i){var s=1.70158;return t*((r=r/i-1)*r*((s+1)*r+s)+1)+e},BackEaseInOut(r,e,t,i){var s=1.70158;return(r/=i/2)<1?t/2*(r*r*(((s*=1.525)+1)*r-s))+e:t/2*((r-=2)*r*(((s*=1.525)+1)*r+s)+2)+e},ElasticEaseIn(r,e,t,i,s,n){var a=0;return r===0?e:(r/=i)===1?e+t:(n||(n=i*.3),!s||s<Math.abs(t)?(s=t,a=n/4):a=n/(2*Math.PI)*Math.asin(t/s),-(s*Math.pow(2,10*(r-=1))*Math.sin((r*i-a)*(2*Math.PI)/n))+e)},ElasticEaseOut(r,e,t,i,s,n){var a=0;return r===0?e:(r/=i)===1?e+t:(n||(n=i*.3),!s||s<Math.abs(t)?(s=t,a=n/4):a=n/(2*Math.PI)*Math.asin(t/s),s*Math.pow(2,-10*r)*Math.sin((r*i-a)*(2*Math.PI)/n)+t+e)},ElasticEaseInOut(r,e,t,i,s,n){var a=0;return r===0?e:(r/=i/2)===2?e+t:(n||(n=i*(.3*1.5)),!s||s<Math.abs(t)?(s=t,a=n/4):a=n/(2*Math.PI)*Math.asin(t/s),r<1?-.5*(s*Math.pow(2,10*(r-=1))*Math.sin((r*i-a)*(2*Math.PI)/n))+e:s*Math.pow(2,-10*(r-=1))*Math.sin((r*i-a)*(2*Math.PI)/n)*.5+t+e)},BounceEaseOut(r,e,t,i){return(r/=i)<1/2.75?t*(7.5625*r*r)+e:r<2/2.75?t*(7.5625*(r-=1.5/2.75)*r+.75)+e:r<2.5/2.75?t*(7.5625*(r-=2.25/2.75)*r+.9375)+e:t*(7.5625*(r-=2.625/2.75)*r+.984375)+e},BounceEaseIn(r,e,t,i){return t-Li.BounceEaseOut(i-r,0,t,i)+e},BounceEaseInOut(r,e,t,i){return r<i/2?Li.BounceEaseIn(r*2,0,t,i)*.5+e:Li.BounceEaseOut(r*2-i,0,t,i)*.5+t*.5+e},EaseIn(r,e,t,i){return t*(r/=i)*r+e},EaseOut(r,e,t,i){return-t*(r/=i)*(r-2)+e},EaseInOut(r,e,t,i){return(r/=i/2)<1?t/2*r*r+e:-t/2*(--r*(r-2)-1)+e},StrongEaseIn(r,e,t,i){return t*(r/=i)*r*r*r*r+e},StrongEaseOut(r,e,t,i){return t*((r=r/i-1)*r*r*r*r+1)+e},StrongEaseInOut(r,e,t,i){return(r/=i/2)<1?t/2*r*r*r*r*r+e:t/2*((r-=2)*r*r*r*r+2)+e},Linear(r,e,t,i){return t*r/i+e}},Fn=y._assign(D,{Util:y,Transform:Ge,Node:P,Container:De,Stage:jr,stages:br,Layer:Wt,FastLayer:tn,Group:oi,DD:re,Shape:E,shapes:Mi,Animation:Be,Tween:ye,Easings:Li,Context:Ur,Canvas:Zr});class vt extends E{_sceneFunc(e){var t=D.getAngle(this.angle()),i=this.clockwise();e.beginPath(),e.arc(0,0,this.outerRadius(),0,t,i),e.arc(0,0,this.innerRadius(),t,0,!i),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(),i=this.clockwise(),s=D.getAngle(i?360-this.angle():this.angle()),n=Math.cos(Math.min(s,Math.PI)),a=1,o=Math.sin(Math.min(Math.max(Math.PI,s),3*Math.PI/2)),h=Math.sin(Math.min(s,Math.PI/2)),l=n*(n>0?e:t),d=a*t,u=o*(o>0?e:t),c=h*(h>0?t:e);return{x:l,y:i?-1*c:u,width:d-l,height:c-u}}}vt.prototype._centroid=!0;vt.prototype.className="Arc";vt.prototype._attrsAffectingSize=["innerRadius","outerRadius"];ge(vt);g.addGetterSetter(vt,"innerRadius",0,k());g.addGetterSetter(vt,"outerRadius",0,k());g.addGetterSetter(vt,"angle",0,k());g.addGetterSetter(vt,"clockwise",!1,qe());function Cs(r,e,t,i,s,n,a){var o=Math.sqrt(Math.pow(t-r,2)+Math.pow(i-e,2)),h=Math.sqrt(Math.pow(s-t,2)+Math.pow(n-i,2)),l=a*o/(o+h),d=a*h/(o+h),u=t-l*(s-r),c=i-l*(n-e),p=t+d*(s-r),f=i+d*(n-e);return[u,c,p,f]}function Hn(r,e){var t=r.length,i=[],s,n;for(s=2;s<t-2;s+=2)n=Cs(r[s-2],r[s-1],r[s],r[s+1],r[s+2],r[s+3],e),!isNaN(n[0])&&(i.push(n[0]),i.push(n[1]),i.push(r[s]),i.push(r[s+1]),i.push(n[2]),i.push(n[3]));return i}class yt extends E{constructor(e){super(e),this.on("pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva",function(){this._clearCache("tensionPoints")})}_sceneFunc(e){var t=this.points(),i=t.length,s=this.tension(),n=this.closed(),a=this.bezier(),o,h,l;if(i){if(e.beginPath(),e.moveTo(t[0],t[1]),s!==0&&i>4){for(o=this.getTensionPoints(),h=o.length,l=n?0:4,n||e.quadraticCurveTo(o[0],o[1],o[2],o[3]);l<h-2;)e.bezierCurveTo(o[l++],o[l++],o[l++],o[l++],o[l++],o[l++]);n||e.quadraticCurveTo(o[h-2],o[h-1],t[i-2],t[i-1])}else if(a)for(l=2;l<i;)e.bezierCurveTo(t[l++],t[l++],t[l++],t[l++],t[l++],t[l++]);else for(l=2;l<i;l+=2)e.lineTo(t[l],t[l+1]);n?(e.closePath(),e.fillStrokeShape(this)):e.strokeShape(this)}}getTensionPoints(){return this._getCache("tensionPoints",this._getTensionPoints)}_getTensionPoints(){return this.closed()?this._getTensionPointsClosed():Hn(this.points(),this.tension())}_getTensionPointsClosed(){var e=this.points(),t=e.length,i=this.tension(),s=Cs(e[t-2],e[t-1],e[0],e[1],e[2],e[3],i),n=Cs(e[t-4],e[t-3],e[t-2],e[t-1],e[0],e[1],i),a=Hn(e,i),o=[s[2],s[3]].concat(a).concat([n[0],n[1],e[t-2],e[t-1],n[2],n[3],s[0],s[1],e[0],e[1]]);return o}getWidth(){return this.getSelfRect().width}getHeight(){return this.getSelfRect().height}getSelfRect(){var 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]]:e=this.points();for(var t=e[0],i=e[0],s=e[1],n=e[1],a,o,h=0;h<e.length/2;h++)a=e[h*2],o=e[h*2+1],t=Math.min(t,a),i=Math.max(i,a),s=Math.min(s,o),n=Math.max(n,o);return{x:t,y:s,width:i-t,height:n-s}}}yt.prototype.className="Line";yt.prototype._attrsAffectingSize=["points","bezier","tension"];ge(yt);g.addGetterSetter(yt,"closed",!1);g.addGetterSetter(yt,"bezier",!1);g.addGetterSetter(yt,"tension",0,k());g.addGetterSetter(yt,"points",[],ql());class he extends E{constructor(e){super(e),this.dataArray=[],this.pathLength=0,this.dataArray=he.parsePathData(this.data()),this.pathLength=0;for(var t=0;t<this.dataArray.length;++t)this.pathLength+=this.dataArray[t].pathLength;this.on("dataChange.konva",function(){this.dataArray=he.parsePathData(this.data()),this.pathLength=0;for(var i=0;i<this.dataArray.length;++i)this.pathLength+=this.dataArray[i].pathLength})}_sceneFunc(e){var t=this.dataArray;e.beginPath();for(var i=!1,s=0;s<t.length;s++){var n=t[s].command,a=t[s].points;switch(n){case"L":e.lineTo(a[0],a[1]);break;case"M":e.moveTo(a[0],a[1]);break;case"C":e.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"Q":e.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case"A":var o=a[0],h=a[1],l=a[2],d=a[3],u=a[4],c=a[5],p=a[6],f=a[7],m=l>d?l:d,v=l>d?1:l/d,_=l>d?d/l:1;e.translate(o,h),e.rotate(p),e.scale(v,_),e.arc(0,0,m,u,u+c,1-f),e.scale(1/v,1/_),e.rotate(-p),e.translate(-o,-h);break;case"z":i=!0,e.closePath();break}}!i&&!this.hasFill()?e.strokeShape(this):e.fillStrokeShape(this)}getSelfRect(){var e=[];this.dataArray.forEach(function(l){if(l.command==="A"){var d=l.points[4],u=l.points[5],c=l.points[4]+u,p=Math.PI/180;if(Math.abs(d-c)<p&&(p=Math.abs(d-c)),u<0)for(let f=d-p;f>c;f-=p){const m=he.getPointOnEllipticalArc(l.points[0],l.points[1],l.points[2],l.points[3],f,0);e.push(m.x,m.y)}else for(let f=d+p;f<c;f+=p){const m=he.getPointOnEllipticalArc(l.points[0],l.points[1],l.points[2],l.points[3],f,0);e.push(m.x,m.y)}}else if(l.command==="C")for(let f=0;f<=1;f+=.01){const m=he.getPointOnCubicBezier(f,l.start.x,l.start.y,l.points[0],l.points[1],l.points[2],l.points[3],l.points[4],l.points[5]);e.push(m.x,m.y)}else e=e.concat(l.points)});for(var t=e[0],i=e[0],s=e[1],n=e[1],a,o,h=0;h<e.length/2;h++)a=e[h*2],o=e[h*2+1],isNaN(a)||(t=Math.min(t,a),i=Math.max(i,a)),isNaN(o)||(s=Math.min(s,o),n=Math.max(n,o));return{x:t,y:s,width:i-t,height:n-s}}getLength(){return this.pathLength}getPointAtLength(e){var t,i=0,s=this.dataArray.length;if(!s)return null;for(;i<s&&e>this.dataArray[i].pathLength;)e-=this.dataArray[i].pathLength,++i;if(i===s)return t=this.dataArray[i-1].points.slice(-2),{x:t[0],y:t[1]};if(e<.01)return t=this.dataArray[i].points.slice(0,2),{x:t[0],y:t[1]};var n=this.dataArray[i],a=n.points;switch(n.command){case"L":return he.getPointOnLine(e,n.start.x,n.start.y,a[0],a[1]);case"C":return he.getPointOnCubicBezier(e/n.pathLength,n.start.x,n.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return he.getPointOnQuadraticBezier(e/n.pathLength,n.start.x,n.start.y,a[0],a[1],a[2],a[3]);case"A":var o=a[0],h=a[1],l=a[2],d=a[3],u=a[4],c=a[5],p=a[6];return u+=c*e/n.pathLength,he.getPointOnEllipticalArc(o,h,l,d,u,p)}return null}static getLineLength(e,t,i,s){return Math.sqrt((i-e)*(i-e)+(s-t)*(s-t))}static getPointOnLine(e,t,i,s,n,a,o){a===void 0&&(a=t),o===void 0&&(o=i);var h=(n-i)/(s-t+1e-8),l=Math.sqrt(e*e/(1+h*h));s<t&&(l*=-1);var d=h*l,u;if(s===t)u={x:a,y:o+d};else if((o-i)/(a-t+1e-8)===h)u={x:a+l,y:o+d};else{var c,p,f=this.getLineLength(t,i,s,n),m=(a-t)*(s-t)+(o-i)*(n-i);m=m/(f*f),c=t+m*(s-t),p=i+m*(n-i);var v=this.getLineLength(a,o,c,p),_=Math.sqrt(e*e-v*v);l=Math.sqrt(_*_/(1+h*h)),s<t&&(l*=-1),d=h*l,u={x:c+l,y:p+d}}return u}static getPointOnCubicBezier(e,t,i,s,n,a,o,h,l){function d(v){return v*v*v}function u(v){return 3*v*v*(1-v)}function c(v){return 3*v*(1-v)*(1-v)}function p(v){return(1-v)*(1-v)*(1-v)}var f=h*d(e)+a*u(e)+s*c(e)+t*p(e),m=l*d(e)+o*u(e)+n*c(e)+i*p(e);return{x:f,y:m}}static getPointOnQuadraticBezier(e,t,i,s,n,a,o){function h(p){return p*p}function l(p){return 2*p*(1-p)}function d(p){return(1-p)*(1-p)}var u=a*h(e)+s*l(e)+t*d(e),c=o*h(e)+n*l(e)+i*d(e);return{x:u,y:c}}static getPointOnEllipticalArc(e,t,i,s,n,a){var o=Math.cos(a),h=Math.sin(a),l={x:i*Math.cos(n),y:s*Math.sin(n)};return{x:e+(l.x*o-l.y*h),y:t+(l.x*h+l.y*o)}}static parsePathData(e){if(!e)return[];var t=e,i=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];t=t.replace(new RegExp(" ","g"),",");for(var s=0;s<i.length;s++)t=t.replace(new RegExp(i[s],"g"),"|"+i[s]);var n=t.split("|"),a=[],o=[],h=0,l=0,d=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,u;for(s=1;s<n.length;s++){var c=n[s],p=c.charAt(0);for(c=c.slice(1),o.length=0;u=d.exec(c);)o.push(u[0]);for(var f=[],m=0,v=o.length;m<v;m++){if(o[m]==="00"){f.push(0,0);continue}var _=parseFloat(o[m]);isNaN(_)?f.push(0):f.push(_)}for(;f.length>0&&!isNaN(f[0]);){var w=null,b=[],T=h,L=l,A,G,R,H,$,I,K,W,le,ne;switch(p){case"l":h+=f.shift(),l+=f.shift(),w="L",b.push(h,l);break;case"L":h=f.shift(),l=f.shift(),b.push(h,l);break;case"m":var U=f.shift(),we=f.shift();if(h+=U,l+=we,w="M",a.length>2&&a[a.length-1].command==="z"){for(var Re=a.length-2;Re>=0;Re--)if(a[Re].command==="M"){h=a[Re].points[0]+U,l=a[Re].points[1]+we;break}}b.push(h,l),p="l";break;case"M":h=f.shift(),l=f.shift(),w="M",b.push(h,l),p="L";break;case"h":h+=f.shift(),w="L",b.push(h,l);break;case"H":h=f.shift(),w="L",b.push(h,l);break;case"v":l+=f.shift(),w="L",b.push(h,l);break;case"V":l=f.shift(),w="L",b.push(h,l);break;case"C":b.push(f.shift(),f.shift(),f.shift(),f.shift()),h=f.shift(),l=f.shift(),b.push(h,l);break;case"c":b.push(h+f.shift(),l+f.shift(),h+f.shift(),l+f.shift()),h+=f.shift(),l+=f.shift(),w="C",b.push(h,l);break;case"S":G=h,R=l,A=a[a.length-1],A.command==="C"&&(G=h+(h-A.points[2]),R=l+(l-A.points[3])),b.push(G,R,f.shift(),f.shift()),h=f.shift(),l=f.shift(),w="C",b.push(h,l);break;case"s":G=h,R=l,A=a[a.length-1],A.command==="C"&&(G=h+(h-A.points[2]),R=l+(l-A.points[3])),b.push(G,R,h+f.shift(),l+f.shift()),h+=f.shift(),l+=f.shift(),w="C",b.push(h,l);break;case"Q":b.push(f.shift(),f.shift()),h=f.shift(),l=f.shift(),b.push(h,l);break;case"q":b.push(h+f.shift(),l+f.shift()),h+=f.shift(),l+=f.shift(),w="Q",b.push(h,l);break;case"T":G=h,R=l,A=a[a.length-1],A.command==="Q"&&(G=h+(h-A.points[0]),R=l+(l-A.points[1])),h=f.shift(),l=f.shift(),w="Q",b.push(G,R,h,l);break;case"t":G=h,R=l,A=a[a.length-1],A.command==="Q"&&(G=h+(h-A.points[0]),R=l+(l-A.points[1])),h+=f.shift(),l+=f.shift(),w="Q",b.push(G,R,h,l);break;case"A":H=f.shift(),$=f.shift(),I=f.shift(),K=f.shift(),W=f.shift(),le=h,ne=l,h=f.shift(),l=f.shift(),w="A",b=this.convertEndpointToCenterParameterization(le,ne,h,l,K,W,H,$,I);break;case"a":H=f.shift(),$=f.shift(),I=f.shift(),K=f.shift(),W=f.shift(),le=h,ne=l,h+=f.shift(),l+=f.shift(),w="A",b=this.convertEndpointToCenterParameterization(le,ne,h,l,K,W,H,$,I);break}a.push({command:w||p,points:b,start:{x:T,y:L},pathLength:this.calcLength(T,L,w||p,b)})}(p==="z"||p==="Z")&&a.push({command:"z",points:[],start:void 0,pathLength:0})}return a}static calcLength(e,t,i,s){var n,a,o,h,l=he;switch(i){case"L":return l.getLineLength(e,t,s[0],s[1]);case"C":for(n=0,a=l.getPointOnCubicBezier(0,e,t,s[0],s[1],s[2],s[3],s[4],s[5]),h=.01;h<=1;h+=.01)o=l.getPointOnCubicBezier(h,e,t,s[0],s[1],s[2],s[3],s[4],s[5]),n+=l.getLineLength(a.x,a.y,o.x,o.y),a=o;return n;case"Q":for(n=0,a=l.getPointOnQuadraticBezier(0,e,t,s[0],s[1],s[2],s[3]),h=.01;h<=1;h+=.01)o=l.getPointOnQuadraticBezier(h,e,t,s[0],s[1],s[2],s[3]),n+=l.getLineLength(a.x,a.y,o.x,o.y),a=o;return n;case"A":n=0;var d=s[4],u=s[5],c=s[4]+u,p=Math.PI/180;if(Math.abs(d-c)<p&&(p=Math.abs(d-c)),a=l.getPointOnEllipticalArc(s[0],s[1],s[2],s[3],d,0),u<0)for(h=d-p;h>c;h-=p)o=l.getPointOnEllipticalArc(s[0],s[1],s[2],s[3],h,0),n+=l.getLineLength(a.x,a.y,o.x,o.y),a=o;else for(h=d+p;h<c;h+=p)o=l.getPointOnEllipticalArc(s[0],s[1],s[2],s[3],h,0),n+=l.getLineLength(a.x,a.y,o.x,o.y),a=o;return o=l.getPointOnEllipticalArc(s[0],s[1],s[2],s[3],c,0),n+=l.getLineLength(a.x,a.y,o.x,o.y),n}return 0}static convertEndpointToCenterParameterization(e,t,i,s,n,a,o,h,l){var d=l*(Math.PI/180),u=Math.cos(d)*(e-i)/2+Math.sin(d)*(t-s)/2,c=-1*Math.sin(d)*(e-i)/2+Math.cos(d)*(t-s)/2,p=u*u/(o*o)+c*c/(h*h);p>1&&(o*=Math.sqrt(p),h*=Math.sqrt(p));var f=Math.sqrt((o*o*(h*h)-o*o*(c*c)-h*h*(u*u))/(o*o*(c*c)+h*h*(u*u)));n===a&&(f*=-1),isNaN(f)&&(f=0);var m=f*o*c/h,v=f*-h*u/o,_=(e+i)/2+Math.cos(d)*m-Math.sin(d)*v,w=(t+s)/2+Math.sin(d)*m+Math.cos(d)*v,b=function($){return Math.sqrt($[0]*$[0]+$[1]*$[1])},T=function($,I){return($[0]*I[0]+$[1]*I[1])/(b($)*b(I))},L=function($,I){return($[0]*I[1]<$[1]*I[0]?-1:1)*Math.acos(T($,I))},A=L([1,0],[(u-m)/o,(c-v)/h]),G=[(u-m)/o,(c-v)/h],R=[(-1*u-m)/o,(-1*c-v)/h],H=L(G,R);return T(G,R)<=-1&&(H=Math.PI),T(G,R)>=1&&(H=0),a===0&&H>0&&(H=H-2*Math.PI),a===1&&H<0&&(H=H+2*Math.PI),[_,w,o,h,A,H,d,a]}}he.prototype.className="Path";he.prototype._attrsAffectingSize=["data"];ge(he);g.addGetterSetter(he,"data");class Ut extends yt{_sceneFunc(e){super._sceneFunc(e);var t=Math.PI*2,i=this.points(),s=i,n=this.tension()!==0&&i.length>4;n&&(s=this.getTensionPoints());var a=this.pointerLength(),o=i.length,h,l;if(n){const c=[s[s.length-4],s[s.length-3],s[s.length-2],s[s.length-1],i[o-2],i[o-1]],p=he.calcLength(s[s.length-4],s[s.length-3],"C",c),f=he.getPointOnQuadraticBezier(Math.min(1,1-a/p),c[0],c[1],c[2],c[3],c[4],c[5]);h=i[o-2]-f.x,l=i[o-1]-f.y}else h=i[o-2]-i[o-4],l=i[o-1]-i[o-3];var d=(Math.atan2(l,h)+t)%t,u=this.pointerWidth();this.pointerAtEnding()&&(e.save(),e.beginPath(),e.translate(i[o-2],i[o-1]),e.rotate(d),e.moveTo(0,0),e.lineTo(-a,u/2),e.lineTo(-a,-u/2),e.closePath(),e.restore(),this.__fillStroke(e)),this.pointerAtBeginning()&&(e.save(),e.beginPath(),e.translate(i[0],i[1]),n?(h=(s[0]+s[2])/2-i[0],l=(s[1]+s[3])/2-i[1]):(h=i[2]-i[0],l=i[3]-i[1]),e.rotate((Math.atan2(-l,-h)+t)%t),e.moveTo(0,0),e.lineTo(-a,u/2),e.lineTo(-a,-u/2),e.closePath(),e.restore(),this.__fillStroke(e))}__fillStroke(e){var 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-t,y:e.y-t,width:e.width+t*2,height:e.height+t*2}}}Ut.prototype.className="Arrow";ge(Ut);g.addGetterSetter(Ut,"pointerLength",10,k());g.addGetterSetter(Ut,"pointerWidth",10,k());g.addGetterSetter(Ut,"pointerAtBeginning",!1);g.addGetterSetter(Ut,"pointerAtEnding",!0);class mi extends E{_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)}}mi.prototype._centroid=!0;mi.prototype.className="Circle";mi.prototype._attrsAffectingSize=["radius"];ge(mi);g.addGetterSetter(mi,"radius",0,k());class Nt extends E{_sceneFunc(e){var t=this.radiusX(),i=this.radiusY();e.beginPath(),e.save(),t!==i&&e.scale(1,i/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)}}Nt.prototype.className="Ellipse";Nt.prototype._centroid=!0;Nt.prototype._attrsAffectingSize=["radiusX","radiusY"];ge(Nt);g.addComponentsGetterSetter(Nt,"radius",["x","y"]);g.addGetterSetter(Nt,"radiusX",0,k());g.addGetterSetter(Nt,"radiusY",0,k());class Ye extends E{constructor(e){super(e),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const e=this.image();e&&e.complete||e&&e.readyState===4||e&&e.addEventListener&&e.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(e){const t=this.getWidth(),i=this.getHeight(),s=this.attrs.image;let n;if(s){const a=this.attrs.cropWidth,o=this.attrs.cropHeight;a&&o?n=[s,this.cropX(),this.cropY(),a,o,0,0,t,i]:n=[s,0,0,t,i]}(this.hasFill()||this.hasStroke())&&(e.beginPath(),e.rect(0,0,t,i),e.closePath(),e.fillStrokeShape(this)),s&&e.drawImage.apply(e,n)}_hitFunc(e){var t=this.width(),i=this.height();e.beginPath(),e.rect(0,0,t,i),e.closePath(),e.fillStrokeShape(this)}getWidth(){var e,t;return(e=this.attrs.width)!==null&&e!==void 0?e:(t=this.image())===null||t===void 0?void 0:t.width}getHeight(){var e,t;return(e=this.attrs.height)!==null&&e!==void 0?e:(t=this.image())===null||t===void 0?void 0:t.height}static fromURL(e,t,i=null){var s=y.createImageElement();s.onload=function(){var n=new Ye({image:s});t(n)},s.onerror=i,s.crossOrigin="Anonymous",s.src=e}}Ye.prototype.className="Image";ge(Ye);g.addGetterSetter(Ye,"image");g.addComponentsGetterSetter(Ye,"crop",["x","y","width","height"]);g.addGetterSetter(Ye,"cropX",0,k());g.addGetterSetter(Ye,"cropY",0,k());g.addGetterSetter(Ye,"cropWidth",0,k());g.addGetterSetter(Ye,"cropHeight",0,k());var Ja=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],Bh="Change.konva",$h="none",Es="up",ks="right",xs="down",Ps="left",Vh=Ja.length;class rn extends oi{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){var t=this,i,s=function(){t._sync()};for(i=0;i<Vh;i++)e.on(Ja[i]+Bh,s)}getWidth(){return this.getText().width()}getHeight(){return this.getText().height()}_sync(){var e=this.getText(),t=this.getTag(),i,s,n,a,o,h,l;if(e&&t){switch(i=e.width(),s=e.height(),n=t.pointerDirection(),a=t.pointerWidth(),l=t.pointerHeight(),o=0,h=0,n){case Es:o=i/2,h=-1*l;break;case ks:o=i+a,h=s/2;break;case xs:o=i/2,h=s+l;break;case Ps:o=-1*a,h=s/2;break}t.setAttrs({x:-1*o,y:-1*h,width:i,height:s}),e.setAttrs({x:-1*o,y:-1*h})}}}rn.prototype.className="Label";ge(rn);class Zt extends E{_sceneFunc(e){var t=this.width(),i=this.height(),s=this.pointerDirection(),n=this.pointerWidth(),a=this.pointerHeight(),o=this.cornerRadius();let h=0,l=0,d=0,u=0;typeof o=="number"?h=l=d=u=Math.min(o,t/2,i/2):(h=Math.min(o[0]||0,t/2,i/2),l=Math.min(o[1]||0,t/2,i/2),u=Math.min(o[2]||0,t/2,i/2),d=Math.min(o[3]||0,t/2,i/2)),e.beginPath(),e.moveTo(h,0),s===Es&&(e.lineTo((t-n)/2,0),e.lineTo(t/2,-1*a),e.lineTo((t+n)/2,0)),e.lineTo(t-l,0),e.arc(t-l,l,l,Math.PI*3/2,0,!1),s===ks&&(e.lineTo(t,(i-a)/2),e.lineTo(t+n,i/2),e.lineTo(t,(i+a)/2)),e.lineTo(t,i-u),e.arc(t-u,i-u,u,0,Math.PI/2,!1),s===xs&&(e.lineTo((t+n)/2,i),e.lineTo(t/2,i+a),e.lineTo((t-n)/2,i)),e.lineTo(d,i),e.arc(d,i-d,d,Math.PI/2,Math.PI,!1),s===Ps&&(e.lineTo(0,(i+a)/2),e.lineTo(-1*n,i/2),e.lineTo(0,(i-a)/2)),e.lineTo(0,h),e.arc(h,h,h,Math.PI,Math.PI*3/2,!1),e.closePath(),e.fillStrokeShape(this)}getSelfRect(){var e=0,t=0,i=this.pointerWidth(),s=this.pointerHeight(),n=this.pointerDirection(),a=this.width(),o=this.height();return n===Es?(t-=s,o+=s):n===xs?o+=s:n===Ps?(e-=i*1.5,a+=i):n===ks&&(a+=i*1.5),{x:e,y:t,width:a,height:o}}}Zt.prototype.className="Tag";ge(Zt);g.addGetterSetter(Zt,"pointerDirection",$h);g.addGetterSetter(Zt,"pointerWidth",0,k());g.addGetterSetter(Zt,"pointerHeight",0,k());g.addGetterSetter(Zt,"cornerRadius",0,Ma(4));class Xi extends E{_sceneFunc(e){var t=this.cornerRadius(),i=this.width(),s=this.height();if(e.beginPath(),!t)e.rect(0,0,i,s);else{let n=0,a=0,o=0,h=0;typeof t=="number"?n=a=o=h=Math.min(t,i/2,s/2):(n=Math.min(t[0]||0,i/2,s/2),a=Math.min(t[1]||0,i/2,s/2),h=Math.min(t[2]||0,i/2,s/2),o=Math.min(t[3]||0,i/2,s/2)),e.moveTo(n,0),e.lineTo(i-a,0),e.arc(i-a,a,a,Math.PI*3/2,0,!1),e.lineTo(i,s-h),e.arc(i-h,s-h,h,0,Math.PI/2,!1),e.lineTo(o,s),e.arc(o,s-o,o,Math.PI/2,Math.PI,!1),e.lineTo(0,n),e.arc(n,n,n,Math.PI,Math.PI*3/2,!1)}e.closePath(),e.fillStrokeShape(this)}}Xi.prototype.className="Rect";ge(Xi);g.addGetterSetter(Xi,"cornerRadius",0,Ma(4));class jt extends E{_sceneFunc(e){const t=this._getPoints();e.beginPath(),e.moveTo(t[0].x,t[0].y);for(var 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,i=[];for(var s=0;s<e;s++)i.push({x:t*Math.sin(s*2*Math.PI/e),y:-1*t*Math.cos(s*2*Math.PI/e)});return i}getSelfRect(){const e=this._getPoints();var t=e[0].x,i=e[0].y,s=e[0].x,n=e[0].y;return e.forEach(a=>{t=Math.min(t,a.x),i=Math.max(i,a.x),s=Math.min(s,a.y),n=Math.max(n,a.y)}),{x:t,y:s,width:i-t,height:n-s}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}}jt.prototype.className="RegularPolygon";jt.prototype._centroid=!0;jt.prototype._attrsAffectingSize=["radius"];ge(jt);g.addGetterSetter(jt,"radius",0,k());g.addGetterSetter(jt,"sides",0,k());var Bn=Math.PI*2;class Xt extends E{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.innerRadius(),0,Bn,!1),e.moveTo(this.outerRadius(),0),e.arc(0,0,this.outerRadius(),Bn,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)}}Xt.prototype.className="Ring";Xt.prototype._centroid=!0;Xt.prototype._attrsAffectingSize=["innerRadius","outerRadius"];ge(Xt);g.addGetterSetter(Xt,"innerRadius",0,k());g.addGetterSetter(Xt,"outerRadius",0,k());class at extends E{constructor(e){super(e),this._updated=!0,this.anim=new Be(()=>{var 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){var t=this.animation(),i=this.frameIndex(),s=i*4,n=this.animations()[t],a=this.frameOffsets(),o=n[s+0],h=n[s+1],l=n[s+2],d=n[s+3],u=this.image();if((this.hasFill()||this.hasStroke())&&(e.beginPath(),e.rect(0,0,l,d),e.closePath(),e.fillStrokeShape(this)),u)if(a){var c=a[t],p=i*2;e.drawImage(u,o,h,l,d,c[p+0],c[p+1],l,d)}else e.drawImage(u,o,h,l,d,0,0,l,d)}_hitFunc(e){var t=this.animation(),i=this.frameIndex(),s=i*4,n=this.animations()[t],a=this.frameOffsets(),o=n[s+2],h=n[s+3];if(e.beginPath(),a){var l=a[t],d=i*2;e.rect(l[d+0],l[d+1],o,h)}else e.rect(0,0,o,h);e.closePath(),e.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var e=this;this.interval=setInterval(function(){e._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var 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(){var e=this.frameIndex(),t=this.animation(),i=this.animations(),s=i[t],n=s.length/4;e<n-1?this.frameIndex(e+1):this.frameIndex(0)}}at.prototype.className="Sprite";ge(at);g.addGetterSetter(at,"animation");g.addGetterSetter(at,"animations");g.addGetterSetter(at,"frameOffsets");g.addGetterSetter(at,"image");g.addGetterSetter(at,"frameIndex",0,k());g.addGetterSetter(at,"frameRate",17,k());g.backCompat(at,{index:"frameIndex",getIndex:"getFrameIndex",setIndex:"setFrameIndex"});class Gt extends E{_sceneFunc(e){var t=this.innerRadius(),i=this.outerRadius(),s=this.numPoints();e.beginPath(),e.moveTo(0,0-i);for(var n=1;n<s*2;n++){var a=n%2===0?i:t,o=a*Math.sin(n*Math.PI/s),h=-1*a*Math.cos(n*Math.PI/s);e.lineTo(o,h)}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)}}Gt.prototype.className="Star";Gt.prototype._centroid=!0;Gt.prototype._attrsAffectingSize=["innerRadius","outerRadius"];ge(Gt);g.addGetterSetter(Gt,"numPoints",5,k());g.addGetterSetter(Gt,"innerRadius",0,k());g.addGetterSetter(Gt,"outerRadius",0,k());function Qa(r){return Array.from(r)}var Yt="auto",zh="center",Si="justify",Wh="Change.konva",Uh="2d",$n="-",eo="left",Zh="text",jh="Text",Xh="top",qh="bottom",Vn="middle",to="normal",Yh="px ",ur=" ",Kh="right",Jh="word",Qh="char",zn="none",us="…",io=["fontFamily","fontSize","fontStyle","fontVariant","padding","align","verticalAlign","lineHeight","text","width","height","wrap","ellipsis","letterSpacing"],ed=io.length;function td(r){return r.split(",").map(e=>{e=e.trim();const t=e.indexOf(" ")>=0,i=e.indexOf('"')>=0||e.indexOf("'")>=0;return t&&!i&&(e=`"${e}"`),e}).join(", ")}var cr;function cs(){return cr||(cr=y.createCanvasElement().getContext(Uh),cr)}function id(r){r.fillText(this._partialText,this._partialTextX,this._partialTextY)}function rd(r){r.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function sd(r){return r=r||{},!r.fillLinearGradientColorStops&&!r.fillRadialGradientColorStops&&!r.fillPatternImage&&(r.fill=r.fill||"black"),r}class me extends E{constructor(e){super(sd(e)),this._partialTextX=0,this._partialTextY=0;for(var t=0;t<ed;t++)this.on(io[t]+Wh,this._setTextData);this._setTextData()}_sceneFunc(e){var t=this.textArr,i=t.length;if(this.text()){var s=this.padding(),n=this.fontSize(),a=this.lineHeight()*n,o=this.verticalAlign(),h=0,l=this.align(),d=this.getWidth(),u=this.letterSpacing(),c=this.fill(),p=this.textDecoration(),f=p.indexOf("underline")!==-1,m=p.indexOf("line-through")!==-1,v,_=0,_=a/2,w=0,b=0;for(e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",Vn),e.setAttr("textAlign",eo),o===Vn?h=(this.getHeight()-i*a-s*2)/2:o===qh&&(h=this.getHeight()-i*a-s*2),e.translate(s,h+s),v=0;v<i;v++){var w=0,b=0,T=t[v],L=T.text,A=T.width,G=T.lastInParagraph,R,H,$;if(e.save(),l===Kh?w+=d-A-s*2:l===zh&&(w+=(d-A-s*2)/2),f&&(e.save(),e.beginPath(),e.moveTo(w,_+b+Math.round(n/2)),R=L.split(" ").length-1,H=R===0,$=l===Si&&G&&!H?d-s*2:A,e.lineTo(w+Math.round($),_+b+Math.round(n/2)),e.lineWidth=n/15,e.strokeStyle=c,e.stroke(),e.restore()),m&&(e.save(),e.beginPath(),e.moveTo(w,_+b),R=L.split(" ").length-1,H=R===0,$=l===Si&&G&&!H?d-s*2:A,e.lineTo(w+Math.round($),_+b),e.lineWidth=n/15,e.strokeStyle=c,e.stroke(),e.restore()),u!==0||l===Si){R=L.split(" ").length-1;for(var I=Qa(L),K=0;K<I.length;K++){var W=I[K];W===" "&&!G&&l===Si&&(w+=(d-s*2-A)/R),this._partialTextX=w,this._partialTextY=_+b,this._partialText=W,e.fillStrokeShape(this),w+=this.measureSize(W).width+u}}else this._partialTextX=w,this._partialTextY=_+b,this._partialText=L,e.fillStrokeShape(this);e.restore(),i>1&&(_+=a)}}}_hitFunc(e){var t=this.getWidth(),i=this.getHeight();e.beginPath(),e.rect(0,0,t,i),e.closePath(),e.fillStrokeShape(this)}setText(e){var t=y._isString(e)?e:e==null?"":e+"";return this._setAttr(Zh,t),this}getWidth(){var e=this.attrs.width===Yt||this.attrs.width===void 0;return e?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var e=this.attrs.height===Yt||this.attrs.height===void 0;return e?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return y.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=cs(),i=this.fontSize(),s;return t.save(),t.font=this._getContextFont(),s=t.measureText(e),t.restore(),{width:s.width,height:i}}_getContextFont(){return this.fontStyle()+ur+this.fontVariant()+ur+(this.fontSize()+Yh)+td(this.fontFamily())}_addTextLine(e){this.align()===Si&&(e=e.trim());var t=this._getTextWidth(e);return this.textArr.push({text:e,width:t,lastInParagraph:!1})}_getTextWidth(e){var t=this.letterSpacing(),i=e.length;return cs().measureText(e).width+(i?t*(i-1):0)}_setTextData(){var e=this.text().split(`
2
+ `),t=+this.fontSize(),i=0,s=this.lineHeight()*t,n=this.attrs.width,a=this.attrs.height,o=n!==Yt&&n!==void 0,h=a!==Yt&&a!==void 0,l=this.padding(),d=n-l*2,u=a-l*2,c=0,p=this.wrap(),f=p!==zn,m=p!==Qh&&f,v=this.ellipsis();this.textArr=[],cs().font=this._getContextFont();for(var _=v?this._getTextWidth(us):0,w=0,b=e.length;w<b;++w){var T=e[w],L=this._getTextWidth(T);if(o&&L>d)for(;T.length>0;){for(var A=0,G=T.length,R="",H=0;A<G;){var $=A+G>>>1,I=T.slice(0,$+1),K=this._getTextWidth(I)+_;K<=d?(A=$+1,R=I,H=K):G=$}if(R){if(m){var W,le=T[R.length],ne=le===ur||le===$n;ne&&H<=d?W=R.length:W=Math.max(R.lastIndexOf(ur),R.lastIndexOf($n))+1,W>0&&(A=W,R=R.slice(0,A),H=this._getTextWidth(R))}R=R.trimRight(),this._addTextLine(R),i=Math.max(i,H),c+=s;var U=this._shouldHandleEllipsis(c);if(U){this._tryToAddEllipsisToLastLine();break}if(T=T.slice(A),T=T.trimLeft(),T.length>0&&(L=this._getTextWidth(T),L<=d)){this._addTextLine(T),c+=s,i=Math.max(i,L);break}}else break}else this._addTextLine(T),c+=s,i=Math.max(i,L),this._shouldHandleEllipsis(c)&&w<b-1&&this._tryToAddEllipsisToLastLine();if(h&&c+s>u)break;this.textArr[this.textArr.length-1]&&(this.textArr[this.textArr.length-1].lastInParagraph=!0)}this.textHeight=t,this.textWidth=i}_shouldHandleEllipsis(e){var t=+this.fontSize(),i=this.lineHeight()*t,s=this.attrs.height,n=s!==Yt&&s!==void 0,a=this.padding(),o=s-a*2,h=this.wrap(),l=h!==zn;return!l||n&&e+i>o}_tryToAddEllipsisToLastLine(){var e=this.attrs.width,t=e!==Yt&&e!==void 0,i=this.padding(),s=e-i*2,n=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!(!a||!n)){if(t){var o=this._getTextWidth(a.text+us)<s;o||(a.text=a.text.slice(0,a.text.length-3))}this.textArr.splice(this.textArr.length-1,1),this._addTextLine(a.text+us)}}getStrokeScaleEnabled(){return!0}}me.prototype._fillFunc=id;me.prototype._strokeFunc=rd;me.prototype.className=jh;me.prototype._attrsAffectingSize=["text","fontSize","padding","wrap","lineHeight","letterSpacing"];ge(me);g.overWriteSetter(me,"width",Js());g.overWriteSetter(me,"height",Js());g.addGetterSetter(me,"fontFamily","Arial");g.addGetterSetter(me,"fontSize",12,k());g.addGetterSetter(me,"fontStyle",to);g.addGetterSetter(me,"fontVariant",to);g.addGetterSetter(me,"padding",0,k());g.addGetterSetter(me,"align",eo);g.addGetterSetter(me,"verticalAlign",Xh);g.addGetterSetter(me,"lineHeight",1,k());g.addGetterSetter(me,"wrap",Jh);g.addGetterSetter(me,"ellipsis",!1,qe());g.addGetterSetter(me,"letterSpacing",0,k());g.addGetterSetter(me,"text","",pi());g.addGetterSetter(me,"textDecoration","");var nd="",ro="normal";function so(r){r.fillText(this.partialText,0,0)}function no(r){r.strokeText(this.partialText,0,0)}class Ce extends E{constructor(e){super(e),this.dummyCanvas=y.createCanvasElement(),this.dataArray=[],this.dataArray=he.parsePathData(this.attrs.data),this.on("dataChange.konva",function(){this.dataArray=he.parsePathData(this.attrs.data),this._setTextData()}),this.on("textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva",this._setTextData),this._setTextData()}_sceneFunc(e){e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",this.textBaseline()),e.setAttr("textAlign","left"),e.save();var t=this.textDecoration(),i=this.fill(),s=this.fontSize(),n=this.glyphInfo;t==="underline"&&e.beginPath();for(var a=0;a<n.length;a++){e.save();var o=n[a].p0;e.translate(o.x,o.y),e.rotate(n[a].rotation),this.partialText=n[a].text,e.fillStrokeShape(this),t==="underline"&&(a===0&&e.moveTo(0,s/2+1),e.lineTo(s,s/2+1)),e.restore()}t==="underline"&&(e.strokeStyle=i,e.lineWidth=s/20,e.stroke()),e.restore()}_hitFunc(e){e.beginPath();var t=this.glyphInfo;if(t.length>=1){var i=t[0].p0;e.moveTo(i.x,i.y)}for(var s=0;s<t.length;s++){var n=t[s].p1;e.lineTo(n.x,n.y)}e.setAttr("lineWidth",this.fontSize()),e.setAttr("strokeStyle",this.colorKey),e.stroke()}getTextWidth(){return this.textWidth}getTextHeight(){return y.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}setText(e){return me.prototype.setText.call(this,e)}_getContextFont(){return me.prototype._getContextFont.call(this)}_getTextSize(e){var t=this.dummyCanvas,i=t.getContext("2d");i.save(),i.font=this._getContextFont();var s=i.measureText(e);return i.restore(),{width:s.width,height:parseInt(this.attrs.fontSize,10)}}_setTextData(){var e=this,t=this._getTextSize(this.attrs.text),i=this.letterSpacing(),s=this.align(),n=this.kerningFunc();this.textWidth=t.width,this.textHeight=t.height;var a=Math.max(this.textWidth+((this.attrs.text||"").length-1)*i,0);this.glyphInfo=[];for(var o=0,h=0;h<e.dataArray.length;h++)e.dataArray[h].pathLength>0&&(o+=e.dataArray[h].pathLength);var l=0;s==="center"&&(l=Math.max(0,o/2-a/2)),s==="right"&&(l=Math.max(0,o-a));for(var d=Qa(this.text()),u=this.text().split(" ").length-1,c,p,f,m=-1,v=0,_=function(){v=0;for(var K=e.dataArray,W=m+1;W<K.length;W++){if(K[W].pathLength>0)return m=W,K[W];K[W].command==="M"&&(c={x:K[W].points[0],y:K[W].points[1]})}return{}},w=function(K){var W=e._getTextSize(K).width+i;K===" "&&s==="justify"&&(W+=(o-a)/u);var le=0,ne=0;for(p=void 0;Math.abs(W-le)/W>.01&&ne<20;){ne++;for(var U=le;f===void 0;)f=_(),f&&U+f.pathLength<W&&(U+=f.pathLength,f=void 0);if(Object.keys(f).length===0||c===void 0)return;var we=!1;switch(f.command){case"L":he.getLineLength(c.x,c.y,f.points[0],f.points[1])>W?p=he.getPointOnLine(W,c.x,c.y,f.points[0],f.points[1],c.x,c.y):f=void 0;break;case"A":var Re=f.points[4],Ve=f.points[5],te=f.points[4]+Ve;v===0?v=Re+1e-8:W>le?v+=Math.PI/180*Ve/Math.abs(Ve):v-=Math.PI/360*Ve/Math.abs(Ve),(Ve<0&&v<te||Ve>=0&&v>te)&&(v=te,we=!0),p=he.getPointOnEllipticalArc(f.points[0],f.points[1],f.points[2],f.points[3],v,f.points[6]);break;case"C":v===0?W>f.pathLength?v=1e-8:v=W/f.pathLength:W>le?v+=(W-le)/f.pathLength/2:v=Math.max(v-(le-W)/f.pathLength/2,0),v>1&&(v=1,we=!0),p=he.getPointOnCubicBezier(v,f.start.x,f.start.y,f.points[0],f.points[1],f.points[2],f.points[3],f.points[4],f.points[5]);break;case"Q":v===0?v=W/f.pathLength:W>le?v+=(W-le)/f.pathLength:v-=(le-W)/f.pathLength,v>1&&(v=1,we=!0),p=he.getPointOnQuadraticBezier(v,f.start.x,f.start.y,f.points[0],f.points[1],f.points[2],f.points[3]);break}p!==void 0&&(le=he.getLineLength(c.x,c.y,p.x,p.y)),we&&(we=!1,f=void 0)}},b="C",T=e._getTextSize(b).width+i,L=l/T-1,A=0;A<L&&(w(b),!(c===void 0||p===void 0));A++)c=p;for(var G=0;G<d.length&&(w(d[G]),!(c===void 0||p===void 0));G++){var R=he.getLineLength(c.x,c.y,p.x,p.y),H=0;if(n)try{H=n(d[G-1],d[G])*this.fontSize()}catch{H=0}c.x+=H,p.x+=H,this.textWidth+=H;var $=he.getPointOnLine(H+R/2,c.x,c.y,p.x,p.y),I=Math.atan2(p.y-c.y,p.x-c.x);this.glyphInfo.push({transposeX:$.x,transposeY:$.y,text:d[G],rotation:I,p0:c,p1:p}),c=p}}getSelfRect(){if(!this.glyphInfo.length)return{x:0,y:0,width:0,height:0};var e=[];this.glyphInfo.forEach(function(d){e.push(d.p0.x),e.push(d.p0.y),e.push(d.p1.x),e.push(d.p1.y)});for(var t=e[0]||0,i=e[0]||0,s=e[1]||0,n=e[1]||0,a,o,h=0;h<e.length/2;h++)a=e[h*2],o=e[h*2+1],t=Math.min(t,a),i=Math.max(i,a),s=Math.min(s,o),n=Math.max(n,o);var l=this.fontSize();return{x:t-l/2,y:s-l/2,width:i-t+l,height:n-s+l}}destroy(){return y.releaseCanvas(this.dummyCanvas),super.destroy()}}Ce.prototype._fillFunc=so;Ce.prototype._strokeFunc=no;Ce.prototype._fillFuncHit=so;Ce.prototype._strokeFuncHit=no;Ce.prototype.className="TextPath";Ce.prototype._attrsAffectingSize=["text","fontSize","data"];ge(Ce);g.addGetterSetter(Ce,"data");g.addGetterSetter(Ce,"fontFamily","Arial");g.addGetterSetter(Ce,"fontSize",12,k());g.addGetterSetter(Ce,"fontStyle",ro);g.addGetterSetter(Ce,"align","left");g.addGetterSetter(Ce,"letterSpacing",0,k());g.addGetterSetter(Ce,"textBaseline","middle");g.addGetterSetter(Ce,"fontVariant",ro);g.addGetterSetter(Ce,"text",nd);g.addGetterSetter(Ce,"textDecoration",null);g.addGetterSetter(Ce,"kerningFunc",null);var ao="tr-konva",ad=["resizeEnabledChange","rotateAnchorOffsetChange","rotateEnabledChange","enabledAnchorsChange","anchorSizeChange","borderEnabledChange","borderStrokeChange","borderStrokeWidthChange","borderDashChange","anchorStrokeChange","anchorStrokeWidthChange","anchorFillChange","anchorCornerRadiusChange","ignoreStrokeChange"].map(r=>r+`.${ao}`).join(" "),Wn="nodesRect",od=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],ld={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const hd="ontouchstart"in D._global;function dd(r,e){if(r==="rotater")return"crosshair";e+=y.degToRad(ld[r]||0);var t=(y.radToDeg(e)%360+360)%360;return y._inRange(t,315+22.5,360)||y._inRange(t,0,22.5)?"ns-resize":y._inRange(t,45-22.5,45+22.5)?"nesw-resize":y._inRange(t,90-22.5,90+22.5)?"ew-resize":y._inRange(t,135-22.5,135+22.5)?"nwse-resize":y._inRange(t,180-22.5,180+22.5)?"ns-resize":y._inRange(t,225-22.5,225+22.5)?"nesw-resize":y._inRange(t,270-22.5,270+22.5)?"ew-resize":y._inRange(t,315-22.5,315+22.5)?"nwse-resize":(y.error("Transformer has unknown angle for cursor detection: "+t),"pointer")}var xr=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],Un=1e8;function ud(r){return{x:r.x+r.width/2*Math.cos(r.rotation)+r.height/2*Math.sin(-r.rotation),y:r.y+r.height/2*Math.cos(r.rotation)+r.width/2*Math.sin(r.rotation)}}function oo(r,e,t){const i=t.x+(r.x-t.x)*Math.cos(e)-(r.y-t.y)*Math.sin(e),s=t.y+(r.x-t.x)*Math.sin(e)+(r.y-t.y)*Math.cos(e);return Object.assign(Object.assign({},r),{rotation:r.rotation+e,x:i,y:s})}function cd(r,e){const t=ud(r);return oo(r,e,t)}function fd(r,e,t){let i=e;for(let s=0;s<r.length;s++){const n=D.getAngle(r[s]),a=Math.abs(n-e)%(Math.PI*2);Math.min(a,Math.PI*2-a)<t&&(i=n)}return i}class oe extends oi{constructor(e){super(e),this._transforming=!1,this._createElements(),this._handleMouseMove=this._handleMouseMove.bind(this),this._handleMouseUp=this._handleMouseUp.bind(this),this.update=this.update.bind(this),this.on(ad,this.update),this.getNode()&&this.update()}attachTo(e){return this.setNode(e),this}setNode(e){return y.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 ao+this._id}setNodes(e=[]){this._nodes&&this._nodes.length&&this.detach(),this._nodes=e,e.length===1&&this.useSingleNodeRotation()?this.rotation(e[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const s=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},n=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(n,s),i.on(od.map(a=>a+`.${this._getEventNamespace()}`).join(" "),s),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,s),this._proxyDrag(i)}),this._resetTransformCache();var t=!!this.findOne(".top-left");return t&&this.update(),this}_proxyDrag(e){let t;e.on(`dragstart.${this._getEventNamespace()}`,i=>{t=e.getAbsolutePosition(),!this.isDragging()&&e!==this.findOne(".back")&&this.startDrag(i,!1)}),e.on(`dragmove.${this._getEventNamespace()}`,i=>{if(!t)return;const s=e.getAbsolutePosition(),n=s.x-t.x,a=s.y-t.y;this.nodes().forEach(o=>{if(o===e||o.isDragging())return;const h=o.getAbsolutePosition();o.setAbsolutePosition({x:h.x+n,y:h.y+a}),o.startDrag(i)}),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(Wn),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(Wn,this.__getNodeRect)}__getNodeShape(e,t=this.rotation(),i){var s=e.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),n=e.getAbsoluteScale(i),a=e.getAbsolutePosition(i),o=s.x*n.x-e.offsetX()*n.x,h=s.y*n.y-e.offsetY()*n.y;const l=(D.getAngle(e.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:a.x+o*Math.cos(l)+h*Math.sin(-l),y:a.y+h*Math.cos(l)+o*Math.sin(l),width:s.width*n.x,height:s.height*n.y,rotation:l};return oo(d,-D.getAngle(t),{x:0,y:0})}__getNodeRect(){var e=this.getNode();if(!e)return{x:-Un,y:-Un,width:0,height:0,rotation:0};const t=[];this.nodes().map(l=>{const d=l.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var u=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],c=l.getAbsoluteTransform();u.forEach(function(p){var f=c.point(p);t.push(f)})});const i=new Ge;i.rotate(-D.getAngle(this.rotation()));var s,n,a,o;t.forEach(function(l){var d=i.point(l);s===void 0&&(s=a=d.x,n=o=d.y),s=Math.min(s,d.x),n=Math.min(n,d.y),a=Math.max(a,d.x),o=Math.max(o,d.y)}),i.invert();const h=i.point({x:s,y:n});return{x:h.x,y:h.y,width:a-s,height:o-n,rotation:D.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(),xr.forEach(function(e){this._createAnchor(e)}.bind(this)),this._createAnchor("rotater")}_createAnchor(e){var t=new Xi({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:e+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:hd?10:"auto"}),i=this;t.on("mousedown touchstart",function(s){i._handleMouseDown(s)}),t.on("dragstart",s=>{t.stopDrag(),s.cancelBubble=!0}),t.on("dragend",s=>{s.cancelBubble=!0}),t.on("mouseenter",()=>{var s=D.getAngle(this.rotation()),n=dd(e,s);t.getStage().content&&(t.getStage().content.style.cursor=n),this._cursorChange=!0}),t.on("mouseout",()=>{t.getStage().content&&(t.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(t)}_createBack(){var e=new E({name:"back",width:0,height:0,draggable:!0,sceneFunc(t){var i=this.getParent(),s=i.padding();t.beginPath(),t.rect(-s,-s,this.width()+s*2,this.height()+s*2),t.moveTo(this.width()/2,-s),i.rotateEnabled()&&t.lineTo(this.width()/2,-i.rotateAnchorOffset()*y._sign(this.height())-s),t.fillStrokeShape(this)},hitFunc:(t,i)=>{if(this.shouldOverdrawWholeArea()){var s=this.padding();t.beginPath(),t.rect(-s,-s,i.width()+s*2,i.height()+s*2),t.fillStrokeShape(i)}}});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){this._movingAnchorName=e.target.name().split(" ")[0];var t=this._getNodeRect(),i=t.width,s=t.height,n=Math.sqrt(Math.pow(i,2)+Math.pow(s,2));this.sin=Math.abs(s/n),this.cos=Math.abs(i/n),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;var a=e.target.getAbsolutePosition(),o=e.target.getStage().getPointerPosition();this._anchorDragOffset={x:o.x-a.x,y:o.y-a.y},this._fire("transformstart",{evt:e.evt,target:this.getNode()}),this._nodes.forEach(h=>{h._fire("transformstart",{evt:e.evt,target:h})})}_handleMouseMove(e){var t,i,s,n=this.findOne("."+this._movingAnchorName),a=n.getStage();a.setPointersPositions(e);const o=a.getPointerPosition();let h={x:o.x-this._anchorDragOffset.x,y:o.y-this._anchorDragOffset.y};const l=n.getAbsolutePosition();this.anchorDragBoundFunc()&&(h=this.anchorDragBoundFunc()(l,h,e)),n.setAbsolutePosition(h);const d=n.getAbsolutePosition();if(!(l.x===d.x&&l.y===d.y)){if(this._movingAnchorName==="rotater"){var u=this._getNodeRect();t=n.x()-u.width/2,i=-n.y()+u.height/2;let K=Math.atan2(-i,t)+Math.PI/2;u.height<0&&(K-=Math.PI);var c=D.getAngle(this.rotation());const W=c+K,le=D.getAngle(this.rotationSnapTolerance()),U=fd(this.rotationSnaps(),W,le)-u.rotation,we=cd(u,U);this._fitNodesInto(we,e);return}var p=this.keepRatio()||e.shiftKey,w=this.centeredScaling()||e.altKey;if(this._movingAnchorName==="top-left"){if(p){var f=w?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};s=Math.sqrt(Math.pow(f.x-n.x(),2)+Math.pow(f.y-n.y(),2));var m=this.findOne(".top-left").x()>f.x?-1:1,v=this.findOne(".top-left").y()>f.y?-1:1;t=s*this.cos*m,i=s*this.sin*v,this.findOne(".top-left").x(f.x-t),this.findOne(".top-left").y(f.y-i)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(n.y());else if(this._movingAnchorName==="top-right"){if(p){var f=w?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};s=Math.sqrt(Math.pow(n.x()-f.x,2)+Math.pow(f.y-n.y(),2));var m=this.findOne(".top-right").x()<f.x?-1:1,v=this.findOne(".top-right").y()>f.y?-1:1;t=s*this.cos*m,i=s*this.sin*v,this.findOne(".top-right").x(f.x+t),this.findOne(".top-right").y(f.y-i)}var _=n.position();this.findOne(".top-left").y(_.y),this.findOne(".bottom-right").x(_.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(n.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(n.x());else if(this._movingAnchorName==="bottom-left"){if(p){var f=w?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};s=Math.sqrt(Math.pow(f.x-n.x(),2)+Math.pow(n.y()-f.y,2));var m=f.x<n.x()?-1:1,v=n.y()<f.y?-1:1;t=s*this.cos*m,i=s*this.sin*v,n.x(f.x-t),n.y(f.y+i)}_=n.position(),this.findOne(".top-left").x(_.x),this.findOne(".bottom-right").y(_.y)}else if(this._movingAnchorName==="bottom-center")this.findOne(".bottom-right").y(n.y());else if(this._movingAnchorName==="bottom-right"){if(p){var f=w?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-left").x(),y:this.findOne(".top-left").y()};s=Math.sqrt(Math.pow(n.x()-f.x,2)+Math.pow(n.y()-f.y,2));var m=this.findOne(".bottom-right").x()<f.x?-1:1,v=this.findOne(".bottom-right").y()<f.y?-1:1;t=s*this.cos*m,i=s*this.sin*v,this.findOne(".bottom-right").x(f.x+t),this.findOne(".bottom-right").y(f.y+i)}}else console.error(new Error("Wrong position argument of selection resizer: "+this._movingAnchorName));var w=this.centeredScaling()||e.altKey;if(w){var b=this.findOne(".top-left"),T=this.findOne(".bottom-right"),L=b.x(),A=b.y(),G=this.getWidth()-T.x(),R=this.getHeight()-T.y();T.move({x:-L,y:-A}),b.move({x:G,y:R})}var H=this.findOne(".top-left").getAbsolutePosition();t=H.x,i=H.y;var $=this.findOne(".bottom-right").x()-this.findOne(".top-left").x(),I=this.findOne(".bottom-right").y()-this.findOne(".top-left").y();this._fitNodesInto({x:t,y:i,width:$,height:I,rotation:D.getAngle(this.rotation())},e)}}_handleMouseUp(e){this._removeEvents(e)}getAbsoluteTransform(){return this.getTransform()}_removeEvents(e){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));var t=this.getNode();this._fire("transformend",{evt:e,target:t}),t&&this._nodes.forEach(i=>{i._fire("transformend",{evt:e,target:i})}),this._movingAnchorName=null}}_fitNodesInto(e,t){var i=this._getNodeRect();const s=1;if(y._inRange(e.width,-this.padding()*2-s,s)){this.update();return}if(y._inRange(e.height,-this.padding()*2-s,s)){this.update();return}const n=this.flipEnabled();var a=new Ge;if(a.rotate(D.getAngle(this.rotation())),this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("left")>=0){const u=a.point({x:-this.padding()*2,y:0});if(e.x+=u.x,e.y+=u.y,e.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=u.x,this._anchorDragOffset.y-=u.y,!n){this.update();return}}else if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("right")>=0){const u=a.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=u.x,this._anchorDragOffset.y-=u.y,e.width+=this.padding()*2,!n){this.update();return}}if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("top")>=0){const u=a.point({x:0,y:-this.padding()*2});if(e.x+=u.x,e.y+=u.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=u.x,this._anchorDragOffset.y-=u.y,e.height+=this.padding()*2,!n){this.update();return}}else if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const u=a.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=u.x,this._anchorDragOffset.y-=u.y,e.height+=this.padding()*2,!n){this.update();return}}if(this.boundBoxFunc()){const u=this.boundBoxFunc()(i,e);u?e=u:y.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const o=1e7,h=new Ge;h.translate(i.x,i.y),h.rotate(i.rotation),h.scale(i.width/o,i.height/o);const l=new Ge;l.translate(e.x,e.y),l.rotate(e.rotation),l.scale(e.width/o,e.height/o);const d=l.multiply(h.invert());this._nodes.forEach(u=>{var c;const p=u.getParent().getAbsoluteTransform(),f=u.getTransform().copy();f.translate(u.offsetX(),u.offsetY());const m=new Ge;m.multiply(p.copy().invert()).multiply(d).multiply(p).multiply(f);const v=m.decompose();u.setAttrs(v),this._fire("transform",{evt:t,target:u}),u._fire("transform",{evt:t,target:u}),(c=u.getLayer())===null||c===void 0||c.batchDraw()}),this.rotation(y._getRotation(e.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(e,t){this.findOne(e).setAttrs(t)}update(){var e,t=this._getNodeRect();this.rotation(y._getRotation(t.rotation));var i=t.width,s=t.height,n=this.enabledAnchors(),a=this.resizeEnabled(),o=this.padding(),h=this.anchorSize();this.find("._anchor").forEach(l=>{l.setAttrs({width:h,height:h,offsetX:h/2,offsetY:h/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:h/2+o,offsetY:h/2+o,visible:a&&n.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:i/2,y:0,offsetY:h/2+o,visible:a&&n.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:i,y:0,offsetX:h/2-o,offsetY:h/2+o,visible:a&&n.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:s/2,offsetX:h/2+o,visible:a&&n.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:i,y:s/2,offsetX:h/2-o,visible:a&&n.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:s,offsetX:h/2+o,offsetY:h/2-o,visible:a&&n.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:i/2,y:s,offsetY:h/2-o,visible:a&&n.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:i,y:s,offsetX:h/2-o,offsetY:h/2-o,visible:a&&n.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:i/2,y:-this.rotateAnchorOffset()*y._sign(s)-o,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:i,height:s,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0}),(e=this.getLayer())===null||e===void 0||e.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var e=this.findOne("."+this._movingAnchorName);e&&e.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),oi.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return P.prototype.toObject.call(this)}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}function pd(r){return r instanceof Array||y.warn("enabledAnchors value should be an array"),r instanceof Array&&r.forEach(function(e){xr.indexOf(e)===-1&&y.warn("Unknown anchor name: "+e+". Available names are: "+xr.join(", "))}),r||[]}oe.prototype.className="Transformer";ge(oe);g.addGetterSetter(oe,"enabledAnchors",xr,pd);g.addGetterSetter(oe,"flipEnabled",!0,qe());g.addGetterSetter(oe,"resizeEnabled",!0);g.addGetterSetter(oe,"anchorSize",10,k());g.addGetterSetter(oe,"rotateEnabled",!0);g.addGetterSetter(oe,"rotationSnaps",[]);g.addGetterSetter(oe,"rotateAnchorOffset",50,k());g.addGetterSetter(oe,"rotationSnapTolerance",5,k());g.addGetterSetter(oe,"borderEnabled",!0);g.addGetterSetter(oe,"anchorStroke","rgb(0, 161, 255)");g.addGetterSetter(oe,"anchorStrokeWidth",1,k());g.addGetterSetter(oe,"anchorFill","white");g.addGetterSetter(oe,"anchorCornerRadius",0,k());g.addGetterSetter(oe,"borderStroke","rgb(0, 161, 255)");g.addGetterSetter(oe,"borderStrokeWidth",1,k());g.addGetterSetter(oe,"borderDash");g.addGetterSetter(oe,"keepRatio",!0);g.addGetterSetter(oe,"centeredScaling",!1);g.addGetterSetter(oe,"ignoreStroke",!1);g.addGetterSetter(oe,"padding",0,k());g.addGetterSetter(oe,"node");g.addGetterSetter(oe,"nodes");g.addGetterSetter(oe,"boundBoxFunc");g.addGetterSetter(oe,"anchorDragBoundFunc");g.addGetterSetter(oe,"shouldOverdrawWholeArea",!1);g.addGetterSetter(oe,"useSingleNodeRotation",!0);g.backCompat(oe,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});class bt extends E{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.radius(),0,D.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)}}bt.prototype.className="Wedge";bt.prototype._centroid=!0;bt.prototype._attrsAffectingSize=["radius"];ge(bt);g.addGetterSetter(bt,"radius",0,k());g.addGetterSetter(bt,"angle",0,k());g.addGetterSetter(bt,"clockwise",!1);g.backCompat(bt,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function Zn(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var md=[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],gd=[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 vd(r,e){var t=r.data,i=r.width,s=r.height,n,a,o,h,l,d,u,c,p,f,m,v,_,w,b,T,L,A,G,R,H,$,I,K,W=e+e+1,le=i-1,ne=s-1,U=e+1,we=U*(U+1)/2,Re=new Zn,Ve=null,te=Re,ve=null,Ie=null,St=md[e],Tt=gd[e];for(o=1;o<W;o++)te=te.next=new Zn,o===U&&(Ve=te);for(te.next=Re,u=d=0,a=0;a<s;a++){for(T=L=A=G=c=p=f=m=0,v=U*(R=t[d]),_=U*(H=t[d+1]),w=U*($=t[d+2]),b=U*(I=t[d+3]),c+=we*R,p+=we*H,f+=we*$,m+=we*I,te=Re,o=0;o<U;o++)te.r=R,te.g=H,te.b=$,te.a=I,te=te.next;for(o=1;o<U;o++)h=d+((le<o?le:o)<<2),c+=(te.r=R=t[h])*(K=U-o),p+=(te.g=H=t[h+1])*K,f+=(te.b=$=t[h+2])*K,m+=(te.a=I=t[h+3])*K,T+=R,L+=H,A+=$,G+=I,te=te.next;for(ve=Re,Ie=Ve,n=0;n<i;n++)t[d+3]=I=m*St>>Tt,I!==0?(I=255/I,t[d]=(c*St>>Tt)*I,t[d+1]=(p*St>>Tt)*I,t[d+2]=(f*St>>Tt)*I):t[d]=t[d+1]=t[d+2]=0,c-=v,p-=_,f-=w,m-=b,v-=ve.r,_-=ve.g,w-=ve.b,b-=ve.a,h=u+((h=n+e+1)<le?h:le)<<2,T+=ve.r=t[h],L+=ve.g=t[h+1],A+=ve.b=t[h+2],G+=ve.a=t[h+3],c+=T,p+=L,f+=A,m+=G,ve=ve.next,v+=R=Ie.r,_+=H=Ie.g,w+=$=Ie.b,b+=I=Ie.a,T-=R,L-=H,A-=$,G-=I,Ie=Ie.next,d+=4;u+=i}for(n=0;n<i;n++){for(L=A=G=T=p=f=m=c=0,d=n<<2,v=U*(R=t[d]),_=U*(H=t[d+1]),w=U*($=t[d+2]),b=U*(I=t[d+3]),c+=we*R,p+=we*H,f+=we*$,m+=we*I,te=Re,o=0;o<U;o++)te.r=R,te.g=H,te.b=$,te.a=I,te=te.next;for(l=i,o=1;o<=e;o++)d=l+n<<2,c+=(te.r=R=t[d])*(K=U-o),p+=(te.g=H=t[d+1])*K,f+=(te.b=$=t[d+2])*K,m+=(te.a=I=t[d+3])*K,T+=R,L+=H,A+=$,G+=I,te=te.next,o<ne&&(l+=i);for(d=n,ve=Re,Ie=Ve,a=0;a<s;a++)h=d<<2,t[h+3]=I=m*St>>Tt,I>0?(I=255/I,t[h]=(c*St>>Tt)*I,t[h+1]=(p*St>>Tt)*I,t[h+2]=(f*St>>Tt)*I):t[h]=t[h+1]=t[h+2]=0,c-=v,p-=_,f-=w,m-=b,v-=ve.r,_-=ve.g,w-=ve.b,b-=ve.a,h=n+((h=a+U)<ne?h:ne)*i<<2,c+=T+=ve.r=t[h],p+=L+=ve.g=t[h+1],f+=A+=ve.b=t[h+2],m+=G+=ve.a=t[h+3],ve=ve.next,v+=R=Ie.r,_+=H=Ie.g,w+=$=Ie.b,b+=I=Ie.a,T-=R,L-=H,A-=$,G-=I,Ie=Ie.next,d+=i}}const yd=function(e){var t=Math.round(this.blurRadius());t>0&&vd(e,t)};g.addGetterSetter(P,"blurRadius",0,k(),g.afterSetFilter);const bd=function(r){var e=this.brightness()*255,t=r.data,i=t.length,s;for(s=0;s<i;s+=4)t[s]+=e,t[s+1]+=e,t[s+2]+=e};g.addGetterSetter(P,"brightness",0,k(),g.afterSetFilter);const _d=function(r){var e=Math.pow((this.contrast()+100)/100,2),t=r.data,i=t.length,s=150,n=150,a=150,o;for(o=0;o<i;o+=4)s=t[o],n=t[o+1],a=t[o+2],s/=255,s-=.5,s*=e,s+=.5,s*=255,n/=255,n-=.5,n*=e,n+=.5,n*=255,a/=255,a-=.5,a*=e,a+=.5,a*=255,s=s<0?0:s>255?255:s,n=n<0?0:n>255?255:n,a=a<0?0:a>255?255:a,t[o]=s,t[o+1]=n,t[o+2]=a};g.addGetterSetter(P,"contrast",0,k(),g.afterSetFilter);const wd=function(r){var e=this.embossStrength()*10,t=this.embossWhiteLevel()*255,i=this.embossDirection(),s=this.embossBlend(),n=0,a=0,o=r.data,h=r.width,l=r.height,d=h*4,u=l;switch(i){case"top-left":n=-1,a=-1;break;case"top":n=-1,a=0;break;case"top-right":n=-1,a=1;break;case"right":n=0,a=1;break;case"bottom-right":n=1,a=1;break;case"bottom":n=1,a=0;break;case"bottom-left":n=1,a=-1;break;case"left":n=0,a=-1;break;default:y.error("Unknown emboss direction: "+i)}do{var c=(u-1)*d,p=n;u+p<1&&(p=0),u+p>l&&(p=0);var f=(u-1+p)*h*4,m=h;do{var v=c+(m-1)*4,_=a;m+_<1&&(_=0),m+_>h&&(_=0);var w=f+(m-1+_)*4,b=o[v]-o[w],T=o[v+1]-o[w+1],L=o[v+2]-o[w+2],A=b,G=A>0?A:-A,R=T>0?T:-T,H=L>0?L:-L;if(R>G&&(A=T),H>G&&(A=L),A*=e,s){var $=o[v]+A,I=o[v+1]+A,K=o[v+2]+A;o[v]=$>255?255:$<0?0:$,o[v+1]=I>255?255:I<0?0:I,o[v+2]=K>255?255:K<0?0:K}else{var W=t-A;W<0?W=0:W>255&&(W=255),o[v]=o[v+1]=o[v+2]=W}}while(--m)}while(--u)};g.addGetterSetter(P,"embossStrength",.5,k(),g.afterSetFilter);g.addGetterSetter(P,"embossWhiteLevel",.5,k(),g.afterSetFilter);g.addGetterSetter(P,"embossDirection","top-left",null,g.afterSetFilter);g.addGetterSetter(P,"embossBlend",!1,null,g.afterSetFilter);function fs(r,e,t,i,s){var n=t-e,a=s-i,o;return n===0?i+a/2:a===0?i:(o=(r-e)/n,o=a*o+i,o)}const Sd=function(r){var e=r.data,t=e.length,i=e[0],s=i,n,a=e[1],o=a,h,l=e[2],d=l,u,c,p=this.enhance();if(p!==0){for(c=0;c<t;c+=4)n=e[c+0],n<i?i=n:n>s&&(s=n),h=e[c+1],h<a?a=h:h>o&&(o=h),u=e[c+2],u<l?l=u:u>d&&(d=u);s===i&&(s=255,i=0),o===a&&(o=255,a=0),d===l&&(d=255,l=0);var f,m,v,_,w,b,T,L,A;for(p>0?(m=s+p*(255-s),v=i-p*(i-0),w=o+p*(255-o),b=a-p*(a-0),L=d+p*(255-d),A=l-p*(l-0)):(f=(s+i)*.5,m=s+p*(s-f),v=i+p*(i-f),_=(o+a)*.5,w=o+p*(o-_),b=a+p*(a-_),T=(d+l)*.5,L=d+p*(d-T),A=l+p*(l-T)),c=0;c<t;c+=4)e[c+0]=fs(e[c+0],i,s,v,m),e[c+1]=fs(e[c+1],a,o,b,w),e[c+2]=fs(e[c+2],l,d,A,L)}};g.addGetterSetter(P,"enhance",0,k(),g.afterSetFilter);const Td=function(r){var e=r.data,t=e.length,i,s;for(i=0;i<t;i+=4)s=.34*e[i]+.5*e[i+1]+.16*e[i+2],e[i]=s,e[i+1]=s,e[i+2]=s};g.addGetterSetter(P,"hue",0,k(),g.afterSetFilter);g.addGetterSetter(P,"saturation",0,k(),g.afterSetFilter);g.addGetterSetter(P,"luminance",0,k(),g.afterSetFilter);const Cd=function(r){var e=r.data,t=e.length,i=1,s=Math.pow(2,this.saturation()),n=Math.abs(this.hue()+360)%360,a=this.luminance()*127,o,h=i*s*Math.cos(n*Math.PI/180),l=i*s*Math.sin(n*Math.PI/180),d=.299*i+.701*h+.167*l,u=.587*i-.587*h+.33*l,c=.114*i-.114*h-.497*l,p=.299*i-.299*h-.328*l,f=.587*i+.413*h+.035*l,m=.114*i-.114*h+.293*l,v=.299*i-.3*h+1.25*l,_=.587*i-.586*h-1.05*l,w=.114*i+.886*h-.2*l,b,T,L,A;for(o=0;o<t;o+=4)b=e[o+0],T=e[o+1],L=e[o+2],A=e[o+3],e[o+0]=d*b+u*T+c*L+a,e[o+1]=p*b+f*T+m*L+a,e[o+2]=v*b+_*T+w*L+a,e[o+3]=A},Ed=function(r){var e=r.data,t=e.length,i=Math.pow(2,this.value()),s=Math.pow(2,this.saturation()),n=Math.abs(this.hue()+360)%360,a,o=i*s*Math.cos(n*Math.PI/180),h=i*s*Math.sin(n*Math.PI/180),l=.299*i+.701*o+.167*h,d=.587*i-.587*o+.33*h,u=.114*i-.114*o-.497*h,c=.299*i-.299*o-.328*h,p=.587*i+.413*o+.035*h,f=.114*i-.114*o+.293*h,m=.299*i-.3*o+1.25*h,v=.587*i-.586*o-1.05*h,_=.114*i+.886*o-.2*h,w,b,T,L;for(a=0;a<t;a+=4)w=e[a+0],b=e[a+1],T=e[a+2],L=e[a+3],e[a+0]=l*w+d*b+u*T,e[a+1]=c*w+p*b+f*T,e[a+2]=m*w+v*b+_*T,e[a+3]=L};g.addGetterSetter(P,"hue",0,k(),g.afterSetFilter);g.addGetterSetter(P,"saturation",0,k(),g.afterSetFilter);g.addGetterSetter(P,"value",0,k(),g.afterSetFilter);const kd=function(r){var e=r.data,t=e.length,i;for(i=0;i<t;i+=4)e[i]=255-e[i],e[i+1]=255-e[i+1],e[i+2]=255-e[i+2]};var xd=function(r,e,t){var i=r.data,s=e.data,n=r.width,a=r.height,o=t.polarCenterX||n/2,h=t.polarCenterY||a/2,l,d,u,c=0,p=0,f=0,m=0,v,_=Math.sqrt(o*o+h*h);d=n-o,u=a-h,v=Math.sqrt(d*d+u*u),_=v>_?v:_;var w=a,b=n,T,L,A=360/b*Math.PI/180,G,R;for(L=0;L<b;L+=1)for(G=Math.sin(L*A),R=Math.cos(L*A),T=0;T<w;T+=1)d=Math.floor(o+_*T/w*R),u=Math.floor(h+_*T/w*G),l=(u*n+d)*4,c=i[l+0],p=i[l+1],f=i[l+2],m=i[l+3],l=(L+T*n)*4,s[l+0]=c,s[l+1]=p,s[l+2]=f,s[l+3]=m},Pd=function(r,e,t){var i=r.data,s=e.data,n=r.width,a=r.height,o=t.polarCenterX||n/2,h=t.polarCenterY||a/2,l,d,u,c,p,f=0,m=0,v=0,_=0,w,b=Math.sqrt(o*o+h*h);d=n-o,u=a-h,w=Math.sqrt(d*d+u*u),b=w>b?w:b;var T=a,L=n,A,G,R=t.polarRotation||0,H,$;for(d=0;d<n;d+=1)for(u=0;u<a;u+=1)c=d-o,p=u-h,A=Math.sqrt(c*c+p*p)*T/b,G=(Math.atan2(p,c)*180/Math.PI+360+R)%360,G=G*L/360,H=Math.floor(G),$=Math.floor(A),l=($*n+H)*4,f=i[l+0],m=i[l+1],v=i[l+2],_=i[l+3],l=(u*n+d)*4,s[l+0]=f,s[l+1]=m,s[l+2]=v,s[l+3]=_};const Ad=function(r){var e=r.width,t=r.height,i,s,n,a,o,h,l,d,u,c,p=Math.round(this.kaleidoscopePower()),f=Math.round(this.kaleidoscopeAngle()),m=Math.floor(e*(f%360)/360);if(!(p<1)){var v=y.createCanvasElement();v.width=e,v.height=t;var _=v.getContext("2d").getImageData(0,0,e,t);y.releaseCanvas(v),xd(r,_,{polarCenterX:e/2,polarCenterY:t/2});for(var w=e/Math.pow(2,p);w<=8;)w=w*2,p-=1;w=Math.ceil(w);var b=w,T=0,L=b,A=1;for(m+w>e&&(T=b,L=0,A=-1),s=0;s<t;s+=1)for(i=T;i!==L;i+=A)n=Math.round(i+m)%e,u=(e*s+n)*4,o=_.data[u+0],h=_.data[u+1],l=_.data[u+2],d=_.data[u+3],c=(e*s+i)*4,_.data[c+0]=o,_.data[c+1]=h,_.data[c+2]=l,_.data[c+3]=d;for(s=0;s<t;s+=1)for(b=Math.floor(w),a=0;a<p;a+=1){for(i=0;i<b+1;i+=1)u=(e*s+i)*4,o=_.data[u+0],h=_.data[u+1],l=_.data[u+2],d=_.data[u+3],c=(e*s+b*2-i-1)*4,_.data[c+0]=o,_.data[c+1]=h,_.data[c+2]=l,_.data[c+3]=d;b*=2}Pd(_,r,{polarRotation:0})}};g.addGetterSetter(P,"kaleidoscopePower",2,k(),g.afterSetFilter);g.addGetterSetter(P,"kaleidoscopeAngle",0,k(),g.afterSetFilter);function fr(r,e,t){var i=(t*r.width+e)*4,s=[];return s.push(r.data[i++],r.data[i++],r.data[i++],r.data[i++]),s}function Ti(r,e){return Math.sqrt(Math.pow(r[0]-e[0],2)+Math.pow(r[1]-e[1],2)+Math.pow(r[2]-e[2],2))}function Od(r){for(var e=[0,0,0],t=0;t<r.length;t++)e[0]+=r[t][0],e[1]+=r[t][1],e[2]+=r[t][2];return e[0]/=r.length,e[1]/=r.length,e[2]/=r.length,e}function Md(r,e){var t=fr(r,0,0),i=fr(r,r.width-1,0),s=fr(r,0,r.height-1),n=fr(r,r.width-1,r.height-1),a=e||10;if(Ti(t,i)<a&&Ti(i,n)<a&&Ti(n,s)<a&&Ti(s,t)<a){for(var o=Od([i,t,n,s]),h=[],l=0;l<r.width*r.height;l++){var d=Ti(o,[r.data[l*4],r.data[l*4+1],r.data[l*4+2]]);h[l]=d<a?0:255}return h}}function Ld(r,e){for(var t=0;t<r.width*r.height;t++)r.data[4*t+3]=e[t]}function Rd(r,e,t){for(var i=[1,1,1,1,0,1,1,1,1],s=Math.round(Math.sqrt(i.length)),n=Math.floor(s/2),a=[],o=0;o<t;o++)for(var h=0;h<e;h++){for(var l=o*e+h,d=0,u=0;u<s;u++)for(var c=0;c<s;c++){var p=o+u-n,f=h+c-n;if(p>=0&&p<t&&f>=0&&f<e){var m=p*e+f,v=i[u*s+c];d+=r[m]*v}}a[l]=d===255*8?255:0}return a}function Id(r,e,t){for(var i=[1,1,1,1,1,1,1,1,1],s=Math.round(Math.sqrt(i.length)),n=Math.floor(s/2),a=[],o=0;o<t;o++)for(var h=0;h<e;h++){for(var l=o*e+h,d=0,u=0;u<s;u++)for(var c=0;c<s;c++){var p=o+u-n,f=h+c-n;if(p>=0&&p<t&&f>=0&&f<e){var m=p*e+f,v=i[u*s+c];d+=r[m]*v}}a[l]=d>=255*4?255:0}return a}function Nd(r,e,t){for(var i=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],s=Math.round(Math.sqrt(i.length)),n=Math.floor(s/2),a=[],o=0;o<t;o++)for(var h=0;h<e;h++){for(var l=o*e+h,d=0,u=0;u<s;u++)for(var c=0;c<s;c++){var p=o+u-n,f=h+c-n;if(p>=0&&p<t&&f>=0&&f<e){var m=p*e+f,v=i[u*s+c];d+=r[m]*v}}a[l]=d}return a}const Gd=function(r){var e=this.threshold(),t=Md(r,e);return t&&(t=Rd(t,r.width,r.height),t=Id(t,r.width,r.height),t=Nd(t,r.width,r.height),Ld(r,t)),r};g.addGetterSetter(P,"threshold",0,k(),g.afterSetFilter);const Dd=function(r){var e=this.noise()*255,t=r.data,i=t.length,s=e/2,n;for(n=0;n<i;n+=4)t[n+0]+=s-2*s*Math.random(),t[n+1]+=s-2*s*Math.random(),t[n+2]+=s-2*s*Math.random()};g.addGetterSetter(P,"noise",.2,k(),g.afterSetFilter);const Fd=function(r){var e=Math.ceil(this.pixelSize()),t=r.width,i=r.height,s,n,a,o,h,l,d,u=Math.ceil(t/e),c=Math.ceil(i/e),p,f,m,v,_,w,b,T=r.data;if(e<=0){y.error("pixelSize value can not be <= 0");return}for(_=0;_<u;_+=1)for(w=0;w<c;w+=1){for(o=0,h=0,l=0,d=0,p=_*e,f=p+e,m=w*e,v=m+e,b=0,s=p;s<f;s+=1)if(!(s>=t))for(n=m;n<v;n+=1)n>=i||(a=(t*n+s)*4,o+=T[a+0],h+=T[a+1],l+=T[a+2],d+=T[a+3],b+=1);for(o=o/b,h=h/b,l=l/b,d=d/b,s=p;s<f;s+=1)if(!(s>=t))for(n=m;n<v;n+=1)n>=i||(a=(t*n+s)*4,T[a+0]=o,T[a+1]=h,T[a+2]=l,T[a+3]=d)}};g.addGetterSetter(P,"pixelSize",8,k(),g.afterSetFilter);const Hd=function(r){var e=Math.round(this.levels()*254)+1,t=r.data,i=t.length,s=255/e,n;for(n=0;n<i;n+=1)t[n]=Math.floor(t[n]/s)*s};g.addGetterSetter(P,"levels",.5,k(),g.afterSetFilter);const Bd=function(r){var e=r.data,t=e.length,i=this.red(),s=this.green(),n=this.blue(),a,o;for(a=0;a<t;a+=4)o=(.34*e[a]+.5*e[a+1]+.16*e[a+2])/255,e[a]=o*i,e[a+1]=o*s,e[a+2]=o*n,e[a+3]=e[a+3]};g.addGetterSetter(P,"red",0,function(r){return this._filterUpToDate=!1,r>255?255:r<0?0:Math.round(r)});g.addGetterSetter(P,"green",0,function(r){return this._filterUpToDate=!1,r>255?255:r<0?0:Math.round(r)});g.addGetterSetter(P,"blue",0,Oa,g.afterSetFilter);const $d=function(r){var e=r.data,t=e.length,i=this.red(),s=this.green(),n=this.blue(),a=this.alpha(),o,h;for(o=0;o<t;o+=4)h=1-a,e[o]=i*a+e[o]*h,e[o+1]=s*a+e[o+1]*h,e[o+2]=n*a+e[o+2]*h};g.addGetterSetter(P,"red",0,function(r){return this._filterUpToDate=!1,r>255?255:r<0?0:Math.round(r)});g.addGetterSetter(P,"green",0,function(r){return this._filterUpToDate=!1,r>255?255:r<0?0:Math.round(r)});g.addGetterSetter(P,"blue",0,Oa,g.afterSetFilter);g.addGetterSetter(P,"alpha",1,function(r){return this._filterUpToDate=!1,r>1?1:r<0?0:r});const Vd=function(r){var e=r.data,t=e.length,i,s,n,a;for(i=0;i<t;i+=4)s=e[i+0],n=e[i+1],a=e[i+2],e[i+0]=Math.min(255,s*.393+n*.769+a*.189),e[i+1]=Math.min(255,s*.349+n*.686+a*.168),e[i+2]=Math.min(255,s*.272+n*.534+a*.131)},zd=function(r){var e=r.data,t=r.width,i=r.height,s=t*4,n=i;do{var a=(n-1)*s,o=t;do{var h=a+(o-1)*4,l=e[h],d=e[h+1],u=e[h+2];l>127&&(l=255-l),d>127&&(d=255-d),u>127&&(u=255-u),e[h]=l,e[h+1]=d,e[h+2]=u}while(--o)}while(--n)},Wd=function(r){var e=this.threshold()*255,t=r.data,i=t.length,s;for(s=0;s<i;s+=1)t[s]=t[s]<e?0:255};g.addGetterSetter(P,"threshold",.5,k(),g.afterSetFilter);const O=Fn.Util._assign(Fn,{Arc:vt,Arrow:Ut,Circle:mi,Ellipse:Nt,Image:Ye,Label:rn,Tag:Zt,Line:yt,Path:he,Rect:Xi,RegularPolygon:jt,Ring:Xt,Sprite:at,Star:Gt,Text:me,TextPath:Ce,Transformer:oe,Wedge:bt,Filters:{Blur:yd,Brighten:bd,Contrast:_d,Emboss:wd,Enhance:Sd,Grayscale:Td,HSL:Cd,HSV:Ed,Invert:kd,Kaleidoscope:Ad,Mask:Gd,Noise:Dd,Pixelate:Fd,Posterize:Hd,RGB:Bd,RGBA:$d,Sepia:Vd,Solarize:zd,Threshold:Wd}});var As=function(r,e){return As=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s])},As(r,e)};function _t(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");As(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function Ud(r,e,t,i){function s(n){return n instanceof t?n:new t(function(a){a(n)})}return new(t||(t=Promise))(function(n,a){function o(d){try{l(i.next(d))}catch(u){a(u)}}function h(d){try{l(i.throw(d))}catch(u){a(u)}}function l(d){d.done?n(d.value):s(d.value).then(o,h)}l((i=i.apply(r,e||[])).next())})}function lo(r,e){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,s,n,a;return a={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(l){return function(d){return h([l,d])}}function h(l){if(i)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(t=0)),t;)try{if(i=1,s&&(n=l[0]&2?s.return:l[0]?s.throw||((n=s.return)&&n.call(s),0):s.next)&&!(n=n.call(s,l[1])).done)return n;switch(s=0,n&&(l=[l[0]&2,n.value]),l[0]){case 0:case 1:n=l;break;case 4:return t.label++,{value:l[1],done:!1};case 5:t.label++,s=l[1],l=[0];continue;case 7:l=t.ops.pop(),t.trys.pop();continue;default:if(n=t.trys,!(n=n.length>0&&n[n.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!n||l[1]>n[0]&&l[1]<n[3])){t.label=l[1];break}if(l[0]===6&&t.label<n[1]){t.label=n[1],n=l;break}if(n&&t.label<n[2]){t.label=n[2],t.ops.push(l);break}n[2]&&t.ops.pop(),t.trys.pop();continue}l=e.call(r,t)}catch(d){l=[6,d],s=0}finally{i=n=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function li(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function At(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),s,n=[],a;try{for(;(e===void 0||e-- >0)&&!(s=i.next()).done;)n.push(s.value)}catch(o){a={error:o}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(a)throw a.error}}return n}function Bt(r,e,t){if(t||arguments.length===2)for(var i=0,s=e.length,n;i<s;i++)(n||!(i in e))&&(n||(n=Array.prototype.slice.call(e,0,i)),n[i]=e[i]);return r.concat(n||Array.prototype.slice.call(e))}function si(r){return this instanceof si?(this.v=r,this):new si(r)}function Zd(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),s,n=[];return s={},a("next"),a("throw"),a("return"),s[Symbol.asyncIterator]=function(){return this},s;function a(c){i[c]&&(s[c]=function(p){return new Promise(function(f,m){n.push([c,p,f,m])>1||o(c,p)})})}function o(c,p){try{h(i[c](p))}catch(f){u(n[0][3],f)}}function h(c){c.value instanceof si?Promise.resolve(c.value.v).then(l,d):u(n[0][2],c)}function l(c){o("next",c)}function d(c){o("throw",c)}function u(c,p){c(p),n.shift(),n.length&&o(n[0][0],n[0][1])}}function jd(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof li=="function"?li(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=r[n]&&function(a){return new Promise(function(o,h){a=r[n](a),s(o,h,a.done,a.value)})}}function s(n,a,o,h){Promise.resolve(h).then(function(l){n({value:l,done:o})},a)}}function de(r){return typeof r=="function"}function sn(r){var e=function(i){Error.call(i),i.stack=new Error().stack},t=r(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var ps=sn(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
3
3
  `+t.map(function(i,s){return s+1+") "+i.toString()}).join(`
4
- `):"",this.name="UnsubscriptionError",this.errors=t}});function Pr(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1)}}var qi=function(){function r(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return r.prototype.unsubscribe=function(){var e,t,i,s,n;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var o=li(a),h=o.next();!h.done;h=o.next()){var l=h.value;l.remove(this)}}catch(m){e={error:m}}finally{try{h&&!h.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}else a.remove(this);var d=this.initialTeardown;if(de(d))try{d()}catch(m){n=m instanceof ps?m.errors:[m]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var c=li(u),p=c.next();!p.done;p=c.next()){var f=p.value;try{jn(f)}catch(m){n=n??[],m instanceof ps?n=Bt(Bt([],At(n)),At(m.errors)):n.push(m)}}}catch(m){i={error:m}}finally{try{p&&!p.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}}if(n)throw new ps(n)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)jn(e);else{if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},r.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},r.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},r.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&Pr(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&Pr(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=function(){var e=new r;return e.closed=!0,e}(),r}(),ho=qi.EMPTY;function uo(r){return r instanceof qi||r&&"closed"in r&&de(r.remove)&&de(r.add)&&de(r.unsubscribe)}function jn(r){de(r)?r():r.unsubscribe()}var co={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Os={setTimeout:function(r,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];var s=Os.delegate;return s!=null&&s.setTimeout?s.setTimeout.apply(s,Bt([r,e],At(t))):setTimeout.apply(void 0,Bt([r,e],At(t)))},clearTimeout:function(r){var e=Os.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(r)},delegate:void 0};function fo(r){Os.setTimeout(function(){throw r})}function Ar(){}function _r(r){r()}var nn=function(r){_t(e,r);function e(t){var i=r.call(this)||this;return i.isStopped=!1,t?(i.destination=t,uo(t)&&t.add(i)):i.destination=Kd,i}return e.create=function(t,i,s){return new Ms(t,i,s)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,r.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(qi),Xd=Function.prototype.bind;function ms(r,e){return Xd.call(r,e)}var qd=function(){function r(e){this.partialObserver=e}return r.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(i){pr(i)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(i){pr(i)}else pr(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){pr(t)}},r}(),Ms=function(r){_t(e,r);function e(t,i,s){var n=r.call(this)||this,a;if(de(t)||!t)a={next:t??void 0,error:i??void 0,complete:s??void 0};else{var o;n&&co.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=function(){return n.unsubscribe()},a={next:t.next&&ms(t.next,o),error:t.error&&ms(t.error,o),complete:t.complete&&ms(t.complete,o)}):a=t}return n.destination=new qd(a),n}return e}(nn);function pr(r){fo(r)}function Yd(r){throw r}var Kd={closed:!0,next:Ar,error:Yd,complete:Ar},an=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Yi(r){return r}function Jd(r){return r.length===0?Yi:r.length===1?r[0]:function(t){return r.reduce(function(i,s){return s(i)},t)}}var se=function(){function r(e){e&&(this._subscribe=e)}return r.prototype.lift=function(e){var t=new r;return t.source=this,t.operator=e,t},r.prototype.subscribe=function(e,t,i){var s=this,n=eu(e)?e:new Ms(e,t,i);return _r(function(){var a=s,o=a.operator,h=a.source;n.add(o?o.call(n,h):h?s._subscribe(n):s._trySubscribe(n))}),n},r.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},r.prototype.forEach=function(e,t){var i=this;return t=Xn(t),new t(function(s,n){var a=new Ms({next:function(o){try{e(o)}catch(h){n(h),a.unsubscribe()}},error:n,complete:s});i.subscribe(a)})},r.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[an]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Jd(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=Xn(e),new e(function(i,s){var n;t.subscribe(function(a){return n=a},function(a){return s(a)},function(){return i(n)})})},r.create=function(e){return new r(e)},r}();function Xn(r){var e;return(e=r??co.Promise)!==null&&e!==void 0?e:Promise}function Qd(r){return r&&de(r.next)&&de(r.error)&&de(r.complete)}function eu(r){return r&&r instanceof nn||Qd(r)&&uo(r)}function tu(r){return de(r==null?void 0:r.lift)}function Fe(r){return function(e){if(tu(e))return e.lift(function(t){try{return r(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ae(r,e,t,i,s){return new iu(r,e,t,i,s)}var iu=function(r){_t(e,r);function e(t,i,s,n,a,o){var h=r.call(this,t)||this;return h.onFinalize=a,h.shouldUnsubscribe=o,h._next=i?function(l){try{i(l)}catch(d){t.error(d)}}:r.prototype._next,h._error=n?function(l){try{n(l)}catch(d){t.error(d)}finally{this.unsubscribe()}}:r.prototype._error,h._complete=s?function(){try{s()}catch(l){t.error(l)}finally{this.unsubscribe()}}:r.prototype._complete,h}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var i=this.closed;r.prototype.unsubscribe.call(this),!i&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e}(nn),ru=sn(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),V=function(r){_t(e,r);function e(){var t=r.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var i=new qn(this,this);return i.operator=t,i},e.prototype._throwIfClosed=function(){if(this.closed)throw new ru},e.prototype.next=function(t){var i=this;_r(function(){var s,n;if(i._throwIfClosed(),!i.isStopped){i.currentObservers||(i.currentObservers=Array.from(i.observers));try{for(var a=li(i.currentObservers),o=a.next();!o.done;o=a.next()){var h=o.value;h.next(t)}}catch(l){s={error:l}}finally{try{o&&!o.done&&(n=a.return)&&n.call(a)}finally{if(s)throw s.error}}}})},e.prototype.error=function(t){var i=this;_r(function(){if(i._throwIfClosed(),!i.isStopped){i.hasError=i.isStopped=!0,i.thrownError=t;for(var s=i.observers;s.length;)s.shift().error(t)}})},e.prototype.complete=function(){var t=this;_r(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var i=t.observers;i.length;)i.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),r.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var i=this,s=this,n=s.hasError,a=s.isStopped,o=s.observers;return n||a?ho:(this.currentObservers=null,o.push(t),new qi(function(){i.currentObservers=null,Pr(o,t)}))},e.prototype._checkFinalizedStatuses=function(t){var i=this,s=i.hasError,n=i.thrownError,a=i.isStopped;s?t.error(n):a&&t.complete()},e.prototype.asObservable=function(){var t=new se;return t.source=this,t},e.create=function(t,i){return new qn(t,i)},e}(se),qn=function(r){_t(e,r);function e(t,i){var s=r.call(this)||this;return s.destination=t,s.source=i,s}return e.prototype.next=function(t){var i,s;(s=(i=this.destination)===null||i===void 0?void 0:i.next)===null||s===void 0||s.call(i,t)},e.prototype.error=function(t){var i,s;(s=(i=this.destination)===null||i===void 0?void 0:i.error)===null||s===void 0||s.call(i,t)},e.prototype.complete=function(){var t,i;(i=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||i===void 0||i.call(t)},e.prototype._subscribe=function(t){var i,s;return(s=(i=this.source)===null||i===void 0?void 0:i.subscribe(t))!==null&&s!==void 0?s:ho},e}(V),Qt=function(r){_t(e,r);function e(t){var i=r.call(this)||this;return i._value=t,i}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(t){var i=r.prototype._subscribe.call(this,t);return!i.closed&&t.next(this._value),i},e.prototype.getValue=function(){var t=this,i=t.hasError,s=t.thrownError,n=t._value;if(i)throw s;return this._throwIfClosed(),n},e.prototype.next=function(t){r.prototype.next.call(this,this._value=t)},e}(V),po={now:function(){return(po.delegate||Date).now()},delegate:void 0},su=function(r){_t(e,r);function e(t,i){return r.call(this)||this}return e.prototype.schedule=function(t,i){return this},e}(qi),Or={setInterval:function(r,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];var s=Or.delegate;return s!=null&&s.setInterval?s.setInterval.apply(s,Bt([r,e],At(t))):setInterval.apply(void 0,Bt([r,e],At(t)))},clearInterval:function(r){var e=Or.delegate;return((e==null?void 0:e.clearInterval)||clearInterval)(r)},delegate:void 0},nu=function(r){_t(e,r);function e(t,i){var s=r.call(this,t,i)||this;return s.scheduler=t,s.work=i,s.pending=!1,s}return e.prototype.schedule=function(t,i){var s;if(i===void 0&&(i=0),this.closed)return this;this.state=t;var n=this.id,a=this.scheduler;return n!=null&&(this.id=this.recycleAsyncId(a,n,i)),this.pending=!0,this.delay=i,this.id=(s=this.id)!==null&&s!==void 0?s:this.requestAsyncId(a,this.id,i),this},e.prototype.requestAsyncId=function(t,i,s){return s===void 0&&(s=0),Or.setInterval(t.flush.bind(t,this),s)},e.prototype.recycleAsyncId=function(t,i,s){if(s===void 0&&(s=0),s!=null&&this.delay===s&&this.pending===!1)return i;i!=null&&Or.clearInterval(i)},e.prototype.execute=function(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var s=this._execute(t,i);if(s)return s;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,i){var s=!1,n;try{this.work(t)}catch(a){s=!0,n=a||new Error("Scheduled action threw falsy error")}if(s)return this.unsubscribe(),n},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,i=t.id,s=t.scheduler,n=s.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Pr(n,this),i!=null&&(this.id=this.recycleAsyncId(s,i,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e}(su),Yn=function(){function r(e,t){t===void 0&&(t=r.now),this.schedulerActionCtor=e,this.now=t}return r.prototype.schedule=function(e,t,i){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(i,t)},r.now=po.now,r}(),au=function(r){_t(e,r);function e(t,i){i===void 0&&(i=Yn.now);var s=r.call(this,t,i)||this;return s.actions=[],s._active=!1,s}return e.prototype.flush=function(t){var i=this.actions;if(this._active){i.push(t);return}var s;this._active=!0;do if(s=t.execute(t.state,t.delay))break;while(t=i.shift());if(this._active=!1,s){for(;t=i.shift();)t.unsubscribe();throw s}},e}(Yn),Xr=new au(nu),ou=Xr,lu=new se(function(r){return r.complete()});function mo(r){return r&&de(r.schedule)}function go(r){return r[r.length-1]}function vo(r){return de(go(r))?r.pop():void 0}function on(r){return mo(go(r))?r.pop():void 0}var ln=function(r){return r&&typeof r.length=="number"&&typeof r!="function"};function yo(r){return de(r==null?void 0:r.then)}function bo(r){return de(r[an])}function _o(r){return Symbol.asyncIterator&&de(r==null?void 0:r[Symbol.asyncIterator])}function wo(r){return new TypeError("You provided "+(r!==null&&typeof r=="object"?"an invalid object":"'"+r+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function hu(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var So=hu();function To(r){return de(r==null?void 0:r[So])}function Co(r){return Zd(this,arguments,function(){var t,i,s,n;return lo(this,function(a){switch(a.label){case 0:t=r.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,si(t.read())];case 3:return i=a.sent(),s=i.value,n=i.done,n?[4,si(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,si(s)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Eo(r){return de(r==null?void 0:r.getReader)}function Ke(r){if(r instanceof se)return r;if(r!=null){if(bo(r))return du(r);if(ln(r))return uu(r);if(yo(r))return cu(r);if(_o(r))return ko(r);if(To(r))return fu(r);if(Eo(r))return pu(r)}throw wo(r)}function du(r){return new se(function(e){var t=r[an]();if(de(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function uu(r){return new se(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function cu(r){return new se(function(e){r.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,fo)})}function fu(r){return new se(function(e){var t,i;try{for(var s=li(r),n=s.next();!n.done;n=s.next()){var a=n.value;if(e.next(a),e.closed)return}}catch(o){t={error:o}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}e.complete()})}function ko(r){return new se(function(e){mu(r,e).catch(function(t){return e.error(t)})})}function pu(r){return ko(Co(r))}function mu(r,e){var t,i,s,n;return Ud(this,void 0,void 0,function(){var a,o;return lo(this,function(h){switch(h.label){case 0:h.trys.push([0,5,6,11]),t=jd(r),h.label=1;case 1:return[4,t.next()];case 2:if(i=h.sent(),!!i.done)return[3,4];if(a=i.value,e.next(a),e.closed)return[2];h.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return o=h.sent(),s={error:o},[3,11];case 6:return h.trys.push([6,,9,10]),i&&!i.done&&(n=t.return)?[4,n.call(t)]:[3,8];case 7:h.sent(),h.label=8;case 8:return[3,10];case 9:if(s)throw s.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function ut(r,e,t,i,s){i===void 0&&(i=0),s===void 0&&(s=!1);var n=e.schedule(function(){t(),s?r.add(this.schedule(null,i)):this.unsubscribe()},i);if(r.add(n),!s)return n}function xo(r,e){return e===void 0&&(e=0),Fe(function(t,i){t.subscribe(Ae(i,function(s){return ut(i,r,function(){return i.next(s)},e)},function(){return ut(i,r,function(){return i.complete()},e)},function(s){return ut(i,r,function(){return i.error(s)},e)}))})}function Po(r,e){return e===void 0&&(e=0),Fe(function(t,i){i.add(r.schedule(function(){return t.subscribe(i)},e))})}function gu(r,e){return Ke(r).pipe(Po(e),xo(e))}function vu(r,e){return Ke(r).pipe(Po(e),xo(e))}function yu(r,e){return new se(function(t){var i=0;return e.schedule(function(){i===r.length?t.complete():(t.next(r[i++]),t.closed||this.schedule())})})}function bu(r,e){return new se(function(t){var i;return ut(t,e,function(){i=r[So](),ut(t,e,function(){var s,n,a;try{s=i.next(),n=s.value,a=s.done}catch(o){t.error(o);return}a?t.complete():t.next(n)},0,!0)}),function(){return de(i==null?void 0:i.return)&&i.return()}})}function Ao(r,e){if(!r)throw new Error("Iterable cannot be null");return new se(function(t){ut(t,e,function(){var i=r[Symbol.asyncIterator]();ut(t,e,function(){i.next().then(function(s){s.done?t.complete():t.next(s.value)})},0,!0)})})}function _u(r,e){return Ao(Co(r),e)}function wu(r,e){if(r!=null){if(bo(r))return gu(r,e);if(ln(r))return yu(r,e);if(yo(r))return vu(r,e);if(_o(r))return Ao(r,e);if(To(r))return bu(r,e);if(Eo(r))return _u(r,e)}throw wo(r)}function Ki(r,e){return e?wu(r,e):Ke(r)}function Ee(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=on(r);return Ki(r,t)}function Kn(r,e){var t=de(r)?r:function(){return r},i=function(s){return s.error(t())};return new se(e?function(s){return e.schedule(i,0,s)}:i)}var Oo=sn(function(r){return function(){r(this),this.name="EmptyError",this.message="no elements in sequence"}});function Su(r){return r instanceof Date&&!isNaN(r)}function ke(r,e){return Fe(function(t,i){var s=0;t.subscribe(Ae(i,function(n){i.next(r.call(e,n,s++))}))})}var Tu=Array.isArray;function Cu(r,e){return Tu(e)?r.apply(void 0,Bt([],At(e))):r(e)}function hn(r){return ke(function(e){return Cu(r,e)})}var Eu=Array.isArray,ku=Object.getPrototypeOf,xu=Object.prototype,Pu=Object.keys;function Mo(r){if(r.length===1){var e=r[0];if(Eu(e))return{args:e,keys:null};if(Au(e)){var t=Pu(e);return{args:t.map(function(i){return e[i]}),keys:t}}}return{args:r,keys:null}}function Au(r){return r&&typeof r=="object"&&ku(r)===xu}function Lo(r,e){return r.reduce(function(t,i,s){return t[i]=e[s],t},{})}function Ou(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=on(r),i=vo(r),s=Mo(r),n=s.args,a=s.keys;if(n.length===0)return Ki([],t);var o=new se(Mu(n,t,a?function(h){return Lo(a,h)}:Yi));return i?o.pipe(hn(i)):o}function Mu(r,e,t){return t===void 0&&(t=Yi),function(i){Jn(e,function(){for(var s=r.length,n=new Array(s),a=s,o=s,h=function(d){Jn(e,function(){var u=Ki(r[d],e),c=!1;u.subscribe(Ae(i,function(p){n[d]=p,c||(c=!0,o--),o||i.next(t(n.slice()))},function(){--a||i.complete()}))},i)},l=0;l<s;l++)h(l)},i)}}function Jn(r,e,t){r?ut(t,r,e):e()}function Lu(r,e,t,i,s,n,a,o){var h=[],l=0,d=0,u=!1,c=function(){u&&!h.length&&!l&&e.complete()},p=function(m){return l<i?f(m):h.push(m)},f=function(m){n&&e.next(m),l++;var v=!1;Ke(t(m,d++)).subscribe(Ae(e,function(_){s==null||s(_),n?p(_):e.next(_)},function(){v=!0},void 0,function(){if(v)try{l--;for(var _=function(){var w=h.shift();a?ut(e,a,function(){return f(w)}):f(w)};h.length&&l<i;)_();c()}catch(w){e.error(w)}}))};return r.subscribe(Ae(e,p,function(){u=!0,c()})),function(){o==null||o()}}function qr(r,e,t){return t===void 0&&(t=1/0),de(e)?qr(function(i,s){return ke(function(n,a){return e(i,n,s,a)})(Ke(r(i,s)))},t):(typeof e=="number"&&(t=e),Fe(function(i,s){return Lu(i,s,r,t)}))}function Ru(r){return r===void 0&&(r=1/0),qr(Yi,r)}function Iu(){return Ru(1)}function Nu(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return Iu()(Ki(r,on(r)))}function Gu(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=vo(r),i=Mo(r),s=i.args,n=i.keys,a=new se(function(o){var h=s.length;if(!h){o.complete();return}for(var l=new Array(h),d=h,u=h,c=function(f){var m=!1;Ke(s[f]).subscribe(Ae(o,function(v){m||(m=!0,u--),l[f]=v},function(){return d--},void 0,function(){(!d||!m)&&(u||o.next(n?Lo(n,l):l),o.complete())}))},p=0;p<h;p++)c(p)});return t?a.pipe(hn(t)):a}var Du=["addListener","removeListener"],Fu=["addEventListener","removeEventListener"],Hu=["on","off"];function be(r,e,t,i){if(de(t)&&(i=t,t=void 0),i)return be(r,e,t).pipe(hn(i));var s=At(Vu(r)?Fu.map(function(o){return function(h){return r[o](e,h,t)}}):Bu(r)?Du.map(Qn(r,e)):$u(r)?Hu.map(Qn(r,e)):[],2),n=s[0],a=s[1];if(!n&&ln(r))return qr(function(o){return be(o,e,t)})(Ke(r));if(!n)throw new TypeError("Invalid event target");return new se(function(o){var h=function(){for(var l=[],d=0;d<arguments.length;d++)l[d]=arguments[d];return o.next(1<l.length?l:l[0])};return n(h),function(){return a(h)}})}function Qn(r,e){return function(t){return function(i){return r[t](e,i)}}}function Bu(r){return de(r.addListener)&&de(r.removeListener)}function $u(r){return de(r.on)&&de(r.off)}function Vu(r){return de(r.addEventListener)&&de(r.removeEventListener)}function Ro(r,e,t){r===void 0&&(r=0),t===void 0&&(t=ou);var i=-1;return e!=null&&(mo(e)?t=e:i=e),new se(function(s){var n=Su(r)?+r-t.now():r;n<0&&(n=0);var a=0;return t.schedule(function(){s.closed||(s.next(a++),0<=i?this.schedule(void 0,i):s.complete())},n)})}function zu(r,e){return r===void 0&&(r=0),e===void 0&&(e=Xr),r<0&&(r=0),Ro(r,r,e)}function $e(r,e){return Fe(function(t,i){var s=0;t.subscribe(Ae(i,function(n){return r.call(e,n,s++)&&i.next(n)}))})}function gi(r){return Fe(function(e,t){var i=null,s=!1,n;i=e.subscribe(Ae(t,void 0,void 0,function(a){n=Ke(r(a,gi(r)(e))),i?(i.unsubscribe(),i=null,n.subscribe(t)):s=!0})),s&&(i.unsubscribe(),i=null,n.subscribe(t))})}function Io(r,e){return e===void 0&&(e=Xr),Fe(function(t,i){var s=null,n=null,a=null,o=function(){if(s){s.unsubscribe(),s=null;var l=n;n=null,i.next(l)}};function h(){var l=a+r,d=e.now();if(d<l){s=this.schedule(void 0,l-d),i.add(s);return}o()}t.subscribe(Ae(i,function(l){n=l,a=e.now(),s||(s=e.schedule(h,r),i.add(s))},function(){o(),i.complete()},void 0,function(){n=s=null}))})}function Wu(r){return Fe(function(e,t){var i=!1;e.subscribe(Ae(t,function(s){i=!0,t.next(s)},function(){i||t.next(r),t.complete()}))})}function ct(r){return r<=0?function(){return lu}:Fe(function(e,t){var i=0;e.subscribe(Ae(t,function(s){++i<=r&&(t.next(s),r<=i&&t.complete())}))})}function Uu(){return Fe(function(r,e){r.subscribe(Ae(e,Ar))})}function Zu(r){return ke(function(){return r})}function No(r,e){return e?function(t){return Nu(e.pipe(ct(1),Uu()),t.pipe(No(r)))}:qr(function(t,i){return Ke(r(t,i)).pipe(ct(1),Zu(t))})}function ju(r,e){e===void 0&&(e=Xr);var t=Ro(r,e);return No(function(){return t})}function Xu(r){return r===void 0&&(r=qu),Fe(function(e,t){var i=!1;e.subscribe(Ae(t,function(s){i=!0,t.next(s)},function(){return i?t.complete():t.error(r())}))})}function qu(){return new Oo}function hi(r,e){var t=arguments.length>=2;return function(i){return i.pipe(r?$e(function(s,n){return r(s,n,i)}):Yi,ct(1),t?Wu(e):Xu(function(){return new Oo}))}}function Yu(r,e){return Fe(function(t,i){var s=null,n=0,a=!1,o=function(){return a&&!s&&i.complete()};t.subscribe(Ae(i,function(h){s==null||s.unsubscribe();var l=0,d=n++;Ke(r(h,d)).subscribe(s=Ae(i,function(u){return i.next(e?e(h,u,d,l++):u)},function(){s=null,o()}))},function(){a=!0,o()}))})}function I(r){return Fe(function(e,t){Ke(r).subscribe(Ae(t,function(){return t.complete()},Ar)),!t.closed&&e.subscribe(t)})}class Go{constructor(e){this.onChange$=new V,this.style=e}get style(){return this._style}set style(e){this._style={...this._style,...e},this.onChange$.next(this._style)}}const vi=(r,e)=>({...e,...r,style:{...e.style,...r.style}});class Je{constructor(e){this.onDestroy$=new V,this.config=e,this.styleAdapter=new Go(e.style)}initCanvasNode(){if(this.isInitialized())throw new Error("Konva node already initalized");return this.canvasNode=this.createCanvasNode(),this.afterCanvasNodeInit(),this.canvasNode}initCanvasNodeAsync(){return this.createCanvasNodeAsync().pipe(ke(e=>(this.canvasNode=e,this.afterCanvasNodeInit(),this.canvasNode)))}createCanvasNodeAsync(){return Ee(this.createCanvasNode())}afterCanvasNodeInit(){}destroy(){this.isInitialized()&&this.getCanvasNode().destroy(),this.onDestroy$.next(),this.onDestroy$.complete()}getCanvasNode(){return this.canvasNode}isInitialized(){return!!this.getCanvasNode()}get style(){return this.styleAdapter.style}set style(e){this.styleAdapter.style=e}}class F{}F.POSITION_TOP_LEFT={x:0,y:0};F.DIMENSION_ZERO={width:0,height:0};F.GOLDEN_RATIO=1.61;F.TIMELINE_ZOOM_EASED_DURATION_MS=800;F.TIMELINE_SCROLL_EASED_DURATION_MS=200;F.MIME_TYPE_VND_APPLE_MPEGURL="application/vnd.apple.mpegurl";var ae;(function(r){r.assertEqual=s=>s;function e(s){}r.assertIs=e;function t(s){throw new Error}r.assertNever=t,r.arrayToEnum=s=>{const n={};for(const a of s)n[a]=a;return n},r.getValidEnumValues=s=>{const n=r.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),a={};for(const o of n)a[o]=s[o];return r.objectValues(a)},r.objectValues=s=>r.objectKeys(s).map(function(n){return s[n]}),r.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{const n=[];for(const a in s)Object.prototype.hasOwnProperty.call(s,a)&&n.push(a);return n},r.find=(s,n)=>{for(const a of s)if(n(a))return a},r.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&isFinite(s)&&Math.floor(s)===s;function i(s,n=" | "){return s.map(a=>typeof a=="string"?`'${a}'`:a).join(n)}r.joinValues=i,r.jsonStringifyReplacer=(s,n)=>typeof n=="bigint"?n.toString():n})(ae||(ae={}));const N=ae.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),xt=r=>{switch(typeof r){case"undefined":return N.undefined;case"string":return N.string;case"number":return isNaN(r)?N.nan:N.number;case"boolean":return N.boolean;case"function":return N.function;case"bigint":return N.bigint;case"symbol":return N.symbol;case"object":return Array.isArray(r)?N.array:r===null?N.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?N.promise:typeof Map<"u"&&r instanceof Map?N.map:typeof Set<"u"&&r instanceof Set?N.set:typeof Date<"u"&&r instanceof Date?N.date:N.object;default:return N.unknown}},O=ae.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Ku=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class it extends Error{constructor(e){super(),this.issues=[],this.addIssue=i=>{this.issues=[...this.issues,i]},this.addIssues=(i=[])=>{this.issues=[...this.issues,...i]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(n){return n.message},i={_errors:[]},s=n=>{for(const a of n.issues)if(a.code==="invalid_union")a.unionErrors.map(s);else if(a.code==="invalid_return_type")s(a.returnTypeError);else if(a.code==="invalid_arguments")s(a.argumentsError);else if(a.path.length===0)i._errors.push(t(a));else{let o=i,h=0;for(;h<a.path.length;){const l=a.path[h];h===a.path.length-1?(o[l]=o[l]||{_errors:[]},o[l]._errors.push(t(a))):o[l]=o[l]||{_errors:[]},o=o[l],h++}}};return s(this),i}toString(){return this.message}get message(){return JSON.stringify(this.issues,ae.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},i=[];for(const s of this.issues)s.path.length>0?(t[s.path[0]]=t[s.path[0]]||[],t[s.path[0]].push(e(s))):i.push(e(s));return{formErrors:i,fieldErrors:t}}get formErrors(){return this.flatten()}}it.create=r=>new it(r);const Ii=(r,e)=>{let t;switch(r.code){case O.invalid_type:r.received===N.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case O.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,ae.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:t=`Unrecognized key(s) in object: ${ae.joinValues(r.keys,", ")}`;break;case O.invalid_union:t="Invalid input";break;case O.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${ae.joinValues(r.options)}`;break;case O.invalid_enum_value:t=`Invalid enum value. Expected ${ae.joinValues(r.options)}, received '${r.received}'`;break;case O.invalid_arguments:t="Invalid function arguments";break;case O.invalid_return_type:t="Invalid function return type";break;case O.invalid_date:t="Invalid date";break;case O.invalid_string:typeof r.validation=="object"?"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:ae.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case O.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(r.minimum)}`:t="Invalid input";break;case O.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(r.maximum)}`:t="Invalid input";break;case O.custom:t="Invalid input";break;case O.invalid_intersection_types:t="Intersection results could not be merged";break;case O.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case O.not_finite:t="Number must be finite";break;default:t=e.defaultError,ae.assertNever(r)}return{message:t}};let Do=Ii;function Ju(r){Do=r}function Mr(){return Do}const Lr=r=>{const{data:e,path:t,errorMaps:i,issueData:s}=r,n=[...t,...s.path||[]],a={...s,path:n};let o="";const h=i.filter(l=>!!l).slice().reverse();for(const l of h)o=l(a,{data:e,defaultError:o}).message;return{...s,path:n,message:s.message||o}},Qu=[];function B(r,e){const t=Lr({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Mr(),Ii].filter(i=>!!i)});r.common.issues.push(t)}class Le{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const i=[];for(const s of t){if(s.status==="aborted")return Y;s.status==="dirty"&&e.dirty(),i.push(s.value)}return{status:e.value,value:i}}static async mergeObjectAsync(e,t){const i=[];for(const s of t)i.push({key:await s.key,value:await s.value});return Le.mergeObjectSync(e,i)}static mergeObjectSync(e,t){const i={};for(const s of t){const{key:n,value:a}=s;if(n.status==="aborted"||a.status==="aborted")return Y;n.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),(typeof a.value<"u"||s.alwaysSet)&&(i[n.value]=a.value)}return{status:e.value,value:i}}}const Y=Object.freeze({status:"aborted"}),Fo=r=>({status:"dirty",value:r}),Oe=r=>({status:"valid",value:r}),Ls=r=>r.status==="aborted",Rs=r=>r.status==="dirty",Rr=r=>r.status==="valid",Ir=r=>typeof Promise<"u"&&r instanceof Promise;var ee;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(ee||(ee={}));class rt{constructor(e,t,i,s){this.parent=e,this.data=t,this._path=i,this._key=s}get path(){return this._path.concat(this._key)}}const ea=(r,e)=>{if(Rr(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,error:new it(r.common.issues)}};function J(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:i,description:s}=r;if(e&&(t||i))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(a,o)=>a.code!=="invalid_type"?{message:o.defaultError}:typeof o.data>"u"?{message:i??o.defaultError}:{message:t??o.defaultError},description:s}}class Q{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return xt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:xt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Le,ctx:{common:e.parent.common,data:e.data,parsedType:xt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(Ir(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const i=this.safeParse(e,t);if(i.success)return i.data;throw i.error}safeParse(e,t){var i;const s={common:{issues:[],async:(i=t==null?void 0:t.async)!==null&&i!==void 0?i:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xt(e)},n=this._parseSync({data:e,path:s.path,parent:s});return ea(s,n)}async parseAsync(e,t){const i=await this.safeParseAsync(e,t);if(i.success)return i.data;throw i.error}async safeParseAsync(e,t){const i={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xt(e)},s=this._parse({data:e,path:i.path,parent:i}),n=await(Ir(s)?s:Promise.resolve(s));return ea(i,n)}refine(e,t){const i=s=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(s):t;return this._refinement((s,n)=>{const a=e(s),o=()=>n.addIssue({code:O.custom,...i(s)});return typeof Promise<"u"&&a instanceof Promise?a.then(h=>h?!0:(o(),!1)):a?!0:(o(),!1)})}refinement(e,t){return this._refinement((i,s)=>e(i)?!0:(s.addIssue(typeof t=="function"?t(i,s):t),!1))}_refinement(e){return new Xe({schema:this,typeName:X.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ft.create(this,this._def)}nullable(){return zt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ze.create(this,this._def)}promise(){return ui.create(this,this._def)}or(e){return Hi.create([this,e],this._def)}and(e){return Bi.create(this,e,this._def)}transform(e){return new Xe({...J(this._def),schema:this,typeName:X.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new Ui({...J(this._def),innerType:this,defaultValue:t,typeName:X.ZodDefault})}brand(){return new Bo({typeName:X.ZodBranded,type:this,...J(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new Hr({...J(this._def),innerType:this,catchValue:t,typeName:X.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Ji.create(this,e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const ec=/^c[^\s-]{8,}$/i,tc=/^[a-z][a-z0-9]*$/,ic=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,rc=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|([^-]([a-zA-Z0-9-]*\.)+[a-zA-Z]{2,}))$/,sc=r=>r.precision?r.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${r.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${r.precision}}Z$`):r.precision===0?r.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):r.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");class mt extends Q{constructor(){super(...arguments),this._regex=(e,t,i)=>this.refinement(s=>e.test(s),{validation:t,code:O.invalid_string,...ee.errToObj(i)}),this.nonempty=e=>this.min(1,ee.errToObj(e)),this.trim=()=>new mt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==N.string){const n=this._getOrReturnCtx(e);return B(n,{code:O.invalid_type,expected:N.string,received:n.parsedType}),Y}const i=new Le;let s;for(const n of this._def.checks)if(n.kind==="min")e.data.length<n.value&&(s=this._getOrReturnCtx(e,s),B(s,{code:O.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),i.dirty());else if(n.kind==="max")e.data.length>n.value&&(s=this._getOrReturnCtx(e,s),B(s,{code:O.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),i.dirty());else if(n.kind==="length"){const a=e.data.length>n.value,o=e.data.length<n.value;(a||o)&&(s=this._getOrReturnCtx(e,s),a?B(s,{code:O.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}):o&&B(s,{code:O.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}),i.dirty())}else if(n.kind==="email")rc.test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{validation:"email",code:O.invalid_string,message:n.message}),i.dirty());else if(n.kind==="uuid")ic.test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{validation:"uuid",code:O.invalid_string,message:n.message}),i.dirty());else if(n.kind==="cuid")ec.test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{validation:"cuid",code:O.invalid_string,message:n.message}),i.dirty());else if(n.kind==="cuid2")tc.test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{validation:"cuid2",code:O.invalid_string,message:n.message}),i.dirty());else if(n.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),B(s,{validation:"url",code:O.invalid_string,message:n.message}),i.dirty()}else n.kind==="regex"?(n.regex.lastIndex=0,n.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{validation:"regex",code:O.invalid_string,message:n.message}),i.dirty())):n.kind==="trim"?e.data=e.data.trim():n.kind==="startsWith"?e.data.startsWith(n.value)||(s=this._getOrReturnCtx(e,s),B(s,{code:O.invalid_string,validation:{startsWith:n.value},message:n.message}),i.dirty()):n.kind==="endsWith"?e.data.endsWith(n.value)||(s=this._getOrReturnCtx(e,s),B(s,{code:O.invalid_string,validation:{endsWith:n.value},message:n.message}),i.dirty()):n.kind==="datetime"?sc(n).test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{code:O.invalid_string,validation:"datetime",message:n.message}),i.dirty()):ae.assertNever(n);return{status:i.value,value:e.data}}_addCheck(e){return new mt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...ee.errToObj(e)})}url(e){return this._addCheck({kind:"url",...ee.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...ee.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...ee.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...ee.errToObj(e)})}datetime(e){var t;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,...ee.errToObj(e==null?void 0:e.message)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...ee.errToObj(t)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...ee.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...ee.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...ee.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...ee.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...ee.errToObj(t)})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}mt.create=r=>{var e;return new mt({checks:[],typeName:X.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...J(r)})};function nc(r,e){const t=(r.toString().split(".")[1]||"").length,i=(e.toString().split(".")[1]||"").length,s=t>i?t:i,n=parseInt(r.toFixed(s).replace(".","")),a=parseInt(e.toFixed(s).replace(".",""));return n%a/Math.pow(10,s)}class Ot extends Q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==N.number){const n=this._getOrReturnCtx(e);return B(n,{code:O.invalid_type,expected:N.number,received:n.parsedType}),Y}let i;const s=new Le;for(const n of this._def.checks)n.kind==="int"?ae.isInteger(e.data)||(i=this._getOrReturnCtx(e,i),B(i,{code:O.invalid_type,expected:"integer",received:"float",message:n.message}),s.dirty()):n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(i=this._getOrReturnCtx(e,i),B(i,{code:O.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(i=this._getOrReturnCtx(e,i),B(i,{code:O.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="multipleOf"?nc(e.data,n.value)!==0&&(i=this._getOrReturnCtx(e,i),B(i,{code:O.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(i=this._getOrReturnCtx(e,i),B(i,{code:O.not_finite,message:n.message}),s.dirty()):ae.assertNever(n);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,ee.toString(t))}gt(e,t){return this.setLimit("min",e,!1,ee.toString(t))}lte(e,t){return this.setLimit("max",e,!0,ee.toString(t))}lt(e,t){return this.setLimit("max",e,!1,ee.toString(t))}setLimit(e,t,i,s){return new Ot({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:i,message:ee.toString(s)}]})}_addCheck(e){return new Ot({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:ee.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ee.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ee.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ee.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ee.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:ee.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:ee.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&ae.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const i of this._def.checks){if(i.kind==="finite"||i.kind==="int"||i.kind==="multipleOf")return!0;i.kind==="min"?(t===null||i.value>t)&&(t=i.value):i.kind==="max"&&(e===null||i.value<e)&&(e=i.value)}return Number.isFinite(t)&&Number.isFinite(e)}}Ot.create=r=>new Ot({checks:[],typeName:X.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...J(r)});class Ni extends Q{_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==N.bigint){const i=this._getOrReturnCtx(e);return B(i,{code:O.invalid_type,expected:N.bigint,received:i.parsedType}),Y}return Oe(e.data)}}Ni.create=r=>{var e;return new Ni({typeName:X.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...J(r)})};class Gi extends Q{_parse(e){if(this._def.coerce&&(e.data=Boolean(e.data)),this._getType(e)!==N.boolean){const i=this._getOrReturnCtx(e);return B(i,{code:O.invalid_type,expected:N.boolean,received:i.parsedType}),Y}return Oe(e.data)}}Gi.create=r=>new Gi({typeName:X.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...J(r)});class $t extends Q{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==N.date){const n=this._getOrReturnCtx(e);return B(n,{code:O.invalid_type,expected:N.date,received:n.parsedType}),Y}if(isNaN(e.data.getTime())){const n=this._getOrReturnCtx(e);return B(n,{code:O.invalid_date}),Y}const i=new Le;let s;for(const n of this._def.checks)n.kind==="min"?e.data.getTime()<n.value&&(s=this._getOrReturnCtx(e,s),B(s,{code:O.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),i.dirty()):n.kind==="max"?e.data.getTime()>n.value&&(s=this._getOrReturnCtx(e,s),B(s,{code:O.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),i.dirty()):ae.assertNever(n);return{status:i.value,value:new Date(e.data.getTime())}}_addCheck(e){return new $t({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:ee.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:ee.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}$t.create=r=>new $t({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:X.ZodDate,...J(r)});class Nr extends Q{_parse(e){if(this._getType(e)!==N.symbol){const i=this._getOrReturnCtx(e);return B(i,{code:O.invalid_type,expected:N.symbol,received:i.parsedType}),Y}return Oe(e.data)}}Nr.create=r=>new Nr({typeName:X.ZodSymbol,...J(r)});class Di extends Q{_parse(e){if(this._getType(e)!==N.undefined){const i=this._getOrReturnCtx(e);return B(i,{code:O.invalid_type,expected:N.undefined,received:i.parsedType}),Y}return Oe(e.data)}}Di.create=r=>new Di({typeName:X.ZodUndefined,...J(r)});class Fi extends Q{_parse(e){if(this._getType(e)!==N.null){const i=this._getOrReturnCtx(e);return B(i,{code:O.invalid_type,expected:N.null,received:i.parsedType}),Y}return Oe(e.data)}}Fi.create=r=>new Fi({typeName:X.ZodNull,...J(r)});class di extends Q{constructor(){super(...arguments),this._any=!0}_parse(e){return Oe(e.data)}}di.create=r=>new di({typeName:X.ZodAny,...J(r)});class Ht extends Q{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Oe(e.data)}}Ht.create=r=>new Ht({typeName:X.ZodUnknown,...J(r)});class gt extends Q{_parse(e){const t=this._getOrReturnCtx(e);return B(t,{code:O.invalid_type,expected:N.never,received:t.parsedType}),Y}}gt.create=r=>new gt({typeName:X.ZodNever,...J(r)});class Gr extends Q{_parse(e){if(this._getType(e)!==N.undefined){const i=this._getOrReturnCtx(e);return B(i,{code:O.invalid_type,expected:N.void,received:i.parsedType}),Y}return Oe(e.data)}}Gr.create=r=>new Gr({typeName:X.ZodVoid,...J(r)});class Ze extends Q{_parse(e){const{ctx:t,status:i}=this._processInputParams(e),s=this._def;if(t.parsedType!==N.array)return B(t,{code:O.invalid_type,expected:N.array,received:t.parsedType}),Y;if(s.exactLength!==null){const a=t.data.length>s.exactLength.value,o=t.data.length<s.exactLength.value;(a||o)&&(B(t,{code:a?O.too_big:O.too_small,minimum:o?s.exactLength.value:void 0,maximum:a?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),i.dirty())}if(s.minLength!==null&&t.data.length<s.minLength.value&&(B(t,{code:O.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),i.dirty()),s.maxLength!==null&&t.data.length>s.maxLength.value&&(B(t,{code:O.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),i.dirty()),t.common.async)return Promise.all([...t.data].map((a,o)=>s.type._parseAsync(new rt(t,a,t.path,o)))).then(a=>Le.mergeArray(i,a));const n=[...t.data].map((a,o)=>s.type._parseSync(new rt(t,a,t.path,o)));return Le.mergeArray(i,n)}get element(){return this._def.type}min(e,t){return new Ze({...this._def,minLength:{value:e,message:ee.toString(t)}})}max(e,t){return new Ze({...this._def,maxLength:{value:e,message:ee.toString(t)}})}length(e,t){return new Ze({...this._def,exactLength:{value:e,message:ee.toString(t)}})}nonempty(e){return this.min(1,e)}}Ze.create=(r,e)=>new Ze({type:r,minLength:null,maxLength:null,exactLength:null,typeName:X.ZodArray,...J(e)});var Dr;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(Dr||(Dr={}));function Kt(r){if(r instanceof pe){const e={};for(const t in r.shape){const i=r.shape[t];e[t]=ft.create(Kt(i))}return new pe({...r._def,shape:()=>e})}else return r instanceof Ze?Ze.create(Kt(r.element)):r instanceof ft?ft.create(Kt(r.unwrap())):r instanceof zt?zt.create(Kt(r.unwrap())):r instanceof st?st.create(r.items.map(e=>Kt(e))):r}class pe extends Q{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=ae.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==N.object){const l=this._getOrReturnCtx(e);return B(l,{code:O.invalid_type,expected:N.object,received:l.parsedType}),Y}const{status:i,ctx:s}=this._processInputParams(e),{shape:n,keys:a}=this._getCached(),o=[];if(!(this._def.catchall instanceof gt&&this._def.unknownKeys==="strip"))for(const l in s.data)a.includes(l)||o.push(l);const h=[];for(const l of a){const d=n[l],u=s.data[l];h.push({key:{status:"valid",value:l},value:d._parse(new rt(s,u,s.path,l)),alwaysSet:l in s.data})}if(this._def.catchall instanceof gt){const l=this._def.unknownKeys;if(l==="passthrough")for(const d of o)h.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(l==="strict")o.length>0&&(B(s,{code:O.unrecognized_keys,keys:o}),i.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(const d of o){const u=s.data[d];h.push({key:{status:"valid",value:d},value:l._parse(new rt(s,u,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const l=[];for(const d of h){const u=await d.key;l.push({key:u,value:await d.value,alwaysSet:d.alwaysSet})}return l}).then(l=>Le.mergeObjectSync(i,l)):Le.mergeObjectSync(i,h)}get shape(){return this._def.shape()}strict(e){return ee.errToObj,new pe({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,i)=>{var s,n,a,o;const h=(a=(n=(s=this._def).errorMap)===null||n===void 0?void 0:n.call(s,t,i).message)!==null&&a!==void 0?a:i.defaultError;return t.code==="unrecognized_keys"?{message:(o=ee.errToObj(e).message)!==null&&o!==void 0?o:h}:{message:h}}}:{}})}strip(){return new pe({...this._def,unknownKeys:"strip"})}passthrough(){return new pe({...this._def,unknownKeys:"passthrough"})}extend(e){return new pe({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new pe({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>Dr.mergeShapes(this._def.shape(),e._def.shape()),typeName:X.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new pe({...this._def,catchall:e})}pick(e){const t={};return ae.objectKeys(e).forEach(i=>{e[i]&&this.shape[i]&&(t[i]=this.shape[i])}),new pe({...this._def,shape:()=>t})}omit(e){const t={};return ae.objectKeys(this.shape).forEach(i=>{e[i]||(t[i]=this.shape[i])}),new pe({...this._def,shape:()=>t})}deepPartial(){return Kt(this)}partial(e){const t={};return ae.objectKeys(this.shape).forEach(i=>{const s=this.shape[i];e&&!e[i]?t[i]=s:t[i]=s.optional()}),new pe({...this._def,shape:()=>t})}required(e){const t={};return ae.objectKeys(this.shape).forEach(i=>{if(e&&!e[i])t[i]=this.shape[i];else{let n=this.shape[i];for(;n instanceof ft;)n=n._def.innerType;t[i]=n}}),new pe({...this._def,shape:()=>t})}keyof(){return Ho(ae.objectKeys(this.shape))}}pe.create=(r,e)=>new pe({shape:()=>r,unknownKeys:"strip",catchall:gt.create(),typeName:X.ZodObject,...J(e)});pe.strictCreate=(r,e)=>new pe({shape:()=>r,unknownKeys:"strict",catchall:gt.create(),typeName:X.ZodObject,...J(e)});pe.lazycreate=(r,e)=>new pe({shape:r,unknownKeys:"strip",catchall:gt.create(),typeName:X.ZodObject,...J(e)});class Hi extends Q{_parse(e){const{ctx:t}=this._processInputParams(e),i=this._def.options;function s(n){for(const o of n)if(o.result.status==="valid")return o.result;for(const o of n)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;const a=n.map(o=>new it(o.ctx.common.issues));return B(t,{code:O.invalid_union,unionErrors:a}),Y}if(t.common.async)return Promise.all(i.map(async n=>{const a={...t,common:{...t.common,issues:[]},parent:null};return{result:await n._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(s);{let n;const a=[];for(const h of i){const l={...t,common:{...t.common,issues:[]},parent:null},d=h._parseSync({data:t.data,path:t.path,parent:l});if(d.status==="valid")return d;d.status==="dirty"&&!n&&(n={result:d,ctx:l}),l.common.issues.length&&a.push(l.common.issues)}if(n)return t.common.issues.push(...n.ctx.common.issues),n.result;const o=a.map(h=>new it(h));return B(t,{code:O.invalid_union,unionErrors:o}),Y}}get options(){return this._def.options}}Hi.create=(r,e)=>new Hi({options:r,typeName:X.ZodUnion,...J(e)});const wr=r=>r instanceof Vi?wr(r.schema):r instanceof Xe?wr(r.innerType()):r instanceof zi?[r.value]:r instanceof Mt?r.options:r instanceof Wi?Object.keys(r.enum):r instanceof Ui?wr(r._def.innerType):r instanceof Di?[void 0]:r instanceof Fi?[null]:null;class Yr extends Q{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==N.object)return B(t,{code:O.invalid_type,expected:N.object,received:t.parsedType}),Y;const i=this.discriminator,s=t.data[i],n=this.optionsMap.get(s);return n?t.common.async?n._parseAsync({data:t.data,path:t.path,parent:t}):n._parseSync({data:t.data,path:t.path,parent:t}):(B(t,{code:O.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[i]}),Y)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,i){const s=new Map;for(const n of t){const a=wr(n.shape[e]);if(!a)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const o of a){if(s.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);s.set(o,n)}}return new Yr({typeName:X.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:s,...J(i)})}}function Is(r,e){const t=xt(r),i=xt(e);if(r===e)return{valid:!0,data:r};if(t===N.object&&i===N.object){const s=ae.objectKeys(e),n=ae.objectKeys(r).filter(o=>s.indexOf(o)!==-1),a={...r,...e};for(const o of n){const h=Is(r[o],e[o]);if(!h.valid)return{valid:!1};a[o]=h.data}return{valid:!0,data:a}}else if(t===N.array&&i===N.array){if(r.length!==e.length)return{valid:!1};const s=[];for(let n=0;n<r.length;n++){const a=r[n],o=e[n],h=Is(a,o);if(!h.valid)return{valid:!1};s.push(h.data)}return{valid:!0,data:s}}else return t===N.date&&i===N.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}class Bi extends Q{_parse(e){const{status:t,ctx:i}=this._processInputParams(e),s=(n,a)=>{if(Ls(n)||Ls(a))return Y;const o=Is(n.value,a.value);return o.valid?((Rs(n)||Rs(a))&&t.dirty(),{status:t.value,value:o.data}):(B(i,{code:O.invalid_intersection_types}),Y)};return i.common.async?Promise.all([this._def.left._parseAsync({data:i.data,path:i.path,parent:i}),this._def.right._parseAsync({data:i.data,path:i.path,parent:i})]).then(([n,a])=>s(n,a)):s(this._def.left._parseSync({data:i.data,path:i.path,parent:i}),this._def.right._parseSync({data:i.data,path:i.path,parent:i}))}}Bi.create=(r,e,t)=>new Bi({left:r,right:e,typeName:X.ZodIntersection,...J(t)});class st extends Q{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==N.array)return B(i,{code:O.invalid_type,expected:N.array,received:i.parsedType}),Y;if(i.data.length<this._def.items.length)return B(i,{code:O.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Y;!this._def.rest&&i.data.length>this._def.items.length&&(B(i,{code:O.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const n=[...i.data].map((a,o)=>{const h=this._def.items[o]||this._def.rest;return h?h._parse(new rt(i,a,i.path,o)):null}).filter(a=>!!a);return i.common.async?Promise.all(n).then(a=>Le.mergeArray(t,a)):Le.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new st({...this._def,rest:e})}}st.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new st({items:r,typeName:X.ZodTuple,rest:null,...J(e)})};class $i extends Q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==N.object)return B(i,{code:O.invalid_type,expected:N.object,received:i.parsedType}),Y;const s=[],n=this._def.keyType,a=this._def.valueType;for(const o in i.data)s.push({key:n._parse(new rt(i,o,i.path,o)),value:a._parse(new rt(i,i.data[o],i.path,o))});return i.common.async?Le.mergeObjectAsync(t,s):Le.mergeObjectSync(t,s)}get element(){return this._def.valueType}static create(e,t,i){return t instanceof Q?new $i({keyType:e,valueType:t,typeName:X.ZodRecord,...J(i)}):new $i({keyType:mt.create(),valueType:e,typeName:X.ZodRecord,...J(t)})}}class Fr extends Q{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==N.map)return B(i,{code:O.invalid_type,expected:N.map,received:i.parsedType}),Y;const s=this._def.keyType,n=this._def.valueType,a=[...i.data.entries()].map(([o,h],l)=>({key:s._parse(new rt(i,o,i.path,[l,"key"])),value:n._parse(new rt(i,h,i.path,[l,"value"]))}));if(i.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const h of a){const l=await h.key,d=await h.value;if(l.status==="aborted"||d.status==="aborted")return Y;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),o.set(l.value,d.value)}return{status:t.value,value:o}})}else{const o=new Map;for(const h of a){const l=h.key,d=h.value;if(l.status==="aborted"||d.status==="aborted")return Y;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),o.set(l.value,d.value)}return{status:t.value,value:o}}}}Fr.create=(r,e,t)=>new Fr({valueType:e,keyType:r,typeName:X.ZodMap,...J(t)});class Vt extends Q{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==N.set)return B(i,{code:O.invalid_type,expected:N.set,received:i.parsedType}),Y;const s=this._def;s.minSize!==null&&i.data.size<s.minSize.value&&(B(i,{code:O.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),t.dirty()),s.maxSize!==null&&i.data.size>s.maxSize.value&&(B(i,{code:O.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),t.dirty());const n=this._def.valueType;function a(h){const l=new Set;for(const d of h){if(d.status==="aborted")return Y;d.status==="dirty"&&t.dirty(),l.add(d.value)}return{status:t.value,value:l}}const o=[...i.data.values()].map((h,l)=>n._parse(new rt(i,h,i.path,l)));return i.common.async?Promise.all(o).then(h=>a(h)):a(o)}min(e,t){return new Vt({...this._def,minSize:{value:e,message:ee.toString(t)}})}max(e,t){return new Vt({...this._def,maxSize:{value:e,message:ee.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Vt.create=(r,e)=>new Vt({valueType:r,minSize:null,maxSize:null,typeName:X.ZodSet,...J(e)});class ni extends Q{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==N.function)return B(t,{code:O.invalid_type,expected:N.function,received:t.parsedType}),Y;function i(o,h){return Lr({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Mr(),Ii].filter(l=>!!l),issueData:{code:O.invalid_arguments,argumentsError:h}})}function s(o,h){return Lr({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Mr(),Ii].filter(l=>!!l),issueData:{code:O.invalid_return_type,returnTypeError:h}})}const n={errorMap:t.common.contextualErrorMap},a=t.data;return this._def.returns instanceof ui?Oe(async(...o)=>{const h=new it([]),l=await this._def.args.parseAsync(o,n).catch(c=>{throw h.addIssue(i(o,c)),h}),d=await a(...l);return await this._def.returns._def.type.parseAsync(d,n).catch(c=>{throw h.addIssue(s(d,c)),h})}):Oe((...o)=>{const h=this._def.args.safeParse(o,n);if(!h.success)throw new it([i(o,h.error)]);const l=a(...h.data),d=this._def.returns.safeParse(l,n);if(!d.success)throw new it([s(l,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ni({...this._def,args:st.create(e).rest(Ht.create())})}returns(e){return new ni({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,i){return new ni({args:e||st.create([]).rest(Ht.create()),returns:t||Ht.create(),typeName:X.ZodFunction,...J(i)})}}class Vi extends Q{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Vi.create=(r,e)=>new Vi({getter:r,typeName:X.ZodLazy,...J(e)});class zi extends Q{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return B(t,{received:t.data,code:O.invalid_literal,expected:this._def.value}),Y}return{status:"valid",value:e.data}}get value(){return this._def.value}}zi.create=(r,e)=>new zi({value:r,typeName:X.ZodLiteral,...J(e)});function Ho(r,e){return new Mt({values:r,typeName:X.ZodEnum,...J(e)})}class Mt extends Q{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),i=this._def.values;return B(t,{expected:ae.joinValues(i),received:t.parsedType,code:O.invalid_type}),Y}if(this._def.values.indexOf(e.data)===-1){const t=this._getOrReturnCtx(e),i=this._def.values;return B(t,{received:t.data,code:O.invalid_enum_value,options:i}),Y}return Oe(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){return Mt.create(e)}exclude(e){return Mt.create(this.options.filter(t=>!e.includes(t)))}}Mt.create=Ho;class Wi extends Q{_parse(e){const t=ae.getValidEnumValues(this._def.values),i=this._getOrReturnCtx(e);if(i.parsedType!==N.string&&i.parsedType!==N.number){const s=ae.objectValues(t);return B(i,{expected:ae.joinValues(s),received:i.parsedType,code:O.invalid_type}),Y}if(t.indexOf(e.data)===-1){const s=ae.objectValues(t);return B(i,{received:i.data,code:O.invalid_enum_value,options:s}),Y}return Oe(e.data)}get enum(){return this._def.values}}Wi.create=(r,e)=>new Wi({values:r,typeName:X.ZodNativeEnum,...J(e)});class ui extends Q{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==N.promise&&t.common.async===!1)return B(t,{code:O.invalid_type,expected:N.promise,received:t.parsedType}),Y;const i=t.parsedType===N.promise?t.data:Promise.resolve(t.data);return Oe(i.then(s=>this._def.type.parseAsync(s,{path:t.path,errorMap:t.common.contextualErrorMap})))}}ui.create=(r,e)=>new ui({type:r,typeName:X.ZodPromise,...J(e)});class Xe extends Q{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===X.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:i}=this._processInputParams(e),s=this._def.effect||null;if(s.type==="preprocess"){const a=s.transform(i.data);return i.common.async?Promise.resolve(a).then(o=>this._def.schema._parseAsync({data:o,path:i.path,parent:i})):this._def.schema._parseSync({data:a,path:i.path,parent:i})}const n={addIssue:a=>{B(i,a),a.fatal?t.abort():t.dirty()},get path(){return i.path}};if(n.addIssue=n.addIssue.bind(n),s.type==="refinement"){const a=o=>{const h=s.refinement(o,n);if(i.common.async)return Promise.resolve(h);if(h instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(i.common.async===!1){const o=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});return o.status==="aborted"?Y:(o.status==="dirty"&&t.dirty(),a(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(o=>o.status==="aborted"?Y:(o.status==="dirty"&&t.dirty(),a(o.value).then(()=>({status:t.value,value:o.value}))))}if(s.type==="transform")if(i.common.async===!1){const a=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});if(!Rr(a))return a;const o=s.transform(a.value,n);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(a=>Rr(a)?Promise.resolve(s.transform(a.value,n)).then(o=>({status:t.value,value:o})):a);ae.assertNever(s)}}Xe.create=(r,e,t)=>new Xe({schema:r,typeName:X.ZodEffects,effect:e,...J(t)});Xe.createWithPreprocess=(r,e,t)=>new Xe({schema:e,effect:{type:"preprocess",transform:r},typeName:X.ZodEffects,...J(t)});class ft extends Q{_parse(e){return this._getType(e)===N.undefined?Oe(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ft.create=(r,e)=>new ft({innerType:r,typeName:X.ZodOptional,...J(e)});class zt extends Q{_parse(e){return this._getType(e)===N.null?Oe(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}zt.create=(r,e)=>new zt({innerType:r,typeName:X.ZodNullable,...J(e)});class Ui extends Q{_parse(e){const{ctx:t}=this._processInputParams(e);let i=t.data;return t.parsedType===N.undefined&&(i=this._def.defaultValue()),this._def.innerType._parse({data:i,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Ui.create=(r,e)=>new Ui({innerType:r,typeName:X.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...J(e)});class Hr extends Q{_parse(e){const{ctx:t}=this._processInputParams(e),i=this._def.innerType._parse({data:t.data,path:t.path,parent:{...t,common:{...t.common,issues:[]}}});return Ir(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue()})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue()}}removeCatch(){return this._def.innerType}}Hr.create=(r,e)=>new Hr({innerType:r,typeName:X.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...J(e)});class Br extends Q{_parse(e){if(this._getType(e)!==N.nan){const i=this._getOrReturnCtx(e);return B(i,{code:O.invalid_type,expected:N.nan,received:i.parsedType}),Y}return{status:"valid",value:e.data}}}Br.create=r=>new Br({typeName:X.ZodNaN,...J(r)});const ac=Symbol("zod_brand");class Bo extends Q{_parse(e){const{ctx:t}=this._processInputParams(e),i=t.data;return this._def.type._parse({data:i,path:t.path,parent:t})}unwrap(){return this._def.type}}class Ji extends Q{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.common.async)return(async()=>{const n=await this._def.in._parseAsync({data:i.data,path:i.path,parent:i});return n.status==="aborted"?Y:n.status==="dirty"?(t.dirty(),Fo(n.value)):this._def.out._parseAsync({data:n.value,path:i.path,parent:i})})();{const s=this._def.in._parseSync({data:i.data,path:i.path,parent:i});return s.status==="aborted"?Y:s.status==="dirty"?(t.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:i.path,parent:i})}}static create(e,t){return new Ji({in:e,out:t,typeName:X.ZodPipeline})}}const $o=(r,e={},t)=>r?di.create().superRefine((i,s)=>{if(!r(i)){const n=typeof e=="function"?e(i):e,a=typeof n=="string"?{message:n}:n;s.addIssue({code:"custom",...a,fatal:t})}}):di.create(),oc={object:pe.lazycreate};var X;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline"})(X||(X={}));const lc=(r,e={message:`Input not instance of ${r.name}`})=>$o(t=>t instanceof r,e,!0),Vo=mt.create,zo=Ot.create,hc=Br.create,dc=Ni.create,Wo=Gi.create,uc=$t.create,cc=Nr.create,fc=Di.create,pc=Fi.create,mc=di.create,gc=Ht.create,vc=gt.create,yc=Gr.create,bc=Ze.create,_c=pe.create,wc=pe.strictCreate,Sc=Hi.create,Tc=Yr.create,Cc=Bi.create,Ec=st.create,kc=$i.create,xc=Fr.create,Pc=Vt.create,Ac=ni.create,Oc=Vi.create,Mc=zi.create,Lc=Mt.create,Rc=Wi.create,Ic=ui.create,ta=Xe.create,Nc=ft.create,Gc=zt.create,Dc=Xe.createWithPreprocess,Fc=Ji.create,Hc=()=>Vo().optional(),Bc=()=>zo().optional(),$c=()=>Wo().optional(),Vc={string:r=>mt.create({...r,coerce:!0}),number:r=>Ot.create({...r,coerce:!0}),boolean:r=>Gi.create({...r,coerce:!0}),bigint:r=>Ni.create({...r,coerce:!0}),date:r=>$t.create({...r,coerce:!0})},zc=Y;var _e=Object.freeze({__proto__:null,defaultErrorMap:Ii,setErrorMap:Ju,getErrorMap:Mr,makeIssue:Lr,EMPTY_PATH:Qu,addIssueToContext:B,ParseStatus:Le,INVALID:Y,DIRTY:Fo,OK:Oe,isAborted:Ls,isDirty:Rs,isValid:Rr,isAsync:Ir,get util(){return ae},ZodParsedType:N,getParsedType:xt,ZodType:Q,ZodString:mt,ZodNumber:Ot,ZodBigInt:Ni,ZodBoolean:Gi,ZodDate:$t,ZodSymbol:Nr,ZodUndefined:Di,ZodNull:Fi,ZodAny:di,ZodUnknown:Ht,ZodNever:gt,ZodVoid:Gr,ZodArray:Ze,get objectUtil(){return Dr},ZodObject:pe,ZodUnion:Hi,ZodDiscriminatedUnion:Yr,ZodIntersection:Bi,ZodTuple:st,ZodRecord:$i,ZodMap:Fr,ZodSet:Vt,ZodFunction:ni,ZodLazy:Vi,ZodLiteral:zi,ZodEnum:Mt,ZodNativeEnum:Wi,ZodPromise:ui,ZodEffects:Xe,ZodTransformer:Xe,ZodOptional:ft,ZodNullable:zt,ZodDefault:Ui,ZodCatch:Hr,ZodNaN:Br,BRAND:ac,ZodBranded:Bo,ZodPipeline:Ji,custom:$o,Schema:Q,ZodSchema:Q,late:oc,get ZodFirstPartyTypeKind(){return X},coerce:Vc,any:mc,array:bc,bigint:dc,boolean:Wo,date:uc,discriminatedUnion:Tc,effect:ta,enum:Lc,function:Ac,instanceof:lc,intersection:Cc,lazy:Oc,literal:Mc,map:xc,nan:hc,nativeEnum:Rc,never:vc,null:pc,nullable:Gc,number:zo,object:_c,oboolean:$c,onumber:Bc,optional:Nc,ostring:Hc,pipeline:Fc,preprocess:Dc,promise:Ic,record:kc,set:Pc,strictObject:wc,string:Vo,symbol:cc,transformer:ta,tuple:Ec,undefined:fc,union:Sc,unknown:gc,void:yc,NEVER:zc,ZodIssueCode:O,quotelessJson:Ku,ZodError:it});class ai{static id(){return e=>_e.coerce.string().min(1).max(100).parse(e)}static description(){return e=>_e.coerce.string().max(1e3).parse(e)}static boolean(){return e=>_e.coerce.boolean().parse(e)}static url(){return e=>_e.coerce.string().url().parse(e)}}class lt{constructor(){this.onChange$=new Qt(void 0)}static instance(){return lt._instance||(lt._instance=new lt),lt._instance}get styles(){return this._styles}set styles(e){this._styles={...this._styles,...e},this.onChange$.next(this._styles)}}const Qi={height:80,backgroundFill:"#ffffff",backgroundOpacity:1,descriptionTextFill:"#1c1c1c",descriptionFontSize:15,leftBackgroundFill:"#ffffff",leftBackgroundOpacity:1};class er extends Je{constructor(e){super(e),this.stylesProvider=lt.instance(),this.id=ai.id()(this.config.id),this.description=ai.description()(this.config.description)}createCanvasNode(){return this.bodyGroup=new A.Group({...this.timelinePosition,width:this.timeline.getBodyGroupRect().width,height:this.styleAdapter.style.height}),this.bodyBackground=new A.Rect({...F.POSITION_TOP_LEFT,...this.bodyGroup.getSize(),fill:this.styleAdapter.style.backgroundFill,opacity:this.styleAdapter.style.backgroundOpacity,listening:!1}),this.leftGroup=new A.Group({...F.POSITION_TOP_LEFT,width:this.timeline.getLeftPanelRect().width,listening:!1}),this.leftBackground=new A.Rect({...F.POSITION_TOP_LEFT,...this.leftGroup.getSize(),fill:this.styleAdapter.style.leftBackgroundFill,opacity:this.styleAdapter.style.leftBackgroundOpacity,listening:!1}),this.leftPanelText=new A.Text({...F.POSITION_TOP_LEFT,text:this.description,fontSize:this.style.descriptionFontSize,fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily,fill:this.style.descriptionTextFill,width:this.leftGroup.width()-10,height:this.getRect().height,verticalAlign:"middle",align:"right"}),this.leftGroup.add(this.leftBackground),this.leftGroup.add(this.leftPanelText),this.bodyGroup.add(this.bodyBackground),this.bodyGroup.add(this.leftGroup),this.bodyGroup}afterCanvasNodeInit(){this.settleLayout(),this.timeline.onZoom$.pipe(I(this.onDestroy$)).subscribe(e=>{this.settleLayout()}),this.stylesProvider.onChange$.pipe(I(this.onDestroy$),$e(e=>!!e)).subscribe(e=>{this.onStylesProviderChange()}),this.styleAdapter.onChange$.pipe(I(this.onDestroy$),$e(e=>!!e)).subscribe(e=>{this.onStyleChange()})}onMeasurementsChange(){this.settleLayout()}onStylesProviderChange(){this.leftPanelText.setAttrs({fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily})}onStyleChange(){this.bodyBackground.setAttrs({fill:this.styleAdapter.style.backgroundFill,opacity:this.styleAdapter.style.backgroundOpacity}),this.leftBackground.setAttrs({fill:this.styleAdapter.style.leftBackgroundFill,opacity:this.styleAdapter.style.leftBackgroundOpacity}),this.leftPanelText.setAttrs({fill:this.styleAdapter.style.leftBackgroundFill,opacity:this.styleAdapter.style.leftBackgroundOpacity})}settleLayout(){this.bodyGroup.setAttrs({...this.timelinePosition,width:this.timeline.getBodyGroupRect().width}),this.bodyBackground.setAttrs({...this.bodyGroup.getSize()}),this.leftGroup.setAttrs({width:this.timeline.getLeftPanelRect().width,height:this.bodyGroup.height(),visible:this.timeline.getLeftPanelVisible()}),this.leftBackground.setAttrs({...this.leftGroup.getSize()})}isTimelineReady(){return this.timeline&&this.timeline.isTimelineReady()}clearContent(){}setTimeline(e){this.timeline=e}setVideoController(e){this.videoController=e}get style(){return super.style}set style(e){super.style=e}getRect(){return{...this.getPosition(),...this.getDimension()}}getPosition(){return{...this.bodyGroup.getPosition()}}getDimension(){return{...this.bodyGroup.getSize()}}getId(){return this.id}getDescription(){return this.description}setTimelinePosition(e){this.timelinePosition=e}getTimelinePosition(){return this.timelinePosition}}const Uo={color:"rgba(255,73,145)",renderType:"lane",symbolType:"square"};class Zo extends Je{constructor(e){super(e),this.onChange$=new V,this.onClick$=new V,this.onMouseEnter$=new V,this.onMouseLeave$=new V,this.id=ai.id()(this.config.id),this.description=ai.description()(this.config.description),this.editable=ai.boolean()(this.config.editable),this.observation=this.config.observation}createCanvasNode(){return this.group=new A.Group({...F.POSITION_TOP_LEFT,...this.timeline.getTimecodedGroupDimension()}),this.group}afterCanvasNodeInit(){this.timeline.onZoom$.pipe(I(this.onDestroy$)).subscribe(e=>{this.onMeasurementsChange()}),this.group.on("click",e=>{this.onClick$.next({})}),this.group.on("mouseenter",e=>{this.onMouseEnter$.next({})}),this.group.on("mouseleave",e=>{this.onMouseLeave$.next({})})}onMeasurementsChange(){this.group.setAttrs({...this.timeline.getTimecodedGroupDimension()})}destroy(){super.destroy(),this.onChange$.unsubscribe(),this.onClick$.unsubscribe(),this.onMouseEnter$.unsubscribe(),this.onMouseLeave$.unsubscribe()}setTimeline(e){this.timeline=e}setMarkerLane(e){this.markerLane=e}getId(){return this.id}getDescription(){return this.description}getTimeObservation(){return this.observation}setTimeObservation(e){this.editable&&(this.observation=e,this.onChange())}setEditable(e){this.editable=e}get style(){return this.styleAdapter.style}setStyle(e){this.styleAdapter.style=e}}class et{static resetCursorStyle(){this.cursor("default")}static cursor(e){document.body.style.cursor=e}}const jo={color:"#ff6c6c",markerRenderType:"lane",markerSymbolType:"square",lineStrokeWidth:1,lineOpacity:.7};class Xo extends Je{constructor(e,t,i){super(e),this.onDrag=s=>{},this.onDragEnd=s=>{},this.markerLane=t,this.timeline=i,this.x=this.config.x,this.editable=this.config.editable}createCanvasNode(){let e=this.getVerticalMeasurement();return this.group=new A.Group({x:this.x,y:e.y,draggable:this.editable}),this.line=new A.Line({stroke:this.style.color,strokeWidth:this.style.lineStrokeWidth,opacity:this.style.lineOpacity,points:[0,0,0,e.height],listening:!1}),this.handleGroup=new A.Group({x:0,y:this.markerLane.getPosition().y-e.y+this.markerLane.getDimension().height/2}),this.symbol=this.createSymbol(),this.handleGroup.add(this.symbol),this.handleGroup.on("mouseover",t=>{this.editable&&(this.handleGroup.to({scaleX:1.5,scaleY:1.5,duration:.1}),et.cursor("grab"))}),this.handleGroup.on("mouseleave",()=>{this.editable&&(this.handleGroup.to({scaleX:1,scaleY:1,duration:.1}),et.cursor("default"))}),this.group.add(this.line),this.group.add(this.handleGroup),this.group}afterCanvasNodeInit(){let e=this.getVerticalMeasurement();this.group.on("dragstart dragmove",t=>{et.cursor("grabbing");let i=this.timeline.constrainTimelinePosition(this.group.getPosition().x);this.group.setAttrs({x:i,y:e.y}),this.onDrag(this.group)}),this.group.on("dragend",t=>{let i=this.timeline.constrainTimelinePosition(this.group.getPosition().x);this.group.setAttrs({x:i,y:e.y}),this.onDragEnd(this.group),et.cursor("default")})}onMeasurementsChange(){let e=this.getVerticalMeasurement();this.group.setAttrs({y:e.y}),this.line.setAttrs({points:[0,0,0,e.height]}),this.handleGroup.setAttrs({y:this.markerLane.getPosition().y-e.y+this.markerLane.getDimension().height/2})}getVerticalMeasurement(){switch(this.style.markerRenderType){case"spanning":return{y:0,height:this.timeline.getTimecodedGroupDimension().height};default:return{y:this.markerLane.getTimelinePosition().y,height:this.markerLane.getDimension().height}}}getHandleGroup(){return this.handleGroup}getSymbol(){return this.symbol}getPosition(){return this.group.getPosition()}setPosition(e){this.group.setAttrs({...e}),this.onMeasurementsChange()}setColor(e){this.style.color=e,this.line.setAttrs({stroke:this.style.color}),this.symbol.setAttrs({fill:this.style.color})}setEditable(e){this.editable=e,this.group.draggable(this.editable)}}/*!
4
+ `):"",this.name="UnsubscriptionError",this.errors=t}});function Pr(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1)}}var qi=function(){function r(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return r.prototype.unsubscribe=function(){var e,t,i,s,n;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var o=li(a),h=o.next();!h.done;h=o.next()){var l=h.value;l.remove(this)}}catch(m){e={error:m}}finally{try{h&&!h.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}else a.remove(this);var d=this.initialTeardown;if(de(d))try{d()}catch(m){n=m instanceof ps?m.errors:[m]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var c=li(u),p=c.next();!p.done;p=c.next()){var f=p.value;try{jn(f)}catch(m){n=n??[],m instanceof ps?n=Bt(Bt([],At(n)),At(m.errors)):n.push(m)}}}catch(m){i={error:m}}finally{try{p&&!p.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}}if(n)throw new ps(n)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)jn(e);else{if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},r.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},r.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},r.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&Pr(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&Pr(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=function(){var e=new r;return e.closed=!0,e}(),r}(),ho=qi.EMPTY;function uo(r){return r instanceof qi||r&&"closed"in r&&de(r.remove)&&de(r.add)&&de(r.unsubscribe)}function jn(r){de(r)?r():r.unsubscribe()}var co={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Os={setTimeout:function(r,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];var s=Os.delegate;return s!=null&&s.setTimeout?s.setTimeout.apply(s,Bt([r,e],At(t))):setTimeout.apply(void 0,Bt([r,e],At(t)))},clearTimeout:function(r){var e=Os.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(r)},delegate:void 0};function fo(r){Os.setTimeout(function(){throw r})}function Ar(){}function _r(r){r()}var nn=function(r){_t(e,r);function e(t){var i=r.call(this)||this;return i.isStopped=!1,t?(i.destination=t,uo(t)&&t.add(i)):i.destination=Kd,i}return e.create=function(t,i,s){return new Ms(t,i,s)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,r.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(qi),Xd=Function.prototype.bind;function ms(r,e){return Xd.call(r,e)}var qd=function(){function r(e){this.partialObserver=e}return r.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(i){pr(i)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(i){pr(i)}else pr(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){pr(t)}},r}(),Ms=function(r){_t(e,r);function e(t,i,s){var n=r.call(this)||this,a;if(de(t)||!t)a={next:t??void 0,error:i??void 0,complete:s??void 0};else{var o;n&&co.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=function(){return n.unsubscribe()},a={next:t.next&&ms(t.next,o),error:t.error&&ms(t.error,o),complete:t.complete&&ms(t.complete,o)}):a=t}return n.destination=new qd(a),n}return e}(nn);function pr(r){fo(r)}function Yd(r){throw r}var Kd={closed:!0,next:Ar,error:Yd,complete:Ar},an=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Yi(r){return r}function Jd(r){return r.length===0?Yi:r.length===1?r[0]:function(t){return r.reduce(function(i,s){return s(i)},t)}}var se=function(){function r(e){e&&(this._subscribe=e)}return r.prototype.lift=function(e){var t=new r;return t.source=this,t.operator=e,t},r.prototype.subscribe=function(e,t,i){var s=this,n=eu(e)?e:new Ms(e,t,i);return _r(function(){var a=s,o=a.operator,h=a.source;n.add(o?o.call(n,h):h?s._subscribe(n):s._trySubscribe(n))}),n},r.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},r.prototype.forEach=function(e,t){var i=this;return t=Xn(t),new t(function(s,n){var a=new Ms({next:function(o){try{e(o)}catch(h){n(h),a.unsubscribe()}},error:n,complete:s});i.subscribe(a)})},r.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[an]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Jd(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=Xn(e),new e(function(i,s){var n;t.subscribe(function(a){return n=a},function(a){return s(a)},function(){return i(n)})})},r.create=function(e){return new r(e)},r}();function Xn(r){var e;return(e=r??co.Promise)!==null&&e!==void 0?e:Promise}function Qd(r){return r&&de(r.next)&&de(r.error)&&de(r.complete)}function eu(r){return r&&r instanceof nn||Qd(r)&&uo(r)}function tu(r){return de(r==null?void 0:r.lift)}function Fe(r){return function(e){if(tu(e))return e.lift(function(t){try{return r(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ae(r,e,t,i,s){return new iu(r,e,t,i,s)}var iu=function(r){_t(e,r);function e(t,i,s,n,a,o){var h=r.call(this,t)||this;return h.onFinalize=a,h.shouldUnsubscribe=o,h._next=i?function(l){try{i(l)}catch(d){t.error(d)}}:r.prototype._next,h._error=n?function(l){try{n(l)}catch(d){t.error(d)}finally{this.unsubscribe()}}:r.prototype._error,h._complete=s?function(){try{s()}catch(l){t.error(l)}finally{this.unsubscribe()}}:r.prototype._complete,h}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var i=this.closed;r.prototype.unsubscribe.call(this),!i&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e}(nn),ru=sn(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),V=function(r){_t(e,r);function e(){var t=r.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var i=new qn(this,this);return i.operator=t,i},e.prototype._throwIfClosed=function(){if(this.closed)throw new ru},e.prototype.next=function(t){var i=this;_r(function(){var s,n;if(i._throwIfClosed(),!i.isStopped){i.currentObservers||(i.currentObservers=Array.from(i.observers));try{for(var a=li(i.currentObservers),o=a.next();!o.done;o=a.next()){var h=o.value;h.next(t)}}catch(l){s={error:l}}finally{try{o&&!o.done&&(n=a.return)&&n.call(a)}finally{if(s)throw s.error}}}})},e.prototype.error=function(t){var i=this;_r(function(){if(i._throwIfClosed(),!i.isStopped){i.hasError=i.isStopped=!0,i.thrownError=t;for(var s=i.observers;s.length;)s.shift().error(t)}})},e.prototype.complete=function(){var t=this;_r(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var i=t.observers;i.length;)i.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),r.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var i=this,s=this,n=s.hasError,a=s.isStopped,o=s.observers;return n||a?ho:(this.currentObservers=null,o.push(t),new qi(function(){i.currentObservers=null,Pr(o,t)}))},e.prototype._checkFinalizedStatuses=function(t){var i=this,s=i.hasError,n=i.thrownError,a=i.isStopped;s?t.error(n):a&&t.complete()},e.prototype.asObservable=function(){var t=new se;return t.source=this,t},e.create=function(t,i){return new qn(t,i)},e}(se),qn=function(r){_t(e,r);function e(t,i){var s=r.call(this)||this;return s.destination=t,s.source=i,s}return e.prototype.next=function(t){var i,s;(s=(i=this.destination)===null||i===void 0?void 0:i.next)===null||s===void 0||s.call(i,t)},e.prototype.error=function(t){var i,s;(s=(i=this.destination)===null||i===void 0?void 0:i.error)===null||s===void 0||s.call(i,t)},e.prototype.complete=function(){var t,i;(i=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||i===void 0||i.call(t)},e.prototype._subscribe=function(t){var i,s;return(s=(i=this.source)===null||i===void 0?void 0:i.subscribe(t))!==null&&s!==void 0?s:ho},e}(V),Qt=function(r){_t(e,r);function e(t){var i=r.call(this)||this;return i._value=t,i}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(t){var i=r.prototype._subscribe.call(this,t);return!i.closed&&t.next(this._value),i},e.prototype.getValue=function(){var t=this,i=t.hasError,s=t.thrownError,n=t._value;if(i)throw s;return this._throwIfClosed(),n},e.prototype.next=function(t){r.prototype.next.call(this,this._value=t)},e}(V),po={now:function(){return(po.delegate||Date).now()},delegate:void 0},su=function(r){_t(e,r);function e(t,i){return r.call(this)||this}return e.prototype.schedule=function(t,i){return this},e}(qi),Or={setInterval:function(r,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];var s=Or.delegate;return s!=null&&s.setInterval?s.setInterval.apply(s,Bt([r,e],At(t))):setInterval.apply(void 0,Bt([r,e],At(t)))},clearInterval:function(r){var e=Or.delegate;return((e==null?void 0:e.clearInterval)||clearInterval)(r)},delegate:void 0},nu=function(r){_t(e,r);function e(t,i){var s=r.call(this,t,i)||this;return s.scheduler=t,s.work=i,s.pending=!1,s}return e.prototype.schedule=function(t,i){var s;if(i===void 0&&(i=0),this.closed)return this;this.state=t;var n=this.id,a=this.scheduler;return n!=null&&(this.id=this.recycleAsyncId(a,n,i)),this.pending=!0,this.delay=i,this.id=(s=this.id)!==null&&s!==void 0?s:this.requestAsyncId(a,this.id,i),this},e.prototype.requestAsyncId=function(t,i,s){return s===void 0&&(s=0),Or.setInterval(t.flush.bind(t,this),s)},e.prototype.recycleAsyncId=function(t,i,s){if(s===void 0&&(s=0),s!=null&&this.delay===s&&this.pending===!1)return i;i!=null&&Or.clearInterval(i)},e.prototype.execute=function(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var s=this._execute(t,i);if(s)return s;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,i){var s=!1,n;try{this.work(t)}catch(a){s=!0,n=a||new Error("Scheduled action threw falsy error")}if(s)return this.unsubscribe(),n},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,i=t.id,s=t.scheduler,n=s.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Pr(n,this),i!=null&&(this.id=this.recycleAsyncId(s,i,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e}(su),Yn=function(){function r(e,t){t===void 0&&(t=r.now),this.schedulerActionCtor=e,this.now=t}return r.prototype.schedule=function(e,t,i){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(i,t)},r.now=po.now,r}(),au=function(r){_t(e,r);function e(t,i){i===void 0&&(i=Yn.now);var s=r.call(this,t,i)||this;return s.actions=[],s._active=!1,s}return e.prototype.flush=function(t){var i=this.actions;if(this._active){i.push(t);return}var s;this._active=!0;do if(s=t.execute(t.state,t.delay))break;while(t=i.shift());if(this._active=!1,s){for(;t=i.shift();)t.unsubscribe();throw s}},e}(Yn),Xr=new au(nu),ou=Xr,lu=new se(function(r){return r.complete()});function mo(r){return r&&de(r.schedule)}function go(r){return r[r.length-1]}function vo(r){return de(go(r))?r.pop():void 0}function on(r){return mo(go(r))?r.pop():void 0}var ln=function(r){return r&&typeof r.length=="number"&&typeof r!="function"};function yo(r){return de(r==null?void 0:r.then)}function bo(r){return de(r[an])}function _o(r){return Symbol.asyncIterator&&de(r==null?void 0:r[Symbol.asyncIterator])}function wo(r){return new TypeError("You provided "+(r!==null&&typeof r=="object"?"an invalid object":"'"+r+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function hu(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var So=hu();function To(r){return de(r==null?void 0:r[So])}function Co(r){return Zd(this,arguments,function(){var t,i,s,n;return lo(this,function(a){switch(a.label){case 0:t=r.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,si(t.read())];case 3:return i=a.sent(),s=i.value,n=i.done,n?[4,si(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,si(s)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Eo(r){return de(r==null?void 0:r.getReader)}function Ke(r){if(r instanceof se)return r;if(r!=null){if(bo(r))return du(r);if(ln(r))return uu(r);if(yo(r))return cu(r);if(_o(r))return ko(r);if(To(r))return fu(r);if(Eo(r))return pu(r)}throw wo(r)}function du(r){return new se(function(e){var t=r[an]();if(de(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function uu(r){return new se(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function cu(r){return new se(function(e){r.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,fo)})}function fu(r){return new se(function(e){var t,i;try{for(var s=li(r),n=s.next();!n.done;n=s.next()){var a=n.value;if(e.next(a),e.closed)return}}catch(o){t={error:o}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}e.complete()})}function ko(r){return new se(function(e){mu(r,e).catch(function(t){return e.error(t)})})}function pu(r){return ko(Co(r))}function mu(r,e){var t,i,s,n;return Ud(this,void 0,void 0,function(){var a,o;return lo(this,function(h){switch(h.label){case 0:h.trys.push([0,5,6,11]),t=jd(r),h.label=1;case 1:return[4,t.next()];case 2:if(i=h.sent(),!!i.done)return[3,4];if(a=i.value,e.next(a),e.closed)return[2];h.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return o=h.sent(),s={error:o},[3,11];case 6:return h.trys.push([6,,9,10]),i&&!i.done&&(n=t.return)?[4,n.call(t)]:[3,8];case 7:h.sent(),h.label=8;case 8:return[3,10];case 9:if(s)throw s.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function ut(r,e,t,i,s){i===void 0&&(i=0),s===void 0&&(s=!1);var n=e.schedule(function(){t(),s?r.add(this.schedule(null,i)):this.unsubscribe()},i);if(r.add(n),!s)return n}function xo(r,e){return e===void 0&&(e=0),Fe(function(t,i){t.subscribe(Ae(i,function(s){return ut(i,r,function(){return i.next(s)},e)},function(){return ut(i,r,function(){return i.complete()},e)},function(s){return ut(i,r,function(){return i.error(s)},e)}))})}function Po(r,e){return e===void 0&&(e=0),Fe(function(t,i){i.add(r.schedule(function(){return t.subscribe(i)},e))})}function gu(r,e){return Ke(r).pipe(Po(e),xo(e))}function vu(r,e){return Ke(r).pipe(Po(e),xo(e))}function yu(r,e){return new se(function(t){var i=0;return e.schedule(function(){i===r.length?t.complete():(t.next(r[i++]),t.closed||this.schedule())})})}function bu(r,e){return new se(function(t){var i;return ut(t,e,function(){i=r[So](),ut(t,e,function(){var s,n,a;try{s=i.next(),n=s.value,a=s.done}catch(o){t.error(o);return}a?t.complete():t.next(n)},0,!0)}),function(){return de(i==null?void 0:i.return)&&i.return()}})}function Ao(r,e){if(!r)throw new Error("Iterable cannot be null");return new se(function(t){ut(t,e,function(){var i=r[Symbol.asyncIterator]();ut(t,e,function(){i.next().then(function(s){s.done?t.complete():t.next(s.value)})},0,!0)})})}function _u(r,e){return Ao(Co(r),e)}function wu(r,e){if(r!=null){if(bo(r))return gu(r,e);if(ln(r))return yu(r,e);if(yo(r))return vu(r,e);if(_o(r))return Ao(r,e);if(To(r))return bu(r,e);if(Eo(r))return _u(r,e)}throw wo(r)}function Ki(r,e){return e?wu(r,e):Ke(r)}function Ee(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=on(r);return Ki(r,t)}function Kn(r,e){var t=de(r)?r:function(){return r},i=function(s){return s.error(t())};return new se(e?function(s){return e.schedule(i,0,s)}:i)}var Oo=sn(function(r){return function(){r(this),this.name="EmptyError",this.message="no elements in sequence"}});function Su(r){return r instanceof Date&&!isNaN(r)}function ke(r,e){return Fe(function(t,i){var s=0;t.subscribe(Ae(i,function(n){i.next(r.call(e,n,s++))}))})}var Tu=Array.isArray;function Cu(r,e){return Tu(e)?r.apply(void 0,Bt([],At(e))):r(e)}function hn(r){return ke(function(e){return Cu(r,e)})}var Eu=Array.isArray,ku=Object.getPrototypeOf,xu=Object.prototype,Pu=Object.keys;function Mo(r){if(r.length===1){var e=r[0];if(Eu(e))return{args:e,keys:null};if(Au(e)){var t=Pu(e);return{args:t.map(function(i){return e[i]}),keys:t}}}return{args:r,keys:null}}function Au(r){return r&&typeof r=="object"&&ku(r)===xu}function Lo(r,e){return r.reduce(function(t,i,s){return t[i]=e[s],t},{})}function Ou(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=on(r),i=vo(r),s=Mo(r),n=s.args,a=s.keys;if(n.length===0)return Ki([],t);var o=new se(Mu(n,t,a?function(h){return Lo(a,h)}:Yi));return i?o.pipe(hn(i)):o}function Mu(r,e,t){return t===void 0&&(t=Yi),function(i){Jn(e,function(){for(var s=r.length,n=new Array(s),a=s,o=s,h=function(d){Jn(e,function(){var u=Ki(r[d],e),c=!1;u.subscribe(Ae(i,function(p){n[d]=p,c||(c=!0,o--),o||i.next(t(n.slice()))},function(){--a||i.complete()}))},i)},l=0;l<s;l++)h(l)},i)}}function Jn(r,e,t){r?ut(t,r,e):e()}function Lu(r,e,t,i,s,n,a,o){var h=[],l=0,d=0,u=!1,c=function(){u&&!h.length&&!l&&e.complete()},p=function(m){return l<i?f(m):h.push(m)},f=function(m){n&&e.next(m),l++;var v=!1;Ke(t(m,d++)).subscribe(Ae(e,function(_){s==null||s(_),n?p(_):e.next(_)},function(){v=!0},void 0,function(){if(v)try{l--;for(var _=function(){var w=h.shift();a?ut(e,a,function(){return f(w)}):f(w)};h.length&&l<i;)_();c()}catch(w){e.error(w)}}))};return r.subscribe(Ae(e,p,function(){u=!0,c()})),function(){o==null||o()}}function qr(r,e,t){return t===void 0&&(t=1/0),de(e)?qr(function(i,s){return ke(function(n,a){return e(i,n,s,a)})(Ke(r(i,s)))},t):(typeof e=="number"&&(t=e),Fe(function(i,s){return Lu(i,s,r,t)}))}function Ru(r){return r===void 0&&(r=1/0),qr(Yi,r)}function Iu(){return Ru(1)}function Nu(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return Iu()(Ki(r,on(r)))}function Gu(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=vo(r),i=Mo(r),s=i.args,n=i.keys,a=new se(function(o){var h=s.length;if(!h){o.complete();return}for(var l=new Array(h),d=h,u=h,c=function(f){var m=!1;Ke(s[f]).subscribe(Ae(o,function(v){m||(m=!0,u--),l[f]=v},function(){return d--},void 0,function(){(!d||!m)&&(u||o.next(n?Lo(n,l):l),o.complete())}))},p=0;p<h;p++)c(p)});return t?a.pipe(hn(t)):a}var Du=["addListener","removeListener"],Fu=["addEventListener","removeEventListener"],Hu=["on","off"];function be(r,e,t,i){if(de(t)&&(i=t,t=void 0),i)return be(r,e,t).pipe(hn(i));var s=At(Vu(r)?Fu.map(function(o){return function(h){return r[o](e,h,t)}}):Bu(r)?Du.map(Qn(r,e)):$u(r)?Hu.map(Qn(r,e)):[],2),n=s[0],a=s[1];if(!n&&ln(r))return qr(function(o){return be(o,e,t)})(Ke(r));if(!n)throw new TypeError("Invalid event target");return new se(function(o){var h=function(){for(var l=[],d=0;d<arguments.length;d++)l[d]=arguments[d];return o.next(1<l.length?l:l[0])};return n(h),function(){return a(h)}})}function Qn(r,e){return function(t){return function(i){return r[t](e,i)}}}function Bu(r){return de(r.addListener)&&de(r.removeListener)}function $u(r){return de(r.on)&&de(r.off)}function Vu(r){return de(r.addEventListener)&&de(r.removeEventListener)}function Ro(r,e,t){r===void 0&&(r=0),t===void 0&&(t=ou);var i=-1;return e!=null&&(mo(e)?t=e:i=e),new se(function(s){var n=Su(r)?+r-t.now():r;n<0&&(n=0);var a=0;return t.schedule(function(){s.closed||(s.next(a++),0<=i?this.schedule(void 0,i):s.complete())},n)})}function zu(r,e){return r===void 0&&(r=0),e===void 0&&(e=Xr),r<0&&(r=0),Ro(r,r,e)}function $e(r,e){return Fe(function(t,i){var s=0;t.subscribe(Ae(i,function(n){return r.call(e,n,s++)&&i.next(n)}))})}function gi(r){return Fe(function(e,t){var i=null,s=!1,n;i=e.subscribe(Ae(t,void 0,void 0,function(a){n=Ke(r(a,gi(r)(e))),i?(i.unsubscribe(),i=null,n.subscribe(t)):s=!0})),s&&(i.unsubscribe(),i=null,n.subscribe(t))})}function Io(r,e){return e===void 0&&(e=Xr),Fe(function(t,i){var s=null,n=null,a=null,o=function(){if(s){s.unsubscribe(),s=null;var l=n;n=null,i.next(l)}};function h(){var l=a+r,d=e.now();if(d<l){s=this.schedule(void 0,l-d),i.add(s);return}o()}t.subscribe(Ae(i,function(l){n=l,a=e.now(),s||(s=e.schedule(h,r),i.add(s))},function(){o(),i.complete()},void 0,function(){n=s=null}))})}function Wu(r){return Fe(function(e,t){var i=!1;e.subscribe(Ae(t,function(s){i=!0,t.next(s)},function(){i||t.next(r),t.complete()}))})}function ct(r){return r<=0?function(){return lu}:Fe(function(e,t){var i=0;e.subscribe(Ae(t,function(s){++i<=r&&(t.next(s),r<=i&&t.complete())}))})}function Uu(){return Fe(function(r,e){r.subscribe(Ae(e,Ar))})}function Zu(r){return ke(function(){return r})}function No(r,e){return e?function(t){return Nu(e.pipe(ct(1),Uu()),t.pipe(No(r)))}:qr(function(t,i){return Ke(r(t,i)).pipe(ct(1),Zu(t))})}function ju(r,e){e===void 0&&(e=Xr);var t=Ro(r,e);return No(function(){return t})}function Xu(r){return r===void 0&&(r=qu),Fe(function(e,t){var i=!1;e.subscribe(Ae(t,function(s){i=!0,t.next(s)},function(){return i?t.complete():t.error(r())}))})}function qu(){return new Oo}function hi(r,e){var t=arguments.length>=2;return function(i){return i.pipe(r?$e(function(s,n){return r(s,n,i)}):Yi,ct(1),t?Wu(e):Xu(function(){return new Oo}))}}function Yu(r,e){return Fe(function(t,i){var s=null,n=0,a=!1,o=function(){return a&&!s&&i.complete()};t.subscribe(Ae(i,function(h){s==null||s.unsubscribe();var l=0,d=n++;Ke(r(h,d)).subscribe(s=Ae(i,function(u){return i.next(e?e(h,u,d,l++):u)},function(){s=null,o()}))},function(){a=!0,o()}))})}function x(r){return Fe(function(e,t){Ke(r).subscribe(Ae(t,function(){return t.complete()},Ar)),!t.closed&&e.subscribe(t)})}class Go{constructor(e){this.onChange$=new V,this.style=e}get style(){return this._style}set style(e){this._style={...this._style,...e},this.onChange$.next(this._style)}}const vi=(r,e)=>({...e,...r,style:{...e.style,...r.style}});class Je{constructor(e){this.onDestroy$=new V,this.config=e,this.styleAdapter=new Go(e.style)}initCanvasNode(){if(this.isInitialized())throw new Error("Konva node already initalized");return this.canvasNode=this.createCanvasNode(),this.afterCanvasNodeInit(),this.canvasNode}initCanvasNodeAsync(){return this.createCanvasNodeAsync().pipe(ke(e=>(this.canvasNode=e,this.afterCanvasNodeInit(),this.canvasNode)))}createCanvasNodeAsync(){return Ee(this.createCanvasNode())}afterCanvasNodeInit(){}destroy(){this.isInitialized()&&this.getCanvasNode().destroy(),this.onDestroy$.next(),this.onDestroy$.complete()}getCanvasNode(){return this.canvasNode}isInitialized(){return!!this.getCanvasNode()}get style(){return this.styleAdapter.style}set style(e){this.styleAdapter.style=e}}class F{}F.POSITION_TOP_LEFT={x:0,y:0};F.DIMENSION_ZERO={width:0,height:0};F.GOLDEN_RATIO=1.61;F.TIMELINE_ZOOM_EASED_DURATION_MS=800;F.TIMELINE_SCROLL_EASED_DURATION_MS=200;F.MIME_TYPE_VND_APPLE_MPEGURL="application/vnd.apple.mpegurl";var ae;(function(r){r.assertEqual=s=>s;function e(s){}r.assertIs=e;function t(s){throw new Error}r.assertNever=t,r.arrayToEnum=s=>{const n={};for(const a of s)n[a]=a;return n},r.getValidEnumValues=s=>{const n=r.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),a={};for(const o of n)a[o]=s[o];return r.objectValues(a)},r.objectValues=s=>r.objectKeys(s).map(function(n){return s[n]}),r.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{const n=[];for(const a in s)Object.prototype.hasOwnProperty.call(s,a)&&n.push(a);return n},r.find=(s,n)=>{for(const a of s)if(n(a))return a},r.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&isFinite(s)&&Math.floor(s)===s;function i(s,n=" | "){return s.map(a=>typeof a=="string"?`'${a}'`:a).join(n)}r.joinValues=i,r.jsonStringifyReplacer=(s,n)=>typeof n=="bigint"?n.toString():n})(ae||(ae={}));const N=ae.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),xt=r=>{switch(typeof r){case"undefined":return N.undefined;case"string":return N.string;case"number":return isNaN(r)?N.nan:N.number;case"boolean":return N.boolean;case"function":return N.function;case"bigint":return N.bigint;case"symbol":return N.symbol;case"object":return Array.isArray(r)?N.array:r===null?N.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?N.promise:typeof Map<"u"&&r instanceof Map?N.map:typeof Set<"u"&&r instanceof Set?N.set:typeof Date<"u"&&r instanceof Date?N.date:N.object;default:return N.unknown}},M=ae.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Ku=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class it extends Error{constructor(e){super(),this.issues=[],this.addIssue=i=>{this.issues=[...this.issues,i]},this.addIssues=(i=[])=>{this.issues=[...this.issues,...i]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(n){return n.message},i={_errors:[]},s=n=>{for(const a of n.issues)if(a.code==="invalid_union")a.unionErrors.map(s);else if(a.code==="invalid_return_type")s(a.returnTypeError);else if(a.code==="invalid_arguments")s(a.argumentsError);else if(a.path.length===0)i._errors.push(t(a));else{let o=i,h=0;for(;h<a.path.length;){const l=a.path[h];h===a.path.length-1?(o[l]=o[l]||{_errors:[]},o[l]._errors.push(t(a))):o[l]=o[l]||{_errors:[]},o=o[l],h++}}};return s(this),i}toString(){return this.message}get message(){return JSON.stringify(this.issues,ae.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},i=[];for(const s of this.issues)s.path.length>0?(t[s.path[0]]=t[s.path[0]]||[],t[s.path[0]].push(e(s))):i.push(e(s));return{formErrors:i,fieldErrors:t}}get formErrors(){return this.flatten()}}it.create=r=>new it(r);const Ii=(r,e)=>{let t;switch(r.code){case M.invalid_type:r.received===N.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case M.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,ae.jsonStringifyReplacer)}`;break;case M.unrecognized_keys:t=`Unrecognized key(s) in object: ${ae.joinValues(r.keys,", ")}`;break;case M.invalid_union:t="Invalid input";break;case M.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${ae.joinValues(r.options)}`;break;case M.invalid_enum_value:t=`Invalid enum value. Expected ${ae.joinValues(r.options)}, received '${r.received}'`;break;case M.invalid_arguments:t="Invalid function arguments";break;case M.invalid_return_type:t="Invalid function return type";break;case M.invalid_date:t="Invalid date";break;case M.invalid_string:typeof r.validation=="object"?"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:ae.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case M.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(r.minimum)}`:t="Invalid input";break;case M.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(r.maximum)}`:t="Invalid input";break;case M.custom:t="Invalid input";break;case M.invalid_intersection_types:t="Intersection results could not be merged";break;case M.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case M.not_finite:t="Number must be finite";break;default:t=e.defaultError,ae.assertNever(r)}return{message:t}};let Do=Ii;function Ju(r){Do=r}function Mr(){return Do}const Lr=r=>{const{data:e,path:t,errorMaps:i,issueData:s}=r,n=[...t,...s.path||[]],a={...s,path:n};let o="";const h=i.filter(l=>!!l).slice().reverse();for(const l of h)o=l(a,{data:e,defaultError:o}).message;return{...s,path:n,message:s.message||o}},Qu=[];function B(r,e){const t=Lr({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Mr(),Ii].filter(i=>!!i)});r.common.issues.push(t)}class Le{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const i=[];for(const s of t){if(s.status==="aborted")return Y;s.status==="dirty"&&e.dirty(),i.push(s.value)}return{status:e.value,value:i}}static async mergeObjectAsync(e,t){const i=[];for(const s of t)i.push({key:await s.key,value:await s.value});return Le.mergeObjectSync(e,i)}static mergeObjectSync(e,t){const i={};for(const s of t){const{key:n,value:a}=s;if(n.status==="aborted"||a.status==="aborted")return Y;n.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),(typeof a.value<"u"||s.alwaysSet)&&(i[n.value]=a.value)}return{status:e.value,value:i}}}const Y=Object.freeze({status:"aborted"}),Fo=r=>({status:"dirty",value:r}),Oe=r=>({status:"valid",value:r}),Ls=r=>r.status==="aborted",Rs=r=>r.status==="dirty",Rr=r=>r.status==="valid",Ir=r=>typeof Promise<"u"&&r instanceof Promise;var ee;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(ee||(ee={}));class rt{constructor(e,t,i,s){this.parent=e,this.data=t,this._path=i,this._key=s}get path(){return this._path.concat(this._key)}}const ea=(r,e)=>{if(Rr(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,error:new it(r.common.issues)}};function J(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:i,description:s}=r;if(e&&(t||i))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(a,o)=>a.code!=="invalid_type"?{message:o.defaultError}:typeof o.data>"u"?{message:i??o.defaultError}:{message:t??o.defaultError},description:s}}class Q{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return xt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:xt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Le,ctx:{common:e.parent.common,data:e.data,parsedType:xt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(Ir(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const i=this.safeParse(e,t);if(i.success)return i.data;throw i.error}safeParse(e,t){var i;const s={common:{issues:[],async:(i=t==null?void 0:t.async)!==null&&i!==void 0?i:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xt(e)},n=this._parseSync({data:e,path:s.path,parent:s});return ea(s,n)}async parseAsync(e,t){const i=await this.safeParseAsync(e,t);if(i.success)return i.data;throw i.error}async safeParseAsync(e,t){const i={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xt(e)},s=this._parse({data:e,path:i.path,parent:i}),n=await(Ir(s)?s:Promise.resolve(s));return ea(i,n)}refine(e,t){const i=s=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(s):t;return this._refinement((s,n)=>{const a=e(s),o=()=>n.addIssue({code:M.custom,...i(s)});return typeof Promise<"u"&&a instanceof Promise?a.then(h=>h?!0:(o(),!1)):a?!0:(o(),!1)})}refinement(e,t){return this._refinement((i,s)=>e(i)?!0:(s.addIssue(typeof t=="function"?t(i,s):t),!1))}_refinement(e){return new Xe({schema:this,typeName:X.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ft.create(this,this._def)}nullable(){return zt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ze.create(this,this._def)}promise(){return ui.create(this,this._def)}or(e){return Hi.create([this,e],this._def)}and(e){return Bi.create(this,e,this._def)}transform(e){return new Xe({...J(this._def),schema:this,typeName:X.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new Ui({...J(this._def),innerType:this,defaultValue:t,typeName:X.ZodDefault})}brand(){return new Bo({typeName:X.ZodBranded,type:this,...J(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new Hr({...J(this._def),innerType:this,catchValue:t,typeName:X.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Ji.create(this,e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const ec=/^c[^\s-]{8,}$/i,tc=/^[a-z][a-z0-9]*$/,ic=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,rc=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|([^-]([a-zA-Z0-9-]*\.)+[a-zA-Z]{2,}))$/,sc=r=>r.precision?r.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${r.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${r.precision}}Z$`):r.precision===0?r.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):r.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");class mt extends Q{constructor(){super(...arguments),this._regex=(e,t,i)=>this.refinement(s=>e.test(s),{validation:t,code:M.invalid_string,...ee.errToObj(i)}),this.nonempty=e=>this.min(1,ee.errToObj(e)),this.trim=()=>new mt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==N.string){const n=this._getOrReturnCtx(e);return B(n,{code:M.invalid_type,expected:N.string,received:n.parsedType}),Y}const i=new Le;let s;for(const n of this._def.checks)if(n.kind==="min")e.data.length<n.value&&(s=this._getOrReturnCtx(e,s),B(s,{code:M.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),i.dirty());else if(n.kind==="max")e.data.length>n.value&&(s=this._getOrReturnCtx(e,s),B(s,{code:M.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),i.dirty());else if(n.kind==="length"){const a=e.data.length>n.value,o=e.data.length<n.value;(a||o)&&(s=this._getOrReturnCtx(e,s),a?B(s,{code:M.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}):o&&B(s,{code:M.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}),i.dirty())}else if(n.kind==="email")rc.test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{validation:"email",code:M.invalid_string,message:n.message}),i.dirty());else if(n.kind==="uuid")ic.test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{validation:"uuid",code:M.invalid_string,message:n.message}),i.dirty());else if(n.kind==="cuid")ec.test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{validation:"cuid",code:M.invalid_string,message:n.message}),i.dirty());else if(n.kind==="cuid2")tc.test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{validation:"cuid2",code:M.invalid_string,message:n.message}),i.dirty());else if(n.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),B(s,{validation:"url",code:M.invalid_string,message:n.message}),i.dirty()}else n.kind==="regex"?(n.regex.lastIndex=0,n.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{validation:"regex",code:M.invalid_string,message:n.message}),i.dirty())):n.kind==="trim"?e.data=e.data.trim():n.kind==="startsWith"?e.data.startsWith(n.value)||(s=this._getOrReturnCtx(e,s),B(s,{code:M.invalid_string,validation:{startsWith:n.value},message:n.message}),i.dirty()):n.kind==="endsWith"?e.data.endsWith(n.value)||(s=this._getOrReturnCtx(e,s),B(s,{code:M.invalid_string,validation:{endsWith:n.value},message:n.message}),i.dirty()):n.kind==="datetime"?sc(n).test(e.data)||(s=this._getOrReturnCtx(e,s),B(s,{code:M.invalid_string,validation:"datetime",message:n.message}),i.dirty()):ae.assertNever(n);return{status:i.value,value:e.data}}_addCheck(e){return new mt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...ee.errToObj(e)})}url(e){return this._addCheck({kind:"url",...ee.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...ee.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...ee.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...ee.errToObj(e)})}datetime(e){var t;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,...ee.errToObj(e==null?void 0:e.message)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...ee.errToObj(t)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...ee.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...ee.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...ee.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...ee.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...ee.errToObj(t)})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}mt.create=r=>{var e;return new mt({checks:[],typeName:X.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...J(r)})};function nc(r,e){const t=(r.toString().split(".")[1]||"").length,i=(e.toString().split(".")[1]||"").length,s=t>i?t:i,n=parseInt(r.toFixed(s).replace(".","")),a=parseInt(e.toFixed(s).replace(".",""));return n%a/Math.pow(10,s)}class Ot extends Q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==N.number){const n=this._getOrReturnCtx(e);return B(n,{code:M.invalid_type,expected:N.number,received:n.parsedType}),Y}let i;const s=new Le;for(const n of this._def.checks)n.kind==="int"?ae.isInteger(e.data)||(i=this._getOrReturnCtx(e,i),B(i,{code:M.invalid_type,expected:"integer",received:"float",message:n.message}),s.dirty()):n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(i=this._getOrReturnCtx(e,i),B(i,{code:M.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(i=this._getOrReturnCtx(e,i),B(i,{code:M.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="multipleOf"?nc(e.data,n.value)!==0&&(i=this._getOrReturnCtx(e,i),B(i,{code:M.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(i=this._getOrReturnCtx(e,i),B(i,{code:M.not_finite,message:n.message}),s.dirty()):ae.assertNever(n);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,ee.toString(t))}gt(e,t){return this.setLimit("min",e,!1,ee.toString(t))}lte(e,t){return this.setLimit("max",e,!0,ee.toString(t))}lt(e,t){return this.setLimit("max",e,!1,ee.toString(t))}setLimit(e,t,i,s){return new Ot({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:i,message:ee.toString(s)}]})}_addCheck(e){return new Ot({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:ee.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ee.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ee.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ee.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ee.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:ee.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:ee.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&ae.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const i of this._def.checks){if(i.kind==="finite"||i.kind==="int"||i.kind==="multipleOf")return!0;i.kind==="min"?(t===null||i.value>t)&&(t=i.value):i.kind==="max"&&(e===null||i.value<e)&&(e=i.value)}return Number.isFinite(t)&&Number.isFinite(e)}}Ot.create=r=>new Ot({checks:[],typeName:X.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...J(r)});class Ni extends Q{_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==N.bigint){const i=this._getOrReturnCtx(e);return B(i,{code:M.invalid_type,expected:N.bigint,received:i.parsedType}),Y}return Oe(e.data)}}Ni.create=r=>{var e;return new Ni({typeName:X.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...J(r)})};class Gi extends Q{_parse(e){if(this._def.coerce&&(e.data=Boolean(e.data)),this._getType(e)!==N.boolean){const i=this._getOrReturnCtx(e);return B(i,{code:M.invalid_type,expected:N.boolean,received:i.parsedType}),Y}return Oe(e.data)}}Gi.create=r=>new Gi({typeName:X.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...J(r)});class $t extends Q{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==N.date){const n=this._getOrReturnCtx(e);return B(n,{code:M.invalid_type,expected:N.date,received:n.parsedType}),Y}if(isNaN(e.data.getTime())){const n=this._getOrReturnCtx(e);return B(n,{code:M.invalid_date}),Y}const i=new Le;let s;for(const n of this._def.checks)n.kind==="min"?e.data.getTime()<n.value&&(s=this._getOrReturnCtx(e,s),B(s,{code:M.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),i.dirty()):n.kind==="max"?e.data.getTime()>n.value&&(s=this._getOrReturnCtx(e,s),B(s,{code:M.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),i.dirty()):ae.assertNever(n);return{status:i.value,value:new Date(e.data.getTime())}}_addCheck(e){return new $t({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:ee.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:ee.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}$t.create=r=>new $t({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:X.ZodDate,...J(r)});class Nr extends Q{_parse(e){if(this._getType(e)!==N.symbol){const i=this._getOrReturnCtx(e);return B(i,{code:M.invalid_type,expected:N.symbol,received:i.parsedType}),Y}return Oe(e.data)}}Nr.create=r=>new Nr({typeName:X.ZodSymbol,...J(r)});class Di extends Q{_parse(e){if(this._getType(e)!==N.undefined){const i=this._getOrReturnCtx(e);return B(i,{code:M.invalid_type,expected:N.undefined,received:i.parsedType}),Y}return Oe(e.data)}}Di.create=r=>new Di({typeName:X.ZodUndefined,...J(r)});class Fi extends Q{_parse(e){if(this._getType(e)!==N.null){const i=this._getOrReturnCtx(e);return B(i,{code:M.invalid_type,expected:N.null,received:i.parsedType}),Y}return Oe(e.data)}}Fi.create=r=>new Fi({typeName:X.ZodNull,...J(r)});class di extends Q{constructor(){super(...arguments),this._any=!0}_parse(e){return Oe(e.data)}}di.create=r=>new di({typeName:X.ZodAny,...J(r)});class Ht extends Q{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Oe(e.data)}}Ht.create=r=>new Ht({typeName:X.ZodUnknown,...J(r)});class gt extends Q{_parse(e){const t=this._getOrReturnCtx(e);return B(t,{code:M.invalid_type,expected:N.never,received:t.parsedType}),Y}}gt.create=r=>new gt({typeName:X.ZodNever,...J(r)});class Gr extends Q{_parse(e){if(this._getType(e)!==N.undefined){const i=this._getOrReturnCtx(e);return B(i,{code:M.invalid_type,expected:N.void,received:i.parsedType}),Y}return Oe(e.data)}}Gr.create=r=>new Gr({typeName:X.ZodVoid,...J(r)});class Ze extends Q{_parse(e){const{ctx:t,status:i}=this._processInputParams(e),s=this._def;if(t.parsedType!==N.array)return B(t,{code:M.invalid_type,expected:N.array,received:t.parsedType}),Y;if(s.exactLength!==null){const a=t.data.length>s.exactLength.value,o=t.data.length<s.exactLength.value;(a||o)&&(B(t,{code:a?M.too_big:M.too_small,minimum:o?s.exactLength.value:void 0,maximum:a?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),i.dirty())}if(s.minLength!==null&&t.data.length<s.minLength.value&&(B(t,{code:M.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),i.dirty()),s.maxLength!==null&&t.data.length>s.maxLength.value&&(B(t,{code:M.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),i.dirty()),t.common.async)return Promise.all([...t.data].map((a,o)=>s.type._parseAsync(new rt(t,a,t.path,o)))).then(a=>Le.mergeArray(i,a));const n=[...t.data].map((a,o)=>s.type._parseSync(new rt(t,a,t.path,o)));return Le.mergeArray(i,n)}get element(){return this._def.type}min(e,t){return new Ze({...this._def,minLength:{value:e,message:ee.toString(t)}})}max(e,t){return new Ze({...this._def,maxLength:{value:e,message:ee.toString(t)}})}length(e,t){return new Ze({...this._def,exactLength:{value:e,message:ee.toString(t)}})}nonempty(e){return this.min(1,e)}}Ze.create=(r,e)=>new Ze({type:r,minLength:null,maxLength:null,exactLength:null,typeName:X.ZodArray,...J(e)});var Dr;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(Dr||(Dr={}));function Kt(r){if(r instanceof pe){const e={};for(const t in r.shape){const i=r.shape[t];e[t]=ft.create(Kt(i))}return new pe({...r._def,shape:()=>e})}else return r instanceof Ze?Ze.create(Kt(r.element)):r instanceof ft?ft.create(Kt(r.unwrap())):r instanceof zt?zt.create(Kt(r.unwrap())):r instanceof st?st.create(r.items.map(e=>Kt(e))):r}class pe extends Q{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=ae.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==N.object){const l=this._getOrReturnCtx(e);return B(l,{code:M.invalid_type,expected:N.object,received:l.parsedType}),Y}const{status:i,ctx:s}=this._processInputParams(e),{shape:n,keys:a}=this._getCached(),o=[];if(!(this._def.catchall instanceof gt&&this._def.unknownKeys==="strip"))for(const l in s.data)a.includes(l)||o.push(l);const h=[];for(const l of a){const d=n[l],u=s.data[l];h.push({key:{status:"valid",value:l},value:d._parse(new rt(s,u,s.path,l)),alwaysSet:l in s.data})}if(this._def.catchall instanceof gt){const l=this._def.unknownKeys;if(l==="passthrough")for(const d of o)h.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(l==="strict")o.length>0&&(B(s,{code:M.unrecognized_keys,keys:o}),i.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(const d of o){const u=s.data[d];h.push({key:{status:"valid",value:d},value:l._parse(new rt(s,u,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const l=[];for(const d of h){const u=await d.key;l.push({key:u,value:await d.value,alwaysSet:d.alwaysSet})}return l}).then(l=>Le.mergeObjectSync(i,l)):Le.mergeObjectSync(i,h)}get shape(){return this._def.shape()}strict(e){return ee.errToObj,new pe({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,i)=>{var s,n,a,o;const h=(a=(n=(s=this._def).errorMap)===null||n===void 0?void 0:n.call(s,t,i).message)!==null&&a!==void 0?a:i.defaultError;return t.code==="unrecognized_keys"?{message:(o=ee.errToObj(e).message)!==null&&o!==void 0?o:h}:{message:h}}}:{}})}strip(){return new pe({...this._def,unknownKeys:"strip"})}passthrough(){return new pe({...this._def,unknownKeys:"passthrough"})}extend(e){return new pe({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new pe({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>Dr.mergeShapes(this._def.shape(),e._def.shape()),typeName:X.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new pe({...this._def,catchall:e})}pick(e){const t={};return ae.objectKeys(e).forEach(i=>{e[i]&&this.shape[i]&&(t[i]=this.shape[i])}),new pe({...this._def,shape:()=>t})}omit(e){const t={};return ae.objectKeys(this.shape).forEach(i=>{e[i]||(t[i]=this.shape[i])}),new pe({...this._def,shape:()=>t})}deepPartial(){return Kt(this)}partial(e){const t={};return ae.objectKeys(this.shape).forEach(i=>{const s=this.shape[i];e&&!e[i]?t[i]=s:t[i]=s.optional()}),new pe({...this._def,shape:()=>t})}required(e){const t={};return ae.objectKeys(this.shape).forEach(i=>{if(e&&!e[i])t[i]=this.shape[i];else{let n=this.shape[i];for(;n instanceof ft;)n=n._def.innerType;t[i]=n}}),new pe({...this._def,shape:()=>t})}keyof(){return Ho(ae.objectKeys(this.shape))}}pe.create=(r,e)=>new pe({shape:()=>r,unknownKeys:"strip",catchall:gt.create(),typeName:X.ZodObject,...J(e)});pe.strictCreate=(r,e)=>new pe({shape:()=>r,unknownKeys:"strict",catchall:gt.create(),typeName:X.ZodObject,...J(e)});pe.lazycreate=(r,e)=>new pe({shape:r,unknownKeys:"strip",catchall:gt.create(),typeName:X.ZodObject,...J(e)});class Hi extends Q{_parse(e){const{ctx:t}=this._processInputParams(e),i=this._def.options;function s(n){for(const o of n)if(o.result.status==="valid")return o.result;for(const o of n)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;const a=n.map(o=>new it(o.ctx.common.issues));return B(t,{code:M.invalid_union,unionErrors:a}),Y}if(t.common.async)return Promise.all(i.map(async n=>{const a={...t,common:{...t.common,issues:[]},parent:null};return{result:await n._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(s);{let n;const a=[];for(const h of i){const l={...t,common:{...t.common,issues:[]},parent:null},d=h._parseSync({data:t.data,path:t.path,parent:l});if(d.status==="valid")return d;d.status==="dirty"&&!n&&(n={result:d,ctx:l}),l.common.issues.length&&a.push(l.common.issues)}if(n)return t.common.issues.push(...n.ctx.common.issues),n.result;const o=a.map(h=>new it(h));return B(t,{code:M.invalid_union,unionErrors:o}),Y}}get options(){return this._def.options}}Hi.create=(r,e)=>new Hi({options:r,typeName:X.ZodUnion,...J(e)});const wr=r=>r instanceof Vi?wr(r.schema):r instanceof Xe?wr(r.innerType()):r instanceof zi?[r.value]:r instanceof Mt?r.options:r instanceof Wi?Object.keys(r.enum):r instanceof Ui?wr(r._def.innerType):r instanceof Di?[void 0]:r instanceof Fi?[null]:null;class Yr extends Q{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==N.object)return B(t,{code:M.invalid_type,expected:N.object,received:t.parsedType}),Y;const i=this.discriminator,s=t.data[i],n=this.optionsMap.get(s);return n?t.common.async?n._parseAsync({data:t.data,path:t.path,parent:t}):n._parseSync({data:t.data,path:t.path,parent:t}):(B(t,{code:M.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[i]}),Y)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,i){const s=new Map;for(const n of t){const a=wr(n.shape[e]);if(!a)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const o of a){if(s.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);s.set(o,n)}}return new Yr({typeName:X.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:s,...J(i)})}}function Is(r,e){const t=xt(r),i=xt(e);if(r===e)return{valid:!0,data:r};if(t===N.object&&i===N.object){const s=ae.objectKeys(e),n=ae.objectKeys(r).filter(o=>s.indexOf(o)!==-1),a={...r,...e};for(const o of n){const h=Is(r[o],e[o]);if(!h.valid)return{valid:!1};a[o]=h.data}return{valid:!0,data:a}}else if(t===N.array&&i===N.array){if(r.length!==e.length)return{valid:!1};const s=[];for(let n=0;n<r.length;n++){const a=r[n],o=e[n],h=Is(a,o);if(!h.valid)return{valid:!1};s.push(h.data)}return{valid:!0,data:s}}else return t===N.date&&i===N.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}class Bi extends Q{_parse(e){const{status:t,ctx:i}=this._processInputParams(e),s=(n,a)=>{if(Ls(n)||Ls(a))return Y;const o=Is(n.value,a.value);return o.valid?((Rs(n)||Rs(a))&&t.dirty(),{status:t.value,value:o.data}):(B(i,{code:M.invalid_intersection_types}),Y)};return i.common.async?Promise.all([this._def.left._parseAsync({data:i.data,path:i.path,parent:i}),this._def.right._parseAsync({data:i.data,path:i.path,parent:i})]).then(([n,a])=>s(n,a)):s(this._def.left._parseSync({data:i.data,path:i.path,parent:i}),this._def.right._parseSync({data:i.data,path:i.path,parent:i}))}}Bi.create=(r,e,t)=>new Bi({left:r,right:e,typeName:X.ZodIntersection,...J(t)});class st extends Q{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==N.array)return B(i,{code:M.invalid_type,expected:N.array,received:i.parsedType}),Y;if(i.data.length<this._def.items.length)return B(i,{code:M.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Y;!this._def.rest&&i.data.length>this._def.items.length&&(B(i,{code:M.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const n=[...i.data].map((a,o)=>{const h=this._def.items[o]||this._def.rest;return h?h._parse(new rt(i,a,i.path,o)):null}).filter(a=>!!a);return i.common.async?Promise.all(n).then(a=>Le.mergeArray(t,a)):Le.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new st({...this._def,rest:e})}}st.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new st({items:r,typeName:X.ZodTuple,rest:null,...J(e)})};class $i extends Q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==N.object)return B(i,{code:M.invalid_type,expected:N.object,received:i.parsedType}),Y;const s=[],n=this._def.keyType,a=this._def.valueType;for(const o in i.data)s.push({key:n._parse(new rt(i,o,i.path,o)),value:a._parse(new rt(i,i.data[o],i.path,o))});return i.common.async?Le.mergeObjectAsync(t,s):Le.mergeObjectSync(t,s)}get element(){return this._def.valueType}static create(e,t,i){return t instanceof Q?new $i({keyType:e,valueType:t,typeName:X.ZodRecord,...J(i)}):new $i({keyType:mt.create(),valueType:e,typeName:X.ZodRecord,...J(t)})}}class Fr extends Q{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==N.map)return B(i,{code:M.invalid_type,expected:N.map,received:i.parsedType}),Y;const s=this._def.keyType,n=this._def.valueType,a=[...i.data.entries()].map(([o,h],l)=>({key:s._parse(new rt(i,o,i.path,[l,"key"])),value:n._parse(new rt(i,h,i.path,[l,"value"]))}));if(i.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const h of a){const l=await h.key,d=await h.value;if(l.status==="aborted"||d.status==="aborted")return Y;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),o.set(l.value,d.value)}return{status:t.value,value:o}})}else{const o=new Map;for(const h of a){const l=h.key,d=h.value;if(l.status==="aborted"||d.status==="aborted")return Y;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),o.set(l.value,d.value)}return{status:t.value,value:o}}}}Fr.create=(r,e,t)=>new Fr({valueType:e,keyType:r,typeName:X.ZodMap,...J(t)});class Vt extends Q{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.parsedType!==N.set)return B(i,{code:M.invalid_type,expected:N.set,received:i.parsedType}),Y;const s=this._def;s.minSize!==null&&i.data.size<s.minSize.value&&(B(i,{code:M.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),t.dirty()),s.maxSize!==null&&i.data.size>s.maxSize.value&&(B(i,{code:M.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),t.dirty());const n=this._def.valueType;function a(h){const l=new Set;for(const d of h){if(d.status==="aborted")return Y;d.status==="dirty"&&t.dirty(),l.add(d.value)}return{status:t.value,value:l}}const o=[...i.data.values()].map((h,l)=>n._parse(new rt(i,h,i.path,l)));return i.common.async?Promise.all(o).then(h=>a(h)):a(o)}min(e,t){return new Vt({...this._def,minSize:{value:e,message:ee.toString(t)}})}max(e,t){return new Vt({...this._def,maxSize:{value:e,message:ee.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Vt.create=(r,e)=>new Vt({valueType:r,minSize:null,maxSize:null,typeName:X.ZodSet,...J(e)});class ni extends Q{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==N.function)return B(t,{code:M.invalid_type,expected:N.function,received:t.parsedType}),Y;function i(o,h){return Lr({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Mr(),Ii].filter(l=>!!l),issueData:{code:M.invalid_arguments,argumentsError:h}})}function s(o,h){return Lr({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Mr(),Ii].filter(l=>!!l),issueData:{code:M.invalid_return_type,returnTypeError:h}})}const n={errorMap:t.common.contextualErrorMap},a=t.data;return this._def.returns instanceof ui?Oe(async(...o)=>{const h=new it([]),l=await this._def.args.parseAsync(o,n).catch(c=>{throw h.addIssue(i(o,c)),h}),d=await a(...l);return await this._def.returns._def.type.parseAsync(d,n).catch(c=>{throw h.addIssue(s(d,c)),h})}):Oe((...o)=>{const h=this._def.args.safeParse(o,n);if(!h.success)throw new it([i(o,h.error)]);const l=a(...h.data),d=this._def.returns.safeParse(l,n);if(!d.success)throw new it([s(l,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ni({...this._def,args:st.create(e).rest(Ht.create())})}returns(e){return new ni({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,i){return new ni({args:e||st.create([]).rest(Ht.create()),returns:t||Ht.create(),typeName:X.ZodFunction,...J(i)})}}class Vi extends Q{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Vi.create=(r,e)=>new Vi({getter:r,typeName:X.ZodLazy,...J(e)});class zi extends Q{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return B(t,{received:t.data,code:M.invalid_literal,expected:this._def.value}),Y}return{status:"valid",value:e.data}}get value(){return this._def.value}}zi.create=(r,e)=>new zi({value:r,typeName:X.ZodLiteral,...J(e)});function Ho(r,e){return new Mt({values:r,typeName:X.ZodEnum,...J(e)})}class Mt extends Q{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),i=this._def.values;return B(t,{expected:ae.joinValues(i),received:t.parsedType,code:M.invalid_type}),Y}if(this._def.values.indexOf(e.data)===-1){const t=this._getOrReturnCtx(e),i=this._def.values;return B(t,{received:t.data,code:M.invalid_enum_value,options:i}),Y}return Oe(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){return Mt.create(e)}exclude(e){return Mt.create(this.options.filter(t=>!e.includes(t)))}}Mt.create=Ho;class Wi extends Q{_parse(e){const t=ae.getValidEnumValues(this._def.values),i=this._getOrReturnCtx(e);if(i.parsedType!==N.string&&i.parsedType!==N.number){const s=ae.objectValues(t);return B(i,{expected:ae.joinValues(s),received:i.parsedType,code:M.invalid_type}),Y}if(t.indexOf(e.data)===-1){const s=ae.objectValues(t);return B(i,{received:i.data,code:M.invalid_enum_value,options:s}),Y}return Oe(e.data)}get enum(){return this._def.values}}Wi.create=(r,e)=>new Wi({values:r,typeName:X.ZodNativeEnum,...J(e)});class ui extends Q{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==N.promise&&t.common.async===!1)return B(t,{code:M.invalid_type,expected:N.promise,received:t.parsedType}),Y;const i=t.parsedType===N.promise?t.data:Promise.resolve(t.data);return Oe(i.then(s=>this._def.type.parseAsync(s,{path:t.path,errorMap:t.common.contextualErrorMap})))}}ui.create=(r,e)=>new ui({type:r,typeName:X.ZodPromise,...J(e)});class Xe extends Q{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===X.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:i}=this._processInputParams(e),s=this._def.effect||null;if(s.type==="preprocess"){const a=s.transform(i.data);return i.common.async?Promise.resolve(a).then(o=>this._def.schema._parseAsync({data:o,path:i.path,parent:i})):this._def.schema._parseSync({data:a,path:i.path,parent:i})}const n={addIssue:a=>{B(i,a),a.fatal?t.abort():t.dirty()},get path(){return i.path}};if(n.addIssue=n.addIssue.bind(n),s.type==="refinement"){const a=o=>{const h=s.refinement(o,n);if(i.common.async)return Promise.resolve(h);if(h instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(i.common.async===!1){const o=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});return o.status==="aborted"?Y:(o.status==="dirty"&&t.dirty(),a(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(o=>o.status==="aborted"?Y:(o.status==="dirty"&&t.dirty(),a(o.value).then(()=>({status:t.value,value:o.value}))))}if(s.type==="transform")if(i.common.async===!1){const a=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});if(!Rr(a))return a;const o=s.transform(a.value,n);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(a=>Rr(a)?Promise.resolve(s.transform(a.value,n)).then(o=>({status:t.value,value:o})):a);ae.assertNever(s)}}Xe.create=(r,e,t)=>new Xe({schema:r,typeName:X.ZodEffects,effect:e,...J(t)});Xe.createWithPreprocess=(r,e,t)=>new Xe({schema:e,effect:{type:"preprocess",transform:r},typeName:X.ZodEffects,...J(t)});class ft extends Q{_parse(e){return this._getType(e)===N.undefined?Oe(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ft.create=(r,e)=>new ft({innerType:r,typeName:X.ZodOptional,...J(e)});class zt extends Q{_parse(e){return this._getType(e)===N.null?Oe(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}zt.create=(r,e)=>new zt({innerType:r,typeName:X.ZodNullable,...J(e)});class Ui extends Q{_parse(e){const{ctx:t}=this._processInputParams(e);let i=t.data;return t.parsedType===N.undefined&&(i=this._def.defaultValue()),this._def.innerType._parse({data:i,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Ui.create=(r,e)=>new Ui({innerType:r,typeName:X.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...J(e)});class Hr extends Q{_parse(e){const{ctx:t}=this._processInputParams(e),i=this._def.innerType._parse({data:t.data,path:t.path,parent:{...t,common:{...t.common,issues:[]}}});return Ir(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue()})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue()}}removeCatch(){return this._def.innerType}}Hr.create=(r,e)=>new Hr({innerType:r,typeName:X.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...J(e)});class Br extends Q{_parse(e){if(this._getType(e)!==N.nan){const i=this._getOrReturnCtx(e);return B(i,{code:M.invalid_type,expected:N.nan,received:i.parsedType}),Y}return{status:"valid",value:e.data}}}Br.create=r=>new Br({typeName:X.ZodNaN,...J(r)});const ac=Symbol("zod_brand");class Bo extends Q{_parse(e){const{ctx:t}=this._processInputParams(e),i=t.data;return this._def.type._parse({data:i,path:t.path,parent:t})}unwrap(){return this._def.type}}class Ji extends Q{_parse(e){const{status:t,ctx:i}=this._processInputParams(e);if(i.common.async)return(async()=>{const n=await this._def.in._parseAsync({data:i.data,path:i.path,parent:i});return n.status==="aborted"?Y:n.status==="dirty"?(t.dirty(),Fo(n.value)):this._def.out._parseAsync({data:n.value,path:i.path,parent:i})})();{const s=this._def.in._parseSync({data:i.data,path:i.path,parent:i});return s.status==="aborted"?Y:s.status==="dirty"?(t.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:i.path,parent:i})}}static create(e,t){return new Ji({in:e,out:t,typeName:X.ZodPipeline})}}const $o=(r,e={},t)=>r?di.create().superRefine((i,s)=>{if(!r(i)){const n=typeof e=="function"?e(i):e,a=typeof n=="string"?{message:n}:n;s.addIssue({code:"custom",...a,fatal:t})}}):di.create(),oc={object:pe.lazycreate};var X;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline"})(X||(X={}));const lc=(r,e={message:`Input not instance of ${r.name}`})=>$o(t=>t instanceof r,e,!0),Vo=mt.create,zo=Ot.create,hc=Br.create,dc=Ni.create,Wo=Gi.create,uc=$t.create,cc=Nr.create,fc=Di.create,pc=Fi.create,mc=di.create,gc=Ht.create,vc=gt.create,yc=Gr.create,bc=Ze.create,_c=pe.create,wc=pe.strictCreate,Sc=Hi.create,Tc=Yr.create,Cc=Bi.create,Ec=st.create,kc=$i.create,xc=Fr.create,Pc=Vt.create,Ac=ni.create,Oc=Vi.create,Mc=zi.create,Lc=Mt.create,Rc=Wi.create,Ic=ui.create,ta=Xe.create,Nc=ft.create,Gc=zt.create,Dc=Xe.createWithPreprocess,Fc=Ji.create,Hc=()=>Vo().optional(),Bc=()=>zo().optional(),$c=()=>Wo().optional(),Vc={string:r=>mt.create({...r,coerce:!0}),number:r=>Ot.create({...r,coerce:!0}),boolean:r=>Gi.create({...r,coerce:!0}),bigint:r=>Ni.create({...r,coerce:!0}),date:r=>$t.create({...r,coerce:!0})},zc=Y;var _e=Object.freeze({__proto__:null,defaultErrorMap:Ii,setErrorMap:Ju,getErrorMap:Mr,makeIssue:Lr,EMPTY_PATH:Qu,addIssueToContext:B,ParseStatus:Le,INVALID:Y,DIRTY:Fo,OK:Oe,isAborted:Ls,isDirty:Rs,isValid:Rr,isAsync:Ir,get util(){return ae},ZodParsedType:N,getParsedType:xt,ZodType:Q,ZodString:mt,ZodNumber:Ot,ZodBigInt:Ni,ZodBoolean:Gi,ZodDate:$t,ZodSymbol:Nr,ZodUndefined:Di,ZodNull:Fi,ZodAny:di,ZodUnknown:Ht,ZodNever:gt,ZodVoid:Gr,ZodArray:Ze,get objectUtil(){return Dr},ZodObject:pe,ZodUnion:Hi,ZodDiscriminatedUnion:Yr,ZodIntersection:Bi,ZodTuple:st,ZodRecord:$i,ZodMap:Fr,ZodSet:Vt,ZodFunction:ni,ZodLazy:Vi,ZodLiteral:zi,ZodEnum:Mt,ZodNativeEnum:Wi,ZodPromise:ui,ZodEffects:Xe,ZodTransformer:Xe,ZodOptional:ft,ZodNullable:zt,ZodDefault:Ui,ZodCatch:Hr,ZodNaN:Br,BRAND:ac,ZodBranded:Bo,ZodPipeline:Ji,custom:$o,Schema:Q,ZodSchema:Q,late:oc,get ZodFirstPartyTypeKind(){return X},coerce:Vc,any:mc,array:bc,bigint:dc,boolean:Wo,date:uc,discriminatedUnion:Tc,effect:ta,enum:Lc,function:Ac,instanceof:lc,intersection:Cc,lazy:Oc,literal:Mc,map:xc,nan:hc,nativeEnum:Rc,never:vc,null:pc,nullable:Gc,number:zo,object:_c,oboolean:$c,onumber:Bc,optional:Nc,ostring:Hc,pipeline:Fc,preprocess:Dc,promise:Ic,record:kc,set:Pc,strictObject:wc,string:Vo,symbol:cc,transformer:ta,tuple:Ec,undefined:fc,union:Sc,unknown:gc,void:yc,NEVER:zc,ZodIssueCode:M,quotelessJson:Ku,ZodError:it});class ai{static id(){return e=>_e.coerce.string().min(1).max(100).parse(e)}static description(){return e=>_e.coerce.string().max(1e3).parse(e)}static boolean(){return e=>_e.coerce.boolean().parse(e)}static url(){return e=>_e.coerce.string().url().parse(e)}}class lt{constructor(){this.onChange$=new Qt(void 0)}static instance(){return lt._instance||(lt._instance=new lt),lt._instance}get styles(){return this._styles}set styles(e){this._styles={...this._styles,...e},this.onChange$.next(this._styles)}}const Qi={height:80,backgroundFill:"#ffffff",backgroundOpacity:1,descriptionTextFill:"#1c1c1c",descriptionFontSize:15,leftBackgroundFill:"#ffffff",leftBackgroundOpacity:1};class er extends Je{constructor(e){super(e),this.stylesProvider=lt.instance(),this.id=ai.id()(this.config.id),this.description=ai.description()(this.config.description)}createCanvasNode(){return this.bodyGroup=new O.Group({...this.timelinePosition,width:this.timeline.getBodyGroupRect().width,height:this.styleAdapter.style.height}),this.bodyBackground=new O.Rect({...F.POSITION_TOP_LEFT,...this.bodyGroup.getSize(),fill:this.styleAdapter.style.backgroundFill,opacity:this.styleAdapter.style.backgroundOpacity,listening:!1}),this.leftGroup=new O.Group({...F.POSITION_TOP_LEFT,width:this.timeline.getLeftPanelRect().width,listening:!1}),this.leftBackground=new O.Rect({...F.POSITION_TOP_LEFT,...this.leftGroup.getSize(),fill:this.styleAdapter.style.leftBackgroundFill,opacity:this.styleAdapter.style.leftBackgroundOpacity,listening:!1}),this.leftPanelText=new O.Text({...F.POSITION_TOP_LEFT,text:this.description,fontSize:this.style.descriptionFontSize,fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily,fill:this.style.descriptionTextFill,width:this.leftGroup.width()-10,height:this.getRect().height,verticalAlign:"middle",align:"right"}),this.leftGroup.add(this.leftBackground),this.leftGroup.add(this.leftPanelText),this.bodyGroup.add(this.bodyBackground),this.bodyGroup.add(this.leftGroup),this.bodyGroup}afterCanvasNodeInit(){this.settleLayout(),this.timeline.onZoom$.pipe(x(this.onDestroy$)).subscribe(e=>{this.settleLayout()}),this.stylesProvider.onChange$.pipe(x(this.onDestroy$),$e(e=>!!e)).subscribe(e=>{this.onStylesProviderChange()}),this.styleAdapter.onChange$.pipe(x(this.onDestroy$),$e(e=>!!e)).subscribe(e=>{this.onStyleChange()})}onMeasurementsChange(){this.settleLayout()}onStylesProviderChange(){this.leftPanelText.setAttrs({fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily})}onStyleChange(){this.bodyBackground.setAttrs({fill:this.styleAdapter.style.backgroundFill,opacity:this.styleAdapter.style.backgroundOpacity}),this.leftBackground.setAttrs({fill:this.styleAdapter.style.leftBackgroundFill,opacity:this.styleAdapter.style.leftBackgroundOpacity}),this.leftPanelText.setAttrs({fill:this.styleAdapter.style.leftBackgroundFill,opacity:this.styleAdapter.style.leftBackgroundOpacity})}settleLayout(){this.bodyGroup.setAttrs({...this.timelinePosition,width:this.timeline.getBodyGroupRect().width}),this.bodyBackground.setAttrs({...this.bodyGroup.getSize()}),this.leftGroup.setAttrs({width:this.timeline.getLeftPanelRect().width,height:this.bodyGroup.height(),visible:this.timeline.getLeftPanelVisible()}),this.leftBackground.setAttrs({...this.leftGroup.getSize()})}isTimelineReady(){return this.timeline&&this.timeline.isTimelineReady()}clearContent(){}setTimeline(e){this.timeline=e}setVideoController(e){this.videoController=e}get style(){return super.style}set style(e){super.style=e}getRect(){return{...this.getPosition(),...this.getDimension()}}getPosition(){return{...this.bodyGroup.getPosition()}}getDimension(){return{...this.bodyGroup.getSize()}}getId(){return this.id}getDescription(){return this.description}setTimelinePosition(e){this.timelinePosition=e}getTimelinePosition(){return this.timelinePosition}}const Uo={color:"rgba(255,73,145)",renderType:"lane",symbolType:"square"};class Zo extends Je{constructor(e){super(e),this.onChange$=new V,this.onClick$=new V,this.onMouseEnter$=new V,this.onMouseLeave$=new V,this.id=ai.id()(this.config.id),this.description=ai.description()(this.config.description),this.editable=ai.boolean()(this.config.editable),this.observation=this.config.observation}createCanvasNode(){return this.group=new O.Group({...F.POSITION_TOP_LEFT,...this.timeline.getTimecodedGroupDimension()}),this.group}afterCanvasNodeInit(){this.timeline.onZoom$.pipe(x(this.onDestroy$)).subscribe(e=>{this.onMeasurementsChange()}),this.group.on("click",e=>{this.onClick$.next({})}),this.group.on("mouseenter",e=>{this.onMouseEnter$.next({})}),this.group.on("mouseleave",e=>{this.onMouseLeave$.next({})})}onMeasurementsChange(){this.group.setAttrs({...this.timeline.getTimecodedGroupDimension()})}destroy(){super.destroy(),this.onChange$.unsubscribe(),this.onClick$.unsubscribe(),this.onMouseEnter$.unsubscribe(),this.onMouseLeave$.unsubscribe()}setTimeline(e){this.timeline=e}setMarkerLane(e){this.markerLane=e}getId(){return this.id}getDescription(){return this.description}getTimeObservation(){return this.observation}setTimeObservation(e){this.editable&&(this.observation=e,this.onChange())}setEditable(e){this.editable=e}get style(){return this.styleAdapter.style}setStyle(e){this.styleAdapter.style=e}}class et{static resetCursorStyle(){this.cursor("default")}static cursor(e){document.body.style.cursor=e}}const jo={color:"#ff6c6c",markerRenderType:"lane",markerSymbolType:"square",lineStrokeWidth:1,lineOpacity:.7};class Xo extends Je{constructor(e,t,i){super(e),this.onDrag=s=>{},this.onDragEnd=s=>{},this.markerLane=t,this.timeline=i,this.x=this.config.x,this.editable=this.config.editable}createCanvasNode(){let e=this.getVerticalMeasurement();return this.group=new O.Group({x:this.x,y:e.y,draggable:this.editable}),this.line=new O.Line({stroke:this.style.color,strokeWidth:this.style.lineStrokeWidth,opacity:this.style.lineOpacity,points:[0,0,0,e.height],listening:!1}),this.handleGroup=new O.Group({x:0,y:this.markerLane.getPosition().y-e.y+this.markerLane.getDimension().height/2}),this.symbol=this.createSymbol(),this.handleGroup.add(this.symbol),this.handleGroup.on("mouseover",t=>{this.editable&&(this.handleGroup.to({scaleX:1.5,scaleY:1.5,duration:.1}),et.cursor("grab"))}),this.handleGroup.on("mouseleave",()=>{this.editable&&(this.handleGroup.to({scaleX:1,scaleY:1,duration:.1}),et.cursor("default"))}),this.group.add(this.line),this.group.add(this.handleGroup),this.group}afterCanvasNodeInit(){let e=this.getVerticalMeasurement();this.group.on("dragstart dragmove",t=>{et.cursor("grabbing");let i=this.timeline.constrainTimelinePosition(this.group.getPosition().x);this.group.setAttrs({x:i,y:e.y}),this.onDrag(this.group)}),this.group.on("dragend",t=>{let i=this.timeline.constrainTimelinePosition(this.group.getPosition().x);this.group.setAttrs({x:i,y:e.y}),this.onDragEnd(this.group),et.cursor("default")})}onMeasurementsChange(){let e=this.getVerticalMeasurement();this.group.setAttrs({y:e.y}),this.line.setAttrs({points:[0,0,0,e.height]}),this.handleGroup.setAttrs({y:this.markerLane.getPosition().y-e.y+this.markerLane.getDimension().height/2})}getVerticalMeasurement(){switch(this.style.markerRenderType){case"spanning":return{y:0,height:this.timeline.getTimecodedGroupDimension().height};default:return{y:this.markerLane.getTimelinePosition().y,height:this.markerLane.getDimension().height}}}getHandleGroup(){return this.handleGroup}getSymbol(){return this.symbol}getPosition(){return this.group.getPosition()}setPosition(e){this.group.setAttrs({...e}),this.onMeasurementsChange()}setColor(e){this.style.color=e,this.line.setAttrs({stroke:this.style.color}),this.symbol.setAttrs({fill:this.style.color})}setEditable(e){this.editable=e,this.group.draggable(this.editable)}}/*!
5
5
  * decimal.js v10.4.3
6
6
  * An arbitrary-precision Decimal type for JavaScript.
7
7
  * https://github.com/MikeMcl/decimal.js
8
8
  * Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
9
9
  * MIT Licence
10
- */var ei=9e15,Dt=1e9,Ns="0123456789abcdef",$r="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Vr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Gs={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ei,maxE:ei,crypto:!1},qo,ht,q=!0,Kr="[DecimalError] ",Lt=Kr+"Invalid argument: ",Yo=Kr+"Precision limit exceeded",Ko=Kr+"crypto unavailable",Jo="[object Decimal]",Me=Math.floor,Se=Math.pow,Wc=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Uc=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Zc=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Qo=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,je=1e7,j=7,jc=9007199254740991,Xc=$r.length-1,Ds=Vr.length-1,C={toStringTag:Jo};C.absoluteValue=C.abs=function(){var r=new this.constructor(this);return r.s<0&&(r.s=1),z(r)};C.ceil=function(){return z(new this.constructor(this),this.e+1,2)};C.clampedTo=C.clamp=function(r,e){var t,i=this,s=i.constructor;if(r=new s(r),e=new s(e),!r.s||!e.s)return new s(NaN);if(r.gt(e))throw Error(Lt+e);return t=i.cmp(r),t<0?r:i.cmp(e)>0?e:new s(i)};C.comparedTo=C.cmp=function(r){var e,t,i,s,n=this,a=n.d,o=(r=new n.constructor(r)).d,h=n.s,l=r.s;if(!a||!o)return!h||!l?NaN:h!==l?h:a===o?0:!a^h<0?1:-1;if(!a[0]||!o[0])return a[0]?h:o[0]?-l:0;if(h!==l)return h;if(n.e!==r.e)return n.e>r.e^h<0?1:-1;for(i=a.length,s=o.length,e=0,t=i<s?i:s;e<t;++e)if(a[e]!==o[e])return a[e]>o[e]^h<0?1:-1;return i===s?0:i>s^h<0?1:-1};C.cosine=C.cos=function(){var r,e,t=this,i=t.constructor;return t.d?t.d[0]?(r=i.precision,e=i.rounding,i.precision=r+Math.max(t.e,t.sd())+j,i.rounding=1,t=qc(i,sl(i,t)),i.precision=r,i.rounding=e,z(ht==2||ht==3?t.neg():t,r,e,!0)):new i(1):new i(NaN)};C.cubeRoot=C.cbrt=function(){var r,e,t,i,s,n,a,o,h,l,d=this,u=d.constructor;if(!d.isFinite()||d.isZero())return new u(d);for(q=!1,n=d.s*Se(d.s*d,1/3),!n||Math.abs(n)==1/0?(t=xe(d.d),r=d.e,(n=(r-t.length+1)%3)&&(t+=n==1||n==-2?"0":"00"),n=Se(t,1/3),r=Me((r+1)/3)-(r%3==(r<0?-1:2)),n==1/0?t="5e"+r:(t=n.toExponential(),t=t.slice(0,t.indexOf("e")+1)+r),i=new u(t),i.s=d.s):i=new u(n.toString()),a=(r=u.precision)+3;;)if(o=i,h=o.times(o).times(o),l=h.plus(d),i=ue(l.plus(d).times(o),l.plus(h),a+2,1),xe(o.d).slice(0,a)===(t=xe(i.d)).slice(0,a))if(t=t.slice(a-3,a+1),t=="9999"||!s&&t=="4999"){if(!s&&(z(o,r+1,0),o.times(o).times(o).eq(d))){i=o;break}a+=4,s=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(z(i,r+1,1),e=!i.times(i).times(i).eq(d));break}return q=!0,z(i,r,u.rounding,e)};C.decimalPlaces=C.dp=function(){var r,e=this.d,t=NaN;if(e){if(r=e.length-1,t=(r-Me(this.e/j))*j,r=e[r],r)for(;r%10==0;r/=10)t--;t<0&&(t=0)}return t};C.dividedBy=C.div=function(r){return ue(this,new this.constructor(r))};C.dividedToIntegerBy=C.divToInt=function(r){var e=this,t=e.constructor;return z(ue(e,new t(r),0,1,1),t.precision,t.rounding)};C.equals=C.eq=function(r){return this.cmp(r)===0};C.floor=function(){return z(new this.constructor(this),this.e+1,3)};C.greaterThan=C.gt=function(r){return this.cmp(r)>0};C.greaterThanOrEqualTo=C.gte=function(r){var e=this.cmp(r);return e==1||e===0};C.hyperbolicCosine=C.cosh=function(){var r,e,t,i,s,n=this,a=n.constructor,o=new a(1);if(!n.isFinite())return new a(n.s?1/0:NaN);if(n.isZero())return o;t=a.precision,i=a.rounding,a.precision=t+Math.max(n.e,n.sd())+4,a.rounding=1,s=n.d.length,s<32?(r=Math.ceil(s/3),e=(1/Qr(4,r)).toString()):(r=16,e="2.3283064365386962890625e-10"),n=ci(a,1,n.times(e),new a(1),!0);for(var h,l=r,d=new a(8);l--;)h=n.times(n),n=o.minus(h.times(d.minus(h.times(d))));return z(n,a.precision=t,a.rounding=i,!0)};C.hyperbolicSine=C.sinh=function(){var r,e,t,i,s=this,n=s.constructor;if(!s.isFinite()||s.isZero())return new n(s);if(e=n.precision,t=n.rounding,n.precision=e+Math.max(s.e,s.sd())+4,n.rounding=1,i=s.d.length,i<3)s=ci(n,2,s,s,!0);else{r=1.4*Math.sqrt(i),r=r>16?16:r|0,s=s.times(1/Qr(5,r)),s=ci(n,2,s,s,!0);for(var a,o=new n(5),h=new n(16),l=new n(20);r--;)a=s.times(s),s=s.times(o.plus(a.times(h.times(a).plus(l))))}return n.precision=e,n.rounding=t,z(s,e,t,!0)};C.hyperbolicTangent=C.tanh=function(){var r,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(r=i.precision,e=i.rounding,i.precision=r+7,i.rounding=1,ue(t.sinh(),t.cosh(),i.precision=r,i.rounding=e)):new i(t.s)};C.inverseCosine=C.acos=function(){var r,e=this,t=e.constructor,i=e.abs().cmp(1),s=t.precision,n=t.rounding;return i!==-1?i===0?e.isNeg()?Ue(t,s,n):new t(0):new t(NaN):e.isZero()?Ue(t,s+4,n).times(.5):(t.precision=s+6,t.rounding=1,e=e.asin(),r=Ue(t,s+4,n).times(.5),t.precision=s,t.rounding=n,r.minus(e))};C.inverseHyperbolicCosine=C.acosh=function(){var r,e,t=this,i=t.constructor;return t.lte(1)?new i(t.eq(1)?0:NaN):t.isFinite()?(r=i.precision,e=i.rounding,i.precision=r+Math.max(Math.abs(t.e),t.sd())+4,i.rounding=1,q=!1,t=t.times(t).minus(1).sqrt().plus(t),q=!0,i.precision=r,i.rounding=e,t.ln()):new i(t)};C.inverseHyperbolicSine=C.asinh=function(){var r,e,t=this,i=t.constructor;return!t.isFinite()||t.isZero()?new i(t):(r=i.precision,e=i.rounding,i.precision=r+2*Math.max(Math.abs(t.e),t.sd())+6,i.rounding=1,q=!1,t=t.times(t).plus(1).sqrt().plus(t),q=!0,i.precision=r,i.rounding=e,t.ln())};C.inverseHyperbolicTangent=C.atanh=function(){var r,e,t,i,s=this,n=s.constructor;return s.isFinite()?s.e>=0?new n(s.abs().eq(1)?s.s/0:s.isZero()?s:NaN):(r=n.precision,e=n.rounding,i=s.sd(),Math.max(i,r)<2*-s.e-1?z(new n(s),r,e,!0):(n.precision=t=i-s.e,s=ue(s.plus(1),new n(1).minus(s),t+r,1),n.precision=r+4,n.rounding=1,s=s.ln(),n.precision=r,n.rounding=e,s.times(.5))):new n(NaN)};C.inverseSine=C.asin=function(){var r,e,t,i,s=this,n=s.constructor;return s.isZero()?new n(s):(e=s.abs().cmp(1),t=n.precision,i=n.rounding,e!==-1?e===0?(r=Ue(n,t+4,i).times(.5),r.s=s.s,r):new n(NaN):(n.precision=t+6,n.rounding=1,s=s.div(new n(1).minus(s.times(s)).sqrt().plus(1)).atan(),n.precision=t,n.rounding=i,s.times(2)))};C.inverseTangent=C.atan=function(){var r,e,t,i,s,n,a,o,h,l=this,d=l.constructor,u=d.precision,c=d.rounding;if(l.isFinite()){if(l.isZero())return new d(l);if(l.abs().eq(1)&&u+4<=Ds)return a=Ue(d,u+4,c).times(.25),a.s=l.s,a}else{if(!l.s)return new d(NaN);if(u+4<=Ds)return a=Ue(d,u+4,c).times(.5),a.s=l.s,a}for(d.precision=o=u+10,d.rounding=1,t=Math.min(28,o/j+2|0),r=t;r;--r)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(q=!1,e=Math.ceil(o/j),i=1,h=l.times(l),a=new d(l),s=l;r!==-1;)if(s=s.times(h),n=a.minus(s.div(i+=2)),s=s.times(h),a=n.plus(s.div(i+=2)),a.d[e]!==void 0)for(r=e;a.d[r]===n.d[r]&&r--;);return t&&(a=a.times(2<<t-1)),q=!0,z(a,d.precision=u,d.rounding=c,!0)};C.isFinite=function(){return!!this.d};C.isInteger=C.isInt=function(){return!!this.d&&Me(this.e/j)>this.d.length-2};C.isNaN=function(){return!this.s};C.isNegative=C.isNeg=function(){return this.s<0};C.isPositive=C.isPos=function(){return this.s>0};C.isZero=function(){return!!this.d&&this.d[0]===0};C.lessThan=C.lt=function(r){return this.cmp(r)<0};C.lessThanOrEqualTo=C.lte=function(r){return this.cmp(r)<1};C.logarithm=C.log=function(r){var e,t,i,s,n,a,o,h,l=this,d=l.constructor,u=d.precision,c=d.rounding,p=5;if(r==null)r=new d(10),e=!0;else{if(r=new d(r),t=r.d,r.s<0||!t||!t[0]||r.eq(1))return new d(NaN);e=r.eq(10)}if(t=l.d,l.s<0||!t||!t[0]||l.eq(1))return new d(t&&!t[0]?-1/0:l.s!=1?NaN:t?0:1/0);if(e)if(t.length>1)n=!0;else{for(s=t[0];s%10===0;)s/=10;n=s!==1}if(q=!1,o=u+p,a=Pt(l,o),i=e?zr(d,o+10):Pt(r,o),h=ue(a,i,o,1),Zi(h.d,s=u,c))do if(o+=10,a=Pt(l,o),i=e?zr(d,o+10):Pt(r,o),h=ue(a,i,o,1),!n){+xe(h.d).slice(s+1,s+15)+1==1e14&&(h=z(h,u+1,0));break}while(Zi(h.d,s+=10,c));return q=!0,z(h,u,c)};C.minus=C.sub=function(r){var e,t,i,s,n,a,o,h,l,d,u,c,p=this,f=p.constructor;if(r=new f(r),!p.d||!r.d)return!p.s||!r.s?r=new f(NaN):p.d?r.s=-r.s:r=new f(r.d||p.s!==r.s?p:NaN),r;if(p.s!=r.s)return r.s=-r.s,p.plus(r);if(l=p.d,c=r.d,o=f.precision,h=f.rounding,!l[0]||!c[0]){if(c[0])r.s=-r.s;else if(l[0])r=new f(p);else return new f(h===3?-0:0);return q?z(r,o,h):r}if(t=Me(r.e/j),d=Me(p.e/j),l=l.slice(),n=d-t,n){for(u=n<0,u?(e=l,n=-n,a=c.length):(e=c,t=d,a=l.length),i=Math.max(Math.ceil(o/j),a)+2,n>i&&(n=i,e.length=1),e.reverse(),i=n;i--;)e.push(0);e.reverse()}else{for(i=l.length,a=c.length,u=i<a,u&&(a=i),i=0;i<a;i++)if(l[i]!=c[i]){u=l[i]<c[i];break}n=0}for(u&&(e=l,l=c,c=e,r.s=-r.s),a=l.length,i=c.length-a;i>0;--i)l[a++]=0;for(i=c.length;i>n;){if(l[--i]<c[i]){for(s=i;s&&l[--s]===0;)l[s]=je-1;--l[s],l[i]+=je}l[i]-=c[i]}for(;l[--a]===0;)l.pop();for(;l[0]===0;l.shift())--t;return l[0]?(r.d=l,r.e=Jr(l,t),q?z(r,o,h):r):new f(h===3?-0:0)};C.modulo=C.mod=function(r){var e,t=this,i=t.constructor;return r=new i(r),!t.d||!r.s||r.d&&!r.d[0]?new i(NaN):!r.d||t.d&&!t.d[0]?z(new i(t),i.precision,i.rounding):(q=!1,i.modulo==9?(e=ue(t,r.abs(),0,3,1),e.s*=r.s):e=ue(t,r,0,i.modulo,1),e=e.times(r),q=!0,t.minus(e))};C.naturalExponential=C.exp=function(){return Fs(this)};C.naturalLogarithm=C.ln=function(){return Pt(this)};C.negated=C.neg=function(){var r=new this.constructor(this);return r.s=-r.s,z(r)};C.plus=C.add=function(r){var e,t,i,s,n,a,o,h,l,d,u=this,c=u.constructor;if(r=new c(r),!u.d||!r.d)return!u.s||!r.s?r=new c(NaN):u.d||(r=new c(r.d||u.s===r.s?u:NaN)),r;if(u.s!=r.s)return r.s=-r.s,u.minus(r);if(l=u.d,d=r.d,o=c.precision,h=c.rounding,!l[0]||!d[0])return d[0]||(r=new c(u)),q?z(r,o,h):r;if(n=Me(u.e/j),i=Me(r.e/j),l=l.slice(),s=n-i,s){for(s<0?(t=l,s=-s,a=d.length):(t=d,i=n,a=l.length),n=Math.ceil(o/j),a=n>a?n+1:a+1,s>a&&(s=a,t.length=1),t.reverse();s--;)t.push(0);t.reverse()}for(a=l.length,s=d.length,a-s<0&&(s=a,t=d,d=l,l=t),e=0;s;)e=(l[--s]=l[s]+d[s]+e)/je|0,l[s]%=je;for(e&&(l.unshift(e),++i),a=l.length;l[--a]==0;)l.pop();return r.d=l,r.e=Jr(l,i),q?z(r,o,h):r};C.precision=C.sd=function(r){var e,t=this;if(r!==void 0&&r!==!!r&&r!==1&&r!==0)throw Error(Lt+r);return t.d?(e=el(t.d),r&&t.e+1>e&&(e=t.e+1)):e=NaN,e};C.round=function(){var r=this,e=r.constructor;return z(new e(r),r.e+1,e.rounding)};C.sine=C.sin=function(){var r,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(r=i.precision,e=i.rounding,i.precision=r+Math.max(t.e,t.sd())+j,i.rounding=1,t=Kc(i,sl(i,t)),i.precision=r,i.rounding=e,z(ht>2?t.neg():t,r,e,!0)):new i(NaN)};C.squareRoot=C.sqrt=function(){var r,e,t,i,s,n,a=this,o=a.d,h=a.e,l=a.s,d=a.constructor;if(l!==1||!o||!o[0])return new d(!l||l<0&&(!o||o[0])?NaN:o?a:1/0);for(q=!1,l=Math.sqrt(+a),l==0||l==1/0?(e=xe(o),(e.length+h)%2==0&&(e+="0"),l=Math.sqrt(e),h=Me((h+1)/2)-(h<0||h%2),l==1/0?e="5e"+h:(e=l.toExponential(),e=e.slice(0,e.indexOf("e")+1)+h),i=new d(e)):i=new d(l.toString()),t=(h=d.precision)+3;;)if(n=i,i=n.plus(ue(a,n,t+2,1)).times(.5),xe(n.d).slice(0,t)===(e=xe(i.d)).slice(0,t))if(e=e.slice(t-3,t+1),e=="9999"||!s&&e=="4999"){if(!s&&(z(n,h+1,0),n.times(n).eq(a))){i=n;break}t+=4,s=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(z(i,h+1,1),r=!i.times(i).eq(a));break}return q=!0,z(i,h,d.rounding,r)};C.tangent=C.tan=function(){var r,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(r=i.precision,e=i.rounding,i.precision=r+10,i.rounding=1,t=t.sin(),t.s=1,t=ue(t,new i(1).minus(t.times(t)).sqrt(),r+10,0),i.precision=r,i.rounding=e,z(ht==2||ht==4?t.neg():t,r,e,!0)):new i(NaN)};C.times=C.mul=function(r){var e,t,i,s,n,a,o,h,l,d=this,u=d.constructor,c=d.d,p=(r=new u(r)).d;if(r.s*=d.s,!c||!c[0]||!p||!p[0])return new u(!r.s||c&&!c[0]&&!p||p&&!p[0]&&!c?NaN:!c||!p?r.s/0:r.s*0);for(t=Me(d.e/j)+Me(r.e/j),h=c.length,l=p.length,h<l&&(n=c,c=p,p=n,a=h,h=l,l=a),n=[],a=h+l,i=a;i--;)n.push(0);for(i=l;--i>=0;){for(e=0,s=h+i;s>i;)o=n[s]+p[i]*c[s-i-1]+e,n[s--]=o%je|0,e=o/je|0;n[s]=(n[s]+e)%je|0}for(;!n[--a];)n.pop();return e?++t:n.shift(),r.d=n,r.e=Jr(n,t),q?z(r,u.precision,u.rounding):r};C.toBinary=function(r,e){return dn(this,2,r,e)};C.toDecimalPlaces=C.toDP=function(r,e){var t=this,i=t.constructor;return t=new i(t),r===void 0?t:(Ne(r,0,Dt),e===void 0?e=i.rounding:Ne(e,0,8),z(t,r+t.e+1,e))};C.toExponential=function(r,e){var t,i=this,s=i.constructor;return r===void 0?t=nt(i,!0):(Ne(r,0,Dt),e===void 0?e=s.rounding:Ne(e,0,8),i=z(new s(i),r+1,e),t=nt(i,!0,r+1)),i.isNeg()&&!i.isZero()?"-"+t:t};C.toFixed=function(r,e){var t,i,s=this,n=s.constructor;return r===void 0?t=nt(s):(Ne(r,0,Dt),e===void 0?e=n.rounding:Ne(e,0,8),i=z(new n(s),r+s.e+1,e),t=nt(i,!1,r+i.e+1)),s.isNeg()&&!s.isZero()?"-"+t:t};C.toFraction=function(r){var e,t,i,s,n,a,o,h,l,d,u,c,p=this,f=p.d,m=p.constructor;if(!f)return new m(p);if(l=t=new m(1),i=h=new m(0),e=new m(i),n=e.e=el(f)-p.e-1,a=n%j,e.d[0]=Se(10,a<0?j+a:a),r==null)r=n>0?e:l;else{if(o=new m(r),!o.isInt()||o.lt(l))throw Error(Lt+o);r=o.gt(e)?n>0?e:l:o}for(q=!1,o=new m(xe(f)),d=m.precision,m.precision=n=f.length*j*2;u=ue(o,e,0,1,1),s=t.plus(u.times(i)),s.cmp(r)!=1;)t=i,i=s,s=l,l=h.plus(u.times(s)),h=s,s=e,e=o.minus(u.times(s)),o=s;return s=ue(r.minus(t),i,0,1,1),h=h.plus(s.times(l)),t=t.plus(s.times(i)),h.s=l.s=p.s,c=ue(l,i,n,1).minus(p).abs().cmp(ue(h,t,n,1).minus(p).abs())<1?[l,i]:[h,t],m.precision=d,q=!0,c};C.toHexadecimal=C.toHex=function(r,e){return dn(this,16,r,e)};C.toNearest=function(r,e){var t=this,i=t.constructor;if(t=new i(t),r==null){if(!t.d)return t;r=new i(1),e=i.rounding}else{if(r=new i(r),e===void 0?e=i.rounding:Ne(e,0,8),!t.d)return r.s?t:r;if(!r.d)return r.s&&(r.s=t.s),r}return r.d[0]?(q=!1,t=ue(t,r,0,e,1).times(r),q=!0,z(t)):(r.s=t.s,t=r),t};C.toNumber=function(){return+this};C.toOctal=function(r,e){return dn(this,8,r,e)};C.toPower=C.pow=function(r){var e,t,i,s,n,a,o=this,h=o.constructor,l=+(r=new h(r));if(!o.d||!r.d||!o.d[0]||!r.d[0])return new h(Se(+o,l));if(o=new h(o),o.eq(1))return o;if(i=h.precision,n=h.rounding,r.eq(1))return z(o,i,n);if(e=Me(r.e/j),e>=r.d.length-1&&(t=l<0?-l:l)<=jc)return s=tl(h,o,t,i),r.s<0?new h(1).div(s):z(s,i,n);if(a=o.s,a<0){if(e<r.d.length-1)return new h(NaN);if(r.d[e]&1||(a=1),o.e==0&&o.d[0]==1&&o.d.length==1)return o.s=a,o}return t=Se(+o,l),e=t==0||!isFinite(t)?Me(l*(Math.log("0."+xe(o.d))/Math.LN10+o.e+1)):new h(t+"").e,e>h.maxE+1||e<h.minE-1?new h(e>0?a/0:0):(q=!1,h.rounding=o.s=1,t=Math.min(12,(e+"").length),s=Fs(r.times(Pt(o,i+t)),i),s.d&&(s=z(s,i+5,1),Zi(s.d,i,n)&&(e=i+10,s=z(Fs(r.times(Pt(o,e+t)),e),e+5,1),+xe(s.d).slice(i+1,i+15)+1==1e14&&(s=z(s,i+1,0)))),s.s=a,q=!0,h.rounding=n,z(s,i,n))};C.toPrecision=function(r,e){var t,i=this,s=i.constructor;return r===void 0?t=nt(i,i.e<=s.toExpNeg||i.e>=s.toExpPos):(Ne(r,1,Dt),e===void 0?e=s.rounding:Ne(e,0,8),i=z(new s(i),r,e),t=nt(i,r<=i.e||i.e<=s.toExpNeg,r)),i.isNeg()&&!i.isZero()?"-"+t:t};C.toSignificantDigits=C.toSD=function(r,e){var t=this,i=t.constructor;return r===void 0?(r=i.precision,e=i.rounding):(Ne(r,1,Dt),e===void 0?e=i.rounding:Ne(e,0,8)),z(new i(t),r,e)};C.toString=function(){var r=this,e=r.constructor,t=nt(r,r.e<=e.toExpNeg||r.e>=e.toExpPos);return r.isNeg()&&!r.isZero()?"-"+t:t};C.truncated=C.trunc=function(){return z(new this.constructor(this),this.e+1,1)};C.valueOf=C.toJSON=function(){var r=this,e=r.constructor,t=nt(r,r.e<=e.toExpNeg||r.e>=e.toExpPos);return r.isNeg()?"-"+t:t};function xe(r){var e,t,i,s=r.length-1,n="",a=r[0];if(s>0){for(n+=a,e=1;e<s;e++)i=r[e]+"",t=j-i.length,t&&(n+=kt(t)),n+=i;a=r[e],i=a+"",t=j-i.length,t&&(n+=kt(t))}else if(a===0)return"0";for(;a%10===0;)a/=10;return n+a}function Ne(r,e,t){if(r!==~~r||r<e||r>t)throw Error(Lt+r)}function Zi(r,e,t,i){var s,n,a,o;for(n=r[0];n>=10;n/=10)--e;return--e<0?(e+=j,s=0):(s=Math.ceil((e+1)/j),e%=j),n=Se(10,j-e),o=r[s]%n|0,i==null?e<3?(e==0?o=o/100|0:e==1&&(o=o/10|0),a=t<4&&o==99999||t>3&&o==49999||o==5e4||o==0):a=(t<4&&o+1==n||t>3&&o+1==n/2)&&(r[s+1]/n/100|0)==Se(10,e-2)-1||(o==n/2||o==0)&&(r[s+1]/n/100|0)==0:e<4?(e==0?o=o/1e3|0:e==1?o=o/100|0:e==2&&(o=o/10|0),a=(i||t<4)&&o==9999||!i&&t>3&&o==4999):a=((i||t<4)&&o+1==n||!i&&t>3&&o+1==n/2)&&(r[s+1]/n/1e3|0)==Se(10,e-3)-1,a}function Sr(r,e,t){for(var i,s=[0],n,a=0,o=r.length;a<o;){for(n=s.length;n--;)s[n]*=e;for(s[0]+=Ns.indexOf(r.charAt(a++)),i=0;i<s.length;i++)s[i]>t-1&&(s[i+1]===void 0&&(s[i+1]=0),s[i+1]+=s[i]/t|0,s[i]%=t)}return s.reverse()}function qc(r,e){var t,i,s;if(e.isZero())return e;i=e.d.length,i<32?(t=Math.ceil(i/3),s=(1/Qr(4,t)).toString()):(t=16,s="2.3283064365386962890625e-10"),r.precision+=t,e=ci(r,1,e.times(s),new r(1));for(var n=t;n--;){var a=e.times(e);e=a.times(a).minus(a).times(8).plus(1)}return r.precision-=t,e}var ue=function(){function r(i,s,n){var a,o=0,h=i.length;for(i=i.slice();h--;)a=i[h]*s+o,i[h]=a%n|0,o=a/n|0;return o&&i.unshift(o),i}function e(i,s,n,a){var o,h;if(n!=a)h=n>a?1:-1;else for(o=h=0;o<n;o++)if(i[o]!=s[o]){h=i[o]>s[o]?1:-1;break}return h}function t(i,s,n,a){for(var o=0;n--;)i[n]-=o,o=i[n]<s[n]?1:0,i[n]=o*a+i[n]-s[n];for(;!i[0]&&i.length>1;)i.shift()}return function(i,s,n,a,o,h){var l,d,u,c,p,f,m,v,_,w,b,T,M,P,G,L,H,$,R,K,W=i.constructor,le=i.s==s.s?1:-1,ne=i.d,U=s.d;if(!ne||!ne[0]||!U||!U[0])return new W(!i.s||!s.s||(ne?U&&ne[0]==U[0]:!U)?NaN:ne&&ne[0]==0||!U?le*0:le/0);for(h?(p=1,d=i.e-s.e):(h=je,p=j,d=Me(i.e/p)-Me(s.e/p)),R=U.length,H=ne.length,_=new W(le),w=_.d=[],u=0;U[u]==(ne[u]||0);u++);if(U[u]>(ne[u]||0)&&d--,n==null?(P=n=W.precision,a=W.rounding):o?P=n+(i.e-s.e)+1:P=n,P<0)w.push(1),f=!0;else{if(P=P/p+2|0,u=0,R==1){for(c=0,U=U[0],P++;(u<H||c)&&P--;u++)G=c*h+(ne[u]||0),w[u]=G/U|0,c=G%U|0;f=c||u<H}else{for(c=h/(U[0]+1)|0,c>1&&(U=r(U,c,h),ne=r(ne,c,h),R=U.length,H=ne.length),L=R,b=ne.slice(0,R),T=b.length;T<R;)b[T++]=0;K=U.slice(),K.unshift(0),$=U[0],U[1]>=h/2&&++$;do c=0,l=e(U,b,R,T),l<0?(M=b[0],R!=T&&(M=M*h+(b[1]||0)),c=M/$|0,c>1?(c>=h&&(c=h-1),m=r(U,c,h),v=m.length,T=b.length,l=e(m,b,v,T),l==1&&(c--,t(m,R<v?K:U,v,h))):(c==0&&(l=c=1),m=U.slice()),v=m.length,v<T&&m.unshift(0),t(b,m,T,h),l==-1&&(T=b.length,l=e(U,b,R,T),l<1&&(c++,t(b,R<T?K:U,T,h))),T=b.length):l===0&&(c++,b=[0]),w[u++]=c,l&&b[0]?b[T++]=ne[L]||0:(b=[ne[L]],T=1);while((L++<H||b[0]!==void 0)&&P--);f=b[0]!==void 0}w[0]||w.shift()}if(p==1)_.e=d,qo=f;else{for(u=1,c=w[0];c>=10;c/=10)u++;_.e=u+d*p-1,z(_,o?n+_.e+1:n,a,f)}return _}}();function z(r,e,t,i){var s,n,a,o,h,l,d,u,c,p=r.constructor;e:if(e!=null){if(u=r.d,!u)return r;for(s=1,o=u[0];o>=10;o/=10)s++;if(n=e-s,n<0)n+=j,a=e,d=u[c=0],h=d/Se(10,s-a-1)%10|0;else if(c=Math.ceil((n+1)/j),o=u.length,c>=o)if(i){for(;o++<=c;)u.push(0);d=h=0,s=1,n%=j,a=n-j+1}else break e;else{for(d=o=u[c],s=1;o>=10;o/=10)s++;n%=j,a=n-j+s,h=a<0?0:d/Se(10,s-a-1)%10|0}if(i=i||e<0||u[c+1]!==void 0||(a<0?d:d%Se(10,s-a-1)),l=t<4?(h||i)&&(t==0||t==(r.s<0?3:2)):h>5||h==5&&(t==4||i||t==6&&(n>0?a>0?d/Se(10,s-a):0:u[c-1])%10&1||t==(r.s<0?8:7)),e<1||!u[0])return u.length=0,l?(e-=r.e+1,u[0]=Se(10,(j-e%j)%j),r.e=-e||0):u[0]=r.e=0,r;if(n==0?(u.length=c,o=1,c--):(u.length=c+1,o=Se(10,j-n),u[c]=a>0?(d/Se(10,s-a)%Se(10,a)|0)*o:0),l)for(;;)if(c==0){for(n=1,a=u[0];a>=10;a/=10)n++;for(a=u[0]+=o,o=1;a>=10;a/=10)o++;n!=o&&(r.e++,u[0]==je&&(u[0]=1));break}else{if(u[c]+=o,u[c]!=je)break;u[c--]=0,o=1}for(n=u.length;u[--n]===0;)u.pop()}return q&&(r.e>p.maxE?(r.d=null,r.e=NaN):r.e<p.minE&&(r.e=0,r.d=[0])),r}function nt(r,e,t){if(!r.isFinite())return rl(r);var i,s=r.e,n=xe(r.d),a=n.length;return e?(t&&(i=t-a)>0?n=n.charAt(0)+"."+n.slice(1)+kt(i):a>1&&(n=n.charAt(0)+"."+n.slice(1)),n=n+(r.e<0?"e":"e+")+r.e):s<0?(n="0."+kt(-s-1)+n,t&&(i=t-a)>0&&(n+=kt(i))):s>=a?(n+=kt(s+1-a),t&&(i=t-s-1)>0&&(n=n+"."+kt(i))):((i=s+1)<a&&(n=n.slice(0,i)+"."+n.slice(i)),t&&(i=t-a)>0&&(s+1===a&&(n+="."),n+=kt(i))),n}function Jr(r,e){var t=r[0];for(e*=j;t>=10;t/=10)e++;return e}function zr(r,e,t){if(e>Xc)throw q=!0,t&&(r.precision=t),Error(Yo);return z(new r($r),e,1,!0)}function Ue(r,e,t){if(e>Ds)throw Error(Yo);return z(new r(Vr),e,t,!0)}function el(r){var e=r.length-1,t=e*j+1;if(e=r[e],e){for(;e%10==0;e/=10)t--;for(e=r[0];e>=10;e/=10)t++}return t}function kt(r){for(var e="";r--;)e+="0";return e}function tl(r,e,t,i){var s,n=new r(1),a=Math.ceil(i/j+4);for(q=!1;;){if(t%2&&(n=n.times(e),ra(n.d,a)&&(s=!0)),t=Me(t/2),t===0){t=n.d.length-1,s&&n.d[t]===0&&++n.d[t];break}e=e.times(e),ra(e.d,a)}return q=!0,n}function ia(r){return r.d[r.d.length-1]&1}function il(r,e,t){for(var i,s=new r(e[0]),n=0;++n<e.length;)if(i=new r(e[n]),i.s)s[t](i)&&(s=i);else{s=i;break}return s}function Fs(r,e){var t,i,s,n,a,o,h,l=0,d=0,u=0,c=r.constructor,p=c.rounding,f=c.precision;if(!r.d||!r.d[0]||r.e>17)return new c(r.d?r.d[0]?r.s<0?0:1/0:1:r.s?r.s<0?0:r:0/0);for(e==null?(q=!1,h=f):h=e,o=new c(.03125);r.e>-2;)r=r.times(o),u+=5;for(i=Math.log(Se(2,u))/Math.LN10*2+5|0,h+=i,t=n=a=new c(1),c.precision=h;;){if(n=z(n.times(r),h,1),t=t.times(++d),o=a.plus(ue(n,t,h,1)),xe(o.d).slice(0,h)===xe(a.d).slice(0,h)){for(s=u;s--;)a=z(a.times(a),h,1);if(e==null)if(l<3&&Zi(a.d,h-i,p,l))c.precision=h+=10,t=n=o=new c(1),d=0,l++;else return z(a,c.precision=f,p,q=!0);else return c.precision=f,a}a=o}}function Pt(r,e){var t,i,s,n,a,o,h,l,d,u,c,p=1,f=10,m=r,v=m.d,_=m.constructor,w=_.rounding,b=_.precision;if(m.s<0||!v||!v[0]||!m.e&&v[0]==1&&v.length==1)return new _(v&&!v[0]?-1/0:m.s!=1?NaN:v?0:m);if(e==null?(q=!1,d=b):d=e,_.precision=d+=f,t=xe(v),i=t.charAt(0),Math.abs(n=m.e)<15e14){for(;i<7&&i!=1||i==1&&t.charAt(1)>3;)m=m.times(r),t=xe(m.d),i=t.charAt(0),p++;n=m.e,i>1?(m=new _("0."+t),n++):m=new _(i+"."+t.slice(1))}else return l=zr(_,d+2,b).times(n+""),m=Pt(new _(i+"."+t.slice(1)),d-f).plus(l),_.precision=b,e==null?z(m,b,w,q=!0):m;for(u=m,h=a=m=ue(m.minus(1),m.plus(1),d,1),c=z(m.times(m),d,1),s=3;;){if(a=z(a.times(c),d,1),l=h.plus(ue(a,new _(s),d,1)),xe(l.d).slice(0,d)===xe(h.d).slice(0,d))if(h=h.times(2),n!==0&&(h=h.plus(zr(_,d+2,b).times(n+""))),h=ue(h,new _(p),d,1),e==null)if(Zi(h.d,d-f,w,o))_.precision=d+=f,l=a=m=ue(u.minus(1),u.plus(1),d,1),c=z(m.times(m),d,1),s=o=1;else return z(h,_.precision=b,w,q=!0);else return _.precision=b,h;h=l,s+=2}}function rl(r){return String(r.s*r.s/0)}function Hs(r,e){var t,i,s;for((t=e.indexOf("."))>-1&&(e=e.replace(".","")),(i=e.search(/e/i))>0?(t<0&&(t=i),t+=+e.slice(i+1),e=e.substring(0,i)):t<0&&(t=e.length),i=0;e.charCodeAt(i)===48;i++);for(s=e.length;e.charCodeAt(s-1)===48;--s);if(e=e.slice(i,s),e){if(s-=i,r.e=t=t-i-1,r.d=[],i=(t+1)%j,t<0&&(i+=j),i<s){for(i&&r.d.push(+e.slice(0,i)),s-=j;i<s;)r.d.push(+e.slice(i,i+=j));e=e.slice(i),i=j-e.length}else i-=s;for(;i--;)e+="0";r.d.push(+e),q&&(r.e>r.constructor.maxE?(r.d=null,r.e=NaN):r.e<r.constructor.minE&&(r.e=0,r.d=[0]))}else r.e=0,r.d=[0];return r}function Yc(r,e){var t,i,s,n,a,o,h,l,d;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),Qo.test(e))return Hs(r,e)}else if(e==="Infinity"||e==="NaN")return+e||(r.s=NaN),r.e=NaN,r.d=null,r;if(Uc.test(e))t=16,e=e.toLowerCase();else if(Wc.test(e))t=2;else if(Zc.test(e))t=8;else throw Error(Lt+e);for(n=e.search(/p/i),n>0?(h=+e.slice(n+1),e=e.substring(2,n)):e=e.slice(2),n=e.indexOf("."),a=n>=0,i=r.constructor,a&&(e=e.replace(".",""),o=e.length,n=o-n,s=tl(i,new i(t),n,n*2)),l=Sr(e,t,je),d=l.length-1,n=d;l[n]===0;--n)l.pop();return n<0?new i(r.s*0):(r.e=Jr(l,d),r.d=l,q=!1,a&&(r=ue(r,s,o*4)),h&&(r=r.times(Math.abs(h)<54?Se(2,h):Z.pow(2,h))),q=!0,r)}function Kc(r,e){var t,i=e.d.length;if(i<3)return e.isZero()?e:ci(r,2,e,e);t=1.4*Math.sqrt(i),t=t>16?16:t|0,e=e.times(1/Qr(5,t)),e=ci(r,2,e,e);for(var s,n=new r(5),a=new r(16),o=new r(20);t--;)s=e.times(e),e=e.times(n.plus(s.times(a.times(s).minus(o))));return e}function ci(r,e,t,i,s){var n,a,o,h,l=r.precision,d=Math.ceil(l/j);for(q=!1,h=t.times(t),o=new r(i);;){if(a=ue(o.times(h),new r(e++*e++),l,1),o=s?i.plus(a):i.minus(a),i=ue(a.times(h),new r(e++*e++),l,1),a=o.plus(i),a.d[d]!==void 0){for(n=d;a.d[n]===o.d[n]&&n--;);if(n==-1)break}n=o,o=i,i=a,a=n}return q=!0,a.d.length=d+1,a}function Qr(r,e){for(var t=r;--e;)t*=r;return t}function sl(r,e){var t,i=e.s<0,s=Ue(r,r.precision,1),n=s.times(.5);if(e=e.abs(),e.lte(n))return ht=i?4:1,e;if(t=e.divToInt(s),t.isZero())ht=i?3:2;else{if(e=e.minus(t.times(s)),e.lte(n))return ht=ia(t)?i?2:3:i?4:1,e;ht=ia(t)?i?1:4:i?3:2}return e.minus(s).abs()}function dn(r,e,t,i){var s,n,a,o,h,l,d,u,c,p=r.constructor,f=t!==void 0;if(f?(Ne(t,1,Dt),i===void 0?i=p.rounding:Ne(i,0,8)):(t=p.precision,i=p.rounding),!r.isFinite())d=rl(r);else{for(d=nt(r),a=d.indexOf("."),f?(s=2,e==16?t=t*4-3:e==8&&(t=t*3-2)):s=e,a>=0&&(d=d.replace(".",""),c=new p(1),c.e=d.length-a,c.d=Sr(nt(c),10,s),c.e=c.d.length),u=Sr(d,10,s),n=h=u.length;u[--h]==0;)u.pop();if(!u[0])d=f?"0p+0":"0";else{if(a<0?n--:(r=new p(r),r.d=u,r.e=n,r=ue(r,c,t,i,0,s),u=r.d,n=r.e,l=qo),a=u[t],o=s/2,l=l||u[t+1]!==void 0,l=i<4?(a!==void 0||l)&&(i===0||i===(r.s<0?3:2)):a>o||a===o&&(i===4||l||i===6&&u[t-1]&1||i===(r.s<0?8:7)),u.length=t,l)for(;++u[--t]>s-1;)u[t]=0,t||(++n,u.unshift(1));for(h=u.length;!u[h-1];--h);for(a=0,d="";a<h;a++)d+=Ns.charAt(u[a]);if(f){if(h>1)if(e==16||e==8){for(a=e==16?4:3,--h;h%a;h++)d+="0";for(u=Sr(d,s,e),h=u.length;!u[h-1];--h);for(a=1,d="1.";a<h;a++)d+=Ns.charAt(u[a])}else d=d.charAt(0)+"."+d.slice(1);d=d+(n<0?"p":"p+")+n}else if(n<0){for(;++n;)d="0"+d;d="0."+d}else if(++n>h)for(n-=h;n--;)d+="0";else n<h&&(d=d.slice(0,n)+"."+d.slice(n))}d=(e==16?"0x":e==2?"0b":e==8?"0o":"")+d}return r.s<0?"-"+d:d}function ra(r,e){if(r.length>e)return r.length=e,!0}function Jc(r){return new this(r).abs()}function Qc(r){return new this(r).acos()}function ef(r){return new this(r).acosh()}function tf(r,e){return new this(r).plus(e)}function rf(r){return new this(r).asin()}function sf(r){return new this(r).asinh()}function nf(r){return new this(r).atan()}function af(r){return new this(r).atanh()}function of(r,e){r=new this(r),e=new this(e);var t,i=this.precision,s=this.rounding,n=i+4;return!r.s||!e.s?t=new this(NaN):!r.d&&!e.d?(t=Ue(this,n,1).times(e.s>0?.25:.75),t.s=r.s):!e.d||r.isZero()?(t=e.s<0?Ue(this,i,s):new this(0),t.s=r.s):!r.d||e.isZero()?(t=Ue(this,n,1).times(.5),t.s=r.s):e.s<0?(this.precision=n,this.rounding=1,t=this.atan(ue(r,e,n,1)),e=Ue(this,n,1),this.precision=i,this.rounding=s,t=r.s<0?t.minus(e):t.plus(e)):t=this.atan(ue(r,e,n,1)),t}function lf(r){return new this(r).cbrt()}function hf(r){return z(r=new this(r),r.e+1,2)}function df(r,e,t){return new this(r).clamp(e,t)}function uf(r){if(!r||typeof r!="object")throw Error(Kr+"Object expected");var e,t,i,s=r.defaults===!0,n=["precision",1,Dt,"rounding",0,8,"toExpNeg",-ei,0,"toExpPos",0,ei,"maxE",0,ei,"minE",-ei,0,"modulo",0,9];for(e=0;e<n.length;e+=3)if(t=n[e],s&&(this[t]=Gs[t]),(i=r[t])!==void 0)if(Me(i)===i&&i>=n[e+1]&&i<=n[e+2])this[t]=i;else throw Error(Lt+t+": "+i);if(t="crypto",s&&(this[t]=Gs[t]),(i=r[t])!==void 0)if(i===!0||i===!1||i===0||i===1)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Ko);else this[t]=!1;else throw Error(Lt+t+": "+i);return this}function cf(r){return new this(r).cos()}function ff(r){return new this(r).cosh()}function nl(r){var e,t,i;function s(n){var a,o,h,l=this;if(!(l instanceof s))return new s(n);if(l.constructor=s,sa(n)){l.s=n.s,q?!n.d||n.e>s.maxE?(l.e=NaN,l.d=null):n.e<s.minE?(l.e=0,l.d=[0]):(l.e=n.e,l.d=n.d.slice()):(l.e=n.e,l.d=n.d?n.d.slice():n.d);return}if(h=typeof n,h==="number"){if(n===0){l.s=1/n<0?-1:1,l.e=0,l.d=[0];return}if(n<0?(n=-n,l.s=-1):l.s=1,n===~~n&&n<1e7){for(a=0,o=n;o>=10;o/=10)a++;q?a>s.maxE?(l.e=NaN,l.d=null):a<s.minE?(l.e=0,l.d=[0]):(l.e=a,l.d=[n]):(l.e=a,l.d=[n]);return}else if(n*0!==0){n||(l.s=NaN),l.e=NaN,l.d=null;return}return Hs(l,n.toString())}else if(h!=="string")throw Error(Lt+n);return(o=n.charCodeAt(0))===45?(n=n.slice(1),l.s=-1):(o===43&&(n=n.slice(1)),l.s=1),Qo.test(n)?Hs(l,n):Yc(l,n)}if(s.prototype=C,s.ROUND_UP=0,s.ROUND_DOWN=1,s.ROUND_CEIL=2,s.ROUND_FLOOR=3,s.ROUND_HALF_UP=4,s.ROUND_HALF_DOWN=5,s.ROUND_HALF_EVEN=6,s.ROUND_HALF_CEIL=7,s.ROUND_HALF_FLOOR=8,s.EUCLID=9,s.config=s.set=uf,s.clone=nl,s.isDecimal=sa,s.abs=Jc,s.acos=Qc,s.acosh=ef,s.add=tf,s.asin=rf,s.asinh=sf,s.atan=nf,s.atanh=af,s.atan2=of,s.cbrt=lf,s.ceil=hf,s.clamp=df,s.cos=cf,s.cosh=ff,s.div=pf,s.exp=mf,s.floor=gf,s.hypot=vf,s.ln=yf,s.log=bf,s.log10=wf,s.log2=_f,s.max=Sf,s.min=Tf,s.mod=Cf,s.mul=Ef,s.pow=kf,s.random=xf,s.round=Pf,s.sign=Af,s.sin=Of,s.sinh=Mf,s.sqrt=Lf,s.sub=Rf,s.sum=If,s.tan=Nf,s.tanh=Gf,s.trunc=Df,r===void 0&&(r={}),r&&r.defaults!==!0)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<i.length;)r.hasOwnProperty(t=i[e++])||(r[t]=this[t]);return s.config(r),s}function pf(r,e){return new this(r).div(e)}function mf(r){return new this(r).exp()}function gf(r){return z(r=new this(r),r.e+1,3)}function vf(){var r,e,t=new this(0);for(q=!1,r=0;r<arguments.length;)if(e=new this(arguments[r++]),e.d)t.d&&(t=t.plus(e.times(e)));else{if(e.s)return q=!0,new this(1/0);t=e}return q=!0,t.sqrt()}function sa(r){return r instanceof Z||r&&r.toStringTag===Jo||!1}function yf(r){return new this(r).ln()}function bf(r,e){return new this(r).log(e)}function _f(r){return new this(r).log(2)}function wf(r){return new this(r).log(10)}function Sf(){return il(this,arguments,"lt")}function Tf(){return il(this,arguments,"gt")}function Cf(r,e){return new this(r).mod(e)}function Ef(r,e){return new this(r).mul(e)}function kf(r,e){return new this(r).pow(e)}function xf(r){var e,t,i,s,n=0,a=new this(1),o=[];if(r===void 0?r=this.precision:Ne(r,1,Dt),i=Math.ceil(r/j),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(i));n<i;)s=e[n],s>=429e7?e[n]=crypto.getRandomValues(new Uint32Array(1))[0]:o[n++]=s%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(i*=4);n<i;)s=e[n]+(e[n+1]<<8)+(e[n+2]<<16)+((e[n+3]&127)<<24),s>=214e7?crypto.randomBytes(4).copy(e,n):(o.push(s%1e7),n+=4);n=i/4}else throw Error(Ko);else for(;n<i;)o[n++]=Math.random()*1e7|0;for(i=o[--n],r%=j,i&&r&&(s=Se(10,j-r),o[n]=(i/s|0)*s);o[n]===0;n--)o.pop();if(n<0)t=0,o=[0];else{for(t=-1;o[0]===0;t-=j)o.shift();for(i=1,s=o[0];s>=10;s/=10)i++;i<j&&(t-=j-i)}return a.e=t,a.d=o,a}function Pf(r){return z(r=new this(r),r.e+1,this.rounding)}function Af(r){return r=new this(r),r.d?r.d[0]?r.s:0*r.s:r.s||NaN}function Of(r){return new this(r).sin()}function Mf(r){return new this(r).sinh()}function Lf(r){return new this(r).sqrt()}function Rf(r,e){return new this(r).sub(e)}function If(){var r=0,e=arguments,t=new this(e[r]);for(q=!1;t.s&&++r<e.length;)t=t.plus(e[r]);return q=!0,z(t,this.precision,this.rounding)}function Nf(r){return new this(r).tan()}function Gf(r){return new this(r).tanh()}function Df(r){return z(r=new this(r),r.e+1,1)}C[Symbol.for("nodejs.util.inspect.custom")]=C.toString;C[Symbol.toStringTag]="Decimal";var Z=C.constructor=nl(Gs);$r=new Z($r);Vr=new Z(Vr);const na={editable:!0,style:{...jo,markerSymbolSize:20,periodMarkerHandleType:"start"}};class aa extends Xo{constructor(e,t,i){super({...na,...e,style:{...na.style,...e.style}},t,i)}createSymbol(){switch(this.style.markerSymbolType){case"triangle":let t=Z.sqrt(2).mul(this.style.markerSymbolSize).toNumber()/2;return new A.Line({points:this.style.periodMarkerHandleType==="start"?[-t,0,0,0,0,t]:[0,0,t,0,0,t],fill:this.style.color,closed:!0,offsetY:t/2});case"circle":return new A.Arc({fill:this.style.color,innerRadius:0,outerRadius:this.style.markerSymbolSize/2,angle:180,rotation:this.style.periodMarkerHandleType==="start"?90:-90});case"square":return new A.Line({points:[0,0,this.style.markerSymbolSize,0,this.style.markerSymbolSize,this.style.markerSymbolSize],fill:this.style.color,closed:!0,rotation:this.style.periodMarkerHandleType==="start"?225:45,offsetX:this.style.markerSymbolSize/2,offsetY:this.style.markerSymbolSize/2});default:throw Error("Unknown type")}}}const oa={editable:!0,style:{...Uo,selectedAreaOpacity:.2,markerHandleAreaOpacity:.7}};class al extends Zo{constructor(e){super({...oa,...e,style:{...oa.style,...e.style}}),this.observation.start=_e.coerce.number().min(0).optional().nullable().parse(this.observation.start),this.observation.end=_e.coerce.number().min(0).optional().nullable().parse(this.observation.end),this.observation.end!=null&&this.observation.start!=null&&(this.observation.start=_e.coerce.number().lte(this.observation.end).parse(this.observation.start))}createCanvasNode(){return super.createCanvasNode(),this.initStartMarkerHandle(),this.initEndMarkerHandle(),this.initSelectedAreaRect(),this.group}onChange(){this.settlePosition();let e={timeObservation:this.observation};this.onChange$.next(e)}onMeasurementsChange(){super.onMeasurementsChange();let e=this.startMarkerHandle.getVerticalMeasurement();this.selectedAreaRect.setAttrs({y:e.y,height:e.height});let t={y:this.startMarkerHandle.getHandleGroup().y(),height:this.startMarkerHandle.getHandleGroup().getClientRect().height};this.markerHandleRect.setAttrs({y:e.y+t.y-t.height/2,height:t.height}),this.settlePosition()}initSelectedAreaRect(){if(this.selectedAreaRect&&this.selectedAreaRect.destroy(),this.markerHandleRect&&this.markerHandleRect.destroy(),!this.hasStart()||!this.hasEnd())return;let e=this.startMarkerHandle.getVerticalMeasurement(),t=this.timeline.timeToTimelinePosition(this.observation.start),i=this.timeline.timeToTimelinePosition(this.observation.end);this.selectedAreaRect=new A.Rect({x:t,y:e.y,width:i-t,height:e.height,listening:!1,fill:this.style.color,opacity:this.style.selectedAreaOpacity});let s={y:this.startMarkerHandle.getHandleGroup().y(),height:this.startMarkerHandle.getHandleGroup().getClientRect().height};this.markerHandleRect=new A.Rect({x:t,y:e.y+s.y-s.height/2,width:i-t,height:s.height,listening:!1,fill:this.style.color,opacity:this.style.markerHandleAreaOpacity}),this.group.add(this.selectedAreaRect),this.group.add(this.markerHandleRect)}initStartMarkerHandle(){if(this.startMarkerHandle&&(this.startMarkerHandle.destroy(),this.startMarkerHandle=void 0),!this.hasStart())return;let e=this.timeline.timeToTimelinePosition(this.observation.start);this.startMarkerHandle=new aa({x:e,editable:this.editable,style:{color:this.style.color,markerRenderType:this.style.renderType,markerSymbolType:this.style.symbolType,periodMarkerHandleType:"start"}},this.markerLane,this.timeline),this.startMarkerHandle.onDrag=t=>{this.editable&&(this.hasEnd()&&t.x()>this.endMarkerHandle.getPosition().x&&t.x(this.endMarkerHandle.getPosition().x),this.settleMeasurements(),this.hasStart()&&this.hasEnd()&&this.markerHandleRect.opacity(1))},this.startMarkerHandle.onDragEnd=t=>{if(this.editable){let i=this.timeline.timelinePositionToTime(t.x());this.setTimeObservation({...this.observation,start:i}),this.hasStart()&&this.hasEnd()&&this.markerHandleRect.opacity(this.style.markerHandleAreaOpacity)}},this.group.add(this.startMarkerHandle.initCanvasNode())}initEndMarkerHandle(){if(this.endMarkerHandle&&(this.endMarkerHandle.destroy(),this.endMarkerHandle=void 0),!this.hasEnd())return;let e=this.hasEnd()?this.timeline.timeToTimelinePosition(this.observation.end):void 0;this.endMarkerHandle=new aa({x:e,editable:this.editable,style:{periodMarkerHandleType:"end",color:this.style.color,markerRenderType:this.style.renderType,markerSymbolType:this.style.symbolType}},this.markerLane,this.timeline),this.endMarkerHandle.onDrag=t=>{this.editable&&(this.hasStart()&&t.x()<this.startMarkerHandle.getPosition().x&&t.x(this.startMarkerHandle.getPosition().x),this.settleMeasurements(),this.hasStart()&&this.hasEnd()&&this.markerHandleRect.opacity(1))},this.endMarkerHandle.onDragEnd=t=>{if(this.editable){let i=this.timeline.timelinePositionToTime(t.x());this.setTimeObservation({...this.observation,end:i}),this.hasStart()&&this.hasEnd()&&this.markerHandleRect.opacity(this.style.markerHandleAreaOpacity)}},this.group.add(this.endMarkerHandle.initCanvasNode())}settlePosition(){this.hasStart()&&this.startMarkerHandle.setPosition({...this.startMarkerHandle.getPosition(),x:this.timeline.timeToTimelinePosition(this.observation.start)}),this.hasEnd()&&this.endMarkerHandle.setPosition({...this.endMarkerHandle.getPosition(),x:this.timeline.timeToTimelinePosition(this.observation.end)}),this.settleMeasurements()}settleMeasurements(){this.hasStart()&&this.hasEnd()&&(this.selectedAreaRect.setAttrs({x:this.startMarkerHandle.getPosition().x,width:this.endMarkerHandle.getPosition().x-this.startMarkerHandle.getPosition().x}),this.markerHandleRect.setAttrs({x:this.startMarkerHandle.getPosition().x,width:this.endMarkerHandle.getPosition().x-this.startMarkerHandle.getPosition().x}))}setTimeObservation(e){this.editable&&(this.observation=e,this.initStartMarkerHandle(),this.initEndMarkerHandle(),this.initSelectedAreaRect(),this.onChange())}setEditable(e){super.setEditable(e)}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.styleAdapter.onChange$.pipe(I(this.onDestroy$)).subscribe(e=>{this.hasStart()&&this.initStartMarkerHandle(),this.hasEnd()&&this.initEndMarkerHandle(),this.hasStart()&&this.hasEnd()&&this.initSelectedAreaRect()})}hasStart(){return this.observation&&this.observation.start!==null&&this.observation.start!==void 0}hasEnd(){return this.observation&&this.observation.end!==null&&this.observation.end!==void 0}}const la={editable:!0,style:{...jo,markerSymbolSize:20}};class Ff extends Xo{constructor(e,t,i){super({...la,...e,style:{...la.style,...e.style}},t,i)}createSymbol(){switch(this.style.markerSymbolType){case"triangle":let t=Z.sqrt(2).mul(this.style.markerSymbolSize).toNumber()/2;return new A.Line({points:[-t,0,t,0,0,t],fill:this.style.color,closed:!0,offsetY:t/2});case"circle":return new A.Circle({fill:this.style.color,radius:this.style.markerSymbolSize/2});case"square":return new A.Rect({fill:this.style.color,width:this.style.markerSymbolSize,height:this.style.markerSymbolSize,rotation:45,offsetX:this.style.markerSymbolSize/2,offsetY:this.style.markerSymbolSize/2});default:throw Error("Unknown type")}}}const ha={description:"",editable:!0,style:{...Uo}};class ol extends Zo{constructor(e){super({...ha,...e,style:{...ha.style,...e.style}}),this.observation.time=_e.coerce.number().min(0).parse(this.observation.time)}createCanvasNode(){return super.createCanvasNode(),this.initMarkerHandle(),this.group}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.styleAdapter.onChange$.subscribe(e=>{this.initMarkerHandle()})}initMarkerHandle(){this.markerHandle&&(this.markerHandle.destroy(),this.markerHandle=void 0);let e=this.timeline.timeToTimelinePosition(this.observation.time);this.markerHandle=new Ff({x:e,editable:this.editable,style:{color:this.style.color,markerRenderType:this.style.renderType,markerSymbolType:this.style.symbolType}},this.markerLane,this.timeline),this.markerHandle.onDragEnd=t=>{if(this.editable){let i=this.timeline.timelinePositionToTime(t.x());this.setTimeObservation({...this.observation,time:i})}},this.group.add(this.markerHandle.initCanvasNode())}onChange(){this.settlePosition();let e={timeObservation:this.observation};this.onChange$.next(e)}onMeasurementsChange(){super.onMeasurementsChange(),this.markerHandle.onMeasurementsChange(),this.settlePosition()}settlePosition(){this.markerHandle.setPosition({...this.markerHandle.getPosition(),x:this.timeline.timeToTimelinePosition(this.observation.time)})}setEditable(e){super.setEditable(e)}}const Hf={...Qi};class Bs extends er{constructor(e){super({...e,style:{...Hf,...e.style}}),this.onMarkerFocus$=new V,this.markers=[],this.markersMap=new Map}createCanvasNode(){return super.createCanvasNode(),this.markersGroup=new A.Group({...F.POSITION_TOP_LEFT,...this.timeline.getTimecodedGroupDimension()}),this.timeline.addToTimecodedMarkersGroup(this.markersGroup),this.bodyGroup}settleLayout(){super.settleLayout();let e=this.timeline.getTimecodedGroupHorizontalMeasurement();[this.markersGroup].forEach(t=>{t.width(e.width)}),this.markers&&this.markers.forEach(t=>{t.onMeasurementsChange()})}destroy(){super.destroy(),this.markersGroup.destroy()}clearContent(){this.removeAllMarkers(),this.markers=[],this.markersMap=new Map,this.markersGroup.destroyChildren()}createMomentMarker(e){return this.addMarker(new ol(e))}createPeriodMarker(e){return this.addMarker(new al(e))}addMarker(e){if(!this.isInitialized())throw new Error("MarkerLane not initalized. Maybe you forgot to add MarkerLane to Timeline?");if(this.markersMap.has(e.getId()))throw new Error(`Marker with id=${e.getId()} already exists`);return e.setMarkerLane(this),e.setTimeline(this.timeline),e.onClick$.pipe(I(this.onDestroy$)).subscribe(t=>{this.focusMarker(e.getId())}),e.onMouseEnter$.pipe(I(this.onDestroy$)).subscribe(t=>{this.focusMarker(e.getId())}),this.markers.push(e),this.markersMap.set(e.getId(),e),this.markersGroup.add(e.initCanvasNode()),e}removeAllMarkers(){this.markers&&this.markers.forEach(e=>{this.removeMarker(e.getId())})}removeMarker(e){let t=this.getMarker(e);t&&(this.markers.splice(this.markers.findIndex(i=>i.getId()===t.getId()),1),this.markersMap.delete(t.getId()),t.destroy())}getMarker(e){return this.markersMap.get(e)}getMarkers(){return this.markers}focusMarker(e){let t=this.getMarker(e);t&&(this.moveToTop(t),this.markerInFocus=t,this.onMarkerFocus$.next({marker:t}))}getMarkerInFocus(){return this.markerInFocus}moveToTop(e){e&&(this.markersGroup.moveToTop(),e.getCanvasNode().moveToTop())}}class Bf{static randomHexColor(){return`#${Math.floor(Math.random()*16777215).toString(16)}`}}class yi{static createGoldenRatioWedge(e){let t=new Z(e.height).div(F.GOLDEN_RATIO+1).toDecimalPlaces(2).toNumber(),i=e.height-t,s=i/2;return new A.Line({points:[e.x-s,e.y,e.x+s,e.y,e.x+s,e.y+i,e.x,e.y+i+t,e.x-s,e.y+i],fill:e.color,stroke:e.color,closed:!0,listening:!1})}static createTriangle(e){let t=e.height/2;return new A.Line({points:[e.x-t,e.y,e.x+t,e.y,e.x,e.y+e.height],fill:e.color,closed:!0,listening:!1})}static createEventCatcher(e={}){return new A.Rect({...F.POSITION_TOP_LEFT,opacity:0,listening:!0,...e})}static createDebugRect(){return new A.Rect({...F.POSITION_TOP_LEFT,width:100,height:100,fill:Bf.randomHexColor(),opacity:1})}}function ll(r,e){return function(){return r.apply(e,arguments)}}const{toString:hl}=Object.prototype,{getPrototypeOf:un}=Object,cn=(r=>e=>{const t=hl.call(e);return r[t]||(r[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),wt=r=>(r=r.toLowerCase(),e=>cn(e)===r),es=r=>e=>typeof e===r,{isArray:bi}=Array,ji=es("undefined");function $f(r){return r!==null&&!ji(r)&&r.constructor!==null&&!ji(r.constructor)&&Rt(r.constructor.isBuffer)&&r.constructor.isBuffer(r)}const dl=wt("ArrayBuffer");function Vf(r){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(r):e=r&&r.buffer&&dl(r.buffer),e}const zf=es("string"),Rt=es("function"),ul=es("number"),fn=r=>r!==null&&typeof r=="object",Wf=r=>r===!0||r===!1,Tr=r=>{if(cn(r)!=="object")return!1;const e=un(r);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)},Uf=wt("Date"),Zf=wt("File"),jf=wt("Blob"),Xf=wt("FileList"),qf=r=>fn(r)&&Rt(r.pipe),Yf=r=>{const e="[object FormData]";return r&&(typeof FormData=="function"&&r instanceof FormData||hl.call(r)===e||Rt(r.toString)&&r.toString()===e)},Kf=wt("URLSearchParams"),Jf=r=>r.trim?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function tr(r,e,{allOwnKeys:t=!1}={}){if(r===null||typeof r>"u")return;let i,s;if(typeof r!="object"&&(r=[r]),bi(r))for(i=0,s=r.length;i<s;i++)e.call(null,r[i],i,r);else{const n=t?Object.getOwnPropertyNames(r):Object.keys(r),a=n.length;let o;for(i=0;i<a;i++)o=n[i],e.call(null,r[o],o,r)}}function cl(r,e){e=e.toLowerCase();const t=Object.keys(r);let i=t.length,s;for(;i-- >0;)if(s=t[i],e===s.toLowerCase())return s;return null}const fl=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),pl=r=>!ji(r)&&r!==fl;function $s(){const{caseless:r}=pl(this)&&this||{},e={},t=(i,s)=>{const n=r&&cl(e,s)||s;Tr(e[n])&&Tr(i)?e[n]=$s(e[n],i):Tr(i)?e[n]=$s({},i):bi(i)?e[n]=i.slice():e[n]=i};for(let i=0,s=arguments.length;i<s;i++)arguments[i]&&tr(arguments[i],t);return e}const Qf=(r,e,t,{allOwnKeys:i}={})=>(tr(e,(s,n)=>{t&&Rt(s)?r[n]=ll(s,t):r[n]=s},{allOwnKeys:i}),r),ep=r=>(r.charCodeAt(0)===65279&&(r=r.slice(1)),r),tp=(r,e,t,i)=>{r.prototype=Object.create(e.prototype,i),r.prototype.constructor=r,Object.defineProperty(r,"super",{value:e.prototype}),t&&Object.assign(r.prototype,t)},ip=(r,e,t,i)=>{let s,n,a;const o={};if(e=e||{},r==null)return e;do{for(s=Object.getOwnPropertyNames(r),n=s.length;n-- >0;)a=s[n],(!i||i(a,r,e))&&!o[a]&&(e[a]=r[a],o[a]=!0);r=t!==!1&&un(r)}while(r&&(!t||t(r,e))&&r!==Object.prototype);return e},rp=(r,e,t)=>{r=String(r),(t===void 0||t>r.length)&&(t=r.length),t-=e.length;const i=r.indexOf(e,t);return i!==-1&&i===t},sp=r=>{if(!r)return null;if(bi(r))return r;let e=r.length;if(!ul(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=r[e];return t},np=(r=>e=>r&&e instanceof r)(typeof Uint8Array<"u"&&un(Uint8Array)),ap=(r,e)=>{const i=(r&&r[Symbol.iterator]).call(r);let s;for(;(s=i.next())&&!s.done;){const n=s.value;e.call(r,n[0],n[1])}},op=(r,e)=>{let t;const i=[];for(;(t=r.exec(e))!==null;)i.push(t);return i},lp=wt("HTMLFormElement"),hp=r=>r.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,i,s){return i.toUpperCase()+s}),da=(({hasOwnProperty:r})=>(e,t)=>r.call(e,t))(Object.prototype),dp=wt("RegExp"),ml=(r,e)=>{const t=Object.getOwnPropertyDescriptors(r),i={};tr(t,(s,n)=>{e(s,n,r)!==!1&&(i[n]=s)}),Object.defineProperties(r,i)},up=r=>{ml(r,(e,t)=>{if(Rt(r)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const i=r[t];if(Rt(i)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},cp=(r,e)=>{const t={},i=s=>{s.forEach(n=>{t[n]=!0})};return bi(r)?i(r):i(String(r).split(e)),t},fp=()=>{},pp=(r,e)=>(r=+r,Number.isFinite(r)?r:e),gs="abcdefghijklmnopqrstuvwxyz",ua="0123456789",gl={DIGIT:ua,ALPHA:gs,ALPHA_DIGIT:gs+gs.toUpperCase()+ua},mp=(r=16,e=gl.ALPHA_DIGIT)=>{let t="";const{length:i}=e;for(;r--;)t+=e[Math.random()*i|0];return t};function gp(r){return!!(r&&Rt(r.append)&&r[Symbol.toStringTag]==="FormData"&&r[Symbol.iterator])}const vp=r=>{const e=new Array(10),t=(i,s)=>{if(fn(i)){if(e.indexOf(i)>=0)return;if(!("toJSON"in i)){e[s]=i;const n=bi(i)?[]:{};return tr(i,(a,o)=>{const h=t(a,s+1);!ji(h)&&(n[o]=h)}),e[s]=void 0,n}}return i};return t(r,0)},S={isArray:bi,isArrayBuffer:dl,isBuffer:$f,isFormData:Yf,isArrayBufferView:Vf,isString:zf,isNumber:ul,isBoolean:Wf,isObject:fn,isPlainObject:Tr,isUndefined:ji,isDate:Uf,isFile:Zf,isBlob:jf,isRegExp:dp,isFunction:Rt,isStream:qf,isURLSearchParams:Kf,isTypedArray:np,isFileList:Xf,forEach:tr,merge:$s,extend:Qf,trim:Jf,stripBOM:ep,inherits:tp,toFlatObject:ip,kindOf:cn,kindOfTest:wt,endsWith:rp,toArray:sp,forEachEntry:ap,matchAll:op,isHTMLForm:lp,hasOwnProperty:da,hasOwnProp:da,reduceDescriptors:ml,freezeMethods:up,toObjectSet:cp,toCamelCase:hp,noop:fp,toFiniteNumber:pp,findKey:cl,global:fl,isContextDefined:pl,ALPHABET:gl,generateString:mp,isSpecCompliantForm:gp,toJSONObject:vp};function ie(r,e,t,i,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=r,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),i&&(this.request=i),s&&(this.response=s)}S.inherits(ie,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:S.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const vl=ie.prototype,yl={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(r=>{yl[r]={value:r}});Object.defineProperties(ie,yl);Object.defineProperty(vl,"isAxiosError",{value:!0});ie.from=(r,e,t,i,s,n)=>{const a=Object.create(vl);return S.toFlatObject(r,a,function(h){return h!==Error.prototype},o=>o!=="isAxiosError"),ie.call(a,r.message,e,t,i,s),a.cause=r,a.name=r.name,n&&Object.assign(a,n),a};const yp=null;function Vs(r){return S.isPlainObject(r)||S.isArray(r)}function bl(r){return S.endsWith(r,"[]")?r.slice(0,-2):r}function ca(r,e,t){return r?r.concat(e).map(function(s,n){return s=bl(s),!t&&n?"["+s+"]":s}).join(t?".":""):e}function bp(r){return S.isArray(r)&&!r.some(Vs)}const _p=S.toFlatObject(S,{},null,function(e){return/^is[A-Z]/.test(e)});function ts(r,e,t){if(!S.isObject(r))throw new TypeError("target must be an object");e=e||new FormData,t=S.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,v){return!S.isUndefined(v[m])});const i=t.metaTokens,s=t.visitor||d,n=t.dots,a=t.indexes,h=(t.Blob||typeof Blob<"u"&&Blob)&&S.isSpecCompliantForm(e);if(!S.isFunction(s))throw new TypeError("visitor must be a function");function l(f){if(f===null)return"";if(S.isDate(f))return f.toISOString();if(!h&&S.isBlob(f))throw new ie("Blob is not supported. Use a Buffer instead.");return S.isArrayBuffer(f)||S.isTypedArray(f)?h&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function d(f,m,v){let _=f;if(f&&!v&&typeof f=="object"){if(S.endsWith(m,"{}"))m=i?m:m.slice(0,-2),f=JSON.stringify(f);else if(S.isArray(f)&&bp(f)||(S.isFileList(f)||S.endsWith(m,"[]"))&&(_=S.toArray(f)))return m=bl(m),_.forEach(function(b,T){!(S.isUndefined(b)||b===null)&&e.append(a===!0?ca([m],T,n):a===null?m:m+"[]",l(b))}),!1}return Vs(f)?!0:(e.append(ca(v,m,n),l(f)),!1)}const u=[],c=Object.assign(_p,{defaultVisitor:d,convertValue:l,isVisitable:Vs});function p(f,m){if(!S.isUndefined(f)){if(u.indexOf(f)!==-1)throw Error("Circular reference detected in "+m.join("."));u.push(f),S.forEach(f,function(_,w){(!(S.isUndefined(_)||_===null)&&s.call(e,_,S.isString(w)?w.trim():w,m,c))===!0&&p(_,m?m.concat(w):[w])}),u.pop()}}if(!S.isObject(r))throw new TypeError("data must be an object");return p(r),e}function fa(r){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(r).replace(/[!'()~]|%20|%00/g,function(i){return e[i]})}function pn(r,e){this._pairs=[],r&&ts(r,this,e)}const _l=pn.prototype;_l.append=function(e,t){this._pairs.push([e,t])};_l.toString=function(e){const t=e?function(i){return e.call(this,i,fa)}:fa;return this._pairs.map(function(s){return t(s[0])+"="+t(s[1])},"").join("&")};function wp(r){return encodeURIComponent(r).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function wl(r,e,t){if(!e)return r;const i=t&&t.encode||wp,s=t&&t.serialize;let n;if(s?n=s(e,t):n=S.isURLSearchParams(e)?e.toString():new pn(e,t).toString(i),n){const a=r.indexOf("#");a!==-1&&(r=r.slice(0,a)),r+=(r.indexOf("?")===-1?"?":"&")+n}return r}class Sp{constructor(){this.handlers=[]}use(e,t,i){return this.handlers.push({fulfilled:e,rejected:t,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){S.forEach(this.handlers,function(i){i!==null&&e(i)})}}const pa=Sp,Sl={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Tp=typeof URLSearchParams<"u"?URLSearchParams:pn,Cp=typeof FormData<"u"?FormData:null,Ep=(()=>{let r;return typeof navigator<"u"&&((r=navigator.product)==="ReactNative"||r==="NativeScript"||r==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),kp=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),tt={isBrowser:!0,classes:{URLSearchParams:Tp,FormData:Cp,Blob},isStandardBrowserEnv:Ep,isStandardBrowserWebWorkerEnv:kp,protocols:["http","https","file","blob","url","data"]};function xp(r,e){return ts(r,new tt.classes.URLSearchParams,Object.assign({visitor:function(t,i,s,n){return tt.isNode&&S.isBuffer(t)?(this.append(i,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}function Pp(r){return S.matchAll(/\w+|\[(\w*)]/g,r).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Ap(r){const e={},t=Object.keys(r);let i;const s=t.length;let n;for(i=0;i<s;i++)n=t[i],e[n]=r[n];return e}function Tl(r){function e(t,i,s,n){let a=t[n++];const o=Number.isFinite(+a),h=n>=t.length;return a=!a&&S.isArray(s)?s.length:a,h?(S.hasOwnProp(s,a)?s[a]=[s[a],i]:s[a]=i,!o):((!s[a]||!S.isObject(s[a]))&&(s[a]=[]),e(t,i,s[a],n)&&S.isArray(s[a])&&(s[a]=Ap(s[a])),!o)}if(S.isFormData(r)&&S.isFunction(r.entries)){const t={};return S.forEachEntry(r,(i,s)=>{e(Pp(i),s,t,0)}),t}return null}const Op={"Content-Type":void 0};function Mp(r,e,t){if(S.isString(r))try{return(e||JSON.parse)(r),S.trim(r)}catch(i){if(i.name!=="SyntaxError")throw i}return(t||JSON.stringify)(r)}const is={transitional:Sl,adapter:["xhr","http"],transformRequest:[function(e,t){const i=t.getContentType()||"",s=i.indexOf("application/json")>-1,n=S.isObject(e);if(n&&S.isHTMLForm(e)&&(e=new FormData(e)),S.isFormData(e))return s&&s?JSON.stringify(Tl(e)):e;if(S.isArrayBuffer(e)||S.isBuffer(e)||S.isStream(e)||S.isFile(e)||S.isBlob(e))return e;if(S.isArrayBufferView(e))return e.buffer;if(S.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(n){if(i.indexOf("application/x-www-form-urlencoded")>-1)return xp(e,this.formSerializer).toString();if((o=S.isFileList(e))||i.indexOf("multipart/form-data")>-1){const h=this.env&&this.env.FormData;return ts(o?{"files[]":e}:e,h&&new h,this.formSerializer)}}return n||s?(t.setContentType("application/json",!1),Mp(e)):e}],transformResponse:[function(e){const t=this.transitional||is.transitional,i=t&&t.forcedJSONParsing,s=this.responseType==="json";if(e&&S.isString(e)&&(i&&!this.responseType||s)){const a=!(t&&t.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(o){if(a)throw o.name==="SyntaxError"?ie.from(o,ie.ERR_BAD_RESPONSE,this,null,this.response):o}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:tt.classes.FormData,Blob:tt.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};S.forEach(["delete","get","head"],function(e){is.headers[e]={}});S.forEach(["post","put","patch"],function(e){is.headers[e]=S.merge(Op)});const mn=is,Lp=S.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Rp=r=>{const e={};let t,i,s;return r&&r.split(`
10
+ */var ei=9e15,Dt=1e9,Ns="0123456789abcdef",$r="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Vr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Gs={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ei,maxE:ei,crypto:!1},qo,ht,q=!0,Kr="[DecimalError] ",Lt=Kr+"Invalid argument: ",Yo=Kr+"Precision limit exceeded",Ko=Kr+"crypto unavailable",Jo="[object Decimal]",Me=Math.floor,Se=Math.pow,Wc=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Uc=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Zc=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Qo=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,je=1e7,j=7,jc=9007199254740991,Xc=$r.length-1,Ds=Vr.length-1,C={toStringTag:Jo};C.absoluteValue=C.abs=function(){var r=new this.constructor(this);return r.s<0&&(r.s=1),z(r)};C.ceil=function(){return z(new this.constructor(this),this.e+1,2)};C.clampedTo=C.clamp=function(r,e){var t,i=this,s=i.constructor;if(r=new s(r),e=new s(e),!r.s||!e.s)return new s(NaN);if(r.gt(e))throw Error(Lt+e);return t=i.cmp(r),t<0?r:i.cmp(e)>0?e:new s(i)};C.comparedTo=C.cmp=function(r){var e,t,i,s,n=this,a=n.d,o=(r=new n.constructor(r)).d,h=n.s,l=r.s;if(!a||!o)return!h||!l?NaN:h!==l?h:a===o?0:!a^h<0?1:-1;if(!a[0]||!o[0])return a[0]?h:o[0]?-l:0;if(h!==l)return h;if(n.e!==r.e)return n.e>r.e^h<0?1:-1;for(i=a.length,s=o.length,e=0,t=i<s?i:s;e<t;++e)if(a[e]!==o[e])return a[e]>o[e]^h<0?1:-1;return i===s?0:i>s^h<0?1:-1};C.cosine=C.cos=function(){var r,e,t=this,i=t.constructor;return t.d?t.d[0]?(r=i.precision,e=i.rounding,i.precision=r+Math.max(t.e,t.sd())+j,i.rounding=1,t=qc(i,sl(i,t)),i.precision=r,i.rounding=e,z(ht==2||ht==3?t.neg():t,r,e,!0)):new i(1):new i(NaN)};C.cubeRoot=C.cbrt=function(){var r,e,t,i,s,n,a,o,h,l,d=this,u=d.constructor;if(!d.isFinite()||d.isZero())return new u(d);for(q=!1,n=d.s*Se(d.s*d,1/3),!n||Math.abs(n)==1/0?(t=xe(d.d),r=d.e,(n=(r-t.length+1)%3)&&(t+=n==1||n==-2?"0":"00"),n=Se(t,1/3),r=Me((r+1)/3)-(r%3==(r<0?-1:2)),n==1/0?t="5e"+r:(t=n.toExponential(),t=t.slice(0,t.indexOf("e")+1)+r),i=new u(t),i.s=d.s):i=new u(n.toString()),a=(r=u.precision)+3;;)if(o=i,h=o.times(o).times(o),l=h.plus(d),i=ue(l.plus(d).times(o),l.plus(h),a+2,1),xe(o.d).slice(0,a)===(t=xe(i.d)).slice(0,a))if(t=t.slice(a-3,a+1),t=="9999"||!s&&t=="4999"){if(!s&&(z(o,r+1,0),o.times(o).times(o).eq(d))){i=o;break}a+=4,s=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(z(i,r+1,1),e=!i.times(i).times(i).eq(d));break}return q=!0,z(i,r,u.rounding,e)};C.decimalPlaces=C.dp=function(){var r,e=this.d,t=NaN;if(e){if(r=e.length-1,t=(r-Me(this.e/j))*j,r=e[r],r)for(;r%10==0;r/=10)t--;t<0&&(t=0)}return t};C.dividedBy=C.div=function(r){return ue(this,new this.constructor(r))};C.dividedToIntegerBy=C.divToInt=function(r){var e=this,t=e.constructor;return z(ue(e,new t(r),0,1,1),t.precision,t.rounding)};C.equals=C.eq=function(r){return this.cmp(r)===0};C.floor=function(){return z(new this.constructor(this),this.e+1,3)};C.greaterThan=C.gt=function(r){return this.cmp(r)>0};C.greaterThanOrEqualTo=C.gte=function(r){var e=this.cmp(r);return e==1||e===0};C.hyperbolicCosine=C.cosh=function(){var r,e,t,i,s,n=this,a=n.constructor,o=new a(1);if(!n.isFinite())return new a(n.s?1/0:NaN);if(n.isZero())return o;t=a.precision,i=a.rounding,a.precision=t+Math.max(n.e,n.sd())+4,a.rounding=1,s=n.d.length,s<32?(r=Math.ceil(s/3),e=(1/Qr(4,r)).toString()):(r=16,e="2.3283064365386962890625e-10"),n=ci(a,1,n.times(e),new a(1),!0);for(var h,l=r,d=new a(8);l--;)h=n.times(n),n=o.minus(h.times(d.minus(h.times(d))));return z(n,a.precision=t,a.rounding=i,!0)};C.hyperbolicSine=C.sinh=function(){var r,e,t,i,s=this,n=s.constructor;if(!s.isFinite()||s.isZero())return new n(s);if(e=n.precision,t=n.rounding,n.precision=e+Math.max(s.e,s.sd())+4,n.rounding=1,i=s.d.length,i<3)s=ci(n,2,s,s,!0);else{r=1.4*Math.sqrt(i),r=r>16?16:r|0,s=s.times(1/Qr(5,r)),s=ci(n,2,s,s,!0);for(var a,o=new n(5),h=new n(16),l=new n(20);r--;)a=s.times(s),s=s.times(o.plus(a.times(h.times(a).plus(l))))}return n.precision=e,n.rounding=t,z(s,e,t,!0)};C.hyperbolicTangent=C.tanh=function(){var r,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(r=i.precision,e=i.rounding,i.precision=r+7,i.rounding=1,ue(t.sinh(),t.cosh(),i.precision=r,i.rounding=e)):new i(t.s)};C.inverseCosine=C.acos=function(){var r,e=this,t=e.constructor,i=e.abs().cmp(1),s=t.precision,n=t.rounding;return i!==-1?i===0?e.isNeg()?Ue(t,s,n):new t(0):new t(NaN):e.isZero()?Ue(t,s+4,n).times(.5):(t.precision=s+6,t.rounding=1,e=e.asin(),r=Ue(t,s+4,n).times(.5),t.precision=s,t.rounding=n,r.minus(e))};C.inverseHyperbolicCosine=C.acosh=function(){var r,e,t=this,i=t.constructor;return t.lte(1)?new i(t.eq(1)?0:NaN):t.isFinite()?(r=i.precision,e=i.rounding,i.precision=r+Math.max(Math.abs(t.e),t.sd())+4,i.rounding=1,q=!1,t=t.times(t).minus(1).sqrt().plus(t),q=!0,i.precision=r,i.rounding=e,t.ln()):new i(t)};C.inverseHyperbolicSine=C.asinh=function(){var r,e,t=this,i=t.constructor;return!t.isFinite()||t.isZero()?new i(t):(r=i.precision,e=i.rounding,i.precision=r+2*Math.max(Math.abs(t.e),t.sd())+6,i.rounding=1,q=!1,t=t.times(t).plus(1).sqrt().plus(t),q=!0,i.precision=r,i.rounding=e,t.ln())};C.inverseHyperbolicTangent=C.atanh=function(){var r,e,t,i,s=this,n=s.constructor;return s.isFinite()?s.e>=0?new n(s.abs().eq(1)?s.s/0:s.isZero()?s:NaN):(r=n.precision,e=n.rounding,i=s.sd(),Math.max(i,r)<2*-s.e-1?z(new n(s),r,e,!0):(n.precision=t=i-s.e,s=ue(s.plus(1),new n(1).minus(s),t+r,1),n.precision=r+4,n.rounding=1,s=s.ln(),n.precision=r,n.rounding=e,s.times(.5))):new n(NaN)};C.inverseSine=C.asin=function(){var r,e,t,i,s=this,n=s.constructor;return s.isZero()?new n(s):(e=s.abs().cmp(1),t=n.precision,i=n.rounding,e!==-1?e===0?(r=Ue(n,t+4,i).times(.5),r.s=s.s,r):new n(NaN):(n.precision=t+6,n.rounding=1,s=s.div(new n(1).minus(s.times(s)).sqrt().plus(1)).atan(),n.precision=t,n.rounding=i,s.times(2)))};C.inverseTangent=C.atan=function(){var r,e,t,i,s,n,a,o,h,l=this,d=l.constructor,u=d.precision,c=d.rounding;if(l.isFinite()){if(l.isZero())return new d(l);if(l.abs().eq(1)&&u+4<=Ds)return a=Ue(d,u+4,c).times(.25),a.s=l.s,a}else{if(!l.s)return new d(NaN);if(u+4<=Ds)return a=Ue(d,u+4,c).times(.5),a.s=l.s,a}for(d.precision=o=u+10,d.rounding=1,t=Math.min(28,o/j+2|0),r=t;r;--r)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(q=!1,e=Math.ceil(o/j),i=1,h=l.times(l),a=new d(l),s=l;r!==-1;)if(s=s.times(h),n=a.minus(s.div(i+=2)),s=s.times(h),a=n.plus(s.div(i+=2)),a.d[e]!==void 0)for(r=e;a.d[r]===n.d[r]&&r--;);return t&&(a=a.times(2<<t-1)),q=!0,z(a,d.precision=u,d.rounding=c,!0)};C.isFinite=function(){return!!this.d};C.isInteger=C.isInt=function(){return!!this.d&&Me(this.e/j)>this.d.length-2};C.isNaN=function(){return!this.s};C.isNegative=C.isNeg=function(){return this.s<0};C.isPositive=C.isPos=function(){return this.s>0};C.isZero=function(){return!!this.d&&this.d[0]===0};C.lessThan=C.lt=function(r){return this.cmp(r)<0};C.lessThanOrEqualTo=C.lte=function(r){return this.cmp(r)<1};C.logarithm=C.log=function(r){var e,t,i,s,n,a,o,h,l=this,d=l.constructor,u=d.precision,c=d.rounding,p=5;if(r==null)r=new d(10),e=!0;else{if(r=new d(r),t=r.d,r.s<0||!t||!t[0]||r.eq(1))return new d(NaN);e=r.eq(10)}if(t=l.d,l.s<0||!t||!t[0]||l.eq(1))return new d(t&&!t[0]?-1/0:l.s!=1?NaN:t?0:1/0);if(e)if(t.length>1)n=!0;else{for(s=t[0];s%10===0;)s/=10;n=s!==1}if(q=!1,o=u+p,a=Pt(l,o),i=e?zr(d,o+10):Pt(r,o),h=ue(a,i,o,1),Zi(h.d,s=u,c))do if(o+=10,a=Pt(l,o),i=e?zr(d,o+10):Pt(r,o),h=ue(a,i,o,1),!n){+xe(h.d).slice(s+1,s+15)+1==1e14&&(h=z(h,u+1,0));break}while(Zi(h.d,s+=10,c));return q=!0,z(h,u,c)};C.minus=C.sub=function(r){var e,t,i,s,n,a,o,h,l,d,u,c,p=this,f=p.constructor;if(r=new f(r),!p.d||!r.d)return!p.s||!r.s?r=new f(NaN):p.d?r.s=-r.s:r=new f(r.d||p.s!==r.s?p:NaN),r;if(p.s!=r.s)return r.s=-r.s,p.plus(r);if(l=p.d,c=r.d,o=f.precision,h=f.rounding,!l[0]||!c[0]){if(c[0])r.s=-r.s;else if(l[0])r=new f(p);else return new f(h===3?-0:0);return q?z(r,o,h):r}if(t=Me(r.e/j),d=Me(p.e/j),l=l.slice(),n=d-t,n){for(u=n<0,u?(e=l,n=-n,a=c.length):(e=c,t=d,a=l.length),i=Math.max(Math.ceil(o/j),a)+2,n>i&&(n=i,e.length=1),e.reverse(),i=n;i--;)e.push(0);e.reverse()}else{for(i=l.length,a=c.length,u=i<a,u&&(a=i),i=0;i<a;i++)if(l[i]!=c[i]){u=l[i]<c[i];break}n=0}for(u&&(e=l,l=c,c=e,r.s=-r.s),a=l.length,i=c.length-a;i>0;--i)l[a++]=0;for(i=c.length;i>n;){if(l[--i]<c[i]){for(s=i;s&&l[--s]===0;)l[s]=je-1;--l[s],l[i]+=je}l[i]-=c[i]}for(;l[--a]===0;)l.pop();for(;l[0]===0;l.shift())--t;return l[0]?(r.d=l,r.e=Jr(l,t),q?z(r,o,h):r):new f(h===3?-0:0)};C.modulo=C.mod=function(r){var e,t=this,i=t.constructor;return r=new i(r),!t.d||!r.s||r.d&&!r.d[0]?new i(NaN):!r.d||t.d&&!t.d[0]?z(new i(t),i.precision,i.rounding):(q=!1,i.modulo==9?(e=ue(t,r.abs(),0,3,1),e.s*=r.s):e=ue(t,r,0,i.modulo,1),e=e.times(r),q=!0,t.minus(e))};C.naturalExponential=C.exp=function(){return Fs(this)};C.naturalLogarithm=C.ln=function(){return Pt(this)};C.negated=C.neg=function(){var r=new this.constructor(this);return r.s=-r.s,z(r)};C.plus=C.add=function(r){var e,t,i,s,n,a,o,h,l,d,u=this,c=u.constructor;if(r=new c(r),!u.d||!r.d)return!u.s||!r.s?r=new c(NaN):u.d||(r=new c(r.d||u.s===r.s?u:NaN)),r;if(u.s!=r.s)return r.s=-r.s,u.minus(r);if(l=u.d,d=r.d,o=c.precision,h=c.rounding,!l[0]||!d[0])return d[0]||(r=new c(u)),q?z(r,o,h):r;if(n=Me(u.e/j),i=Me(r.e/j),l=l.slice(),s=n-i,s){for(s<0?(t=l,s=-s,a=d.length):(t=d,i=n,a=l.length),n=Math.ceil(o/j),a=n>a?n+1:a+1,s>a&&(s=a,t.length=1),t.reverse();s--;)t.push(0);t.reverse()}for(a=l.length,s=d.length,a-s<0&&(s=a,t=d,d=l,l=t),e=0;s;)e=(l[--s]=l[s]+d[s]+e)/je|0,l[s]%=je;for(e&&(l.unshift(e),++i),a=l.length;l[--a]==0;)l.pop();return r.d=l,r.e=Jr(l,i),q?z(r,o,h):r};C.precision=C.sd=function(r){var e,t=this;if(r!==void 0&&r!==!!r&&r!==1&&r!==0)throw Error(Lt+r);return t.d?(e=el(t.d),r&&t.e+1>e&&(e=t.e+1)):e=NaN,e};C.round=function(){var r=this,e=r.constructor;return z(new e(r),r.e+1,e.rounding)};C.sine=C.sin=function(){var r,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(r=i.precision,e=i.rounding,i.precision=r+Math.max(t.e,t.sd())+j,i.rounding=1,t=Kc(i,sl(i,t)),i.precision=r,i.rounding=e,z(ht>2?t.neg():t,r,e,!0)):new i(NaN)};C.squareRoot=C.sqrt=function(){var r,e,t,i,s,n,a=this,o=a.d,h=a.e,l=a.s,d=a.constructor;if(l!==1||!o||!o[0])return new d(!l||l<0&&(!o||o[0])?NaN:o?a:1/0);for(q=!1,l=Math.sqrt(+a),l==0||l==1/0?(e=xe(o),(e.length+h)%2==0&&(e+="0"),l=Math.sqrt(e),h=Me((h+1)/2)-(h<0||h%2),l==1/0?e="5e"+h:(e=l.toExponential(),e=e.slice(0,e.indexOf("e")+1)+h),i=new d(e)):i=new d(l.toString()),t=(h=d.precision)+3;;)if(n=i,i=n.plus(ue(a,n,t+2,1)).times(.5),xe(n.d).slice(0,t)===(e=xe(i.d)).slice(0,t))if(e=e.slice(t-3,t+1),e=="9999"||!s&&e=="4999"){if(!s&&(z(n,h+1,0),n.times(n).eq(a))){i=n;break}t+=4,s=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(z(i,h+1,1),r=!i.times(i).eq(a));break}return q=!0,z(i,h,d.rounding,r)};C.tangent=C.tan=function(){var r,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(r=i.precision,e=i.rounding,i.precision=r+10,i.rounding=1,t=t.sin(),t.s=1,t=ue(t,new i(1).minus(t.times(t)).sqrt(),r+10,0),i.precision=r,i.rounding=e,z(ht==2||ht==4?t.neg():t,r,e,!0)):new i(NaN)};C.times=C.mul=function(r){var e,t,i,s,n,a,o,h,l,d=this,u=d.constructor,c=d.d,p=(r=new u(r)).d;if(r.s*=d.s,!c||!c[0]||!p||!p[0])return new u(!r.s||c&&!c[0]&&!p||p&&!p[0]&&!c?NaN:!c||!p?r.s/0:r.s*0);for(t=Me(d.e/j)+Me(r.e/j),h=c.length,l=p.length,h<l&&(n=c,c=p,p=n,a=h,h=l,l=a),n=[],a=h+l,i=a;i--;)n.push(0);for(i=l;--i>=0;){for(e=0,s=h+i;s>i;)o=n[s]+p[i]*c[s-i-1]+e,n[s--]=o%je|0,e=o/je|0;n[s]=(n[s]+e)%je|0}for(;!n[--a];)n.pop();return e?++t:n.shift(),r.d=n,r.e=Jr(n,t),q?z(r,u.precision,u.rounding):r};C.toBinary=function(r,e){return dn(this,2,r,e)};C.toDecimalPlaces=C.toDP=function(r,e){var t=this,i=t.constructor;return t=new i(t),r===void 0?t:(Ne(r,0,Dt),e===void 0?e=i.rounding:Ne(e,0,8),z(t,r+t.e+1,e))};C.toExponential=function(r,e){var t,i=this,s=i.constructor;return r===void 0?t=nt(i,!0):(Ne(r,0,Dt),e===void 0?e=s.rounding:Ne(e,0,8),i=z(new s(i),r+1,e),t=nt(i,!0,r+1)),i.isNeg()&&!i.isZero()?"-"+t:t};C.toFixed=function(r,e){var t,i,s=this,n=s.constructor;return r===void 0?t=nt(s):(Ne(r,0,Dt),e===void 0?e=n.rounding:Ne(e,0,8),i=z(new n(s),r+s.e+1,e),t=nt(i,!1,r+i.e+1)),s.isNeg()&&!s.isZero()?"-"+t:t};C.toFraction=function(r){var e,t,i,s,n,a,o,h,l,d,u,c,p=this,f=p.d,m=p.constructor;if(!f)return new m(p);if(l=t=new m(1),i=h=new m(0),e=new m(i),n=e.e=el(f)-p.e-1,a=n%j,e.d[0]=Se(10,a<0?j+a:a),r==null)r=n>0?e:l;else{if(o=new m(r),!o.isInt()||o.lt(l))throw Error(Lt+o);r=o.gt(e)?n>0?e:l:o}for(q=!1,o=new m(xe(f)),d=m.precision,m.precision=n=f.length*j*2;u=ue(o,e,0,1,1),s=t.plus(u.times(i)),s.cmp(r)!=1;)t=i,i=s,s=l,l=h.plus(u.times(s)),h=s,s=e,e=o.minus(u.times(s)),o=s;return s=ue(r.minus(t),i,0,1,1),h=h.plus(s.times(l)),t=t.plus(s.times(i)),h.s=l.s=p.s,c=ue(l,i,n,1).minus(p).abs().cmp(ue(h,t,n,1).minus(p).abs())<1?[l,i]:[h,t],m.precision=d,q=!0,c};C.toHexadecimal=C.toHex=function(r,e){return dn(this,16,r,e)};C.toNearest=function(r,e){var t=this,i=t.constructor;if(t=new i(t),r==null){if(!t.d)return t;r=new i(1),e=i.rounding}else{if(r=new i(r),e===void 0?e=i.rounding:Ne(e,0,8),!t.d)return r.s?t:r;if(!r.d)return r.s&&(r.s=t.s),r}return r.d[0]?(q=!1,t=ue(t,r,0,e,1).times(r),q=!0,z(t)):(r.s=t.s,t=r),t};C.toNumber=function(){return+this};C.toOctal=function(r,e){return dn(this,8,r,e)};C.toPower=C.pow=function(r){var e,t,i,s,n,a,o=this,h=o.constructor,l=+(r=new h(r));if(!o.d||!r.d||!o.d[0]||!r.d[0])return new h(Se(+o,l));if(o=new h(o),o.eq(1))return o;if(i=h.precision,n=h.rounding,r.eq(1))return z(o,i,n);if(e=Me(r.e/j),e>=r.d.length-1&&(t=l<0?-l:l)<=jc)return s=tl(h,o,t,i),r.s<0?new h(1).div(s):z(s,i,n);if(a=o.s,a<0){if(e<r.d.length-1)return new h(NaN);if(r.d[e]&1||(a=1),o.e==0&&o.d[0]==1&&o.d.length==1)return o.s=a,o}return t=Se(+o,l),e=t==0||!isFinite(t)?Me(l*(Math.log("0."+xe(o.d))/Math.LN10+o.e+1)):new h(t+"").e,e>h.maxE+1||e<h.minE-1?new h(e>0?a/0:0):(q=!1,h.rounding=o.s=1,t=Math.min(12,(e+"").length),s=Fs(r.times(Pt(o,i+t)),i),s.d&&(s=z(s,i+5,1),Zi(s.d,i,n)&&(e=i+10,s=z(Fs(r.times(Pt(o,e+t)),e),e+5,1),+xe(s.d).slice(i+1,i+15)+1==1e14&&(s=z(s,i+1,0)))),s.s=a,q=!0,h.rounding=n,z(s,i,n))};C.toPrecision=function(r,e){var t,i=this,s=i.constructor;return r===void 0?t=nt(i,i.e<=s.toExpNeg||i.e>=s.toExpPos):(Ne(r,1,Dt),e===void 0?e=s.rounding:Ne(e,0,8),i=z(new s(i),r,e),t=nt(i,r<=i.e||i.e<=s.toExpNeg,r)),i.isNeg()&&!i.isZero()?"-"+t:t};C.toSignificantDigits=C.toSD=function(r,e){var t=this,i=t.constructor;return r===void 0?(r=i.precision,e=i.rounding):(Ne(r,1,Dt),e===void 0?e=i.rounding:Ne(e,0,8)),z(new i(t),r,e)};C.toString=function(){var r=this,e=r.constructor,t=nt(r,r.e<=e.toExpNeg||r.e>=e.toExpPos);return r.isNeg()&&!r.isZero()?"-"+t:t};C.truncated=C.trunc=function(){return z(new this.constructor(this),this.e+1,1)};C.valueOf=C.toJSON=function(){var r=this,e=r.constructor,t=nt(r,r.e<=e.toExpNeg||r.e>=e.toExpPos);return r.isNeg()?"-"+t:t};function xe(r){var e,t,i,s=r.length-1,n="",a=r[0];if(s>0){for(n+=a,e=1;e<s;e++)i=r[e]+"",t=j-i.length,t&&(n+=kt(t)),n+=i;a=r[e],i=a+"",t=j-i.length,t&&(n+=kt(t))}else if(a===0)return"0";for(;a%10===0;)a/=10;return n+a}function Ne(r,e,t){if(r!==~~r||r<e||r>t)throw Error(Lt+r)}function Zi(r,e,t,i){var s,n,a,o;for(n=r[0];n>=10;n/=10)--e;return--e<0?(e+=j,s=0):(s=Math.ceil((e+1)/j),e%=j),n=Se(10,j-e),o=r[s]%n|0,i==null?e<3?(e==0?o=o/100|0:e==1&&(o=o/10|0),a=t<4&&o==99999||t>3&&o==49999||o==5e4||o==0):a=(t<4&&o+1==n||t>3&&o+1==n/2)&&(r[s+1]/n/100|0)==Se(10,e-2)-1||(o==n/2||o==0)&&(r[s+1]/n/100|0)==0:e<4?(e==0?o=o/1e3|0:e==1?o=o/100|0:e==2&&(o=o/10|0),a=(i||t<4)&&o==9999||!i&&t>3&&o==4999):a=((i||t<4)&&o+1==n||!i&&t>3&&o+1==n/2)&&(r[s+1]/n/1e3|0)==Se(10,e-3)-1,a}function Sr(r,e,t){for(var i,s=[0],n,a=0,o=r.length;a<o;){for(n=s.length;n--;)s[n]*=e;for(s[0]+=Ns.indexOf(r.charAt(a++)),i=0;i<s.length;i++)s[i]>t-1&&(s[i+1]===void 0&&(s[i+1]=0),s[i+1]+=s[i]/t|0,s[i]%=t)}return s.reverse()}function qc(r,e){var t,i,s;if(e.isZero())return e;i=e.d.length,i<32?(t=Math.ceil(i/3),s=(1/Qr(4,t)).toString()):(t=16,s="2.3283064365386962890625e-10"),r.precision+=t,e=ci(r,1,e.times(s),new r(1));for(var n=t;n--;){var a=e.times(e);e=a.times(a).minus(a).times(8).plus(1)}return r.precision-=t,e}var ue=function(){function r(i,s,n){var a,o=0,h=i.length;for(i=i.slice();h--;)a=i[h]*s+o,i[h]=a%n|0,o=a/n|0;return o&&i.unshift(o),i}function e(i,s,n,a){var o,h;if(n!=a)h=n>a?1:-1;else for(o=h=0;o<n;o++)if(i[o]!=s[o]){h=i[o]>s[o]?1:-1;break}return h}function t(i,s,n,a){for(var o=0;n--;)i[n]-=o,o=i[n]<s[n]?1:0,i[n]=o*a+i[n]-s[n];for(;!i[0]&&i.length>1;)i.shift()}return function(i,s,n,a,o,h){var l,d,u,c,p,f,m,v,_,w,b,T,L,A,G,R,H,$,I,K,W=i.constructor,le=i.s==s.s?1:-1,ne=i.d,U=s.d;if(!ne||!ne[0]||!U||!U[0])return new W(!i.s||!s.s||(ne?U&&ne[0]==U[0]:!U)?NaN:ne&&ne[0]==0||!U?le*0:le/0);for(h?(p=1,d=i.e-s.e):(h=je,p=j,d=Me(i.e/p)-Me(s.e/p)),I=U.length,H=ne.length,_=new W(le),w=_.d=[],u=0;U[u]==(ne[u]||0);u++);if(U[u]>(ne[u]||0)&&d--,n==null?(A=n=W.precision,a=W.rounding):o?A=n+(i.e-s.e)+1:A=n,A<0)w.push(1),f=!0;else{if(A=A/p+2|0,u=0,I==1){for(c=0,U=U[0],A++;(u<H||c)&&A--;u++)G=c*h+(ne[u]||0),w[u]=G/U|0,c=G%U|0;f=c||u<H}else{for(c=h/(U[0]+1)|0,c>1&&(U=r(U,c,h),ne=r(ne,c,h),I=U.length,H=ne.length),R=I,b=ne.slice(0,I),T=b.length;T<I;)b[T++]=0;K=U.slice(),K.unshift(0),$=U[0],U[1]>=h/2&&++$;do c=0,l=e(U,b,I,T),l<0?(L=b[0],I!=T&&(L=L*h+(b[1]||0)),c=L/$|0,c>1?(c>=h&&(c=h-1),m=r(U,c,h),v=m.length,T=b.length,l=e(m,b,v,T),l==1&&(c--,t(m,I<v?K:U,v,h))):(c==0&&(l=c=1),m=U.slice()),v=m.length,v<T&&m.unshift(0),t(b,m,T,h),l==-1&&(T=b.length,l=e(U,b,I,T),l<1&&(c++,t(b,I<T?K:U,T,h))),T=b.length):l===0&&(c++,b=[0]),w[u++]=c,l&&b[0]?b[T++]=ne[R]||0:(b=[ne[R]],T=1);while((R++<H||b[0]!==void 0)&&A--);f=b[0]!==void 0}w[0]||w.shift()}if(p==1)_.e=d,qo=f;else{for(u=1,c=w[0];c>=10;c/=10)u++;_.e=u+d*p-1,z(_,o?n+_.e+1:n,a,f)}return _}}();function z(r,e,t,i){var s,n,a,o,h,l,d,u,c,p=r.constructor;e:if(e!=null){if(u=r.d,!u)return r;for(s=1,o=u[0];o>=10;o/=10)s++;if(n=e-s,n<0)n+=j,a=e,d=u[c=0],h=d/Se(10,s-a-1)%10|0;else if(c=Math.ceil((n+1)/j),o=u.length,c>=o)if(i){for(;o++<=c;)u.push(0);d=h=0,s=1,n%=j,a=n-j+1}else break e;else{for(d=o=u[c],s=1;o>=10;o/=10)s++;n%=j,a=n-j+s,h=a<0?0:d/Se(10,s-a-1)%10|0}if(i=i||e<0||u[c+1]!==void 0||(a<0?d:d%Se(10,s-a-1)),l=t<4?(h||i)&&(t==0||t==(r.s<0?3:2)):h>5||h==5&&(t==4||i||t==6&&(n>0?a>0?d/Se(10,s-a):0:u[c-1])%10&1||t==(r.s<0?8:7)),e<1||!u[0])return u.length=0,l?(e-=r.e+1,u[0]=Se(10,(j-e%j)%j),r.e=-e||0):u[0]=r.e=0,r;if(n==0?(u.length=c,o=1,c--):(u.length=c+1,o=Se(10,j-n),u[c]=a>0?(d/Se(10,s-a)%Se(10,a)|0)*o:0),l)for(;;)if(c==0){for(n=1,a=u[0];a>=10;a/=10)n++;for(a=u[0]+=o,o=1;a>=10;a/=10)o++;n!=o&&(r.e++,u[0]==je&&(u[0]=1));break}else{if(u[c]+=o,u[c]!=je)break;u[c--]=0,o=1}for(n=u.length;u[--n]===0;)u.pop()}return q&&(r.e>p.maxE?(r.d=null,r.e=NaN):r.e<p.minE&&(r.e=0,r.d=[0])),r}function nt(r,e,t){if(!r.isFinite())return rl(r);var i,s=r.e,n=xe(r.d),a=n.length;return e?(t&&(i=t-a)>0?n=n.charAt(0)+"."+n.slice(1)+kt(i):a>1&&(n=n.charAt(0)+"."+n.slice(1)),n=n+(r.e<0?"e":"e+")+r.e):s<0?(n="0."+kt(-s-1)+n,t&&(i=t-a)>0&&(n+=kt(i))):s>=a?(n+=kt(s+1-a),t&&(i=t-s-1)>0&&(n=n+"."+kt(i))):((i=s+1)<a&&(n=n.slice(0,i)+"."+n.slice(i)),t&&(i=t-a)>0&&(s+1===a&&(n+="."),n+=kt(i))),n}function Jr(r,e){var t=r[0];for(e*=j;t>=10;t/=10)e++;return e}function zr(r,e,t){if(e>Xc)throw q=!0,t&&(r.precision=t),Error(Yo);return z(new r($r),e,1,!0)}function Ue(r,e,t){if(e>Ds)throw Error(Yo);return z(new r(Vr),e,t,!0)}function el(r){var e=r.length-1,t=e*j+1;if(e=r[e],e){for(;e%10==0;e/=10)t--;for(e=r[0];e>=10;e/=10)t++}return t}function kt(r){for(var e="";r--;)e+="0";return e}function tl(r,e,t,i){var s,n=new r(1),a=Math.ceil(i/j+4);for(q=!1;;){if(t%2&&(n=n.times(e),ra(n.d,a)&&(s=!0)),t=Me(t/2),t===0){t=n.d.length-1,s&&n.d[t]===0&&++n.d[t];break}e=e.times(e),ra(e.d,a)}return q=!0,n}function ia(r){return r.d[r.d.length-1]&1}function il(r,e,t){for(var i,s=new r(e[0]),n=0;++n<e.length;)if(i=new r(e[n]),i.s)s[t](i)&&(s=i);else{s=i;break}return s}function Fs(r,e){var t,i,s,n,a,o,h,l=0,d=0,u=0,c=r.constructor,p=c.rounding,f=c.precision;if(!r.d||!r.d[0]||r.e>17)return new c(r.d?r.d[0]?r.s<0?0:1/0:1:r.s?r.s<0?0:r:0/0);for(e==null?(q=!1,h=f):h=e,o=new c(.03125);r.e>-2;)r=r.times(o),u+=5;for(i=Math.log(Se(2,u))/Math.LN10*2+5|0,h+=i,t=n=a=new c(1),c.precision=h;;){if(n=z(n.times(r),h,1),t=t.times(++d),o=a.plus(ue(n,t,h,1)),xe(o.d).slice(0,h)===xe(a.d).slice(0,h)){for(s=u;s--;)a=z(a.times(a),h,1);if(e==null)if(l<3&&Zi(a.d,h-i,p,l))c.precision=h+=10,t=n=o=new c(1),d=0,l++;else return z(a,c.precision=f,p,q=!0);else return c.precision=f,a}a=o}}function Pt(r,e){var t,i,s,n,a,o,h,l,d,u,c,p=1,f=10,m=r,v=m.d,_=m.constructor,w=_.rounding,b=_.precision;if(m.s<0||!v||!v[0]||!m.e&&v[0]==1&&v.length==1)return new _(v&&!v[0]?-1/0:m.s!=1?NaN:v?0:m);if(e==null?(q=!1,d=b):d=e,_.precision=d+=f,t=xe(v),i=t.charAt(0),Math.abs(n=m.e)<15e14){for(;i<7&&i!=1||i==1&&t.charAt(1)>3;)m=m.times(r),t=xe(m.d),i=t.charAt(0),p++;n=m.e,i>1?(m=new _("0."+t),n++):m=new _(i+"."+t.slice(1))}else return l=zr(_,d+2,b).times(n+""),m=Pt(new _(i+"."+t.slice(1)),d-f).plus(l),_.precision=b,e==null?z(m,b,w,q=!0):m;for(u=m,h=a=m=ue(m.minus(1),m.plus(1),d,1),c=z(m.times(m),d,1),s=3;;){if(a=z(a.times(c),d,1),l=h.plus(ue(a,new _(s),d,1)),xe(l.d).slice(0,d)===xe(h.d).slice(0,d))if(h=h.times(2),n!==0&&(h=h.plus(zr(_,d+2,b).times(n+""))),h=ue(h,new _(p),d,1),e==null)if(Zi(h.d,d-f,w,o))_.precision=d+=f,l=a=m=ue(u.minus(1),u.plus(1),d,1),c=z(m.times(m),d,1),s=o=1;else return z(h,_.precision=b,w,q=!0);else return _.precision=b,h;h=l,s+=2}}function rl(r){return String(r.s*r.s/0)}function Hs(r,e){var t,i,s;for((t=e.indexOf("."))>-1&&(e=e.replace(".","")),(i=e.search(/e/i))>0?(t<0&&(t=i),t+=+e.slice(i+1),e=e.substring(0,i)):t<0&&(t=e.length),i=0;e.charCodeAt(i)===48;i++);for(s=e.length;e.charCodeAt(s-1)===48;--s);if(e=e.slice(i,s),e){if(s-=i,r.e=t=t-i-1,r.d=[],i=(t+1)%j,t<0&&(i+=j),i<s){for(i&&r.d.push(+e.slice(0,i)),s-=j;i<s;)r.d.push(+e.slice(i,i+=j));e=e.slice(i),i=j-e.length}else i-=s;for(;i--;)e+="0";r.d.push(+e),q&&(r.e>r.constructor.maxE?(r.d=null,r.e=NaN):r.e<r.constructor.minE&&(r.e=0,r.d=[0]))}else r.e=0,r.d=[0];return r}function Yc(r,e){var t,i,s,n,a,o,h,l,d;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),Qo.test(e))return Hs(r,e)}else if(e==="Infinity"||e==="NaN")return+e||(r.s=NaN),r.e=NaN,r.d=null,r;if(Uc.test(e))t=16,e=e.toLowerCase();else if(Wc.test(e))t=2;else if(Zc.test(e))t=8;else throw Error(Lt+e);for(n=e.search(/p/i),n>0?(h=+e.slice(n+1),e=e.substring(2,n)):e=e.slice(2),n=e.indexOf("."),a=n>=0,i=r.constructor,a&&(e=e.replace(".",""),o=e.length,n=o-n,s=tl(i,new i(t),n,n*2)),l=Sr(e,t,je),d=l.length-1,n=d;l[n]===0;--n)l.pop();return n<0?new i(r.s*0):(r.e=Jr(l,d),r.d=l,q=!1,a&&(r=ue(r,s,o*4)),h&&(r=r.times(Math.abs(h)<54?Se(2,h):Z.pow(2,h))),q=!0,r)}function Kc(r,e){var t,i=e.d.length;if(i<3)return e.isZero()?e:ci(r,2,e,e);t=1.4*Math.sqrt(i),t=t>16?16:t|0,e=e.times(1/Qr(5,t)),e=ci(r,2,e,e);for(var s,n=new r(5),a=new r(16),o=new r(20);t--;)s=e.times(e),e=e.times(n.plus(s.times(a.times(s).minus(o))));return e}function ci(r,e,t,i,s){var n,a,o,h,l=r.precision,d=Math.ceil(l/j);for(q=!1,h=t.times(t),o=new r(i);;){if(a=ue(o.times(h),new r(e++*e++),l,1),o=s?i.plus(a):i.minus(a),i=ue(a.times(h),new r(e++*e++),l,1),a=o.plus(i),a.d[d]!==void 0){for(n=d;a.d[n]===o.d[n]&&n--;);if(n==-1)break}n=o,o=i,i=a,a=n}return q=!0,a.d.length=d+1,a}function Qr(r,e){for(var t=r;--e;)t*=r;return t}function sl(r,e){var t,i=e.s<0,s=Ue(r,r.precision,1),n=s.times(.5);if(e=e.abs(),e.lte(n))return ht=i?4:1,e;if(t=e.divToInt(s),t.isZero())ht=i?3:2;else{if(e=e.minus(t.times(s)),e.lte(n))return ht=ia(t)?i?2:3:i?4:1,e;ht=ia(t)?i?1:4:i?3:2}return e.minus(s).abs()}function dn(r,e,t,i){var s,n,a,o,h,l,d,u,c,p=r.constructor,f=t!==void 0;if(f?(Ne(t,1,Dt),i===void 0?i=p.rounding:Ne(i,0,8)):(t=p.precision,i=p.rounding),!r.isFinite())d=rl(r);else{for(d=nt(r),a=d.indexOf("."),f?(s=2,e==16?t=t*4-3:e==8&&(t=t*3-2)):s=e,a>=0&&(d=d.replace(".",""),c=new p(1),c.e=d.length-a,c.d=Sr(nt(c),10,s),c.e=c.d.length),u=Sr(d,10,s),n=h=u.length;u[--h]==0;)u.pop();if(!u[0])d=f?"0p+0":"0";else{if(a<0?n--:(r=new p(r),r.d=u,r.e=n,r=ue(r,c,t,i,0,s),u=r.d,n=r.e,l=qo),a=u[t],o=s/2,l=l||u[t+1]!==void 0,l=i<4?(a!==void 0||l)&&(i===0||i===(r.s<0?3:2)):a>o||a===o&&(i===4||l||i===6&&u[t-1]&1||i===(r.s<0?8:7)),u.length=t,l)for(;++u[--t]>s-1;)u[t]=0,t||(++n,u.unshift(1));for(h=u.length;!u[h-1];--h);for(a=0,d="";a<h;a++)d+=Ns.charAt(u[a]);if(f){if(h>1)if(e==16||e==8){for(a=e==16?4:3,--h;h%a;h++)d+="0";for(u=Sr(d,s,e),h=u.length;!u[h-1];--h);for(a=1,d="1.";a<h;a++)d+=Ns.charAt(u[a])}else d=d.charAt(0)+"."+d.slice(1);d=d+(n<0?"p":"p+")+n}else if(n<0){for(;++n;)d="0"+d;d="0."+d}else if(++n>h)for(n-=h;n--;)d+="0";else n<h&&(d=d.slice(0,n)+"."+d.slice(n))}d=(e==16?"0x":e==2?"0b":e==8?"0o":"")+d}return r.s<0?"-"+d:d}function ra(r,e){if(r.length>e)return r.length=e,!0}function Jc(r){return new this(r).abs()}function Qc(r){return new this(r).acos()}function ef(r){return new this(r).acosh()}function tf(r,e){return new this(r).plus(e)}function rf(r){return new this(r).asin()}function sf(r){return new this(r).asinh()}function nf(r){return new this(r).atan()}function af(r){return new this(r).atanh()}function of(r,e){r=new this(r),e=new this(e);var t,i=this.precision,s=this.rounding,n=i+4;return!r.s||!e.s?t=new this(NaN):!r.d&&!e.d?(t=Ue(this,n,1).times(e.s>0?.25:.75),t.s=r.s):!e.d||r.isZero()?(t=e.s<0?Ue(this,i,s):new this(0),t.s=r.s):!r.d||e.isZero()?(t=Ue(this,n,1).times(.5),t.s=r.s):e.s<0?(this.precision=n,this.rounding=1,t=this.atan(ue(r,e,n,1)),e=Ue(this,n,1),this.precision=i,this.rounding=s,t=r.s<0?t.minus(e):t.plus(e)):t=this.atan(ue(r,e,n,1)),t}function lf(r){return new this(r).cbrt()}function hf(r){return z(r=new this(r),r.e+1,2)}function df(r,e,t){return new this(r).clamp(e,t)}function uf(r){if(!r||typeof r!="object")throw Error(Kr+"Object expected");var e,t,i,s=r.defaults===!0,n=["precision",1,Dt,"rounding",0,8,"toExpNeg",-ei,0,"toExpPos",0,ei,"maxE",0,ei,"minE",-ei,0,"modulo",0,9];for(e=0;e<n.length;e+=3)if(t=n[e],s&&(this[t]=Gs[t]),(i=r[t])!==void 0)if(Me(i)===i&&i>=n[e+1]&&i<=n[e+2])this[t]=i;else throw Error(Lt+t+": "+i);if(t="crypto",s&&(this[t]=Gs[t]),(i=r[t])!==void 0)if(i===!0||i===!1||i===0||i===1)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Ko);else this[t]=!1;else throw Error(Lt+t+": "+i);return this}function cf(r){return new this(r).cos()}function ff(r){return new this(r).cosh()}function nl(r){var e,t,i;function s(n){var a,o,h,l=this;if(!(l instanceof s))return new s(n);if(l.constructor=s,sa(n)){l.s=n.s,q?!n.d||n.e>s.maxE?(l.e=NaN,l.d=null):n.e<s.minE?(l.e=0,l.d=[0]):(l.e=n.e,l.d=n.d.slice()):(l.e=n.e,l.d=n.d?n.d.slice():n.d);return}if(h=typeof n,h==="number"){if(n===0){l.s=1/n<0?-1:1,l.e=0,l.d=[0];return}if(n<0?(n=-n,l.s=-1):l.s=1,n===~~n&&n<1e7){for(a=0,o=n;o>=10;o/=10)a++;q?a>s.maxE?(l.e=NaN,l.d=null):a<s.minE?(l.e=0,l.d=[0]):(l.e=a,l.d=[n]):(l.e=a,l.d=[n]);return}else if(n*0!==0){n||(l.s=NaN),l.e=NaN,l.d=null;return}return Hs(l,n.toString())}else if(h!=="string")throw Error(Lt+n);return(o=n.charCodeAt(0))===45?(n=n.slice(1),l.s=-1):(o===43&&(n=n.slice(1)),l.s=1),Qo.test(n)?Hs(l,n):Yc(l,n)}if(s.prototype=C,s.ROUND_UP=0,s.ROUND_DOWN=1,s.ROUND_CEIL=2,s.ROUND_FLOOR=3,s.ROUND_HALF_UP=4,s.ROUND_HALF_DOWN=5,s.ROUND_HALF_EVEN=6,s.ROUND_HALF_CEIL=7,s.ROUND_HALF_FLOOR=8,s.EUCLID=9,s.config=s.set=uf,s.clone=nl,s.isDecimal=sa,s.abs=Jc,s.acos=Qc,s.acosh=ef,s.add=tf,s.asin=rf,s.asinh=sf,s.atan=nf,s.atanh=af,s.atan2=of,s.cbrt=lf,s.ceil=hf,s.clamp=df,s.cos=cf,s.cosh=ff,s.div=pf,s.exp=mf,s.floor=gf,s.hypot=vf,s.ln=yf,s.log=bf,s.log10=wf,s.log2=_f,s.max=Sf,s.min=Tf,s.mod=Cf,s.mul=Ef,s.pow=kf,s.random=xf,s.round=Pf,s.sign=Af,s.sin=Of,s.sinh=Mf,s.sqrt=Lf,s.sub=Rf,s.sum=If,s.tan=Nf,s.tanh=Gf,s.trunc=Df,r===void 0&&(r={}),r&&r.defaults!==!0)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<i.length;)r.hasOwnProperty(t=i[e++])||(r[t]=this[t]);return s.config(r),s}function pf(r,e){return new this(r).div(e)}function mf(r){return new this(r).exp()}function gf(r){return z(r=new this(r),r.e+1,3)}function vf(){var r,e,t=new this(0);for(q=!1,r=0;r<arguments.length;)if(e=new this(arguments[r++]),e.d)t.d&&(t=t.plus(e.times(e)));else{if(e.s)return q=!0,new this(1/0);t=e}return q=!0,t.sqrt()}function sa(r){return r instanceof Z||r&&r.toStringTag===Jo||!1}function yf(r){return new this(r).ln()}function bf(r,e){return new this(r).log(e)}function _f(r){return new this(r).log(2)}function wf(r){return new this(r).log(10)}function Sf(){return il(this,arguments,"lt")}function Tf(){return il(this,arguments,"gt")}function Cf(r,e){return new this(r).mod(e)}function Ef(r,e){return new this(r).mul(e)}function kf(r,e){return new this(r).pow(e)}function xf(r){var e,t,i,s,n=0,a=new this(1),o=[];if(r===void 0?r=this.precision:Ne(r,1,Dt),i=Math.ceil(r/j),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(i));n<i;)s=e[n],s>=429e7?e[n]=crypto.getRandomValues(new Uint32Array(1))[0]:o[n++]=s%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(i*=4);n<i;)s=e[n]+(e[n+1]<<8)+(e[n+2]<<16)+((e[n+3]&127)<<24),s>=214e7?crypto.randomBytes(4).copy(e,n):(o.push(s%1e7),n+=4);n=i/4}else throw Error(Ko);else for(;n<i;)o[n++]=Math.random()*1e7|0;for(i=o[--n],r%=j,i&&r&&(s=Se(10,j-r),o[n]=(i/s|0)*s);o[n]===0;n--)o.pop();if(n<0)t=0,o=[0];else{for(t=-1;o[0]===0;t-=j)o.shift();for(i=1,s=o[0];s>=10;s/=10)i++;i<j&&(t-=j-i)}return a.e=t,a.d=o,a}function Pf(r){return z(r=new this(r),r.e+1,this.rounding)}function Af(r){return r=new this(r),r.d?r.d[0]?r.s:0*r.s:r.s||NaN}function Of(r){return new this(r).sin()}function Mf(r){return new this(r).sinh()}function Lf(r){return new this(r).sqrt()}function Rf(r,e){return new this(r).sub(e)}function If(){var r=0,e=arguments,t=new this(e[r]);for(q=!1;t.s&&++r<e.length;)t=t.plus(e[r]);return q=!0,z(t,this.precision,this.rounding)}function Nf(r){return new this(r).tan()}function Gf(r){return new this(r).tanh()}function Df(r){return z(r=new this(r),r.e+1,1)}C[Symbol.for("nodejs.util.inspect.custom")]=C.toString;C[Symbol.toStringTag]="Decimal";var Z=C.constructor=nl(Gs);$r=new Z($r);Vr=new Z(Vr);const na={editable:!0,style:{...jo,markerSymbolSize:20,periodMarkerHandleType:"start"}};class aa extends Xo{constructor(e,t,i){super({...na,...e,style:{...na.style,...e.style}},t,i)}createSymbol(){switch(this.style.markerSymbolType){case"triangle":let t=Z.sqrt(2).mul(this.style.markerSymbolSize).toNumber()/2;return new O.Line({points:this.style.periodMarkerHandleType==="start"?[-t,0,0,0,0,t]:[0,0,t,0,0,t],fill:this.style.color,closed:!0,offsetY:t/2});case"circle":return new O.Arc({fill:this.style.color,innerRadius:0,outerRadius:this.style.markerSymbolSize/2,angle:180,rotation:this.style.periodMarkerHandleType==="start"?90:-90});case"square":return new O.Line({points:[0,0,this.style.markerSymbolSize,0,this.style.markerSymbolSize,this.style.markerSymbolSize],fill:this.style.color,closed:!0,rotation:this.style.periodMarkerHandleType==="start"?225:45,offsetX:this.style.markerSymbolSize/2,offsetY:this.style.markerSymbolSize/2});default:throw Error("Unknown type")}}}const oa={editable:!0,style:{...Uo,selectedAreaOpacity:.2,markerHandleAreaOpacity:.7}};class al extends Zo{constructor(e){super({...oa,...e,style:{...oa.style,...e.style}}),this.observation.start=_e.coerce.number().min(0).optional().nullable().parse(this.observation.start),this.observation.end=_e.coerce.number().min(0).optional().nullable().parse(this.observation.end),this.observation.end!=null&&this.observation.start!=null&&(this.observation.start=_e.coerce.number().lte(this.observation.end).parse(this.observation.start))}createCanvasNode(){return super.createCanvasNode(),this.initStartMarkerHandle(),this.initEndMarkerHandle(),this.initSelectedAreaRect(),this.group}onChange(){this.settlePosition();let e={timeObservation:this.observation};this.onChange$.next(e)}onMeasurementsChange(){super.onMeasurementsChange();let e=this.startMarkerHandle.getVerticalMeasurement();this.selectedAreaRect.setAttrs({y:e.y,height:e.height});let t={y:this.startMarkerHandle.getHandleGroup().y(),height:this.startMarkerHandle.getHandleGroup().getClientRect().height};this.markerHandleRect.setAttrs({y:e.y+t.y-t.height/2,height:t.height}),this.settlePosition()}initSelectedAreaRect(){if(this.selectedAreaRect&&this.selectedAreaRect.destroy(),this.markerHandleRect&&this.markerHandleRect.destroy(),!this.hasStart()||!this.hasEnd())return;let e=this.startMarkerHandle.getVerticalMeasurement(),t=this.timeline.timeToTimelinePosition(this.observation.start),i=this.timeline.timeToTimelinePosition(this.observation.end);this.selectedAreaRect=new O.Rect({x:t,y:e.y,width:i-t,height:e.height,listening:!1,fill:this.style.color,opacity:this.style.selectedAreaOpacity});let s={y:this.startMarkerHandle.getHandleGroup().y(),height:this.startMarkerHandle.getHandleGroup().getClientRect().height};this.markerHandleRect=new O.Rect({x:t,y:e.y+s.y-s.height/2,width:i-t,height:s.height,listening:!1,fill:this.style.color,opacity:this.style.markerHandleAreaOpacity}),this.group.add(this.selectedAreaRect),this.group.add(this.markerHandleRect)}initStartMarkerHandle(){if(this.startMarkerHandle&&(this.startMarkerHandle.destroy(),this.startMarkerHandle=void 0),!this.hasStart())return;let e=this.timeline.timeToTimelinePosition(this.observation.start);this.startMarkerHandle=new aa({x:e,editable:this.editable,style:{color:this.style.color,markerRenderType:this.style.renderType,markerSymbolType:this.style.symbolType,periodMarkerHandleType:"start"}},this.markerLane,this.timeline),this.startMarkerHandle.onDrag=t=>{this.editable&&(this.hasEnd()&&t.x()>this.endMarkerHandle.getPosition().x&&t.x(this.endMarkerHandle.getPosition().x),this.settleMeasurements(),this.hasStart()&&this.hasEnd()&&this.markerHandleRect.opacity(1))},this.startMarkerHandle.onDragEnd=t=>{if(this.editable){let i=this.timeline.timelinePositionToTime(t.x());this.setTimeObservation({...this.observation,start:i}),this.hasStart()&&this.hasEnd()&&this.markerHandleRect.opacity(this.style.markerHandleAreaOpacity)}},this.group.add(this.startMarkerHandle.initCanvasNode())}initEndMarkerHandle(){if(this.endMarkerHandle&&(this.endMarkerHandle.destroy(),this.endMarkerHandle=void 0),!this.hasEnd())return;let e=this.hasEnd()?this.timeline.timeToTimelinePosition(this.observation.end):void 0;this.endMarkerHandle=new aa({x:e,editable:this.editable,style:{periodMarkerHandleType:"end",color:this.style.color,markerRenderType:this.style.renderType,markerSymbolType:this.style.symbolType}},this.markerLane,this.timeline),this.endMarkerHandle.onDrag=t=>{this.editable&&(this.hasStart()&&t.x()<this.startMarkerHandle.getPosition().x&&t.x(this.startMarkerHandle.getPosition().x),this.settleMeasurements(),this.hasStart()&&this.hasEnd()&&this.markerHandleRect.opacity(1))},this.endMarkerHandle.onDragEnd=t=>{if(this.editable){let i=this.timeline.timelinePositionToTime(t.x());this.setTimeObservation({...this.observation,end:i}),this.hasStart()&&this.hasEnd()&&this.markerHandleRect.opacity(this.style.markerHandleAreaOpacity)}},this.group.add(this.endMarkerHandle.initCanvasNode())}settlePosition(){this.hasStart()&&this.startMarkerHandle.setPosition({...this.startMarkerHandle.getPosition(),x:this.timeline.timeToTimelinePosition(this.observation.start)}),this.hasEnd()&&this.endMarkerHandle.setPosition({...this.endMarkerHandle.getPosition(),x:this.timeline.timeToTimelinePosition(this.observation.end)}),this.settleMeasurements()}settleMeasurements(){this.hasStart()&&this.hasEnd()&&(this.selectedAreaRect.setAttrs({x:this.startMarkerHandle.getPosition().x,width:this.endMarkerHandle.getPosition().x-this.startMarkerHandle.getPosition().x}),this.markerHandleRect.setAttrs({x:this.startMarkerHandle.getPosition().x,width:this.endMarkerHandle.getPosition().x-this.startMarkerHandle.getPosition().x}))}setTimeObservation(e){this.editable&&(this.observation=e,this.initStartMarkerHandle(),this.initEndMarkerHandle(),this.initSelectedAreaRect(),this.onChange())}setEditable(e){super.setEditable(e)}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.styleAdapter.onChange$.pipe(x(this.onDestroy$)).subscribe(e=>{this.hasStart()&&this.initStartMarkerHandle(),this.hasEnd()&&this.initEndMarkerHandle(),this.hasStart()&&this.hasEnd()&&this.initSelectedAreaRect()})}hasStart(){return this.observation&&this.observation.start!==null&&this.observation.start!==void 0}hasEnd(){return this.observation&&this.observation.end!==null&&this.observation.end!==void 0}}const la={editable:!0,style:{...jo,markerSymbolSize:20}};class Ff extends Xo{constructor(e,t,i){super({...la,...e,style:{...la.style,...e.style}},t,i)}createSymbol(){switch(this.style.markerSymbolType){case"triangle":let t=Z.sqrt(2).mul(this.style.markerSymbolSize).toNumber()/2;return new O.Line({points:[-t,0,t,0,0,t],fill:this.style.color,closed:!0,offsetY:t/2});case"circle":return new O.Circle({fill:this.style.color,radius:this.style.markerSymbolSize/2});case"square":return new O.Rect({fill:this.style.color,width:this.style.markerSymbolSize,height:this.style.markerSymbolSize,rotation:45,offsetX:this.style.markerSymbolSize/2,offsetY:this.style.markerSymbolSize/2});default:throw Error("Unknown type")}}}const ha={description:"",editable:!0,style:{...Uo}};class ol extends Zo{constructor(e){super({...ha,...e,style:{...ha.style,...e.style}}),this.observation.time=_e.coerce.number().min(0).parse(this.observation.time)}createCanvasNode(){return super.createCanvasNode(),this.initMarkerHandle(),this.group}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.styleAdapter.onChange$.subscribe(e=>{this.initMarkerHandle()})}initMarkerHandle(){this.markerHandle&&(this.markerHandle.destroy(),this.markerHandle=void 0);let e=this.timeline.timeToTimelinePosition(this.observation.time);this.markerHandle=new Ff({x:e,editable:this.editable,style:{color:this.style.color,markerRenderType:this.style.renderType,markerSymbolType:this.style.symbolType}},this.markerLane,this.timeline),this.markerHandle.onDragEnd=t=>{if(this.editable){let i=this.timeline.timelinePositionToTime(t.x());this.setTimeObservation({...this.observation,time:i})}},this.group.add(this.markerHandle.initCanvasNode())}onChange(){this.settlePosition();let e={timeObservation:this.observation};this.onChange$.next(e)}onMeasurementsChange(){super.onMeasurementsChange(),this.markerHandle.onMeasurementsChange(),this.settlePosition()}settlePosition(){this.markerHandle.setPosition({...this.markerHandle.getPosition(),x:this.timeline.timeToTimelinePosition(this.observation.time)})}setEditable(e){super.setEditable(e)}}const Hf={...Qi};class Bs extends er{constructor(e){super({...e,style:{...Hf,...e.style}}),this.onMarkerFocus$=new V,this.markers=[],this.markersMap=new Map}createCanvasNode(){return super.createCanvasNode(),this.markersGroup=new O.Group({...F.POSITION_TOP_LEFT,...this.timeline.getTimecodedGroupDimension()}),this.timeline.addToTimecodedMarkersGroup(this.markersGroup),this.bodyGroup}settleLayout(){super.settleLayout();let e=this.timeline.getTimecodedGroupHorizontalMeasurement();[this.markersGroup].forEach(t=>{t.width(e.width)}),this.markers&&this.markers.forEach(t=>{t.onMeasurementsChange()})}destroy(){super.destroy(),this.markersGroup.destroy()}clearContent(){this.removeAllMarkers(),this.markers=[],this.markersMap=new Map,this.markersGroup.destroyChildren()}createMomentMarker(e){return this.addMarker(new ol(e))}createPeriodMarker(e){return this.addMarker(new al(e))}addMarker(e){if(!this.isInitialized())throw new Error("MarkerLane not initalized. Maybe you forgot to add MarkerLane to Timeline?");if(this.markersMap.has(e.getId()))throw new Error(`Marker with id=${e.getId()} already exists`);return e.setMarkerLane(this),e.setTimeline(this.timeline),e.onClick$.pipe(x(this.onDestroy$)).subscribe(t=>{this.focusMarker(e.getId())}),e.onMouseEnter$.pipe(x(this.onDestroy$)).subscribe(t=>{this.focusMarker(e.getId())}),this.markers.push(e),this.markersMap.set(e.getId(),e),this.markersGroup.add(e.initCanvasNode()),e}removeAllMarkers(){this.markers&&this.markers.forEach(e=>{this.removeMarker(e.getId())})}removeMarker(e){let t=this.getMarker(e);t&&(this.markers.splice(this.markers.findIndex(i=>i.getId()===t.getId()),1),this.markersMap.delete(t.getId()),t.destroy())}getMarker(e){return this.markersMap.get(e)}getMarkers(){return this.markers}focusMarker(e){let t=this.getMarker(e);t&&(this.moveToTop(t),this.markerInFocus=t,this.onMarkerFocus$.next({marker:t}))}getMarkerInFocus(){return this.markerInFocus}moveToTop(e){e&&(this.markersGroup.moveToTop(),e.getCanvasNode().moveToTop())}}class Bf{static randomHexColor(){return`#${Math.floor(Math.random()*16777215).toString(16)}`}}class yi{static createGoldenRatioWedge(e){let t=new Z(e.height).div(F.GOLDEN_RATIO+1).toDecimalPlaces(2).toNumber(),i=e.height-t,s=i/2;return new O.Line({points:[e.x-s,e.y,e.x+s,e.y,e.x+s,e.y+i,e.x,e.y+i+t,e.x-s,e.y+i],fill:e.color,stroke:e.color,closed:!0,listening:!1})}static createTriangle(e){let t=e.height/2;return new O.Line({points:[e.x-t,e.y,e.x+t,e.y,e.x,e.y+e.height],fill:e.color,closed:!0,listening:!1})}static createEventCatcher(e={}){return new O.Rect({...F.POSITION_TOP_LEFT,opacity:0,listening:!0,...e})}static createDebugRect(){return new O.Rect({...F.POSITION_TOP_LEFT,width:100,height:100,fill:Bf.randomHexColor(),opacity:1})}}function ll(r,e){return function(){return r.apply(e,arguments)}}const{toString:hl}=Object.prototype,{getPrototypeOf:un}=Object,cn=(r=>e=>{const t=hl.call(e);return r[t]||(r[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),wt=r=>(r=r.toLowerCase(),e=>cn(e)===r),es=r=>e=>typeof e===r,{isArray:bi}=Array,ji=es("undefined");function $f(r){return r!==null&&!ji(r)&&r.constructor!==null&&!ji(r.constructor)&&Rt(r.constructor.isBuffer)&&r.constructor.isBuffer(r)}const dl=wt("ArrayBuffer");function Vf(r){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(r):e=r&&r.buffer&&dl(r.buffer),e}const zf=es("string"),Rt=es("function"),ul=es("number"),fn=r=>r!==null&&typeof r=="object",Wf=r=>r===!0||r===!1,Tr=r=>{if(cn(r)!=="object")return!1;const e=un(r);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)},Uf=wt("Date"),Zf=wt("File"),jf=wt("Blob"),Xf=wt("FileList"),qf=r=>fn(r)&&Rt(r.pipe),Yf=r=>{const e="[object FormData]";return r&&(typeof FormData=="function"&&r instanceof FormData||hl.call(r)===e||Rt(r.toString)&&r.toString()===e)},Kf=wt("URLSearchParams"),Jf=r=>r.trim?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function tr(r,e,{allOwnKeys:t=!1}={}){if(r===null||typeof r>"u")return;let i,s;if(typeof r!="object"&&(r=[r]),bi(r))for(i=0,s=r.length;i<s;i++)e.call(null,r[i],i,r);else{const n=t?Object.getOwnPropertyNames(r):Object.keys(r),a=n.length;let o;for(i=0;i<a;i++)o=n[i],e.call(null,r[o],o,r)}}function cl(r,e){e=e.toLowerCase();const t=Object.keys(r);let i=t.length,s;for(;i-- >0;)if(s=t[i],e===s.toLowerCase())return s;return null}const fl=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),pl=r=>!ji(r)&&r!==fl;function $s(){const{caseless:r}=pl(this)&&this||{},e={},t=(i,s)=>{const n=r&&cl(e,s)||s;Tr(e[n])&&Tr(i)?e[n]=$s(e[n],i):Tr(i)?e[n]=$s({},i):bi(i)?e[n]=i.slice():e[n]=i};for(let i=0,s=arguments.length;i<s;i++)arguments[i]&&tr(arguments[i],t);return e}const Qf=(r,e,t,{allOwnKeys:i}={})=>(tr(e,(s,n)=>{t&&Rt(s)?r[n]=ll(s,t):r[n]=s},{allOwnKeys:i}),r),ep=r=>(r.charCodeAt(0)===65279&&(r=r.slice(1)),r),tp=(r,e,t,i)=>{r.prototype=Object.create(e.prototype,i),r.prototype.constructor=r,Object.defineProperty(r,"super",{value:e.prototype}),t&&Object.assign(r.prototype,t)},ip=(r,e,t,i)=>{let s,n,a;const o={};if(e=e||{},r==null)return e;do{for(s=Object.getOwnPropertyNames(r),n=s.length;n-- >0;)a=s[n],(!i||i(a,r,e))&&!o[a]&&(e[a]=r[a],o[a]=!0);r=t!==!1&&un(r)}while(r&&(!t||t(r,e))&&r!==Object.prototype);return e},rp=(r,e,t)=>{r=String(r),(t===void 0||t>r.length)&&(t=r.length),t-=e.length;const i=r.indexOf(e,t);return i!==-1&&i===t},sp=r=>{if(!r)return null;if(bi(r))return r;let e=r.length;if(!ul(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=r[e];return t},np=(r=>e=>r&&e instanceof r)(typeof Uint8Array<"u"&&un(Uint8Array)),ap=(r,e)=>{const i=(r&&r[Symbol.iterator]).call(r);let s;for(;(s=i.next())&&!s.done;){const n=s.value;e.call(r,n[0],n[1])}},op=(r,e)=>{let t;const i=[];for(;(t=r.exec(e))!==null;)i.push(t);return i},lp=wt("HTMLFormElement"),hp=r=>r.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,i,s){return i.toUpperCase()+s}),da=(({hasOwnProperty:r})=>(e,t)=>r.call(e,t))(Object.prototype),dp=wt("RegExp"),ml=(r,e)=>{const t=Object.getOwnPropertyDescriptors(r),i={};tr(t,(s,n)=>{e(s,n,r)!==!1&&(i[n]=s)}),Object.defineProperties(r,i)},up=r=>{ml(r,(e,t)=>{if(Rt(r)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const i=r[t];if(Rt(i)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},cp=(r,e)=>{const t={},i=s=>{s.forEach(n=>{t[n]=!0})};return bi(r)?i(r):i(String(r).split(e)),t},fp=()=>{},pp=(r,e)=>(r=+r,Number.isFinite(r)?r:e),gs="abcdefghijklmnopqrstuvwxyz",ua="0123456789",gl={DIGIT:ua,ALPHA:gs,ALPHA_DIGIT:gs+gs.toUpperCase()+ua},mp=(r=16,e=gl.ALPHA_DIGIT)=>{let t="";const{length:i}=e;for(;r--;)t+=e[Math.random()*i|0];return t};function gp(r){return!!(r&&Rt(r.append)&&r[Symbol.toStringTag]==="FormData"&&r[Symbol.iterator])}const vp=r=>{const e=new Array(10),t=(i,s)=>{if(fn(i)){if(e.indexOf(i)>=0)return;if(!("toJSON"in i)){e[s]=i;const n=bi(i)?[]:{};return tr(i,(a,o)=>{const h=t(a,s+1);!ji(h)&&(n[o]=h)}),e[s]=void 0,n}}return i};return t(r,0)},S={isArray:bi,isArrayBuffer:dl,isBuffer:$f,isFormData:Yf,isArrayBufferView:Vf,isString:zf,isNumber:ul,isBoolean:Wf,isObject:fn,isPlainObject:Tr,isUndefined:ji,isDate:Uf,isFile:Zf,isBlob:jf,isRegExp:dp,isFunction:Rt,isStream:qf,isURLSearchParams:Kf,isTypedArray:np,isFileList:Xf,forEach:tr,merge:$s,extend:Qf,trim:Jf,stripBOM:ep,inherits:tp,toFlatObject:ip,kindOf:cn,kindOfTest:wt,endsWith:rp,toArray:sp,forEachEntry:ap,matchAll:op,isHTMLForm:lp,hasOwnProperty:da,hasOwnProp:da,reduceDescriptors:ml,freezeMethods:up,toObjectSet:cp,toCamelCase:hp,noop:fp,toFiniteNumber:pp,findKey:cl,global:fl,isContextDefined:pl,ALPHABET:gl,generateString:mp,isSpecCompliantForm:gp,toJSONObject:vp};function ie(r,e,t,i,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=r,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),i&&(this.request=i),s&&(this.response=s)}S.inherits(ie,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:S.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const vl=ie.prototype,yl={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(r=>{yl[r]={value:r}});Object.defineProperties(ie,yl);Object.defineProperty(vl,"isAxiosError",{value:!0});ie.from=(r,e,t,i,s,n)=>{const a=Object.create(vl);return S.toFlatObject(r,a,function(h){return h!==Error.prototype},o=>o!=="isAxiosError"),ie.call(a,r.message,e,t,i,s),a.cause=r,a.name=r.name,n&&Object.assign(a,n),a};const yp=null;function Vs(r){return S.isPlainObject(r)||S.isArray(r)}function bl(r){return S.endsWith(r,"[]")?r.slice(0,-2):r}function ca(r,e,t){return r?r.concat(e).map(function(s,n){return s=bl(s),!t&&n?"["+s+"]":s}).join(t?".":""):e}function bp(r){return S.isArray(r)&&!r.some(Vs)}const _p=S.toFlatObject(S,{},null,function(e){return/^is[A-Z]/.test(e)});function ts(r,e,t){if(!S.isObject(r))throw new TypeError("target must be an object");e=e||new FormData,t=S.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,v){return!S.isUndefined(v[m])});const i=t.metaTokens,s=t.visitor||d,n=t.dots,a=t.indexes,h=(t.Blob||typeof Blob<"u"&&Blob)&&S.isSpecCompliantForm(e);if(!S.isFunction(s))throw new TypeError("visitor must be a function");function l(f){if(f===null)return"";if(S.isDate(f))return f.toISOString();if(!h&&S.isBlob(f))throw new ie("Blob is not supported. Use a Buffer instead.");return S.isArrayBuffer(f)||S.isTypedArray(f)?h&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function d(f,m,v){let _=f;if(f&&!v&&typeof f=="object"){if(S.endsWith(m,"{}"))m=i?m:m.slice(0,-2),f=JSON.stringify(f);else if(S.isArray(f)&&bp(f)||(S.isFileList(f)||S.endsWith(m,"[]"))&&(_=S.toArray(f)))return m=bl(m),_.forEach(function(b,T){!(S.isUndefined(b)||b===null)&&e.append(a===!0?ca([m],T,n):a===null?m:m+"[]",l(b))}),!1}return Vs(f)?!0:(e.append(ca(v,m,n),l(f)),!1)}const u=[],c=Object.assign(_p,{defaultVisitor:d,convertValue:l,isVisitable:Vs});function p(f,m){if(!S.isUndefined(f)){if(u.indexOf(f)!==-1)throw Error("Circular reference detected in "+m.join("."));u.push(f),S.forEach(f,function(_,w){(!(S.isUndefined(_)||_===null)&&s.call(e,_,S.isString(w)?w.trim():w,m,c))===!0&&p(_,m?m.concat(w):[w])}),u.pop()}}if(!S.isObject(r))throw new TypeError("data must be an object");return p(r),e}function fa(r){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(r).replace(/[!'()~]|%20|%00/g,function(i){return e[i]})}function pn(r,e){this._pairs=[],r&&ts(r,this,e)}const _l=pn.prototype;_l.append=function(e,t){this._pairs.push([e,t])};_l.toString=function(e){const t=e?function(i){return e.call(this,i,fa)}:fa;return this._pairs.map(function(s){return t(s[0])+"="+t(s[1])},"").join("&")};function wp(r){return encodeURIComponent(r).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function wl(r,e,t){if(!e)return r;const i=t&&t.encode||wp,s=t&&t.serialize;let n;if(s?n=s(e,t):n=S.isURLSearchParams(e)?e.toString():new pn(e,t).toString(i),n){const a=r.indexOf("#");a!==-1&&(r=r.slice(0,a)),r+=(r.indexOf("?")===-1?"?":"&")+n}return r}class Sp{constructor(){this.handlers=[]}use(e,t,i){return this.handlers.push({fulfilled:e,rejected:t,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){S.forEach(this.handlers,function(i){i!==null&&e(i)})}}const pa=Sp,Sl={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Tp=typeof URLSearchParams<"u"?URLSearchParams:pn,Cp=typeof FormData<"u"?FormData:null,Ep=(()=>{let r;return typeof navigator<"u"&&((r=navigator.product)==="ReactNative"||r==="NativeScript"||r==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),kp=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),tt={isBrowser:!0,classes:{URLSearchParams:Tp,FormData:Cp,Blob},isStandardBrowserEnv:Ep,isStandardBrowserWebWorkerEnv:kp,protocols:["http","https","file","blob","url","data"]};function xp(r,e){return ts(r,new tt.classes.URLSearchParams,Object.assign({visitor:function(t,i,s,n){return tt.isNode&&S.isBuffer(t)?(this.append(i,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}function Pp(r){return S.matchAll(/\w+|\[(\w*)]/g,r).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Ap(r){const e={},t=Object.keys(r);let i;const s=t.length;let n;for(i=0;i<s;i++)n=t[i],e[n]=r[n];return e}function Tl(r){function e(t,i,s,n){let a=t[n++];const o=Number.isFinite(+a),h=n>=t.length;return a=!a&&S.isArray(s)?s.length:a,h?(S.hasOwnProp(s,a)?s[a]=[s[a],i]:s[a]=i,!o):((!s[a]||!S.isObject(s[a]))&&(s[a]=[]),e(t,i,s[a],n)&&S.isArray(s[a])&&(s[a]=Ap(s[a])),!o)}if(S.isFormData(r)&&S.isFunction(r.entries)){const t={};return S.forEachEntry(r,(i,s)=>{e(Pp(i),s,t,0)}),t}return null}const Op={"Content-Type":void 0};function Mp(r,e,t){if(S.isString(r))try{return(e||JSON.parse)(r),S.trim(r)}catch(i){if(i.name!=="SyntaxError")throw i}return(t||JSON.stringify)(r)}const is={transitional:Sl,adapter:["xhr","http"],transformRequest:[function(e,t){const i=t.getContentType()||"",s=i.indexOf("application/json")>-1,n=S.isObject(e);if(n&&S.isHTMLForm(e)&&(e=new FormData(e)),S.isFormData(e))return s&&s?JSON.stringify(Tl(e)):e;if(S.isArrayBuffer(e)||S.isBuffer(e)||S.isStream(e)||S.isFile(e)||S.isBlob(e))return e;if(S.isArrayBufferView(e))return e.buffer;if(S.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(n){if(i.indexOf("application/x-www-form-urlencoded")>-1)return xp(e,this.formSerializer).toString();if((o=S.isFileList(e))||i.indexOf("multipart/form-data")>-1){const h=this.env&&this.env.FormData;return ts(o?{"files[]":e}:e,h&&new h,this.formSerializer)}}return n||s?(t.setContentType("application/json",!1),Mp(e)):e}],transformResponse:[function(e){const t=this.transitional||is.transitional,i=t&&t.forcedJSONParsing,s=this.responseType==="json";if(e&&S.isString(e)&&(i&&!this.responseType||s)){const a=!(t&&t.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(o){if(a)throw o.name==="SyntaxError"?ie.from(o,ie.ERR_BAD_RESPONSE,this,null,this.response):o}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:tt.classes.FormData,Blob:tt.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};S.forEach(["delete","get","head"],function(e){is.headers[e]={}});S.forEach(["post","put","patch"],function(e){is.headers[e]=S.merge(Op)});const mn=is,Lp=S.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Rp=r=>{const e={};let t,i,s;return r&&r.split(`
11
11
  `).forEach(function(a){s=a.indexOf(":"),t=a.substring(0,s).trim().toLowerCase(),i=a.substring(s+1).trim(),!(!t||e[t]&&Lp[t])&&(t==="set-cookie"?e[t]?e[t].push(i):e[t]=[i]:e[t]=e[t]?e[t]+", "+i:i)}),e},ma=Symbol("internals");function Ci(r){return r&&String(r).trim().toLowerCase()}function Cr(r){return r===!1||r==null?r:S.isArray(r)?r.map(Cr):String(r)}function Ip(r){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=t.exec(r);)e[i[1]]=i[2];return e}function Np(r){return/^[-_a-zA-Z]+$/.test(r.trim())}function vs(r,e,t,i,s){if(S.isFunction(i))return i.call(this,e,t);if(s&&(e=t),!!S.isString(e)){if(S.isString(i))return e.indexOf(i)!==-1;if(S.isRegExp(i))return i.test(e)}}function Gp(r){return r.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,i)=>t.toUpperCase()+i)}function Dp(r,e){const t=S.toCamelCase(" "+e);["get","set","has"].forEach(i=>{Object.defineProperty(r,i+t,{value:function(s,n,a){return this[i].call(this,e,s,n,a)},configurable:!0})})}class rs{constructor(e){e&&this.set(e)}set(e,t,i){const s=this;function n(o,h,l){const d=Ci(h);if(!d)throw new Error("header name must be a non-empty string");const u=S.findKey(s,d);(!u||s[u]===void 0||l===!0||l===void 0&&s[u]!==!1)&&(s[u||h]=Cr(o))}const a=(o,h)=>S.forEach(o,(l,d)=>n(l,d,h));return S.isPlainObject(e)||e instanceof this.constructor?a(e,t):S.isString(e)&&(e=e.trim())&&!Np(e)?a(Rp(e),t):e!=null&&n(t,e,i),this}get(e,t){if(e=Ci(e),e){const i=S.findKey(this,e);if(i){const s=this[i];if(!t)return s;if(t===!0)return Ip(s);if(S.isFunction(t))return t.call(this,s,i);if(S.isRegExp(t))return t.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Ci(e),e){const i=S.findKey(this,e);return!!(i&&this[i]!==void 0&&(!t||vs(this,this[i],i,t)))}return!1}delete(e,t){const i=this;let s=!1;function n(a){if(a=Ci(a),a){const o=S.findKey(i,a);o&&(!t||vs(i,i[o],o,t))&&(delete i[o],s=!0)}}return S.isArray(e)?e.forEach(n):n(e),s}clear(e){const t=Object.keys(this);let i=t.length,s=!1;for(;i--;){const n=t[i];(!e||vs(this,this[n],n,e,!0))&&(delete this[n],s=!0)}return s}normalize(e){const t=this,i={};return S.forEach(this,(s,n)=>{const a=S.findKey(i,n);if(a){t[a]=Cr(s),delete t[n];return}const o=e?Gp(n):String(n).trim();o!==n&&delete t[n],t[o]=Cr(s),i[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return S.forEach(this,(i,s)=>{i!=null&&i!==!1&&(t[s]=e&&S.isArray(i)?i.join(", "):i)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(`
12
12
  `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const i=new this(e);return t.forEach(s=>i.set(s)),i}static accessor(e){const i=(this[ma]=this[ma]={accessors:{}}).accessors,s=this.prototype;function n(a){const o=Ci(a);i[o]||(Dp(s,a),i[o]=!0)}return S.isArray(e)?e.forEach(n):n(e),this}}rs.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);S.freezeMethods(rs.prototype);S.freezeMethods(rs);const pt=rs;function ys(r,e){const t=this||mn,i=e||t,s=pt.from(i.headers);let n=i.data;return S.forEach(r,function(o){n=o.call(t,n,s.normalize(),e?e.status:void 0)}),s.normalize(),n}function Cl(r){return!!(r&&r.__CANCEL__)}function ir(r,e,t){ie.call(this,r??"canceled",ie.ERR_CANCELED,e,t),this.name="CanceledError"}S.inherits(ir,ie,{__CANCEL__:!0});function Fp(r,e,t){const i=t.config.validateStatus;!t.status||!i||i(t.status)?r(t):e(new ie("Request failed with status code "+t.status,[ie.ERR_BAD_REQUEST,ie.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}const Hp=tt.isStandardBrowserEnv?function(){return{write:function(t,i,s,n,a,o){const h=[];h.push(t+"="+encodeURIComponent(i)),S.isNumber(s)&&h.push("expires="+new Date(s).toGMTString()),S.isString(n)&&h.push("path="+n),S.isString(a)&&h.push("domain="+a),o===!0&&h.push("secure"),document.cookie=h.join("; ")},read:function(t){const i=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return i?decodeURIComponent(i[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function Bp(r){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r)}function $p(r,e){return e?r.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):r}function El(r,e){return r&&!Bp(e)?$p(r,e):e}const Vp=tt.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let i;function s(n){let a=n;return e&&(t.setAttribute("href",a),a=t.href),t.setAttribute("href",a),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return i=s(window.location.href),function(a){const o=S.isString(a)?s(a):a;return o.protocol===i.protocol&&o.host===i.host}}():function(){return function(){return!0}}();function zp(r){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(r);return e&&e[1]||""}function Wp(r,e){r=r||10;const t=new Array(r),i=new Array(r);let s=0,n=0,a;return e=e!==void 0?e:1e3,function(h){const l=Date.now(),d=i[n];a||(a=l),t[s]=h,i[s]=l;let u=n,c=0;for(;u!==s;)c+=t[u++],u=u%r;if(s=(s+1)%r,s===n&&(n=(n+1)%r),l-a<e)return;const p=d&&l-d;return p?Math.round(c*1e3/p):void 0}}function ga(r,e){let t=0;const i=Wp(50,250);return s=>{const n=s.loaded,a=s.lengthComputable?s.total:void 0,o=n-t,h=i(o),l=n<=a;t=n;const d={loaded:n,total:a,progress:a?n/a:void 0,bytes:o,rate:h||void 0,estimated:h&&a&&l?(a-n)/h:void 0,event:s};d[e?"download":"upload"]=!0,r(d)}}const Up=typeof XMLHttpRequest<"u",Zp=Up&&function(r){return new Promise(function(t,i){let s=r.data;const n=pt.from(r.headers).normalize(),a=r.responseType;let o;function h(){r.cancelToken&&r.cancelToken.unsubscribe(o),r.signal&&r.signal.removeEventListener("abort",o)}S.isFormData(s)&&(tt.isStandardBrowserEnv||tt.isStandardBrowserWebWorkerEnv)&&n.setContentType(!1);let l=new XMLHttpRequest;if(r.auth){const p=r.auth.username||"",f=r.auth.password?unescape(encodeURIComponent(r.auth.password)):"";n.set("Authorization","Basic "+btoa(p+":"+f))}const d=El(r.baseURL,r.url);l.open(r.method.toUpperCase(),wl(d,r.params,r.paramsSerializer),!0),l.timeout=r.timeout;function u(){if(!l)return;const p=pt.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),m={data:!a||a==="text"||a==="json"?l.responseText:l.response,status:l.status,statusText:l.statusText,headers:p,config:r,request:l};Fp(function(_){t(_),h()},function(_){i(_),h()},m),l=null}if("onloadend"in l?l.onloadend=u:l.onreadystatechange=function(){!l||l.readyState!==4||l.status===0&&!(l.responseURL&&l.responseURL.indexOf("file:")===0)||setTimeout(u)},l.onabort=function(){l&&(i(new ie("Request aborted",ie.ECONNABORTED,r,l)),l=null)},l.onerror=function(){i(new ie("Network Error",ie.ERR_NETWORK,r,l)),l=null},l.ontimeout=function(){let f=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const m=r.transitional||Sl;r.timeoutErrorMessage&&(f=r.timeoutErrorMessage),i(new ie(f,m.clarifyTimeoutError?ie.ETIMEDOUT:ie.ECONNABORTED,r,l)),l=null},tt.isStandardBrowserEnv){const p=(r.withCredentials||Vp(d))&&r.xsrfCookieName&&Hp.read(r.xsrfCookieName);p&&n.set(r.xsrfHeaderName,p)}s===void 0&&n.setContentType(null),"setRequestHeader"in l&&S.forEach(n.toJSON(),function(f,m){l.setRequestHeader(m,f)}),S.isUndefined(r.withCredentials)||(l.withCredentials=!!r.withCredentials),a&&a!=="json"&&(l.responseType=r.responseType),typeof r.onDownloadProgress=="function"&&l.addEventListener("progress",ga(r.onDownloadProgress,!0)),typeof r.onUploadProgress=="function"&&l.upload&&l.upload.addEventListener("progress",ga(r.onUploadProgress)),(r.cancelToken||r.signal)&&(o=p=>{l&&(i(!p||p.type?new ir(null,r,l):p),l.abort(),l=null)},r.cancelToken&&r.cancelToken.subscribe(o),r.signal&&(r.signal.aborted?o():r.signal.addEventListener("abort",o)));const c=zp(d);if(c&&tt.protocols.indexOf(c)===-1){i(new ie("Unsupported protocol "+c+":",ie.ERR_BAD_REQUEST,r));return}l.send(s||null)})},Er={http:yp,xhr:Zp};S.forEach(Er,(r,e)=>{if(r){try{Object.defineProperty(r,"name",{value:e})}catch{}Object.defineProperty(r,"adapterName",{value:e})}});const jp={getAdapter:r=>{r=S.isArray(r)?r:[r];const{length:e}=r;let t,i;for(let s=0;s<e&&(t=r[s],!(i=S.isString(t)?Er[t.toLowerCase()]:t));s++);if(!i)throw i===!1?new ie(`Adapter ${t} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(S.hasOwnProp(Er,t)?`Adapter '${t}' is not available in the build`:`Unknown adapter '${t}'`);if(!S.isFunction(i))throw new TypeError("adapter is not a function");return i},adapters:Er};function bs(r){if(r.cancelToken&&r.cancelToken.throwIfRequested(),r.signal&&r.signal.aborted)throw new ir(null,r)}function va(r){return bs(r),r.headers=pt.from(r.headers),r.data=ys.call(r,r.transformRequest),["post","put","patch"].indexOf(r.method)!==-1&&r.headers.setContentType("application/x-www-form-urlencoded",!1),jp.getAdapter(r.adapter||mn.adapter)(r).then(function(i){return bs(r),i.data=ys.call(r,r.transformResponse,i),i.headers=pt.from(i.headers),i},function(i){return Cl(i)||(bs(r),i&&i.response&&(i.response.data=ys.call(r,r.transformResponse,i.response),i.response.headers=pt.from(i.response.headers))),Promise.reject(i)})}const ya=r=>r instanceof pt?r.toJSON():r;function fi(r,e){e=e||{};const t={};function i(l,d,u){return S.isPlainObject(l)&&S.isPlainObject(d)?S.merge.call({caseless:u},l,d):S.isPlainObject(d)?S.merge({},d):S.isArray(d)?d.slice():d}function s(l,d,u){if(S.isUndefined(d)){if(!S.isUndefined(l))return i(void 0,l,u)}else return i(l,d,u)}function n(l,d){if(!S.isUndefined(d))return i(void 0,d)}function a(l,d){if(S.isUndefined(d)){if(!S.isUndefined(l))return i(void 0,l)}else return i(void 0,d)}function o(l,d,u){if(u in e)return i(l,d);if(u in r)return i(void 0,l)}const h={url:n,method:n,data:n,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:o,headers:(l,d)=>s(ya(l),ya(d),!0)};return S.forEach(Object.keys(r).concat(Object.keys(e)),function(d){const u=h[d]||s,c=u(r[d],e[d],d);S.isUndefined(c)&&u!==o||(t[d]=c)}),t}const kl="1.3.3",gn={};["object","boolean","number","function","string","symbol"].forEach((r,e)=>{gn[r]=function(i){return typeof i===r||"a"+(e<1?"n ":" ")+r}});const ba={};gn.transitional=function(e,t,i){function s(n,a){return"[Axios v"+kl+"] Transitional option '"+n+"'"+a+(i?". "+i:"")}return(n,a,o)=>{if(e===!1)throw new ie(s(a," has been removed"+(t?" in "+t:"")),ie.ERR_DEPRECATED);return t&&!ba[a]&&(ba[a]=!0,console.warn(s(a," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(n,a,o):!0}};function Xp(r,e,t){if(typeof r!="object")throw new ie("options must be an object",ie.ERR_BAD_OPTION_VALUE);const i=Object.keys(r);let s=i.length;for(;s-- >0;){const n=i[s],a=e[n];if(a){const o=r[n],h=o===void 0||a(o,n,r);if(h!==!0)throw new ie("option "+n+" must be "+h,ie.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new ie("Unknown option "+n,ie.ERR_BAD_OPTION)}}const zs={assertOptions:Xp,validators:gn},Ct=zs.validators;class Wr{constructor(e){this.defaults=e,this.interceptors={request:new pa,response:new pa}}request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=fi(this.defaults,t);const{transitional:i,paramsSerializer:s,headers:n}=t;i!==void 0&&zs.assertOptions(i,{silentJSONParsing:Ct.transitional(Ct.boolean),forcedJSONParsing:Ct.transitional(Ct.boolean),clarifyTimeoutError:Ct.transitional(Ct.boolean)},!1),s!==void 0&&zs.assertOptions(s,{encode:Ct.function,serialize:Ct.function},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let a;a=n&&S.merge(n.common,n[t.method]),a&&S.forEach(["delete","get","head","post","put","patch","common"],f=>{delete n[f]}),t.headers=pt.concat(a,n);const o=[];let h=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(t)===!1||(h=h&&m.synchronous,o.unshift(m.fulfilled,m.rejected))});const l=[];this.interceptors.response.forEach(function(m){l.push(m.fulfilled,m.rejected)});let d,u=0,c;if(!h){const f=[va.bind(this),void 0];for(f.unshift.apply(f,o),f.push.apply(f,l),c=f.length,d=Promise.resolve(t);u<c;)d=d.then(f[u++],f[u++]);return d}c=o.length;let p=t;for(u=0;u<c;){const f=o[u++],m=o[u++];try{p=f(p)}catch(v){m.call(this,v);break}}try{d=va.call(this,p)}catch(f){return Promise.reject(f)}for(u=0,c=l.length;u<c;)d=d.then(l[u++],l[u++]);return d}getUri(e){e=fi(this.defaults,e);const t=El(e.baseURL,e.url);return wl(t,e.params,e.paramsSerializer)}}S.forEach(["delete","get","head","options"],function(e){Wr.prototype[e]=function(t,i){return this.request(fi(i||{},{method:e,url:t,data:(i||{}).data}))}});S.forEach(["post","put","patch"],function(e){function t(i){return function(n,a,o){return this.request(fi(o||{},{method:e,headers:i?{"Content-Type":"multipart/form-data"}:{},url:n,data:a}))}}Wr.prototype[e]=t(),Wr.prototype[e+"Form"]=t(!0)});const kr=Wr;class vn{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(n){t=n});const i=this;this.promise.then(s=>{if(!i._listeners)return;let n=i._listeners.length;for(;n-- >0;)i._listeners[n](s);i._listeners=null}),this.promise.then=s=>{let n;const a=new Promise(o=>{i.subscribe(o),n=o}).then(s);return a.cancel=function(){i.unsubscribe(n)},a},e(function(n,a,o){i.reason||(i.reason=new ir(n,a,o),t(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new vn(function(s){e=s}),cancel:e}}}const qp=vn;function Yp(r){return function(t){return r.apply(null,t)}}function Kp(r){return S.isObject(r)&&r.isAxiosError===!0}const Ws={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ws).forEach(([r,e])=>{Ws[e]=r});const Jp=Ws;function xl(r){const e=new kr(r),t=ll(kr.prototype.request,e);return S.extend(t,kr.prototype,e,{allOwnKeys:!0}),S.extend(t,e,null,{allOwnKeys:!0}),t.create=function(s){return xl(fi(r,s))},t}const Te=xl(mn);Te.Axios=kr;Te.CanceledError=ir;Te.CancelToken=qp;Te.isCancel=Cl;Te.VERSION=kl;Te.toFormData=ts;Te.AxiosError=ie;Te.Cancel=Te.CanceledError;Te.all=function(e){return Promise.all(e)};Te.spread=Yp;Te.isAxiosError=Kp;Te.mergeConfig=fi;Te.AxiosHeaders=pt;Te.formToJSON=r=>Tl(S.isHTMLForm(r)?new FormData(r):r);Te.HttpStatusCode=Jp;Te.default=Te;const _a=Te;function Qp(r,e){return e!=null?_a.get(r,e):_a.get(r)}function He(r,e){this.message=r,this.error=e}He.prototype=Object.create(Error.prototype);const yn=/([0-9]+)?:?([0-9]{2}):([0-9]{2}\.[0-9]{2,3})/;function em(r,e){e||(e={});const{meta:t=!1,strict:i=!0}=e;if(typeof r!="string")throw new He("Input must be a string");r=r.trim(),r=r.replace(/\r\n/g,`
13
13
  `),r=r.replace(/\r/g,`
@@ -44,7 +44,7 @@ ${Ll(i)}`)}),e.join(`
44
44
  `)}function ym(r){let e=0;return r.forEach(t=>{t.duration>e&&(e=t.duration)}),e}function bm(r){const e=[];return r.forEach(t=>{e.push(_m(t))}),e.join(`
45
45
 
46
46
  `)}function _m(r){const e=[];r.identifier&&e.push(r.identifier);const t=Ca(r.start),i=Ca(r.end),s=r.styles?`${r.styles}`:"";return e.push(`${t} --> ${i} ${s}`),e.push(r.text),e.join(`
47
- `)}function Ca(r){const e=(r%1).toFixed(3);r=Math.round(r-e);const t=Math.floor(r/3600),i=Math.floor((r-t*3600)/60),s=r-t*3600-i*60;return`${`${gr(t,2)}:`}${gr(i,2)}:${gr(s,2)}.${gr(e*1e3,3)}`}var wm={hlsSegment:mm,hlsSegmentPlaylist:gm};const Sm=Pl.parse,Tm=dm.compile,Cm=Ol.segment,Em=wm;var km={parse:Sm,compile:Tm,segment:Cm,hls:Em};class bn{constructor(e,t){this.cues=new Map,this.cuesKeysSorted=[],this.url=e,this.axiosConfig=t}fetch(){return Ki(Qp(this.getUrl(),this.axiosConfig)).pipe(ke(e=>{let t=e.data;try{return km.parse(t,{strict:!0,meta:!0}).cues.forEach(s=>{let n=this.mapCue(s);this.cues.set(n.startTime,n),this.cuesKeysSorted.push(n.startTime)}),this.cuesKeysSorted.sort((s,n)=>s-n),!0}catch(i){return console.error(i),!1}}))}getUrl(){return this.url}hasCues(){return this.cues&&this.cues.size>0}findCue(e){let t=this.findCues(e,e);if(t&&t.length===1)return t[0]}findCues(e,t){let i=this.findCueIndex(e),s=this.findCueIndex(t);return s===-1?[]:this.cuesKeysSorted.slice(i,s+1).map(n=>this.cues.get(n))}getCues(){return[...this.cues.values()]}findCueIndex(e){let t=0,i=this.cuesKeysSorted.length-1;for(;t<=i;){const s=Math.floor((t+i)/2);if(this.cuesKeysSorted[s]===e)return s;this.cuesKeysSorted[s]<e?t=s+1:i=s-1}return i===-1&&(i=0),i}}class _n extends bn{constructor(e,t){super(e,t)}static create(e,t){let i=new _n(e,t);return i.fetch().pipe(ke(s=>i))}mapCue(e){return{id:e.identifier,startTime:new Z(e.start).toDecimalPlaces(3).toNumber(),endTime:new Z(e.end).toDecimalPlaces(3).toNumber(),text:e.text}}}const Ea={listening:!0,style:{height:20,fill:"rgba(255,73,145)",opacity:1,visible:!0}};class xm extends Je{constructor(e,t){super({...Ea,...e,style:{...Ea.style,...e.style}}),this.textTrackCue=this.config.textTrackCue,this.x=this.config.x,this.width=this.config.width,this.listening=this.config.listening,this.subtitlesLane=t,this.subtitlesLane.onSettleLayout$.pipe(I(this.onDestroy$)).subscribe(()=>{let i=this.subtitlesLane.resolveItemHorizontalMeasurement(this.getTextTrackCue());this.setHorizontalMeasurement(i)})}createCanvasNode(){return this.group=new A.Group({x:this.x,y:0,width:this.width,height:this.style.height,visible:this.style.visible,listening:this.listening}),this.backgroundRect=new A.Rect({x:0,y:0,width:this.group.width(),height:this.group.height(),fill:this.style.fill,opacity:this.style.opacity,perfectDrawEnabled:!1,shadowForStrokeEnabled:!1,hitStrokeWidth:0}),this.group.add(this.backgroundRect),this.group}onMeasurementsChange(){this.backgroundRect.size(this.group.getSize())}setPosition(e){this.x=e.x,this.isInitialized()&&this.group.position({x:this.x,y:0})}getPosition(){return this.group.getPosition()}getDimension(){return this.group.getSize()}getRect(){return{...this.getPosition(),...this.getDimension()}}getHorizontalMeasurement(){return{x:this.x,width:this.width}}setHorizontalMeasurement(e){this.x=e.x,this.width=e.width,this.isInitialized()&&this.group.setAttrs({x:this.x,width:this.width}),this.onMeasurementsChange()}setVisible(e){this.style={visible:e},this.isInitialized()&&this.group.visible(e)}getTextTrackCue(){return this.textTrackCue}setTextTrackCue(e){this.textTrackCue=e}compareTo(e){return this.textTrackCue&&e&&this.getTextTrackCue().id===e.getTextTrackCue().id&&this.getTextTrackCue().startTime===e.getTextTrackCue().startTime&&this.getTextTrackCue().endTime===e.getTextTrackCue().endTime?0:-1}}const Pm={...Qi,height:40,paddingTop:0,paddingBottom:0,subtitlesLaneItemOpacity:.9,subtitlesLaneItemFill:"rgba(255,73,145)"};class Us extends er{constructor(e){super({...e,style:{...Pm,...e.style}}),this.subtitlesLaneItemsMap=new Map,this.onSettleLayout$=new V,this._subtitlesVttUrl=this.config.subtitlesVttUrl}createCanvasNode(){return super.createCanvasNode(),this.timecodedGroup=new A.Group({...this.timelinePosition,width:this.timeline.getTimecodedGroupDimension().width,height:this.bodyGroup.height()}),this.timecodedEventCatcher=yi.createEventCatcher({width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.subtitlesLaneItemsGroup=new A.Group({...F.POSITION_TOP_LEFT,y:this.style.paddingTop,width:this.timecodedGroup.width(),height:this.timecodedGroup.height()-(this.style.paddingTop+this.style.paddingBottom)}),this.timecodedGroup.add(this.timecodedEventCatcher),this.timecodedGroup.add(this.subtitlesLaneItemsGroup),this.timeline.addToTimecodedSubtitlesGroup(this.timecodedGroup),this.bodyGroup}settleLayout(){super.settleLayout(),this.timecodedGroup.setAttrs({...this.timelinePosition});let e=this.timeline.getTimecodedGroupHorizontalMeasurement();[this.timecodedGroup,this.timecodedEventCatcher,this.subtitlesLaneItemsGroup].forEach(t=>{t.width(e.width)}),this.onSettleLayout$.next()}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.fetchAndCreateSubtitles()}clearContent(){this.subtitlesVttFile=void 0,this.clearItems()}clearItems(){this.subtitlesLaneItemsMap.forEach(e=>e.destroy()),this.subtitlesLaneItemsMap.clear(),this.subtitlesLaneItemsGroup.destroyChildren()}createEntities(){if(!this.isVttLoaded())return;this.clearItems(),this.subtitlesVttFile.getCues().forEach(t=>{let i=this.resolveItemHorizontalMeasurement(t),s=new xm({...i,textTrackCue:t,style:{height:this.subtitlesLaneItemsGroup.height(),fill:this.style.subtitlesLaneItemFill,opacity:this.style.subtitlesLaneItemOpacity}},this);this.subtitlesLaneItemsMap.set(t.startTime,s),this.subtitlesLaneItemsGroup.add(s.initCanvasNode())})}resolveItemHorizontalMeasurement(e){let t=this.timeline.constrainTimelinePosition(this.timeline.timeToTimelinePosition(e.startTime)),i=this.timeline.constrainTimelinePosition(this.timeline.timeToTimelinePosition(e.endTime));return{x:t,width:i-t}}fetchAndCreateSubtitles(){this.fetchSubtitlesVttFile(this._subtitlesVttUrl).pipe(ct(1)).subscribe(e=>{this.subtitlesVttFile=e,this.createEntities()})}fetchSubtitlesVttFile(e){return e?_n.create(e).pipe(ke(t=>t),gi((t,i)=>Ee(void 0))):Ee(void 0)}isVttLoaded(){return!!this.subtitlesVttFile}get subtitlesVttUrl(){return this._subtitlesVttUrl}set subtitlesVttUrl(e){this._subtitlesVttUrl=e,this.clearContent(),this.fetchAndCreateSubtitles()}}const Am={listening:!1,style:{...F.POSITION_TOP_LEFT,...F.DIMENSION_ZERO,stroke:"rgba(255,73,145)",strokeWidth:5,visible:!1}};class Zs extends Je{constructor(e){super(vi(e,Am)),this.onClick$=new V,this.onMouseOver$=new V,this.onMouseMove$=new V,this.onMouseOut$=new V,this.onMouseLeave$=new V,this.listening=this.config.listening}createCanvasNode(){return this.group=new A.Group({x:this.style.x,y:this.style.y,width:this.style.width,height:this.style.height,visible:this.style.visible,listening:this.listening}),this.backgroundRect=new A.Rect({x:0,y:0,width:this.group.width(),height:this.group.height(),strokeWidth:this.style.strokeWidth,stroke:this.style.stroke}),this.group.add(this.backgroundRect),this.group}afterCanvasNodeInit(){this.group.on("click",e=>{this.onClick$.next({thumbnail:this})}),this.group.on("mouseover",e=>{this.onMouseOver$.next({thumbnail:this})}),this.group.on("mousemove",e=>{this.onMouseMove$.next({thumbnail:this})}),this.group.on("mouseout",e=>{this.onMouseOut$.next({thumbnail:this})}),this.group.on("mouseleave",e=>{this.onMouseLeave$.next({thumbnail:this})})}destroy(){super.destroy()}onMeasurementsChange(){this.backgroundRect.size(this.group.getSize())}setImage(e){this.image&&this.image.destroy(),this.image=e,this.style={width:e.width(),height:e.height()},this.group.setAttrs({...this.image.getSize()}),this.backgroundRect.setAttrs({...this.image.getSize()}),this.group.add(this.image)}setVisible(e){this.style={visible:e},this.isInitialized()&&this.group.visible(e)}setPosition(e){this.style={...e},this.isInitialized()&&this.group.position(e)}setVisibleAndX(e,t){this.style={visible:e,x:t},this.isInitialized()&&this.group.setAttrs({visible:e,x:t})}getPosition(){return this.group.getPosition()}getDimension(){return this.group.getSize()}setDimension(e){this.style={...e},this.isInitialized()&&this.group.size(e),this.onMeasurementsChange()}getRect(){return{...this.getPosition(),...this.getDimension()}}getThumbnailVttCue(){return this.thumbnailVttCue}setThumbnailVttCue(e){this.thumbnailVttCue=e}getImage(){return this.image}compareTo(e){return this.thumbnailVttCue&&e&&this.thumbnailVttCue.url===e.thumbnailVttCue.url?0:-1}}class ss extends bn{constructor(e,t){super(e,t)}static create(e,t){let i=new ss(e,t);return i.fetch().pipe(ke(s=>i))}mapCue(e){return{id:e.identifier,startTime:new Z(e.start).toDecimalPlaces(3).toNumber(),endTime:new Z(e.end).toDecimalPlaces(3).toNumber(),text:e.text,url:this.resolveThumbnailUrl(e)}}resolveThumbnailUrl(e){return this.isUrlAbsolute(e.text)?e.text:this.createThumbnailUrlFromRelativeUrl(e.text)}createThumbnailUrlFromRelativeUrl(e){return this.url.lastIndexOf("/")>2?`${this.url.substring(0,this.url.lastIndexOf("/"))}/${e}`:e}isUrlAbsolute(e){return/^(http(s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/.test(e)}}class dt{static createKonvaImage(e){return new se(t=>{A.Image.fromURL(e,i=>{t.next(i),t.complete()},i=>{console.error(i),t.error(i)})})}static createKonvaImageSizedByWidth(e,t){return dt.createKonvaImage(e).pipe(ke(i=>(i.setAttrs({width:t,height:dt.calculateProportionalHeight(t,i)}),i)))}static createKonvaImageSizedByHeight(e,t){return dt.createKonvaImage(e).pipe(ke(i=>(i.setAttrs({width:dt.calculateProportionalWidth(t,i),height:t}),i)))}static calculateProportionalHeight(e,t){return e*t.getAttrs().image.naturalHeight/t.getAttrs().image.naturalWidth}static calculateProportionalWidth(e,t){return e*t.getAttrs().image.naturalWidth/t.getAttrs().image.naturalHeight}}const Om={...Qi,thumbnailHeight:40,thumbnailStroke:"rgba(121,0,255,0.9)",thumbnailStrokeWidth:0,thumbnailHoverScale:1.5,thumbnailHoverStroke:"rgba(0,255,188,0.9)",thumbnailHoverStrokeWidth:5};class js extends er{constructor(e){super({...e,style:{...Om,...e.style}}),this.thumbnailsMap=new Map,this.thumbnailsVisibleSet=new Set,this.onSettleLayout$=new V,this.eventStreamBreaker$=new V,this.onClick$=new V,this._thumbnailVttUrl=this.config.thumbnailVttUrl,this._axiosConfig=this.config.axiosConfig}createCanvasNode(){return super.createCanvasNode(),this.timecodedGroup=new A.Group({...this.timelinePosition,width:this.timeline.getTimecodedGroupDimension().width,height:this.bodyGroup.height()}),this.timecodedEventCatcher=yi.createEventCatcher({width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.thumbnailsGroup=new A.Group({x:0,y:this.style.height/2-this.style.thumbnailHeight/2,width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.timecodedGroup.add(this.timecodedEventCatcher),this.timecodedGroup.add(this.thumbnailsGroup),this.timeline.addToTimecodedThumbnailsGroup(this.timecodedGroup),this.thumbnailHover=new Zs({style:{visible:!1,stroke:this.style.thumbnailHoverStroke,strokeWidth:this.style.thumbnailHoverStrokeWidth}}),this.timeline.addToTimecodedSurfaceGroup(this.thumbnailHover.initCanvasNode()),this.bodyGroup}settleLayout(){super.settleLayout(),this.timecodedGroup.setAttrs({...this.timelinePosition});let e=this.timeline.getTimecodedGroupHorizontalMeasurement();[this.timecodedGroup,this.timecodedEventCatcher,this.thumbnailsGroup].forEach(t=>{t.width(e.width)}),this.onSettleLayout$.next()}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.fetchAndCreateThumbnails(),this.onSettleLayout$.pipe(I(this.onDestroy$)).subscribe(()=>{this.hideThumbnailHover(),this.adjustThumbnails()}),this.onSettleLayout$.pipe(I(this.onDestroy$)).pipe(Io(100)).subscribe(()=>{this.createAndAdjustThumbnails()}),this.timecodedGroup.on("mouseout mouseleave",e=>{this.hideThumbnailHover()})}onMeasurementsChange(){super.onMeasurementsChange(),this.hideThumbnailHover(),this.createAndAdjustThumbnails()}destroy(){super.destroy(),this.timecodedGroup.destroy(),this.thumbnailHover.destroy(),this.fireEventStreamBreaker()}clearContent(){this.fireEventStreamBreaker(),this.thumbnailVttFile=void 0,this.clearItems()}clearItems(){this.thumbnailsMap.forEach(e=>e.destroy()),this.thumbnailsMap.clear(),this.thumbnailsVisibleSet.clear(),this.thumbnailsGroup.destroyChildren()}fireEventStreamBreaker(){this.eventStreamBreaker$&&(this.eventStreamBreaker$.next(),this.eventStreamBreaker$.complete()),this.eventStreamBreaker$=new V}createAndAdjustThumbnails(){this.isVttLoaded()&&(this.resolveVisibleTimestamps(),this.thumbnailVttFile.getCues().forEach(e=>{let t=this.timeline.timeToTimelinePosition(e.startTime),i=this.thumbnailsVisibleSet.has(e.startTime);if(this.timeline.constrainTimelinePosition(t)===t)if(this.thumbnailsMap.has(e.startTime)){let s=this.thumbnailsMap.get(e.startTime);s&&s.setVisibleAndX(i,t)}else i&&(this.thumbnailsMap.set(e.startTime,null),dt.createKonvaImageSizedByHeight(e.url,this.style.thumbnailHeight).subscribe(s=>{let n=this.thumbnailsVisibleSet.has(e.startTime),a=this.createThumbnail(e,s,n);this.thumbnailsMap.set(e.startTime,a),this.thumbnailsGroup.add(a.getCanvasNode())}))}))}adjustThumbnails(){this.isVttLoaded()&&(this.resolveVisibleTimestamps(),this.thumbnailsMap.forEach(e=>{if(e){let t=this.timeline.timeToTimelinePosition(e.getThumbnailVttCue().startTime),i=this.thumbnailsVisibleSet.has(e.getThumbnailVttCue().startTime);e.setVisibleAndX(i,t)}}))}resolveVisibleTimestamps(){let e;this.thumbnailVttFile.getCues().forEach(i=>{let s=this.timeline.timeToTimelinePosition(i.startTime);this.timeline.constrainTimelinePosition(s)===s&&((e?s>=e:!0)?(e=s+this.thumbnailWidth,this.thumbnailsVisibleSet.add(i.startTime)):this.thumbnailsVisibleSet.delete(i.startTime))})}createThumbnail(e,t,i){let s=this.timeline.timeToTimelinePosition(e.startTime),n=new Zs({listening:!0,style:{x:s,y:0,visible:i,stroke:this.style.thumbnailStroke,strokeWidth:this.style.thumbnailStrokeWidth}});return n.setThumbnailVttCue(e),n.initCanvasNode(),n.setImage(t),n.onClick$.pipe(I(this.eventStreamBreaker$)).subscribe(a=>{this.onClick$.next(a)}),n.onMouseOver$.pipe(I(this.eventStreamBreaker$)).subscribe(a=>{this.showThumbnailHover(a.thumbnail)}),n.onMouseMove$.pipe(I(this.eventStreamBreaker$)).subscribe(a=>{this.showThumbnailHover(a.thumbnail)}),n.onMouseOut$.pipe(I(this.eventStreamBreaker$)).subscribe(a=>{this.hideThumbnailHover()}),n.onMouseLeave$.pipe(I(this.eventStreamBreaker$)).subscribe(a=>{this.hideThumbnailHover()}),n}showThumbnailHover(e){if(this.thumbnailHover.setVisible(!0),this.thumbnailHover.compareTo(e)===0){let t=this.resolveThumbnailHoverPosition(e);this.thumbnailHover.setPosition(t),this.thumbnailHover.setVisible(!0)}else dt.createKonvaImageSizedByWidth(e.getThumbnailVttCue().url,e.getImage().width()*this.style.thumbnailHoverScale).subscribe(t=>{this.thumbnailHover.setDimension(t.getSize()),this.thumbnailHover.setImage(t),this.thumbnailHover.setPosition(this.resolveThumbnailHoverPosition(e)),this.thumbnailHover.getCanvasNode().moveToTop()})}hideThumbnailHover(){this.thumbnailHover&&this.thumbnailHover.style.visible&&this.thumbnailHover.setVisible(!1)}resolveThumbnailHoverPosition(e){let t=this.timeline.getTimecodedGroupRect(),i=this.thumbnailHover.getImage().getSize(),s=e.getPosition().x+e.getDimension().width/2-i.width/2,n=e.style.strokeWidth>0?e.style.strokeWidth/2:0;s=s-n<0?n:s+i.width+n>t.width?t.width-i.width-n:s;let h=this.getRect().y+this.thumbnailsGroup.y()+e.getDimension().height/2-this.thumbnailHover.getDimension().height/2;return{x:s,y:h}}fetchAndCreateThumbnails(){this.fetchThumbnailVttFile(this._thumbnailVttUrl,this._axiosConfig,this.style.thumbnailHeight).pipe(ct(1)).subscribe(e=>{e&&(this.thumbnailVttFile=e.thumbnailVttFile,this.thumbnailWidth=e.thumbnailWidth,this.createAndAdjustThumbnails())})}fetchThumbnailVttFile(e,t,i){return e?ss.create(e,t).pipe(Yu(s=>{let n=s.getCues()[0];return dt.createKonvaImageSizedByHeight(n.url,i).pipe(ke(a=>{let o=a.getSize().width;return{thumbnailVttFile:s,thumbnailWidth:o}}))}),gi((s,n)=>Ee(void 0))):Ee(void 0)}isVttLoaded(){return!!this.thumbnailVttFile&&!!this.thumbnailWidth}getThumbnailVttFile(){return this.thumbnailVttFile}get thumbnailVttUrl(){return this._thumbnailVttUrl}set thumbnailVttUrl(e){this._thumbnailVttUrl=e,this.clearContent(),this.fetchAndCreateThumbnails()}}class wn extends bn{constructor(e,t){super(e,t)}static create(e,t){let i=new wn(e,t);return i.fetch().pipe(ke(s=>i))}mapCue(e){let t=e.text.split(","),i=_e.coerce.number().min(-1).max(0).parse(t[0]),s=_e.coerce.number().min(0).max(1).parse(t[1]);return{id:e.identifier,startTime:new Z(e.start).toDecimalPlaces(3).toNumber(),endTime:new Z(e.end).toDecimalPlaces(3).toNumber(),text:e.text,minSample:i,maxSample:s}}}const ka={listening:!1,style:{height:20,cornerRadius:20,opacity:1,visible:!0,maxSampleFillLinearGradientColorStops:[0,"red",.2,"yellow",1,"green"],minSampleFillLinearGradientColorStops:[0,"green",.8,"yellow",1,"red"]}};class Mm extends Je{constructor(e){super({...ka,...e,style:{...ka.style,...e.style}}),this.audioVttCue=this.config.audioVttCue,this.x=this.config.x,this.width=this.config.width,this.listening=this.config.listening}createCanvasNode(){this.group=new A.Group({x:this.x,y:0,width:this.width,height:this.style.height,visible:this.style.visible,listening:this.listening});let e=this.style.height/2,t=this.resolveMaxSampleBarHeight(),i=this.resolveMinSampleBarHeight();return this.maxSampleBar=new A.Rect({x:0,width:this.group.width(),y:e-t,height:t,opacity:this.style.opacity,cornerRadius:[this.style.cornerRadius,this.style.cornerRadius,0,0],fillLinearGradientStartPoint:{x:0,y:-(e-t)},fillLinearGradientEndPoint:{x:0,y:t},fillLinearGradientColorStops:this.style.maxSampleFillLinearGradientColorStops,perfectDrawEnabled:!1,shadowForStrokeEnabled:!1,hitStrokeWidth:0}),this.minSampleBar=new A.Rect({x:0,width:this.group.width(),y:e,height:i,opacity:this.style.opacity,cornerRadius:[0,0,this.style.cornerRadius,this.style.cornerRadius],fillLinearGradientStartPoint:{x:0,y:0},fillLinearGradientEndPoint:{x:0,y:e},fillLinearGradientColorStops:this.style.minSampleFillLinearGradientColorStops,perfectDrawEnabled:!1,shadowForStrokeEnabled:!1,hitStrokeWidth:0}),this.group.add(this.maxSampleBar),this.group.add(this.minSampleBar),this.group}resolveMaxSampleBarHeight(){return new Z(this.audioVttCue.maxSample).mul(this.style.height/2).toDecimalPlaces(2).toNumber()}resolveMinSampleBarHeight(){return new Z(this.audioVttCue.minSample).abs().mul(this.style.height/2).toDecimalPlaces(2).toNumber()}setPosition(e){this.x=e.x,this.isInitialized()&&this.group.position({x:this.x,y:0})}getPosition(){return this.group.getPosition()}getDimension(){return this.group.getSize()}getRect(){return{...this.getPosition(),...this.getDimension()}}getAudioVttCue(){return this.audioVttCue}setAudioVttCue(e){this.audioVttCue=e;let t=this.resolveMaxSampleBarHeight(),i=this.resolveMinSampleBarHeight();this.minSampleBar.setAttrs({height:i}),this.maxSampleBar.setAttrs({y:this.style.height/2-t,height:t,fillLinearGradientStartPoint:{x:0,y:-(this.style.height/2-t)},fillLinearGradientEndPoint:{x:0,y:t}})}}const Lm={...Qi,height:40,paddingTop:0,paddingBottom:0,itemWidth:5,itemMinPadding:2,itemCornerRadius:5,maxSampleFillLinearGradientColorStops:[0,"red",.2,"yellow",1,"green"],minSampleFillLinearGradientColorStops:[0,"green",.8,"yellow",1,"red"]};class Rl extends er{constructor(e){super({...e,style:{...Lm,...e.style}}),this.audioTrackLaneItemsMap=new Map,this.onSettleLayout$=new V,this._audioVttFileUrl=this.config.audioVttFileUrl}createCanvasNode(){return super.createCanvasNode(),this.timecodedGroup=new A.Group({...this.timelinePosition,width:this.timeline.getTimecodedGroupDimension().width,height:this.bodyGroup.height()}),this.timecodedEventCatcher=yi.createEventCatcher({width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.audioTrackLaneItemsGroup=new A.Group({...F.POSITION_TOP_LEFT,y:this.style.paddingTop,width:this.timecodedGroup.width(),height:this.timecodedGroup.height()-(this.style.paddingTop+this.style.paddingBottom)}),this.timecodedGroup.add(this.timecodedEventCatcher),this.timecodedGroup.add(this.audioTrackLaneItemsGroup),this.timeline.addToTimecodedAudioGroup(this.timecodedGroup),this.bodyGroup}settleLayout(){super.settleLayout(),this.timecodedGroup.setAttrs({...this.timelinePosition});let e=this.timeline.getTimecodedGroupHorizontalMeasurement();[this.timecodedGroup,this.timecodedEventCatcher,this.audioTrackLaneItemsGroup].forEach(t=>{t.width(e.width)}),this.onSettleLayout$.next()}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.fetchAndCreateAudioTrack(),this.onSettleLayout$.pipe(I(this.onDestroy$)).subscribe(()=>{this.settlePosition()}),Ou([this.onSettleLayout$,this.timeline.onScroll$]).pipe(I(this.onDestroy$),Io(100)).subscribe(()=>{this.settleAll()})}clearContent(){this.audioVttFile=void 0,this.clearItems()}clearItems(){this.audioTrackLaneItemsMap.forEach(e=>e.destroy()),this.audioTrackLaneItemsMap.clear(),this.audioTrackLaneItemsGroup.destroyChildren()}getVisibleCues(){let e=this.timeline.getVisibleTimeRange();return this.audioVttFile.findCues(e.start,e.end)}createEntities(){if(!this.isVttLoaded())return;this.clearItems();let e=this.getVisibleCues(),t=this.timeline.getTimecodedContainerDimension().width;this.numOfInterpolations=new Z(t+this.style.itemMinPadding).div(this.style.itemWidth+this.style.itemMinPadding).floor().toNumber(),this.itemPadding=new Z(t-this.numOfInterpolations*this.style.itemWidth).div(this.numOfInterpolations-1).toNumber();let i=this.resolveNumOfCuesPerInterpolation(e.length),s=this.resolveCuesInterpolations(e,i);for(let n=0;n<this.numOfInterpolations;n++){let a=s.get(n),o=this.resolveInterpolatedItemPosition(n),h=new Mm({x:o,width:this.style.itemWidth,audioVttCue:a,style:{cornerRadius:this.style.itemCornerRadius,height:this.audioTrackLaneItemsGroup.height(),visible:!0,maxSampleFillLinearGradientColorStops:this.style.maxSampleFillLinearGradientColorStops,minSampleFillLinearGradientColorStops:this.style.minSampleFillLinearGradientColorStops}});this.audioTrackLaneItemsMap.set(n,h),this.audioTrackLaneItemsGroup.add(h.initCanvasNode())}}resolveNumOfCuesPerInterpolation(e){return new Z(e).div(this.numOfInterpolations).floor().toNumber()}resolveCuesInterpolations(e,t){let i=e.length-t*this.numOfInterpolations,s=new Map,n=0;for(let a=0;a<this.numOfInterpolations;a++){let o=t+(a<i?1:0),h=n;n=h+o;let l=e.slice(h,n),d=e[h],u=e[n-1],c=0,p=0;l.forEach(m=>{c+=m.minSample,p+=m.maxSample});let f={id:`${a}`,text:"",minSample:new Z(c).div(o).toDecimalPlaces(3).toNumber(),maxSample:new Z(p).div(o).toDecimalPlaces(3).toNumber(),startTime:d.startTime,endTime:u.endTime};s.set(a,f)}return s}settleAll(){if(!this.isVttLoaded()||this.audioTrackLaneItemsMap.size<1)return;let e=this.getVisibleCues(),t=this.resolveNumOfCuesPerInterpolation(e.length),i=this.resolveCuesInterpolations(e,t);for(let s=0;s<this.numOfInterpolations;s++){let n=i.get(s),a=this.audioTrackLaneItemsMap.get(s);a.setAudioVttCue(n),a.setPosition({x:this.resolveInterpolatedItemPosition(s)})}}resolveInterpolatedItemPosition(e){return Math.abs(this.timeline.getTimecodedGroupHorizontalMeasurement().x)+e*this.style.itemWidth+e*this.itemPadding}settlePosition(){if(!(!this.isVttLoaded()||this.audioTrackLaneItemsMap.size<1))for(let e=0;e<this.numOfInterpolations;e++){let t=this.audioTrackLaneItemsMap.get(e),i=this.timeline.timeToTimelinePosition(t.getAudioVttCue().startTime);t.setPosition({x:i})}}fetchAndCreateAudioTrack(){this.fetchAudioTrackVttFile(this._audioVttFileUrl).pipe(ct(1)).subscribe(e=>{this.audioVttFile=e,this.createEntities()})}fetchAudioTrackVttFile(e){return e?wn.create(e).pipe(ke(t=>t),gi((t,i)=>Ee(void 0))):Ee(void 0)}isVttLoaded(){return!!this.audioVttFile}get audioVttFileUrl(){return this._audioVttFileUrl}set audioVttFileUrl(e){this._audioVttFileUrl=e,this.clearContent(),this.fetchAndCreateAudioTrack()}}function Xs(r){if(r.from===r.to)return;let e=r.from<r.to,t=e?r.to-r.from:r.from-r.to,i=new A.Animation(s=>{let n=A.Easings.StrongEaseInOut(s.time,0,t,r.duration);if(n>=t)r.onUpdateHandler(s,r.to),i.stop(),r.onCompleteHandler&&(r.onCompleteHandler(s,r.to),i=null);else{let a=r.from+n*(e?1:-1);r.onUpdateHandler(s,a)}},r.layer);i.start()}const Rm={...F.POSITION_TOP_LEFT,width:0,zoomMax:1500,scrollStepNumberOfDivisions:10,style:{height:20,backgroundFill:"#000000",backgroundFillOpacity:.3,handleBarFill:"#01a6f0",handleBarOpacity:1,handleOpacity:1}};class Im extends Je{constructor(e){super(vi(e,Rm)),this.onScroll$=new V,this.onZoom$=new V,this.x=this.config.x,this.y=this.config.y,this.width=this.config.width,this.zoomMax=this.config.zoomMax,this.scrollStepNumberOfDivisions=this.config.scrollStepNumberOfDivisions}createCanvasNode(){return this.group=new A.Group({x:this.x,y:this.y,width:this.width,height:this.style.height}),this.background=new A.Rect({...F.POSITION_TOP_LEFT,width:this.group.width(),height:this.style.height,fill:this.style.backgroundFill,opacity:this.style.backgroundFillOpacity}),this.handleGroup=new A.Group({...F.POSITION_TOP_LEFT,width:this.group.width(),height:this.style.height}),this.handleBar=new A.Rect({...F.POSITION_TOP_LEFT,width:this.handleGroup.width(),height:this.style.height,fill:this.style.handleBarFill,opacity:this.style.handleBarOpacity,draggable:!0}),this.leftZoomHandle=new A.Circle({...F.POSITION_TOP_LEFT,fill:this.style.handleBarFill,radius:this.style.height/2,y:this.style.height/2,opacity:this.style.handleOpacity,draggable:!0}),this.rightZoomHandle=new A.Circle({...F.POSITION_TOP_LEFT,fill:this.style.handleBarFill,radius:this.style.height/2,y:this.style.height/2,opacity:this.style.handleOpacity,draggable:!0}),this.handleGroup.add(this.background),this.handleGroup.add(this.handleBar),this.group.add(this.background),this.group.add(this.handleGroup),this.handleGroup.add(this.leftZoomHandle),this.handleGroup.add(this.rightZoomHandle),this.group}afterCanvasNodeInit(){this.styleAdapter.onChange$.pipe(I(this.onDestroy$),$e(n=>!!n)).subscribe(n=>{this.onStyleChange()}),this.group.on("click",n=>{this.clickScrollTo(this.group.getRelativePointerPosition().x)}),this.handleBar.on("dragstart dragmove dragend",n=>{let a=this.handleBar.getPosition(),o=this.getConstrainedHandleBarX(a.x);this.handleBar.setAttrs({x:o,y:0}),this.syncLeftRightHandles(),this.handleBar.getRelativePointerPosition().x>=0&&this.handleBar.getRelativePointerPosition().x<=this.handleBar.width()&&this.onScroll$.next({scrollPercent:this.getScrollHandlePercent()})});let e={scaleX:1.5,scaleY:1.5,duration:.1},t={scaleX:1,scaleY:1,duration:.1};this.leftZoomHandle.on("mouseover",n=>{this.leftZoomHandle.to({...e}),et.cursor("ew-resize")}),this.leftZoomHandle.on("mouseout",n=>{this.leftZoomHandle.to({...t}),et.cursor("default")}),this.rightZoomHandle.on("mouseover",n=>{this.rightZoomHandle.to({...e}),et.cursor("ew-resize")}),this.rightZoomHandle.on("mouseout",n=>{this.rightZoomHandle.to({...t}),et.cursor("default")});let i=n=>{let a=n;return a<0?a=0:this.rightZoomHandle.x()-n<=this.minHandleBarWidth&&(a=this.rightZoomHandle.x()-this.minHandleBarWidth),a};this.leftZoomHandle.on("dragstart dragmove dragend",n=>{let a=this.leftZoomHandle.getPosition(),o=i(a.x);this.leftZoomHandle.setAttrs({x:o,y:this.style.height/2}),this.handleBar.setAttrs({x:o,width:this.rightZoomHandle.x()-o}),this.onZoom$.next({zoomPercent:this.getZoomPercent()})});let s=n=>{let a=n,o=this.group.width();return a>o?a=o:n-this.leftZoomHandle.x()<=this.minHandleBarWidth&&(a=this.leftZoomHandle.x()+this.minHandleBarWidth),a};this.rightZoomHandle.on("dragstart dragmove dragend",n=>{let a=this.rightZoomHandle.getPosition(),o=s(a.x);this.rightZoomHandle.setAttrs({x:o,y:this.style.height/2}),this.handleBar.setAttrs({width:o-this.leftZoomHandle.x()}),this.onZoom$.next({zoomPercent:this.getZoomPercent()})})}onMeasurementsChange(){this.group.width(this.width),this.background.width(this.group.width()),this.handleGroup.width(this.group.width()),this.minHandleBarWidth=this.calculateHandleBarWidthFromZoomRatioPercent(this.zoomMax)}onStyleChange(){this.group.setAttrs({height:this.style.height}),this.background.setAttrs({height:this.style.height,fill:this.style.backgroundFill,opacity:this.style.backgroundFillOpacity}),this.handleGroup.setAttrs({height:this.style.height}),this.handleBar.setAttrs({height:this.style.height,fill:this.style.handleBarFill,opacity:this.style.handleBarOpacity}),this.leftZoomHandle.setAttrs({fill:this.style.handleBarFill,radius:this.style.height/2,y:this.style.height/2,opacity:this.style.handleOpacity}),this.rightZoomHandle.setAttrs({fill:this.style.handleBarFill,radius:this.style.height/2,y:this.style.height/2,opacity:this.style.handleOpacity})}getScrollHandleMaxX(){return this.group.width()-this.handleBar.width()}getConstrainedHandleBarX(e){let t=e;return t<0?t=0:t+this.handleBar.width()>this.group.width()&&(t=this.getScrollHandleMaxX()),t}clickScrollTo(e){let t=this.group.width()/this.scrollStepNumberOfDivisions;if(!(e>=this.handleBar.x()&&e<=this.handleBar.x()+this.handleBar.width())){let i=this.handleBar.x()>e,s=this.handleBar.x()+t*(i?-1:1);i?s=s<e?e:s:s=s+this.handleBar.width()>e?e-this.handleBar.width():s,this.scrollToEased(s)}}scrollTo(e){this.handleBar.x(this.getConstrainedHandleBarX(e)),this.syncLeftRightHandles(),this.onScroll$.next({scrollPercent:this.getScrollHandlePercent()})}scrollToEased(e){let t=this.handleBar.x(),i=this.getConstrainedHandleBarX(e);Xs({layer:this.handleGroup.getLayer(),duration:F.TIMELINE_SCROLL_EASED_DURATION_MS,from:t,to:i,onUpdateHandler:(s,n)=>{this.scrollTo(n)}})}calculateHandleBarWidthFromZoomRatioPercent(e){return new Z(this.group.width()).mul(100).div(e).toNumber()}getZoomPercent(){return this.group.width()===this.handleBar.width()?100:new Z(this.group.width()).mul(100).div(this.handleBar.width()).toNumber()}getScrollHandlePercent(){return this.handleBar.x()===0?0:new Z(this.handleBar.x()).div(this.group.width()-this.handleBar.width()).mul(100).toNumber()}updateScrollHandle(e){let t=e.getScrollHandleHorizontalMeasurement(this.group.width());this.handleBar.setAttrs({...t}),this.syncLeftRightHandles()}syncLeftRightHandles(){this.leftZoomHandle.x(this.handleBar.x()),this.rightZoomHandle.x(this.handleBar.x()+this.handleBar.width())}setWidth(e){this.width=e,this.onMeasurementsChange()}setPosition(e){this.x=e.x,this.y=e.y,this.group.setAttrs({...e})}getPosition(){return this.group.getPosition()}getRect(){return{...this.group.getPosition(),...this.group.getSize()}}}const Nm={style:{...F.POSITION_TOP_LEFT,height:100,fill:"#737373",fillSnapped:"#ffd500",lineWidth:2,symbolY:0,symbolHeight:15,textFontSize:12,textFill:"#0d0f05",textSnappedFill:"#f43530",visible:!1}};class Gm extends Je{constructor(e,t){super(vi(e,Nm)),this.stylesProvider=lt.instance(),this.timeline=t}createCanvasNode(){return this.group=new A.Group({x:this.style.x,y:this.style.y,visible:this.style.visible,listening:!1}),this.line=new A.Line({points:[this.style.x,0,this.style.x,this.style.height],stroke:this.style.fill,strokeWidth:this.style.lineWidth,listening:!1}),this.symbol=new A.Circle({y:this.style.symbolY,fill:this.style.fill,radius:this.style.symbolHeight/2,offsetY:-this.style.symbolHeight/2}),this.group.add(this.symbol),this.group.add(this.line),this.label=new A.Label({...F.POSITION_TOP_LEFT,listening:!1}),this.text=new A.Text({fontSize:this.style.textFontSize,fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily,fill:this.style.textFill,...F.POSITION_TOP_LEFT,text:"",listening:!1}),this.label.y(-this.text.getSelfRect().height),this.label.add(this.text),this.group.add(this.label),this.group}afterCanvasNodeInit(){this.styleAdapter.onChange$.pipe(I(this.onDestroy$)).subscribe(e=>{this.onMeasurementsChange()}),this.stylesProvider.onChange$.pipe($e(e=>!!e),I(this.onDestroy$)).subscribe(e=>{this.text.setAttrs({fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily})})}onMeasurementsChange(){this.line.points([this.line.x(),0,this.line.x(),this.style.height])}sync(e,t=!1){this.style.visible||this.toggleVisible(!0);let i=this.timeline.timelinePositionToTimeFormatted(e),s=this.text.getSelfRect(),n=s.width/2,a=-n,o=this.timeline.getTimecodedGroupHorizontalMeasurement();o.width-e<n?a=-s.width+(o.width-e):e<n&&(a=-n+(n-e)),this.group.x(e),this.text.text(i),this.label.x(a),t?(this.line.stroke(this.style.fillSnapped),this.text.fill(this.style.fillSnapped),this.symbol.visible(!1)):(this.line.stroke(this.style.fill),this.text.fill(this.style.fill),this.symbol.visible(!0))}toggleVisible(e){this.style={visible:e},this.group.visible(e)}}const Dm={style:{visible:!0,fill:"#f43530",lineWidth:2,symbolHeight:15,scrubberHeight:15,backgroundFill:"#ffffff",backgroundOpacity:0,playProgressFill:"#008cbc",playProgressOpacity:.5,bufferedFill:"#a2a2a2",bufferedOpacity:1}};class Fm extends Je{constructor(e,t,i){super(vi(e,Dm)),this.timeline=t,this.videoController=i}createCanvasNode(){return this.group=new A.Group({...F.POSITION_TOP_LEFT,listening:!1}),this.background=new A.Rect({...F.POSITION_TOP_LEFT,height:this.style.scrubberHeight,fill:this.style.backgroundFill,opacity:this.style.backgroundOpacity,listening:!1}),this.playProgressBackground=new A.Rect({...F.POSITION_TOP_LEFT,height:this.style.scrubberHeight,fill:this.style.playProgressFill,opacity:this.style.playProgressOpacity,listening:!1}),this.playheadGroup=new A.Group({...F.POSITION_TOP_LEFT,visible:this.style.visible,listening:!1}),this.playheadLine=new A.Line({points:[0,0,0,0],stroke:this.style.fill,strokeWidth:this.style.lineWidth,listening:!1}),this.playheadSymbol=yi.createTriangle({...F.POSITION_TOP_LEFT,height:this.style.symbolHeight,color:this.style.fill}),this.bufferedGroup=new A.Group({...F.POSITION_TOP_LEFT,listening:!1}),this.group.add(this.background),this.group.add(this.bufferedGroup),this.group.add(this.playProgressBackground),this.playheadGroup.add(this.playheadLine),this.playheadGroup.add(this.playheadSymbol),this.group.add(this.playheadGroup),this.group}afterCanvasNodeInit(){this.settleLayout(),this.timeline.onZoom$.pipe(I(this.onDestroy$)).subscribe(e=>{this.settleLayout()}),this.videoController.onVideoLoading$.pipe(I(this.onDestroy$)).subscribe(e=>{this.group.visible(!1)}),this.videoController.onVideoLoaded$.pipe(I(this.onDestroy$)).subscribe(e=>{this.group.visible(!0),this.doPlayProgress(),this.doBufferingProgress()}),this.videoController.onVideoTimeChange$.pipe(I(this.onDestroy$)).subscribe(e=>{this.doPlayProgress()}),this.videoController.onSeeking$.pipe(I(this.onDestroy$)).subscribe(e=>{this.doPlayProgress(),this.doBufferingProgress()}),this.videoController.onBuffering$.pipe(I(this.onDestroy$)).subscribe(e=>{this.doBufferingProgress()})}onMeasurementsChange(){this.settleLayout()}getPlayheadPosition(){return this.playheadGroup.x()}settleLayout(){let e=this.timeline.getTimecodedGroupDimension();[this.group,this.bufferedGroup,this.playheadGroup].forEach(t=>{t.setAttrs({...e})}),[this.background].forEach(t=>{t.setAttrs({width:e.width})}),this.playheadLine.setAttrs({points:[0,0,0,e.height]}),this.doPlayProgress(),this.doBufferingProgress()}doPlayProgress(){let e=this.timeline.timeToTimelinePosition(this.videoController.getCurrentTime());this.playProgressBackground.width(e),this.playheadGroup.x(e)}doBufferingProgress(){let e=this.videoController.getBufferedTimespans();if(e&&e.length>0)if(this.bufferedGroup.hasChildren()){let t=e.length,i=this.bufferedGroup.getChildren().length;t===i?this.bufferedGroup.getChildren().forEach((s,n)=>{let a=e[n],o=this.timeline.timeToTimelinePosition(a.start),h=this.timeline.timeToTimelinePosition(a.end);s.setAttrs({x:o,width:h-o})}):(this.bufferedGroup.getChildren().forEach(s=>s.destroy()),this.createBuffers(e))}else this.createBuffers(e)}createBuffers(e){e.forEach(t=>{let i=this.timeline.timeToTimelinePosition(t.start),s=this.timeline.timeToTimelinePosition(t.end),n=new A.Rect({x:i,y:0,width:s-i,height:this.style.scrubberHeight,fill:this.style.bufferedFill,opacity:this.style.bufferedOpacity,listening:!1});this.bufferedGroup.add(n)})}}const Hm={style:{...F.POSITION_TOP_LEFT,width:150,height:20,textFontSize:20,textFill:"#0d0f05",visible:!0}};class Il extends Je{constructor(e,t){super(vi(e,Hm)),this.stylesProvider=lt.instance(),this.videoEventStreamBreaker$=new V,this.videoController=t}createCanvasNode(){return this.group=new A.Group({x:this.style.x,y:this.style.y,width:this.style.width,height:this.style.height,listening:!1,visible:this.style.visible}),this.text=new A.Text({...F.POSITION_TOP_LEFT,width:this.group.width(),height:this.group.height(),text:"",fontSize:this.style.textFontSize,fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily,fill:this.style.textFill,visible:!0,align:"left",verticalAlign:"middle"}),this.group.add(this.text),this.group}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.stylesProvider.onChange$.pipe($e(e=>!!e),I(this.onDestroy$)).subscribe(e=>{this.text.setAttrs({fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily})}),this.videoController.onVideoLoaded$.pipe($e(e=>!!e),I(this.onDestroy$)).subscribe(e=>{this.onVideoLoadedEvent(e)})}onMeasurementsChange(){this.group.width(this.style.width)}fireVideoEventStreamBreaker(){this.videoEventStreamBreaker$&&(this.videoEventStreamBreaker$.next(),this.videoEventStreamBreaker$.complete()),this.videoEventStreamBreaker$=new V}onVideoLoadedEvent(e){this.fireVideoEventStreamBreaker(),this.text.text(this.videoController.formatTimestamp(0)),this.videoController.onVideoTimeChange$.pipe(I(this.videoEventStreamBreaker$)).subscribe(t=>{this.text.text(this.videoController.formatTimestamp(t.currentTime))})}setVisible(e){this.style={visible:e},this.isInitialized()&&this.group.visible(e)}setPosition(e){this.style={...e},this.group.setAttrs({...e}),this.onMeasurementsChange()}getRect(){return this.group.getClientRect()}}const Bm={...Qi,height:60,tickDivisor:5,tickDivisionMinWidth:18,tickFill:"#0d0f05",tickHeight:12,divisionTickFill:"#000000",divisionTickHeight:12*F.GOLDEN_RATIO,timecodeShowFirst:!0,timecodeFontSize:11,timecodeFill:"#0d0f05"};class $m extends er{constructor(e,t){super({...e,style:{...Bm,...e.style}}),this.onClick$=new V,this.onMouseEnter$=new V,this.onMouseOver$=new V,this.onMouseMove$=new V,this.onMouseOut$=new V,this.onMouseLeave$=new V,this.videoController=t}createCanvasNode(){return super.createCanvasNode(),this.timecodedGroup=new A.Group({...this.timelinePosition,width:this.timeline.getTimecodedGroupDimension().width,height:this.bodyGroup.height()}),this.timecodedEventCatcher=yi.createEventCatcher({width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.ticksGroup=new A.Group({...F.POSITION_TOP_LEFT,width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.timecodedGroup.add(this.timecodedEventCatcher),this.timecodedGroup.add(this.ticksGroup),this.timeline.addToTimecodedBaseGroup(this.timecodedGroup),this.timecodeDisplay=new Il({style:{x:10,y:0,width:this.leftGroup.width(),height:this.getRect().height}},this.videoController),this.leftGroup.add(this.timecodeDisplay.initCanvasNode()),this.bodyGroup}settleLayout(){super.settleLayout();let e=this.timeline.getTimecodedGroupHorizontalMeasurement();[this.timecodedGroup,this.timecodedEventCatcher,this.ticksGroup].forEach(t=>{t.width(e.width)}),this.refreshTimeDivisions()}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.timecodedEventCatcher.on("mousemove",e=>{this.onMouseMove$.next({evt:e.evt,position:this.timecodedGroup.getRelativePointerPosition()})}),this.timecodedEventCatcher.on("mouseenter",e=>{this.onMouseEnter$.next({evt:e.evt,position:this.timecodedGroup.getRelativePointerPosition()})}),this.timecodedEventCatcher.on("mouseout",e=>{this.onMouseOut$.next({evt:e.evt,position:this.timecodedGroup.getRelativePointerPosition()})}),this.timecodedEventCatcher.on("mouseleave",e=>{this.onMouseLeave$.next({evt:e.evt,position:this.timecodedGroup.getRelativePointerPosition()})}),this.timecodedEventCatcher.on("click",e=>{this.onClick$.next({evt:e.evt,position:this.timecodedGroup.getRelativePointerPosition()})}),this.videoController.onVideoLoading$.pipe(I(this.onDestroy$)).subscribe(e=>{this.clearContent()}),this.videoController.onVideoLoaded$.pipe(I(this.onDestroy$)).subscribe(e=>{this.settleLayout()})}onStyleChange(){super.onStyleChange(),this.refreshTimeDivisions(!0)}destroy(){super.destroy(),this.timecodedGroup.destroy()}clearContent(){this.ticksGroup.destroyChildren()}refreshTimeDivisions(e=!1){if(!this.isTimelineReady())return;let t=this.style.tickDivisor,i=this.style.tickDivisionMinWidth,s=this.timeline.getTimecodedGroupRect().width,n=this.resolveTimeDivisionWidth(s,i,t,t),a=new Z(s).div(n).round().toNumber(),o=!e&&this.tickTotalDivisions===a&&!(this.ticksGroup.getChildren().length<1);o||this.clearContent(),this.tickDivisionWidth=n,this.tickTotalDivisions=a;let h=0,l=2,d=2,u=5;for(let c=0;c<this.tickTotalDivisions+1;c++){let p=c===0,f=c===this.tickTotalDivisions,m=c%t===0,v=c*this.tickDivisionWidth,_=m?this.style.divisionTickHeight:this.style.tickHeight,w=this.ticksGroup.height()-_,b=this.ticksGroup.height()-this.style.divisionTickHeight-u;if(o)this.ticksGroup.getChildren()[c].x(v);else{let T=new A.Group({x:v,y:h}),M=0,P=new A.Line({points:[M,w,M,w+_],stroke:this.style.tickFill,strokeWidth:1,listening:!1});T.add(P);let G=new A.Text({fontSize:this.style.timecodeFontSize,fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily,fill:this.style.timecodeFill,text:`${this.timeline.timelinePositionToTimeFormatted(v)}`,listening:!1}),L=G.getSelfRect(),H=p?M+l:f?M-L.width-d:M-L.width/2,$=b-L.height;G.setAttrs({x:H,y:$});let R=m;R=p?this.style.timecodeShowFirst:R,R&&(T.add(G),T.x()+(G.x()>0?0:G.x()),T.y(),G.width()),this.ticksGroup.add(T)}}}resolveTimeDivisionWidth(e,t,i,s){return new Z(e).div(s).floor().greaterThan(t)?this.resolveTimeDivisionWidth(e,t,i,s*i):new Z(e).div(s/i).toNumber()}}const Vm={timelineHTMLElementId:"omakase-timeline",playheadHoverSnapArea:5,zoomScale:1.02,zoomBaseline:100,zoomMax:1500,style:{stageMinWidth:700,backgroundFill:"#f5f5f5",headerBackgroundFill:"#f5f5f5",footerBackgroundFill:"#f5f5f5",scrollbarHeight:15,thumbnailHoverWidth:200,thumbnailHoverStroke:"rgba(255,73,145,0.9)",thumbnailHoverStrokeWidth:5,thumbnailHoverYOffset:0,headerHeight:50,footerHeight:50,leftPanelWidth:200,rightPanelLeftGutterWidth:30,rightPanelRightGutterWidth:30,timecodedContainerClipPadding:20,playheadVisible:!0,playheadFill:"#f43530",playheadLineWidth:2,playheadSymbolHeight:15,playheadScrubberHeight:15,playheadBackgroundFill:"#ffffff",playheadBackgroundOpacity:0,playheadPlayProgressFill:"#008cbc",playheadPlayProgressOpacity:.5,playheadBufferedFill:"#a2a2a2",playheadBufferedOpacity:1}},xa="omakase_scrubber_lane";class zm extends Je{constructor(e,t){super(vi(e,Vm)),this.scrollWithPlayhead=!0,this.syncTimelineWithPlayheadInProgress=!1,this.mouseWheelEnabled=!1,this.leftPanelVisible=!0,this.videoEventBreaker$=new V,this.onScroll$=new V,this.onZoom$=new V,this.timelineHTMLElementId=this.config.timelineHTMLElementId,this.thumbnailVttUrl=this.config.thumbnailVttUrl,this.axiosConfig=this.config.axiosConfig,this.playheadHoverSnapArea=this.config.playheadHoverSnapArea,this.zoomScale=this.config.zoomScale,this.zoomBaseline=this.config.zoomBaseline,this.zoomMax=this.config.zoomMax,this.timecodedGroupNodes=[],this.timelaneLanes=[],this.timelaneLanesMap=new Map,this.timelineHTMLElement=document.getElementById(this.timelineHTMLElementId),this.videoController=t}createCanvasNode(){let e=this.resolveStageDimension();return this.width=e.width,this.stage=new A.Stage({container:this.timelineHTMLElementId,...e}),this.layer=new A.Layer,this.stage.add(this.layer),this.layoutGroup=new A.Group({...F.POSITION_TOP_LEFT}),this.layer.add(this.layoutGroup),this.layoutBackground=new A.Rect({...F.POSITION_TOP_LEFT,fill:this.style.backgroundFill}),this.headerGroup=new A.Group({...F.POSITION_TOP_LEFT}),this.headerBackground=new A.Rect({...F.POSITION_TOP_LEFT,fill:this.style.headerBackgroundFill}),this.footerGroup=new A.Group({...F.POSITION_TOP_LEFT}),this.footerBackground=new A.Rect({...F.POSITION_TOP_LEFT,fill:this.style.footerBackgroundFill}),this.bodyGroup=new A.Group({...F.POSITION_TOP_LEFT}),this.bodyContentGroup=new A.Group({...F.POSITION_TOP_LEFT}),this.leftPanel=new A.Group({...F.POSITION_TOP_LEFT}),this.rightPanel=new A.Group({...F.POSITION_TOP_LEFT}),this.timecodedContainer=new A.Group({...F.POSITION_TOP_LEFT}),this.timecodedGroup=new A.Group({...F.POSITION_TOP_LEFT,draggable:!0}),this.timecodedBaseGroup=new A.Group({...F.POSITION_TOP_LEFT,name:"timecodedBaseGroup"}),this.timecodedThumbnailsGroup=new A.Group({...F.POSITION_TOP_LEFT,name:"timecodedThumbnailsGroup"}),this.timecodedSubtitlesGroup=new A.Group({...F.POSITION_TOP_LEFT,name:"timecodedSubtitlesGroup"}),this.timecodedAudioGroup=new A.Group({...F.POSITION_TOP_LEFT,name:"timecodedAudioGroup"}),this.timecodedMarkersGroup=new A.Group({...F.POSITION_TOP_LEFT,name:"timecodedMarkersGroup"}),this.timecodedSurfaceGroup=new A.Group({...F.POSITION_TOP_LEFT,name:"timecodedSurfaceGroup"}),this.timecodedBackground=new A.Rect({...F.POSITION_TOP_LEFT,fill:"yellow",opacity:0,listening:!1}),this.timecodedEventCatcher=yi.createEventCatcher(),this.thumbnailHover=new Zs({style:{visible:!1,stroke:this.style.thumbnailHoverStroke,strokeWidth:this.style.thumbnailHoverStrokeWidth}}),this.layoutGroup.add(this.layoutBackground),this.layoutGroup.add(this.headerGroup),this.layoutGroup.add(this.footerGroup),this.layoutGroup.add(this.bodyGroup),this.headerGroup.add(this.headerBackground),this.footerGroup.add(this.footerBackground),this.bodyGroup.add(this.bodyContentGroup),this.bodyGroup.add(this.leftPanel),this.bodyGroup.add(this.rightPanel),this.rightPanel.add(this.timecodedContainer),this.timecodedContainer.add(this.timecodedGroup),[this.timecodedBackground,this.timecodedEventCatcher,this.timecodedBaseGroup,this.timecodedThumbnailsGroup,this.timecodedSubtitlesGroup,this.timecodedAudioGroup,this.timecodedMarkersGroup,this.timecodedSurfaceGroup].forEach(t=>{this.timecodedGroupNodes.push(t),this.timecodedGroup.add(t)}),this.scrollbar=new Im({style:{height:this.style.scrollbarHeight}}),this.rightPanel.add(this.scrollbar.initCanvasNode()),this.playhead=new Fm({style:{visible:this.style.playheadVisible,fill:this.style.playheadFill,lineWidth:this.style.playheadLineWidth,symbolHeight:this.style.playheadSymbolHeight,backgroundFill:this.style.playheadBackgroundFill,backgroundOpacity:this.style.playheadBackgroundOpacity,scrubberHeight:this.style.playheadScrubberHeight,playProgressFill:this.style.playheadPlayProgressFill,playProgressOpacity:this.style.playheadPlayProgressOpacity,bufferedFill:this.style.playheadBufferedFill,bufferedOpacity:this.style.playheadBufferedOpacity}},this,this.videoController),this.playheadHover=new Gm({},this),[this.playhead,this.playheadHover].forEach(t=>{this.addToTimecodedSurfaceGroup(t.initCanvasNode())}),this.headerTimecodeDisplay=new Il({style:{x:10,y:10,visible:!1}},this.videoController),this.headerGroup.add(this.headerTimecodeDisplay.initCanvasNode()),this.settleLayout(),this.addToTimecodedSurfaceGroup(this.thumbnailHover.initCanvasNode()),this.scrubberLane=new $m({id:xa,description:""},this.videoController),this.addLanes([this.scrubberLane]),this.stage}afterCanvasNodeInit(){this.videoController.onVideoLoading$.pipe($e(e=>!!e),I(this.onDestroy$)).subscribe(e=>{this.clearContent()}),this.videoController.onVideoLoaded$.pipe($e(e=>!!e),I(this.onDestroy$)).subscribe(e=>{this.onVideoLoadedEvent(e)}),be(window,"resize").pipe(I(this.onDestroy$)).subscribe(e=>{setTimeout(()=>{this.onWindowResize(e)},200)}),this.timecodedGroup.on("mouseenter",e=>{this.playheadHover.toggleVisible(this.videoController.isVideoLoaded())}),this.timecodedGroup.on("mouseleave",e=>{this.playheadHover.toggleVisible(!1)}),this.timecodedGroup.on("mousemove",e=>{if(!this.videoController.isVideoLoaded())return;let t=this.timecodedGroup.getRelativePointerPosition().x;this.playheadHoverMove(t)}),this.timecodedMarkersGroup.on("mousemove",e=>{if(!this.videoController.isVideoLoaded())return;let t=this.timecodedGroup.getRelativePointerPosition().x;this.playheadHoverMove(t)}),this.timecodedGroup.on("wheel",e=>{if(!this.videoController.isVideoLoaded())return;if(this.mouseWheelEnabled){let i=e.evt;i.preventDefault();let s=i.deltaY>0?"IN":"OUT";i.ctrlKey&&(s=s==="IN"?"OUT":"IN"),this.zoomStep(s,this.timecodedGroup.getRelativePointerPosition().x),this.updateScrollWithPlayhead()}let t=this.timecodedGroup.getRelativePointerPosition().x;this.playheadHoverMove(t)}),this.timecodedGroup.on("dragstart dragmove dragend",e=>{if(!this.videoController.isVideoLoaded()){this.timecodedGroup.setAttrs({...F.POSITION_TOP_LEFT});return}if(e.target===this.timecodedGroup){let t=this.timecodedGroup.getPosition();this.timecodedGroup.setAttrs({x:this.getConstrainedTimelineX(t.x),y:0}),this.onScroll$.next(this.createScrollEvent()),this.scrollbar.updateScrollHandle(this)}this.updateScrollWithPlayhead()}),this.timecodedGroup.on("dragmove",e=>{et.cursor("grabbing")}),this.timecodedGroup.on("dragend",e=>{et.cursor("default")}),this.scrubberLane.onMouseMove$.pipe(I(this.onDestroy$)).subscribe(e=>{if(!this.videoController.isVideoLoaded())return;this.mouseWheelEnabled=!0;let t=this.timecodedGroup.getRelativePointerPosition().x,i=this.timelinePositionToTime(t);if(this.thumbnailVttFile){let s=this.thumbnailVttFile.findCue(i);this.showThumbnailHover(s)}}),this.scrubberLane.onMouseEnter$.pipe(I(this.onDestroy$)).subscribe(e=>{this.mouseWheelEnabled=!0}),this.scrubberLane.onMouseLeave$.pipe(I(this.onDestroy$)).subscribe(e=>{this.hideThumbnailHover(),this.mouseWheelEnabled=!1}),this.scrubberLane.onClick$.pipe(I(this.onDestroy$)).subscribe(e=>{if(!this.videoController.isVideoLoaded())return;this.updateScrollWithPlayhead();let t=this.timecodedGroup.getRelativePointerPosition().x;this.playheadHoverMove(t),this.videoController.isVideoLoaded()&&this.videoController.seekToTimestamp(this.timelinePositionToTime(t)).subscribe(()=>{})}),this.scrollbar.onScroll$.pipe(I(this.onDestroy$)).subscribe(e=>{this.videoController.isVideoLoaded()&&(this.setHorizontalScrollPercent(this.scrollbar.getScrollHandlePercent()),this.updateScrollWithPlayhead(),this.onScroll$.next(this.createScrollEvent()))}),this.scrollbar.onZoom$.pipe(I(this.onDestroy$)).subscribe(e=>{this.videoController.isVideoLoaded()&&(this.zoomByPercent(e.zoomPercent,!1),this.updateScrollWithPlayhead())}),this.thumbnailVttUrl&&this.fetchThumbnailVttFile().subscribe()}settleLayout(){this.stage.setAttrs({...this.resolveStageDimension()});let e=this.calculateHeights();this.headerGroup.setAttrs({width:this.width,height:this.style.headerHeight}),this.bodyGroup.setAttrs({y:this.headerGroup.y()+this.headerGroup.height(),width:this.layoutGroup.width(),height:e.bodyHeight}),this.footerGroup.setAttrs({y:this.bodyGroup.y()+this.bodyGroup.height(),width:this.width,height:this.style.footerHeight}),this.layoutGroup.setAttrs({width:this.width,height:e.layoutHeight}),this.layoutBackground.setAttrs({...this.layoutGroup.getSize()}),this.headerBackground.setAttrs({...this.headerGroup.getSize()}),this.footerBackground.setAttrs({...this.footerGroup.getSize()}),[this.bodyContentGroup].forEach(t=>{t.setAttrs({...this.bodyGroup.getSize()})}),[this.leftPanel,this.rightPanel].forEach(t=>{t.setAttrs({height:this.bodyGroup.getSize().height})}),this.leftPanel.setAttrs({width:this.leftPanelVisible?this.style.leftPanelWidth:0,visible:this.leftPanelVisible}),this.rightPanel.setAttrs({x:this.leftPanel.x()+this.leftPanel.width()+this.style.rightPanelLeftGutterWidth,width:this.layoutGroup.width()-(this.leftPanel.width()+this.style.rightPanelLeftGutterWidth+this.style.rightPanelRightGutterWidth)}),[this.timecodedContainer,this.timecodedGroup,...this.timecodedGroupNodes].forEach(t=>{t.setAttrs({...this.rightPanel.getSize()})}),this.timecodedContainer.clipFunc(t=>{t.rect(-this.style.timecodedContainerClipPadding,-500,this.timecodedContainer.width()+2*this.style.timecodedContainerClipPadding,this.timecodedContainer.height()+500)}),this.timecodedThumbnailsGroup.clipFunc(t=>{t.rect(0,0,this.timecodedThumbnailsGroup.width(),this.timecodedThumbnailsGroup.height())}),this.scrollbar.setPosition({...this.scrollbar.getPosition(),y:this.leftPanel.getSize().height}),this.scrollbar.setWidth(this.timecodedContainer.width()),this.scrollbar.updateScrollHandle(this),this.maxTimecodedGroupWidth=this.calculateWidthFromZoomRatioPercent(this.zoomMax),this.playheadHover.style={height:this.timecodedContainer.height()},this.timelaneLanes.forEach(t=>{t.onMeasurementsChange()}),this.playhead.onMeasurementsChange()}onMeasurementsChange(){this.settleLayout();let e=this.getTimecodedGroupDimension();this.timelaneLanes.forEach(t=>{t.onMeasurementsChange()}),this.zoomByWidth(e.width,this.resolveZoomFocus()),this.scrollbar.updateScrollHandle(this)}onWindowResize(e){let t=this.resolveStageDimension();this.width=t.width,this.onMeasurementsChange()}calculateHeights(){let t=this.getLanes().map(i=>i.getDimension().height).reduce((i,s)=>i+s,0);return{bodyHeight:t,layoutHeight:this.style.headerHeight+t+this.style.footerHeight}}resolveStageDimension(){let e=this.getTimelineHTMLElementRect(),t=this.calculateHeights();return{width:e.width>=this.style.stageMinWidth?e.width:this.style.stageMinWidth,height:t.layoutHeight}}getTimelineHTMLElementRect(){return{x:this.timelineHTMLElement.offsetLeft,y:this.timelineHTMLElement.offsetTop,width:this.timelineHTMLElement.offsetWidth,height:this.timelineHTMLElement.offsetHeight}}showThumbnailHover(e){if(e)if(this.thumbnailHover.setVisible(!0),this.thumbnailHover.getThumbnailVttCue()===e){this.thumbnailHover.setThumbnailVttCue(e);let t=this.resolveThumbnailPosition(this.thumbnailHover);this.thumbnailHover.setPosition(t),this.thumbnailHover.getCanvasNode().moveToTop()}else dt.createKonvaImageSizedByWidth(e.url,this.style.thumbnailHoverWidth).subscribe(t=>{this.thumbnailHover.setThumbnailVttCue(e),this.thumbnailHover.setDimension(t.getSize()),this.thumbnailHover.setImage(t),this.thumbnailHover.setPosition(this.resolveThumbnailPosition(this.thumbnailHover)),this.thumbnailHover.getCanvasNode().moveToTop()})}hideThumbnailHover(){this.thumbnailHover&&this.thumbnailHover.setVisible(!1)}resolveThumbnailPosition(e){let t=this.timecodedGroup.getRelativePointerPosition(),i=this.getTimecodedGroupDimension(),s=e.getImage().getSize(),n=t.x-s.width/2,a=e.style.strokeWidth>0?e.style.strokeWidth/2:0;n=n-a<0?a:n+s.width+a>i.width?i.width-s.width-a:n;let h=this.scrubberLane.getRect();return{x:n,y:h.y+h.height+e.style.strokeWidth/2+this.style.thumbnailHoverYOffset}}createScrollEvent(){return{scrollPercent:this.getHorizontalScrollPercent()}}createZoomEvent(){return{zoomPercent:this.getZoomPercent()}}getHorizontalScrollPercent(){if(this.isSnappedStart())return 0;if(this.isSnappedEnd())return 100;{let e=new Z(this.getTimecodedContainerDimension().width-this.getTimecodedGroupDimension().width).abs();return new Z(this.getTimecodedGroupPosition().x).abs().mul(100).div(e).toNumber()}}setHorizontalScrollPercent(e){this.setTimelinePosition(this.calculateTimelineXFromScrollPercent(e))}getScrollHandleHorizontalMeasurement(e){let t=this.getTimecodedGroupDimension().width,i=this.getTimecodedGroupPosition().x,s;return t<=e?s={width:e,x:0}:s={width:new Z(e).mul(e).div(t).round().toNumber(),x:new Z(i).abs().mul(e).div(t).toNumber()},s}scrollTo(e){return e=_e.coerce.number().min(0).max(100).parse(e),this.scrollToPercentEased(e)}scrollToPlayhead(){let e=-this.playhead.getPlayheadPosition()+this.getTimecodedContainerDimension().width/2;return this.scrollToEased(e)}scrollToPercent(e){let t=this.calculateTimelineXFromScrollPercent(e);this.scrollTimeline(t)}scrollToPercentEased(e){let t=this.calculateTimelineXFromScrollPercent(e);return this.scrollToEased(t)}scrollToEased(e){return new se(t=>{let i=this.getTimecodedGroupPosition().x;Xs({layer:this.timecodedGroup.getLayer(),duration:F.TIMELINE_SCROLL_EASED_DURATION_MS,from:i,to:e,onUpdateHandler:(s,n)=>{this.scrollTimeline(n)},onCompleteHandler:(s,n)=>{t.next(this.getHorizontalScrollPercent()),t.complete()}})})}isPlayheadInTimecodedView(){return this.isInVisiblePositionRange(this.playhead.getPlayheadPosition())}updateScrollWithPlayhead(){let e=this.playhead.getPlayheadPosition(),t=e<this.getVisiblePositionRange().start,i=this.isInVisiblePositionRange(e);this.scrollWithPlayhead=i&&!t}syncTimelineWithPlayhead(){return new se(e=>{this.scrollToEased(-this.playhead.getPlayheadPosition()).pipe(ke(t=>{e.next(this.getHorizontalScrollPercent()),e.complete()})).subscribe()})}setTimelinePosition(e){let t=this.getConstrainedTimelineX(e);this.timecodedGroup.x(t)}scrollTimeline(e){let t=this.getTimecodedGroupPosition().x;this.setTimelinePosition(e),this.getTimecodedGroupPosition().x!==t&&(this.scrollbar.updateScrollHandle(this),this.setHorizontalScrollPercent(this.scrollbar.getScrollHandlePercent()),this.onScroll$.next(this.createScrollEvent()))}calculateTimelineXFromScrollPercent(e){e=this.getConstrainedScrollPercent(e);let t=this.getTimecodedGroupDimension(),i=this.getTimecodedContainerDimension();if(t.width>i.width){let s=new Z(i.width-t.width);return new Z(e).mul(s).div(100).toDecimalPlaces(2).toNumber()}else return 0}getZoomPercent(){let e=this.getTimecodedGroupDimension(),t=this.getTimecodedContainerDimension();return e.width>t.width?new Z(e.width).mul(100).div(t.width).round().toNumber():this.zoomBaseline}zoomTo(e){return e=_e.coerce.number().min(this.getZoomBaseline()).max(this.getZoomMax()).parse(e),this.zoomToEased(e)}zoomIn(){return new se(e=>{this.zoomStep("IN",this.timecodedGroup.getRelativePointerPosition().x),e.next(this.getZoomPercent()),e.complete()})}zoomOut(){return new se(e=>{this.zoomStep("OUT",this.timecodedGroup.getRelativePointerPosition().x),e.next(this.getZoomPercent()),e.complete()})}zoomToEased(e){return new se(t=>{e=this.getConstrainedZoomPercent(e);let i=this.getTimecodedGroupDimension().width,s=this.calculateWidthFromZoomRatioPercent(e);Xs({layer:this.timecodedGroup.getLayer(),duration:F.TIMELINE_ZOOM_EASED_DURATION_MS,from:i,to:s,onUpdateHandler:(n,a)=>{this.zoomByWidth(a,this.resolveZoomFocus())},onCompleteHandler:(n,a)=>{t.next(this.getZoomPercent()),t.complete()}})})}zoomStep(e,t){let i=new Z(this.getTimecodedGroupDimension().width),s=(e==="IN"?i.mul(this.zoomScale):i.div(this.zoomScale)).round().toNumber();this.zoomByWidth(s,t)}zoomByPercent(e,t=!0){e=this.getConstrainedZoomPercent(e);let i=this.calculateWidthFromZoomRatioPercent(e);return this.zoomByWidth(i,this.resolveZoomFocus(),t),this.getZoomPercent()}zoomByWidth(e,t,i=!0){let s=this.getTimecodedGroupPosition().x,n=this.getTimecodedGroupDimension().width;e=this.getConstrainedWidth(e);let a=this.calculateNewPosition(e,t);this.hideThumbnailHover(),this.timecodedGroup.setAttrs({width:e,x:a}),this.timecodedGroupNodes.forEach(h=>{h.width(e)}),(this.getTimecodedGroupDimension().width!==n||this.getTimecodedGroupPosition().x!==s)&&(i?this.scrollbar.updateScrollHandle(this):this.playheadHover.toggleVisible(!1),this.setHorizontalScrollPercent(this.scrollbar.getScrollHandlePercent()),this.onZoom$.next(this.createZoomEvent()),this.onScroll$.next(this.createScrollEvent()))}calculateNewPosition(e,t=0){let i=this.getTimecodedGroupPosition().x,s=this.getTimecodedGroupDimension().width,n=this.getTimecodedContainerRect(),a=e>s?"IN":"OUT",o=i;if(e===n.width)o=0;else if(e>n.width){if(t>0){let h=new Z(t).div(s);if(h.greaterThanOrEqualTo(0)&&h.lessThanOrEqualTo(1)){let l=e-s,d=h.mul(l).abs().round().toNumber(),u=i+d*(a==="IN"?-1:1);o=u<0?u:0}}if(e>n.width){let h=n.x+n.width;o+e<=h&&(o=n.width-e)}}return o}resolveZoomFocus(){return this.videoController.isVideoLoaded()?this.resolvePlayheadSyncPosition():this.isSnappedStart()?0:this.isSnappedEnd()?this.getTimecodedGroupDimension().width:this.getTimecodedGroupDimension().width/2}calculateWidthFromZoomRatioPercent(e){return new Z(this.getTimecodedContainerDimension().width).mul(e).div(100).round().toNumber()}getConstrainedWidth(e){let t=this.getTimecodedContainerDimension();return e>=t.width?e<=this.maxTimecodedGroupWidth?e:this.maxTimecodedGroupWidth:t.width}getConstrainedZoomPercent(e){return e<this.zoomBaseline?this.zoomBaseline:e>this.zoomMax?this.zoomMax:e}getConstrainedScrollPercent(e){return e<0?0:e>100?100:e}playheadHoverMove(e){if(this.videoController.isVideoLoaded()&&this.playheadHover){let t=!1;if(!this.videoController.isPlaying()){let i=this.resolvePlayheadSyncPosition();e>i-this.playheadHoverSnapArea&&e<i+this.playheadHoverSnapArea&&(e=i,t=!0)}this.playheadHover.sync(e,t)}}resolvePlayheadSyncPosition(){return this.timeToTimelinePosition(this.videoController.getCurrentTime())}onVideoLoadedEvent(e){this.fireVideoEventBreaker(),this.clearContent(),this.syncVideoMetadata(),this.videoController.onVideoTimeChange$.pipe(I(this.videoEventBreaker$)).subscribe(t=>{this.syncVideoMetadata()}),this.videoController.onPlay$.pipe(I(this.videoEventBreaker$)).subscribe(t=>{this.updateScrollWithPlayhead()})}fireVideoEventBreaker(){this.videoEventBreaker$&&(this.videoEventBreaker$.next(),this.videoEventBreaker$.complete()),this.videoEventBreaker$=new V}setThumbnailVttFile(e){this.thumbnailVttFile=e}syncVideoMetadata(){this.scrollWithPlayhead&&!this.isPlayheadInTimecodedView()&&!this.syncTimelineWithPlayheadInProgress&&(this.syncTimelineWithPlayheadInProgress=!0,this.syncTimelineWithPlayhead().subscribe(e=>{this.syncTimelineWithPlayheadInProgress=!1}))}addLane(e){if(this.timelaneLanesMap.has(e.getId()))throw new Error(`TimelineLane with id=${e.getId()} already exist`);let t=this.timelaneLanes.length<1,i={...F.POSITION_TOP_LEFT};t||(i.y=this.timelaneLanes.map(s=>s.getRect().height).reduce((s,n)=>s+n,0)),e.setTimeline(this),e.setVideoController(this.videoController),e.setTimelinePosition(i),e.initCanvasNode(),this.timelaneLanes.push(e),this.timelaneLanesMap.set(e.getId(),e),this.bodyContentGroup.add(e.getCanvasNode()),this.settleLayout()}removeLane(e){if(!this.timelaneLanesMap.has(e))throw new Error(`TimelineLane with id=${e} doesn't exist`);let t=this.timelaneLanesMap.get(e);this.timelaneLanes.splice(this.timelaneLanes.findIndex(s=>s.getId()===e),1),this.timelaneLanesMap.delete(e),t.clearContent(),t.destroy();let i={...F.POSITION_TOP_LEFT};this.timelaneLanes.forEach(s=>{s.setTimelinePosition({...i}),i.y=i.y+s.getRect().height}),this.timelaneLanes.forEach(s=>{s.onMeasurementsChange()}),this.settleLayout()}getScrollbar(){return this.scrollbar}addLanes(e){e.forEach(t=>this.addLane(t))}getLanes(){return[...this.timelaneLanesMap.values()]}getLane(e){return this.timelaneLanesMap.get(e)}getScrubberLane(){return this.getLane(xa)}getMarkerLane(e){let t=this.getLane(e);return t instanceof Bs?t:void 0}getThumbnailLane(e){let t=this.getLane(e);return t instanceof js?t:void 0}getSubtitlesLane(e){let t=this.getLane(e);return t instanceof Us?t:void 0}getAudioTrackLane(e){let t=this.getLane(e);return t instanceof Rl?t:void 0}createMarkerLane(e){let t=new Bs(e);return this.addLane(t),t}createThumbnailLane(e){let t=new js(e);return this.addLane(t),t}createSubtitlesLane(e){let t=new Us(e);return this.addLane(t),t}isTimelineReady(){return this.videoController.isVideoLoaded()}addToTimecodedBaseGroup(e){this.timecodedBaseGroup.add(e)}addToTimecodedSurfaceGroup(e){this.timecodedSurfaceGroup.add(e)}addToTimecodedMarkersGroup(e){this.timecodedMarkersGroup.add(e)}addToTimecodedThumbnailsGroup(e){this.timecodedThumbnailsGroup.add(e)}addToTimecodedSubtitlesGroup(e){this.timecodedSubtitlesGroup.add(e)}addToTimecodedAudioGroup(e){this.timecodedAudioGroup.add(e)}constrainTimelinePosition(e){let t=this.getTimecodedGroupDimension();return e<0?0:e>t.width?t.width:e}timelinePositionToTime(e){let t=this.constrainTimelinePosition(e);return this.videoController.isVideoLoaded()?new Z(t).mul(this.videoController.getDuration()).div(this.getTimecodedGroupDimension().width).toNumber():0}timelinePositionToTimeFormatted(e){return this.videoController.isVideoLoaded()?this.videoController.formatTimestamp(this.timelinePositionToTime(e)):""}timelinePositionToFrame(e){return this.videoController.isVideoLoaded()?this.videoController.calculateTimeToFrame(this.timelinePositionToTime(e)):0}timeToTimelinePosition(e){return new Z(e).mul(this.getTimecodedGroupDimension().width).div(this.videoController.getDuration()).toNumber()}getConstrainedTimelineX(e){let t=this.getTimecodedGroupDimension(),i=this.getTimecodedContainerDimension();if(t.width<=i.width)return 0;{let s=i.width-t.width;return e<s?s:e>0?0:e}}getBodyGroupRect(){return{...this.bodyGroup.getPosition(),...this.bodyGroup.getSize()}}getLeftPanelRect(){return{...this.leftPanel.getPosition(),...this.leftPanel.getSize()}}getLeftPanelVisible(){return this.leftPanelVisible}getRightPanelRect(){return{...this.rightPanel.getSize(),...this.rightPanel.getPosition()}}getTimecodedContainerDimension(){return this.timecodedContainer.getSize()}getTimecodedContainerPosition(){return this.timecodedContainer.getPosition()}getTimecodedContainerRect(){return{...this.getTimecodedContainerDimension(),...this.getTimecodedContainerPosition()}}getTimecodedGroupDimension(){return this.timecodedGroup.getSize()}getTimecodedGroupPosition(){return this.timecodedGroup.getPosition()}getTimecodedGroupRect(){return{...this.timecodedGroup.getPosition(),...this.timecodedGroup.getSize()}}getTimecodedGroupHorizontalMeasurement(){return{x:this.timecodedGroup.x(),width:this.timecodedGroup.width()}}getRelativePointerPosition(){return this.timecodedGroup.getRelativePointerPosition()}getLayoutGroupDimension(){return this.layoutGroup.getSize()}getLayoutGroupPosition(){return this.layoutGroup.getPosition()}getRect(){return{...this.getLayoutGroupDimension(),...this.getLayoutGroupPosition()}}getVisiblePositionRange(){let e=Math.abs(this.timecodedGroup.x()),t=e+this.timecodedContainer.width();return{start:e,end:t}}isInVisiblePositionRange(e){let t=this.getVisiblePositionRange();return e>=t.start&&e<=t.end}isSnappedStart(){return this.getTimecodedGroupPosition().x===0}isSnappedEnd(){return this.getTimecodedContainerDimension().width-this.getTimecodedGroupDimension().width===this.getTimecodedGroupPosition().x}getVisibleTimeRange(){let e=this.getVisiblePositionRange(),t=this.timelinePositionToTime(e.start),i=this.timelinePositionToTime(e.end);return{start:t,end:i}}getZoomBaseline(){return this.zoomBaseline}getZoomMax(){return this.zoomMax}fetchThumbnailVttFile(){return this.thumbnailVttUrl?ss.create(this.thumbnailVttUrl,this.axiosConfig).pipe(ke(e=>(this.thumbnailVttFile=e,e)),gi((e,t)=>Ee(void 0))):Ee(void 0)}toggleLeftPanelVisible(e){this.leftPanelVisible=e,this.leftPanel.visible(e),this.settleLayout(),this.timelaneLanes.forEach(t=>{t.onMeasurementsChange()}),this.headerTimecodeDisplay.setVisible(!e)}clearContent(){this.setThumbnailVttFile(void 0),this.timelaneLanes.forEach(e=>{e.clearContent()}),this.zoomByPercent(this.zoomBaseline)}}class qs{static timeToFrame(e,t){return t.mul(e).floor().toNumber()}static frameToTime(e,t){return new Z(e).dividedBy(t).toNumber()}}function Wm(r){r.next(),r.complete()}class ti{constructor(){this.resolveUserAgent()}static instance(){return ti._instance||(ti._instance=new ti),ti._instance}resolveUserAgent(){this._userAgent=window.navigator&&window.navigator.userAgent||"",this._isAndroid=/Android/i.test(this._userAgent),this._isFirefox=/Firefox/i.test(this._userAgent),this._isEdge=/Edg/i.test(this._userAgent),this._isChromium=/Chrome/i.test(this._userAgent)||/CriOS/i.test(this._userAgent),this._isChrome=!this.isEdge&&this.isChromium,this._isSafari=/Safari/i.test(this._userAgent)&&!this.isChrome&&!this.isAndroid&&!this.isEdge}get isSafari(){return this._isSafari}get isFirefox(){return this._isFirefox}get isEdge(){return this._isEdge}get isChromium(){return this._isChromium}get isChrome(){return this._isChrome}get isAndroid(){return this._isAndroid}}const Qe=class{static formatVideoTimestamp(r,e){if(r<=0)return Qe.VIDEO_ZERO_TIMESTAMP;const t=Math.floor(r/3600),i=Math.floor(r%3600/60),s=Math.floor(r%60);let n=new Z(qs.timeToFrame(r,e)).mod(e).toNumber();return`${Qe.padZero(t)}:${Qe.padZero(i)}:${Qe.padZero(s)}:${Qe.padZero(n)}`}static padZero(r,e=2){return r.toString().padStart(e,"0")}};let Ys=Qe;Ys.VIDEO_ZERO_TIMESTAMP=`${Qe.padZero(0)}:${Qe.padZero(0)}:${Qe.padZero(0)}:${Qe.padZero(0)}`;class Um{constructor(){this._state={playing:!1,paused:!0,waiting:!1,seeking:!1,buffering:!1,ended:!1},this.onChange$=new Qt(this._state)}updateState(e){let t={...this._state,...e},i=this.compare(this._state,t)===0;this._state=t,i||this.onChange$.next(this._state)}compare(e,t){return e.playing===t.playing&&e.paused===t.paused&&e.waiting===t.waiting&&e.seeking===t.seeking&&e.buffering===t.buffering&&e.ended===t.ended?0:-1}get state(){return this._state}setPlaying(){this.updateState({playing:!0,paused:!1,waiting:!1,seeking:!1,buffering:!1,ended:!1})}setPaused(){this.updateState({playing:!1,paused:!0,waiting:!1,seeking:!1,buffering:!1,ended:!1})}setEnded(){this.updateState({playing:!1,paused:!0,waiting:!1,seeking:!1,buffering:!1,ended:!0})}set waiting(e){this.updateState({waiting:e})}set seeking(e){this.updateState({seeking:e})}set buffering(e){this.updateState({buffering:e})}}function Pa(r){let e;return typeof r=="string"?e=r:r instanceof it?(console.log(r),e=r.errors.map(t=>t.message).join(". ")):r instanceof Error?e=r.message:e="Unexpected error",e}function Zm(r){return{errorMap:(e,t)=>({message:r})}}const We={PAUSE:"pause",WAITING:"waiting",PLAYING:"playing",TIMEUPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",LOADEDDATA:"loadeddata",LOADEDMETEDATA:"loadedmetadata",ENDED:"ended",PROGRESS:"progress"};class jm{constructor(e,t){if(this.browserProvider=ti.instance(),this.helpMenuGroups=[],this._isVideoLoaded=!1,this.frameDurationSpillOverCorrection=1e-6,this.syncLoopMaxIterations=20,this.seekInProgress=!1,this.videoStalledCheckIntervalMs=700,this.videoFrameCallback$=new Qt(null),this.videoEventBreaker$=new V,this.seekBreaker$=new V,this.onVideoLoaded$=new Qt(void 0),this.onVideoLoading$=new V,this.onPlay$=new V,this.onPause$=new V,this.onVideoTimeChange$=new V,this.onSeeking$=new V,this.onSeeked$=new V,this.onBuffering$=new V,this.onEnded$=new V,this.onAudioSwitched$=new V,this.onPlaybackState$=new V,this.onHelpMenuChange$=new Qt(void 0),this.onVideoError$=new V,this.domController=e,this.crossorigin=t,this.videoElement=this.domController.videoElement,this.videoElement.crossOrigin=this.crossorigin,!this.videoElement)throw new Error("VideoController element not set");this.videoFrameCallback$.subscribe(i=>{i&&(this.seekInProgress||(this.isPlaying()?this.videoTimeChangeHandlerExecutor():this.isPaused()))})}loadVideo(e,t,i){try{return e=ai.url()(e),t=_e.coerce.number().min(0).max(100).parse(t,Zm("Invalid frameRate")),this.onVideoLoading$.next({sourceUrl:e,frameRate:t}),this._isVideoLoaded=!1,this.video=void 0,this.detachVideoEventListeners(),this.videoLoad(e,t,i).pipe(ke(s=>(this.video=s,this.frameRateDecimal=new Z(this.video.frameRate),this.syncStepCurrentTimeMediaTime=new Z(this.video.frameDuration).div(10).toNumber(),this.playbackStateMachine=new Um,this.initEventHandlers(),this.startVideoFrameCallback(),this._isVideoLoaded=!0,this.onVideoLoaded$.next({video:this.video}),s)),gi((s,n)=>{let a=Pa(s);return this.onVideoError$.next({type:"VIDEO_LOAD_ERROR",message:a}),Kn(()=>new Error(a))}))}catch(s){let n=Pa(s);return this.onVideoError$.next({type:"VIDEO_LOAD_ERROR",message:n}),Kn(()=>new Error(n))}}initEventHandlers(){be(this.videoElement,We.PAUSE).pipe(I(this.videoEventBreaker$)).subscribe(e=>{if(this.browserProvider.isSafari){let t=this.getCurrentTime()+this.video.frameDuration;this._seekTimeAndSyncNoEmitEvents(t).subscribe(i=>{this.videoTimeChangeHandlerExecutor(),this.onPause$.next({})})}else this.syncVideoFrames({}).subscribe(t=>{this.videoTimeChangeHandlerExecutor(),this.onPause$.next({})})}),be(this.videoElement,We.WAITING).pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.waiting=!0}),be(this.videoElement,We.PLAYING).pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.setPlaying(),this.videoStalledCheckLastCurrentTime=void 0}),be(this.videoElement,We.PAUSE).pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.setPaused(),this.videoStalledCheckLastCurrentTime=void 0}),be(this.videoElement,We.TIMEUPDATE).pipe(I(this.videoEventBreaker$)).subscribe(e=>{}),be(this.videoElement,We.PROGRESS).pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.onBuffering$.next({bufferedTimespans:this.getBufferedTimespans()})}),be(this.videoElement,We.ENDED).pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.onEnded$.next({})}),this.playbackStateMachine.onChange$.pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.onPlaybackState$.next(e)}),this.onPlay$.pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.setPlaying(),this.videoStalledCheckLastCurrentTime=void 0}),this.onPause$.pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.setPaused(),this.videoStalledCheckLastCurrentTime=void 0}),this.onSeeking$.pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.seeking=!0}),this.onSeeked$.pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.seeking=!1}),this.onEnded$.pipe(I(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.setEnded(),this.videoStalledCheckLastCurrentTime=void 0}),zu(this.videoStalledCheckIntervalMs).pipe(I(this.videoEventBreaker$)).subscribe(e=>{let t=this.getCurrentTime();if(!this.videoStalledCheckLastCurrentTime){this.videoStalledCheckLastCurrentTime=t;return}if(this.playbackStateMachine.state.playing){let i=this.videoStalledCheckIntervalMs*.8/1e3*this.getPlaybackRate(),s=this.videoStalledCheckLastCurrentTime+i,n=t<s;this.playbackStateMachine.waiting=n,this.videoStalledCheckLastCurrentTime=t}})}getBufferedTimespans(){if(!this.isVideoLoaded())return[];let e=[],t=this.videoElement.buffered;for(let i=0;i<t.length;i++)e.push({start:t.start(i),end:t.end(i)});return e}startVideoFrameCallback(){let e=()=>{this.videoFrameCallbackHandle=this.videoElement.requestVideoFrameCallback((i,s)=>{t({now:i,metadata:s})})},t=i=>{this.videoFrameCallback$.next(i),e()};e()}detachVideoEventListeners(){this.videoEventBreaker$&&(this.videoEventBreaker$.next(),this.videoEventBreaker$.complete()),this.videoEventBreaker$=new V,this.videoElement&&this.videoFrameCallbackHandle&&this.videoElement.cancelVideoFrameCallback(this.videoFrameCallbackHandle)}syncVideoFrames(e){return console.debug("syncFrames - START",e),new se(t=>{let i=new Qt(!1),s=new V,n=this.syncLoopMaxIterations;this.seekBreaker$.pipe(I(s)).subscribe(()=>{console.debug("%csyncFrames - seek breaker triggered","color: gray"),i.next(!0),a()});let a=()=>{Wm(s),t.next(),t.complete(),console.debug("%csyncFrames - END","color: gray")},o=h=>{i.pipe(ct(1)).subscribe(l=>{l?console.debug("%csyncFrames - seek skipped, breaker already triggered","color: gray"):this._seekTimeFireAndForget(h)})};if(this.isPlaying())console.debug("%csyncFrames - SKIPPED: video is playing","color: gray"),a();else{let h=u=>{let c=this.getCurrentTime(),p=this.calculateTimeToFrame(c),f=u?u.metadata.mediaTime:void 0,m=f?this.calculateTimeToFrame(f):void 0;if(this.isPlaying())return console.debug("%csyncFrames - UNKNOWN: video is playing","color: gray"),!0;if(p===0)return console.debug(`%csyncFrames - OK: currentTimeFrame[${p}] === 0`,"color: green"),!0;if(e.seekToFrame){if(e.seekToFrame===p&&(p===m||!m))return console.debug(`%csyncFrames - OK: ((currentTimeFrame[${p}] === mediaTimeFrame[${m}]) || !mediaTimeFrame[${m}])`,"color: green"),!0}else if(p===m||!m)return console.debug(`%csyncFrames - OK: currentTimeFrame[${p}] === mediaTimeFrame[${m}]`,"color: green"),!0;return!1},l,d=u=>{if(console.debug(`syncFrames.syncLoop - START (${this.syncLoopMaxIterations-n})`,{syncConditions:e,videoFrameCallbackData:u,dropped:this.videoElement.getVideoPlaybackQuality()}),this.isPlaying()){a();return}if(h(u)){a();return}let c=this.getCurrentTime(),p=this.calculateTimeToFrame(c),f=u?u.metadata.mediaTime:void 0,m=f?this.calculateTimeToFrame(f):void 0;if(n--<=0){console.debug(`%csyncFrames - TOO MANY SYNCs, EXITING.. : currentTime[${c}], mediaTime[${f}], currentTimeFrame[${p}], mediaTimeFrame[${m}]`,"color: red"),a();return}if(console.debug(`syncFrames - currentTime[${c}], mediaTime[${f}], currentTimeFrame[${p}], mediaTimeFrame[${m}], `),e.seekToFrame)if(l||(l=c),e.seekToFrame===p)if(p===m||!m)console.debug(`%csyncFrames - OK: ((currentTimeFrame[${p}] === mediaTimeFrame[${m}]) || !mediaTimeFrame[${m}])`,"color: green"),a();else{console.debug(`%csyncFrames - CORRECTION SEEK TO FRAME; currentTimeFrame[${p}] ${p>m?">":"<"} mediaTimeFrame[${m}]`,"color: red");let v=Math.abs(p-m);console.debug(`%csyncFrames - frameDiff: ${v}`,"color: orange");let _=this.syncStepCurrentTimeMediaTime*(p>m?1:-1);o(Z.add(c,_).toNumber())}else{console.debug(`%csyncFrames - CORRECTION SEEK TO FRAME; syncConditions.seekToFrame[${e.seekToFrame}] !== currentTimeFrame[${p}] | seekToFrameTimeBaseline=${l}`,"color: red");let v=Math.abs(e.seekToFrame-p),_=v*this.video.frameDuration,b=(e.seekToFrame>=p?Z.add(l,_):Z.sub(l,_)).toNumber();l=b,console.debug(`%csyncFrames - frameDiff: ${v}`,"color: orange"),console.debug(`%csyncFrames - frameCorrectionTime: ${_}`,"color: orange"),console.debug(`%csyncFrames - seekTo: ${b}`,"color: orange"),o(b)}else p===m||!m?(console.debug(`%csyncFrames - OK: currentTimeFrame[${p}] === mediaTimeFrame[${m}]`,"color: green"),a()):(console.debug(`%csyncFrames - CORRECTION; currentTimeFrame[${p}] ${p>m?">":"<"} mediaTimeFrame[${m}]`,"color: red"),p>m?o(Z.add(c,this.syncStepCurrentTimeMediaTime).toNumber()):o(f+this.syncStepCurrentTimeMediaTime));console.debug("syncFrames.syncLoop - END")};this.videoFrameCallback$.pipe(ju((e.seekToFrame,0)),I(s)).subscribe(u=>{console.debug("syncFrames.syncLoop - videoFrameCallback$ trigger",u),d(u)})}})}seekTimeAndSync(e,t={}){return new se(i=>{this.seekInProgress&&(this.seekBreaker$.next(),this.seekBreaker$.complete(),this.seekBreaker$=new V),this.seekInProgress=!0,isNaN(e)||(e=e<0?0:e>this.getDuration()?this.getDuration():e,be(this.videoElement,We.SEEKING).pipe(I(this.seekBreaker$),ct(1)).subscribe(s=>{this.onSeeking$.next({newTime:e,currentTime:this.getCurrentTime()})}),be(this.videoElement,We.SEEKED).pipe(I(this.seekBreaker$),ct(1)).subscribe(s=>{this.syncVideoFrames(t).subscribe(n=>{this.onSeeked$.next({currentTime:this.getCurrentTime()}),this.seekInProgress=!1,i.next(!0),i.complete(),this.videoTimeChangeHandlerExecutor()})}),console.debug(`Seeking to timestamp: ${e}`),this.setCurrentTime(e))})}_seekTimeFireAndForget(e){if(!isNaN(e)){let t=this.getCurrentTime();e=e<0?0:e>this.getDuration()?this.getDuration():e;let i=e>t?"FORWARD":"BACKWARD",s=Z.sub(t,e).abs();console.debug(`Seeking from currentTime[${t}] to newTime[${e}], direction: ${i} ${s.toNumber()}`),this.setCurrentTime(e)}}_seekTimeAndSyncNoEmitEvents(e){return this.isPlaying()?Ee(!1):new se(t=>{isNaN(e)||(e=e<0?0:e>this.getDuration()?this.getDuration():e,be(this.videoElement,We.SEEKED).pipe(hi()).subscribe(i=>{this.syncVideoFrames({}).subscribe(s=>{t.next(!0),t.complete(),this.videoTimeChangeHandlerExecutor()})}),console.debug(`Seeking ${e}`),this.setCurrentTime(e))})}seekFromCurrentTimeAndSync(e,t={}){let i=this.getCurrentTime(),s=Z.add(i,e).toNumber(),n=s>i?"FORWARD":"BACKWARD",a=Z.sub(i,s).abs().toNumber();return console.debug(`Seeking from currentTime ${i} to ${s}, direction: ${n} ${a}`),this.seekTimeAndSync(s,t)}setCurrentTime(e){this.videoElement.currentTime=e}getFrameRateDecimal(){return this.frameRateDecimal}_seekToFrame(e){if(!this.isPlaying()&&!isNaN(e)){if(console.debug(`Seeking to frame: ${e}`),e<=0)return this.seekTimeAndSync(0,{});{let t=this.calculateFrameToTime(e)+new Z(this.frameDurationSpillOverCorrection).toNumber(),i=this.calculateTimeToFrame(t);return i!==e?(console.error(`Frame numbers don't match. Wanted: ${e}, calculated: ${i}`),Ee(!1)):this.seekTimeAndSync(t,{seekToFrame:e,seekToTimestamp:t,currentTime:this.getCurrentTime()}).pipe(ke(s=>s))}}}_seekFromCurrentFrame(e){let t=this.getCurrentFrame(),i=t+e;if(console.debug(`seekFromCurrentFrame - Current frame: ${t}, wanted frame: ${i}`),t!==i){if(i<=0)return this._seekToFrame(0);if(i>=this.getTotalFrames())return this._seekToFrame(this.getTotalFrames());{let s=this.calculateFrameToTime(e);return this.seekFromCurrentTimeAndSync(s,{seekToFrame:i,currentTime:this.getCurrentTime()}).pipe(ke(n=>n))}}else return Ee(!0)}videoTimeChangeHandlerExecutor(){let e=this.getCurrentTime(),t=this.getCurrentFrame();this.onVideoTimeChange$.next({currentTime:e,frame:t})}getPlaybackState(){return this.playbackStateMachine.state}getVideo(){return this.isVideoLoaded()?this.video:void 0}getHTMLVideoElement(){return this.videoElement}calculateTimeToFrame(e){return qs.timeToFrame(e,this.getFrameRateDecimal())}calculateFrameToTime(e){return qs.frameToTime(e,this.getFrameRateDecimal())}play(){this.isVideoLoaded()&&!this.isPlaying()&&this.videoElement.play().then(()=>{this.onPlay$.next({})})}pause(){this.isVideoLoaded()&&this.isPlaying()&&this.videoElement.pause()}togglePlayPause(){this.isPlaying()?this.pause():this.play()}isPlaying(){return this.isVideoLoaded()&&this.videoElement.currentTime>0&&this.videoElement.currentTime<this.getDuration()&&!this.videoElement.paused&&!this.videoElement.ended&&this.videoElement.readyState>this.videoElement.HAVE_CURRENT_DATA}isPaused(){return!this.isPlaying()}isSeeking(){return this.seekInProgress}getCurrentTime(){return this.isVideoLoaded()?this.videoElement.currentTime:0}getPlaybackRate(){return this.isVideoLoaded()?this.videoElement.playbackRate:0}setPlaybackRate(e){if(this.isVideoLoaded()){try{e=_e.coerce.number().min(.1).max(16).default(1).parse(e)}catch{e=1}this.videoElement.playbackRate=e}}getVolume(){return this.isVideoLoaded()?this.videoElement.volume:0}setVolume(e){if(this.isVideoLoaded()){try{e=_e.coerce.number().min(0).max(1).default(1).parse(e)}catch{e=1}this.videoElement.volume=e}}getDuration(){return this.isVideoLoaded()?this.video.duration:0}getFrameRate(){return this.isVideoLoaded()?this.video.frameRate:0}getTotalFrames(){return this.isVideoLoaded()?this.video.totalFrames:0}getCurrentFrame(){return this.isVideoLoaded()?this.calculateTimeToFrame(this.getCurrentTime()):0}seekToFrame(e){return this.isVideoLoaded()?(e=_e.coerce.number().min(0).max(this.getTotalFrames()).parse(e),this._seekToFrame(e)):Ee(!1)}seekFromCurrentFrame(e){return this.isVideoLoaded()?(e=_e.coerce.number().parse(e),this._seekFromCurrentFrame(e)):Ee(!1)}seekPreviousFrame(){return this.isVideoLoaded()?this.seekFromCurrentFrame(-1):Ee(!1)}seekNextFrame(){return this.isVideoLoaded()?this.seekFromCurrentFrame(1):Ee(!1)}seekToTimestamp(e){return this.isVideoLoaded()?(e=_e.coerce.number().parse(e),this.seekTimeAndSync(e)):Ee(!1)}formatTimestamp(e){return this.isVideoLoaded()?(e=_e.coerce.number().min(0).max(this.getDuration()).parse(e),Ys.formatVideoTimestamp(e,this.getFrameRateDecimal())):Ys.VIDEO_ZERO_TIMESTAMP}mute(){this.isVideoLoaded()&&(this.videoElement.muted=!0)}unmute(){this.isVideoLoaded()&&(this.videoElement.muted=!1)}isFullscreen(){return this.isVideoLoaded()?this.domController.isFullscreen():!1}toggleFullscreen(){this.isVideoLoaded()&&this.domController.toggleFullscreen(this.videoElement)}getAudioTracks(){throw new Error("unsupported")}getCurrentAudioTrack(){throw new Error("unsupported")}setAudioTrack(e){throw new Error("unsupported")}isVideoLoaded(){return this._isVideoLoaded}getHls(){throw new Error("Unsupported or video not loaded with Hls.js")}addHelpMenuGroup(e){this.helpMenuGroups.push(e),this.onHelpMenuChange$.next()}getHelpMenuGroups(){return this.helpMenuGroups}destroy(){this.videoEventBreaker$&&(this.videoEventBreaker$.next(),this.videoEventBreaker$.complete()),this.videoElement=null,this.domController=null,this._isVideoLoaded=!1}}class Xm{constructor(e,t,i,s){this._element=e,this._sourceUrl=t,this._frameRate=i,this._duration=s,this._totalFrames=new Z(this._duration).mul(this._frameRate).toNumber(),this._frameDuration=new Z(1).div(this._frameRate).toNumber()}get element(){return this._element}get sourceUrl(){return this._sourceUrl}get frameRate(){return this._frameRate}get duration(){return this._duration}get totalFrames(){return this._totalFrames}get frameDuration(){return this._frameDuration}}class qm extends jm{constructor(e,t){super(e,t),ze.isSupported()?console.debug("video load with hls.js"):console.error("hls is not supported through MediaSource extensions");let i={...ze.DefaultConfig,enableWorker:!1};this.hls=new ze(i)}videoLoad(e,t,i){return new se(s=>{this.hls.on(ze.Events.ERROR,function(h,l){l.type;let d=l.details;l.fatal,d.includes("audioTrackLoadError")||(s.error(`Error loading video. Hls error details: ${d}`),s.complete())});let n=new se(h=>{this.hls.once(ze.Events.MEDIA_ATTACHED,function(l,d){console.debug("video element and hls.js are now bound together"),h.next(!0),h.complete()})}),a=new se(h=>{this.hls.once(ze.Events.MANIFEST_PARSED,function(l,d){console.debug("manifest loaded, found "+d.levels.length+" quality level"),h.next(!0),h.complete()})}),o=be(this.videoElement,We.LOADEDDATA).pipe(hi());Gu([n,a,o]).pipe(hi()).subscribe(h=>{i=i&&_e.coerce.number().parse(i),i=i||this.videoElement.duration;let l=new Xm(this.videoElement,e,t,i);s.next(l),s.complete()}),this.hls.loadSource(e),this.hls.attachMedia(this.videoElement)})}initEventHandlers(){super.initEventHandlers(),this.hls.on(ze.Events.ERROR,function(e,t){t.type,t.details,t.fatal,console.error(e,t),(t.details===ze.ErrorDetails.BUFFER_STALLED_ERROR||t.details===ze.ErrorDetails.BUFFER_APPEND_ERROR||t.details===ze.ErrorDetails.BUFFER_APPENDING_ERROR)&&(this.videoPlaybackStateHolder.buffering=!0)})}getAudioTracks(){return this.isVideoLoaded?this.hls.audioTracks:null}getCurrentAudioTrack(){return this.getAudioTracks()[this.hls.audioTrack]}setAudioTrack(e){if(!this.isVideoLoaded)return null;let t=this.hls.audioTrack;this.hls.audioTrack=e;let i=this.hls.audioTrack;i>=0&&t!==i&&this.onAudioSwitched$.next({audioTrack:this.getCurrentAudioTrack()})}getHls(){return this.hls}}class Ym{constructor(e){this.hidden=!0,this.id=e.id,this.src=e.src,this.default=e.default,this.label=e.label,this.language=e.language,this.cues=[]}}class Km extends Ym{constructor(e){super(e)}}class Sn{constructor(e){this.subtitlesTracks=new Map,this.onCreate$=new V,this.onRemove$=new V,this.onShow$=new V,this.onHide$=new V,this.videoController=e,this.videoController.onVideoLoaded$.pipe($e(t=>!!t)).subscribe(t=>{this.removeAllTracks()})}getDomTextTrack(e){let t=this.videoController.getHTMLVideoElement().textTracks.getTrackById(e.id);if(t.kind==="subtitles")return t}removeDomTextTrack(e){return this.getDomTextTrack(e)?(this.videoController.getHTMLVideoElement().querySelectorAll("track").forEach(i=>{i.getAttribute("id")===e.id&&i.parentElement.removeChild(i)}),!0):!1}static createHTMLTrackElement(e){let t=document.createElement("track");return t.kind="subtitles",t.id=e.id,t.label=e.label,t.srclang=e.language,t.src=e.src,t.default=e.default,t}createVttTrack(e){return this.videoController.isVideoLoaded?new se(t=>{let i=new Km({...e});this.subtitlesTracks.has(i.id)&&this.removeTrack(i.id),i.element=Sn.createHTMLTrackElement(i),be(i.element,"load").pipe(hi()).subscribe(n=>{this.subtitlesTracks.set(i.id,i),t.next(i),t.complete(),this.onCreate$.next({textTrack:i})}),this.videoController.getHTMLVideoElement().appendChild(i.element);let s=this.getDomTextTrack(i);s.mode="hidden"}):Ee(void 0)}getTracks(){if(this.videoController.isVideoLoaded)return[...this.subtitlesTracks.values()]}removeAllTracks(){this.videoController.isVideoLoaded&&this.subtitlesTracks.forEach((e,t)=>{this.removeTrack(e.id)})}removeTrack(e){if(!this.videoController.isVideoLoaded)return;let t=this.subtitlesTracks.get(e);t&&(this.subtitlesTracks.delete(e),this.removeDomTextTrack(t),this.onRemove$.next({}))}getCurrentTrack(){return this.currentTrack}showTrack(e=void 0){if(!this.videoController.isVideoLoaded||(e=e||(this.getCurrentTrack()?this.getCurrentTrack().id:void 0),!e))return;let t=this.subtitlesTracks.get(e);if(t){let i=this.getDomTextTrack(t);if(i){for(let s=0;s<this.videoController.getHTMLVideoElement().textTracks.length;s++){let n=this.videoController.getHTMLVideoElement().textTracks[s];n.mode="hidden"}i.mode="showing",t.hidden=!1,this.currentTrack=t,this.onShow$.next({})}}}hideTrack(e=void 0){if(!this.videoController.isVideoLoaded||(e=e||(this.getCurrentTrack()?this.getCurrentTrack().id:void 0),!e))return;let t=this.subtitlesTracks.get(e);if(t){let i=this.getDomTextTrack(t);i&&(i.mode="hidden",t.hidden=!0,this.onHide$.next({}))}}destroy(){this.removeAllTracks(),this.videoController=null,this.videoController=void 0}}var Ks={},Jm={get exports(){return Ks},set exports(r){Ks=r}};(function(r){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function s(h,l,d){this.fn=h,this.context=l,this.once=d||!1}function n(h,l,d,u,c){if(typeof d!="function")throw new TypeError("The listener must be a function");var p=new s(d,u||h,c),f=t?t+l:l;return h._events[f]?h._events[f].fn?h._events[f]=[h._events[f],p]:h._events[f].push(p):(h._events[f]=p,h._eventsCount++),h}function a(h,l){--h._eventsCount===0?h._events=new i:delete h._events[l]}function o(){this._events=new i,this._eventsCount=0}o.prototype.eventNames=function(){var l=[],d,u;if(this._eventsCount===0)return l;for(u in d=this._events)e.call(d,u)&&l.push(t?u.slice(1):u);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(d)):l},o.prototype.listeners=function(l){var d=t?t+l:l,u=this._events[d];if(!u)return[];if(u.fn)return[u.fn];for(var c=0,p=u.length,f=new Array(p);c<p;c++)f[c]=u[c].fn;return f},o.prototype.listenerCount=function(l){var d=t?t+l:l,u=this._events[d];return u?u.fn?1:u.length:0},o.prototype.emit=function(l,d,u,c,p,f){var m=t?t+l:l;if(!this._events[m])return!1;var v=this._events[m],_=arguments.length,w,b;if(v.fn){switch(v.once&&this.removeListener(l,v.fn,void 0,!0),_){case 1:return v.fn.call(v.context),!0;case 2:return v.fn.call(v.context,d),!0;case 3:return v.fn.call(v.context,d,u),!0;case 4:return v.fn.call(v.context,d,u,c),!0;case 5:return v.fn.call(v.context,d,u,c,p),!0;case 6:return v.fn.call(v.context,d,u,c,p,f),!0}for(b=1,w=new Array(_-1);b<_;b++)w[b-1]=arguments[b];v.fn.apply(v.context,w)}else{var T=v.length,M;for(b=0;b<T;b++)switch(v[b].once&&this.removeListener(l,v[b].fn,void 0,!0),_){case 1:v[b].fn.call(v[b].context);break;case 2:v[b].fn.call(v[b].context,d);break;case 3:v[b].fn.call(v[b].context,d,u);break;case 4:v[b].fn.call(v[b].context,d,u,c);break;default:if(!w)for(M=1,w=new Array(_-1);M<_;M++)w[M-1]=arguments[M];v[b].fn.apply(v[b].context,w)}}return!0},o.prototype.on=function(l,d,u){return n(this,l,d,u,!1)},o.prototype.once=function(l,d,u){return n(this,l,d,u,!0)},o.prototype.removeListener=function(l,d,u,c){var p=t?t+l:l;if(!this._events[p])return this;if(!d)return a(this,p),this;var f=this._events[p];if(f.fn)f.fn===d&&(!c||f.once)&&(!u||f.context===u)&&a(this,p);else{for(var m=0,v=[],_=f.length;m<_;m++)(f[m].fn!==d||c&&!f[m].once||u&&f[m].context!==u)&&v.push(f[m]);v.length?this._events[p]=v.length===1?v[0]:v:a(this,p)}return this},o.prototype.removeAllListeners=function(l){var d;return l?(d=t?t+l:l,this._events[d]&&a(this,d)):(this._events=new i,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,r.exports=o})(Jm);const Qm={OMAKASE_SUBTITLES_HIDE:"omakaseSubtitlesHide",OMAKASE_TIMELINE_ZOOM:"omakaseTimelineZoom",OMAKASE_VIDEO_LOADED:"omakaseVideoLoaded",OMAKASE_VIDEO_PAUSE:"omakaseVideoPause",OMAKASE_VIDEO_PLAY:"omakaseVideoPlay",OMAKASE_VIDEO_SEEKED:"omakaseVideoSeeked",OMAKASE_VIDEO_SEEKING:"omakaseVideoSeeking",OMAKASE_VIDEO_BUFFERING:"omakaseVideoBuffering",OMAKASE_VIDEO_ENDED:"omakaseVideoEnded",OMAKASE_VIDEO_TIME_CHANGE:"omakaseVideoTimeChange",OMAKASE_VIDEO_AUDIO_SWITCHED:"omakaseVideoAudioSwitched",OMAKASE_AUDIO_SWITCHED:"omakaseAudioSwitched",OMAKASE_SUBTITLES_CREATE:"omakaseSubtitlesCreate",OMAKASE_SUBTITLES_REMOVE:"omakaseSubtitlesRemove",OMAKASE_SUBTITLES_SHOW:"omakaseSubtitlesShow",OMAKASE_TIMELINE_SCROLL:"omakaseTimelineScroll"};class eg{constructor(e){this.onAudioSwitched$=new V,this.videoController=e}getAudioTracks(){return this.videoController.getAudioTracks()}getCurrentAudioTrack(){return this.videoController.getCurrentAudioTrack()}setAudioTrack(e){let t=this.getCurrentAudioTrack();this.videoController.setAudioTrack(e);let i=this.getCurrentAudioTrack();t!==i&&this.onAudioSwitched$.next({audioTrack:i})}}class Ei{static isFullscreenEnabled(){const e=document;return e.fullscreenEnabled||e.webkitFullscreenEnabled||!!e.webkitCancelFullScreen||e.mozFullScreenEnabled||e.msFullscreenEnabled||!1}static isFullscreen(){const e=document;return!!(e.fullscreenElement||e.webkitFullscreenElement||e.webkitCurrentFullScreenElement||e.mozFullScreenElement||e.msFullscreenElement)}static requestFullscreen(e,t){const i=e??document.documentElement,s=i.requestFullscreen||i.webkitRequestFullscreen||i.webkitRequestFullScreen||i.mozRequestFullScreen||i.msRequestFullscreen;if(!s)throw new Error("Unsupported");return s.call(i,t)}static exitFullscreen(){const e=document,t=e.exitFullscreen||e.webkitExitFullscreen||e.webkitCancelFullScreen||e.mozCancelFullScreen||e.msExitFullscreen;if(!t)throw new Error("Unsupported");return t.call(e)}}const fe={player:"omakase-player",playerWrapper:"omakase-player-wrapper",video:"omakase-video",videoControls:"omakase-video-controls",buttonPlay:"omakase-button-play",buttonPause:"omakase-button-pause",buttonLoading:"omakase-button-loading",buttonError:"omakase-button-error",buttonReplay:"omakase-button-replay",buttonHelp:"omakase-help-button",help:"omakase-help",helpMenu:"omakase-help-menu",errorMessage:"omakase-error-message"};class tg{constructor(e){this._playerHTMLElementId=e,this.divPlayer=this.getElementById(this._playerHTMLElementId),this.createDom()}createDom(){this.divPlayer.classList.add(`${fe.player}`),this.divPlayer.innerHTML=`<div class="${fe.playerWrapper}">
47
+ `)}function Ca(r){const e=(r%1).toFixed(3);r=Math.round(r-e);const t=Math.floor(r/3600),i=Math.floor((r-t*3600)/60),s=r-t*3600-i*60;return`${`${gr(t,2)}:`}${gr(i,2)}:${gr(s,2)}.${gr(e*1e3,3)}`}var wm={hlsSegment:mm,hlsSegmentPlaylist:gm};const Sm=Pl.parse,Tm=dm.compile,Cm=Ol.segment,Em=wm;var km={parse:Sm,compile:Tm,segment:Cm,hls:Em};class bn{constructor(e,t){this.cues=new Map,this.cuesKeysSorted=[],this.url=e,this.axiosConfig=t}fetch(){return Ki(Qp(this.getUrl(),this.axiosConfig)).pipe(ke(e=>{let t=e.data;try{return km.parse(t,{strict:!0,meta:!0}).cues.forEach(s=>{let n=this.mapCue(s);this.cues.set(n.startTime,n),this.cuesKeysSorted.push(n.startTime)}),this.cuesKeysSorted.sort((s,n)=>s-n),!0}catch(i){return console.error(i),!1}}))}getUrl(){return this.url}hasCues(){return this.cues&&this.cues.size>0}findCue(e){let t=this.findCues(e,e);if(t&&t.length===1)return t[0]}findCues(e,t){let i=this.findCueIndex(e),s=this.findCueIndex(t);return s===-1?[]:this.cuesKeysSorted.slice(i,s+1).map(n=>this.cues.get(n))}getCues(){return[...this.cues.values()]}findCueIndex(e){let t=0,i=this.cuesKeysSorted.length-1;for(;t<=i;){const s=Math.floor((t+i)/2);if(this.cuesKeysSorted[s]===e)return s;this.cuesKeysSorted[s]<e?t=s+1:i=s-1}return i===-1&&(i=0),i}}class _n extends bn{constructor(e,t){super(e,t)}static create(e,t){let i=new _n(e,t);return i.fetch().pipe(ke(s=>i))}mapCue(e){return{id:e.identifier,startTime:new Z(e.start).toDecimalPlaces(3).toNumber(),endTime:new Z(e.end).toDecimalPlaces(3).toNumber(),text:e.text}}}const Ea={listening:!0,style:{height:20,fill:"rgba(255,73,145)",opacity:1,visible:!0}};class xm extends Je{constructor(e,t){super({...Ea,...e,style:{...Ea.style,...e.style}}),this.textTrackCue=this.config.textTrackCue,this.x=this.config.x,this.width=this.config.width,this.listening=this.config.listening,this.subtitlesLane=t,this.subtitlesLane.onSettleLayout$.pipe(x(this.onDestroy$)).subscribe(()=>{let i=this.subtitlesLane.resolveItemHorizontalMeasurement(this.getTextTrackCue());this.setHorizontalMeasurement(i)})}createCanvasNode(){return this.group=new O.Group({x:this.x,y:0,width:this.width,height:this.style.height,visible:this.style.visible,listening:this.listening}),this.backgroundRect=new O.Rect({x:0,y:0,width:this.group.width(),height:this.group.height(),fill:this.style.fill,opacity:this.style.opacity,perfectDrawEnabled:!1,shadowForStrokeEnabled:!1,hitStrokeWidth:0}),this.group.add(this.backgroundRect),this.group}onMeasurementsChange(){this.backgroundRect.size(this.group.getSize())}setPosition(e){this.x=e.x,this.isInitialized()&&this.group.position({x:this.x,y:0})}getPosition(){return this.group.getPosition()}getDimension(){return this.group.getSize()}getRect(){return{...this.getPosition(),...this.getDimension()}}getHorizontalMeasurement(){return{x:this.x,width:this.width}}setHorizontalMeasurement(e){this.x=e.x,this.width=e.width,this.isInitialized()&&this.group.setAttrs({x:this.x,width:this.width}),this.onMeasurementsChange()}setVisible(e){this.style={visible:e},this.isInitialized()&&this.group.visible(e)}getTextTrackCue(){return this.textTrackCue}setTextTrackCue(e){this.textTrackCue=e}compareTo(e){return this.textTrackCue&&e&&this.getTextTrackCue().id===e.getTextTrackCue().id&&this.getTextTrackCue().startTime===e.getTextTrackCue().startTime&&this.getTextTrackCue().endTime===e.getTextTrackCue().endTime?0:-1}}const Pm={...Qi,height:40,paddingTop:0,paddingBottom:0,subtitlesLaneItemOpacity:.9,subtitlesLaneItemFill:"rgba(255,73,145)"};class Us extends er{constructor(e){super({...e,style:{...Pm,...e.style}}),this.subtitlesLaneItemsMap=new Map,this.onSettleLayout$=new V,this._subtitlesVttUrl=this.config.subtitlesVttUrl}createCanvasNode(){return super.createCanvasNode(),this.timecodedGroup=new O.Group({...this.timelinePosition,width:this.timeline.getTimecodedGroupDimension().width,height:this.bodyGroup.height()}),this.timecodedEventCatcher=yi.createEventCatcher({width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.subtitlesLaneItemsGroup=new O.Group({...F.POSITION_TOP_LEFT,y:this.style.paddingTop,width:this.timecodedGroup.width(),height:this.timecodedGroup.height()-(this.style.paddingTop+this.style.paddingBottom)}),this.timecodedGroup.add(this.timecodedEventCatcher),this.timecodedGroup.add(this.subtitlesLaneItemsGroup),this.timeline.addToTimecodedSubtitlesGroup(this.timecodedGroup),this.bodyGroup}settleLayout(){super.settleLayout(),this.timecodedGroup.setAttrs({...this.timelinePosition});let e=this.timeline.getTimecodedGroupHorizontalMeasurement();[this.timecodedGroup,this.timecodedEventCatcher,this.subtitlesLaneItemsGroup].forEach(t=>{t.width(e.width)}),this.onSettleLayout$.next()}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.fetchAndCreateSubtitles()}clearContent(){this.subtitlesVttFile=void 0,this.clearItems()}clearItems(){this.subtitlesLaneItemsMap.forEach(e=>e.destroy()),this.subtitlesLaneItemsMap.clear(),this.subtitlesLaneItemsGroup.destroyChildren()}createEntities(){if(!this.isVttLoaded())return;this.clearItems(),this.subtitlesVttFile.getCues().forEach(t=>{let i=this.resolveItemHorizontalMeasurement(t),s=new xm({...i,textTrackCue:t,style:{height:this.subtitlesLaneItemsGroup.height(),fill:this.style.subtitlesLaneItemFill,opacity:this.style.subtitlesLaneItemOpacity}},this);this.subtitlesLaneItemsMap.set(t.startTime,s),this.subtitlesLaneItemsGroup.add(s.initCanvasNode())})}resolveItemHorizontalMeasurement(e){let t=this.timeline.constrainTimelinePosition(this.timeline.timeToTimelinePosition(e.startTime)),i=this.timeline.constrainTimelinePosition(this.timeline.timeToTimelinePosition(e.endTime));return{x:t,width:i-t}}fetchAndCreateSubtitles(){this.fetchSubtitlesVttFile(this._subtitlesVttUrl).pipe(ct(1)).subscribe(e=>{this.subtitlesVttFile=e,this.createEntities()})}fetchSubtitlesVttFile(e){return e?_n.create(e).pipe(ke(t=>t),gi((t,i)=>Ee(void 0))):Ee(void 0)}isVttLoaded(){return!!this.subtitlesVttFile}get subtitlesVttUrl(){return this._subtitlesVttUrl}set subtitlesVttUrl(e){this._subtitlesVttUrl=e,this.clearContent(),this.fetchAndCreateSubtitles()}}const Am={listening:!1,style:{...F.POSITION_TOP_LEFT,...F.DIMENSION_ZERO,stroke:"rgba(255,73,145)",strokeWidth:5,visible:!1}};class Zs extends Je{constructor(e){super(vi(e,Am)),this.onClick$=new V,this.onMouseOver$=new V,this.onMouseMove$=new V,this.onMouseOut$=new V,this.onMouseLeave$=new V,this.listening=this.config.listening}createCanvasNode(){return this.group=new O.Group({x:this.style.x,y:this.style.y,width:this.style.width,height:this.style.height,visible:this.style.visible,listening:this.listening}),this.backgroundRect=new O.Rect({x:0,y:0,width:this.group.width(),height:this.group.height(),strokeWidth:this.style.strokeWidth,stroke:this.style.stroke}),this.group.add(this.backgroundRect),this.group}afterCanvasNodeInit(){this.group.on("click",e=>{this.onClick$.next({thumbnail:this})}),this.group.on("mouseover",e=>{this.onMouseOver$.next({thumbnail:this})}),this.group.on("mousemove",e=>{this.onMouseMove$.next({thumbnail:this})}),this.group.on("mouseout",e=>{this.onMouseOut$.next({thumbnail:this})}),this.group.on("mouseleave",e=>{this.onMouseLeave$.next({thumbnail:this})})}destroy(){super.destroy()}onMeasurementsChange(){this.backgroundRect.size(this.group.getSize())}setImage(e){this.image&&this.image.destroy(),this.image=e,this.style={width:e.width(),height:e.height()},this.group.setAttrs({...this.image.getSize()}),this.backgroundRect.setAttrs({...this.image.getSize()}),this.group.add(this.image)}setVisible(e){this.style={visible:e},this.isInitialized()&&this.group.visible(e)}setPosition(e){this.style={...e},this.isInitialized()&&this.group.position(e)}setVisibleAndX(e,t){this.style={visible:e,x:t},this.isInitialized()&&this.group.setAttrs({visible:e,x:t})}getPosition(){return this.group.getPosition()}getDimension(){return this.group.getSize()}setDimension(e){this.style={...e},this.isInitialized()&&this.group.size(e),this.onMeasurementsChange()}getRect(){return{...this.getPosition(),...this.getDimension()}}getThumbnailVttCue(){return this.thumbnailVttCue}setThumbnailVttCue(e){this.thumbnailVttCue=e}getImage(){return this.image}compareTo(e){return this.thumbnailVttCue&&e&&this.thumbnailVttCue.url===e.thumbnailVttCue.url?0:-1}}class ss extends bn{constructor(e,t){super(e,t)}static create(e,t){let i=new ss(e,t);return i.fetch().pipe(ke(s=>i))}mapCue(e){return{id:e.identifier,startTime:new Z(e.start).toDecimalPlaces(3).toNumber(),endTime:new Z(e.end).toDecimalPlaces(3).toNumber(),text:e.text,url:this.resolveThumbnailUrl(e)}}resolveThumbnailUrl(e){return this.isUrlAbsolute(e.text)?e.text:this.createThumbnailUrlFromRelativeUrl(e.text)}createThumbnailUrlFromRelativeUrl(e){return this.url.lastIndexOf("/")>2?`${this.url.substring(0,this.url.lastIndexOf("/"))}/${e}`:e}isUrlAbsolute(e){return/^(http(s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/.test(e)}}class dt{static createKonvaImage(e){return new se(t=>{O.Image.fromURL(e,i=>{t.next(i),t.complete()},i=>{console.error(i),t.error(i)})})}static createKonvaImageSizedByWidth(e,t){return dt.createKonvaImage(e).pipe(ke(i=>(i.setAttrs({width:t,height:dt.calculateProportionalHeight(t,i)}),i)))}static createKonvaImageSizedByHeight(e,t){return dt.createKonvaImage(e).pipe(ke(i=>(i.setAttrs({width:dt.calculateProportionalWidth(t,i),height:t}),i)))}static calculateProportionalHeight(e,t){return e*t.getAttrs().image.naturalHeight/t.getAttrs().image.naturalWidth}static calculateProportionalWidth(e,t){return e*t.getAttrs().image.naturalWidth/t.getAttrs().image.naturalHeight}}const Om={...Qi,thumbnailHeight:40,thumbnailStroke:"rgba(121,0,255,0.9)",thumbnailStrokeWidth:0,thumbnailHoverScale:1.5,thumbnailHoverStroke:"rgba(0,255,188,0.9)",thumbnailHoverStrokeWidth:5};class js extends er{constructor(e){super({...e,style:{...Om,...e.style}}),this.thumbnailsMap=new Map,this.thumbnailsVisibleSet=new Set,this.onSettleLayout$=new V,this.eventStreamBreaker$=new V,this.onClick$=new V,this._thumbnailVttUrl=this.config.thumbnailVttUrl,this._axiosConfig=this.config.axiosConfig}createCanvasNode(){return super.createCanvasNode(),this.timecodedGroup=new O.Group({...this.timelinePosition,width:this.timeline.getTimecodedGroupDimension().width,height:this.bodyGroup.height()}),this.timecodedEventCatcher=yi.createEventCatcher({width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.thumbnailsGroup=new O.Group({x:0,y:this.style.height/2-this.style.thumbnailHeight/2,width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.timecodedGroup.add(this.timecodedEventCatcher),this.timecodedGroup.add(this.thumbnailsGroup),this.timeline.addToTimecodedThumbnailsGroup(this.timecodedGroup),this.thumbnailHover=new Zs({style:{visible:!1,stroke:this.style.thumbnailHoverStroke,strokeWidth:this.style.thumbnailHoverStrokeWidth}}),this.timeline.addToTimecodedSurfaceGroup(this.thumbnailHover.initCanvasNode()),this.bodyGroup}settleLayout(){super.settleLayout(),this.timecodedGroup.setAttrs({...this.timelinePosition});let e=this.timeline.getTimecodedGroupHorizontalMeasurement();[this.timecodedGroup,this.timecodedEventCatcher,this.thumbnailsGroup].forEach(t=>{t.width(e.width)}),this.onSettleLayout$.next()}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.fetchAndCreateThumbnails(),this.onSettleLayout$.pipe(x(this.onDestroy$)).subscribe(()=>{this.hideThumbnailHover(),this.adjustThumbnails()}),this.onSettleLayout$.pipe(x(this.onDestroy$)).pipe(Io(100)).subscribe(()=>{this.createAndAdjustThumbnails()}),this.timecodedGroup.on("mouseout mouseleave",e=>{this.hideThumbnailHover()})}onMeasurementsChange(){super.onMeasurementsChange(),this.hideThumbnailHover(),this.createAndAdjustThumbnails()}destroy(){super.destroy(),this.timecodedGroup.destroy(),this.thumbnailHover.destroy(),this.fireEventStreamBreaker()}clearContent(){this.fireEventStreamBreaker(),this.thumbnailVttFile=void 0,this.clearItems()}clearItems(){this.thumbnailsMap.forEach(e=>e.destroy()),this.thumbnailsMap.clear(),this.thumbnailsVisibleSet.clear(),this.thumbnailsGroup.destroyChildren()}fireEventStreamBreaker(){this.eventStreamBreaker$&&(this.eventStreamBreaker$.next(),this.eventStreamBreaker$.complete()),this.eventStreamBreaker$=new V}createAndAdjustThumbnails(){this.isVttLoaded()&&(this.resolveVisibleTimestamps(),this.thumbnailVttFile.getCues().forEach(e=>{let t=this.timeline.timeToTimelinePosition(e.startTime),i=this.thumbnailsVisibleSet.has(e.startTime);if(this.timeline.constrainTimelinePosition(t)===t)if(this.thumbnailsMap.has(e.startTime)){let s=this.thumbnailsMap.get(e.startTime);s&&s.setVisibleAndX(i,t)}else i&&(this.thumbnailsMap.set(e.startTime,null),dt.createKonvaImageSizedByHeight(e.url,this.style.thumbnailHeight).subscribe(s=>{let n=this.thumbnailsVisibleSet.has(e.startTime),a=this.createThumbnail(e,s,n);this.thumbnailsMap.set(e.startTime,a),this.thumbnailsGroup.add(a.getCanvasNode())}))}))}adjustThumbnails(){this.isVttLoaded()&&(this.resolveVisibleTimestamps(),this.thumbnailsMap.forEach(e=>{if(e){let t=this.timeline.timeToTimelinePosition(e.getThumbnailVttCue().startTime),i=this.thumbnailsVisibleSet.has(e.getThumbnailVttCue().startTime);e.setVisibleAndX(i,t)}}))}resolveVisibleTimestamps(){let e;this.thumbnailVttFile.getCues().forEach(i=>{let s=this.timeline.timeToTimelinePosition(i.startTime);this.timeline.constrainTimelinePosition(s)===s&&((e?s>=e:!0)?(e=s+this.thumbnailWidth,this.thumbnailsVisibleSet.add(i.startTime)):this.thumbnailsVisibleSet.delete(i.startTime))})}createThumbnail(e,t,i){let s=this.timeline.timeToTimelinePosition(e.startTime),n=new Zs({listening:!0,style:{x:s,y:0,visible:i,stroke:this.style.thumbnailStroke,strokeWidth:this.style.thumbnailStrokeWidth}});return n.setThumbnailVttCue(e),n.initCanvasNode(),n.setImage(t),n.onClick$.pipe(x(this.eventStreamBreaker$)).subscribe(a=>{this.onClick$.next(a)}),n.onMouseOver$.pipe(x(this.eventStreamBreaker$)).subscribe(a=>{this.showThumbnailHover(a.thumbnail)}),n.onMouseMove$.pipe(x(this.eventStreamBreaker$)).subscribe(a=>{this.showThumbnailHover(a.thumbnail)}),n.onMouseOut$.pipe(x(this.eventStreamBreaker$)).subscribe(a=>{this.hideThumbnailHover()}),n.onMouseLeave$.pipe(x(this.eventStreamBreaker$)).subscribe(a=>{this.hideThumbnailHover()}),n}showThumbnailHover(e){if(this.thumbnailHover.setVisible(!0),this.thumbnailHover.compareTo(e)===0){let t=this.resolveThumbnailHoverPosition(e);this.thumbnailHover.setPosition(t),this.thumbnailHover.setVisible(!0)}else dt.createKonvaImageSizedByWidth(e.getThumbnailVttCue().url,e.getImage().width()*this.style.thumbnailHoverScale).subscribe(t=>{this.thumbnailHover.setDimension(t.getSize()),this.thumbnailHover.setImage(t),this.thumbnailHover.setPosition(this.resolveThumbnailHoverPosition(e)),this.thumbnailHover.getCanvasNode().moveToTop()})}hideThumbnailHover(){this.thumbnailHover&&this.thumbnailHover.style.visible&&this.thumbnailHover.setVisible(!1)}resolveThumbnailHoverPosition(e){let t=this.timeline.getTimecodedGroupRect(),i=this.thumbnailHover.getImage().getSize(),s=e.getPosition().x+e.getDimension().width/2-i.width/2,n=e.style.strokeWidth>0?e.style.strokeWidth/2:0;s=s-n<0?n:s+i.width+n>t.width?t.width-i.width-n:s;let h=this.getRect().y+this.thumbnailsGroup.y()+e.getDimension().height/2-this.thumbnailHover.getDimension().height/2;return{x:s,y:h}}fetchAndCreateThumbnails(){this.fetchThumbnailVttFile(this._thumbnailVttUrl,this._axiosConfig,this.style.thumbnailHeight).pipe(ct(1)).subscribe(e=>{e&&(this.thumbnailVttFile=e.thumbnailVttFile,this.thumbnailWidth=e.thumbnailWidth,this.createAndAdjustThumbnails())})}fetchThumbnailVttFile(e,t,i){return e?ss.create(e,t).pipe(Yu(s=>{let n=s.getCues()[0];return dt.createKonvaImageSizedByHeight(n.url,i).pipe(ke(a=>{let o=a.getSize().width;return{thumbnailVttFile:s,thumbnailWidth:o}}))}),gi((s,n)=>Ee(void 0))):Ee(void 0)}isVttLoaded(){return!!this.thumbnailVttFile&&!!this.thumbnailWidth}getThumbnailVttFile(){return this.thumbnailVttFile}get thumbnailVttUrl(){return this._thumbnailVttUrl}set thumbnailVttUrl(e){this._thumbnailVttUrl=e,this.clearContent(),this.fetchAndCreateThumbnails()}}class wn extends bn{constructor(e,t){super(e,t)}static create(e,t){let i=new wn(e,t);return i.fetch().pipe(ke(s=>i))}mapCue(e){let t=e.text.split(","),i=_e.coerce.number().min(-1).max(0).parse(t[0]),s=_e.coerce.number().min(0).max(1).parse(t[1]);return{id:e.identifier,startTime:new Z(e.start).toDecimalPlaces(3).toNumber(),endTime:new Z(e.end).toDecimalPlaces(3).toNumber(),text:e.text,minSample:i,maxSample:s}}}const ka={listening:!1,style:{height:20,cornerRadius:20,opacity:1,visible:!0,maxSampleFillLinearGradientColorStops:[0,"red",.2,"yellow",1,"green"],minSampleFillLinearGradientColorStops:[0,"green",.8,"yellow",1,"red"]}};class Mm extends Je{constructor(e){super({...ka,...e,style:{...ka.style,...e.style}}),this.audioVttCue=this.config.audioVttCue,this.x=this.config.x,this.width=this.config.width,this.listening=this.config.listening}createCanvasNode(){this.group=new O.Group({x:this.x,y:0,width:this.width,height:this.style.height,visible:this.style.visible,listening:this.listening});let e=this.style.height/2,t=this.resolveMaxSampleBarHeight(),i=this.resolveMinSampleBarHeight();return this.maxSampleBar=new O.Rect({x:0,width:this.group.width(),y:e-t,height:t,opacity:this.style.opacity,cornerRadius:[this.style.cornerRadius,this.style.cornerRadius,0,0],fillLinearGradientStartPoint:{x:0,y:-(e-t)},fillLinearGradientEndPoint:{x:0,y:t},fillLinearGradientColorStops:this.style.maxSampleFillLinearGradientColorStops,perfectDrawEnabled:!1,shadowForStrokeEnabled:!1,hitStrokeWidth:0}),this.minSampleBar=new O.Rect({x:0,width:this.group.width(),y:e,height:i,opacity:this.style.opacity,cornerRadius:[0,0,this.style.cornerRadius,this.style.cornerRadius],fillLinearGradientStartPoint:{x:0,y:0},fillLinearGradientEndPoint:{x:0,y:e},fillLinearGradientColorStops:this.style.minSampleFillLinearGradientColorStops,perfectDrawEnabled:!1,shadowForStrokeEnabled:!1,hitStrokeWidth:0}),this.group.add(this.maxSampleBar),this.group.add(this.minSampleBar),this.group}resolveMaxSampleBarHeight(){return new Z(this.audioVttCue.maxSample).mul(this.style.height/2).toDecimalPlaces(2).toNumber()}resolveMinSampleBarHeight(){return new Z(this.audioVttCue.minSample).abs().mul(this.style.height/2).toDecimalPlaces(2).toNumber()}setPosition(e){this.x=e.x,this.isInitialized()&&this.group.position({x:this.x,y:0})}getPosition(){return this.group.getPosition()}getDimension(){return this.group.getSize()}getRect(){return{...this.getPosition(),...this.getDimension()}}getAudioVttCue(){return this.audioVttCue}setAudioVttCue(e){this.audioVttCue=e;let t=this.resolveMaxSampleBarHeight(),i=this.resolveMinSampleBarHeight();this.minSampleBar.setAttrs({height:i}),this.maxSampleBar.setAttrs({y:this.style.height/2-t,height:t,fillLinearGradientStartPoint:{x:0,y:-(this.style.height/2-t)},fillLinearGradientEndPoint:{x:0,y:t}})}}const Lm={...Qi,height:40,paddingTop:0,paddingBottom:0,itemWidth:5,itemMinPadding:2,itemCornerRadius:5,maxSampleFillLinearGradientColorStops:[0,"red",.2,"yellow",1,"green"],minSampleFillLinearGradientColorStops:[0,"green",.8,"yellow",1,"red"]};class Rl extends er{constructor(e){super({...e,style:{...Lm,...e.style}}),this.audioTrackLaneItemsMap=new Map,this.onSettleLayout$=new V,this._audioVttFileUrl=this.config.audioVttFileUrl}createCanvasNode(){return super.createCanvasNode(),this.timecodedGroup=new O.Group({...this.timelinePosition,width:this.timeline.getTimecodedGroupDimension().width,height:this.bodyGroup.height()}),this.timecodedEventCatcher=yi.createEventCatcher({width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.audioTrackLaneItemsGroup=new O.Group({...F.POSITION_TOP_LEFT,y:this.style.paddingTop,width:this.timecodedGroup.width(),height:this.timecodedGroup.height()-(this.style.paddingTop+this.style.paddingBottom)}),this.timecodedGroup.add(this.timecodedEventCatcher),this.timecodedGroup.add(this.audioTrackLaneItemsGroup),this.timeline.addToTimecodedAudioGroup(this.timecodedGroup),this.bodyGroup}settleLayout(){super.settleLayout(),this.timecodedGroup.setAttrs({...this.timelinePosition});let e=this.timeline.getTimecodedGroupHorizontalMeasurement();[this.timecodedGroup,this.timecodedEventCatcher,this.audioTrackLaneItemsGroup].forEach(t=>{t.width(e.width)}),this.onSettleLayout$.next()}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.fetchAndCreateAudioTrack(),this.onSettleLayout$.pipe(x(this.onDestroy$)).subscribe(()=>{this.settlePosition()}),Ou([this.onSettleLayout$,this.timeline.onScroll$]).pipe(x(this.onDestroy$),Io(100)).subscribe(()=>{this.settleAll()})}clearContent(){this.audioVttFile=void 0,this.clearItems()}clearItems(){this.audioTrackLaneItemsMap.forEach(e=>e.destroy()),this.audioTrackLaneItemsMap.clear(),this.audioTrackLaneItemsGroup.destroyChildren()}getVisibleCues(){let e=this.timeline.getVisibleTimeRange();return this.audioVttFile.findCues(e.start,e.end)}createEntities(){if(!this.isVttLoaded())return;this.clearItems();let e=this.getVisibleCues(),t=this.timeline.getTimecodedContainerDimension().width;this.numOfInterpolations=new Z(t+this.style.itemMinPadding).div(this.style.itemWidth+this.style.itemMinPadding).floor().toNumber(),this.itemPadding=new Z(t-this.numOfInterpolations*this.style.itemWidth).div(this.numOfInterpolations-1).toNumber();let i=this.resolveNumOfCuesPerInterpolation(e.length),s=this.resolveCuesInterpolations(e,i);for(let n=0;n<this.numOfInterpolations;n++){let a=s.get(n),o=this.resolveInterpolatedItemPosition(n),h=new Mm({x:o,width:this.style.itemWidth,audioVttCue:a,style:{cornerRadius:this.style.itemCornerRadius,height:this.audioTrackLaneItemsGroup.height(),visible:!0,maxSampleFillLinearGradientColorStops:this.style.maxSampleFillLinearGradientColorStops,minSampleFillLinearGradientColorStops:this.style.minSampleFillLinearGradientColorStops}});this.audioTrackLaneItemsMap.set(n,h),this.audioTrackLaneItemsGroup.add(h.initCanvasNode())}}resolveNumOfCuesPerInterpolation(e){return new Z(e).div(this.numOfInterpolations).floor().toNumber()}resolveCuesInterpolations(e,t){let i=e.length-t*this.numOfInterpolations,s=new Map,n=0;for(let a=0;a<this.numOfInterpolations;a++){let o=t+(a<i?1:0),h=n;n=h+o;let l=e.slice(h,n),d=e[h],u=e[n-1],c=0,p=0;l.forEach(m=>{c+=m.minSample,p+=m.maxSample});let f={id:`${a}`,text:"",minSample:new Z(c).div(o).toDecimalPlaces(3).toNumber(),maxSample:new Z(p).div(o).toDecimalPlaces(3).toNumber(),startTime:d.startTime,endTime:u.endTime};s.set(a,f)}return s}settleAll(){if(!this.isVttLoaded()||this.audioTrackLaneItemsMap.size<1)return;let e=this.getVisibleCues(),t=this.resolveNumOfCuesPerInterpolation(e.length),i=this.resolveCuesInterpolations(e,t);for(let s=0;s<this.numOfInterpolations;s++){let n=i.get(s),a=this.audioTrackLaneItemsMap.get(s);a.setAudioVttCue(n),a.setPosition({x:this.resolveInterpolatedItemPosition(s)})}}resolveInterpolatedItemPosition(e){return Math.abs(this.timeline.getTimecodedGroupHorizontalMeasurement().x)+e*this.style.itemWidth+e*this.itemPadding}settlePosition(){if(!(!this.isVttLoaded()||this.audioTrackLaneItemsMap.size<1))for(let e=0;e<this.numOfInterpolations;e++){let t=this.audioTrackLaneItemsMap.get(e),i=this.timeline.timeToTimelinePosition(t.getAudioVttCue().startTime);t.setPosition({x:i})}}fetchAndCreateAudioTrack(){this.fetchAudioTrackVttFile(this._audioVttFileUrl).pipe(ct(1)).subscribe(e=>{this.audioVttFile=e,this.createEntities()})}fetchAudioTrackVttFile(e){return e?wn.create(e).pipe(ke(t=>t),gi((t,i)=>Ee(void 0))):Ee(void 0)}isVttLoaded(){return!!this.audioVttFile}get audioVttFileUrl(){return this._audioVttFileUrl}set audioVttFileUrl(e){this._audioVttFileUrl=e,this.clearContent(),this.fetchAndCreateAudioTrack()}}function Xs(r){if(r.from===r.to)return;let e=r.from<r.to,t=e?r.to-r.from:r.from-r.to,i=new O.Animation(s=>{let n=O.Easings.StrongEaseInOut(s.time,0,t,r.duration);if(n>=t)r.onUpdateHandler(s,r.to),i.stop(),r.onCompleteHandler&&(r.onCompleteHandler(s,r.to),i=null);else{let a=r.from+n*(e?1:-1);r.onUpdateHandler(s,a)}},r.layer);i.start()}const Rm={...F.POSITION_TOP_LEFT,width:0,zoomMax:1500,scrollStepNumberOfDivisions:10,style:{height:20,backgroundFill:"#000000",backgroundFillOpacity:.3,handleBarFill:"#01a6f0",handleBarOpacity:1,handleOpacity:1}};class Im extends Je{constructor(e){super(vi(e,Rm)),this.onScroll$=new V,this.onZoom$=new V,this.x=this.config.x,this.y=this.config.y,this.width=this.config.width,this.zoomMax=this.config.zoomMax,this.scrollStepNumberOfDivisions=this.config.scrollStepNumberOfDivisions}createCanvasNode(){return this.group=new O.Group({x:this.x,y:this.y,width:this.width,height:this.style.height}),this.background=new O.Rect({...F.POSITION_TOP_LEFT,width:this.group.width(),height:this.style.height,fill:this.style.backgroundFill,opacity:this.style.backgroundFillOpacity}),this.handleGroup=new O.Group({...F.POSITION_TOP_LEFT,width:this.group.width(),height:this.style.height}),this.handleBar=new O.Rect({...F.POSITION_TOP_LEFT,width:this.handleGroup.width(),height:this.style.height,fill:this.style.handleBarFill,opacity:this.style.handleBarOpacity,draggable:!0}),this.leftZoomHandle=new O.Circle({...F.POSITION_TOP_LEFT,fill:this.style.handleBarFill,radius:this.style.height/2,y:this.style.height/2,opacity:this.style.handleOpacity,draggable:!0}),this.rightZoomHandle=new O.Circle({...F.POSITION_TOP_LEFT,fill:this.style.handleBarFill,radius:this.style.height/2,y:this.style.height/2,opacity:this.style.handleOpacity,draggable:!0}),this.handleGroup.add(this.background),this.handleGroup.add(this.handleBar),this.group.add(this.background),this.group.add(this.handleGroup),this.handleGroup.add(this.leftZoomHandle),this.handleGroup.add(this.rightZoomHandle),this.group}afterCanvasNodeInit(){this.styleAdapter.onChange$.pipe(x(this.onDestroy$),$e(n=>!!n)).subscribe(n=>{this.onStyleChange()}),this.group.on("click",n=>{this.clickScrollTo(this.group.getRelativePointerPosition().x)}),this.handleBar.on("dragstart dragmove dragend",n=>{let a=this.handleBar.getPosition(),o=this.getConstrainedHandleBarX(a.x);this.handleBar.setAttrs({x:o,y:0}),this.syncLeftRightHandles(),this.handleBar.getRelativePointerPosition().x>=0&&this.handleBar.getRelativePointerPosition().x<=this.handleBar.width()&&this.onScroll$.next({scrollPercent:this.getScrollHandlePercent()})});let e={scaleX:1.5,scaleY:1.5,duration:.1},t={scaleX:1,scaleY:1,duration:.1};this.leftZoomHandle.on("mouseover",n=>{this.leftZoomHandle.to({...e}),et.cursor("ew-resize")}),this.leftZoomHandle.on("mouseout",n=>{this.leftZoomHandle.to({...t}),et.cursor("default")}),this.rightZoomHandle.on("mouseover",n=>{this.rightZoomHandle.to({...e}),et.cursor("ew-resize")}),this.rightZoomHandle.on("mouseout",n=>{this.rightZoomHandle.to({...t}),et.cursor("default")});let i=n=>{let a=n;return a<0?a=0:this.rightZoomHandle.x()-n<=this.minHandleBarWidth&&(a=this.rightZoomHandle.x()-this.minHandleBarWidth),a};this.leftZoomHandle.on("dragstart dragmove dragend",n=>{let a=this.leftZoomHandle.getPosition(),o=i(a.x);this.leftZoomHandle.setAttrs({x:o,y:this.style.height/2}),this.handleBar.setAttrs({x:o,width:this.rightZoomHandle.x()-o}),this.onZoom$.next({zoomPercent:this.getZoomPercent()})});let s=n=>{let a=n,o=this.group.width();return a>o?a=o:n-this.leftZoomHandle.x()<=this.minHandleBarWidth&&(a=this.leftZoomHandle.x()+this.minHandleBarWidth),a};this.rightZoomHandle.on("dragstart dragmove dragend",n=>{let a=this.rightZoomHandle.getPosition(),o=s(a.x);this.rightZoomHandle.setAttrs({x:o,y:this.style.height/2}),this.handleBar.setAttrs({width:o-this.leftZoomHandle.x()}),this.onZoom$.next({zoomPercent:this.getZoomPercent()})})}onMeasurementsChange(){this.group.width(this.width),this.background.width(this.group.width()),this.handleGroup.width(this.group.width()),this.minHandleBarWidth=this.calculateHandleBarWidthFromZoomRatioPercent(this.zoomMax)}onStyleChange(){this.group.setAttrs({height:this.style.height}),this.background.setAttrs({height:this.style.height,fill:this.style.backgroundFill,opacity:this.style.backgroundFillOpacity}),this.handleGroup.setAttrs({height:this.style.height}),this.handleBar.setAttrs({height:this.style.height,fill:this.style.handleBarFill,opacity:this.style.handleBarOpacity}),this.leftZoomHandle.setAttrs({fill:this.style.handleBarFill,radius:this.style.height/2,y:this.style.height/2,opacity:this.style.handleOpacity}),this.rightZoomHandle.setAttrs({fill:this.style.handleBarFill,radius:this.style.height/2,y:this.style.height/2,opacity:this.style.handleOpacity})}getScrollHandleMaxX(){return this.group.width()-this.handleBar.width()}getConstrainedHandleBarX(e){let t=e;return t<0?t=0:t+this.handleBar.width()>this.group.width()&&(t=this.getScrollHandleMaxX()),t}clickScrollTo(e){let t=this.group.width()/this.scrollStepNumberOfDivisions;if(!(e>=this.handleBar.x()&&e<=this.handleBar.x()+this.handleBar.width())){let i=this.handleBar.x()>e,s=this.handleBar.x()+t*(i?-1:1);i?s=s<e?e:s:s=s+this.handleBar.width()>e?e-this.handleBar.width():s,this.scrollToEased(s)}}scrollTo(e){this.handleBar.x(this.getConstrainedHandleBarX(e)),this.syncLeftRightHandles(),this.onScroll$.next({scrollPercent:this.getScrollHandlePercent()})}scrollToEased(e){let t=this.handleBar.x(),i=this.getConstrainedHandleBarX(e);Xs({layer:this.handleGroup.getLayer(),duration:F.TIMELINE_SCROLL_EASED_DURATION_MS,from:t,to:i,onUpdateHandler:(s,n)=>{this.scrollTo(n)}})}calculateHandleBarWidthFromZoomRatioPercent(e){return new Z(this.group.width()).mul(100).div(e).toNumber()}getZoomPercent(){return this.group.width()===this.handleBar.width()?100:new Z(this.group.width()).mul(100).div(this.handleBar.width()).toNumber()}getScrollHandlePercent(){return this.handleBar.x()===0?0:new Z(this.handleBar.x()).div(this.group.width()-this.handleBar.width()).mul(100).toNumber()}updateScrollHandle(e){let t=e.getScrollHandleHorizontalMeasurement(this.group.width());this.handleBar.setAttrs({...t}),this.syncLeftRightHandles()}syncLeftRightHandles(){this.leftZoomHandle.x(this.handleBar.x()),this.rightZoomHandle.x(this.handleBar.x()+this.handleBar.width())}setWidth(e){this.width=e,this.onMeasurementsChange()}setPosition(e){this.x=e.x,this.y=e.y,this.group.setAttrs({...e})}getPosition(){return this.group.getPosition()}getRect(){return{...this.group.getPosition(),...this.group.getSize()}}}const Nm={style:{...F.POSITION_TOP_LEFT,height:100,fill:"#737373",fillSnapped:"#ffd500",lineWidth:2,symbolY:0,symbolHeight:15,textFontSize:12,textFill:"#0d0f05",textSnappedFill:"#f43530",visible:!1}};class Gm extends Je{constructor(e,t){super(vi(e,Nm)),this.stylesProvider=lt.instance(),this.timeline=t}createCanvasNode(){return this.group=new O.Group({x:this.style.x,y:this.style.y,visible:this.style.visible,listening:!1}),this.line=new O.Line({points:[this.style.x,0,this.style.x,this.style.height],stroke:this.style.fill,strokeWidth:this.style.lineWidth,listening:!1}),this.symbol=new O.Circle({y:this.style.symbolY,fill:this.style.fill,radius:this.style.symbolHeight/2,offsetY:-this.style.symbolHeight/2}),this.group.add(this.symbol),this.group.add(this.line),this.label=new O.Label({...F.POSITION_TOP_LEFT,listening:!1}),this.text=new O.Text({fontSize:this.style.textFontSize,fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily,fill:this.style.textFill,...F.POSITION_TOP_LEFT,text:"",listening:!1}),this.label.y(-this.text.getSelfRect().height),this.label.add(this.text),this.group.add(this.label),this.group}afterCanvasNodeInit(){this.styleAdapter.onChange$.pipe(x(this.onDestroy$)).subscribe(e=>{this.onMeasurementsChange()}),this.stylesProvider.onChange$.pipe($e(e=>!!e),x(this.onDestroy$)).subscribe(e=>{this.text.setAttrs({fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily})})}onMeasurementsChange(){this.line.points([this.line.x(),0,this.line.x(),this.style.height])}sync(e,t=!1){this.style.visible||this.toggleVisible(!0);let i=this.timeline.timelinePositionToTimeFormatted(e),s=this.text.getSelfRect(),n=s.width/2,a=-n,o=this.timeline.getTimecodedGroupHorizontalMeasurement();o.width-e<n?a=-s.width+(o.width-e):e<n&&(a=-n+(n-e)),this.group.x(e),this.text.text(i),this.label.x(a),t?(this.line.stroke(this.style.fillSnapped),this.text.fill(this.style.fillSnapped),this.symbol.visible(!1)):(this.line.stroke(this.style.fill),this.text.fill(this.style.fill),this.symbol.visible(!0))}toggleVisible(e){this.style={visible:e},this.group.visible(e)}}const Dm={style:{visible:!0,fill:"#f43530",lineWidth:2,symbolHeight:15,scrubberHeight:15,backgroundFill:"#ffffff",backgroundOpacity:0,playProgressFill:"#008cbc",playProgressOpacity:.5,bufferedFill:"#a2a2a2",bufferedOpacity:1}};class Fm extends Je{constructor(e,t,i){super(vi(e,Dm)),this.timeline=t,this.videoController=i}createCanvasNode(){return this.group=new O.Group({...F.POSITION_TOP_LEFT,listening:!1}),this.background=new O.Rect({...F.POSITION_TOP_LEFT,height:this.style.scrubberHeight,fill:this.style.backgroundFill,opacity:this.style.backgroundOpacity,listening:!1}),this.playProgressBackground=new O.Rect({...F.POSITION_TOP_LEFT,height:this.style.scrubberHeight,fill:this.style.playProgressFill,opacity:this.style.playProgressOpacity,listening:!1}),this.playheadGroup=new O.Group({...F.POSITION_TOP_LEFT,visible:this.style.visible,listening:!1}),this.playheadLine=new O.Line({points:[0,0,0,0],stroke:this.style.fill,strokeWidth:this.style.lineWidth,listening:!1}),this.playheadSymbol=yi.createTriangle({...F.POSITION_TOP_LEFT,height:this.style.symbolHeight,color:this.style.fill}),this.bufferedGroup=new O.Group({...F.POSITION_TOP_LEFT,listening:!1}),this.group.add(this.background),this.group.add(this.bufferedGroup),this.group.add(this.playProgressBackground),this.playheadGroup.add(this.playheadLine),this.playheadGroup.add(this.playheadSymbol),this.group.add(this.playheadGroup),this.group}afterCanvasNodeInit(){this.settleLayout(),this.timeline.onZoom$.pipe(x(this.onDestroy$)).subscribe(e=>{this.settleLayout()}),this.videoController.onVideoLoading$.pipe(x(this.onDestroy$)).subscribe(e=>{this.group.visible(!1)}),this.videoController.onVideoLoaded$.pipe(x(this.onDestroy$)).subscribe(e=>{this.group.visible(!0),this.doPlayProgress(),this.doBufferingProgress()}),this.videoController.onVideoTimeChange$.pipe(x(this.onDestroy$)).subscribe(e=>{this.doPlayProgress()}),this.videoController.onSeeking$.pipe(x(this.onDestroy$)).subscribe(e=>{this.doPlayProgress(),this.doBufferingProgress()}),this.videoController.onBuffering$.pipe(x(this.onDestroy$)).subscribe(e=>{this.doBufferingProgress()})}onMeasurementsChange(){this.settleLayout()}getPlayheadPosition(){return this.playheadGroup.x()}settleLayout(){let e=this.timeline.getTimecodedGroupDimension();[this.group,this.bufferedGroup,this.playheadGroup].forEach(t=>{t.setAttrs({...e})}),[this.background].forEach(t=>{t.setAttrs({width:e.width})}),this.playheadLine.setAttrs({points:[0,0,0,e.height]}),this.doPlayProgress(),this.doBufferingProgress()}doPlayProgress(){let e=this.timeline.timeToTimelinePosition(this.videoController.getCurrentTime());this.playProgressBackground.width(e),this.playheadGroup.x(e)}doBufferingProgress(){let e=this.videoController.getBufferedTimespans();if(e&&e.length>0)if(this.bufferedGroup.hasChildren()){let t=e.length,i=this.bufferedGroup.getChildren().length;t===i?this.bufferedGroup.getChildren().forEach((s,n)=>{let a=e[n],o=this.timeline.timeToTimelinePosition(a.start),h=this.timeline.timeToTimelinePosition(a.end);s.setAttrs({x:o,width:h-o})}):(this.bufferedGroup.getChildren().forEach(s=>s.destroy()),this.createBuffers(e))}else this.createBuffers(e)}createBuffers(e){e.forEach(t=>{let i=this.timeline.timeToTimelinePosition(t.start),s=this.timeline.timeToTimelinePosition(t.end),n=new O.Rect({x:i,y:0,width:s-i,height:this.style.scrubberHeight,fill:this.style.bufferedFill,opacity:this.style.bufferedOpacity,listening:!1});this.bufferedGroup.add(n)})}}const Hm={style:{...F.POSITION_TOP_LEFT,width:150,height:20,textFontSize:20,textFill:"#0d0f05",visible:!0}};class Il extends Je{constructor(e,t){super(vi(e,Hm)),this.stylesProvider=lt.instance(),this.videoEventStreamBreaker$=new V,this.videoController=t}createCanvasNode(){return this.group=new O.Group({x:this.style.x,y:this.style.y,width:this.style.width,height:this.style.height,listening:!1,visible:this.style.visible}),this.text=new O.Text({...F.POSITION_TOP_LEFT,width:this.group.width(),height:this.group.height(),text:"",fontSize:this.style.textFontSize,fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily,fill:this.style.textFill,visible:!0,align:"left",verticalAlign:"middle"}),this.group.add(this.text),this.group}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.stylesProvider.onChange$.pipe($e(e=>!!e),x(this.onDestroy$)).subscribe(e=>{this.text.setAttrs({fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily})}),this.videoController.onVideoLoaded$.pipe($e(e=>!!e),x(this.onDestroy$)).subscribe(e=>{this.onVideoLoadedEvent(e)})}onMeasurementsChange(){this.group.width(this.style.width)}fireVideoEventStreamBreaker(){this.videoEventStreamBreaker$&&(this.videoEventStreamBreaker$.next(),this.videoEventStreamBreaker$.complete()),this.videoEventStreamBreaker$=new V}onVideoLoadedEvent(e){this.fireVideoEventStreamBreaker(),this.text.text(this.videoController.formatTimestamp(0)),this.videoController.onVideoTimeChange$.pipe(x(this.videoEventStreamBreaker$)).subscribe(t=>{this.text.text(this.videoController.formatTimestamp(t.currentTime))})}setVisible(e){this.style={visible:e},this.isInitialized()&&this.group.visible(e)}setPosition(e){this.style={...e},this.group.setAttrs({...e}),this.onMeasurementsChange()}getRect(){return this.group.getClientRect()}}const Bm={...Qi,height:60,tickDivisor:5,tickDivisionMinWidth:18,tickFill:"#0d0f05",tickHeight:12,divisionTickFill:"#000000",divisionTickHeight:12*F.GOLDEN_RATIO,timecodeShowFirst:!0,timecodeFontSize:11,timecodeFill:"#0d0f05"};class $m extends er{constructor(e,t){super({...e,style:{...Bm,...e.style}}),this.onClick$=new V,this.onMouseEnter$=new V,this.onMouseOver$=new V,this.onMouseMove$=new V,this.onMouseOut$=new V,this.onMouseLeave$=new V,this.videoController=t}createCanvasNode(){return super.createCanvasNode(),this.timecodedGroup=new O.Group({...this.timelinePosition,width:this.timeline.getTimecodedGroupDimension().width,height:this.bodyGroup.height()}),this.timecodedEventCatcher=yi.createEventCatcher({width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.ticksGroup=new O.Group({...F.POSITION_TOP_LEFT,width:this.timecodedGroup.width(),height:this.timecodedGroup.height()}),this.timecodedGroup.add(this.timecodedEventCatcher),this.timecodedGroup.add(this.ticksGroup),this.timeline.addToTimecodedBaseGroup(this.timecodedGroup),this.timecodeDisplay=new Il({style:{x:10,y:0,width:this.leftGroup.width(),height:this.getRect().height}},this.videoController),this.leftGroup.add(this.timecodeDisplay.initCanvasNode()),this.bodyGroup}settleLayout(){super.settleLayout();let e=this.timeline.getTimecodedGroupHorizontalMeasurement();[this.timecodedGroup,this.timecodedEventCatcher,this.ticksGroup].forEach(t=>{t.width(e.width)}),this.refreshTimeDivisions()}afterCanvasNodeInit(){super.afterCanvasNodeInit(),this.timecodedEventCatcher.on("mousemove",e=>{this.onMouseMove$.next({evt:e.evt,position:this.timecodedGroup.getRelativePointerPosition()})}),this.timecodedEventCatcher.on("mouseenter",e=>{this.onMouseEnter$.next({evt:e.evt,position:this.timecodedGroup.getRelativePointerPosition()})}),this.timecodedEventCatcher.on("mouseout",e=>{this.onMouseOut$.next({evt:e.evt,position:this.timecodedGroup.getRelativePointerPosition()})}),this.timecodedEventCatcher.on("mouseleave",e=>{this.onMouseLeave$.next({evt:e.evt,position:this.timecodedGroup.getRelativePointerPosition()})}),this.timecodedEventCatcher.on("click",e=>{this.onClick$.next({evt:e.evt,position:this.timecodedGroup.getRelativePointerPosition()})}),this.videoController.onVideoLoading$.pipe(x(this.onDestroy$)).subscribe(e=>{this.clearContent()}),this.videoController.onVideoLoaded$.pipe(x(this.onDestroy$)).subscribe(e=>{this.settleLayout()})}onStyleChange(){super.onStyleChange(),this.refreshTimeDivisions(!0)}destroy(){super.destroy(),this.timecodedGroup.destroy()}clearContent(){this.ticksGroup.destroyChildren()}refreshTimeDivisions(e=!1){if(!this.isTimelineReady())return;let t=this.style.tickDivisor,i=this.style.tickDivisionMinWidth,s=this.timeline.getTimecodedGroupRect().width,n=this.resolveTimeDivisionWidth(s,i,t,t),a=new Z(s).div(n).round().toNumber(),o=!e&&this.tickTotalDivisions===a&&!(this.ticksGroup.getChildren().length<1);o||this.clearContent(),this.tickDivisionWidth=n,this.tickTotalDivisions=a;let h=0,l=2,d=2,u=5;for(let c=0;c<this.tickTotalDivisions+1;c++){let p=c===0,f=c===this.tickTotalDivisions,m=c%t===0,v=c*this.tickDivisionWidth,_=m?this.style.divisionTickHeight:this.style.tickHeight,w=this.ticksGroup.height()-_,b=this.ticksGroup.height()-this.style.divisionTickHeight-u;if(o)this.ticksGroup.getChildren()[c].x(v);else{let T=new O.Group({x:v,y:h}),L=0,A=new O.Line({points:[L,w,L,w+_],stroke:this.style.tickFill,strokeWidth:1,listening:!1});T.add(A);let G=new O.Text({fontSize:this.style.timecodeFontSize,fontFamily:this.stylesProvider.styles.omakasePlayerStyle.fontFamily,fill:this.style.timecodeFill,text:`${this.timeline.timelinePositionToTimeFormatted(v)}`,listening:!1}),R=G.getSelfRect(),H=p?L+l:f?L-R.width-d:L-R.width/2,$=b-R.height;G.setAttrs({x:H,y:$});let I=m;I=p?this.style.timecodeShowFirst:I,I&&(T.add(G),T.x()+(G.x()>0?0:G.x()),T.y(),G.width()),this.ticksGroup.add(T)}}}resolveTimeDivisionWidth(e,t,i,s){return new Z(e).div(s).floor().greaterThan(t)?this.resolveTimeDivisionWidth(e,t,i,s*i):new Z(e).div(s/i).toNumber()}}const Vm={timelineHTMLElementId:"omakase-timeline",playheadHoverSnapArea:5,zoomScale:1.02,zoomBaseline:100,zoomMax:1500,style:{stageMinWidth:700,backgroundFill:"#f5f5f5",headerBackgroundFill:"#f5f5f5",footerBackgroundFill:"#f5f5f5",scrollbarHeight:15,thumbnailHoverWidth:200,thumbnailHoverStroke:"rgba(255,73,145,0.9)",thumbnailHoverStrokeWidth:5,thumbnailHoverYOffset:0,headerHeight:50,footerHeight:50,leftPanelWidth:200,rightPanelLeftGutterWidth:30,rightPanelRightGutterWidth:30,timecodedContainerClipPadding:20,playheadVisible:!0,playheadFill:"#f43530",playheadLineWidth:2,playheadSymbolHeight:15,playheadScrubberHeight:15,playheadBackgroundFill:"#ffffff",playheadBackgroundOpacity:0,playheadPlayProgressFill:"#008cbc",playheadPlayProgressOpacity:.5,playheadBufferedFill:"#a2a2a2",playheadBufferedOpacity:1}},xa="omakase_scrubber_lane";class zm extends Je{constructor(e,t){super(vi(e,Vm)),this.scrollWithPlayhead=!0,this.syncTimelineWithPlayheadInProgress=!1,this.mouseWheelEnabled=!1,this.leftPanelVisible=!0,this.videoEventBreaker$=new V,this.onScroll$=new V,this.onZoom$=new V,this.timelineHTMLElementId=this.config.timelineHTMLElementId,this.thumbnailVttUrl=this.config.thumbnailVttUrl,this.axiosConfig=this.config.axiosConfig,this.playheadHoverSnapArea=this.config.playheadHoverSnapArea,this.zoomScale=this.config.zoomScale,this.zoomBaseline=this.config.zoomBaseline,this.zoomMax=this.config.zoomMax,this.timecodedGroupNodes=[],this.timelaneLanes=[],this.timelaneLanesMap=new Map,this.timelineHTMLElement=document.getElementById(this.timelineHTMLElementId),this.videoController=t}createCanvasNode(){let e=this.resolveStageDimension();return this.width=e.width,this.stage=new O.Stage({container:this.timelineHTMLElementId,...e}),this.layer=new O.Layer,this.stage.add(this.layer),this.layoutGroup=new O.Group({...F.POSITION_TOP_LEFT}),this.layer.add(this.layoutGroup),this.layoutBackground=new O.Rect({...F.POSITION_TOP_LEFT,fill:this.style.backgroundFill}),this.headerGroup=new O.Group({...F.POSITION_TOP_LEFT}),this.headerBackground=new O.Rect({...F.POSITION_TOP_LEFT,fill:this.style.headerBackgroundFill}),this.footerGroup=new O.Group({...F.POSITION_TOP_LEFT}),this.footerBackground=new O.Rect({...F.POSITION_TOP_LEFT,fill:this.style.footerBackgroundFill}),this.bodyGroup=new O.Group({...F.POSITION_TOP_LEFT}),this.bodyContentGroup=new O.Group({...F.POSITION_TOP_LEFT}),this.leftPanel=new O.Group({...F.POSITION_TOP_LEFT}),this.rightPanel=new O.Group({...F.POSITION_TOP_LEFT}),this.timecodedContainer=new O.Group({...F.POSITION_TOP_LEFT}),this.timecodedGroup=new O.Group({...F.POSITION_TOP_LEFT,draggable:!0}),this.timecodedBaseGroup=new O.Group({...F.POSITION_TOP_LEFT,name:"timecodedBaseGroup"}),this.timecodedThumbnailsGroup=new O.Group({...F.POSITION_TOP_LEFT,name:"timecodedThumbnailsGroup"}),this.timecodedSubtitlesGroup=new O.Group({...F.POSITION_TOP_LEFT,name:"timecodedSubtitlesGroup"}),this.timecodedAudioGroup=new O.Group({...F.POSITION_TOP_LEFT,name:"timecodedAudioGroup"}),this.timecodedMarkersGroup=new O.Group({...F.POSITION_TOP_LEFT,name:"timecodedMarkersGroup"}),this.timecodedSurfaceGroup=new O.Group({...F.POSITION_TOP_LEFT,name:"timecodedSurfaceGroup"}),this.timecodedBackground=new O.Rect({...F.POSITION_TOP_LEFT,fill:"yellow",opacity:0,listening:!1}),this.timecodedEventCatcher=yi.createEventCatcher(),this.thumbnailHover=new Zs({style:{visible:!1,stroke:this.style.thumbnailHoverStroke,strokeWidth:this.style.thumbnailHoverStrokeWidth}}),this.layoutGroup.add(this.layoutBackground),this.layoutGroup.add(this.headerGroup),this.layoutGroup.add(this.footerGroup),this.layoutGroup.add(this.bodyGroup),this.headerGroup.add(this.headerBackground),this.footerGroup.add(this.footerBackground),this.bodyGroup.add(this.bodyContentGroup),this.bodyGroup.add(this.leftPanel),this.bodyGroup.add(this.rightPanel),this.rightPanel.add(this.timecodedContainer),this.timecodedContainer.add(this.timecodedGroup),[this.timecodedBackground,this.timecodedEventCatcher,this.timecodedBaseGroup,this.timecodedThumbnailsGroup,this.timecodedSubtitlesGroup,this.timecodedAudioGroup,this.timecodedMarkersGroup,this.timecodedSurfaceGroup].forEach(t=>{this.timecodedGroupNodes.push(t),this.timecodedGroup.add(t)}),this.scrollbar=new Im({style:{height:this.style.scrollbarHeight}}),this.rightPanel.add(this.scrollbar.initCanvasNode()),this.playhead=new Fm({style:{visible:this.style.playheadVisible,fill:this.style.playheadFill,lineWidth:this.style.playheadLineWidth,symbolHeight:this.style.playheadSymbolHeight,backgroundFill:this.style.playheadBackgroundFill,backgroundOpacity:this.style.playheadBackgroundOpacity,scrubberHeight:this.style.playheadScrubberHeight,playProgressFill:this.style.playheadPlayProgressFill,playProgressOpacity:this.style.playheadPlayProgressOpacity,bufferedFill:this.style.playheadBufferedFill,bufferedOpacity:this.style.playheadBufferedOpacity}},this,this.videoController),this.playheadHover=new Gm({},this),[this.playhead,this.playheadHover].forEach(t=>{this.addToTimecodedSurfaceGroup(t.initCanvasNode())}),this.headerTimecodeDisplay=new Il({style:{x:10,y:10,visible:!1}},this.videoController),this.headerGroup.add(this.headerTimecodeDisplay.initCanvasNode()),this.settleLayout(),this.addToTimecodedSurfaceGroup(this.thumbnailHover.initCanvasNode()),this.scrubberLane=new $m({id:xa,description:""},this.videoController),this.addLanes([this.scrubberLane]),this.stage}afterCanvasNodeInit(){this.videoController.onVideoLoading$.pipe($e(e=>!!e),x(this.onDestroy$)).subscribe(e=>{this.clearContent()}),this.videoController.onVideoLoaded$.pipe($e(e=>!!e),x(this.onDestroy$)).subscribe(e=>{this.onVideoLoadedEvent(e)}),be(window,"resize").pipe(x(this.onDestroy$)).subscribe(e=>{setTimeout(()=>{this.onWindowResize(e)},200)}),this.timecodedGroup.on("mouseenter",e=>{this.playheadHover.toggleVisible(this.videoController.isVideoLoaded())}),this.timecodedGroup.on("mouseleave",e=>{this.playheadHover.toggleVisible(!1)}),this.timecodedGroup.on("mousemove",e=>{if(!this.videoController.isVideoLoaded())return;let t=this.timecodedGroup.getRelativePointerPosition().x;this.playheadHoverMove(t)}),this.timecodedMarkersGroup.on("mousemove",e=>{if(!this.videoController.isVideoLoaded())return;let t=this.timecodedGroup.getRelativePointerPosition().x;this.playheadHoverMove(t)}),this.timecodedGroup.on("wheel",e=>{if(!this.videoController.isVideoLoaded())return;if(this.mouseWheelEnabled){let i=e.evt;i.preventDefault();let s=i.deltaY>0?"IN":"OUT";i.ctrlKey&&(s=s==="IN"?"OUT":"IN"),this.zoomStep(s,this.timecodedGroup.getRelativePointerPosition().x),this.updateScrollWithPlayhead()}let t=this.timecodedGroup.getRelativePointerPosition().x;this.playheadHoverMove(t)}),this.timecodedGroup.on("dragstart dragmove dragend",e=>{if(!this.videoController.isVideoLoaded()){this.timecodedGroup.setAttrs({...F.POSITION_TOP_LEFT});return}if(e.target===this.timecodedGroup){let t=this.timecodedGroup.getPosition();this.timecodedGroup.setAttrs({x:this.getConstrainedTimelineX(t.x),y:0}),this.onScroll$.next(this.createScrollEvent()),this.scrollbar.updateScrollHandle(this)}this.updateScrollWithPlayhead()}),this.timecodedGroup.on("dragmove",e=>{et.cursor("grabbing")}),this.timecodedGroup.on("dragend",e=>{et.cursor("default")}),this.scrubberLane.onMouseMove$.pipe(x(this.onDestroy$)).subscribe(e=>{if(!this.videoController.isVideoLoaded())return;this.mouseWheelEnabled=!0;let t=this.timecodedGroup.getRelativePointerPosition().x,i=this.timelinePositionToTime(t);if(this.thumbnailVttFile){let s=this.thumbnailVttFile.findCue(i);this.showThumbnailHover(s)}}),this.scrubberLane.onMouseEnter$.pipe(x(this.onDestroy$)).subscribe(e=>{this.mouseWheelEnabled=!0}),this.scrubberLane.onMouseLeave$.pipe(x(this.onDestroy$)).subscribe(e=>{this.hideThumbnailHover(),this.mouseWheelEnabled=!1}),this.scrubberLane.onClick$.pipe(x(this.onDestroy$)).subscribe(e=>{if(!this.videoController.isVideoLoaded())return;this.updateScrollWithPlayhead();let t=this.timecodedGroup.getRelativePointerPosition().x;this.playheadHoverMove(t),this.videoController.isVideoLoaded()&&this.videoController.seekToTimestamp(this.timelinePositionToTime(t)).subscribe(()=>{})}),this.scrollbar.onScroll$.pipe(x(this.onDestroy$)).subscribe(e=>{this.videoController.isVideoLoaded()&&(this.setHorizontalScrollPercent(this.scrollbar.getScrollHandlePercent()),this.updateScrollWithPlayhead(),this.onScroll$.next(this.createScrollEvent()))}),this.scrollbar.onZoom$.pipe(x(this.onDestroy$)).subscribe(e=>{this.videoController.isVideoLoaded()&&(this.zoomByPercent(e.zoomPercent,!1),this.updateScrollWithPlayhead())}),this.thumbnailVttUrl&&this.fetchThumbnailVttFile().subscribe()}settleLayout(){this.stage.setAttrs({...this.resolveStageDimension()});let e=this.calculateHeights();this.headerGroup.setAttrs({width:this.width,height:this.style.headerHeight}),this.bodyGroup.setAttrs({y:this.headerGroup.y()+this.headerGroup.height(),width:this.layoutGroup.width(),height:e.bodyHeight}),this.footerGroup.setAttrs({y:this.bodyGroup.y()+this.bodyGroup.height(),width:this.width,height:this.style.footerHeight}),this.layoutGroup.setAttrs({width:this.width,height:e.layoutHeight}),this.layoutBackground.setAttrs({...this.layoutGroup.getSize()}),this.headerBackground.setAttrs({...this.headerGroup.getSize()}),this.footerBackground.setAttrs({...this.footerGroup.getSize()}),[this.bodyContentGroup].forEach(t=>{t.setAttrs({...this.bodyGroup.getSize()})}),[this.leftPanel,this.rightPanel].forEach(t=>{t.setAttrs({height:this.bodyGroup.getSize().height})}),this.leftPanel.setAttrs({width:this.leftPanelVisible?this.style.leftPanelWidth:0,visible:this.leftPanelVisible}),this.rightPanel.setAttrs({x:this.leftPanel.x()+this.leftPanel.width()+this.style.rightPanelLeftGutterWidth,width:this.layoutGroup.width()-(this.leftPanel.width()+this.style.rightPanelLeftGutterWidth+this.style.rightPanelRightGutterWidth)}),[this.timecodedContainer,this.timecodedGroup,...this.timecodedGroupNodes].forEach(t=>{t.setAttrs({...this.rightPanel.getSize()})}),this.timecodedContainer.clipFunc(t=>{t.rect(-this.style.timecodedContainerClipPadding,-500,this.timecodedContainer.width()+2*this.style.timecodedContainerClipPadding,this.timecodedContainer.height()+500)}),this.timecodedThumbnailsGroup.clipFunc(t=>{t.rect(0,0,this.timecodedThumbnailsGroup.width(),this.timecodedThumbnailsGroup.height())}),this.scrollbar.setPosition({...this.scrollbar.getPosition(),y:this.leftPanel.getSize().height}),this.scrollbar.setWidth(this.timecodedContainer.width()),this.scrollbar.updateScrollHandle(this),this.maxTimecodedGroupWidth=this.calculateWidthFromZoomRatioPercent(this.zoomMax),this.playheadHover.style={height:this.timecodedContainer.height()},this.timelaneLanes.forEach(t=>{t.onMeasurementsChange()}),this.playhead.onMeasurementsChange()}onMeasurementsChange(){this.settleLayout();let e=this.getTimecodedGroupDimension();this.timelaneLanes.forEach(t=>{t.onMeasurementsChange()}),this.zoomByWidth(e.width,this.resolveZoomFocus()),this.scrollbar.updateScrollHandle(this)}onWindowResize(e){let t=this.resolveStageDimension();this.width=t.width,this.onMeasurementsChange()}calculateHeights(){let t=this.getLanes().map(i=>i.getDimension().height).reduce((i,s)=>i+s,0);return{bodyHeight:t,layoutHeight:this.style.headerHeight+t+this.style.footerHeight}}resolveStageDimension(){let e=this.getTimelineHTMLElementRect(),t=this.calculateHeights();return{width:e.width>=this.style.stageMinWidth?e.width:this.style.stageMinWidth,height:t.layoutHeight}}getTimelineHTMLElementRect(){return{x:this.timelineHTMLElement.offsetLeft,y:this.timelineHTMLElement.offsetTop,width:this.timelineHTMLElement.offsetWidth,height:this.timelineHTMLElement.offsetHeight}}showThumbnailHover(e){if(e)if(this.thumbnailHover.setVisible(!0),this.thumbnailHover.getThumbnailVttCue()===e){this.thumbnailHover.setThumbnailVttCue(e);let t=this.resolveThumbnailPosition(this.thumbnailHover);this.thumbnailHover.setPosition(t),this.thumbnailHover.getCanvasNode().moveToTop()}else dt.createKonvaImageSizedByWidth(e.url,this.style.thumbnailHoverWidth).subscribe(t=>{this.thumbnailHover.setThumbnailVttCue(e),this.thumbnailHover.setDimension(t.getSize()),this.thumbnailHover.setImage(t),this.thumbnailHover.setPosition(this.resolveThumbnailPosition(this.thumbnailHover)),this.thumbnailHover.getCanvasNode().moveToTop()})}hideThumbnailHover(){this.thumbnailHover&&this.thumbnailHover.setVisible(!1)}resolveThumbnailPosition(e){let t=this.timecodedGroup.getRelativePointerPosition(),i=this.getTimecodedGroupDimension(),s=e.getImage().getSize(),n=t.x-s.width/2,a=e.style.strokeWidth>0?e.style.strokeWidth/2:0;n=n-a<0?a:n+s.width+a>i.width?i.width-s.width-a:n;let h=this.scrubberLane.getRect();return{x:n,y:h.y+h.height+e.style.strokeWidth/2+this.style.thumbnailHoverYOffset}}createScrollEvent(){return{scrollPercent:this.getHorizontalScrollPercent()}}createZoomEvent(){return{zoomPercent:this.getZoomPercent()}}getHorizontalScrollPercent(){if(this.isSnappedStart())return 0;if(this.isSnappedEnd())return 100;{let e=new Z(this.getTimecodedContainerDimension().width-this.getTimecodedGroupDimension().width).abs();return new Z(this.getTimecodedGroupPosition().x).abs().mul(100).div(e).toNumber()}}setHorizontalScrollPercent(e){this.setTimelinePosition(this.calculateTimelineXFromScrollPercent(e))}getScrollHandleHorizontalMeasurement(e){let t=this.getTimecodedGroupDimension().width,i=this.getTimecodedGroupPosition().x,s;return t<=e?s={width:e,x:0}:s={width:new Z(e).mul(e).div(t).round().toNumber(),x:new Z(i).abs().mul(e).div(t).toNumber()},s}scrollTo(e){return e=_e.coerce.number().min(0).max(100).parse(e),this.scrollToPercentEased(e)}scrollToPlayhead(){let e=-this.playhead.getPlayheadPosition()+this.getTimecodedContainerDimension().width/2;return this.scrollToEased(e)}scrollToPercent(e){let t=this.calculateTimelineXFromScrollPercent(e);this.scrollTimeline(t)}scrollToPercentEased(e){let t=this.calculateTimelineXFromScrollPercent(e);return this.scrollToEased(t)}scrollToEased(e){return new se(t=>{let i=this.getTimecodedGroupPosition().x;Xs({layer:this.timecodedGroup.getLayer(),duration:F.TIMELINE_SCROLL_EASED_DURATION_MS,from:i,to:e,onUpdateHandler:(s,n)=>{this.scrollTimeline(n)},onCompleteHandler:(s,n)=>{t.next(this.getHorizontalScrollPercent()),t.complete()}})})}isPlayheadInTimecodedView(){return this.isInVisiblePositionRange(this.playhead.getPlayheadPosition())}updateScrollWithPlayhead(){let e=this.playhead.getPlayheadPosition(),t=e<this.getVisiblePositionRange().start,i=this.isInVisiblePositionRange(e);this.scrollWithPlayhead=i&&!t}syncTimelineWithPlayhead(){return new se(e=>{this.scrollToEased(-this.playhead.getPlayheadPosition()).pipe(ke(t=>{e.next(this.getHorizontalScrollPercent()),e.complete()})).subscribe()})}setTimelinePosition(e){let t=this.getConstrainedTimelineX(e);this.timecodedGroup.x(t)}scrollTimeline(e){let t=this.getTimecodedGroupPosition().x;this.setTimelinePosition(e),this.getTimecodedGroupPosition().x!==t&&(this.scrollbar.updateScrollHandle(this),this.setHorizontalScrollPercent(this.scrollbar.getScrollHandlePercent()),this.onScroll$.next(this.createScrollEvent()))}calculateTimelineXFromScrollPercent(e){e=this.getConstrainedScrollPercent(e);let t=this.getTimecodedGroupDimension(),i=this.getTimecodedContainerDimension();if(t.width>i.width){let s=new Z(i.width-t.width);return new Z(e).mul(s).div(100).toDecimalPlaces(2).toNumber()}else return 0}getZoomPercent(){let e=this.getTimecodedGroupDimension(),t=this.getTimecodedContainerDimension();return e.width>t.width?new Z(e.width).mul(100).div(t.width).round().toNumber():this.zoomBaseline}zoomTo(e){return e=_e.coerce.number().min(this.getZoomBaseline()).max(this.getZoomMax()).parse(e),this.zoomToEased(e)}zoomIn(){return new se(e=>{this.zoomStep("IN",this.timecodedGroup.getRelativePointerPosition().x),e.next(this.getZoomPercent()),e.complete()})}zoomOut(){return new se(e=>{this.zoomStep("OUT",this.timecodedGroup.getRelativePointerPosition().x),e.next(this.getZoomPercent()),e.complete()})}zoomToEased(e){return new se(t=>{e=this.getConstrainedZoomPercent(e);let i=this.getTimecodedGroupDimension().width,s=this.calculateWidthFromZoomRatioPercent(e);Xs({layer:this.timecodedGroup.getLayer(),duration:F.TIMELINE_ZOOM_EASED_DURATION_MS,from:i,to:s,onUpdateHandler:(n,a)=>{this.zoomByWidth(a,this.resolveZoomFocus())},onCompleteHandler:(n,a)=>{t.next(this.getZoomPercent()),t.complete()}})})}zoomStep(e,t){let i=new Z(this.getTimecodedGroupDimension().width),s=(e==="IN"?i.mul(this.zoomScale):i.div(this.zoomScale)).round().toNumber();this.zoomByWidth(s,t)}zoomByPercent(e,t=!0){e=this.getConstrainedZoomPercent(e);let i=this.calculateWidthFromZoomRatioPercent(e);return this.zoomByWidth(i,this.resolveZoomFocus(),t),this.getZoomPercent()}zoomByWidth(e,t,i=!0){let s=this.getTimecodedGroupPosition().x,n=this.getTimecodedGroupDimension().width;e=this.getConstrainedWidth(e);let a=this.calculateNewPosition(e,t);this.hideThumbnailHover(),this.timecodedGroup.setAttrs({width:e,x:a}),this.timecodedGroupNodes.forEach(h=>{h.width(e)}),(this.getTimecodedGroupDimension().width!==n||this.getTimecodedGroupPosition().x!==s)&&(i?this.scrollbar.updateScrollHandle(this):this.playheadHover.toggleVisible(!1),this.setHorizontalScrollPercent(this.scrollbar.getScrollHandlePercent()),this.onZoom$.next(this.createZoomEvent()),this.onScroll$.next(this.createScrollEvent()))}calculateNewPosition(e,t=0){let i=this.getTimecodedGroupPosition().x,s=this.getTimecodedGroupDimension().width,n=this.getTimecodedContainerRect(),a=e>s?"IN":"OUT",o=i;if(e===n.width)o=0;else if(e>n.width){if(t>0){let h=new Z(t).div(s);if(h.greaterThanOrEqualTo(0)&&h.lessThanOrEqualTo(1)){let l=e-s,d=h.mul(l).abs().round().toNumber(),u=i+d*(a==="IN"?-1:1);o=u<0?u:0}}if(e>n.width){let h=n.x+n.width;o+e<=h&&(o=n.width-e)}}return o}resolveZoomFocus(){return this.videoController.isVideoLoaded()?this.resolvePlayheadSyncPosition():this.isSnappedStart()?0:this.isSnappedEnd()?this.getTimecodedGroupDimension().width:this.getTimecodedGroupDimension().width/2}calculateWidthFromZoomRatioPercent(e){return new Z(this.getTimecodedContainerDimension().width).mul(e).div(100).round().toNumber()}getConstrainedWidth(e){let t=this.getTimecodedContainerDimension();return e>=t.width?e<=this.maxTimecodedGroupWidth?e:this.maxTimecodedGroupWidth:t.width}getConstrainedZoomPercent(e){return e<this.zoomBaseline?this.zoomBaseline:e>this.zoomMax?this.zoomMax:e}getConstrainedScrollPercent(e){return e<0?0:e>100?100:e}playheadHoverMove(e){if(this.videoController.isVideoLoaded()&&this.playheadHover){let t=!1;if(!this.videoController.isPlaying()){let i=this.resolvePlayheadSyncPosition();e>i-this.playheadHoverSnapArea&&e<i+this.playheadHoverSnapArea&&(e=i,t=!0)}this.playheadHover.sync(e,t)}}resolvePlayheadSyncPosition(){return this.timeToTimelinePosition(this.videoController.getCurrentTime())}onVideoLoadedEvent(e){this.fireVideoEventBreaker(),this.clearContent(),this.syncVideoMetadata(),this.videoController.onVideoTimeChange$.pipe(x(this.videoEventBreaker$)).subscribe(t=>{this.syncVideoMetadata()}),this.videoController.onPlay$.pipe(x(this.videoEventBreaker$)).subscribe(t=>{this.updateScrollWithPlayhead()})}fireVideoEventBreaker(){this.videoEventBreaker$&&(this.videoEventBreaker$.next(),this.videoEventBreaker$.complete()),this.videoEventBreaker$=new V}setThumbnailVttFile(e){this.thumbnailVttFile=e}syncVideoMetadata(){this.scrollWithPlayhead&&!this.isPlayheadInTimecodedView()&&!this.syncTimelineWithPlayheadInProgress&&(this.syncTimelineWithPlayheadInProgress=!0,this.syncTimelineWithPlayhead().subscribe(e=>{this.syncTimelineWithPlayheadInProgress=!1}))}addLane(e){if(this.timelaneLanesMap.has(e.getId()))throw new Error(`TimelineLane with id=${e.getId()} already exist`);let t=this.timelaneLanes.length<1,i={...F.POSITION_TOP_LEFT};t||(i.y=this.timelaneLanes.map(s=>s.getRect().height).reduce((s,n)=>s+n,0)),e.setTimeline(this),e.setVideoController(this.videoController),e.setTimelinePosition(i),e.initCanvasNode(),this.timelaneLanes.push(e),this.timelaneLanesMap.set(e.getId(),e),this.bodyContentGroup.add(e.getCanvasNode()),this.settleLayout()}removeLane(e){if(!this.timelaneLanesMap.has(e))throw new Error(`TimelineLane with id=${e} doesn't exist`);let t=this.timelaneLanesMap.get(e);this.timelaneLanes.splice(this.timelaneLanes.findIndex(s=>s.getId()===e),1),this.timelaneLanesMap.delete(e),t.clearContent(),t.destroy();let i={...F.POSITION_TOP_LEFT};this.timelaneLanes.forEach(s=>{s.setTimelinePosition({...i}),i.y=i.y+s.getRect().height}),this.timelaneLanes.forEach(s=>{s.onMeasurementsChange()}),this.settleLayout()}getScrollbar(){return this.scrollbar}addLanes(e){e.forEach(t=>this.addLane(t))}getLanes(){return[...this.timelaneLanesMap.values()]}getLane(e){return this.timelaneLanesMap.get(e)}getScrubberLane(){return this.getLane(xa)}getMarkerLane(e){let t=this.getLane(e);return t instanceof Bs?t:void 0}getThumbnailLane(e){let t=this.getLane(e);return t instanceof js?t:void 0}getSubtitlesLane(e){let t=this.getLane(e);return t instanceof Us?t:void 0}getAudioTrackLane(e){let t=this.getLane(e);return t instanceof Rl?t:void 0}createMarkerLane(e){let t=new Bs(e);return this.addLane(t),t}createThumbnailLane(e){let t=new js(e);return this.addLane(t),t}createSubtitlesLane(e){let t=new Us(e);return this.addLane(t),t}isTimelineReady(){return this.videoController.isVideoLoaded()}addToTimecodedBaseGroup(e){this.timecodedBaseGroup.add(e)}addToTimecodedSurfaceGroup(e){this.timecodedSurfaceGroup.add(e)}addToTimecodedMarkersGroup(e){this.timecodedMarkersGroup.add(e)}addToTimecodedThumbnailsGroup(e){this.timecodedThumbnailsGroup.add(e)}addToTimecodedSubtitlesGroup(e){this.timecodedSubtitlesGroup.add(e)}addToTimecodedAudioGroup(e){this.timecodedAudioGroup.add(e)}constrainTimelinePosition(e){let t=this.getTimecodedGroupDimension();return e<0?0:e>t.width?t.width:e}timelinePositionToTime(e){let t=this.constrainTimelinePosition(e);return this.videoController.isVideoLoaded()?new Z(t).mul(this.videoController.getDuration()).div(this.getTimecodedGroupDimension().width).toNumber():0}timelinePositionToTimeFormatted(e){return this.videoController.isVideoLoaded()?this.videoController.formatTimestamp(this.timelinePositionToTime(e)):""}timelinePositionToFrame(e){return this.videoController.isVideoLoaded()?this.videoController.calculateTimeToFrame(this.timelinePositionToTime(e)):0}timeToTimelinePosition(e){return new Z(e).mul(this.getTimecodedGroupDimension().width).div(this.videoController.getDuration()).toNumber()}getConstrainedTimelineX(e){let t=this.getTimecodedGroupDimension(),i=this.getTimecodedContainerDimension();if(t.width<=i.width)return 0;{let s=i.width-t.width;return e<s?s:e>0?0:e}}getBodyGroupRect(){return{...this.bodyGroup.getPosition(),...this.bodyGroup.getSize()}}getLeftPanelRect(){return{...this.leftPanel.getPosition(),...this.leftPanel.getSize()}}getLeftPanelVisible(){return this.leftPanelVisible}getRightPanelRect(){return{...this.rightPanel.getSize(),...this.rightPanel.getPosition()}}getTimecodedContainerDimension(){return this.timecodedContainer.getSize()}getTimecodedContainerPosition(){return this.timecodedContainer.getPosition()}getTimecodedContainerRect(){return{...this.getTimecodedContainerDimension(),...this.getTimecodedContainerPosition()}}getTimecodedGroupDimension(){return this.timecodedGroup.getSize()}getTimecodedGroupPosition(){return this.timecodedGroup.getPosition()}getTimecodedGroupRect(){return{...this.timecodedGroup.getPosition(),...this.timecodedGroup.getSize()}}getTimecodedGroupHorizontalMeasurement(){return{x:this.timecodedGroup.x(),width:this.timecodedGroup.width()}}getRelativePointerPosition(){return this.timecodedGroup.getRelativePointerPosition()}getLayoutGroupDimension(){return this.layoutGroup.getSize()}getLayoutGroupPosition(){return this.layoutGroup.getPosition()}getRect(){return{...this.getLayoutGroupDimension(),...this.getLayoutGroupPosition()}}getVisiblePositionRange(){let e=Math.abs(this.timecodedGroup.x()),t=e+this.timecodedContainer.width();return{start:e,end:t}}isInVisiblePositionRange(e){let t=this.getVisiblePositionRange();return e>=t.start&&e<=t.end}isSnappedStart(){return this.getTimecodedGroupPosition().x===0}isSnappedEnd(){return this.getTimecodedContainerDimension().width-this.getTimecodedGroupDimension().width===this.getTimecodedGroupPosition().x}getVisibleTimeRange(){let e=this.getVisiblePositionRange(),t=this.timelinePositionToTime(e.start),i=this.timelinePositionToTime(e.end);return{start:t,end:i}}getZoomBaseline(){return this.zoomBaseline}getZoomMax(){return this.zoomMax}fetchThumbnailVttFile(){return this.thumbnailVttUrl?ss.create(this.thumbnailVttUrl,this.axiosConfig).pipe(ke(e=>(this.thumbnailVttFile=e,e)),gi((e,t)=>Ee(void 0))):Ee(void 0)}toggleLeftPanelVisible(e){this.leftPanelVisible=e,this.leftPanel.visible(e),this.settleLayout(),this.timelaneLanes.forEach(t=>{t.onMeasurementsChange()}),this.headerTimecodeDisplay.setVisible(!e)}clearContent(){this.setThumbnailVttFile(void 0),this.timelaneLanes.forEach(e=>{e.clearContent()}),this.zoomByPercent(this.zoomBaseline)}}class qs{static timeToFrame(e,t){return t.mul(e).floor().toNumber()}static frameToTime(e,t){return new Z(e).dividedBy(t).toNumber()}}function Wm(r){r.next(),r.complete()}class ti{constructor(){this.resolveUserAgent()}static instance(){return ti._instance||(ti._instance=new ti),ti._instance}resolveUserAgent(){this._userAgent=window.navigator&&window.navigator.userAgent||"",this._isAndroid=/Android/i.test(this._userAgent),this._isFirefox=/Firefox/i.test(this._userAgent),this._isEdge=/Edg/i.test(this._userAgent),this._isChromium=/Chrome/i.test(this._userAgent)||/CriOS/i.test(this._userAgent),this._isChrome=!this.isEdge&&this.isChromium,this._isSafari=/Safari/i.test(this._userAgent)&&!this.isChrome&&!this.isAndroid&&!this.isEdge}get isSafari(){return this._isSafari}get isFirefox(){return this._isFirefox}get isEdge(){return this._isEdge}get isChromium(){return this._isChromium}get isChrome(){return this._isChrome}get isAndroid(){return this._isAndroid}}const Qe=class{static formatVideoTimestamp(r,e){if(r<=0)return Qe.VIDEO_ZERO_TIMESTAMP;const t=Math.floor(r/3600),i=Math.floor(r%3600/60),s=Math.floor(r%60);let n=new Z(qs.timeToFrame(r,e)).mod(e).toNumber();return`${Qe.padZero(t)}:${Qe.padZero(i)}:${Qe.padZero(s)}:${Qe.padZero(n)}`}static padZero(r,e=2){return r.toString().padStart(e,"0")}};let Ys=Qe;Ys.VIDEO_ZERO_TIMESTAMP=`${Qe.padZero(0)}:${Qe.padZero(0)}:${Qe.padZero(0)}:${Qe.padZero(0)}`;class Um{constructor(){this._state={playing:!1,paused:!0,waiting:!1,seeking:!1,buffering:!1,ended:!1},this.onChange$=new Qt(this._state)}updateState(e){let t={...this._state,...e},i=this.compare(this._state,t)===0;this._state=t,i||this.onChange$.next(this._state)}compare(e,t){return e.playing===t.playing&&e.paused===t.paused&&e.waiting===t.waiting&&e.seeking===t.seeking&&e.buffering===t.buffering&&e.ended===t.ended?0:-1}get state(){return this._state}setPlaying(){this.updateState({playing:!0,paused:!1,waiting:!1,seeking:!1,buffering:!1,ended:!1})}setPaused(){this.updateState({playing:!1,paused:!0,waiting:!1,seeking:!1,buffering:!1,ended:!1})}setEnded(){this.updateState({playing:!1,paused:!0,waiting:!1,seeking:!1,buffering:!1,ended:!0})}set waiting(e){this.updateState({waiting:e})}set seeking(e){this.updateState({seeking:e})}set buffering(e){this.updateState({buffering:e})}}function Pa(r){let e;return typeof r=="string"?e=r:r instanceof it?(console.log(r),e=r.errors.map(t=>t.message).join(". ")):r instanceof Error?e=r.message:e="Unexpected error",e}function Zm(r){return{errorMap:(e,t)=>({message:r})}}const We={PAUSE:"pause",WAITING:"waiting",PLAYING:"playing",TIMEUPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",LOADEDDATA:"loadeddata",LOADEDMETEDATA:"loadedmetadata",ENDED:"ended",PROGRESS:"progress"};class jm{constructor(e,t){if(this.browserProvider=ti.instance(),this.helpMenuGroups=[],this._isVideoLoaded=!1,this.frameDurationSpillOverCorrection=1e-6,this.syncLoopMaxIterations=20,this.seekInProgress=!1,this.videoStalledCheckIntervalMs=700,this.videoFrameCallback$=new Qt(null),this.videoEventBreaker$=new V,this.onDestroy$=new V,this.seekBreaker$=new V,this.onVideoLoaded$=new Qt(void 0),this.onVideoLoading$=new V,this.onPlay$=new V,this.onPause$=new V,this.onVideoTimeChange$=new V,this.onSeeking$=new V,this.onSeeked$=new V,this.onBuffering$=new V,this.onEnded$=new V,this.onAudioSwitched$=new V,this.onPlaybackState$=new V,this.onHelpMenuChange$=new Qt(void 0),this.onVideoError$=new V,this.domController=e,this.crossorigin=t,this.videoElement=this.domController.videoElement,this.videoElement.crossOrigin=this.crossorigin,!this.videoElement)throw new Error("VideoController element not set");this.videoFrameCallback$.pipe(x(this.onDestroy$)).subscribe(i=>{i&&(this.seekInProgress||(this.isPlaying()?this.videoTimeChangeHandlerExecutor():this.isPaused()))})}loadVideo(e,t,i){try{return e=ai.url()(e),t=_e.coerce.number().min(0).max(100).parse(t,Zm("Invalid frameRate")),this.onVideoLoading$.next({sourceUrl:e,frameRate:t}),this._isVideoLoaded=!1,this.video=void 0,this.detachVideoEventListeners(),this.videoLoad(e,t,i).pipe(ke(s=>(this.video=s,this.frameRateDecimal=new Z(this.video.frameRate),this.syncStepCurrentTimeMediaTime=new Z(this.video.frameDuration).div(10).toNumber(),this.playbackStateMachine=new Um,this.initEventHandlers(),this.startVideoFrameCallback(),this._isVideoLoaded=!0,this.onVideoLoaded$.next({video:this.video}),s)),gi((s,n)=>{let a=Pa(s);return this.onVideoError$.next({type:"VIDEO_LOAD_ERROR",message:a}),Kn(()=>new Error(a))}))}catch(s){let n=Pa(s);return this.onVideoError$.next({type:"VIDEO_LOAD_ERROR",message:n}),Kn(()=>new Error(n))}}initEventHandlers(){be(this.videoElement,We.PAUSE).pipe(x(this.videoEventBreaker$)).subscribe(e=>{if(this.browserProvider.isSafari){let t=this.getCurrentTime()+this.video.frameDuration;this._seekTimeAndSyncNoEmitEvents(t).subscribe(i=>{this.videoTimeChangeHandlerExecutor(),this.onPause$.next({})})}else this.syncVideoFrames({}).subscribe(t=>{this.videoTimeChangeHandlerExecutor(),this.onPause$.next({})})}),be(this.videoElement,We.WAITING).pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.waiting=!0}),be(this.videoElement,We.PLAYING).pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.setPlaying(),this.videoStalledCheckLastCurrentTime=void 0}),be(this.videoElement,We.PAUSE).pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.setPaused(),this.videoStalledCheckLastCurrentTime=void 0}),be(this.videoElement,We.TIMEUPDATE).pipe(x(this.videoEventBreaker$)).subscribe(e=>{}),be(this.videoElement,We.PROGRESS).pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.onBuffering$.next({bufferedTimespans:this.getBufferedTimespans()})}),be(this.videoElement,We.ENDED).pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.onEnded$.next({})}),this.playbackStateMachine.onChange$.pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.onPlaybackState$.next(e)}),this.onPlay$.pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.setPlaying(),this.videoStalledCheckLastCurrentTime=void 0}),this.onPause$.pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.setPaused(),this.videoStalledCheckLastCurrentTime=void 0}),this.onSeeking$.pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.seeking=!0}),this.onSeeked$.pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.seeking=!1}),this.onEnded$.pipe(x(this.videoEventBreaker$)).subscribe(e=>{this.playbackStateMachine.setEnded(),this.videoStalledCheckLastCurrentTime=void 0}),zu(this.videoStalledCheckIntervalMs).pipe(x(this.videoEventBreaker$)).subscribe(e=>{let t=this.getCurrentTime();if(!this.videoStalledCheckLastCurrentTime){this.videoStalledCheckLastCurrentTime=t;return}if(this.playbackStateMachine.state.playing){let i=this.videoStalledCheckIntervalMs*.8/1e3*this.getPlaybackRate(),s=this.videoStalledCheckLastCurrentTime+i,n=t<s;this.playbackStateMachine.waiting=n,this.videoStalledCheckLastCurrentTime=t}})}getBufferedTimespans(){if(!this.isVideoLoaded())return[];let e=[],t=this.videoElement.buffered;for(let i=0;i<t.length;i++)e.push({start:t.start(i),end:t.end(i)});return e}startVideoFrameCallback(){let e=()=>{this.videoFrameCallbackHandle=this.videoElement.requestVideoFrameCallback((i,s)=>{t({now:i,metadata:s})})},t=i=>{this.videoFrameCallback$.next(i),e()};e()}detachVideoEventListeners(){this.videoEventBreaker$&&(this.videoEventBreaker$.next(),this.videoEventBreaker$.complete()),this.videoEventBreaker$=new V,this.videoElement&&this.videoFrameCallbackHandle&&this.videoElement.cancelVideoFrameCallback(this.videoFrameCallbackHandle)}syncVideoFrames(e){return console.debug("syncFrames - START",e),new se(t=>{let i=new Qt(!1),s=new V,n=this.syncLoopMaxIterations;this.seekBreaker$.pipe(x(s)).subscribe(()=>{console.debug("%csyncFrames - seek breaker triggered","color: gray"),i.next(!0),a()});let a=()=>{Wm(s),t.next(),t.complete(),console.debug("%csyncFrames - END","color: gray")},o=h=>{i.pipe(ct(1)).subscribe(l=>{l?console.debug("%csyncFrames - seek skipped, breaker already triggered","color: gray"):this._seekTimeFireAndForget(h)})};if(this.isPlaying())console.debug("%csyncFrames - SKIPPED: video is playing","color: gray"),a();else{let h=u=>{let c=this.getCurrentTime(),p=this.calculateTimeToFrame(c),f=u?u.metadata.mediaTime:void 0,m=f?this.calculateTimeToFrame(f):void 0;if(this.isPlaying())return console.debug("%csyncFrames - UNKNOWN: video is playing","color: gray"),!0;if(p===0)return console.debug(`%csyncFrames - OK: currentTimeFrame[${p}] === 0`,"color: green"),!0;if(e.seekToFrame){if(e.seekToFrame===p&&(p===m||!m))return console.debug(`%csyncFrames - OK: ((currentTimeFrame[${p}] === mediaTimeFrame[${m}]) || !mediaTimeFrame[${m}])`,"color: green"),!0}else if(p===m||!m)return console.debug(`%csyncFrames - OK: currentTimeFrame[${p}] === mediaTimeFrame[${m}]`,"color: green"),!0;return!1},l,d=u=>{if(console.debug(`syncFrames.syncLoop - START (${this.syncLoopMaxIterations-n})`,{syncConditions:e,videoFrameCallbackData:u,dropped:this.videoElement.getVideoPlaybackQuality()}),this.isPlaying()){a();return}if(h(u)){a();return}let c=this.getCurrentTime(),p=this.calculateTimeToFrame(c),f=u?u.metadata.mediaTime:void 0,m=f?this.calculateTimeToFrame(f):void 0;if(n--<=0){console.debug(`%csyncFrames - TOO MANY SYNCs, EXITING.. : currentTime[${c}], mediaTime[${f}], currentTimeFrame[${p}], mediaTimeFrame[${m}]`,"color: red"),a();return}if(console.debug(`syncFrames - currentTime[${c}], mediaTime[${f}], currentTimeFrame[${p}], mediaTimeFrame[${m}], `),e.seekToFrame)if(l||(l=c),e.seekToFrame===p)if(p===m||!m)console.debug(`%csyncFrames - OK: ((currentTimeFrame[${p}] === mediaTimeFrame[${m}]) || !mediaTimeFrame[${m}])`,"color: green"),a();else{console.debug(`%csyncFrames - CORRECTION SEEK TO FRAME; currentTimeFrame[${p}] ${p>m?">":"<"} mediaTimeFrame[${m}]`,"color: red");let v=Math.abs(p-m);console.debug(`%csyncFrames - frameDiff: ${v}`,"color: orange");let _=this.syncStepCurrentTimeMediaTime*(p>m?1:-1);o(Z.add(c,_).toNumber())}else{console.debug(`%csyncFrames - CORRECTION SEEK TO FRAME; syncConditions.seekToFrame[${e.seekToFrame}] !== currentTimeFrame[${p}] | seekToFrameTimeBaseline=${l}`,"color: red");let v=Math.abs(e.seekToFrame-p),_=v*this.video.frameDuration,b=(e.seekToFrame>=p?Z.add(l,_):Z.sub(l,_)).toNumber();l=b,console.debug(`%csyncFrames - frameDiff: ${v}`,"color: orange"),console.debug(`%csyncFrames - frameCorrectionTime: ${_}`,"color: orange"),console.debug(`%csyncFrames - seekTo: ${b}`,"color: orange"),o(b)}else p===m||!m?(console.debug(`%csyncFrames - OK: currentTimeFrame[${p}] === mediaTimeFrame[${m}]`,"color: green"),a()):(console.debug(`%csyncFrames - CORRECTION; currentTimeFrame[${p}] ${p>m?">":"<"} mediaTimeFrame[${m}]`,"color: red"),p>m?o(Z.add(c,this.syncStepCurrentTimeMediaTime).toNumber()):o(f+this.syncStepCurrentTimeMediaTime));console.debug("syncFrames.syncLoop - END")};this.videoFrameCallback$.pipe(ju((e.seekToFrame,0)),x(s)).subscribe(u=>{console.debug("syncFrames.syncLoop - videoFrameCallback$ trigger",u),d(u)})}})}seekTimeAndSync(e,t={}){return new se(i=>{this.seekInProgress&&(this.seekBreaker$.next(),this.seekBreaker$.complete(),this.seekBreaker$=new V),this.seekInProgress=!0,isNaN(e)||(e=e<0?0:e>this.getDuration()?this.getDuration():e,be(this.videoElement,We.SEEKING).pipe(x(this.seekBreaker$),ct(1)).subscribe(s=>{this.onSeeking$.next({newTime:e,currentTime:this.getCurrentTime()})}),be(this.videoElement,We.SEEKED).pipe(x(this.seekBreaker$),ct(1)).subscribe(s=>{this.syncVideoFrames(t).subscribe(n=>{this.onSeeked$.next({currentTime:this.getCurrentTime()}),this.seekInProgress=!1,i.next(!0),i.complete(),this.videoTimeChangeHandlerExecutor()})}),console.debug(`Seeking to timestamp: ${e}`),this.setCurrentTime(e))})}_seekTimeFireAndForget(e){if(!isNaN(e)){let t=this.getCurrentTime();e=e<0?0:e>this.getDuration()?this.getDuration():e;let i=e>t?"FORWARD":"BACKWARD",s=Z.sub(t,e).abs();console.debug(`Seeking from currentTime[${t}] to newTime[${e}], direction: ${i} ${s.toNumber()}`),this.setCurrentTime(e)}}_seekTimeAndSyncNoEmitEvents(e){return this.isPlaying()?Ee(!1):new se(t=>{isNaN(e)||(e=e<0?0:e>this.getDuration()?this.getDuration():e,be(this.videoElement,We.SEEKED).pipe(hi()).subscribe(i=>{this.syncVideoFrames({}).subscribe(s=>{t.next(!0),t.complete(),this.videoTimeChangeHandlerExecutor()})}),console.debug(`Seeking ${e}`),this.setCurrentTime(e))})}seekFromCurrentTimeAndSync(e,t={}){let i=this.getCurrentTime(),s=Z.add(i,e).toNumber(),n=s>i?"FORWARD":"BACKWARD",a=Z.sub(i,s).abs().toNumber();return console.debug(`Seeking from currentTime ${i} to ${s}, direction: ${n} ${a}`),this.seekTimeAndSync(s,t)}setCurrentTime(e){this.videoElement.currentTime=e}getFrameRateDecimal(){return this.frameRateDecimal}_seekToFrame(e){if(!this.isPlaying()&&!isNaN(e)){if(console.debug(`Seeking to frame: ${e}`),e<=0)return this.seekTimeAndSync(0,{});{let t=this.calculateFrameToTime(e)+new Z(this.frameDurationSpillOverCorrection).toNumber(),i=this.calculateTimeToFrame(t);return i!==e?(console.error(`Frame numbers don't match. Wanted: ${e}, calculated: ${i}`),Ee(!1)):this.seekTimeAndSync(t,{seekToFrame:e,seekToTimestamp:t,currentTime:this.getCurrentTime()}).pipe(ke(s=>s))}}}_seekFromCurrentFrame(e){let t=this.getCurrentFrame(),i=t+e;if(console.debug(`seekFromCurrentFrame - Current frame: ${t}, wanted frame: ${i}`),t!==i){if(i<=0)return this._seekToFrame(0);if(i>=this.getTotalFrames())return this._seekToFrame(this.getTotalFrames());{let s=this.calculateFrameToTime(e);return this.seekFromCurrentTimeAndSync(s,{seekToFrame:i,currentTime:this.getCurrentTime()}).pipe(ke(n=>n))}}else return Ee(!0)}videoTimeChangeHandlerExecutor(){let e=this.getCurrentTime(),t=this.getCurrentFrame();this.onVideoTimeChange$.next({currentTime:e,frame:t})}getPlaybackState(){return this.playbackStateMachine.state}getVideo(){return this.isVideoLoaded()?this.video:void 0}getHTMLVideoElement(){return this.videoElement}calculateTimeToFrame(e){return qs.timeToFrame(e,this.getFrameRateDecimal())}calculateFrameToTime(e){return qs.frameToTime(e,this.getFrameRateDecimal())}play(){this.isVideoLoaded()&&!this.isPlaying()&&this.videoElement.play().then(()=>{this.onPlay$.next({})})}pause(){this.isVideoLoaded()&&this.isPlaying()&&this.videoElement.pause()}togglePlayPause(){this.isPlaying()?this.pause():this.play()}isPlaying(){return this.isVideoLoaded()&&this.videoElement.currentTime>0&&this.videoElement.currentTime<this.getDuration()&&!this.videoElement.paused&&!this.videoElement.ended&&this.videoElement.readyState>this.videoElement.HAVE_CURRENT_DATA}isPaused(){return!this.isPlaying()}isSeeking(){return this.seekInProgress}getCurrentTime(){return this.isVideoLoaded()?this.videoElement.currentTime:0}getPlaybackRate(){return this.isVideoLoaded()?this.videoElement.playbackRate:0}setPlaybackRate(e){if(this.isVideoLoaded()){try{e=_e.coerce.number().min(.1).max(16).default(1).parse(e)}catch{e=1}this.videoElement.playbackRate=e}}getVolume(){return this.isVideoLoaded()?this.videoElement.volume:0}setVolume(e){if(this.isVideoLoaded()){try{e=_e.coerce.number().min(0).max(1).default(1).parse(e)}catch{e=1}this.videoElement.volume=e}}getDuration(){return this.isVideoLoaded()?this.video.duration:0}getFrameRate(){return this.isVideoLoaded()?this.video.frameRate:0}getTotalFrames(){return this.isVideoLoaded()?this.video.totalFrames:0}getCurrentFrame(){return this.isVideoLoaded()?this.calculateTimeToFrame(this.getCurrentTime()):0}seekToFrame(e){return this.isVideoLoaded()?(e=_e.coerce.number().min(0).max(this.getTotalFrames()).parse(e),this._seekToFrame(e)):Ee(!1)}seekFromCurrentFrame(e){return this.isVideoLoaded()?(e=_e.coerce.number().parse(e),this._seekFromCurrentFrame(e)):Ee(!1)}seekPreviousFrame(){return this.isVideoLoaded()?this.seekFromCurrentFrame(-1):Ee(!1)}seekNextFrame(){return this.isVideoLoaded()?this.seekFromCurrentFrame(1):Ee(!1)}seekToTimestamp(e){return this.isVideoLoaded()?(e=_e.coerce.number().parse(e),this.seekTimeAndSync(e)):Ee(!1)}formatTimestamp(e){return this.isVideoLoaded()?(e=_e.coerce.number().min(0).max(this.getDuration()).parse(e),Ys.formatVideoTimestamp(e,this.getFrameRateDecimal())):Ys.VIDEO_ZERO_TIMESTAMP}mute(){this.isVideoLoaded()&&(this.videoElement.muted=!0)}unmute(){this.isVideoLoaded()&&(this.videoElement.muted=!1)}isFullscreen(){return this.isVideoLoaded()?this.domController.isFullscreen():!1}toggleFullscreen(){this.isVideoLoaded()&&this.domController.toggleFullscreen(this.videoElement)}getAudioTracks(){throw new Error("unsupported")}getCurrentAudioTrack(){throw new Error("unsupported")}setAudioTrack(e){throw new Error("unsupported")}isVideoLoaded(){return this._isVideoLoaded}getHls(){throw new Error("Unsupported or video not loaded with Hls.js")}addHelpMenuGroup(e){this.helpMenuGroups.push(e),this.onHelpMenuChange$.next()}getHelpMenuGroups(){return this.helpMenuGroups}destroy(){this.videoEventBreaker$&&(this.videoEventBreaker$.next(),this.videoEventBreaker$.complete()),this.onDestroy$&&(this.onDestroy$.next(),this.onDestroy$.complete()),this.videoElement=null,this.domController=null,this._isVideoLoaded=!1}}class Xm{constructor(e,t,i,s){this._element=e,this._sourceUrl=t,this._frameRate=i,this._duration=s,this._totalFrames=new Z(this._duration).mul(this._frameRate).toNumber(),this._frameDuration=new Z(1).div(this._frameRate).toNumber()}get element(){return this._element}get sourceUrl(){return this._sourceUrl}get frameRate(){return this._frameRate}get duration(){return this._duration}get totalFrames(){return this._totalFrames}get frameDuration(){return this._frameDuration}}class qm extends jm{constructor(e,t){super(e,t),ze.isSupported()?console.debug("video load with hls.js"):console.error("hls is not supported through MediaSource extensions");let i={...ze.DefaultConfig,enableWorker:!1};this.hls=new ze(i)}videoLoad(e,t,i){return new se(s=>{this.hls.on(ze.Events.ERROR,function(h,l){l.type;let d=l.details;l.fatal,d.includes("audioTrackLoadError")||(s.error(`Error loading video. Hls error details: ${d}`),s.complete())});let n=new se(h=>{this.hls.once(ze.Events.MEDIA_ATTACHED,function(l,d){console.debug("video element and hls.js are now bound together"),h.next(!0),h.complete()})}),a=new se(h=>{this.hls.once(ze.Events.MANIFEST_PARSED,function(l,d){console.debug("manifest loaded, found "+d.levels.length+" quality level"),h.next(!0),h.complete()})}),o=be(this.videoElement,We.LOADEDDATA).pipe(hi());Gu([n,a,o]).pipe(hi()).subscribe(h=>{i=i&&_e.coerce.number().parse(i),i=i||this.videoElement.duration;let l=new Xm(this.videoElement,e,t,i);s.next(l),s.complete()}),this.hls.loadSource(e),this.hls.attachMedia(this.videoElement)})}initEventHandlers(){super.initEventHandlers(),this.hls.on(ze.Events.ERROR,function(e,t){t.type,t.details,t.fatal,console.error(e,t),(t.details===ze.ErrorDetails.BUFFER_STALLED_ERROR||t.details===ze.ErrorDetails.BUFFER_APPEND_ERROR||t.details===ze.ErrorDetails.BUFFER_APPENDING_ERROR)&&(this.videoPlaybackStateHolder.buffering=!0)})}getAudioTracks(){return this.isVideoLoaded?this.hls.audioTracks:null}getCurrentAudioTrack(){return this.getAudioTracks()[this.hls.audioTrack]}setAudioTrack(e){if(!this.isVideoLoaded)return null;let t=this.hls.audioTrack;this.hls.audioTrack=e;let i=this.hls.audioTrack;i>=0&&t!==i&&this.onAudioSwitched$.next({audioTrack:this.getCurrentAudioTrack()})}getHls(){return this.hls}}class Ym{constructor(e){this.hidden=!0,this.id=e.id,this.src=e.src,this.default=e.default,this.label=e.label,this.language=e.language,this.cues=[]}}class Km extends Ym{constructor(e){super(e)}}class Sn{constructor(e){this.subtitlesTracks=new Map,this.onCreate$=new V,this.onRemove$=new V,this.onShow$=new V,this.onHide$=new V,this.videoController=e,this.videoController.onVideoLoaded$.pipe($e(t=>!!t)).subscribe(t=>{this.removeAllTracks()})}getDomTextTrack(e){let t=this.videoController.getHTMLVideoElement().textTracks.getTrackById(e.id);if(t.kind==="subtitles")return t}removeDomTextTrack(e){return this.getDomTextTrack(e)?(this.videoController.getHTMLVideoElement().querySelectorAll("track").forEach(i=>{i.getAttribute("id")===e.id&&i.parentElement.removeChild(i)}),!0):!1}static createHTMLTrackElement(e){let t=document.createElement("track");return t.kind="subtitles",t.id=e.id,t.label=e.label,t.srclang=e.language,t.src=e.src,t.default=e.default,t}createVttTrack(e){return this.videoController.isVideoLoaded?new se(t=>{let i=new Km({...e});this.subtitlesTracks.has(i.id)&&this.removeTrack(i.id),i.element=Sn.createHTMLTrackElement(i),be(i.element,"load").pipe(hi()).subscribe(n=>{this.subtitlesTracks.set(i.id,i),t.next(i),t.complete(),this.onCreate$.next({textTrack:i})}),this.videoController.getHTMLVideoElement().appendChild(i.element);let s=this.getDomTextTrack(i);s.mode="hidden"}):Ee(void 0)}getTracks(){if(this.videoController.isVideoLoaded)return[...this.subtitlesTracks.values()]}removeAllTracks(){this.videoController.isVideoLoaded&&this.subtitlesTracks.forEach((e,t)=>{this.removeTrack(e.id)})}removeTrack(e){if(!this.videoController.isVideoLoaded)return;let t=this.subtitlesTracks.get(e);t&&(this.subtitlesTracks.delete(e),this.removeDomTextTrack(t),this.onRemove$.next({}))}getCurrentTrack(){return this.currentTrack}showTrack(e=void 0){if(!this.videoController.isVideoLoaded||(e=e||(this.getCurrentTrack()?this.getCurrentTrack().id:void 0),!e))return;let t=this.subtitlesTracks.get(e);if(t){let i=this.getDomTextTrack(t);if(i){for(let s=0;s<this.videoController.getHTMLVideoElement().textTracks.length;s++){let n=this.videoController.getHTMLVideoElement().textTracks[s];n.mode="hidden"}i.mode="showing",t.hidden=!1,this.currentTrack=t,this.onShow$.next({})}}}hideTrack(e=void 0){if(!this.videoController.isVideoLoaded||(e=e||(this.getCurrentTrack()?this.getCurrentTrack().id:void 0),!e))return;let t=this.subtitlesTracks.get(e);if(t){let i=this.getDomTextTrack(t);i&&(i.mode="hidden",t.hidden=!0,this.onHide$.next({}))}}destroy(){this.removeAllTracks(),this.videoController=null,this.videoController=void 0}}var Ks={},Jm={get exports(){return Ks},set exports(r){Ks=r}};(function(r){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function s(h,l,d){this.fn=h,this.context=l,this.once=d||!1}function n(h,l,d,u,c){if(typeof d!="function")throw new TypeError("The listener must be a function");var p=new s(d,u||h,c),f=t?t+l:l;return h._events[f]?h._events[f].fn?h._events[f]=[h._events[f],p]:h._events[f].push(p):(h._events[f]=p,h._eventsCount++),h}function a(h,l){--h._eventsCount===0?h._events=new i:delete h._events[l]}function o(){this._events=new i,this._eventsCount=0}o.prototype.eventNames=function(){var l=[],d,u;if(this._eventsCount===0)return l;for(u in d=this._events)e.call(d,u)&&l.push(t?u.slice(1):u);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(d)):l},o.prototype.listeners=function(l){var d=t?t+l:l,u=this._events[d];if(!u)return[];if(u.fn)return[u.fn];for(var c=0,p=u.length,f=new Array(p);c<p;c++)f[c]=u[c].fn;return f},o.prototype.listenerCount=function(l){var d=t?t+l:l,u=this._events[d];return u?u.fn?1:u.length:0},o.prototype.emit=function(l,d,u,c,p,f){var m=t?t+l:l;if(!this._events[m])return!1;var v=this._events[m],_=arguments.length,w,b;if(v.fn){switch(v.once&&this.removeListener(l,v.fn,void 0,!0),_){case 1:return v.fn.call(v.context),!0;case 2:return v.fn.call(v.context,d),!0;case 3:return v.fn.call(v.context,d,u),!0;case 4:return v.fn.call(v.context,d,u,c),!0;case 5:return v.fn.call(v.context,d,u,c,p),!0;case 6:return v.fn.call(v.context,d,u,c,p,f),!0}for(b=1,w=new Array(_-1);b<_;b++)w[b-1]=arguments[b];v.fn.apply(v.context,w)}else{var T=v.length,L;for(b=0;b<T;b++)switch(v[b].once&&this.removeListener(l,v[b].fn,void 0,!0),_){case 1:v[b].fn.call(v[b].context);break;case 2:v[b].fn.call(v[b].context,d);break;case 3:v[b].fn.call(v[b].context,d,u);break;case 4:v[b].fn.call(v[b].context,d,u,c);break;default:if(!w)for(L=1,w=new Array(_-1);L<_;L++)w[L-1]=arguments[L];v[b].fn.apply(v[b].context,w)}}return!0},o.prototype.on=function(l,d,u){return n(this,l,d,u,!1)},o.prototype.once=function(l,d,u){return n(this,l,d,u,!0)},o.prototype.removeListener=function(l,d,u,c){var p=t?t+l:l;if(!this._events[p])return this;if(!d)return a(this,p),this;var f=this._events[p];if(f.fn)f.fn===d&&(!c||f.once)&&(!u||f.context===u)&&a(this,p);else{for(var m=0,v=[],_=f.length;m<_;m++)(f[m].fn!==d||c&&!f[m].once||u&&f[m].context!==u)&&v.push(f[m]);v.length?this._events[p]=v.length===1?v[0]:v:a(this,p)}return this},o.prototype.removeAllListeners=function(l){var d;return l?(d=t?t+l:l,this._events[d]&&a(this,d)):(this._events=new i,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,r.exports=o})(Jm);const Qm={OMAKASE_SUBTITLES_HIDE:"omakaseSubtitlesHide",OMAKASE_TIMELINE_ZOOM:"omakaseTimelineZoom",OMAKASE_VIDEO_LOADED:"omakaseVideoLoaded",OMAKASE_VIDEO_PAUSE:"omakaseVideoPause",OMAKASE_VIDEO_PLAY:"omakaseVideoPlay",OMAKASE_VIDEO_SEEKED:"omakaseVideoSeeked",OMAKASE_VIDEO_SEEKING:"omakaseVideoSeeking",OMAKASE_VIDEO_BUFFERING:"omakaseVideoBuffering",OMAKASE_VIDEO_ENDED:"omakaseVideoEnded",OMAKASE_VIDEO_TIME_CHANGE:"omakaseVideoTimeChange",OMAKASE_VIDEO_AUDIO_SWITCHED:"omakaseVideoAudioSwitched",OMAKASE_AUDIO_SWITCHED:"omakaseAudioSwitched",OMAKASE_SUBTITLES_CREATE:"omakaseSubtitlesCreate",OMAKASE_SUBTITLES_REMOVE:"omakaseSubtitlesRemove",OMAKASE_SUBTITLES_SHOW:"omakaseSubtitlesShow",OMAKASE_TIMELINE_SCROLL:"omakaseTimelineScroll"};class eg{constructor(e){this.onAudioSwitched$=new V,this.videoController=e}getAudioTracks(){return this.videoController.getAudioTracks()}getCurrentAudioTrack(){return this.videoController.getCurrentAudioTrack()}setAudioTrack(e){let t=this.getCurrentAudioTrack();this.videoController.setAudioTrack(e);let i=this.getCurrentAudioTrack();t!==i&&this.onAudioSwitched$.next({audioTrack:i})}}class Ei{static isFullscreenEnabled(){const e=document;return e.fullscreenEnabled||e.webkitFullscreenEnabled||!!e.webkitCancelFullScreen||e.mozFullScreenEnabled||e.msFullscreenEnabled||!1}static isFullscreen(){const e=document;return!!(e.fullscreenElement||e.webkitFullscreenElement||e.webkitCurrentFullScreenElement||e.mozFullScreenElement||e.msFullscreenElement)}static requestFullscreen(e,t){const i=e??document.documentElement,s=i.requestFullscreen||i.webkitRequestFullscreen||i.webkitRequestFullScreen||i.mozRequestFullScreen||i.msRequestFullscreen;if(!s)throw new Error("Unsupported");return s.call(i,t)}static exitFullscreen(){const e=document,t=e.exitFullscreen||e.webkitExitFullscreen||e.webkitCancelFullScreen||e.mozCancelFullScreen||e.msExitFullscreen;if(!t)throw new Error("Unsupported");return t.call(e)}}const fe={player:"omakase-player",playerWrapper:"omakase-player-wrapper",video:"omakase-video",videoControls:"omakase-video-controls",buttonPlay:"omakase-button-play",buttonPause:"omakase-button-pause",buttonLoading:"omakase-button-loading",buttonError:"omakase-button-error",buttonReplay:"omakase-button-replay",buttonHelp:"omakase-help-button",help:"omakase-help",helpMenu:"omakase-help-menu",errorMessage:"omakase-error-message"};class tg{constructor(e){this._playerHTMLElementId=e,this.divPlayer=this.getElementById(this._playerHTMLElementId),this.createDom()}createDom(){this.divPlayer.classList.add(`${fe.player}`),this.divPlayer.innerHTML=`<div class="${fe.playerWrapper}">
48
48
  <video class="${fe.video}"></video>
49
49
 
50
50
  <div class="${fe.help} d-none">
@@ -71,5 +71,5 @@ ${Ll(i)}`)}),e.join(`
71
71
  <span class="omakase-help-group-title">${t.name}</span>
72
72
  ${i}
73
73
  </div>
74
- `}).join("")):this.hideElements(this.divHelp)}isFullscreen(){return Ei.isFullscreenEnabled()?Ei.isFullscreen():!1}toggleFullscreen(e){try{Ei.isFullscreenEnabled()&&(this.isFullscreen()?Ei.exitFullscreen().then(()=>{}):Ei.requestFullscreen(e).then(()=>{}))}catch(t){console.trace(t)}}set videoController(e){this._videoController=e,this.videoEventBreaker$&&(this.videoEventBreaker$.next(),this.videoEventBreaker$.complete()),this.videoEventBreaker$=new V;let t=[this.divButtonPlay,this.divButtonPause,this.divButtonLoading,this.divButtonReplay,this.divButtonError],i=()=>{this.showTemporaryOnMouseMoveTimeoutId&&clearTimeout(this.showTemporaryOnMouseMoveTimeoutId)};be(this.divPlayerWrapper,"mousemove").pipe(I(this.videoEventBreaker$)).subscribe(s=>{if(this._videoController.isVideoLoaded()&&!(this._videoController.getPlaybackState().ended||this._videoController.getPlaybackState().waiting||this._videoController.getPlaybackState().seeking)){let n=this._videoController.isPlaying()?this.divButtonPause:this.divButtonPlay;i(),this.hideElements(this.divButtonPause,this.divButtonPlay).showElements(n,this.divButtonHelp),this.showTemporaryOnMouseMoveTimeoutId=setTimeout(()=>{this.hideElements(n),this.isShown(this.divHelpMenu)||this.hideElements(this.divButtonHelp,this.divHelpMenu)},1e3)}}),be(this.divPlayerWrapper,"mouseleave").pipe(I(this.videoEventBreaker$)).subscribe(s=>{this.hideElements(this.divButtonPlay,this.divButtonPause),this.hideElements(this.divButtonHelp,this.divHelpMenu)}),be(this.divPlayerWrapper,"click").pipe(I(this.videoEventBreaker$)).subscribe(s=>{(s.target===this._videoElement||s.target===this.divButtonPlay||s.target===this.divButtonPause||s.target===this.divButtonReplay||s.target===this.divButtonLoading)&&this._videoController.togglePlayPause()}),be(this._videoElement,"contextmenu").pipe(I(this.videoEventBreaker$)).subscribe(s=>{s.preventDefault()}),this._videoElement.controls=!1,this._videoController.onVideoLoading$.pipe(I(this.videoEventBreaker$)).subscribe(s=>{this.hideElements(...t).hideElements(this.divErrorMessage).showElements(this.divButtonLoading)}),this._videoController.onVideoLoaded$.pipe(I(this.videoEventBreaker$)).subscribe(s=>{this.hideElements(...t).hideElements(this.divErrorMessage),s||this.showElements(this.divButtonLoading)}),this._videoController.onPlaybackState$.pipe(I(this.videoEventBreaker$)).subscribe(s=>{i(),s.waiting&&s.playing?this.hideElements(...t).hideElements(this.divErrorMessage).showElements(this.divButtonLoading):s.playing?(this.hideElements(...t).hideElements(this.divErrorMessage),s.seeking&&s.waiting&&this.showElements(this.divButtonLoading)):s.paused?(this.hideElements(...t).hideElements(this.divErrorMessage),s.seeking&&s.waiting?this.showElements(this.divButtonLoading):s.ended&&this.showElements(this.divButtonReplay)):s.seeking&&s.waiting&&this.hideElements(...t).hideElements(this.divErrorMessage).showElements(this.divButtonLoading)}),this._videoController.onVideoError$.pipe(I(this.videoEventBreaker$)).subscribe(s=>{this.hideElements(...t).showElements(this.divErrorMessage,this.divButtonError),this.divErrorMessage.innerHTML=s.message}),be(this.divButtonHelp,"click").pipe(I(this.videoEventBreaker$)).subscribe(s=>{s.target===this.divButtonHelp&&(this.isShown(this.divHelpMenu)?this.hideElements(this.divHelpMenu):this.showElements(this.divHelpMenu))}),this._videoController.onHelpMenuChange$.pipe(I(this.videoEventBreaker$)).subscribe(()=>{this.helpChangeHandler()})}set timeline(e){this._timeline=e}get videoElement(){return this._videoElement}destroy(){this._videoController=null,this._videoElement=null,this._timeline=null,this._timelineElement=null}}const Tn={fontFamily:"Arial"},Aa={playerHTMLElementId:"omakase-player",crossorigin:"anonymous",style:{...Tn}};class ig{constructor(e){this.stylesProvider=lt.instance(),this.eventEmitter=new Ks,this.config={...Aa,...e,style:{...Aa.style,...e.style}},this.styleAdapter=new Go({...Tn,...this.config.style}),this.stylesProvider.styles={omakasePlayerStyle:this.style},this.styleAdapter.onChange$.subscribe(t=>{this.stylesProvider.styles={omakasePlayerStyle:this.style}}),this.playerHTMLElementId=this.config.playerHTMLElementId,this.domController=new tg(this.playerHTMLElementId),this.videoController=new qm(this.domController,this.config.crossorigin),this.audioController=new eg(this.videoController),this.subtitlesController=new Sn(this.videoController),this.domController.videoController=this.videoController,this.bindEventHandlers()}loadVideo(e,t,i){return new se(s=>{this.videoController.loadVideo(e,t,i).pipe(hi()).subscribe({next:n=>{s.next(n),s.complete()},error:n=>{s.error(n),s.complete()}})})}createTimeline(e){return new se(t=>{let i=()=>{console.debug("Creating timeline"),this._timeline=new zm(e,this.videoController),this.domController.timeline=this.timeline,this._timeline.initCanvasNode(),this._timeline.onScroll$.subscribe(s=>{this.emit("omakaseTimelineScroll",s)}),this._timeline.onZoom$.subscribe(s=>{this.emit("omakaseTimelineZoom",s)})};this.timeline?(t.next(this._timeline),t.complete()):(console.debug("Timeline creation in progress, checking video load status.."),this.videoController.isVideoLoaded()?(console.debug("Video is already loaded"),i(),t.next(this._timeline),t.complete()):(console.debug("Waiting video to load.."),this.videoController.onVideoLoaded$.pipe($e(s=>!!s),hi()).subscribe(s=>{console.debug("Video just loaded"),i(),t.next(this._timeline),t.complete()})))})}bindEventHandlers(){this.videoController.onPlay$.subscribe(e=>{this.emit("omakaseVideoPlay",e)}),this.videoController.onPause$.subscribe(e=>{this.emit("omakaseVideoPause",e)}),this.videoController.onVideoLoaded$.pipe($e(e=>!!e)).subscribe(e=>{this.emit("omakaseVideoLoaded",e)}),this.videoController.onVideoTimeChange$.subscribe(e=>{this.emit("omakaseVideoTimeChange",e)}),this.videoController.onSeeking$.subscribe(e=>{this.emit("omakaseVideoSeeking",e)}),this.videoController.onSeeked$.subscribe(e=>{this.emit("omakaseVideoSeeked",e)}),this.videoController.onBuffering$.subscribe(e=>{this.emit("omakaseVideoBuffering",e)}),this.videoController.onEnded$.subscribe(e=>{this.emit("omakaseVideoEnded",e)}),this.videoController.onAudioSwitched$.subscribe(e=>{this.emit("omakaseVideoAudioSwitched",e)}),this.audioController.onAudioSwitched$.subscribe(e=>{this.emit("omakaseAudioSwitched",e)}),this.subtitlesController.onCreate$.subscribe(e=>{this.emit("omakaseSubtitlesCreate",e)}),this.subtitlesController.onRemove$.subscribe(e=>{this.emit("omakaseSubtitlesRemove",e)}),this.subtitlesController.onShow$.subscribe(e=>{this.emit("omakaseSubtitlesShow",e)}),this.subtitlesController.onHide$.subscribe(e=>{this.emit("omakaseSubtitlesHide",e)})}emit(e,t){this.eventEmitter.emit(e,t)}off(e,t){this.eventEmitter.off(e,t)}on(e,t){this.eventEmitter.on(e,t)}listenerCount(e){this.eventEmitter.listenerCount(e)}listeners(e){return this.eventEmitter.listeners(e)}once(e,t){this.eventEmitter.once(e,t)}removeAllListeners(e){this.eventEmitter.removeAllListeners(e)}get style(){return this.styleAdapter.style}set style(e){this.styleAdapter.style=e}get timeline(){return this._timeline}get video(){return this.videoController}get audio(){return this.audioController}get subtitles(){return this.subtitlesController}get EVENTS(){return Qm}destroy(){this.timeline.getLanes().forEach(e=>{e.clearContent(),e.destroy()}),this.timeline.destroy(),this.video.getHls().off(ze.Events.ERROR),this.video.getHls().destroy(),this.subtitlesController.destroy(),this.domController.destroy(),this.videoController.destroy()}}exports.AudioTrackLane=Rl;exports.MarkerLane=Bs;exports.MomentMarker=ol;exports.OMAKASE_PLAYER_STYLE_DEFAULT=Tn;exports.OmakasePlayer=ig;exports.PeriodMarker=al;exports.SubtitlesLane=Us;exports.ThumbnailLane=js;
74
+ `}).join("")):this.hideElements(this.divHelp)}isFullscreen(){return Ei.isFullscreenEnabled()?Ei.isFullscreen():!1}toggleFullscreen(e){try{Ei.isFullscreenEnabled()&&(this.isFullscreen()?Ei.exitFullscreen().then(()=>{}):Ei.requestFullscreen(e).then(()=>{}))}catch(t){console.trace(t)}}set videoController(e){this._videoController=e,this.videoEventBreaker$&&(this.videoEventBreaker$.next(),this.videoEventBreaker$.complete()),this.videoEventBreaker$=new V;let t=[this.divButtonPlay,this.divButtonPause,this.divButtonLoading,this.divButtonReplay,this.divButtonError],i=()=>{this.showTemporaryOnMouseMoveTimeoutId&&clearTimeout(this.showTemporaryOnMouseMoveTimeoutId)};be(this.divPlayerWrapper,"mousemove").pipe(x(this.videoEventBreaker$)).subscribe(s=>{if(this._videoController.isVideoLoaded()&&!(this._videoController.getPlaybackState().ended||this._videoController.getPlaybackState().waiting||this._videoController.getPlaybackState().seeking)){let n=this._videoController.isPlaying()?this.divButtonPause:this.divButtonPlay;i(),this.hideElements(this.divButtonPause,this.divButtonPlay).showElements(n,this.divButtonHelp),this.showTemporaryOnMouseMoveTimeoutId=setTimeout(()=>{this.hideElements(n),this.isShown(this.divHelpMenu)||this.hideElements(this.divButtonHelp,this.divHelpMenu)},1e3)}}),be(this.divPlayerWrapper,"mouseleave").pipe(x(this.videoEventBreaker$)).subscribe(s=>{this.hideElements(this.divButtonPlay,this.divButtonPause),this.hideElements(this.divButtonHelp,this.divHelpMenu)}),be(this.divPlayerWrapper,"click").pipe(x(this.videoEventBreaker$)).subscribe(s=>{(s.target===this._videoElement||s.target===this.divButtonPlay||s.target===this.divButtonPause||s.target===this.divButtonReplay||s.target===this.divButtonLoading)&&this._videoController.togglePlayPause()}),be(this._videoElement,"contextmenu").pipe(x(this.videoEventBreaker$)).subscribe(s=>{s.preventDefault()}),this._videoElement.controls=!1,this._videoController.onVideoLoading$.pipe(x(this.videoEventBreaker$)).subscribe(s=>{this.hideElements(...t).hideElements(this.divErrorMessage).showElements(this.divButtonLoading)}),this._videoController.onVideoLoaded$.pipe(x(this.videoEventBreaker$)).subscribe(s=>{this.hideElements(...t).hideElements(this.divErrorMessage),s||this.showElements(this.divButtonLoading)}),this._videoController.onPlaybackState$.pipe(x(this.videoEventBreaker$)).subscribe(s=>{i(),s.waiting&&s.playing?this.hideElements(...t).hideElements(this.divErrorMessage).showElements(this.divButtonLoading):s.playing?(this.hideElements(...t).hideElements(this.divErrorMessage),s.seeking&&s.waiting&&this.showElements(this.divButtonLoading)):s.paused?(this.hideElements(...t).hideElements(this.divErrorMessage),s.seeking&&s.waiting?this.showElements(this.divButtonLoading):s.ended&&this.showElements(this.divButtonReplay)):s.seeking&&s.waiting&&this.hideElements(...t).hideElements(this.divErrorMessage).showElements(this.divButtonLoading)}),this._videoController.onVideoError$.pipe(x(this.videoEventBreaker$)).subscribe(s=>{this.hideElements(...t).showElements(this.divErrorMessage,this.divButtonError),this.divErrorMessage.innerHTML=s.message}),be(this.divButtonHelp,"click").pipe(x(this.videoEventBreaker$)).subscribe(s=>{s.target===this.divButtonHelp&&(this.isShown(this.divHelpMenu)?this.hideElements(this.divHelpMenu):this.showElements(this.divHelpMenu))}),this._videoController.onHelpMenuChange$.pipe(x(this.videoEventBreaker$)).subscribe(()=>{this.helpChangeHandler()})}set timeline(e){this._timeline=e}get videoElement(){return this._videoElement}destroy(){this._videoController=null,this._videoElement=null,this._timeline=null,this._timelineElement=null}}const Tn={fontFamily:"Arial"},Aa={playerHTMLElementId:"omakase-player",crossorigin:"anonymous",style:{...Tn}};class ig{constructor(e){this.stylesProvider=lt.instance(),this.eventEmitter=new Ks,this.onDestroy$=new V,this.config={...Aa,...e,style:{...Aa.style,...e.style}},this.styleAdapter=new Go({...Tn,...this.config.style}),this.stylesProvider.styles={omakasePlayerStyle:this.style},this.styleAdapter.onChange$.pipe(x(this.onDestroy$)).subscribe(t=>{this.stylesProvider.styles={omakasePlayerStyle:this.style}}),this.playerHTMLElementId=this.config.playerHTMLElementId,this.domController=new tg(this.playerHTMLElementId),this.videoController=new qm(this.domController,this.config.crossorigin),this.audioController=new eg(this.videoController),this.subtitlesController=new Sn(this.videoController),this.domController.videoController=this.videoController,this.bindEventHandlers()}loadVideo(e,t,i){return new se(s=>{this.videoController.loadVideo(e,t,i).pipe(hi()).subscribe({next:n=>{s.next(n),s.complete()},error:n=>{s.error(n),s.complete()}})})}createTimeline(e){return new se(t=>{let i=()=>{console.debug("Creating timeline"),this._timeline=new zm(e,this.videoController),this.domController.timeline=this.timeline,this._timeline.initCanvasNode(),this._timeline.onScroll$.pipe(x(this.onDestroy$)).subscribe(s=>{this.emit("omakaseTimelineScroll",s)}),this._timeline.onZoom$.subscribe(s=>{this.emit("omakaseTimelineZoom",s)})};this.timeline?(t.next(this._timeline),t.complete()):(console.debug("Timeline creation in progress, checking video load status.."),this.videoController.isVideoLoaded()?(console.debug("Video is already loaded"),i(),t.next(this._timeline),t.complete()):(console.debug("Waiting video to load.."),this.videoController.onVideoLoaded$.pipe($e(s=>!!s),hi()).subscribe(s=>{console.debug("Video just loaded"),i(),t.next(this._timeline),t.complete()})))})}bindEventHandlers(){this.videoController.onPlay$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseVideoPlay",e)}),this.videoController.onPause$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseVideoPause",e)}),this.videoController.onVideoLoaded$.pipe(x(this.onDestroy$),$e(e=>!!e)).subscribe(e=>{this.emit("omakaseVideoLoaded",e)}),this.videoController.onVideoTimeChange$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseVideoTimeChange",e)}),this.videoController.onSeeking$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseVideoSeeking",e)}),this.videoController.onSeeked$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseVideoSeeked",e)}),this.videoController.onBuffering$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseVideoBuffering",e)}),this.videoController.onEnded$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseVideoEnded",e)}),this.videoController.onAudioSwitched$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseVideoAudioSwitched",e)}),this.audioController.onAudioSwitched$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseAudioSwitched",e)}),this.subtitlesController.onCreate$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseSubtitlesCreate",e)}),this.subtitlesController.onRemove$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseSubtitlesRemove",e)}),this.subtitlesController.onShow$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseSubtitlesShow",e)}),this.subtitlesController.onHide$.pipe(x(this.onDestroy$)).subscribe(e=>{this.emit("omakaseSubtitlesHide",e)})}emit(e,t){this.eventEmitter.emit(e,t)}off(e,t){this.eventEmitter.off(e,t)}on(e,t){this.eventEmitter.on(e,t)}listenerCount(e){this.eventEmitter.listenerCount(e)}listeners(e){return this.eventEmitter.listeners(e)}once(e,t){this.eventEmitter.once(e,t)}removeAllListeners(e){this.eventEmitter.removeAllListeners(e)}get style(){return this.styleAdapter.style}set style(e){this.styleAdapter.style=e}get timeline(){return this._timeline}get video(){return this.videoController}get audio(){return this.audioController}get subtitles(){return this.subtitlesController}get EVENTS(){return Qm}destroy(){this.onDestroy$&&(console.log("destroying omakase player"),this.onDestroy$.next(),this.onDestroy$.complete()),this.timeline.getLanes().forEach(e=>{e!=null&&(e.clearContent(),e.destroy())}),this.timeline.destroy(),this.video.getHls().off(ze.Events.ERROR),this.video.getHls().destroy(),this.subtitlesController.destroy(),this.domController.destroy(),this.videoController.destroy()}}exports.AudioTrackLane=Rl;exports.MarkerLane=Bs;exports.MomentMarker=ol;exports.OMAKASE_PLAYER_STYLE_DEFAULT=Tn;exports.OmakasePlayer=ig;exports.PeriodMarker=al;exports.SubtitlesLane=Us;exports.ThumbnailLane=js;
75
75
  //# sourceMappingURL=omakase-player.cjs.js.map