import{t as e}from"./rolldown-runtime.CSLoBULC.mjs";import{D as t,H as n,I as r,W as i,f as a,h as o,u as s,w as c}from"./react.BewV2YM6.mjs";import{A as l,R as u,at as d,n as f,s as p}from"./framer.CQ-AGaXs.mjs";function m(){return h(lt(),0,.9999999999999999)}function h(e,t,n){return Math.min(Math.max(e,t),n)}function g(e,t,n,r){return Math.floor((e*n+t*r)/(n+r))}function _(e){let t=y(e),n=ee(e);return t===n&&(n=0),m()*(t-n)+n}function v(e){return typeof e==`number`?e:_(e)}function ee(e){return typeof e==`number`?e:e.min}function y(e){return typeof e==`number`?e:e.max}function b(e,t){if(e===t||t===void 0&&typeof e==`number`)return e;let n=ee(e),r=y(e);return t===void 0?b(n,r):{min:Math.min(n,t),max:Math.max(r,t)}}function x(e){let t=e.random,{enable:n,minimumValue:r}=typeof t==`boolean`?{enable:t,minimumValue:0}:t;return v(n?b(e.value,r):e.value)}function S(e,t){let n=e.x-t.x,r=e.y-t.y;return{dx:n,dy:r,distance:Math.sqrt(n*n+r*r)}}function C(e,t){return S(e,t).distance}function te(e,t,n){if(typeof e==`number`)return e*Math.PI/180;switch(e){case`top`:return-Math.PI/2;case`top-right`:return-Math.PI/4;case`right`:return 0;case`bottom-right`:return Math.PI/4;case`bottom`:return Math.PI/2;case`bottom-left`:return 3*Math.PI/4;case`left`:return Math.PI;case`top-left`:return-3*Math.PI/4;case`inside`:return Math.atan2(n.y-t.y,n.x-t.x);case`outside`:return Math.atan2(t.y-n.y,t.x-n.x);case`none`:default:return m()*Math.PI*2}}function ne(e){let t=N.origin;return t.length=1,t.angle=e,t}function re(e,t,n,r){return N.create(e.x*(n-r)/(n+r)+2*t.x*r/(n+r),e.y)}function ie(e,t){switch(t){case`ease-out-quad`:return 1-(1-e)**2;case`ease-out-cubic`:return 1-(1-e)**3;case`ease-out-quart`:return 1-(1-e)**4;case`ease-out-quint`:return 1-(1-e)**5;case`ease-out-expo`:return e===1?1:1-2**(-10*e);case`ease-out-sine`:return Math.sin(e*Math.PI/2);case`ease-out-back`:{let t=1.70158;return 1+(t+1)*(e-1)**3+t*(e-1)**2}case`ease-out-circ`:return Math.sqrt(1-(e-1)**2);default:return e}}function ae(e){return e.position?.x!==void 0&&e.position?.y!==void 0?{x:e.position.x*e.size.width/100,y:e.position.y*e.size.height/100}:void 0}function w(e){return{x:(e.position?.x??100*m())*e.size.width/100,y:(e.position?.y??100*m())*e.size.height/100}}function oe(e){let t={x:e.position?.x===void 0?void 0:v(e.position.x),y:e.position?.y===void 0?void 0:v(e.position.y)};return w({size:e.size,position:t})}function se(e){return{x:e.position?.x??m()*e.size.width,y:e.position?.y??m()*e.size.height}}function ce(e){return e.endsWith(`%`)?parseFloat(e)/100:parseFloat(e)}function le(e,t,n,r,i,a){let o={bounced:!1};return t.minr.max||t.maxr.max||(e.max>=n.min&&e.max<=(n.max+n.min)/2&&i>0||e.min<=n.max&&e.min>(n.max+n.min)/2&&i<0)&&(o.velocity=i*-a,o.bounced=!0),o}function ue(e,t){if(!(t instanceof Array))return e.matches(t);for(let n of t)if(e.matches(n))return!0;return!1}function de(){return i===void 0||!i||i.document===void 0||!i.document}function fe(){return de()?e=>setTimeout(e):e=>(i.requestAnimationFrame||i.webkitRequestAnimationFrame||i.mozRequestAnimationFrame||i.oRequestAnimationFrame||i.msRequestAnimationFrame||i.setTimeout)(e)}function pe(){return de()?e=>clearTimeout(e):e=>(i.cancelAnimationFrame||i.webkitCancelRequestAnimationFrame||i.mozCancelRequestAnimationFrame||i.oCancelRequestAnimationFrame||i.msCancelRequestAnimationFrame||i.clearTimeout)(e)}function T(e,t){return e===t||t instanceof Array&&t.indexOf(e)>-1}async function me(e,t){try{await document.fonts.load(`${t??`400`} 36px '${e??`Verdana`}'`)}catch{}}function he(e){return Math.floor(m()*e.length)}function E(e,t,n=!0){return e[t!==void 0&&n?t%e.length:he(e)]}function ge(e,t,n,r,i){return _e(ve(e,r??0),t,n,i)}function _e(e,t,n,r){let i=!0;return r&&r!==`bottom`||(i=e.topn.x),!i||r&&r!==`right`||(i=e.leftn.y),i}function ve(e,t){return{bottom:e.y+t,left:e.x-t,right:e.x+t,top:e.y-t}}function D(e,...t){for(let n of t){if(n==null)continue;if(typeof n!=`object`){e=n;continue}let t=Array.isArray(n);for(let r in!t||typeof e==`object`&&e&&Array.isArray(e)?t||typeof e==`object`&&e&&!Array.isArray(e)||(e={}):e=[],n){if(r===`__proto__`)continue;let t=n[r],i=typeof t==`object`,a=e;a[r]=i&&Array.isArray(t)?t.map((e=>D(a[r],e))):D(a[r],t)}}return e}function ye(e,t){return t instanceof Array?!!t.find((t=>t.enable&&T(e,t.mode))):T(e,t.mode)}function be(e,t,n){if(t instanceof Array)for(let r of t){let t=r.mode;r.enable&&T(e,t)&&xe(r,n)}else{let r=t.mode;t.enable&&T(e,r)&&xe(t,n)}}function xe(e,t){let n=e.selectors;if(n instanceof Array)for(let r of n)t(r,e);else t(n,e)}function Se(e,t){if(t&&e)return e instanceof Array?e.find((e=>ue(t,e.selectors))):ue(t,e.selectors)?e:void 0}function Ce(e){return{position:e.getPosition(),radius:e.getRadius(),mass:e.getMass(),velocity:e.velocity,factor:N.create(x(e.options.bounce.horizontal),x(e.options.bounce.vertical))}}function we(e,t){let{x:n,y:r}=e.velocity.sub(t.velocity),[i,a]=[e.position,t.position],{dx:o,dy:s}=S(a,i);if(n*o+r*s<0)return;let c=-Math.atan2(s,o),l=e.mass,u=t.mass,d=e.velocity.rotate(c),f=t.velocity.rotate(c),p=re(d,f,l,u),m=re(f,d,l,u),h=p.rotate(-c),g=m.rotate(-c);e.velocity.x=h.x*e.factor.x,e.velocity.y=h.y*e.factor.y,t.velocity.x=g.x*t.factor.x,t.velocity.y=g.y*t.factor.y}function Te(e,t){let n=ve(e.getPosition(),e.getRadius()),r=le({min:n.left,max:n.right},{min:n.top,max:n.bottom},{min:t.left,max:t.right},{min:t.top,max:t.bottom},e.velocity.x,x(e.options.bounce.horizontal));r.bounced&&(r.velocity!==void 0&&(e.velocity.x=r.velocity),r.position!==void 0&&(e.position.x=r.position));let i=le({min:n.top,max:n.bottom},{min:n.left,max:n.right},{min:t.top,max:t.bottom},{min:t.left,max:t.right},e.velocity.y,x(e.options.bounce.vertical));i.bounced&&(i.velocity!==void 0&&(e.velocity.y=i.velocity),i.position!==void 0&&(e.position.y=i.position))}function Ee(e,t){ft.set(e,t)}function De(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Oe(e){for(let[,t]of ft)if(e.startsWith(t.stringPrefix))return t.parseString(e);let t=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,((e,t,n,r,i)=>t+t+n+n+r+r+(i===void 0?``:i+i))),n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(t);return n?{a:n[4]===void 0?1:parseInt(n[4],16)/255,b:parseInt(n[3],16),g:parseInt(n[2],16),r:parseInt(n[1],16)}:void 0}function O(e,t,n=!0){if(!e)return;let r=typeof e==`string`?{value:e}:e;if(typeof r.value==`string`)return ke(r.value,t,n);if(r.value instanceof Array)return O({value:E(r.value,t,n)});for(let[,e]of ft){let t=e.handleRangeColor(r);if(t)return t}}function ke(e,t,n=!0){if(!e)return;let r=typeof e==`string`?{value:e}:e;if(typeof r.value==`string`)return r.value===ut?Ie():Ne(r.value);if(r.value instanceof Array)return ke({value:E(r.value,t,n)});for(let[,e]of ft){let t=e.handleColor(r);if(t)return t}}function Ae(e,t,n=!0){let r=O(e,t,n);return r?je(r):void 0}function je(e){let t=e.r/255,n=e.g/255,r=e.b/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o={h:0,l:(i+a)/2,s:0};return i!==a&&(o.s=o.l<.5?(i-a)/(i+a):(i-a)/(2-i-a),o.h=t===i?(n-r)/(i-a):o.h=n===i?2+(r-t)/(i-a):4+(t-n)/(i-a)),o.l*=100,o.s*=100,o.h*=60,o.h<0&&(o.h+=360),o.h>=360&&(o.h-=360),o}function Me(e){return Oe(e)?.a}function Ne(e){return Oe(e)}function Pe(e){let t={b:0,g:0,r:0},n={h:e.h/360,l:e.l/100,s:e.s/100};if(n.s){let e=n.l<.5?n.l*(1+n.s):n.l+n.s-n.l*n.s,r=2*n.l-e;t.r=De(r,e,n.h+1/3),t.g=De(r,e,n.h),t.b=De(r,e,n.h-1/3)}else t.b=n.l,t.g=n.l,t.r=n.l;return t.r=Math.floor(255*t.r),t.g=Math.floor(255*t.g),t.b=Math.floor(255*t.b),t}function Fe(e){let t=Pe(e);return{a:e.a,b:t.b,g:t.g,r:t.r}}function Ie(e){let t=e??0;return{b:Math.floor(_(b(t,256))),g:Math.floor(_(b(t,256))),r:Math.floor(_(b(t,256)))}}function k(e,t){return`rgba(${e.r}, ${e.g}, ${e.b}, ${t??1})`}function Le(e,t){return`hsla(${e.h}, ${e.s}%, ${e.l}%, ${t??1})`}function Re(e,t,n,r){let i=e,a=t;return i.r===void 0&&(i=Pe(e)),a.r===void 0&&(a=Pe(t)),{b:g(i.b,a.b,n,r),g:g(i.g,a.g,n,r),r:g(i.r,a.r,n,r)}}function ze(e,t,n){if(n===ut)return Ie();if(n!==dt)return n;{let n=e.getFillColor()??e.getStrokeColor(),r=t?.getFillColor()??t?.getStrokeColor();if(n&&r&&t)return Re(n,r,e.getRadius(),t.getRadius());{let e=n??r;if(e)return Pe(e)}}}function Be(e,t,n){let r=typeof e==`string`?e:e.value;return r===ut?n?O({value:r}):t?ut:dt:O({value:r})}function Ve(e){return e===void 0?void 0:{h:e.h.value,s:e.s.value,l:e.l.value}}function He(e,t,n){let r={h:{enable:!1,value:e.h},s:{enable:!1,value:e.s},l:{enable:!1,value:e.l}};return t&&(Ue(r.h,t.h,n),Ue(r.s,t.s,n),Ue(r.l,t.l,n)),r}function Ue(e,t,n){e.enable=t.enable,e.enable?(e.velocity=v(t.speed)/100*n,e.decay=1-v(t.decay),e.status=0,t.sync||(e.velocity*=m(),e.value*=m())):e.velocity=0}function We(e,t,n){e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(n.x,n.y),e.closePath()}function Ge(e,t,n,r){e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(n.x,n.y),e.lineTo(r.x,r.y),e.closePath()}function Ke(e,t,n){e.save(),e.fillStyle=n??`rgba(0,0,0,0)`,e.fillRect(0,0,t.width,t.height),e.restore()}function qe(e,t){e.clearRect(0,0,t.width,t.height)}function Je(e){let{container:t,context:n,particle:r,delta:i,colorStyles:a,backgroundMask:o,composite:s,radius:c,opacity:l,shadow:u,transform:d}=e,f=r.getPosition();n.save(),d.a!==void 0||d.b!==void 0||d.c!==void 0||d.d!==void 0?n.setTransform(d.a??1,d.b??0,d.c??0,d.d??1,f.x,f.y):n.translate(f.x,f.y),n.beginPath();let p=r.rotation+(r.options.rotate.path?r.velocity.angle:0);p!==0&&n.rotate(p),o&&(n.globalCompositeOperation=s);let m=r.shadowColor;u.enable&&m&&(n.shadowBlur=u.blur,n.shadowColor=k(m),n.shadowOffsetX=u.offset.x,n.shadowOffsetY=u.offset.y),a.fill&&(n.fillStyle=a.fill);let h=r.stroke;n.lineWidth=r.strokeWidth??0,a.stroke&&(n.strokeStyle=a.stroke),Ye(t,n,r,c,l,i),(h?.width??0)>0&&n.stroke(),r.close&&n.closePath(),r.fill&&n.fill(),n.restore(),n.save(),d.a!==void 0||d.b!==void 0||d.c!==void 0||d.d!==void 0?n.setTransform(d.a??1,d.b??0,d.c??0,d.d??1,f.x,f.y):n.translate(f.x,f.y),r.rotation&&n.rotate(r.rotation),o&&(n.globalCompositeOperation=s),Xe(t,n,r,c,l,i),n.restore()}function Ye(e,t,n,r,i,a){if(!n.shape)return;let o=e.drawers.get(n.shape);o&&o.draw(t,n,r,i,a,e.retina.pixelRatio)}function Xe(e,t,n,r,i,a){if(!n.shape)return;let o=e.drawers.get(n.shape);o!=null&&o.afterEffect&&o.afterEffect(t,n,r,i,a,e.retina.pixelRatio)}function Ze(e,t,n){t.draw&&(e.save(),t.draw(e,n),e.restore())}function Qe(e,t,n,r){t.drawParticle&&(e.save(),t.drawParticle(e,n,r),e.restore())}function $e(e,t,n){return{h:e.h,s:e.s,l:e.l+(t===`darken`?-1:1)*n}}function et(e,t,n){let r=t[n];r!==void 0&&(e[n]=(e[n]??1)*r)}function A(e,t,n,r,i){if(r){let r={passive:!0};typeof i==`boolean`?r.capture=i:i!==void 0&&(r=i),e.addEventListener(t,n,r)}else{let r=i;e.removeEventListener(t,n,r)}}function tt(e,...t){for(let n of t)e.load(n)}function nt(e,t,...n){let r=new Gn(e,t);return tt(r,...n),r}function j(e){return e!==void 0&&!e.destroyed}function rt(e,t,...n){let r=new Zn(e,t);return tt(r,...n),r}function it(e){console.error(`tsParticles - Error ${e} while retrieving config file`)}async function at(e,t){let n=e instanceof Array?E(e,t):e;if(!n)return;let r=await fetch(n);if(r.ok)return r.json();it(r.status)}var ot,st,M,ct,N,lt,ut,dt,ft,pt,mt,ht,gt,_t,vt,yt,bt,xt,St,Ct,wt,Tt,Et,P,F,Dt,Ot,kt,At,jt,Mt,Nt,Pt,I,Ft,It,Lt,Rt,zt,Bt,Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,L,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn,Tn,En,Dn,On,kn,An,jn,Mn,Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,R,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,z,B,dr,fr,pr,mr,V,hr,gr,_r,H,U,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,W,Nr,Pr,Fr,Ir,Lr,Rr,zr,G,Br,Vr,Hr,Ur,K=e((()=>{n(),ot=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},st=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},ct=class{constructor(){M.set(this,void 0),ot(this,M,new Map,`f`)}addEventListener(e,t){var n;this.removeEventListener(e,t),st(this,M,`f`).get(e)||st(this,M,`f`).set(e,[]),(n=st(this,M,`f`).get(e))==null||n.push(t)}dispatchEvent(e,t){var n;(n=st(this,M,`f`).get(e))==null||n.forEach((e=>e(t)))}hasEventListener(e){return!!st(this,M,`f`).get(e)}removeAllEventListeners(e){e?st(this,M,`f`).delete(e):ot(this,M,new Map,`f`)}removeEventListener(e,t){let n=st(this,M,`f`).get(e);if(!n)return;let r=n.length,i=n.indexOf(t);i<0||(r===1?st(this,M,`f`).delete(e):n.splice(i,1))}},M=new WeakMap,N=class e{constructor(e,t){if(typeof e!=`number`&&e)this.x=e.x,this.y=e.y;else{if(e===void 0||t===void 0)throw Error(`tsParticles - Vector not initialized correctly`);this.x=e,this.y=t}}static get origin(){return e.create(0,0)}get angle(){return Math.atan2(this.y,this.x)}set angle(e){this.updateFromAngle(e,this.length)}get length(){return Math.sqrt(this.getLengthSq())}set length(e){this.updateFromAngle(this.angle,e)}static clone(t){return e.create(t.x,t.y)}static create(t,n){return new e(t,n)}add(t){return e.create(this.x+t.x,this.y+t.y)}addTo(e){this.x+=e.x,this.y+=e.y}copy(){return e.clone(this)}distanceTo(e){return this.sub(e).length}distanceToSq(e){return this.sub(e).getLengthSq()}div(t){return e.create(this.x/t,this.y/t)}divTo(e){this.x/=e,this.y/=e}getLengthSq(){return this.x**2+this.y**2}manhattanDistanceTo(e){return Math.abs(e.x-this.x)+Math.abs(e.y-this.y)}mult(t){return e.create(this.x*t,this.y*t)}multTo(e){this.x*=e,this.y*=e}rotate(t){return e.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}setTo(e){this.x=e.x,this.y=e.y}sub(t){return e.create(this.x-t.x,this.y-t.y)}subFrom(e){this.x-=e.x,this.y-=e.y}updateFromAngle(e,t){this.x=Math.cos(e)*t,this.y=Math.sin(e)*t}},lt=Math.random,ut=`random`,dt=`mid`,ft=new Map,pt=`generated`,mt=`touchend`,ht=`pointerdown`,gt=`pointerup`,_t=`pointermove`,vt=`touchstart`,yt=`touchmove`,bt=`pointerleave`,xt=`pointerout`,St=`touchcancel`,Ct=`resize`,wt=`visibilitychange`,Tt=`No polygon data loaded.`,Et=`No polygon found, you need to specify SVG url in config.`,P=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},F=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Mt=class{constructor(e){this.container=e,Dt.set(this,void 0),Ot.set(this,void 0),kt.set(this,void 0),At.set(this,void 0),jt.set(this,void 0),this.size={height:0,width:0},P(this,Ot,null,`f`),this.generatedCanvas=!1,P(this,At,[],`f`),P(this,kt,[],`f`),P(this,jt,[],`f`),P(this,Dt,[],`f`)}clear(){let e=this.container.actualOptions,t=e.particles.move.trail;e.backgroundMask.enable?this.paint():t.enable&&t.length>0&&this.trailFillColor?this.paintBase(k(this.trailFillColor,1/t.length)):this.draw((e=>{qe(e,this.size)}))}destroy(){var e;this.generatedCanvas?(e=this.element)==null||e.remove():this.resetOriginalStyle(),this.draw((e=>{qe(e,this.size)})),P(this,At,[],`f`),P(this,kt,[],`f`),P(this,jt,[],`f`),P(this,Dt,[],`f`)}draw(e){if(F(this,Ot,`f`))return e(F(this,Ot,`f`))}drawParticle(e,t){if(e.spawning||e.destroyed)return;let n=e.getRadius();if(n<=0)return;let r=e.getFillColor(),i=e.getStrokeColor()??r,[a,o]=this.getPluginParticleColors(e);a||=r,o||=i,(a||o)&&this.draw((r=>{let i=this.container.actualOptions,s=e.options.zIndex,c=(1-e.zIndexFactor)**s.opacityRate,l=e.bubble.opacity??e.opacity?.value??1,u=e.stroke?.opacity??l,d=l*c,f=u*c,p={},m={fill:a?Le(a,d):void 0};m.stroke=o?Le(o,f):m.fill,this.applyPreDrawUpdaters(r,e,n,d,m,p),Je({container:this.container,context:r,particle:e,delta:t,colorStyles:m,backgroundMask:i.backgroundMask.enable,composite:i.backgroundMask.composite,radius:n*(1-e.zIndexFactor)**s.sizeRate,opacity:d,shadow:e.options.shadow,transform:p}),this.applyPostDrawUpdaters(e)}))}drawParticlePlugin(e,t,n){this.draw((r=>{Qe(r,e,t,n)}))}drawPlugin(e,t){this.draw((n=>{Ze(n,e,t)}))}init(){this.resize(),this.initStyle(),this.initCover(),this.initTrail(),this.initBackground(),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){let e=this.container.actualOptions.background,t=this.element?.style;if(t){if(e.color){let n=O(e.color);t.backgroundColor=n?k(n,e.opacity):``}else t.backgroundColor=``;t.backgroundImage=e.image||``,t.backgroundPosition=e.position||``,t.backgroundRepeat=e.repeat||``,t.backgroundSize=e.size||``}}initPlugins(){P(this,jt,[],`f`);for(let[,e]of this.container.plugins)e.resize&&F(this,jt,`f`).push(e),(e.particleFillColor||e.particleStrokeColor)&&F(this,Dt,`f`).push(e)}initUpdaters(){P(this,At,[],`f`),P(this,kt,[],`f`);for(let e of this.container.particles.updaters)e.afterDraw&&F(this,kt,`f`).push(e),(e.getColorStyles||e.getTransformValues||e.beforeDraw)&&F(this,At,`f`).push(e)}loadCanvas(e){var t;this.generatedCanvas&&((t=this.element)==null||t.remove()),this.generatedCanvas=e.dataset&&pt in e.dataset?e.dataset[pt]===`true`:this.generatedCanvas,this.element=e,this.originalStyle=D({},this.element.style),this.size.height=e.offsetHeight,this.size.width=e.offsetWidth,P(this,Ot,this.element.getContext(`2d`),`f`),this.container.retina.init(),this.initBackground()}paint(){let e=this.container.actualOptions;this.draw((t=>{e.backgroundMask.enable&&e.backgroundMask.cover?(qe(t,this.size),this.paintBase(this.coverColorStyle)):this.paintBase()}))}resize(){if(!this.element)return;let e=this.container,t=e.retina.pixelRatio,n=e.canvas.size,r={width:this.element.offsetWidth*t,height:this.element.offsetHeight*t};if(r.height===n.height&&r.width===n.width&&r.height===this.element.height&&r.width===this.element.width)return;let i=Object.assign({},n);this.element.width=n.width=this.element.offsetWidth*t,this.element.height=n.height=this.element.offsetHeight*t,this.container.started&&(this.resizeFactor={width:n.width/i.width,height:n.height/i.height})}async windowResize(){if(!this.element)return;this.resize();let e=this.container,t=e.updateActualOptions();e.particles.setDensity(),this.applyResizePlugins(),t&&await e.refresh()}applyPostDrawUpdaters(e){var t;for(let n of F(this,kt,`f`))(t=n.afterDraw)==null||t.call(n,e)}applyPreDrawUpdaters(e,t,n,r,i,a){var o;for(let s of F(this,At,`f`)){if(s.getColorStyles){let{fill:a,stroke:o}=s.getColorStyles(t,e,n,r);a&&(i.fill=a),o&&(i.stroke=o)}if(s.getTransformValues){let e=s.getTransformValues(t);for(let t in e)et(a,e,t)}(o=s.beforeDraw)==null||o.call(s,t)}}applyResizePlugins(){var e;for(let t of F(this,jt,`f`))(e=t.resize)==null||e.call(t)}getPluginParticleColors(e){let t,n;for(let r of F(this,Dt,`f`))if(!t&&r.particleFillColor&&(t=Ae(r.particleFillColor(e))),!n&&r.particleStrokeColor&&(n=Ae(r.particleStrokeColor(e))),t&&n)break;return[t,n]}initCover(){let e=this.container.actualOptions.backgroundMask.cover,t=e.color,n=O(t);if(n){let t={r:n.r,g:n.g,b:n.b,a:e.opacity};this.coverColorStyle=k(t,t.a)}}initStyle(){let e=this.element,t=this.container.actualOptions;if(e)for(let n in t.fullScreen.enable?(this.originalStyle=D({},e.style),e.style.setProperty(`position`,`fixed`,`important`),e.style.setProperty(`z-index`,t.fullScreen.zIndex.toString(10),`important`),e.style.setProperty(`top`,`0`,`important`),e.style.setProperty(`left`,`0`,`important`),e.style.setProperty(`width`,`100%`,`important`),e.style.setProperty(`height`,`100%`,`important`)):this.resetOriginalStyle(),t.style){if(!n||!t.style)continue;let r=t.style[n];r&&e.style.setProperty(n,r,`important`)}}initTrail(){let e=this.container.actualOptions,t=e.particles.move.trail,n=O(t.fillColor);if(n){let t=e.particles.move.trail;this.trailFillColor={r:n.r,g:n.g,b:n.b,a:1/t.length}}}paintBase(e){this.draw((t=>{Ke(t,this.size,e)}))}resetOriginalStyle(){let e=this.element,t=this.originalStyle;e&&t&&(e.style.position=t.position,e.style.zIndex=t.zIndex,e.style.top=t.top,e.style.left=t.left,e.style.width=t.width,e.style.height=t.height)}},Dt=new WeakMap,Ot=new WeakMap,kt=new WeakMap,At=new WeakMap,jt=new WeakMap,Nt=class{constructor(e){this.container=e,this.canPush=!0,this.mouseMoveHandler=e=>this.mouseTouchMove(e),this.touchStartHandler=e=>this.mouseTouchMove(e),this.touchMoveHandler=e=>this.mouseTouchMove(e),this.touchEndHandler=()=>this.mouseTouchFinish(),this.mouseLeaveHandler=()=>this.mouseTouchFinish(),this.touchCancelHandler=()=>this.mouseTouchFinish(),this.touchEndClickHandler=e=>this.mouseTouchClick(e),this.mouseUpHandler=e=>this.mouseTouchClick(e),this.mouseDownHandler=()=>this.mouseDown(),this.visibilityChangeHandler=()=>this.handleVisibilityChange(),this.themeChangeHandler=e=>this.handleThemeChange(e),this.oldThemeChangeHandler=e=>this.handleThemeChange(e),this.resizeHandler=()=>this.handleWindowResize()}addListeners(){this.manageListeners(!0)}removeListeners(){this.manageListeners(!1)}doMouseTouchClick(e){let t=this.container,n=t.actualOptions;if(this.canPush){let e=t.interactivity.mouse.position;if(!e)return;t.interactivity.mouse.clickPosition={x:e.x,y:e.y},t.interactivity.mouse.clickTime=new Date().getTime();let r=n.interactivity.events.onClick;if(r.mode instanceof Array)for(let e of r.mode)this.handleClickMode(e);else this.handleClickMode(r.mode)}e.type===`touchend`&&setTimeout((()=>this.mouseTouchFinish()),500)}handleClickMode(e){this.container.handleClickMode(e)}handleThemeChange(e){let t=e.matches?this.container.options.defaultDarkTheme:this.container.options.defaultLightTheme,n=this.container.options.themes.find((e=>e.name===t));n&&n.default.auto&&this.container.loadTheme(t)}handleVisibilityChange(){let e=this.container,t=e.actualOptions;this.mouseTouchFinish(),t.pauseOnBlur&&(document!=null&&document.hidden?(e.pageHidden=!0,e.pause()):(e.pageHidden=!1,e.getAnimationStatus()?e.play(!0):e.draw(!0)))}handleWindowResize(){this.resizeTimeout&&(clearTimeout(this.resizeTimeout),delete this.resizeTimeout),this.resizeTimeout=setTimeout((async()=>this.container.canvas?.windowResize()),500)}manageListeners(e){let t=this.container,n=t.actualOptions,r=n.interactivity.detectsOn,a=bt;if(r===`window`)t.interactivity.element=i,a=xt;else if(r===`parent`&&t.canvas.element){let e=t.canvas.element;t.interactivity.element=e.parentElement??e.parentNode}else t.interactivity.element=t.canvas.element;let o=!de()&&typeof matchMedia<`u`&&matchMedia(`(prefers-color-scheme: dark)`);o&&(o.addEventListener===void 0?o.addListener!==void 0&&(e?o.addListener(this.oldThemeChangeHandler):o.removeListener(this.oldThemeChangeHandler)):A(o,`change`,this.themeChangeHandler,e));let s=t.interactivity.element;if(!s)return;let c=s;(n.interactivity.events.onHover.enable||n.interactivity.events.onClick.enable)&&(A(s,_t,this.mouseMoveHandler,e),A(s,vt,this.touchStartHandler,e),A(s,yt,this.touchMoveHandler,e),n.interactivity.events.onClick.enable?(A(s,mt,this.touchEndClickHandler,e),A(s,gt,this.mouseUpHandler,e),A(s,ht,this.mouseDownHandler,e)):A(s,mt,this.touchEndHandler,e),A(s,a,this.mouseLeaveHandler,e),A(s,St,this.touchCancelHandler,e)),t.canvas.element&&(t.canvas.element.style.pointerEvents=c===t.canvas.element?`initial`:`none`),n.interactivity.events.resize&&(typeof ResizeObserver<`u`?this.resizeObserver&&!e?(t.canvas.element&&this.resizeObserver.unobserve(t.canvas.element),this.resizeObserver.disconnect(),delete this.resizeObserver):!this.resizeObserver&&e&&t.canvas.element&&(this.resizeObserver=new ResizeObserver((e=>{e.find((e=>e.target===t.canvas.element))&&this.handleWindowResize()})),this.resizeObserver.observe(t.canvas.element)):A(i,Ct,this.resizeHandler,e)),document&&A(document,wt,this.visibilityChangeHandler,e,!1)}mouseDown(){let e=this.container.interactivity;if(e){let t=e.mouse;t.clicking=!0,t.downPosition=t.position}}mouseTouchClick(e){let t=this.container,n=t.actualOptions,r=t.interactivity.mouse;r.inside=!0;let i=!1,a=r.position;if(a&&n.interactivity.events.onClick.enable){for(let[,e]of t.plugins)if(e.clickPositionValid&&(i=e.clickPositionValid(a),i))break;i||this.doMouseTouchClick(e),r.clicking=!1}}mouseTouchFinish(){let e=this.container.interactivity;if(!e)return;let t=e.mouse;delete t.position,delete t.clickPosition,delete t.downPosition,e.status=bt,t.inside=!1,t.clicking=!1}mouseTouchMove(e){let t=this.container,n=t.actualOptions;if(!t.interactivity?.element)return;t.interactivity.mouse.inside=!0;let r,a=t.canvas.element;if(e.type.startsWith(`pointer`)){this.canPush=!0;let o=e;if(t.interactivity.element===i){if(a){let e=a.getBoundingClientRect();r={x:o.clientX-e.left,y:o.clientY-e.top}}}else if(n.interactivity.detectsOn===`parent`){let e=o.target,n=o.currentTarget,i=t.canvas.element;if(e&&n&&i){let t=e.getBoundingClientRect(),a=n.getBoundingClientRect(),s=i.getBoundingClientRect();r={x:o.offsetX+2*t.left-(a.left+s.left),y:o.offsetY+2*t.top-(a.top+s.top)}}else r={x:o.offsetX??o.clientX,y:o.offsetY??o.clientY}}else o.target===t.canvas.element&&(r={x:o.offsetX??o.clientX,y:o.offsetY??o.clientY})}else{this.canPush=e.type!==`touchmove`;let t=e,n=t.touches[t.touches.length-1],i=a?.getBoundingClientRect();r={x:n.clientX-(i?.left??0),y:n.clientY-(i?.top??0)}}let o=t.retina.pixelRatio;r&&(r.x*=o,r.y*=o),t.interactivity.mouse.position=r,t.interactivity.status=_t}},Pt=class{constructor(e){this.container=e}async nextFrame(e){try{let t=this.container;if(t.lastFrameTime!==void 0&&e1e3){t.draw(!1);return}if(await t.particles.draw(r),t.duration>0&&t.lifeTime>t.duration){t.destroy();return}t.getAnimationStatus()&&t.draw(!1)}catch(e){console.error(`tsParticles error in animation loop`,e)}}},I=class e{constructor(){this.value=``}static create(t,n){let r=new e;return r.load(t),n!==void 0&&(typeof n==`string`||n instanceof Array?r.load({value:n}):r.load(n)),r}load(e){e?.value!==void 0&&(this.value=e.value)}},Ft=class{constructor(){this.color=new I,this.color.value=``,this.image=``,this.position=``,this.repeat=``,this.size=``,this.opacity=1}load(e){e&&(e.color!==void 0&&(this.color=I.create(this.color,e.color)),e.image!==void 0&&(this.image=e.image),e.position!==void 0&&(this.position=e.position),e.repeat!==void 0&&(this.repeat=e.repeat),e.size!==void 0&&(this.size=e.size),e.opacity!==void 0&&(this.opacity=e.opacity))}},It=class{constructor(){this.color=new I,this.color.value=`#fff`,this.opacity=1}load(e){e&&(e.color!==void 0&&(this.color=I.create(this.color,e.color)),e.opacity!==void 0&&(this.opacity=e.opacity))}},Lt=class{constructor(){this.composite=`destination-out`,this.cover=new It,this.enable=!1}load(e){if(e){if(e.composite!==void 0&&(this.composite=e.composite),e.cover!==void 0){let t=e.cover,n=typeof e.cover==`string`?{color:e.cover}:e.cover;this.cover.load(t.color===void 0?{color:n}:t)}e.enable!==void 0&&(this.enable=e.enable)}}},Rt=class{constructor(){this.enable=!0,this.zIndex=0}load(e){e&&(e.enable!==void 0&&(this.enable=e.enable),e.zIndex!==void 0&&(this.zIndex=e.zIndex))}},zt=class{constructor(){this.enable=!1,this.mode=[]}load(e){e&&(e.enable!==void 0&&(this.enable=e.enable),e.mode!==void 0&&(this.mode=e.mode))}},Bt=class{constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=`circle`}get el(){return this.elementId}set el(e){this.elementId=e}get elementId(){return this.ids}set elementId(e){this.ids=e}get ids(){return this.selectors instanceof Array?this.selectors.map((e=>e.replace(`#`,``))):this.selectors.replace(`#`,``)}set ids(e){this.selectors=e instanceof Array?e.map((e=>`#${e}`)):`#${e}`}load(e){if(!e)return;let t=e.ids??e.elementId??e.el;t!==void 0&&(this.ids=t),e.selectors!==void 0&&(this.selectors=e.selectors),e.enable!==void 0&&(this.enable=e.enable),e.mode!==void 0&&(this.mode=e.mode),e.type!==void 0&&(this.type=e.type)}},Vt=class{constructor(){this.enable=!1,this.force=2,this.smooth=10}load(e){e&&(e.enable!==void 0&&(this.enable=e.enable),e.force!==void 0&&(this.force=e.force),e.smooth!==void 0&&(this.smooth=e.smooth))}},Ht=class{constructor(){this.enable=!1,this.mode=[],this.parallax=new Vt}load(e){e&&(e.enable!==void 0&&(this.enable=e.enable),e.mode!==void 0&&(this.mode=e.mode),this.parallax.load(e.parallax))}},Ut=class{constructor(){this.onClick=new zt,this.onDiv=new Bt,this.onHover=new Ht,this.resize=!0}get onclick(){return this.onClick}set onclick(e){this.onClick=e}get ondiv(){return this.onDiv}set ondiv(e){this.onDiv=e}get onhover(){return this.onHover}set onhover(e){this.onHover=e}load(e){if(!e)return;this.onClick.load(e.onClick??e.onclick);let t=e.onDiv??e.ondiv;t!==void 0&&(t instanceof Array?this.onDiv=t.map((e=>{let t=new Bt;return t.load(e),t})):(this.onDiv=new Bt,this.onDiv.load(t))),this.onHover.load(e.onHover??e.onhover),e.resize!==void 0&&(this.resize=e.resize)}},Wt=class{constructor(){this.factor=3,this.radius=200}load(e){e&&(e.factor!==void 0&&(this.factor=e.factor),e.radius!==void 0&&(this.radius=e.radius))}},Gt=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Kt=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Yt=class{constructor(e,t){qt.set(this,void 0),Jt.set(this,void 0),Gt(this,Jt,e,`f`),Gt(this,qt,t,`f`),this.slow=new Wt}load(e){if(e&&(this.slow.load(e.slow),Kt(this,qt,`f`))){let t=Kt(this,Jt,`f`).plugins.interactors.get(Kt(this,qt,`f`));if(t)for(let n of t)n.loadModeOptions&&n.loadModeOptions(this,e)}}},qt=new WeakMap,Jt=new WeakMap,Xt=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},$t=class{constructor(e,t){Zt.set(this,void 0),Qt.set(this,void 0),Xt(this,Qt,e,`f`),Xt(this,Zt,t,`f`),this.detectsOn=`window`,this.events=new Ut,this.modes=new Yt(e,t)}get detect_on(){return this.detectsOn}set detect_on(e){this.detectsOn=e}load(e){if(!e)return;let t=e.detectsOn??e.detect_on;t!==void 0&&(this.detectsOn=t),this.events.load(e.events),this.modes.load(e.modes)}},Zt=new WeakMap,Qt=new WeakMap,en=class{load(e){e&&(e.position!==void 0&&(this.position={x:e.position.x??50,y:e.position.y??50}),e.options!==void 0&&(this.options=D({},e.options)))}},tn=class{constructor(){this.factor=4,this.value=!0}load(e){e&&(e.factor!==void 0&&(this.factor=e.factor),e.value!==void 0&&(this.value=e.value))}},nn=class{constructor(){this.disable=!1,this.reduce=new tn}load(e){e&&(e.disable!==void 0&&(this.disable=e.disable),this.reduce.load(e.reduce))}},rn=class{constructor(){this.maxWidth=1/0,this.options={},this.mode=`canvas`}load(e){e&&(e.maxWidth!==void 0&&(this.maxWidth=e.maxWidth),e.mode!==void 0&&(e.mode===`screen`?this.mode=`screen`:this.mode=`canvas`),e.options!==void 0&&(this.options=D({},e.options)))}},an=class{constructor(){this.auto=!1,this.mode=`any`,this.value=!1}load(e){e&&(e.auto!==void 0&&(this.auto=e.auto),e.mode!==void 0&&(this.mode=e.mode),e.value!==void 0&&(this.value=e.value))}},on=class{constructor(){this.name=``,this.default=new an}load(e){e&&(e.name!==void 0&&(this.name=e.name),this.default.load(e.default),e.options!==void 0&&(this.options=D({},e.options)))}},sn=class{constructor(){this.count=0,this.enable=!1,this.offset=0,this.speed=1,this.decay=0,this.sync=!0}load(e){e&&(e.count!==void 0&&(this.count=b(e.count)),e.enable!==void 0&&(this.enable=e.enable),e.offset!==void 0&&(this.offset=b(e.offset)),e.speed!==void 0&&(this.speed=b(e.speed)),e.decay!==void 0&&(this.decay=b(e.decay)),e.sync!==void 0&&(this.sync=e.sync))}},cn=class{constructor(){this.h=new sn,this.s=new sn,this.l=new sn}load(e){e&&(this.h.load(e.h),this.s.load(e.s),this.l.load(e.l))}},ln=class e extends I{constructor(){super(),this.animation=new cn}static create(t,n){let r=new e;return r.load(t),n!==void 0&&(typeof n==`string`||n instanceof Array?r.load({value:n}):r.load(n)),r}load(e){if(super.load(e),!e)return;let t=e.animation;t!==void 0&&(t.enable===void 0?this.animation.load(e.animation):this.animation.h.load(t))}},un=class{constructor(){this.enable=!0,this.retries=0}load(e){e&&(e.enable!==void 0&&(this.enable=e.enable),e.retries!==void 0&&(this.retries=e.retries))}},dn=class{constructor(){this.enable=!1,this.minimumValue=0}load(e){e&&(e.enable!==void 0&&(this.enable=e.enable),e.minimumValue!==void 0&&(this.minimumValue=e.minimumValue))}},L=class{constructor(){this.random=new dn,this.value=0}load(e){e&&(typeof e.random==`boolean`?this.random.enable=e.random:this.random.load(e.random),e.value!==void 0&&(this.value=b(e.value,this.random.enable?this.random.minimumValue:void 0)))}},fn=class extends L{constructor(){super(),this.random.minimumValue=.1,this.value=1}},pn=class{constructor(){this.horizontal=new fn,this.vertical=new fn}load(e){e&&(this.horizontal.load(e.horizontal),this.vertical.load(e.vertical))}},mn=class{constructor(){this.bounce=new pn,this.enable=!1,this.mode=`bounce`,this.overlap=new un}load(e){e&&(this.bounce.load(e.bounce),e.enable!==void 0&&(this.enable=e.enable),e.mode!==void 0&&(this.mode=e.mode),this.overlap.load(e.overlap))}},hn=class extends L{constructor(){super(),this.value=3}},gn=class extends L{constructor(){super(),this.value={min:4,max:9}}},_n=class{constructor(){this.count=1,this.factor=new hn,this.rate=new gn,this.sizeOffset=!0}load(e){e&&(e.count!==void 0&&(this.count=e.count),this.factor.load(e.factor),this.rate.load(e.rate),e.particles!==void 0&&(e.particles instanceof Array?this.particles=e.particles.map((e=>D({},e))):this.particles=D({},e.particles)),e.sizeOffset!==void 0&&(this.sizeOffset=e.sizeOffset))}},vn=class{constructor(){this.mode=`none`,this.split=new _n}load(e){e&&(e.mode!==void 0&&(this.mode=e.mode),this.split.load(e.split))}},yn=class{constructor(){this.offset=0,this.value=90}load(e){e&&(e.offset!==void 0&&(this.offset=b(e.offset)),e.value!==void 0&&(this.value=b(e.value)))}},bn=class{constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}get rotateX(){return this.rotate.x}set rotateX(e){this.rotate.x=e}get rotateY(){return this.rotate.y}set rotateY(e){this.rotate.y=e}load(e){if(!e)return;e.distance!==void 0&&(this.distance=b(e.distance)),e.enable!==void 0&&(this.enable=e.enable);let t=e.rotate?.x??e.rotateX;t!==void 0&&(this.rotate.x=t);let n=e.rotate?.y??e.rotateY;n!==void 0&&(this.rotate.y=n)}},xn=class{constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(e){e&&(e.acceleration!==void 0&&(this.acceleration=b(e.acceleration)),e.enable!==void 0&&(this.enable=e.enable),e.inverse!==void 0&&(this.inverse=e.inverse),e.maxSpeed!==void 0&&(this.maxSpeed=b(e.maxSpeed)))}},Sn=class extends L{constructor(){super()}},Cn=class{constructor(){this.clamp=!0,this.delay=new Sn,this.enable=!1,this.options={}}load(e){e&&(e.clamp!==void 0&&(this.clamp=e.clamp),this.delay.load(e.delay),e.enable!==void 0&&(this.enable=e.enable),this.generator=e.generator,e.options&&(this.options=D(this.options,e.options)))}},wn=class{constructor(){this.enable=!1,this.length=10,this.fillColor=new I,this.fillColor.value=`#000000`}load(e){e&&(e.enable!==void 0&&(this.enable=e.enable),this.fillColor=I.create(this.fillColor,e.fillColor),e.length!==void 0&&(this.length=e.length))}},Tn=class{constructor(){this.default=`out`}load(e){e&&(e.default!==void 0&&(this.default=e.default),this.bottom=e.bottom??e.default,this.left=e.left??e.default,this.right=e.right??e.default,this.top=e.top??e.default)}},En=class{constructor(){this.acceleration=0,this.enable=!1}load(e){e&&(e.acceleration!==void 0&&(this.acceleration=b(e.acceleration)),e.enable!==void 0&&(this.enable=e.enable),this.position=e.position?D({},e.position):void 0)}},Dn=class{constructor(){this.angle=new yn,this.attract=new bn,this.center={x:50,y:50,radius:0},this.decay=0,this.distance={},this.direction=`none`,this.drift=0,this.enable=!1,this.gravity=new xn,this.path=new Cn,this.outModes=new Tn,this.random=!1,this.size=!1,this.speed=2,this.spin=new En,this.straight=!1,this.trail=new wn,this.vibrate=!1,this.warp=!1}get bounce(){return this.collisions}set bounce(e){this.collisions=e}get collisions(){return!1}set collisions(e){}get noise(){return this.path}set noise(e){this.path=e}get outMode(){return this.outModes.default}set outMode(e){this.outModes.default=e}get out_mode(){return this.outMode}set out_mode(e){this.outMode=e}load(e){if(!e)return;e.angle!==void 0&&(typeof e.angle==`number`?this.angle.value=e.angle:this.angle.load(e.angle)),this.attract.load(e.attract),this.center=D(this.center,e.center),e.decay!==void 0&&(this.decay=e.decay),e.direction!==void 0&&(this.direction=e.direction),e.distance!==void 0&&(this.distance=typeof e.distance==`number`?{horizontal:e.distance,vertical:e.distance}:D({},e.distance)),e.drift!==void 0&&(this.drift=b(e.drift)),e.enable!==void 0&&(this.enable=e.enable),this.gravity.load(e.gravity);let t=e.outMode??e.out_mode;e.outModes===void 0&&t===void 0||(typeof e.outModes==`string`||e.outModes===void 0&&t!==void 0?this.outModes.load({default:e.outModes??t}):this.outModes.load(e.outModes)),this.path.load(e.path??e.noise),e.random!==void 0&&(this.random=e.random),e.size!==void 0&&(this.size=e.size),e.speed!==void 0&&(this.speed=b(e.speed)),this.spin.load(e.spin),e.straight!==void 0&&(this.straight=e.straight),this.trail.load(e.trail),e.vibrate!==void 0&&(this.vibrate=e.vibrate),e.warp!==void 0&&(this.warp=e.warp)}},On=class{constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.sync=!1}load(e){e&&(e.count!==void 0&&(this.count=b(e.count)),e.enable!==void 0&&(this.enable=e.enable),e.speed!==void 0&&(this.speed=b(e.speed)),e.decay!==void 0&&(this.decay=b(e.decay)),e.sync!==void 0&&(this.sync=e.sync))}},kn=class extends On{constructor(){super(),this.destroy=`none`,this.enable=!1,this.speed=2,this.startValue=`random`,this.sync=!1}get opacity_min(){return this.minimumValue}set opacity_min(e){this.minimumValue=e}load(e){e&&(super.load(e),e.destroy!==void 0&&(this.destroy=e.destroy),e.enable!==void 0&&(this.enable=e.enable),this.minimumValue=e.minimumValue??e.opacity_min,e.speed!==void 0&&(this.speed=e.speed),e.startValue!==void 0&&(this.startValue=e.startValue),e.sync!==void 0&&(this.sync=e.sync))}},An=class extends L{constructor(){super(),this.animation=new kn,this.random.minimumValue=.1,this.value=1}get anim(){return this.animation}set anim(e){this.animation=e}load(e){if(!e)return;super.load(e);let t=e.animation??e.anim;t!==void 0&&(this.animation.load(t),this.value=b(this.value,this.animation.enable?this.animation.minimumValue:void 0))}},jn=class{constructor(){this.enable=!1,this.area=800,this.factor=1e3}get value_area(){return this.area}set value_area(e){this.area=e}load(e){if(!e)return;e.enable!==void 0&&(this.enable=e.enable);let t=e.area??e.value_area;t!==void 0&&(this.area=t),e.factor!==void 0&&(this.factor=e.factor)}},Mn=class{constructor(){this.density=new jn,this.limit=0,this.value=100}get max(){return this.limit}set max(e){this.limit=e}load(e){if(!e)return;this.density.load(e.density);let t=e.limit??e.max;t!==void 0&&(this.limit=t),e.value!==void 0&&(this.value=e.value)}},Nn=class{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(e){e&&(e.enable!==void 0&&(this.enable=e.enable),e.speed!==void 0&&(this.speed=b(e.speed)),e.decay!==void 0&&(this.decay=b(e.decay)),e.sync!==void 0&&(this.sync=e.sync))}},Pn=class extends L{constructor(){super(),this.animation=new Nn,this.direction=`clockwise`,this.path=!1,this.value=0}load(e){e&&(super.load(e),e.direction!==void 0&&(this.direction=e.direction),this.animation.load(e.animation),e.path!==void 0&&(this.path=e.path))}},Fn=class{constructor(){this.blur=0,this.color=new I,this.enable=!1,this.offset={x:0,y:0},this.color.value=`#000`}load(e){e&&(e.blur!==void 0&&(this.blur=e.blur),this.color=I.create(this.color,e.color),e.enable!==void 0&&(this.enable=e.enable),e.offset!==void 0&&(e.offset.x!==void 0&&(this.offset.x=e.offset.x),e.offset.y!==void 0&&(this.offset.y=e.offset.y)))}},In=class{constructor(){this.options={},this.type=`circle`}get character(){return this.options.character??this.options.char}set character(e){this.options.character=e,this.options.char=e}get custom(){return this.options}set custom(e){this.options=e}get image(){return this.options.image??this.options.images}set image(e){this.options.image=e,this.options.images=e}get images(){return this.image}set images(e){this.image=e}get polygon(){return this.options.polygon??this.options.star}set polygon(e){this.options.polygon=e,this.options.star=e}get stroke(){return[]}set stroke(e){}load(e){if(!e)return;let t=e.options??e.custom;if(t!==void 0)for(let e in t){let n=t[e];n&&(this.options[e]=D(this.options[e]??{},n))}this.loadShape(e.character,`character`,`char`,!0),this.loadShape(e.polygon,`polygon`,`star`,!1),this.loadShape(e.image??e.images,`image`,`images`,!0),e.type!==void 0&&(this.type=e.type)}loadShape(e,t,n,r){if(!e)return;let i=e instanceof Array?[]:{},a=e instanceof Array!=this.options[t]instanceof Array,o=e instanceof Array!=this.options[n]instanceof Array;a&&(this.options[t]=i),o&&r&&(this.options[n]=i),this.options[t]=D(this.options[t]??i,e),this.options[n]&&!r||(this.options[n]=D(this.options[n]??i,e))}},Ln=class extends On{constructor(){super(),this.destroy=`none`,this.enable=!1,this.speed=5,this.startValue=`random`,this.sync=!1}get size_min(){return this.minimumValue}set size_min(e){this.minimumValue=e}load(e){super.load(e),e&&(e.destroy!==void 0&&(this.destroy=e.destroy),e.enable!==void 0&&(this.enable=e.enable),this.minimumValue=e.minimumValue??e.size_min,e.speed!==void 0&&(this.speed=e.speed),e.startValue!==void 0&&(this.startValue=e.startValue),e.sync!==void 0&&(this.sync=e.sync))}},Rn=class extends L{constructor(){super(),this.animation=new Ln,this.random.minimumValue=1,this.value=3}get anim(){return this.animation}set anim(e){this.animation=e}load(e){if(super.load(e),!e)return;let t=e.animation??e.anim;t!==void 0&&(this.animation.load(t),this.value=b(this.value,this.animation.enable?this.animation.minimumValue:void 0))}},zn=class{constructor(){this.width=0}load(e){e&&(e.color!==void 0&&(this.color=ln.create(this.color,e.color)),e.width!==void 0&&(this.width=e.width),e.opacity!==void 0&&(this.opacity=e.opacity))}},Bn=class extends L{constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(e){super.load(e),e&&(e.opacityRate!==void 0&&(this.opacityRate=e.opacityRate),e.sizeRate!==void 0&&(this.sizeRate=e.sizeRate),e.velocityRate!==void 0&&(this.velocityRate=e.velocityRate))}},Vn=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Hn=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Gn=class{constructor(e,t){Un.set(this,void 0),Wn.set(this,void 0),Vn(this,Wn,e,`f`),Vn(this,Un,t,`f`),this.bounce=new pn,this.collisions=new mn,this.color=new ln,this.color.value=`#fff`,this.destroy=new vn,this.groups={},this.move=new Dn,this.number=new Mn,this.opacity=new An,this.reduceDuplicates=!1,this.rotate=new Pn,this.shadow=new Fn,this.shape=new In,this.size=new Rn,this.stroke=new zn,this.zIndex=new Bn}load(e){if(!e)return;if(this.bounce.load(e.bounce),this.color.load(ln.create(this.color,e.color)),this.destroy.load(e.destroy),e.groups!==void 0)for(let t in e.groups){let n=e.groups[t];n!==void 0&&(this.groups[t]=D(this.groups[t]??{},n))}this.move.load(e.move),this.number.load(e.number),this.opacity.load(e.opacity),e.reduceDuplicates!==void 0&&(this.reduceDuplicates=e.reduceDuplicates),this.rotate.load(e.rotate),this.shape.load(e.shape),this.size.load(e.size),this.shadow.load(e.shadow),this.zIndex.load(e.zIndex);let t=e.move?.collisions??e.move?.bounce;t!==void 0&&(this.collisions.enable=t),this.collisions.load(e.collisions),e.interactivity!==void 0&&(this.interactivity=D({},e.interactivity));let n=e.stroke??e.shape?.stroke;if(n&&(n instanceof Array?this.stroke=n.map((e=>{let t=new zn;return t.load(e),t})):(this.stroke instanceof Array&&(this.stroke=new zn),this.stroke.load(n))),Hn(this,Un,`f`)){let t=Hn(this,Wn,`f`).plugins.updaters.get(Hn(this,Un,`f`));if(t)for(let n of t)n.loadOptions&&n.loadOptions(this,e);let n=Hn(this,Wn,`f`).plugins.interactors.get(Hn(this,Un,`f`));if(n)for(let t of n)t.loadParticlesOptions&&t.loadParticlesOptions(this,e)}}},Un=new WeakMap,Wn=new WeakMap,Kn=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},R=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Zn=class{constructor(e,t){qn.add(this),Jn.set(this,void 0),Yn.set(this,void 0),Kn(this,Yn,e,`f`),Kn(this,Jn,t,`f`),this.autoPlay=!0,this.background=new Ft,this.backgroundMask=new Lt,this.fullScreen=new Rt,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.interactivity=new $t(e,t),this.manualParticles=[],this.motion=new nn,this.particles=nt(R(this,Yn,`f`),R(this,Jn,`f`)),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.responsive=[],this.style={},this.themes=[],this.zLayers=100}get backgroundMode(){return this.fullScreen}set backgroundMode(e){this.fullScreen.load(e)}get fps_limit(){return this.fpsLimit}set fps_limit(e){this.fpsLimit=e}get retina_detect(){return this.detectRetina}set retina_detect(e){this.detectRetina=e}load(e){if(!e)return;if(e.preset!==void 0)if(e.preset instanceof Array)for(let t of e.preset)this.importPreset(t);else this.importPreset(e.preset);e.autoPlay!==void 0&&(this.autoPlay=e.autoPlay);let t=e.detectRetina??e.retina_detect;t!==void 0&&(this.detectRetina=t),e.duration!==void 0&&(this.duration=e.duration);let n=e.fpsLimit??e.fps_limit;n!==void 0&&(this.fpsLimit=n),e.pauseOnBlur!==void 0&&(this.pauseOnBlur=e.pauseOnBlur),e.pauseOnOutsideViewport!==void 0&&(this.pauseOnOutsideViewport=e.pauseOnOutsideViewport),e.zLayers!==void 0&&(this.zLayers=e.zLayers),this.background.load(e.background);let r=e.fullScreen??e.backgroundMode;typeof r==`boolean`?this.fullScreen.enable=r:this.fullScreen.load(r),this.backgroundMask.load(e.backgroundMask),this.interactivity.load(e.interactivity),e.manualParticles!==void 0&&(this.manualParticles=e.manualParticles.map((e=>{let t=new en;return t.load(e),t}))),this.motion.load(e.motion),this.particles.load(e.particles),this.style=D(this.style,e.style),R(this,Yn,`f`).plugins.loadOptions(this,e);let i=R(this,Yn,`f`).plugins.interactors.get(R(this,Jn,`f`));if(i)for(let t of i)t.loadOptions&&t.loadOptions(this,e);if(e.responsive!==void 0)for(let t of e.responsive){let e=new rn;e.load(t),this.responsive.push(e)}if(this.responsive.sort(((e,t)=>e.maxWidth-t.maxWidth)),e.themes!==void 0)for(let t of e.themes){let e=new on;e.load(t),this.themes.push(e)}this.defaultDarkTheme=R(this,qn,`m`,Xn).call(this,`dark`)?.name,this.defaultLightTheme=R(this,qn,`m`,Xn).call(this,`light`)?.name}setResponsive(e,t,n){this.load(n);let r=this.responsive.find((n=>n.mode===`screen`&&screen?n.maxWidth>screen.availWidth:n.maxWidth*t>e));return this.load(r?.options),r?.maxWidth}setTheme(e){if(e){let t=this.themes.find((t=>t.name===e));t&&this.load(t.options)}else{let e=typeof matchMedia<`u`&&matchMedia(`(prefers-color-scheme: dark)`),t=e&&e.matches,n=R(this,qn,`m`,Xn).call(this,t?`dark`:`light`);n&&this.load(n.options)}}importPreset(e){this.load(R(this,Yn,`f`).plugins.getPreset(e))}},Jn=new WeakMap,Yn=new WeakMap,qn=new WeakSet,Xn=function(e){return this.themes.find((t=>t.default.value&&t.default.mode===e))??this.themes.find((e=>e.default.value&&e.default.mode===`any`))},Qn=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},$n=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},nr=class{constructor(e,t){this.container=t,er.set(this,void 0),tr.set(this,void 0),Qn(this,er,e,`f`),Qn(this,tr,$n(this,er,`f`).plugins.getInteractors(this.container,!0),`f`),this.externalInteractors=[],this.particleInteractors=[]}async externalInteract(e){for(let t of this.externalInteractors)t.isEnabled()&&await t.interact(e)}handleClickMode(e){for(let t of this.externalInteractors)t.handleClickMode&&t.handleClickMode(e)}init(){this.externalInteractors=[],this.particleInteractors=[];for(let e of $n(this,tr,`f`)){switch(e.type){case 0:this.externalInteractors.push(e);break;case 1:this.particleInteractors.push(e);break}e.init()}}async particlesInteract(e,t){for(let t of this.externalInteractors)t.clear(e);for(let n of this.particleInteractors)n.isEnabled(e)&&await n.interact(e,t)}async reset(e){for(let t of this.externalInteractors)t.isEnabled()&&await t.reset(e);for(let t of this.particleInteractors)t.isEnabled(e)&&await t.reset(e)}},er=new WeakMap,tr=new WeakMap,rr=class e extends N{constructor(e,t,n){if(super(e,t),typeof e!=`number`&&e)this.z=e.z;else{if(n===void 0)throw Error(`tsParticles - Vector not initialized correctly`);this.z=n}}static get origin(){return e.create(0,0,0)}static clone(t){return e.create(t.x,t.y,t.z)}static create(t,n,r){return new e(t,n,r)}add(t){return t instanceof e?e.create(this.x+t.x,this.y+t.y,this.z+t.z):super.add(t)}addTo(t){super.addTo(t),t instanceof e&&(this.z+=t.z)}copy(){return e.clone(this)}div(t){return e.create(this.x/t,this.y/t,this.z/t)}divTo(e){super.divTo(e),this.z/=e}mult(t){return e.create(this.x*t,this.y*t,this.z*t)}multTo(e){super.multTo(e),this.z*=e}setTo(e){super.setTo(e);let t=e;t.z!==void 0&&(this.z=t.z)}sub(t){return t instanceof e?e.create(this.x-t.x,this.y-t.y,this.z-t.z):super.sub(t)}subFrom(t){super.subFrom(t),t instanceof e&&(this.z-=t.z)}},ir=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},ar=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},sr=e=>{(T(e.outMode,e.checkModes)||T(e.outMode,e.checkModes))&&(e.coord>e.maxCoord-2*e.radius?e.setCb(-e.radius):e.coord<2*e.radius&&e.setCb(e.radius))},cr=class{constructor(e,t,n,r,i,a){var o,s,c;this.id=t,this.container=n,this.group=a,or.set(this,void 0),ir(this,or,e,`f`),this.fill=!0,this.close=!0,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.splitCount=0,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType=`normal`,this.ignoresResizeRatio=!0;let l=n.retina.pixelRatio,u=n.actualOptions,d=nt(ar(this,or,`f`),n,u.particles),f=d.shape.type,p=d.reduceDuplicates;if(this.shape=f instanceof Array?E(f,this.id,p):f,i?.shape){if(i.shape.type){let e=i.shape.type;this.shape=e instanceof Array?E(e,this.id,p):e}let e=new In;e.load(i.shape),this.shape&&(this.shapeData=this.loadShapeData(e,p))}else this.shapeData=this.loadShapeData(d.shape,p);d.load(i),d.load(this.shapeData?.particles),this.interactivity=new $t(e,n),this.interactivity.load(n.actualOptions.interactivity),this.interactivity.load(d.interactivity),this.fill=this.shapeData?.fill??this.fill,this.close=this.shapeData?.close??this.close,this.options=d;let g=this.options.move.path;this.pathDelay=1e3*x(g.delay),g.generator&&(this.pathGenerator=ar(this,or,`f`).plugins.getPathGenerator(g.generator),this.pathGenerator&&n.addPath(g.generator,this.pathGenerator)&&this.pathGenerator.init(n));let b=v(this.options.zIndex.value);n.retina.initParticle(this);let S=this.options.size,C=S.value,ne=S.animation;if(this.size={enable:S.animation.enable,value:v(S.value)*n.retina.pixelRatio,max:y(C)*l,min:ee(C)*l,loops:0,maxLoops:v(S.animation.count)},ne.enable){switch(this.size.status=0,this.size.decay=1-v(ne.decay),ne.startValue){case`min`:this.size.value=this.size.min,this.size.status=0;break;case`random`:this.size.value=_(this.size)*l,this.size.status=m()>=.5?0:1;break;case`max`:default:this.size.value=this.size.max,this.size.status=1;break}this.size.velocity=(this.retina.sizeAnimationSpeed??n.retina.sizeAnimationSpeed)/100*n.retina.reduceFactor,ne.sync||(this.size.velocity*=m())}this.bubble={inRange:!1},this.position=this.calcPosition(n,r,h(b,0,n.zLayers)),this.initialPosition=this.position.copy();let re=n.canvas.size,ie=this.options.move.center;switch(this.moveCenter={x:re.width*ie.x/100,y:re.height*ie.y/100,radius:this.options.move.center.radius},this.direction=te(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case`inside`:this.outType=`inside`;break;case`outside`:this.outType=`outside`;break}this.initialVelocity=this.calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=1-v(this.options.move.decay),this.offset=N.origin;let ae=n.particles;ae.needsSort=ae.needsSort||ae.lastZIndex=-e&&this.position.y>=-e&&this.position.y<=t.height+e&&this.position.x<=t.width+e}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){this.opacity&&(this.opacity.loops=0),this.size.loops=0}calcPosition(e,t,n,r=0){for(let[,r]of e.plugins){let e=r.particlePosition===void 0?void 0:r.particlePosition(t,this);if(e!==void 0)return rr.create(e.x,e.y,n)}let i=e.canvas.size,a=se({size:i,position:t}),o=rr.create(a.x,a.y,n),s=this.getRadius(),c=this.options.move.outModes,l=t=>{sr({outMode:t,checkModes:[`bounce`,`bounce-horizontal`],coord:o.x,maxCoord:e.canvas.size.width,setCb:e=>o.x+=e,radius:s})},u=t=>{sr({outMode:t,checkModes:[`bounce`,`bounce-vertical`],coord:o.y,maxCoord:e.canvas.size.height,setCb:e=>o.y+=e,radius:s})};return l(c.left??c.default),l(c.right??c.default),u(c.top??c.default),u(c.bottom??c.default),this.checkOverlap(o,r)?this.calcPosition(e,void 0,n,r+1):o}calculateVelocity(){let e=ne(this.direction).copy(),t=this.options.move;if(t.direction===`inside`||t.direction===`outside`)return e;let n=Math.PI/180*v(t.angle.value),r=Math.PI/180*v(t.angle.offset),i={left:r-n/2,right:r+n/2};return t.straight||(e.angle+=_(b(i.left,i.right))),t.random&&typeof t.speed==`number`&&(e.length*=m()),e}checkOverlap(e,t=0){let n=this.options.collisions,r=this.getRadius();if(!n.enable)return!1;let i=n.overlap;if(i.enable)return!1;let a=i.retries;if(a>=0&&t>a)throw Error(`Particle is overlapping and can't be placed`);let o=!1;for(let t of this.container.particles.array)if(C(e,t.position)=0&&this.splitCount++>e.count)return;let t=x(e.rate),n=e.particles instanceof Array?E(e.particles):e.particles;for(let e=0;eMath.sqrt(a*a+o+o);if(t.size!==void 0){let e=t.size.width,n=t.size.height,r=(a-e)**2+(o-n)**2;return!(a>s+e||o>s+n)&&(a<=e||o<=n||r<=s*s)}return!1}},B=class extends ur{constructor(e,t,n,r){super(e,t),this.size={height:r,width:n}}contains(e){let t=this.size.width,n=this.size.height,r=this.position;return e.x>=r.x&&e.x<=r.x+t&&e.y>=r.y&&e.y<=r.y+n}intersects(e){let t=e,n=e,r=this.size.width,i=this.size.height,a=this.position,o=e.position;if(n.radius!==void 0)return n.intersects(this);if(!t.size)return!1;let s=t.size,c=s.width,l=s.height;return o.xa.x&&o.ya.y}},dr=class extends z{constructor(e,t,n,r){super(e,t,n),this.canvasSize=r,this.canvasSize=Object.assign({},r)}contains(e){if(super.contains(e))return!0;let t={x:e.x-this.canvasSize.width,y:e.y};if(super.contains(t))return!0;let n={x:e.x-this.canvasSize.width,y:e.y-this.canvasSize.height};if(super.contains(n))return!0;let r={x:e.x,y:e.y-this.canvasSize.height};return super.contains(r)}intersects(e){if(super.intersects(e))return!0;let t=e,n=e,r={x:e.position.x-this.canvasSize.width,y:e.position.y-this.canvasSize.height};if(n.radius!==void 0){let e=new z(r.x,r.y,2*n.radius);return super.intersects(e)}if(t.size!==void 0){let e=new B(r.x,r.y,2*t.size.width,2*t.size.height);return super.intersects(e)}return!1}},fr=class e{constructor(e,t){this.rectangle=e,this.capacity=t,this.points=[],this.divided=!1}insert(e){var t;return this.rectangle.contains(e.position)?this.points.lengthn.particle.getRadius()&&(!t||t(n.particle))||s.push(n.particle);return this.divided&&((r=this.northEast)==null||r.query(e,t,s),(i=this.northWest)==null||i.query(e,t,s),(a=this.southEast)==null||a.query(e,t,s),(o=this.southWest)==null||o.query(e,t,s)),s}queryCircle(e,t,n){return this.query(new z(e.x,e.y,t),n)}queryCircleWarp(e,t,n,r){let i=n,a=n;return this.query(new dr(e.x,e.y,t,i.canvas===void 0?a:i.canvas.size),r)}queryRectangle(e,t,n){return this.query(new B(e.x,e.y,t.width,t.height),n)}subdivide(){let t=this.rectangle.position.x,n=this.rectangle.position.y,r=this.rectangle.size.width,i=this.rectangle.size.height,a=this.capacity;this.northEast=new e(new B(t,n,r/2,i/2),a),this.northWest=new e(new B(t+r/2,n,r/2,i/2),a),this.southEast=new e(new B(t,n+i/2,r/2,i/2),a),this.southWest=new e(new B(t+r/2,n+i/2,r/2,i/2),a),this.divided=!0}},pr=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},mr=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},hr=class{constructor(e,t){this.container=t,V.set(this,void 0),pr(this,V,e,`f`),this.nextId=0,this.array=[],this.zArray=[],this.limit=0,this.needsSort=!1,this.lastZIndex=0,this.freqs={links:new Map,triangles:new Map},this.interactionManager=new nr(mr(this,V,`f`),t);let n=this.container.canvas.size;this.quadTree=new fr(new B(-n.width/4,-n.height/4,3*n.width/2,3*n.height/2),4),this.movers=mr(this,V,`f`).plugins.getMovers(t,!0),this.updaters=mr(this,V,`f`).plugins.getUpdaters(t,!0)}get count(){return this.array.length}addManualParticles(){let e=this.container,t=e.actualOptions;for(let n of t.manualParticles)this.addParticle(ae({size:e.canvas.size,position:n.position}),n.options)}addParticle(e,t,n){let r=this.container.actualOptions.particles.number.limit;if(r>0){let e=this.count+1-r;e>0&&this.removeQuantity(e)}return this.pushParticle(e,t,n)}addSplitParticle(e,t){let n=e.options.destroy.split,r=nt(mr(this,V,`f`),this.container,e.options),i=x(n.factor);r.color.load({value:{hsl:e.getFillColor()}}),typeof r.size.value==`number`?r.size.value/=i:(r.size.value.min/=i,r.size.value.max/=i),r.load(t);let a=n.sizeOffset?b(-e.size.value,e.size.value):0,o={x:e.position.x+_(a),y:e.position.y+_(a)};return this.pushParticle(o,r,e.group,(t=>t.size.value<.5?!1:(t.velocity.length=_(b(e.velocity.length,t.velocity.length)),t.splitCount=e.splitCount+1,t.unbreakable=!0,setTimeout((()=>{t.unbreakable=!1}),500),!0)))}clear(){this.array=[],this.zArray=[]}destroy(){this.array=[],this.zArray=[],this.movers=[],this.updaters=[]}async draw(e){let t=this.container,n=this.container.canvas.size;this.quadTree=new fr(new B(-n.width/4,-n.height/4,3*n.width/2,3*n.height/2),4),t.canvas.clear(),await this.update(e),this.needsSort&&=(this.zArray.sort(((e,t)=>t.position.z-e.position.z||e.id-t.id)),this.lastZIndex=this.zArray[this.zArray.length-1].position.z,!1);for(let[,n]of t.plugins)t.canvas.drawPlugin(n,e);for(let t of this.zArray)t.draw(e)}getLinkFrequency(e,t){let n=b(e.id,t.id),r=`${ee(n)}_${y(n)}`,i=this.freqs.links.get(r);return i===void 0&&(i=m(),this.freqs.links.set(r,i)),i}getTriangleFrequency(e,t,n){let[r,i,a]=[e.id,t.id,n.id];r>i&&([i,r]=[r,i]),i>a&&([a,i]=[i,a]),r>a&&([a,r]=[r,a]);let o=`${r}_${i}_${a}`,s=this.freqs.triangles.get(o);return s===void 0&&(s=m(),this.freqs.triangles.set(o,s)),s}handleClickMode(e){this.interactionManager.handleClickMode(e)}init(){let e=this.container,t=e.actualOptions;this.lastZIndex=0,this.needsSort=!1,this.freqs.links=new Map,this.freqs.triangles=new Map;let n=!1;this.updaters=mr(this,V,`f`).plugins.getUpdaters(e,!0),this.interactionManager.init();for(let[,t]of e.plugins)if(t.particlesInitialization!==void 0&&(n=t.particlesInitialization()),n)break;this.interactionManager.init();for(let[,t]of e.pathGenerators)t.init(e);if(this.addManualParticles(),!n){for(let e in t.particles.groups){let n=t.particles.groups[e];for(let r=this.count,i=0;i=0&&e<=this.count))return;let i=0;for(let a=e;i0?r.limit:a,s=Math.min(a,o)*i+t,c=Math.min(this.count,this.array.filter((e=>e.group===n)).length);this.limit=r.limit*i,cs&&this.removeQuantity(c-s,n)}initDensityFactor(e){let t=this.container;if(!t.canvas.element||!e.enable)return 1;let n=t.canvas.element,r=t.retina.pixelRatio;return n.width*n.height/(e.factor*r**2*e.area)}pushParticle(e,t,n,r){try{let i=new cr(mr(this,V,`f`),this.nextId,this.container,e,t,n),a=!0;return r&&(a=r(i)),a?(this.array.push(i),this.zArray.push(i),this.nextId++,mr(this,V,`f`).dispatchEvent(`particleAdded`,{container:this.container,data:{particle:i}}),i):void 0}catch(e){console.warn(`error adding particle: ${e}`);return}}},V=new WeakMap,gr=class{constructor(e){this.container=e}init(){let e=this.container,t=e.actualOptions;this.pixelRatio=!t.detectRetina||de()?1:i.devicePixelRatio;let n=this.container.actualOptions.motion;if(n&&(n.disable||n.reduce.value))if(de()||typeof matchMedia>`u`||!matchMedia)this.reduceFactor=1;else{let t=matchMedia(`(prefers-reduced-motion: reduce)`);if(t){this.handleMotionChange(t);let n=()=>{this.handleMotionChange(t),e.refresh().catch((()=>{}))};t.addEventListener===void 0?t.addListener!==void 0&&t.addListener(n):t.addEventListener(`change`,n)}}else this.reduceFactor=1;let r=this.pixelRatio;if(e.canvas.element){let t=e.canvas.element;e.canvas.size.width=t.offsetWidth*r,e.canvas.size.height=t.offsetHeight*r}let a=t.particles;this.attractDistance=v(a.move.attract.distance)*r,this.sizeAnimationSpeed=v(a.size.animation.speed)*r,this.maxSpeed=v(a.move.gravity.maxSpeed)*r,this.slowModeRadius=t.interactivity.modes.slow.radius*r}initParticle(e){let t=e.options,n=this.pixelRatio,r=t.move.distance,i=e.retina;i.attractDistance=v(t.move.attract.distance)*n,i.moveDrift=v(t.move.drift)*n,i.moveSpeed=v(t.move.speed)*n,i.sizeAnimationSpeed=v(t.size.animation.speed)*n;let a=i.maxDistance;a.horizontal=r.horizontal===void 0?void 0:r.horizontal*n,a.vertical=r.vertical===void 0?void 0:r.vertical*n,i.maxSpeed=v(t.move.gravity.maxSpeed)*n}handleMotionChange(e){let t=this.container.actualOptions;if(e.matches){let e=t.motion;this.reduceFactor=e.disable?0:e.reduce.value?1/e.reduce.factor:1}else this.reduceFactor=1}},_r=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},H=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Sr=`default`,Cr={generate:e=>{let t=e.velocity.copy();return t.angle+=t.length*Math.PI/180,t},init:()=>{},update:()=>{}},wr=class{constructor(e,t,n){this.id=t,U.set(this,void 0),vr.set(this,void 0),yr.set(this,void 0),br.set(this,void 0),xr.set(this,void 0),_r(this,U,e,`f`),this.fpsLimit=120,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,_r(this,xr,n,`f`),this._initialSourceOptions=n,this.retina=new gr(this),this.canvas=new Mt(this),this.particles=new hr(H(this,U,`f`),this),this.frameManager=new Pt(this),this.pathGenerators=new Map,this.interactivity={mouse:{clicking:!1,inside:!1}},this.plugins=new Map,this.drawers=new Map,_r(this,br,rt(H(this,U,`f`),this),`f`),this.actualOptions=rt(H(this,U,`f`),this),_r(this,vr,new Nt(this),`f`),typeof IntersectionObserver<`u`&&IntersectionObserver&&_r(this,yr,new IntersectionObserver((e=>this.intersectionManager(e))),`f`),H(this,U,`f`).dispatchEvent(`containerBuilt`,{container:this})}get options(){return H(this,br,`f`)}get sourceOptions(){return H(this,xr,`f`)}addClickHandler(e){if(!j(this))return;let t=this.interactivity.element;if(!t)return;let n=(t,n,r)=>{if(!j(this))return;let i=this.retina.pixelRatio,a={x:n.x*i,y:n.y*i};e(t,this.particles.quadTree.queryCircle(a,r*i))},r=e=>{if(!j(this))return;let t=e;n(e,{x:t.offsetX||t.clientX,y:t.offsetY||t.clientY},1)},i=()=>{j(this)&&(c=!0,l=!1)},a=()=>{j(this)&&(l=!0)},o=e=>{if(j(this)){if(c&&!l){let t=e,r=t.touches[t.touches.length-1];if(!r&&(r=t.changedTouches[t.changedTouches.length-1],!r))return;let i=this.canvas.element?.getBoundingClientRect();n(e,{x:r.clientX-(i?.left??0),y:r.clientY-(i?.top??0)},Math.max(r.radiusX,r.radiusY))}c=!1,l=!1}},s=()=>{j(this)&&(c=!1,l=!1)},c=!1,l=!1;t.addEventListener(`click`,r),t.addEventListener(`touchstart`,i),t.addEventListener(`touchmove`,a),t.addEventListener(`touchend`,o),t.addEventListener(`touchcancel`,s)}addPath(e,t,n=!1){return!j(this)||!n&&this.pathGenerators.has(e)?!1:(this.pathGenerators.set(e,t??Cr),!0)}destroy(){if(!j(this))return;this.stop(),this.particles.destroy(),this.canvas.destroy();for(let[,e]of this.drawers)e.destroy&&e.destroy(this);for(let e of this.drawers.keys())this.drawers.delete(e);H(this,U,`f`).plugins.destroy(this),this.destroyed=!0;let e=H(this,U,`f`).dom(),t=e.findIndex((e=>e===this));t>=0&&e.splice(t,1),H(this,U,`f`).dispatchEvent(`containerDestroyed`,{container:this})}draw(e){if(!j(this))return;let t=e;this.drawAnimationFrame=fe()((async e=>{t&&=(this.lastFrameTime=void 0,!1),await this.frameManager.nextFrame(e)}))}exportConfiguration(){return JSON.stringify(this.actualOptions,void 0,2)}exportImage(e,t,n){return this.canvas.element?.toBlob(e,t??`image/png`,n)}exportImg(e){this.exportImage(e)}getAnimationStatus(){return!this.paused&&!this.pageHidden&&j(this)}handleClickMode(e){if(j(this)){this.particles.handleClickMode(e);for(let[,t]of this.plugins)t.handleClickMode&&t.handleClickMode(e)}}async init(){if(!j(this))return;let e=H(this,U,`f`).plugins.getSupportedShapes();for(let t of e){let e=H(this,U,`f`).plugins.getShapeDrawer(t);e&&this.drawers.set(t,e)}_r(this,br,rt(H(this,U,`f`),this,this._initialSourceOptions,this.sourceOptions),`f`),this.actualOptions=rt(H(this,U,`f`),this,H(this,br,`f`)),this.retina.init(),this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize(),this.zLayers=this.actualOptions.zLayers,this.duration=v(this.actualOptions.duration),this.lifeTime=0,this.fpsLimit=this.actualOptions.fpsLimit>0?this.actualOptions.fpsLimit:120;let t=H(this,U,`f`).plugins.getAvailablePlugins(this);for(let[e,n]of t)this.plugins.set(e,n);for(let[,e]of this.drawers)e.init&&await e.init(this);for(let[,e]of this.plugins)e.init?e.init(this.actualOptions):e.initAsync!==void 0&&await e.initAsync(this.actualOptions);H(this,U,`f`).dispatchEvent(`containerInit`,{container:this}),this.particles.init(),this.particles.setDensity();for(let[,e]of this.plugins)e.particlesSetup!==void 0&&e.particlesSetup();H(this,U,`f`).dispatchEvent(`particlesSetup`,{container:this})}async loadTheme(e){j(this)&&(this.currentTheme=e,await this.refresh())}pause(){if(j(this)&&(this.drawAnimationFrame!==void 0&&(pe()(this.drawAnimationFrame),delete this.drawAnimationFrame),!this.paused)){for(let[,e]of this.plugins)e.pause&&e.pause();this.pageHidden||(this.paused=!0),H(this,U,`f`).dispatchEvent(`containerPaused`,{container:this})}}play(e){if(!j(this))return;let t=this.paused||e;if(!this.firstStart||this.actualOptions.autoPlay){if(this.paused&&=!1,t)for(let[,e]of this.plugins)e.play&&e.play();H(this,U,`f`).dispatchEvent(`containerPlay`,{container:this}),this.draw(t||!1)}else this.firstStart=!1}async refresh(){if(j(this))return this.stop(),this.start()}async reset(){if(j(this))return _r(this,br,rt(H(this,U,`f`),this),`f`),this.refresh()}setNoise(e,t,n){j(this)&&this.setPath(e,t,n)}setPath(e,t,n){if(!e||!j(this))return;let r=Object.assign({},Cr);if(typeof e==`function`)r.generate=e,t&&(r.init=t),n&&(r.update=n);else{let t=r;r.generate=e.generate||t.generate,r.init=e.init||t.init,r.update=e.update||t.update}this.addPath(Sr,r,!0)}async start(){if(!this.started&&j(this)){await this.init(),this.started=!0,H(this,vr,`f`).addListeners(),this.interactivity.element instanceof HTMLElement&&H(this,yr,`f`)&&H(this,yr,`f`).observe(this.interactivity.element);for(let[,e]of this.plugins)e.startAsync===void 0?e.start!==void 0&&e.start():await e.startAsync();H(this,U,`f`).dispatchEvent(`containerStarted`,{container:this}),this.play()}}stop(){var e;if(this.started&&j(this)){this.firstStart=!0,this.started=!1,H(this,vr,`f`).removeListeners(),this.pause(),this.particles.clear(),this.canvas.clear(),this.interactivity.element instanceof HTMLElement&&H(this,yr,`f`)&&H(this,yr,`f`).unobserve(this.interactivity.element);for(let[,t]of this.plugins)(e=t.stop)==null||e.call(t);for(let e of this.plugins.keys())this.plugins.delete(e);_r(this,xr,H(this,br,`f`),`f`),H(this,U,`f`).dispatchEvent(`containerStopped`,{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];let e=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,H(this,br,`f`));return this.actualOptions.setTheme(this.currentTheme),this.responsiveMaxWidth==e?!1:(this.responsiveMaxWidth=e,!0)}intersectionManager(e){if(j(this)&&this.actualOptions.pauseOnOutsideViewport)for(let t of e)t.target===this.interactivity.element&&(t.isIntersecting?this.play:this.pause)()}},U=new WeakMap,vr=new WeakMap,yr=new WeakMap,br=new WeakMap,xr=new WeakMap,Tr=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Er=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Or=class{constructor(e){Dr.set(this,void 0),Tr(this,Dr,e,`f`)}load(e,t,n){let r={index:n,remote:!1};return typeof e==`string`?r.tagId=e:r.options=e,typeof t==`number`?r.index=t:r.options=t??r.options,this.loadOptions(r)}async loadJSON(e,t,n){let r,i;return typeof t==`number`||t===void 0?r=e:(i=e,r=t),this.loadRemoteOptions({tagId:i,url:r,index:n,remote:!0})}async loadOptions(e){var t;let n=e.tagId??`tsparticles${Math.floor(1e4*m())}`,{index:r,url:i,remote:a}=e,o=a?await at(i,r):e.options,s=e.element??document.getElementById(n);s||(s=document.createElement(`div`),s.id=n,(t=document.querySelector(`body`))==null||t.append(s));let c=o instanceof Array?E(o,r):o,l=Er(this,Dr,`f`).dom(),u=l.findIndex((e=>e.id===n));if(u>=0){let e=Er(this,Dr,`f`).domItem(u);e&&!e.destroyed&&(e.destroy(),l.splice(u,1))}let d;if(s.tagName.toLowerCase()===`canvas`)d=s,d.dataset[pt]=`false`;else{let e=s.getElementsByTagName(`canvas`);e.length?(d=e[0],d.dataset[pt]=`false`):(d=document.createElement(`canvas`),d.dataset[pt]=`true`,s.appendChild(d))}d.style.width||(d.style.width=`100%`),d.style.height||(d.style.height=`100%`);let f=new wr(Er(this,Dr,`f`),n,c);return u>=0?l.splice(u,0,f):l.push(f),f.canvas.loadCanvas(d),await f.start(),f}async loadRemoteOptions(e){return this.loadOptions(e)}async set(e,t,n,r){let i={index:r,remote:!1};return typeof e==`string`?i.tagId=e:i.element=e,t instanceof HTMLElement?i.element=t:i.options=t,typeof n==`number`?i.index=n:i.options=n??i.options,this.loadOptions(i)}async setJSON(e,t,n,r){let i,a,o,s;return e instanceof HTMLElement?(s=e,i=t,o=n):(a=e,s=t,i=n,o=r),this.loadRemoteOptions({tagId:a,url:i,index:o,element:s,remote:!0})}},Dr=new WeakMap,kr=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},jr=class{constructor(e){Ar.set(this,void 0),kr(this,Ar,e,`f`),this.plugins=[],this.interactorsInitializers=new Map,this.moversInitializers=new Map,this.updatersInitializers=new Map,this.interactors=new Map,this.movers=new Map,this.updaters=new Map,this.presets=new Map,this.drawers=new Map,this.pathGenerators=new Map}addInteractor(e,t){this.interactorsInitializers.set(e,t)}addParticleMover(e,t){this.moversInitializers.set(e,t)}addParticleUpdater(e,t){this.updatersInitializers.set(e,t)}addPathGenerator(e,t){this.getPathGenerator(e)||this.pathGenerators.set(e,t)}addPlugin(e){this.getPlugin(e.id)||this.plugins.push(e)}addPreset(e,t,n=!1){!n&&this.getPreset(e)||this.presets.set(e,t)}addShapeDrawer(e,t){this.getShapeDrawer(e)||this.drawers.set(e,t)}destroy(e){this.updaters.delete(e),this.movers.delete(e),this.interactors.delete(e)}getAvailablePlugins(e){let t=new Map;for(let n of this.plugins)n.needsPlugin(e.actualOptions)&&t.set(n.id,n.getPlugin(e));return t}getInteractors(e,t=!1){let n=this.interactors.get(e);return(!n||t)&&(n=[...this.interactorsInitializers.values()].map((t=>t(e))),this.interactors.set(e,n)),n}getMovers(e,t=!1){let n=this.movers.get(e);return(!n||t)&&(n=[...this.moversInitializers.values()].map((t=>t(e))),this.movers.set(e,n)),n}getPathGenerator(e){return this.pathGenerators.get(e)}getPlugin(e){return this.plugins.find((t=>t.id===e))}getPreset(e){return this.presets.get(e)}getShapeDrawer(e){return this.drawers.get(e)}getSupportedShapes(){return this.drawers.keys()}getUpdaters(e,t=!1){let n=this.updaters.get(e);return(!n||t)&&(n=[...this.updatersInitializers.values()].map((t=>t(e))),this.updaters.set(e,n)),n}loadOptions(e,t){for(let n of this.plugins)n.loadOptions(e,t)}loadParticlesOptions(e,t,...n){let r=this.updaters.get(e);if(r)for(let e of r)e.loadOptions&&e.loadOptions(t,...n)}},Ar=new WeakMap,Mr=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},W=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Lr=class{constructor(){Nr.set(this,void 0),Pr.set(this,void 0),Fr.set(this,void 0),Ir.set(this,void 0),Mr(this,Nr,[],`f`),Mr(this,Pr,new ct,`f`),Mr(this,Fr,!1,`f`),Mr(this,Ir,new Or(this),`f`),this.plugins=new jr(this)}addEventListener(e,t){W(this,Pr,`f`).addEventListener(e,t)}async addInteractor(e,t){this.plugins.addInteractor(e,t),await this.refresh()}async addMover(e,t){this.plugins.addParticleMover(e,t),await this.refresh()}async addParticleUpdater(e,t){this.plugins.addParticleUpdater(e,t),await this.refresh()}async addPathGenerator(e,t){this.plugins.addPathGenerator(e,t),await this.refresh()}async addPlugin(e){this.plugins.addPlugin(e),await this.refresh()}async addPreset(e,t,n=!1){this.plugins.addPreset(e,t,n),await this.refresh()}async addShape(e,t,n,r,i){let a;a=typeof t==`function`?{afterEffect:r,destroy:i,draw:t,init:n}:t,this.plugins.addShapeDrawer(e,a),await this.refresh()}dispatchEvent(e,t){W(this,Pr,`f`).dispatchEvent(e,t)}dom(){return W(this,Nr,`f`)}domItem(e){let t=this.dom(),n=t[e];if(n&&!n.destroyed)return n;t.splice(e,1)}init(){W(this,Fr,`f`)||Mr(this,Fr,!0,`f`)}async load(e,t){return W(this,Ir,`f`).load(e,t)}async loadFromArray(e,t,n){return W(this,Ir,`f`).load(e,t,n)}async loadJSON(e,t,n){return W(this,Ir,`f`).loadJSON(e,t,n)}async refresh(){for(let e of this.dom())await e.refresh()}removeEventListener(e,t){W(this,Pr,`f`).removeEventListener(e,t)}async set(e,t,n){return W(this,Ir,`f`).set(e,t,n)}async setJSON(e,t,n,r){return W(this,Ir,`f`).setJSON(e,t,n,r)}setOnClickHandler(e){let t=this.dom();if(!t.length)throw Error(`Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()`);for(let n of t)n.addClickHandler(e)}},Nr=new WeakMap,Pr=new WeakMap,Fr=new WeakMap,Ir=new WeakMap,Rr=class{constructor(){this.stringPrefix=`hsl`}handleColor(e){let t=e.value.hsl??e.value;if(t.h!==void 0&&t.l!==void 0)return Pe(t)}handleRangeColor(e){let t=e.value.hsl??e.value;if(t.h!==void 0&&t.l!==void 0)return Pe({h:v(t.h),l:v(t.l),s:v(t.s)})}parseString(e){if(!e.startsWith(`hsl`))return;let t=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.%]+)\s*)?\)/i.exec(e);return t?Fe({a:t.length>4?ce(t[5]):1,h:parseInt(t[1],10),l:parseInt(t[3],10),s:parseInt(t[2],10)}):void 0}},zr=class{constructor(){this.stringPrefix=`rgb`}handleColor(e){let t=e.value.rgb??e.value;if(t.r!==void 0)return t}handleRangeColor(e){let t=e.value.rgb??e.value;if(t.r!==void 0)return{r:v(t.r),g:v(t.g),b:v(t.b)}}parseString(e){if(!e.startsWith(this.stringPrefix))return;let t=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.%]+)\s*)?\)/i.exec(e);return t?{a:t.length>4?ce(t[5]):1,b:parseInt(t[3],10),g:parseInt(t[2],10),r:parseInt(t[1],10)}:void 0}},G=class{constructor(e){this.container=e,this.type=0}},Br=class{constructor(e){this.container=e,this.type=1}},Vr=new zr,Hr=new Rr,Ee(`rgb`,Vr),Ee(`hsl`,Hr),Ur=new Lr,Ur.init()})),Wr,Gr,Kr,qr=e((()=>{Wr={},Wr=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if((o!==`_owner`||!t.$$typeof)&&!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n},Gr=Wr,Kr=Gr})),Jr,Yr,Xr=e((()=>{t(),K(),qr(),Jr=`tsparticles`,Yr=class e extends o{constructor(e){super(e),this.state={init:!1,library:void 0}}destroy(){this.state.library&&(this.state.library.destroy(),this.setState({library:void 0}))}shouldComponentUpdate(e){return!Kr(e,this.props)}componentDidUpdate(){this.refresh()}forceUpdate(){this.refresh().then((()=>{super.forceUpdate()}))}componentDidMount(){(async()=>{this.props.init&&await this.props.init(Ur),this.setState({init:!0},(async()=>{await this.loadParticles()}))})()}componentWillUnmount(){this.destroy()}render(){let{width:e,height:t,className:n,canvasClassName:r,id:i}=this.props;return c.createElement(`div`,{className:n,id:i},c.createElement(`canvas`,{className:r,style:Object.assign(Object.assign({},this.props.style),{width:e,height:t})}))}async refresh(){this.destroy(),await this.loadParticles()}async loadParticles(){if(!this.state.init)return;let t=async e=>{this.props.container&&(this.props.container.current=e),this.setState({library:e}),this.props.loaded&&await this.props.loaded(e)},n=this.props.id??e.defaultProps.id??Jr;await t(this.props.url?await Ur.loadJSON(n,this.props.url):await Ur.load(n,this.props.params??this.props.options))}},Yr.defaultProps={width:`100%`,height:`100%`,options:{},style:{},url:void 0,id:Jr}}));async function Zr(e){let t=new ni;await e.addPlugin(t)}var Qr,$r,q,ei,ti,ni,ri=e((()=>{K(),Qr=class{constructor(){this.radius=0,this.mass=0}load(e){e&&(e.mass!==void 0&&(this.mass=e.mass),e.radius!==void 0&&(this.radius=e.radius))}},$r=class extends L{constructor(){super(),this.density=5,this.value=50,this.limit=new Qr}load(e){e&&(super.load(e),e.density!==void 0&&(this.density=e.density),typeof e.limit==`number`?this.limit.radius=e.limit:this.limit.load(e.limit))}},q=class{constructor(){this.color=new I,this.color.value=`#000000`,this.draggable=!1,this.opacity=1,this.destroy=!0,this.orbits=!1,this.size=new $r}load(e){e!==void 0&&(e.color!==void 0&&(this.color=I.create(this.color,e.color)),e.draggable!==void 0&&(this.draggable=e.draggable),this.name=e.name,e.opacity!==void 0&&(this.opacity=e.opacity),e.position!==void 0&&(this.position={},e.position.x!==void 0&&(this.position.x=b(e.position.x)),e.position.y!==void 0&&(this.position.y=b(e.position.y))),e.size!==void 0&&this.size.load(e.size),e.destroy!==void 0&&(this.destroy=e.destroy),e.orbits!==void 0&&(this.orbits=e.orbits))}},ei=class{constructor(e,t,n,r){this.absorbers=e,this.container=t,this.initialPosition=r?N.create(r.x,r.y):void 0,n instanceof q?this.options=n:(this.options=new q,this.options.load(n)),this.dragging=!1,this.name=this.options.name,this.opacity=this.options.opacity,this.size=v(this.options.size.value)*t.retina.pixelRatio,this.mass=this.size*this.options.size.density*t.retina.reduceFactor;let i=this.options.size.limit;this.limit={radius:i.radius*t.retina.pixelRatio*t.retina.reduceFactor,mass:i.mass},this.color=O(this.options.color)??{b:0,g:0,r:0},this.position=this.initialPosition?.copy()??this.calcPosition()}attract(e){let t=this.container,n=this.options;if(n.draggable){let e=t.interactivity.mouse;e.clicking&&e.downPosition?C(this.position,e.downPosition)<=this.size&&(this.dragging=!0):this.dragging=!1,this.dragging&&e.position&&(this.position.x=e.position.x,this.position.y=e.position.y)}let r=e.getPosition(),{dx:i,dy:a,distance:o}=S(this.position,r),s=N.create(i,a);if(s.length=this.mass/o**2*t.retina.reduceFactor,oe.getRadius()&&o=0?`clockwise`:`counter-clockwise`);let i=e.absorberOrbit.length,a=e.absorberOrbit.angle,o=e.absorberOrbitDirection;e.velocity.setTo(N.origin);let s={x:o===`clockwise`?Math.cos:Math.sin,y:o===`clockwise`?Math.sin:Math.cos};e.position.x=this.position.x+i*s.x(a),e.position.y=this.position.y+i*s.y(a),e.absorberOrbit.length-=t.length,e.absorberOrbit.angle+=(e.retina.moveSpeed??0)*n.retina.pixelRatio/100*n.retina.reduceFactor}else{let n=N.origin;n.length=t.length,n.angle=t.angle,e.velocity.addTo(n)}}},ti=class{constructor(e){this.container=e,this.array=[],this.absorbers=[],this.interactivityAbsorbers=[],e.getAbsorber=e=>e===void 0||typeof e==`number`?this.array[e||0]:this.array.find((t=>t.name===e)),e.addAbsorber=(e,t)=>this.addAbsorber(e,t)}addAbsorber(e,t){let n=new ei(this,this.container,e,t);return this.array.push(n),n}draw(e){for(let t of this.array)e.save(),t.draw(e),e.restore()}handleClickMode(e){let t=this.absorbers,n=this.interactivityAbsorbers;if(e===`absorber`){let e;n instanceof Array?n.length>0&&(e=E(n)):e=n;let r=e??(t instanceof Array?E(t):t),i=this.container.interactivity.mouse.clickPosition;this.addAbsorber(r,i)}}init(e){if(!e)return;e.absorbers&&(e.absorbers instanceof Array?this.absorbers=e.absorbers.map((e=>{let t=new q;return t.load(e),t})):(this.absorbers instanceof Array&&(this.absorbers=new q),this.absorbers.load(e.absorbers)));let t=e.interactivity?.modes?.absorbers;if(t&&(t instanceof Array?this.interactivityAbsorbers=t.map((e=>{let t=new q;return t.load(e),t})):(this.interactivityAbsorbers instanceof Array&&(this.interactivityAbsorbers=new q),this.interactivityAbsorbers.load(t))),this.absorbers instanceof Array)for(let e of this.absorbers)this.addAbsorber(e);else this.addAbsorber(this.absorbers)}particleUpdate(e){for(let t of this.array)if(t.attract(e),e.destroyed)break}removeAbsorber(e){let t=this.array.indexOf(e);t>=0&&this.array.splice(t,1)}resize(){for(let e of this.array)e.resize()}stop(){this.array=[]}},ni=class{constructor(){this.id=`absorbers`}getPlugin(e){return new ti(e)}loadOptions(e,t){if(!this.needsPlugin(e)&&!this.needsPlugin(t))return;let n=e;if(t?.absorbers)if(t?.absorbers instanceof Array)n.absorbers=t?.absorbers.map((e=>{let t=new q;return t.load(e),t}));else{let e=n.absorbers;e?.load===void 0&&(n.absorbers=e=new q),e.load(t?.absorbers)}let r=t?.interactivity?.modes?.absorbers;if(r)if(r instanceof Array)n.interactivity.modes.absorbers=r.map((e=>{let t=new q;return t.load(e),t}));else{let e=n.interactivity.modes.absorbers;e?.load===void 0&&(n.interactivity.modes.absorbers=e=new q),e.load(r)}}needsPlugin(e){if(!e)return!1;let t=e.absorbers;return t instanceof Array?!!t.length:!!t||!(!e.interactivity?.events?.onClick?.mode||!T(`absorber`,e.interactivity.events.onClick.mode))}}}));function ii(e,t){return e+t*(m()-.5)}async function ai(e){e.emitterShapeManager||=new Ci(e),e.addEmitterShape||=(t,n)=>{var r;(r=e.emitterShapeManager)==null||r.addShape(t,n)};let t=new Oi(e);await e.addPlugin(t),e.addEmitterShape(`circle`,new oi),e.addEmitterShape(`square`,new wi)}var oi,si,ci,li,J,ui,di,fi,pi,mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki=e((()=>{K(),oi=class{randomPosition(e,t,n){let r=(e,t)=>{let n=m()/4,r=Math.atan(t/e*Math.tan(2*Math.PI*n)),i=m();return i<.25?r:i<.5?Math.PI-r:i<.75?Math.PI+r:-r},i=(e,t,n)=>e*t/Math.sqrt((t*Math.cos(n))**2+(e*Math.sin(n))**2),[a,o]=[t.width/2,t.height/2],s=r(a,o),c=i(a,o,s),l=n?c*Math.sqrt(m()):c;return{x:e.x+l*Math.cos(s),y:e.y+l*Math.sin(s)}}},si=class{constructor(){this.wait=!1}load(e){e!==void 0&&(e.count!==void 0&&(this.count=e.count),e.delay!==void 0&&(this.delay=e.delay),e.duration!==void 0&&(this.duration=e.duration),e.wait!==void 0&&(this.wait=e.wait))}},ci=class{constructor(){this.quantity=1,this.delay=.1}load(e){e!==void 0&&(e.quantity!==void 0&&(this.quantity=b(e.quantity)),e.delay!==void 0&&(this.delay=b(e.delay)))}},li=class{constructor(){this.mode=`percent`,this.height=0,this.width=0}load(e){e!==void 0&&(e.mode!==void 0&&(this.mode=e.mode),e.height!==void 0&&(this.height=e.height),e.width!==void 0&&(this.width=e.width))}},J=class{constructor(){this.autoPlay=!0,this.fill=!0,this.life=new si,this.rate=new ci,this.shape=`square`,this.startCount=0}load(e){e!==void 0&&(e.autoPlay!==void 0&&(this.autoPlay=e.autoPlay),e.size!==void 0&&(this.size===void 0&&(this.size=new li),this.size.load(e.size)),e.direction!==void 0&&(this.direction=e.direction),this.domId=e.domId,e.fill!==void 0&&(this.fill=e.fill),this.life.load(e.life),this.name=e.name,e.particles!==void 0&&(e.particles instanceof Array?this.particles=e.particles.map((e=>D({},e))):this.particles=D({},e.particles)),this.rate.load(e.rate),e.shape!==void 0&&(this.shape=e.shape),e.position!==void 0&&(this.position={},e.position.x!==void 0&&(this.position.x=b(e.position.x)),e.position.y!==void 0&&(this.position.y=b(e.position.y))),e.spawnColor!==void 0&&(this.spawnColor===void 0&&(this.spawnColor=new ln),this.spawnColor.load(e.spawnColor)),e.startCount!==void 0&&(this.startCount=e.startCount))}},ui=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},di=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},hi=class{constructor(e,t,n,r,i){var a;this.emitters=t,this.container=n,fi.set(this,void 0),pi.set(this,void 0),mi.set(this,void 0),ui(this,fi,e,`f`),this.currentDuration=0,this.currentEmitDelay=0,this.currentSpawnDelay=0,this.initialPosition=i,r instanceof J?this.options=r:(this.options=new J,this.options.load(r)),this.spawnDelay=1e3*(this.options.life.delay??0)/this.container.retina.reduceFactor,this.position=this.initialPosition??this.calcPosition(),this.name=this.options.name,this.shape=di(this,fi,`f`).emitterShapeManager?.getShape(this.options.shape),this.fill=this.options.fill,ui(this,pi,!this.options.life.wait,`f`),ui(this,mi,!1,`f`);let o=D({},this.options.particles);o??={},o.move??={},(a=o.move).direction??(a.direction=this.options.direction),this.options.spawnColor&&(this.spawnColor=Ae(this.options.spawnColor)),this.paused=!this.options.autoPlay,this.particlesOptions=o,this.size=this.options.size??(()=>{let e=new li;return e.load({height:0,mode:`percent`,width:0}),e})(),this.lifeCount=this.options.life.count??-1,this.immortal=this.lifeCount<=0,di(this,fi,`f`).dispatchEvent(`emitterCreated`,{container:n,data:{emitter:this}}),this.play()}externalPause(){this.paused=!0,this.pause()}externalPlay(){this.paused=!1,this.play()}getPosition(){if(this.options.domId){let e=this.container,t=document.getElementById(this.options.domId);if(t){let n=t.getBoundingClientRect();return{x:(n.x+n.width/2)*e.retina.pixelRatio,y:(n.y+n.height/2)*e.retina.pixelRatio}}}return this.position}getSize(){let e=this.container;if(this.options.domId){let t=document.getElementById(this.options.domId);if(t){let n=t.getBoundingClientRect();return{width:n.width*e.retina.pixelRatio,height:n.height*e.retina.pixelRatio}}}return{width:this.size.mode===`percent`?e.canvas.size.width*this.size.width/100:this.size.width,height:this.size.mode===`percent`?e.canvas.size.height*this.size.height/100:this.size.height}}pause(){this.paused||delete this.emitDelay}play(){!this.paused&&this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal||!this.options.life.count)&&(di(this,pi,`f`)||this.currentSpawnDelay>=(this.spawnDelay??0))&&(this.emitDelay===void 0&&(this.emitDelay=1e3*v(this.options.rate.delay)/this.container.retina.reduceFactor),(this.lifeCount>0||this.immortal)&&this.prepareToDie())}resize(){let e=this.initialPosition;this.position=e&&ge(e,this.container.canvas.size,N.origin)?e:this.calcPosition()}update(e){this.paused||(di(this,pi,`f`)&&(ui(this,pi,!1,`f`),this.currentSpawnDelay=this.spawnDelay??0,this.currentEmitDelay=this.emitDelay??0),di(this,mi,`f`)||(ui(this,mi,!0,`f`),this.emitParticles(this.options.startCount)),this.duration!==void 0&&(this.currentDuration+=e.value,this.currentDuration>=this.duration&&(this.pause(),this.spawnDelay!==void 0&&delete this.spawnDelay,this.immortal||this.lifeCount--,this.lifeCount>0||this.immortal?(this.position=this.calcPosition(),this.spawnDelay=1e3*(this.options.life.delay??0)/this.container.retina.reduceFactor):this.destroy(),this.currentDuration-=this.duration,delete this.duration)),this.spawnDelay!==void 0&&(this.currentSpawnDelay+=e.value,this.currentSpawnDelay>=this.spawnDelay&&(di(this,fi,`f`).dispatchEvent(`emitterPlay`,{container:this.container}),this.play(),this.currentSpawnDelay-=this.currentSpawnDelay,delete this.spawnDelay)),this.emitDelay!==void 0&&(this.currentEmitDelay+=e.value,this.currentEmitDelay>=this.emitDelay&&(this.emit(),this.currentEmitDelay-=this.emitDelay)))}calcPosition(){return oe({size:this.container.canvas.size,position:this.options.position})}destroy(){this.emitters.removeEmitter(this),di(this,fi,`f`).dispatchEvent(`emitterDestroyed`,{container:this.container,data:{emitter:this}})}emit(){if(this.paused)return;let e=v(this.options.rate.quantity);this.emitParticles(e)}emitParticles(e){let t=this.getPosition(),n=this.getSize(),r=this.particlesOptions instanceof Array?E(this.particlesOptions):this.particlesOptions;for(let i=0;i0||this.immortal)&&e!==void 0&&e>0&&(this.duration=1e3*e)}setColorAnimation(e,t,n){let r=this.container;if(!e.enable)return t;let i=_(e.offset),a=1e3*v(this.options.rate.delay)/r.retina.reduceFactor;return(t+v(e.speed??0)*r.fpsLimit/a+3.6*i)%n}},fi=new WeakMap,pi=new WeakMap,mi=new WeakMap,gi=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},_i=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},yi=class{constructor(e,t){this.container=t,vi.set(this,void 0),gi(this,vi,e,`f`),this.array=[],this.emitters=[],this.interactivityEmitters={random:{count:1,enable:!1},value:[]},t.getEmitter=e=>e===void 0||typeof e==`number`?this.array[e||0]:this.array.find((t=>t.name===e)),t.addEmitter=(e,t)=>this.addEmitter(e,t),t.removeEmitter=e=>{let n=t.getEmitter(e);n&&this.removeEmitter(n)},t.playEmitter=e=>{let n=t.getEmitter(e);n&&n.externalPlay()},t.pauseEmitter=e=>{let n=t.getEmitter(e);n&&n.externalPause()}}addEmitter(e,t){let n=new J;n.load(e);let r=new hi(_i(this,vi,`f`),this,this.container,n,t);return this.array.push(r),r}handleClickMode(e){let t=this.emitters,n=this.interactivityEmitters;if(e===`emitter`){let e;if(n&&n.value instanceof Array)if(n.value.length>0&&n.random.enable){e=[];let t=[];for(let r=0;r{let t=new J;return t.load(e),t})):(this.emitters instanceof Array&&(this.emitters=new J),this.emitters.load(e.emitters)));let i=e.interactivity?.modes?.emitters;if(i)if(i instanceof Array)this.interactivityEmitters={random:{count:1,enable:!0},value:i.map((e=>{let t=new J;return t.load(e),t}))};else{let e=i;if(e.value!==void 0)if(e.value instanceof Array)this.interactivityEmitters={random:{count:this.interactivityEmitters.random.count??1,enable:(t=this.interactivityEmitters.random.enable)!=null&&t},value:e.value.map((e=>{let t=new J;return t.load(e),t}))};else{let t=new J;t.load(e.value),this.interactivityEmitters={random:{count:this.interactivityEmitters.random.count??1,enable:(n=this.interactivityEmitters.random.enable)!=null&&n},value:t}}else{let e=new J;e.load(i),this.interactivityEmitters={random:{count:this.interactivityEmitters.random.count??1,enable:(r=this.interactivityEmitters.random.enable)!=null&&r},value:e}}}if(this.emitters instanceof Array)for(let e of this.emitters)this.addEmitter(e);else this.addEmitter(this.emitters)}pause(){for(let e of this.array)e.pause()}play(){for(let e of this.array)e.play()}removeEmitter(e){let t=this.array.indexOf(e);t>=0&&this.array.splice(t,1)}resize(){for(let e of this.array)e.resize()}stop(){this.array=[]}update(e){for(let t of this.array)t.update(e)}},vi=new WeakMap,bi=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Si=new Map,Ci=class{constructor(e){xi.set(this,void 0),bi(this,xi,e,`f`)}addShape(e,t){this.getShape(e)||Si.set(e,t)}getShape(e){return Si.get(e)}getSupportedShapes(){return Si.keys()}},xi=new WeakMap,wi=class{randomPosition(e,t,n){if(n)return{x:ii(e.x,t.width),y:ii(e.y,t.height)};{let n=t.width/2,r=t.height/2,i=Math.floor(4*m()),a=2*(m()-.5);switch(i){case 0:return{x:e.x+a*n,y:e.y-r};case 1:return{x:e.x-n,y:e.y+a*r};case 2:return{x:e.x+a*n,y:e.y+r};case 3:default:return{x:e.x+n,y:e.y+a*r}}}}},Ti=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Ei=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Oi=class{constructor(e){Di.set(this,void 0),Ti(this,Di,e,`f`),this.id=`emitters`}getPlugin(e){return new yi(Ei(this,Di,`f`),e)}loadOptions(e,t){var n,r;if(!this.needsPlugin(e)&&!this.needsPlugin(t))return;let i=e;if(t?.emitters)if(t?.emitters instanceof Array)i.emitters=t?.emitters.map((e=>{let t=new J;return t.load(e),t}));else{let e=i.emitters;e?.load===void 0&&(i.emitters=e=new J),e.load(t?.emitters)}let a=t?.interactivity?.modes?.emitters;if(a)if(a instanceof Array)i.interactivity.modes.emitters={random:{count:1,enable:!0},value:a.map((e=>{let t=new J;return t.load(e),t}))};else{let e=a;if(e.value!==void 0)if(e.value instanceof Array)i.interactivity.modes.emitters={random:{count:e.random.count??1,enable:(n=e.random.enable)!=null&&n},value:e.value.map((e=>{let t=new J;return t.load(e),t}))};else{let t=new J;t.load(e.value),i.interactivity.modes.emitters={random:{count:e.random.count??1,enable:(r=e.random.enable)!=null&&r},value:t}}else (i.interactivity.modes.emitters={random:{count:1,enable:!1},value:new J}).value.load(a)}}needsPlugin(e){if(!e)return!1;let t=e.emitters;return t instanceof Array&&!!t.length||t!==void 0||!!e.interactivity?.events?.onClick?.mode&&T(`emitter`,e.interactivity.events.onClick.mode)}},Di=new WeakMap}));async function Ai(e){await e.addInteractor(`externalTrail`,(e=>new Fi(e)))}var ji,Mi,Ni,Pi,Fi,Ii=e((()=>{K(),ji=class{constructor(){this.delay=1,this.pauseOnStop=!1,this.quantity=1}load(e){e&&(e.delay!==void 0&&(this.delay=e.delay),e.quantity!==void 0&&(this.quantity=e.quantity),e.particles!==void 0&&(this.particles=D({},e.particles)),e.pauseOnStop!==void 0&&(this.pauseOnStop=e.pauseOnStop))}},Mi=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Ni=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Fi=class extends G{constructor(e){super(e),Pi.set(this,void 0),Mi(this,Pi,e,`f`),this.delay=0}clear(){}init(){}async interact(e){if(!this.container.retina.reduceFactor)return;let t=Ni(this,Pi,`f`),n=t.actualOptions.interactivity.modes.trail;if(!n)return;let r=1e3*n.delay/this.container.retina.reduceFactor;if(this.delay=0&&s<=1};return s<0?(c.x=e.x,c.y=e.y):s>1&&(c.x=t.x,c.y=t.y),c}function Vi(e,t,n){let{dx:r,dy:i}=S(e,t),a=Math.atan2(i,r),o=N.create(Math.sin(a),-Math.cos(a)),s=2*(n.x*o.x+n.y*o.y);o.multTo(s),n.subFrom(o)}async function Hi(e){let t=new na(e);await e.addPlugin(t)}var Ui,Wi,Gi,Ki,qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta,na,ra=e((()=>{n(),K(),(function(){try{if(i===void 0)return;`SVGPathSeg`in i||(i.SVGPathSeg=function(e,t,n){this.pathSegType=e,this.pathSegTypeAsLetter=t,this._owningPathSegList=n},i.SVGPathSeg.prototype.classname=`SVGPathSeg`,i.SVGPathSeg.PATHSEG_UNKNOWN=0,i.SVGPathSeg.PATHSEG_CLOSEPATH=1,i.SVGPathSeg.PATHSEG_MOVETO_ABS=2,i.SVGPathSeg.PATHSEG_MOVETO_REL=3,i.SVGPathSeg.PATHSEG_LINETO_ABS=4,i.SVGPathSeg.PATHSEG_LINETO_REL=5,i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS=6,i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL=7,i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS=8,i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL=9,i.SVGPathSeg.PATHSEG_ARC_ABS=10,i.SVGPathSeg.PATHSEG_ARC_REL=11,i.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS=12,i.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL=13,i.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS=14,i.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL=15,i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS=16,i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL=17,i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS=18,i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL=19,i.SVGPathSeg.prototype._segmentChanged=function(){this._owningPathSegList&&this._owningPathSegList.segmentChanged(this)},i.SVGPathSegClosePath=function(e){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_CLOSEPATH,`z`,e)},i.SVGPathSegClosePath.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegClosePath.prototype.toString=function(){return`[object SVGPathSegClosePath]`},i.SVGPathSegClosePath.prototype._asPathString=function(){return this.pathSegTypeAsLetter},i.SVGPathSegClosePath.prototype.clone=function(){return new i.SVGPathSegClosePath(void 0)},i.SVGPathSegMovetoAbs=function(e,t,n){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_MOVETO_ABS,`M`,e),this._x=t,this._y=n},i.SVGPathSegMovetoAbs.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegMovetoAbs.prototype.toString=function(){return`[object SVGPathSegMovetoAbs]`},i.SVGPathSegMovetoAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x+` `+this._y},i.SVGPathSegMovetoAbs.prototype.clone=function(){return new i.SVGPathSegMovetoAbs(void 0,this._x,this._y)},Object.defineProperty(i.SVGPathSegMovetoAbs.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegMovetoAbs.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegMovetoRel=function(e,t,n){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_MOVETO_REL,`m`,e),this._x=t,this._y=n},i.SVGPathSegMovetoRel.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegMovetoRel.prototype.toString=function(){return`[object SVGPathSegMovetoRel]`},i.SVGPathSegMovetoRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x+` `+this._y},i.SVGPathSegMovetoRel.prototype.clone=function(){return new i.SVGPathSegMovetoRel(void 0,this._x,this._y)},Object.defineProperty(i.SVGPathSegMovetoRel.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegMovetoRel.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegLinetoAbs=function(e,t,n){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_LINETO_ABS,`L`,e),this._x=t,this._y=n},i.SVGPathSegLinetoAbs.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegLinetoAbs.prototype.toString=function(){return`[object SVGPathSegLinetoAbs]`},i.SVGPathSegLinetoAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x+` `+this._y},i.SVGPathSegLinetoAbs.prototype.clone=function(){return new i.SVGPathSegLinetoAbs(void 0,this._x,this._y)},Object.defineProperty(i.SVGPathSegLinetoAbs.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegLinetoAbs.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegLinetoRel=function(e,t,n){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_LINETO_REL,`l`,e),this._x=t,this._y=n},i.SVGPathSegLinetoRel.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegLinetoRel.prototype.toString=function(){return`[object SVGPathSegLinetoRel]`},i.SVGPathSegLinetoRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x+` `+this._y},i.SVGPathSegLinetoRel.prototype.clone=function(){return new i.SVGPathSegLinetoRel(void 0,this._x,this._y)},Object.defineProperty(i.SVGPathSegLinetoRel.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegLinetoRel.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegCurvetoCubicAbs=function(e,t,n,r,a,o,s){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS,`C`,e),this._x=t,this._y=n,this._x1=r,this._y1=a,this._x2=o,this._y2=s},i.SVGPathSegCurvetoCubicAbs.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegCurvetoCubicAbs.prototype.toString=function(){return`[object SVGPathSegCurvetoCubicAbs]`},i.SVGPathSegCurvetoCubicAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x1+` `+this._y1+` `+this._x2+` `+this._y2+` `+this._x+` `+this._y},i.SVGPathSegCurvetoCubicAbs.prototype.clone=function(){return new i.SVGPathSegCurvetoCubicAbs(void 0,this._x,this._y,this._x1,this._y1,this._x2,this._y2)},Object.defineProperty(i.SVGPathSegCurvetoCubicAbs.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicAbs.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicAbs.prototype,`x1`,{get:function(){return this._x1},set:function(e){this._x1=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicAbs.prototype,`y1`,{get:function(){return this._y1},set:function(e){this._y1=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicAbs.prototype,`x2`,{get:function(){return this._x2},set:function(e){this._x2=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicAbs.prototype,`y2`,{get:function(){return this._y2},set:function(e){this._y2=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegCurvetoCubicRel=function(e,t,n,r,a,o,s){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL,`c`,e),this._x=t,this._y=n,this._x1=r,this._y1=a,this._x2=o,this._y2=s},i.SVGPathSegCurvetoCubicRel.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegCurvetoCubicRel.prototype.toString=function(){return`[object SVGPathSegCurvetoCubicRel]`},i.SVGPathSegCurvetoCubicRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x1+` `+this._y1+` `+this._x2+` `+this._y2+` `+this._x+` `+this._y},i.SVGPathSegCurvetoCubicRel.prototype.clone=function(){return new i.SVGPathSegCurvetoCubicRel(void 0,this._x,this._y,this._x1,this._y1,this._x2,this._y2)},Object.defineProperty(i.SVGPathSegCurvetoCubicRel.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicRel.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicRel.prototype,`x1`,{get:function(){return this._x1},set:function(e){this._x1=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicRel.prototype,`y1`,{get:function(){return this._y1},set:function(e){this._y1=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicRel.prototype,`x2`,{get:function(){return this._x2},set:function(e){this._x2=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicRel.prototype,`y2`,{get:function(){return this._y2},set:function(e){this._y2=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegCurvetoQuadraticAbs=function(e,t,n,r,a){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS,`Q`,e),this._x=t,this._y=n,this._x1=r,this._y1=a},i.SVGPathSegCurvetoQuadraticAbs.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegCurvetoQuadraticAbs.prototype.toString=function(){return`[object SVGPathSegCurvetoQuadraticAbs]`},i.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x1+` `+this._y1+` `+this._x+` `+this._y},i.SVGPathSegCurvetoQuadraticAbs.prototype.clone=function(){return new i.SVGPathSegCurvetoQuadraticAbs(void 0,this._x,this._y,this._x1,this._y1)},Object.defineProperty(i.SVGPathSegCurvetoQuadraticAbs.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoQuadraticAbs.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoQuadraticAbs.prototype,`x1`,{get:function(){return this._x1},set:function(e){this._x1=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoQuadraticAbs.prototype,`y1`,{get:function(){return this._y1},set:function(e){this._y1=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegCurvetoQuadraticRel=function(e,t,n,r,a){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL,`q`,e),this._x=t,this._y=n,this._x1=r,this._y1=a},i.SVGPathSegCurvetoQuadraticRel.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegCurvetoQuadraticRel.prototype.toString=function(){return`[object SVGPathSegCurvetoQuadraticRel]`},i.SVGPathSegCurvetoQuadraticRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x1+` `+this._y1+` `+this._x+` `+this._y},i.SVGPathSegCurvetoQuadraticRel.prototype.clone=function(){return new i.SVGPathSegCurvetoQuadraticRel(void 0,this._x,this._y,this._x1,this._y1)},Object.defineProperty(i.SVGPathSegCurvetoQuadraticRel.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoQuadraticRel.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoQuadraticRel.prototype,`x1`,{get:function(){return this._x1},set:function(e){this._x1=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoQuadraticRel.prototype,`y1`,{get:function(){return this._y1},set:function(e){this._y1=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegArcAbs=function(e,t,n,r,a,o,s,c){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_ARC_ABS,`A`,e),this._x=t,this._y=n,this._r1=r,this._r2=a,this._angle=o,this._largeArcFlag=s,this._sweepFlag=c},i.SVGPathSegArcAbs.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegArcAbs.prototype.toString=function(){return`[object SVGPathSegArcAbs]`},i.SVGPathSegArcAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._r1+` `+this._r2+` `+this._angle+` `+(this._largeArcFlag?`1`:`0`)+` `+(this._sweepFlag?`1`:`0`)+` `+this._x+` `+this._y},i.SVGPathSegArcAbs.prototype.clone=function(){return new i.SVGPathSegArcAbs(void 0,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)},Object.defineProperty(i.SVGPathSegArcAbs.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcAbs.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcAbs.prototype,`r1`,{get:function(){return this._r1},set:function(e){this._r1=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcAbs.prototype,`r2`,{get:function(){return this._r2},set:function(e){this._r2=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcAbs.prototype,`angle`,{get:function(){return this._angle},set:function(e){this._angle=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcAbs.prototype,`largeArcFlag`,{get:function(){return this._largeArcFlag},set:function(e){this._largeArcFlag=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcAbs.prototype,`sweepFlag`,{get:function(){return this._sweepFlag},set:function(e){this._sweepFlag=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegArcRel=function(e,t,n,r,a,o,s,c){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_ARC_REL,`a`,e),this._x=t,this._y=n,this._r1=r,this._r2=a,this._angle=o,this._largeArcFlag=s,this._sweepFlag=c},i.SVGPathSegArcRel.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegArcRel.prototype.toString=function(){return`[object SVGPathSegArcRel]`},i.SVGPathSegArcRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._r1+` `+this._r2+` `+this._angle+` `+(this._largeArcFlag?`1`:`0`)+` `+(this._sweepFlag?`1`:`0`)+` `+this._x+` `+this._y},i.SVGPathSegArcRel.prototype.clone=function(){return new i.SVGPathSegArcRel(void 0,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)},Object.defineProperty(i.SVGPathSegArcRel.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcRel.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcRel.prototype,`r1`,{get:function(){return this._r1},set:function(e){this._r1=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcRel.prototype,`r2`,{get:function(){return this._r2},set:function(e){this._r2=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcRel.prototype,`angle`,{get:function(){return this._angle},set:function(e){this._angle=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcRel.prototype,`largeArcFlag`,{get:function(){return this._largeArcFlag},set:function(e){this._largeArcFlag=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegArcRel.prototype,`sweepFlag`,{get:function(){return this._sweepFlag},set:function(e){this._sweepFlag=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegLinetoHorizontalAbs=function(e,t){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS,`H`,e),this._x=t},i.SVGPathSegLinetoHorizontalAbs.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegLinetoHorizontalAbs.prototype.toString=function(){return`[object SVGPathSegLinetoHorizontalAbs]`},i.SVGPathSegLinetoHorizontalAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x},i.SVGPathSegLinetoHorizontalAbs.prototype.clone=function(){return new i.SVGPathSegLinetoHorizontalAbs(void 0,this._x)},Object.defineProperty(i.SVGPathSegLinetoHorizontalAbs.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegLinetoHorizontalRel=function(e,t){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL,`h`,e),this._x=t},i.SVGPathSegLinetoHorizontalRel.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegLinetoHorizontalRel.prototype.toString=function(){return`[object SVGPathSegLinetoHorizontalRel]`},i.SVGPathSegLinetoHorizontalRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x},i.SVGPathSegLinetoHorizontalRel.prototype.clone=function(){return new i.SVGPathSegLinetoHorizontalRel(void 0,this._x)},Object.defineProperty(i.SVGPathSegLinetoHorizontalRel.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegLinetoVerticalAbs=function(e,t){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS,`V`,e),this._y=t},i.SVGPathSegLinetoVerticalAbs.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegLinetoVerticalAbs.prototype.toString=function(){return`[object SVGPathSegLinetoVerticalAbs]`},i.SVGPathSegLinetoVerticalAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._y},i.SVGPathSegLinetoVerticalAbs.prototype.clone=function(){return new i.SVGPathSegLinetoVerticalAbs(void 0,this._y)},Object.defineProperty(i.SVGPathSegLinetoVerticalAbs.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegLinetoVerticalRel=function(e,t){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL,`v`,e),this._y=t},i.SVGPathSegLinetoVerticalRel.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegLinetoVerticalRel.prototype.toString=function(){return`[object SVGPathSegLinetoVerticalRel]`},i.SVGPathSegLinetoVerticalRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._y},i.SVGPathSegLinetoVerticalRel.prototype.clone=function(){return new i.SVGPathSegLinetoVerticalRel(void 0,this._y)},Object.defineProperty(i.SVGPathSegLinetoVerticalRel.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegCurvetoCubicSmoothAbs=function(e,t,n,r,a){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS,`S`,e),this._x=t,this._y=n,this._x2=r,this._y2=a},i.SVGPathSegCurvetoCubicSmoothAbs.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString=function(){return`[object SVGPathSegCurvetoCubicSmoothAbs]`},i.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x2+` `+this._y2+` `+this._x+` `+this._y},i.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone=function(){return new i.SVGPathSegCurvetoCubicSmoothAbs(void 0,this._x,this._y,this._x2,this._y2)},Object.defineProperty(i.SVGPathSegCurvetoCubicSmoothAbs.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicSmoothAbs.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicSmoothAbs.prototype,`x2`,{get:function(){return this._x2},set:function(e){this._x2=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicSmoothAbs.prototype,`y2`,{get:function(){return this._y2},set:function(e){this._y2=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegCurvetoCubicSmoothRel=function(e,t,n,r,a){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL,`s`,e),this._x=t,this._y=n,this._x2=r,this._y2=a},i.SVGPathSegCurvetoCubicSmoothRel.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegCurvetoCubicSmoothRel.prototype.toString=function(){return`[object SVGPathSegCurvetoCubicSmoothRel]`},i.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x2+` `+this._y2+` `+this._x+` `+this._y},i.SVGPathSegCurvetoCubicSmoothRel.prototype.clone=function(){return new i.SVGPathSegCurvetoCubicSmoothRel(void 0,this._x,this._y,this._x2,this._y2)},Object.defineProperty(i.SVGPathSegCurvetoCubicSmoothRel.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicSmoothRel.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicSmoothRel.prototype,`x2`,{get:function(){return this._x2},set:function(e){this._x2=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoCubicSmoothRel.prototype,`y2`,{get:function(){return this._y2},set:function(e){this._y2=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegCurvetoQuadraticSmoothAbs=function(e,t,n){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS,`T`,e),this._x=t,this._y=n},i.SVGPathSegCurvetoQuadraticSmoothAbs.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString=function(){return`[object SVGPathSegCurvetoQuadraticSmoothAbs]`},i.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x+` `+this._y},i.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone=function(){return new i.SVGPathSegCurvetoQuadraticSmoothAbs(void 0,this._x,this._y)},Object.defineProperty(i.SVGPathSegCurvetoQuadraticSmoothAbs.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoQuadraticSmoothAbs.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),i.SVGPathSegCurvetoQuadraticSmoothRel=function(e,t,n){i.SVGPathSeg.call(this,i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL,`t`,e),this._x=t,this._y=n},i.SVGPathSegCurvetoQuadraticSmoothRel.prototype=Object.create(i.SVGPathSeg.prototype),i.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString=function(){return`[object SVGPathSegCurvetoQuadraticSmoothRel]`},i.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+` `+this._x+` `+this._y},i.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone=function(){return new i.SVGPathSegCurvetoQuadraticSmoothRel(void 0,this._x,this._y)},Object.defineProperty(i.SVGPathSegCurvetoQuadraticSmoothRel.prototype,`x`,{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0}),Object.defineProperty(i.SVGPathSegCurvetoQuadraticSmoothRel.prototype,`y`,{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}),i.SVGPathElement.prototype.createSVGPathSegClosePath=function(){return new i.SVGPathSegClosePath(void 0)},i.SVGPathElement.prototype.createSVGPathSegMovetoAbs=function(e,t){return new i.SVGPathSegMovetoAbs(void 0,e,t)},i.SVGPathElement.prototype.createSVGPathSegMovetoRel=function(e,t){return new i.SVGPathSegMovetoRel(void 0,e,t)},i.SVGPathElement.prototype.createSVGPathSegLinetoAbs=function(e,t){return new i.SVGPathSegLinetoAbs(void 0,e,t)},i.SVGPathElement.prototype.createSVGPathSegLinetoRel=function(e,t){return new i.SVGPathSegLinetoRel(void 0,e,t)},i.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs=function(e,t,n,r,a,o){return new i.SVGPathSegCurvetoCubicAbs(void 0,e,t,n,r,a,o)},i.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel=function(e,t,n,r,a,o){return new i.SVGPathSegCurvetoCubicRel(void 0,e,t,n,r,a,o)},i.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs=function(e,t,n,r){return new i.SVGPathSegCurvetoQuadraticAbs(void 0,e,t,n,r)},i.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel=function(e,t,n,r){return new i.SVGPathSegCurvetoQuadraticRel(void 0,e,t,n,r)},i.SVGPathElement.prototype.createSVGPathSegArcAbs=function(e,t,n,r,a,o,s){return new i.SVGPathSegArcAbs(void 0,e,t,n,r,a,o,s)},i.SVGPathElement.prototype.createSVGPathSegArcRel=function(e,t,n,r,a,o,s){return new i.SVGPathSegArcRel(void 0,e,t,n,r,a,o,s)},i.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs=function(e){return new i.SVGPathSegLinetoHorizontalAbs(void 0,e)},i.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel=function(e){return new i.SVGPathSegLinetoHorizontalRel(void 0,e)},i.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs=function(e){return new i.SVGPathSegLinetoVerticalAbs(void 0,e)},i.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel=function(e){return new i.SVGPathSegLinetoVerticalRel(void 0,e)},i.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs=function(e,t,n,r){return new i.SVGPathSegCurvetoCubicSmoothAbs(void 0,e,t,n,r)},i.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel=function(e,t,n,r){return new i.SVGPathSegCurvetoCubicSmoothRel(void 0,e,t,n,r)},i.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs=function(e,t){return new i.SVGPathSegCurvetoQuadraticSmoothAbs(void 0,e,t)},i.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel=function(e,t){return new i.SVGPathSegCurvetoQuadraticSmoothRel(void 0,e,t)},`getPathSegAtLength`in i.SVGPathElement.prototype||(i.SVGPathElement.prototype.getPathSegAtLength=function(e){if(e===void 0||!isFinite(e))throw`Invalid arguments.`;let t=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);t.setAttribute(`d`,this.getAttribute(`d`));let n=t.pathSegList.numberOfItems-1;if(n<=0)return 0;do{if(t.pathSegList.removeItem(n),e>t.getTotalLength())break;n--}while(n>0);return n})),(!(`SVGPathSegList`in i)||!(`appendItem`in i.SVGPathSegList.prototype))&&(i.SVGPathSegList=function(e){this._pathElement=e,this._list=this._parsePath(this._pathElement.getAttribute(`d`)),this._mutationObserverConfig={attributes:!0,attributeFilter:[`d`]},this._pathElementMutationObserver=new MutationObserver(this._updateListFromPathMutations.bind(this)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)},i.SVGPathSegList.prototype.classname=`SVGPathSegList`,Object.defineProperty(i.SVGPathSegList.prototype,`numberOfItems`,{get:function(){return this._checkPathSynchronizedToList(),this._list.length},enumerable:!0}),Object.defineProperty(i.SVGPathSegList.prototype,`length`,{get:function(){return this._checkPathSynchronizedToList(),this._list.length},enumerable:!0}),Object.defineProperty(i.SVGPathElement.prototype,`pathSegList`,{get:function(){return this._pathSegList||=new i.SVGPathSegList(this),this._pathSegList},enumerable:!0}),Object.defineProperty(i.SVGPathElement.prototype,`normalizedPathSegList`,{get:function(){return this.pathSegList},enumerable:!0}),Object.defineProperty(i.SVGPathElement.prototype,`animatedPathSegList`,{get:function(){return this.pathSegList},enumerable:!0}),Object.defineProperty(i.SVGPathElement.prototype,`animatedNormalizedPathSegList`,{get:function(){return this.pathSegList},enumerable:!0}),i.SVGPathSegList.prototype._checkPathSynchronizedToList=function(){this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords())},i.SVGPathSegList.prototype._updateListFromPathMutations=function(e){if(!this._pathElement)return;let t=!1;e.forEach((function(e){e.attributeName==`d`&&(t=!0)})),t&&(this._list=this._parsePath(this._pathElement.getAttribute(`d`)))},i.SVGPathSegList.prototype._writeListToPath=function(){this._pathElementMutationObserver.disconnect(),this._pathElement.setAttribute(`d`,i.SVGPathSegList._pathSegArrayAsString(this._list)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)},i.SVGPathSegList.prototype.segmentChanged=function(e){this._writeListToPath()},i.SVGPathSegList.prototype.clear=function(){this._checkPathSynchronizedToList(),this._list.forEach((function(e){e._owningPathSegList=null})),this._list=[],this._writeListToPath()},i.SVGPathSegList.prototype.initialize=function(e){return this._checkPathSynchronizedToList(),this._list=[e],e._owningPathSegList=this,this._writeListToPath(),e},i.SVGPathSegList.prototype._checkValidIndex=function(e){if(isNaN(e)||e<0||e>=this.numberOfItems)throw`INDEX_SIZE_ERR`},i.SVGPathSegList.prototype.getItem=function(e){return this._checkPathSynchronizedToList(),this._checkValidIndex(e),this._list[e]},i.SVGPathSegList.prototype.insertItemBefore=function(e,t){return this._checkPathSynchronizedToList(),t>this.numberOfItems&&(t=this.numberOfItems),e._owningPathSegList&&(e=e.clone()),this._list.splice(t,0,e),e._owningPathSegList=this,this._writeListToPath(),e},i.SVGPathSegList.prototype.replaceItem=function(e,t){return this._checkPathSynchronizedToList(),e._owningPathSegList&&(e=e.clone()),this._checkValidIndex(t),this._list[t]=e,e._owningPathSegList=this,this._writeListToPath(),e},i.SVGPathSegList.prototype.removeItem=function(e){this._checkPathSynchronizedToList(),this._checkValidIndex(e);let t=this._list[e];return this._list.splice(e,1),this._writeListToPath(),t},i.SVGPathSegList.prototype.appendItem=function(e){return this._checkPathSynchronizedToList(),e._owningPathSegList&&(e=e.clone()),this._list.push(e),e._owningPathSegList=this,this._writeListToPath(),e},i.SVGPathSegList._pathSegArrayAsString=function(e){let t=``,n=!0;return e.forEach((function(e){n?(n=!1,t+=e._asPathString()):t+=` `+e._asPathString()})),t},i.SVGPathSegList.prototype._parsePath=function(e){if(!e||e.length==0)return[];let t=this,n=function(){this.pathSegList=[]};n.prototype.appendSegment=function(e){this.pathSegList.push(e)};let r=function(e){this._string=e,this._currentIndex=0,this._endIndex=this._string.length,this._previousCommand=i.SVGPathSeg.PATHSEG_UNKNOWN,this._skipOptionalSpaces()};r.prototype._isCurrentSpace=function(){let e=this._string[this._currentIndex];return e<=` `&&(e==` `||e==` `||e==` `||e==`\r`||e==`\f`)},r.prototype._skipOptionalSpaces=function(){for(;this._currentIndex=`0`&&e<=`9`)&&t!=i.SVGPathSeg.PATHSEG_CLOSEPATH?t==i.SVGPathSeg.PATHSEG_MOVETO_ABS?i.SVGPathSeg.PATHSEG_LINETO_ABS:t==i.SVGPathSeg.PATHSEG_MOVETO_REL?i.SVGPathSeg.PATHSEG_LINETO_REL:t:i.SVGPathSeg.PATHSEG_UNKNOWN},r.prototype.initialCommandIsMoveTo=function(){if(!this.hasMoreData())return!0;let e=this.peekSegmentType();return e==i.SVGPathSeg.PATHSEG_MOVETO_ABS||e==i.SVGPathSeg.PATHSEG_MOVETO_REL},r.prototype._parseNumber=function(){let e=0,t=0,n=1,r=0,i=1,a=1,o=this._currentIndex;if(this._skipOptionalSpaces(),this._currentIndex`9`)&&this._string.charAt(this._currentIndex)!=`.`)return;let s=this._currentIndex;for(;this._currentIndex=`0`&&this._string.charAt(this._currentIndex)<=`9`;)this._currentIndex++;if(this._currentIndex!=s){let e=this._currentIndex-1,n=1;for(;e>=s;)t+=n*(this._string.charAt(e--)-`0`),n*=10}if(this._currentIndex=this._endIndex||this._string.charAt(this._currentIndex)<`0`||this._string.charAt(this._currentIndex)>`9`)return;for(;this._currentIndex=`0`&&this._string.charAt(this._currentIndex)<=`9`;)n*=10,r+=(this._string.charAt(this._currentIndex)-`0`)/n,this._currentIndex+=1}if(this._currentIndex!=o&&this._currentIndex+1=this._endIndex||this._string.charAt(this._currentIndex)<`0`||this._string.charAt(this._currentIndex)>`9`)return;for(;this._currentIndex=`0`&&this._string.charAt(this._currentIndex)<=`9`;)e*=10,e+=this._string.charAt(this._currentIndex)-`0`,this._currentIndex++}let c=t+r;if(c*=i,e&&(c*=10**(a*e)),o!=this._currentIndex)return this._skipOptionalSpacesOrDelimiter(),c},r.prototype._parseArcFlag=function(){if(this._currentIndex>=this._endIndex)return;let e=!1,t=this._string.charAt(this._currentIndex++);if(t==`0`)e=!1;else{if(t!=`1`)return;e=!0}return this._skipOptionalSpacesOrDelimiter(),e},r.prototype.parseSegment=function(){let e=this._string[this._currentIndex],n=this._pathSegTypeFromChar(e);if(n==i.SVGPathSeg.PATHSEG_UNKNOWN){if(this._previousCommand==i.SVGPathSeg.PATHSEG_UNKNOWN||(n=this._nextCommandHelper(e,this._previousCommand),n==i.SVGPathSeg.PATHSEG_UNKNOWN))return null}else this._currentIndex++;this._previousCommand=n;let r;switch(n){case i.SVGPathSeg.PATHSEG_MOVETO_REL:return new i.SVGPathSegMovetoRel(t,this._parseNumber(),this._parseNumber());case i.SVGPathSeg.PATHSEG_MOVETO_ABS:return new i.SVGPathSegMovetoAbs(t,this._parseNumber(),this._parseNumber());case i.SVGPathSeg.PATHSEG_LINETO_REL:return new i.SVGPathSegLinetoRel(t,this._parseNumber(),this._parseNumber());case i.SVGPathSeg.PATHSEG_LINETO_ABS:return new i.SVGPathSegLinetoAbs(t,this._parseNumber(),this._parseNumber());case i.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:return new i.SVGPathSegLinetoHorizontalRel(t,this._parseNumber());case i.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:return new i.SVGPathSegLinetoHorizontalAbs(t,this._parseNumber());case i.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:return new i.SVGPathSegLinetoVerticalRel(t,this._parseNumber());case i.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:return new i.SVGPathSegLinetoVerticalAbs(t,this._parseNumber());case i.SVGPathSeg.PATHSEG_CLOSEPATH:return this._skipOptionalSpaces(),new i.SVGPathSegClosePath(t);case i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:return r={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new i.SVGPathSegCurvetoCubicRel(t,r.x,r.y,r.x1,r.y1,r.x2,r.y2);case i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:return r={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new i.SVGPathSegCurvetoCubicAbs(t,r.x,r.y,r.x1,r.y1,r.x2,r.y2);case i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:return r={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new i.SVGPathSegCurvetoCubicSmoothRel(t,r.x,r.y,r.x2,r.y2);case i.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:return r={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new i.SVGPathSegCurvetoCubicSmoothAbs(t,r.x,r.y,r.x2,r.y2);case i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:return r={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new i.SVGPathSegCurvetoQuadraticRel(t,r.x,r.y,r.x1,r.y1);case i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:return r={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new i.SVGPathSegCurvetoQuadraticAbs(t,r.x,r.y,r.x1,r.y1);case i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:return new i.SVGPathSegCurvetoQuadraticSmoothRel(t,this._parseNumber(),this._parseNumber());case i.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:return new i.SVGPathSegCurvetoQuadraticSmoothAbs(t,this._parseNumber(),this._parseNumber());case i.SVGPathSeg.PATHSEG_ARC_REL:return r={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()},new i.SVGPathSegArcRel(t,r.x,r.y,r.x1,r.y1,r.arcAngle,r.arcLarge,r.arcSweep);case i.SVGPathSeg.PATHSEG_ARC_ABS:return r={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()},new i.SVGPathSegArcAbs(t,r.x,r.y,r.x1,r.y1,r.arcAngle,r.arcLarge,r.arcSweep);default:throw`Unknown path seg type.`}};let a=new n,o=new r(e);if(!o.initialCommandIsMoveTo())return[];for(;o.hasMoreData();){let e=o.parseSegment();if(!e)return[];a.appendSegment(e)}return a.pathSegList})}catch(e){console.warn(`An error occurred in tsParticles pathseg polyfill. If the Polygon Mask is not working, please open an issue here: https://github.com/matteobruni/tsparticles`,e)}})(),Ui=class{constructor(){this.color=new I,this.width=.5,this.opacity=1}load(e){e&&(this.color=I.create(this.color,e.color),typeof this.color.value==`string`&&(this.opacity=Me(this.color.value)??this.opacity),e.opacity!==void 0&&(this.opacity=e.opacity),e.width!==void 0&&(this.width=e.width))}},Wi=class{constructor(){this.enable=!1,this.stroke=new Ui}get lineColor(){return this.stroke.color}set lineColor(e){this.stroke.color=I.create(this.stroke.color,e)}get lineWidth(){return this.stroke.width}set lineWidth(e){this.stroke.width=e}load(e){if(!e)return;e.enable!==void 0&&(this.enable=e.enable);let t=e.stroke??{color:e.lineColor,width:e.lineWidth};this.stroke.load(t)}},Gi=class{constructor(){this.arrangement=`one-per-point`}load(e){e&&e.arrangement!==void 0&&(this.arrangement=e.arrangement)}},Ki=class{constructor(){this.path=[],this.size={height:0,width:0}}load(e){e&&(e.path!==void 0&&(this.path=e.path),e.size!==void 0&&(e.size.width!==void 0&&(this.size.width=e.size.width),e.size.height!==void 0&&(this.size.height=e.size.height)))}},qi=class{constructor(){this.radius=10,this.type=`path`}load(e){e&&(e.radius!==void 0&&(this.radius=e.radius),e.type!==void 0&&(this.type=e.type))}},Ji=class{constructor(){this.draw=new Wi,this.enable=!1,this.inline=new Gi,this.move=new qi,this.scale=1,this.type=`none`}get inlineArrangement(){return this.inline.arrangement}set inlineArrangement(e){this.inline.arrangement=e}load(e){e&&(this.draw.load(e.draw),this.inline.load(e.inline),this.move.load(e.move),e.scale!==void 0&&(this.scale=e.scale),e.type!==void 0&&(this.type=e.type),e.enable===void 0?this.enable=this.type!==`none`:this.enable=e.enable,e.url!==void 0&&(this.url=e.url),e.data!==void 0&&(typeof e.data==`string`?this.data=e.data:(this.data=new Ki,this.data.load(e.data))),e.position!==void 0&&(this.position=D({},e.position)))}},Yi=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Xi=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Qi=class{constructor(e,t){this.container=e,Zi.set(this,void 0),Yi(this,Zi,t,`f`),this.dimension={height:0,width:0},this.path2DSupported=!!i.Path2D,this.options=new Ji,this.polygonMaskMoveRadius=this.options.move.radius*e.retina.pixelRatio}clickPositionValid(e){let t=this.options;return t.enable&&t.type!==`none`&&t.type!==`inline`&&this.checkInsidePolygon(e)}draw(e){if(!this.paths?.length)return;let t=this.options,n=t.draw;if(!t.enable||!n.enable)return;let r=this.raw;for(let t of this.paths){let i=t.path2d,a=this.path2DSupported;e&&(a&&i&&this.offset?Ri(e,i,n.stroke,this.offset):r&&Li(e,r,n.stroke))}}async initAsync(e){this.options.load(e?.polygon);let t=this.options;this.polygonMaskMoveRadius=t.move.radius*this.container.retina.pixelRatio,t.enable&&await this.initRawData()}particleBounce(e,t,n){return this.polygonBounce(e,t,n)}particlePosition(e){if(this.options.enable&&(this.raw?.length??0)>0)return D({},e||this.randomPoint())}particlesInitialization(){let e=this.options;return e.enable&&e.type===`inline`&&(e.inline.arrangement===`one-per-point`||e.inline.arrangement===`per-point`)?(this.drawPoints(),!0):!1}resize(){let e=this.container,t=this.options;t.enable&&t.type!==`none`&&(this.redrawTimeout&&clearTimeout(this.redrawTimeout),this.redrawTimeout=i.setTimeout((async()=>{await this.initRawData(!0),await e.particles.redraw()}),250))}stop(){delete this.raw,delete this.paths}checkInsidePolygon(e){let t=this.container,n=this.options;if(!n.enable||n.type===`none`||n.type===`inline`)return!0;if(!this.raw)throw Error(Et);let r=t.canvas.size,i=e?.x??m()*r.width,a=e?.y??m()*r.height,o=!1;for(let e=0,t=this.raw.length-1;ea!=r.y>a&&i<(r.x-n.x)*(a-n.y)/(r.y-n.y)+n.x&&(o=!o)}return n.type===`inside`?o:n.type===`outside`&&!o}createPath2D(){let e=this.options;if(this.path2DSupported&&this.paths?.length)for(let t of this.paths){let n=t.element?.getAttribute(`d`);if(n){let r=new Path2D(n),i=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`).createSVGMatrix(),a=new Path2D,o=i.scale(e.scale);a.addPath?(a.addPath(r,o),t.path2d=a):delete t.path2d}else delete t.path2d;!t.path2d&&this.raw&&(t.path2d=new Path2D,t.path2d.moveTo(this.raw[0].x,this.raw[0].y),this.raw.forEach(((e,n)=>{var r;n>0&&((r=t.path2d)==null||r.lineTo(e.x,e.y))})),t.path2d.closePath())}}async downloadSvgPath(e,t){let n=this.options,r=e||n.url,i=t!=null&&t;if(!r||this.paths!==void 0&&!i)return this.raw;let a=await fetch(r);if(!a.ok)throw Error(`tsParticles Error - Error occurred during polygon mask download`);return this.parseSvgPath(await a.text(),t)}drawPoints(){if(this.raw)for(let e of this.raw)this.container.particles.addParticle({x:e.x,y:e.y})}getEquidistantPointByIndex(e){let t=this.container.actualOptions,n=this.options;if(!this.raw||!this.raw.length||!this.paths?.length)throw Error(Tt);let r,i=0,a=this.paths.reduce(((e,t)=>e+t.length),0)/t.particles.number.value;for(let t of this.paths){let n=a*e-i;if(n<=t.length){r=t.element.getPointAtLength(n);break}i+=t.length}return{x:(r?.x??0)*n.scale+(this.offset?.x??0),y:(r?.y??0)*n.scale+(this.offset?.y??0)}}getPointByIndex(e){if(!this.raw||!this.raw.length)throw Error(Tt);let t=this.raw[e%this.raw.length];return{x:t.x,y:t.y}}getRandomPoint(){if(!this.raw||!this.raw.length)throw Error(Tt);let e=E(this.raw);return{x:e.x,y:e.y}}getRandomPointByLength(){let e=this.options;if(!this.raw||!this.raw.length||!this.paths?.length)throw Error(Tt);let t=E(this.paths),n=Math.floor(m()*t.length)+1,r=t.element.getPointAtLength(n);return{x:r.x*e.scale+(this.offset?.x||0),y:r.y*e.scale+(this.offset?.y||0)}}async initRawData(e){let t=this.options;if(t.url)this.raw=await this.downloadSvgPath(t.url,e);else if(t.data){let n=t.data,r;if(typeof n!=`string`){let e=n.path instanceof Array?n.path.map((e=>``)).join(``):``;r=`${e}`}else r=n;this.raw=this.parseSvgPath(r,e)}this.createPath2D(),Xi(this,Zi,`f`).dispatchEvent(`polygonMaskLoaded`,{container:this.container})}parseSvgPath(e,t){let n=t!=null&&t;if(this.paths!==void 0&&!n)return this.raw;let r=this.container,i=this.options,a=new DOMParser().parseFromString(e,`image/svg+xml`),o=a.getElementsByTagName(`svg`)[0],s=o.getElementsByTagName(`path`);s.length||(s=a.getElementsByTagName(`path`)),this.paths=[];for(let e=0;e=t.x&&(n.x=-1),e.position.y>=t.y&&(n.y=-1),e.position.x=t.x+2*a*n.x,e.position.y=t.y+2*a*n.y,e.velocity.mult(-1),!0}}else if(r.type===`inline`&&e.initialPosition&&C(e.initialPosition,e.getPosition())>this.polygonMaskMoveRadius)return e.velocity.x=e.velocity.y/2-e.velocity.x,e.velocity.y=e.velocity.x/2-e.velocity.y,!0;return!1}randomPoint(){let e=this.container,t=this.options,n;if(t.type===`inline`)switch(t.inline.arrangement){case`random-point`:n=this.getRandomPoint();break;case`random-length`:n=this.getRandomPointByLength();break;case`equidistant`:n=this.getEquidistantPointByIndex(e.particles.count);break;case`one-per-point`:case`per-point`:default:n=this.getPointByIndex(e.particles.count)}else n={x:m()*e.canvas.size.width,y:m()*e.canvas.size.height};return this.checkInsidePolygon(n)?n:this.randomPoint()}},Zi=new WeakMap,$i=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},ea=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},na=class{constructor(e){ta.set(this,void 0),this.id=`polygonMask`,$i(this,ta,e,`f`)}getPlugin(e){return new Qi(e,ea(this,ta,`f`))}loadOptions(e,t){if(!this.needsPlugin(t))return;let n=e,r=n.polygon;r?.load===void 0&&(n.polygon=r=new Ji),r.load(t?.polygon)}needsPlugin(e){return e?.polygon?.enable??(e?.polygon?.type!==void 0&&e.polygon.type!==`none`)}},ta=new WeakMap}));function ia(e,t){let n=e.options.roll;if(!e.roll||!n?.enable)return;let r=e.roll.speed*t.factor,i=2*Math.PI;e.roll.angle+=r,e.roll.angle>i&&(e.roll.angle-=i)}async function aa(e){await e.addParticleUpdater(`roll`,(()=>new ca))}var oa,sa,ca,la=e((()=>{K(),oa=class{constructor(){this.enable=!1,this.value=0}load(e){e&&(e.enable!==void 0&&(this.enable=e.enable),e.value!==void 0&&(this.value=b(e.value)))}},sa=class{constructor(){this.darken=new oa,this.enable=!1,this.enlighten=new oa,this.mode=`vertical`,this.speed=25}load(e){e&&(e.backColor!==void 0&&(this.backColor=I.create(this.backColor,e.backColor)),this.darken.load(e.darken),e.enable!==void 0&&(this.enable=e.enable),this.enlighten.load(e.enlighten),e.mode!==void 0&&(this.mode=e.mode),e.speed!==void 0&&(this.speed=b(e.speed)))}},ca=class{getTransformValues(e){let t=e.roll?.enable&&e.roll,n=t&&t.horizontal,r=t&&t.vertical;return{a:n?Math.cos(t.angle):void 0,d:r?Math.sin(t.angle):void 0}}init(e){let t=e.options.roll;if(t?.enable)if(e.roll={enable:t.enable,horizontal:t.mode===`horizontal`||t.mode===`both`,vertical:t.mode===`vertical`||t.mode===`both`,angle:m()*Math.PI*2,speed:v(t.speed)/360},t.backColor)e.backColor=Ae(t.backColor);else if(t.darken.enable&&t.enlighten.enable){let n=m()>=.5?`darken`:`enlighten`;e.roll.alter={type:n,value:v(n===`darken`?t.darken.value:t.enlighten.value)}}else t.darken.enable?e.roll.alter={type:`darken`,value:v(t.darken.value)}:t.enlighten.enable&&(e.roll.alter={type:`enlighten`,value:v(t.enlighten.value)});else e.roll={enable:!1,horizontal:!1,vertical:!1,angle:0,speed:0}}isEnabled(e){let t=e.options.roll;return!e.destroyed&&!e.spawning&&!!t?.enable}loadOptions(e,...t){e.roll||=new sa;for(let n of t)e.roll.load(n?.roll)}update(e,t){this.isEnabled(e)&&ia(e,t)}}})),ua,da=e((()=>{ua=e=>{let t=(t,n)=>e.load(t,n);return t.load=(t,n,r)=>{e.loadJSON(t,n).then((e=>{e&&r(e)})).catch((()=>{r(void 0)}))},t.setOnClickHandler=t=>{e.setOnClickHandler(t)},{particlesJS:t,pJSDom:e.dom()}}}));function fa(e,t){let n=e.rotate;if(!n)return;let r=e.options.rotate.animation,i=(n.velocity??0)*t.factor,a=2*Math.PI,o=n.decay??1;if(r.enable){switch(n.status){case 0:n.value+=i,n.value>a&&(n.value-=a);break;case 1:default:n.value-=i,n.value<0&&(n.value+=a);break}n.velocity&&o!==1&&(n.velocity*=o)}}async function pa(e){await e.addParticleUpdater(`angle`,(e=>new ma(e)))}var ma,ha=e((()=>{K(),ma=class{constructor(e){this.container=e}init(e){let t=e.options.rotate;e.rotate={enable:t.animation.enable,value:v(t.value)*Math.PI/180};let n=t.direction;switch(n===`random`&&(n=Math.floor(2*m())>0?`counter-clockwise`:`clockwise`),n){case`counter-clockwise`:case`counterClockwise`:e.rotate.status=1;break;case`clockwise`:e.rotate.status=0;break}let r=e.options.rotate.animation;r.enable&&(e.rotate.decay=1-v(r.decay),e.rotate.velocity=v(r.speed)/360*this.container.retina.reduceFactor,r.sync||(e.rotate.velocity*=m())),e.rotation=e.rotate.value}isEnabled(e){let t=e.options.rotate,n=t.animation;return!e.destroyed&&!e.spawning&&n.enable&&!t.path}update(e,t){this.isEnabled(e)&&(fa(e,t),e.rotation=e.rotate?.value??0)}}}));function ga(e){let t=e.initialPosition,{dx:n,dy:r}=S(t,e.position),i=Math.abs(n),a=Math.abs(r),o=e.retina.maxDistance.horizontal,s=e.retina.maxDistance.vertical;if(o||s){if((o&&i>=o||s&&a>=s)&&!e.misplaced)e.misplaced=!!o&&i>o||!!s&&a>s,o&&(e.velocity.x=e.velocity.y/2-e.velocity.x),s&&(e.velocity.y=e.velocity.x/2-e.velocity.y);else if((!o||it.x&&r.x>0)&&(r.x*=-m()),s&&(n.yt.y&&r.y>0)&&(r.y*=-m())}}}function _a(e,t){let n=e.container;if(!e.spin)return;let r={x:e.spin.direction===`clockwise`?Math.cos:Math.sin,y:e.spin.direction===`clockwise`?Math.sin:Math.cos};e.position.x=e.spin.center.x+e.spin.radius*r.x(e.spin.angle),e.position.y=e.spin.center.y+e.spin.radius*r.y(e.spin.angle),e.spin.radius+=e.spin.acceleration;let i=Math.max(n.canvas.size.width,n.canvas.size.height);e.spin.radius>i/2?(e.spin.radius=i/2,e.spin.acceleration*=-1):e.spin.radius<0&&(e.spin.radius=0,e.spin.acceleration*=-1),e.spin.angle+=t/100*(1-e.spin.radius/i)}function va(e,t){let n=e.options.move.path;if(!n.enable)return;if(e.lastPathTime<=e.pathDelay){e.lastPathTime+=t.value;return}let r=e.pathGenerator?.generate(e);r&&e.velocity.addTo(r),n.clamp&&(e.velocity.x=h(e.velocity.x,-1,1),e.velocity.y=h(e.velocity.y,-1,1)),e.lastPathTime-=e.pathDelay}function ya(e){let t=e.container,n=t.actualOptions;if(!T(`slow`,n.interactivity.events.onHover.mode))return 1;let r=e.container.interactivity.mouse.position;if(!r)return 1;let i=C(r,e.getPosition()),a=t.retina.slowModeRadius;return i>a?1:(i/a||0)/n.interactivity.modes.slow.factor}async function ba(e){e.addMover(`base`,(()=>new xa))}var xa,Sa=e((()=>{K(),xa=class{init(e){let t=e.container,n=e.options,r=n.move.gravity,i=n.move.spin;if(e.gravity={enable:r.enable,acceleration:v(r.acceleration),inverse:r.inverse},i.enable){let n=i.position??{x:50,y:50},r={x:n.x/100*t.canvas.size.width,y:n.y/100*t.canvas.size.height},a=C(e.getPosition(),r),o=v(i.acceleration);e.retina.spinAcceleration=o*t.retina.pixelRatio,e.spin={center:r,direction:e.velocity.x>=0?`clockwise`:`counter-clockwise`,angle:e.velocity.angle,radius:a,acceleration:e.retina.spinAcceleration}}}isEnabled(e){return!e.destroyed&&e.options.move.enable}move(e,t){var n,r;let i=e.options,a=i.move;if(!a.enable)return;let o=e.container,s=ya(e),c=((n=e.retina).moveSpeed??(n.moveSpeed=v(a.speed)*o.retina.pixelRatio))*o.retina.reduceFactor,l=(r=e.retina).moveDrift??(r.moveDrift=v(e.options.move.drift)*o.retina.pixelRatio),u=y(i.size.value)*o.retina.pixelRatio,d=c*((a.size?e.getRadius()/u:1)*s*(t.factor||1))/2;va(e,t);let f=e.gravity,p=f?.enable&&f.inverse?-1:1;f!=null&&f.enable&&d&&(e.velocity.y+=p*(f.acceleration*t.factor)/(60*d)),l&&d&&(e.velocity.x+=l*t.factor/(60*d));let m=e.moveDecay;m!=1&&e.velocity.multTo(m);let h=e.velocity.mult(d),g=e.retina.maxSpeed??o.retina.maxSpeed;f?.enable&&g>0&&(!f.inverse&&h.y>=0&&h.y>=g||f.inverse&&h.y<=0&&h.y<=-g)&&(h.y=p*g,d&&(e.velocity.y=h.y/d));let _=e.options.zIndex,ee=(1-e.zIndexFactor)**_.velocityRate;a.spin.enable?_a(e,d):(ee!=1&&h.multTo(ee),e.position.addTo(h),a.vibrate&&(e.position.x+=Math.sin(e.position.x*Math.cos(e.position.y)),e.position.y+=Math.cos(e.position.y*Math.sin(e.position.x)))),ga(e)}}}));async function Ca(e){await e.addShape(`circle`,new wa)}var wa,Ta=e((()=>{wa=class{draw(e,t,n){e.arc(0,0,n,0,2*Math.PI,!1)}getSidesCount(){return 12}}}));function Ea(e,t,n,r,i){let a=t;if(!a||!n.enable)return;let o=_(n.offset),s=(t.velocity??0)*e.factor+3.6*o,c=t.decay??1;i&&a.status!==0?(a.value-=s,a.value<0&&(a.status=0,a.value+=a.value)):(a.value+=s,i&&a.value>r&&(a.status=1,a.value-=a.value%r)),a.velocity&&c!==1&&(a.velocity*=c),a.value>r&&(a.value%=r)}function Da(e,t){let n=e.options.color.animation;e.color?.h!==void 0&&Ea(t,e.color.h,n.h,360,!1),e.color?.s!==void 0&&Ea(t,e.color.s,n.s,100,!0),e.color?.l!==void 0&&Ea(t,e.color.l,n.l,100,!0)}async function Oa(e){await e.addParticleUpdater(`color`,(e=>new ka(e)))}var ka,Aa=e((()=>{K(),ka=class{constructor(e){this.container=e}init(e){let t=Ae(e.options.color,e.id,e.options.reduceDuplicates);t&&(e.color=He(t,e.options.color.animation,this.container.retina.reduceFactor))}isEnabled(e){let t=e.options.color.animation;return!e.destroyed&&!e.spawning&&(e.color?.h.value!==void 0&&t.h.enable||e.color?.s.value!==void 0&&t.s.enable||e.color?.l.value!==void 0&&t.l.enable)}update(e,t){Da(e,t)}}}));async function ja(e){await e.addInteractor(`externalAttract`,(e=>new Fa(e)))}var Ma,Na,Pa,Y,Fa,Ia=e((()=>{K(),Ma=class{constructor(){this.distance=200,this.duration=.4,this.easing=`ease-out-quad`,this.factor=1,this.maxSpeed=50,this.speed=1}load(e){e&&(e.distance!==void 0&&(this.distance=e.distance),e.duration!==void 0&&(this.duration=e.duration),e.easing!==void 0&&(this.easing=e.easing),e.factor!==void 0&&(this.factor=e.factor),e.maxSpeed!==void 0&&(this.maxSpeed=e.maxSpeed),e.speed!==void 0&&(this.speed=e.speed))}},Na=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Pa=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Fa=class extends G{constructor(e){super(e),Y.set(this,void 0),Na(this,Y,e,`f`),e.attract||={particles:[]},this.handleClickMode=t=>{let n=Pa(this,Y,`f`).actualOptions.interactivity.modes.attract;if(n&&t===`attract`){e.attract||={particles:[]},e.attract.clicking=!0,e.attract.count=0;for(let t of e.attract.particles)this.isEnabled(t)&&t.velocity.setTo(t.initialVelocity);e.attract.particles=[],e.attract.finish=!1,setTimeout((()=>{e.destroyed||(e.attract||={particles:[]},e.attract.clicking=!1)}),1e3*n.duration)}}}clear(){}init(){let e=Pa(this,Y,`f`),t=e.actualOptions.interactivity.modes.attract;t&&(e.retina.attractModeDistance=t.distance*e.retina.pixelRatio)}async interact(){let e=Pa(this,Y,`f`),t=e.actualOptions,n=e.interactivity.status===_t,r=t.interactivity.events,i=r.onHover.enable,a=r.onHover.mode,o=r.onClick.enable,s=r.onClick.mode;n&&i&&T(`attract`,a)?this.hoverAttract():o&&T(`attract`,s)&&this.clickAttract()}isEnabled(e){let t=Pa(this,Y,`f`),n=t.actualOptions,r=t.interactivity.mouse,i=(e?.interactivity??n.interactivity).events;if((!r.position||!i.onHover.enable)&&(!r.clickPosition||!i.onClick.enable))return!1;let a=i.onHover.mode,o=i.onClick.mode;return T(`attract`,a)||T(`attract`,o)}loadModeOptions(e,...t){e.attract||=new Ma;for(let n of t)e.attract.load(n?.attract)}reset(){}clickAttract(){let e=Pa(this,Y,`f`);if(e.attract||={particles:[]},e.attract.finish||(e.attract.count||(e.attract.count=0),e.attract.count++,e.attract.count===e.particles.count&&(e.attract.finish=!0)),e.attract.clicking){let t=e.interactivity.mouse.clickPosition,n=e.retina.attractModeDistance;if(!n||n<0||!t)return;this.processAttract(t,n,new z(t.x,t.y,n))}else !1===e.attract.clicking&&(e.attract.particles=[])}hoverAttract(){let e=Pa(this,Y,`f`),t=e.interactivity.mouse.position,n=e.retina.attractModeDistance;!n||n<0||!t||this.processAttract(t,n,new z(t.x,t.y,n))}processAttract(e,t,n){let r=Pa(this,Y,`f`),i=r.actualOptions.interactivity.modes.attract;if(!i)return;let a=r.particles.quadTree.query(n,(e=>this.isEnabled(e)));for(let n of a){let{dx:r,dy:a,distance:o}=S(n.position,e),s=i.speed*i.factor,c=h(ie(1-o/t,i.easing)*s,0,i.maxSpeed),l=N.create(o===0?s:r/o*c,o===0?s:a/o*c);n.position.subFrom(l)}}},Y=new WeakMap}));async function La(e){await e.addInteractor(`externalBounce`,(e=>new Ha(e)))}var Ra,za,Ba,Va,Ha,Ua=e((()=>{K(),Ra=class{constructor(){this.distance=200}load(e){e&&e.distance!==void 0&&(this.distance=e.distance)}},za=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Ba=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Ha=class extends G{constructor(e){super(e),Va.set(this,void 0),za(this,Va,e,`f`)}clear(){}init(){let e=Ba(this,Va,`f`),t=e.actualOptions.interactivity.modes.bounce;t&&(e.retina.bounceModeDistance=t.distance*e.retina.pixelRatio)}async interact(){let e=Ba(this,Va,`f`),t=e.actualOptions.interactivity.events,n=e.interactivity.status===_t,r=t.onHover.enable,i=t.onHover.mode,a=t.onDiv;n&&r&&T(`bounce`,i)?this.processMouseBounce():be(`bounce`,a,((e,t)=>this.singleSelectorBounce(e,t)))}isEnabled(e){let t=Ba(this,Va,`f`),n=t.actualOptions,r=t.interactivity.mouse,i=(e?.interactivity??n.interactivity).events,a=i.onDiv;return r.position&&i.onHover.enable&&T(`bounce`,i.onHover.mode)||ye(`bounce`,a)}loadModeOptions(e,...t){e.bounce||=new Ra;for(let n of t)e.bounce.load(n?.bounce)}reset(){}processBounce(e,t,n){let r=Ba(this,Va,`f`).particles.quadTree.query(n,(e=>this.isEnabled(e)));for(let i of r)n instanceof z?we(Ce(i),{position:e,radius:t,mass:t**2*Math.PI/2,velocity:N.origin,factor:N.origin}):n instanceof B&&Te(i,ve(e,t))}processMouseBounce(){let e=Ba(this,Va,`f`),t=10*e.retina.pixelRatio,n=e.interactivity.mouse.position,r=e.retina.bounceModeDistance;!r||r<0||!n||this.processBounce(n,r,new z(n.x,n.y,r+t))}singleSelectorBounce(e,t){let n=Ba(this,Va,`f`),r=document.querySelectorAll(e);r.length&&r.forEach((e=>{let r=e,i=n.retina.pixelRatio,a={x:(r.offsetLeft+r.offsetWidth/2)*i,y:(r.offsetTop+r.offsetHeight/2)*i},o=r.offsetWidth/2*i,s=10*i,c=t.type===`circle`?new z(a.x,a.y,o+s):new B(r.offsetLeft*i-s,r.offsetTop*i-s,r.offsetWidth*i+2*s,r.offsetHeight*i+2*s);this.processBounce(a,o,c)}))}},Va=new WeakMap}));function Wa(e,t,n,r){if(t>=n)return h(e+(t-n)*r,e,t);if(tnew Xa(e)))}var Ka,qa,Ja,Ya,X,Z,Xa,Za=e((()=>{K(),Ka=class{constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(e){e&&(e.distance!==void 0&&(this.distance=e.distance),e.duration!==void 0&&(this.duration=e.duration),e.mix!==void 0&&(this.mix=e.mix),e.opacity!==void 0&&(this.opacity=e.opacity),e.color!==void 0&&(e.color instanceof Array?this.color=e.color.map((e=>I.create(void 0,e))):(this.color instanceof Array&&(this.color=new I),this.color=I.create(this.color,e.color))),e.size!==void 0&&(this.size=e.size))}},qa=class extends Ka{constructor(){super(),this.selectors=[]}get ids(){return this.selectors instanceof Array?this.selectors.map((e=>e.replace(`#`,``))):this.selectors.replace(`#`,``)}set ids(e){this.selectors=e instanceof Array?e.map((e=>`#${e}`)):`#${e}`}load(e){super.load(e),e&&(e.ids!==void 0&&(this.ids=e.ids),e.selectors!==void 0&&(this.selectors=e.selectors))}},Ja=class extends Ka{load(e){super.load(e),e&&(e.divs instanceof Array?this.divs=e.divs.map((e=>{let t=new qa;return t.load(e),t})):((this.divs instanceof Array||!this.divs)&&(this.divs=new qa),this.divs.load(e.divs)))}},Ya=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},X=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Xa=class extends G{constructor(e){super(e),Z.set(this,void 0),Ya(this,Z,e,`f`),e.bubble||={},this.handleClickMode=t=>{t===`bubble`&&(e.bubble||={},e.bubble.clicking=!0)}}clear(e,t){(!e.bubble.inRange||t)&&(delete e.bubble.div,delete e.bubble.opacity,delete e.bubble.radius,delete e.bubble.color)}init(){let e=X(this,Z,`f`),t=e.actualOptions.interactivity.modes.bubble;t&&(e.retina.bubbleModeDistance=t.distance*e.retina.pixelRatio,t.size!==void 0&&(e.retina.bubbleModeSize=t.size*e.retina.pixelRatio))}async interact(){let e=X(this,Z,`f`).actualOptions.interactivity.events,t=e.onHover,n=e.onClick,r=t.enable,i=t.mode,a=n.enable,o=n.mode,s=e.onDiv;r&&T(`bubble`,i)?this.hoverBubble():a&&T(`bubble`,o)?this.clickBubble():be(`bubble`,s,((e,t)=>this.singleSelectorHover(e,t)))}isEnabled(e){let t=X(this,Z,`f`),n=t.actualOptions,r=t.interactivity.mouse,i=(e?.interactivity??n.interactivity).events,a=i.onDiv,o=ye(`bubble`,a);if(!(o||i.onHover.enable&&r.position||i.onClick.enable&&r.clickPosition))return!1;let s=i.onHover.mode,c=i.onClick.mode;return T(`bubble`,s)||T(`bubble`,c)||o}loadModeOptions(e,...t){e.bubble||=new Ja;for(let n of t)e.bubble.load(n?.bubble)}reset(e){e.bubble.inRange=!1}clickBubble(){let e=X(this,Z,`f`),t=e.actualOptions,n=e.interactivity.mouse.clickPosition,r=t.interactivity.modes.bubble;if(!r||!n)return;e.bubble||={};let i=e.retina.bubbleModeDistance;if(!i||i<0)return;let a=e.particles.quadTree.queryCircle(n,i,(e=>this.isEnabled(e)));for(let t of a){if(!e.bubble.clicking)continue;t.bubble.inRange=!e.bubble.durationEnd;let a=C(t.getPosition(),n),o=(new Date().getTime()-(e.interactivity.mouse.clickTime||0))/1e3;o>r.duration&&(e.bubble.durationEnd=!0),o>2*r.duration&&(e.bubble.clicking=!1,e.bubble.durationEnd=!1);let s={bubbleObj:{optValue:e.retina.bubbleModeSize,value:t.bubble.radius},particlesObj:{optValue:y(t.options.size.value)*e.retina.pixelRatio,value:t.size.value},type:`size`};this.process(t,a,o,s);let c={bubbleObj:{optValue:r.opacity,value:t.bubble.opacity},particlesObj:{optValue:y(t.options.opacity.value),value:t.opacity?.value??1},type:`opacity`};this.process(t,a,o,c),e.bubble.durationEnd?delete t.bubble.color:a<=i?this.hoverBubbleColor(t,a):delete t.bubble.color}}hoverBubble(){let e=X(this,Z,`f`),t=e.interactivity.mouse.position,n=e.retina.bubbleModeDistance;if(!n||n<0||t===void 0)return;let r=e.particles.quadTree.queryCircle(t,n,(e=>this.isEnabled(e)));for(let i of r){i.bubble.inRange=!0;let r=C(i.getPosition(),t),a=1-r/n;r<=n?a>=0&&e.interactivity.status===_t&&(this.hoverBubbleSize(i,a),this.hoverBubbleOpacity(i,a),this.hoverBubbleColor(i,a)):this.reset(i),e.interactivity.status===bt&&this.reset(i)}}hoverBubbleColor(e,t,n){let r=X(this,Z,`f`).actualOptions,i=n??r.interactivity.modes.bubble;if(i){if(!e.bubble.finalColor){let t=i.color;if(!t)return;let n=t instanceof Array?E(t):t;e.bubble.finalColor=Ae(n)}if(e.bubble.finalColor)if(i.mix){e.bubble.color=void 0;let n=e.getFillColor();e.bubble.color=n?je(Re(n,e.bubble.finalColor,1-t,t)):e.bubble.finalColor}else e.bubble.color=e.bubble.finalColor}}hoverBubbleOpacity(e,t,n){let r=X(this,Z,`f`).actualOptions,i=n?.opacity??r.interactivity.modes.bubble?.opacity;if(!i)return;let a=e.options.opacity.value,o=Wa(e.opacity?.value??1,i,y(a),t);o!==void 0&&(e.bubble.opacity=o)}hoverBubbleSize(e,t,n){let r=X(this,Z,`f`),i=n?.size?n.size*r.retina.pixelRatio:r.retina.bubbleModeSize;if(i===void 0)return;let a=y(e.options.size.value)*r.retina.pixelRatio,o=e.size.value,s=Wa(o,i,a,t);s!==void 0&&(e.bubble.radius=s)}process(e,t,n,r){let i=X(this,Z,`f`),a=r.bubbleObj.optValue,o=i.actualOptions.interactivity.modes.bubble;if(!o||a===void 0)return;let s=o.duration,c=i.retina.bubbleModeDistance,l=r.particlesObj.optValue,u=r.bubbleObj.value,d=r.particlesObj.value||0,f=r.type;if(c&&!(c<0)&&a!==l)if(i.bubble||={},i.bubble.durationEnd)u&&(f===`size`&&delete e.bubble.radius,f===`opacity`&&delete e.bubble.opacity);else if(t<=c){if((u??d)!==a){let t=d-n*(d-a)/s;f===`size`&&(e.bubble.radius=t),f===`opacity`&&(e.bubble.opacity=t)}}else f===`size`&&delete e.bubble.radius,f===`opacity`&&delete e.bubble.opacity}singleSelectorHover(e,t){let n=X(this,Z,`f`),r=document.querySelectorAll(e),i=n.actualOptions.interactivity.modes.bubble;i&&r.length&&r.forEach((e=>{let r=e,a=n.retina.pixelRatio,o={x:(r.offsetLeft+r.offsetWidth/2)*a,y:(r.offsetTop+r.offsetHeight/2)*a},s=r.offsetWidth/2*a,c=t.type===`circle`?new z(o.x,o.y,s):new B(r.offsetLeft*a,r.offsetTop*a,r.offsetWidth*a,r.offsetHeight*a),l=n.particles.quadTree.query(c,(e=>this.isEnabled(e)));for(let e of l){if(!c.contains(e.getPosition()))continue;e.bubble.inRange=!0;let t=i.divs,n=Se(t,r);(!e.bubble.div||e.bubble.div!==r)&&(this.clear(e,!0),e.bubble.div=r),this.hoverBubbleSize(e,1,n),this.hoverBubbleOpacity(e,1,n),this.hoverBubbleColor(e,1,n)}}))}},Z=new WeakMap}));function Qa(e,t,n,r){let i=Math.floor(n.getRadius()/t.getRadius()),a=t.getFillColor(),o=n.getFillColor();if(!a||!o)return;let s=t.getPosition(),c=n.getPosition(),l=Re(a,o,t.getRadius(),n.getRadius()),u=e.createLinearGradient(s.x,s.y,c.x,c.y);return u.addColorStop(0,Le(a,r)),u.addColorStop(i>1?1:i,k(l,r)),u.addColorStop(1,Le(o,r)),u}function $a(e,t,n,r,i){e.save(),We(e,r,i),e.lineWidth=t,e.strokeStyle=n,e.stroke(),e.restore()}function eo(e,t,n,r){let i=e.actualOptions.interactivity.modes.connect;if(i)return Qa(t,n,r,i.links.opacity)}function to(e,t,n){e.canvas.draw((r=>{let i=eo(e,r,t,n);if(!i)return;let a=t.getPosition(),o=n.getPosition();$a(r,t.retina.linksWidth??0,i,a,o)}))}async function no(e){await e.addInteractor(`externalConnect`,(e=>new co(e)))}var ro,io,ao,oo,so,co,lo=e((()=>{K(),ro=class{constructor(){this.opacity=.5}load(e){e&&e.opacity!==void 0&&(this.opacity=e.opacity)}},io=class{constructor(){this.distance=80,this.links=new ro,this.radius=60}get lineLinked(){return this.links}set lineLinked(e){this.links=e}get line_linked(){return this.links}set line_linked(e){this.links=e}load(e){e&&(e.distance!==void 0&&(this.distance=e.distance),this.links.load(e.links??e.lineLinked??e.line_linked),e.radius!==void 0&&(this.radius=e.radius))}},ao=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},oo=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},co=class extends G{constructor(e){super(e),so.set(this,void 0),ao(this,so,e,`f`)}clear(){}init(){let e=oo(this,so,`f`),t=e.actualOptions.interactivity.modes.connect;t&&(e.retina.connectModeDistance=t.distance*e.retina.pixelRatio,e.retina.connectModeRadius=t.radius*e.retina.pixelRatio)}async interact(){let e=oo(this,so,`f`);if(e.actualOptions.interactivity.events.onHover.enable&&e.interactivity.status===`pointermove`){let t=e.interactivity.mouse.position;if(!e.retina.connectModeDistance||e.retina.connectModeDistance<0||!e.retina.connectModeRadius||e.retina.connectModeRadius<0||!t)return;let n=Math.abs(e.retina.connectModeRadius),r=e.particles.quadTree.queryCircle(t,n,(e=>this.isEnabled(e))),i=0;for(let t of r){let n=t.getPosition();for(let a of r.slice(i+1)){let r=a.getPosition(),i=Math.abs(e.retina.connectModeDistance),o=Math.abs(n.x-r.x),s=Math.abs(n.y-r.y);o{let a=t.getPosition();uo(e,t.retina.linksWidth??0,a,i,n,r)}))}async function po(e){await e.addInteractor(`externalGrab`,(e=>new yo(e)))}var mo,ho,go,_o,vo,yo,bo=e((()=>{K(),mo=class{constructor(){this.blink=!1,this.consent=!1,this.opacity=1}load(e){e&&(e.blink!==void 0&&(this.blink=e.blink),e.color!==void 0&&(this.color=I.create(this.color,e.color)),e.consent!==void 0&&(this.consent=e.consent),e.opacity!==void 0&&(this.opacity=e.opacity))}},ho=class{constructor(){this.distance=100,this.links=new mo}get lineLinked(){return this.links}set lineLinked(e){this.links=e}get line_linked(){return this.links}set line_linked(e){this.links=e}load(e){e&&(e.distance!==void 0&&(this.distance=e.distance),this.links.load(e.links??e.lineLinked??e.line_linked))}},go=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},_o=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},yo=class extends G{constructor(e){super(e),vo.set(this,void 0),go(this,vo,e,`f`)}clear(){}init(){let e=_o(this,vo,`f`),t=e.actualOptions.interactivity.modes.grab;t&&(e.retina.grabModeDistance=t.distance*e.retina.pixelRatio)}async interact(){let e=_o(this,vo,`f`),t=e.actualOptions.interactivity;if(!t.modes.grab||!t.events.onHover.enable||e.interactivity.status!==_t)return;let n=e.interactivity.mouse.position;if(!n)return;let r=e.retina.grabModeDistance;if(!r||r<0)return;let i=e.particles.quadTree.queryCircle(n,r,(e=>this.isEnabled(e)));for(let a of i){let i=C(a.getPosition(),n);if(i>r)continue;let o=t.modes.grab.links,s=o.opacity,c=s-i*s/r;if(c<=0)continue;let l=o.color??a.options.links?.color;if(!e.particles.grabLineColor&&l){let n=t.modes.grab.links;e.particles.grabLineColor=Be(l,n.blink,n.consent)}let u=ze(a,void 0,e.particles.grabLineColor);if(!u)return;fo(e,a,u,c,n)}}isEnabled(e){let t=this.container,n=t.interactivity.mouse,r=(e?.interactivity??t.actualOptions.interactivity).events;return r.onHover.enable&&!!n.position&&T(`grab`,r.onHover.mode)}loadModeOptions(e,...t){e.grab||=new ho;for(let n of t)e.grab.load(n?.grab)}reset(){}},vo=new WeakMap}));function xo(e){e.addInteractor(`externalPause`,(e=>new So(e)))}var So,Co=e((()=>{K(),So=class extends G{constructor(e){super(e),this.handleClickMode=e=>{if(e!==`pause`)return;let t=this.container;t.getAnimationStatus()?t.pause():t.play()}}clear(){}init(){}async interact(){}isEnabled(){return!0}reset(){}}}));async function wo(e){await e.addInteractor(`externalPush`,(e=>new ko(e)))}var To,Eo,Do,Oo,ko,Ao=e((()=>{K(),To=class{constructor(){this.default=!0,this.groups=[],this.quantity=4}get particles_nb(){return this.quantity}set particles_nb(e){this.quantity=e}load(e){if(!e)return;e.default!==void 0&&(this.default=e.default),e.groups!==void 0&&(this.groups=e.groups.map((e=>e))),this.groups.length||(this.default=!0);let t=e.quantity??e.particles_nb;t!==void 0&&(this.quantity=t)}},Eo=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Do=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},ko=class extends G{constructor(e){super(e),Oo.set(this,void 0),Eo(this,Oo,e,`f`),this.handleClickMode=e=>{if(e!==`push`)return;let t=Do(this,Oo,`f`),n=t.actualOptions.interactivity.modes.push;if(!n)return;let r=n.quantity;if(r<=0)return;let i=E([void 0,...n.groups]),a=i===void 0?void 0:t.actualOptions.particles.groups[i];t.particles.push(r,t.interactivity.mouse,a,i)}}clear(){}init(){}async interact(){}isEnabled(){return!0}loadModeOptions(e,...t){e.push||=new To;for(let n of t)e.push.load(n?.push)}reset(){}},Oo=new WeakMap}));function jo(e){e.addInteractor(`externalRemove`,(e=>new Io(e)))}var Mo,No,Po,Fo,Io,Lo=e((()=>{K(),Mo=class{constructor(){this.quantity=2}get particles_nb(){return this.quantity}set particles_nb(e){this.quantity=e}load(e){if(!e)return;let t=e.quantity??e.particles_nb;t!==void 0&&(this.quantity=t)}},No=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Po=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Io=class extends G{constructor(e){super(e),Fo.set(this,void 0),No(this,Fo,e,`f`),this.handleClickMode=e=>{let t=Po(this,Fo,`f`),n=t.actualOptions;if(!n.interactivity.modes.remove||e!==`remove`)return;let r=n.interactivity.modes.remove.quantity;t.particles.removeQuantity(r)}}clear(){}init(){}async interact(){}isEnabled(){return!0}loadModeOptions(e,...t){e.remove||=new Mo;for(let n of t)e.remove.load(n?.remove)}reset(){}},Fo=new WeakMap}));async function Ro(e){await e.addInteractor(`externalRepulse`,(e=>new Wo(e)))}var zo,Bo,Vo,Ho,Uo,Q,Wo,Go=e((()=>{K(),zo=class{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing=`ease-out-quad`}load(e){e&&(e.distance!==void 0&&(this.distance=e.distance),e.duration!==void 0&&(this.duration=e.duration),e.easing!==void 0&&(this.easing=e.easing),e.factor!==void 0&&(this.factor=e.factor),e.speed!==void 0&&(this.speed=e.speed),e.maxSpeed!==void 0&&(this.maxSpeed=e.maxSpeed))}},Bo=class extends zo{constructor(){super(),this.selectors=[]}get ids(){return this.selectors instanceof Array?this.selectors.map((e=>e.replace(`#`,``))):this.selectors.replace(`#`,``)}set ids(e){this.selectors=e instanceof Array?e.map((()=>`#${e}`)):`#${e}`}load(e){super.load(e),e&&(e.ids!==void 0&&(this.ids=e.ids),e.selectors!==void 0&&(this.selectors=e.selectors))}},Vo=class extends zo{load(e){super.load(e),e&&(e.divs instanceof Array?this.divs=e.divs.map((e=>{let t=new Bo;return t.load(e),t})):((this.divs instanceof Array||!this.divs)&&(this.divs=new Bo),this.divs.load(e.divs)))}},Ho=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Uo=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Wo=class extends G{constructor(e){super(e),Q.set(this,void 0),Ho(this,Q,e,`f`),e.repulse||={particles:[]},this.handleClickMode=t=>{let n=Uo(this,Q,`f`).actualOptions.interactivity.modes.repulse;if(n&&t===`repulse`){e.repulse||={particles:[]},e.repulse.clicking=!0,e.repulse.count=0;for(let t of e.repulse.particles)this.isEnabled(t)&&t.velocity.setTo(t.initialVelocity);e.repulse.particles=[],e.repulse.finish=!1,setTimeout((()=>{e.destroyed||(e.repulse||={particles:[]},e.repulse.clicking=!1)}),1e3*n.duration)}}}clear(){}init(){let e=Uo(this,Q,`f`),t=e.actualOptions.interactivity.modes.repulse;t&&(e.retina.repulseModeDistance=t.distance*e.retina.pixelRatio)}async interact(){let e=Uo(this,Q,`f`),t=e.actualOptions,n=e.interactivity.status===_t,r=t.interactivity.events,i=r.onHover.enable,a=r.onHover.mode,o=r.onClick.enable,s=r.onClick.mode,c=r.onDiv;n&&i&&T(`repulse`,a)?this.hoverRepulse():o&&T(`repulse`,s)?this.clickRepulse():be(`repulse`,c,((e,t)=>this.singleSelectorRepulse(e,t)))}isEnabled(e){let t=Uo(this,Q,`f`),n=t.actualOptions,r=t.interactivity.mouse,i=(e?.interactivity??n.interactivity).events,a=i.onDiv,o=ye(`repulse`,a);if(!(o||i.onHover.enable&&r.position||i.onClick.enable&&r.clickPosition))return!1;let s=i.onHover.mode,c=i.onClick.mode;return T(`repulse`,s)||T(`repulse`,c)||o}loadModeOptions(e,...t){e.repulse||=new Vo;for(let n of t)e.repulse.load(n?.repulse)}reset(){}clickRepulse(){let e=Uo(this,Q,`f`),t=e.actualOptions.interactivity.modes.repulse;if(t){if(e.repulse||={particles:[]},e.repulse.finish||(e.repulse.count||(e.repulse.count=0),e.repulse.count++,e.repulse.count===e.particles.count&&(e.repulse.finish=!0)),e.repulse.clicking){let n=e.retina.repulseModeDistance;if(!n||n<0)return;let r=(n/6)**3,i=e.interactivity.mouse.clickPosition;if(i===void 0)return;let a=new z(i.x,i.y,r),o=e.particles.quadTree.query(a,(e=>this.isEnabled(e)));for(let n of o){let{dx:a,dy:o,distance:s}=S(i,n.position),c=s**2,l=t.speed,u=-r*l/c;if(c<=r){e.repulse.particles.push(n);let t=N.create(a,o);t.length=u,n.velocity.setTo(t)}}}else if(!1===e.repulse.clicking){for(let t of e.repulse.particles)t.velocity.setTo(t.initialVelocity);e.repulse.particles=[]}}}hoverRepulse(){let e=Uo(this,Q,`f`),t=e.interactivity.mouse.position,n=e.retina.repulseModeDistance;!n||n<0||!t||this.processRepulse(t,n,new z(t.x,t.y,n))}processRepulse(e,t,n,r){let i=Uo(this,Q,`f`),a=i.particles.quadTree.query(n,(e=>this.isEnabled(e))),o=i.actualOptions.interactivity.modes.repulse;if(o)for(let n of a){let{dx:i,dy:a,distance:s}=S(n.position,e),c=(r?.speed??o.speed)*o.factor,l=h(ie(1-s/t,o.easing)*c,0,o.maxSpeed),u=N.create(s===0?c:i/s*l,s===0?c:a/s*l);n.position.addTo(u)}}singleSelectorRepulse(e,t){let n=Uo(this,Q,`f`),r=n.actualOptions.interactivity.modes.repulse;if(!r)return;let i=document.querySelectorAll(e);i.length&&i.forEach((e=>{let i=e,a=n.retina.pixelRatio,o={x:(i.offsetLeft+i.offsetWidth/2)*a,y:(i.offsetTop+i.offsetHeight/2)*a},s=i.offsetWidth/2*a,c=t.type===`circle`?new z(o.x,o.y,s):new B(i.offsetLeft*a,i.offsetTop*a,i.offsetWidth*a,i.offsetHeight*a),l=r.divs,u=Se(l,i);this.processRepulse(o,s,c,u)}))}},Q=new WeakMap}));function Ko(e,t,n){let{svgData:r}=e;if(!r)return``;let i=Le(t,n);if(r.includes(`fill`))return r.replace(Zo,(()=>i));let a=r.indexOf(`>`);return`${r.substring(0,a)} fill="${i}"${r.substring(a)}`}async function qo(e){return new Promise((t=>{e.loading=!0;let n=new Image;e.element=n,n.addEventListener(`load`,(()=>{e.loading=!1,t()})),n.addEventListener(`error`,(()=>{e.element=void 0,e.error=!0,e.loading=!1,console.error(`Error tsParticles - loading image: ${e.source}`),t()})),n.src=e.source}))}async function Jo(e){if(e.type!==`svg`){await qo(e);return}e.loading=!0;let t=await fetch(e.source);t.ok||(console.error(`Error tsParticles - Image not found`),e.error=!0),e.error||(e.svgData=await t.text()),e.loading=!1}function Yo(e,t,n,r){let a=Ko(e,n,r.opacity?.value??1),o={color:n,data:Object.assign(Object.assign({},e),{svgData:a}),loaded:!1,ratio:t.width/t.height,replaceColor:t.replaceColor??t.replace_color,source:t.src};return new Promise((t=>{let n=new Blob([a],{type:`image/svg+xml`}),r=URL||i.URL||i.webkitURL||i,s=r.createObjectURL(n),c=new Image;c.addEventListener(`load`,(()=>{o.loaded=!0,o.element=c,t(o),r.revokeObjectURL(s)})),c.addEventListener(`error`,(async()=>{r.revokeObjectURL(s);let n=Object.assign(Object.assign({},e),{error:!1,loading:!0});await qo(n),o.loaded=!0,o.element=n.element,t(o)})),c.src=s}))}async function Xo(e){let t=new ts;await e.addShape(`image`,t),await e.addShape(`images`,t)}var Zo,Qo,$o,es,ts,ns=e((()=>{n(),K(),Zo=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi,Qo=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},$o=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},ts=class{constructor(){es.set(this,void 0),Qo(this,es,[],`f`)}addImage(e,t){this.getImages(e)?.images.push(t)}destroy(){Qo(this,es,[],`f`)}draw(e,t,n,r){let i=t.image,a=i?.element;if(!a)return;let o=i?.ratio??1,s={x:-n,y:-n};e.globalAlpha=r,e.drawImage(a,s.x,s.y,2*n,2*n/o),e.globalAlpha=1}getImages(e){return $o(this,es,`f`).find((t=>t.id===e.id))||($o(this,es,`f`).push({id:e.id,images:[]}),this.getImages(e))}getSidesCount(){return 12}loadShape(e){if(e.shape!==`image`&&e.shape!==`images`)return;let t=e.container,n=this.getImages(t).images,r=e.shapeData,i=n.find((e=>e.source===r.src));i?i.error:this.loadImageShape(t,r).then((()=>{this.loadShape(e)}))}particleInit(e,t){if(t.shape!==`image`&&t.shape!==`images`)return;let n=this.getImages(e).images,r=t.shapeData,i=t.getFillColor(),a=r.replaceColor??r.replace_color,o=n.find((e=>e.source===r.src));o&&(o.loading?setTimeout((()=>{this.particleInit(e,t)})):(async()=>{let e;e=o.svgData&&a&&i?await Yo(o,r,i,t):{color:i,data:o,element:o.element,loaded:!0,ratio:r.width/r.height,replaceColor:a,source:r.src},e.ratio||=1;let n=r.fill??t.fill,s=r.close??t.close,c={image:e,fill:n,close:s};t.image=c.image,t.fill=c.fill,t.close=c.close})())}async loadImageShape(e,t){let n=t.src;if(!n)throw Error(`Error tsParticles - No image.src`);try{let r={source:n,type:n.substring(n.length-3),error:!1,loading:!0};this.addImage(e,r),await(t.replaceColor??t.replace_color?Jo:qo)(r)}catch{throw Error(`tsParticles error - ${t.src} not found`)}}},es=new WeakMap}));async function rs(e){await e.addParticleUpdater(`life`,(e=>new ss(e)))}var is,as,os,ss,cs=e((()=>{K(),is=class extends L{constructor(){super(),this.sync=!1}load(e){e&&(super.load(e),e.sync!==void 0&&(this.sync=e.sync))}},as=class extends L{constructor(){super(),this.random.minimumValue=1e-4,this.sync=!1}load(e){e&&(super.load(e),e.sync!==void 0&&(this.sync=e.sync))}},os=class{constructor(){this.count=0,this.delay=new is,this.duration=new as}load(e){e&&(e.count!==void 0&&(this.count=e.count),this.delay.load(e.delay),this.duration.load(e.duration))}},ss=class{constructor(e){this.container=e}init(e){let t=this.container,n=e.options.life;n&&(e.life={delay:t.retina.reduceFactor?v(n.delay.value)*(n.delay.sync?1:m())/t.retina.reduceFactor*1e3:0,delayTime:0,duration:t.retina.reduceFactor?v(n.duration.value)*(n.duration.sync?1:m())/t.retina.reduceFactor*1e3:0,time:0,count:n.count},e.life.duration<=0&&(e.life.duration=-1),e.life.count<=0&&(e.life.count=-1),e.life&&(e.spawning=e.life.delay>0))}isEnabled(e){return!e.destroyed}loadOptions(e,...t){e.life||=new os;for(let n of t)e.life.load(n?.life)}update(e,t){if(!this.isEnabled(e)||!e.life)return;let n=e.life,r=!1;if(e.spawning){if(n.delayTime+=t.value,!(n.delayTime>=e.life.delay))return;r=!0,e.spawning=!1,n.delayTime=0,n.time=0}if(n.duration===-1||e.spawning||(r?n.time=0:n.time+=t.value,n.time0&&e.life.count--,e.life.count===0){e.destroy();return}let i=this.container.canvas.size,a=b(0,i.width),o=b(0,i.width);e.position.x=_(a),e.position.y=_(o),e.spawning=!0,n.delayTime=0,n.time=0,e.reset();let s=e.options.life;s&&(n.delay=1e3*v(s.delay.value),n.duration=1e3*v(s.duration.value))}}}));async function ls(e){await e.addShape(`line`,new us)}var us,ds=e((()=>{us=class{draw(e,t,n){e.moveTo(-n/2,0),e.lineTo(n/2,0)}getSidesCount(){return 1}}}));function fs(e,t,n,r){switch(e.options.opacity.animation.destroy){case`max`:t>=r&&e.destroy();break;case`min`:t<=n&&e.destroy();break}}function ps(e,t){if(!e.opacity)return;let n=e.opacity.min,r=e.opacity.max,i=e.opacity.decay??1;if(!(e.destroyed||!e.opacity.enable||(e.opacity.maxLoops??0)>0&&(e.opacity.loops??0)>(e.opacity.maxLoops??0))){switch(e.opacity.status){case 0:e.opacity.value>=r?(e.opacity.status=1,e.opacity.loops||(e.opacity.loops=0),e.opacity.loops++):e.opacity.value+=(e.opacity.velocity??0)*t.factor;break;case 1:e.opacity.value<=n?(e.opacity.status=0,e.opacity.loops||(e.opacity.loops=0),e.opacity.loops++):e.opacity.value-=(e.opacity.velocity??0)*t.factor;break}e.opacity.velocity&&e.opacity.decay!==1&&(e.opacity.velocity*=i),fs(e,e.opacity.value,n,r),e.destroyed||(e.opacity.value=h(e.opacity.value,n,r))}}async function ms(e){await e.addParticleUpdater(`opacity`,(e=>new hs(e)))}var hs,gs=e((()=>{K(),hs=class{constructor(e){this.container=e}init(e){let t=e.options.opacity;e.opacity={enable:t.animation.enable,max:y(t.value),min:ee(t.value),value:v(t.value),loops:0,maxLoops:v(t.animation.count)};let n=t.animation;if(n.enable){e.opacity.decay=1-v(n.decay),e.opacity.status=0;let r=t.value;switch(e.opacity.min=ee(r),e.opacity.max=y(r),n.startValue){case`min`:e.opacity.value=e.opacity.min,e.opacity.status=0;break;case`random`:e.opacity.value=_(e.opacity),e.opacity.status=m()>=.5?0:1;break;case`max`:default:e.opacity.value=e.opacity.max,e.opacity.status=1;break}e.opacity.velocity=v(n.speed)/100*this.container.retina.reduceFactor,n.sync||(e.opacity.velocity*=m())}}isEnabled(e){return!e.destroyed&&!e.spawning&&!!e.opacity&&e.opacity.enable&&((e.opacity.maxLoops??0)<=0||(e.opacity.maxLoops??0)>0&&(e.opacity.loops??0)<(e.opacity.maxLoops??0))}update(e,t){this.isEnabled(e)&&ps(e,t)}}}));function _s(e){if(e.outMode!==`bounce`&&e.outMode!==`bounce-horizontal`&&e.outMode!==`bounceHorizontal`&&e.outMode!==`split`)return;e.bounds.right<0?e.particle.position.x=e.size+e.offset.x:e.bounds.left>e.canvasSize.width&&(e.particle.position.x=e.canvasSize.width-e.size-e.offset.x);let t=e.particle.velocity.x,n=!1;if(e.direction===`right`&&e.bounds.right>=e.canvasSize.width&&t>0||e.direction===`left`&&e.bounds.left<=0&&t<0){let t=x(e.particle.options.bounce.horizontal);e.particle.velocity.x*=-t,n=!0}if(!n)return;let r=e.offset.x+e.size;e.bounds.right>=e.canvasSize.width?e.particle.position.x=e.canvasSize.width-r:e.bounds.left<=0&&(e.particle.position.x=r),e.outMode===`split`&&e.particle.destroy()}function vs(e){if(e.outMode!==`bounce`&&e.outMode!==`bounce-vertical`&&e.outMode!==`bounceVertical`&&e.outMode!==`split`)return;e.bounds.bottom<0?e.particle.position.y=e.size+e.offset.y:e.bounds.top>e.canvasSize.height&&(e.particle.position.y=e.canvasSize.height-e.size-e.offset.y);let t=e.particle.velocity.y,n=!1;if(e.direction===`bottom`&&e.bounds.bottom>=e.canvasSize.height&&t>0||e.direction===`top`&&e.bounds.top<=0&&t<0){let t=x(e.particle.options.bounce.vertical);e.particle.velocity.y*=-t,n=!0}if(!n)return;let r=e.offset.y+e.size;e.bounds.bottom>=e.canvasSize.height?e.particle.position.y=e.canvasSize.height-r:e.bounds.top<=0&&(e.particle.position.y=r),e.outMode===`split`&&e.particle.destroy()}async function ys(e){await e.addParticleUpdater(`outModes`,(e=>new ws(e)))}var bs,xs,Ss,Cs,ws,Ts=e((()=>{K(),bs=class{constructor(e){this.container=e,this.modes=[`bounce`,`bounce-vertical`,`bounce-horizontal`,`bounceVertical`,`bounceHorizontal`,`split`]}update(e,t,n,r){if(!this.modes.includes(r))return;let i=this.container,a=!1;for(let[,r]of i.plugins)if(r.particleBounce!==void 0&&(a=r.particleBounce(e,n,t)),a)break;if(a)return;let o=e.getPosition(),s=e.offset,c=e.getRadius(),l=ve(o,c),u=i.canvas.size;_s({particle:e,outMode:r,direction:t,bounds:l,canvasSize:u,offset:s,size:c}),vs({particle:e,outMode:r,direction:t,bounds:l,canvasSize:u,offset:s,size:c})}},xs=class{constructor(e){this.container=e,this.modes=[`destroy`]}update(e,t,n,r){if(!this.modes.includes(r))return;let i=this.container;switch(e.outType){case`normal`:case`outside`:if(ge(e.position,i.canvas.size,N.origin,e.getRadius(),t))return;break;case`inside`:{let{dx:t,dy:n}=S(e.position,e.moveCenter),{x:r,y:i}=e.velocity;if(r<0&&t>e.moveCenter.radius||i<0&&n>e.moveCenter.radius||r>=0&&t<-e.moveCenter.radius||i>=0&&n<-e.moveCenter.radius)return;break}}i.particles.remove(e,void 0,!0)}},Ss=class{constructor(e){this.container=e,this.modes=[`none`]}update(e,t,n,r){if(!this.modes.includes(r)||e.options.move.distance.horizontal&&(t===`left`||t===`right`)||e.options.move.distance.vertical&&(t===`top`||t===`bottom`))return;let i=e.options.move.gravity,a=this.container,o=a.canvas.size,s=e.getRadius();if(i.enable){let n=e.position;(!i.inverse&&n.y>o.height+s&&t===`bottom`||i.inverse&&n.y<-s&&t===`top`)&&a.particles.remove(e)}else{if(e.velocity.y>0&&e.position.y<=o.height+s||e.velocity.y<0&&e.position.y>=-s||e.velocity.x>0&&e.position.x<=o.width+s||e.velocity.x<0&&e.position.x>=-s)return;ge(e.position,a.canvas.size,N.origin,s,t)||a.particles.remove(e)}}},Cs=class{constructor(e){this.container=e,this.modes=[`out`]}update(e,t,n,r){if(!this.modes.includes(r))return;let i=this.container;switch(e.outType){case`inside`:{let{x:t,y:n}=e.velocity,r=N.origin;r.length=e.moveCenter.radius,r.angle=e.velocity.angle+Math.PI,r.addTo(N.create(e.moveCenter));let{dx:a,dy:o}=S(e.position,r);if(t<=0&&a>=0||n<=0&&o>=0||t>=0&&a<=0||n>=0&&o<=0)return;e.position.x=Math.floor(_({min:0,max:i.canvas.size.width})),e.position.y=Math.floor(_({min:0,max:i.canvas.size.height}));let{dx:s,dy:c}=S(e.position,e.moveCenter);e.direction=Math.atan2(-c,-s),e.velocity.angle=e.direction;break}default:if(ge(e.position,i.canvas.size,N.origin,e.getRadius(),t))return;switch(e.outType){case`outside`:{e.position.x=Math.floor(_({min:-e.moveCenter.radius,max:e.moveCenter.radius}))+e.moveCenter.x,e.position.y=Math.floor(_({min:-e.moveCenter.radius,max:e.moveCenter.radius}))+e.moveCenter.y;let{dx:t,dy:n}=S(e.position,e.moveCenter);e.moveCenter.radius&&(e.direction=Math.atan2(n,t),e.velocity.angle=e.direction);break}case`normal`:{let n=e.options.move.warp,r=i.canvas.size,a={bottom:r.height+e.getRadius()+e.offset.y,left:-e.getRadius()-e.offset.x,right:r.width+e.getRadius()+e.offset.x,top:-e.getRadius()-e.offset.y},o=e.getRadius(),s=ve(e.position,o);t===`right`&&s.left>r.width+e.offset.x?(e.position.x=a.left,e.initialPosition.x=e.position.x,n||(e.position.y=m()*r.height,e.initialPosition.y=e.position.y)):t===`left`&&s.right<-e.offset.x&&(e.position.x=a.right,e.initialPosition.x=e.position.x,n||(e.position.y=m()*r.height,e.initialPosition.y=e.position.y)),t===`bottom`&&s.top>r.height+e.offset.y?(n||(e.position.x=m()*r.width,e.initialPosition.x=e.position.x),e.position.y=a.top,e.initialPosition.y=e.position.y):t===`top`&&s.bottom<-e.offset.y&&(n||(e.position.x=m()*r.width,e.initialPosition.x=e.position.x),e.position.y=a.bottom,e.initialPosition.y=e.position.y);break}}break}}},ws=class{constructor(e){this.container=e,this.updaters=[new bs(e),new xs(e),new Cs(e),new Ss(e)]}init(){}isEnabled(e){return!e.destroyed&&!e.spawning}update(e,t){let n=e.options.move.outModes;this.updateOutMode(e,t,n.bottom??n.default,`bottom`),this.updateOutMode(e,t,n.left??n.default,`left`),this.updateOutMode(e,t,n.right??n.default,`right`),this.updateOutMode(e,t,n.top??n.default,`top`)}updateOutMode(e,t,n,r){for(let i of this.updaters)i.update(e,r,t,n)}}}));async function Es(e){e.addMover(`parallax`,(()=>new Ds))}var Ds,Os=e((()=>{K(),Ds=class{init(){}isEnabled(e){return!de()&&!e.destroyed&&e.container.actualOptions.interactivity.events.onHover.parallax.enable}move(e){let t=e.container,n=t.actualOptions;if(de()||!n.interactivity.events.onHover.parallax.enable)return;let r=n.interactivity.events.onHover.parallax.force,i=t.interactivity.mouse.position;if(!i)return;let a={x:t.canvas.size.width/2,y:t.canvas.size.height/2},o=n.interactivity.events.onHover.parallax.smooth,s=e.getRadius()/r,c={x:(i.x-a.x)*s,y:(i.y-a.y)*s};e.offset.x+=(c.x-e.offset.x)/o,e.offset.y+=(c.y-e.offset.y)/o}}}));async function ks(e){await e.addInteractor(`particlesAttract`,(e=>new As(e)))}var As,js=e((()=>{K(),As=class extends Br{constructor(e){super(e)}clear(){}init(){}async interact(e){let t=this.container,n=e.retina.attractDistance??t.retina.attractDistance,r=e.getPosition(),i=t.particles.quadTree.queryCircle(r,n);for(let t of i){if(e===t||!t.options.move.attract.enable||t.destroyed||t.spawning)continue;let{dx:n,dy:i}=S(r,t.getPosition()),a=e.options.move.attract.rotate,o=n/(1e3*a.x),s=i/(1e3*a.y),c=t.size.value/e.size.value,l=1/c;e.velocity.x-=o*c,e.velocity.y-=s*c,t.velocity.x+=o*l,t.velocity.y+=s*l}}isEnabled(e){return e.options.move.attract.enable}reset(){}}}));function Ms(e,t,n,r){if(e.getRadius()===void 0&&t.getRadius()!==void 0)e.destroy();else if(e.getRadius()!==void 0&&t.getRadius()===void 0)t.destroy();else if(e.getRadius()!==void 0&&t.getRadius()!==void 0)if(e.getRadius()>=t.getRadius()){let i=h(e.getRadius()/t.getRadius(),0,t.getRadius())*n;e.size.value+=i,t.size.value-=i,t.getRadius()<=r&&(t.size.value=0,t.destroy())}else{let i=h(t.getRadius()/e.getRadius(),0,e.getRadius())*n;e.size.value-=i,t.size.value+=i,e.getRadius()<=r&&(e.size.value=0,e.destroy())}}function Ns(e,t){we(Ce(e),Ce(t))}function Ps(e,t){e.unbreakable||t.unbreakable||Ns(e,t),e.getRadius()===void 0&&t.getRadius()!==void 0?e.destroy():e.getRadius()!==void 0&&t.getRadius()===void 0?t.destroy():e.getRadius()!==void 0&&t.getRadius()!==void 0&&(e.getRadius()>=t.getRadius()?t.destroy():e.destroy())}function Fs(e,t,n,r){switch(e.options.collisions.mode){case`absorb`:Ms(e,t,n,r);break;case`bounce`:Ns(e,t);break;case`destroy`:Ps(e,t);break}}async function Is(e){await e.addInteractor(`particlesCollisions`,(e=>new Ls(e)))}var Ls,Rs=e((()=>{K(),Ls=class extends Br{constructor(e){super(e)}clear(){}init(){}async interact(e){let t=this.container,n=e.getPosition(),r=e.getRadius(),i=t.particles.quadTree.queryCircle(n,2*r);for(let a of i){if(e===a||!a.options.collisions.enable||e.options.collisions.mode!==a.options.collisions.mode||a.destroyed||a.spawning)continue;let i=a.getPosition(),o=a.getRadius();Math.abs(Math.round(n.z)-Math.round(i.z))>r+o||C(n,i)>r+o||Fs(e,a,t.fpsLimit/1e3,t.retina.pixelRatio)}}isEnabled(e){return e.options.collisions.enable}reset(){}}}));function zs(e,t,n,r,i){let a=C(e,t);return!i||a<=n||(a=C(e,{x:t.x-r.width,y:t.y}),a<=n)||(a=C(e,{x:t.x-r.width,y:t.y-r.height}),a<=n)||(a=C(e,{x:t.x,y:t.y-r.height})),a}async function Bs(e){await e.addInteractor(`particlesLinks`,(e=>new Js(e)))}function Vs(e,t,n,r,i,a,o,s,c,l,u,d){let f=!1;if(C(n,r)<=i)We(e,n,r),f=!0;else if(o){let t,o,s=S(n,{x:r.x-a.width,y:r.y});if(s.distance<=i){let e=n.y-s.dy/s.dx*n.x;t={x:0,y:e},o={x:a.width,y:e}}else{let e=S(n,{x:r.x,y:r.y-a.height});if(e.distance<=i){let r=-(n.y-e.dy/e.dx*n.x)/(e.dy/e.dx);t={x:r,y:0},o={x:r,y:a.height}}else{let e=S(n,{x:r.x-a.width,y:r.y-a.height});if(e.distance<=i){let r=n.y-e.dy/e.dx*n.x;t={x:-r/(e.dy/e.dx),y:r},o={x:t.x+a.width,y:t.y+a.height}}}}t&&o&&(We(e,n,t),We(e,r,o),f=!0)}if(f){if(e.lineWidth=t,s&&(e.globalCompositeOperation=c),e.strokeStyle=k(l,u),d.enable){let t=O(d.color);t&&(e.shadowBlur=d.blur,e.shadowColor=k(t))}e.stroke()}}function Hs(e,t,n,r,i,a,o,s){Ge(e,t,n,r),i&&(e.globalCompositeOperation=a),e.fillStyle=k(o,s),e.fill()}async function Us(e){let t=new Xs;await e.addPlugin(t)}async function Ws(e){await Bs(e),await Us(e)}var Gs,Ks,qs,Js,Ys,Xs,Zs=e((()=>{K(),Gs=class{constructor(){this.blur=5,this.color=new I,this.color.value=`#000`,this.enable=!1}load(e){e&&(e.blur!==void 0&&(this.blur=e.blur),this.color=I.create(this.color,e.color),e.enable!==void 0&&(this.enable=e.enable))}},Ks=class{constructor(){this.enable=!1,this.frequency=1}load(e){e&&(e.color!==void 0&&(this.color=I.create(this.color,e.color)),e.enable!==void 0&&(this.enable=e.enable),e.frequency!==void 0&&(this.frequency=e.frequency),e.opacity!==void 0&&(this.opacity=e.opacity))}},qs=class{constructor(){this.blink=!1,this.color=new I,this.color.value=`#fff`,this.consent=!1,this.distance=100,this.enable=!1,this.frequency=1,this.opacity=1,this.shadow=new Gs,this.triangles=new Ks,this.width=1,this.warp=!1}load(e){e&&(e.id!==void 0&&(this.id=e.id),e.blink!==void 0&&(this.blink=e.blink),this.color=I.create(this.color,e.color),e.consent!==void 0&&(this.consent=e.consent),e.distance!==void 0&&(this.distance=e.distance),e.enable!==void 0&&(this.enable=e.enable),e.frequency!==void 0&&(this.frequency=e.frequency),e.opacity!==void 0&&(this.opacity=e.opacity),this.shadow.load(e.shadow),this.triangles.load(e.triangles),e.width!==void 0&&(this.width=e.width),e.warp!==void 0&&(this.warp=e.warp))}},Js=class extends Br{constructor(e){super(e),this.linkContainer=e}clear(){}init(){this.linkContainer.particles.linksColors=new Map}async interact(e){if(!e.options.links)return;e.links=[];let t=e.getPosition(),n=this.container,r=n.canvas.size;if(t.x<0||t.y<0||t.x>r.width||t.y>r.height)return;let i=e.options.links,a=i.opacity,o=e.retina.linksDistance??0,s=i.warp,c=s?new dr(t.x,t.y,o,r):new z(t.x,t.y,o),l=n.particles.quadTree.query(c);for(let n of l){let c=n.options.links;if(e===n||!c?.enable||i.id!==c.id||n.spawning||n.destroyed||!n.links||e.links.map((e=>e.destination)).indexOf(n)!==-1||n.links.map((e=>e.destination)).indexOf(e)!==-1)continue;let l=n.getPosition();if(l.x<0||l.y<0||l.x>r.width||l.y>r.height)continue;let u=zs(t,l,o,r,s&&c.warp);if(u>o)return;let d=(1-u/o)*a;this.setColor(e),e.links.push({destination:n,opacity:d})}}isEnabled(e){return!!e.options.links?.enable}loadParticlesOptions(e,...t){e.links||=new qs;for(let n of t)e.links.load(n?.links??n?.lineLinked??n?.line_linked)}reset(){}setColor(e){if(!e.options.links)return;let t=this.linkContainer,n=e.options.links,r=n.id===void 0?t.particles.linksColor:t.particles.linksColors.get(n.id);if(r)return;let i=n.color;r=Be(i,n.blink,n.consent),n.id===void 0?t.particles.linksColor=r:t.particles.linksColors.set(n.id,r)}},Ys=class{constructor(e){this.container=e}drawParticle(e,t){let n=this.container,r=t.options;if(!t.links||t.links.length<=0)return;e.save();let i=t.links.filter((e=>r.links&&n.particles.getLinkFrequency(t,e.destination)<=r.links.frequency));for(let e of i)this.drawTriangles(n,r,t,e,i),e.opacity>0&&(t.retina.linksWidth??0)>0&&this.drawLinkLine(t,e);e.restore()}particleCreated(e){if(e.links=[],!e.options.links)return;let t=this.container.retina.pixelRatio;e.retina.linksDistance=e.options.links.distance*t,e.retina.linksWidth=e.options.links.width*t}particleDestroyed(e){e.links=[]}drawLinkLine(e,t){let n=this.container,r=n.actualOptions,i=t.destination,a=e.getPosition(),o=i.getPosition(),s=t.opacity;n.canvas.draw((t=>{if(!e.options.links)return;let c,l=e.options.twinkle?.lines;if(l?.enable){let e=l.frequency,t=O(l.color);m(){let n=e.getPosition(),l=a.getPosition(),u=o.getPosition(),d=e.retina.linksDistance??0;if(C(n,l)>d||C(u,l)>d||C(u,n)>d)return;let f=O(s.color);if(!f){let t=e.options.links;f=ze(e,a,t?.id===void 0?r.particles.linksColor:r.particles.linksColors.get(t.id))}f&&Hs(t,n,l,u,i.backgroundMask.enable,i.backgroundMask.composite,f,c)}))}drawTriangles(e,t,n,r,i){let a=r.destination,o=e.particles;if(!(t.links?.triangles.enable&&a.options.links?.triangles.enable))return;let s=a.links?.filter((t=>{let n=e.particles.getLinkFrequency(a,t.destination);return a.options.links&&n<=a.options.links.frequency&&i.findIndex((e=>e.destination===t.destination))>=0}));if(s?.length)for(let e of s){let i=e.destination;o.getTriangleFrequency(n,a,i)>t.links.triangles.frequency||this.drawLinkTriangle(n,r,e)}}},Xs=class{constructor(){this.id=`links`}getPlugin(e){return new Ys(e)}loadOptions(){}needsPlugin(){return!0}}}));async function Qs(e){await e.addShape(`polygon`,new nc)}async function $s(e){await e.addShape(`triangle`,new rc)}async function ec(e){await Qs(e),await $s(e)}var tc,nc,rc,ic=e((()=>{tc=class{draw(e,t,n){let r=this.getCenter(t,n),i=this.getSidesData(t,n),a=i.count.numerator*i.count.denominator,o=i.count.numerator/i.count.denominator,s=180*(o-2)/o,c=Math.PI-Math.PI*s/180;if(e){e.beginPath(),e.translate(r.x,r.y),e.moveTo(0,0);for(let t=0;t=r&&e.destroy();break;case`min`:t<=n&&e.destroy();break}}function oc(e,t){let n=(e.size.velocity??0)*t.factor,r=e.size.min,i=e.size.max,a=e.size.decay??1;if(!(e.destroyed||!e.size.enable||(e.size.maxLoops??0)>0&&(e.size.loops??0)>(e.size.maxLoops??0))){switch(e.size.status){case 0:e.size.value>=i?(e.size.status=1,e.size.loops||(e.size.loops=0),e.size.loops++):e.size.value+=n;break;case 1:e.size.value<=r?(e.size.status=0,e.size.loops||(e.size.loops=0),e.size.loops++):e.size.value-=n}e.size.velocity&&a!==1&&(e.size.velocity*=a),ac(e,e.size.value,r,i),e.destroyed||(e.size.value=h(e.size.value,r,i))}}async function sc(e){await e.addParticleUpdater(`size`,(()=>new cc))}var cc,lc=e((()=>{K(),cc=class{init(){}isEnabled(e){return!e.destroyed&&!e.spawning&&e.size.enable&&((e.size.maxLoops??0)<=0||(e.size.maxLoops??0)>0&&(e.size.loops??0)<(e.size.maxLoops??0))}update(e,t){this.isEnabled(e)&&oc(e,t)}}}));async function uc(e){let t=new fc;await e.addShape(`edge`,t),await e.addShape(`square`,t)}var dc,fc,pc=e((()=>{dc=Math.sqrt(2),fc=class{draw(e,t,n){e.rect(-n/dc,-n/dc,2*n/dc,2*n/dc)}getSidesCount(){return 4}}}));async function mc(e){await e.addShape(`star`,new hc)}var hc,gc=e((()=>{hc=class{draw(e,t,n){let r=t.shapeData,i=this.getSidesCount(t),a=r?.inset??2;e.moveTo(0,0-n);for(let t=0;tr&&(a.status=1,a.value-=a.value%r)),a.velocity&&c!==1&&(a.velocity*=c),a.value>r&&(a.value%=r)}function vc(e,t){if(!e.stroke?.color)return;let n=e.stroke.color.animation,r=e.strokeColor?.h??e.color?.h;r&&_c(t,r,n.h,360,!1);let i=e.strokeColor?.s??e.color?.s;i&&_c(t,i,n.s,100,!0);let a=e.strokeColor?.l??e.color?.l;a&&_c(t,a,n.l,100,!0)}async function yc(e){await e.addParticleUpdater(`strokeColor`,(e=>new bc(e)))}var bc,xc=e((()=>{K(),bc=class{constructor(e){this.container=e}init(e){let t=this.container;e.stroke=e.options.stroke instanceof Array?E(e.options.stroke,e.id,e.options.reduceDuplicates):e.options.stroke,e.strokeWidth=e.stroke.width*t.retina.pixelRatio;let n=Ae(e.stroke.color)??e.getFillColor();n&&(e.strokeColor=He(n,e.stroke.color?.animation,t.retina.reduceFactor))}isEnabled(e){let t=e.stroke?.color;return!e.destroyed&&!e.spawning&&!!t&&(e.strokeColor?.h.value!==void 0&&t.animation.h.enable||e.strokeColor?.s.value!==void 0&&t.animation.s.enable||e.strokeColor?.l.value!==void 0&&t.animation.l.enable)}update(e,t){this.isEnabled(e)&&vc(e,t)}}}));async function Sc(e){let t=new wc;for(let n of Cc)await e.addShape(n,t)}var Cc,wc,Tc=e((()=>{K(),Cc=[`text`,`character`,`char`],wc=class{draw(e,t,n,r){let i=t.shapeData;if(i===void 0)return;let a=i.value;if(a===void 0)return;let o=t;o.text===void 0&&(o.text=a instanceof Array?E(a,t.randomIndexData):a);let s=o.text,c=i.style??``,l=i.weight??`400`,u=2*Math.round(n),d=i.font??`Verdana`,f=t.fill,p=s.length*n/2;e.font=`${c} ${l} ${u}px "${d}"`;let m={x:-p,y:n/2};e.globalAlpha=r,f?e.fillText(s,m.x,m.y):e.strokeText(s,m.x,m.y),e.globalAlpha=1}getSidesCount(){return 12}async init(e){let t=e.actualOptions;if(Cc.find((e=>T(e,t.particles.shape.type)))){let e=Cc.map((e=>t.particles.shape.options[e])).find((e=>!!e));if(e instanceof Array){let t=[];for(let n of e){let e=n;t.push(me(e.font,e.weight))}await Promise.allSettled(t)}else if(e!==void 0){let t=e;await me(t.font,t.weight)}}}}}));async function Ec(e){await ba(e),await Es(e),await ja(e),await La(e),await Ga(e),await no(e),await po(e),await xo(e),await wo(e),await jo(e),await Ro(e),await ks(e),await Is(e),await Ws(e),await Ca(e),await Xo(e),await ls(e),await ec(e),await uc(e),await mc(e),await Sc(e),await rs(e),await ms(e),await sc(e),await pa(e),await Oa(e),await yc(e),await ys(e),await ua(e)}var Dc=e((()=>{da(),ha(),Sa(),Ta(),Aa(),Ia(),Ua(),Za(),lo(),bo(),Co(),Ao(),Lo(),Go(),ns(),cs(),ds(),gs(),Ts(),Os(),js(),Rs(),Zs(),ic(),lc(),pc(),gc(),xc(),Tc()}));function Oc(e,t){if(!e.tilt||!e.options.tilt)return;let n=e.options.tilt.animation,r=(e.tilt.velocity??0)*t.factor,i=2*Math.PI,a=e.tilt.decay??1;if(n.enable){switch(e.tilt.status){case 0:e.tilt.value+=r,e.tilt.value>i&&(e.tilt.value-=i);break;case 1:default:e.tilt.value-=r,e.tilt.value<0&&(e.tilt.value+=i);break}e.tilt.velocity&&a!==1&&(e.tilt.velocity*=a)}}async function kc(e){await e.addParticleUpdater(`tilt`,(e=>new Mc(e)))}var Ac,jc,Mc,Nc=e((()=>{K(),Ac=class{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(e){e&&(e.enable!==void 0&&(this.enable=e.enable),e.speed!==void 0&&(this.speed=b(e.speed)),e.decay!==void 0&&(this.decay=b(e.decay)),e.sync!==void 0&&(this.sync=e.sync))}},jc=class extends L{constructor(){super(),this.animation=new Ac,this.direction=`clockwise`,this.enable=!1,this.value=0}load(e){super.load(e),e&&(this.animation.load(e.animation),e.direction!==void 0&&(this.direction=e.direction),e.enable!==void 0&&(this.enable=e.enable))}},Mc=class{constructor(e){this.container=e}getTransformValues(e){let t=e.tilt?.enable&&e.tilt;return{b:t?Math.cos(t.value)*t.cosDirection:void 0,c:t?Math.sin(t.value)*t.sinDirection:void 0}}init(e){let t=e.options.tilt;if(!t)return;e.tilt={enable:t.enable,value:v(t.value)*Math.PI/180,sinDirection:m()>=.5?1:-1,cosDirection:m()>=.5?1:-1};let n=t.direction;switch(n===`random`&&(n=Math.floor(2*m())>0?`counter-clockwise`:`clockwise`),n){case`counter-clockwise`:case`counterClockwise`:e.tilt.status=1;break;case`clockwise`:e.tilt.status=0;break}let r=e.options.tilt?.animation;r?.enable&&(e.tilt.decay=1-v(r.decay),e.tilt.velocity=v(r.speed)/360*this.container.retina.reduceFactor,r.sync||(e.tilt.velocity*=m()))}isEnabled(e){let t=e.options.tilt?.animation;return!e.destroyed&&!e.spawning&&!!t?.enable}loadOptions(e,...t){e.tilt||=new jc;for(let n of t)e.tilt.load(n?.tilt)}update(e,t){this.isEnabled(e)&&Oc(e,t)}}}));async function Pc(e){await e.addParticleUpdater(`twinkle`,(()=>new Lc))}var Fc,Ic,Lc,Rc=e((()=>{K(),Fc=class{constructor(){this.enable=!1,this.frequency=.05,this.opacity=1}load(e){e&&(e.color!==void 0&&(this.color=I.create(this.color,e.color)),e.enable!==void 0&&(this.enable=e.enable),e.frequency!==void 0&&(this.frequency=e.frequency),e.opacity!==void 0&&(this.opacity=b(e.opacity)))}},Ic=class{constructor(){this.lines=new Fc,this.particles=new Fc}load(e){e&&(this.lines.load(e.lines),this.particles.load(e.particles))}},Lc=class{getColorStyles(e,t,n,r){let i=e.options.twinkle;if(!i)return{};let a=i.particles,o=a.enable&&m()i&&(e.wobble.angle-=i),e.position.x+=r*Math.cos(e.wobble.angle),e.position.y+=r*Math.abs(Math.sin(e.wobble.angle))}async function Bc(e){await e.addParticleUpdater(`wobble`,(e=>new Uc(e)))}var Vc,Hc,Uc,Wc=e((()=>{K(),Vc=class{constructor(){this.angle=50,this.move=10}load(e){e&&(e.angle!==void 0&&(this.angle=b(e.angle)),e.move!==void 0&&(this.move=b(e.move)))}},Hc=class{constructor(){this.distance=5,this.enable=!1,this.speed=new Vc}load(e){if(e&&(e.distance!==void 0&&(this.distance=b(e.distance)),e.enable!==void 0&&(this.enable=e.enable),e.speed!==void 0))if(typeof e.speed==`number`)this.speed.load({angle:e.speed});else{let t=e.speed;t.min===void 0?this.speed.load(e.speed):this.speed.load({angle:t})}}},Uc=class{constructor(e){this.container=e}init(e){let t=e.options.wobble;t?.enable?e.wobble={angle:m()*Math.PI*2,angleSpeed:v(t.speed.angle)/360,moveSpeed:v(t.speed.move)/10}:e.wobble={angle:0,angleSpeed:0,moveSpeed:0},e.retina.wobbleDistance=v(t?.distance??0)*this.container.retina.pixelRatio}isEnabled(e){return!e.destroyed&&!e.spawning&&!!e.options.wobble?.enable}loadOptions(e,...t){e.wobble||=new Hc;for(let n of t)e.wobble.load(n?.wobble)}update(e,t){this.isEnabled(e)&&zc(e,t)}}}));async function Gc(e){await Ec(e),await aa(e),await kc(e),await Pc(e),await Bc(e),await Ai(e),await Zr(e),await ai(e),await Hi(e)}var Kc=e((()=>{ri(),ki(),Ii(),ra(),la(),Dc(),Nc(),Rc(),Wc()}));function $(e){let{background:t,color:n,radius:i,number:o,densityOptions:s,sizeOptions:c,opacityOptions:u,linksOptions:d,modeOptions:f,moveOptions:p,shapeOptions:m,clickOptions:h,hoverOptions:g,rotateOptions:_,particlesID:v,fpsOptions:ee,colors:y}=e,{densityEnable:b,densityArea:x,densityFactor:S}=s,{linksEnabled:C,linksColor:te,linksOpacity:ne,linksDistance:re,linksWidth:ie}=d,{size:ae,sizeType:w,sizeMin:oe,sizeMax:se}=c,{opacity:ce,opacityType:le,opacityMin:ue,opacityMax:de}=u,{connectDistance:fe,connectRadius:pe,connectLinksOpacity:T,grabDistance:me,grabLinksOpacity:he,bubbleDistance:E,bubbleSize:ge,bubbleDuration:_e,repulseDistance:ve,repulseDuration:D,pushQuantity:ye,removeQuantity:be,trailQuantity:xe,trailDelay:Se}=f,{moveEnabled:Ce,moveDirection:we,moveSpeed:Te,moveRandom:Ee,moveStraight:De,moveOut:Oe,moveVibrate:O,moveGravityEnabled:ke,moveGravityAcceleration:Ae,moveGravityMaxSpeed:je,moveTrailEnabled:Me,moveTrailAmount:Ne,moveSpinEnabled:Pe,moveSpinAcceleration:Fe,moveAttractEnabled:Ie,moveAttractDistance:k}=p,{shapeType:Le,characterType:Re,imageSource:ze,imageWidth:Be,imageHeight:Ve}=m,{clickEnabled:He,clickModes:Ue}=h,{hoverEnabled:We,hoverModes:Ge,hoverParallax:Ke,hoverForce:qe,hoverSmooth:Je}=g,{rotateDirection:Ye,rotateValue:Xe,rotateAnimation:Ze,rotateSpeed:Qe,rotateSync:$e}=_,et=r(async e=>{await Gc(e)},[]),A=l.current()===l.canvas,tt=y.length>0;return a(`div`,{style:{width:`100%`,height:`100%`,overflow:`hidden`,backgroundColor:t,transform:`translateZ(0)`,borderRadius:i,position:`relative`},children:a(Yr,{id:v,init:et,style:{width:`100%`,height:`100%`,position:`absolute`},options:{background:{color:{value:`transparent`}},fpsLimit:A?1:ee,fullScreen:!1,pauseOnBlur:!0,pauseOnOutsideViewport:!0,interactivity:A?{}:{events:{resize:!0,onClick:{enable:A?!1:He,mode:Ue},onHover:{enable:A?!1:We,mode:Ge,parallax:{enable:A?!1:We?Ke:!1,force:qe,smooth:qe}}},modes:{connect:{distance:fe,radius:pe,links:{opacity:T}},grab:{distance:me,links:{opacity:he}},bubble:{distance:E,size:ge,duration:_e},repulse:{distance:ve,duration:D},push:{quantity:ye},remove:{quantity:be},trail:{delay:Se,quantity:xe}}},particles:{color:{value:tt?y.map(e=>qc(e)):qc(n)},collisions:{enable:!1},rotate:{direction:Ye,value:Xe,animation:!A&&{enable:Ze,speed:Qe}},move:{direction:we,outMode:Oe,enable:A?!1:Ce,random:Ee,speed:Te,straight:De,trail:{enable:Me,length:Ne},spin:{enable:Pe,acceleration:Fe},attract:{enable:Ie,distance:k},gravity:{enable:ke,acceleration:Ae,maxSpeed:je},vibrate:O},links:{enable:C,color:qc(te),opacity:ne,distance:re,width:ie},number:{value:o,density:{enable:b,area:b&&x,factor:b&&S}},opacity:{value:le?ce:{min:ue,max:de}},shape:{type:Le,character:{value:Re},image:{src:ze,width:Be,height:Ve}},size:{value:w?ae:{min:oe,max:se}}},detectRetina:!0}})})}var qc,Jc=e((()=>{s(),d(),Xr(),Kc(),t(),$.defaultProps={background:`#000000`,color:`#ffffff`,radius:0,number:100,densityOptions:{densityEnable:!1,densityArea:5e3,densityFactor:50},sizeOptions:{sizeType:!0,size:1,sizeMin:1,sizeMax:10},opacityOptions:{opacityType:!0,opacity:1,opacityMin:0,opacityMax:1},linksOptions:{linksEnabled:!1,linksColor:`#ffffff`,linksOpacity:.2,linksDistance:100,linksWidth:1},modeOptions:{connectDistance:100,connectRadius:50,connectLinksOpacity:.2,grabDistance:100,grabLinksOpacity:.2,bubbleDistance:100,bubbleSize:40,bubbleDuration:.4,repulseDistance:200,repulseDuration:1.2,pushQuantity:4,removeQuantity:4,trailDelay:.1,trailQuantity:10},moveOptions:{moveEnabled:!0,moveDirection:`none`,moveSpeed:1,moveRandom:!1,moveStraight:!1,moveOut:`out`,moveVibrate:!1,moveGravityEnabled:!1,moveGravityAcceleration:1,moveGravityMaxSpeed:2,moveTrailEnabled:!1,moveTrailAmount:100,moveSpinEnabled:!1,moveSpinAcceleration:1,moveAttractEnabled:!1,moveAttractDistance:100},shapeOptions:{shapeType:`circle`,characterType:`😎`,imageWidth:100,imageHeight:100},clickOptions:{clickEnabled:!1,clickModes:`push`},hoverOptions:{hoverEnabled:!0,hoverModes:`none`,hoverParallax:!0,hoverForce:10,hoverSmooth:10},rotateOptions:{rotateDirection:`random`,rotateValue:0,rotateAnimation:!1,rotateSpeed:5,rotateSync:!1},particlesID:`Unique ID`,colors:[]},$.displayName=`Particles`,u($,{background:{type:p.Color,defaultValue:$.defaultProps.background,title:`Backdrop`},color:{type:p.Color,defaultValue:$.defaultProps.color,title:`Color`},colors:{type:p.Array,control:{type:p.Color},defaultValue:$.defaultProps.colors},fpsOptions:{type:p.Enum,title:`FPS`,options:[30,60,120],optionTitles:[`30`,`60`,`120`],defaultValue:60,displaySegmentedControl:!0},number:{type:p.Number,title:`Amount`,min:0,max:1e3,step:1,defaultValue:$.defaultProps.number},densityOptions:{type:p.Object,title:`Density`,controls:{densityEnable:{type:p.Boolean,title:`Enable`,defaultValue:$.defaultProps.densityOptions.densityEnable},densityArea:{type:p.Number,title:`Area`,min:100,max:1e4,step:1,defaultValue:$.defaultProps.densityOptions.densityArea,hidden:e=>!e.densityEnable},densityFactor:{type:p.Number,title:`Factor`,min:0,max:100,step:.5,displayStepper:!0,defaultValue:$.defaultProps.densityOptions.densityFactor,description:`Decrease the amount property when using these, as too many particles in dense areas can cause slowdowns.`,hidden:e=>!e.densityEnable}}},sizeOptions:{type:p.Object,title:`Size`,controls:{sizeType:{type:p.Boolean,title:`Type`,enabledTitle:`Value`,disabledTitle:`Range`,defaultValue:$.defaultProps.sizeOptions.sizeType},size:{type:p.Number,title:`Size`,min:0,max:1e3,step:.5,displayStepper:!0,defaultValue:$.defaultProps.sizeOptions.size,hidden:e=>!e.sizeType},sizeMin:{type:p.Number,title:`Min`,min:0,max:1e3,step:.5,displayStepper:!0,defaultValue:$.defaultProps.sizeOptions.sizeMin,hidden:e=>e.sizeType},sizeMax:{type:p.Number,title:`Max`,min:0,max:1e3,step:.5,displayStepper:!0,defaultValue:$.defaultProps.sizeOptions.sizeMax,hidden:e=>e.sizeType}}},opacityOptions:{type:p.Object,title:`Opacity`,controls:{opacityType:{type:p.Boolean,title:`Type`,enabledTitle:`Value`,disabledTitle:`Range`,defaultValue:$.defaultProps.opacityOptions.opacityType},opacity:{type:p.Number,title:`Opacity`,min:0,max:1,step:.1,displayStepper:!0,defaultValue:$.defaultProps.opacityOptions.opacity,hidden:e=>!e.opacityType},opacityMin:{type:p.Number,title:`Min`,min:0,max:1,step:.05,displayStepper:!0,defaultValue:$.defaultProps.opacityOptions.opacityMin,hidden:e=>e.opacityType},opacityMax:{type:p.Number,title:`Max`,min:0,max:1,step:.05,displayStepper:!0,defaultValue:$.defaultProps.opacityOptions.opacityMax,hidden:e=>e.opacityType}}},linksOptions:{type:p.Object,title:`Links`,controls:{linksEnabled:{type:p.Boolean,title:`Enable`,defaultValue:$.defaultProps.linksOptions.linksEnabled},linksColor:{type:p.Color,title:`Color`,defaultValue:$.defaultProps.linksOptions.linksColor,hidden:e=>!e.linksEnabled},linksOpacity:{type:p.Number,title:`Opacity`,min:0,max:1,step:.1,displayStepper:!0,defaultValue:$.defaultProps.linksOptions.linksOpacity,hidden:e=>!e.linksEnabled},linksDistance:{type:p.Number,title:`Distance`,min:0,max:500,step:1,defaultValue:$.defaultProps.linksOptions.linksDistance,hidden:e=>!e.linksEnabled},linksWidth:{type:p.Number,title:`Width`,min:0,max:10,step:1,defaultValue:$.defaultProps.linksOptions.linksWidth,hidden:e=>!e.linksEnabled}}},modeOptions:{type:p.Object,title:`Modes`,controls:{connectDistance:{type:p.Number,title:`Connect`,min:0,max:1e3,step:1,defaultValue:$.defaultProps.modeOptions.connectDistance},connectRadius:{type:p.Number,title:`Connect Radius`,min:0,max:1e3,step:1,defaultValue:$.defaultProps.modeOptions.connectRadius},connectLinksOpacity:{type:p.Number,title:`Connect Links`,min:0,max:1,step:.1,displayStepper:!0,defaultValue:$.defaultProps.modeOptions.connectLinksOpacity},grabDistance:{type:p.Number,title:`Grab`,min:0,max:1e3,step:1,defaultValue:$.defaultProps.modeOptions.grabDistance},grabLinksOpacity:{type:p.Number,title:`Grab Links`,min:0,max:1,step:.1,displayStepper:!0,defaultValue:$.defaultProps.modeOptions.grabLinksOpacity},bubbleDistance:{type:p.Number,title:`Bubble`,min:0,max:1e3,step:1,defaultValue:$.defaultProps.modeOptions.bubbleDistance},bubbleSize:{type:p.Number,title:`Bubble Size`,min:0,max:1e3,step:1,defaultValue:$.defaultProps.modeOptions.bubbleSize},bubbleDuration:{type:p.Number,title:`Bubble Duration`,min:0,max:1,step:.1,displayStepper:!0,defaultValue:$.defaultProps.modeOptions.bubbleDuration},repulseDistance:{type:p.Number,title:`Repulse`,min:0,max:1e3,defaultValue:$.defaultProps.modeOptions.repulseDistance},repulseDuration:{type:p.Number,title:`Repulse Duration`,min:0,max:10,step:.1,displayStepper:!0,defaultValue:$.defaultProps.modeOptions.repulseDuration},pushQuantity:{type:p.Number,title:`Push`,min:0,max:100,step:1,defaultValue:$.defaultProps.modeOptions.pushQuantity},removeQuantity:{type:p.Number,title:`Remove`,min:0,max:100,step:1,defaultValue:$.defaultProps.modeOptions.removeQuantity},trailQuantity:{type:p.Number,title:`Trail`,min:0,max:100,step:1,defaultValue:$.defaultProps.modeOptions.trailQuantity},trailDelay:{type:p.Number,title:`Trail Delay`,min:0,max:10,step:.1,defaultValue:$.defaultProps.modeOptions.trailDelay}}},moveOptions:{type:p.Object,title:`Move`,controls:{moveEnabled:{type:p.Boolean,title:`Enable`,defaultValue:$.defaultProps.moveOptions.moveEnabled},moveDirection:{type:p.Enum,title:`Direction`,options:[`none`,`bottom`,`left`,`right`,`top`,`bottom-left`,`bottom-right`,`top-left`,`top-right`,`outside`,`inside`],optionTitles:[`Random`,`Bottom`,`Left`,`Right`,`Top`,`Bottom Left`,`Bottom Right`,`Top Left`,`Top Right`,`Outside`,`Inside`],defaultValue:$.defaultProps.moveOptions.moveDirection,hidden:e=>!e.moveEnabled},moveSpeed:{type:p.Number,title:`Speed`,min:0,max:100,step:.1,defaultValue:$.defaultProps.moveOptions.moveSpeed,hidden:e=>!e.moveEnabled},moveRandom:{type:p.Boolean,title:`Random`,defaultValue:$.defaultProps.moveOptions.moveRandom,hidden:e=>!e.moveEnabled},moveStraight:{type:p.Boolean,title:`Straight`,defaultValue:$.defaultProps.moveOptions.moveStraight,hidden:e=>!e.moveEnabled},moveOut:{type:p.Enum,title:`Out`,options:[`none`,`split`,`bounce`,`destroy`,`out`,`bounceHorizontal`,`bounceVertical`],optionTitles:[`None`,`Split`,`Bounce`,`Destroy`,`Out`,`Bounce Horizontal`,`Bounce Vertical`],defaultValue:$.defaultProps.moveOptions.moveOut,hidden:e=>!e.moveEnabled},moveVibrate:{type:p.Boolean,title:`Vibrate`,defaultValue:$.defaultProps.moveOptions.moveVibrate,hidden:e=>!e.moveEnabled},moveGravityEnabled:{type:p.Boolean,title:`Gravity`,defaultValue:$.defaultProps.moveOptions.moveGravityEnabled,hidden:e=>!e.moveEnabled},moveGravityAcceleration:{type:p.Number,title:`Gravity Acceleration`,min:0,max:100,step:.1,defaultValue:$.defaultProps.moveOptions.moveGravityAcceleration,hidden:e=>!e.moveEnabled||!e.moveGravityEnabled},moveGravityMaxSpeed:{type:p.Number,title:`Gravity Max Speed`,min:0,max:100,step:.1,defaultValue:$.defaultProps.moveOptions.moveGravityAcceleration,hidden:e=>!e.moveEnabled||!e.moveGravityEnabled},moveTrailEnabled:{type:p.Boolean,title:`Trail`,defaultValue:$.defaultProps.moveOptions.moveTrailEnabled,hidden:e=>!e.moveEnabled},moveTrailAmount:{type:p.Number,title:` `,min:0,max:1e3,step:1,defaultValue:$.defaultProps.moveOptions.moveTrailAmount,hidden:e=>!e.moveEnabled||!e.moveTrailEnabled},moveSpinEnabled:{type:p.Boolean,title:`Spin`,defaultValue:$.defaultProps.moveOptions.moveSpinEnabled,hidden:e=>!e.moveEnabled},moveSpinAcceleration:{type:p.Number,title:` `,min:0,max:1e3,step:1,defaultValue:$.defaultProps.moveOptions.moveSpinAcceleration,hidden:e=>!e.moveEnabled||!e.moveSpinEnabled},moveAttractEnabled:{type:p.Boolean,title:`Attract`,defaultValue:$.defaultProps.moveOptions.moveAttractEnabled,hidden:e=>!e.moveEnabled},moveAttractDistance:{type:p.Number,title:` `,min:0,max:1e3,step:1,defaultValue:$.defaultProps.moveOptions.moveAttractDistance,hidden:e=>!e.moveEnabled||!e.moveAttractEnabled}}},shapeOptions:{type:p.Object,title:`Shape`,controls:{shapeType:{type:p.Enum,title:`Shape`,options:[`circle`,`edge`,`triangle`,`polygon`,`star`,`character`,`image`],optionTitles:[`Circle`,`Square`,`Triangle`,`Polygon`,`Star`,`Character`,`Image`],defaultValue:$.defaultProps.shapeOptions.characterType},characterType:{type:p.String,title:`Character`,defaultValue:$.defaultProps.shapeOptions.characterType,hidden:e=>e.shapeType!==`character`},imageSource:{type:p.Image,title:`Image`,hidden:e=>e.shapeType!==`image`},imageWidth:{type:p.Number,title:`Width`,min:0,max:1e3,defaultValue:$.defaultProps.shapeOptions.imageWidth,hidden:e=>e.shapeType!==`image`},imageHeight:{type:p.Number,title:`Height`,min:0,max:1e3,defaultValue:$.defaultProps.shapeOptions.imageWidth,hidden:e=>e.shapeType!==`image`}}},clickOptions:{type:p.Object,title:`Click`,controls:{clickEnabled:{type:p.Boolean,title:`Enable`,defaultValue:$.defaultProps.clickOptions.clickEnabled},clickModes:{type:p.Enum,title:`Mode`,options:[`attract`,`bubble`,`push`,`remove`,`repulse`,`pause`,`trail`],optionTitles:[`Attract`,`Bubble`,`Push`,`Remove`,`Repulse`,`Pause`,`Trail`],defaultValue:$.defaultProps.clickOptions.clickModes,hidden:e=>!e.clickEnabled}}},hoverOptions:{type:p.Object,title:`Hover`,controls:{hoverEnabled:{type:p.Boolean,title:`Enable`,defaultValue:$.defaultProps.hoverOptions.hoverEnabled},hoverModes:{type:p.Enum,title:`Mode`,options:[`none`,`attract`,`bounce`,`bubble`,`connect`,`grab`,`light`,`repulse`,`slow`,`trail`],optionTitles:[`None`,`Attract`,`Bounce`,`Bubble`,`Connect`,`Grab`,`Light`,`Repulse`,`Slow`,`Trail`],defaultValue:$.defaultProps.hoverOptions.hoverModes,hidden:e=>!e.hoverEnabled},hoverParallax:{type:p.Boolean,title:`Parallax`,defaultValue:$.defaultProps.hoverOptions.hoverParallax,hidden:e=>!e.hoverEnabled},hoverForce:{type:p.Number,min:0,max:50,step:1,displayStepper:!0,title:`Force`,defaultValue:$.defaultProps.hoverOptions.hoverForce,hidden:e=>!e.hoverParallax||!e.hoverEnabled},hoverSmooth:{type:p.Number,min:0,max:50,step:1,displayStepper:!0,title:`Smooth`,defaultValue:$.defaultProps.hoverOptions.hoverSmooth,hidden:e=>!e.hoverParallax||!e.hoverEnabled}}},rotateOptions:{type:p.Object,title:`Rotate`,controls:{rotateValue:{type:p.Number,title:`Value`,min:-360,max:360,step:1,displayStepper:!0,defaultValue:$.defaultProps.rotateOptions.rotateValue},rotateDirection:{type:p.Enum,title:`Direction`,options:[`clockwise`,`counter-clockwise`,`random`],optionTitles:[`Clockwise`,`Counter Clockwise`,`Random`],defaultValue:$.defaultProps.rotateOptions.rotateDirection},rotateAnimation:{type:p.Boolean,title:`Animate`,defaultValue:$.defaultProps.rotateOptions.rotateAnimation},rotateSpeed:{type:p.Number,title:`Speed`,min:0,max:100,step:1,defaultValue:$.defaultProps.rotateOptions.rotateSpeed,hidden:e=>!e.rotateAnimation},rotateSync:{type:p.Boolean,title:`Sync`,defaultValue:$.defaultProps.rotateOptions.rotateSync,hidden:e=>!e.rotateAnimation}}},radius:{type:p.Number,min:0,max:1e3,step:1,displayStepper:!0,defaultValue:$.defaultProps.radius},particlesID:{type:p.String,title:`ID`,defaultValue:`One`,placeholder:$.defaultProps.particlesID}}),qc=e=>f.toHexString(f(e))}));export{Jc as n,$ as t}; //# sourceMappingURL=Particles.Ce7Yngje.mjs.map