PageSourceSearch

https://bdadevs.com/_next/static/chunks/6248.9ae1205e6660234e.js

js bdadevs.com collected 2026-10-02 01:24:32 UTC 144,883 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6248],{13607:(t,e,i)=>{var s,a,o,n,r,l,c,h,d,u,p,f,v,g,y,m,b,w,x,_,k,z,M,C,P,T,O,S,D,R,E,I,V,A,L,F,B,q,U,G,j,H,W,Y,J;let $,Z;i.d(e,{H_P:()=>o,jlt:()=>id,_or:()=>g,VKE:()=>n,Q5V:()=>p,mgy:()=>z,sJd:()=>iM,Oit:()=>ep,Yzx:()=>y,v5k:()=>r,x_I:()=>w,U4p:()=>iC,M_G:()=>iu,pTR:()=>_,PVU:()=>eL,Miz:()=>tg,AEc:()=>tq,pEn:()=>tY,Tgl:()=>tW,qE8:()=>tb,EYT:()=>t7,zwS:()=>tU,puj:()=>tT,NVT:()=>tH,U6C:()=>tj,V6E:()=>er,dIx:()=>tt,wJ2:()=>t$,YfF:()=>tP,vrU:()=>tC,pzy:()=>es,_hh:()=>et,PGG:()=>ee,tZQ:()=>tR,G0i:()=>tm,W9e:()=>tz,VGA:()=>t_,LCf:()=>t8,xxz:()=>t9,YLU:()=>t3,ayx:()=>t4,XsS:()=>tQ,cyL:()=>tp,iKf:()=>tG,hnD:()=>tA,kZJ:()=>tf,Gvm:()=>tu,Tj8:()=>tB,B90:()=>tI,Vh1:()=>tF,TA3:()=>tZ,AlN:()=>tL,XuV:()=>ti,Z04:()=>Q,RbF:()=>X,M3Y:()=>tS,a56:()=>te,U43:()=>tx,R5R:()=>t2,BN0:()=>t1,jon:()=>tJ,K6u:()=>t5,DT4:()=>tM,$k3:()=>iP,UC0:()=>tK,JvX:()=>en});let N="generated",Q="pointerleave",X="pointermove",K="touchend",tt="tsParticles - Error",te=100,ti=1e3,ts="random",ta=2*Math.PI,to="true",tn="false",tr="canvas",tl=0;function tc(t){return"boolean"==typeof t}function th(t){return"string"==typeof t}function td(t){return"number"==typeof t}function tu(t){return"object"==typeof t&&null!==t}function tp(t){return Array.isArray(t)}function tf(t){return null==t}(M=s||(s={})).bottom="bottom",M.bottomLeft="bottom-left",M.bottomRight="bottom-right",M.left="left",M.none="none",M.right="right",M.top="top",M.topLeft="top-left",M.topRight="top-right",M.outside="outside",M.inside="inside";class tv{constructor(t,e,i){if(this._updateFromAngle=(t,e)=>{this.x=Math.cos(t)*e,this.y=Math.sin(t)*e},!td(t)&&t)this.x=t.x,this.y=t.y,this.z=t.z?t.z:0;else if(void 0!==t&&void 0!==e)this.x=t,this.y=e,this.z=i??0;else throw Error(`${tt} Vector3d not initialized correctly`)}static get origin(){return tv.create(0,0,0)}get angle(){return Math.atan2(this.y,this.x)}set angle(t){this._updateFromAngle(t,this.length)}get length(){return Math.sqrt(this.getLengthSq())}set length(t){this._updateFromAngle(this.angle,t)}static clone(t){return tv.create(t.x,t.y,t.z)}static create(t,e,i){return new tv(t,e,i)}add(t){return tv.create(this.x+t.x,this.y+t.y,this.z+t.z)}addTo(t){this.x+=t.x,this.y+=t.y,this.z+=t.z}copy(){return tv.clone(this)}distanceTo(t){return this.sub(t).length}distanceToSq(t){return this.sub(t).getLengthSq()}div(t){return tv.create(this.x/t,this.y/t,this.z/t)}divTo(t){this.x/=t,this.y/=t,this.z/=t}getLengthSq(){return this.x**2+this.y**2}mult(t){return tv.create(this.x*t,this.y*t,this.z*t)}multTo(t){this.x*=t,this.y*=t,this.z*=t}normalize(){let t=this.length;0!=t&&this.multTo(1/t)}rotate(t){return tv.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t),0)}setTo(t){this.x=t.x,this.y=t.y,this.z=t.z?t.z:0}sub(t){return tv.create(this.x-t.x,this.y-t.y,this.z-t.z)}subFrom(t){this.x-=t.x,this.y-=t.y,this.z-=t.z}}class tg extends tv{constructor(t,e){super(t,e,0)}static get origin(){return tg.create(0,0)}static clone(t){return tg.create(t.x,t.y)}static create(t,e){return new tg(t,e)}}let ty=Math.random;function tm(){return tb(ty(),0,1-Number.EPSILON)}function tb(t,e,i){return Math.min(Math.max(t,e),i)}function tw(t,e,i,s){return Math.floor((t*i+e*s)/(i+s))}function tx(t){let e=tz(t),i=tk(t);return e===i&&(i=0),tm()*(e-i)+i}function t_(t){return td(t)?t:tx(t)}function tk(t){return td(t)?t:t.min}function tz(t){return td(t)?t:t.max}function tM(t,e){if(t===e||void 0===e&&td(t))return t;let i=tk(t),s=tz(t);return void 0!==e?{min:Math.min(i,e),max:Math.max(s,e)}:tM(i,s)}function tC(t,e){let i=t.x-e.x,s=t.y-e.y;return{dx:i,dy:s,distance:Math.sqrt(i**2+s**2)}}function tP(t,e){return tC(t,e).distance}function tT(t){return t*Math.PI/180}function tO(t,e,i,s){return tg.create(t.x*(i-s)/(i+s)+2*e.x*s/(i+s),t.y)}function tS(t){return t?t.endsWith("%")?parseFloat(t)/te:parseFloat(t):1}(C=a||(a={})).auto="auto",C.increase="increase",C.decrease="decrease",C.random="random",(P=o||
1(o={})).increasing="increasing",P.decreasing="decreasing",(T=n||(n={})).none="none",T.max="max",T.min="min",(O=r||(r={})).bottom="bottom",O.left="left",O.right="right",O.top="top",(S=l||(l={})).precise="precise",S.percent="percent",(D=c||(c={})).max="max",D.min="min",D.random="random";let tD={debug:console.debug,error:console.error,info:console.info,log:console.log,verbose:console.log,warning:console.warn};function tR(){return tD}function tE(t){let e={bounced:!1},{pSide:i,pOtherSide:s,rectSide:a,rectOtherSide:o,velocity:n,factor:r}=t;return s.min<o.min||s.min>o.max||s.max<o.min||s.max>o.max||(i.max>=a.min&&i.max<=(a.max+a.min)*.5&&n>0||i.min<=a.max&&i.min>(a.max+a.min)*.5&&n<0)&&(e.velocity=-(n*r),e.bounced=!0),e}function tI(){return"undefined"==typeof window||!window||void 0===window.document||!window.document}function tV(t){if(!tI()&&"undefined"!=typeof matchMedia)return matchMedia(t)}function tA(t,e){return t===e||tp(e)&&e.indexOf(t)>-1}async function tL(t,e){try{await document.fonts.load(`${e??"400"} 36px '${t??"Verdana"}'`)}catch{}}function tF(t,e,i=!0){return t[void 0!==e&&i?e%t.length:Math.floor(tm()*t.length)]}function tB(t,e,i,s,a){var o,n,l,c;let h;return o=tq(t,s??0),n=e,l=i,h=!0,(c=a)&&c!==r.bottom||(h=o.top<n.height+l.x),h&&(!c||c===r.left)&&(h=o.right>l.x),h&&(!c||c===r.right)&&(h=o.left<n.width+l.y),h&&(!c||c===r.top)&&(h=o.bottom>l.y),h}function tq(t,e){return{bottom:t.y+e,left:t.x-e,right:t.x+e,top:t.y-e}}function tU(t,...e){for(let i of e){if(null==i)continue;if(!tu(i)){t=i;continue}let e=Array.isArray(i);for(let s in e&&(tu(t)||!t||!Array.isArray(t))?t=[]:!e&&(tu(t)||!t||Array.isArray(t))&&(t={}),i){if("__proto__"===s)continue;let e=i[s],a=t;a[s]=tu(e)&&Array.isArray(e)?e.map(t=>tU(a[s],t)):tU(a[s],e)}}return t}function tG(t,e){return!!tN(e,e=>e.enable&&tA(t,e.mode))}function tj(t,e,i){t$(e,e=>{var s,a;let o=e.mode;e.enable&&tA(t,o)&&(s=e,a=i,t$(s.selectors,t=>{a(t,s)}))})}function tH(t,e){if(e&&t)return tN(t,t=>{let i;return tp(i=t$(t.selectors,t=>e.matches(t)))?i.some(t=>t):i})}function tW(t){return{position:t.getPosition(),radius:t.getRadius(),mass:t.getMass(),velocity:t.velocity,factor:tg.create(t_(t.options.bounce.horizontal.value),t_(t.options.bounce.vertical.value))}}function tY(t,e){let{x:i,y:s}=t.velocity.sub(e.velocity),[a,o]=[t.position,e.position],{dx:n,dy:r}=tC(o,a);if(i*n+s*r<0)return;let l=-Math.atan2(r,n),c=t.mass,h=e.mass,d=t.velocity.rotate(l),u=e.velocity.rotate(l),p=tO(d,u,c,h),f=tO(u,d,c,h),v=p.rotate(-l),g=f.rotate(-l);t.velocity.x=v.x*t.factor.x,t.velocity.y=v.y*t.factor.y,e.velocity.x=g.x*e.factor.x,e.velocity.y=g.y*e.factor.y}function tJ(t,e){let i=tq(t.getPosition(),t.getRadius()),s=t.options.bounce,a=tE({pSide:{min:i.left,max:i.right},pOtherSide:{min:i.top,max:i.bottom},rectSide:{min:e.left,max:e.right},rectOtherSide:{min:e.top,max:e.bottom},velocity:t.velocity.x,factor:t_(s.horizontal.value)});a.bounced&&(void 0!==a.velocity&&(t.velocity.x=a.velocity),void 0!==a.position&&(t.position.x=a.position));let o=tE({pSide:{min:i.top,max:i.bottom},pOtherSide:{min:i.left,max:i.right},rectSide:{min:e.top,max:e.bottom},rectOtherSide:{min:e.left,max:e.right},velocity:t.velocity.y,factor:t_(s.vertical.value)});o.bounced&&(void 0!==o.velocity&&(t.velocity.y=o.velocity),void 0!==o.position&&(t.position.y=o.position))}function t$(t,e){return tp(t)?t.map((t,i)=>e(t,i)):e(t,0)}function tZ(t,e,i){return tp(t)?tF(t,e,i):t}function tN(t,e){return tp(t)?t.find((t,i)=>e(t,i)):e(t,0)?t:void 0}function tQ(t,e){let i=t.value,s=t.animation,n={delayTime:t_(s.delay)*ti,enable:s.enable,value:t_(t.value)*e,max:tz(i)*e,min:tk(i)*e,loops:0,maxLoops:t_(s.count),time:0};if(s.enable){switch(n.decay=1-t_(s.decay),s.mode){case a.increase:n.status=o.increasing;break;case a.decrease:n.status=o.decreasing;break;case a.random:n.status=tm()>=.5?o.increasing:o.decreasing}let t=s.mode===a.auto;switch(s.startValue){case c.min:n.value=n.min,t&&(n.status=o.increasing);break;case c.max:n.value=n.max,t&&(n.status=o.decreasing);break;case c.random:default:n.value=tx(n),t&&(n.status=tm()>=.5?o.increasing:o.decreasing)}}
1return n.initialValue=n.value,n}function tX(t,e){return function(t,e){if(t.mode!==l.percent){let{mode:e,...i}=t;return i}return"x"in t?{x:t.x/te*e.width,y:t.y/te*e.height}:{width:t.width/te*e.width,height:t.height/te*e.height}}(t,e)}function tK(t,e,i,s,a){if(t.destroyed||!e||!e.enable||(e.maxLoops??0)>0&&(e.loops??0)>(e.maxLoops??0))return;let r=(e.velocity??0)*a.factor,l=e.min,c=e.max,h=e.decay??1;if(e.time||(e.time=0),(e.delayTime??0)>0&&e.time<(e.delayTime??0)&&(e.time+=a.value),!((e.delayTime??0)>0)||!(e.time<(e.delayTime??0))){switch(e.status){case o.increasing:e.value>=c?(i?e.status=o.decreasing:e.value-=c,e.loops||(e.loops=0),e.loops++):e.value+=r;break;case o.decreasing:e.value<=l?(i?e.status=o.increasing:e.value+=c,e.loops||(e.loops=0),e.loops++):e.value-=r}e.velocity&&1!==h&&(e.velocity*=h);var d=e.value;switch(s){case n.max:d>=c&&t.destroy();break;case n.min:d<=l&&t.destroy()}t.destroyed||(e.value=tb(e.value,l,c))}}let t0=(R=function(t){let e=document.createElement("div").style,i={width:"100%",height:"100%",margin:"0",padding:"0",borderWidth:"0",position:"fixed",zIndex:t.toString(10),"z-index":t.toString(10),top:"0",left:"0"};for(let t in i){let s=i[t];e.setProperty(t,s)}return e},$=new Map,(...t)=>{let e=JSON.stringify(t);if($.has(e))return $.get(e);let i=R(...t);return $.set(e,i),i});function t1(t,e,i,s=!0){if(!e)return;let a=th(e)?{value:e}:e;if(th(a.value))return function t(e,i,s,a=!0){if(!i)return;let o=th(i)?{value:i}:i;if(th(o.value))return o.value===ts?t6():function(t,e){if(e){for(let i of t.colorManagers.values())if(e.startsWith(i.stringPrefix))return i.parseString(e)}}(e,o.value);if(tp(o.value))return t(e,{value:tF(o.value,s,a)});for(let t of e.colorManagers.values()){let e=t.handleColor(o);if(e)return e}}(t,a.value,i,s);if(tp(a.value))return t1(t,{value:tF(a.value,i,s)});for(let e of t.colorManagers.values()){let t=e.handleRangeColor(a);if(t)return t}}function t2(t,e,i,s=!0){let a=t1(t,e,i,s);return a?t5(a):void 0}function t5(t){let e=t.r/255,i=t.g/255,s=t.b/255,a=Math.max(e,i,s),o=Math.min(e,i,s),n={h:0,l:(a+o)*.5,s:0};return a!==o&&(n.s=n.l<.5?(a-o)/(a+o):(a-o)/(2-a-o),n.h=e===a?(i-s)/(a-o):n.h=i===a?2+(s-e)/(a-o):4+(e-i)/(a-o)),n.l*=100,n.s*=100,n.h*=60,n.h<0&&(n.h+=360),n.h>=360&&(n.h-=360),n}function t3(t){let e=(t.h%360+360)%360,i=Math.max(0,Math.min(100,t.s)),s=Math.max(0,Math.min(100,t.l)),a=e/360,o=i/100,n=s/100;if(0===i){let t=Math.round(255*n);return{r:t,g:t,b:t}}let r=(t,e,i)=>(i<0&&i++,i>1&&i--,6*i<1)?t+(e-t)*6*i:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t,l=n<.5?n*(1+o):n+o-n*o,c=2*n-l;return{r:Math.round(Math.min(255,255*r(c,l,a+.3333333333333333))),g:Math.round(Math.min(255,255*r(c,l,a))),b:Math.round(Math.min(255,255*r(c,l,a-.3333333333333333)))}}function t4(t){let e=t3(t);return{a:t.a,b:e.b,g:e.g,r:e.r}}function t6(t){let e=t??0;return{b:Math.floor(tx(tM(e,256))),g:Math.floor(tx(tM(e,256))),r:Math.floor(tx(tM(e,256)))}}function t9(t,e){return`rgba(${t.r}, ${t.g}, ${t.b}, ${e??1})`}function t8(t,e){return`hsla(${t.h}, ${t.s}%, ${t.l}%, ${e??1})`}function t7(t,e,i,s){let a=t,o=e;return void 0===a.r&&(a=t3(t)),void 0===o.r&&(o=t3(e)),{b:tw(a.b,o.b,i,s),g:tw(a.g,o.g,i,s),r:tw(a.r,o.r,i,s)}}function et(t,e,i){if(i===ts)return t6();if("mid"!==i)return i;{let i=t.getFillColor()??t.getStrokeColor(),s=e?.getFillColor()??e?.getStrokeColor();if(i&&s&&e)return t7(i,s,t.getRadius(),e.getRadius());{let t=i??s;if(t)return t3(t)}}}function ee(t,e,i,s){let a=th(e)?e:e.value;return a===ts?s?t1(t,{value:a}):i?ts:"mid":"mid"===a?"mid":t1(t,{value:a})}function ei(t){return void 0!==t?{h:t.h.value,s:t.s.value,l:t.l.value}:void 0}function es(t,e,i){let s={h:{enable:!1,value:t.h},s:{enable:!1,value:t.s},l:{enable:!1,value:t.l}};return e&&(ea(s.h,e.h,i),ea(s.s,e.s,i),ea(s.l,e.l,i)),s}function ea(t,e,i){t.enable=e.enable,t.enable?(t.velocity=t_(e.speed)/te*i,t.decay=1-t_(e.decay),t.status=o.increasing,t.loops=0,t.maxLoops=t_(e.count),t.time=0,t.delayTime=t_(e.delay)*ti,e.sync||(t.velocity
1*=tm(),t.value*=tm()),t.initialValue=t.value,t.offset=tM(e.offset)):t.velocity=0}function eo(t,e,i,s){if(!t||!t.enable||(t.maxLoops??0)>0&&(t.loops??0)>(t.maxLoops??0)||(t.time||(t.time=0),(t.delayTime??0)>0&&t.time<(t.delayTime??0)&&(t.time+=s.value),(t.delayTime??0)>0&&t.time<(t.delayTime??0)))return;let a=t.offset?tx(t.offset):0,n=(t.velocity??0)*s.factor+3.6*a,r=t.decay??1,l=tz(e),c=tk(e);i&&t.status!==o.increasing?(t.value-=n,t.value<0&&(t.loops||(t.loops=0),t.loops++,t.status=o.increasing)):(t.value+=n,t.value>l&&(t.loops||(t.loops=0),t.loops++,i?t.status=o.decreasing:t.value-=l)),t.velocity&&1!==r&&(t.velocity*=r),t.value=tb(t.value,c,l)}function en(t,e){if(!t)return;let{h:i,s,l:a}=t;i&&eo(i,{min:0,max:360},!1,e),s&&eo(s,{min:0,max:100},!0,e),a&&eo(a,{min:0,max:100},!0,e)}function er(t,e,i){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.closePath()}function el(t,e){t.clearRect(0,0,e.width,e.height)}function ec(t,e,i=!1){if(!e||!t)return;let s=t.style;if(!s)return;let a=new Set;for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&a.add(s[t]);for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&a.add(e[t]);for(let t of a){let a=e.getPropertyValue(t);a?s.setProperty(t,a,i?"important":""):s.removeProperty(t)}}(E=h||(h={})).darken="darken",E.enlighten="enlighten";class eh{constructor(t,e){this.container=t,this._applyPostDrawUpdaters=t=>{for(let e of this._postDrawUpdaters)e.afterDraw?.(t)},this._applyPreDrawUpdaters=(t,e,i,s,a,o)=>{for(let n of this._preDrawUpdaters){if(n.getColorStyles){let{fill:o,stroke:r}=n.getColorStyles(e,t,i,s);o&&(a.fill=o),r&&(a.stroke=r)}if(n.getTransformValues){let t=n.getTransformValues(e);for(let e in t)!function(t,e,i){let s=e[i];void 0!==s&&(t[i]=(t[i]??1)*s)}(o,t,e)}n.beforeDraw?.(e)}},this._applyResizePlugins=()=>{for(let t of this._resizePlugins)t.resize?.()},this._getPluginParticleColors=t=>{let e,i;for(let s of this._colorPlugins)if(!e&&s.particleFillColor&&(e=t2(this._engine,s.particleFillColor(t))),!i&&s.particleStrokeColor&&(i=t2(this._engine,s.particleStrokeColor(t))),e&&i)break;return[e,i]},this._initCover=async()=>{let t=this.container.actualOptions.backgroundMask.cover,e=t.color;if(e){let i=t1(this._engine,e);if(i){let e={...i,a:t.opacity};this._coverColorStyle=t9(e,e.a)}}else await new Promise((e,i)=>{if(!t.image)return;let s=document.createElement("img");s.addEventListener("load",()=>{this._coverImage={image:s,opacity:t.opacity},e()}),s.addEventListener("error",t=>{i(t.error)}),s.src=t.image})},this._initStyle=()=>{let t=this.element,e=this.container.actualOptions;if(t)for(let i in this._fullScreen?this._setFullScreenStyle():this._resetOriginalStyle(),e.style){if(!i||!e.style||!Object.prototype.hasOwnProperty.call(e.style,i))continue;let s=e.style[i];s&&t.style.setProperty(i,s,"important")}},this._initTrail=async()=>{let t=this.container.actualOptions.particles.move.trail,e=t.fill;if(!t.enable)return;let i=1/t.length;if(e.color){let t=t1(this._engine,e.color);if(!t)return;this._trailFill={color:{...t},opacity:i}}else await new Promise((t,s)=>{if(!e.image)return;let a=document.createElement("img");a.addEventListener("load",()=>{this._trailFill={image:a,opacity:i},t()}),a.addEventListener("error",t=>{s(t.error)}),a.src=e.image})},this._paintBase=t=>{this.draw(e=>{var i;return i=this.size,void(e.fillStyle=t??"rgba(0,0,0,0)",e.fillRect(0,0,i.width,i.height))})},this._paintImage=(t,e)=>{this.draw(i=>{var s;return s=this.size,void(t&&(i.globalAlpha=e,i.drawImage(t,0,0,s.width,s.height),i.globalAlpha=1))})},this._repairStyle=()=>{let t=this.element;if(!t)return;this._safeMutationObserver(t=>
1t.disconnect()),this._initStyle(),this.initBackground();let e=this._pointerEvents;t.style.pointerEvents=e,t.setAttribute("pointer-events",e),this._safeMutationObserver(e=>{t&&t instanceof Node&&e.observe(t,{attributes:!0})})},this._resetOriginalStyle=()=>{let t=this.element,e=this._originalStyle;t&&e&&ec(t,e,!0)},this._safeMutationObserver=t=>{this._mutationObserver&&t(this._mutationObserver)},this._setFullScreenStyle=()=>{let t=this.element;t&&ec(t,t0(this.container.actualOptions.fullScreen.zIndex),!0)},this._engine=e,this._standardSize={height:0,width:0};const i=t.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*i,width:s.width*i},this._context=null,this._generated=!1,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[],this._pointerEvents="none"}get _fullScreen(){return this.container.actualOptions.fullScreen.enable}clear(){let t=this.container.actualOptions,e=t.particles.move.trail,i=this._trailFill;t.backgroundMask.enable?this.paint():e.enable&&e.length>0&&i?i.color?this._paintBase(t9(i.color,i.opacity)):i.image&&this._paintImage(i.image,i.opacity):t.clear&&this.draw(t=>{el(t,this.size)})}destroy(){if(this.stop(),this._generated){let t=this.element;t?.remove(),this.element=void 0}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[]}draw(t){let e=this._context;if(e)return t(e)}drawAsync(t){let e=this._context;if(e)return t(e)}drawParticle(t,e){if(t.spawning||t.destroyed)return;let i=t.getRadius();if(i<=0)return;let s=t.getFillColor(),a=t.getStrokeColor()??s,[o,n]=this._getPluginParticleColors(t);o||(o=s),n||(n=a),(o||n)&&this.draw(s=>{let a=this.container,r=a.actualOptions,l=t.options.zIndex,c=1-t.zIndexFactor,h=c**l.opacityRate,d=t.bubble.opacity??t.opacity?.value??1,u=t.strokeOpacity??d,p=d*h,f={},v={fill:o?t8(o,p):void 0};v.stroke=n?t8(n,u*h):v.fill,this._applyPreDrawUpdaters(s,t,i,p,v,f),function(t){let{container:e,context:i,particle:s,delta:a,colorStyles:o,backgroundMask:n,composite:r,radius:l,opacity:c,shadow:h,transform:d}=t,u=s.getPosition(),p=s.rotation+(s.pathRotation?s.velocity.angle:0),f={sin:Math.sin(p),cos:Math.cos(p)},v=!!p,g={a:f.cos*(d.a??1),b:v?f.sin*(d.b??1):d.b??0,c:v?-f.sin*(d.c??1):d.c??0,d:f.cos*(d.d??1)};i.setTransform(g.a,g.b,g.c,g.d,u.x,u.y),n&&(i.globalCompositeOperation=r);let y=s.shadowColor;h.enable&&y&&(i.shadowBlur=h.blur,i.shadowColor=t9(y),i.shadowOffsetX=h.offset.x,i.shadowOffsetY=h.offset.y),o.fill&&(i.fillStyle=o.fill);let m=s.strokeWidth??0;i.lineWidth=m,o.stroke&&(i.strokeStyle=o.stroke);let b={container:e,context:i,particle:s,radius:l,opacity:c,delta:a,transformData:g,strokeWidth:m};(function(t){let{container:e,context:i,particle:s,radius:a,opacity:o,delta:n,strokeWidth:r,transformData:l}=t;if(!s.shape)return;let c=e.shapeDrawers.get(s.shape);c&&(i.beginPath(),c.draw({context:i,particle:s,radius:a,opacity:o,delta:n,pixelRatio:e.retina.pixelRatio,transformData:{...l}}),s.shapeClose&&i.closePath(),r>0&&i.stroke(),s.shapeFill&&i.fill())})(b),function(t){let{container:e,context:i,particle:s,radius:a,opacity:o,delta:n,transformData:r}=t;if(!s.shape)return;let l=e.shapeDrawers.get(s.shape);l?.afterDraw&&l.afterDraw({context:i,particle:s,radius:a,opacity:o,delta:n,pixelRatio:e.retina.pixelRatio,transformData:{...r}})}(b),function(t){let{container:e,context:i,particle:s,radius:a,opacity:o,delta:n,transformData:r}=t;if(!s.effect)return;let l=e.effectDrawers.get(s.effect);l&&l.draw({context:i,particle:s,radius:a,opacity:o,delta:n,pixelRatio:e.retina.pixelRatio,transformData:{...r}})}(b),i.globalCompositeOperation="source-over",i.resetTransform()}({container:a,context:s,particle:t,delta:e,colorStyles:v,backgroundMask:r.backgroundMask.enable,composite:r.backgroundMask.composite,radius:i*c**l.sizeRate,opacity:p,shadow:t.options.shadow,transform:f}),this._applyPostDrawUpdaters(t)})}drawParticlePlugin(t,e,i){this.draw(s=>{t.drawParticle&&t.drawParticle(s,e,i)})}drawPlugin(t,e){this.draw(i=>{t.draw&&t.draw(i,e)})}
1async init(){this._safeMutationObserver(t=>t.disconnect()),this._mutationObserver=function(t){if(!tI()&&"undefined"!=typeof MutationObserver)return new MutationObserver(t)}(t=>{for(let e of t)"attributes"===e.type&&"style"===e.attributeName&&this._repairStyle()}),this.resize(),this._initStyle(),await this._initCover();try{await this._initTrail()}catch(t){tD.error(t)}this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})}),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){let t=this.container.actualOptions.background,e=this.element;if(!e)return;let i=e.style;if(i){if(t.color){let e=t1(this._engine,t.color);i.backgroundColor=e?t9(e,t.opacity):""}else i.backgroundColor="";i.backgroundImage=t.image||"",i.backgroundPosition=t.position||"",i.backgroundRepeat=t.repeat||"",i.backgroundSize=t.size||""}}initPlugins(){for(let t of(this._resizePlugins=[],this.container.plugins.values()))t.resize&&this._resizePlugins.push(t),(t.particleFillColor??t.particleStrokeColor)&&this._colorPlugins.push(t)}initUpdaters(){for(let t of(this._preDrawUpdaters=[],this._postDrawUpdaters=[],this.container.particles.updaters))t.afterDraw&&this._postDrawUpdaters.push(t),(t.getColorStyles??t.getTransformValues??t.beforeDraw)&&this._preDrawUpdaters.push(t)}loadCanvas(t){this._generated&&this.element&&this.element.remove(),this._generated=t.dataset&&N in t.dataset?"true"===t.dataset[N]:this._generated,this.element=t,this.element.ariaHidden="true",this._originalStyle=function(t){let e=document.createElement("div").style;if(!t)return e;for(let i in t){let s=t[i];if(!Object.prototype.hasOwnProperty.call(t,i)||tf(s))continue;let a=t.getPropertyValue?.(s);if(!a)continue;let o=t.getPropertyPriority?.(s);o?e.setProperty?.(s,a,o):e.setProperty?.(s,a)}return e}(this.element.style);let e=this._standardSize;e.height=t.offsetHeight,e.width=t.offsetWidth;let i=this.container.retina.pixelRatio,s=this.size;t.height=s.height=e.height*i,t.width=s.width=e.width*i,this._context=this.element.getContext("2d"),this._safeMutationObserver(t=>
1t.disconnect()),this.container.retina.init(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})})}paint(){let t=this.container.actualOptions;this.draw(e=>{t.backgroundMask.enable&&t.backgroundMask.cover?(el(e,this.size),this._coverImage?this._paintImage(this._coverImage.image,this._coverImage.opacity):this._coverColorStyle?this._paintBase(this._coverColorStyle):this._paintBase()):this._paintBase()})}resize(){if(!this.element)return!1;let t=this.container,e=t.canvas._standardSize,i={width:this.element.offsetWidth,height:this.element.offsetHeight},s=t.retina.pixelRatio,a={width:i.width*s,height:i.height*s};if(i.height===e.height&&i.width===e.width&&a.height===this.element.height&&a.width===this.element.width)return!1;let o={...e};e.height=i.height,e.width=i.width;let n=this.size;return this.element.width=n.width=a.width,this.element.height=n.height=a.height,this.container.started&&t.particles.setResizeFactor({width:e.width/o.width,height:e.height/o.height}),!0}setPointerEvents(t){this.element&&(this._pointerEvents=t,this._repairStyle())}stop(){this._safeMutationObserver(t=>t.disconnect()),this._mutationObserver=void 0,this.draw(t=>el(t,this.size))}async windowResize(){if(!this.element||!this.resize())return;let t=this.container,e=t.updateActualOptions();t.particles.setDensity(),this._applyResizePlugins(),e&&await t.refresh()}}function ed(t,e,i,s,a){if(s){let s={passive:!0};tc(a)?s.capture=a:void 0!==a&&(s=a),t.addEventListener(e,i,s)}else t.removeEventListener(e,i,a)}(I=d||(d={})).canvas="canvas",I.parent="parent",I.window="window";class eu{constructor(t){this.container=t,this._doMouseTouchClick=t=>{let e=this.container,i=e.actualOptions;if(this._canPush){let t=e.interactivity.mouse,s=t.position;if(!s)return;t.clickPosition={...s},t.clickTime=new Date().getTime(),t$(i.interactivity.events.onClick.mode,t=>this.container.handleClickMode(t))}"touchend"===t.type&&setTimeout(()=>this._mouseTouchFinish(),500)},this._handleThemeChange=t=>{let e=this.container,i=e.options,s=i.defaultThemes,a=t.matches?s.dark:s.light,o=i.themes.find(t=>t.name===a);o?.default.auto&&e.loadTheme(a)},this._handleVisibilityChange=()=>{let t=this.container,e=t.actualOptions;this._mouseTouchFinish(),e.pauseOnBlur&&(document?.hidden?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.animationStatus?t.play(!0):t.draw(!0)))},this._handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);let t=async()=>{let t=this.container.canvas;await t?.windowResize()};this._resizeTimeout=setTimeout(()=>void t(),this.container.actualOptions.interactivity.events.resize.delay*ti)},this._manageInteractivityListeners=(t,e)=>{let i=this._handlers,s=this.container,a=s.actualOptions,o=s.interactivity.element;if(!o)return;let n=s.canvas;n.setPointerEvents(o===n.element?"initial":"none"),(a.interactivity.events.onHover.enable||a.interactivity.events.onClick.enable)&&(ed(o,X,i.mouseMove,e),ed(o,"touchstart",i.touchStart,e),ed(o,"touchmove",i.touchMove,e),a.interactivity.events.onClick.enable?(ed(o,K,i.touchEndClick,e),ed(o,"pointerup",i.mouseUp,e),ed(o,"pointerdown",i.mouseDown,e)):ed(o,K,i.touchEnd,e),ed(o,t,i.mouseLeave,e),ed(o,"touchcancel",i.touchCancel,e))},this._manageListeners=t=>{let e=this._handlers,i=this.container,s=i.actualOptions.interactivity.detectsOn,a=i.canvas.element,o=Q;s===d.window?(i.interactivity.element=window,o="pointerout"):s===d.parent&&a?i.interactivity.element=a.parentElement??a.parentNode:i.interactivity.element=a,this._manageMediaMatch(t),this._manageResize(t),this._manageInteractivityListeners(o,t),document&&ed(document,"visibilitychange",e.visibilityChange,t,!1)},this._manageMediaMatch=t=>{let e=this._handlers,i=tV("(prefers-color-scheme: dark)");i&&(void 0!==i.addEventListener?ed(i,"change",e.themeChange,t):void 0!==i.addListener&&(t?i.addListener(e.oldThemeChange):i.removeListener(e.oldThemeChange)))},this._manageResize=t=>{let e=this._handlers,i=this.container;if(!i.actualOptions.interactivity.events.resize)return;if("undefined"==typeof ResizeObserver)return void ed(window,"resize",e.resize,t);let s=i.canvas.element;this._resizeObserver&&!t?(s&&this._resizeObserver.unobserve(s),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&t&&s&&(this._resizeObserver=new ResizeObserver(t=>{t.find(t=>t.target===s)&&this._handleWindowResize()}),this._resizeObserver.observe(s))},this._mouseDown=()=>{let{interactivity:t}=this.container;if(!t)return;let{mouse:e}=t;e.clicking=!0,e.downPosition=e.position},this._mouseTouchClick=t=>{let e=this.container,i=e.actualOptions,{mouse:s}=e.interactivity;s.inside=!0;let a=!1,o=s.position;if(o&&i.interactivity.events.onClick.enable){for(let t of e.plugins.values())if(t.clickPositionValid&&
1(a=t.clickPositionValid(o)))break;a||this._doMouseTouchClick(t),s.clicking=!1}},this._mouseTouchFinish=()=>{let t=this.container.interactivity;if(!t)return;let e=t.mouse;delete e.position,delete e.clickPosition,delete e.downPosition,t.status=Q,e.inside=!1,e.clicking=!1},this._mouseTouchMove=t=>{let e,i=this.container,s=i.actualOptions,a=i.interactivity,o=i.canvas.element;if(!a?.element)return;if(a.mouse.inside=!0,t.type.startsWith("pointer"))if(this._canPush=!0,a.element===window){if(o){let i=o.getBoundingClientRect();e={x:t.clientX-i.left,y:t.clientY-i.top}}}else if(s.interactivity.detectsOn===d.parent){let i=t.target,s=t.currentTarget;if(i&&s&&o){let a=i.getBoundingClientRect(),n=s.getBoundingClientRect(),r=o.getBoundingClientRect();e={x:t.offsetX+2*a.left-(n.left+r.left),y:t.offsetY+2*a.top-(n.top+r.top)}}else e={x:t.offsetX??t.clientX,y:t.offsetY??t.clientY}}else t.target===o&&(e={x:t.offsetX??t.clientX,y:t.offsetY??t.clientY});else if(this._canPush="touchmove"!==t.type,o){let i=t.touches[t.touches.length-1],s=o.getBoundingClientRect();e={x:i.clientX-(s.left??0),y:i.clientY-(s.top??0)}}let n=i.retina.pixelRatio;e&&(e.x*=n,e.y*=n),a.mouse.position=e,a.status=X},this._touchEnd=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchFinish()},this._touchEndClick=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchClick(t)},this._touchStart=t=>{for(let e of Array.from(t.changedTouches))this._touches.set(e.identifier,performance.now());this._mouseTouchMove(t)},this._canPush=!0,this._touches=new Map,this._handlers={mouseDown:()=>this._mouseDown(),mouseLeave:()=>this._mouseTouchFinish(),mouseMove:t=>this._mouseTouchMove(t),mouseUp:t=>this._mouseTouchClick(t),touchStart:t=>this._touchStart(t),touchMove:t=>this._mouseTouchMove(t),touchEnd:t=>this._touchEnd(t),touchCancel:t=>this._touchEnd(t),touchEndClick:t=>this._touchEndClick(t),visibilityChange:()=>this._handleVisibilityChange(),themeChange:t=>this._handleThemeChange(t),oldThemeChange:t=>this._handleThemeChange(t),resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}}(V=u||(u={})).configAdded="configAdded",V.containerInit="containerInit",V.particlesSetup="particlesSetup",V.containerStarted="containerStarted",V.containerStopped="containerStopped",V.containerDestroyed="containerDestroyed",V.containerPaused="containerPaused",V.containerPlay="containerPlay",V.containerBuilt="containerBuilt",V.particleAdded="particleAdded",V.particleDestroyed="particleDestroyed",V.particleRemoved="particleRemoved";class ep{constructor(){this.value=""}static create(t,e){let i=new ep;return i.load(t),void 0!==e&&(th(e)||tp(e)?i.load({value:e}):i.load(e)),i}load(t){!tf(t)&&(tf(t.value)||(this.value=t.value))}}class ef{constructor(){this.color=new ep,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(t){tf(t)||(void 0!==t.color&&(this.color=ep.create(this.color,t.color)),void 0!==t.image&&(this.image=t.image),void 0!==t.position&&(this.position=t.position),void 0!==t.repeat&&(this.repeat=t.repeat),void 0!==t.size&&(this.size=t.size),void 0!==t.opacity&&(this.opacity=t.opacity))}}class ev{constructor(){this.opacity=1}load(t){tf(t)||(void 0!==t.color&&(this.color=ep.create(this.color,t.color)),void 0!==t.image&&(this.image=t.image),void 0!==t.opacity&&(this.opacity=t.opacity))}}class eg{constructor(){this.composite="destination-out",this.cover=new ev,this.enable=!1}load(t){if(!tf(t)){if(void 0!==t.composite&&(this.composite=t.composite),void 0!==t.cover){let e=t.cover,i=th(t.cover)?{color:t.cover}:t.cover;this.cover.load(void 0!==e.color||void 0!==e.image?e:{color:i})}void 0!==t.enable&&(this.enable=t.enable)}}}class ey{constructor(){this.enable=!0,this.zIndex=0}load(t){tf(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.zIndex&&(this.zIndex=t.zIndex))}}class em{constructor(){this.enable=!1,this.mode=[]}load(t){tf(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode))}}(A=p||(p={})).circle="circle",A.rectangle="rectangle";class eb{constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=p.circle}load(t){tf(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.t
1ype=t.type))}}class ew{constructor(){this.enable=!1,this.force=2,this.smooth=10}load(t){tf(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.force&&(this.force=t.force),void 0!==t.smooth&&(this.smooth=t.smooth))}}class ex{constructor(){this.enable=!1,this.mode=[],this.parallax=new ew}load(t){tf(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),this.parallax.load(t.parallax))}}class e_{constructor(){this.delay=.5,this.enable=!0}load(t){tf(t)||(void 0!==t.delay&&(this.delay=t.delay),void 0!==t.enable&&(this.enable=t.enable))}}class ek{constructor(){this.onClick=new em,this.onDiv=new eb,this.onHover=new ex,this.resize=new e_}load(t){if(tf(t))return;this.onClick.load(t.onClick);let e=t.onDiv;void 0!==e&&(this.onDiv=t$(e,t=>{let e=new eb;return e.load(t),e})),this.onHover.load(t.onHover),this.resize.load(t.resize)}}class ez{constructor(t,e){this._engine=t,this._container=e}load(t){if(tf(t)||!this._container)return;let e=this._engine.interactors.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}class eM{constructor(t,e){this.detectsOn=d.window,this.events=new ek,this.modes=new ez(t,e)}load(t){if(tf(t))return;let e=t.detectsOn;void 0!==e&&(this.detectsOn=e),this.events.load(t.events),this.modes.load(t.modes)}}class eC{load(t){!tf(t)&&(t.position&&(this.position={x:t.position.x??50,y:t.position.y??50,mode:t.position.mode??l.percent}),t.options&&(this.options=tU({},t.options)))}}(L=f||(f={})).screen="screen",L.canvas="canvas";class eP{constructor(){this.maxWidth=1/0,this.options={},this.mode=f.canvas}load(t){!tf(t)&&(tf(t.maxWidth)||(this.maxWidth=t.maxWidth),tf(t.mode)||(t.mode===f.screen?this.mode=f.screen:this.mode=f.canvas),tf(t.options)||(this.options=tU({},t.options)))}}(F=v||(v={})).any="any",F.dark="dark",F.light="light";class eT{constructor(){this.auto=!1,this.mode=v.any,this.value=!1}load(t){tf(t)||(void 0!==t.auto&&(this.auto=t.auto),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.value&&(this.value=t.value))}}class eO{constructor(){this.name="",this.default=new eT}load(t){tf(t)||(void 0!==t.name&&(this.name=t.name),this.default.load(t.default),void 0!==t.options&&(this.options=tU({},t.options)))}}class eS{constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.delay=0,this.sync=!1}load(t){tf(t)||(void 0!==t.count&&(this.count=tM(t.count)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=tM(t.speed)),void 0!==t.decay&&(this.decay=tM(t.decay)),void 0!==t.delay&&(this.delay=tM(t.delay)),void 0!==t.sync&&(this.sync=t.sync))}}class eD extends eS{constructor(){super(),this.mode=a.auto,this.startValue=c.random}load(t){super.load(t),tf(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.startValue&&(this.startValue=t.startValue))}}class eR extends eS{constructor(){super(),this.offset=0,this.sync=!0}load(t){super.load(t),tf(t)||void 0!==t.offset&&(this.offset=tM(t.offset))}}class eE{constructor(){this.h=new eR,this.s=new eR,this.l=new eR}load(t){tf(t)||(this.h.load(t.h),this.s.load(t.s),this.l.load(t.l))}}class eI extends ep{constructor(){super(),this.animation=new eE}static create(t,e){let i=new eI;return i.load(t),void 0!==e&&(th(e)||tp(e)?i.load({value:e}):i.load(e)),i}load(t){if(super.load(t),tf(t))return;let e=t.animation;void 0!==e&&(void 0!==e.enable?this.animation.h.load(e):this.animation.load(t.animation))}}(B=g||(g={})).absorb="absorb",B.bounce="bounce",B.destroy="destroy";class eV{constructor(){this.speed=2}load(t){tf(t)||void 0!==t.speed&&(this.speed=t.speed)}}class eA{constructor(){this.enable=!0,this.retries=0}load(t){tf(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.retries&&(this.retries=t.retries))}}class eL{constructor(){this.value=0}load(t){!tf(t)&&(tf(t.value)||(this.value=tM(t.value)))}}class eF extends eL{constructor(){super(),this.animation=new eS}load(t){if(super.load(t),tf(t))return;let e=t.animation;void 0!==e&&this.animation.load(e)}}class eB extends eF{constructor(){super(),this.animation=new eD}load(t){super.load(t)}}class eq extends eL{constructor(){super(),this.value=1}}class eU{constructor(){this.horizontal=new eq,this.vertical=new eq}load(t){tf(t)||(this.horizontal.load(t.horizontal),this.vertical.load(t.vertical))}}class eG{constructor(){this.absorb=new eV,this.bounce=new eU,this.enable=!1,this.maxSpeed=50,this.mode=g.bounce,this.overlap=new eA}load(t){tf(t)||(this.absorb.load(t.absorb),this.bounce.load(t.bounce),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.maxSpeed&&(this.maxSpeed=tM(t.maxSpeed)),void 0!==t.mode&&(this.mode=t.mode),this.overlap.load(t.overlap))}}class ej{constructor(){this.close=!0,this.fill=!0,this.options={},this.type=[]}load(t){if(tf(t))return;let e=t.options;if(void 0!==e)for(let t in e){let i=e[t];i&&(this.options[t]=tU(this.options[t]??{},i))}void 0!==t.close&&(this.close=t.close),void 0!==t.fill&&(this.fill=t.fill),void 0!==t.type&&(this.t
1ype=t.type)}}class eH{constructor(){this.offset=0,this.value=90}load(t){tf(t)||(void 0!==t.offset&&(this.offset=tM(t.offset)),void 0!==t.value&&(this.value=tM(t.value)))}}class eW{constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}load(t){if(!tf(t)&&(void 0!==t.distance&&(this.distance=tM(t.distance)),void 0!==t.enable&&(this.enable=t.enable),t.rotate)){let e=t.rotate.x;void 0!==e&&(this.rotate.x=e);let i=t.rotate.y;void 0!==i&&(this.rotate.y=i)}}}class eY{constructor(){this.x=50,this.y=50,this.mode=l.percent,this.radius=0}load(t){tf(t)||(void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.radius&&(this.radius=t.radius))}}class eJ{constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(t){tf(t)||(void 0!==t.acceleration&&(this.acceleration=tM(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.inverse&&(this.inverse=t.inverse),void 0!==t.maxSpeed&&(this.maxSpeed=tM(t.maxSpeed)))}}class e${constructor(){this.clamp=!0,this.delay=new eL,this.enable=!1,this.options={}}load(t){!tf(t)&&(void 0!==t.clamp&&(this.clamp=t.clamp),this.delay.load(t.delay),void 0!==t.enable&&(this.enable=t.enable),this.generator=t.generator,t.options&&(this.options=tU(this.options,t.options)))}}class eZ{load(t){tf(t)||(void 0!==t.color&&(this.color=ep.create(this.color,t.color)),void 0!==t.image&&(this.image=t.image))}}class eN{constructor(){this.enable=!1,this.length=10,this.fill=new eZ}load(t){tf(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.fill&&this.fill.load(t.fill),void 0!==t.length&&(this.length=t.length))}}(q=y||(y={})).bounce="bounce",q.none="none",q.out="out",q.destroy="destroy",q.split="split";class eQ{constructor(){this.default=y.out}load(t){tf(t)||(void 0!==t.default&&(this.default=t.default),this.bottom=t.bottom??t.default,this.left=t.left??t.default,this.right=t.right??t.default,this.top=t.top??t.default)}}class eX{constructor(){this.acceleration=0,this.enable=!1}load(t){!tf(t)&&(void 0!==t.acceleration&&(this.acceleration=tM(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),t.position&&(this.position=tU({},t.position)))}}class eK{constructor(){this.angle=new eH,this.attract=new eW,this.center=new eY,this.decay=0,this.distance={},this.direction=s.none,this.drift=0,this.enable=!1,this.gravity=new eJ,this.path=new e$,this.outModes=new eQ,this.random=!1,this.size=!1,this.speed=2,this.spin=new eX,this.straight=!1,this.trail=new eN,this.vibrate=!1,this.warp=!1}load(t){if(tf(t))return;this.angle.load(td(t.angle)?{value:t.angle}:t.angle),this.attract.load(t.attract),this.center.load(t.center),void 0!==t.decay&&(this.decay=tM(t.decay)),void 0!==t.direction&&(this.direction=t.direction),void 0!==t.distance&&(this.distance=td(t.distance)?{horizontal:t.distance,vertical:t.distance}:{...t.distance}),void 0!==t.drift&&(this.drift=tM(t.drift)),void 0!==t.enable&&(this.enable=t.enable),this.gravity.load(t.gravity);let e=t.outModes;void 0!==e&&(tu(e)?this.outModes.load(e):this.outModes.load({default:e})),this.path.load(t.path),void 0!==t.random&&(this.random=t.random),void 0!==t.size&&(this.size=t.size),void 0!==t.speed&&(this.speed=tM(t.speed)),this.spin.load(t.spin),void 0!==t.straight&&(this.straight=t.straight),this.trail.load(t.trail),void 0!==t.vibrate&&(this.vibrate=t.vibrate),void 0!==t.warp&&(this.warp=t.warp)}}class e0 extends eD{constructor(){super(),this.destroy=n.none,this.speed=2}load(t){super.load(t),tf(t)||void 0!==t.destroy&&(this.destroy=t.destroy)}}class e1 extends eB{constructor(){super(),this.animation=new e0,this.value=1}load(t){if(tf(t))return;super.load(t);let e=t.animation;void 0!==e&&this.animation.load(e)}}class e2{constructor(){this.enable=!1,this.width=1920,this.height=1080}load(t){if(tf(t))return;void 0!==t.enable&&(this.enable=t.enable);let e=t.width;void 0!==e&&(this.width=e);let i=t.height;void 0!==i&&(this.height=i)}}(U=m||(m={})).delete="delete",U.wait="wait";class e5{constructor(){this.mode=m.delete,this.value=0}load(t){tf(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.value&&(this.value=t.value))}}class e3{constructor(){this.density=new e2,this.limit=new e5,this.value=0}load(t){tf(t)||(this.density.load(t.density),this.limit.load(t.limit),void 0!==t.value&&(this.value=t.value))}}class e4{constructor(){this.blur=0,this.color=new ep,this.enable=!1,this.offset={x:0,y:0},this.color.value="#000"}load(t){tf(t)||(void 0!==t.blur&&(this.blur=t.blur),this.color=ep.create(this.color,t.color),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.offset&&(void 0!==t.offset.x&&(this.offset.x=t.offset.x),void 0!==t.offset.y&&(this.offset.y=t.offset.y)))}}class e6{constructor(){this.close=!0,this.fill=!0,this.options={},this.type="circle"}load(t){if(tf(t))return;let e=t.options;if(void 0!==e)for(let t in e){let i=e[t];i&&(this.options[t]=tU(this.options[t]??{},i))}void 0!==t.close&&(this.close=t.close),void 0!==t.fill&&(this.fill=t.fill),void 0!==t.type&&(this.t
1ype=t.type)}}class e9 extends eD{constructor(){super(),this.destroy=n.none,this.speed=5}load(t){super.load(t),tf(t)||void 0!==t.destroy&&(this.destroy=t.destroy)}}class e8 extends eB{constructor(){super(),this.animation=new e9,this.value=3}load(t){if(super.load(t),tf(t))return;let e=t.animation;void 0!==e&&this.animation.load(e)}}class e7{constructor(){this.width=0}load(t){tf(t)||(void 0!==t.color&&(this.color=eI.create(this.color,t.color)),void 0!==t.width&&(this.width=tM(t.width)),void 0!==t.opacity&&(this.opacity=tM(t.opacity)))}}class it extends eL{constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(t){super.load(t),tf(t)||(void 0!==t.opacityRate&&(this.opacityRate=t.opacityRate),void 0!==t.sizeRate&&(this.sizeRate=t.sizeRate),void 0!==t.velocityRate&&(this.velocityRate=t.velocityRate))}}class ie{constructor(t,e){this._engine=t,this._container=e,this.bounce=new eU,this.collisions=new eG,this.color=new eI,this.color.value="#fff",this.effect=new ej,this.groups={},this.move=new eK,this.number=new e3,this.opacity=new e1,this.reduceDuplicates=!1,this.shadow=new e4,this.shape=new e6,this.size=new e8,this.stroke=new e7,this.zIndex=new it}load(t){if(tf(t))return;if(void 0!==t.groups)for(let e of Object.keys(t.groups)){if(!Object.hasOwn(t.groups,e))continue;let i=t.groups[e];void 0!==i&&(this.groups[e]=tU(this.groups[e]??{},i))}void 0!==t.reduceDuplicates&&(this.reduceDuplicates=t.reduceDuplicates),this.bounce.load(t.bounce),this.color.load(eI.create(this.color,t.color)),this.effect.load(t.effect),this.move.load(t.move),this.number.load(t.number),this.opacity.load(t.opacity),this.shape.load(t.shape),this.size.load(t.size),this.shadow.load(t.shadow),this.zIndex.load(t.zIndex),this.collisions.load(t.collisions),void 0!==t.interactivity&&(this.interactivity=tU({},t.interactivity));let e=t.stroke;if(e&&(this.stroke=t$(e,t=>{let e=new e7;return e.load(t),e})),this._container){let e=this._engine.updaters.get(this._container);if(e)for(let i of e)i.loadOptions&&i.loadOptions(this,t);let i=this._engine.interactors.get(this._container);if(i)for(let e of i)e.loadParticlesOptions&&e.loadParticlesOptions(this,t)}}}function ii(t,...e){for(let i of e)t.load(i)}function is(t,e,...i){let s=new ie(t,e);return ii(s,...i),s}class ia{constructor(t,e){this._findDefaultTheme=t=>this.themes.find(e=>e.default.value&&e.default.mode===t)??this.themes.find(t=>t.default.value&&t.default.mode===v.any),this._importPreset=t=>{this.load(this._engine.getPreset(t))},this._engine=t,this._container=e,this.autoPlay=!0,this.background=new ef,this.backgroundMask=new eg,this.clear=!0,this.defaultThemes={},this.delay=0,this.fullScreen=new ey,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.interactivity=new eM(t,e),this.manualParticles=[],this.particles=is(this._engine,this._container),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.responsive=[],this.smooth=!1,this.style={},this.themes=[],this.zLayers=100}load(t){if(tf(t))return;void 0!==t.preset&&t$(t.preset,t=>this._importPreset(t)),void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.clear&&(this.clear=t.clear),void 0!==t.key&&(this.key=t.key),void 0!==t.name&&(this.name=t.name),void 0!==t.delay&&(this.delay=tM(t.delay));let e=t.detectRetina;void 0!==e&&(this.detectRetina=e),void 0!==t.duration&&(this.duration=tM(t.duration));let i=t.fpsLimit;void 0!==i&&(this.fpsLimit=i),void 0!==t.pauseOnBlur&&(this.pauseOnBlur=t.pauseOnBlur),void 0!==t.pauseOnOutsideViewport&&(this.pauseOnOutsideViewport=t.pauseOnOutsideViewport),void 0!==t.zLayers&&(this.zLayers=t.zLayers),this.background.load(t.background);let s=t.fullScreen;tc(s)?this.fullScreen.enable=s:this.fullScreen.load(s),this.backgroundMask.load(t.backgroundMask),this.interactivity.load(t.interactivity),t.manualParticles&&(this.manualParticles=t.manualParticles.map(t=>{let e=new eC;return e.load(t),e})),this.particles.load(t.particles),this.style=tU(this.style,t.style),this._engine.loadOptions(this,t),void 0!==t.smooth&&(this.smooth=t.smooth);let a=this._engine.interactors.get(this._container);if(a)for(let e of a)e.loadOptions&&e.loadOptions(this,t);if(void 0!==t.responsive)for(let e of t.responsive){let t=new eP;t.load(e),this.responsive.push(t)}if(this.responsive.sort((t,e)=>t.maxWidth-e.maxWidth),void 0!==t.themes)for(let e of t.themes){let t=this.themes.find(t=>t.name===e.name);if(t)t.load(e);else{let t=new eO;t.load(e),this.themes.push(t)}}this.defaultThemes.dark=this._findDefaultTheme(v.dark)?.name,this.defaultThemes.light=this._findDefaultTheme(v.light)?.name}setResponsive(t,e,i){this.load(i);let s=this.responsive.find(i=>i.mode===f.screen&&screen?i.maxWidth>
1screen.availWidth:i.maxWidth*e>t);return this.load(s?.options),s?.maxWidth}setTheme(t){if(t){let e=this.themes.find(e=>e.name===t);e&&this.load(e.options)}else{let t=tV("(prefers-color-scheme: dark)"),e=t?.matches,i=this._findDefaultTheme(e?v.dark:v.light);i&&this.load(i.options)}}}(G=b||(b={})).external="external",G.particles="particles";class io{constructor(t,e){this.container=e,this._engine=t,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[]}externalInteract(t){for(let e of this._externalInteractors)e.isEnabled()&&e.interact(t)}handleClickMode(t){for(let e of this._externalInteractors)e.handleClickMode?.(t)}async init(){for(let t of(this._interactors=await this._engine.getInteractors(this.container,!0),this._externalInteractors=[],this._particleInteractors=[],this._interactors)){switch(t.type){case b.external:this._externalInteractors.push(t);break;case b.particles:this._particleInteractors.push(t)}t.init()}}particlesInteract(t,e){for(let i of this._externalInteractors)i.clear(t,e);for(let i of this._particleInteractors)i.isEnabled(t)&&i.interact(t,e)}reset(t){for(let e of this._externalInteractors)e.isEnabled()&&e.reset(t);for(let e of this._particleInteractors)e.isEnabled(t)&&e.reset(t)}}function ir(t){if(!tA(t.outMode,t.checkModes))return;let e=2*t.radius;t.coord>t.maxCoord-e?t.setCb(-t.radius):t.coord<e&&t.setCb(t.radius)}(j=w||(w={})).normal="normal",j.inside="inside",j.outside="outside";class il{constructor(t,e){this.container=e,this._calcPosition=(t,e,i,s=tl)=>{var a;for(let s of t.plugins.values()){let t=void 0!==s.particlePosition?s.particlePosition(e,this):void 0;if(t)return tv.create(t.x,t.y,i)}let o=(a={size:t.canvas.size,position:e},{x:a.position?.x??tm()*a.size.width,y:a.position?.y??tm()*a.size.height}),n=tv.create(o.x,o.y,i),r=this.getRadius(),l=this.options.move.outModes,c=e=>{ir({outMode:e,checkModes:[y.bounce],coord:n.x,maxCoord:t.canvas.size.width,setCb:t=>n.x+=t,radius:r})},h=e=>{ir({outMode:e,checkModes:[y.bounce],coord:n.y,maxCoord:t.canvas.size.height,setCb:t=>n.y+=t,radius:r})};return(c(l.left??l.default),c(l.right??l.default),h(l.top??l.default),h(l.bottom??l.default),this._checkOverlap(n,s))?this._calcPosition(t,void 0,i,s+1):n},this._calculateVelocity=()=>{var t;let e,i=(t=this.direction,(e=tg.origin).length=1,e.angle=t,e).copy(),a=this.options.move;if(a.direction===s.inside||a.direction===s.outside)return i;let o=tT(t_(a.angle.value)),n=tT(t_(a.angle.offset)),r={left:n-.5*o,right:n+.5*o};return a.straight||(i.angle+=tx(tM(r.left,r.right))),a.random&&"number"==typeof a.speed&&(i.length*=tm()),i},this._checkOverlap=(t,e=tl)=>{let i=this.options.collisions,s=this.getRadius();if(!i.enable)return!1;let a=i.overlap;if(a.enable)return!1;let o=a.retries;if(o>=0&&e>o)throw Error(`${tt} particle is overlapping and can't be placed`);return!!this.container.particles.find(e=>tP(t,e.position)<s+e.getRadius())},this._getRollColor=t=>{if(!t||!this.roll||!this.backColor&&!this.roll.alter)return t;let e=this.roll.horizontal&&this.roll.vertical?2:1,i=this.roll.horizontal?.5*Math.PI:0;if(!(Math.floor(((this.roll.angle??0)+i)/(Math.PI/e))%2))return t;if(this.backColor)return this.backColor;if(this.roll.alter){var s,a;return s=this.roll.alter.type,a=this.roll.alter.value,{h:t.h,s:t.s,l:t.l+(s===h.darken?-1:1)*a}}return t},this._initPosition=t=>{let e=this.container,i=t_(this.options.zIndex.value);this.position=this._calcPosition(e,t,tb(i,0,e.zLayers)),this.initialPosition=this.position.copy();let a=e.canvas.size;switch(this.moveCenter={...tX(this.options.move.center,a),radius:this.options.move.center.radius??0,mode:this.options.move.center.mode??l.percent},this.direction=function(t,e,i){if(td(t))return tT(t);switch(t){case s.top:return-(.5*Math.PI);case s.topRight:return-(.25*Math.PI);case s.right:return 0;case s.bottomRight:return .25*Math.PI;case s.bottom:return .5*Math.PI;case s.bottomLeft:return .75*Math.PI;case s.left:return Math.PI;case s.topLeft:return-(.75*Math.PI);case s.inside:return Math.atan2(i.y-e.y,i.x-e.x);case s.outside:return Math.atan2(e.y-i.y,e.x-i.x);default:return tm()*ta}
1}(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case s.inside:this.outType=w.inside;break;case s.outside:this.outType=w.outside}this.offset=tg.origin},this._engine=t}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;let e=this.container,i=this.pathGenerator,s=e.shapeDrawers.get(this.shape);for(let i of(s?.particleDestroy?.(this),e.plugins.values()))i.particleDestroyed?.(this,t);for(let i of e.particles.updaters)i.particleDestroyed?.(this,t);i?.reset(this),this._engine.dispatchEvent(u.particleDestroyed,{container:this.container,data:{particle:this}})}draw(t){let e=this.container,i=e.canvas;for(let s of e.plugins.values())i.drawParticlePlugin(s,this,t);i.drawParticle(this,t)}getFillColor(){return this._getRollColor(this.bubble.color??ei(this.color))}getMass(){return this.getRadius()**2*Math.PI*.5}getPosition(){return{x:this.position.x+this.offset.x,y:this.position.y+this.offset.y,z:this.position.z}}getRadius(){return this.bubble.radius??this.size.value}getStrokeColor(){return this._getRollColor(this.bubble.color??ei(this.strokeColor))}init(t,e,i,s){let a=this.container,o=this._engine;this.id=t,this.group=s,this.effectClose=!0,this.effectFill=!0,this.shapeClose=!0,this.shapeFill=!0,this.pathRotation=!1,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.isRotating=!1,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType=w.normal,this.ignoresResizeRatio=!0;let n=a.retina.pixelRatio,r=a.actualOptions,l=is(this._engine,a,r.particles),{reduceDuplicates:c}=l,h=l.effect.type,d=l.shape.type;this.effect=tZ(h,this.id,c),this.shape=tZ(d,this.id,c);let u=l.effect,p=l.shape;if(i){if(i.effect?.type){let t=tZ(i.effect.type,this.id,c);t&&(this.effect=t,u.load(i.effect))}if(i.shape?.type){let t=tZ(i.shape.type,this.id,c);t&&(this.shape=t,p.load(i.shape))}}if(this.effect===ts){let t=[...this.container.effectDrawers.keys()];this.effect=t[Math.floor(tm()*t.length)]}if(this.shape===ts){let t=[...this.container.shapeDrawers.keys()];this.shape=t[Math.floor(tm()*t.length)]}this.effectData=function(t,e,i,s){let a=e.options[t];if(a)return tU({close:e.close,fill:e.fill},tZ(a,i,s))}(this.effect,u,this.id,c),this.shapeData=function(t,e,i,s){let a=e.options[t];if(a)return tU({close:e.close,fill:e.fill},tZ(a,i,s))}(this.shape,p,this.id,c),l.load(i);let f=this.effectData;f&&l.load(f.particles);let v=this.shapeData;v&&l.load(v.particles);let g=new eM(o,a);g.load(a.actualOptions.interactivity),g.load(l.interactivity),this.interactivity=g,this.effectFill=f?.fill??l.effect.fill,this.effectClose=f?.close??l.effect.close,this.shapeFill=v?.fill??l.shape.fill,this.shapeClose=v?.close??l.shape.close,this.options=l;let y=this.options.move.path;this.pathDelay=t_(y.delay.value)*ti,y.generator&&(this.pathGenerator=this._engine.getPathGenerator(y.generator),this.pathGenerator&&a.addPath(y.generator,this.pathGenerator)&&this.pathGenerator.init(a)),a.retina.initParticle(this),this.size=tQ(this.options.size,n),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(e),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=1-t_(this.options.move.decay);let m=a.particles;m.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/a.zLayers,this.sides=24;let b=a.effectDrawers.get(this.effect);!b&&(b=this._engine.getEffectDrawer(this.effect))&&a.effectDrawers.set(this.effect,b),b?.loadEffect&&b.loadEffect(this);let x=a.shapeDrawers.get(this.shape);!x&&(x=this._engine.getShapeDrawer(this.shape))&&a.shapeDrawers.set(this.shape,x),x?.loadShape&&x.loadShape(this);let _=x?.getSidesCount;for(let t of(_&&(this.sides=_(this)),this.spawning=!1,this.shadowColor=t1(this._engine,this.options.shadow.color),m.updaters))t.init(this);for(let t of m.movers)t.init?.(this);for(let t of(b?.particleInit?.(a,this),x?.particleInit?.(a,this),a.plugins.values()))t.particleCreated?.(this)}isInsideCanvas(){let t=this.getRadius(),e=this.container.canvas.size,i=this.position;return i.x>=-t&&i.y>=-t&&i.y<=e.height+t&&i.x<=e.width+t}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(let t of this.container.particles.updaters)t.reset?.(this)}}class ic{constructor(t,e){this.position=t,this.particle=e}}(H=x||(x={})).circle="circle",H.rectangle="rectangle";class ih{constructor(t,e,i){this.position={x:t,y:e},this.type=i}}
1class id extends ih{constructor(t,e,i){super(t,e,x.circle),this.radius=i}contains(t){return tP(t,this.position)<=this.radius}intersects(t){let e=this.position,i=t.position,s={x:Math.abs(i.x-e.x),y:Math.abs(i.y-e.y)},a=this.radius;if(t instanceof id||t.type===x.circle)return a+t.radius>Math.sqrt(s.x**2+s.y**2);if(t instanceof iu||t.type===x.rectangle){let{width:e,height:i}=t.size;return Math.pow(s.x-e,2)+Math.pow(s.y-i,2)<=a**2||s.x<=a+e&&s.y<=a+i||s.x<=e||s.y<=i}return!1}}class iu extends ih{constructor(t,e,i,s){super(t,e,x.rectangle),this.size={height:s,width:i}}contains(t){let e=this.size.width,i=this.size.height,s=this.position;return t.x>=s.x&&t.x<=s.x+e&&t.y>=s.y&&t.y<=s.y+i}intersects(t){if(t instanceof id)return t.intersects(this);let e=this.size.width,i=this.size.height,s=this.position,a=t.position,o=t instanceof iu?t.size:{width:0,height:0},n=o.width,r=o.height;return a.x<s.x+e&&a.x+n>s.x&&a.y<s.y+i&&a.y+r>s.y}}class ip{constructor(t,e){this.rectangle=t,this.capacity=e,this._subdivide=()=>{let{x:t,y:e}=this.rectangle.position,{width:i,height:s}=this.rectangle.size,{capacity:a}=this;for(let o=0;o<4;o++){let n=o%2;this._subs.push(new ip(new iu(t+.5*i*n,e+.5*s*(Math.round(.5*o)-n),.5*i,.5*s),a))}this._divided=!0},this._points=[],this._divided=!1,this._subs=[]}insert(t){return!!this.rectangle.contains(t.position)&&(this._points.length<this.capacity?(this._points.push(t),!0):(this._divided||this._subdivide(),this._subs.some(e=>e.insert(t))))}query(t,e){let i=[];if(!t.intersects(this.rectangle))return[];for(let s of this._points)!t.contains(s.position)&&tP(t.position,s.position)>s.particle.getRadius()&&(!e||e(s.particle))||i.push(s.particle);if(this._divided)for(let s of this._subs)i.push(...s.query(t,e));return i}queryCircle(t,e,i){return this.query(new id(t.x,t.y,e),i)}queryRectangle(t,e,i){return this.query(new iu(t.x,t.y,e.width,e.height),i)}}let iv=t=>{let{height:e,width:i}=t;return new iu(-.25*i,-.25*e,1.5*i,1.5*e)};class ig{constructor(t,e){this._addToPool=(...t)=>{this._pool.push(...t)},this._applyDensity=(t,e,i,s)=>{let a=t.number;if(!t.number.density?.enable)return void(void 0===i?this._limit=a.limit.value:(s?.number.limit?.value??a.limit.value)&&this._groupLimits.set(i,s?.number.limit?.value??a.limit.value));let o=this._initDensityFactor(a.density),n=a.value,r=a.limit.value>0?a.limit.value:n,l=Math.min(n,r)*o+e,c=Math.min(this.count,this.filter(t=>t.group===i).length);void 0===i?this._limit=a.limit.value*o:this._groupLimits.set(i,a.limit.value*o),c<l?this.push(Math.abs(l-c),void 0,t,i):c>l&&this.removeQuantity(c-l,i)},this._initDensityFactor=t=>{let e=this._container;if(!e.canvas.element||!t.enable)return 1;let i=e.canvas.element,s=e.retina.pixelRatio;return i.width*i.height/(t.height*t.width*s**2)},this._pushParticle=(t,e,i,s)=>{try{let a=this._pool.pop();a||(a=new il(this._engine,this._container)),a.init(this._nextId,t,e,i);let o=!0;if(s&&(o=s(a)),!o)return;return this._array.push(a),this._zArray.push(a),this._nextId++,this._engine.dispatchEvent(u.particleAdded,{container:this._container,data:{particle:a}}),a}catch(t){tD.warning(`${tt} adding particle: ${t}`)}},this._removeParticle=(t,e,i)=>{let s=this._array[t];if(!s||s.group!==e)return!1;let a=this._zArray.indexOf(s);return this._array.splice(t,1),this._zArray.splice(a,1),s.destroy(i),this._engine.dispatchEvent(u.particleRemoved,{container:this._container,data:{particle:s}}),this._addToPool(s),!0},this._engine=t,this._container=e,this._nextId=0,this._array=[],this._zArray=[],this._pool=[],this._limit=0,this._groupLimits=new Map,this._needsSort=!1,this._lastZIndex=0,this._interactionManager=new io(t,e),this._pluginsInitialized=!1;const i=e.canvas.size;this.quadTree=new ip(iv(i),4),this.movers=[],this.updaters=[]}get count(){return this._array.length}addManualParticles(){let t=this._container;t.actualOptions.manualParticles.forEach(e=>this.addParticle(e.position?tX(e.position,t.canvas.size):void 0,e.options))}addParticle(t,e,i,s){let a=this._container.actualOptions.particles.number.limit.mode,o=void 0===i?this._limit:this._groupLimits.get(i)??this._limit,n=this.count;if(o>0)switch(a){case m.delete:{let t=n+1-o;t>0&&this.removeQuantity(t);break}
1case m.wait:if(n>=o)return}return this._pushParticle(t,e,i,s)}clear(){this._array=[],this._zArray=[],this._pluginsInitialized=!1}destroy(){this._array=[],this._zArray=[],this.movers=[],this.updaters=[]}draw(t){let e=this._container,i=e.canvas;for(let s of(i.clear(),this.update(t),e.plugins.values()))i.drawPlugin(s,t);for(let e of this._zArray)e.draw(t)}filter(t){return this._array.filter(t)}find(t){return this._array.find(t)}get(t){return this._array[t]}handleClickMode(t){this._interactionManager.handleClickMode(t)}async init(){let t=this._container,e=t.actualOptions;this._lastZIndex=0,this._needsSort=!1,await this.initPlugins();let i=!1;for(let e of t.plugins.values())if(i=e.particlesInitialization?.()??i)break;if(this.addManualParticles(),!i){let t=e.particles,i=t.groups;for(let e in i){let s=i[e];for(let i=this.count,a=0;a<s.number?.value&&i<t.number.value;i++,a++)this.addParticle(void 0,s,e)}for(let e=this.count;e<t.number.value;e++)this.addParticle()}}async initPlugins(){if(this._pluginsInitialized)return;let t=this._container;for(let e of(this.movers=await this._engine.getMovers(t,!0),this.updaters=await this._engine.getUpdaters(t,!0),await this._interactionManager.init(),t.pathGenerators.values()))e.init(t)}push(t,e,i,s){for(let a=0;a<t;a++)this.addParticle(e?.position,i,s)}async redraw(){this.clear(),await this.init(),this.draw({value:0,factor:0})}remove(t,e,i){this.removeAt(this._array.indexOf(t),void 0,e,i)}removeAt(t,e=1,i,s){if(t<0||t>this.count)return;let a=0;for(let o=t;a<e&&o<this.count;o++)this._removeParticle(o,i,s)&&(o--,a++)}removeQuantity(t,e){this.removeAt(0,t,e)}setDensity(){let t=this._container.actualOptions,e=t.particles.groups,i=t.manualParticles.length;for(let t in e)this._applyDensity(e[t],i,t);this._applyDensity(t.particles,i)}setLastZIndex(t){this._lastZIndex=t,this._needsSort=this._needsSort||this._lastZIndex<t}setResizeFactor(t){this._resizeFactor=t}update(t){let e=this._container,i=new Set;for(let t of(this.quadTree=new ip(iv(e.canvas.size),4),e.pathGenerators.values()))t.update();for(let i of e.plugins.values())i.update?.(t);let s=this._resizeFactor;for(let e of this._array){for(let i of(s&&!e.ignoresResizeRatio&&(e.position.x*=s.width,e.position.y*=s.height,e.initialPosition.x*=s.width,e.initialPosition.y*=s.height),e.ignoresResizeRatio=!1,this._interactionManager.reset(e),this._container.plugins.values())){if(e.destroyed)break;i.particleUpdate?.(e,t)}for(let i of this.movers)i.isEnabled(e)&&i.move(e,t);if(e.destroyed){i.add(e);continue}this.quadTree.insert(new ic(e.getPosition(),e))}if(i.size){let t=t=>!i.has(t);for(let e of(this._array=this.filter(t),this._zArray=this._zArray.filter(t),i))this._engine.dispatchEvent(u.particleRemoved,{container:this._container,data:{particle:e}});this._addToPool(...i)}for(let e of(this._interactionManager.externalInteract(t),this._array)){for(let i of this.updaters)i.update(e,t);e.destroyed||e.spawning||this._interactionManager.particlesInteract(e,t)}if(delete this._resizeFactor,this._needsSort){let t=this._zArray;t.sort((t,e)=>e.position.z-t.position.z||t.id-e.id),this._lastZIndex=t[t.length-1].position.z,this._needsSort=!1}}}class iy{constructor(t){this.container=t,this.pixelRatio=1,this.reduceFactor=1}init(){let t=this.container,e=t.actualOptions;this.pixelRatio=!e.detectRetina||tI()?1:devicePixelRatio,this.reduceFactor=1;let i=this.pixelRatio,s=t.canvas;if(s.element){let t=s.element;s.size.width=t.offsetWidth*i,s.size.height=t.offsetHeight*i}let a=e.particles,o=a.move;this.maxSpeed=t_(o.gravity.maxSpeed)*i,this.sizeAnimationSpeed=t_(a.size.animation.speed)*i}initParticle(t){let e=t.options,i=this.pixelRatio,s=e.move,a=s.distance,o=t.retina;o.moveDrift=t_(s.drift)*i,o.moveSpeed=t_(s.speed)*i,o.sizeAnimationSpeed=t_(e.size.animation.speed)*i;let n=o.maxDistance;n.horizontal=void 0!==a.horizontal?a.horizontal*i:void 0,n.vertical=void 0!==a.vertical?a.vertical*i:void 0,o.maxSpeed=t_(s.gravity.maxSpeed)*i}}function im(t){return t&&!t.destroyed}function ib(t,e,...i){let s=new ia(t,e);return ii(s,...i),s}class iw{constructor(t,e,i){this._intersectionManager=t=>{if(im(this)&&this.actualOptions.pauseOnOutsideViewport)for(let e of t)e.target===this.interactivity.element&&(e.isIntersecting?this.play():this.pause())},this._nextFrame=t=>{try{if(!this._smooth&&void 0!==this._lastFrameTime&&t<this._lastFrameTime+ti/this.fpsLimit)return void this.draw(!1);this._lastFrameTime??=t;let e=function(t,e=60,i=!1){return{value:t,factor:i?60/e:60*t/ti}}(t-this._lastFrameTime,this.fpsLimit,this._smooth);if(this.addLifeTime(e.value),this._lastFrameTime=t,e.value>ti)return void this.draw(!1);if(this.particles.draw(e),!this.alive())return void this.destroy();this.animationStatus&&this.draw(!1)}catch(t){tD.error(`${tt} in animation loop`,t)}},this._engine=t,this.id=Symbol(e),this.fpsLimit=120,this._smooth=!1,this._delay=0,this._duration=0,this._lifeTime=0,this._firstStart=!0,this.started=!1,this.destroyed=!1,this._paused=!0,this._lastFrameTime=0,this.zLayers=100,this.pageHidden=!1,this._clickHandlers=new Map,this._sourceOptions=i,this._initialSourceOptions=i,this.retina=new iy(this),this.canvas=new eh(this,this._engine),this.particles=new ig(this._engine,this),this.pathGenerators=new Map,this.interactivity={mouse:{clicking:!1,inside:!1}},this.plugins=new Map,this.effectDrawers=new Map,this.shapeDrawers=new Map,this._options=ib(this._engine,this),this.actualOptions=ib(this._engine,this),this._eventListeners=new eu(this),this._intersectionObserver=function(t){if(!tI()&&"undefined"!=typeof IntersectionObserver)return new IntersectionObserver(t)}(t=>this._intersectionManager(t)),this._engine.dispatchEvent(u.containerBuilt,{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&im(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addClickHandler(t){if(!im(this))return;let e=this.interactivity.element;if(!e)return;let i=(e,i,s)=>{if(!im(this))return;let a=this.retina.pixelRatio,o={x:i.x*a,y:i.y*a};t(e,this.particles.quadTree.queryCircle(o,s*a))},s=t=>{if(!im(this))return;let e={x:t.offsetX||t.clientX,y:t.offsetY||t.clientY};i(t,e,1)},a=()=>{im(this)&&(l=!0,c=!1)},o=()=>{im(this)&&(c=!0)},n=t=>{if(im(this)){if(l&&!c){let e=t.touches[t.touches.length-1];if(!e&&!(e=t.changedTouches[t.changedTouches.length-1]))return;let s=this.canvas.element,a=s?s.getBoundingClientRect():void 0;i(t,{x:e.clientX-(a?a.left:0),y:e.clientY-(a?a.top:0)},Math.max(e.radiusX,e.radiusY))}l=!1,c=!1}},r=()=>{im(this)&&(l=!1,c=!1)}
1,l=!1,c=!1;for(let[t,i]of(this._clickHandlers.set("click",s),this._clickHandlers.set("touchstart",a),this._clickHandlers.set("touchmove",o),this._clickHandlers.set("touchend",n),this._clickHandlers.set("touchcancel",r),this._clickHandlers))e.addEventListener(t,i)}addLifeTime(t){this._lifeTime+=t}addPath(t,e,i=!1){return!(!im(this)||!i&&this.pathGenerators.has(t))&&(this.pathGenerators.set(t,e),!0)}alive(){return!this._duration||this._lifeTime<=this._duration}clearClickHandlers(){if(im(this)){for(let[t,e]of this._clickHandlers)this.interactivity.element?.removeEventListener(t,e);this._clickHandlers.clear()}}destroy(t=!0){if(im(this)){for(let t of(this.stop(),this.clearClickHandlers(),this.particles.destroy(),this.canvas.destroy(),this.effectDrawers.values()))t.destroy?.(this);for(let t of this.shapeDrawers.values())t.destroy?.(this);for(let t of this.effectDrawers.keys())this.effectDrawers.delete(t);for(let t of this.shapeDrawers.keys())this.shapeDrawers.delete(t);if(this._engine.clearPlugins(this),this.destroyed=!0,t){let t=this._engine.items,e=t.findIndex(t=>t===this);e>=0&&t.splice(e,1)}this._engine.dispatchEvent(u.containerDestroyed,{container:this})}}draw(t){if(!im(this))return;let e=t,i=t=>{e&&(this._lastFrameTime=void 0,e=!1),this._nextFrame(t)};this._drawAnimationFrame=requestAnimationFrame(t=>i(t))}async export(t,e={}){for(let i of this.plugins.values()){if(!i.export)continue;let s=await i.export(t,e);if(s.supported)return s.blob}tD.error(`${tt} - Export plugin with type ${t} not found`)}handleClickMode(t){if(im(this))for(let e of(this.particles.handleClickMode(t),this.plugins.values()))e.handleClickMode?.(t)}
1async init(){if(!im(this))return;for(let t of this._engine.getSupportedEffects()){let e=this._engine.getEffectDrawer(t);e&&this.effectDrawers.set(t,e)}for(let t of this._engine.getSupportedShapes()){let e=this._engine.getShapeDrawer(t);e&&this.shapeDrawers.set(t,e)}for(let[t,e]of(await this.particles.initPlugins(),this._options=ib(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=ib(this._engine,this,this._options),await this._engine.getAvailablePlugins(this)))this.plugins.set(t,e);this.retina.init(),await this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize();let{zLayers:t,duration:e,delay:i,fpsLimit:s,smooth:a}=this.actualOptions;for(let o of(this.zLayers=t,this._duration=t_(e)*ti,this._delay=t_(i)*ti,this._lifeTime=0,this.fpsLimit=s>0?s:120,this._smooth=a,this.effectDrawers.values()))await o.init?.(this);for(let t of this.shapeDrawers.values())await t.init?.(this);for(let t of this.plugins.values())await t.init?.();for(let t of(this._engine.dispatchEvent(u.containerInit,{container:this}),await this.particles.init(),this.particles.setDensity(),this.plugins.values()))t.particlesSetup?.();this._engine.dispatchEvent(u.particlesSetup,{container:this})}async loadTheme(t){im(this)&&(this._currentTheme=t,await this.refresh())}pause(){if(im(this)){if(void 0!==this._drawAnimationFrame){var t;t=this._drawAnimationFrame,cancelAnimationFrame(t),delete this._drawAnimationFrame}if(!this._paused){for(let t of this.plugins.values())t.pause?.();this.pageHidden||(this._paused=!0),this._engine.dispatchEvent(u.containerPaused,{container:this})}}}play(t){if(!im(this))return;let e=this._paused||t;if(this._firstStart&&!this.actualOptions.autoPlay){this._firstStart=!1;return}if(this._paused&&(this._paused=!1),e)for(let t of this.plugins.values())t.play&&t.play();this._engine.dispatchEvent(u.containerPlay,{container:this}),this.draw(e??!1)}async refresh(){if(im(this))return this.stop(),this.start()}async reset(t){if(im(this))return this._initialSourceOptions=t,this._sourceOptions=t,this._options=ib(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=ib(this._engine,this,this._options),this.refresh()}async start(){im(this)&&!this.started&&(await this.init(),this.started=!0,await new Promise(t=>{let e=async()=>{for(let t of(this._eventListeners.addListeners(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.observe(this.interactivity.element),this.plugins.values()))await t.start?.();this._engine.dispatchEvent(u.containerStarted,{container:this}),this.play(),t()};this._delayTimeout=setTimeout(()=>void e(),this._delay)}))}stop(){if(im(this)&&this.started){for(let t of(this._delayTimeout&&(clearTimeout(this._delayTimeout),delete this._delayTimeout),this._firstStart=!0,this.started=!1,this._eventListeners.removeListeners(),this.pause(),this.particles.clear(),this.canvas.stop(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.unobserve(this.interactivity.element),this.plugins.values()))t.stop?.();for(let t of this.plugins.keys())this.plugins.delete(t);this._sourceOptions=this._options,this._engine.dispatchEvent(u.containerStopped,{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];let t=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,this._options);return this.actualOptions.setTheme(this._currentTheme),this._responsiveMaxWidth!==t&&(this._responsiveMaxWidth=t,!0)}}class ix{constructor(){this._listeners=new Map}addEventListener(t,e){this.removeEventListener(t,e);let i=this._listeners.get(t);i||(i=[],this._listeners.set(t,i)),i.push(e)}dispatchEvent(t,e){let i=this._listeners.get(t);i?.forEach(t=>t(e))}hasEventListener(t){return!!this._listeners.get(t)}removeAllEventListeners(t){t?this._listeners.delete(t):this._listeners=new Map}removeEventListener(t,e){let i=this._listeners.get(t);if(!i)return;let s=i.length,a=i.indexOf(e);a<0||(1===s?this._listeners.delete(t):i.splice(a,1))}}async function i_(t,e,i,s=!1){let a=e.get(t);return(!a||s)&&(a=await Promise.all([...i.values()].map(e=>e(t))),e.set(t,a)),a}async function ik(t){let e=tZ(t.url,t.index);if(!e)return t.fallback;let i=await fetch(e);return i.ok?await i.json():(tD.error(`${tt} ${i.status} while retrieving config file`),t.fallback)}class iz{constructor(){this._configs=new Map,this._domArray=[],this._eventDispatcher=new ix,this._initialized=!1,this.plugins=[],this.colorManagers=new Map,this.easingFunctions=new Map,this._initializer
1s={interactors:new Map,movers:new Map,updaters:new Map},this.interactors=new Map,this.movers=new Map,this.updaters=new Map,this.presets=new Map,this.effectDrawers=new Map,this.shapeDrawers=new Map,this.pathGenerators=new Map}get configs(){let t={};for(let[e,i]of this._configs)t[e]=i;return t}get items(){return this._domArray}get version(){return"3.9.1"}async addColorManager(t,e=!0){this.colorManagers.set(t.key,t),await this.refresh(e)}addConfig(t){let e=t.key??t.name??"default";this._configs.set(e,t),this._eventDispatcher.dispatchEvent(u.configAdded,{data:{name:e,config:t}})}async addEasing(t,e,i=!0){this.getEasing(t)||(this.easingFunctions.set(t,e),await this.refresh(i))}async addEffect(t,e,i=!0){t$(t,t=>{this.getEffectDrawer(t)||this.effectDrawers.set(t,e)}),await this.refresh(i)}addEventListener(t,e){this._eventDispatcher.addEventListener(t,e)}async addInteractor(t,e,i=!0){this._initializers.interactors.set(t,e),await this.refresh(i)}async addMover(t,e,i=!0){this._initializers.movers.set(t,e),await this.refresh(i)}async addParticleUpdater(t,e,i=!0){this._initializers.updaters.set(t,e),await this.refresh(i)}async addPathGenerator(t,e,i=!0){this.getPathGenerator(t)||this.pathGenerators.set(t,e),await this.refresh(i)}async addPlugin(t,e=!0){this.getPlugin(t.id)||this.plugins.push(t),await this.refresh(e)}async addPreset(t,e,i=!1,s=!0){(i||!this.getPreset(t))&&this.presets.set(t,e),await this.refresh(s)}async addShape(t,e=!0){for(let e of t.validTypes)this.getShapeDrawer(e)||this.shapeDrawers.set(e,t);await this.refresh(e)}checkVersion(t){if(this.version!==t)throw Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${t}`)}clearPlugins(t){this.updaters.delete(t),this.movers.delete(t),this.interactors.delete(t)}dispatchEvent(t,e){this._eventDispatcher.dispatchEvent(t,e)}dom(){return this.items}domItem(t){return this.item(t)}async getAvailablePlugins(t){let e=new Map;for(let i of this.plugins)i.needsPlugin(t.actualOptions)&&e.set(i.id,await i.getPlugin(t));return e}getEasing(t){return this.easingFunctions.get(t)??(t=>t)}getEffectDrawer(t){return this.effectDrawers.get(t)}async getInteractors(t,e=!1){return i_(t,this.interactors,this._initializers.interactors,e)}async getMovers(t,e=!1){return i_(t,this.movers,this._initializers.movers,e)}getPathGenerator(t){return this.pathGenerators.get(t)}getPlugin(t){return this.plugins.find(e=>e.id===t)}getPreset(t){return this.presets.get(t)}getShapeDrawer(t){return this.shapeDrawers.get(t)}getSupportedEffects(){return this.effectDrawers.keys()}getSupportedShapes(){return this.shapeDrawers.keys()}async getUpdaters(t,e=!1){return i_(t,this.updaters,this._initializers.updaters,e)}init(){this._initialized||(this._initialized=!0)}item(t){let{items:e}=this,i=e[t];return!i||i.destroyed?void e.splice(t,1):i}async load(t){let e,i=t.id??t.element?.id??`tsparticles${Math.floor(1e4*tm())}`,{index:s,url:a}=t,o=tZ(a?await ik({fallback:t.options,url:a,index:s}):t.options,s),{items:n}=this,r=n.findIndex(t=>t.id.description===i),l=new iw(this,i,o);if(r>=0){let t=this.item(r),e=+!!t;t&&!t.destroyed&&t.destroy(!1),n.splice(r,e,l)}else n.push(l);let c=(t=>{let e;if(t instanceof HTMLCanvasElement||t.tagName.toLowerCase()===tr)(e=t).dataset[N]||(e.dataset[N]=tn);else{let i=t.getElementsByTagName(tr);i.length?(e=i[0]).dataset[N]=tn:((e=document.createElement(tr)).dataset[N]=to,t.appendChild(e))}let i="100%";return e.style.width||(e.style.width=i),e.style.height||(e.style.height=i),e}
1)(((e=t.element??document.getElementById(i))||((e=document.createElement("div")).id=i,e.dataset[N]=to,document.body.append(e)),e));return l.canvas.loadCanvas(c),await l.start(),l}loadOptions(t,e){this.plugins.forEach(i=>i.loadOptions?.(t,e))}loadParticlesOptions(t,e,...i){let s=this.updaters.get(t);s&&s.forEach(t=>t.loadOptions?.(e,...i))}async refresh(t=!0){t&&await Promise.all(this.items.map(t=>t.refresh()))}removeEventListener(t,e){this._eventDispatcher.removeEventListener(t,e)}setOnClickHandler(t){let{items:e}=this;if(!e.length)throw Error(`${tt} can only set click handlers after calling tsParticles.load()`);e.forEach(e=>e.addClickHandler(t))}}class iM{constructor(t){this.type=b.external,this.container=t}}class iC{constructor(t){this.type=b.particles,this.container=t}}(W=_||(_={})).clockwise="clockwise",W.counterClockwise="counter-clockwise",W.random="random",(Y=k||(k={})).linear="linear",Y.radial="radial",Y.random="random",(J=z||(z={})).easeInBack="ease-in-back",J.easeInCirc="ease-in-circ",J.easeInCubic="ease-in-cubic",J.easeInLinear="ease-in-linear",J.easeInQuad="ease-in-quad",J.easeInQuart="ease-in-quart",J.easeInQuint="ease-in-quint",J.easeInExpo="ease-in-expo",J.easeInSine="ease-in-sine",J.easeOutBack="ease-out-back",J.easeOutCirc="ease-out-circ",J.easeOutCubic="ease-out-cubic",J.easeOutLinear="ease-out-linear",J.easeOutQuad="ease-out-quad",J.easeOutQuart="ease-out-quart",J.easeOutQuint="ease-out-quint",J.easeOutExpo="ease-out-expo",J.easeOutSine="ease-out-sine",J.easeInOutBack="ease-in-out-back",J.easeInOutCirc="ease-in-out-circ",J.easeInOutCubic="ease-in-out-cubic",J.easeInOutLinear="ease-in-out-linear",J.easeInOutQuad="ease-in-out-quad",J.easeInOutQuart="ease-in-out-quart",J.easeInOutQuint="ease-in-out-quint",J.easeInOutExpo="ease-in-out-expo",J.easeInOutSine="ease-in-out-sine";let iP=((Z=new iz).init(),Z);tI()||(window.tsParticles=iP)},16949:(t,e,i)=>{i.d(e,{Ay:()=>n,iC:()=>r});var s=i(13607),a=i(95155),o=i(12115);let n=t=>{let e=t.id??"tsparticles";return(0,o.useEffect)(()=>{let i;return s.$k3.load({id:e,url:t.url,options:t.options}).then(e=>{var s;i=e,null==(s=t.particlesLoaded)||s.call(t,e)}),()=>{null==i||i.destroy()}},[e,t,t.url,t.options]),(0,a.jsx)("div",{id:e,className:t.className})};async function r(t){await t(s.$k3)}},92996:(t,e,i)=>{i.d(e,{m:()=>eR});var s,a,o,n,r,l,c,h,d,u,p,f,v=i(13607);let g=2*Math.PI;class y{init(t){let e=t.options.move.gravity;t.gravity={enable:e.enable,acceleration:(0,v.VGA)(e.acceleration),inverse:e.inverse},function(t){let e=t.container,i=t.options.move.spin;if(!i.enable)return;let s=i.position??{x:50,y:50},a={x:.01*s.x*e.canvas.size.width,y:.01*s.y*e.canvas.size.height},o=t.getPosition(),n=(0,v.YfF)(o,a),r=(0,v.VGA)(i.acceleration);t.retina.spinAcceleration=r*e.retina.pixelRatio,t.spin={center:a,direction:t.velocity.x>=0?v.pTR.clockwise:v.pTR.counterClockwise,angle:(0,v.G0i)()*g,radius:n,acceleration:t.retina.spinAcceleration}}(t)}isEnabled(t){return!t.destroyed&&t.options.move.enable}move(t,e){let i=t.options,s=i.move;if(!s.enable)return;let a=t.container,o=a.retina.pixelRatio;t.retina.moveSpeed??=(0,v.VGA)(s.speed)*o,t.retina.moveDrift??=(0,v.VGA)(t.options.move.drift)*o;let n=t.slow.inRange?t.slow.factor:1,r=a.retina.reduceFactor,l=t.retina.moveSpeed,c=t.retina.moveDrift,h=(0,v.W9e)(i.size.value)*o,d=l*(s.size?t.getRadius()/h:1)*n*(e.factor||1)/2,u=t.retina.maxSpeed??a.retina.maxSpeed;s.spin.enable?function(t,e,i){let s=t.container;if(!t.spin)return;let a=t.spin.direction===v.pTR.clockwise,o={x:a?Math.cos:Math.sin,y:a?Math.sin:Math.cos};t.position.x=t.spin.center.x+t.spin.radius*o.x(t.spin.angle)*i,t.position.y=t.spin.center.y+t.spin.radius*o.y(t.spin.angle)*i,t.spin.radius+=t.spin.acceleration*i;let n=Math.max(s.canvas.size.width,s.canvas.size.height),r=.5*n;t.spin.radius>r?(t.spin.radius=r,t.spin.acceleration*=-1):t.spin.radius<0&&(t.spin.radius=0,t.spin.acceleration*=-1),t.spin.angle+=.01*e*(1-t.spin.radius/n)}(t,d,r):function(t,e,i,s,a,o,n){!function(t,e){let i=t.options.move.path;if(!i.enable)return;if(t.lastPathTime<=t.pathDelay){t.lastPathTime+=e.value;return}let s=t.pathGenerator?.generate(t,e);s&&t.velocity.addTo(s),i.clamp&&(t.velocity.x=(0,v.qE8)(t.velocity.x,-1,1),t.velocity.y=(0,v.qE8)(t.velocity.y,-1,1)),t.lastPathTime-=t.pathDelay}(t,n);let r=t.gravity,l=r?.enable&&r.inverse?-1:1;a&&i&&(t.velocity.x+=a*n.factor/(60*i)),r?.enable&&i&&(t.velocity.y+=l*(r.acceleration*n.factor)/(60*i));let c=t.moveDecay;t.velocity.multTo(c);let h=t.velocity.mult(i);r?.enable&&s>0&&(!r.inverse&&h.y>=0&&h.y>=s||r.inverse&&h.y<=0&&h.y<=-s)&&(h.y=l*s,i&&(t.velocity.y=h.y/i));let d=t.options.zIndex,u=(1-t.zIndexFactor)**d.velocityRate;h.multTo(u),h.multTo(o);let{position:p}=t;p.addTo(h),e.vibrate&&(p.x+=Math.sin(p.x*Math.cos(p.y))*o,p.y+=Math.cos(p.y*Math.sin(p.x))*o)}(t,s,d,u,c,r,e),function(t){let e=t.initialPosition,{dx:i,dy:s}=(0,v.vrU)(e,t.position),a=Math.abs(i),o=Math.abs(s),{maxDistance:n}=t.retina,r=n.horizontal,l=n.vertical;if(r||l){if((r&&a>=r||l&&o>=l)&&!t.misplaced)t.misplaced=!!r&&a>r||!!l&&o>l,r&&(t.velocity.x=.5*t.velocity.y-t.velocity.x),l&&(t.velocity.y=.5*t.velocity.x-t.velocity.y);else if((!r||a<r)&&(!l||o<l)&&t.misplaced)t.misplaced=!1;else if(t.misplaced){let i=t.position,s=t.velocity;r&&(i.x<e.x&&s.x<0||i.x>e.x&&s.x>0)&&(s.x*=-(0,v.G0i)()),l&&(i.y<e.y&&s.y<0||i.y>e.y&&s.y>0)&&(s.y*=-(0,v.G0i)())}}}(t)}}async function m(t,e=!0){t.checkVersion("3.9.1"),await t.addMover("base",()=>Promise.resolve(new y),e)}let b=2*Math.PI;class w{constructor(){this.validTypes=["circle"]}draw(t){!function(t){let{context:e,particle:i,radius:s}=t;i.circleRange||(i.circleRange={min:0,max:b});let a=i.circleRange;e.arc(0,0,s,a.min,a.max,!1)}(t)}getSidesCount(){return 12}particleInit(t,e){let i=e.shapeData,s=i?.angle??{max:360,min:0};e.circleRange=(0,v.Gvm)(s)?{min:(0,v.puj)(s.min),max:(0,v.puj)(s.max)}:{min:0,max:(0,v.puj)(s)}}}async function x(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new w,e)}class _{constructor(t,e){this._container=t,this._engine=e}init(t){let e=(0,v.R5R)(this._engine,t.options.color,t.id,t.options.reduceDuplicates);e&&(t.color=(0,v.pzy)(e,t.options.color.animation,this._container.retina.reduceFactor))}isEnabled(t){let{h:e,s:i,l:s}=t.options.color.animation,{color:a}=t;return!t.destroyed&&!t.spawning&&(a?.h.value!==void 0&&e.enable||a?.s.value!==void 0&&i.enable||a?.l.value!==void 0&&s.enable)}update(t,e){(0,v.JvX)(t.color,e)}}async function k(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("color",e=>Promise.resolve(new _(e,t)),e)}(s=c||(c={}))[s.r=1]="r",s[s.g=2]="g",s[s.b=3]="b",s[s.a=4]="a";let z=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,M=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;class C{constructor(){this.key="hex",this.stringPrefix="#"}handleColor(t){return this._parseString(t.value)}handleRangeColor(t){return this._parseString(t.value)}parseString(t){return this._parseString(t)}_parseString(t){if("string"!=typeof t||!t?.startsWith(this.stringPrefix))return;let e=t.replace(z,(t,e,i,s,a)=>e+e+i+i+s+s+(void 0!==a?a+a:"")),i=M.exec(e);return i?{a:void 0!==i[c.a]?parseInt(i[c.a],16)/255:1,b:parseInt(i[c.b],16),g:parseInt(i[c.g],16),r:parseInt(i[c.r],16)}:void 0}}async function P(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new C,e)}(a=h||(h={}))[a.h=1]="h",a[a.s=2]="s",a[a.l=3]="l",a[a.a=5]="a";class T{constructor(){this.key="hsl",this.stringPrefix="hsl"}handleColor(t){let e=t.value.hsl??t.value;if(void 0!==e.h&&void 0!==e.s&&void 0!==e.l)return(0,v.YLU)(e)}handleRangeColor(t){let e=t.value.hsl??t.value;if(void 0!==e.h&&void 0!==e.l)return(0,v.YLU)({h:(0,v.VGA)(e.h),l:(0,v.VGA)(e.l),s:(0,v.VGA)(e.s)})}parseString(t){if(!t.startsWith("hsl"))return;let e=/hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i.exec(t);return e?(0,v.ayx)({a:e.length>4?(0,v.M3Y)(e[h.a]):1,h:parseInt(e[h.h],10),l:parseInt(e[h.l],10),s:parseInt(e[h.s],10)}):void 0}}async function O(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new T,e)}class S{constructor(t){this.container=t}init(t){let e=t.options.opacity;t.opacity=(0,v.XsS)(e,1);let i=e.animation;i.enable&&(t.opacity.velocity=(0,v.VGA)(i.speed)/v.a56*this.container.retina.reduceFactor,i.sync||(t.opacity.velocity
1*=(0,v.G0i)()))}isEnabled(t){return!t.destroyed&&!t.spawning&&!!t.opacity&&t.opacity.enable&&((t.opacity.maxLoops??0)<=0||(t.opacity.maxLoops??0)>0&&(t.opacity.loops??0)<(t.opacity.maxLoops??0))}reset(t){t.opacity&&(t.opacity.time=0,t.opacity.loops=0)}update(t,e){this.isEnabled(t)&&t.opacity&&(0,v.UC0)(t,t.opacity,!0,t.options.opacity.animation.destroy,e)}}async function D(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("opacity",t=>Promise.resolve(new S(t)),e)}class R{constructor(t){this.container=t,this.modes=[v.Yzx.bounce,v.Yzx.split]}update(t,e,i,s){if(!this.modes.includes(s))return;let a=this.container,o=!1;for(let s of a.plugins.values())if(void 0!==s.particleBounce&&(o=s.particleBounce(t,i,e)),o)break;if(o)return;let n=t.getPosition(),r=t.offset,l=t.getRadius(),c=(0,v.AEc)(n,l),h=a.canvas.size;!function(t){if(t.outMode!==v.Yzx.bounce&&t.outMode!==v.Yzx.split||t.direction!==v.v5k.left&&t.direction!==v.v5k.right)return;t.bounds.right<0&&t.direction===v.v5k.left?t.particle.position.x=t.size+t.offset.x:t.bounds.left>t.canvasSize.width&&t.direction===v.v5k.right&&(t.particle.position.x=t.canvasSize.width-t.size-t.offset.x);let e=t.particle.velocity.x,i=!1;if(t.direction===v.v5k.right&&t.bounds.right>=t.canvasSize.width&&e>0||t.direction===v.v5k.left&&t.bounds.left<=0&&e<0){let e=(0,v.VGA)(t.particle.options.bounce.horizontal.value);t.particle.velocity.x*=-e,i=!0}if(!i)return;let s=t.offset.x+t.size;t.bounds.right>=t.canvasSize.width&&t.direction===v.v5k.right?t.particle.position.x=t.canvasSize.width-s:t.bounds.left<=0&&t.direction===v.v5k.left&&(t.particle.position.x=s),t.outMode===v.Yzx.split&&t.particle.destroy()}({particle:t,outMode:s,direction:e,bounds:c,canvasSize:h,offset:r,size:l}),function(t){if(t.outMode!==v.Yzx.bounce&&t.outMode!==v.Yzx.split||t.direction!==v.v5k.bottom&&t.direction!==v.v5k.top)return;t.bounds.bottom<0&&t.direction===v.v5k.top?t.particle.position.y=t.size+t.offset.y:t.bounds.top>t.canvasSize.height&&t.direction===v.v5k.bottom&&(t.particle.position.y=t.canvasSize.height-t.size-t.offset.y);let e=t.particle.velocity.y,i=!1;if(t.direction===v.v5k.bottom&&t.bounds.bottom>=t.canvasSize.height&&e>0||t.direction===v.v5k.top&&t.bounds.top<=0&&e<0){let e=(0,v.VGA)(t.particle.options.bounce.vertical.value);t.particle.velocity.y*=-e,i=!0}if(!i)return;let s=t.offset.y+t.size;t.bounds.bottom>=t.canvasSize.height&&t.direction===v.v5k.bottom?t.particle.position.y=t.canvasSize.height-s:t.bounds.top<=0&&t.direction===v.v5k.top&&(t.particle.position.y=s),t.outMode===v.Yzx.split&&t.particle.destroy()}({particle:t,outMode:s,direction:e,bounds:c,canvasSize:h,offset:r,size:l})}}class E{constructor(t){this.container=t,this.modes=[v.Yzx.destroy]}update(t,e,i,s){if(!this.modes.includes(s))return;let a=this.container;switch(t.outType){case v.x_I.normal:case v.x_I.outside:if((0,v.Tj8)(t.position,a.canvas.size,v.Miz.origin,t.getRadius(),e))return;break;case v.x_I.inside:{let{dx:e,dy:i}=(0,v.vrU)(t.position,t.moveCenter),{x:s,y:a}=t.velocity;if(s<0&&e>t.moveCenter.radius||a<0&&i>t.moveCenter.radius||s>=0&&e<-t.moveCenter.radius||a>=0&&i<-t.moveCenter.radius)return}}a.particles.remove(t,t.group,!0)}}class I{constructor(t){this.container=t,this.modes=[v.Yzx.none]}update(t,e,i,s){if(!this.modes.includes(s)||((t.options.move.distance.horizontal&&(e===v.v5k.left||e===v.v5k.right))??(t.options.move.distance.vertical&&(e===v.v5k.top||e===v.v5k.bottom))))return;let a=t.options.move.gravity,o=this.container,n=o.canvas.size,r=t.getRadius();if(a.enable){let i=t.position;(!a.inverse&&i.y>n.height+r&&e===v.v5k.bottom||a.inverse&&i.y<-r&&e===v.v5k.top)&&o.particles.remove(t)}else{if(t.velocity.y>0&&t.position.y<=n.height+r||t.velocity.y<0&&t.position.y>=-r||t.velocity.x>0&&t.position.x<=n.width+r||t.velocity.x<0&&t.position.x>=-r)return;(0,v.Tj8)(t.position,o.canvas.size,v.Miz.origin,r,e)||o.particles.remove(t)}}}class V{constructor(t){this.container=t,this.modes=[v.Yzx.out]}update(t,e,i,s){if(!this.modes.includes(s))return;let a=this.container;if(t.outType===v.x_I.inside){let{x:e,y:i}=t.velocity,s=v.Miz.origin;s.length=t.moveCenter.radius,s.angle=t.velocity.angle+Math.PI,s.addTo(v.Miz.create(t.moveCenter));let{dx:o,dy:n}=(0,v.vrU)(t.position,s);if(e<=0&&o>=0||i<=0&&n>=0||e>=0&&o<=0||i>=0&&n<=0)return;t.position.x=Math.floor((0,v.U43)({min:0,max:a.canvas.size.width})),t.position.y=Math.floor((0,v.U43)({min:0,max:a.canvas.size.height}));let{dx:r,dy:l}=(0,v.vrU)(t.position,t.moveCenter);t.direction=Math.atan2(-l,-r),t.velocity.angle=t.direction}else{if((0,v.Tj8)(t.position,a.canvas.size,v.Miz.origin,t.getRadius(),e))return;switch(t.outType){case v.x_I.outside:{t.position.x=Math.floor((0,v.U43)({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.x,t.position.y=Math.floor((0,v.U43)({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.y;let{dx:e,dy:i}=(0,v.vrU)(t.position,t.moveCenter);t.moveCenter.radius&&(t.direction=Math.atan2(i,e),t.velocity.angle=t.direction);break}case v.x_I.normal:{let i=t.options.move.warp,s=a.canvas.size,o={bottom:s.height+t.getRadius()+t.offset.y,left
1:-t.getRadius()-t.offset.x,right:s.width+t.getRadius()+t.offset.x,top:-t.getRadius()-t.offset.y},n=t.getRadius(),r=(0,v.AEc)(t.position,n);e===v.v5k.right&&r.left>s.width+t.offset.x?(t.position.x=o.left,t.initialPosition.x=t.position.x,i||(t.position.y=(0,v.G0i)()*s.height,t.initialPosition.y=t.position.y)):e===v.v5k.left&&r.right<-t.offset.x&&(t.position.x=o.right,t.initialPosition.x=t.position.x,i||(t.position.y=(0,v.G0i)()*s.height,t.initialPosition.y=t.position.y)),e===v.v5k.bottom&&r.top>s.height+t.offset.y?(i||(t.position.x=(0,v.G0i)()*s.width,t.initialPosition.x=t.position.x),t.position.y=o.top,t.initialPosition.y=t.position.y):e===v.v5k.top&&r.bottom<-t.offset.y&&(i||(t.position.x=(0,v.G0i)()*s.width,t.initialPosition.x=t.position.x),t.position.y=o.bottom,t.initialPosition.y=t.position.y)}}}}}class A{constructor(t){this._addUpdaterIfMissing=(t,e,i)=>{let s=t.options.move.outModes;this.updaters.has(e)||s.default!==e&&s.bottom!==e&&s.left!==e&&s.right!==e&&s.top!==e||this.updaters.set(e,i(this.container))},this._updateOutMode=(t,e,i,s)=>{for(let a of this.updaters.values())a.update(t,s,e,i)},this.container=t,this.updaters=new Map}init(t){this._addUpdaterIfMissing(t,v.Yzx.bounce,t=>new R(t)),this._addUpdaterIfMissing(t,v.Yzx.out,t=>new V(t)),this._addUpdaterIfMissing(t,v.Yzx.destroy,t=>new E(t)),this._addUpdaterIfMissing(t,v.Yzx.none,t=>new I(t))}isEnabled(t){return!t.destroyed&&!t.spawning}update(t,e){let i=t.options.move.outModes;this._updateOutMode(t,e,i.bottom??i.default,v.v5k.bottom),this._updateOutMode(t,e,i.left??i.default,v.v5k.left),this._updateOutMode(t,e,i.right??i.default,v.v5k.right),this._updateOutMode(t,e,i.top??i.default,v.v5k.top)}}async function L(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("outModes",t=>Promise.resolve(new A(t)),e)}(o=d||(d={}))[o.r=1]="r",o[o.g=2]="g",o[o.b=3]="b",o[o.a=5]="a";class F{constructor(){this.key="rgb",this.stringPrefix="rgb"}handleColor(t){let e=t.value.rgb??t.value;if(void 0!==e.r)return e}handleRangeColor(t){let e=t.value.rgb??t.value;if(void 0!==e.r)return{r:(0,v.VGA)(e.r),g:(0,v.VGA)(e.g),b:(0,v.VGA)(e.b)}}parseString(t){if(!t.startsWith(this.stringPrefix))return;let e=/rgba?\(\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i.exec(t);return e?{a:e.length>4?(0,v.M3Y)(e[d.a]):1,b:parseInt(e[d.b],10),g:parseInt(e[d.g],10),r:parseInt(e[d.r],10)}:void 0}}async function B(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new F,e)}class q{init(t){let e=t.container,i=t.options.size.animation;i.enable&&(t.size.velocity=(t.retina.sizeAnimationSpeed??e.retina.sizeAnimationSpeed)/v.a56*e.retina.reduceFactor,i.sync||(t.size.velocity*=(0,v.G0i)()))}isEnabled(t){return!t.destroyed&&!t.spawning&&t.size.enable&&((t.size.maxLoops??0)<=0||(t.size.maxLoops??0)>0&&(t.size.loops??0)<(t.size.maxLoops??0))}reset(t){t.size.loops=0}update(t,e){this.isEnabled(t)&&(0,v.UC0)(t,t.size,!0,t.options.size.animation.destroy,e)}}async function U(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("size",()=>Promise.resolve(new q),e)}async function G(t,e=!0){t.checkVersion("3.9.1"),await P(t,!1),await O(t,!1),await B(t,!1),await m(t,!1),await x(t,!1),await k(t,!1),await D(t,!1),await L(t,!1),await U(t,!1),await t.refresh(e)}async function j(t,e=!0){t.checkVersion("3.9.1"),await t.addEasing(v.mgy.easeInQuad,t=>t**2,!1),await t.addEasing(v.mgy.easeOutQuad,t=>1-(1-t)**2,!1),await t.addEasing(v.mgy.easeInOutQuad,t=>t<.5?2*t**2:1-(-2*t+2)**2/2,!1),await t.refresh(e)}let H='"Twemoji Mozilla", Apple Color Emoji, "Segoe UI Emoji", "Noto Color Emoji", "EmojiOne Color"';class W{constructor(){this.validTypes=["emoji"],this._emojiShapeDict=new Map}destroy(){for(let[t,e]of this._emojiShapeDict)e instanceof ImageBitmap&&e?.close(),this._emojiShapeDict.delete(t)}draw(t){let e=t.particle.emojiDataKey;if(!e)return;let i=this._emojiShapeDict.get(e);i&&function(t,e){let{context:i,opacity:s}=t,a=i.globalAlpha;if(!e)return;let o=e.width,n=.5*o;i.globalAlpha=s,i.drawImage(e,-n,-n,o,o),i.globalAlpha=a}(t,i)}async init(t){let e=t.actualOptions,{validTypes:i}=this;if(!i.find(t=>(0,v.hnD)(t,e.particles.shape.type)))return;let s=[(0,v.AlN)(H)],a=i.map(t=>e.particles.shape.options[t]).find(t=>!!t);a&&(0,v.wJ2)(a,t=>{t.font&&s.push((0,v.AlN)(t.font))}),await Promise.all(s)}particleDestroy(t){t.emojiDataKey=void 0}particleInit(t,e){let i,s=e.shapeData;if(!s?.value)return;let a=(0,v.TA3)(s.value,e.randomIndexData);if(!a)return;let o="string"==typeof a?{font:s.font??H,padding:s.padding??0,value:a}:{font:H,padding:0,...s,...a},n=o.font,r=o.value,l=`${r}_${n}`;if(this._emojiShapeDict.has(l)){e.emojiDataKey=l;return}let c=2*o.padding,h=(0,v.W9e)(e.size.value),d=h+c,u=2*d;if("undefined"!=typeof OffscreenCanvas){let t=new OffscreenCanvas(u,u),e=t.getContext("2d");if(!e)return;e.font=`400 ${2*h}px ${n}`,e.textBaseline="middle",e.textAlign="center",e.fillText(r,d,d),i=t.transferToImageBitmap()}else{let t=document.createElement("canvas");t.width=u,t.height=u;let e=t.getContext("2d");if(!e)return;e.font=`400 ${2*h}px ${n}`,e.textBaseline="middle",e.textAlign="center",e.fillText(r,d,d),i=t}this._emojiShapeDict.set(l,i),e.emojiDataKey=l}}async function Y(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new W,e)}function J(t,e,i,s,a,o){let n=e.actualOptions.interactivity.modes.attract;if(n)for(let r of e.particles.quadTree.query(a,o)){let{dx:e,dy:a,distance:o}=(0,v.vrU)(r.position,i),l=n.speed*n.factor,c=(0,v.qE8)(t.getEasing(n.easing)(1-o/s)*l,1,n.maxSpeed),h=v.Miz.create(o?e/o*c:l,o?a/o*c:l);r.position.subFrom(h)}}class ${constructor(){this.distance=200,this.duration=.4,this.easing=v.mgy.easeOutQuad,this.factor=1,this.maxSpeed=50,this.speed=1}load(t){(0,v.kZJ)(t)||(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.easing&&(this.easing=t.easing),void 0!==t.factor&&(this.factor=t.factor),void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed),void 0!==t.speed&&(this.speed=t.speed))}}let Z="attract";
1class N extends v.sJd{constructor(t,e){super(e),this._engine=t,e.attract||(e.attract={particles:[]}),this.handleClickMode=t=>{let i=this.container.actualOptions.interactivity.modes.attract;if(i&&t===Z){for(let t of(e.attract||(e.attract={particles:[]}),e.attract.clicking=!0,e.attract.count=0,e.attract.particles))this.isEnabled(t)&&t.velocity.setTo(t.initialVelocity);e.attract.particles=[],e.attract.finish=!1,setTimeout(()=>{e.destroyed||(e.attract||(e.attract={particles:[]}),e.attract.clicking=!1)},i.duration*v.XuV)}}}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.attract;e&&(t.retina.attractModeDistance=e.distance*t.retina.pixelRatio)}interact(){let t=this.container,e=t.actualOptions,i=t.interactivity.status===v.RbF,s=e.interactivity.events,{enable:a,mode:o}=s.onHover,{enable:n,mode:r}=s.onClick;if(i&&a&&(0,v.hnD)(Z,o)){var l,c,h;let t,e;l=this._engine,c=this.container,h=t=>this.isEnabled(t),t=c.interactivity.mouse.position,(e=c.retina.attractModeDistance)&&!(e<0)&&t&&J(l,c,t,e,new v.jlt(t.x,t.y,e),t=>h(t))}else n&&(0,v.hnD)(Z,r)&&function(t,e,i){e.attract||(e.attract={particles:[]});let{attract:s}=e;if(s.finish||(s.count||(s.count=0),s.count++,s.count===e.particles.count&&(s.finish=!0)),s.clicking){let s=e.interactivity.mouse.clickPosition,a=e.retina.attractModeDistance;if(!a||a<0||!s)return;J(t,e,s,a,new v.jlt(s.x,s.y,a),t=>i(t))}else!1===s.clicking&&(s.particles=[])}(this._engine,this.container,t=>this.isEnabled(t))}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,a=(t?.interactivity??i.interactivity).events;if((!s.position||!a.onHover.enable)&&(!s.clickPosition||!a.onClick.enable))return!1;let o=a.onHover.mode,n=a.onClick.mode;return(0,v.hnD)(Z,o)||(0,v.hnD)(Z,n)}loadModeOptions(t,...e){for(let i of(t.attract||(t.attract=new $),e))t.attract.load(i?.attract)}reset(){}}async function Q(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalAttract",e=>Promise.resolve(new N(t,e)),e)}let X=.5*Math.PI;function K(t,e,i,s,a){for(let o of t.particles.quadTree.query(s,a))s instanceof v.jlt?(0,v.pEn)((0,v.Tgl)(o),{position:e,radius:i,mass:i**2*X,velocity:v.Miz.origin,factor:v.Miz.origin}):s instanceof v.M_G&&(0,v.jon)(o,(0,v.AEc)(e,i))}class tt{constructor(){this.distance=200}load(t){(0,v.kZJ)(t)||void 0!==t.distance&&(this.distance=t.distance)}}let te="bounce";class ti extends v.sJd{constructor(t){super(t)}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.bounce;e&&(t.retina.bounceModeDistance=e.distance*t.retina.pixelRatio)}interact(){var t,e,i,s;let a=this.container,o=a.actualOptions.interactivity.events,n=a.interactivity.status===v.RbF,r=o.onHover.enable,l=o.onHover.mode,c=o.onDiv;if(n&&r&&(0,v.hnD)(te,l)){let i,s,a;t=this.container,e=t=>this.isEnabled(t),i=t.retina.pixelRatio,s=t.interactivity.mouse.position,(a=t.retina.bounceModeDistance)&&!(a<0)&&s&&K(t,s,a,new v.jlt(s.x,s.y,a+10*i),e)}else i=this.container,s=t=>this.isEnabled(t),(0,v.U6C)(te,c,(t,e)=>{var a;let o;return a=(t,e,a)=>K(i,t,e,a,s),void((o=document.querySelectorAll(t)).length&&o.forEach(t=>{let s=i.retina.pixelRatio,o={x:(t.offsetLeft+.5*t.offsetWidth)*s,y:(t.offsetTop+.5*t.offsetHeight)*s},n=.5*t.offsetWidth*s,r=10*s,l=e.type===v.Q5V.circle?new v.jlt(o.x,o.y,n+r):new v.M_G(t.offsetLeft*s-r,t.offsetTop*s-r,t.offsetWidth*s+2*r,t.offsetHeight*s+2*r);a(o,n,l)}))})}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,a=(t?.interactivity??i.interactivity).events,o=a.onDiv;return!!s.position&&a.onHover.enable&&(0,v.hnD)(te,a.onHover.mode)||(0,v.iKf)(te,o)}loadModeOptions(t,...e){for(let i of(t.bounce||(t.bounce=new tt),e))t.bounce.load(i?.bounce)}reset(){}}async function ts(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalBounce",t=>Promise.resolve(new ti(t)),e)}class ta{constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(t){if(!(0,v.kZJ)(t)){if(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.mix&&(this.mix=t.mix),void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.color){let e=(0,v.cyL)(this.color)?void 0:this.color;this.color=(0,v.wJ2)(t.color,t=>v.Oit.create(e,t))}void 0!==t.size&&(this.size=t.size)}}}class to extends ta{constructor(){super(),this.selectors=[]}load(t){super.load(t),(0,v.kZJ)(t)||void 0!==t.selectors&&(this.selectors=t.selectors)}}class tn extends ta{load(t){super.load(t),(0,v.kZJ)(t)||(this.divs=(0,v.wJ2)(t.div
1s,t=>{let e=new to;return e.load(t),e}))}}function tr(t,e,i,s){return e>=i?(0,v.qE8)(t+(e-i)*s,t,e):e<i?(0,v.qE8)(t-(i-e)*s,e,t):void 0}(n=u||(u={})).color="color",n.opacity="opacity",n.size="size";let tl="bubble";class tc extends v.sJd{constructor(t,e){super(t),this._clickBubble=()=>{let t=this.container,e=t.actualOptions,i=t.interactivity.mouse.clickPosition,s=e.interactivity.modes.bubble;if(!s||!i)return;t.bubble||(t.bubble={});let a=t.retina.bubbleModeDistance;if(!a||a<0)return;let o=t.particles.quadTree.queryCircle(i,a,t=>this.isEnabled(t)),{bubble:n}=t;for(let e of o){if(!n.clicking)continue;e.bubble.inRange=!n.durationEnd;let o=e.getPosition(),r=(0,v.YfF)(o,i),l=(new Date().getTime()-(t.interactivity.mouse.clickTime??0))/v.XuV;l>s.duration&&(n.durationEnd=!0),l>2*s.duration&&(n.clicking=!1,n.durationEnd=!1);let c={bubbleObj:{optValue:t.retina.bubbleModeSize,value:e.bubble.radius},particlesObj:{optValue:(0,v.W9e)(e.options.size.value)*t.retina.pixelRatio,value:e.size.value},type:u.size};this._process(e,r,l,c);let h={bubbleObj:{optValue:s.opacity,value:e.bubble.opacity},particlesObj:{optValue:(0,v.W9e)(e.options.opacity.value),value:e.opacity?.value??1},type:u.opacity};this._process(e,r,l,h),!n.durationEnd&&r<=a?this._hoverBubbleColor(e,r):delete e.bubble.color}},this._hoverBubble=()=>{let t=this.container,e=t.interactivity.mouse.position,i=t.retina.bubbleModeDistance;if(i&&!(i<0)&&e)for(let s of t.particles.quadTree.queryCircle(e,i,t=>this.isEnabled(t))){s.bubble.inRange=!0;let a=s.getPosition(),o=(0,v.YfF)(a,e),n=1-o/i;o<=i?n>=0&&t.interactivity.status===v.RbF&&(this._hoverBubbleSize(s,n),this._hoverBubbleOpacity(s,n),this._hoverBubbleColor(s,n)):this.reset(s),t.interactivity.status===v.Z04&&this.reset(s)}},this._hoverBubbleColor=(t,e,i)=>{let s=this.container.actualOptions,a=i??s.interactivity.modes.bubble;if(a){if(!t.bubble.finalColor){let e=a.color;if(!e)return;let i=(0,v.TA3)(e);t.bubble.finalColor=(0,v.R5R)(this._engine,i)}if(t.bubble.finalColor)if(a.mix){t.bubble.color=void 0;let i=t.getFillColor();t.bubble.color=i?(0,v.K6u)((0,v.EYT)(i,t.bubble.finalColor,1-e,e)):t.bubble.finalColor}else t.bubble.color=t.bubble.finalColor}},this._hoverBubbleOpacity=(t,e,i)=>{let s=this.container.actualOptions,a=i?.opacity??s.interactivity.modes.bubble?.opacity;if(!a)return;let o=t.options.opacity.value,n=tr(t.opacity?.value??1,a,(0,v.W9e)(o),e);void 0!==n&&(t.bubble.opacity=n)},this._hoverBubbleSize=(t,e,i)=>{let s=this.container,a=i?.size?i.size*s.retina.pixelRatio:s.retina.bubbleModeSize;if(void 0===a)return;let o=(0,v.W9e)(t.options.size.value)*s.retina.pixelRatio,n=tr(t.size.value,a,o,e);void 0!==n&&(t.bubble.radius=n)},this._process=(t,e,i,s)=>{let a=this.container,o=s.bubbleObj.optValue,n=a.actualOptions.interactivity.modes.bubble;if(!n||void 0===o)return;let r=n.duration,l=a.retina.bubbleModeDistance,c=s.particlesObj.optValue,h=s.bubbleObj.value,d=s.particlesObj.value??0,p=s.type;if(l&&!(l<0)&&o!==c)if(a.bubble||(a.bubble={}),a.bubble.durationEnd)h&&(p===u.size&&delete t.bubble.radius,p===u.opacity&&delete t.bubble.opacity);else if(e<=l){if((h??d)!==o){let e=d-i*(d-o)/r;p===u.size&&(t.bubble.radius=e),p===u.opacity&&(t.bubble.opacity=e)}}else p===u.size&&delete t.bubble.radius,p===u.opacity&&delete t.bubble.opacity},this._singleSelectorHover=(t,e,i)=>{let s=this.container,a=document.querySelectorAll(e),o=s.actualOptions.interactivity.modes.bubble;o&&a.length&&a.forEach(e=>{let a=s.retina.pixelRatio,n={x:(e.offsetLeft+.5*e.offsetWidth)*a,y:(e.offsetTop+.5*e.offsetHeight)*a},r=.5*e.offsetWidth*a,l=i.type===v.Q5V.circle?new v.jlt(n.x,n.y,r):new v.M_G(e.offsetLeft*a,e.offsetTop*a,e.offsetWidth*a,e.offsetHeight*a);for(let i of s.particles.quadTree.query(l,t=>this.isEnabled(t))){if(!l.contains(i.getPosition()))continue;i.bubble.inRange=!0;let s=o.divs,a=(0,v.NVT)(s,e);i.bubble.div&&i.bubble.div===e||(this.clear(i,t,!0),i.bubble.div=e),this._hoverBubbleSize(i,1,a),this._hoverBubbleOpacity(i,1,a),this._hoverBubbleColor(i,1,a)}})},this._engine=e,t.bubble||(t.bubble={}),this.handleClickMode=e=>{e===tl&&(t.bubble||(t.bubble={}),t.bubble.clicking=!0)}}clear(t,e,i){(!t.bubble.inRange||i)&&(delete t.bubble.div,delete t.bubble.opacity,delete t.bubble.radius,delete t.bubble.color)}init(){let t=this.container,e=t.actualOptions.interactivity.modes.bubble;e&&(t.retina.bubbleModeDistance=e.distance*t.retina.pixelRatio,void 0!==e.size&&(t.retina.bubbleModeSize=e.size*t.retina.pixelRatio))}interact(t){let e=this.container.actualOptions.interactivity.events,i=e.onHover,s=e.onClick,a=i.enable,o=i.mode,n=s.enable,r=s.mode,l=e.onDiv;a&&(0,v.hnD)(tl,o)?this._hoverBubble():n&&(0,v.hnD)(tl,r)?this._clickBubble():(0,v.U6C)(tl,l,(e,i)=>this._singleSelectorHover(t,e,i))}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,{onClick:a,onDiv:o,onHover:n}=(t?.interactivity??i.interactivity).events,r=(0,v.iKf)(tl,o);return!!(r||n.enable&&s.position||a.enable&&s.clickPosition)&&((0,v.hnD)(tl,n.mode)||(0,v.hnD)(tl,a.mode)||r)}loadModeOptions(t,...e){for(let i of(t.bubble||(t.bubble=new tn),e))t.bubble.load(i?.bubble)}reset(t){t.bubble.inRange=!1}}async function th(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalBubble",e=>Promise.resolve(new tc(e,t)),e)}class td{constructor(){this.opacity=.5}load(t){(0,v.kZJ)(t)||void 0!==t.opacity&&(this.opacity=t.opacity)}}class tu{constructor(){this.distance=80,this.links=new td,this.radius=60}load(t){(0,v.kZJ)(t)||(void 0!==t.distance&&(this.distance=t.distance),this.links.load(t.links),void 0!==t.radius&&(this.radius=t.radius))}}
1class tp extends v.sJd{constructor(t){super(t)}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.connect;e&&(t.retina.connectModeDistance=e.distance*t.retina.pixelRatio,t.retina.connectModeRadius=e.radius*t.retina.pixelRatio)}interact(){let t=this.container;if(t.actualOptions.interactivity.events.onHover.enable&&"pointermove"===t.interactivity.status){let e=t.interactivity.mouse.position,{connectModeDistance:i,connectModeRadius:s}=t.retina;if(!i||i<0||!s||s<0||!e)return;let a=Math.abs(s),o=t.particles.quadTree.queryCircle(e,a,t=>this.isEnabled(t));o.forEach((e,s)=>{let a=e.getPosition();for(let n of o.slice(s+1)){let s=n.getPosition(),o=Math.abs(i),r=Math.abs(a.x-s.x),l=Math.abs(a.y-s.y);r<o&&l<o&&function(t,e,i){t.canvas.draw(s=>{var a;let o=function(t,e,i,s){let a=t.actualOptions.interactivity.modes.connect;if(a)return function(t,e,i,s){let a=Math.floor(i.getRadius()/e.getRadius()),o=e.getFillColor(),n=i.getFillColor();if(!o||!n)return;let r=e.getPosition(),l=i.getPosition(),c=(0,v.EYT)(o,n,e.getRadius(),i.getRadius()),h=t.createLinearGradient(r.x,r.y,l.x,l.y);return h.addColorStop(0,(0,v.LCf)(o,s)),h.addColorStop((0,v.qE8)(a,0,1),(0,v.xxz)(c,s)),h.addColorStop(1,(0,v.LCf)(n,s)),h}(e,i,s,a.links.opacity)}(t,s,e,i);if(!o)return;let n=e.getPosition(),r=i.getPosition();a=e.retina.linksWidth??0,(0,v.V6E)(s,n,r),s.lineWidth=a,s.strokeStyle=o,s.stroke()})}(t,e,n)}})}}isEnabled(t){let e=this.container,i=e.interactivity.mouse,s=(t?.interactivity??e.actualOptions.interactivity).events;return!!(s.onHover.enable&&i.position)&&(0,v.hnD)("connect",s.onHover.mode)}loadModeOptions(t,...e){for(let i of(t.connect||(t.connect=new tu),e))t.connect.load(i?.connect)}reset(){}}async function tf(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalConnect",t=>Promise.resolve(new tp(t)),e)}class tv{constructor(){this.blink=!1,this.consent=!1,this.opacity=1}load(t){(0,v.kZJ)(t)||(void 0!==t.blink&&(this.blink=t.blink),void 0!==t.color&&(this.color=v.Oit.create(this.color,t.color)),void 0!==t.consent&&(this.consent=t.consent),void 0!==t.opacity&&(this.opacity=t.opacity))}}class tg{constructor(){this.distance=100,this.links=new tv}load(t){(0,v.kZJ)(t)||(void 0!==t.distance&&(this.distance=t.distance),this.links.load(t.links))}}class ty extends v.sJd{constructor(t,e){super(t),this._engine=e}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.grab;e&&(t.retina.grabModeDistance=e.distance*t.retina.pixelRatio)}interact(){let t=this.container,e=t.actualOptions.interactivity;if(!e.modes.grab||!e.events.onHover.enable||t.interactivity.status!==v.RbF)return;let i=t.interactivity.mouse.position;if(!i)return;let s=t.retina.grabModeDistance;if(s&&!(s<0))for(let a of t.particles.quadTree.queryCircle(i,s,t=>this.isEnabled(t))){let o=a.getPosition(),n=(0,v.YfF)(o,i);if(n>s)continue;let r=e.modes.grab.links,l=r.opacity,c=l-n*l/s;if(c<=0)continue;let h=r.color??a.options.links?.color;if(!t.particles.grabLineColor&&h){let i=e.modes.grab.links;t.particles.grabLineColor=(0,v.PGG)(this._engine,h,i.blink,i.consent)}let d=(0,v._hh)(a,void 0,t.particles.grabLineColor);d&&function(t,e,i,s,a){t.canvas.draw(t=>{var o;let n=e.getPosition();o=e.retina.linksWidth??0,(0,v.V6E)(t,n,a),t.strokeStyle=(0,v.xxz)(i,s),t.lineWidth=o,t.stroke()})}(t,a,d,c,i)}}isEnabled(t){let e=this.container,i=e.interactivity.mouse,s=(t?.interactivity??e.actualOptions.interactivity).events;return s.onHover.enable&&!!i.position&&(0,v.hnD)("grab",s.onHover.mode)}loadModeOptions(t,...e){for(let i of(t.grab||(t.grab=new tg),e))t.grab.load(i?.grab)}reset(){}}async function tm(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalGrab",e=>Promise.resolve(new ty(e,t)),e)}class tb extends v.sJd{constructor(t){super(t),this.handleClickMode=t=>{if("pause"!==t)return;let e=this.container;e.animationStatus?e.pause():e.play()}}clear(){}init(){}interact(){}isEnabled(){return!0}reset(){}}async function tw(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalPause",t=>Promise.resolve(new tb(t)),e)}class tx{constructor(){this.default=!0,this.groups=[],this.quantity=4}load(t){if((0,v.kZJ)(t))return;void 0!==t.default&&(this.default=t.default),void 0!==t.groups&&(this.groups=t.groups.map(t=>t)),this.groups.length||(this.default=!0);let e=t.quantity;void 0!==e&&(this.quantity=(0,v.DT4)(e)),this.particles=(0,v.wJ2)(t.particles,t=>(0,v.zwS)({},t))}}
1class t_ extends v.sJd{constructor(t){super(t),this.handleClickMode=t=>{if("push"!==t)return;let e=this.container,i=e.actualOptions.interactivity.modes.push;if(!i)return;let s=(0,v.VGA)(i.quantity);if(s<=0)return;let a=(0,v.Vh1)([void 0,...i.groups]),o=void 0!==a?e.actualOptions.particles.groups[a]:void 0,n=(0,v.TA3)(i.particles),r=(0,v.zwS)(o,n);e.particles.push(s,e.interactivity.mouse,r,a)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(t,...e){for(let i of(t.push||(t.push=new tx),e))t.push.load(i?.push)}reset(){}}async function tk(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalPush",t=>Promise.resolve(new t_(t)),e)}class tz{constructor(){this.quantity=2}load(t){if((0,v.kZJ)(t))return;let e=t.quantity;void 0!==e&&(this.quantity=(0,v.DT4)(e))}}class tM extends v.sJd{constructor(t){super(t),this.handleClickMode=t=>{let e=this.container,i=e.actualOptions;if(!i.interactivity.modes.remove||"remove"!==t)return;let s=(0,v.VGA)(i.interactivity.modes.remove.quantity);e.particles.removeQuantity(s)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(t,...e){for(let i of(t.remove||(t.remove=new tz),e))t.remove.load(i?.remove)}reset(){}}async function tC(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalRemove",t=>Promise.resolve(new tM(t)),e)}class tP{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing=v.mgy.easeOutQuad}load(t){(0,v.kZJ)(t)||(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.easing&&(this.easing=t.easing),void 0!==t.factor&&(this.factor=t.factor),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed))}}class tT extends tP{constructor(){super(),this.selectors=[]}load(t){super.load(t),(0,v.kZJ)(t)||void 0!==t.selectors&&(this.selectors=t.selectors)}}class tO extends tP{load(t){super.load(t),(0,v.kZJ)(t)||(this.divs=(0,v.wJ2)(t.divs,t=>{let e=new tT;return e.load(t),e}))}}let tS="repulse";class tD extends v.sJd{constructor(t,e){super(e),this._clickRepulse=()=>{let t=this.container,e=t.actualOptions.interactivity.modes.repulse;if(!e)return;let i=t.repulse??{particles:[]};if(i.finish||(i.count||(i.count=0),i.count++,i.count===t.particles.count&&(i.finish=!0)),i.clicking){let s=t.retina.repulseModeDistance;if(!s||s<0)return;let a=Math.pow(s/6,3),o=t.interactivity.mouse.clickPosition;if(void 0===o)return;let n=new v.jlt(o.x,o.y,a);for(let s of t.particles.quadTree.query(n,t=>this.isEnabled(t))){let{dx:t,dy:n,distance:r}=(0,v.vrU)(o,s.position),l=r**2,c=-a*e.speed/l;if(l<=a){i.particles.push(s);let e=v.Miz.create(t,n);e.length=c,s.velocity.setTo(e)}}}else if(!1===i.clicking){for(let t of i.particles)t.velocity.setTo(t.initialVelocity);i.particles=[]}},this._hoverRepulse=()=>{let t=this.container,e=t.interactivity.mouse.position,i=t.retina.repulseModeDistance;i&&!(i<0)&&e&&this._processRepulse(e,i,new v.jlt(e.x,e.y,i))},this._processRepulse=(t,e,i,s)=>{let a=this.container,o=a.particles.quadTree.query(i,t=>this.isEnabled(t)),n=a.actualOptions.interactivity.modes.repulse;if(!n)return;let{easing:r,speed:l,factor:c,maxSpeed:h}=n,d=this._engine.getEasing(r),u=(s?.speed??l)*c;for(let i of o){let{dx:s,dy:a,distance:o}=(0,v.vrU)(i.position,t),n=(0,v.qE8)(d(1-o/e)*u,0,h),r=v.Miz.create(o?s/o*n:u,o?a/o*n:u);i.position.addTo(r)}},this._singleSelectorRepulse=(t,e)=>{let i=this.container,s=i.actualOptions.interactivity.modes.repulse;if(!s)return;let a=document.querySelectorAll(t);a.length&&a.forEach(t=>{let a=i.retina.pixelRatio,o={x:(t.offsetLeft+.5*t.offsetWidth)*a,y:(t.offsetTop+.5*t.offsetHeight)*a},n=.5*t.offsetWidth*a,r=e.type===v.Q5V.circle?new v.jlt(o.x,o.y,n):new v.M_G(t.offsetLeft*a,t.offsetTop*a,t.offsetWidth*a,t.offsetHeight*a),l=s.divs,c=(0,v.NVT)(l,t);this._processRepulse(o,n,r,c)})},this._engine=t,e.repulse||(e.repulse={particles:[]}),this.handleClickMode=t=>{let i=this.container.actualOptions.interactivity.modes.repulse;if(!i||t!==tS)return;e.repulse||(e.repulse={particles:[]});let s=e.repulse;
1for(let t of(s.clicking=!0,s.count=0,e.repulse.particles))this.isEnabled(t)&&t.velocity.setTo(t.initialVelocity);s.particles=[],s.finish=!1,setTimeout(()=>{e.destroyed||(s.clicking=!1)},i.duration*v.XuV)}}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.repulse;e&&(t.retina.repulseModeDistance=e.distance*t.retina.pixelRatio)}interact(){let t=this.container,e=t.actualOptions,i=t.interactivity.status===v.RbF,s=e.interactivity.events,a=s.onHover,o=a.enable,n=a.mode,r=s.onClick,l=r.enable,c=r.mode,h=s.onDiv;i&&o&&(0,v.hnD)(tS,n)?this._hoverRepulse():l&&(0,v.hnD)(tS,c)?this._clickRepulse():(0,v.U6C)(tS,h,(t,e)=>this._singleSelectorRepulse(t,e))}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,a=(t?.interactivity??i.interactivity).events,o=a.onDiv,n=a.onHover,r=a.onClick,l=(0,v.iKf)(tS,o);if(!(l||n.enable&&s.position||r.enable&&s.clickPosition))return!1;let c=n.mode,h=r.mode;return(0,v.hnD)(tS,c)||(0,v.hnD)(tS,h)||l}loadModeOptions(t,...e){for(let i of(t.repulse||(t.repulse=new tO),e))t.repulse.load(i?.repulse)}reset(){}}async function tR(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalRepulse",e=>Promise.resolve(new tD(t,e)),e)}class tE{constructor(){this.factor=3,this.radius=200}load(t){(0,v.kZJ)(t)||(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.radius&&(this.radius=t.radius))}}class tI extends v.sJd{constructor(t){super(t)}clear(t,e,i){(!t.slow.inRange||i)&&(t.slow.factor=1)}init(){let t=this.container,e=t.actualOptions.interactivity.modes.slow;e&&(t.retina.slowModeRadius=e.radius*t.retina.pixelRatio)}interact(){}isEnabled(t){let e=this.container,i=e.interactivity.mouse,s=(t?.interactivity??e.actualOptions.interactivity).events;return s.onHover.enable&&!!i.position&&(0,v.hnD)("slow",s.onHover.mode)}loadModeOptions(t,...e){for(let i of(t.slow||(t.slow=new tE),e))t.slow.load(i?.slow)}reset(t){t.slow.inRange=!1;let e=this.container,i=e.actualOptions,s=e.interactivity.mouse.position,a=e.retina.slowModeRadius,o=i.interactivity.modes.slow;if(!o||!a||a<0||!s)return;let n=t.getPosition(),r=(0,v.YfF)(s,n),l=o.factor,{slow:c}=t;r>a||(c.inRange=!0,c.factor=r/a/l)}}async function tV(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalSlow",t=>Promise.resolve(new tI(t)),e)}let tA=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function tL(t){return new Promise(e=>{t.loading=!0;let i=new Image;t.element=i,i.addEventListener("load",()=>{t.loading=!1,e()}),i.addEventListener("error",()=>{t.element=void 0,t.error=!0,t.loading=!1,(0,v.tZQ)().error(`${v.dIx} loading image: ${t.source}`),e()}),i.src=t.source})}async function tF(t){if("svg"!==t.type)return void await tL(t);t.loading=!0;let e=await fetch(t.source);e.ok?t.svgData=await e.text():((0,v.tZQ)().error(`${v.dIx} Image not found`),t.error=!0),t.loading=!1}let tB=[0,4,2,1],tq=[8,8,4,2];class tU{constructor(t){this.pos=0,this.data=new Uint8ClampedArray(t)}getString(t){let e=this.data.slice(this.pos,this.pos+t);return this.pos+=e.length,e.reduce((t,e)=>t+String.fromCharCode(e),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let t="",e=0;do{e=this.data[this.pos++];for(let i=e;--i>=0;t+=String.fromCharCode(this.data[this.pos++]));}while(0!==e);return t}readSubBlocksBin(){let t=this.data[this.pos],e=0;for(let i=0;0!==t;i+=t+1,t=this.data[this.pos+i])e+=t;let i=new Uint8Array(e);t=this.data[this.pos++];for(let e=0;0!==t;t=this.data[this.pos++])for(let s=t;--s>=0;i[e++]=this.data[this.pos++]);return i}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}(r=p||(p={}))[r.Replace=0]="Replace",r[r.Combine=1]="Combine",r[r.RestoreBackgroun
1d=2]="RestoreBackground",r[r.RestorePrevious=3]="RestorePrevious",r[r.UndefinedA=4]="UndefinedA",r[r.UndefinedB=5]="UndefinedB",r[r.UndefinedC=6]="UndefinedC",r[r.UndefinedD=7]="UndefinedD",(l=f||(f={}))[l.Extension=33]="Extension",l[l.ApplicationExtension=255]="ApplicationExtension",l[l.GraphicsControlExtension=249]="GraphicsControlExtension",l[l.PlainTextExtension=1]="PlainTextExtension",l[l.CommentExtension=254]="CommentExtension",l[l.Image=44]="Image",l[l.EndOfFile=59]="EndOfFile";function tG(t,e){let i=[];for(let s=0;s<e;s++)i.push({r:t.data[t.pos],g:t.data[t.pos+1],b:t.data[t.pos+2]}),t.pos+=3;return i}async function tj(t,e,i,s,a,o){let n=e.frames[s(!0)];n.left=t.nextTwoBytes(),n.top=t.nextTwoBytes(),n.width=t.nextTwoBytes(),n.height=t.nextTwoBytes();let r=t.nextByte(),l=(128&r)==128;n.sortFlag=(32&r)==32,n.reserved=(24&r)>>>3,l&&(n.localColorTable=tG(t,1<<(7&r)+1));let c=t=>{let{r:s,g:o,b:r}=(l?n.localColorTable:e.globalColorTable)[t];return t!==a(null)?{r:s,g:o,b:r,a:255}:{r:s,g:o,b:r,a:i?~~((s+o+r)/3):0}},h=(()=>{try{return new ImageData(n.width,n.height,{colorSpace:"srgb"})}catch(t){if(t instanceof DOMException&&"IndexSizeError"===t.name)return null;throw t}})();if(null==h)throw EvalError("GIF frame size is to large");let d=t.nextByte(),u=t.readSubBlocksBin(),p=1<<d,f=(t,e)=>{let i=t>>>3,s=7&t;return(u[i]+(u[i+1]<<8)+(u[i+2]<<16)&(1<<e)-1<<s)>>>s};if((64&r)==64){for(let i=0,a=d+1,r=0,l=[[0]],u=0;u<4;u++){if(tB[u]<n.height){let t=0,e=0,s=!1;for(;!s;){let o=i;if(i=f(r,a),r+=a+1,i===p){a=d+1,l.length=p+2;for(let t=0;t<l.length;t++)l[t]=t<p?[t]:[]}else{for(let s of(i>=l.length?l.push(l[o].concat(l[o][0])):o!==p&&l.push(l[o].concat(l[i][0])),l[i])){let{r:i,g:a,b:o,a:r}=c(s);h.data.set([i,a,o,r],tB[u]*n.width+tq[u]*e+t%(4*n.width)),t+=4}l.length===1<<a&&a<12&&a++}t===4*n.width*(e+1)&&(e++,tB[u]+tq[u]*e>=n.height&&(s=!0))}}o?.(t.pos/(t.data.length-1),s(!1)+1,h,{x:n.left,y:n.top},{width:e.width,height:e.height})}n.image=h,n.bitmap=await createImageBitmap(h)}else{let i=0,a=d+1,r=0,l=-4,u=!1,v=[[0]];for(;!u;){let t=i;if(i=f(r,a),r+=a,i===p){a=d+1,v.length=p+2;for(let t=0;t<v.length;t++)v[t]=t<p?[t]:[]}else{if(i===p+1){u=!0;break}for(let e of(i>=v.length?v.push(v[t].concat(v[t][0])):t!==p&&v.push(v[t].concat(v[i][0])),v[i])){let{r:t,g:i,b:s,a}=c(e);h.data.set([t,i,s,a],l+=4)}v.length>=1<<a&&a<12&&a++}}n.image=h,n.bitmap=await createImageBitmap(h),o?.((t.pos+1)/t.data.length,s(!1)+1,n.image,{x:n.left,y:n.top},{width:e.width,height:e.height})}}async function tH(t,e,i,s,a,o){switch(t.nextByte()){case f.EndOfFile:return!0;case f.Image:await tj(t,e,i,s,a,o);break;case f.Extension:switch(t.nextByte()){case f.GraphicsControlExtension:{let i=e.frames[s(!1)];t.pos++;let o=t.nextByte();i.GCreserved=(224&o)>>>5,i.disposalMethod=(28&o)>>>2,i.userInputDelayFlag=(2&o)==2,i.delayTime=10*t.nextTwoBytes();let n=t.nextByte();(1&o)==1&&a(n),t.pos++;break}case f.ApplicationExtension:{t.pos++;let i={identifier:t.getString(8),authenticationCode:t.getString(3),data:t.readSubBlocksBin()};e.applicationExtensions.push(i);break}case f.CommentExtension:e.comments.push([s(!1),t.readSubBlocks()]);break;case f.PlainTextExtension:if(0===e.globalColorTable.length)throw EvalError("plain text extension without global color table");t.pos++,e.frames[s(!1)].plainTextData={left:t.nextTwoBytes(),top:t.nextTwoBytes(),width:t.nextTwoBytes(),height:t.nextTwoBytes(),charSize:{width:t.nextTwoBytes(),height:t.nextTwoBytes()},foregroundColor:t.nextByte(),backgroundColor:t.nextByte(),text:t.readSubBlocks()};break;default:t.skipSubBlocks()}break;default:throw EvalError("undefined block found")}return!1}async function tW(t,e,i){i||(i=!1);let s=await fetch(t);if(!s.ok&&404===s.status)throw EvalError("file not found");let a=await s.arrayBuffer(),o={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,{colorSpace:"srgb"}),comments:[],applicationExtensions:[]},n=new tU(new Uint8ClampedArray(a));if("GIF89a"!==n.getString(6))throw Error("not a supported GIF file");o.width=n.nextTwoBytes(),o.height=n.nextTwoBytes();let r=n.nextByte(),l=(128&r)==128;o.colorRes=(112&r)>>>4,o.sortFlag=(8&r)==8;let c=n.nextByte();o.pixelAspectRatio=n.nextByte(),0!==o.pixelAspectRatio&&(o.pixelAspectRatio=(o.pixelAspectRatio+15)/64),l&&(o.globalColorTable=tG(n,1<<(7&r)+1));let h=(()=>{try{return new ImageData(o.width,o.height,{colorSpace:"srgb"})}catch(t){if(t instanceof DOMException&&"IndexSizeError"===t.name)return null;throw t}})();if(null==h)throw Error("GIF frame size is to large");let{r:d,g:u,b:f}=o.globalColorTable[c];h.data.set(l?[d,u,f,255]:[0,0,0,0]);for(let t=4;t<h.data.length;t*=2)h.data.copyWithin(t,0,t);o.backgroundImage=h;let v=-1,g=!0,y=-1,m=t=>(t&&(g=!0),v),b=t=>(null!=t&&(y=t),y);try{do g&&(o.frames.push({left:0,top:0,width:0,height:0,disposalMethod:p.Replace,image:new ImageData(1,1,{colorSpace:"srgb"}
1),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),v++,y=-1,g=!1);while(!await tH(n,o,i,m,b,e));for(let t of(o.frames.length--,o.frames)){if(t.userInputDelayFlag&&0===t.delayTime){o.totalTime=1/0;break}o.totalTime+=t.delayTime}return o}catch(t){if(t instanceof EvalError)throw Error(`error while parsing frame ${v} "${t.message}"`);throw t}}async function tY(t){if("gif"!==t.type)return void await tL(t);t.loading=!0;try{t.gifData=await tW(t.source),t.gifLoopCount=function(t){for(let e of t.applicationExtensions)if(e.identifier+e.authenticationCode==="NETSCAPE2.0")return e.data[1]+(e.data[2]<<8);return NaN}(t.gifData)??0,t.gifLoopCount||(t.gifLoopCount=1/0)}catch{t.error=!0}t.loading=!1}class tJ{constructor(t){this.validTypes=["image","images"],this.loadImageShape=async t=>{if(!this._engine.loadImage)throw Error(`${v.dIx} image shape not initialized`);await this._engine.loadImage({gif:t.gif,name:t.name,replaceColor:t.replaceColor??!1,src:t.src})},this._engine=t}addImage(t){this._engine.images||(this._engine.images=[]),this._engine.images.push(t)}draw(t){let{context:e,radius:i,particle:s,opacity:a}=t,o=s.image,n=o?.element;if(o){if(e.globalAlpha=a,o.gif&&o.gifData)!function(t){let{context:e,radius:i,particle:s,delta:a}=t,o=s.image;if(!o?.gifData||!o.gif)return;let n=new OffscreenCanvas(o.gifData.width,o.gifData.height),r=n.getContext("2d");if(!r)throw Error("could not create offscreen canvas context");r.imageSmoothingQuality="low",r.imageSmoothingEnabled=!1,r.clearRect(0,0,n.width,n.height),void 0===s.gifLoopCount&&(s.gifLoopCount=o.gifLoopCount??0);let l=s.gifFrame??0,c={x:-(.5*o.gifData.width),y:-(.5*o.gifData.height)},h=o.gifData.frames[l];if(void 0===s.gifTime&&(s.gifTime=0),h.bitmap){switch(e.scale(i/o.gifData.width,i/o.gifData.height),h.disposalMethod){case p.UndefinedA:case p.UndefinedB:case p.UndefinedC:case p.UndefinedD:case p.Replace:r.drawImage(h.bitmap,h.left,h.top),e.drawImage(n,c.x,c.y),r.clearRect(0,0,n.width,n.height);break;case p.Combine:r.drawImage(h.bitmap,h.left,h.top),e.drawImage(n,c.x,c.y);break;
1case p.RestoreBackground:r.drawImage(h.bitmap,h.left,h.top),e.drawImage(n,c.x,c.y),r.clearRect(0,0,n.width,n.height),o.gifData.globalColorTable.length?r.putImageData(o.gifData.backgroundImage,c.x,c.y):r.putImageData(o.gifData.frames[0].image,c.x+h.left,c.y+h.top);break;case p.RestorePrevious:{let t=r.getImageData(0,0,n.width,n.height);r.drawImage(h.bitmap,h.left,h.top),e.drawImage(n,c.x,c.y),r.clearRect(0,0,n.width,n.height),r.putImageData(t,0,0)}}if(s.gifTime+=a.value,s.gifTime>h.delayTime){if(s.gifTime-=h.delayTime,++l>=o.gifData.frames.length){if(--s.gifLoopCount<=0)return;l=0,r.clearRect(0,0,n.width,n.height)}s.gifFrame=l}e.scale(o.gifData.width/i,o.gifData.height/i)}}(t);else if(n){let t=o.ratio,s={x:-i,y:-i},a=2*i;e.drawImage(n,s.x,s.y,a,a/t)}e.globalAlpha=1}}getSidesCount(){return 12}async init(t){let e=t.actualOptions;if(e.preload&&this._engine.loadImage)for(let t of e.preload)await this._engine.loadImage(t)}loadShape(t){if("image"!==t.shape&&"images"!==t.shape)return;this._engine.images||(this._engine.images=[]);let e=t.shapeData;!e||this._engine.images.find(t=>t.name===e.name||t.source===e.src)||this.loadImageShape(e).then(()=>{this.loadShape(t)})}particleInit(t,e){if("image"!==e.shape&&"images"!==e.shape)return;this._engine.images||(this._engine.images=[]);let i=this._engine.images,s=e.shapeData;if(!s)return;let a=e.getFillColor(),o=i.find(t=>t.name===s.name||t.source===s.src);if(!o)return;let n=s.replaceColor??o.replaceColor;o.loading?setTimeout(()=>{this.particleInit(t,e)}):(async()=>{let t;if(o.svgData&&a){let i,n;t=await (i=function(t,e,i){let{svgData:s}=t;if(!s)return"";let a=(0,v.LCf)(e,i);if(s.includes("fill"))return s.replace(tA,()=>a);let o=s.indexOf(">");return`${s.substring(0,o)} fill="${a}"${s.substring(o)}`}(o,a,e.opacity?.value??1),n={color:a,gif:s.gif,data:{...o,svgData:i},loaded:!1,ratio:s.width/s.height,replaceColor:s.replaceColor,source:s.src},new Promise(t=>{let e=new Blob([i],{type:"image/svg+xml"}),s=URL||window.URL||window.webkitURL||window,a=s.createObjectURL(e),r=new Image;r.addEventListener("load",()=>{n.loaded=!0,n.element=r,t(n),s.revokeObjectURL(a)});let l=async()=>{s.revokeObjectURL(a);let e={...o,error:!1,loading:!0};await tL(e),n.loaded=!0,n.element=e.element,t(n)};r.addEventListener("error",()=>void l()),r.src=a}))}else t={color:a,data:o,element:o.element,gif:o.gif,gifData:o.gifData,gifLoopCount:o.gifLoopCount,loaded:!0,ratio:s.width&&s.height?s.width/s.height:o.ratio??1,replaceColor:n,source:s.src};t.ratio||(t.ratio=1);let i=s.fill??e.shapeFill,r=s.close??e.shapeClose;e.image=t,e.shapeFill=i,e.shapeClose=r})()}}class t${constructor(){this.src="",this.gif=!1}load(t){(0,v.kZJ)(t)||(void 0!==t.gif&&(this.gif=t.gif),void 0!==t.height&&(this.height=t.height),void 0!==t.name&&(this.name=t.name),void 0!==t.replaceColor&&(this.replaceColor=t.replaceColor),void 0!==t.src&&(this.src=t.src),void 0!==t.width&&(this.width=t.width))}}class tZ{constructor(t){this.id="imagePreloader",this._engine=t}async getPlugin(){return await Promise.resolve(),{}}loadOptions(t,e){if(!e?.preload)return;t.preload||(t.preload=[]);let i=t.preload;for(let t of e.preload){let e=i.find(e=>e.name===t.name||e.src===t.src);if(e)e.load(t);else{let e=new t$;e.load(t),i.push(e)}}}needsPlugin(){return!0}}async function tN(t,e=!0){t.checkVersion("3.9.1"),t.loadImage||(t.loadImage=async e=>{if(!e.name&&!e.src)throw Error(`${v.dIx} no image source provided`);if(t.images||(t.images=[]),!t.images.find(t=>t.name===e.name||t.source===e.src))try{let i,s={gif:e.gif??!1,name:e.name??e.src,source:e.src,type:e.src.substring(e.src.length-3),error:!1,loading:!0,replaceColor:e.replaceColor,ratio:e.width&&e.height?e.width/e.height:void 0};t.images.push(s),i=e.gif?tY:e.replaceColor?tF:tL,await i(s)}catch{throw Error(`${v.dIx} ${e.name??e.src} not found`)}});let i=new tZ(t);await t.addPlugin(i,e),await t.addShape(new tJ(t),e)}class tQ extends v.PVU{constructor(){super(),this.sync=!1}load(t){(0,v.kZJ)(t)||(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class tX extends v.PVU{constructor(){super(),this.sync=!1}load(t){(0,v.kZJ)(t)||(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class tK{constructor(){this.count=0,this.delay=new tQ,this.duration=new tX}load(t){(0,v.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),this.delay.load(t.delay),this.duration.load(t.duration))}}class t0{constructor(t){this.container=t}init(t){let e=this.container,i=t.options.life;i&&(t.life={delay:e.retina.reduceFactor?(0,v.VGA)(i.delay.value)*(i.delay.sync?1:(0,v.G0i)())/e.retina.reduceFactor*v.XuV:0,delayTime:0,duration:e.retina.reduceFactor?(0,v.VGA)(i.duration.value)*(i.duration.sync?1:(0,v.G0i)())/e.retina.reduceFactor*v.XuV:0,time:0,count:i.count},t.life.duration<=0&&(t.life.duration=-1),t.life.count<=0&&(t.life.count=-1),t.life&&(t.spawning=t.life.delay>0))}isEnabled(t){return!t.destroyed}loadOptions(t,...e){for(let i of(t.life||(t.life=new tK),e))t.life.load(i?.life)}
1update(t,e){this.isEnabled(t)&&t.life&&function(t,e,i){if(!t.life)return;let s=t.life,a=!1;if(t.spawning){if(s.delayTime+=e.value,!(s.delayTime>=t.life.delay))return;a=!0,t.spawning=!1,s.delayTime=0,s.time=0}if(-1===s.duration||t.spawning||(a?s.time=0:s.time+=e.value,s.time<s.duration))return;if(s.time=0,t.life.count>0&&t.life.count--,0===t.life.count)return t.destroy();let o=(0,v.DT4)(0,i.width),n=(0,v.DT4)(0,i.width);t.position.x=(0,v.U43)(o),t.position.y=(0,v.U43)(n),t.spawning=!0,s.delayTime=0,s.time=0,t.reset();let r=t.options.life;r&&(s.delay=(0,v.VGA)(r.delay.value)*v.XuV,s.duration=(0,v.VGA)(r.duration.value)*v.XuV)}(t,e,this.container.canvas.size)}}async function t1(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("life",async t=>Promise.resolve(new t0(t)),e)}class t2{constructor(){this.validTypes=["line"]}draw(t){!function(t){let{context:e,particle:i,radius:s}=t,a=i.shapeData;e.moveTo(-s,0),e.lineTo(s,0),e.lineCap=a?.cap??"butt"}(t)}getSidesCount(){return 1}}async function t5(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new t2,e)}class t3{init(){}isEnabled(t){return!(0,v.B90)()&&!t.destroyed&&t.container.actualOptions.interactivity.events.onHover.parallax.enable}move(t){let e=t.container,i=e.actualOptions.interactivity.events.onHover.parallax;if((0,v.B90)()||!i.enable)return;let s=i.force,a=e.interactivity.mouse.position;if(!a)return;let o=e.canvas.size,n={x:.5*o.width,y:.5*o.height},r=i.smooth,l=t.getRadius()/s,c={x:(a.x-n.x)*l,y:(a.y-n.y)*l},{offset:h}=t;h.x+=(c.x-h.x)/r,h.y+=(c.y-h.y)/r}}async function t4(t,e=!0){t.checkVersion("3.9.1"),await t.addMover("parallax",()=>Promise.resolve(new t3),e)}class t6 extends v.U4p{constructor(t){super(t)}clear(){}init(){}interact(t){let e=this.container;void 0===t.attractDistance&&(t.attractDistance=(0,v.VGA)(t.options.move.attract.distance)*e.retina.pixelRatio);let i=t.attractDistance,s=t.getPosition();for(let a of e.particles.quadTree.queryCircle(s,i)){if(t===a||!a.options.move.attract.enable||a.destroyed||a.spawning)continue;let e=a.getPosition(),{dx:i,dy:o}=(0,v.vrU)(s,e),n=t.options.move.attract.rotate,r=i/(1e3*n.x),l=o/(1e3*n.y),c=a.size.value/t.size.value,h=1/c;t.velocity.x-=r*c,t.velocity.y-=l*c,a.velocity.x+=r*h,a.velocity.y+=l*h}}isEnabled(t){return t.options.move.attract.enable}reset(){}}async function t9(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("particlesAttract",t=>Promise.resolve(new t6(t)),e)}function t8(t,e,i,s,a,o){let n=(0,v.qE8)(t.options.collisions.absorb.speed*a.factor/10,0,s);t.size.value+=.5*n,i.size.value-=n,s<=o&&(i.size.value=0,i.destroy())}let t7=t=>{void 0===t.collisionMaxSpeed&&(t.collisionMaxSpeed=(0,v.VGA)(t.options.collisions.maxSpeed)),t.velocity.length>t.collisionMaxSpeed&&(t.velocity.length=t.collisionMaxSpeed)};function et(t,e){(0,v.pEn)((0,v.Tgl)(t),(0,v.Tgl)(e)),t7(t),t7(e)}class ee extends v.U4p{constructor(t){super(t)}clear(){}init(){}interact(t,e){if(t.destroyed||t.spawning)return;let i=this.container,s=t.getPosition(),a=t.getRadius();for(let o of i.particles.quadTree.queryCircle(s,2*a)){if(t===o||!o.options.collisions.enable||t.options.collisions.mode!==o.options.collisions.mode||o.destroyed||o.spawning)continue;let n=o.getPosition(),r=o.getRadius();if(!(Math.abs(Math.round(s.z)-Math.round(n.z))>a+r))(0,v.YfF)(s,n)>a+r||function(t,e,i,s){switch(t.options.collisions.mode){case v._or.absorb:let a,o;a=t.getRadius(),o=e.getRadius(),void 0===a&&void 0!==o?t.destroy():void 0!==a&&void 0===o?e.destroy():void 0!==a&&void 0!==o&&(a>=o?t8(t,a,e,o,i,s):t8(e,o,t,a,i,s));break;case v._or.bounce:et(t,e);break;case v._or.destroy:t.unbreakable||e.unbreakable||et(t,e),void 0===t.getRadius()&&void 0!==e.getRadius()?t.destroy():void 0!==t.getRadius()&&void 0===e.getRadius()?e.destroy():void 0!==t.getRadius()&&void 0!==e.getRadius()&&(t.getRadius()>=e.getRadius()?e:t).destroy()}}(t,o,e,i.retina.pixelRatio)}}isEnabled(t){return t.options.collisions.enable}reset(){}}async function ei(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("particlesCollisions",t=>Promise.resolve(new ee(t)),e)}class es extends v.jlt{constructor(t,e,i,s){super(t,e,i),this.canvasSize=s,this.canvasSize={...s}}contains(t){let{width:e,height:i}=this.canvasSize,{x:s,y:a}=t;return super.contains(t)||super.contains({x:s-e,y:a})||super.contains({x:s-e,y:a-i})||super.contains({x:s,y:a-i})}intersects(t){if(super.intersects(t))return!0;let e={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==t.radius){let i=new v.jlt(e.x,e.y,2*t.radius);return super.intersects(i)}if(void 0!==t.size){let i=new v.M_G(e.x,e.y,2*t.size.width,2*t.size.height);return super.intersects(i)}return!1}}class ea{constructor(){this.blur=5,this.color=new v.Oit,this.color.value="#000",this.enable=!1}load(t){(0,v.kZJ)(t)||(void 0!==t.blur&&(this.blur=t.blur),this.color=v.Oit.create(this.color,t.color),void 0!==t.enable&&(this.enable=t.enable))}}class eo{constructor(){this.enable=!1,this.frequency=1}load(t){(0,v.kZJ)(t)||(void 0!==t.color&&(this.color=v.Oit.create(this.color,t.color)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=t.opacity))}}class en{constructor(){this.blink=!1,this.color=new v.Oit,this.color.value="#fff",this.consent=!1,this.distance=100,this.enable=!1,this.frequency=1,this.opacity=1,this.shadow=new ea,this.triangles=new eo,this.width=1,this.warp=!1}load(t){(0,v.kZJ)(t)||(void 0!==t.id&&(this.id=t.id),void 0!==t.blink&&(this.blink=t.blink),this.color=v.Oit.create(this.color,t.color),void 0!==t.consent&&(this.consent=t.consent),void 0!==t.distance&&(this.distance=t.distance),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=t.opacity),this.shadow.load(t.shadow),this.triangles.load(t.triangles),void 0!==t.width&&(this.width=t.width),void 0!==t.warp&&(this.warp=t.warp))}}class er extends v.U4p{constructor(t,e){super(t),this._setColor=t=>{if(!t.options.links)return;let e=this._linkContainer,i=t.options.links,s=void 0===i.id?e.particles.linksColor:e.particles.linksColors.get(i.id);if(s)return;let a=i.color;s=(0,v.PGG)(this._engine,a,i.blink,i.consent),void 0===i.id?e.particles.linksColor=s:e.particles.linksColors.set(i.id,s)},this._linkContainer=t,this._engine=e}clear(){}init(){this._linkContainer.particles.linksColor=void 0,this._linkContainer.particles.linksColors=new Map}interact(t){let e;if(!t.options.links)return;t.links=[];let i=t.getPosition(),s=this.container,a=s.canvas.size;if(i.x<0||i.y<0||i.x>a.width||i.y>a.height)return;let o=t.options.links,n=o.opacity,r=t.retina.linksDistance??0,l=o.warp;for(let c of(e=l?new es(i.x,i.y,r,a):new v.jlt(i.x,i.y,r),s.particles.quadTree.query(e))){let e=c.options.links;
1if(t===c||!e?.enable||o.id!==e.id||c.spawning||c.destroyed||!c.links||t.links.some(t=>t.destination===c)||c.links.some(e=>e.destination===t))continue;let s=c.getPosition();if(s.x<0||s.y<0||s.x>a.width||s.y>a.height)continue;let h=function(t,e,i,s,a){let{dx:o,dy:n,distance:r}=(0,v.vrU)(t,e);if(!a||r<=i)return r;let l={x:Math.abs(o),y:Math.abs(n)},c={x:Math.min(l.x,s.width-l.x),y:Math.min(l.y,s.height-l.y)};return Math.sqrt(c.x**2+c.y**2)}(i,s,r,a,l&&e.warp);if(h>r)continue;let d=(1-h/r)*n;this._setColor(t),t.links.push({destination:c,opacity:d})}}isEnabled(t){return!!t.options.links?.enable}loadParticlesOptions(t,...e){for(let i of(t.links||(t.links=new en),e))t.links.load(i?.links)}reset(){}}async function el(t,e=!0){await t.addInteractor("particlesLinks",async e=>Promise.resolve(new er(e,t)),e)}function ec(t,e){var i;let s=((i=t.map(t=>t.id)).sort((t,e)=>t-e),i.join("_")),a=e.get(s);return void 0===a&&(a=(0,v.G0i)(),e.set(s,a)),a}class eh{constructor(t,e){this._drawLinkLine=(t,e)=>{let i=t.options.links;if(!i?.enable)return;let s=this._container,a=s.actualOptions,o=e.destination,n=t.getPosition(),r=o.getPosition(),l=e.opacity;s.canvas.draw(e=>{let c,h=t.options.twinkle?.lines;if(h?.enable){let t=h.frequency,e=(0,v.BN0)(this._engine,h.color);(0,v.G0i)()<t&&e&&(c=e,l=(0,v.VGA)(h.opacity))}if(!c){let e=void 0!==i.id?s.particles.linksColors.get(i.id):s.particles.linksColor;c=(0,v._hh)(t,o,e)}if(!c)return;let d=t.retina.linksWidth??0,u=t.retina.linksDistance??0,{backgroundMask:p}=a;!function(t){let e=!1,{begin:i,end:s,engine:a,maxDistance:o,context:n,canvasSize:r,width:l,backgroundMask:c,colorLine:h,opacity:d,links:u}=t;if((0,v.YfF)(i,s)<=o)(0,v.V6E)(n,i,s),e=!0;else if(u.warp){let t,a,l={x:s.x-r.width,y:s.y},c=(0,v.vrU)(i,l);if(c.distance<=o){let e=i.y-c.dy/c.dx*i.x;t={x:0,y:e},a={x:r.width,y:e}}else{let e={x:s.x,y:s.y-r.height},n=(0,v.vrU)(i,e);if(n.distance<=o){let e=-(i.y-n.dy/n.dx*i.x)/(n.dy/n.dx);t={x:e,y:0},a={x:e,y:r.height}}else{let e={x:s.x-r.width,y:s.y-r.height},n=(0,v.vrU)(i,e);if(n.distance<=o){let e=i.y-n.dy/n.dx*i.x;a={x:(t={x:-e/(n.dy/n.dx),y:e}).x+r.width,y:t.y+r.height}}}}t&&a&&((0,v.V6E)(n,i,t),(0,v.V6E)(n,s,a),e=!0)}if(!e)return;n.lineWidth=l,c.enable&&(n.globalCompositeOperation=c.composite),n.strokeStyle=(0,v.xxz)(h,d);let{shadow:p}=u;if(p.enable){let t=(0,v.BN0)(a,p.color);t&&(n.shadowBlur=p.blur,n.shadowColor=(0,v.xxz)(t))}n.stroke()}({context:e,width:d,begin:n,end:r,engine:this._engine,maxDistance:u,canvasSize:s.canvas.size,links:i,backgroundMask:p,colorLine:c,opacity:l})})},this._drawLinkTriangle=(t,e,i)=>{let s=t.options.links;if(!s?.enable)return;let a=s.triangles;if(!a.enable)return;let o=this._container,n=o.actualOptions,r=e.destination,l=i.destination,c=a.opacity??(e.opacity+i.opacity)*.5;c<=0||o.canvas.draw(e=>{let i=t.getPosition(),h=r.getPosition(),d=l.getPosition(),u=t.retina.linksDistance??0;if((0,v.YfF)(i,h)>u||(0,v.YfF)(d,h)>u||(0,v.YfF)(d,i)>u)return;let p=(0,v.BN0)(this._engine,a.color);if(!p){let e=void 0!==s.id?o.particles.linksColors.get(s.id):o.particles.linksColor;p=(0,v._hh)(t,r,e)}p&&function(t){let{context:e,pos1:i,pos2:s,pos3:a,backgroundMask:o,colorTriangle:n,opacityTriangle:r}=t;e.beginPath(),e.moveTo(i.x,i.y),e.lineTo(s.x,s.y),e.lineTo(a.x,a.y),e.closePath(),o.enable&&(e.globalCompositeOperation=o.composite),e.fillStyle=(0,v.xxz)(n,r),e.fill()}({context:e,pos1:i,pos2:h,pos3:d,backgroundMask:n.backgroundMask,colorTriangle:p,opacityTriangle:c})})},this._drawTriangles=(t,e,i,s)=>{let a=i.destination;if(!(t.links?.triangles.enable&&a.options.links?.triangles.enable))return;let o=a.links?.filter(t=>{let e=this._getLinkFrequency(a,t.destination);return a.options.links&&e<=a.options.links.frequency&&s.findIndex(e=>e.destination===t.destination)>=0});if(o?.length)for(let s of o){let o=s.destination;this._getTriangleFrequency(e,a,o)>t.links.triangles.frequency||this._drawLinkTriangle(e,i,s)}},this._getLinkFrequency=(t,e)=>ec([t,e],this._freqs.links),this._getTriangleFrequency=(t,e,i)=>ec([t,e,i],this._freqs.triangles),this._container=t,this._engine=e,this._freqs={links:new Map,triangles:new Map}}
1drawParticle(t,e){let{links:i,options:s}=e;if(!i?.length)return;let a=i.filter(t=>s.links&&(s.links.frequency>=1||this._getLinkFrequency(e,t.destination)<=s.links.frequency));for(let t of a)this._drawTriangles(s,e,t,a),t.opacity>0&&(e.retina.linksWidth??0)>0&&this._drawLinkLine(e,t)}async init(){this._freqs.links=new Map,this._freqs.triangles=new Map,await Promise.resolve()}particleCreated(t){if(t.links=[],!t.options.links)return;let e=this._container.retina.pixelRatio,{retina:i}=t,{distance:s,width:a}=t.options.links;i.linksDistance=s*e,i.linksWidth=a*e}particleDestroyed(t){t.links=[]}}class ed{constructor(t){this.id="links",this._engine=t}getPlugin(t){return Promise.resolve(new eh(t,this._engine))}loadOptions(){}needsPlugin(){return!0}}async function eu(t,e=!0){let i=new ed(t);await t.addPlugin(i,e)}async function ep(t,e=!0){t.checkVersion("3.9.1"),await el(t,e),await eu(t,e)}class ef{draw(t){let{particle:e,radius:i}=t;!function(t,e,i){let{context:s}=t,a=i.count.numerator*i.count.denominator,o=i.count.numerator/i.count.denominator,n=Math.PI-(0,v.puj)(180*(o-2)/o);if(s){s.beginPath(),s.translate(e.x,e.y),s.moveTo(0,0);for(let t=0;t<a;t++)s.lineTo(i.length,0),s.translate(i.length,0),s.rotate(n)}}(t,this.getCenter(e,i),this.getSidesData(e,i))}getSidesCount(t){let e=t.shapeData;return Math.round((0,v.VGA)(e?.sides??5))}}class ev extends ef{constructor(){super(...arguments),this.validTypes=["polygon"]}getCenter(t,e){return{x:-e/(t.sides/3.5),y:-e/.76}}getSidesData(t,e){let i=t.sides;return{count:{denominator:1,numerator:i},length:2.66*e/(i/3)}}}class eg extends ef{constructor(){super(...arguments),this.validTypes=["triangle"]}getCenter(t,e){return{x:-e,y:e/1.66}}getSidesCount(){return 3}getSidesData(t,e){return{count:{denominator:2,numerator:3},length:2*e}}}async function ey(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new ev,e)}async function em(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new eg,e)}async function eb(t,e=!0){t.checkVersion("3.9.1"),await ey(t,e),await em(t,e)}class ew{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(t){(0,v.kZJ)(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=(0,v.DT4)(t.speed)),void 0!==t.decay&&(this.decay=(0,v.DT4)(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class ex extends v.PVU{constructor(){super(),this.animation=new ew,this.direction=v.pTR.clockwise,this.path=!1,this.value=0}load(t){(0,v.kZJ)(t)||(super.load(t),void 0!==t.direction&&(this.direction=t.direction),this.animation.load(t.animation),void 0!==t.path&&(this.path=t.path))}}let e_=2*Math.PI;class ek{constructor(t){this.container=t}init(t){let e=t.options.rotate;if(!e)return;t.rotate={enable:e.animation.enable,value:(0,v.puj)((0,v.VGA)(e.value)),min:0,max:e_},t.pathRotation=e.path;let i=e.direction;switch(i===v.pTR.random&&(i=Math.floor(2*(0,v.G0i)())>0?v.pTR.counterClockwise:v.pTR.clockwise),i){case v.pTR.counterClockwise:case"counterClockwise":t.rotate.status=v.H_P.decreasing;break;case v.pTR.clockwise:t.rotate.status=v.H_P.increasing}let s=e.animation;s.enable&&(t.rotate.decay=1-(0,v.VGA)(s.decay),t.rotate.velocity=(0,v.VGA)(s.speed)/360*this.container.retina.reduceFactor,s.sync||(t.rotate.velocity*=(0,v.G0i)())),t.rotation=t.rotate.value}isEnabled(t){let e=t.options.rotate;return!!e&&!t.destroyed&&!t.spawning&&(!!e.value||e.animation.enable||e.path)}loadOptions(t,...e){for(let i of(t.rotate||(t.rotate=new ex),e))t.rotate.load(i?.rotate)}update(t,e){!this.isEnabled(t)||(t.isRotating=!!t.rotate,t.rotate&&((0,v.UC0)(t,t.rotate,!1,v.VKE.none,e),t.rotation=t.rotate.value))}}async function ez(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("rotate",t=>Promise.resolve(new ek(t)),e)}let eM=Math.sqrt(2);class eC{constructor(){this.validTypes=["edge","square"]}draw(t){!function(t){let{context:e,radius:i}=t,s=i/eM,a=2*s;e.rect(-s,-s,a,a)}(t)}getSidesCount(){return 4}}async function eP(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new eC,e)}class eT{constructor(){this.validTypes=["star"]}draw(t){!function(t){let{context:e,particle:i,radius:s}=t,a=i.sides,o=i.starInset??2;e.moveTo(0,0-s);for(let t=0;t<a;t++)e.rotate(Math.PI/a),e.lineTo(0,0-s*o),e.rotate(Math.PI/a),e.lineTo(0,0-s)}(t)}getSidesCount(t){let e=t.shapeData;return Math.round((0,v.VGA)(e?.sides??5))}particleInit(t,e){let i=e.shapeData;e.starInset=(0,v.VGA)(i?.inset??2)}}async function eO(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new eT,e)}class eS{constructor(t,e){this._container=t,this._engine=e}init(t){let e=this._container,i=t.options,s=(0,v.TA3)(i.stroke,t.id,i.reduceDuplicates);t.strokeWidth=(0,v.VGA)(s.width)*e.retina.pixelRatio,t.strokeOpacity=(0,v.VGA)(s.opacity??1),t.strokeAnimation=s.color?.animation;let a=(0,v.R5R)(this._engine,s.color)??t.getFillColor();a&&(t.strokeColor=(0,v.pzy)(a,t.strokeAnimation,e.retina.reduceFactor))}isEnabled(t){let e=t.strokeAnimation,{strokeColor:i}=t;return!t.destroyed&&!t.spawning&&!!e&&(i?.h.value!==void 0&&i.h.enable||i?.s.value!==void 0&&i.s.enable||i?.l.value!==void 0&&i.l.enable)}update(t,e){this.isEnabled(t)&&(0,v.JvX)(t.strokeColor,e)}}async function eD(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("strokeColor",e=>Promise.resolve(new eS(e,t)),e)}async function eR(t,e=!0){t.checkVersion("3.9.1"),await t4(t,!1),await Q(t,!1),await ts(t,!1),await th(t,!1),await tf(t,!1),await tm(t,!1),await tw(t,!1),await tk(t,!1),await tC(t,!1),await tR(t,!1),await tV(t,!1),await t9(t,!1),await ei(t,!1),await ep(t,!1),await j(t,!1),await Y(t,!1),await tN(t,!1),await t5(t,!1),await eb(t,!1),await eP(t,!1),await eO(t,!1),await t1(t,!1),await ez(t,!1),await eD(t,!1),await G(t,e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.