@cliquify.me/timeline 6.0.7 → 6.0.8

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.
@@ -11,7 +11,7 @@ export declare const SMALL_FONT_SIZE = 12;
11
11
  export declare const DEFAULT_FONT = "Roboto";
12
12
  export declare const DEFAULT_WEIGHT = "Regular";
13
13
  export declare const SECONDARY_FONT = "sans-serif";
14
- export declare const PREVIEW_FRAME_WIDTH = 187;
14
+ export declare const PREVIEW_FRAME_WIDTH = 188;
15
15
  export declare const TIMELINE_OFFSET_X = 40;
16
16
  export declare const BASE_TIMELINE_ELEMENT_DURATION_MS = 4000;
17
17
  export declare const DEFAULT_VIDEO_WIDTH = 1920;
package/dist/index.es.js CHANGED
@@ -7629,7 +7629,7 @@ function yi(i) {
7629
7629
  ), l;
7630
7630
  };
7631
7631
  }
7632
- const Yo = 3, $d = 4, ch = 187, qd = 60, Kd = 1e3 / qd;
7632
+ const Yo = 3, $d = 4, ch = 188, qd = 60, Kd = 1e3 / qd;
7633
7633
  function Q(i, t = 1, e = 1) {
7634
7634
  const s = ch * t;
7635
7635
  return i * (60 / 1e3) * s / e;
@@ -8199,7 +8199,7 @@ class bf {
8199
8199
  }
8200
8200
  resize(t, { force: e } = { force: !1 }) {
8201
8201
  var s;
8202
- this.lowerCanvasEl && (this.setDimensions(t), e && this.renderTracks(), (s = this.onResizeCanvas) == null || s.call(this, {
8202
+ this.lowerCanvasEl && (this.setDimensions(t), e && (this.renderTracks(), this.calcBounding(), this.refreshTrackLayout(), this.requestRenderAll()), (s = this.onResizeCanvas) == null || s.call(this, {
8203
8203
  width: this.width,
8204
8204
  height: this.height
8205
8205
  }));
package/dist/index.umd.js CHANGED
@@ -501,4 +501,4 @@ void main() {
501
501
  color.b += max != color.b ? (max - color.b) * amt : 0.00;
502
502
  gl_FragColor = color;
503
503
  }
504
- `}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.vibrance;for(let r=0;r<e.length;r+=4){const n=e[r],o=e[r+1],a=e[r+2],c=Math.max(n,o,a),h=(n+o+a)/3,l=2*Math.abs(c-h)/255*s;e[r]+=c!==n?(c-n)*l:0,e[r+1]+=c!==o?(c-o)*l:0,e[r+2]+=c!==a?(c-a)*l:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return this.vibrance===0}}v(li,"type","Vibrance"),v(li,"defaults",{vibrance:0}),v(li,"uniformLocations",["uVibrance"]),k.setClass(li);function Rt(i,t,e,s,r){const a=r.canvas;if(!a)return;const c=a.viewportTransform;i.save(),this.controlOrientation==="left"?i.translate(r.left+c[4],r.top+c[5]+r.height/2):i.translate(r.left+r.width+c[4],r.top+c[5]+r.height/2),i.rotate(Br.degreesToRadians(90+r.angle)),i.lineWidth=6,i.lineCap="round",i.strokeStyle="white",i.beginPath(),i.moveTo(-6,0),i.lineTo(6,0),i.stroke(),i.lineWidth=4,i.strokeStyle="black",i.beginPath(),i.moveTo(-6,0),i.lineTo(6,0),i.stroke(),i.restore()}const Gd={selectable:!1,evented:!1,strokeWidth:0,stroke:"transparent"},Ts=class Ts extends st{constructor(e){super(e);S(this,"id");S(this,"accepts",["audio","video","image","text","caption","template"]);S(this,"metadata");S(this,"items",[]);S(this,"magnetic");S(this,"static");Object.assign(this,Ts.ownDefaults),this.id=e.id,this.accepts=e.accepts||[],this.items=e.items||[],this.magnetic=e.magnetic,this.static=e.static,this.metadata=e.metadata,this.fill="rgba(34, 34, 37, 0.8)",this.objectCaching=!1}static getDefaults(){return{...super.getDefaults(),...Ts.ownDefaults}}updateCoords(e){this.width=e}};S(Ts,"ownDefaults",Gd),S(Ts,"type","Track");let Ft=Ts;k.setClass(Ft,"Track");const Ns=1,Ge="rgba(255, 255, 255,1.0)",Nd=["Track","Transition","Helper","PreviewTrackItem"],Ud={top:{top:35,guide:2,bottom:3},center:{top:3,guide:2,bottom:3},bottom:{top:3,guide:2,bottom:35}},$d=(i,t)=>{const e=Ud[i];return i==="top"?{top:t-(e.guide+e.bottom),guide:e.guide,bottom:e.bottom}:i==="center"?{top:e.top,guide:e.guide,bottom:e.bottom}:{top:e==null?void 0:e.top,guide:e==null?void 0:e.guide,bottom:t-((e==null?void 0:e.guide)+(e==null?void 0:e.top))}},Ss=class Ss extends qt{constructor(e){const s=$d(e.kind,e.height),r=new st({top:0,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.top,width:e.width}),n=new st({top:s.top,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.guide,width:e.width}),o=new st({top:s.top+s.guide,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.bottom,width:e.width});super([r,n,o],e);S(this,"guide");S(this,"topGuide");S(this,"bottomGuide");S(this,"metadata");S(this,"accepts",[]);S(this,"kind");S(this,"activeGuideFill");Object.assign(this,Ss.ownDefaults),this.guide=n,this.topGuide=r,this.bottomGuide=o,this.id=e.id,this.metadata=e.metadata,this.tScale=e.tScale,this.kind=e.kind,this.activeGuideFill=e.activeGuideFill||Ge}static getDefaults(){return{...super.getDefaults(),...Ss.ownDefaults}}updateCoords(e){this.scaleToWidth(e),this.set("scaleY",1)}setSelected(e){e?this.guide.set("fill",this.activeGuideFill):this.guide.set("fill","transparent")}};S(Ss,"type","Helper"),S(Ss,"ownDefaults",{selectable:!1,evented:!1});let ue=Ss;k.setClass(ue,"Helper");const ws=class ws extends st{constructor(e){super(e);S(this,"guideItemId");S(this,"distXToActCenter");S(this,"trackItemType");S(this,"defaultPos");S(this,"draggedObject");Object.assign(this,ws.ownDefaults),this.id=e.id}static getDefaults(){return{...super.getDefaults(),...ws.ownDefaults}}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Ns,e.setLineDash(this.strokeDashArray),e.strokeStyle=Ge,e.stroke(),e.restore()}};S(ws,"type","Placeholder"),S(ws,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",strokeWidth:0,fill:"rgba(255, 211, 42,0.1)",stroke:"rgba(255, 211, 42,1.0)",selectable:!1,borderOpacityWhenMoving:1,hoverCursor:"default",strokeDashArray:[5,1],evented:!1});let fs=ws;k.setClass(fs,"Placeholder");const qd={left:-.5,top:-.5,center:0,bottom:.5,right:.5},A=i=>typeof i=="string"?qd[i]:i-.5,Oe="center",gs="left",Kd="top",Jd="bottom",ps="right",Zd="none";function ms(i){return A(i.originX)===A(Oe)&&A(i.originY)===A(Oe)}function Us(i){return(t,e,s,r)=>{const{target:n,originX:o,originY:a}=e,c=n.getRelativeCenterPoint(),h=n.translateToOriginPoint(c,o,a),l=i(t,e,s,r);return n.setPositionByOrigin(h,e.originX,e.originY),l}}const kc=3,Qd=4,Mc=187,tf=1e3/60;function Z(i,t=1,e=1){const s=Mc*t;return i*(60/1e3)*s/e}function L(i,t=1,e=1){const s=Mc*t;return i/s*tf*e}function ef(i,t=1){return Z(i,t)}const $s=(i,t)=>(t||Object.keys(i)).reduce((s,r)=>{const n=i[r];if(!n)return s;const{display:o}=n;return Math.max(s,o.to)},0),{wrapWithFireEvent:sf,getLocalPoint:rf}=Ye,Dn=sf("resizing",Us((i,t,e,s)=>{const r=rf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Oe)||A(t.originX)===A(ps)&&r.x<0||A(t.originX)===A(gs)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ms(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);if(t.corner==="mr"){const u=n.trim.to,d=h-c,f=L(d,n.tScale,n.playbackRate),g=u+f;if(g>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=g}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0){const b=Z(n.duration,n.tScale,n.playbackRate),_=n.width+n.left;if(_<=b){n.set("width",_);const x=L(b-_,n.tScale,n.playbackRate);return n.trim.from=x,!0}return!1}const f=h-c,g=n.trim.from,p=L(f,n.tScale,n.playbackRate),m=g-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m,n.onResize&&n.onResize()}return c!==n.width}return!1})),{wrapWithFireEvent:nf,getLocalPoint:of,wrapWithFixedAnchor:af}=Ye,ui=nf("resizing",af((i,t,e,s)=>{const r=of(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Oe)||A(t.originX)===A(ps)&&r.x<0||A(t.originX)===A(gs)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ms(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=t.corner==="ml";if(n.left<0)return!1;if(l){const f=c-h;if(n.left+f<0)return n.set("width",n.width+n.left),!0}const u=L(1,n.tScale);return L(h,n.tScale,n.playbackRate)<u?!1:(n.set("width",Math.max(h,0)),c!==n.width)}return!1})),{wrapWithFireEvent:cf,getLocalPoint:hf}=Ye,In=cf("resizing",Us((i,t,e,s)=>{const r=hf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Oe)||A(t.originX)===A(ps)&&r.x<0||A(t.originX)===A(gs)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ms(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=L(h,n.tScale,n.playbackRate);return l>=1500||l<500?!1:(n.set("width",Math.max(h,0)),n.set("duration",l),c!==n.width)}return!1})),lf=i=>{const t=i.canvas;if(!t||!t.state)return null;const e=t.state.getState();if(!e||!e.structure||!e.trackItemsMap)return null;const s=e.structure.find(o=>o.id===i.id);if(!s||!s.items||s.items.length===0)return null;let r=1/0,n=-1/0;return s.items.forEach(o=>{const a=e.trackItemsMap[o];a&&a.display&&(a.display.from<r&&(r=a.display.from),a.display.to>n&&(n=a.display.to))}),r===1/0||n===-1/0?null:{minFrom:r,maxTo:n}},{wrapWithFireEvent:uf,getLocalPoint:df}=Ye,Dc=uf("resizing",Us((i,t,e,s)=>{const r=df(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Oe)||A(t.originX)===A(ps)&&r.x<0||A(t.originX)===A(gs)&&r.x>0){const n=t.target,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ms(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=t.corner==="mr",u=lf(n);if(l){const d=n.trim.to,f=h-c,g=L(f,n.tScale,n.playbackRate),p=d+g;if(u){if(p>u.maxTo)return!1}else if(p>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=p}else{if(n.left<0)return!1;const d=c-h;if(n.left+d<0)return!1;const g=h-c,p=n.trim.from,m=L(g,n.tScale,n.playbackRate),b=p-m;if(u){if(b<u.minFrom)return!1}else if(b<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=b}return c!==n.width}return!1})),{scaleSkewCursorStyleHandler:Kt}=Ye,Ic=()=>({mr:new $({x:.5,y:0,actionHandler:ui,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"right"}),ml:new $({x:-.5,y:0,actionHandler:ui,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"left"})}),ff=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:Dc,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:Dc,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),gf=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:Dn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:Dn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),Ec=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:jn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:jn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),En=()=>({mr:new $({x:.5,y:0,actionHandler:In,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"right"}),ml:new $({x:-.5,y:0,actionHandler:In,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"left"})});let pf="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",qs=(i=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(i|=0));for(;i--;)t+=pf[e[i]&63];return t};function vs(i=16){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",e=t.charAt(Math.floor(Math.random()*t.length));let s=qs(i-1);return s=s.replace(/[^a-zA-Z0-9]/g,"").slice(0,i-1),e+s}const{wrapWithFireEvent:mf,getLocalPoint:vf}=Ye,jn=mf("resizing",Us((i,t,e,s)=>{const r=vf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Oe)||A(t.originX)===A(ps)&&r.x<0||A(t.originX)===A(gs)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ms(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);const l=L(1,n.tScale);if(t.corner==="mr"){const d=n.trim.to,f=h-c,g=L(f,n.tScale,n.playbackRate),p=d+g;if(p>n.duration)return!1;let m=L(h,n.tScale,n.playbackRate);if(m<l||(m=L(h,n.tScale,n.playbackRate),m<l))return!1;n.set("width",Math.max(h,0)),n.trim.to=p}else{if(n.left<0)return!1;const d=c-h;if(n.left+d<0){const x=Z(n.duration,n.tScale,n.playbackRate),w=n.width+n.left;if(w<=x){n.set("width",w);const C=L(x-w,n.tScale,n.playbackRate);return n.trim.from=C,!0}return!1}if(L(h,n.tScale,n.playbackRate)<l)return!1;const p=h-c,m=n.trim.from,b=L(p,n.tScale,n.playbackRate),_=m-b;if(_<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=_,n.onResize&&n.onResize()}return c!==n.width}return!1})),xs=class xs extends st{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"kind","none");S(this,"isSelected",!1);S(this,"availableDrop",!0);Object.assign(this,xs.ownDefaults),this.id=e.id,this.centeredScaling=!0,this.strokeWidth=0,this.tScale=e.tScale,this.duration=e.duration,this.fromId=e.fromId,this.toId=e.toId,this.kind=e.kind,this.strokeDashArray=e.strokeDashArray||[]}static createControls(){return{controls:En()}}static getDefaults(){return{...super.getDefaults(),...xs.ownDefaults}}updateCoords(){}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){const s=this.availableDrop?this.isSelected?Ge:"rgba(255, 255, 255,0.15)":"red";e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Ns,e.setLineDash(this.strokeDashArray),e.strokeStyle=s,e.stroke(),e.restore()}};S(xs,"type","Transition"),S(xs,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:1.5,fill:"rgba(0,0,0, 0.5)",borderOpacityWhenMoving:1,hoverCursor:"default",lockMovementX:!0,lockMovementY:!0,duration:1500,rx:8,ry:8});let Bt=xs;k.setClass(Bt,"Transition");const or=class or extends st{constructor(e){super(e);S(this,"id");S(this,"resourceId","");S(this,"tScale");S(this,"isSelected",!1);S(this,"trim");S(this,"duration");Object.assign(this,or.ownDefaults),this.id=e.id,this.tScale=e.tScale,this.objectCaching=!1,this.rx=8,this.ry=8}static createControls(){return{controls:Ec()}}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Ns,e.strokeStyle=Ge,e.stroke(),e.restore())}onResizeSnap(){}setSrc(e){this.src=e}};S(or,"type","Trimmable"),S(or,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let Jt=or;k.setClass(Jt,"Trimmable");const Cs=class Cs extends st{constructor(e){super(e);S(this,"isSelected",!1);Object.assign(this,Cs.ownDefaults),this.tScale=e.tScale,this.display=e.display}static createControls(){return{controls:Ic()}}static getDefaults(){return{...super.getDefaults(),...Cs.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Ns,e.strokeStyle=Ge,e.stroke(),e.restore())}};S(Cs,"type","Resizable"),S(Cs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let di=Cs;k.setClass(di,"Resizable");function yf(i){const t=Math.floor(i/1e3),e=Math.floor(t/60),s=t%60,r=String(e).padStart(2,"0"),n=String(s).padStart(2,"0");return`${r}:${n}`}const Os=class Os extends st{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"isSelected",!1);S(this,"name");S(this,"durationString");S(this,"itemType");Object.assign(this,Os.ownDefaults),this.id=e.id,this.fill="#27272a",this.name=e.type.toUpperCase(),this.durationString=yf(e.duration),this.itemType=e.type}static getDefaults(){return{...super.getDefaults(),...Os.ownDefaults}}_render(e){e.save(),super._render(e),e.beginPath(),e.rect(-this.width/2,-this.height/2,this.width,this.height),e.clip(),this.drawTextIdentity(e),e.restore()}drawTextIdentity(e){e.font="600 12px 'Geist variable'",e.textAlign="left";const s=e.measureText(this.name).width,r=e.measureText(this.durationString).width,n=8,o=4,a=4-this.height/2,c=20,h=4,l=4-this.width/2,u=s+n*2;this.drawRoundedRect(e,l,a,u,c,h),e.fillStyle="#f4f4f5",e.fillText(this.name,l+n,a+14);const d=l+u+o,f=r+n*2;this.drawRoundedRect(e,d,a,f,c,h),e.fillStyle="#f4f4f5",e.fillText(this.durationString,d+n,a+14)}drawRoundedRect(e,s,r,n,o,a){e.fillStyle="rgba(0, 0, 0, 0.5)",e.roundRect?(e.beginPath(),e.roundRect(s,r,n,o,a),e.fill()):e.fillRect(s,r,n,o)}};S(Os,"type","PreviewTrackItem"),S(Os,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,hoverCursor:"default",rx:4,ry:4});let de=Os;k.setClass(de,"PreviewTrackItem");class bf{constructor(){S(this,"___eventListeners",{});S(this,"___activeObjects",[])}resize(t,{force:e}={force:!1}){var s;this.lowerCanvasEl&&(this.setDimensions(t),e&&this.renderTracks(),(s=this.onResizeCanvas)==null||s.call(this,{width:this.width,height:this.height}))}pauseEventListeners(){this.___eventListeners=this.__eventListeners,this.__eventListeners={};const t=this.getActiveObjects();this.discardActiveObject(),this.___activeObjects=t}resumeEventListeners(){this.__eventListeners=this.___eventListeners,this.___eventListeners={};const t=this.___activeObjects;if(!t.length)return this.requestRenderAll(),!1;if(t.length===1)this.setActiveObject(t[0]);else{const e=new Ot(t);this.setActiveObject(e)}this.requestRenderAll()}updateCachingActiveObjects(t){const e=this.___activeObjects;this.___activeObjects=e.map(s=>{const r=t.find(n=>n.id===s.id);return r||s})}}function Ks(i,t){return i.map(e=>({...e,items:e.items.filter(s=>!t.includes(s))}))}const _f=(i,t)=>{var h,l,u,d,f,g,p,m;const e=i.display,s=Z(e.from,t.tScale),r=Z(e.to-e.from,t.tScale,i.playbackRate),n=t.sizesMap[i.type]||42,o=((l=(h=i.type)==null?void 0:h.charAt(0))==null?void 0:l.toUpperCase())+((u=i.type)==null?void 0:u.slice(1))||"",a=k==null?void 0:k.getClass(o),c={width:r,height:n,id:i.id,tScale:t.tScale,top:10,left:s,display:e,duration:i.duration||e.to-e.from,metadata:i.metadata,playbackRate:i.playbackRate||1,src:(d=i.details)==null?void 0:d.src,trim:i.trim||{from:0,to:i.duration},text:(f=i.details)==null?void 0:f.text,srcs:((g=i.details)==null?void 0:g.srcs)||[],backgroundColorDiv:(p=i.details)==null?void 0:p.backgroundColor,svgString:(m=i.details)==null?void 0:m.svgString};return new a(c)};var jc=typeof global=="object"&&global&&global.Object===Object&&global,Tf=typeof self=="object"&&self&&self.Object===Object&&self,Wt=jc||Tf||Function("return this")(),Mt=Wt.Symbol,Pc=Object.prototype,Sf=Pc.hasOwnProperty,wf=Pc.toString,Js=Mt?Mt.toStringTag:void 0;function xf(i){var t=Sf.call(i,Js),e=i[Js];try{i[Js]=void 0;var s=!0}catch{}var r=wf.call(i);return s&&(t?i[Js]=e:delete i[Js]),r}var Cf=Object.prototype,Of=Cf.toString;function kf(i){return Of.call(i)}var Mf="[object Null]",Df="[object Undefined]",Ac=Mt?Mt.toStringTag:void 0;function ys(i){return i==null?i===void 0?Df:Mf:Ac&&Ac in Object(i)?xf(i):kf(i)}function ke(i){return i!=null&&typeof i=="object"}var If="[object Symbol]";function fi(i){return typeof i=="symbol"||ke(i)&&ys(i)==If}function Ef(i,t){for(var e=-1,s=i==null?0:i.length,r=Array(s);++e<s;)r[e]=t(i[e],e,i);return r}var Zt=Array.isArray,Lc=Mt?Mt.prototype:void 0,Rc=Lc?Lc.toString:void 0;function Fc(i){if(typeof i=="string")return i;if(Zt(i))return Ef(i,Fc)+"";if(fi(i))return Rc?Rc.call(i):"";var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}var jf=/\s/;function Pf(i){for(var t=i.length;t--&&jf.test(i.charAt(t)););return t}var Af=/^\s+/;function Lf(i){return i&&i.slice(0,Pf(i)+1).replace(Af,"")}function Qt(i){var t=typeof i;return i!=null&&(t=="object"||t=="function")}var Bc=NaN,Rf=/^[-+]0x[0-9a-f]+$/i,Ff=/^0b[01]+$/i,Bf=/^0o[0-7]+$/i,Wf=parseInt;function Wc(i){if(typeof i=="number")return i;if(fi(i))return Bc;if(Qt(i)){var t=typeof i.valueOf=="function"?i.valueOf():i;i=Qt(t)?t+"":t}if(typeof i!="string")return i===0?i:+i;i=Lf(i);var e=Ff.test(i);return e||Bf.test(i)?Wf(i.slice(2),e?2:8):Rf.test(i)?Bc:+i}function Xf(i){return i}var zf="[object AsyncFunction]",Hf="[object Function]",Yf="[object GeneratorFunction]",Vf="[object Proxy]";function Xc(i){if(!Qt(i))return!1;var t=ys(i);return t==Hf||t==Yf||t==zf||t==Vf}var Pn=Wt["__core-js_shared__"],zc=function(){var i=/[^.]+$/.exec(Pn&&Pn.keys&&Pn.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function Gf(i){return!!zc&&zc in i}var Nf=Function.prototype,Uf=Nf.toString;function Ne(i){if(i!=null){try{return Uf.call(i)}catch{}try{return i+""}catch{}}return""}var $f=/[\\^$.*+?()[\]{}|]/g,qf=/^\[object .+?Constructor\]$/,Kf=Function.prototype,Jf=Object.prototype,Zf=Kf.toString,Qf=Jf.hasOwnProperty,tg=RegExp("^"+Zf.call(Qf).replace($f,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function eg(i){if(!Qt(i)||Gf(i))return!1;var t=Xc(i)?tg:qf;return t.test(Ne(i))}function sg(i,t){return i==null?void 0:i[t]}function Ue(i,t){var e=sg(i,t);return eg(e)?e:void 0}var An=Ue(Wt,"WeakMap"),Hc=Object.create,rg=function(){function i(){}return function(t){if(!Qt(t))return{};if(Hc)return Hc(t);i.prototype=t;var e=new i;return i.prototype=void 0,e}}();function ig(i,t,e){switch(e.length){case 0:return i.call(t);case 1:return i.call(t,e[0]);case 2:return i.call(t,e[0],e[1]);case 3:return i.call(t,e[0],e[1],e[2])}return i.apply(t,e)}var ng=800,og=16,ag=Date.now;function cg(i){var t=0,e=0;return function(){var s=ag(),r=og-(s-e);if(e=s,r>0){if(++t>=ng)return arguments[0]}else t=0;return i.apply(void 0,arguments)}}function hg(i){return function(){return i}}var gi=function(){try{var i=Ue(Object,"defineProperty");return i({},"",{}),i}catch{}}(),lg=gi?function(i,t){return gi(i,"toString",{configurable:!0,enumerable:!1,value:hg(t),writable:!0})}:Xf,ug=cg(lg);function dg(i,t){for(var e=-1,s=i==null?0:i.length;++e<s&&t(i[e],e,i)!==!1;);return i}var fg=9007199254740991,gg=/^(?:0|[1-9]\d*)$/;function Ln(i,t){var e=typeof i;return t=t??fg,!!t&&(e=="number"||e!="symbol"&&gg.test(i))&&i>-1&&i%1==0&&i<t}function pg(i,t,e){t=="__proto__"&&gi?gi(i,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):i[t]=e}function Rn(i,t){return i===t||i!==i&&t!==t}var mg=Object.prototype,vg=mg.hasOwnProperty;function Yc(i,t,e){var s=i[t];(!(vg.call(i,t)&&Rn(s,e))||e===void 0&&!(t in i))&&pg(i,t,e)}var Vc=Math.max;function yg(i,t,e){return t=Vc(t===void 0?i.length-1:t,0),function(){for(var s=arguments,r=-1,n=Vc(s.length-t,0),o=Array(n);++r<n;)o[r]=s[t+r];r=-1;for(var a=Array(t+1);++r<t;)a[r]=s[r];return a[t]=e(o),ig(i,this,a)}}var bg=9007199254740991;function Fn(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=bg}function _g(i){return i!=null&&Fn(i.length)&&!Xc(i)}var Tg=Object.prototype;function Gc(i){var t=i&&i.constructor,e=typeof t=="function"&&t.prototype||Tg;return i===e}function Sg(i,t){for(var e=-1,s=Array(i);++e<i;)s[e]=t(e);return s}var wg="[object Arguments]";function Nc(i){return ke(i)&&ys(i)==wg}var Uc=Object.prototype,xg=Uc.hasOwnProperty,Cg=Uc.propertyIsEnumerable,Bn=Nc(function(){return arguments}())?Nc:function(i){return ke(i)&&xg.call(i,"callee")&&!Cg.call(i,"callee")};function Og(){return!1}var $c=typeof I=="object"&&I&&!I.nodeType&&I,qc=$c&&typeof module=="object"&&module&&!module.nodeType&&module,kg=qc&&qc.exports===$c,Kc=kg?Wt.Buffer:void 0,Mg=Kc?Kc.isBuffer:void 0,pi=Mg||Og,Dg="[object Arguments]",Ig="[object Array]",Eg="[object Boolean]",jg="[object Date]",Pg="[object Error]",Ag="[object Function]",Lg="[object Map]",Rg="[object Number]",Fg="[object Object]",Bg="[object RegExp]",Wg="[object Set]",Xg="[object String]",zg="[object WeakMap]",Hg="[object ArrayBuffer]",Yg="[object DataView]",Vg="[object Float32Array]",Gg="[object Float64Array]",Ng="[object Int8Array]",Ug="[object Int16Array]",$g="[object Int32Array]",qg="[object Uint8Array]",Kg="[object Uint8ClampedArray]",Jg="[object Uint16Array]",Zg="[object Uint32Array]",U={};U[Vg]=U[Gg]=U[Ng]=U[Ug]=U[$g]=U[qg]=U[Kg]=U[Jg]=U[Zg]=!0,U[Dg]=U[Ig]=U[Hg]=U[Eg]=U[Yg]=U[jg]=U[Pg]=U[Ag]=U[Lg]=U[Rg]=U[Fg]=U[Bg]=U[Wg]=U[Xg]=U[zg]=!1;function Qg(i){return ke(i)&&Fn(i.length)&&!!U[ys(i)]}function Wn(i){return function(t){return i(t)}}var Jc=typeof I=="object"&&I&&!I.nodeType&&I,Zs=Jc&&typeof module=="object"&&module&&!module.nodeType&&module,tp=Zs&&Zs.exports===Jc,Xn=tp&&jc.process,bs=function(){try{var i=Zs&&Zs.require&&Zs.require("util").types;return i||Xn&&Xn.binding&&Xn.binding("util")}catch{}}(),Zc=bs&&bs.isTypedArray,Qc=Zc?Wn(Zc):Qg,ep=Object.prototype,sp=ep.hasOwnProperty;function rp(i,t){var e=Zt(i),s=!e&&Bn(i),r=!e&&!s&&pi(i),n=!e&&!s&&!r&&Qc(i),o=e||s||r||n,a=o?Sg(i.length,String):[],c=a.length;for(var h in i)sp.call(i,h)&&!(o&&(h=="length"||r&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Ln(h,c)))&&a.push(h);return a}function th(i,t){return function(e){return i(t(e))}}var ip=th(Object.keys,Object),np=Object.prototype,op=np.hasOwnProperty;function ap(i){if(!Gc(i))return ip(i);var t=[];for(var e in Object(i))op.call(i,e)&&e!="constructor"&&t.push(e);return t}function cp(i){return _g(i)?rp(i):ap(i)}var hp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,lp=/^\w*$/;function up(i,t){if(Zt(i))return!1;var e=typeof i;return e=="number"||e=="symbol"||e=="boolean"||i==null||fi(i)?!0:lp.test(i)||!hp.test(i)||t!=null&&i in Object(t)}var Qs=Ue(Object,"create");function dp(){this.__data__=Qs?Qs(null):{},this.size=0}function fp(i){var t=this.has(i)&&delete this.__data__[i];return this.size-=t?1:0,t}var gp="__lodash_hash_undefined__",pp=Object.prototype,mp=pp.hasOwnProperty;function vp(i){var t=this.__data__;if(Qs){var e=t[i];return e===gp?void 0:e}return mp.call(t,i)?t[i]:void 0}var yp=Object.prototype,bp=yp.hasOwnProperty;function _p(i){var t=this.__data__;return Qs?t[i]!==void 0:bp.call(t,i)}var Tp="__lodash_hash_undefined__";function Sp(i,t){var e=this.__data__;return this.size+=this.has(i)?0:1,e[i]=Qs&&t===void 0?Tp:t,this}function $e(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}$e.prototype.clear=dp,$e.prototype.delete=fp,$e.prototype.get=vp,$e.prototype.has=_p,$e.prototype.set=Sp;function wp(){this.__data__=[],this.size=0}function mi(i,t){for(var e=i.length;e--;)if(Rn(i[e][0],t))return e;return-1}var xp=Array.prototype,Cp=xp.splice;function Op(i){var t=this.__data__,e=mi(t,i);if(e<0)return!1;var s=t.length-1;return e==s?t.pop():Cp.call(t,e,1),--this.size,!0}function kp(i){var t=this.__data__,e=mi(t,i);return e<0?void 0:t[e][1]}function Mp(i){return mi(this.__data__,i)>-1}function Dp(i,t){var e=this.__data__,s=mi(e,i);return s<0?(++this.size,e.push([i,t])):e[s][1]=t,this}function fe(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}fe.prototype.clear=wp,fe.prototype.delete=Op,fe.prototype.get=kp,fe.prototype.has=Mp,fe.prototype.set=Dp;var tr=Ue(Wt,"Map");function Ip(){this.size=0,this.__data__={hash:new $e,map:new(tr||fe),string:new $e}}function Ep(i){var t=typeof i;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?i!=="__proto__":i===null}function vi(i,t){var e=i.__data__;return Ep(t)?e[typeof t=="string"?"string":"hash"]:e.map}function jp(i){var t=vi(this,i).delete(i);return this.size-=t?1:0,t}function Pp(i){return vi(this,i).get(i)}function Ap(i){return vi(this,i).has(i)}function Lp(i,t){var e=vi(this,i),s=e.size;return e.set(i,t),this.size+=e.size==s?0:1,this}function ge(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}ge.prototype.clear=Ip,ge.prototype.delete=jp,ge.prototype.get=Pp,ge.prototype.has=Ap,ge.prototype.set=Lp;var Rp="Expected a function";function zn(i,t){if(typeof i!="function"||t!=null&&typeof t!="function")throw new TypeError(Rp);var e=function(){var s=arguments,r=t?t.apply(this,s):s[0],n=e.cache;if(n.has(r))return n.get(r);var o=i.apply(this,s);return e.cache=n.set(r,o)||n,o};return e.cache=new(zn.Cache||ge),e}zn.Cache=ge;var Fp=500;function Bp(i){var t=zn(i,function(s){return e.size===Fp&&e.clear(),s}),e=t.cache;return t}var Wp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Xp=/\\(\\)?/g,zp=Bp(function(i){var t=[];return i.charCodeAt(0)===46&&t.push(""),i.replace(Wp,function(e,s,r,n){t.push(r?n.replace(Xp,"$1"):s||e)}),t});function Hp(i){return i==null?"":Fc(i)}function yi(i,t){return Zt(i)?i:up(i,t)?[i]:zp(Hp(i))}function Hn(i){if(typeof i=="string"||fi(i))return i;var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}function Yp(i,t){t=yi(t,i);for(var e=0,s=t.length;i!=null&&e<s;)i=i[Hn(t[e++])];return e&&e==s?i:void 0}function eh(i,t){for(var e=-1,s=t.length,r=i.length;++e<s;)i[r+e]=t[e];return i}var sh=Mt?Mt.isConcatSpreadable:void 0;function Vp(i){return Zt(i)||Bn(i)||!!(sh&&i&&i[sh])}function Gp(i,t,e,s,r){var n=-1,o=i.length;for(e||(e=Vp),r||(r=[]);++n<o;){var a=i[n];e(a)?eh(r,a):r[r.length]=a}return r}function Yn(i){var t=i==null?0:i.length;return t?Gp(i):[]}function Np(i){return ug(yg(i,void 0,Yn),i+"")}var Up=th(Object.getPrototypeOf,Object);function $p(){this.__data__=new fe,this.size=0}function qp(i){var t=this.__data__,e=t.delete(i);return this.size=t.size,e}function Kp(i){return this.__data__.get(i)}function Jp(i){return this.__data__.has(i)}var Zp=200;function Qp(i,t){var e=this.__data__;if(e instanceof fe){var s=e.__data__;if(!tr||s.length<Zp-1)return s.push([i,t]),this.size=++e.size,this;e=this.__data__=new ge(s)}return e.set(i,t),this.size=e.size,this}function pe(i){var t=this.__data__=new fe(i);this.size=t.size}pe.prototype.clear=$p,pe.prototype.delete=qp,pe.prototype.get=Kp,pe.prototype.has=Jp,pe.prototype.set=Qp;var rh=typeof I=="object"&&I&&!I.nodeType&&I,ih=rh&&typeof module=="object"&&module&&!module.nodeType&&module,tm=ih&&ih.exports===rh,nh=tm?Wt.Buffer:void 0;nh&&nh.allocUnsafe;function em(i,t){return i.slice()}function sm(i,t){for(var e=-1,s=i==null?0:i.length,r=0,n=[];++e<s;){var o=i[e];t(o,e,i)&&(n[r++]=o)}return n}function rm(){return[]}var im=Object.prototype,nm=im.propertyIsEnumerable,oh=Object.getOwnPropertySymbols,om=oh?function(i){return i==null?[]:(i=Object(i),sm(oh(i),function(t){return nm.call(i,t)}))}:rm;function am(i,t,e){var s=t(i);return Zt(i)?s:eh(s,e(i))}function Vn(i){return am(i,cp,om)}var Gn=Ue(Wt,"DataView"),Nn=Ue(Wt,"Promise"),Un=Ue(Wt,"Set"),ah="[object Map]",cm="[object Object]",ch="[object Promise]",hh="[object Set]",lh="[object WeakMap]",uh="[object DataView]",hm=Ne(Gn),lm=Ne(tr),um=Ne(Nn),dm=Ne(Un),fm=Ne(An),Xt=ys;(Gn&&Xt(new Gn(new ArrayBuffer(1)))!=uh||tr&&Xt(new tr)!=ah||Nn&&Xt(Nn.resolve())!=ch||Un&&Xt(new Un)!=hh||An&&Xt(new An)!=lh)&&(Xt=function(i){var t=ys(i),e=t==cm?i.constructor:void 0,s=e?Ne(e):"";if(s)switch(s){case hm:return uh;case lm:return ah;case um:return ch;case dm:return hh;case fm:return lh}return t});var gm=Object.prototype,pm=gm.hasOwnProperty;function mm(i){var t=i.length,e=new i.constructor(t);return t&&typeof i[0]=="string"&&pm.call(i,"index")&&(e.index=i.index,e.input=i.input),e}var bi=Wt.Uint8Array;function $n(i){var t=new i.constructor(i.byteLength);return new bi(t).set(new bi(i)),t}function vm(i,t){var e=$n(i.buffer);return new i.constructor(e,i.byteOffset,i.byteLength)}var ym=/\w*$/;function bm(i){var t=new i.constructor(i.source,ym.exec(i));return t.lastIndex=i.lastIndex,t}var dh=Mt?Mt.prototype:void 0,fh=dh?dh.valueOf:void 0;function _m(i){return fh?Object(fh.call(i)):{}}function Tm(i,t){var e=$n(i.buffer);return new i.constructor(e,i.byteOffset,i.length)}var Sm="[object Boolean]",wm="[object Date]",xm="[object Map]",Cm="[object Number]",Om="[object RegExp]",km="[object Set]",Mm="[object String]",Dm="[object Symbol]",Im="[object ArrayBuffer]",Em="[object DataView]",jm="[object Float32Array]",Pm="[object Float64Array]",Am="[object Int8Array]",Lm="[object Int16Array]",Rm="[object Int32Array]",Fm="[object Uint8Array]",Bm="[object Uint8ClampedArray]",Wm="[object Uint16Array]",Xm="[object Uint32Array]";function zm(i,t,e){var s=i.constructor;switch(t){case Im:return $n(i);case Sm:case wm:return new s(+i);case Em:return vm(i);case jm:case Pm:case Am:case Lm:case Rm:case Fm:case Bm:case Wm:case Xm:return Tm(i);case xm:return new s;case Cm:case Mm:return new s(i);case Om:return bm(i);case km:return new s;case Dm:return _m(i)}}function Hm(i){return typeof i.constructor=="function"&&!Gc(i)?rg(Up(i)):{}}var Ym="[object Map]";function Vm(i){return ke(i)&&Xt(i)==Ym}var gh=bs&&bs.isMap,Gm=gh?Wn(gh):Vm,Nm="[object Set]";function Um(i){return ke(i)&&Xt(i)==Nm}var ph=bs&&bs.isSet,$m=ph?Wn(ph):Um,mh="[object Arguments]",qm="[object Array]",Km="[object Boolean]",Jm="[object Date]",Zm="[object Error]",vh="[object Function]",Qm="[object GeneratorFunction]",tv="[object Map]",ev="[object Number]",yh="[object Object]",sv="[object RegExp]",rv="[object Set]",iv="[object String]",nv="[object Symbol]",ov="[object WeakMap]",av="[object ArrayBuffer]",cv="[object DataView]",hv="[object Float32Array]",lv="[object Float64Array]",uv="[object Int8Array]",dv="[object Int16Array]",fv="[object Int32Array]",gv="[object Uint8Array]",pv="[object Uint8ClampedArray]",mv="[object Uint16Array]",vv="[object Uint32Array]",V={};V[mh]=V[qm]=V[av]=V[cv]=V[Km]=V[Jm]=V[hv]=V[lv]=V[uv]=V[dv]=V[fv]=V[tv]=V[ev]=V[yh]=V[sv]=V[rv]=V[iv]=V[nv]=V[gv]=V[pv]=V[mv]=V[vv]=!0,V[Zm]=V[vh]=V[ov]=!1;function _i(i,t,e,s,r,n){var o;if(o!==void 0)return o;if(!Qt(i))return i;var a=Zt(i);if(a)o=mm(i);else{var c=Xt(i),h=c==vh||c==Qm;if(pi(i))return em(i);if(c==yh||c==mh||h&&!r)o=h?{}:Hm(i);else{if(!V[c])return r?i:{};o=zm(i,c)}}n||(n=new pe);var l=n.get(i);if(l)return l;n.set(i,o),$m(i)?i.forEach(function(f){o.add(_i(f,t,e,f,i,n))}):Gm(i)&&i.forEach(function(f,g){o.set(g,_i(f,t,e,g,i,n))});var u=Vn,d=a?void 0:u(i);return dg(d||i,function(f,g){d&&(g=f,f=i[g]),Yc(o,g,_i(f,t,e,g,i,n))}),o}var yv=1,bv=4;function qe(i){return _i(i,yv|bv)}var _v="__lodash_hash_undefined__";function Tv(i){return this.__data__.set(i,_v),this}function Sv(i){return this.__data__.has(i)}function Ti(i){var t=-1,e=i==null?0:i.length;for(this.__data__=new ge;++t<e;)this.add(i[t])}Ti.prototype.add=Ti.prototype.push=Tv,Ti.prototype.has=Sv;function wv(i,t){for(var e=-1,s=i==null?0:i.length;++e<s;)if(t(i[e],e,i))return!0;return!1}function xv(i,t){return i.has(t)}var Cv=1,Ov=2;function bh(i,t,e,s,r,n){var o=e&Cv,a=i.length,c=t.length;if(a!=c&&!(o&&c>a))return!1;var h=n.get(i),l=n.get(t);if(h&&l)return h==t&&l==i;var u=-1,d=!0,f=e&Ov?new Ti:void 0;for(n.set(i,t),n.set(t,i);++u<a;){var g=i[u],p=t[u];if(s)var m=o?s(p,g,u,t,i,n):s(g,p,u,i,t,n);if(m!==void 0){if(m)continue;d=!1;break}if(f){if(!wv(t,function(b,_){if(!xv(f,_)&&(g===b||r(g,b,e,s,n)))return f.push(_)})){d=!1;break}}else if(!(g===p||r(g,p,e,s,n))){d=!1;break}}return n.delete(i),n.delete(t),d}function kv(i){var t=-1,e=Array(i.size);return i.forEach(function(s,r){e[++t]=[r,s]}),e}function Mv(i){var t=-1,e=Array(i.size);return i.forEach(function(s){e[++t]=s}),e}var Dv=1,Iv=2,Ev="[object Boolean]",jv="[object Date]",Pv="[object Error]",Av="[object Map]",Lv="[object Number]",Rv="[object RegExp]",Fv="[object Set]",Bv="[object String]",Wv="[object Symbol]",Xv="[object ArrayBuffer]",zv="[object DataView]",_h=Mt?Mt.prototype:void 0,qn=_h?_h.valueOf:void 0;function Hv(i,t,e,s,r,n,o){switch(e){case zv:if(i.byteLength!=t.byteLength||i.byteOffset!=t.byteOffset)return!1;i=i.buffer,t=t.buffer;case Xv:return!(i.byteLength!=t.byteLength||!n(new bi(i),new bi(t)));case Ev:case jv:case Lv:return Rn(+i,+t);case Pv:return i.name==t.name&&i.message==t.message;case Rv:case Bv:return i==t+"";case Av:var a=kv;case Fv:var c=s&Dv;if(a||(a=Mv),i.size!=t.size&&!c)return!1;var h=o.get(i);if(h)return h==t;s|=Iv,o.set(i,t);var l=bh(a(i),a(t),s,r,n,o);return o.delete(i),l;case Wv:if(qn)return qn.call(i)==qn.call(t)}return!1}var Yv=1,Vv=Object.prototype,Gv=Vv.hasOwnProperty;function Nv(i,t,e,s,r,n){var o=e&Yv,a=Vn(i),c=a.length,h=Vn(t),l=h.length;if(c!=l&&!o)return!1;for(var u=c;u--;){var d=a[u];if(!(o?d in t:Gv.call(t,d)))return!1}var f=n.get(i),g=n.get(t);if(f&&g)return f==t&&g==i;var p=!0;n.set(i,t),n.set(t,i);for(var m=o;++u<c;){d=a[u];var b=i[d],_=t[d];if(s)var x=o?s(_,b,d,t,i,n):s(b,_,d,i,t,n);if(!(x===void 0?b===_||r(b,_,e,s,n):x)){p=!1;break}m||(m=d=="constructor")}if(p&&!m){var w=i.constructor,C=t.constructor;w!=C&&"constructor"in i&&"constructor"in t&&!(typeof w=="function"&&w instanceof w&&typeof C=="function"&&C instanceof C)&&(p=!1)}return n.delete(i),n.delete(t),p}var Uv=1,Th="[object Arguments]",Sh="[object Array]",Si="[object Object]",$v=Object.prototype,wh=$v.hasOwnProperty;function qv(i,t,e,s,r,n){var o=Zt(i),a=Zt(t),c=o?Sh:Xt(i),h=a?Sh:Xt(t);c=c==Th?Si:c,h=h==Th?Si:h;var l=c==Si,u=h==Si,d=c==h;if(d&&pi(i)){if(!pi(t))return!1;o=!0,l=!1}if(d&&!l)return n||(n=new pe),o||Qc(i)?bh(i,t,e,s,r,n):Hv(i,t,c,e,s,r,n);if(!(e&Uv)){var f=l&&wh.call(i,"__wrapped__"),g=u&&wh.call(t,"__wrapped__");if(f||g){var p=f?i.value():i,m=g?t.value():t;return n||(n=new pe),r(p,m,e,s,n)}}return d?(n||(n=new pe),Nv(i,t,e,s,r,n)):!1}function xh(i,t,e,s,r){return i===t?!0:i==null||t==null||!ke(i)&&!ke(t)?i!==i&&t!==t:qv(i,t,e,s,xh,r)}function Kv(i,t){return i!=null&&t in Object(i)}function Jv(i,t,e){t=yi(t,i);for(var s=-1,r=t.length,n=!1;++s<r;){var o=Hn(t[s]);if(!(n=i!=null&&e(i,o)))break;i=i[o]}return n||++s!=r?n:(r=i==null?0:i.length,!!r&&Fn(r)&&Ln(o,r)&&(Zt(i)||Bn(i)))}function Zv(i,t){return i!=null&&Jv(i,t,Kv)}var Kn=function(){return Wt.Date.now()},Qv="Expected a function",t0=Math.max,e0=Math.min;function s0(i,t,e){var s,r,n,o,a,c,h=0,l=!1,u=!1,d=!0;if(typeof i!="function")throw new TypeError(Qv);t=Wc(t)||0,Qt(e)&&(l=!!e.leading,u="maxWait"in e,n=u?t0(Wc(e.maxWait)||0,t):n,d="trailing"in e?!!e.trailing:d);function f(O){var D=s,M=r;return s=r=void 0,h=O,o=i.apply(M,D),o}function g(O){return h=O,a=setTimeout(b,t),l?f(O):o}function p(O){var D=O-c,M=O-h,E=t-D;return u?e0(E,n-M):E}function m(O){var D=O-c,M=O-h;return c===void 0||D>=t||D<0||u&&M>=n}function b(){var O=Kn();if(m(O))return _(O);a=setTimeout(b,p(O))}function _(O){return a=void 0,d&&s?f(O):(s=r=void 0,o)}function x(){a!==void 0&&clearTimeout(a),h=0,s=c=r=a=void 0}function w(){return a===void 0?o:_(Kn())}function C(){var O=Kn(),D=m(O);if(s=arguments,r=this,c=O,D){if(a===void 0)return g(c);if(u)return clearTimeout(a),a=setTimeout(b,t),f(c)}return a===void 0&&(a=setTimeout(b,t)),o}return C.cancel=x,C.flush=w,C}function r0(i,t){return xh(i,t)}function i0(i,t,e,s){if(!Qt(i))return i;t=yi(t,i);for(var r=-1,n=t.length,o=n-1,a=i;a!=null&&++r<n;){var c=Hn(t[r]),h=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return i;if(r!=o){var l=a[c];h=void 0,h===void 0&&(h=Qt(l)?l:Ln(t[r+1])?[]:{})}Yc(a,c,h),a=a[c]}return i}function n0(i,t,e){for(var s=-1,r=t.length,n={};++s<r;){var o=t[s],a=Yp(i,o);e(a,o)&&i0(n,yi(o,i),a)}return n}function o0(i,t){return n0(i,t,function(e,s){return Zv(i,s)})}var a0=Np(function(i,t){return i==null?{}:o0(i,t)}),c0="Expected a function";function h0(i,t,e){var s=!0,r=!0;if(typeof i!="function")throw new TypeError(c0);return Qt(e)&&(s="leading"in e?!!e.leading:s,r="trailing"in e?!!e.trailing:r),s0(i,t,{leading:s,maxWait:t,trailing:r})}class l0{addTrackItem(t){const e=_f(t,{tScale:this.tScale,sizesMap:this.sizesMap});this.add(e)}alignItemsToTrack(){this.pauseEventListeners();const t=new Map(this.getObjects("Track").map(r=>[r.id,r])),e=this.getTrackItems(),s=this.getObjects("Transition");this.trackItemIds.forEach(r=>{const n=this.tracks.find(c=>c.items.includes(r));if(!n)return;const o=t.get(n.id),a=this.getTrackItems().find(c=>c.id===r);a&&o&&(a.isMain=o.magnetic,this.trackItemsMap[r].isMain=o.magnetic,a.set({top:o.top}),a.setCoords())}),t.forEach(r=>{r.items=e.filter(n=>n.top===r.top).map(n=>n.id)}),s.forEach(r=>{const n=r.fromId,o=e.find(a=>a.id===n);o&&(r.set({top:o.top}),r.setCoords())}),this.resumeEventListeners()}updateTrackItemsToHistory(){this.pauseEventListeners(),this.trackItemIds.forEach(t=>{const e=this.tracks.find(c=>c.items.includes(t)),s=this.getObjects().find(c=>c.id===(e==null?void 0:e.id)).top,r=this.trackItemsMap[t],n=this.getObjects().find(c=>c.id===t),o=Z(r.display.from,this.tScale),a=Z(r.display.to-r.display.from,this.tScale,r.playbackRate);if(n.set({left:o,width:a,top:s}),n instanceof Jt){const c=n.display.to-n.display.from;n.setDuration?n.setDuration(c):n.set({duration:c}),r.trim=n.trim,r.display=n.display}n.setCoords()}),this.requestRenderAll(),this.resumeEventListeners()}deleteTrackItemToHistory(t){this.getObjects().filter(e=>t.includes(e.id)).map(e=>this.remove(e)),this.alignItemsToTrack(),this.requestRenderAll()}uodateTrackItemIdsOrdering(){const t=this.getTrackItems();t.sort((e,s)=>e.top-s.top),this.trackItemIds=t.map(e=>e.id).reverse()}selectTrackItemByIds(t){const e=this.getActiveObjects().map(n=>n.id);if(r0(e,t))return;const r=this.getObjects(...me.objectTypes,"Transition").filter(n=>t.includes(n.id));if(!r.length)this.discardActiveObject();else if(r.length===1)this.setActiveObject(r[0]);else{const n=new Ot(r);this.setActiveObject(n)}this.requestRenderAll()}synchronizeTrackItemsState(){this.pauseEventListeners();const t=this.getTrackItems(),e={};t.forEach(s=>{const{id:r,left:n,width:o}=s,a=this.trackItemsMap[r],c=L(n,this.tScale),h=L(o,this.tScale),l={from:c,to:c+h},u={display:l};s instanceof Jt&&(u.trim=s.trim),s.display=l,e[r]={...a,...u}}),this.trackItemsMap={...this.trackItemsMap,...e},this.resumeEventListeners()}deleteTrackItemById(t){const e=t,s=this.getObjects().filter(a=>t.includes(a.id)),r=Ks(this.tracks,e),n={};Object.keys(this.trackItemsMap).forEach(a=>{e.includes(a)||(n[a]=this.trackItemsMap[a])});const o=this.trackItemIds.filter(a=>!e.includes(a));this.tracks=r,this.trackItemsMap=n,this.trackItemIds=o,this.discardActiveObject(),this.remove(...s),this.renderTracks(),this.alignItemsToTrack()}deleteActiveTrackItem(){const t=this.getActiveObjects();if(!t.length)return!1;const e=t.map(o=>o.id),s=Ks(this.tracks,e),r={};Object.keys(this.trackItemsMap).forEach(o=>{e.includes(o)||(r[o]=this.trackItemsMap[o])});const n=this.trackItemIds.filter(o=>!e.includes(o));this.tracks=s,this.trackItemsMap=r,this.trackItemIds=n,this.discardActiveObject(),this.remove(...t),this.setActiveIds([]),this.renderTracks(),this.alignItemsToTrack(),this.updateState({updateHistory:!0,kind:"remove"})}updateTrackItemCoords(t){const e=t?this.getActiveObjects().map(s=>s.id):[];!t&&this.pauseEventListeners(),this.trackItemIds.forEach(s=>{if(e.includes(s))return;const r=this.getObjects().find(c=>c.id===s),n=this.trackItemsMap[s],o=Z(n.display.from,this.tScale),a=Z(n.display.to-n.display.from,this.tScale);r.set({left:o,width:a}),r.setCoords()}),!t&&this.resumeEventListeners()}getTrackItems(){return this.getObjects(...me.objectTypes)}setTrackItemCoords(){this.getTrackItems().forEach(t=>{t.setCoords()})}setActiveTrackItemCoords(){this.getActiveObjects().forEach(e=>e.setCoords())}}const Ch=i=>{switch(i){case"top":return 1e3;case"bottom":return 1e3;case"center":return 8;default:return 1e3}};class u0{findOrCreateTrack(t,{trackId:e,trackIndex:s}){if(e){const o=this.tracks.find(a=>a.id===e);if(o)return o.items.push(t.id),e}const r=this.getItemAccepts(t.type),n={id:qs(),items:[t.id],type:t.type,accepts:r,magnetic:!1,static:!1,muted:!1};return s!==void 0?this.tracks.splice(s,0,n):this.tracks.push(n),this.renderTracks(),n.id}removeTracks(){this.getObjects("Track","Helper").forEach(e=>this.remove(e))}renderTracks(){this.filterEmptyTracks(),this.removeTracks();const t=this.width,e=this.tracks.flatMap(a=>[a,{id:`helper-${a.id}`,type:"helper",items:[],accepts:[]}]).slice(0,-1);let s=-970;const r=k.getClass("Helper")||ue,n=new r({top:s,selectable:!1,evented:!1,tScale:this.tScale,id:"helper-line-top",width:t,kind:"top",height:1e3,metadata:{}});s+=Ch("top"),this.insertAt(0,n),e.forEach((a,c)=>{if(a.type==="helper"){const h=Ch("center"),l=new r({id:a.id,top:s,tScale:this.tScale,width:t,height:h,metadata:{order:(c+1)/2},kind:"center"});s+=h,this.insertAt(0,l)}else{const h=this.getItemSize(a.type),l=k.getClass("Track")||Ft,u=this.getItemAccepts(a.type),d=new l({id:a.id,top:s,left:0,height:h,width:t,tScale:this.tScale,accepts:u,items:a.items,magnetic:a.magnetic,static:a.static});s+=h,this.insertAt(0,d)}});const o=new r({id:"helper-line-bottom",top:s,selectable:!1,evented:!1,tScale:this.tScale,width:t,kind:"bottom",height:1e3,metadata:{}});this.insertAt(0,o)}filterEmptyTracks(){const t=new Set;this.tracks=this.tracks.filter(e=>(e.items.length||e.static)&&!t.has(e.id)?(t.add(e.id),!0):!1)}refreshTrackLayout(){const t=this.bounding.width+this.spacing.right;this.getObjects("Track","Helper").forEach(e=>{e.updateCoords(t),e.setCoords()})}adjustMagneticTrack(){this.pauseEventListeners();const t=this.tracks.filter(e=>e.magnetic);t.length>0&&t.forEach(e=>{const s=e.accepts||[],r=this.getObjects(...s).filter(o=>e.items.includes(o.id)).sort((o,a)=>o.left-a.left);let n=0;r.forEach(o=>{o.left=n,n+=o.width})}),this.resumeEventListeners()}}function Oh(i){const t=this,e=i.target,s=i.transform;if(s.action==="resizing"){const r=t.getObjects().filter(u=>u!==e&&!["Track","Helper","Transition","Placeholder"].includes(u.type)),n=10,o=e.left,a=e.width*e.scaleX,c=o+a;let h=!1;r.forEach(u=>{if(h)return;const d=u.getBoundingRect(),f=d.left,g=d.left+d.width;if(s.corner==="mr"){const p=Math.abs(c-g),m=Math.abs(c-f),b=L(1,e.tScale);if(p<n)if(e instanceof Jt){const _=g-e.left,x=_-a,w=L(x,e.tScale,e.playbackRate),C=e.trim.to+w;if(_<b||_<b)return;C<=e.duration&&(e.set({width:_,scaleX:1}),e.trim.to=C,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:g-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(m<n)if(e instanceof Jt){const _=f-e.left,x=_-a,w=L(x,e.tScale,e.playbackRate),C=e.trim.to+w;if(_<b)return;C<=e.duration&&(e.set({width:_,scaleX:1}),e.trim.to=C,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:f-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}else if(s.corner==="ml"){const p=Math.abs(o-f),m=Math.abs(o-g);if(p<n)if(e instanceof Jt){const b=c-f,_=b-a,x=L(_,e.tScale,e.playbackRate),w=e.trim.from-x;w>=0&&(e.set({left:f,width:b,scaleX:1}),e.trim.from=w,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:f,width:c-f,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(m<n)if(e instanceof Jt){const b=c-g,_=b-a,x=L(_,e.tScale,e.playbackRate),w=e.trim.from-x;w>=0&&(e.set({left:g,width:b,scaleX:1}),e.trim.from=w,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:g,width:c-g,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}}),h&&(e.setCoords(),t.requestRenderAll());const l=t.tracks.find(u=>u.magnetic);if(l&&l.items.includes(e.id)){const u=t.getTrackItems().filter(g=>l.items.includes(g.id)),d=Math.max(...u.map(g=>{const p=L(g.left,t.tScale),m=L(g.width*g.scaleX,t.tScale);return p+m}));t.getTrackItems().filter(g=>g.type==="audio").forEach(g=>{var m;const p=t.trackItemsMap[g.id];if(p){const b=p.duration||0,_=(m=p.metadata)==null?void 0:m.userLimitDuration,x=typeof _=="number"?_:b,w=p.display.from||0,C=Math.max(0,d-w),O=Math.min(C,x);g.display={from:w,to:w+O},g.trim&&(g.trim={from:g.trim.from||0,to:(g.trim.from||0)+O});const D=Z(O,t.tScale);g.set({width:D,scaleX:1}),g.setCoords()}}),t.requestRenderAll()}}}function d0(i){i.on("object:resizing",Oh.bind(i))}function f0(i){i.off("object:resizing",Oh.bind(i))}const er=100,Jn=0,wi=5,kh=3,g0=25,_s={scrollInterval:null};function Mh(i){const t=g0-kh,e=(er-i)/er;return kh+t*e}function p0(i,t){_s.scrollInterval&&clearInterval(_s.scrollInterval);const e=t.target,s=e.getBoundingRect();_s.scrollInterval=setInterval(()=>{const r=i.viewportTransform,n=i.getViewportPoint(t.e);if(n.x>i.width-er&&e.left+s.width<i.bounding.width){const o=Mh(i.width-n.x);e.set("left",e.left+o),i.setViewportPos(r[4]-o,r[5])}if(n.x<er&&e.left>0&&r[4]<er&&r[4]<i.spacing.left){const o=Mh(n.x);e.set("left",e.left-o),i.setViewportPos(r[4]+o,r[5])}n.y>i.height-Jn&&e.top+s.height<i.bounding.height+80&&(e.set("top",e.top+wi),i.setViewportPos(r[4],r[5]-wi)),n.y<Jn&&e.top>-80&&-r[5]>Jn&&(e.set("top",e.top-wi),i.setViewportPos(r[4],r[5]+wi)),e.setCoords(),i.requestRenderAll()},16)}function m0(){_s.scrollInterval&&(clearInterval(_s.scrollInterval),_s.scrollInterval=null)}function Dh(){m0()}function Ih(i){p0(this,i)}function v0(i){i.on("mouse:up",Dh),i.on("object:moving",Ih.bind(i))}function y0(i){i.off("mouse:up",Dh),i.off("object:moving",Ih.bind(i))}function Eh(i){const t=i.target,e=i.target.canvas;if(i.action==="resizing"&&t instanceof Bt&&e){const s=t.id,r=e.getObjects("Transition").find(n=>n.id===s);if(r&&r instanceof Bt){const n=qe(this.transitionsMap),o={...n,[s]:{...n[s],width:r.width,duration:r.duration}};this.transitionsMap=o,this.updateState()}}}function b0(i){i.on("object:modified",Eh)}function _0(i){i.off("object:modified",Eh)}const jh={canvas:null,enableGuideRedraw:!0,isPointerOverHelperTrack:!1,draggingOverTrack:null,placeholderMovingObjects:[],primaryMovingObjects:[],secondaryMovingObjects:[],objectInitialPositions:{},originTrack:{},trackToItemsMap:{},activeTrackToItemsMap:{},trackTopToIdMap:{},trackTops:[],activeObjects:[],primaryTracks:{},secondaryTracks:{},isDragOver:!1,initialTrackPoints:[],updateItemsInTrack:null,orderNormalTrack:!1},Q=()=>jh,ct=i=>{Object.assign(jh,i)},Ph=10,xi=(i,t)=>{t.forEach(e=>e.isAlignmentAuxiliary&&i.remove(e))},Ah=(i,t)=>{const e=[],s=[];return t.getObjects().filter(r=>r.visible).forEach(r=>{if(i.find(o=>o.id===r.id)||r.isAlignmentAuxiliary)return;const n=r.getBoundingRect();e.push(Wh(n.left,n.width,n.top,n.height)),s.push(Wh(n.top,n.height,n.left,n.width))}),{vertical:e.flat(),horizontal:[]}},Lh=(i,t)=>{const e=[],s=[];i.vertical.forEach(a=>{t.vertical.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Ph&&e.push({lineGuide:a.val,diff:h,orientation:"V",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})}),i.horizontal.forEach(a=>{t.horizontal.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Ph&&s.push({lineGuide:a.val,diff:h,orientation:"H",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})});const r=[],n=e.sort((a,c)=>a.diff-c.diff)[0],o=s.sort((a,c)=>a.diff-c.diff)[0];return n&&r.push({lineGuide:n.lineGuide,offset:n.offset,orientation:"V",snap:n.snap,targetDim:n.targetDim}),o&&r.push({lineGuide:o.lineGuide,offset:o.offset,orientation:"H",snap:o.snap,targetDim:o.targetDim}),r},Rh=(i,t,e)=>{i.forEach(s=>{const r=T0(e.getZoom());s.orientation==="H"?e.add(Fh([0,s.lineGuide-r.strokeWidth/2,2e3,s.lineGuide-r.strokeWidth/2],{...r,stroke:e.guideLineColor})):s.orientation==="V"&&e.add(Fh([s.lineGuide-r.strokeWidth/2,0,s.lineGuide-r.strokeWidth/2,2e3],{...r,stroke:e.guideLineColor}))})},T0=i=>({strokeWidth:2/i}),Fh=(i,t)=>new Ce(i,{...t,strokeLineCap:"square",excludeFromExport:!0,isAlignmentAuxiliary:!0,selectable:!1,objectCaching:!1}),Bh=i=>{const t=i.getBoundingRect();return{vertical:[{guide:Math.round(t.left),offset:Math.round(i.left-t.left),snap:"start"},{guide:Math.round(t.left+t.width),offset:Math.round(i.left-t.left-t.width),snap:"end"}],horizontal:[{guide:Math.round(t.top),offset:Math.round(i.top-t.top),snap:"start"},{guide:Math.round(t.top+t.height),offset:Math.round(i.top-t.top-t.height),snap:"end"}]}},Wh=(i,t,e,s)=>[i,i+t].map(n=>({val:n,start:e,end:e+s})),Xh=(i,t)=>{i.remove(...t),t=[]},zh=i=>{i.forEach(t=>t.setSelected(!1))},Hh=i=>i instanceof ue,S0=i=>Object.assign({},{left:16,right:80},i),w0=["touchstart","touchmove","touchend"],x0=i=>w0.includes(i.type)||i.pointerType==="touch";function Yh(i){const t=this;if(!t)return;const s=Q().enableGuideRedraw,r=t.getScenePoint(i.e),n=t.getObjects("Helper","Track"),o=n.find(g=>{const p=g.getBoundingRect();return r.x>=p.left&&r.x<=p.left+p.width&&r.y>=p.top&&r.y<=p.top+p.height});ct({draggingOverTrack:o}),n.forEach(g=>{Hh(g)&&(g===o?g.setSelected(!0):g.setSelected(!1))}),Hh(o)?ct({isPointerOverHelperTrack:!0}):ct({isPointerOverHelperTrack:!1});const a=t.getObjects(),c=i.target,h=c.getBoundingRect();c.setCoords();const l=[c,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],u=Ah(l,t),d=Bh(c),f=Lh(u,d);s&&(xi(t,a),f.length&&Rh(f,h,t),ct({enableGuideRedraw:!1}),setTimeout(()=>ct({enableGuideRedraw:!0}),50)),f.forEach(g=>{g.orientation==="V"?c.left=g.lineGuide+g.offset:c.top=g.lineGuide+g.offset})}function Vh(i){const t=i.target.canvas;t&&(xi(t,t.getObjects()),zh(t.getObjects("Helper")),ct({draggingOverTrack:null,isPointerOverHelperTrack:!1}))}function Gh(i){var a;const t=this,e=t.getObjects(),s=i.target,r=i.transform,n=(a=t._currentTransform)==null?void 0:a.corner,o=s.getBoundingRect();if(r.action==="resizing"){const c=[s,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],h=Ah(c,t),l=h.vertical.filter(f=>{const g=f.val;if(n==="ml")return g<=o.left;if(n==="mr")return g>=o.left+o.width});h.vertical=l;const u=Bh(s),d=Lh(h,u);xi(t,e),d.length&&Rh(d,o,t)}}function C0(i){i.on("object:moving",Yh.bind(i)),i.on("object:modified",Vh.bind(i)),i.on("object:resizing",Gh.bind(i))}function O0(i){i.off("object:moving",Yh.bind(i)),i.off("object:modified",Vh.bind(i)),i.off("object:resizing",Gh.bind(i))}function Zn(i,t,e){const s=i.indexOf(t),r=i.indexOf(e);return s===-1||r===-1?null:r-s}function Nh(i,t){const e=t.sort((r,n)=>r.tempIndex-n.tempIndex),s=[];for(const r of e)r.tempIndex<0&&s.push(r);s.push(i);for(const r of e)r.tempIndex>=0&&s.push(r);return s}function Uh(i){const t=Q(),e=t.canvas;ct({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1,initialTrackPoints:[],updateItemsInTrack:null}),e.trackIdAfterTransform="",e.positionAfterTransform={};const s=e.getActiveObject(),r=s instanceof Ot?s.getObjects():[s];ct({activeObjects:r});const n=e.getScenePoint(i.e),o=e.getObjects("Track"),a=e.getActiveObjects().map(u=>u.id);let h=o.filter(u=>{const d=u.items;return a.some(f=>d.includes(f))}).find(u=>{const d=u.getBoundingRect();return n.x>=d.left&&n.x<=d.left+d.width&&n.y>=d.top&&n.y<=d.top+d.height});ct({originTrack:h});const l=e.getObjects(...this.itemTypes);o.forEach(u=>{const d=l.filter(f=>u.items.includes(f.id));t.trackToItemsMap[u.id]=d,t.trackTopToIdMap[u.top]=u.id,t.trackTops.push(u.top)}),t.trackTops.sort((u,d)=>u-d),r.forEach(u=>{const d=o.find(g=>g.items.includes(u.id));if(!d)return;const f=d.id;t.activeTrackToItemsMap[f]?t.activeTrackToItemsMap[f].push(u):t.activeTrackToItemsMap[f]=[u]}),t.primaryMovingObjects=r.filter(u=>{const d=u.getBoundingRect();return n.y>=d.top&&n.y<=d.top+d.height&&!(u instanceof Bt)}),t.primaryMovingObjects.length!==0&&(t.primaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[d];if(t.primaryTracks[f])t.primaryTracks[f].objects.push(u);else{const g=Zn(t.trackTops,h==null?void 0:h.top,d);t.primaryTracks[f]={objects:[u],index:g}}}),t.primaryMovingObjects=t.primaryMovingObjects.sort((u,d)=>u.left-d.left),t.secondaryMovingObjects=r.filter(u=>!t.primaryMovingObjects.includes(u)),t.secondaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[u.getBoundingRect().top];if(t.secondaryTracks[f])t.secondaryTracks[f].objects.push(u);else{const g=Zn(t.trackTops,h.top,d);t.secondaryTracks[f]={objects:[u],index:g}}}),h&&(e.trackOriginBeforeTransform=h.id),s&&(e.positionBeforeTransform={top:s.top,left:s.left}),i.transform.action==="drag"&&(t.placeholderMovingObjects=t.primaryMovingObjects.map(u=>{const d=u.getBoundingRect();t.objectInitialPositions[u.id]={top:d.top,left:d.left};const f=new fs({id:`${u.id}-placeholder`,left:d.left,top:d.top,width:d.width,height:d.height});return f.draggedObject=u,f}),e.add(...t.placeholderMovingObjects)))}function k0(i){i.on("before:transform",Uh.bind(i))}function M0(i){i.off("before:transform",Uh.bind(i))}const ks=class ks extends st{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"itemType","none");S(this,"isSelected",!1);Object.assign(this,ks.ownDefaults),this.id=e.id}static createControls(){return{controls:En()}}static getDefaults(){return{...super.getDefaults(),...ks.ownDefaults}}updateCoords(){const e=this.canvas;if(!e)return;const s=e.getObjects().find(o=>o.id===this.fromId);if(!s)return;const r=Z(this.duration,this.tScale),n=s.left+s.width-r/2;this.set({width:r,left:n})}_render(e){super._render(e),this.drawTextIdentity(e),this.updateSelected(e)}drawTextIdentity(e){const s=new Path2D("M3 5.30359C3 3.93159 4.659 3.24359 5.629 4.21359L11.997 10.5826L10.583 11.9966L5 6.41359V17.5856L10.586 11.9996L10.583 11.9966L11.997 10.5826L12 10.5856L18.371 4.21459C19.341 3.24459 21 3.93159 21 5.30359V18.6956C21 20.0676 19.341 20.7556 18.371 19.7856L12 13.5L13.414 11.9996L19 17.5866V6.41359L13.414 11.9996L13.421 12.0056L12.006 13.4206L12 13.4136L5.629 19.7846C4.659 20.7546 3 20.0676 3 18.6956V5.30359Z");e.save(),e.translate(-12,-12),e.fillStyle="#ffffff",e.fill(s),e.restore()}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Ns,e.strokeStyle=Ge,e.stroke(),e.restore())}};S(ks,"type","TransitionGuide"),S(ks,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:1.5,fill:"rgba(0,0,0, 0.85)",borderOpacityWhenMoving:1,hoverCursor:"default",lockMovementX:!0,lockMovementY:!0,duration:1500,rx:8,ry:8});let sr=ks;const D0=i=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=i,r=new Map;Object.values(e).forEach(h=>{var f,g;const{fromId:l,toId:u,kind:d}=h;d!=="none"&&(r.has(l)||r.set(l,[]),r.has(u)||r.set(u,[]),(f=r.get(l))==null||f.push(h),(g=r.get(u))==null||g.push(h))});const n=[],o=new Set,a=h=>{const l=[];let u=h;for(;u&&!o.has(u);){o.add(u);const d=s[u];l.push(d);const f=Object.values(e).find(g=>g.fromId===u&&g.kind!=="none");if(!f)break;l.push(f),u=f.toId}return l},c=Object.values(e).filter(h=>h.kind!=="none");for(const h of t)if(!o.has(h)&&(!r.has(h)||!c.some(l=>l.toId===h))){const l=a(h);l.length>0&&n.push(l)}return n.forEach(h=>{h.sort((l,u)=>"display"in l&&"display"in u?l.display.from-u.display.from:0)}),n},I0=["text","image","video","audio","caption","template"];function $h(){const i=Q();Xh(this,i.placeholderMovingObjects)}function E0(i){const t=i.target.left;i.target.left=Math.max(t,0)}function qh(i,t){return i.find(s=>{const r=s.getBoundingRect();return t.left<r.left+r.width&&t.left+t.width-1>r.left&&t.top<r.top+r.height&&t.top+t.height>r.top})}function j0(i,t){const s=i.canvas.getActiveObject(),r=s.left+s.width/2,n=t.left+t.width/2;return r<n?t.left-s.width:(r>n,t.left+t.width)}const P0=(i,t,e)=>!(e<0||qh(i,{...t.getBoundingRect(),left:e})),Kh=i=>{const e=Q().draggingOverTrack,s=e==null?void 0:e.accepts.map(n=>n.toLowerCase()),r=i.type.toLowerCase();return i instanceof de,e&&(s==null?void 0:s.includes(r))};function A0(i){Q().isPointerOverHelperTrack?i.opacity=0:i.opacity=1}function L0(){const i=Q(),t=i.primaryMovingObjects[0];return{top:i.objectInitialPositions[t.id].top,left:i.objectInitialPositions[t.id].left}}function R0(i){const t=i.getBoundingRect(),e=Q(),s=e.draggingOverTrack;if(e.primaryMovingObjects.map(n=>n.id).includes(i.id)){const o=e.primaryMovingObjects[0].getBoundingRect();return{top:s.top,left:o.left}}return{top:s.top,left:t.left}}function F0(i,t,e,s){const n=i.canvas.getActiveObjects().map(l=>l.id),o=j0(i,t),a=e.filter(l=>!n.includes(l.id)),c=P0(a,i,o),h=Q();if(h.orderNormalTrack=!0,!c||s.x-20<0){const l=h.draggingOverTrack;return{left:h.initialTrackPoints.reduce((d,f)=>Math.abs(f-s.x)<Math.abs(d-s.x)?f:d),top:l.top}}return{left:o,top:t.top}}const B0=(i,t)=>{i.forEach((e,s)=>{e.set({left:t[s]})})},Jh=h0(i=>{const t=i.target.canvas;E0(i);const e=Q(),s=e.draggingOverTrack;if(s){const a=e.primaryMovingObjects[0];I0.includes(a.type)&&e.placeholderMovingObjects.forEach(c=>{c.visible=!0})}else{e.placeholderMovingObjects.forEach(a=>{a.visible=!1});return}const r=e.placeholderMovingObjects.map(a=>a.draggedObject),n=(e.trackToItemsMap[s.id]||[]).filter(a=>!r.includes(a)),o=Kh(e.primaryMovingObjects[0]);if(s.magnetic&&o){e.updateItemsInTrack?e.updateItemsInTrack!==s.id&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=[]):(e.updateItemsInTrack=s.id,e.initialTrackPoints=[]),e.initialTrackPoints.length===0&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=Zh(e,s));let a=0;for(const[c,h]of e.initialTrackPoints.entries()){const l=h,u=e.initialTrackPoints[c+1],d=e.initialTrackPoints[c-1],f=u-l,g=l-d;if(!u)a=l;else if(l<=i.pointer.x&&l+f/2>=i.pointer.x){a=l;break}else if(l-g/2<=i.pointer.x&&i.pointer.x<=l){a=l;break}}e.placeholderMovingObjects.forEach(c=>{c.opacity=1,c.left=a,c.top=s.top,a+=c.width}),e.placeholderMovingObjects.forEach(c=>{const h=c.draggedObject;t.positionAfterTransform[h.id]={top:c.top,left:c.left}}),t.trackIdAfterTransform=e.trackTopToIdMap[s.top]}else{if(e.orderNormalTrack=!1,e.updateItemsInTrack&&e.updateItemsInTrack!==s.id){const d=t.getObjects().find(f=>f.id===e.updateItemsInTrack);d!=null&&d.magnetic?W0(t,e):t.updateTrackItemCoords(!0),e.updateItemsInTrack=null,e.initialTrackPoints=[]}e.initialTrackPoints.length===0&&s instanceof Ft&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=Zh(e,s));const a=n.find(d=>qh(r,d.getBoundingRect())),c=[],l=e.primaryMovingObjects.sort((d,f)=>d.left-f.left),u=l[0];l.forEach((d,f)=>{if(!l[f-1])return;const g=d.left-u.left;c.push(g)}),e.placeholderMovingObjects.forEach((d,f)=>{const g=d.draggedObject;if(g instanceof sr){d.visible=!1;return}g.setCoords(),A0(d);let p=Y0(g,n,i.pointer,a);if(e.draggingOverTrack instanceof ue?d.opacity=0:d.opacity=1,g instanceof de&&p.isInvalidDrop&&e.draggingOverTrack instanceof Ft){const m=i.pointer,b=[...t.viewportTransform],_=m.y-b[5];H0(t,_)}else e.primaryMovingObjects.length>1?(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left+(c[f-1]||0)},d.left=p.left+(c[f-1]||0),d.top=p.top):(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left},d.left=p.left,d.top=p.top)})}}),Zh=(i,t)=>{const e=i.canvas,s=[];t.items.forEach(h=>{const l=e.getObjects().find(u=>u.id===h);l&&s.push(l)});const r=i.activeObjects.map(h=>h.id),o=s.filter(h=>!r.includes(h.id)).sort((h,l)=>h.left-l.left);let a=0;const c=[];return t.magnetic?X0(o,a,c):z0(t,c,e),c};function W0(i,t){const e=[];i.getObjects().find(a=>a.id===t.updateItemsInTrack).items.forEach(a=>{const c=i.getObjects().find(h=>h.id===a);c&&e.push(c)});const r=t.activeObjects.map(a=>a.id),o=e.filter(a=>!r.includes(a.id)).sort((a,c)=>a.left-c.left);t.initialTrackPoints.length>o.length&&B0(o,t.initialTrackPoints)}function X0(i,t,e){var h;const s=Q(),r=(h=i[0])==null?void 0:h.canvas,n=s.draggingOverTrack,o=s.primaryMovingObjects.map(l=>l.id);if(!r)return;const a=r.transitionIds.filter(l=>r.transitionsMap[l].kind!=="none");i.forEach(l=>{l.set({left:t}),t+=l.width,a.find(d=>r.transitionsMap[d].toId===l.id)||e.push(l.left)});const c=i[i.length-1];if(e.push(((c==null?void 0:c.left)||0)+((c==null?void 0:c.width)||0)),n!=null&&n.items.includes(o[0])){const l=s.primaryMovingObjects[0],u=[...e];if(l){const d=u.findIndex(f=>f>(l==null?void 0:l.left));d!==-1&&e.splice(d,0,Z(l.display.from,r.tScale))}}}function z0(i,t,e){const s=i.items,r={},n={},o=e.getActiveObjects().map(h=>h.id);Object.values(e.trackItemsMap).forEach(h=>{s.includes(h.id)&&(r[h.id]=h)});const a=e.getObjects("Transition").filter(h=>h.top===i.top).map(h=>h.id);Object.values(e.transitionsMap).forEach(h=>{a.includes(h.id)&&(n[h.id]=h)});const c=D0({trackItemIds:qe(s),transitionsMap:qe(n),trackItemsMap:qe(r)});t.push(0),c.forEach(h=>{if(h.length===1){const l=e.getObjects().find(u=>u.id===h[0].id);o.includes(l.id)||t.push(l.left+l.width)}else{const l=h[h.length-1],u=e.getObjects().find(d=>d.id===l.id);t.push(u.width+u.left)}})}function H0(i,t){i.getObjects("Helper").reduce((r,n)=>Math.abs(n.top-t)<Math.abs(r.top-t)?n:r).setSelected(!0)}const Y0=(i,t,e,s)=>{const r=Kh(i);return!r&&i instanceof de?{top:0,left:0,isInvalidDrop:!0}:r?s?i instanceof de?{top:0,left:0,isInvalidDrop:!0}:F0(i,s,t,e):R0(i):L0()};function V0(i){i.on("mouse:up",$h.bind(i)),i.on("object:moving",Jh)}function G0(i){i.off("mouse:up",$h.bind(i)),i.off("object:moving",Jh)}const N0=i=>{Q().canvas.fire("track:create",i)},U0=i=>{Q().canvas.fire("track-items:moved",i)},Qh=i=>{var a,c,h;const t=(a=i.target)==null?void 0:a.canvas;if(!t)return;const e=Q(),s=t.getActiveObject();if(!s||!t.positionBeforeTransform)return;const r=t.getScenePoint(i.e),o=t.getObjects("Track","Helper").find(l=>{const u=l.getBoundingRect();return r.x>=u.left&&r.x<=u.left+u.width&&r.y>=u.top&&r.y<=u.top+u.height});if(i.action==="resizing"){const l=(e.trackToItemsMap[(c=e.originTrack)==null?void 0:c.id]||[]).filter(d=>d!==s);s.setCoords();const u=tl(l,s.getBoundingRect());return t.fire("track-items:resized",{trackId:(h=e.originTrack)==null?void 0:h.id,trackItemIds:[s.id],isOverlapped:!!u}),!1}if(!o)return s==null||s.set(t.positionBeforeTransform),s==null||s.setCoords(),!1;if(o instanceof ue){let l;switch(o.kind){case"top":l=0;break;case"center":l=o.metadata.order||0;break;case"bottom":l=-1;break;default:return}const u={isSecondaryOverlapped:!1,secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackIndex:l,trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};N0(u)}else if(o instanceof Ft){const u={isSecondaryOverlapped:q0(),secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};U0(u)}};function $0(){const i=Q(),t=i.canvas,[e]=i.primaryMovingObjects,s=e.id,r=t.positionAfterTransform[s],n=e.getBoundingRect().top,o=r.top-n,a={};return i.secondaryMovingObjects.forEach(c=>{const h=c.getBoundingRect().top+o,l=i.trackTopToIdMap[h],u=Zn(i.trackTops,i.originTrack.top,h);a[l]?a[l].objects.push(c):a[l]={objects:[c],index:u}}),a}function q0(){const i=$0(),t=Q();return Object.keys(i).some(e=>{const s=t.trackToItemsMap[e],r=i[e].objects;return!s||!s.length?!0:s.filter(n=>!r.includes(n)).some(n=>tl(r,n.getBoundingRect()))})}function tl(i,t){return i.find(s=>{const r=s.getBoundingRect();return t.left<r.left+r.width&&t.left+t.width>r.left&&t.top<r.top+r.height&&t.top+t.height>r.top})}const K0=i=>{i.on("object:modified",Qh)},J0=i=>{i.off("object:modified",Qh)},Qn="drag",el=`${Qn}:start`,to=`${Qn}:end`,eo="timeline",sl=`${eo}:boundingChanged`,rl=`${eo}:seek`,Z0=i=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=i,r=new Map;Object.values(e).forEach(c=>{var u,d;if(c.kind==="none")return;const{fromId:h,toId:l}=c;r.has(h)||r.set(h,[]),r.has(l)||r.set(l,[]),(u=r.get(h))==null||u.push(c),(d=r.get(l))==null||d.push(c)});const n=[],o=new Set,a=c=>{const h=[];let l=c;for(;l&&!o.has(l);){o.add(l);const u=s[l];h.push(u);const d=Object.values(e).find(f=>f.fromId===l&&f.kind!=="none");if(!d)break;h.push(d),l=d.toId}return h};for(const c of t)if(!o.has(c)&&(!r.has(c)||!Object.values(e).some(h=>h.toId===c&&h.kind!=="none"))){const h=a(c);h.length>0&&n.push(h)}return n.forEach(c=>{c.sort((h,l)=>"display"in h&&"display"in l?h.display.from-l.display.from:0)}),n},Q0="add:audio",ty="add:video",ey="add:image",sy="add:text",ry=["transition","image","video","audio","caption","text"];let it,rr,Ke=[],ir="";function iy(i,t){let e=1/0,s=null;const r=new T(i.x,i.y);return t.forEach(n=>{const o=Math.sqrt(Math.pow(n.left-r.x,2)+Math.pow(n.top-r.y,2));o<e&&(e=o,s=n)}),s}const ny=({width:i,height:t,id:e,left:s,top:r,type:n,duration:o})=>{if(n==="transition")return new sr({top:0,left:0,height:48,width:48,id:"TransitionGuide"});const a=k.getClass("PreviewTrackItem")||de;return new a({top:r,left:s,height:t,width:i,id:e,type:n,duration:o})};function il(i){var f;let t=null;for(const g of((f=i.e.dataTransfer)==null?void 0:f.types)||[])try{t=JSON.parse(g);break}catch{try{const p=i.e.dataTransfer.getData(g);if(p){t=JSON.parse(p);break}}catch{}}if(!t)return;const e=t.type;if(!ry.includes(e))return;const s=t.duration||5e3,r=this;r.discardActiveObject(),r.setActiveIds([]);const n=Z(s,this.tScale),o=r.getItemSize(e),a=r.getTrackItems();if(it=ny({width:n,height:o,id:"TransitionGuide",left:0,top:0,type:e,duration:s}),it.visible=!1,ir=e,e==="transition"){Ke=r.getObjects("Transition");const g=Ke.filter(p=>p.kind!=="none");Ke.forEach(p=>{const m=a.find(C=>C.id===p.toId),b=a.find(C=>C.id===p.fromId),_=p.width;((m==null?void 0:m.width)||0)>=_/2&&((b==null?void 0:b.width)||0)>=_/2||(p.availableDrop=!1);const x=g.find(C=>C.fromId===p.toId);x&&x.width+_/2>=((m==null?void 0:m.width)||0)&&(p.availableDrop=!1);const w=g.find(C=>C.toId===p.fromId);w&&w.width+_/2>=((b==null?void 0:b.width)||0)&&(p.availableDrop=!1),p.visible=!0})}const c=Q();r.trackIdAfterTransform="",r.positionAfterTransform={};const h=it,l=[it];ct({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1}),ct({activeObjects:l});const u=r.getObjects("Track"),d=r.getTrackItems();u.forEach(g=>{const p=d.filter(m=>g.items.includes(m.id));c.trackToItemsMap[g.id]=p,c.trackTopToIdMap[g.top]=g.id,c.trackTops.push(g.top)}),c.trackTops.sort((g,p)=>g-p),c.primaryMovingObjects=l,c.primaryMovingObjects=c.primaryMovingObjects.sort((g,p)=>g.left-p.left),h&&(r.positionBeforeTransform={top:h.top,left:h.left}),c.placeholderMovingObjects=c.primaryMovingObjects.map(g=>{const p=g.getBoundingRect();c.objectInitialPositions[g.id]={top:p.top,left:p.left};const m=new fs({id:`${g.id}-placeholder`,left:p.left,top:p.top,width:p.width,height:p.height});return m.visible=!1,m.draggedObject=g,m}),r.add(...c.placeholderMovingObjects),r.add(it),tt.dispatch(el)}const nl=i=>{const t=Q();Xh(i,t.placeholderMovingObjects),i&&(xi(i,i.getObjects()),zh(i.getObjects("Helper")))};function ol(){if(ir="",nl(this),ct({draggingOverTrack:null,isPointerOverHelperTrack:!1}),!it)return;tt.dispatch(to);const i=this;Ke.forEach(t=>{t.strokeDashArray=[],t.setSelected(!1),t.kind==="none"&&(t.visible=!1)}),i.getObjects("Helper","Track").forEach(t=>{t.setSelected&&t.setSelected(!1)}),i.remove(it)}function al(i){const t=Q();if(!it||!t.placeholderMovingObjects||!t.placeholderMovingObjects[0])return!1;const e=t.placeholderMovingObjects[0];e.visible||(it.visible=!0,e.visible=!0),t.activeObjects[0]instanceof sr&&(e.visible=!1),i.e.preventDefault();const s=this,r=s.getScenePoint(i.e);it.set({left:r.x-16,top:r.y-it.height/2});const n=iy(r,Ke.filter(c=>c.availableDrop));n&&(rr=n,n.strokeDashArray=[5,1],n.setSelected(!0)),Ke.forEach(c=>{c!==n&&c.setSelected(!1)}),ct({isDragOver:!0}),it.setCoords();const o={target:it,action:"drag",originX:"center",originY:"center",offsetX:r.x-it.left,offsetY:r.y-it.top,scaleX:it.scaleX,scaleY:it.scaleY};if(t.activeObjects[0].type!=="transitionguide"&&s.fire("object:moving",{target:it,e:i.e,pointer:r,transform:o}),this.itemTypes.includes(ir))if(t.draggingOverTrack instanceof Ft){ct({isPointerOverHelperTrack:!1});const c=t.activeObjects[0].left,h=t.activeObjects[0].left+t.activeObjects[0].width;let l=!1;const u=t.draggingOverTrack.items;s.getObjects().filter(d=>u.includes(d.id)).forEach(d=>{(d.left<=c&&d.left+d.width>=c||d.left<=h&&d.left+d.width>=h||c<=d.left&&h>=d.left+d.width)&&(l=!0)}),t.draggingOverTrack.accepts.includes(ir)&&!l?(t.placeholderMovingObjects[0].left=t.activeObjects[0].left,t.placeholderMovingObjects[0].top=t.draggingOverTrack.top,s.getObjects("Helper").forEach(d=>{d.setSelected&&d.setSelected(!1)})):t.placeholderMovingObjects.forEach(d=>{d.opacity=0})}else t.draggingOverTrack instanceof ue&&(ct({isPointerOverHelperTrack:!0}),t.draggingOverTrack.setSelected(!0));s.requestRenderAll()}function cl(i){var n;ir="";const t=this;nl(t);const e=Q(),s=e.draggingOverTrack;ct({draggingOverTrack:null,isPointerOverHelperTrack:!1});let r=null;for(const o of((n=i.e.dataTransfer)==null?void 0:n.types)||[])try{r=JSON.parse(o);break}catch{try{const a=i.e.dataTransfer.getData(o);if(a){r=JSON.parse(a);break}}catch{}}if(r){if(r.type!=="transition"){const o=e.activeObjects[0],a=L(o.left,t.tScale);if(s instanceof Ft)if(e.placeholderMovingObjects[0].opacity!==0){const h=so(s,this.getObjects("Track"));if(s.magnetic){const l=e.initialTrackPoints[e.initialTrackPoints.length-1],u=L(l,t.tScale)||0;Ci(r,h,u)}else Ci(r,h,a)}else{const h=t.getScenePoint(i.e),l=L(h.x,t.tScale),u=h.y,f=t.getObjects("Helper").reduce((p,m)=>Math.abs(m.top-u)<Math.abs(p.top-u)?m:p),g=so(f,this.getObjects("Track"));Ci(r,g,l,!0)}else{const c=t.getScenePoint(i.e),h=L(c.x-16,t.tScale),l=so(s,this.getObjects("Track"));Ci(r,l,h,!0)}this.remove(o),this.requestRenderAll();return}if(it){if(rr){const o=rr.id,a=a0(r,["kind","direction"]);Object.keys(a).forEach(b=>{b==="kind"?rr.kind=a[b]:rr[b]=a[b]});const c=qe(this.trackItemIds),h=qe(this.transitionsMap),l=qe(this.trackItemsMap);h[o]={...h[o],...a};const u=Z0({trackItemIds:c,transitionsMap:h,trackItemsMap:l}),f=h[o].fromId,g=u.find(b=>b.find(_=>_.id===f))||[],p=oy(g),m=ay(this.trackItemsMap,p);this.trackItemsMap=m,this.transitionsMap[o]={...this.transitionsMap[o],...a},this.adjustMagneticTrack(),this.calcBounding(),this.updateTransitions(),this.refreshTrackLayout(),this.updateState({kind:"add:transition",updateHistory:!0})}Ke.forEach(o=>{o.strokeDashArray=[],o.setSelected(!1),o.kind==="none"&&(o.visible=!1)}),t.remove(it),t.requestRenderAll(),tt.dispatch(to)}}}const oy=i=>{var r;const[t]=i,e=i.filter(n=>n.type!=="transition");let s=((r=t==null?void 0:t.display)==null?void 0:r.from)||0;return e.map(n=>{const o=n.display.to-n.display.from,a={from:s,to:s+o};return s=a.to,{...n,display:a}})},ay=(i,t)=>{let e=i;return t.forEach(s=>{e[s.id]=s}),e},so=(i,t)=>{const e=t.sort((o,a)=>o.top-a.top);if(e.length===0)return 0;const s=e[e.length-1];if(!s||!i)return 0;if(s.top+s.height<=i.top)return e.length;const r=i.top;return e.reduce((o,a,c)=>{const h=Math.abs(a.top-r),l=Math.abs(e[o].top-r);return h<l?c:o},0)},Ci=(i,t,e,s)=>{i.type==="image"?tt.dispatch(ey,{payload:{...i,id:vs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="video"?tt.dispatch(ty,{payload:{...i,id:vs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="audio"?tt.dispatch(Q0,{payload:{...i,id:vs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="text"&&tt.dispatch(sy,{payload:{...i,id:vs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}})};function cy(i){i.on("dragover",al),i.on("dragenter",il),i.on("dragleave",ol),i.on("drop",cl)}function hy(i){i.off("dragover",al),i.off("dragenter",il),i.off("dragleave",ol),i.off("drop",cl)}function hl(i){const t=this.height<this.bounding.height;if(!(this.width<this.bounding.width)&&!t)return;const s=this.viewportTransform;let r=s[4],n=s[5];const o=2;i.e.shiftKey?r=r-i.e.deltaY*o:(t&&(n=n-i.e.deltaY*o),r=r-i.e.deltaX*o),this.setViewportPos(r,n)}function ll(){const i=this,t=i.getActiveObject(),e=i.getActiveObjects(),s=e.map(n=>n.id),r=e.filter(n=>{if(e.length===1)return!0;if(n.id&&!(n instanceof Bt))return!0;if(n instanceof Bt&&s.includes(n.fromId)&&s.includes(n.toId))return!0}).map(n=>n.id);t instanceof Ot?(t.borderColor="rgba(0, 216, 214,0.75)",t.hasControls=!1,t.hoverCursor="default",t.borderScaleFactor=1,t.padding=0,t.getObjects().forEach(n=>{n.setSelected(!0)})):t==null||t.setSelected(!0),r.length===1&&String(t==null?void 0:t.id)!==String(r[0])?this.setActiveIds(r):r.length>=1&&this.setActiveIds(r)}function ul(i){const t=this,e=t.getActiveObject();e instanceof Ot&&(e.borderColor="transparent",e.hasControls=!1,e.hoverCursor="default"),i.selected.forEach(n=>{n.setSelected(!0)}),i.deselected.forEach(n=>{n.setSelected(!1)});const r=t.getActiveObjects().map(n=>n.id);this.setActiveIds(r)}function dl(i){i.deselected.forEach(t=>{t.setSelected(!1)})}const ly=i=>{i.on("selection:created",ll),i.on("selection:updated",ul),i.on("selection:cleared",dl),i.on("mouse:wheel",hl)},uy=i=>{i.off("mouse:wheel",hl),i.off("selection:created",ll),i.off("selection:updated",ul),i.off("selection:cleared",dl)},fl=()=>{var n;const i=Q(),t=i.canvas,e=i.draggingOverTrack;t.updateTrackItemCoords(!0);const s=e==null?void 0:e.magnetic,r=new Set(i.activeObjects.map(o=>o.id));if(s){const o=e.id,c=i.trackToItemsMap[o].sort((g,p)=>g.left-p.left),h=i.placeholderMovingObjects,l=((n=h[0])==null?void 0:n.top)||0,u=h.reduce((g,p)=>g+p.width,0),d=Math.min(...h.map(g=>g.left));let f=0;c.forEach(g=>{r.has(g.id)||g.top===l&&(Math.abs(d-f)<1&&(f+=u),g.left=f,f+=g.width)})}else if(e instanceof Ft&&i.orderNormalTrack){const o=e.items,a=t.getTrackItems().filter(p=>!r.has(p.id)&&o.includes(p.id)),c=a.sort((p,m)=>p.left-m.left),h=i.placeholderMovingObjects[0],l=i.placeholderMovingObjects[i.placeholderMovingObjects.length-1],u=h.left,d=l.left-h.left+l.width,f=c.find((p,m)=>{if(p.left>=u-1)return c[m]}),g=a.filter(p=>p.left>=u-1);if(h.left+d>(f==null?void 0:f.left)){const p=d-(f.left-h.left);g.forEach(m=>{const b=Z(m.display.from,t.tScale);m.left=b+p})}}t.alignTransitionsToTrack(!1)};function dy(i){i.on("object:moving",fl)}function fy(i){i.off("object:moving",fl)}let zt,ro=!1;function gy(i,t){const e=i.canvas;if(e.objectTypes.includes(i.type)){zt||(zt=i);const r=i.top,n=i.height,o=i.left,a=i.width,c=t.x,h=t.y,l=Math.abs(h-(r+n/2))<=Qd;Math.abs(c-o)<=kc&&l||Math.abs(c-o-a)<=kc&&l?(e.hoverCornerItem=!0,i.hoverCursor="ew-resize"):(e.hoverCornerItem=!1,i.hoverCursor="move"),e.requestRenderAll()}}function gl(i){const t=this,e=t.findTarget(i.e),s=t.getScenePoint(i.e);e&&(e.isSelected&&zt&&(e.hoverCursor="default"),gy(e,s))}function pl(){zt&&(zt.lockMovementX=!1,zt.lockMovementY=!1,zt=void 0)}function ml(i){zt&&(ro||zt._renderControls(i.ctx))}function vl(){zt&&(zt=void 0,this.requestRenderAll())}function yl(){ro=!0}function bl(){ro=!1}function py(i){i.on("mouse:out",vl.bind(i)),i.on("mouse:up",pl.bind(i)),i.on("mouse:move",gl.bind(i)),i.on("after:render",ml.bind(i)),i.on("object:resizing",yl.bind(i)),i.on("object:modified",bl.bind(i))}function my(i){i.off("mouse:out",vl.bind(i)),i.off("mouse:up",pl.bind(i)),i.off("mouse:move",gl.bind(i)),i.off("after:render",ml.bind(i)),i.off("object:resizing",yl.bind(i)),i.off("object:modified",bl.bind(i))}const vy=i=>{ct({canvas:i}),v0(i),d0(i),b0(i),C0(i),k0(i),V0(i),K0(i),cy(i),ly(i),dy(i),py(i)},yy=i=>{ct({canvas:null}),y0(i),f0(i),_0(i),O0(i),M0(i),G0(i),J0(i),hy(i),uy(i),fy(i),my(i)};class by{removeTransitions(){const t=this.getObjects("Transition");this.remove(...t)}renderTransitions(){this.removeTransitions(),this.transitionIds.forEach(t=>{const e=this.transitionsMap[t],s=e.fromId,r=e.toId,n=this.getObjects(),o=n.find(d=>d.id===s),a=n.find(d=>d.id===r);if(!o||!a)return;const c=Z(e.duration,this.tScale),h=o.left+o.width-c/2,l=o.height,u=new Bt({id:e.id,left:h,top:o.top,height:l,width:c,tScale:this.tScale,duration:e.duration,fromId:o.id,toId:a.id,kind:e.kind});e.kind==="none"&&(u.visible=!1),u&&this.add(u)})}updateTrackTransitionsItemCoords(){this.pauseEventListeners(),this.getObjects("Transition").forEach(e=>{e.tScale=this.tScale,e.updateCoords(),e.setCoords()}),this.resumeEventListeners()}alignTransitionsToTrack(t=!0){const e=t?[]:this.getActiveObjects().map(s=>s.id);this.transitionIds.forEach(s=>{const r=this.getObjects("Transition").find(n=>n.id===s);if(r instanceof Bt){const n=this.getObjects().find(c=>c.id===r.fromId&&!e.includes(c.id));if(!n)return;const o=Z(r.duration,this.tScale),a=n.left+n.width-o/2;r.set({left:a,top:n.top}),r.setCoords()}})}updateTransitions(t=!0){t&&this.pauseEventListeners();const e=this.getObjects("Track"),s=this.getObjects(...this.withTransitions);this.removeTransitions();const r={},n=[];e.forEach(a=>{const c=s.filter(h=>a.items.includes(h.id)).sort((h,l)=>h.left-l.left);for(let h=0;h<c.length-1;h++){const l=c[h],u=c[h+1];if(Math.abs(l.left+l.width-u.left)<=1){const d=`${l.id}-${u.id}`;if(this.transitionIds.includes(d)){const g=this.transitionsMap[d];r[d]=g}else{const g={id:d,duration:1500,fromId:l.id,toId:u.id,kind:"none",trackId:a.id,type:"transition"};r[d]=g}n.push(d)}}}),this.transitionIds=n,this.transitionsMap=r,this.renderTransitions();const o=this.getObjects("Transition");this.updateCachingActiveObjects(o),t&&this.resumeEventListeners()}}function _l(i){const{secondaryTracks:t,primaryTracks:e,primaryPositions:s}=i,{positions:r,trackIndex:n}=s,o=n===-1?this.tracks.length:n,a=Q(),[c]=Object.keys(e),h=this.tracks.find(_=>_.id===c),l=e[c],u=[];let d=!1;l.objects.forEach(_=>{if(_.type==="audio")if(d){u.push(_.id);const x=a.objectInitialPositions[_.id];x&&(_.set({top:x.top,left:x.left}),_.setCoords())}else d=!0});const f={id:vs(),items:l.objects.filter(_=>!u.includes(_.id)).map(_=>_.id),type:h.type,accepts:h.accepts,muted:h.muted||!1},g=Yn(Object.keys(t).map(_=>t[_].objects.filter(x=>!u.includes(x.id)).map(x=>x.id)));let p=Ks(this.tracks,[...Object.keys(r).filter(_=>!u.includes(_)),...g]);const m=[];Object.keys(t).forEach(_=>{const{objects:x,index:w}=t[_],C=this.tracks.find(M=>M.id===_),O=x.map(M=>M.id).filter(M=>!this.transitionIds.includes(M)&&!u.includes(M)),D={id:qs(),items:O,type:C.type,accepts:C.accepts,tempIndex:w,muted:C.muted||!1};m.push(D)});const b=Nh(f,m);b.length&&p.splice(o,0,...b),this.tracks=p,this.renderTracks(),this.refreshTrackLayout(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),nr(this),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function nr(i){const t=i.tracks.find(e=>e.magnetic);if(t){const e=i.getTrackItems().filter(s=>t.items.includes(s.id));if(e.length>0){const s=Math.max(...e.map(n=>{const o=L(n.left,i.tScale),a=L(n.width*n.scaleX,i.tScale);return o+a}));Object.values(i.trackItemsMap).forEach(n=>{var o;if(n.type==="audio"){const a=n.duration||0,c=(o=n.metadata)==null?void 0:o.userLimitDuration,h=typeof c=="number"?c:a,l=n.display.from||0,u=Math.max(0,s-l),d=Math.min(u,h);n.display={from:l,to:l+d},n.trim&&(n.trim={from:n.trim.from||0,to:(n.trim.from||0)+d})}}),i.getTrackItems().filter(n=>n.type==="audio").forEach(n=>{var a,c;const o=i.trackItemsMap[n.id];if(o){n.display={from:o.display.from,to:o.display.to},n.trim&&(n.trim={from:((a=o.trim)==null?void 0:a.from)??0,to:((c=o.trim)==null?void 0:c.to)??o.display.to});const h=o.display.to-o.display.from,l=Z(h,i.tScale);n.set({width:l,scaleX:1}),n.setCoords(),typeof n.onResize=="function"&&n.onResize()}})}}}function Tl(i){const{isSecondaryOverlapped:t,secondaryTracks:e,primaryTracks:s,primaryPositions:r}=i,{trackId:n,positions:o}=r,a=this.tracks.find(O=>O.id===n),c=Q(),l=c.primaryMovingObjects.sort((O,D)=>O.left-D.left);l.forEach((O,D)=>{l[D-1]&&O.left-l[D-1].left});const u=this.tracks.findIndex(O=>O.id===n),d=Object.keys(o),f=this.tracks.find(O=>O.id===n),g=[];f&&f.items.find(D=>{const M=this.trackItemsMap[D];return M&&M.type==="audio"&&!d.includes(D)})&&d.forEach(D=>{const M=this.trackItemsMap[D];if(M&&M.type==="audio"){g.push(D);const E=c.objectInitialPositions[D],F=this.getTrackItems().find(Y=>Y.id===D);E&&F&&(F.set({top:E.top,left:E.left}),F.setCoords())}});const p={};d.forEach(O=>{g.includes(O)||(p[O]=o[O])});const m=Object.keys(p),b=Yn(Object.keys(e).map(O=>e[O].objects.map(D=>D.id)));let _=Ks(this.tracks,[...m,...b]);Object.keys(s).forEach(O=>{this.pauseEventListeners();const{objects:D}=s[O];D.forEach(F=>{if(F.isMain&&(a!=null&&a.magnetic)||g.includes(F.id))return;const Y=p[F.id];Y&&(F.left=Y.left)}),this.resumeEventListeners();const M=r.trackId,E=_.find(F=>F.id===M);E==null||E.items.push(...m),this.tracks=_});const x=this.tracks[u],w=[];Object.keys(e).forEach(O=>{const{objects:D,index:M}=e[O],E=D.filter(P=>P.type!=="transition"&&!g.includes(P.id)).map(P=>P.id),[F]=E,Y=this.trackItemsMap[F];if(t&&Y){const P=this.getItemAccepts(Y.type),z={id:qs(),items:E,type:Y.type,accepts:P,tempIndex:M,muted:!1};w.push(z)}else{const P=_[u+M];P==null||P.items.push(...E),this.tracks=_}});const C=Nh(x,w);C.length&&_.splice(u,1,...C),this.tracks=_,this.renderTracks(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),nr(this),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function Sl({trackItemIds:i,isOverlapped:t}){var a,c;const[e]=i;if(!e)return;const s=this.getObjects("Transition");if(!s.find(h=>h.id===e)){const h=this.tracks.find(l=>l.items.includes(e));if(t&&!h.magnetic){const l=Ks(this.tracks,i),u={id:qs(),items:[e],type:h.type,accepts:h.accepts,muted:h.muted||!1},d=this.tracks.findIndex(f=>f.id===h.id);l.splice(d,0,u),this.tracks=l}}const n=s.filter(h=>h.fromId===e||h.toId===e);if(n){const h=this.getTrackItems().find(g=>g.id===e),l=h==null?void 0:h.width;n.forEach(g=>{if(g.width/2>l){this.transitionIds=this.transitionIds.filter(m=>m!==g.id);const p={};Object.keys(this.transitionsMap).forEach(m=>{m!==g.id&&(p[m]=this.transitionsMap[m])}),this.transitionsMap=p}});const u=((a=n[0])==null?void 0:a.width)||0,d=((c=n[1])==null?void 0:c.width)||0,f=n[1];if(l<=u/2+d/2){this.transitionIds=this.transitionIds.filter(p=>p!==(f==null?void 0:f.id));const g={};Object.keys(this.transitionsMap).forEach(p=>{p!==(f==null?void 0:f.id)&&(g[p]=this.transitionsMap[p])}),this.transitionsMap=g}}this.renderTracks(),this.alignItemsToTrack(),this.adjustMagneticTrack();const o=this.getTrackItems().find(h=>h.id===e);if(o&&o.type==="audio"){const h=this.trackItemsMap[e];if(h){const l=L(o.width*o.scaleX,this.tScale,h.playbackRate||1);h.metadata={...h.metadata,userLimitDuration:l}}}nr(this),this.updateTransitions(!0),this.uodateTrackItemIdsOrdering(),this.updateState({updateHistory:!0,kind:"update"})}let io={x:0,y:0};function _y(i){io=i.scenePoint}function wl(i){const t=i.scenePoint;if((io.x===t.x||io.y===t.y)&&!i.target){const s=this.getElement().getBoundingClientRect(),r=this.viewportTransform,n=i.e.clientX-s.left-r[4],o=L(n,this.scale.zoom);tt.dispatch(rl,{payload:{time:o}})}}const Ty=i=>{i.on("track:create",_l.bind(i)),i.on("track-items:resized",Sl.bind(i)),i.on("track-items:moved",Tl.bind(i)),i.on("mouse:up",wl.bind(i)),i.on("mouse:down",_y.bind(i))};function Sy(i){i.off("track:create",_l.bind(i)),i.off("track-items:resized",Sl.bind(i)),i.off("track-items:moved",Tl.bind(i)),i.off("mouse:up",wl.bind(i))}function wy(i,t){return t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(s=>{s!=="constructor"&&Object.defineProperty(i.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))})}),i}let xl,Cl,Ol,kl,Ml,Dl,Il,El,jl;const xy=i=>{xl=i.state.subscribeToActiveIds(({activeIds:t})=>{const e=i.activeIds;if(t.length===1&&e.length===1){const s=t[0],r=e[0],o=i.state.getState().structure;let a="";if(o.forEach(c=>{c.id===r&&c.items.includes(s)&&(a=c.id)}),a!=="")return;i.selectTrackItemByIds([s])}else i.selectTrackItemByIds(t)}),jl=i.state.subscribeToUpdateTracks(({tracks:t,duration:e,trackItemsMap:s})=>{i.tracks=t,i.duration=e,i.trackItemsMap=s,i.synchronizeTrackItemsState(),i.renderTracks(),i.refreshTrackLayout(),i.adjustMagneticTrack(),i.renderTransitions(),i.alignItemsToTrack(),i.alignTransitionsToTrack(),i.calcBounding()}),El=i.state.subscribeToTracks(({tracks:t,changedTracks:e})=>{e.length&&(i.tracks=t,i.renderTracks(),i.refreshTrackLayout())}),Il=i.state.subscribeToUpdateAnimations(({trackItemsMap:t,changedAnimationIds:e})=>{if(e!=null&&e.length){const s=i.getTrackItems();i.trackItemsMap=t,s.forEach(r=>{if(e.includes(r.id)){const n=t[r.id].animations;n&&r.set({animations:n})}})}}),Dl=i.state.subscribeToUpdateTrackItemTiming(({trackItemsMap:t,changedTrimIds:e,changedDisplayIds:s})=>{if(e&&i.getTrackItems().forEach(n=>{if(e.includes(n.id)){const o=t[n.id].trim;o&&n.set({trim:{from:o.from,to:o.to}})}}),s){const r=i.getTrackItems();i.pauseEventListeners(),r.forEach(n=>{if(s.includes(n.id)){const o=t[n.id].display;i.trackItemsMap[n.id].display=o,t[n.id].playbackRate!==i.trackItemsMap[n.id].playbackRate&&(i.trackItemsMap[n.id].playbackRate=t[n.id].playbackRate,n.playbackRate=t[n.id].playbackRate,n.onScale&&n.onScale()),o&&n.set({display:o})}}),i.resumeEventListeners()}(s||e)&&(i.updateTrackItemCoords(),i.adjustMagneticTrack(),i.updateTransitions(),i.alignItemsToTrack(),i.renderTracks(),i.calcBounding(),i.refreshTrackLayout(),i.setTrackItemCoords(),i.requestRenderAll())}),Ml=i.state.subscribeToScale(t=>{i.setScale(t.scale)}),kl=i.state.subscribeToUpdateItemDetails(t=>{const e=i.getTrackItems();if(e.length===0)return;const s=i.state.getState(),r=t.trackItemsMap,n=s.trackItemsMap;i.trackItemsMap=r,e.forEach(o=>{var c,h;const a=r[o.id];if(a)if(o.hasSrc){const l=n[o.id];if(o.src!==a.details.src&&o.setSrc&&o.setSrc(a.details.src),a.type==="video"||a.type==="audio"){const d=(((c=l.trim)==null?void 0:c.to)||0)-(((h=l.trim)==null?void 0:h.from)||0),f=Z(d,i.scale.zoom,l.playbackRate);o.set({duration:l.duration,display:l.display,trim:l.trim,width:f}),o.setCoords()}}else(a.type==="text"||a.type==="caption")&&(a.type==="text"||a.type==="caption")&&o.set({text:a.details.text})}),i.requestRenderAll()}),Ol=i.state.subscribeToHistory(t=>{i.tracks=t.tracks,i.trackItemsMap=t.trackItemsMap,i.trackItemIds=t.trackItemIds,i.transitionIds=t.transitionIds,i.transitionsMap=t.transitionsMap,i.renderTracks(),i.refreshTrackLayout(),i.updateTrackItemCoords(),i.alignItemsToTrack(),i.alignTransitionsToTrack(),i.adjustMagneticTrack(),i.updateTransitions(),i.calcBounding(),i.duration=$s(i.trackItemsMap,i.trackItemIds)}),Cl=i.state.subscribeToAddOrRemoveItems(()=>{const t=i.getTrackItems().map(n=>n.id),e=i.state.getState(),s=e.trackItemIds,r=[];t.forEach(n=>{s.includes(n)||r.push(n)}),i.deleteTrackItemById(r),i.tracks=e.tracks,i.trackItemsMap=e.trackItemsMap,i.transitionIds=e.transitionIds,i.transitionsMap=e.transitionsMap,s.forEach(n=>{if(!t.includes(n)){const a={...e.trackItemsMap[n]};i.addTrackItem(a)}}),i.trackItemIds=e.trackItemIds,i.activeIds=e.activeIds,nr(i),i.renderTracks(),i.alignItemsToTrack(),i.updateTrackItemCoords(),i.calcBounding(),i.updateTransitions(),i.refreshTrackLayout(),i.selectTrackItemByIds(e.activeIds),i.updateState({updateHistory:!1})})},Cy=i=>{xl.unsubscribe(),Cl.unsubscribe(),Ol.unsubscribe(),kl.unsubscribe(),Ml.unsubscribe(),Dl.unsubscribe(),Il.unsubscribe(),El.unsubscribe(),jl.unsubscribe()},Pl=(i,t)=>{let e=!1;const s=[];return t.forEach(r=>{r.containsPoint(i)&&(s.push(r),e=!0)}),{isOverObject:e,overObjects:s}};function Oy(i){return JSON.parse(JSON.stringify(i))}class ky{constructor(t,e={}){S(this,"canvas");S(this,"fill","rgba(0,0,0,.3)");S(this,"stroke","rgba(255,255,255,.3)");S(this,"lineWidth",1);S(this,"hideX",!1);S(this,"hideY",!1);S(this,"scrollbarMinWidth",40);S(this,"scrollbarSize",5);S(this,"scrollSpace",0);S(this,"padding",4);S(this,"extraMarginX",200);S(this,"extraMarginY",200);S(this,"offsetX",0);S(this,"offsetY",0);S(this,"scrollbarWidth",5);S(this,"scrollbarColor","rgba(0,0,0,.3)");S(this,"onViewportChange");S(this,"_bar");S(this,"_barViewport",{left:1,right:-1,top:1,bottom:-1,sx:1,sy:1});S(this,"_originalMouseDown");S(this,"_originalMouseMove");S(this,"_originalMouseUp");this.canvas=t,Object.assign(this,e),e.scrollbarWidth!==void 0&&(this.scrollbarSize=e.scrollbarWidth),e.scrollbarColor!==void 0&&(this.fill=e.scrollbarColor),this._originalMouseDown=this.canvas.__onMouseDown,this._originalMouseMove=this.canvas._onMouseMove,this._originalMouseUp=this.canvas._onMouseUp,this.canvas.__onMouseDown=this.mouseDownHandler.bind(this),this.canvas._onMouseMove=this.mouseMoveHandler.bind(this),this.canvas._onMouseUp=this.mouseUpHandler.bind(this),this.beforeRenderHandler=this.beforeRenderHandler.bind(this),this.afterRenderHandler=this.afterRenderHandler.bind(this),this.initBehavior()}initBehavior(){this.canvas.on("before:render",this.beforeRenderHandler),this.canvas.on("after:render",this.afterRenderHandler)}getScrollbar(t){const e=this.canvas.getViewportPoint(t),s=this.canvas.viewportTransform.slice(0);if(!this.hideX&&e.x>this._barViewport.left&&e.x<this._barViewport.right&&e.y>this.canvas.height-this.scrollbarSize-this.scrollSpace-this.padding&&e.y<this.canvas.height-this.scrollSpace+this.padding)return{type:"x",start:e.x,vpt:s};if(!this.hideY&&e.y>this._barViewport.top&&e.y<this._barViewport.bottom&&e.x>this.canvas.width-this.scrollbarSize-this.scrollSpace-this.padding&&e.x<this.canvas.width-this.scrollSpace+this.padding)return{type:"y",start:e.y,vpt:s}}mouseDownHandler(t){if(this._bar=this.getScrollbar(t),!this._bar)return me.prototype.__onMouseDown.call(this.canvas,t)}mouseMoveHandler(t){if(!this._bar)return me.prototype._onMouseMove.call(this.canvas,t);const e=this.canvas.getViewportPoint(t),s=this._bar.type=="x"?this._barViewport.sx:this._barViewport.sy,r=this._bar.type=="x"?4:5,n=this._bar.type=="x"?e.x:e.y,o=this._bar.vpt.slice(0);o[r]-=(n-this._bar.start)*s,this.applyViewportLimits(o),this.canvas.setViewportTransform(o),this.canvas.requestRenderAll()}mouseUpHandler(t){this._bar||me.prototype._onMouseUp.call(this.canvas,t),delete this._bar}beforeRenderHandler(){const t=this.canvas.contextTop;t.save(),t.setTransform(1,0,0,1,0,0),t.restore()}afterRenderHandler(){const{tl:t,br:e}=this.canvas.vptCoords,s={left:t.x,top:t.y,right:e.x,bottom:e.y},r=this.getObjectsBoundingRect(),n={left:Math.min(r.left,-this.offsetX),top:Math.min(r.top,-this.offsetY),right:r.right+this.extraMarginX,bottom:r.bottom+this.extraMarginY};n.left>s.left&&(n.left=s.left),n.top>s.top&&(n.top=s.top),n.bottom<s.bottom&&(n.bottom=s.bottom),n.right<s.right&&(n.right=s.right);const o=this.canvas.bounding;if(this.hideX=o.width<=this.canvas.width,this.hideY=o.height<=this.canvas.height,this.render(this.canvas.contextTop,s,n),this.onViewportChange){const a=t.x;this.onViewportChange(a)}}render(t,e,s){t.clearRect(0,this.canvas.height-this.scrollbarSize-this.scrollSpace-this.lineWidth,this.canvas.width,this.scrollbarSize+this.scrollSpace+this.lineWidth),t.clearRect(this.canvas.width-this.scrollbarSize-this.scrollSpace-this.lineWidth,0,this.scrollbarSize+this.scrollSpace+this.lineWidth,this.canvas.height),t.save(),t.fillStyle=this.fill,t.strokeStyle=this.stroke,t.lineWidth=this.lineWidth,this.hideX||this.drawScrollbarX(t,e,s),this.hideY||this.drawScrollbarY(t,e,s),t.restore()}drawScrollbarX(t,e,s){const r=e.right-e.left,n=s.right-s.left;if(r==n){this._barViewport.left=1,this._barViewport.right=-1,this._barViewport.sx=1;return}const o=Math.min(r/n,1),a=this.canvas.width-this.scrollbarSize-this.scrollSpace*2,c=Math.max(a*o|0,this.scrollbarMinWidth),h=(e.left-s.left)/(n-r)*(a-c),l=this.scrollSpace+h,u=this.canvas.height-this.scrollbarSize-this.scrollSpace;this._barViewport.left=l,this._barViewport.right=l+c,this._barViewport.sx=n/r,this.drawRect(t,{x:l,y:u,w:c,h:this.scrollbarSize})}drawScrollbarY(t,e,s){const r=e.bottom-e.top,n=s.bottom-s.top;if(r==n){this._barViewport.top=1,this._barViewport.bottom=-1,this._barViewport.sy=1;return}const o=Math.min(r/n,1),a=this.canvas.height-this.scrollbarSize-this.scrollSpace*2,c=Math.max(a*o|0,this.scrollbarMinWidth),h=(e.top-s.top)/(n-r)*(a-c),l=this.canvas.width-this.scrollbarSize-this.scrollSpace,u=this.scrollSpace+h;this._barViewport.top=u,this._barViewport.bottom=u+c,this._barViewport.sy=n/r,this.drawRect(t,{x:l,y:u,w:this.scrollbarSize,h:c})}drawRect(t,e){const{x:s,y:r,w:n,h:o}=e,a=Math.min(n,o)/2;t.beginPath(),t.moveTo(s+a,r),t.lineTo(s+n-a,r),t.arcTo(s+n,r,s+n,r+a,a),t.lineTo(s+n,r+o-a),t.arcTo(s+n,r+o,s+n-a,r+o,a),t.lineTo(s+a,r+o),t.arcTo(s,r+o,s,r+o-a,a),t.lineTo(s,r+a),t.arcTo(s,r,s+a,r,a),t.closePath(),t.fill(),t.stroke()}getObjectsBoundingRect(){const t=this.canvas.getTrackItems();if(t.length===0)return{left:0,top:0,right:0,bottom:0};const{left:e,top:s,width:r,height:n}=Br.makeBoundingBoxFromPoints(t.map(o=>o.getCoords()).flat(1));return{left:e,top:s,right:e+r,bottom:s+n}}applyViewportLimits(t){const e=t[0],s=this.getObjectsBoundingRect(),r=Math.min(s.left,-this.offsetX),n=Math.min(s.top,-this.offsetY),o=s.right+this.extraMarginX,a=s.bottom+this.extraMarginY,c=o-r,h=a-n,l=this.canvas.width/e,u=this.canvas.height/e;if(c<=l)t[4]=-r*e;else{const d=this.offsetX*e;t[4]>d&&(t[4]=d);const f=-((s.right+this.extraMarginX)*e-this.canvas.width);f<0&&t[4]<f&&(t[4]=f)}if(h<=u)t[5]=-n*e;else{const d=this.offsetY*e;t[5]>d&&(t[5]=d);const f=-((s.bottom+this.extraMarginY)*e-this.canvas.height);f<0&&t[5]<f&&(t[5]=f)}}dispose(){this._originalMouseDown&&(this.canvas.__onMouseDown=this._originalMouseDown),this._originalMouseMove&&(this.canvas._onMouseMove=this._originalMouseMove),this._originalMouseUp&&(this.canvas._onMouseUp=this._originalMouseUp),this.canvas.off("before:render",this.beforeRenderHandler),this.canvas.off("after:render",this.afterRenderHandler)}}const My=i=>{const t=i.getTrackItems();if(t.length===0)return{left:0,top:0,right:0,bottom:0};const{left:e,top:s,width:r,height:n}=Br.makeBoundingBoxFromPoints(t.map(o=>o.getCoords()).flat(1));return{left:e,top:s,right:e+r,bottom:s+n}},Dy=(i,t,e=0,s=0,r=200,n=200)=>{const o=t[0],a=My(i),c=Math.min(a.left,-e),h=Math.min(a.top,-s),l=a.right+r,u=a.bottom+n,d=l-c,f=u-h,g=i.width/o,p=i.height/o;if(d<=g)t[4]=-c*o;else{const m=e*o;t[4]>m&&(t[4]=m);const b=-((a.right+r)*o-i.width);b<0&&t[4]<b&&(t[4]=b)}if(f<=p)t[5]=-h*o;else{const m=s*o;t[5]>m&&(t[5]=m);const b=-((a.bottom+n)*o-i.height);b<0&&t[5]<b&&(t[5]=b)}return t},Iy=(i,t={})=>e=>{const s=e.e;s.target==i.upperCanvasEl&&s.preventDefault();const r=Math.floor(s.deltaY)!=Math.ceil(s.deltaY);if(s.ctrlKey||s.metaKey){const a=r?.99:.998;let c=i.getZoom();c*=a**s.deltaY,t.max!=null&&c>t.max&&(c=t.max),t.min!=null&&c<t.min&&(c=t.min),i.zoomToPoint(e.viewportPoint,c),i.requestRenderAll();return}const n=i.viewportTransform.slice(0);s.shiftKey?n[4]-=s.deltaY:(n[4]-=s.deltaX,n[5]-=s.deltaY);const o=Dy(i,n,t.offsetX??0,t.offsetY??0,t.extraMarginX??200,t.extraMarginY??200);i.setViewportTransform(o),i.requestRenderAll()},ar=class ar extends _n{constructor(e,s){var r;super(e,s);S(this,"itemTypes",[]);S(this,"acceptsMap");S(this,"sizesMap",{});S(this,"objectTypes",[]);S(this,"tracks",[]);S(this,"hoverCornerItem",!1);S(this,"trackItemsMap",{});S(this,"trackItemIds",[]);S(this,"transitionIds",[]);S(this,"transitionsMap",{});S(this,"scale");S(this,"duration");S(this,"bounding");S(this,"onScroll");S(this,"onResizeCanvas");S(this,"tScale");S(this,"state");S(this,"activeIds",[]);S(this,"spacing");S(this,"guideLineColor");S(this,"withTransitions",[]);S(this,"_mouseWheelHandler");S(this,"_scrollbars");S(this,"_viewportChangeCallback");this.bounding=s.bounding||{width:s.width||0,height:s.height||0},this.tScale=((r=s.scale)==null?void 0:r.zoom)||1,this.state=s.state,this.onScroll=s.onScroll,this.onResizeCanvas=s.onResizeCanvas,this.acceptsMap=s.acceptsMap||{},this.sizesMap=s.sizesMap||{},this.itemTypes=s.itemTypes||[],this.objectTypes=ar.objectTypes,this.spacing=S0(s.spacing),this.itemTypes=s.itemTypes||[],this.positionAfterTransform={},this.initializeCanvasDefaults(),this.scale=s.scale,this.duration=s.duration,this.guideLineColor=s.guideLineColor||Ge,this.initEventListeners(),this.withTransitions=s.withTransitions||[]}static registerItems(e){Object.keys(e).forEach(s=>{k.setClass(e[s],s)}),ar.objectTypes=Object.keys(e).filter(s=>!Nd.includes(s))}initScrollbars(e={}){const s={offsetX:e.offsetX??0,offsetY:e.offsetY??0,extraMarginX:e.extraMarginX??200,extraMarginY:e.extraMarginY??200,scrollbarWidth:e.scrollbarWidth,scrollbarColor:e.scrollbarColor,onViewportChange:o=>{this._viewportChangeCallback&&this._viewportChangeCallback(o)},scrollSpace:e.scrollSpace??0};this._mouseWheelHandler=Iy(this,s),this.on("mouse:wheel",this._mouseWheelHandler),this._scrollbars=new ky(this,s);const r=e.offsetX??0,n=e.offsetY??0;if(r!==0||n!==0){const o=this.viewportTransform.slice(0);o[4]=r,o[5]=n,this.setViewportTransform(o),this.requestRenderAll()}}onViewportChange(e){this._viewportChangeCallback=e}disposeScrollbars(){this._mouseWheelHandler&&(this.off("mouse:wheel",this._mouseWheelHandler),this._mouseWheelHandler=void 0),this._scrollbars&&(this._scrollbars.dispose(),this._scrollbars=void 0)}getItemAccepts(e){return this.acceptsMap[e]||this.itemTypes}getItemSize(e){return this.sizesMap[e]||42}initializeCanvasDefaults(){const e=this.viewportTransform;e[4]=this.spacing.left,Object.assign(at.ownDefaults,{borderColor:"transparent",cornerColor:"white",cornerStrokeColor:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,borderScaleFactor:1,cornerSize:8,cornerStyle:"rect",centeredScaling:!1,centeredRotation:!0,transparentCorners:!1})}__onMouseDown(e){const s=this.getScenePoint(e),r=this._activeObject,n=this.getActiveObjects();if(n.length===0){super.__onMouseDown(e);return}const{isOverObject:o}=Pl(s,n);if(r&&(r==null?void 0:r.findControl(this.getViewportPoint(e),x0(e)))){super.__onMouseDown(e);return}const a=this.getTrackItems(),c=this.getObjects("Transition"),{isOverObject:h,overObjects:l}=Pl(s,[...c,...a]);h?o?super.__onMouseDown(e):(this.setActiveIds([l[0].id]),super.__onMouseDown(e)):(this.discardActiveObject(),this.requestRenderAll(),this.setActiveIds([]),this._groupSelector={x:s.x,y:s.y,deltaY:0,deltaX:0},super.__onMouseDown(e))}_setupCurrentTransform(e,s,r){var n;if(this.hoverCornerItem){const o=this.getScenePoint(e),{key:a="",control:c}=s.getActiveControl()||{},h=c&&((n=c.getActionHandler(e,s,c))==null?void 0:n.bind(c)),l=this._getOriginFromCorner(s,a),u={target:s,action:"resizing",actionHandler:h,actionPerformed:!1,corner:a,scaleX:s.scaleX,scaleY:s.scaleY,skewX:s.skewX,skewY:s.skewY,offsetX:o.x-s.left,offsetY:o.y-s.top,originX:l.x,originY:l.y,ex:o.x,ey:o.y,lastX:o.x,lastY:o.y,theta:s.angle*Math.PI/180,width:s.width,height:s.height,shiftKey:e.shiftKey,altKey:!1,original:{scaleX:s.scaleX,scaleY:s.scaleY,skewX:s.skewX,skewY:s.skewY,angle:s.angle,left:s.left,flipX:s.flipX,flipY:s.flipY,top:s.top,originX:l.x,originY:l.y}};this._currentTransform=u,this.fire("before:transform",{e,transform:u})}else super._setupCurrentTransform(e,s,r)}initEventListeners(){Ty(this),vy(this),xy(this)}setActiveIds(e){this.activeIds=e,this.state.updateState({activeIds:Oy(this.activeIds)},{kind:"layer:selection",updateHistory:!1})}updateState(e={updateHistory:!1}){this.filterEmptyTracks(),this.synchronizeTrackItemsState(),nr(this),this.requestRenderAll(),this.duration=$s(this.trackItemsMap,this.trackItemIds),this.calcBounding(),this.refreshTrackLayout(),this.setTrackItemCoords();const s=this.getUpdatedState();this.state.updateState(s,e)}getUpdatedState(){const e=$s(this.trackItemsMap,this.trackItemIds);return{tracks:this.tracks,trackItemIds:this.trackItemIds,trackItemsMap:this.trackItemsMap,transitionIds:this.transitionIds,transitionsMap:this.transitionsMap,scale:this.scale,duration:e}}getDurationBasedOnTrackItemsPosition(){const e=this.getTrackItems().map(n=>n.getBoundingRect()),s=e.reduce((n,o)=>n.left+n.width<o.left+o.width?o:n,e[0]),r=s.left+s.width;return L(r,this.tScale)}notify(e={updateHistory:!1}){const s=this.getUpdatedState();this.state.updateState(s,e)}getState(){const e=$s(this.trackItemsMap,this.trackItemIds);return{tracks:this.tracks,trackItemIds:this.trackItemIds,trackItemsMap:this.trackItemsMap,transitionIds:this.transitionIds,transitionsMap:this.transitionsMap,scale:this.scale,duration:e}}purge(){yy(this),Sy(this),Cy(),this.disposeScrollbars(),this.dispose()}scrollTo({scrollLeft:e,scrollTop:s}){var o;const r=[...this.viewportTransform];let n=!1;typeof e=="number"&&(r[4]=-e+this.spacing.left,n=!0),typeof s=="number"&&(r[5]=-s,n=!0),n&&(this.viewportTransform=r,(o=this.getActiveObject())==null||o.setCoords(),this.requestRenderAll())}setBounding(e){this.bounding=e}calcBounding(){const e=this.getObjects("Track").filter(c=>c.static),s=[...this.getTrackItems(),...e].reduce((c,h)=>{const{top:l,height:u}=h.getBoundingRect();return{top:Math.min(c.top,l),height:Math.max(c.height,l+u)}},{top:1/0,height:0}),r=[...this.getTrackItems()].reduce((c,h)=>{const{left:l,width:u}=h.getBoundingRect();return{left:Math.min(c.left,l),width:Math.max(c.width,l+u)}},{left:1/0,width:this.width}),n=this.bounding.width,o=r.width,a=o-n;if(a<0){const c=this.getTrackItems(),h=this.getElement().clientWidth,l=c.reduce((u,d)=>d.left+d.width>u.left+u.width?d:u,c[0]);Math.abs(a)>h?this.setViewportPos(-(o-h)+this.spacing.right,this.viewportTransform[5]):l.left+l.width<=h?this.setViewportPos(16,this.viewportTransform[5]):this.setViewportPos(this.viewportTransform[4]-a,this.viewportTransform[5])}this.bounding={...s,...r},tt.dispatch(sl,{payload:{bounding:{...s,...r}}})}setViewportPos(e,s){var o;const r=this.getViewportPos(e,s),n=this.viewportTransform;n[4]=r.x,n[5]=r.y,this.requestRenderAll(),this.setActiveTrackItemCoords(),(o=this.onScroll)==null||o.call(this,{scrollTop:r.y,scrollLeft:r.x-this.spacing.left})}getViewportPos(e,s){const r=this,n=this.bounding.width-100>=r.width?this.spacing.right:0,o=r.width-this.bounding.width-n,a=this.spacing.left,c=Math.max(o,Math.min(e,a));if(this.bounding.height<this.height)return{x:c,y:0};const h=r.height-this.bounding.height-40,u=Math.max(h,Math.min(s,0));return{x:c,y:u}}setScale(e){this.pauseEventListeners();const r=-(this.viewportTransform[4]-this.spacing.left),n=L(r,this.tScale);this.tScale=e.zoom,this.scale=e,this.getTrackItems().forEach(l=>{const u=Z(l.display.from,this.tScale),d=Z(l.display.to-l.display.from,this.tScale,l.playbackRate);l.set({left:u,width:d,tScale:e.zoom}),l.onScale&&l.onScale(),l.setCoords()}),this.requestRenderAll(),this.calcBounding(),this.refreshTrackLayout(),this.updateTransitions(!1);const a=Z(n,this.tScale),c=this.viewportTransform.slice(0);c[4]=-a+this.spacing.left;const h=this.getViewportPos(c[4],c[5]);c[4]=h.x,c[5]=h.y,this.setViewportTransform(c),this.requestRenderAll(),this.resumeEventListeners()}};S(ar,"objectTypes",[]);let me=ar;wy(me,[bf,u0,l0,by]);const Ey={audio:Dn,media:jn,common:ui,transition:In};I.BOTTOM=Jd,I.CENTER=Oe,I.Control=$,I.DRAG_END=to,I.DRAG_PREFIX=Qn,I.DRAG_START=el,I.FabricObject=at,I.Helper=ue,I.LEFT=gs,I.NONE=Zd,I.Pattern=zr,I.Placeholder=fs,I.PreviewTrackItem=de,I.RIGHT=ps,I.Rect=st,I.Resizable=di,I.TIMELINE_BOUNDING_CHANGED=sl,I.TIMELINE_PREFIX=eo,I.TIMELINE_SEEK=rl,I.TOP=Kd,I.Track=Ft,I.Transition=Bt,I.Trimmable=Jt,I.calculateTimelineWidth=ef,I.changeWidth=ui,I.classRegistry=k,I.controlsUtils=Ye,I.createAudioControls=gf,I.createMediaControls=Ec,I.createResizeControls=Ic,I.createTemplateControls=ff,I.createTransitionControls=En,I.default=me,I.drawVerticalLine=Rt,I.generateId=vs,I.getDuration=$s,I.isTransformCentered=ms,I.resize=Ey,I.resolveOrigin=A,I.timeMsToUnits=Z,I.unitsToTimeMs=L,I.util=Br,I.wrapWithFixedAnchor=Us,Object.defineProperties(I,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
504
+ `}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.vibrance;for(let r=0;r<e.length;r+=4){const n=e[r],o=e[r+1],a=e[r+2],c=Math.max(n,o,a),h=(n+o+a)/3,l=2*Math.abs(c-h)/255*s;e[r]+=c!==n?(c-n)*l:0,e[r+1]+=c!==o?(c-o)*l:0,e[r+2]+=c!==a?(c-a)*l:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return this.vibrance===0}}v(li,"type","Vibrance"),v(li,"defaults",{vibrance:0}),v(li,"uniformLocations",["uVibrance"]),k.setClass(li);function Rt(i,t,e,s,r){const a=r.canvas;if(!a)return;const c=a.viewportTransform;i.save(),this.controlOrientation==="left"?i.translate(r.left+c[4],r.top+c[5]+r.height/2):i.translate(r.left+r.width+c[4],r.top+c[5]+r.height/2),i.rotate(Br.degreesToRadians(90+r.angle)),i.lineWidth=6,i.lineCap="round",i.strokeStyle="white",i.beginPath(),i.moveTo(-6,0),i.lineTo(6,0),i.stroke(),i.lineWidth=4,i.strokeStyle="black",i.beginPath(),i.moveTo(-6,0),i.lineTo(6,0),i.stroke(),i.restore()}const Gd={selectable:!1,evented:!1,strokeWidth:0,stroke:"transparent"},Ts=class Ts extends st{constructor(e){super(e);S(this,"id");S(this,"accepts",["audio","video","image","text","caption","template"]);S(this,"metadata");S(this,"items",[]);S(this,"magnetic");S(this,"static");Object.assign(this,Ts.ownDefaults),this.id=e.id,this.accepts=e.accepts||[],this.items=e.items||[],this.magnetic=e.magnetic,this.static=e.static,this.metadata=e.metadata,this.fill="rgba(34, 34, 37, 0.8)",this.objectCaching=!1}static getDefaults(){return{...super.getDefaults(),...Ts.ownDefaults}}updateCoords(e){this.width=e}};S(Ts,"ownDefaults",Gd),S(Ts,"type","Track");let Ft=Ts;k.setClass(Ft,"Track");const Ns=1,Ge="rgba(255, 255, 255,1.0)",Nd=["Track","Transition","Helper","PreviewTrackItem"],Ud={top:{top:35,guide:2,bottom:3},center:{top:3,guide:2,bottom:3},bottom:{top:3,guide:2,bottom:35}},$d=(i,t)=>{const e=Ud[i];return i==="top"?{top:t-(e.guide+e.bottom),guide:e.guide,bottom:e.bottom}:i==="center"?{top:e.top,guide:e.guide,bottom:e.bottom}:{top:e==null?void 0:e.top,guide:e==null?void 0:e.guide,bottom:t-((e==null?void 0:e.guide)+(e==null?void 0:e.top))}},Ss=class Ss extends qt{constructor(e){const s=$d(e.kind,e.height),r=new st({top:0,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.top,width:e.width}),n=new st({top:s.top,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.guide,width:e.width}),o=new st({top:s.top+s.guide,left:0,strokeWidth:0,fill:"transparent",selectable:!0,height:s.bottom,width:e.width});super([r,n,o],e);S(this,"guide");S(this,"topGuide");S(this,"bottomGuide");S(this,"metadata");S(this,"accepts",[]);S(this,"kind");S(this,"activeGuideFill");Object.assign(this,Ss.ownDefaults),this.guide=n,this.topGuide=r,this.bottomGuide=o,this.id=e.id,this.metadata=e.metadata,this.tScale=e.tScale,this.kind=e.kind,this.activeGuideFill=e.activeGuideFill||Ge}static getDefaults(){return{...super.getDefaults(),...Ss.ownDefaults}}updateCoords(e){this.scaleToWidth(e),this.set("scaleY",1)}setSelected(e){e?this.guide.set("fill",this.activeGuideFill):this.guide.set("fill","transparent")}};S(Ss,"type","Helper"),S(Ss,"ownDefaults",{selectable:!1,evented:!1});let ue=Ss;k.setClass(ue,"Helper");const ws=class ws extends st{constructor(e){super(e);S(this,"guideItemId");S(this,"distXToActCenter");S(this,"trackItemType");S(this,"defaultPos");S(this,"draggedObject");Object.assign(this,ws.ownDefaults),this.id=e.id}static getDefaults(){return{...super.getDefaults(),...ws.ownDefaults}}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Ns,e.setLineDash(this.strokeDashArray),e.strokeStyle=Ge,e.stroke(),e.restore()}};S(ws,"type","Placeholder"),S(ws,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",strokeWidth:0,fill:"rgba(255, 211, 42,0.1)",stroke:"rgba(255, 211, 42,1.0)",selectable:!1,borderOpacityWhenMoving:1,hoverCursor:"default",strokeDashArray:[5,1],evented:!1});let fs=ws;k.setClass(fs,"Placeholder");const qd={left:-.5,top:-.5,center:0,bottom:.5,right:.5},A=i=>typeof i=="string"?qd[i]:i-.5,Oe="center",gs="left",Kd="top",Jd="bottom",ps="right",Zd="none";function ms(i){return A(i.originX)===A(Oe)&&A(i.originY)===A(Oe)}function Us(i){return(t,e,s,r)=>{const{target:n,originX:o,originY:a}=e,c=n.getRelativeCenterPoint(),h=n.translateToOriginPoint(c,o,a),l=i(t,e,s,r);return n.setPositionByOrigin(h,e.originX,e.originY),l}}const kc=3,Qd=4,Mc=188,tf=1e3/60;function Z(i,t=1,e=1){const s=Mc*t;return i*(60/1e3)*s/e}function L(i,t=1,e=1){const s=Mc*t;return i/s*tf*e}function ef(i,t=1){return Z(i,t)}const $s=(i,t)=>(t||Object.keys(i)).reduce((s,r)=>{const n=i[r];if(!n)return s;const{display:o}=n;return Math.max(s,o.to)},0),{wrapWithFireEvent:sf,getLocalPoint:rf}=Ye,Dn=sf("resizing",Us((i,t,e,s)=>{const r=rf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Oe)||A(t.originX)===A(ps)&&r.x<0||A(t.originX)===A(gs)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ms(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);if(t.corner==="mr"){const u=n.trim.to,d=h-c,f=L(d,n.tScale,n.playbackRate),g=u+f;if(g>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=g}else{if(n.left<0)return!1;const u=c-h;if(n.left+u<0){const b=Z(n.duration,n.tScale,n.playbackRate),_=n.width+n.left;if(_<=b){n.set("width",_);const x=L(b-_,n.tScale,n.playbackRate);return n.trim.from=x,!0}return!1}const f=h-c,g=n.trim.from,p=L(f,n.tScale,n.playbackRate),m=g-p;if(m<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=m,n.onResize&&n.onResize()}return c!==n.width}return!1})),{wrapWithFireEvent:nf,getLocalPoint:of,wrapWithFixedAnchor:af}=Ye,ui=nf("resizing",af((i,t,e,s)=>{const r=of(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Oe)||A(t.originX)===A(ps)&&r.x<0||A(t.originX)===A(gs)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ms(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=t.corner==="ml";if(n.left<0)return!1;if(l){const f=c-h;if(n.left+f<0)return n.set("width",n.width+n.left),!0}const u=L(1,n.tScale);return L(h,n.tScale,n.playbackRate)<u?!1:(n.set("width",Math.max(h,0)),c!==n.width)}return!1})),{wrapWithFireEvent:cf,getLocalPoint:hf}=Ye,In=cf("resizing",Us((i,t,e,s)=>{const r=hf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Oe)||A(t.originX)===A(ps)&&r.x<0||A(t.originX)===A(gs)&&r.x>0){const{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ms(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=L(h,n.tScale,n.playbackRate);return l>=1500||l<500?!1:(n.set("width",Math.max(h,0)),n.set("duration",l),c!==n.width)}return!1})),lf=i=>{const t=i.canvas;if(!t||!t.state)return null;const e=t.state.getState();if(!e||!e.structure||!e.trackItemsMap)return null;const s=e.structure.find(o=>o.id===i.id);if(!s||!s.items||s.items.length===0)return null;let r=1/0,n=-1/0;return s.items.forEach(o=>{const a=e.trackItemsMap[o];a&&a.display&&(a.display.from<r&&(r=a.display.from),a.display.to>n&&(n=a.display.to))}),r===1/0||n===-1/0?null:{minFrom:r,maxTo:n}},{wrapWithFireEvent:uf,getLocalPoint:df}=Ye,Dc=uf("resizing",Us((i,t,e,s)=>{const r=df(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Oe)||A(t.originX)===A(ps)&&r.x<0||A(t.originX)===A(gs)&&r.x>0){const n=t.target,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ms(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o),l=t.corner==="mr",u=lf(n);if(l){const d=n.trim.to,f=h-c,g=L(f,n.tScale,n.playbackRate),p=d+g;if(u){if(p>u.maxTo)return!1}else if(p>n.duration)return!1;n.set("width",Math.max(h,0)),n.trim.to=p}else{if(n.left<0)return!1;const d=c-h;if(n.left+d<0)return!1;const g=h-c,p=n.trim.from,m=L(g,n.tScale,n.playbackRate),b=p-m;if(u){if(b<u.minFrom)return!1}else if(b<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=b}return c!==n.width}return!1})),{scaleSkewCursorStyleHandler:Kt}=Ye,Ic=()=>({mr:new $({x:.5,y:0,actionHandler:ui,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"right"}),ml:new $({x:-.5,y:0,actionHandler:ui,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"left"})}),ff=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:Dc,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:Dc,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),gf=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:Dn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:Dn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),Ec=()=>({mr:new $({x:.5,y:0,render:Rt,actionHandler:jn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"right"}),ml:new $({x:-.5,y:0,render:Rt,actionHandler:jn,cursorStyleHandler:Kt,actionName:"resizing",controlOrientation:"left"})}),En=()=>({mr:new $({x:.5,y:0,actionHandler:In,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"right"}),ml:new $({x:-.5,y:0,actionHandler:In,cursorStyleHandler:Kt,actionName:"resizing",render:Rt,controlOrientation:"left"})});let pf="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",qs=(i=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(i|=0));for(;i--;)t+=pf[e[i]&63];return t};function vs(i=16){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",e=t.charAt(Math.floor(Math.random()*t.length));let s=qs(i-1);return s=s.replace(/[^a-zA-Z0-9]/g,"").slice(0,i-1),e+s}const{wrapWithFireEvent:mf,getLocalPoint:vf}=Ye,jn=mf("resizing",Us((i,t,e,s)=>{const r=vf(t,t.originX,t.originY,e,s);if(A(t.originX)===A(Oe)||A(t.originX)===A(ps)&&r.x<0||A(t.originX)===A(gs)&&r.x>0){let{target:n}=t,o=n.strokeWidth/(n.strokeUniform?n.scaleX:1),a=ms(t)?2:1,c=n.width,h=Math.ceil(Math.abs(r.x*a/n.scaleX)-o);const l=L(1,n.tScale);if(t.corner==="mr"){const d=n.trim.to,f=h-c,g=L(f,n.tScale,n.playbackRate),p=d+g;if(p>n.duration)return!1;let m=L(h,n.tScale,n.playbackRate);if(m<l||(m=L(h,n.tScale,n.playbackRate),m<l))return!1;n.set("width",Math.max(h,0)),n.trim.to=p}else{if(n.left<0)return!1;const d=c-h;if(n.left+d<0){const x=Z(n.duration,n.tScale,n.playbackRate),w=n.width+n.left;if(w<=x){n.set("width",w);const C=L(x-w,n.tScale,n.playbackRate);return n.trim.from=C,!0}return!1}if(L(h,n.tScale,n.playbackRate)<l)return!1;const p=h-c,m=n.trim.from,b=L(p,n.tScale,n.playbackRate),_=m-b;if(_<0)return!1;n.set("width",Math.max(h,0)),n.trim.from=_,n.onResize&&n.onResize()}return c!==n.width}return!1})),xs=class xs extends st{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"kind","none");S(this,"isSelected",!1);S(this,"availableDrop",!0);Object.assign(this,xs.ownDefaults),this.id=e.id,this.centeredScaling=!0,this.strokeWidth=0,this.tScale=e.tScale,this.duration=e.duration,this.fromId=e.fromId,this.toId=e.toId,this.kind=e.kind,this.strokeDashArray=e.strokeDashArray||[]}static createControls(){return{controls:En()}}static getDefaults(){return{...super.getDefaults(),...xs.ownDefaults}}updateCoords(){}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){const s=this.availableDrop?this.isSelected?Ge:"rgba(255, 255, 255,0.15)":"red";e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Ns,e.setLineDash(this.strokeDashArray),e.strokeStyle=s,e.stroke(),e.restore()}};S(xs,"type","Transition"),S(xs,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:1.5,fill:"rgba(0,0,0, 0.5)",borderOpacityWhenMoving:1,hoverCursor:"default",lockMovementX:!0,lockMovementY:!0,duration:1500,rx:8,ry:8});let Bt=xs;k.setClass(Bt,"Transition");const or=class or extends st{constructor(e){super(e);S(this,"id");S(this,"resourceId","");S(this,"tScale");S(this,"isSelected",!1);S(this,"trim");S(this,"duration");Object.assign(this,or.ownDefaults),this.id=e.id,this.tScale=e.tScale,this.objectCaching=!1,this.rx=8,this.ry=8}static createControls(){return{controls:Ec()}}_render(e){super._render(e),this.updateSelected(e)}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Ns,e.strokeStyle=Ge,e.stroke(),e.restore())}onResizeSnap(){}setSrc(e){this.src=e}};S(or,"type","Trimmable"),S(or,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let Jt=or;k.setClass(Jt,"Trimmable");const Cs=class Cs extends st{constructor(e){super(e);S(this,"isSelected",!1);Object.assign(this,Cs.ownDefaults),this.tScale=e.tScale,this.display=e.display}static createControls(){return{controls:Ic()}}static getDefaults(){return{...super.getDefaults(),...Cs.ownDefaults}}setSelected(e){this.isSelected=e,this.set({dirty:!0})}_render(e){super._render(e),this.updateSelected(e)}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,6),e.lineWidth=Ns,e.strokeStyle=Ge,e.stroke(),e.restore())}};S(Cs,"type","Resizable"),S(Cs,"ownDefaults",{rx:6,ry:6,objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,fill:"#27272a",borderOpacityWhenMoving:1,hoverCursor:"default"});let di=Cs;k.setClass(di,"Resizable");function yf(i){const t=Math.floor(i/1e3),e=Math.floor(t/60),s=t%60,r=String(e).padStart(2,"0"),n=String(s).padStart(2,"0");return`${r}:${n}`}const Os=class Os extends st{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"isSelected",!1);S(this,"name");S(this,"durationString");S(this,"itemType");Object.assign(this,Os.ownDefaults),this.id=e.id,this.fill="#27272a",this.name=e.type.toUpperCase(),this.durationString=yf(e.duration),this.itemType=e.type}static getDefaults(){return{...super.getDefaults(),...Os.ownDefaults}}_render(e){e.save(),super._render(e),e.beginPath(),e.rect(-this.width/2,-this.height/2,this.width,this.height),e.clip(),this.drawTextIdentity(e),e.restore()}drawTextIdentity(e){e.font="600 12px 'Geist variable'",e.textAlign="left";const s=e.measureText(this.name).width,r=e.measureText(this.durationString).width,n=8,o=4,a=4-this.height/2,c=20,h=4,l=4-this.width/2,u=s+n*2;this.drawRoundedRect(e,l,a,u,c,h),e.fillStyle="#f4f4f5",e.fillText(this.name,l+n,a+14);const d=l+u+o,f=r+n*2;this.drawRoundedRect(e,d,a,f,c,h),e.fillStyle="#f4f4f5",e.fillText(this.durationString,d+n,a+14)}drawRoundedRect(e,s,r,n,o,a){e.fillStyle="rgba(0, 0, 0, 0.5)",e.roundRect?(e.beginPath(),e.roundRect(s,r,n,o,a),e.fill()):e.fillRect(s,r,n,o)}};S(Os,"type","PreviewTrackItem"),S(Os,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,hoverCursor:"default",rx:4,ry:4});let de=Os;k.setClass(de,"PreviewTrackItem");class bf{constructor(){S(this,"___eventListeners",{});S(this,"___activeObjects",[])}resize(t,{force:e}={force:!1}){var s;this.lowerCanvasEl&&(this.setDimensions(t),e&&(this.renderTracks(),this.calcBounding(),this.refreshTrackLayout(),this.requestRenderAll()),(s=this.onResizeCanvas)==null||s.call(this,{width:this.width,height:this.height}))}pauseEventListeners(){this.___eventListeners=this.__eventListeners,this.__eventListeners={};const t=this.getActiveObjects();this.discardActiveObject(),this.___activeObjects=t}resumeEventListeners(){this.__eventListeners=this.___eventListeners,this.___eventListeners={};const t=this.___activeObjects;if(!t.length)return this.requestRenderAll(),!1;if(t.length===1)this.setActiveObject(t[0]);else{const e=new Ot(t);this.setActiveObject(e)}this.requestRenderAll()}updateCachingActiveObjects(t){const e=this.___activeObjects;this.___activeObjects=e.map(s=>{const r=t.find(n=>n.id===s.id);return r||s})}}function Ks(i,t){return i.map(e=>({...e,items:e.items.filter(s=>!t.includes(s))}))}const _f=(i,t)=>{var h,l,u,d,f,g,p,m;const e=i.display,s=Z(e.from,t.tScale),r=Z(e.to-e.from,t.tScale,i.playbackRate),n=t.sizesMap[i.type]||42,o=((l=(h=i.type)==null?void 0:h.charAt(0))==null?void 0:l.toUpperCase())+((u=i.type)==null?void 0:u.slice(1))||"",a=k==null?void 0:k.getClass(o),c={width:r,height:n,id:i.id,tScale:t.tScale,top:10,left:s,display:e,duration:i.duration||e.to-e.from,metadata:i.metadata,playbackRate:i.playbackRate||1,src:(d=i.details)==null?void 0:d.src,trim:i.trim||{from:0,to:i.duration},text:(f=i.details)==null?void 0:f.text,srcs:((g=i.details)==null?void 0:g.srcs)||[],backgroundColorDiv:(p=i.details)==null?void 0:p.backgroundColor,svgString:(m=i.details)==null?void 0:m.svgString};return new a(c)};var jc=typeof global=="object"&&global&&global.Object===Object&&global,Tf=typeof self=="object"&&self&&self.Object===Object&&self,Wt=jc||Tf||Function("return this")(),Mt=Wt.Symbol,Pc=Object.prototype,Sf=Pc.hasOwnProperty,wf=Pc.toString,Js=Mt?Mt.toStringTag:void 0;function xf(i){var t=Sf.call(i,Js),e=i[Js];try{i[Js]=void 0;var s=!0}catch{}var r=wf.call(i);return s&&(t?i[Js]=e:delete i[Js]),r}var Cf=Object.prototype,Of=Cf.toString;function kf(i){return Of.call(i)}var Mf="[object Null]",Df="[object Undefined]",Ac=Mt?Mt.toStringTag:void 0;function ys(i){return i==null?i===void 0?Df:Mf:Ac&&Ac in Object(i)?xf(i):kf(i)}function ke(i){return i!=null&&typeof i=="object"}var If="[object Symbol]";function fi(i){return typeof i=="symbol"||ke(i)&&ys(i)==If}function Ef(i,t){for(var e=-1,s=i==null?0:i.length,r=Array(s);++e<s;)r[e]=t(i[e],e,i);return r}var Zt=Array.isArray,Lc=Mt?Mt.prototype:void 0,Rc=Lc?Lc.toString:void 0;function Fc(i){if(typeof i=="string")return i;if(Zt(i))return Ef(i,Fc)+"";if(fi(i))return Rc?Rc.call(i):"";var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}var jf=/\s/;function Pf(i){for(var t=i.length;t--&&jf.test(i.charAt(t)););return t}var Af=/^\s+/;function Lf(i){return i&&i.slice(0,Pf(i)+1).replace(Af,"")}function Qt(i){var t=typeof i;return i!=null&&(t=="object"||t=="function")}var Bc=NaN,Rf=/^[-+]0x[0-9a-f]+$/i,Ff=/^0b[01]+$/i,Bf=/^0o[0-7]+$/i,Wf=parseInt;function Wc(i){if(typeof i=="number")return i;if(fi(i))return Bc;if(Qt(i)){var t=typeof i.valueOf=="function"?i.valueOf():i;i=Qt(t)?t+"":t}if(typeof i!="string")return i===0?i:+i;i=Lf(i);var e=Ff.test(i);return e||Bf.test(i)?Wf(i.slice(2),e?2:8):Rf.test(i)?Bc:+i}function Xf(i){return i}var zf="[object AsyncFunction]",Hf="[object Function]",Yf="[object GeneratorFunction]",Vf="[object Proxy]";function Xc(i){if(!Qt(i))return!1;var t=ys(i);return t==Hf||t==Yf||t==zf||t==Vf}var Pn=Wt["__core-js_shared__"],zc=function(){var i=/[^.]+$/.exec(Pn&&Pn.keys&&Pn.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function Gf(i){return!!zc&&zc in i}var Nf=Function.prototype,Uf=Nf.toString;function Ne(i){if(i!=null){try{return Uf.call(i)}catch{}try{return i+""}catch{}}return""}var $f=/[\\^$.*+?()[\]{}|]/g,qf=/^\[object .+?Constructor\]$/,Kf=Function.prototype,Jf=Object.prototype,Zf=Kf.toString,Qf=Jf.hasOwnProperty,tg=RegExp("^"+Zf.call(Qf).replace($f,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function eg(i){if(!Qt(i)||Gf(i))return!1;var t=Xc(i)?tg:qf;return t.test(Ne(i))}function sg(i,t){return i==null?void 0:i[t]}function Ue(i,t){var e=sg(i,t);return eg(e)?e:void 0}var An=Ue(Wt,"WeakMap"),Hc=Object.create,rg=function(){function i(){}return function(t){if(!Qt(t))return{};if(Hc)return Hc(t);i.prototype=t;var e=new i;return i.prototype=void 0,e}}();function ig(i,t,e){switch(e.length){case 0:return i.call(t);case 1:return i.call(t,e[0]);case 2:return i.call(t,e[0],e[1]);case 3:return i.call(t,e[0],e[1],e[2])}return i.apply(t,e)}var ng=800,og=16,ag=Date.now;function cg(i){var t=0,e=0;return function(){var s=ag(),r=og-(s-e);if(e=s,r>0){if(++t>=ng)return arguments[0]}else t=0;return i.apply(void 0,arguments)}}function hg(i){return function(){return i}}var gi=function(){try{var i=Ue(Object,"defineProperty");return i({},"",{}),i}catch{}}(),lg=gi?function(i,t){return gi(i,"toString",{configurable:!0,enumerable:!1,value:hg(t),writable:!0})}:Xf,ug=cg(lg);function dg(i,t){for(var e=-1,s=i==null?0:i.length;++e<s&&t(i[e],e,i)!==!1;);return i}var fg=9007199254740991,gg=/^(?:0|[1-9]\d*)$/;function Ln(i,t){var e=typeof i;return t=t??fg,!!t&&(e=="number"||e!="symbol"&&gg.test(i))&&i>-1&&i%1==0&&i<t}function pg(i,t,e){t=="__proto__"&&gi?gi(i,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):i[t]=e}function Rn(i,t){return i===t||i!==i&&t!==t}var mg=Object.prototype,vg=mg.hasOwnProperty;function Yc(i,t,e){var s=i[t];(!(vg.call(i,t)&&Rn(s,e))||e===void 0&&!(t in i))&&pg(i,t,e)}var Vc=Math.max;function yg(i,t,e){return t=Vc(t===void 0?i.length-1:t,0),function(){for(var s=arguments,r=-1,n=Vc(s.length-t,0),o=Array(n);++r<n;)o[r]=s[t+r];r=-1;for(var a=Array(t+1);++r<t;)a[r]=s[r];return a[t]=e(o),ig(i,this,a)}}var bg=9007199254740991;function Fn(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=bg}function _g(i){return i!=null&&Fn(i.length)&&!Xc(i)}var Tg=Object.prototype;function Gc(i){var t=i&&i.constructor,e=typeof t=="function"&&t.prototype||Tg;return i===e}function Sg(i,t){for(var e=-1,s=Array(i);++e<i;)s[e]=t(e);return s}var wg="[object Arguments]";function Nc(i){return ke(i)&&ys(i)==wg}var Uc=Object.prototype,xg=Uc.hasOwnProperty,Cg=Uc.propertyIsEnumerable,Bn=Nc(function(){return arguments}())?Nc:function(i){return ke(i)&&xg.call(i,"callee")&&!Cg.call(i,"callee")};function Og(){return!1}var $c=typeof I=="object"&&I&&!I.nodeType&&I,qc=$c&&typeof module=="object"&&module&&!module.nodeType&&module,kg=qc&&qc.exports===$c,Kc=kg?Wt.Buffer:void 0,Mg=Kc?Kc.isBuffer:void 0,pi=Mg||Og,Dg="[object Arguments]",Ig="[object Array]",Eg="[object Boolean]",jg="[object Date]",Pg="[object Error]",Ag="[object Function]",Lg="[object Map]",Rg="[object Number]",Fg="[object Object]",Bg="[object RegExp]",Wg="[object Set]",Xg="[object String]",zg="[object WeakMap]",Hg="[object ArrayBuffer]",Yg="[object DataView]",Vg="[object Float32Array]",Gg="[object Float64Array]",Ng="[object Int8Array]",Ug="[object Int16Array]",$g="[object Int32Array]",qg="[object Uint8Array]",Kg="[object Uint8ClampedArray]",Jg="[object Uint16Array]",Zg="[object Uint32Array]",U={};U[Vg]=U[Gg]=U[Ng]=U[Ug]=U[$g]=U[qg]=U[Kg]=U[Jg]=U[Zg]=!0,U[Dg]=U[Ig]=U[Hg]=U[Eg]=U[Yg]=U[jg]=U[Pg]=U[Ag]=U[Lg]=U[Rg]=U[Fg]=U[Bg]=U[Wg]=U[Xg]=U[zg]=!1;function Qg(i){return ke(i)&&Fn(i.length)&&!!U[ys(i)]}function Wn(i){return function(t){return i(t)}}var Jc=typeof I=="object"&&I&&!I.nodeType&&I,Zs=Jc&&typeof module=="object"&&module&&!module.nodeType&&module,tp=Zs&&Zs.exports===Jc,Xn=tp&&jc.process,bs=function(){try{var i=Zs&&Zs.require&&Zs.require("util").types;return i||Xn&&Xn.binding&&Xn.binding("util")}catch{}}(),Zc=bs&&bs.isTypedArray,Qc=Zc?Wn(Zc):Qg,ep=Object.prototype,sp=ep.hasOwnProperty;function rp(i,t){var e=Zt(i),s=!e&&Bn(i),r=!e&&!s&&pi(i),n=!e&&!s&&!r&&Qc(i),o=e||s||r||n,a=o?Sg(i.length,String):[],c=a.length;for(var h in i)sp.call(i,h)&&!(o&&(h=="length"||r&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Ln(h,c)))&&a.push(h);return a}function th(i,t){return function(e){return i(t(e))}}var ip=th(Object.keys,Object),np=Object.prototype,op=np.hasOwnProperty;function ap(i){if(!Gc(i))return ip(i);var t=[];for(var e in Object(i))op.call(i,e)&&e!="constructor"&&t.push(e);return t}function cp(i){return _g(i)?rp(i):ap(i)}var hp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,lp=/^\w*$/;function up(i,t){if(Zt(i))return!1;var e=typeof i;return e=="number"||e=="symbol"||e=="boolean"||i==null||fi(i)?!0:lp.test(i)||!hp.test(i)||t!=null&&i in Object(t)}var Qs=Ue(Object,"create");function dp(){this.__data__=Qs?Qs(null):{},this.size=0}function fp(i){var t=this.has(i)&&delete this.__data__[i];return this.size-=t?1:0,t}var gp="__lodash_hash_undefined__",pp=Object.prototype,mp=pp.hasOwnProperty;function vp(i){var t=this.__data__;if(Qs){var e=t[i];return e===gp?void 0:e}return mp.call(t,i)?t[i]:void 0}var yp=Object.prototype,bp=yp.hasOwnProperty;function _p(i){var t=this.__data__;return Qs?t[i]!==void 0:bp.call(t,i)}var Tp="__lodash_hash_undefined__";function Sp(i,t){var e=this.__data__;return this.size+=this.has(i)?0:1,e[i]=Qs&&t===void 0?Tp:t,this}function $e(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}$e.prototype.clear=dp,$e.prototype.delete=fp,$e.prototype.get=vp,$e.prototype.has=_p,$e.prototype.set=Sp;function wp(){this.__data__=[],this.size=0}function mi(i,t){for(var e=i.length;e--;)if(Rn(i[e][0],t))return e;return-1}var xp=Array.prototype,Cp=xp.splice;function Op(i){var t=this.__data__,e=mi(t,i);if(e<0)return!1;var s=t.length-1;return e==s?t.pop():Cp.call(t,e,1),--this.size,!0}function kp(i){var t=this.__data__,e=mi(t,i);return e<0?void 0:t[e][1]}function Mp(i){return mi(this.__data__,i)>-1}function Dp(i,t){var e=this.__data__,s=mi(e,i);return s<0?(++this.size,e.push([i,t])):e[s][1]=t,this}function fe(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}fe.prototype.clear=wp,fe.prototype.delete=Op,fe.prototype.get=kp,fe.prototype.has=Mp,fe.prototype.set=Dp;var tr=Ue(Wt,"Map");function Ip(){this.size=0,this.__data__={hash:new $e,map:new(tr||fe),string:new $e}}function Ep(i){var t=typeof i;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?i!=="__proto__":i===null}function vi(i,t){var e=i.__data__;return Ep(t)?e[typeof t=="string"?"string":"hash"]:e.map}function jp(i){var t=vi(this,i).delete(i);return this.size-=t?1:0,t}function Pp(i){return vi(this,i).get(i)}function Ap(i){return vi(this,i).has(i)}function Lp(i,t){var e=vi(this,i),s=e.size;return e.set(i,t),this.size+=e.size==s?0:1,this}function ge(i){var t=-1,e=i==null?0:i.length;for(this.clear();++t<e;){var s=i[t];this.set(s[0],s[1])}}ge.prototype.clear=Ip,ge.prototype.delete=jp,ge.prototype.get=Pp,ge.prototype.has=Ap,ge.prototype.set=Lp;var Rp="Expected a function";function zn(i,t){if(typeof i!="function"||t!=null&&typeof t!="function")throw new TypeError(Rp);var e=function(){var s=arguments,r=t?t.apply(this,s):s[0],n=e.cache;if(n.has(r))return n.get(r);var o=i.apply(this,s);return e.cache=n.set(r,o)||n,o};return e.cache=new(zn.Cache||ge),e}zn.Cache=ge;var Fp=500;function Bp(i){var t=zn(i,function(s){return e.size===Fp&&e.clear(),s}),e=t.cache;return t}var Wp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Xp=/\\(\\)?/g,zp=Bp(function(i){var t=[];return i.charCodeAt(0)===46&&t.push(""),i.replace(Wp,function(e,s,r,n){t.push(r?n.replace(Xp,"$1"):s||e)}),t});function Hp(i){return i==null?"":Fc(i)}function yi(i,t){return Zt(i)?i:up(i,t)?[i]:zp(Hp(i))}function Hn(i){if(typeof i=="string"||fi(i))return i;var t=i+"";return t=="0"&&1/i==-1/0?"-0":t}function Yp(i,t){t=yi(t,i);for(var e=0,s=t.length;i!=null&&e<s;)i=i[Hn(t[e++])];return e&&e==s?i:void 0}function eh(i,t){for(var e=-1,s=t.length,r=i.length;++e<s;)i[r+e]=t[e];return i}var sh=Mt?Mt.isConcatSpreadable:void 0;function Vp(i){return Zt(i)||Bn(i)||!!(sh&&i&&i[sh])}function Gp(i,t,e,s,r){var n=-1,o=i.length;for(e||(e=Vp),r||(r=[]);++n<o;){var a=i[n];e(a)?eh(r,a):r[r.length]=a}return r}function Yn(i){var t=i==null?0:i.length;return t?Gp(i):[]}function Np(i){return ug(yg(i,void 0,Yn),i+"")}var Up=th(Object.getPrototypeOf,Object);function $p(){this.__data__=new fe,this.size=0}function qp(i){var t=this.__data__,e=t.delete(i);return this.size=t.size,e}function Kp(i){return this.__data__.get(i)}function Jp(i){return this.__data__.has(i)}var Zp=200;function Qp(i,t){var e=this.__data__;if(e instanceof fe){var s=e.__data__;if(!tr||s.length<Zp-1)return s.push([i,t]),this.size=++e.size,this;e=this.__data__=new ge(s)}return e.set(i,t),this.size=e.size,this}function pe(i){var t=this.__data__=new fe(i);this.size=t.size}pe.prototype.clear=$p,pe.prototype.delete=qp,pe.prototype.get=Kp,pe.prototype.has=Jp,pe.prototype.set=Qp;var rh=typeof I=="object"&&I&&!I.nodeType&&I,ih=rh&&typeof module=="object"&&module&&!module.nodeType&&module,tm=ih&&ih.exports===rh,nh=tm?Wt.Buffer:void 0;nh&&nh.allocUnsafe;function em(i,t){return i.slice()}function sm(i,t){for(var e=-1,s=i==null?0:i.length,r=0,n=[];++e<s;){var o=i[e];t(o,e,i)&&(n[r++]=o)}return n}function rm(){return[]}var im=Object.prototype,nm=im.propertyIsEnumerable,oh=Object.getOwnPropertySymbols,om=oh?function(i){return i==null?[]:(i=Object(i),sm(oh(i),function(t){return nm.call(i,t)}))}:rm;function am(i,t,e){var s=t(i);return Zt(i)?s:eh(s,e(i))}function Vn(i){return am(i,cp,om)}var Gn=Ue(Wt,"DataView"),Nn=Ue(Wt,"Promise"),Un=Ue(Wt,"Set"),ah="[object Map]",cm="[object Object]",ch="[object Promise]",hh="[object Set]",lh="[object WeakMap]",uh="[object DataView]",hm=Ne(Gn),lm=Ne(tr),um=Ne(Nn),dm=Ne(Un),fm=Ne(An),Xt=ys;(Gn&&Xt(new Gn(new ArrayBuffer(1)))!=uh||tr&&Xt(new tr)!=ah||Nn&&Xt(Nn.resolve())!=ch||Un&&Xt(new Un)!=hh||An&&Xt(new An)!=lh)&&(Xt=function(i){var t=ys(i),e=t==cm?i.constructor:void 0,s=e?Ne(e):"";if(s)switch(s){case hm:return uh;case lm:return ah;case um:return ch;case dm:return hh;case fm:return lh}return t});var gm=Object.prototype,pm=gm.hasOwnProperty;function mm(i){var t=i.length,e=new i.constructor(t);return t&&typeof i[0]=="string"&&pm.call(i,"index")&&(e.index=i.index,e.input=i.input),e}var bi=Wt.Uint8Array;function $n(i){var t=new i.constructor(i.byteLength);return new bi(t).set(new bi(i)),t}function vm(i,t){var e=$n(i.buffer);return new i.constructor(e,i.byteOffset,i.byteLength)}var ym=/\w*$/;function bm(i){var t=new i.constructor(i.source,ym.exec(i));return t.lastIndex=i.lastIndex,t}var dh=Mt?Mt.prototype:void 0,fh=dh?dh.valueOf:void 0;function _m(i){return fh?Object(fh.call(i)):{}}function Tm(i,t){var e=$n(i.buffer);return new i.constructor(e,i.byteOffset,i.length)}var Sm="[object Boolean]",wm="[object Date]",xm="[object Map]",Cm="[object Number]",Om="[object RegExp]",km="[object Set]",Mm="[object String]",Dm="[object Symbol]",Im="[object ArrayBuffer]",Em="[object DataView]",jm="[object Float32Array]",Pm="[object Float64Array]",Am="[object Int8Array]",Lm="[object Int16Array]",Rm="[object Int32Array]",Fm="[object Uint8Array]",Bm="[object Uint8ClampedArray]",Wm="[object Uint16Array]",Xm="[object Uint32Array]";function zm(i,t,e){var s=i.constructor;switch(t){case Im:return $n(i);case Sm:case wm:return new s(+i);case Em:return vm(i);case jm:case Pm:case Am:case Lm:case Rm:case Fm:case Bm:case Wm:case Xm:return Tm(i);case xm:return new s;case Cm:case Mm:return new s(i);case Om:return bm(i);case km:return new s;case Dm:return _m(i)}}function Hm(i){return typeof i.constructor=="function"&&!Gc(i)?rg(Up(i)):{}}var Ym="[object Map]";function Vm(i){return ke(i)&&Xt(i)==Ym}var gh=bs&&bs.isMap,Gm=gh?Wn(gh):Vm,Nm="[object Set]";function Um(i){return ke(i)&&Xt(i)==Nm}var ph=bs&&bs.isSet,$m=ph?Wn(ph):Um,mh="[object Arguments]",qm="[object Array]",Km="[object Boolean]",Jm="[object Date]",Zm="[object Error]",vh="[object Function]",Qm="[object GeneratorFunction]",tv="[object Map]",ev="[object Number]",yh="[object Object]",sv="[object RegExp]",rv="[object Set]",iv="[object String]",nv="[object Symbol]",ov="[object WeakMap]",av="[object ArrayBuffer]",cv="[object DataView]",hv="[object Float32Array]",lv="[object Float64Array]",uv="[object Int8Array]",dv="[object Int16Array]",fv="[object Int32Array]",gv="[object Uint8Array]",pv="[object Uint8ClampedArray]",mv="[object Uint16Array]",vv="[object Uint32Array]",V={};V[mh]=V[qm]=V[av]=V[cv]=V[Km]=V[Jm]=V[hv]=V[lv]=V[uv]=V[dv]=V[fv]=V[tv]=V[ev]=V[yh]=V[sv]=V[rv]=V[iv]=V[nv]=V[gv]=V[pv]=V[mv]=V[vv]=!0,V[Zm]=V[vh]=V[ov]=!1;function _i(i,t,e,s,r,n){var o;if(o!==void 0)return o;if(!Qt(i))return i;var a=Zt(i);if(a)o=mm(i);else{var c=Xt(i),h=c==vh||c==Qm;if(pi(i))return em(i);if(c==yh||c==mh||h&&!r)o=h?{}:Hm(i);else{if(!V[c])return r?i:{};o=zm(i,c)}}n||(n=new pe);var l=n.get(i);if(l)return l;n.set(i,o),$m(i)?i.forEach(function(f){o.add(_i(f,t,e,f,i,n))}):Gm(i)&&i.forEach(function(f,g){o.set(g,_i(f,t,e,g,i,n))});var u=Vn,d=a?void 0:u(i);return dg(d||i,function(f,g){d&&(g=f,f=i[g]),Yc(o,g,_i(f,t,e,g,i,n))}),o}var yv=1,bv=4;function qe(i){return _i(i,yv|bv)}var _v="__lodash_hash_undefined__";function Tv(i){return this.__data__.set(i,_v),this}function Sv(i){return this.__data__.has(i)}function Ti(i){var t=-1,e=i==null?0:i.length;for(this.__data__=new ge;++t<e;)this.add(i[t])}Ti.prototype.add=Ti.prototype.push=Tv,Ti.prototype.has=Sv;function wv(i,t){for(var e=-1,s=i==null?0:i.length;++e<s;)if(t(i[e],e,i))return!0;return!1}function xv(i,t){return i.has(t)}var Cv=1,Ov=2;function bh(i,t,e,s,r,n){var o=e&Cv,a=i.length,c=t.length;if(a!=c&&!(o&&c>a))return!1;var h=n.get(i),l=n.get(t);if(h&&l)return h==t&&l==i;var u=-1,d=!0,f=e&Ov?new Ti:void 0;for(n.set(i,t),n.set(t,i);++u<a;){var g=i[u],p=t[u];if(s)var m=o?s(p,g,u,t,i,n):s(g,p,u,i,t,n);if(m!==void 0){if(m)continue;d=!1;break}if(f){if(!wv(t,function(b,_){if(!xv(f,_)&&(g===b||r(g,b,e,s,n)))return f.push(_)})){d=!1;break}}else if(!(g===p||r(g,p,e,s,n))){d=!1;break}}return n.delete(i),n.delete(t),d}function kv(i){var t=-1,e=Array(i.size);return i.forEach(function(s,r){e[++t]=[r,s]}),e}function Mv(i){var t=-1,e=Array(i.size);return i.forEach(function(s){e[++t]=s}),e}var Dv=1,Iv=2,Ev="[object Boolean]",jv="[object Date]",Pv="[object Error]",Av="[object Map]",Lv="[object Number]",Rv="[object RegExp]",Fv="[object Set]",Bv="[object String]",Wv="[object Symbol]",Xv="[object ArrayBuffer]",zv="[object DataView]",_h=Mt?Mt.prototype:void 0,qn=_h?_h.valueOf:void 0;function Hv(i,t,e,s,r,n,o){switch(e){case zv:if(i.byteLength!=t.byteLength||i.byteOffset!=t.byteOffset)return!1;i=i.buffer,t=t.buffer;case Xv:return!(i.byteLength!=t.byteLength||!n(new bi(i),new bi(t)));case Ev:case jv:case Lv:return Rn(+i,+t);case Pv:return i.name==t.name&&i.message==t.message;case Rv:case Bv:return i==t+"";case Av:var a=kv;case Fv:var c=s&Dv;if(a||(a=Mv),i.size!=t.size&&!c)return!1;var h=o.get(i);if(h)return h==t;s|=Iv,o.set(i,t);var l=bh(a(i),a(t),s,r,n,o);return o.delete(i),l;case Wv:if(qn)return qn.call(i)==qn.call(t)}return!1}var Yv=1,Vv=Object.prototype,Gv=Vv.hasOwnProperty;function Nv(i,t,e,s,r,n){var o=e&Yv,a=Vn(i),c=a.length,h=Vn(t),l=h.length;if(c!=l&&!o)return!1;for(var u=c;u--;){var d=a[u];if(!(o?d in t:Gv.call(t,d)))return!1}var f=n.get(i),g=n.get(t);if(f&&g)return f==t&&g==i;var p=!0;n.set(i,t),n.set(t,i);for(var m=o;++u<c;){d=a[u];var b=i[d],_=t[d];if(s)var x=o?s(_,b,d,t,i,n):s(b,_,d,i,t,n);if(!(x===void 0?b===_||r(b,_,e,s,n):x)){p=!1;break}m||(m=d=="constructor")}if(p&&!m){var w=i.constructor,C=t.constructor;w!=C&&"constructor"in i&&"constructor"in t&&!(typeof w=="function"&&w instanceof w&&typeof C=="function"&&C instanceof C)&&(p=!1)}return n.delete(i),n.delete(t),p}var Uv=1,Th="[object Arguments]",Sh="[object Array]",Si="[object Object]",$v=Object.prototype,wh=$v.hasOwnProperty;function qv(i,t,e,s,r,n){var o=Zt(i),a=Zt(t),c=o?Sh:Xt(i),h=a?Sh:Xt(t);c=c==Th?Si:c,h=h==Th?Si:h;var l=c==Si,u=h==Si,d=c==h;if(d&&pi(i)){if(!pi(t))return!1;o=!0,l=!1}if(d&&!l)return n||(n=new pe),o||Qc(i)?bh(i,t,e,s,r,n):Hv(i,t,c,e,s,r,n);if(!(e&Uv)){var f=l&&wh.call(i,"__wrapped__"),g=u&&wh.call(t,"__wrapped__");if(f||g){var p=f?i.value():i,m=g?t.value():t;return n||(n=new pe),r(p,m,e,s,n)}}return d?(n||(n=new pe),Nv(i,t,e,s,r,n)):!1}function xh(i,t,e,s,r){return i===t?!0:i==null||t==null||!ke(i)&&!ke(t)?i!==i&&t!==t:qv(i,t,e,s,xh,r)}function Kv(i,t){return i!=null&&t in Object(i)}function Jv(i,t,e){t=yi(t,i);for(var s=-1,r=t.length,n=!1;++s<r;){var o=Hn(t[s]);if(!(n=i!=null&&e(i,o)))break;i=i[o]}return n||++s!=r?n:(r=i==null?0:i.length,!!r&&Fn(r)&&Ln(o,r)&&(Zt(i)||Bn(i)))}function Zv(i,t){return i!=null&&Jv(i,t,Kv)}var Kn=function(){return Wt.Date.now()},Qv="Expected a function",t0=Math.max,e0=Math.min;function s0(i,t,e){var s,r,n,o,a,c,h=0,l=!1,u=!1,d=!0;if(typeof i!="function")throw new TypeError(Qv);t=Wc(t)||0,Qt(e)&&(l=!!e.leading,u="maxWait"in e,n=u?t0(Wc(e.maxWait)||0,t):n,d="trailing"in e?!!e.trailing:d);function f(O){var D=s,M=r;return s=r=void 0,h=O,o=i.apply(M,D),o}function g(O){return h=O,a=setTimeout(b,t),l?f(O):o}function p(O){var D=O-c,M=O-h,E=t-D;return u?e0(E,n-M):E}function m(O){var D=O-c,M=O-h;return c===void 0||D>=t||D<0||u&&M>=n}function b(){var O=Kn();if(m(O))return _(O);a=setTimeout(b,p(O))}function _(O){return a=void 0,d&&s?f(O):(s=r=void 0,o)}function x(){a!==void 0&&clearTimeout(a),h=0,s=c=r=a=void 0}function w(){return a===void 0?o:_(Kn())}function C(){var O=Kn(),D=m(O);if(s=arguments,r=this,c=O,D){if(a===void 0)return g(c);if(u)return clearTimeout(a),a=setTimeout(b,t),f(c)}return a===void 0&&(a=setTimeout(b,t)),o}return C.cancel=x,C.flush=w,C}function r0(i,t){return xh(i,t)}function i0(i,t,e,s){if(!Qt(i))return i;t=yi(t,i);for(var r=-1,n=t.length,o=n-1,a=i;a!=null&&++r<n;){var c=Hn(t[r]),h=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return i;if(r!=o){var l=a[c];h=void 0,h===void 0&&(h=Qt(l)?l:Ln(t[r+1])?[]:{})}Yc(a,c,h),a=a[c]}return i}function n0(i,t,e){for(var s=-1,r=t.length,n={};++s<r;){var o=t[s],a=Yp(i,o);e(a,o)&&i0(n,yi(o,i),a)}return n}function o0(i,t){return n0(i,t,function(e,s){return Zv(i,s)})}var a0=Np(function(i,t){return i==null?{}:o0(i,t)}),c0="Expected a function";function h0(i,t,e){var s=!0,r=!0;if(typeof i!="function")throw new TypeError(c0);return Qt(e)&&(s="leading"in e?!!e.leading:s,r="trailing"in e?!!e.trailing:r),s0(i,t,{leading:s,maxWait:t,trailing:r})}class l0{addTrackItem(t){const e=_f(t,{tScale:this.tScale,sizesMap:this.sizesMap});this.add(e)}alignItemsToTrack(){this.pauseEventListeners();const t=new Map(this.getObjects("Track").map(r=>[r.id,r])),e=this.getTrackItems(),s=this.getObjects("Transition");this.trackItemIds.forEach(r=>{const n=this.tracks.find(c=>c.items.includes(r));if(!n)return;const o=t.get(n.id),a=this.getTrackItems().find(c=>c.id===r);a&&o&&(a.isMain=o.magnetic,this.trackItemsMap[r].isMain=o.magnetic,a.set({top:o.top}),a.setCoords())}),t.forEach(r=>{r.items=e.filter(n=>n.top===r.top).map(n=>n.id)}),s.forEach(r=>{const n=r.fromId,o=e.find(a=>a.id===n);o&&(r.set({top:o.top}),r.setCoords())}),this.resumeEventListeners()}updateTrackItemsToHistory(){this.pauseEventListeners(),this.trackItemIds.forEach(t=>{const e=this.tracks.find(c=>c.items.includes(t)),s=this.getObjects().find(c=>c.id===(e==null?void 0:e.id)).top,r=this.trackItemsMap[t],n=this.getObjects().find(c=>c.id===t),o=Z(r.display.from,this.tScale),a=Z(r.display.to-r.display.from,this.tScale,r.playbackRate);if(n.set({left:o,width:a,top:s}),n instanceof Jt){const c=n.display.to-n.display.from;n.setDuration?n.setDuration(c):n.set({duration:c}),r.trim=n.trim,r.display=n.display}n.setCoords()}),this.requestRenderAll(),this.resumeEventListeners()}deleteTrackItemToHistory(t){this.getObjects().filter(e=>t.includes(e.id)).map(e=>this.remove(e)),this.alignItemsToTrack(),this.requestRenderAll()}uodateTrackItemIdsOrdering(){const t=this.getTrackItems();t.sort((e,s)=>e.top-s.top),this.trackItemIds=t.map(e=>e.id).reverse()}selectTrackItemByIds(t){const e=this.getActiveObjects().map(n=>n.id);if(r0(e,t))return;const r=this.getObjects(...me.objectTypes,"Transition").filter(n=>t.includes(n.id));if(!r.length)this.discardActiveObject();else if(r.length===1)this.setActiveObject(r[0]);else{const n=new Ot(r);this.setActiveObject(n)}this.requestRenderAll()}synchronizeTrackItemsState(){this.pauseEventListeners();const t=this.getTrackItems(),e={};t.forEach(s=>{const{id:r,left:n,width:o}=s,a=this.trackItemsMap[r],c=L(n,this.tScale),h=L(o,this.tScale),l={from:c,to:c+h},u={display:l};s instanceof Jt&&(u.trim=s.trim),s.display=l,e[r]={...a,...u}}),this.trackItemsMap={...this.trackItemsMap,...e},this.resumeEventListeners()}deleteTrackItemById(t){const e=t,s=this.getObjects().filter(a=>t.includes(a.id)),r=Ks(this.tracks,e),n={};Object.keys(this.trackItemsMap).forEach(a=>{e.includes(a)||(n[a]=this.trackItemsMap[a])});const o=this.trackItemIds.filter(a=>!e.includes(a));this.tracks=r,this.trackItemsMap=n,this.trackItemIds=o,this.discardActiveObject(),this.remove(...s),this.renderTracks(),this.alignItemsToTrack()}deleteActiveTrackItem(){const t=this.getActiveObjects();if(!t.length)return!1;const e=t.map(o=>o.id),s=Ks(this.tracks,e),r={};Object.keys(this.trackItemsMap).forEach(o=>{e.includes(o)||(r[o]=this.trackItemsMap[o])});const n=this.trackItemIds.filter(o=>!e.includes(o));this.tracks=s,this.trackItemsMap=r,this.trackItemIds=n,this.discardActiveObject(),this.remove(...t),this.setActiveIds([]),this.renderTracks(),this.alignItemsToTrack(),this.updateState({updateHistory:!0,kind:"remove"})}updateTrackItemCoords(t){const e=t?this.getActiveObjects().map(s=>s.id):[];!t&&this.pauseEventListeners(),this.trackItemIds.forEach(s=>{if(e.includes(s))return;const r=this.getObjects().find(c=>c.id===s),n=this.trackItemsMap[s],o=Z(n.display.from,this.tScale),a=Z(n.display.to-n.display.from,this.tScale);r.set({left:o,width:a}),r.setCoords()}),!t&&this.resumeEventListeners()}getTrackItems(){return this.getObjects(...me.objectTypes)}setTrackItemCoords(){this.getTrackItems().forEach(t=>{t.setCoords()})}setActiveTrackItemCoords(){this.getActiveObjects().forEach(e=>e.setCoords())}}const Ch=i=>{switch(i){case"top":return 1e3;case"bottom":return 1e3;case"center":return 8;default:return 1e3}};class u0{findOrCreateTrack(t,{trackId:e,trackIndex:s}){if(e){const o=this.tracks.find(a=>a.id===e);if(o)return o.items.push(t.id),e}const r=this.getItemAccepts(t.type),n={id:qs(),items:[t.id],type:t.type,accepts:r,magnetic:!1,static:!1,muted:!1};return s!==void 0?this.tracks.splice(s,0,n):this.tracks.push(n),this.renderTracks(),n.id}removeTracks(){this.getObjects("Track","Helper").forEach(e=>this.remove(e))}renderTracks(){this.filterEmptyTracks(),this.removeTracks();const t=this.width,e=this.tracks.flatMap(a=>[a,{id:`helper-${a.id}`,type:"helper",items:[],accepts:[]}]).slice(0,-1);let s=-970;const r=k.getClass("Helper")||ue,n=new r({top:s,selectable:!1,evented:!1,tScale:this.tScale,id:"helper-line-top",width:t,kind:"top",height:1e3,metadata:{}});s+=Ch("top"),this.insertAt(0,n),e.forEach((a,c)=>{if(a.type==="helper"){const h=Ch("center"),l=new r({id:a.id,top:s,tScale:this.tScale,width:t,height:h,metadata:{order:(c+1)/2},kind:"center"});s+=h,this.insertAt(0,l)}else{const h=this.getItemSize(a.type),l=k.getClass("Track")||Ft,u=this.getItemAccepts(a.type),d=new l({id:a.id,top:s,left:0,height:h,width:t,tScale:this.tScale,accepts:u,items:a.items,magnetic:a.magnetic,static:a.static});s+=h,this.insertAt(0,d)}});const o=new r({id:"helper-line-bottom",top:s,selectable:!1,evented:!1,tScale:this.tScale,width:t,kind:"bottom",height:1e3,metadata:{}});this.insertAt(0,o)}filterEmptyTracks(){const t=new Set;this.tracks=this.tracks.filter(e=>(e.items.length||e.static)&&!t.has(e.id)?(t.add(e.id),!0):!1)}refreshTrackLayout(){const t=this.bounding.width+this.spacing.right;this.getObjects("Track","Helper").forEach(e=>{e.updateCoords(t),e.setCoords()})}adjustMagneticTrack(){this.pauseEventListeners();const t=this.tracks.filter(e=>e.magnetic);t.length>0&&t.forEach(e=>{const s=e.accepts||[],r=this.getObjects(...s).filter(o=>e.items.includes(o.id)).sort((o,a)=>o.left-a.left);let n=0;r.forEach(o=>{o.left=n,n+=o.width})}),this.resumeEventListeners()}}function Oh(i){const t=this,e=i.target,s=i.transform;if(s.action==="resizing"){const r=t.getObjects().filter(u=>u!==e&&!["Track","Helper","Transition","Placeholder"].includes(u.type)),n=10,o=e.left,a=e.width*e.scaleX,c=o+a;let h=!1;r.forEach(u=>{if(h)return;const d=u.getBoundingRect(),f=d.left,g=d.left+d.width;if(s.corner==="mr"){const p=Math.abs(c-g),m=Math.abs(c-f),b=L(1,e.tScale);if(p<n)if(e instanceof Jt){const _=g-e.left,x=_-a,w=L(x,e.tScale,e.playbackRate),C=e.trim.to+w;if(_<b||_<b)return;C<=e.duration&&(e.set({width:_,scaleX:1}),e.trim.to=C,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:g-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(m<n)if(e instanceof Jt){const _=f-e.left,x=_-a,w=L(x,e.tScale,e.playbackRate),C=e.trim.to+w;if(_<b)return;C<=e.duration&&(e.set({width:_,scaleX:1}),e.trim.to=C,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({width:f-e.left,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}else if(s.corner==="ml"){const p=Math.abs(o-f),m=Math.abs(o-g);if(p<n)if(e instanceof Jt){const b=c-f,_=b-a,x=L(_,e.tScale,e.playbackRate),w=e.trim.from-x;w>=0&&(e.set({left:f,width:b,scaleX:1}),e.trim.from=w,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:f,width:c-f,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0;else if(m<n)if(e instanceof Jt){const b=c-g,_=b-a,x=L(_,e.tScale,e.playbackRate),w=e.trim.from-x;w>=0&&(e.set({left:g,width:b,scaleX:1}),e.trim.from=w,e.onResizeSnap&&e.onResizeSnap(),h=!0)}else e.set({left:g,width:c-g,scaleX:1}),e.onResizeSnap&&e.onResizeSnap(),h=!0}}),h&&(e.setCoords(),t.requestRenderAll());const l=t.tracks.find(u=>u.magnetic);if(l&&l.items.includes(e.id)){const u=t.getTrackItems().filter(g=>l.items.includes(g.id)),d=Math.max(...u.map(g=>{const p=L(g.left,t.tScale),m=L(g.width*g.scaleX,t.tScale);return p+m}));t.getTrackItems().filter(g=>g.type==="audio").forEach(g=>{var m;const p=t.trackItemsMap[g.id];if(p){const b=p.duration||0,_=(m=p.metadata)==null?void 0:m.userLimitDuration,x=typeof _=="number"?_:b,w=p.display.from||0,C=Math.max(0,d-w),O=Math.min(C,x);g.display={from:w,to:w+O},g.trim&&(g.trim={from:g.trim.from||0,to:(g.trim.from||0)+O});const D=Z(O,t.tScale);g.set({width:D,scaleX:1}),g.setCoords()}}),t.requestRenderAll()}}}function d0(i){i.on("object:resizing",Oh.bind(i))}function f0(i){i.off("object:resizing",Oh.bind(i))}const er=100,Jn=0,wi=5,kh=3,g0=25,_s={scrollInterval:null};function Mh(i){const t=g0-kh,e=(er-i)/er;return kh+t*e}function p0(i,t){_s.scrollInterval&&clearInterval(_s.scrollInterval);const e=t.target,s=e.getBoundingRect();_s.scrollInterval=setInterval(()=>{const r=i.viewportTransform,n=i.getViewportPoint(t.e);if(n.x>i.width-er&&e.left+s.width<i.bounding.width){const o=Mh(i.width-n.x);e.set("left",e.left+o),i.setViewportPos(r[4]-o,r[5])}if(n.x<er&&e.left>0&&r[4]<er&&r[4]<i.spacing.left){const o=Mh(n.x);e.set("left",e.left-o),i.setViewportPos(r[4]+o,r[5])}n.y>i.height-Jn&&e.top+s.height<i.bounding.height+80&&(e.set("top",e.top+wi),i.setViewportPos(r[4],r[5]-wi)),n.y<Jn&&e.top>-80&&-r[5]>Jn&&(e.set("top",e.top-wi),i.setViewportPos(r[4],r[5]+wi)),e.setCoords(),i.requestRenderAll()},16)}function m0(){_s.scrollInterval&&(clearInterval(_s.scrollInterval),_s.scrollInterval=null)}function Dh(){m0()}function Ih(i){p0(this,i)}function v0(i){i.on("mouse:up",Dh),i.on("object:moving",Ih.bind(i))}function y0(i){i.off("mouse:up",Dh),i.off("object:moving",Ih.bind(i))}function Eh(i){const t=i.target,e=i.target.canvas;if(i.action==="resizing"&&t instanceof Bt&&e){const s=t.id,r=e.getObjects("Transition").find(n=>n.id===s);if(r&&r instanceof Bt){const n=qe(this.transitionsMap),o={...n,[s]:{...n[s],width:r.width,duration:r.duration}};this.transitionsMap=o,this.updateState()}}}function b0(i){i.on("object:modified",Eh)}function _0(i){i.off("object:modified",Eh)}const jh={canvas:null,enableGuideRedraw:!0,isPointerOverHelperTrack:!1,draggingOverTrack:null,placeholderMovingObjects:[],primaryMovingObjects:[],secondaryMovingObjects:[],objectInitialPositions:{},originTrack:{},trackToItemsMap:{},activeTrackToItemsMap:{},trackTopToIdMap:{},trackTops:[],activeObjects:[],primaryTracks:{},secondaryTracks:{},isDragOver:!1,initialTrackPoints:[],updateItemsInTrack:null,orderNormalTrack:!1},Q=()=>jh,ct=i=>{Object.assign(jh,i)},Ph=10,xi=(i,t)=>{t.forEach(e=>e.isAlignmentAuxiliary&&i.remove(e))},Ah=(i,t)=>{const e=[],s=[];return t.getObjects().filter(r=>r.visible).forEach(r=>{if(i.find(o=>o.id===r.id)||r.isAlignmentAuxiliary)return;const n=r.getBoundingRect();e.push(Wh(n.left,n.width,n.top,n.height)),s.push(Wh(n.top,n.height,n.left,n.width))}),{vertical:e.flat(),horizontal:[]}},Lh=(i,t)=>{const e=[],s=[];i.vertical.forEach(a=>{t.vertical.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Ph&&e.push({lineGuide:a.val,diff:h,orientation:"V",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})}),i.horizontal.forEach(a=>{t.horizontal.forEach(c=>{const h=Math.abs(a.val-c.guide);h<Ph&&s.push({lineGuide:a.val,diff:h,orientation:"H",snap:c.snap,offset:c.offset,targetDim:{start:a.start,end:a.end}})})});const r=[],n=e.sort((a,c)=>a.diff-c.diff)[0],o=s.sort((a,c)=>a.diff-c.diff)[0];return n&&r.push({lineGuide:n.lineGuide,offset:n.offset,orientation:"V",snap:n.snap,targetDim:n.targetDim}),o&&r.push({lineGuide:o.lineGuide,offset:o.offset,orientation:"H",snap:o.snap,targetDim:o.targetDim}),r},Rh=(i,t,e)=>{i.forEach(s=>{const r=T0(e.getZoom());s.orientation==="H"?e.add(Fh([0,s.lineGuide-r.strokeWidth/2,2e3,s.lineGuide-r.strokeWidth/2],{...r,stroke:e.guideLineColor})):s.orientation==="V"&&e.add(Fh([s.lineGuide-r.strokeWidth/2,0,s.lineGuide-r.strokeWidth/2,2e3],{...r,stroke:e.guideLineColor}))})},T0=i=>({strokeWidth:2/i}),Fh=(i,t)=>new Ce(i,{...t,strokeLineCap:"square",excludeFromExport:!0,isAlignmentAuxiliary:!0,selectable:!1,objectCaching:!1}),Bh=i=>{const t=i.getBoundingRect();return{vertical:[{guide:Math.round(t.left),offset:Math.round(i.left-t.left),snap:"start"},{guide:Math.round(t.left+t.width),offset:Math.round(i.left-t.left-t.width),snap:"end"}],horizontal:[{guide:Math.round(t.top),offset:Math.round(i.top-t.top),snap:"start"},{guide:Math.round(t.top+t.height),offset:Math.round(i.top-t.top-t.height),snap:"end"}]}},Wh=(i,t,e,s)=>[i,i+t].map(n=>({val:n,start:e,end:e+s})),Xh=(i,t)=>{i.remove(...t),t=[]},zh=i=>{i.forEach(t=>t.setSelected(!1))},Hh=i=>i instanceof ue,S0=i=>Object.assign({},{left:16,right:80},i),w0=["touchstart","touchmove","touchend"],x0=i=>w0.includes(i.type)||i.pointerType==="touch";function Yh(i){const t=this;if(!t)return;const s=Q().enableGuideRedraw,r=t.getScenePoint(i.e),n=t.getObjects("Helper","Track"),o=n.find(g=>{const p=g.getBoundingRect();return r.x>=p.left&&r.x<=p.left+p.width&&r.y>=p.top&&r.y<=p.top+p.height});ct({draggingOverTrack:o}),n.forEach(g=>{Hh(g)&&(g===o?g.setSelected(!0):g.setSelected(!1))}),Hh(o)?ct({isPointerOverHelperTrack:!0}):ct({isPointerOverHelperTrack:!1});const a=t.getObjects(),c=i.target,h=c.getBoundingRect();c.setCoords();const l=[c,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],u=Ah(l,t),d=Bh(c),f=Lh(u,d);s&&(xi(t,a),f.length&&Rh(f,h,t),ct({enableGuideRedraw:!1}),setTimeout(()=>ct({enableGuideRedraw:!0}),50)),f.forEach(g=>{g.orientation==="V"?c.left=g.lineGuide+g.offset:c.top=g.lineGuide+g.offset})}function Vh(i){const t=i.target.canvas;t&&(xi(t,t.getObjects()),zh(t.getObjects("Helper")),ct({draggingOverTrack:null,isPointerOverHelperTrack:!1}))}function Gh(i){var a;const t=this,e=t.getObjects(),s=i.target,r=i.transform,n=(a=t._currentTransform)==null?void 0:a.corner,o=s.getBoundingRect();if(r.action==="resizing"){const c=[s,...t.getActiveObjects(),...t.getObjects("Track","Helper","Transition","Placeholder")],h=Ah(c,t),l=h.vertical.filter(f=>{const g=f.val;if(n==="ml")return g<=o.left;if(n==="mr")return g>=o.left+o.width});h.vertical=l;const u=Bh(s),d=Lh(h,u);xi(t,e),d.length&&Rh(d,o,t)}}function C0(i){i.on("object:moving",Yh.bind(i)),i.on("object:modified",Vh.bind(i)),i.on("object:resizing",Gh.bind(i))}function O0(i){i.off("object:moving",Yh.bind(i)),i.off("object:modified",Vh.bind(i)),i.off("object:resizing",Gh.bind(i))}function Zn(i,t,e){const s=i.indexOf(t),r=i.indexOf(e);return s===-1||r===-1?null:r-s}function Nh(i,t){const e=t.sort((r,n)=>r.tempIndex-n.tempIndex),s=[];for(const r of e)r.tempIndex<0&&s.push(r);s.push(i);for(const r of e)r.tempIndex>=0&&s.push(r);return s}function Uh(i){const t=Q(),e=t.canvas;ct({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1,initialTrackPoints:[],updateItemsInTrack:null}),e.trackIdAfterTransform="",e.positionAfterTransform={};const s=e.getActiveObject(),r=s instanceof Ot?s.getObjects():[s];ct({activeObjects:r});const n=e.getScenePoint(i.e),o=e.getObjects("Track"),a=e.getActiveObjects().map(u=>u.id);let h=o.filter(u=>{const d=u.items;return a.some(f=>d.includes(f))}).find(u=>{const d=u.getBoundingRect();return n.x>=d.left&&n.x<=d.left+d.width&&n.y>=d.top&&n.y<=d.top+d.height});ct({originTrack:h});const l=e.getObjects(...this.itemTypes);o.forEach(u=>{const d=l.filter(f=>u.items.includes(f.id));t.trackToItemsMap[u.id]=d,t.trackTopToIdMap[u.top]=u.id,t.trackTops.push(u.top)}),t.trackTops.sort((u,d)=>u-d),r.forEach(u=>{const d=o.find(g=>g.items.includes(u.id));if(!d)return;const f=d.id;t.activeTrackToItemsMap[f]?t.activeTrackToItemsMap[f].push(u):t.activeTrackToItemsMap[f]=[u]}),t.primaryMovingObjects=r.filter(u=>{const d=u.getBoundingRect();return n.y>=d.top&&n.y<=d.top+d.height&&!(u instanceof Bt)}),t.primaryMovingObjects.length!==0&&(t.primaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[d];if(t.primaryTracks[f])t.primaryTracks[f].objects.push(u);else{const g=Zn(t.trackTops,h==null?void 0:h.top,d);t.primaryTracks[f]={objects:[u],index:g}}}),t.primaryMovingObjects=t.primaryMovingObjects.sort((u,d)=>u.left-d.left),t.secondaryMovingObjects=r.filter(u=>!t.primaryMovingObjects.includes(u)),t.secondaryMovingObjects.forEach(u=>{const d=u.getBoundingRect().top,f=t.trackTopToIdMap[u.getBoundingRect().top];if(t.secondaryTracks[f])t.secondaryTracks[f].objects.push(u);else{const g=Zn(t.trackTops,h.top,d);t.secondaryTracks[f]={objects:[u],index:g}}}),h&&(e.trackOriginBeforeTransform=h.id),s&&(e.positionBeforeTransform={top:s.top,left:s.left}),i.transform.action==="drag"&&(t.placeholderMovingObjects=t.primaryMovingObjects.map(u=>{const d=u.getBoundingRect();t.objectInitialPositions[u.id]={top:d.top,left:d.left};const f=new fs({id:`${u.id}-placeholder`,left:d.left,top:d.top,width:d.width,height:d.height});return f.draggedObject=u,f}),e.add(...t.placeholderMovingObjects)))}function k0(i){i.on("before:transform",Uh.bind(i))}function M0(i){i.off("before:transform",Uh.bind(i))}const ks=class ks extends st{constructor(e){super(e);S(this,"duration");S(this,"fromId");S(this,"toId");S(this,"itemType","none");S(this,"isSelected",!1);Object.assign(this,ks.ownDefaults),this.id=e.id}static createControls(){return{controls:En()}}static getDefaults(){return{...super.getDefaults(),...ks.ownDefaults}}updateCoords(){const e=this.canvas;if(!e)return;const s=e.getObjects().find(o=>o.id===this.fromId);if(!s)return;const r=Z(this.duration,this.tScale),n=s.left+s.width-r/2;this.set({width:r,left:n})}_render(e){super._render(e),this.drawTextIdentity(e),this.updateSelected(e)}drawTextIdentity(e){const s=new Path2D("M3 5.30359C3 3.93159 4.659 3.24359 5.629 4.21359L11.997 10.5826L10.583 11.9966L5 6.41359V17.5856L10.586 11.9996L10.583 11.9966L11.997 10.5826L12 10.5856L18.371 4.21459C19.341 3.24459 21 3.93159 21 5.30359V18.6956C21 20.0676 19.341 20.7556 18.371 19.7856L12 13.5L13.414 11.9996L19 17.5866V6.41359L13.414 11.9996L13.421 12.0056L12.006 13.4206L12 13.4136L5.629 19.7846C4.659 20.7546 3 20.0676 3 18.6956V5.30359Z");e.save(),e.translate(-12,-12),e.fillStyle="#ffffff",e.fill(s),e.restore()}setSelected(e){this.isSelected=e,this.set({dirty:!0})}updateSelected(e){this.isSelected&&(e.save(),e.beginPath(),e.roundRect(-this.width/2,-this.height/2,this.width,this.height,this.rx),e.lineWidth=Ns,e.strokeStyle=Ge,e.stroke(),e.restore())}};S(ks,"type","TransitionGuide"),S(ks,"ownDefaults",{objectCaching:!1,borderColor:"transparent",stroke:"transparent",strokeWidth:1.5,fill:"rgba(0,0,0, 0.85)",borderOpacityWhenMoving:1,hoverCursor:"default",lockMovementX:!0,lockMovementY:!0,duration:1500,rx:8,ry:8});let sr=ks;const D0=i=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=i,r=new Map;Object.values(e).forEach(h=>{var f,g;const{fromId:l,toId:u,kind:d}=h;d!=="none"&&(r.has(l)||r.set(l,[]),r.has(u)||r.set(u,[]),(f=r.get(l))==null||f.push(h),(g=r.get(u))==null||g.push(h))});const n=[],o=new Set,a=h=>{const l=[];let u=h;for(;u&&!o.has(u);){o.add(u);const d=s[u];l.push(d);const f=Object.values(e).find(g=>g.fromId===u&&g.kind!=="none");if(!f)break;l.push(f),u=f.toId}return l},c=Object.values(e).filter(h=>h.kind!=="none");for(const h of t)if(!o.has(h)&&(!r.has(h)||!c.some(l=>l.toId===h))){const l=a(h);l.length>0&&n.push(l)}return n.forEach(h=>{h.sort((l,u)=>"display"in l&&"display"in u?l.display.from-u.display.from:0)}),n},I0=["text","image","video","audio","caption","template"];function $h(){const i=Q();Xh(this,i.placeholderMovingObjects)}function E0(i){const t=i.target.left;i.target.left=Math.max(t,0)}function qh(i,t){return i.find(s=>{const r=s.getBoundingRect();return t.left<r.left+r.width&&t.left+t.width-1>r.left&&t.top<r.top+r.height&&t.top+t.height>r.top})}function j0(i,t){const s=i.canvas.getActiveObject(),r=s.left+s.width/2,n=t.left+t.width/2;return r<n?t.left-s.width:(r>n,t.left+t.width)}const P0=(i,t,e)=>!(e<0||qh(i,{...t.getBoundingRect(),left:e})),Kh=i=>{const e=Q().draggingOverTrack,s=e==null?void 0:e.accepts.map(n=>n.toLowerCase()),r=i.type.toLowerCase();return i instanceof de,e&&(s==null?void 0:s.includes(r))};function A0(i){Q().isPointerOverHelperTrack?i.opacity=0:i.opacity=1}function L0(){const i=Q(),t=i.primaryMovingObjects[0];return{top:i.objectInitialPositions[t.id].top,left:i.objectInitialPositions[t.id].left}}function R0(i){const t=i.getBoundingRect(),e=Q(),s=e.draggingOverTrack;if(e.primaryMovingObjects.map(n=>n.id).includes(i.id)){const o=e.primaryMovingObjects[0].getBoundingRect();return{top:s.top,left:o.left}}return{top:s.top,left:t.left}}function F0(i,t,e,s){const n=i.canvas.getActiveObjects().map(l=>l.id),o=j0(i,t),a=e.filter(l=>!n.includes(l.id)),c=P0(a,i,o),h=Q();if(h.orderNormalTrack=!0,!c||s.x-20<0){const l=h.draggingOverTrack;return{left:h.initialTrackPoints.reduce((d,f)=>Math.abs(f-s.x)<Math.abs(d-s.x)?f:d),top:l.top}}return{left:o,top:t.top}}const B0=(i,t)=>{i.forEach((e,s)=>{e.set({left:t[s]})})},Jh=h0(i=>{const t=i.target.canvas;E0(i);const e=Q(),s=e.draggingOverTrack;if(s){const a=e.primaryMovingObjects[0];I0.includes(a.type)&&e.placeholderMovingObjects.forEach(c=>{c.visible=!0})}else{e.placeholderMovingObjects.forEach(a=>{a.visible=!1});return}const r=e.placeholderMovingObjects.map(a=>a.draggedObject),n=(e.trackToItemsMap[s.id]||[]).filter(a=>!r.includes(a)),o=Kh(e.primaryMovingObjects[0]);if(s.magnetic&&o){e.updateItemsInTrack?e.updateItemsInTrack!==s.id&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=[]):(e.updateItemsInTrack=s.id,e.initialTrackPoints=[]),e.initialTrackPoints.length===0&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=Zh(e,s));let a=0;for(const[c,h]of e.initialTrackPoints.entries()){const l=h,u=e.initialTrackPoints[c+1],d=e.initialTrackPoints[c-1],f=u-l,g=l-d;if(!u)a=l;else if(l<=i.pointer.x&&l+f/2>=i.pointer.x){a=l;break}else if(l-g/2<=i.pointer.x&&i.pointer.x<=l){a=l;break}}e.placeholderMovingObjects.forEach(c=>{c.opacity=1,c.left=a,c.top=s.top,a+=c.width}),e.placeholderMovingObjects.forEach(c=>{const h=c.draggedObject;t.positionAfterTransform[h.id]={top:c.top,left:c.left}}),t.trackIdAfterTransform=e.trackTopToIdMap[s.top]}else{if(e.orderNormalTrack=!1,e.updateItemsInTrack&&e.updateItemsInTrack!==s.id){const d=t.getObjects().find(f=>f.id===e.updateItemsInTrack);d!=null&&d.magnetic?W0(t,e):t.updateTrackItemCoords(!0),e.updateItemsInTrack=null,e.initialTrackPoints=[]}e.initialTrackPoints.length===0&&s instanceof Ft&&(e.updateItemsInTrack=s.id,e.initialTrackPoints=Zh(e,s));const a=n.find(d=>qh(r,d.getBoundingRect())),c=[],l=e.primaryMovingObjects.sort((d,f)=>d.left-f.left),u=l[0];l.forEach((d,f)=>{if(!l[f-1])return;const g=d.left-u.left;c.push(g)}),e.placeholderMovingObjects.forEach((d,f)=>{const g=d.draggedObject;if(g instanceof sr){d.visible=!1;return}g.setCoords(),A0(d);let p=Y0(g,n,i.pointer,a);if(e.draggingOverTrack instanceof ue?d.opacity=0:d.opacity=1,g instanceof de&&p.isInvalidDrop&&e.draggingOverTrack instanceof Ft){const m=i.pointer,b=[...t.viewportTransform],_=m.y-b[5];H0(t,_)}else e.primaryMovingObjects.length>1?(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left+(c[f-1]||0)},d.left=p.left+(c[f-1]||0),d.top=p.top):(t.trackIdAfterTransform=e.trackTopToIdMap[p.top],t.positionAfterTransform[g.id]={top:p.top,left:p.left},d.left=p.left,d.top=p.top)})}}),Zh=(i,t)=>{const e=i.canvas,s=[];t.items.forEach(h=>{const l=e.getObjects().find(u=>u.id===h);l&&s.push(l)});const r=i.activeObjects.map(h=>h.id),o=s.filter(h=>!r.includes(h.id)).sort((h,l)=>h.left-l.left);let a=0;const c=[];return t.magnetic?X0(o,a,c):z0(t,c,e),c};function W0(i,t){const e=[];i.getObjects().find(a=>a.id===t.updateItemsInTrack).items.forEach(a=>{const c=i.getObjects().find(h=>h.id===a);c&&e.push(c)});const r=t.activeObjects.map(a=>a.id),o=e.filter(a=>!r.includes(a.id)).sort((a,c)=>a.left-c.left);t.initialTrackPoints.length>o.length&&B0(o,t.initialTrackPoints)}function X0(i,t,e){var h;const s=Q(),r=(h=i[0])==null?void 0:h.canvas,n=s.draggingOverTrack,o=s.primaryMovingObjects.map(l=>l.id);if(!r)return;const a=r.transitionIds.filter(l=>r.transitionsMap[l].kind!=="none");i.forEach(l=>{l.set({left:t}),t+=l.width,a.find(d=>r.transitionsMap[d].toId===l.id)||e.push(l.left)});const c=i[i.length-1];if(e.push(((c==null?void 0:c.left)||0)+((c==null?void 0:c.width)||0)),n!=null&&n.items.includes(o[0])){const l=s.primaryMovingObjects[0],u=[...e];if(l){const d=u.findIndex(f=>f>(l==null?void 0:l.left));d!==-1&&e.splice(d,0,Z(l.display.from,r.tScale))}}}function z0(i,t,e){const s=i.items,r={},n={},o=e.getActiveObjects().map(h=>h.id);Object.values(e.trackItemsMap).forEach(h=>{s.includes(h.id)&&(r[h.id]=h)});const a=e.getObjects("Transition").filter(h=>h.top===i.top).map(h=>h.id);Object.values(e.transitionsMap).forEach(h=>{a.includes(h.id)&&(n[h.id]=h)});const c=D0({trackItemIds:qe(s),transitionsMap:qe(n),trackItemsMap:qe(r)});t.push(0),c.forEach(h=>{if(h.length===1){const l=e.getObjects().find(u=>u.id===h[0].id);o.includes(l.id)||t.push(l.left+l.width)}else{const l=h[h.length-1],u=e.getObjects().find(d=>d.id===l.id);t.push(u.width+u.left)}})}function H0(i,t){i.getObjects("Helper").reduce((r,n)=>Math.abs(n.top-t)<Math.abs(r.top-t)?n:r).setSelected(!0)}const Y0=(i,t,e,s)=>{const r=Kh(i);return!r&&i instanceof de?{top:0,left:0,isInvalidDrop:!0}:r?s?i instanceof de?{top:0,left:0,isInvalidDrop:!0}:F0(i,s,t,e):R0(i):L0()};function V0(i){i.on("mouse:up",$h.bind(i)),i.on("object:moving",Jh)}function G0(i){i.off("mouse:up",$h.bind(i)),i.off("object:moving",Jh)}const N0=i=>{Q().canvas.fire("track:create",i)},U0=i=>{Q().canvas.fire("track-items:moved",i)},Qh=i=>{var a,c,h;const t=(a=i.target)==null?void 0:a.canvas;if(!t)return;const e=Q(),s=t.getActiveObject();if(!s||!t.positionBeforeTransform)return;const r=t.getScenePoint(i.e),o=t.getObjects("Track","Helper").find(l=>{const u=l.getBoundingRect();return r.x>=u.left&&r.x<=u.left+u.width&&r.y>=u.top&&r.y<=u.top+u.height});if(i.action==="resizing"){const l=(e.trackToItemsMap[(c=e.originTrack)==null?void 0:c.id]||[]).filter(d=>d!==s);s.setCoords();const u=tl(l,s.getBoundingRect());return t.fire("track-items:resized",{trackId:(h=e.originTrack)==null?void 0:h.id,trackItemIds:[s.id],isOverlapped:!!u}),!1}if(!o)return s==null||s.set(t.positionBeforeTransform),s==null||s.setCoords(),!1;if(o instanceof ue){let l;switch(o.kind){case"top":l=0;break;case"center":l=o.metadata.order||0;break;case"bottom":l=-1;break;default:return}const u={isSecondaryOverlapped:!1,secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackIndex:l,trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};N0(u)}else if(o instanceof Ft){const u={isSecondaryOverlapped:q0(),secondaryTracks:e.secondaryTracks,primaryTracks:e.primaryTracks,primaryPositions:{trackId:t.trackIdAfterTransform,positions:t.positionAfterTransform}};U0(u)}};function $0(){const i=Q(),t=i.canvas,[e]=i.primaryMovingObjects,s=e.id,r=t.positionAfterTransform[s],n=e.getBoundingRect().top,o=r.top-n,a={};return i.secondaryMovingObjects.forEach(c=>{const h=c.getBoundingRect().top+o,l=i.trackTopToIdMap[h],u=Zn(i.trackTops,i.originTrack.top,h);a[l]?a[l].objects.push(c):a[l]={objects:[c],index:u}}),a}function q0(){const i=$0(),t=Q();return Object.keys(i).some(e=>{const s=t.trackToItemsMap[e],r=i[e].objects;return!s||!s.length?!0:s.filter(n=>!r.includes(n)).some(n=>tl(r,n.getBoundingRect()))})}function tl(i,t){return i.find(s=>{const r=s.getBoundingRect();return t.left<r.left+r.width&&t.left+t.width>r.left&&t.top<r.top+r.height&&t.top+t.height>r.top})}const K0=i=>{i.on("object:modified",Qh)},J0=i=>{i.off("object:modified",Qh)},Qn="drag",el=`${Qn}:start`,to=`${Qn}:end`,eo="timeline",sl=`${eo}:boundingChanged`,rl=`${eo}:seek`,Z0=i=>{const{trackItemIds:t,transitionsMap:e,trackItemsMap:s}=i,r=new Map;Object.values(e).forEach(c=>{var u,d;if(c.kind==="none")return;const{fromId:h,toId:l}=c;r.has(h)||r.set(h,[]),r.has(l)||r.set(l,[]),(u=r.get(h))==null||u.push(c),(d=r.get(l))==null||d.push(c)});const n=[],o=new Set,a=c=>{const h=[];let l=c;for(;l&&!o.has(l);){o.add(l);const u=s[l];h.push(u);const d=Object.values(e).find(f=>f.fromId===l&&f.kind!=="none");if(!d)break;h.push(d),l=d.toId}return h};for(const c of t)if(!o.has(c)&&(!r.has(c)||!Object.values(e).some(h=>h.toId===c&&h.kind!=="none"))){const h=a(c);h.length>0&&n.push(h)}return n.forEach(c=>{c.sort((h,l)=>"display"in h&&"display"in l?h.display.from-l.display.from:0)}),n},Q0="add:audio",ty="add:video",ey="add:image",sy="add:text",ry=["transition","image","video","audio","caption","text"];let it,rr,Ke=[],ir="";function iy(i,t){let e=1/0,s=null;const r=new T(i.x,i.y);return t.forEach(n=>{const o=Math.sqrt(Math.pow(n.left-r.x,2)+Math.pow(n.top-r.y,2));o<e&&(e=o,s=n)}),s}const ny=({width:i,height:t,id:e,left:s,top:r,type:n,duration:o})=>{if(n==="transition")return new sr({top:0,left:0,height:48,width:48,id:"TransitionGuide"});const a=k.getClass("PreviewTrackItem")||de;return new a({top:r,left:s,height:t,width:i,id:e,type:n,duration:o})};function il(i){var f;let t=null;for(const g of((f=i.e.dataTransfer)==null?void 0:f.types)||[])try{t=JSON.parse(g);break}catch{try{const p=i.e.dataTransfer.getData(g);if(p){t=JSON.parse(p);break}}catch{}}if(!t)return;const e=t.type;if(!ry.includes(e))return;const s=t.duration||5e3,r=this;r.discardActiveObject(),r.setActiveIds([]);const n=Z(s,this.tScale),o=r.getItemSize(e),a=r.getTrackItems();if(it=ny({width:n,height:o,id:"TransitionGuide",left:0,top:0,type:e,duration:s}),it.visible=!1,ir=e,e==="transition"){Ke=r.getObjects("Transition");const g=Ke.filter(p=>p.kind!=="none");Ke.forEach(p=>{const m=a.find(C=>C.id===p.toId),b=a.find(C=>C.id===p.fromId),_=p.width;((m==null?void 0:m.width)||0)>=_/2&&((b==null?void 0:b.width)||0)>=_/2||(p.availableDrop=!1);const x=g.find(C=>C.fromId===p.toId);x&&x.width+_/2>=((m==null?void 0:m.width)||0)&&(p.availableDrop=!1);const w=g.find(C=>C.toId===p.fromId);w&&w.width+_/2>=((b==null?void 0:b.width)||0)&&(p.availableDrop=!1),p.visible=!0})}const c=Q();r.trackIdAfterTransform="",r.positionAfterTransform={};const h=it,l=[it];ct({activeTrackToItemsMap:{},primaryTracks:{},secondaryTracks:{},trackTops:[],trackToItemsMap:{},activeObjects:[],trackTopToIdMap:{},isDragOver:!1}),ct({activeObjects:l});const u=r.getObjects("Track"),d=r.getTrackItems();u.forEach(g=>{const p=d.filter(m=>g.items.includes(m.id));c.trackToItemsMap[g.id]=p,c.trackTopToIdMap[g.top]=g.id,c.trackTops.push(g.top)}),c.trackTops.sort((g,p)=>g-p),c.primaryMovingObjects=l,c.primaryMovingObjects=c.primaryMovingObjects.sort((g,p)=>g.left-p.left),h&&(r.positionBeforeTransform={top:h.top,left:h.left}),c.placeholderMovingObjects=c.primaryMovingObjects.map(g=>{const p=g.getBoundingRect();c.objectInitialPositions[g.id]={top:p.top,left:p.left};const m=new fs({id:`${g.id}-placeholder`,left:p.left,top:p.top,width:p.width,height:p.height});return m.visible=!1,m.draggedObject=g,m}),r.add(...c.placeholderMovingObjects),r.add(it),tt.dispatch(el)}const nl=i=>{const t=Q();Xh(i,t.placeholderMovingObjects),i&&(xi(i,i.getObjects()),zh(i.getObjects("Helper")))};function ol(){if(ir="",nl(this),ct({draggingOverTrack:null,isPointerOverHelperTrack:!1}),!it)return;tt.dispatch(to);const i=this;Ke.forEach(t=>{t.strokeDashArray=[],t.setSelected(!1),t.kind==="none"&&(t.visible=!1)}),i.getObjects("Helper","Track").forEach(t=>{t.setSelected&&t.setSelected(!1)}),i.remove(it)}function al(i){const t=Q();if(!it||!t.placeholderMovingObjects||!t.placeholderMovingObjects[0])return!1;const e=t.placeholderMovingObjects[0];e.visible||(it.visible=!0,e.visible=!0),t.activeObjects[0]instanceof sr&&(e.visible=!1),i.e.preventDefault();const s=this,r=s.getScenePoint(i.e);it.set({left:r.x-16,top:r.y-it.height/2});const n=iy(r,Ke.filter(c=>c.availableDrop));n&&(rr=n,n.strokeDashArray=[5,1],n.setSelected(!0)),Ke.forEach(c=>{c!==n&&c.setSelected(!1)}),ct({isDragOver:!0}),it.setCoords();const o={target:it,action:"drag",originX:"center",originY:"center",offsetX:r.x-it.left,offsetY:r.y-it.top,scaleX:it.scaleX,scaleY:it.scaleY};if(t.activeObjects[0].type!=="transitionguide"&&s.fire("object:moving",{target:it,e:i.e,pointer:r,transform:o}),this.itemTypes.includes(ir))if(t.draggingOverTrack instanceof Ft){ct({isPointerOverHelperTrack:!1});const c=t.activeObjects[0].left,h=t.activeObjects[0].left+t.activeObjects[0].width;let l=!1;const u=t.draggingOverTrack.items;s.getObjects().filter(d=>u.includes(d.id)).forEach(d=>{(d.left<=c&&d.left+d.width>=c||d.left<=h&&d.left+d.width>=h||c<=d.left&&h>=d.left+d.width)&&(l=!0)}),t.draggingOverTrack.accepts.includes(ir)&&!l?(t.placeholderMovingObjects[0].left=t.activeObjects[0].left,t.placeholderMovingObjects[0].top=t.draggingOverTrack.top,s.getObjects("Helper").forEach(d=>{d.setSelected&&d.setSelected(!1)})):t.placeholderMovingObjects.forEach(d=>{d.opacity=0})}else t.draggingOverTrack instanceof ue&&(ct({isPointerOverHelperTrack:!0}),t.draggingOverTrack.setSelected(!0));s.requestRenderAll()}function cl(i){var n;ir="";const t=this;nl(t);const e=Q(),s=e.draggingOverTrack;ct({draggingOverTrack:null,isPointerOverHelperTrack:!1});let r=null;for(const o of((n=i.e.dataTransfer)==null?void 0:n.types)||[])try{r=JSON.parse(o);break}catch{try{const a=i.e.dataTransfer.getData(o);if(a){r=JSON.parse(a);break}}catch{}}if(r){if(r.type!=="transition"){const o=e.activeObjects[0],a=L(o.left,t.tScale);if(s instanceof Ft)if(e.placeholderMovingObjects[0].opacity!==0){const h=so(s,this.getObjects("Track"));if(s.magnetic){const l=e.initialTrackPoints[e.initialTrackPoints.length-1],u=L(l,t.tScale)||0;Ci(r,h,u)}else Ci(r,h,a)}else{const h=t.getScenePoint(i.e),l=L(h.x,t.tScale),u=h.y,f=t.getObjects("Helper").reduce((p,m)=>Math.abs(m.top-u)<Math.abs(p.top-u)?m:p),g=so(f,this.getObjects("Track"));Ci(r,g,l,!0)}else{const c=t.getScenePoint(i.e),h=L(c.x-16,t.tScale),l=so(s,this.getObjects("Track"));Ci(r,l,h,!0)}this.remove(o),this.requestRenderAll();return}if(it){if(rr){const o=rr.id,a=a0(r,["kind","direction"]);Object.keys(a).forEach(b=>{b==="kind"?rr.kind=a[b]:rr[b]=a[b]});const c=qe(this.trackItemIds),h=qe(this.transitionsMap),l=qe(this.trackItemsMap);h[o]={...h[o],...a};const u=Z0({trackItemIds:c,transitionsMap:h,trackItemsMap:l}),f=h[o].fromId,g=u.find(b=>b.find(_=>_.id===f))||[],p=oy(g),m=ay(this.trackItemsMap,p);this.trackItemsMap=m,this.transitionsMap[o]={...this.transitionsMap[o],...a},this.adjustMagneticTrack(),this.calcBounding(),this.updateTransitions(),this.refreshTrackLayout(),this.updateState({kind:"add:transition",updateHistory:!0})}Ke.forEach(o=>{o.strokeDashArray=[],o.setSelected(!1),o.kind==="none"&&(o.visible=!1)}),t.remove(it),t.requestRenderAll(),tt.dispatch(to)}}}const oy=i=>{var r;const[t]=i,e=i.filter(n=>n.type!=="transition");let s=((r=t==null?void 0:t.display)==null?void 0:r.from)||0;return e.map(n=>{const o=n.display.to-n.display.from,a={from:s,to:s+o};return s=a.to,{...n,display:a}})},ay=(i,t)=>{let e=i;return t.forEach(s=>{e[s.id]=s}),e},so=(i,t)=>{const e=t.sort((o,a)=>o.top-a.top);if(e.length===0)return 0;const s=e[e.length-1];if(!s||!i)return 0;if(s.top+s.height<=i.top)return e.length;const r=i.top;return e.reduce((o,a,c)=>{const h=Math.abs(a.top-r),l=Math.abs(e[o].top-r);return h<l?c:o},0)},Ci=(i,t,e,s)=>{i.type==="image"?tt.dispatch(ey,{payload:{...i,id:vs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="video"?tt.dispatch(ty,{payload:{...i,id:vs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="audio"?tt.dispatch(Q0,{payload:{...i,id:vs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}}):i.type==="text"&&tt.dispatch(sy,{payload:{...i,id:vs(),display:{from:e}},options:{trackIndex:t,isNewTrack:s}})};function cy(i){i.on("dragover",al),i.on("dragenter",il),i.on("dragleave",ol),i.on("drop",cl)}function hy(i){i.off("dragover",al),i.off("dragenter",il),i.off("dragleave",ol),i.off("drop",cl)}function hl(i){const t=this.height<this.bounding.height;if(!(this.width<this.bounding.width)&&!t)return;const s=this.viewportTransform;let r=s[4],n=s[5];const o=2;i.e.shiftKey?r=r-i.e.deltaY*o:(t&&(n=n-i.e.deltaY*o),r=r-i.e.deltaX*o),this.setViewportPos(r,n)}function ll(){const i=this,t=i.getActiveObject(),e=i.getActiveObjects(),s=e.map(n=>n.id),r=e.filter(n=>{if(e.length===1)return!0;if(n.id&&!(n instanceof Bt))return!0;if(n instanceof Bt&&s.includes(n.fromId)&&s.includes(n.toId))return!0}).map(n=>n.id);t instanceof Ot?(t.borderColor="rgba(0, 216, 214,0.75)",t.hasControls=!1,t.hoverCursor="default",t.borderScaleFactor=1,t.padding=0,t.getObjects().forEach(n=>{n.setSelected(!0)})):t==null||t.setSelected(!0),r.length===1&&String(t==null?void 0:t.id)!==String(r[0])?this.setActiveIds(r):r.length>=1&&this.setActiveIds(r)}function ul(i){const t=this,e=t.getActiveObject();e instanceof Ot&&(e.borderColor="transparent",e.hasControls=!1,e.hoverCursor="default"),i.selected.forEach(n=>{n.setSelected(!0)}),i.deselected.forEach(n=>{n.setSelected(!1)});const r=t.getActiveObjects().map(n=>n.id);this.setActiveIds(r)}function dl(i){i.deselected.forEach(t=>{t.setSelected(!1)})}const ly=i=>{i.on("selection:created",ll),i.on("selection:updated",ul),i.on("selection:cleared",dl),i.on("mouse:wheel",hl)},uy=i=>{i.off("mouse:wheel",hl),i.off("selection:created",ll),i.off("selection:updated",ul),i.off("selection:cleared",dl)},fl=()=>{var n;const i=Q(),t=i.canvas,e=i.draggingOverTrack;t.updateTrackItemCoords(!0);const s=e==null?void 0:e.magnetic,r=new Set(i.activeObjects.map(o=>o.id));if(s){const o=e.id,c=i.trackToItemsMap[o].sort((g,p)=>g.left-p.left),h=i.placeholderMovingObjects,l=((n=h[0])==null?void 0:n.top)||0,u=h.reduce((g,p)=>g+p.width,0),d=Math.min(...h.map(g=>g.left));let f=0;c.forEach(g=>{r.has(g.id)||g.top===l&&(Math.abs(d-f)<1&&(f+=u),g.left=f,f+=g.width)})}else if(e instanceof Ft&&i.orderNormalTrack){const o=e.items,a=t.getTrackItems().filter(p=>!r.has(p.id)&&o.includes(p.id)),c=a.sort((p,m)=>p.left-m.left),h=i.placeholderMovingObjects[0],l=i.placeholderMovingObjects[i.placeholderMovingObjects.length-1],u=h.left,d=l.left-h.left+l.width,f=c.find((p,m)=>{if(p.left>=u-1)return c[m]}),g=a.filter(p=>p.left>=u-1);if(h.left+d>(f==null?void 0:f.left)){const p=d-(f.left-h.left);g.forEach(m=>{const b=Z(m.display.from,t.tScale);m.left=b+p})}}t.alignTransitionsToTrack(!1)};function dy(i){i.on("object:moving",fl)}function fy(i){i.off("object:moving",fl)}let zt,ro=!1;function gy(i,t){const e=i.canvas;if(e.objectTypes.includes(i.type)){zt||(zt=i);const r=i.top,n=i.height,o=i.left,a=i.width,c=t.x,h=t.y,l=Math.abs(h-(r+n/2))<=Qd;Math.abs(c-o)<=kc&&l||Math.abs(c-o-a)<=kc&&l?(e.hoverCornerItem=!0,i.hoverCursor="ew-resize"):(e.hoverCornerItem=!1,i.hoverCursor="move"),e.requestRenderAll()}}function gl(i){const t=this,e=t.findTarget(i.e),s=t.getScenePoint(i.e);e&&(e.isSelected&&zt&&(e.hoverCursor="default"),gy(e,s))}function pl(){zt&&(zt.lockMovementX=!1,zt.lockMovementY=!1,zt=void 0)}function ml(i){zt&&(ro||zt._renderControls(i.ctx))}function vl(){zt&&(zt=void 0,this.requestRenderAll())}function yl(){ro=!0}function bl(){ro=!1}function py(i){i.on("mouse:out",vl.bind(i)),i.on("mouse:up",pl.bind(i)),i.on("mouse:move",gl.bind(i)),i.on("after:render",ml.bind(i)),i.on("object:resizing",yl.bind(i)),i.on("object:modified",bl.bind(i))}function my(i){i.off("mouse:out",vl.bind(i)),i.off("mouse:up",pl.bind(i)),i.off("mouse:move",gl.bind(i)),i.off("after:render",ml.bind(i)),i.off("object:resizing",yl.bind(i)),i.off("object:modified",bl.bind(i))}const vy=i=>{ct({canvas:i}),v0(i),d0(i),b0(i),C0(i),k0(i),V0(i),K0(i),cy(i),ly(i),dy(i),py(i)},yy=i=>{ct({canvas:null}),y0(i),f0(i),_0(i),O0(i),M0(i),G0(i),J0(i),hy(i),uy(i),fy(i),my(i)};class by{removeTransitions(){const t=this.getObjects("Transition");this.remove(...t)}renderTransitions(){this.removeTransitions(),this.transitionIds.forEach(t=>{const e=this.transitionsMap[t],s=e.fromId,r=e.toId,n=this.getObjects(),o=n.find(d=>d.id===s),a=n.find(d=>d.id===r);if(!o||!a)return;const c=Z(e.duration,this.tScale),h=o.left+o.width-c/2,l=o.height,u=new Bt({id:e.id,left:h,top:o.top,height:l,width:c,tScale:this.tScale,duration:e.duration,fromId:o.id,toId:a.id,kind:e.kind});e.kind==="none"&&(u.visible=!1),u&&this.add(u)})}updateTrackTransitionsItemCoords(){this.pauseEventListeners(),this.getObjects("Transition").forEach(e=>{e.tScale=this.tScale,e.updateCoords(),e.setCoords()}),this.resumeEventListeners()}alignTransitionsToTrack(t=!0){const e=t?[]:this.getActiveObjects().map(s=>s.id);this.transitionIds.forEach(s=>{const r=this.getObjects("Transition").find(n=>n.id===s);if(r instanceof Bt){const n=this.getObjects().find(c=>c.id===r.fromId&&!e.includes(c.id));if(!n)return;const o=Z(r.duration,this.tScale),a=n.left+n.width-o/2;r.set({left:a,top:n.top}),r.setCoords()}})}updateTransitions(t=!0){t&&this.pauseEventListeners();const e=this.getObjects("Track"),s=this.getObjects(...this.withTransitions);this.removeTransitions();const r={},n=[];e.forEach(a=>{const c=s.filter(h=>a.items.includes(h.id)).sort((h,l)=>h.left-l.left);for(let h=0;h<c.length-1;h++){const l=c[h],u=c[h+1];if(Math.abs(l.left+l.width-u.left)<=1){const d=`${l.id}-${u.id}`;if(this.transitionIds.includes(d)){const g=this.transitionsMap[d];r[d]=g}else{const g={id:d,duration:1500,fromId:l.id,toId:u.id,kind:"none",trackId:a.id,type:"transition"};r[d]=g}n.push(d)}}}),this.transitionIds=n,this.transitionsMap=r,this.renderTransitions();const o=this.getObjects("Transition");this.updateCachingActiveObjects(o),t&&this.resumeEventListeners()}}function _l(i){const{secondaryTracks:t,primaryTracks:e,primaryPositions:s}=i,{positions:r,trackIndex:n}=s,o=n===-1?this.tracks.length:n,a=Q(),[c]=Object.keys(e),h=this.tracks.find(_=>_.id===c),l=e[c],u=[];let d=!1;l.objects.forEach(_=>{if(_.type==="audio")if(d){u.push(_.id);const x=a.objectInitialPositions[_.id];x&&(_.set({top:x.top,left:x.left}),_.setCoords())}else d=!0});const f={id:vs(),items:l.objects.filter(_=>!u.includes(_.id)).map(_=>_.id),type:h.type,accepts:h.accepts,muted:h.muted||!1},g=Yn(Object.keys(t).map(_=>t[_].objects.filter(x=>!u.includes(x.id)).map(x=>x.id)));let p=Ks(this.tracks,[...Object.keys(r).filter(_=>!u.includes(_)),...g]);const m=[];Object.keys(t).forEach(_=>{const{objects:x,index:w}=t[_],C=this.tracks.find(M=>M.id===_),O=x.map(M=>M.id).filter(M=>!this.transitionIds.includes(M)&&!u.includes(M)),D={id:qs(),items:O,type:C.type,accepts:C.accepts,tempIndex:w,muted:C.muted||!1};m.push(D)});const b=Nh(f,m);b.length&&p.splice(o,0,...b),this.tracks=p,this.renderTracks(),this.refreshTrackLayout(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),nr(this),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function nr(i){const t=i.tracks.find(e=>e.magnetic);if(t){const e=i.getTrackItems().filter(s=>t.items.includes(s.id));if(e.length>0){const s=Math.max(...e.map(n=>{const o=L(n.left,i.tScale),a=L(n.width*n.scaleX,i.tScale);return o+a}));Object.values(i.trackItemsMap).forEach(n=>{var o;if(n.type==="audio"){const a=n.duration||0,c=(o=n.metadata)==null?void 0:o.userLimitDuration,h=typeof c=="number"?c:a,l=n.display.from||0,u=Math.max(0,s-l),d=Math.min(u,h);n.display={from:l,to:l+d},n.trim&&(n.trim={from:n.trim.from||0,to:(n.trim.from||0)+d})}}),i.getTrackItems().filter(n=>n.type==="audio").forEach(n=>{var a,c;const o=i.trackItemsMap[n.id];if(o){n.display={from:o.display.from,to:o.display.to},n.trim&&(n.trim={from:((a=o.trim)==null?void 0:a.from)??0,to:((c=o.trim)==null?void 0:c.to)??o.display.to});const h=o.display.to-o.display.from,l=Z(h,i.tScale);n.set({width:l,scaleX:1}),n.setCoords(),typeof n.onResize=="function"&&n.onResize()}})}}}function Tl(i){const{isSecondaryOverlapped:t,secondaryTracks:e,primaryTracks:s,primaryPositions:r}=i,{trackId:n,positions:o}=r,a=this.tracks.find(O=>O.id===n),c=Q(),l=c.primaryMovingObjects.sort((O,D)=>O.left-D.left);l.forEach((O,D)=>{l[D-1]&&O.left-l[D-1].left});const u=this.tracks.findIndex(O=>O.id===n),d=Object.keys(o),f=this.tracks.find(O=>O.id===n),g=[];f&&f.items.find(D=>{const M=this.trackItemsMap[D];return M&&M.type==="audio"&&!d.includes(D)})&&d.forEach(D=>{const M=this.trackItemsMap[D];if(M&&M.type==="audio"){g.push(D);const E=c.objectInitialPositions[D],F=this.getTrackItems().find(Y=>Y.id===D);E&&F&&(F.set({top:E.top,left:E.left}),F.setCoords())}});const p={};d.forEach(O=>{g.includes(O)||(p[O]=o[O])});const m=Object.keys(p),b=Yn(Object.keys(e).map(O=>e[O].objects.map(D=>D.id)));let _=Ks(this.tracks,[...m,...b]);Object.keys(s).forEach(O=>{this.pauseEventListeners();const{objects:D}=s[O];D.forEach(F=>{if(F.isMain&&(a!=null&&a.magnetic)||g.includes(F.id))return;const Y=p[F.id];Y&&(F.left=Y.left)}),this.resumeEventListeners();const M=r.trackId,E=_.find(F=>F.id===M);E==null||E.items.push(...m),this.tracks=_});const x=this.tracks[u],w=[];Object.keys(e).forEach(O=>{const{objects:D,index:M}=e[O],E=D.filter(P=>P.type!=="transition"&&!g.includes(P.id)).map(P=>P.id),[F]=E,Y=this.trackItemsMap[F];if(t&&Y){const P=this.getItemAccepts(Y.type),z={id:qs(),items:E,type:Y.type,accepts:P,tempIndex:M,muted:!1};w.push(z)}else{const P=_[u+M];P==null||P.items.push(...E),this.tracks=_}});const C=Nh(x,w);C.length&&_.splice(u,1,...C),this.tracks=_,this.renderTracks(),this.alignItemsToTrack(),this.uodateTrackItemIdsOrdering(),this.adjustMagneticTrack(),nr(this),this.updateTransitions(!0),this.updateState({updateHistory:!0,kind:"update"})}function Sl({trackItemIds:i,isOverlapped:t}){var a,c;const[e]=i;if(!e)return;const s=this.getObjects("Transition");if(!s.find(h=>h.id===e)){const h=this.tracks.find(l=>l.items.includes(e));if(t&&!h.magnetic){const l=Ks(this.tracks,i),u={id:qs(),items:[e],type:h.type,accepts:h.accepts,muted:h.muted||!1},d=this.tracks.findIndex(f=>f.id===h.id);l.splice(d,0,u),this.tracks=l}}const n=s.filter(h=>h.fromId===e||h.toId===e);if(n){const h=this.getTrackItems().find(g=>g.id===e),l=h==null?void 0:h.width;n.forEach(g=>{if(g.width/2>l){this.transitionIds=this.transitionIds.filter(m=>m!==g.id);const p={};Object.keys(this.transitionsMap).forEach(m=>{m!==g.id&&(p[m]=this.transitionsMap[m])}),this.transitionsMap=p}});const u=((a=n[0])==null?void 0:a.width)||0,d=((c=n[1])==null?void 0:c.width)||0,f=n[1];if(l<=u/2+d/2){this.transitionIds=this.transitionIds.filter(p=>p!==(f==null?void 0:f.id));const g={};Object.keys(this.transitionsMap).forEach(p=>{p!==(f==null?void 0:f.id)&&(g[p]=this.transitionsMap[p])}),this.transitionsMap=g}}this.renderTracks(),this.alignItemsToTrack(),this.adjustMagneticTrack();const o=this.getTrackItems().find(h=>h.id===e);if(o&&o.type==="audio"){const h=this.trackItemsMap[e];if(h){const l=L(o.width*o.scaleX,this.tScale,h.playbackRate||1);h.metadata={...h.metadata,userLimitDuration:l}}}nr(this),this.updateTransitions(!0),this.uodateTrackItemIdsOrdering(),this.updateState({updateHistory:!0,kind:"update"})}let io={x:0,y:0};function _y(i){io=i.scenePoint}function wl(i){const t=i.scenePoint;if((io.x===t.x||io.y===t.y)&&!i.target){const s=this.getElement().getBoundingClientRect(),r=this.viewportTransform,n=i.e.clientX-s.left-r[4],o=L(n,this.scale.zoom);tt.dispatch(rl,{payload:{time:o}})}}const Ty=i=>{i.on("track:create",_l.bind(i)),i.on("track-items:resized",Sl.bind(i)),i.on("track-items:moved",Tl.bind(i)),i.on("mouse:up",wl.bind(i)),i.on("mouse:down",_y.bind(i))};function Sy(i){i.off("track:create",_l.bind(i)),i.off("track-items:resized",Sl.bind(i)),i.off("track-items:moved",Tl.bind(i)),i.off("mouse:up",wl.bind(i))}function wy(i,t){return t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(s=>{s!=="constructor"&&Object.defineProperty(i.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))})}),i}let xl,Cl,Ol,kl,Ml,Dl,Il,El,jl;const xy=i=>{xl=i.state.subscribeToActiveIds(({activeIds:t})=>{const e=i.activeIds;if(t.length===1&&e.length===1){const s=t[0],r=e[0],o=i.state.getState().structure;let a="";if(o.forEach(c=>{c.id===r&&c.items.includes(s)&&(a=c.id)}),a!=="")return;i.selectTrackItemByIds([s])}else i.selectTrackItemByIds(t)}),jl=i.state.subscribeToUpdateTracks(({tracks:t,duration:e,trackItemsMap:s})=>{i.tracks=t,i.duration=e,i.trackItemsMap=s,i.synchronizeTrackItemsState(),i.renderTracks(),i.refreshTrackLayout(),i.adjustMagneticTrack(),i.renderTransitions(),i.alignItemsToTrack(),i.alignTransitionsToTrack(),i.calcBounding()}),El=i.state.subscribeToTracks(({tracks:t,changedTracks:e})=>{e.length&&(i.tracks=t,i.renderTracks(),i.refreshTrackLayout())}),Il=i.state.subscribeToUpdateAnimations(({trackItemsMap:t,changedAnimationIds:e})=>{if(e!=null&&e.length){const s=i.getTrackItems();i.trackItemsMap=t,s.forEach(r=>{if(e.includes(r.id)){const n=t[r.id].animations;n&&r.set({animations:n})}})}}),Dl=i.state.subscribeToUpdateTrackItemTiming(({trackItemsMap:t,changedTrimIds:e,changedDisplayIds:s})=>{if(e&&i.getTrackItems().forEach(n=>{if(e.includes(n.id)){const o=t[n.id].trim;o&&n.set({trim:{from:o.from,to:o.to}})}}),s){const r=i.getTrackItems();i.pauseEventListeners(),r.forEach(n=>{if(s.includes(n.id)){const o=t[n.id].display;i.trackItemsMap[n.id].display=o,t[n.id].playbackRate!==i.trackItemsMap[n.id].playbackRate&&(i.trackItemsMap[n.id].playbackRate=t[n.id].playbackRate,n.playbackRate=t[n.id].playbackRate,n.onScale&&n.onScale()),o&&n.set({display:o})}}),i.resumeEventListeners()}(s||e)&&(i.updateTrackItemCoords(),i.adjustMagneticTrack(),i.updateTransitions(),i.alignItemsToTrack(),i.renderTracks(),i.calcBounding(),i.refreshTrackLayout(),i.setTrackItemCoords(),i.requestRenderAll())}),Ml=i.state.subscribeToScale(t=>{i.setScale(t.scale)}),kl=i.state.subscribeToUpdateItemDetails(t=>{const e=i.getTrackItems();if(e.length===0)return;const s=i.state.getState(),r=t.trackItemsMap,n=s.trackItemsMap;i.trackItemsMap=r,e.forEach(o=>{var c,h;const a=r[o.id];if(a)if(o.hasSrc){const l=n[o.id];if(o.src!==a.details.src&&o.setSrc&&o.setSrc(a.details.src),a.type==="video"||a.type==="audio"){const d=(((c=l.trim)==null?void 0:c.to)||0)-(((h=l.trim)==null?void 0:h.from)||0),f=Z(d,i.scale.zoom,l.playbackRate);o.set({duration:l.duration,display:l.display,trim:l.trim,width:f}),o.setCoords()}}else(a.type==="text"||a.type==="caption")&&(a.type==="text"||a.type==="caption")&&o.set({text:a.details.text})}),i.requestRenderAll()}),Ol=i.state.subscribeToHistory(t=>{i.tracks=t.tracks,i.trackItemsMap=t.trackItemsMap,i.trackItemIds=t.trackItemIds,i.transitionIds=t.transitionIds,i.transitionsMap=t.transitionsMap,i.renderTracks(),i.refreshTrackLayout(),i.updateTrackItemCoords(),i.alignItemsToTrack(),i.alignTransitionsToTrack(),i.adjustMagneticTrack(),i.updateTransitions(),i.calcBounding(),i.duration=$s(i.trackItemsMap,i.trackItemIds)}),Cl=i.state.subscribeToAddOrRemoveItems(()=>{const t=i.getTrackItems().map(n=>n.id),e=i.state.getState(),s=e.trackItemIds,r=[];t.forEach(n=>{s.includes(n)||r.push(n)}),i.deleteTrackItemById(r),i.tracks=e.tracks,i.trackItemsMap=e.trackItemsMap,i.transitionIds=e.transitionIds,i.transitionsMap=e.transitionsMap,s.forEach(n=>{if(!t.includes(n)){const a={...e.trackItemsMap[n]};i.addTrackItem(a)}}),i.trackItemIds=e.trackItemIds,i.activeIds=e.activeIds,nr(i),i.renderTracks(),i.alignItemsToTrack(),i.updateTrackItemCoords(),i.calcBounding(),i.updateTransitions(),i.refreshTrackLayout(),i.selectTrackItemByIds(e.activeIds),i.updateState({updateHistory:!1})})},Cy=i=>{xl.unsubscribe(),Cl.unsubscribe(),Ol.unsubscribe(),kl.unsubscribe(),Ml.unsubscribe(),Dl.unsubscribe(),Il.unsubscribe(),El.unsubscribe(),jl.unsubscribe()},Pl=(i,t)=>{let e=!1;const s=[];return t.forEach(r=>{r.containsPoint(i)&&(s.push(r),e=!0)}),{isOverObject:e,overObjects:s}};function Oy(i){return JSON.parse(JSON.stringify(i))}class ky{constructor(t,e={}){S(this,"canvas");S(this,"fill","rgba(0,0,0,.3)");S(this,"stroke","rgba(255,255,255,.3)");S(this,"lineWidth",1);S(this,"hideX",!1);S(this,"hideY",!1);S(this,"scrollbarMinWidth",40);S(this,"scrollbarSize",5);S(this,"scrollSpace",0);S(this,"padding",4);S(this,"extraMarginX",200);S(this,"extraMarginY",200);S(this,"offsetX",0);S(this,"offsetY",0);S(this,"scrollbarWidth",5);S(this,"scrollbarColor","rgba(0,0,0,.3)");S(this,"onViewportChange");S(this,"_bar");S(this,"_barViewport",{left:1,right:-1,top:1,bottom:-1,sx:1,sy:1});S(this,"_originalMouseDown");S(this,"_originalMouseMove");S(this,"_originalMouseUp");this.canvas=t,Object.assign(this,e),e.scrollbarWidth!==void 0&&(this.scrollbarSize=e.scrollbarWidth),e.scrollbarColor!==void 0&&(this.fill=e.scrollbarColor),this._originalMouseDown=this.canvas.__onMouseDown,this._originalMouseMove=this.canvas._onMouseMove,this._originalMouseUp=this.canvas._onMouseUp,this.canvas.__onMouseDown=this.mouseDownHandler.bind(this),this.canvas._onMouseMove=this.mouseMoveHandler.bind(this),this.canvas._onMouseUp=this.mouseUpHandler.bind(this),this.beforeRenderHandler=this.beforeRenderHandler.bind(this),this.afterRenderHandler=this.afterRenderHandler.bind(this),this.initBehavior()}initBehavior(){this.canvas.on("before:render",this.beforeRenderHandler),this.canvas.on("after:render",this.afterRenderHandler)}getScrollbar(t){const e=this.canvas.getViewportPoint(t),s=this.canvas.viewportTransform.slice(0);if(!this.hideX&&e.x>this._barViewport.left&&e.x<this._barViewport.right&&e.y>this.canvas.height-this.scrollbarSize-this.scrollSpace-this.padding&&e.y<this.canvas.height-this.scrollSpace+this.padding)return{type:"x",start:e.x,vpt:s};if(!this.hideY&&e.y>this._barViewport.top&&e.y<this._barViewport.bottom&&e.x>this.canvas.width-this.scrollbarSize-this.scrollSpace-this.padding&&e.x<this.canvas.width-this.scrollSpace+this.padding)return{type:"y",start:e.y,vpt:s}}mouseDownHandler(t){if(this._bar=this.getScrollbar(t),!this._bar)return me.prototype.__onMouseDown.call(this.canvas,t)}mouseMoveHandler(t){if(!this._bar)return me.prototype._onMouseMove.call(this.canvas,t);const e=this.canvas.getViewportPoint(t),s=this._bar.type=="x"?this._barViewport.sx:this._barViewport.sy,r=this._bar.type=="x"?4:5,n=this._bar.type=="x"?e.x:e.y,o=this._bar.vpt.slice(0);o[r]-=(n-this._bar.start)*s,this.applyViewportLimits(o),this.canvas.setViewportTransform(o),this.canvas.requestRenderAll()}mouseUpHandler(t){this._bar||me.prototype._onMouseUp.call(this.canvas,t),delete this._bar}beforeRenderHandler(){const t=this.canvas.contextTop;t.save(),t.setTransform(1,0,0,1,0,0),t.restore()}afterRenderHandler(){const{tl:t,br:e}=this.canvas.vptCoords,s={left:t.x,top:t.y,right:e.x,bottom:e.y},r=this.getObjectsBoundingRect(),n={left:Math.min(r.left,-this.offsetX),top:Math.min(r.top,-this.offsetY),right:r.right+this.extraMarginX,bottom:r.bottom+this.extraMarginY};n.left>s.left&&(n.left=s.left),n.top>s.top&&(n.top=s.top),n.bottom<s.bottom&&(n.bottom=s.bottom),n.right<s.right&&(n.right=s.right);const o=this.canvas.bounding;if(this.hideX=o.width<=this.canvas.width,this.hideY=o.height<=this.canvas.height,this.render(this.canvas.contextTop,s,n),this.onViewportChange){const a=t.x;this.onViewportChange(a)}}render(t,e,s){t.clearRect(0,this.canvas.height-this.scrollbarSize-this.scrollSpace-this.lineWidth,this.canvas.width,this.scrollbarSize+this.scrollSpace+this.lineWidth),t.clearRect(this.canvas.width-this.scrollbarSize-this.scrollSpace-this.lineWidth,0,this.scrollbarSize+this.scrollSpace+this.lineWidth,this.canvas.height),t.save(),t.fillStyle=this.fill,t.strokeStyle=this.stroke,t.lineWidth=this.lineWidth,this.hideX||this.drawScrollbarX(t,e,s),this.hideY||this.drawScrollbarY(t,e,s),t.restore()}drawScrollbarX(t,e,s){const r=e.right-e.left,n=s.right-s.left;if(r==n){this._barViewport.left=1,this._barViewport.right=-1,this._barViewport.sx=1;return}const o=Math.min(r/n,1),a=this.canvas.width-this.scrollbarSize-this.scrollSpace*2,c=Math.max(a*o|0,this.scrollbarMinWidth),h=(e.left-s.left)/(n-r)*(a-c),l=this.scrollSpace+h,u=this.canvas.height-this.scrollbarSize-this.scrollSpace;this._barViewport.left=l,this._barViewport.right=l+c,this._barViewport.sx=n/r,this.drawRect(t,{x:l,y:u,w:c,h:this.scrollbarSize})}drawScrollbarY(t,e,s){const r=e.bottom-e.top,n=s.bottom-s.top;if(r==n){this._barViewport.top=1,this._barViewport.bottom=-1,this._barViewport.sy=1;return}const o=Math.min(r/n,1),a=this.canvas.height-this.scrollbarSize-this.scrollSpace*2,c=Math.max(a*o|0,this.scrollbarMinWidth),h=(e.top-s.top)/(n-r)*(a-c),l=this.canvas.width-this.scrollbarSize-this.scrollSpace,u=this.scrollSpace+h;this._barViewport.top=u,this._barViewport.bottom=u+c,this._barViewport.sy=n/r,this.drawRect(t,{x:l,y:u,w:this.scrollbarSize,h:c})}drawRect(t,e){const{x:s,y:r,w:n,h:o}=e,a=Math.min(n,o)/2;t.beginPath(),t.moveTo(s+a,r),t.lineTo(s+n-a,r),t.arcTo(s+n,r,s+n,r+a,a),t.lineTo(s+n,r+o-a),t.arcTo(s+n,r+o,s+n-a,r+o,a),t.lineTo(s+a,r+o),t.arcTo(s,r+o,s,r+o-a,a),t.lineTo(s,r+a),t.arcTo(s,r,s+a,r,a),t.closePath(),t.fill(),t.stroke()}getObjectsBoundingRect(){const t=this.canvas.getTrackItems();if(t.length===0)return{left:0,top:0,right:0,bottom:0};const{left:e,top:s,width:r,height:n}=Br.makeBoundingBoxFromPoints(t.map(o=>o.getCoords()).flat(1));return{left:e,top:s,right:e+r,bottom:s+n}}applyViewportLimits(t){const e=t[0],s=this.getObjectsBoundingRect(),r=Math.min(s.left,-this.offsetX),n=Math.min(s.top,-this.offsetY),o=s.right+this.extraMarginX,a=s.bottom+this.extraMarginY,c=o-r,h=a-n,l=this.canvas.width/e,u=this.canvas.height/e;if(c<=l)t[4]=-r*e;else{const d=this.offsetX*e;t[4]>d&&(t[4]=d);const f=-((s.right+this.extraMarginX)*e-this.canvas.width);f<0&&t[4]<f&&(t[4]=f)}if(h<=u)t[5]=-n*e;else{const d=this.offsetY*e;t[5]>d&&(t[5]=d);const f=-((s.bottom+this.extraMarginY)*e-this.canvas.height);f<0&&t[5]<f&&(t[5]=f)}}dispose(){this._originalMouseDown&&(this.canvas.__onMouseDown=this._originalMouseDown),this._originalMouseMove&&(this.canvas._onMouseMove=this._originalMouseMove),this._originalMouseUp&&(this.canvas._onMouseUp=this._originalMouseUp),this.canvas.off("before:render",this.beforeRenderHandler),this.canvas.off("after:render",this.afterRenderHandler)}}const My=i=>{const t=i.getTrackItems();if(t.length===0)return{left:0,top:0,right:0,bottom:0};const{left:e,top:s,width:r,height:n}=Br.makeBoundingBoxFromPoints(t.map(o=>o.getCoords()).flat(1));return{left:e,top:s,right:e+r,bottom:s+n}},Dy=(i,t,e=0,s=0,r=200,n=200)=>{const o=t[0],a=My(i),c=Math.min(a.left,-e),h=Math.min(a.top,-s),l=a.right+r,u=a.bottom+n,d=l-c,f=u-h,g=i.width/o,p=i.height/o;if(d<=g)t[4]=-c*o;else{const m=e*o;t[4]>m&&(t[4]=m);const b=-((a.right+r)*o-i.width);b<0&&t[4]<b&&(t[4]=b)}if(f<=p)t[5]=-h*o;else{const m=s*o;t[5]>m&&(t[5]=m);const b=-((a.bottom+n)*o-i.height);b<0&&t[5]<b&&(t[5]=b)}return t},Iy=(i,t={})=>e=>{const s=e.e;s.target==i.upperCanvasEl&&s.preventDefault();const r=Math.floor(s.deltaY)!=Math.ceil(s.deltaY);if(s.ctrlKey||s.metaKey){const a=r?.99:.998;let c=i.getZoom();c*=a**s.deltaY,t.max!=null&&c>t.max&&(c=t.max),t.min!=null&&c<t.min&&(c=t.min),i.zoomToPoint(e.viewportPoint,c),i.requestRenderAll();return}const n=i.viewportTransform.slice(0);s.shiftKey?n[4]-=s.deltaY:(n[4]-=s.deltaX,n[5]-=s.deltaY);const o=Dy(i,n,t.offsetX??0,t.offsetY??0,t.extraMarginX??200,t.extraMarginY??200);i.setViewportTransform(o),i.requestRenderAll()},ar=class ar extends _n{constructor(e,s){var r;super(e,s);S(this,"itemTypes",[]);S(this,"acceptsMap");S(this,"sizesMap",{});S(this,"objectTypes",[]);S(this,"tracks",[]);S(this,"hoverCornerItem",!1);S(this,"trackItemsMap",{});S(this,"trackItemIds",[]);S(this,"transitionIds",[]);S(this,"transitionsMap",{});S(this,"scale");S(this,"duration");S(this,"bounding");S(this,"onScroll");S(this,"onResizeCanvas");S(this,"tScale");S(this,"state");S(this,"activeIds",[]);S(this,"spacing");S(this,"guideLineColor");S(this,"withTransitions",[]);S(this,"_mouseWheelHandler");S(this,"_scrollbars");S(this,"_viewportChangeCallback");this.bounding=s.bounding||{width:s.width||0,height:s.height||0},this.tScale=((r=s.scale)==null?void 0:r.zoom)||1,this.state=s.state,this.onScroll=s.onScroll,this.onResizeCanvas=s.onResizeCanvas,this.acceptsMap=s.acceptsMap||{},this.sizesMap=s.sizesMap||{},this.itemTypes=s.itemTypes||[],this.objectTypes=ar.objectTypes,this.spacing=S0(s.spacing),this.itemTypes=s.itemTypes||[],this.positionAfterTransform={},this.initializeCanvasDefaults(),this.scale=s.scale,this.duration=s.duration,this.guideLineColor=s.guideLineColor||Ge,this.initEventListeners(),this.withTransitions=s.withTransitions||[]}static registerItems(e){Object.keys(e).forEach(s=>{k.setClass(e[s],s)}),ar.objectTypes=Object.keys(e).filter(s=>!Nd.includes(s))}initScrollbars(e={}){const s={offsetX:e.offsetX??0,offsetY:e.offsetY??0,extraMarginX:e.extraMarginX??200,extraMarginY:e.extraMarginY??200,scrollbarWidth:e.scrollbarWidth,scrollbarColor:e.scrollbarColor,onViewportChange:o=>{this._viewportChangeCallback&&this._viewportChangeCallback(o)},scrollSpace:e.scrollSpace??0};this._mouseWheelHandler=Iy(this,s),this.on("mouse:wheel",this._mouseWheelHandler),this._scrollbars=new ky(this,s);const r=e.offsetX??0,n=e.offsetY??0;if(r!==0||n!==0){const o=this.viewportTransform.slice(0);o[4]=r,o[5]=n,this.setViewportTransform(o),this.requestRenderAll()}}onViewportChange(e){this._viewportChangeCallback=e}disposeScrollbars(){this._mouseWheelHandler&&(this.off("mouse:wheel",this._mouseWheelHandler),this._mouseWheelHandler=void 0),this._scrollbars&&(this._scrollbars.dispose(),this._scrollbars=void 0)}getItemAccepts(e){return this.acceptsMap[e]||this.itemTypes}getItemSize(e){return this.sizesMap[e]||42}initializeCanvasDefaults(){const e=this.viewportTransform;e[4]=this.spacing.left,Object.assign(at.ownDefaults,{borderColor:"transparent",cornerColor:"white",cornerStrokeColor:"transparent",strokeWidth:0,borderOpacityWhenMoving:1,borderScaleFactor:1,cornerSize:8,cornerStyle:"rect",centeredScaling:!1,centeredRotation:!0,transparentCorners:!1})}__onMouseDown(e){const s=this.getScenePoint(e),r=this._activeObject,n=this.getActiveObjects();if(n.length===0){super.__onMouseDown(e);return}const{isOverObject:o}=Pl(s,n);if(r&&(r==null?void 0:r.findControl(this.getViewportPoint(e),x0(e)))){super.__onMouseDown(e);return}const a=this.getTrackItems(),c=this.getObjects("Transition"),{isOverObject:h,overObjects:l}=Pl(s,[...c,...a]);h?o?super.__onMouseDown(e):(this.setActiveIds([l[0].id]),super.__onMouseDown(e)):(this.discardActiveObject(),this.requestRenderAll(),this.setActiveIds([]),this._groupSelector={x:s.x,y:s.y,deltaY:0,deltaX:0},super.__onMouseDown(e))}_setupCurrentTransform(e,s,r){var n;if(this.hoverCornerItem){const o=this.getScenePoint(e),{key:a="",control:c}=s.getActiveControl()||{},h=c&&((n=c.getActionHandler(e,s,c))==null?void 0:n.bind(c)),l=this._getOriginFromCorner(s,a),u={target:s,action:"resizing",actionHandler:h,actionPerformed:!1,corner:a,scaleX:s.scaleX,scaleY:s.scaleY,skewX:s.skewX,skewY:s.skewY,offsetX:o.x-s.left,offsetY:o.y-s.top,originX:l.x,originY:l.y,ex:o.x,ey:o.y,lastX:o.x,lastY:o.y,theta:s.angle*Math.PI/180,width:s.width,height:s.height,shiftKey:e.shiftKey,altKey:!1,original:{scaleX:s.scaleX,scaleY:s.scaleY,skewX:s.skewX,skewY:s.skewY,angle:s.angle,left:s.left,flipX:s.flipX,flipY:s.flipY,top:s.top,originX:l.x,originY:l.y}};this._currentTransform=u,this.fire("before:transform",{e,transform:u})}else super._setupCurrentTransform(e,s,r)}initEventListeners(){Ty(this),vy(this),xy(this)}setActiveIds(e){this.activeIds=e,this.state.updateState({activeIds:Oy(this.activeIds)},{kind:"layer:selection",updateHistory:!1})}updateState(e={updateHistory:!1}){this.filterEmptyTracks(),this.synchronizeTrackItemsState(),nr(this),this.requestRenderAll(),this.duration=$s(this.trackItemsMap,this.trackItemIds),this.calcBounding(),this.refreshTrackLayout(),this.setTrackItemCoords();const s=this.getUpdatedState();this.state.updateState(s,e)}getUpdatedState(){const e=$s(this.trackItemsMap,this.trackItemIds);return{tracks:this.tracks,trackItemIds:this.trackItemIds,trackItemsMap:this.trackItemsMap,transitionIds:this.transitionIds,transitionsMap:this.transitionsMap,scale:this.scale,duration:e}}getDurationBasedOnTrackItemsPosition(){const e=this.getTrackItems().map(n=>n.getBoundingRect()),s=e.reduce((n,o)=>n.left+n.width<o.left+o.width?o:n,e[0]),r=s.left+s.width;return L(r,this.tScale)}notify(e={updateHistory:!1}){const s=this.getUpdatedState();this.state.updateState(s,e)}getState(){const e=$s(this.trackItemsMap,this.trackItemIds);return{tracks:this.tracks,trackItemIds:this.trackItemIds,trackItemsMap:this.trackItemsMap,transitionIds:this.transitionIds,transitionsMap:this.transitionsMap,scale:this.scale,duration:e}}purge(){yy(this),Sy(this),Cy(),this.disposeScrollbars(),this.dispose()}scrollTo({scrollLeft:e,scrollTop:s}){var o;const r=[...this.viewportTransform];let n=!1;typeof e=="number"&&(r[4]=-e+this.spacing.left,n=!0),typeof s=="number"&&(r[5]=-s,n=!0),n&&(this.viewportTransform=r,(o=this.getActiveObject())==null||o.setCoords(),this.requestRenderAll())}setBounding(e){this.bounding=e}calcBounding(){const e=this.getObjects("Track").filter(c=>c.static),s=[...this.getTrackItems(),...e].reduce((c,h)=>{const{top:l,height:u}=h.getBoundingRect();return{top:Math.min(c.top,l),height:Math.max(c.height,l+u)}},{top:1/0,height:0}),r=[...this.getTrackItems()].reduce((c,h)=>{const{left:l,width:u}=h.getBoundingRect();return{left:Math.min(c.left,l),width:Math.max(c.width,l+u)}},{left:1/0,width:this.width}),n=this.bounding.width,o=r.width,a=o-n;if(a<0){const c=this.getTrackItems(),h=this.getElement().clientWidth,l=c.reduce((u,d)=>d.left+d.width>u.left+u.width?d:u,c[0]);Math.abs(a)>h?this.setViewportPos(-(o-h)+this.spacing.right,this.viewportTransform[5]):l.left+l.width<=h?this.setViewportPos(16,this.viewportTransform[5]):this.setViewportPos(this.viewportTransform[4]-a,this.viewportTransform[5])}this.bounding={...s,...r},tt.dispatch(sl,{payload:{bounding:{...s,...r}}})}setViewportPos(e,s){var o;const r=this.getViewportPos(e,s),n=this.viewportTransform;n[4]=r.x,n[5]=r.y,this.requestRenderAll(),this.setActiveTrackItemCoords(),(o=this.onScroll)==null||o.call(this,{scrollTop:r.y,scrollLeft:r.x-this.spacing.left})}getViewportPos(e,s){const r=this,n=this.bounding.width-100>=r.width?this.spacing.right:0,o=r.width-this.bounding.width-n,a=this.spacing.left,c=Math.max(o,Math.min(e,a));if(this.bounding.height<this.height)return{x:c,y:0};const h=r.height-this.bounding.height-40,u=Math.max(h,Math.min(s,0));return{x:c,y:u}}setScale(e){this.pauseEventListeners();const r=-(this.viewportTransform[4]-this.spacing.left),n=L(r,this.tScale);this.tScale=e.zoom,this.scale=e,this.getTrackItems().forEach(l=>{const u=Z(l.display.from,this.tScale),d=Z(l.display.to-l.display.from,this.tScale,l.playbackRate);l.set({left:u,width:d,tScale:e.zoom}),l.onScale&&l.onScale(),l.setCoords()}),this.requestRenderAll(),this.calcBounding(),this.refreshTrackLayout(),this.updateTransitions(!1);const a=Z(n,this.tScale),c=this.viewportTransform.slice(0);c[4]=-a+this.spacing.left;const h=this.getViewportPos(c[4],c[5]);c[4]=h.x,c[5]=h.y,this.setViewportTransform(c),this.requestRenderAll(),this.resumeEventListeners()}};S(ar,"objectTypes",[]);let me=ar;wy(me,[bf,u0,l0,by]);const Ey={audio:Dn,media:jn,common:ui,transition:In};I.BOTTOM=Jd,I.CENTER=Oe,I.Control=$,I.DRAG_END=to,I.DRAG_PREFIX=Qn,I.DRAG_START=el,I.FabricObject=at,I.Helper=ue,I.LEFT=gs,I.NONE=Zd,I.Pattern=zr,I.Placeholder=fs,I.PreviewTrackItem=de,I.RIGHT=ps,I.Rect=st,I.Resizable=di,I.TIMELINE_BOUNDING_CHANGED=sl,I.TIMELINE_PREFIX=eo,I.TIMELINE_SEEK=rl,I.TOP=Kd,I.Track=Ft,I.Transition=Bt,I.Trimmable=Jt,I.calculateTimelineWidth=ef,I.changeWidth=ui,I.classRegistry=k,I.controlsUtils=Ye,I.createAudioControls=gf,I.createMediaControls=Ec,I.createResizeControls=Ic,I.createTemplateControls=ff,I.createTransitionControls=En,I.default=me,I.drawVerticalLine=Rt,I.generateId=vs,I.getDuration=$s,I.isTransformCentered=ms,I.resize=Ey,I.resolveOrigin=A,I.timeMsToUnits=Z,I.unitsToTimeMs=L,I.util=Br,I.wrapWithFixedAnchor=Us,Object.defineProperties(I,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cliquify.me/timeline",
3
- "version": "6.0.7",
3
+ "version": "6.0.8",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -37,7 +37,7 @@
37
37
  "peerDependencies": {
38
38
  "@types/lodash-es": "^4.17.12",
39
39
  "@designcombo/events": "^1.0.2",
40
- "@cliquify.me/types": "6.0.7"
40
+ "@cliquify.me/types": "6.0.8"
41
41
  },
42
42
  "scripts": {
43
43
  "dev": "vite",