animejs 4.1.2 → 4.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/README.md +18 -8
  2. package/{lib → dist/bundles}/anime.esm.js +6549 -6265
  3. package/dist/bundles/anime.esm.min.js +7 -0
  4. package/dist/bundles/anime.umd.js +8621 -0
  5. package/dist/bundles/anime.umd.min.js +7 -0
  6. package/dist/modules/animatable/animatable.cjs +150 -0
  7. package/dist/modules/animatable/animatable.d.ts +28 -0
  8. package/dist/modules/animatable/animatable.js +147 -0
  9. package/dist/modules/animatable/index.cjs +15 -0
  10. package/dist/modules/animatable/index.d.ts +1 -0
  11. package/dist/modules/animatable/index.js +8 -0
  12. package/dist/modules/animation/additive.cjs +82 -0
  13. package/dist/modules/animation/additive.d.ts +15 -0
  14. package/dist/modules/animation/additive.js +79 -0
  15. package/dist/modules/animation/animation.cjs +660 -0
  16. package/dist/modules/animation/animation.d.ts +47 -0
  17. package/dist/modules/animation/animation.js +657 -0
  18. package/dist/modules/animation/composition.cjs +383 -0
  19. package/dist/modules/animation/composition.d.ts +10 -0
  20. package/dist/modules/animation/composition.js +377 -0
  21. package/dist/modules/animation/index.cjs +15 -0
  22. package/dist/modules/animation/index.d.ts +1 -0
  23. package/dist/modules/animation/index.js +8 -0
  24. package/dist/modules/core/clock.cjs +110 -0
  25. package/dist/modules/core/clock.d.ts +51 -0
  26. package/dist/modules/core/clock.js +108 -0
  27. package/dist/modules/core/colors.cjs +102 -0
  28. package/dist/modules/core/colors.d.ts +2 -0
  29. package/dist/modules/core/colors.js +100 -0
  30. package/dist/modules/core/consts.cjs +154 -0
  31. package/dist/modules/core/consts.d.ts +59 -0
  32. package/dist/modules/core/consts.js +121 -0
  33. package/dist/modules/core/globals.cjs +77 -0
  34. package/dist/modules/core/globals.d.ts +29 -0
  35. package/dist/modules/core/globals.js +72 -0
  36. package/dist/modules/core/helpers.cjs +304 -0
  37. package/dist/modules/core/helpers.d.ts +43 -0
  38. package/dist/modules/core/helpers.js +261 -0
  39. package/dist/modules/core/render.cjs +389 -0
  40. package/dist/modules/core/render.d.ts +4 -0
  41. package/dist/modules/core/render.js +386 -0
  42. package/dist/modules/core/styles.cjs +116 -0
  43. package/dist/modules/core/styles.d.ts +5 -0
  44. package/dist/modules/core/styles.js +113 -0
  45. package/dist/modules/core/targets.cjs +136 -0
  46. package/dist/modules/core/targets.d.ts +118 -0
  47. package/dist/modules/core/targets.js +132 -0
  48. package/dist/modules/core/transforms.cjs +49 -0
  49. package/dist/modules/core/transforms.d.ts +2 -0
  50. package/dist/modules/core/transforms.js +47 -0
  51. package/dist/modules/core/units.cjs +67 -0
  52. package/dist/modules/core/units.d.ts +3 -0
  53. package/dist/modules/core/units.js +65 -0
  54. package/dist/modules/core/values.cjs +215 -0
  55. package/dist/modules/core/values.d.ts +14 -0
  56. package/dist/modules/core/values.js +205 -0
  57. package/dist/modules/draggable/draggable.cjs +1226 -0
  58. package/dist/modules/draggable/draggable.d.ts +272 -0
  59. package/dist/modules/draggable/draggable.js +1223 -0
  60. package/dist/modules/draggable/index.cjs +15 -0
  61. package/dist/modules/draggable/index.d.ts +1 -0
  62. package/dist/modules/draggable/index.js +8 -0
  63. package/dist/modules/easings/cubic-bezier.cjs +64 -0
  64. package/dist/modules/easings/cubic-bezier.d.ts +2 -0
  65. package/dist/modules/easings/cubic-bezier.js +62 -0
  66. package/dist/modules/easings/eases.cjs +149 -0
  67. package/dist/modules/easings/eases.d.ts +111 -0
  68. package/dist/modules/easings/eases.js +146 -0
  69. package/dist/modules/easings/index.cjs +24 -0
  70. package/dist/modules/easings/index.d.ts +6 -0
  71. package/dist/modules/easings/index.js +13 -0
  72. package/dist/modules/easings/irregular.cjs +41 -0
  73. package/dist/modules/easings/irregular.d.ts +2 -0
  74. package/dist/modules/easings/irregular.js +39 -0
  75. package/dist/modules/easings/linear.cjs +59 -0
  76. package/dist/modules/easings/linear.d.ts +2 -0
  77. package/dist/modules/easings/linear.js +57 -0
  78. package/dist/modules/easings/none.cjs +19 -0
  79. package/dist/modules/easings/none.d.ts +8 -0
  80. package/dist/modules/easings/none.js +17 -0
  81. package/dist/modules/easings/parser.cjs +59 -0
  82. package/dist/modules/easings/parser.d.ts +21 -0
  83. package/dist/modules/easings/parser.js +55 -0
  84. package/dist/modules/easings/steps.cjs +30 -0
  85. package/dist/modules/easings/steps.d.ts +2 -0
  86. package/dist/modules/easings/steps.js +28 -0
  87. package/dist/modules/engine/engine.cjs +168 -0
  88. package/dist/modules/engine/engine.d.ts +21 -0
  89. package/dist/modules/engine/engine.js +166 -0
  90. package/dist/modules/engine/index.cjs +14 -0
  91. package/dist/modules/engine/index.d.ts +1 -0
  92. package/dist/modules/engine/index.js +8 -0
  93. package/dist/modules/events/index.cjs +16 -0
  94. package/dist/modules/events/index.d.ts +1 -0
  95. package/dist/modules/events/index.js +8 -0
  96. package/dist/modules/events/scroll.cjs +936 -0
  97. package/dist/modules/events/scroll.d.ts +189 -0
  98. package/dist/modules/events/scroll.js +932 -0
  99. package/dist/modules/index.cjs +103 -0
  100. package/dist/modules/index.d.ts +19 -0
  101. package/dist/modules/index.js +42 -0
  102. package/dist/modules/scope/index.cjs +15 -0
  103. package/dist/modules/scope/index.d.ts +1 -0
  104. package/dist/modules/scope/index.js +8 -0
  105. package/dist/modules/scope/scope.cjs +254 -0
  106. package/dist/modules/scope/scope.d.ts +115 -0
  107. package/dist/modules/scope/scope.js +251 -0
  108. package/dist/modules/spring/index.cjs +15 -0
  109. package/dist/modules/spring/index.d.ts +1 -0
  110. package/dist/modules/spring/index.js +8 -0
  111. package/dist/modules/spring/spring.cjs +133 -0
  112. package/dist/modules/spring/spring.d.ts +37 -0
  113. package/dist/modules/spring/spring.js +130 -0
  114. package/dist/modules/svg/drawable.cjs +119 -0
  115. package/dist/modules/svg/drawable.d.ts +3 -0
  116. package/dist/modules/svg/drawable.js +117 -0
  117. package/dist/modules/svg/helpers.cjs +30 -0
  118. package/dist/modules/svg/helpers.d.ts +2 -0
  119. package/dist/modules/svg/helpers.js +28 -0
  120. package/dist/modules/svg/index.cjs +18 -0
  121. package/dist/modules/svg/index.d.ts +3 -0
  122. package/dist/modules/svg/index.js +10 -0
  123. package/dist/modules/svg/morphto.cjs +58 -0
  124. package/dist/modules/svg/morphto.d.ts +3 -0
  125. package/dist/modules/svg/morphto.js +56 -0
  126. package/dist/modules/svg/motionpath.cjs +79 -0
  127. package/dist/modules/svg/motionpath.d.ts +7 -0
  128. package/dist/modules/svg/motionpath.js +77 -0
  129. package/dist/modules/text/index.cjs +16 -0
  130. package/dist/modules/text/index.d.ts +1 -0
  131. package/dist/modules/text/index.js +8 -0
  132. package/dist/modules/text/split.cjs +488 -0
  133. package/dist/modules/text/split.d.ts +62 -0
  134. package/dist/modules/text/split.js +484 -0
  135. package/dist/modules/timeline/index.cjs +15 -0
  136. package/dist/modules/timeline/index.d.ts +1 -0
  137. package/dist/modules/timeline/index.js +8 -0
  138. package/dist/modules/timeline/position.cjs +72 -0
  139. package/dist/modules/timeline/position.d.ts +3 -0
  140. package/dist/modules/timeline/position.js +70 -0
  141. package/dist/modules/timeline/timeline.cjs +312 -0
  142. package/dist/modules/timeline/timeline.d.ts +163 -0
  143. package/dist/modules/timeline/timeline.js +309 -0
  144. package/dist/modules/timer/index.cjs +15 -0
  145. package/dist/modules/timer/index.d.ts +1 -0
  146. package/dist/modules/timer/index.js +8 -0
  147. package/dist/modules/timer/timer.cjs +491 -0
  148. package/dist/modules/timer/timer.d.ts +141 -0
  149. package/dist/modules/timer/timer.js +488 -0
  150. package/dist/modules/types/index.d.ts +387 -0
  151. package/dist/modules/utils/chainable.cjs +190 -0
  152. package/dist/modules/utils/chainable.d.ts +135 -0
  153. package/dist/modules/utils/chainable.js +177 -0
  154. package/dist/modules/utils/index.cjs +43 -0
  155. package/dist/modules/utils/index.d.ts +5 -0
  156. package/dist/modules/utils/index.js +14 -0
  157. package/dist/modules/utils/number.cjs +97 -0
  158. package/dist/modules/utils/number.d.ts +9 -0
  159. package/dist/modules/utils/number.js +85 -0
  160. package/dist/modules/utils/random.cjs +77 -0
  161. package/dist/modules/utils/random.d.ts +22 -0
  162. package/dist/modules/utils/random.js +72 -0
  163. package/dist/modules/utils/stagger.cjs +122 -0
  164. package/dist/modules/utils/stagger.d.ts +30 -0
  165. package/dist/modules/utils/stagger.js +120 -0
  166. package/dist/modules/utils/target.cjs +130 -0
  167. package/dist/modules/utils/target.d.ts +126 -0
  168. package/dist/modules/utils/target.js +125 -0
  169. package/dist/modules/utils/time.cjs +57 -0
  170. package/dist/modules/utils/time.d.ts +5 -0
  171. package/dist/modules/utils/time.js +54 -0
  172. package/dist/modules/waapi/composition.cjs +89 -0
  173. package/dist/modules/waapi/composition.d.ts +4 -0
  174. package/dist/modules/waapi/composition.js +86 -0
  175. package/dist/modules/waapi/index.cjs +15 -0
  176. package/dist/modules/waapi/index.d.ts +1 -0
  177. package/dist/modules/waapi/index.js +8 -0
  178. package/dist/modules/waapi/waapi.cjs +473 -0
  179. package/dist/modules/waapi/waapi.d.ts +114 -0
  180. package/dist/modules/waapi/waapi.js +470 -0
  181. package/package.json +130 -33
  182. package/lib/anime.cjs +0 -9
  183. package/lib/anime.esm.min.js +0 -9
  184. package/lib/anime.iife.js +0 -9
  185. package/lib/anime.iife.min.js +0 -9
  186. package/lib/anime.min.cjs +0 -9
  187. package/lib/anime.umd.js +0 -9
  188. package/lib/anime.umd.min.js +0 -9
  189. package/lib/gui/index.js +0 -6341
  190. package/types/index.d.ts +0 -1081
  191. package/types/index.js +0 -7407
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Anime.js - ESM minified bundle
3
+ * @version v4.2.0
4
+ * @license MIT
5
+ * @copyright 2025 - Julian Garnier
6
+ */
7
+ const t="undefined"!=typeof window,e=t?window:null,s=t?document:null,i={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},r={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},n={NONE:0,AUTO:1,FORCE:2},o={replace:0,none:1,blend:2},a=Symbol(),h=Symbol(),l=Symbol(),c=Symbol(),d=Symbol(),u=Symbol(),p=1e-11,m=1e12,f=1e3,g=120,_="",y=(()=>{const t=new Map;return t.set("x","translateX"),t.set("y","translateY"),t.set("z","translateZ"),t})(),v=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],b=v.reduce((t,e)=>({...t,[e]:e+"("}),{}),T=()=>{},S=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,w=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,x=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,E=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,C=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,k=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,$=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,O=/([a-z])([A-Z])/g,B=/(\w+)(\([^)]+\)+)/g,N=/(\*=|\+=|-=)/,R={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:g,loop:0,reversed:!1,alternate:!1,autoplay:!0,duration:f,delay:0,loopDelay:0,ease:"out(2)",composition:o.replace,modifier:t=>t,onBegin:T,onBeforeUpdate:T,onUpdate:T,onLoop:T,onPause:T,onComplete:T,onRender:T},L={current:null,root:s},A={defaults:R,precision:4,timeScale:1,tickThreshold:200},D={version:"4.2.0",engine:null};t&&(e.AnimeJS||(e.AnimeJS=[]),e.AnimeJS.push(D));const M=t=>t.replace(O,"$1-$2").toLowerCase(),F=(t,e)=>0===t.indexOf(e),I=Date.now,P=Array.isArray,z=t=>t&&t.constructor===Object,X=t=>"number"==typeof t&&!isNaN(t),U=t=>"string"==typeof t,Y=t=>"function"==typeof t,W=t=>void 0===t,V=t=>W(t)||null===t,H=e=>t&&e instanceof SVGElement,q=t=>S.test(t),j=t=>F(t,"rgb"),Q=t=>F(t,"hsl"),G=t=>q(t)||j(t)||Q(t),J=t=>!A.defaults.hasOwnProperty(t),Z=["opacity","rotate","overflow","color"],K=(t,e)=>{if(Z.includes(e))return!1;if(t.getAttribute(e)||e in t){if("scale"===e){const e=t.parentNode;return e&&"filter"===e.tagName}return!0}},tt=t=>U(t)?parseFloat(t):t,et=Math.pow,st=Math.sqrt,it=Math.sin,rt=Math.cos,nt=Math.abs,ot=Math.exp,at=Math.ceil,ht=Math.floor,lt=Math.asin,ct=Math.max,dt=Math.atan2,ut=Math.PI,pt=Math.round,mt=(t,e,s)=>t<e?e:t>s?s:t,ft={},gt=(t,e)=>{if(e<0)return t;if(!e)return pt(t);let s=ft[e];return s||(s=ft[e]=10**e),pt(t*s)/s},_t=(t,e)=>P(e)?e.reduce((e,s)=>nt(s-t)<nt(e-t)?s:e):e?pt(t/e)*e:t,yt=(t,e,s)=>t+(e-t)*s,vt=t=>t===1/0?m:t===-1/0?-m:t,bt=t=>t<=p?p:vt(gt(t,11)),Tt=t=>P(t)?[...t]:t,St=(t,e)=>{const s={...t};for(let i in e){const r=t[i];s[i]=W(r)?e[i]:r}return s},wt=(t,e,s,i="_prev",r="_next")=>{let n=t._head,o=r;for(s&&(n=t._tail,o=i);n;){const t=n[o];e(n),n=t}},xt=(t,e,s="_prev",i="_next")=>{const r=e[s],n=e[i];r?r[i]=n:t._head=n,n?n[s]=r:t._tail=r,e[s]=null,e[i]=null},Et=(t,e,s,i="_prev",r="_next")=>{let n=t._tail;for(;n&&s&&s(n,e);)n=n[i];const o=n?n[r]:t._head;n?n[r]=e:t._head=e,o?o[i]=e:t._tail=e,e[i]=n,e[r]=o},Ct=(t,e,s)=>{const i=t.style.transform;let r;if(i){const n=t[c];let o;for(;o=B.exec(i);){const t=o[1],i=o[2].slice(1,-1);n[t]=i,t===e&&(r=i,s&&(s[e]=i))}}return i&&!W(r)?r:F(e,"scale")?"1":F(e,"rotate")||F(e,"skew")?"0deg":"0px"},kt=t=>{const e=w.exec(t)||x.exec(t),s=W(e[4])?1:+e[4];return[+e[1],+e[2],+e[3],s]},$t=t=>{const e=t.length,s=4===e||5===e;return[+("0x"+t[1]+t[s?1:2]),+("0x"+t[s?2:3]+t[s?2:4]),+("0x"+t[s?3:5]+t[s?3:6]),5===e||9===e?+(+("0x"+t[s?4:7]+t[s?4:8])/255).toFixed(3):1]},Ot=(t,e,s)=>(s<0&&(s+=1),s>1&&(s-=1),s<1/6?t+6*(e-t)*s:s<.5?e:s<2/3?t+(e-t)*(2/3-s)*6:t),Bt=t=>{const e=E.exec(t)||C.exec(t),s=+e[1]/360,i=+e[2]/100,r=+e[3]/100,n=W(e[4])?1:+e[4];let o,a,h;if(0===i)o=a=h=r;else{const t=r<.5?r*(1+i):r+i-r*i,e=2*r-t;o=gt(255*Ot(e,t,s+1/3),0),a=gt(255*Ot(e,t,s),0),h=gt(255*Ot(e,t,s-1/3),0)}return[o,a,h,n]},Nt=t=>j(t)?kt(t):q(t)?$t(t):Q(t)?Bt(t):[0,0,0,1],Rt=(t,e)=>W(t)?e:t,Lt=(t,e,s,i,r)=>{if(Y(t)){const n=()=>{const r=t(e,s,i);return isNaN(+r)?r||0:+r};return r&&(r.func=n),n()}return t},At=(t,e)=>t[h]?t[l]&&K(t,e)?i.ATTRIBUTE:v.includes(e)||y.get(e)?i.TRANSFORM:F(e,"--")?i.CSS_VAR:e in t.style?i.CSS:e in t?i.OBJECT:i.ATTRIBUTE:i.OBJECT,Dt=(t,e,s)=>{const i=t.style[e];i&&s&&(s[e]=i);const r=i||getComputedStyle(t[u]||t).getPropertyValue(e);return"auto"===r?"0":r},Mt=(t,e,s,r)=>{const n=W(s)?At(t,e):s;return n===i.OBJECT?t[e]||0:n===i.ATTRIBUTE?t.getAttribute(e):n===i.TRANSFORM?Ct(t,e,r):n===i.CSS_VAR?Dt(t,e,r).trimStart():Dt(t,e,r)},Ft=(t,e,s)=>"-"===s?t-e:"+"===s?t+e:t*e,It=()=>({t:r.NUMBER,n:0,u:null,o:null,d:null,s:null}),Pt=(t,e)=>{if(e.t=r.NUMBER,e.n=0,e.u=null,e.o=null,e.d=null,e.s=null,!t)return e;const s=+t;if(isNaN(s)){let s=t;"="===s[1]&&(e.o=s[0],s=s.slice(2));const i=!s.includes(" ")&&$.exec(s);if(i)return e.t=r.UNIT,e.n=+i[1],e.u=i[2],e;if(e.o)return e.n=+s,e;if(G(s))return e.t=r.COLOR,e.d=Nt(s),e;{const t=s.match(k);return e.t=r.COMPLEX,e.d=t?t.map(Number):[],e.s=s.split(k)||[],e}}return e.n=s,e},zt=(t,e)=>(e.t=t._valueType,e.n=t._toNumber,e.u=t._unit,e.o=null,e.d=Tt(t._toNumbers),e.s=Tt(t._strings),e),Xt=It(),Ut=(t,e,s,a,h)=>{const l=t.parent,d=t.duration,u=t.completed,m=t.iterationDuration,f=t.iterationCount,g=t._currentIteration,y=t._loopDelay,v=t._reversed,T=t._alternate,S=t._hasChildren,w=t._delay,x=t._currentTime,E=w+m,C=e-w,k=mt(x,-w,d),$=mt(C,-w,d),O=C-x,B=$>0,N=$>=d,R=d<=p,L=h===n.FORCE;let D=0,M=C,F=0;if(f>1){const e=~~($/(m+(N?0:y)));t._currentIteration=mt(e,0,f),N&&t._currentIteration--,D=t._currentIteration%2,M=$%(m+y)||0}const I=v^(T&&D),P=t._ease;let z=N?I?0:d:I?m-M:M;P&&(z=m*P(z/m)||0);const X=(l?l.backwards:C<x)?!I:!!I;if(t._currentTime=C,t._iterationTime=z,t.backwards=X,B&&!t.began?(t.began=!0,s||l&&(X||!l.began)||t.onBegin(t)):C<=0&&(t.began=!1),s||S||!B||t._currentIteration===g||t.onLoop(t),L||h===n.AUTO&&(e>=w&&e<=E||e<=w&&k>w||e>=E&&k!==d)||z>=E&&k!==d||z<=w&&k>0||e<=k&&k===d&&u||N&&!u&&R){if(B&&(t.computeDeltaTime(k),s||t.onBeforeUpdate(t)),!S){const e=L||(X?-1*O:O)>=A.tickThreshold,n=t._offset+(l?l._offset:0)+w+z;let h,d,u,p,m=t._head,f=0;for(;m;){const t=m._composition,s=m._currentTime,l=m._changeDuration,g=m._absoluteStartTime+m._changeDuration,y=m._nextRep,v=m._prevRep,T=t!==o.none;if((e||(s!==l||n<=g+(y?y._delay:0))&&(0!==s||n>=m._absoluteStartTime))&&(!T||!m._isOverridden&&(!m._isOverlapped||n<=g)&&(!y||y._isOverridden||n<=y._absoluteStartTime)&&(!v||v._isOverridden||n>=v._absoluteStartTime+v._changeDuration+m._delay))){const e=m._currentTime=mt(z-m._startTime,0,l),s=m._ease(e/m._updateDuration),n=m._modifier,g=m._valueType,_=m._tweenType,y=_===i.OBJECT,v=g===r.NUMBER,b=v&&y||0===s||1===s?-1:A.precision;let S,w;if(v)S=w=n(gt(yt(m._fromNumber,m._toNumber,s),b));else if(g===r.UNIT)w=n(gt(yt(m._fromNumber,m._toNumber,s),b)),S=`${w}${m._unit}`;else if(g===r.COLOR){const t=m._fromNumbers,e=m._toNumbers,i=gt(mt(n(yt(t[0],e[0],s)),0,255),0),r=gt(mt(n(yt(t[1],e[1],s)),0,255),0),o=gt(mt(n(yt(t[2],e[2],s)),0,255),0),a=mt(n(gt(yt(t[3],e[3],s),b)),0,1);if(S=`rgba(${i},${r},${o},${a})`,T){const t=m._numbers;t[0]=i,t[1]=r,t[2]=o,t[3]=a}}else if(g===r.COMPLEX){S=m._strings[0];for(let t=0,e=m._toNumbers.length;t<e;t++){const e=n(gt(yt(m._fromNumbers[t],m._toNumbers[t],s),b)),i=m._strings[t+1];S+=`${i?e+i:e}`,T&&(m._numbers[t]=e)}}if(T&&(m._number=w),a||t===o.blend)m._value=S;else{const t=m.property;h=m.target,y?h[t]=S:_===i.ATTRIBUTE?h.setAttribute(t,S):(d=h.style,_===i.TRANSFORM?(h!==u&&(u=h,p=h[c]),p[t]=S,f=1):_===i.CSS?d[t]=S:_===i.CSS_VAR&&d.setProperty(t,S)),B&&(F=1)}}if(f&&m._renderTransforms){let t=_;for(let e in p)t+=`${b[e]}${p[e]}) `;d.transform=t,f=0}m=m._next}!s&&F&&t.onRender(t)}!s&&B&&t.onUpdate(t)}return l&&R?!s&&(l.began&&!X&&C>=d&&!u||X&&C<=p&&u)&&(t.onComplete(t),t.completed=!X):B&&N?f===1/0?t._startTime+=t.duration:t._currentIteration>=f-1&&(t.paused=!0,u||S||(t.completed=!0,s||l&&(X||!l.began)||(t.onComplete(t),t._resolve(t)))):t.completed=!1,F},Yt=(t,e,s,i,r)=>{const o=t._currentIteration;if(Ut(t,e,s,i,r),t._hasChildren){const a=t,h=a.backwards,l=i?e:a._iterationTime,c=I();let d=0,u=!0;if(!i&&a._currentIteration!==o){const t=a.iterationDuration;wt(a,e=>{if(h){const i=e.duration,r=e._offset+e._delay;s||!(i<=p)||r&&r+i!==t||e.onComplete(e)}else!e.completed&&!e.backwards&&e._currentTime<e.iterationDuration&&Ut(e,t,s,1,n.FORCE),e.began=!1,e.completed=!1}),s||a.onLoop(a)}wt(a,t=>{const e=gt((l-t._offset)*t._speed,12),n=t._fps<a._fps?t.requestTick(c):r;d+=Ut(t,e,s,i,n),!t.completed&&u&&(u=!1)},h),!s&&d&&a.onRender(a),(u||h)&&a._currentTime>=a.duration&&(a.paused=!0,a.completed||(a.completed=!0,s||(a.onComplete(a),a._resolve(a))))}},Wt={},Vt=(t,e,s)=>{if(s===i.TRANSFORM)return y.get(t)||t;if(s===i.CSS||s===i.ATTRIBUTE&&H(e)&&t in e.style){const e=Wt[t];if(e)return e;{const e=t?M(t):t;return Wt[t]=e,e}}return t},Ht=t=>{if(t._hasChildren)wt(t,Ht,!0);else{const e=t;e.pause(),wt(e,t=>{const s=t.property,r=t.target;if(r[h]){const n=r.style,o=e._inlineStyles[s];if(t._tweenType===i.TRANSFORM){const e=r[c];if(W(o)||o===_?delete e[s]:e[s]=o,t._renderTransforms)if(Object.keys(e).length){let t=_;for(let s in e)t+=b[s]+e[s]+") ";n.transform=t}else n.removeProperty("transform")}else W(o)||o===_?n.removeProperty(s):n[s]=o;e._tail===t&&e.targets.forEach(t=>{t.getAttribute&&t.getAttribute("style")===_&&t.removeAttribute("style")})}})}return t};class qt{constructor(t=0){this.deltaTime=0,this._currentTime=t,this._elapsedTime=t,this._startTime=t,this._lastTime=t,this._scheduledTime=0,this._frameDuration=gt(f/g,0),this._fps=g,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(t){const e=this._frameDuration,s=+t,i=s<p?p:s,r=gt(f/i,0);this._fps=i,this._frameDuration=r,this._scheduledTime+=r-e}get speed(){return this._speed}set speed(t){const e=+t;this._speed=e<p?p:e}requestTick(t){const e=this._scheduledTime,s=this._elapsedTime;if(this._elapsedTime+=t-s,s<e)return n.NONE;const i=this._frameDuration,r=s-e;return this._scheduledTime+=r<i?i:r,n.AUTO}computeDeltaTime(t){const e=t-this._lastTime;return this.deltaTime=e,this._lastTime=t,e}}const jt={animation:null,update:T},Qt=t=>{let e=jt.animation;return e||(e={duration:p,computeDeltaTime:T,_offset:0,_delay:0,_head:null,_tail:null},jt.animation=e,jt.update=()=>{t.forEach(t=>{for(let e in t){const s=t[e],i=s._head;if(i){const t=i._valueType,e=t===r.COMPLEX||t===r.COLOR?Tt(i._fromNumbers):null;let n=i._fromNumber,o=s._tail;for(;o&&o!==i;){if(e)for(let t=0,s=o._numbers.length;t<s;t++)e[t]+=o._numbers[t];else n+=o._number;o=o._prevAdd}i._toNumber=n,i._toNumbers=e}}}),Ut(e,1,1,0,n.FORCE)}),e},Gt=(()=>t?requestAnimationFrame:setImmediate)(),Jt=(()=>t?cancelAnimationFrame:clearImmediate)();class Zt extends qt{constructor(t){super(t),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=R,this.paused=!0,this.reqId=0}update(){const t=this._currentTime=I();if(this.requestTick(t)){this.computeDeltaTime(t);const e=this._speed,s=this._fps;let i=this._head;for(;i;){const r=i._next;i.paused?(xt(this,i),this._hasChildren=!!this._tail,i._running=!1,i.completed&&!i._cancelled&&i.cancel()):Yt(i,(t-i._startTime)*i._speed*e,0,0,i._fps<s?i.requestTick(t):n.AUTO),i=r}jt.update()}}wake(){return this.useDefaultMainLoop&&!this.reqId&&(this.requestTick(I()),this.reqId=Gt(te)),this}pause(){if(this.reqId)return this.paused=!0,ee()}resume(){if(this.paused)return this.paused=!1,wt(this,t=>t.resetTime()),this.wake()}get speed(){return this._speed*(1===A.timeScale?1:f)}set speed(t){this._speed=t*A.timeScale,wt(this,t=>t.speed=t._speed)}get timeUnit(){return 1===A.timeScale?"ms":"s"}set timeUnit(t){const e="s"===t,s=e?.001:1;if(A.timeScale!==s){A.timeScale=s,A.tickThreshold=200*s;const t=e?.001:f;this.defaults.duration*=t,this._speed*=t}}get precision(){return A.precision}set precision(t){A.precision=t}}const Kt=(()=>{const e=new Zt(I());return t&&(D.engine=e,s.addEventListener("visibilitychange",()=>{e.pauseOnDocumentHidden&&(s.hidden?e.pause():e.resume())})),e})(),te=()=>{Kt._head?(Kt.reqId=Gt(te),Kt.update()):Kt.reqId=0},ee=()=>(Jt(Kt.reqId),Kt.reqId=0,Kt),se={_rep:new WeakMap,_add:new Map},ie=(t,e,s="_rep")=>{const i=se[s];let r=i.get(t);return r||(r={},i.set(t,r)),r[e]?r[e]:r[e]={_head:null,_tail:null}},re=(t,e)=>t._isOverridden||t._absoluteStartTime>e._absoluteStartTime,ne=t=>{t._isOverlapped=1,t._isOverridden=1,t._changeDuration=p,t._currentTime=p},oe=(t,e)=>{const s=t._composition;if(s===o.replace){const s=t._absoluteStartTime;Et(e,t,re,"_prevRep","_nextRep");const i=t._prevRep;if(i){const e=i.parent,r=i._absoluteStartTime+i._changeDuration;if(t.parent.id!==e.id&&e.iterationCount>1&&r+(e.duration-e.iterationDuration)>s){ne(i);let t=i._prevRep;for(;t&&t.parent.id===e.id;)ne(t),t=t._prevRep}const n=s-t._delay;if(r>n){const t=i._startTime,e=r-(t+i._updateDuration),s=gt(n-e-t,12);i._changeDuration=s,i._currentTime=s,i._isOverlapped=1,s<p&&ne(i)}let o=!0;if(wt(e,t=>{t._isOverlapped||(o=!1)}),o){const t=e.parent;if(t){let s=!0;wt(t,t=>{t!==e&&wt(t,t=>{t._isOverlapped||(s=!1)})}),s&&t.cancel()}else e.cancel()}}}else if(s===o.blend){const e=ie(t.target,t.property,"_add"),s=Qt(se._add);let i=e._head;i||(i={...t},i._composition=o.replace,i._updateDuration=p,i._startTime=0,i._numbers=Tt(t._fromNumbers),i._number=0,i._next=null,i._prev=null,Et(e,i),Et(s,i));const r=t._toNumber;if(t._fromNumber=i._fromNumber-r,t._toNumber=0,t._numbers=Tt(t._fromNumbers),t._number=0,i._fromNumber=r,t._toNumbers){const e=Tt(t._toNumbers);e&&e.forEach((e,s)=>{t._fromNumbers[s]=i._fromNumbers[s]-e,t._toNumbers[s]=0}),i._fromNumbers=e}Et(e,t,null,"_prevAdd","_nextAdd")}return t},ae=t=>{const e=t._composition;if(e!==o.none){const s=t.target,i=t.property,r=se._rep.get(s)[i];if(xt(r,t,"_prevRep","_nextRep"),e===o.blend){const e=se._add,r=e.get(s);if(!r)return;const n=r[i],o=jt.animation;xt(n,t,"_prevAdd","_nextAdd");const a=n._head;if(a&&a===n._tail){xt(n,a,"_prevAdd","_nextAdd"),xt(o,a);let t=!0;for(let e in r)if(r[e]._head){t=!1;break}t&&e.delete(s)}}}return t},he=(t,e,s)=>{let r=!1;return wt(e,n=>{const o=n.target;if(t.includes(o)){const t=n.property,a=n._tweenType,h=Vt(s,o,a);(!h||h&&h===t)&&(n.parent._tail===n&&n._tweenType===i.TRANSFORM&&n._prev&&n._prev._tweenType===i.TRANSFORM&&(n._prev._renderTransforms=1),xt(e,n),ae(n),r=!0)}},!0),r},le=(t,e,s)=>{const i=e||Kt;let r;if(i._hasChildren){let e=0;wt(i,n=>{if(!n._hasChildren)if(r=he(t,n,s),r&&!n._head)n.cancel(),xt(i,n);else{const t=n._offset+n._delay+n.duration;t>e&&(e=t)}n._head?le(t,n,s):n._hasChildren=!1},!0),W(i.iterationDuration)||(i.iterationDuration=e)}else r=he(t,i,s);r&&!i._head&&(i._hasChildren=!1,i.cancel&&i.cancel())},ce=t=>(t.paused=!0,t.began=!1,t.completed=!1,t),de=t=>t._cancelled?(t._hasChildren?wt(t,de):wt(t,t=>{t._composition!==o.none&&oe(t,ie(t.target,t.property))}),t._cancelled=0,t):t;let ue=0;class pe extends qt{constructor(t={},e=null,s=0){super(0);const{id:i,delay:r,duration:n,reversed:o,alternate:a,loop:h,loopDelay:l,autoplay:c,frameRate:d,playbackRate:u,onComplete:m,onLoop:f,onPause:g,onBegin:_,onBeforeUpdate:y,onUpdate:v}=t;L.current&&L.current.register(this);const b=e?0:Kt._elapsedTime,S=e?e.defaults:A.defaults,w=Y(r)||W(r)?S.delay:+r,x=Y(n)||W(n)?1/0:+n,E=Rt(h,S.loop),C=Rt(l,S.loopDelay),k=!0===E||E===1/0||E<0?1/0:E+1;let $=0;e?$=s:(Kt.reqId||Kt.requestTick(I()),$=(Kt._elapsedTime-Kt._startTime)*A.timeScale),this.id=W(i)?++ue:i,this.parent=e,this.duration=vt((x+C)*k-C)||p,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=_||S.onBegin,this.onBeforeUpdate=y||S.onBeforeUpdate,this.onUpdate=v||S.onUpdate,this.onLoop=f||S.onLoop,this.onPause=g||S.onPause,this.onComplete=m||S.onComplete,this.iterationDuration=x,this.iterationCount=k,this._autoplay=!e&&Rt(c,S.autoplay),this._offset=$,this._delay=w,this._loopDelay=C,this._iterationTime=0,this._currentIteration=0,this._resolve=T,this._running=!1,this._reversed=+Rt(o,S.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=Rt(a,S.alternate),this._prev=null,this._next=null,this._elapsedTime=b,this._startTime=b,this._lastTime=b,this._fps=Rt(d,S.frameRate),this._speed=Rt(u,S.playbackRate)}get cancelled(){return!!this._cancelled}set cancelled(t){t?this.cancel():this.reset(1).play()}get currentTime(){return mt(gt(this._currentTime,A.precision),-this._delay,this.duration)}set currentTime(t){const e=this.paused;this.pause().seek(+t),e||this.resume()}get iterationCurrentTime(){return gt(this._iterationTime,A.precision)}set iterationCurrentTime(t){this.currentTime=this.iterationDuration*this._currentIteration+t}get progress(){return mt(gt(this._currentTime/this.duration,10),0,1)}set progress(t){this.currentTime=this.duration*t}get iterationProgress(){return mt(gt(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(t){const e=this.iterationDuration;this.currentTime=e*this._currentIteration+e*t}get currentIteration(){return this._currentIteration}set currentIteration(t){this.currentTime=this.iterationDuration*mt(+t,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(t){t?this.reverse():this.play()}get speed(){return super.speed}set speed(t){super.speed=t,this.resetTime()}reset(t=0){return de(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,Yt(this,0,1,t,n.FORCE),ce(this),this._hasChildren&&wt(this,ce),this}init(t=0){this.fps=this._fps,this.speed=this._speed,!t&&this._hasChildren&&Yt(this,this.duration,1,t,n.FORCE),this.reset(t);const e=this._autoplay;return!0===e?this.resume():e&&!W(e.linked)&&e.link(this),this}resetTime(){const t=1/(this._speed*Kt._speed);return this._startTime=I()-(this._currentTime+this._delay)*t,this}pause(){return this.paused||(this.paused=!0,this.onPause(this)),this}resume(){return this.paused?(this.paused=!1,this.duration<=p&&!this._hasChildren?Yt(this,p,0,0,n.FORCE):(this._running||(Et(Kt,this),Kt._hasChildren=!0,this._running=!0),this.resetTime(),this._startTime-=12,Kt.wake()),this):this}restart(){return this.reset(0).resume()}seek(t,e=0,s=0){de(this),this.completed=!1;const i=this.paused;return this.paused=!0,Yt(this,t+this._delay,~~e,~~s,n.AUTO),i?this:this.resume()}alternate(){const t=this._reversed,e=this.iterationCount,s=this.iterationDuration,i=e===1/0?ht(m/s):e;return this._reversed=+(!this._alternate||i%2?!t:t),e===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(s*i-this._currentTime),this.resetTime(),this}play(){return this._reversed&&this.alternate(),this.resume()}reverse(){return this._reversed||this.alternate(),this.resume()}cancel(){return this._hasChildren?wt(this,t=>t.cancel(),!0):wt(this,ae),this._cancelled=1,this.pause()}stretch(t){const e=this.duration,s=bt(t);if(e===s)return this;const i=t/e,r=t<=p;return this.duration=r?p:s,this.iterationDuration=r?p:bt(this.iterationDuration*i),this._offset*=i,this._delay*=i,this._loopDelay*=i,this}revert(){Yt(this,0,1,0,n.AUTO);const t=this._autoplay;return t&&t.linked&&t.linked===this&&t.revert(),this.cancel()}complete(){return this.seek(this.duration).cancel()}then(t=T){const e=this.then,s=()=>{this.then=null,t(this),this.then=e,this._resolve=T};return new Promise(t=>(this._resolve=()=>t(s()),this.completed&&this._resolve(),this))}}const me=t=>new pe(t,null,0).init();function fe(t){const e=U(t)?L.root.querySelectorAll(t):t;if(e instanceof NodeList||e instanceof HTMLCollection)return e}function ge(e){if(V(e))return[];if(!t)return P(e)&&e.flat(1/0)||[e];if(P(e)){const t=e.flat(1/0),s=[];for(let e=0,i=t.length;e<i;e++){const i=t[e];if(!V(i)){const t=fe(i);if(t)for(let e=0,i=t.length;e<i;e++){const i=t[e];if(!V(i)){let t=!1;for(let e=0,r=s.length;e<r;e++)if(s[e]===i){t=!0;break}t||s.push(i)}}else{let t=!1;for(let e=0,r=s.length;e<r;e++)if(s[e]===i){t=!0;break}t||s.push(i)}}}return s}const s=fe(e);return s?Array.from(s):[e]}function _e(t){const e=ge(t),s=e.length;if(s)for(let t=0;t<s;t++){const s=e[t];if(!s[a]){s[a]=!0;const t=H(s);(s.nodeType||t)&&(s[h]=!0,s[l]=t,s[c]={})}}return e}const ye={deg:1,rad:180/ut,turn:360},ve={},be=(t,e,i,n=!1)=>{const o=e.u,a=e.n;if(e.t===r.UNIT&&o===i)return e;const h=a+o+i,l=ve[h];if(W(l)||n){let r;if(o in ye)r=a*ye[o]/ye[i];else{const e=100,n=t.cloneNode(),h=t.parentNode,l=h&&h!==s?h:s.body;l.appendChild(n);const c=n.style;c.width=e+o;const d=n.offsetWidth||e;c.width=e+i;const u=d/(n.offsetWidth||e);l.removeChild(n),r=u*a}e.n=r,ve[h]=r}else e.n=l;return e.t,e.u=i,e},Te=t=>t,Se=(t=1.68)=>e=>et(e,+t),we={in:t=>e=>t(e),out:t=>e=>1-t(1-e),inOut:t=>e=>e<.5?t(2*e)/2:1-t(-2*e+2)/2,outIn:t=>e=>e<.5?(1-t(1-2*e))/2:(t(2*e-1)+1)/2},xe=(t,e,s)=>{if(s[t])return s[t];if(t.indexOf("(")<=-1){const i=we[t]||t.includes("Back")||t.includes("Elastic")?e[t]():e[t];return i?s[t]=i:Te}{const i=t.slice(0,-1).split("("),r=e[i[0]];return r?s[t]=r(...i[1].split(",")):Te}},Ee=(t,e,s)=>(((1-3*s+3*e)*t+(3*s-6*e))*t+3*e)*t,Ce=(t,e,s)=>{let i,r,n=0,o=1,a=0;do{r=n+(o-n)/2,i=Ee(r,e,s)-t,i>0?o=r:n=r}while(nt(i)>1e-7&&++a<100);return r},ke=(t=.5,e=0,s=.5,i=1)=>t===e&&s===i?Te:r=>0===r||1===r?r:Ee(Ce(r,t,s),e,i),$e=(t=10,e)=>{const s=e?at:ht;return e=>s(mt(e,0,1)*t)*(1/t)},Oe=(...t)=>{const e=t.length;if(!e)return Te;const s=e-1,i=t[0],r=t[s],n=[0],o=[tt(i)];for(let e=1;e<s;e++){const i=t[e],r=U(i)?i.trim().split(" "):[i],a=r[0],h=r[1];n.push(W(h)?e/s:tt(h)/100),o.push(tt(a))}return o.push(tt(r)),n.push(1),function(t){for(let e=1,s=n.length;e<s;e++){const s=n[e];if(t<=s){const i=n[e-1],r=o[e-1];return r+(o[e]-r)*(t-i)/(s-i)}}return o[o.length-1]}},Be=(t=10,e=1)=>{const s=[0],i=t-1;for(let t=1;t<i;t++){const r=s[t-1],n=t/i,o=n*(1-e)+(n+((t+1)/i-n)*Math.random())*e;s.push(mt(o,r,1))}return s.push(1),Oe(...s)},Ne=ut/2,Re=2*ut,Le={[_]:Se,Quad:Se(2),Cubic:Se(3),Quart:Se(4),Quint:Se(5),Sine:t=>1-rt(t*Ne),Circ:t=>1-st(1-t*t),Expo:t=>t?et(2,10*t-10):0,Bounce:t=>{let e,s=4;for(;t<((e=et(2,--s))-1)/11;);return 1/et(4,3-s)-7.5625*et((3*e-2)/22-t,2)},Back:(t=1.70158)=>e=>(+t+1)*e*e*e-+t*e*e,Elastic:(t=1,e=.3)=>{const s=mt(+t,1,10),i=mt(+e,p,2),r=i/Re*lt(1/s),n=Re/i;return t=>0===t||1===t?t:-s*et(2,-10*(1-t))*it((1-t-r)*n)}},Ae=(()=>{const t={linear:Oe,irregular:Be,steps:$e,cubicBezier:ke};for(let e in we)for(let s in Le){const i=Le[s],r=we[e];t[e+s]=s===_||"Back"===s||"Elastic"===s?(t,e)=>r(i(t,e)):r(i)}return t})(),De={linear:Te},Me=t=>Y(t)?t:U(t)?xe(t,Ae,De):Te,Fe=It(),Ie=It(),Pe={func:null},ze=[null],Xe=[null,null],Ue={to:null};let Ye,We,Ve=0;const He=(t,e)=>{const s={};if(P(t)){const e=[].concat(...t.map(t=>Object.keys(t))).filter(J);for(let i=0,r=e.length;i<r;i++){const r=e[i],n=t.map(t=>{const e={};for(let s in t){const i=t[s];J(s)?s===r&&(e.to=i):e[s]=i}return e});s[r]=n}}else{const i=Rt(e.duration,A.defaults.duration),r=Object.keys(t).map(e=>({o:parseFloat(e)/100,p:t[e]})).sort((t,e)=>t.o-e.o);r.forEach(t=>{const e=t.o,r=t.p;for(let t in r)if(J(t)){let n=s[t];n||(n=s[t]=[]);const o=e*i;let a=n.length,h=n[a-1];const l={to:r[t]};let c=0;for(let t=0;t<a;t++)c+=n[t].duration;1===a&&(l.from=h.to),r.ease&&(l.ease=r.ease),l.duration=o-(a?c:0),n.push(l)}return t});for(let t in s){const e=s[t];let i;for(let t=0,s=e.length;t<s;t++){const s=e[t],r=s.ease;s.ease=i||void 0,i=r}e[0].duration||e.shift()}}return s};class qe extends pe{constructor(t,e,s,n,a=!1,h=0,l=0){super(e,s,n);const c=_e(t),d=c.length,u=e.keyframes,m=u?St(He(u,e),e):e,{delay:g,duration:_,ease:y,playbackEase:v,modifier:b,composition:T,onRender:S}=m,w=s?s.defaults:A.defaults,x=Rt(v,w.playbackEase),E=x?Me(x):null,C=!W(y)&&!W(y.ease),k=C?y.ease:Rt(y,E?"linear":w.ease),$=C?y.duration:Rt(_,w.duration),O=Rt(g,w.delay),B=b||w.modifier,N=W(T)&&d>=f?o.none:W(T)?w.composition:T,R={},L=this._offset+(s?s._offset:0);let D=NaN,M=NaN,F=0,I=0;for(let t=0;t<d;t++){const e=c[t],n=h||t,u=l||d;let f=NaN,g=NaN;for(let t in m)if(J(t)){const h=At(e,t),l=Vt(t,e,h);let c=m[t];const d=P(c);if(a&&!d&&(Xe[0]=c,Xe[1]=c,c=Xe),d){const t=c.length,e=!z(c[0]);2===t&&e?(Ue.to=c,ze[0]=Ue,Ye=ze):t>2&&e?(Ye=[],c.forEach((t,e)=>{e?1===e?(Xe[1]=t,Ye.push(Xe)):Ye.push(t):Xe[0]=t})):Ye=c}else ze[0]=c,Ye=ze;let _=null,y=null,v=NaN,b=0,T=0;for(let t=Ye.length;T<t;T++){const i=Ye[T];z(i)?We=i:(Ue.to=i,We=Ue),Pe.func=null;const a=Lt(We.to,e,n,u,Pe);let c;z(a)&&!W(a.to)?(We=a,c=a.to):c=a;const d=Lt(We.from,e,n,u),m=We.ease,f=!W(m)&&!W(m.ease),g=f?m.ease:m||k,S=f?m.duration:Lt(Rt(We.duration,t>1?Lt($,e,n,u)/t:$),e,n,u),w=Lt(Rt(We.delay,T?0:O),e,n,u),x=Lt(Rt(We.composition,N),e,n,u),E=X(x)?x:o[x],C=We.modifier||B,A=!W(d),D=!W(c),M=P(c),U=M||A&&D,Y=y?b+w:w,V=gt(L+Y,12);I||!A&&!M||(I=1);let H=y;if(E!==o.none){_||(_=ie(e,l));let t=_._head;for(;t&&!t._isOverridden&&t._absoluteStartTime<=V;)if(H=t,t=t._nextRep,t&&t._absoluteStartTime>=V)for(;t;)ne(t),t=t._nextRep}if(U?(Pt(M?Lt(c[0],e,n,u):d,Fe),Pt(M?Lt(c[1],e,n,u,Pe):c,Ie),Fe.t===r.NUMBER&&(H?H._valueType===r.UNIT&&(Fe.t=r.UNIT,Fe.u=H._unit):(Pt(Mt(e,l,h,R),Xt),Xt.t===r.UNIT&&(Fe.t=r.UNIT,Fe.u=Xt.u)))):(D?Pt(c,Ie):y?zt(y,Ie):Pt(s&&H&&H.parent.parent===s?H._value:Mt(e,l,h,R),Ie),A?Pt(d,Fe):y?zt(y,Fe):Pt(s&&H&&H.parent.parent===s?H._value:Mt(e,l,h,R),Fe)),Fe.o&&(Fe.n=Ft(H?H._toNumber:Pt(Mt(e,l,h,R),Xt).n,Fe.n,Fe.o)),Ie.o&&(Ie.n=Ft(Fe.n,Ie.n,Ie.o)),Fe.t!==Ie.t)if(Fe.t===r.COMPLEX||Ie.t===r.COMPLEX){const t=Fe.t===r.COMPLEX?Fe:Ie,e=Fe.t===r.COMPLEX?Ie:Fe;e.t=r.COMPLEX,e.s=Tt(t.s),e.d=t.d.map(()=>e.n)}else if(Fe.t===r.UNIT||Ie.t===r.UNIT){const t=Fe.t===r.UNIT?Fe:Ie,e=Fe.t===r.UNIT?Ie:Fe;e.t=r.UNIT,e.u=t.u}else if(Fe.t===r.COLOR||Ie.t===r.COLOR){const t=Fe.t===r.COLOR?Fe:Ie,e=Fe.t===r.COLOR?Ie:Fe;e.t=r.COLOR,e.s=t.s,e.d=[0,0,0,1]}if(Fe.u!==Ie.u){let t=Ie.u?Fe:Ie;t=be(e,t,Ie.u?Ie.u:Fe.u,!1)}if(Ie.d&&Fe.d&&Ie.d.length!==Fe.d.length){const t=Fe.d.length>Ie.d.length?Fe:Ie,e=t===Fe?Ie:Fe;e.d=t.d.map((t,s)=>W(e.d[s])?0:e.d[s]),e.s=Tt(t.s)}const q=gt(+S||p,12),j={parent:this,id:Ve++,property:l,target:e,_value:null,_func:Pe.func,_ease:Me(g),_fromNumbers:Tt(Fe.d),_toNumbers:Tt(Ie.d),_strings:Tt(Ie.s),_fromNumber:Fe.n,_toNumber:Ie.n,_numbers:Tt(Fe.d),_number:Fe.n,_unit:Ie.u,_modifier:C,_currentTime:0,_startTime:Y,_delay:+w,_updateDuration:q,_changeDuration:q,_absoluteStartTime:V,_tweenType:h,_valueType:Ie.t,_composition:E,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};E!==o.none&&oe(j,_),isNaN(v)&&(v=j._startTime),b=gt(Y+q,12),y=j,F++,Et(this,j)}(isNaN(M)||v<M)&&(M=v),(isNaN(D)||b>D)&&(D=b),h===i.TRANSFORM&&(f=F-T,g=F)}if(!isNaN(f)){let t=0;wt(this,e=>{t>=f&&t<g&&(e._renderTransforms=1,e._composition===o.blend&&wt(jt.animation,t=>{t.id===e.id&&(t._renderTransforms=1)})),t++})}}d||console.warn("No target found. Make sure the element you're trying to animate is accessible before creating your animation."),M?(wt(this,t=>{t._startTime-t._delay||(t._delay-=M),t._startTime-=M}),D-=M):M=0,D||(D=p,this.iterationCount=0),this.targets=c,this.duration=D===p?p:vt((D+this._loopDelay)*this.iterationCount-this._loopDelay)||p,this.onRender=S||w.onRender,this._ease=E,this._delay=M,this.iterationDuration=D,this._inlineStyles=R,!this._autoplay&&I&&this.onRender(this)}stretch(t){const e=this.duration;if(e===bt(t))return this;const s=t/e;return wt(this,t=>{t._updateDuration=bt(t._updateDuration*s),t._changeDuration=bt(t._changeDuration*s),t._currentTime*=s,t._startTime*=s,t._absoluteStartTime*=s}),super.stretch(t)}refresh(){return wt(this,t=>{const e=t._func;if(e){const s=Mt(t.target,t.property,t._tweenType);Pt(s,Xt),Pt(e(),Ie),t._fromNumbers=Tt(Xt.d),t._fromNumber=Xt.n,t._toNumbers=Tt(Ie.d),t._strings=Tt(Ie.s),t._toNumber=Ie.o?Ft(Xt.n,Ie.n,Ie.o):Ie.n}}),this}revert(){return super.revert(),Ht(this)}then(t){return super.then(t)}}const je=(t,e)=>new qe(t,e,null,0,!1).init(),Qe={_head:null,_tail:null},Ge=(t,e,s)=>{let i=Qe._head;for(;i;){const r=i._next,n=i.$el===t,o=!e||i.property===e,a=!s||i.parent===s;if(n&&o&&a){const t=i.animation;try{t.commitStyles()}catch{}t.cancel(),xt(Qe,i);const e=i.parent;e&&(e._completed++,e.animations.length===e._completed&&(e.completed=!0,e.muteCallbacks||(e.paused=!0,e.onComplete(e),e._resolve(e))))}i=r}},Je=(t,e,s,i,r)=>{const n=e.animate(i,r),o=r.delay+ +r.duration*r.iterations;n.playbackRate=t._speed,t.paused&&n.pause(),t.duration<o&&(t.duration=o,t.controlAnimation=n),t.animations.push(n),Ge(e,s),Et(Qe,{parent:t,animation:n,$el:e,property:s,_next:null,_prev:null});const a=()=>{Ge(e,s,t)};return n.onremove=a,n.onfinish=a,n};function Ze(t,e,s){const i=_e(t);if(!i.length)return;const[n]=i,o=At(n,e),a=Vt(e,n,o);let h=Mt(n,a);if(W(s))return h;if(Pt(h,Xt),Xt.t===r.NUMBER||Xt.t===r.UNIT){if(!1===s)return Xt.n;{const t=be(n,Xt,s,!1);return`${gt(t.n,A.precision)}${t.u}`}}}const Ke=(t,e)=>{if(!W(e))return e.duration=p,e.composition=Rt(e.composition,o.none),new qe(t,e,null,0,!0).resume()},ts=(t,e,s)=>{const i=ge(t);for(let t=0,r=i.length;t<r;t++)Ge(i[t],s,e&&e.controlAnimation&&e);return le(i,e,s),i},es=(t,e)=>{if(F(e,"<")){const s="<"===e[1],i=t._tail,r=i?i._offset+i._delay:0;return s?r:r+i.duration}},ss=(t,e)=>{let s=t.iterationDuration;if(s===p&&(s=0),W(e))return s;if(X(+e))return+e;const i=e,r=t?t.labels:null,n=!V(r),o=es(t,i),a=!W(o),h=N.exec(i);if(h){const t=h[0],e=i.split(t),l=n&&e[0]?r[e[0]]:s,c=a?o:n?l:s,d=+e[1];return Ft(c,d,t[0])}return a?o:n?W(r[i])?s:r[i]:s};function is(t){return vt((t.iterationDuration+t._loopDelay)*t.iterationCount-t._loopDelay)||p}function rs(t,e,s,i,r,o){const a=X(t.duration)&&t.duration<=p?s-p:s;Yt(e,a,1,1,n.AUTO);const h=i?new qe(i,t,e,a,!1,r,o):new pe(t,e,a);return h.init(1),Et(e,h),wt(e,t=>{const s=t._offset+t._delay+t.duration;s>e.iterationDuration&&(e.iterationDuration=s)}),e.duration=is(e),e}class ns extends pe{constructor(t={}){super(t,null,0),this.duration=0,this.labels={};const e=t.defaults,s=A.defaults;this.defaults=e?St(e,s):s,this.onRender=t.onRender||s.onRender;const i=Rt(t.playbackEase,s.playbackEase);this._ease=i?Me(i):null,this.iterationDuration=0}add(t,e,s){const i=z(e),r=z(t);if(i||r){if(this._hasChildren=!0,i){const i=e;if(Y(s)){const e=s,r=ge(t),n=this.duration,o=this.iterationDuration,a=i.id;let h=0;const l=r.length;r.forEach(t=>{const s={...i};this.duration=n,this.iterationDuration=o,W(a)||(s.id=a+"-"+h),rs(s,this,ss(this,e(t,h,l,this)),t,h,l),h++})}else rs(i,this,ss(this,s),t)}else rs(t,this,ss(this,e));return this.init(1)}}sync(t,e){if(W(t)||t&&W(t.pause))return this;t.pause();const s=+(t.effect?t.effect.getTiming().duration:t.duration);return this.add(t,{currentTime:[0,s],duration:s,ease:"linear"},e)}set(t,e,s){return W(e)?this:(e.duration=p,e.composition=o.replace,this.add(t,e,s))}call(t,e){return W(t)||t&&!Y(t)?this:this.add({duration:0,onComplete:()=>t(this)},e)}label(t,e){return W(t)||t&&!U(t)||(this.labels[t]=ss(this,e)),this}remove(t,e){return le(ge(t),this,e),this}stretch(t){const e=this.duration;if(e===bt(t))return this;const s=t/e,i=this.labels;wt(this,t=>t.stretch(t.duration*s));for(let t in i)i[t]*=s;return super.stretch(t)}refresh(){return wt(this,t=>{t.refresh&&t.refresh()}),this}revert(){return super.revert(),wt(this,t=>t.revert,!0),Ht(this)}then(t){return super.then(t)}}const os=t=>new ns(t).init();class as{constructor(t,e){L.current&&L.current.register(this);const s=()=>{if(this.callbacks.completed)return;let t=!0;for(let e in this.animations)if(!this.animations[e].paused&&t){t=!1;break}t&&this.callbacks.complete()},i={onBegin:()=>{this.callbacks.completed&&this.callbacks.reset(),this.callbacks.play()},onComplete:s,onPause:s},r={v:1,autoplay:!1},n={};if(this.targets=[],this.animations={},this.callbacks=null,!W(t)&&!W(e)){for(let t in e){const s=e[t];J(t)?n[t]=s:F(t,"on")?r[t]=s:i[t]=s}this.callbacks=new qe({v:0},r);for(let e in n){const s=n[e],r=z(s);let a={},h="+=0";if(r){const t=s.unit;U(t)&&(h+=t)}else a.duration=s;a[e]=r?St({to:h},s):h;const l=St(i,a);l.composition=o.replace,l.autoplay=!1;const c=this.animations[e]=new qe(t,l,null,0,!1).init();this.targets.length||this.targets.push(...c.targets),this[e]=(t,e,s)=>{const i=c._head;if(W(t)&&i){const t=i._numbers;return t&&t.length?t:i._modifier(i._number)}return wt(c,e=>{if(P(t))for(let s=0,i=t.length;s<i;s++)W(e._numbers[s])||(e._fromNumbers[s]=e._modifier(e._numbers[s]),e._toNumbers[s]=t[s]);else e._fromNumber=e._modifier(e._number),e._toNumber=t;W(s)||(e._ease=Me(s)),e._currentTime=0}),W(e)||c.stretch(e),c.reset(1).resume(),this}}}}revert(){for(let t in this.animations)this[t]=T,this.animations[t].revert();return this.animations={},this.targets.length=0,this.callbacks&&this.callbacks.revert(),this}}const hs=(t,e)=>new as(t,e),ls=(t,e)=>(+t).toFixed(e),cs=(t,e,s)=>`${t}`.padStart(e,s),ds=(t,e,s)=>`${t}`.padEnd(e,s),us=(t,e,s)=>((t-e)%(s-e)+(s-e))%(s-e)+e,ps=(t,e,s,i,r)=>i+(t-e)/(s-e)*(r-i),ms=t=>t*Math.PI/180,fs=t=>180*t/Math.PI,gs=(t,e,s,i)=>i?1===i?e:yt(t,e,1-Math.exp(-i*s*.1)):t;var _s=Object.freeze({__proto__:null,clamp:mt,damp:gs,degToRad:ms,lerp:yt,mapRange:ps,padEnd:ds,padStart:cs,radToDeg:fs,round:gt,roundPad:ls,snap:_t,wrap:us});const ys=10*f;class vs{constructor(t={}){this.timeStep=.02,this.restThreshold=5e-4,this.restDuration=200,this.maxDuration=6e4,this.maxRestSteps=this.restDuration/this.timeStep/f,this.maxIterations=this.maxDuration/this.timeStep/f,this.m=mt(Rt(t.mass,1),0,ys),this.s=mt(Rt(t.stiffness,100),1,ys),this.d=mt(Rt(t.damping,10),.1,ys),this.v=mt(Rt(t.velocity,0),-1e4,ys),this.w0=0,this.zeta=0,this.wd=0,this.b=0,this.solverDuration=0,this.duration=0,this.compute(),this.ease=t=>0===t||1===t?t:this.solve(t*this.solverDuration)}solve(t){const{zeta:e,w0:s,wd:i,b:r}=this;let n=t;return n=e<1?ot(-n*e*s)*(1*rt(i*n)+r*it(i*n)):(1+r*n)*ot(-n*s),1-n}compute(){const{maxRestSteps:t,maxIterations:e,restThreshold:s,timeStep:i,m:r,d:n,s:o,v:a}=this,h=this.w0=mt(st(o/r),p,f),l=this.zeta=n/(2*st(o*r)),c=this.wd=l<1?h*st(1-l*l):0;this.b=l<1?(l*h-a)/c:-a+h;let d=0,u=0,m=0;for(;u<t&&m<e;)nt(1-this.solve(d))<s?u++:u=0,this.solverDuration=d,d+=i,m++;this.duration=gt(this.solverDuration*f,0)*A.timeScale}get mass(){return this.m}set mass(t){this.m=mt(Rt(t,1),0,ys),this.compute()}get stiffness(){return this.s}set stiffness(t){this.s=mt(Rt(t,100),1,ys),this.compute()}get damping(){return this.d}set damping(t){this.d=mt(Rt(t,10),.1,ys),this.compute()}get velocity(){return this.v}set velocity(t){this.v=mt(Rt(t,0),-1e4,ys),this.compute()}}const bs=t=>new vs(t),Ts=t=>{t.cancelable&&t.preventDefault()};class Ss{constructor(t){this.el=t,this.zIndex=0,this.parentElement=null,this.classList={add:T,remove:T}}get x(){return this.el.x||0}set x(t){this.el.x=t}get y(){return this.el.y||0}set y(t){this.el.y=t}get width(){return this.el.width||0}set width(t){this.el.width=t}get height(){return this.el.height||0}set height(t){this.el.height=t}getBoundingClientRect(){return{top:this.y,right:this.x,bottom:this.y+this.height,left:this.x+this.width}}}class ws{constructor(t){this.$el=t,this.inlineTransforms=[],this.point=new DOMPoint,this.inversedMatrix=this.getMatrix().inverse()}normalizePoint(t,e){return this.point.x=t,this.point.y=e,this.point.matrixTransform(this.inversedMatrix)}traverseUp(t){let e=this.$el.parentElement,i=0;for(;e&&e!==s;)t(e,i),e=e.parentElement,i++}getMatrix(){const t=new DOMMatrix;return this.traverseUp(e=>{const s=getComputedStyle(e).transform;if(s){const e=new DOMMatrix(s);t.preMultiplySelf(e)}}),t}remove(){this.traverseUp((t,e)=>{this.inlineTransforms[e]=t.style.transform,t.style.transform="none"})}revert(){this.traverseUp((t,e)=>{const s=this.inlineTransforms[e];""===s?t.style.removeProperty("transform"):t.style.transform=s})}}const xs=(t,e)=>t&&Y(t)?t(e):t;let Es=0;class Cs{constructor(t,i={}){if(!t)return;L.current&&L.current.register(this);const r=i.x,n=i.y,o=i.trigger,a=i.modifier,h=i.releaseEase,l=h&&Me(h),c=!W(h)&&!W(h.ease),d=z(r)&&!W(r.mapTo)?r.mapTo:"translateX",u=z(n)&&!W(n.mapTo)?n.mapTo:"translateY",p=xs(i.container,this);this.containerArray=P(p)?p:null,this.$container=p&&!this.containerArray?ge(p)[0]:s.body,this.useWin=this.$container===s.body,this.$scrollContainer=this.useWin?e:this.$container,this.$target=z(t)?new Ss(t):ge(t)[0],this.$trigger=ge(o||t)[0],this.fixed="fixed"===Ze(this.$target,"position"),this.isFinePointer=!0,this.containerPadding=[0,0,0,0],this.containerFriction=0,this.releaseContainerFriction=0,this.snapX=0,this.snapY=0,this.scrollSpeed=0,this.scrollThreshold=0,this.dragSpeed=0,this.maxVelocity=0,this.minVelocity=0,this.velocityMultiplier=0,this.cursor=!1,this.releaseXSpring=c?h:bs({mass:Rt(i.releaseMass,1),stiffness:Rt(i.releaseStiffness,80),damping:Rt(i.releaseDamping,20)}),this.releaseYSpring=c?h:bs({mass:Rt(i.releaseMass,1),stiffness:Rt(i.releaseStiffness,80),damping:Rt(i.releaseDamping,20)}),this.releaseEase=l||Ae.outQuint,this.hasReleaseSpring=c,this.onGrab=i.onGrab||T,this.onDrag=i.onDrag||T,this.onRelease=i.onRelease||T,this.onUpdate=i.onUpdate||T,this.onSettle=i.onSettle||T,this.onSnap=i.onSnap||T,this.onResize=i.onResize||T,this.onAfterResize=i.onAfterResize||T,this.disabled=[0,0];const f={};if(a&&(f.modifier=a),W(r)||!0===r)f[d]=0;else if(z(r)){const t=r,e={};t.modifier&&(e.modifier=t.modifier),t.composition&&(e.composition=t.composition),f[d]=e}else!1===r&&(f[d]=0,this.disabled[0]=1);if(W(n)||!0===n)f[u]=0;else if(z(n)){const t=n,e={};t.modifier&&(e.modifier=t.modifier),t.composition&&(e.composition=t.composition),f[u]=e}else!1===n&&(f[u]=0,this.disabled[1]=1);this.animate=new as(this.$target,f),this.xProp=d,this.yProp=u,this.destX=0,this.destY=0,this.deltaX=0,this.deltaY=0,this.scroll={x:0,y:0},this.coords=[this.x,this.y,0,0],this.snapped=[0,0],this.pointer=[0,0,0,0,0,0,0,0],this.scrollView=[0,0],this.dragArea=[0,0,0,0],this.containerBounds=[-m,m,m,-m],this.scrollBounds=[0,0,0,0],this.targetBounds=[0,0,0,0],this.window=[0,0],this.velocityStack=[0,0,0],this.velocityStackIndex=0,this.velocityTime=I(),this.velocity=0,this.angle=0,this.cursorStyles=null,this.triggerStyles=null,this.bodyStyles=null,this.targetStyles=null,this.touchActionStyles=null,this.transforms=new ws(this.$target),this.overshootCoords={x:0,y:0},this.overshootTicker=new pe({autoplay:!1,onUpdate:()=>{this.updated=!0,this.manual=!0,this.disabled[0]||this.animate[this.xProp](this.overshootCoords.x,1),this.disabled[1]||this.animate[this.yProp](this.overshootCoords.y,1)},onComplete:()=>{this.manual=!1,this.disabled[0]||this.animate[this.xProp](this.overshootCoords.x,0),this.disabled[1]||this.animate[this.yProp](this.overshootCoords.y,0)}},null,0).init(),this.updateTicker=new pe({autoplay:!1,onUpdate:()=>this.update()},null,0).init(),this.contained=!W(p),this.manual=!1,this.grabbed=!1,this.dragged=!1,this.updated=!1,this.released=!1,this.canScroll=!1,this.enabled=!1,this.initialized=!1,this.activeProp=this.disabled[1]?d:u,this.animate.callbacks.onRender=()=>{const t=this.updated,e=!(this.grabbed&&t)&&this.released,s=this.x,i=this.y,r=s-this.coords[2],n=i-this.coords[3];this.deltaX=r,this.deltaY=n,this.coords[2]=s,this.coords[3]=i,t&&(r||n)&&this.onUpdate(this),e?(this.computeVelocity(r,n),this.angle=dt(n,r)):this.updated=!1},this.animate.callbacks.onComplete=()=>{!this.grabbed&&this.released&&(this.released=!1),this.manual||(this.deltaX=0,this.deltaY=0,this.velocity=0,this.velocityStack[0]=0,this.velocityStack[1]=0,this.velocityStack[2]=0,this.velocityStackIndex=0,this.onSettle(this))},this.resizeTicker=new pe({autoplay:!1,duration:150*A.timeScale,onComplete:()=>{this.onResize(this),this.refresh(),this.onAfterResize(this)}}).init(),this.parameters=i,this.resizeObserver=new ResizeObserver(()=>{this.initialized?this.resizeTicker.restart():this.initialized=!0}),this.enable(),this.refresh(),this.resizeObserver.observe(this.$container),z(t)||this.resizeObserver.observe(this.$target)}computeVelocity(t,e){const s=this.velocityTime,i=I(),r=i-s;if(r<17)return this.velocity;this.velocityTime=i;const n=this.velocityStack,o=this.velocityMultiplier,a=this.minVelocity,h=this.maxVelocity,l=this.velocityStackIndex;n[l]=gt(mt(st(t*t+e*e)/r*o,a,h),5);const c=ct(n[0],n[1],n[2]);return this.velocity=c,this.velocityStackIndex=(l+1)%3,c}setX(t,e=!1){if(this.disabled[0])return;const s=gt(t,5);return this.overshootTicker.pause(),this.manual=!0,this.updated=!e,this.destX=s,this.snapped[0]=_t(s,this.snapX),this.animate[this.xProp](s,0),this.manual=!1,this}setY(t,e=!1){if(this.disabled[1])return;const s=gt(t,5);return this.overshootTicker.pause(),this.manual=!0,this.updated=!e,this.destY=s,this.snapped[1]=_t(s,this.snapY),this.animate[this.yProp](s,0),this.manual=!1,this}get x(){return gt(this.animate[this.xProp](),A.precision)}set x(t){this.setX(t,!1)}get y(){return gt(this.animate[this.yProp](),A.precision)}set y(t){this.setY(t,!1)}get progressX(){return ps(this.x,this.containerBounds[3],this.containerBounds[1],0,1)}set progressX(t){this.setX(ps(t,0,1,this.containerBounds[3],this.containerBounds[1]),!1)}get progressY(){return ps(this.y,this.containerBounds[0],this.containerBounds[2],0,1)}set progressY(t){this.setY(ps(t,0,1,this.containerBounds[0],this.containerBounds[2]),!1)}updateScrollCoords(){const t=gt(this.useWin?e.scrollX:this.$container.scrollLeft,0),s=gt(this.useWin?e.scrollY:this.$container.scrollTop,0),[i,r,n,o]=this.containerPadding,a=this.scrollThreshold;this.scroll.x=t,this.scroll.y=s,this.scrollBounds[0]=s-this.targetBounds[0]+i-a,this.scrollBounds[1]=t-this.targetBounds[1]-r+a,this.scrollBounds[2]=s-this.targetBounds[2]-n+a,this.scrollBounds[3]=t-this.targetBounds[3]+o-a}updateBoundingValues(){const t=this.$container;if(!t)return;const i=this.x,r=this.y,n=this.coords[2],o=this.coords[3];this.coords[2]=0,this.coords[3]=0,this.setX(0,!0),this.setY(0,!0),this.transforms.remove();const a=this.window[0]=e.innerWidth,h=this.window[1]=e.innerHeight,l=this.useWin,c=t.scrollWidth,d=t.scrollHeight,u=this.fixed,p=t.getBoundingClientRect(),[m,f,g,_]=this.containerPadding;this.dragArea[0]=l?0:p.left,this.dragArea[1]=l?0:p.top,this.scrollView[0]=l?mt(c,a,c):c,this.scrollView[1]=l?mt(d,h,d):d,this.updateScrollCoords();const{width:y,height:v,left:b,top:T,right:S,bottom:w}=t.getBoundingClientRect();this.dragArea[2]=gt(l?mt(y,a,a):y,0),this.dragArea[3]=gt(l?mt(v,h,h):v,0);const x=Ze(t,"overflow"),E="visible"===x,C="hidden"===x;if(this.canScroll=!u&&this.contained&&(t===s.body&&E||!C&&!E)&&(c>this.dragArea[2]+_-f||d>this.dragArea[3]+m-g)&&(!this.containerArray||this.containerArray&&!P(this.containerArray)),this.contained){const e=this.scroll.x,s=this.scroll.y,i=this.canScroll,r=this.$target.getBoundingClientRect(),n=i?l?0:t.scrollLeft:0,o=i?l?0:t.scrollTop:0,c=i?this.scrollView[0]-n-y:0,d=i?this.scrollView[1]-o-v:0;this.targetBounds[0]=gt(r.top+s-(l?0:T),0),this.targetBounds[1]=gt(r.right+e-(l?a:S),0),this.targetBounds[2]=gt(r.bottom+s-(l?h:w),0),this.targetBounds[3]=gt(r.left+e-(l?0:b),0),this.containerArray?(this.containerBounds[0]=this.containerArray[0]+m,this.containerBounds[1]=this.containerArray[1]-f,this.containerBounds[2]=this.containerArray[2]-g,this.containerBounds[3]=this.containerArray[3]+_):(this.containerBounds[0]=-gt(r.top-(u?mt(T,0,h):T)+o-m,0),this.containerBounds[1]=-gt(r.right-(u?mt(S,0,a):S)-c+f,0),this.containerBounds[2]=-gt(r.bottom-(u?mt(w,0,h):w)-d+g,0),this.containerBounds[3]=-gt(r.left-(u?mt(b,0,a):b)+n-_,0))}this.transforms.revert(),this.coords[2]=n,this.coords[3]=o,this.setX(i,!0),this.setY(r,!0)}isOutOfBounds(t,e,s){if(!this.contained)return 0;const[i,r,n,o]=t,[a,h]=this.disabled,l=!a&&e<o||!a&&e>r,c=!h&&s<i||!h&&s>n;return l&&!c?1:!l&&c?2:l&&c?3:0}refresh(){const t=this.parameters,i=t.x,r=t.y,n=xs(t.container,this),o=xs(t.containerPadding,this)||0,a=P(o)?o:[o,o,o,o],h=this.x,l=this.y,c=xs(t.cursor,this),d={onHover:"grab",onGrab:"grabbing"};if(c){const{onHover:t,onGrab:e}=c;t&&(d.onHover=t),e&&(d.onGrab=e)}this.containerArray=P(n)?n:null,this.$container=n&&!this.containerArray?ge(n)[0]:s.body,this.useWin=this.$container===s.body,this.$scrollContainer=this.useWin?e:this.$container,this.isFinePointer=matchMedia("(pointer:fine)").matches,this.containerPadding=Rt(a,[0,0,0,0]),this.containerFriction=mt(Rt(xs(t.containerFriction,this),.8),0,1),this.releaseContainerFriction=mt(Rt(xs(t.releaseContainerFriction,this),this.containerFriction),0,1),this.snapX=xs(z(i)&&!W(i.snap)?i.snap:t.snap,this),this.snapY=xs(z(r)&&!W(r.snap)?r.snap:t.snap,this),this.scrollSpeed=Rt(xs(t.scrollSpeed,this),1.5),this.scrollThreshold=Rt(xs(t.scrollThreshold,this),20),this.dragSpeed=Rt(xs(t.dragSpeed,this),1),this.minVelocity=Rt(xs(t.minVelocity,this),0),this.maxVelocity=Rt(xs(t.maxVelocity,this),50),this.velocityMultiplier=Rt(xs(t.velocityMultiplier,this),1),this.cursor=!1!==c&&d,this.updateBoundingValues();const[u,p,m,f]=this.containerBounds;this.setX(mt(h,f,p),!0),this.setY(mt(l,u,m),!0)}update(){if(this.updateScrollCoords(),this.canScroll){const[t,e,s,i]=this.containerPadding,[r,n]=this.scrollView,o=this.dragArea[2],a=this.dragArea[3],h=this.scroll.x,l=this.scroll.y,c=this.$container.scrollWidth,d=this.$container.scrollHeight,u=this.useWin?mt(c,this.window[0],c):c,p=this.useWin?mt(d,this.window[1],d):d,m=r-u,f=n-p;this.dragged&&m>0&&(this.coords[0]-=m,this.scrollView[0]=u),this.dragged&&f>0&&(this.coords[1]-=f,this.scrollView[1]=p);const g=10*this.scrollSpeed,_=this.scrollThreshold,[y,v]=this.coords,[b,T,S,w]=this.scrollBounds,x=gt(mt((v-b+t)/_,-1,0)*g,0),E=gt(mt((y-T-e)/_,0,1)*g,0),C=gt(mt((v-S-s)/_,0,1)*g,0),k=gt(mt((y-w+i)/_,-1,0)*g,0);if(x||C||k||E){const[t,e]=this.disabled;let s=h,i=l;t||(s=gt(mt(h+(k||E),0,r-o),0),this.coords[0]-=h-s),e||(i=gt(mt(l+(x||C),0,n-a),0),this.coords[1]-=l-i),this.useWin?this.$scrollContainer.scrollBy(-(h-s),-(l-i)):this.$scrollContainer.scrollTo(s,i)}}const[t,e,s,i]=this.containerBounds,[r,n,o,a,h,l]=this.pointer;this.coords[0]+=(r-h)*this.dragSpeed,this.coords[1]+=(n-l)*this.dragSpeed,this.pointer[4]=r,this.pointer[5]=n;const[c,d]=this.coords,[u,p]=this.snapped,m=(1-this.containerFriction)*this.dragSpeed;this.setX(c>e?e+(c-e)*m:c<i?i+(c-i)*m:c,!1),this.setY(d>s?s+(d-s)*m:d<t?t+(d-t)*m:d,!1),this.computeVelocity(r-h,n-l),this.angle=dt(n-a,r-o);const[f,g]=this.snapped;(f!==u&&this.snapX||g!==p&&this.snapY)&&this.onSnap(this)}stop(){this.updateTicker.pause(),this.overshootTicker.pause();for(let t in this.animate.animations)this.animate.animations[t].pause();return le([this],null,"x"),le([this],null,"y"),le([this],null,"progressX"),le([this],null,"progressY"),le([this.scroll]),le([this.overshootCoords]),this}scrollInView(t,e=0,s=Ae.inOutQuad){this.updateScrollCoords();const i=this.destX,r=this.destY,n=this.scroll,o=this.scrollBounds,a=this.canScroll;if(!this.containerArray&&this.isOutOfBounds(o,i,r)){const[h,l,c,d]=o,u=gt(mt(r-h,-m,0),0),p=gt(mt(i-l,0,m),0),f=gt(mt(r-c,0,m),0),g=gt(mt(i-d,-m,0),0);new qe(n,{x:gt(n.x+(g?g-e:p?p+e:0),0),y:gt(n.y+(u?u-e:f?f+e:0),0),duration:W(t)?350*A.timeScale:t,ease:s,onUpdate:()=>{this.canScroll=!1,this.$scrollContainer.scrollTo(n.x,n.y)}}).init().then(()=>{this.canScroll=a})}return this}handleHover(){this.isFinePointer&&this.cursor&&!this.cursorStyles&&(this.cursorStyles=Ke(this.$trigger,{cursor:this.cursor.onHover}))}animateInView(t,e=0,s=Ae.inOutQuad){this.stop(),this.updateBoundingValues();const i=this.x,r=this.y,[n,o,a,h]=this.containerPadding,l=this.scroll.y-this.targetBounds[0]+n+e,c=this.scroll.x-this.targetBounds[1]-o-e,d=this.scroll.y-this.targetBounds[2]-a-e,u=this.scroll.x-this.targetBounds[3]+h+e,p=this.isOutOfBounds([l,c,d,u],i,r);if(p){const[e,n]=this.disabled,o=mt(_t(i,this.snapX),u,c),a=mt(_t(r,this.snapY),l,d),h=W(t)?350*A.timeScale:t;e||1!==p&&3!==p||this.animate[this.xProp](o,h,s),n||2!==p&&3!==p||this.animate[this.yProp](a,h,s)}return this}handleDown(t){const e=t.target;if(this.grabbed||"range"===e.type)return;t.stopPropagation(),this.grabbed=!0,this.released=!1,this.stop(),this.updateBoundingValues();const i=t.changedTouches,r=i?i[0].clientX:t.clientX,n=i?i[0].clientY:t.clientY,{x:o,y:a}=this.transforms.normalizePoint(r,n),[h,l,c,d]=this.containerBounds,u=(1-this.containerFriction)*this.dragSpeed,p=this.x,m=this.y;this.coords[0]=this.coords[2]=u?p>l?l+(p-l)/u:p<d?d+(p-d)/u:p:p,this.coords[1]=this.coords[3]=u?m>c?c+(m-c)/u:m<h?h+(m-h)/u:m:m,this.pointer[0]=o,this.pointer[1]=a,this.pointer[2]=o,this.pointer[3]=a,this.pointer[4]=o,this.pointer[5]=a,this.pointer[6]=o,this.pointer[7]=a,this.deltaX=0,this.deltaY=0,this.velocity=0,this.velocityStack[0]=0,this.velocityStack[1]=0,this.velocityStack[2]=0,this.velocityStackIndex=0,this.angle=0,this.targetStyles&&(this.targetStyles.revert(),this.targetStyles=null);const f=Ze(this.$target,"zIndex",!1);Es=(f>Es?f:Es)+1,this.targetStyles=Ke(this.$target,{zIndex:Es}),this.triggerStyles&&(this.triggerStyles.revert(),this.triggerStyles=null),this.cursorStyles&&(this.cursorStyles.revert(),this.cursorStyles=null),this.isFinePointer&&this.cursor&&(this.bodyStyles=Ke(s.body,{cursor:this.cursor.onGrab})),this.scrollInView(100,0,Ae.out(3)),this.onGrab(this),s.addEventListener("touchmove",this),s.addEventListener("touchend",this),s.addEventListener("touchcancel",this),s.addEventListener("mousemove",this),s.addEventListener("mouseup",this),s.addEventListener("selectstart",this)}handleMove(t){if(!this.grabbed)return;const e=t.changedTouches,s=e?e[0].clientX:t.clientX,i=e?e[0].clientY:t.clientY,{x:r,y:n}=this.transforms.normalizePoint(s,i),o=r-this.pointer[6],a=n-this.pointer[7];let h=t.target,l=!1,c=!1,d=!1;for(;e&&h&&h!==this.$trigger;){const t=Ze(h,"overflow-y");if("hidden"!==t&&"visible"!==t){const{scrollTop:t,scrollHeight:e,clientHeight:s}=h;if(e>s){d=!0,l=t<=3,c=t>=e-s-3;break}}h=h.parentElement}d&&(!l&&!c||l&&a<0||c&&a>0)?(this.pointer[0]=r,this.pointer[1]=n,this.pointer[2]=r,this.pointer[3]=n,this.pointer[4]=r,this.pointer[5]=n,this.pointer[6]=r,this.pointer[7]=n):(Ts(t),this.triggerStyles||(this.triggerStyles=Ke(this.$trigger,{pointerEvents:"none"})),this.$trigger.addEventListener("touchstart",Ts,{passive:!1}),this.$trigger.addEventListener("touchmove",Ts,{passive:!1}),this.$trigger.addEventListener("touchend",Ts),(!this.disabled[0]&&nt(o)>3||!this.disabled[1]&&nt(a)>3)&&(this.updateTicker.resume(),this.pointer[2]=this.pointer[0],this.pointer[3]=this.pointer[1],this.pointer[0]=r,this.pointer[1]=n,this.dragged=!0,this.released=!1,this.onDrag(this)))}handleUp(){if(!this.grabbed)return;this.updateTicker.pause(),this.triggerStyles&&(this.triggerStyles.revert(),this.triggerStyles=null),this.bodyStyles&&(this.bodyStyles.revert(),this.bodyStyles=null);const[t,e]=this.disabled,[i,r,n,a,h,l]=this.pointer,[c,d,u,p]=this.containerBounds,[m,f]=this.snapped,g=this.releaseXSpring,_=this.releaseYSpring,y=this.releaseEase,v=this.hasReleaseSpring,b=this.overshootCoords,T=this.x,S=this.y,w=this.computeVelocity(i-h,r-l),x=this.angle=dt(r-a,i-n),E=150*w,C=(1-this.releaseContainerFriction)*this.dragSpeed,k=T+rt(x)*E,$=S+it(x)*E,O=k>d?d+(k-d)*C:k<p?p+(k-p)*C:k,B=$>u?u+($-u)*C:$<c?c+($-c)*C:$,N=this.destX=mt(gt(_t(O,this.snapX),5),p,d),R=this.destY=mt(gt(_t(B,this.snapY),5),c,u),L=this.isOutOfBounds(this.containerBounds,k,$);let D=0,M=0,F=y,I=y,P=0;if(b.x=T,b.y=S,!t){const t=N===d?T>d?-1:1:T<p?-1:1,s=gt(T-N,0);g.velocity=e&&v?s?E*t/nt(s):0:w;const{ease:i,duration:r,restDuration:n}=g;D=T===N?0:v?r:r-n*A.timeScale,v&&(F=i),D>P&&(P=D)}if(!e){const e=R===u?S>u?-1:1:S<c?-1:1,s=gt(S-R,0);_.velocity=t&&v?s?E*e/nt(s):0:w;const{ease:i,duration:r,restDuration:n}=_;M=S===R?0:v?r:r-n*A.timeScale,v&&(I=i),M>P&&(P=M)}if(!v&&L&&C&&(D||M)){const t=o.blend;new qe(b,{x:{to:O,duration:.65*D},y:{to:B,duration:.65*M},ease:y,composition:t}).init(),new qe(b,{x:{to:N,duration:D},y:{to:R,duration:M},ease:y,composition:t}).init(),this.overshootTicker.stretch(ct(D,M)).restart()}else t||this.animate[this.xProp](N,D,F),e||this.animate[this.yProp](R,M,I);this.scrollInView(P,this.scrollThreshold,y);let z=!1;N!==m&&(this.snapped[0]=N,this.snapX&&(z=!0)),R!==f&&this.snapY&&(this.snapped[1]=R,this.snapY&&(z=!0)),z&&this.onSnap(this),this.grabbed=!1,this.dragged=!1,this.updated=!0,this.released=!0,this.onRelease(this),this.$trigger.removeEventListener("touchstart",Ts),this.$trigger.removeEventListener("touchmove",Ts),this.$trigger.removeEventListener("touchend",Ts),s.removeEventListener("touchmove",this),s.removeEventListener("touchend",this),s.removeEventListener("touchcancel",this),s.removeEventListener("mousemove",this),s.removeEventListener("mouseup",this),s.removeEventListener("selectstart",this)}reset(){return this.stop(),this.resizeTicker.pause(),this.grabbed=!1,this.dragged=!1,this.updated=!1,this.released=!1,this.canScroll=!1,this.setX(0,!0),this.setY(0,!0),this.coords[0]=0,this.coords[1]=0,this.pointer[0]=0,this.pointer[1]=0,this.pointer[2]=0,this.pointer[3]=0,this.pointer[4]=0,this.pointer[5]=0,this.pointer[6]=0,this.pointer[7]=0,this.velocity=0,this.velocityStack[0]=0,this.velocityStack[1]=0,this.velocityStack[2]=0,this.velocityStackIndex=0,this.angle=0,this}enable(){return this.enabled||(this.enabled=!0,this.$target.classList.remove("is-disabled"),this.touchActionStyles=Ke(this.$trigger,{touchAction:this.disabled[0]?"pan-x":this.disabled[1]?"pan-y":"none"}),this.$trigger.addEventListener("touchstart",this,{passive:!0}),this.$trigger.addEventListener("mousedown",this,{passive:!0}),this.$trigger.addEventListener("mouseenter",this)),this}disable(){return this.enabled=!1,this.grabbed=!1,this.dragged=!1,this.updated=!1,this.released=!1,this.canScroll=!1,this.touchActionStyles.revert(),this.cursorStyles&&(this.cursorStyles.revert(),this.cursorStyles=null),this.triggerStyles&&(this.triggerStyles.revert(),this.triggerStyles=null),this.bodyStyles&&(this.bodyStyles.revert(),this.bodyStyles=null),this.targetStyles&&(this.targetStyles.revert(),this.targetStyles=null),this.$target.classList.add("is-disabled"),this.$trigger.removeEventListener("touchstart",this),this.$trigger.removeEventListener("mousedown",this),this.$trigger.removeEventListener("mouseenter",this),s.removeEventListener("touchmove",this),s.removeEventListener("touchend",this),s.removeEventListener("touchcancel",this),s.removeEventListener("mousemove",this),s.removeEventListener("mouseup",this),s.removeEventListener("selectstart",this),this}revert(){return this.reset(),this.disable(),this.$target.classList.remove("is-disabled"),this.updateTicker.revert(),this.overshootTicker.revert(),this.resizeTicker.revert(),this.animate.revert(),this.resizeObserver.disconnect(),this}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":this.handleDown(t);break;case"mousemove":case"touchmove":this.handleMove(t);break;case"mouseup":case"touchend":case"touchcancel":this.handleUp();break;case"mouseenter":this.handleHover();break;case"selectstart":Ts(t)}}}const ks=(t,e)=>new Cs(t,e),$s=(t=T)=>new pe({duration:1*A.timeScale,onComplete:t},null,0).resume(),Os=t=>{let e;return(...s)=>{let i,r,n,o;e&&(i=e.currentIteration,r=e.iterationProgress,n=e.reversed,o=e._alternate,e.revert());const a=t(...s);return a&&!Y(a)&&a.revert&&(e=a),W(r)||(e.currentIteration=i,e.iterationProgress=(o&&i%2?!n:n)?1-r:r),a||T}};class Bs{constructor(t={}){L.current&&L.current.register(this);const i=t.root;let r=s;i&&(r=i.current||i.nativeElement||ge(i)[0]||s);const n=t.defaults,o=A.defaults,a=t.mediaQueries;if(this.defaults=n?St(n,o):o,this.root=r,this.constructors=[],this.revertConstructors=[],this.revertibles=[],this.constructorsOnce=[],this.revertConstructorsOnce=[],this.revertiblesOnce=[],this.once=!1,this.onceIndex=0,this.methods={},this.matches={},this.mediaQueryLists={},this.data={},a)for(let t in a){const s=e.matchMedia(a[t]);this.mediaQueryLists[t]=s,s.addEventListener("change",this)}}register(t){(this.once?this.revertiblesOnce:this.revertibles).push(t)}execute(t){let e=L.current,s=L.root,i=A.defaults;L.current=this,L.root=this.root,A.defaults=this.defaults;const r=this.mediaQueryLists;for(let t in r)this.matches[t]=r[t].matches;const n=t(this);return L.current=e,L.root=s,A.defaults=i,n}refresh(){return this.onceIndex=0,this.execute(()=>{let t=this.revertibles.length,e=this.revertConstructors.length;for(;t--;)this.revertibles[t].revert();for(;e--;)this.revertConstructors[e](this);this.revertibles.length=0,this.revertConstructors.length=0,this.constructors.forEach(t=>{const e=t(this);Y(e)&&this.revertConstructors.push(e)})}),this}add(t,e){if(this.once=!1,Y(t)){const e=t;this.constructors.push(e),this.execute(()=>{const t=e(this);Y(t)&&this.revertConstructors.push(t)})}else this.methods[t]=(...t)=>this.execute(()=>e(...t));return this}addOnce(t){if(this.once=!0,Y(t)){const e=this.onceIndex++;if(this.constructorsOnce[e])return this;const s=t;this.constructorsOnce[e]=s,this.execute(()=>{const t=s(this);Y(t)&&this.revertConstructorsOnce.push(t)})}return this}keepTime(t){this.once=!0;const e=this.onceIndex++,s=this.constructorsOnce[e];if(Y(s))return s(this);const i=Os(t);let r;return this.constructorsOnce[e]=i,this.execute(()=>{r=i(this)}),r}handleEvent(t){"change"===t.type&&this.refresh()}revert(){const t=this.revertibles,e=this.revertConstructors,s=this.revertiblesOnce,i=this.revertConstructorsOnce,r=this.mediaQueryLists;let n=t.length,o=e.length,a=s.length,h=i.length;for(;n--;)t[n].revert();for(;o--;)e[o](this);for(;a--;)s[a].revert();for(;h--;)i[h](this);for(let t in r)r[t].removeEventListener("change",this);t.length=0,e.length=0,this.constructors.length=0,s.length=0,i.length=0,this.constructorsOnce.length=0,this.onceIndex=0,this.matches={},this.methods={},this.mediaQueryLists={},this.data={}}}const Ns=t=>new Bs(t),Rs=()=>{const t=s.createElement("div");s.body.appendChild(t),t.style.height="100lvh";const e=t.offsetHeight;return s.body.removeChild(t),e},Ls=(t,e)=>t&&Y(t)?t(e):t,As=new Map;class Ds{constructor(t){this.element=t,this.useWin=this.element===s.body,this.winWidth=0,this.winHeight=0,this.width=0,this.height=0,this.left=0,this.top=0,this.zIndex=0,this.scrollX=0,this.scrollY=0,this.prevScrollX=0,this.prevScrollY=0,this.scrollWidth=0,this.scrollHeight=0,this.velocity=0,this.backwardX=!1,this.backwardY=!1,this.scrollTicker=new pe({autoplay:!1,onBegin:()=>this.dataTimer.resume(),onUpdate:()=>{const t=this.backwardX||this.backwardY;wt(this,t=>t.handleScroll(),t)},onComplete:()=>this.dataTimer.pause()}).init(),this.dataTimer=new pe({autoplay:!1,frameRate:30,onUpdate:t=>{const e=t.deltaTime,s=this.prevScrollX,i=this.prevScrollY,r=this.scrollX,n=this.scrollY,o=s-r,a=i-n;this.prevScrollX=r,this.prevScrollY=n,o&&(this.backwardX=s>r),a&&(this.backwardY=i>n),this.velocity=gt(e>0?Math.sqrt(o*o+a*a)/e:0,5)}}).init(),this.resizeTicker=new pe({autoplay:!1,duration:250*A.timeScale,onComplete:()=>{this.updateWindowBounds(),this.refreshScrollObservers(),this.handleScroll()}}).init(),this.wakeTicker=new pe({autoplay:!1,duration:500*A.timeScale,onBegin:()=>{this.scrollTicker.resume()},onComplete:()=>{this.scrollTicker.pause()}}).init(),this._head=null,this._tail=null,this.updateScrollCoords(),this.updateWindowBounds(),this.updateBounds(),this.refreshScrollObservers(),this.handleScroll(),this.resizeObserver=new ResizeObserver(()=>this.resizeTicker.restart()),this.resizeObserver.observe(this.element),(this.useWin?e:this.element).addEventListener("scroll",this,!1)}updateScrollCoords(){const t=this.useWin,s=this.element;this.scrollX=gt(t?e.scrollX:s.scrollLeft,0),this.scrollY=gt(t?e.scrollY:s.scrollTop,0)}updateWindowBounds(){this.winWidth=e.innerWidth,this.winHeight=Rs()}updateBounds(){const t=getComputedStyle(this.element),e=this.element;let s,i;if(this.scrollWidth=e.scrollWidth+parseFloat(t.marginLeft)+parseFloat(t.marginRight),this.scrollHeight=e.scrollHeight+parseFloat(t.marginTop)+parseFloat(t.marginBottom),this.updateWindowBounds(),this.useWin)s=this.winWidth,i=this.winHeight;else{const t=e.getBoundingClientRect();s=e.clientWidth,i=e.clientHeight,this.top=t.top,this.left=t.left}this.width=s,this.height=i}refreshScrollObservers(){wt(this,t=>{t._debug&&t.removeDebug()}),this.updateBounds(),wt(this,t=>{t.refresh(),t._debug&&t.debug()})}refresh(){this.updateWindowBounds(),this.updateBounds(),this.refreshScrollObservers(),this.handleScroll()}handleScroll(){this.updateScrollCoords(),this.wakeTicker.restart()}handleEvent(t){"scroll"===t.type&&this.handleScroll()}revert(){this.scrollTicker.cancel(),this.dataTimer.cancel(),this.resizeTicker.cancel(),this.wakeTicker.cancel(),this.resizeObserver.disconnect(),(this.useWin?e:this.element).removeEventListener("scroll",this),As.delete(this.element)}}const Ms=t=>{const e=t&&ge(t)[0]||s.body;let i=As.get(e);return i||(i=new Ds(e),As.set(e,i)),i},Fs=(t,e,s,i,r)=>{const n="min"===e,o="max"===e,a="top"===e||"left"===e||"start"===e||n?0:"bottom"===e||"right"===e||"end"===e||o?"100%":"center"===e?"50%":e,{n:h,u:l}=Pt(a,Xt);let c=h;return"%"===l?c=h/100*s:l&&(c=be(t,Xt,"px",!0).n),o&&i<0&&(c+=i),n&&r>0&&(c+=r),c},Is=(t,e,s,i,r)=>{let n;if(U(e)){const o=N.exec(e);if(o){const a=o[0],h=a[0],l=e.split(a),c="min"===l[0],d="max"===l[0],u=Fs(t,l[0],s,i,r),p=Fs(t,l[1],s,i,r);if(c){const e=Ft(Fs(t,"min",s),p,h);n=e<u?u:e}else if(d){const e=Ft(Fs(t,"max",s),p,h);n=e>u?u:e}else n=Ft(u,p,h)}else n=Fs(t,e,s,i,r)}else n=e;return gt(n,0)},Ps=t=>{let e;const s=t.targets;for(let t=0,i=s.length;t<i;t++){const i=s[t];if(i[h]){e=i;break}}return e};let zs=0;const Xs=["#FF4B4B","#FF971B","#FFC730","#F9F640","#7AFF5A","#18FF74","#17E09B","#3CFFEC","#05DBE9","#33B3F1","#638CF9","#C563FE","#FF4FCF","#F93F8A"];class Us{constructor(t={}){L.current&&L.current.register(this);const e=Rt(t.sync,"play pause"),i=e?Me(e):null,r=e&&("linear"===e||e===Te),n=e&&!(i===Te&&!r),o=e&&(X(e)||!0===e||r),a=e&&U(e)&&!n&&!o,h=a?e.split(" ").map(t=>()=>{const e=this.linked;return e&&e[t]?e[t]():null}):null,l=a&&h.length>2;this.index=zs++,this.id=W(t.id)?this.index:t.id,this.container=Ms(t.container),this.target=null,this.linked=null,this.repeat=null,this.horizontal=null,this.enter=null,this.leave=null,this.sync=n||o||!!h,this.syncEase=n?i:null,this.syncSmooth=o?!0===e||r?1:e:null,this.onSyncEnter=h&&!l&&h[0]?h[0]:T,this.onSyncLeave=h&&!l&&h[1]?h[1]:T,this.onSyncEnterForward=h&&l&&h[0]?h[0]:T,this.onSyncLeaveForward=h&&l&&h[1]?h[1]:T,this.onSyncEnterBackward=h&&l&&h[2]?h[2]:T,this.onSyncLeaveBackward=h&&l&&h[3]?h[3]:T,this.onEnter=t.onEnter||T,this.onLeave=t.onLeave||T,this.onEnterForward=t.onEnterForward||T,this.onLeaveForward=t.onLeaveForward||T,this.onEnterBackward=t.onEnterBackward||T,this.onLeaveBackward=t.onLeaveBackward||T,this.onUpdate=t.onUpdate||T,this.onSyncComplete=t.onSyncComplete||T,this.reverted=!1,this.completed=!1,this.began=!1,this.isInView=!1,this.forceEnter=!1,this.hasEntered=!1,this.offset=0,this.offsetStart=0,this.offsetEnd=0,this.distance=0,this.prevProgress=0,this.thresholds=["start","end","end","start"],this.coords=[0,0,0,0],this.debugStyles=null,this.$debug=null,this._params=t,this._debug=Rt(t.debug,!1),this._next=null,this._prev=null,Et(this.container,this),$s(()=>{if(!this.reverted){if(!this.target){const e=ge(t.target)[0];this.target=e||s.body,this.refresh()}this._debug&&this.debug()}})}link(t){if(t&&(t.pause(),this.linked=t,!this._params.target)){let e;W(t.targets)?wt(t,t=>{t.targets&&!e&&(e=Ps(t))}):e=Ps(t),this.target=e||s.body,this.refresh()}return this}get velocity(){return this.container.velocity}get backward(){return this.horizontal?this.container.backwardX:this.container.backwardY}get scroll(){return this.horizontal?this.container.scrollX:this.container.scrollY}get progress(){const t=(this.scroll-this.offsetStart)/this.distance;return t===1/0||isNaN(t)?0:gt(mt(t,0,1),6)}refresh(){this.reverted=!1;const t=this._params;return this.repeat=Rt(Ls(t.repeat,this),!0),this.horizontal="x"===Rt(Ls(t.axis,this),"y"),this.enter=Rt(Ls(t.enter,this),"end start"),this.leave=Rt(Ls(t.leave,this),"start end"),this.updateBounds(),this.handleScroll(),this}removeDebug(){return this.$debug&&(this.$debug.parentNode.removeChild(this.$debug),this.$debug=null),this.debugStyles&&(this.debugStyles.revert(),this.$debug=null),this}debug(){this.removeDebug();const t=this.container,e=this.horizontal,i=t.element.querySelector(":scope > .animejs-onscroll-debug"),r=s.createElement("div"),n=s.createElement("div"),o=s.createElement("div"),a=Xs[this.index%Xs.length],h=t.useWin,l=h?t.winWidth:t.width,c=h?t.winHeight:t.height,d=t.scrollWidth,u=t.scrollHeight,p=this.container.width>360?320:260,m=e?0:10,f=e?10:0,g=e?24:p/2,_=e?g:15,y=e?60:g,v=e?y:_,b=e?"repeat-x":"repeat-y",T=t=>e?"0px "+t+"px":t+"px 2px",S=t=>`linear-gradient(${e?90:0}deg, ${t} 2px, transparent 1px)`,w=(t,e,s,i,r)=>`position:${t};left:${e}px;top:${s}px;width:${i}px;height:${r}px;`;r.style.cssText=`${w("absolute",m,f,e?d:p,e?p:u)}\n pointer-events: none;\n z-index: ${this.container.zIndex++};\n display: flex;\n flex-direction: ${e?"column":"row"};\n filter: drop-shadow(0px 1px 0px rgba(0,0,0,.75));\n `,n.style.cssText=`${w("sticky",0,0,e?l:g,e?g:c)}`,i||(n.style.cssText+=`background:\n ${S("#FFFF")}${T(g-10)} / 100px 100px ${b},\n ${S("#FFF8")}${T(g-10)} / 10px 10px ${b};\n `),o.style.cssText=`${w("relative",0,0,e?d:g,e?g:u)}`,i||(o.style.cssText+=`background:\n ${S("#FFFF")}${T(0)} / ${e?"100px 10px":"10px 100px"} ${b},\n ${S("#FFF8")}${T(0)} / ${e?"10px 0px":"0px 10px"} ${b};\n `);const x=[" enter: "," leave: "];this.coords.forEach((t,i)=>{const r=i>1,h=(r?0:this.offset)+t,m=i%2,f=h<v,g=h>(r?e?l:c:e?d:u)-v,b=(r?m&&!f:!m&&!f)||g,T=s.createElement("div"),S=s.createElement("div"),E=e?b?"right":"left":b?"bottom":"top",C=b?(e?y:_)+(r?e?-1:g?0:-2:e?-1:-2):e?1:0;S.innerHTML=`${this.id}${x[m]}${this.thresholds[i]}`,T.style.cssText=`${w("absolute",0,0,y,_)}\n display: flex;\n flex-direction: ${e?"column":"row"};\n justify-content: flex-${r?"start":"end"};\n align-items: flex-${b?"end":"start"};\n border-${E}: 2px solid ${a};\n `,S.style.cssText=`\n overflow: hidden;\n max-width: ${p/2-10}px;\n height: ${_};\n margin-${e?b?"right":"left":b?"bottom":"top"}: -2px;\n padding: 1px;\n font-family: ui-monospace, monospace;\n font-size: 10px;\n letter-spacing: -.025em;\n line-height: 9px;\n font-weight: 600;\n text-align: ${e&&b||!e&&!r?"right":"left"};\n white-space: pre;\n text-overflow: ellipsis;\n color: ${m?a:"rgba(0,0,0,.75)"};\n background-color: ${m?"rgba(0,0,0,.65)":a};\n border: 2px solid ${m?a:"transparent"};\n border-${e?b?"top-left":"top-right":b?"top-left":"bottom-left"}-radius: 5px;\n border-${e?b?"bottom-left":"bottom-right":b?"top-right":"bottom-right"}-radius: 5px;\n `,T.appendChild(S);let k=h-C+(e?1:0);T.style[e?"left":"top"]=`${k}px`,(r?n:o).appendChild(T)}),r.appendChild(n),r.appendChild(o),t.element.appendChild(r),i||r.classList.add("animejs-onscroll-debug"),this.$debug=r,"static"===Ze(t.element,"position")&&(this.debugStyles=Ke(t.element,{position:"relative "}))}updateBounds(){let t;this._debug&&this.removeDebug();const e=this.target,i=this.container,r=this.horizontal,n=this.linked;let o,a=e;for(n&&(o=n.currentTime,n.seek(0,!0)),a.parentElement;a&&a!==i.element&&a!==s.body;){const e="sticky"===Ze(a,"position")&&Ke(a,{position:"static"});a=a.parentElement,e&&(t||(t=[]),t.push(e))}const h=e.getBoundingClientRect(),l=r?h.left+i.scrollX-i.left:h.top+i.scrollY-i.top,c=r?h.width:h.height,d=r?i.width:i.height,u=(r?i.scrollWidth:i.scrollHeight)-d,p=this.enter,m=this.leave;let f="start",g="end",_="end",y="start";if(U(p)){const t=p.split(" ");_=t[0],f=t.length>1?t[1]:f}else if(z(p)){const t=p;W(t.container)||(_=t.container),W(t.target)||(f=t.target)}else X(p)&&(_=p);if(U(m)){const t=m.split(" ");y=t[0],g=t.length>1?t[1]:g}else if(z(m)){const t=m;W(t.container)||(y=t.container),W(t.target)||(g=t.target)}else X(m)&&(y=m);const v=Is(e,f,c),b=Is(e,g,c),T=v+l-d,S=b+l-u,w=Is(e,_,d,T,S),x=Is(e,y,d,T,S),E=v+l-w,C=b+l-x,k=C-E;this.offset=l,this.offsetStart=E,this.offsetEnd=C,this.distance=k<=0?0:k,this.thresholds=[f,g,_,y],this.coords=[v,b,w,x],t&&t.forEach(t=>t.revert()),n&&n.seek(o,!0),this._debug&&this.debug()}handleScroll(){const t=this.linked,e=this.sync,s=this.syncEase,i=this.syncSmooth,r=t&&(s||i),n=this.horizontal,o=this.container,a=this.scroll,h=a<=this.offsetStart,l=a>=this.offsetEnd,c=!h&&!l,d=a===this.offsetStart||a===this.offsetEnd,u=!this.hasEntered&&d,p=this._debug&&this.$debug;let m=!1,f=!1,g=this.progress;if(h&&this.began&&(this.began=!1),g>0&&!this.began&&(this.began=!0),r){const e=t.progress;if(i&&X(i)){if(i<1){const t=1e-4,s=e<g&&1===g?t:e>g&&!g?-t:0;g=gt(yt(e,g,yt(.01,.2,i))+s,6)}}else s&&(g=s(g));m=g!==this.prevProgress,f=1===e,m&&!f&&i&&e&&o.wakeTicker.restart()}if(p){const t=n?o.scrollY:o.scrollX;p.style[n?"top":"left"]=t+10+"px"}(c&&!this.isInView||u&&!this.forceEnter&&!this.hasEntered)&&(c&&(this.isInView=!0),this.forceEnter&&this.hasEntered?c&&(this.forceEnter=!1):(p&&c&&(p.style.zIndex=""+this.container.zIndex++),this.onSyncEnter(this),this.onEnter(this),this.backward?(this.onSyncEnterBackward(this),this.onEnterBackward(this)):(this.onSyncEnterForward(this),this.onEnterForward(this)),this.hasEntered=!0,u&&(this.forceEnter=!0))),(c||!c&&this.isInView)&&(m=!0),m&&(r&&t.seek(t.duration*g),this.onUpdate(this)),!c&&this.isInView&&(this.isInView=!1,this.onSyncLeave(this),this.onLeave(this),this.backward?(this.onSyncLeaveBackward(this),this.onLeaveBackward(this)):(this.onSyncLeaveForward(this),this.onLeaveForward(this)),e&&!i&&(f=!0)),g>=1&&this.began&&!this.completed&&(e&&f||!e)&&(e&&this.onSyncComplete(this),this.completed=!0,(!this.repeat&&!t||!this.repeat&&t&&t.completed)&&this.revert()),g<1&&this.completed&&(this.completed=!1),this.prevProgress=g}revert(){if(this.reverted)return;const t=this.container;return xt(t,this),t._head||t.revert(),this._debug&&this.removeDebug(),this.reverted=!0,this}}const Ys=(t={})=>new Us(t);var Ws=Object.freeze({__proto__:null,cubicBezier:ke,eases:Ae,irregular:Be,linear:Oe,none:Te,steps:$e});const Vs=_s,Hs={},qs=(t,e=0)=>(...s)=>e?e=>t(...s,e):e=>t(e,...s),js=t=>(...e)=>{const s=t(...e);return new Proxy(T,{apply:(t,e,[i])=>s(i),get:(t,e)=>js((...t)=>{const i=Hs[e](...t);return t=>i(s(t))})})},Qs=(t,e,s=0)=>{const i=(...t)=>(t.length<e.length?js(qs(e,s)):e)(...t);return Hs[t]||(Hs[t]=i),i},Gs=Qs("roundPad",Vs.roundPad),Js=Qs("padStart",Vs.padStart),Zs=Qs("padEnd",Vs.padEnd),Ks=Qs("wrap",Vs.wrap),ti=Qs("mapRange",Vs.mapRange),ei=Qs("degToRad",Vs.degToRad),si=Qs("radToDeg",Vs.radToDeg),ii=Qs("snap",Vs.snap),ri=Qs("clamp",Vs.clamp),ni=Qs("round",Vs.round),oi=Qs("lerp",Vs.lerp,1),ai=Qs("damp",Vs.damp,1),hi=(t=0,e=1,s=0)=>{const i=10**s;return Math.floor((Math.random()*(e-t+1/i)+t)*i)/i};let li=0;const ci=(t,e=0,s=1,i=0)=>{let r=void 0===t?li++:t;return(t=e,n=s,o=i)=>{r+=1831565813,r=Math.imul(r^r>>>15,1|r),r^=r+Math.imul(r^r>>>7,61|r);const a=10**o;return Math.floor((((r^r>>>14)>>>0)/4294967296*(n-t+1/a)+t)*a)/a}},di=t=>t[hi(0,t.length-1)],ui=t=>{let e,s,i=t.length;for(;i;)s=hi(0,--i),e=t[i],t[i]=t[s],t[s]=e;return t},pi=(t,e={})=>{let s=[],i=0;const r=e.from,n=e.reversed,o=e.ease,a=!W(o),h=a&&!W(o.ease)?o.ease:a?Me(o):null,l=e.grid,c=e.axis,d=e.total,u=W(r)||0===r||"first"===r,p="center"===r,m="last"===r,f="random"===r,g=P(t),y=e.use,v=tt(g?t[0]:t),b=g?tt(t[1]):0,T=$.exec((g?t[1]:t)+_),S=e.start||0+(g?v:0);let w=u?0:X(r)?r:0;return(t,r,o,a)=>{const[u]=_e(t),_=W(d)?o:d,x=!W(y)&&(Y(y)?y(u,r,_):Mt(u,y)),E=X(x)||U(x)&&X(+x)?+x:r;if(p&&(w=(_-1)/2),m&&(w=_-1),!s.length){for(let t=0;t<_;t++){if(l){const e=p?(l[0]-1)/2:w%l[0],i=p?(l[1]-1)/2:ht(w/l[0]),r=e-t%l[0],n=i-ht(t/l[0]);let o=st(r*r+n*n);"x"===c&&(o=-r),"y"===c&&(o=-n),s.push(o)}else s.push(nt(w-t));i=ct(...s)}h&&(s=s.map(t=>h(t/i)*i)),n&&(s=s.map(t=>c?t<0?-1*t:-t:nt(i-t))),f&&(s=ui(s))}const C=g?(b-v)/i:v;let k=(a?ss(a,W(e.start)?a.iterationDuration:S):S)+(C*gt(s[E],2)||0);return e.modifier&&(k=e.modifier(k)),T&&(k=`${k}${T[2]}`),k}};var mi=Object.freeze({__proto__:null,$:_e,clamp:ri,cleanInlineStyles:Ht,createSeededRandom:ci,damp:ai,degToRad:ei,get:Ze,keepTime:Os,lerp:oi,mapRange:ti,padEnd:Zs,padStart:Js,radToDeg:si,random:hi,randomPick:di,remove:ts,round:ni,roundPad:Gs,set:Ke,shuffle:ui,snap:ii,stagger:pi,sync:$s,wrap:Ks});const fi=t=>{const e=ge(t)[0];return e&&H(e)?e:console.warn(`${t} is not a valid SVGGeometryElement`)},gi=(t,e,s=0)=>t.getPointAtLength(e+s>=1?e+s:0),_i=(t,e)=>s=>{const i=+t.getTotalLength(),r=s[l],n=t.getCTM();return{from:0,to:i,modifier:s=>{if("a"===e){const e=gi(t,s,-1),i=gi(t,s,1);return 180*dt(i.y-e.y,i.x-e.x)/ut}{const i=gi(t,s,0);return"x"===e?r||!n?i.x:i.x*n.a+i.y*n.c+n.e:r||!n?i.y:i.x*n.b+i.y*n.d+n.f}}}},yi=t=>{const e=fi(t);if(e)return{translateX:_i(e,"x"),translateY:_i(e,"y"),rotate:_i(e,"a")}},vi=t=>{let e=1;if(t&&t.getCTM){const s=t.getCTM();s&&(e=(st(s.a*s.a+s.b*s.b)+st(s.c*s.c+s.d*s.d))/2)}return e},bi=(t,e,s)=>{const i=f,r=getComputedStyle(t),n=r.strokeLinecap,o="non-scaling-stroke"===r.vectorEffect?t:null;let a=n;const h=new Proxy(t,{get(t,e){const s=t[e];return e===u?t:"setAttribute"===e?(...e)=>{if("draw"===e[0]){const s=e[1].split(" "),r=+s[0],h=+s[1],l=vi(o),c=-1e3*r*l,d=h*i*l+c,u=i*l+(0===r&&1===h||1===r&&0===h?0:10*l)-d;if("butt"!==n){const e=r===h?"butt":n;a!==e&&(t.style.strokeLinecap=`${e}`,a=e)}t.setAttribute("stroke-dashoffset",`${c}`),t.setAttribute("stroke-dasharray",`${d} ${u}`)}return Reflect.apply(s,t,e)}:Y(s)?(...e)=>Reflect.apply(s,t,e):s}});return"1000"!==t.getAttribute("pathLength")&&(t.setAttribute("pathLength","1000"),h.setAttribute("draw",`${e} ${s}`)),h},Ti=(t,e=0,s=0)=>ge(t).map(t=>bi(t,e,s)),Si=(t,e=.33)=>s=>{const i=fi(t);if(!i)return;const r="path"===s.tagName,n=r?" ":",",o=s[d];o&&s.setAttribute(r?"d":"points",o);let a="",h="";if(e){const t=s.getTotalLength(),o=i.getTotalLength(),l=Math.max(Math.ceil(t*e),Math.ceil(o*e));for(let e=0;e<l;e++){const c=e/(l-1),d=s.getPointAtLength(t*c),u=i.getPointAtLength(o*c),p=r?0===e?"M":"L":"";a+=p+gt(d.x,3)+n+d.y+" ",h+=p+gt(u.x,3)+n+u.y+" "}}else a=s.getAttribute(r?"d":"points"),h=i.getAttribute(r?"d":"points");return s[d]=h,[a,h]};var wi=Object.freeze({__proto__:null,createDrawable:Ti,createMotionPath:yi,morphTo:Si});const xi="undefined"!=typeof Intl&&Intl.Segmenter,Ei=/\{value\}/g,Ci=/\{i\}/g,ki=/(\s+)/,$i=/^\s+$/,Oi="line",Bi="word",Ni="char",Ri="data-line";let Li=null,Ai=null,Di=null;const Mi=t=>t.isWordLike||" "===t.segment||X(+t.segment),Fi=t=>t.setAttribute("aria-hidden","true"),Ii=(t,e)=>[...t.querySelectorAll(`[data-${e}]:not([data-${e}] [data-${e}])`)],Pi={line:"#00D672",word:"#FF4B4B",char:"#5A87FF"},zi=t=>{if(!t.childElementCount&&!t.textContent.trim()){const e=t.parentElement;t.remove(),e&&zi(e)}},Xi=(t,e,s)=>{const i=t.getAttribute(Ri);(null!==i&&+i!==e||"BR"===t.tagName)&&s.add(t);let r=t.childElementCount;for(;r--;)Xi(t.children[r],e,s);return s},Ui=(t,e={})=>{let s="";const i=U(e.class)?` class="${e.class}"`:"",r=Rt(e.clone,!1),n=Rt(e.wrap,!1),o=n?!0===n?"clip":n:!!r&&"clip";return n&&(s+=`<span${o?` style="overflow:${o};"`:""}>`),s+=`<span${i}${r?' style="position:relative;"':""} data-${t}="{i}">`,r?(s+="<span>{value}</span>",s+=`<span inert style="position:absolute;top:${"top"===r?"-100%":"bottom"===r?"100%":"0"};left:${"left"===r?"-100%":"right"===r?"100%":"0"};white-space:nowrap;">{value}</span>`):s+="{value}",s+="</span>",n&&(s+="</span>"),s},Yi=(t,e,s,i,r,n,o,a,h)=>{const l=r===Oi,c=r===Ni,d=`_${r}_`,u=Y(t)?t(s):t,p=l?"block":"inline-block";Di.innerHTML=u.replace(Ei,`<i class="${d}"></i>`).replace(Ci,`${c?h:l?o:a}`);const m=Di.content,f=m.firstElementChild,g=m.querySelector(`[data-${r}]`)||f,_=m.querySelectorAll(`i.${d}`),y=_.length;if(y){f.style.display=p,g.style.display=p,g.setAttribute(Ri,`${o}`),l||(g.setAttribute("data-word",`${a}`),c&&g.setAttribute("data-char",`${h}`));let t=y;for(;t--;){const e=_[t],i=e.parentElement;i.style.display=p,l?i.innerHTML=s.innerHTML:i.replaceChild(s.cloneNode(!0),e)}e.push(g),i.appendChild(m)}else console.warn('The expression "{value}" is missing from the provided template.');return n&&(f.style.outline=`1px dotted ${Pi[r]}`),f};class Wi{constructor(e,i={}){Li||(Li=xi?new xi([],{granularity:Bi}):{segment:t=>{const e=[],s=t.split(ki);for(let t=0,i=s.length;t<i;t++){const i=s[t];e.push({segment:i,isWordLike:!$i.test(i)})}return e}}),Ai||(Ai=xi?new xi([],{granularity:"grapheme"}):{segment:t=>[...t].map(t=>({segment:t}))}),!Di&&t&&(Di=s.createElement("template")),L.current&&L.current.register(this);const{words:r,chars:n,lines:o,accessible:a,includeSpaces:h,debug:l}=i,c=(e=P(e)?e[0]:e)&&e.nodeType?e:(fe(e)||[])[0],d=!0===o?{}:o,u=!0===r||W(r)?{}:r,p=!0===n?{}:n;this.debug=Rt(l,!1),this.includeSpaces=Rt(h,!1),this.accessible=Rt(a,!0),this.linesOnly=d&&!u&&!p,this.lineTemplate=z(d)?Ui(Oi,d):d,this.wordTemplate=z(u)||this.linesOnly?Ui(Bi,u):u,this.charTemplate=z(p)?Ui(Ni,p):p,this.$target=c,this.html=c&&c.innerHTML,this.lines=[],this.words=[],this.chars=[],this.effects=[],this.effectsCleanups=[],this.cache=null,this.ready=!1,this.width=0,this.resizeTimeout=null;const m=()=>this.html&&(d||u||p)&&this.split();this.resizeObserver=new ResizeObserver(()=>{clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{const t=c.offsetWidth;t!==this.width&&(this.width=t,m())},150)}),this.lineTemplate&&!this.ready?s.fonts.ready.then(m):m(),c?this.resizeObserver.observe(c):console.warn("No Text Splitter target found.")}addEffect(t){if(!Y(t))return console.warn("Effect must return a function.");const e=Os(t);return this.effects.push(e),this.ready&&(this.effectsCleanups[this.effects.length-1]=e(this)),this}revert(){return clearTimeout(this.resizeTimeout),this.lines.length=this.words.length=this.chars.length=0,this.resizeObserver.disconnect(),this.effectsCleanups.forEach(t=>Y(t)?t(this):t.revert&&t.revert()),this.$target.innerHTML=this.html,this}splitNode(t){const e=this.wordTemplate,i=this.charTemplate,r=this.includeSpaces,n=this.debug,o=t.nodeType;if(3===o){const o=t.nodeValue;if(o.trim()){const a=[],h=this.words,l=this.chars,c=Li.segment(o),d=s.createDocumentFragment();let u=null;for(const t of c){const e=t.segment,s=Mi(t);if(!u||s&&u&&Mi(u))a.push(e);else{const t=a.length-1;a[t].includes(" ")||e.includes(" ")?a.push(e):a[t]+=e}u=t}for(let t=0,o=a.length;t<o;t++){const o=a[t];if(o.trim()){const c=a[t+1],u=r&&c&&!c.trim(),p=o,m=i?Ai.segment(p):null,f=i?s.createDocumentFragment():s.createTextNode(u?o+" ":o);if(i){const t=[...m];for(let e=0,r=t.length;e<r;e++){const o=t[e],a=e===r-1&&u?o.segment+" ":o.segment,c=s.createTextNode(a);Yi(i,l,c,f,Ni,n,-1,h.length,l.length)}}e?Yi(e,h,f,d,Bi,n,-1,h.length,l.length):i?d.appendChild(f):d.appendChild(s.createTextNode(o)),u&&t++}else{if(t&&r)continue;d.appendChild(s.createTextNode(o))}}t.parentNode.replaceChild(d,t)}}else if(1===o){const e=[...t.childNodes];for(let t=0,s=e.length;t<s;t++)this.splitNode(e[t])}}split(t=!1){const e=this.$target,i=!!this.cache&&!t,r=this.lineTemplate,n=this.wordTemplate,o=this.charTemplate,a="loading"!==s.fonts.status,h=r&&a;this.ready=!r||a,(h||t)&&this.effectsCleanups.forEach(t=>Y(t)&&t(this)),i||(t&&(e.innerHTML=this.html,this.words.length=this.chars.length=0),this.splitNode(e),this.cache=e.innerHTML),h&&(i&&(e.innerHTML=this.cache),this.lines.length=0,n&&(this.words=Ii(e,Bi))),o&&(h||n)&&(this.chars=Ii(e,Ni));const l=this.words.length?this.words:this.chars;let c,d=0;for(let t=0,e=l.length;t<e;t++){const e=l[t],{top:s,height:i}=e.getBoundingClientRect();c&&s-c>.5*i&&d++,e.setAttribute(Ri,`${d}`);const r=e.querySelectorAll(`[${Ri}]`);let n=r.length;for(;n--;)r[n].setAttribute(Ri,`${d}`);c=s}if(h){const t=s.createDocumentFragment(),i=new Set,a=[];for(let t=0;t<d+1;t++){const s=e.cloneNode(!0);Xi(s,t,new Set).forEach(t=>{const e=t.parentElement;e&&i.add(e),t.remove()}),a.push(s)}i.forEach(zi);for(let e=0,s=a.length;e<s;e++)Yi(r,this.lines,a[e],t,Oi,this.debug,e);e.innerHTML="",e.appendChild(t),n&&(this.words=Ii(e,Bi)),o&&(this.chars=Ii(e,Ni))}if(this.linesOnly){const t=this.words;let e=t.length;for(;e--;){const s=t[e];s.replaceWith(s.textContent)}t.length=0}if(this.accessible&&(h||!i)){const t=s.createElement("span");t.style.cssText="position:absolute;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;white-space:nowrap;",t.innerHTML=this.html,e.insertBefore(t,e.firstChild),this.lines.forEach(Fi),this.words.forEach(Fi),this.chars.forEach(Fi)}return this.width=e.offsetWidth,(h||t)&&this.effects.forEach((t,e)=>this.effectsCleanups[e]=t(this)),this}refresh(){this.split(!0)}}const Vi=(t,e)=>new Wi(t,e),Hi=(t,e)=>(console.warn("text.split() is deprecated, import splitText() directly, or text.splitText()"),new Wi(t,e));var qi=Object.freeze({__proto__:null,TextSplitter:Wi,split:Hi,splitText:Vi});const ji=(t,e=100)=>{const s=[];for(let i=0;i<=e;i++)s.push(t(i/e));return`linear(${s.join(", ")})`},Qi={in:"ease-in",out:"ease-out",inOut:"ease-in-out"},Gi=(()=>{const t={};for(let e in we)t[e]=t=>we[e](Se(t));return t})(),Ji=t=>{let e=Qi[t];if(e)return e;if(e="linear",U(t)){if(F(t,"linear")||F(t,"cubic-")||F(t,"steps")||F(t,"ease"))e=t;else if(F(t,"cubicB"))e=M(t);else{const s=xe(t,Gi,Qi);Y(s)&&(e=s===Te?"linear":ji(s))}Qi[t]=e}else if(Y(t)){const s=ji(t);s&&(e=s)}else t.ease&&(e=ji(t.ease));return e},Zi=["x","y","z"],Ki=["perspective","width","height","margin","padding","top","right","bottom","left","borderWidth","fontSize","borderRadius",...Zi],tr=(()=>[...Zi,...v.filter(t=>["X","Y","Z"].some(e=>t.endsWith(e)))])();let er=null;const sr=(t,e,s,i,r)=>{let n=Lt(e,s,i,r);return X(n)?Ki.includes(t)||F(t,"translate")?`${n}px`:F(t,"rotate")||F(t,"skew")?`${n}deg`:`${n}`:n},ir=(t,e,s,i,r,n)=>{let o="0";const a=W(i)?getComputedStyle(t)[e]:sr(e,i,t,r,n);return o=W(s)?P(i)?i.map(s=>sr(e,s,t,r,n)):a:[sr(e,s,t,r,n),a],o};class rr{constructor(e,s){L.current&&L.current.register(this),V(er)&&(!t||!W(CSS)&&Object.hasOwnProperty.call(CSS,"registerProperty")?(v.forEach(t=>{const e=F(t,"skew"),s=F(t,"scale"),i=F(t,"rotate"),r=F(t,"translate"),n=i||e,o=n?"<angle>":s?"<number>":r?"<length-percentage>":"*";try{CSS.registerProperty({name:"--"+t,syntax:o,inherits:!1,initialValue:r?"0px":n?"0deg":s?"1":"0"})}catch{}}),er=!0):er=!1);const i=_e(e),r=i.length;r||console.warn("No target found. Make sure the element you're trying to animate is accessible before creating your animation.");const n=Rt(s.ease,Ji(A.defaults.ease)),o=n.ease&&n,a=Rt(s.autoplay,A.defaults.autoplay),h=!(!a||!a.link)&&a,l=s.alternate&&!0===s.alternate,d=s.reversed&&!0===s.reversed,u=Rt(s.loop,A.defaults.loop),p=!0===u||u===1/0?1/0:X(u)?u+1:1,m=l?d?"alternate-reverse":"alternate":d?"reverse":"normal",g=Ji(n),S=1===A.timeScale?1:f;this.targets=i,this.animations=[],this.controlAnimation=null,this.onComplete=s.onComplete||T,this.duration=0,this.muteCallbacks=!1,this.completed=!1,this.paused=!a||!1!==h,this.reversed=d,this.autoplay=a,this._speed=Rt(s.playbackRate,A.defaults.playbackRate),this._resolve=T,this._completed=0,this._inlineStyles=i.map(t=>t.getAttribute("style")),i.forEach((t,e)=>{const i=t[c],a=tr.some(t=>s.hasOwnProperty(t)),h=(o?o.duration:Lt(Rt(s.duration,A.defaults.duration),t,e,r))*S,l=Lt(Rt(s.delay,A.defaults.delay),t,e,r)*S,d=Rt(s.composition,"replace");for(let o in s){if(!J(o))continue;const c={},u={iterations:p,direction:m,fill:"forwards",easing:g,duration:h,delay:l,composite:d},f=s[o],_=!!a&&(v.includes(o)?o:y.get(o));let b;if(z(f)){const s=f,a=Rt(s.ease,n),p=a.ease&&a,m=s.to,g=s.from;if(u.duration=(p?p.duration:Lt(Rt(s.duration,h),t,e,r))*S,u.delay=Lt(Rt(s.delay,l),t,e,r)*S,u.composite=Rt(s.composition,d),u.easing=Ji(a),b=ir(t,o,g,m,e,r),_?(c[`--${_}`]=b,i[_]=b):c[o]=ir(t,o,g,m,e,r),Je(this,t,o,c,u),!W(g))if(_){const e=`--${_}`;t.style.setProperty(e,c[e][0])}else t.style[o]=c[o][0]}else b=P(f)?f.map(s=>sr(o,s,t,e,r)):sr(o,f,t,e,r),_?(c[`--${_}`]=b,i[_]=b):c[o]=b,Je(this,t,o,c,u)}if(a){let e=_;for(let t in i)e+=`${b[t]}var(--${t})) `;t.style.transform=e}}),h&&this.autoplay.link(this)}forEach(t){const e=U(t)?e=>e[t]():t;return this.animations.forEach(e),this}get speed(){return this._speed}set speed(t){this._speed=+t,this.forEach(e=>e.playbackRate=t)}get currentTime(){const t=this.controlAnimation,e=A.timeScale;return this.completed?this.duration:t?+t.currentTime*(1===e?1:e):0}set currentTime(t){const e=t*(1===A.timeScale?1:f);this.forEach(t=>{e>=this.duration&&t.play(),t.currentTime=e})}get progress(){return this.currentTime/this.duration}set progress(t){this.forEach(e=>e.currentTime=t*this.duration||0)}resume(){return this.paused?(this.paused=!1,this.forEach("play")):this}pause(){return this.paused?this:(this.paused=!0,this.forEach("pause"))}alternate(){return this.reversed=!this.reversed,this.forEach("reverse"),this.paused&&this.forEach("pause"),this}play(){return this.reversed&&this.alternate(),this.resume()}reverse(){return this.reversed||this.alternate(),this.resume()}seek(t,e=!1){return e&&(this.muteCallbacks=!0),t<this.duration&&(this.completed=!1),this.currentTime=t,this.muteCallbacks=!1,this.paused&&this.pause(),this}restart(){return this.completed=!1,this.seek(0,!0).resume()}commitStyles(){return this.forEach("commitStyles")}complete(){return this.seek(this.duration)}cancel(){return this.forEach("cancel"),this.pause()}revert(){return this.cancel(),this.targets.forEach((t,e)=>t.setAttribute("style",this._inlineStyles[e])),this}then(t=T){const e=this.then,s=()=>{this.then=null,t(this),this.then=e,this._resolve=T};return new Promise(t=>(this._resolve=()=>t(s()),this.completed&&this._resolve(),this))}}const nr={animate:(t,e)=>new rr(t,e),convertEase:ji};export{_e as $,as as Animatable,Cs as Draggable,qe as JSAnimation,Bs as Scope,Us as ScrollObserver,vs as Spring,Wi as TextSplitter,ns as Timeline,pe as Timer,rr as WAAPIAnimation,je as animate,ri as clamp,Ht as cleanInlineStyles,hs as createAnimatable,ks as createDraggable,Ti as createDrawable,yi as createMotionPath,Ns as createScope,ci as createSeededRandom,bs as createSpring,os as createTimeline,me as createTimer,ke as cubicBezier,ai as damp,ei as degToRad,Ae as eases,Ws as easings,Kt as engine,Ze as get,Be as irregular,Os as keepTime,oi as lerp,Oe as linear,ti as mapRange,Si as morphTo,Te as none,Ys as onScroll,Zs as padEnd,Js as padStart,si as radToDeg,hi as random,di as randomPick,ts as remove,ni as round,Gs as roundPad,As as scrollContainers,Ke as set,ui as shuffle,ii as snap,Hi as split,Vi as splitText,pi as stagger,$e as steps,wi as svg,$s as sync,qi as text,mi as utils,nr as waapi,Ks as wrap};