芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/public_html/wp-content/themes/odefy/js/tsparticles.min.js
/*! tsParticles v1.13.0-beta.0 by Matteo Bruni */ !function(t,i){for(var e in i)t[e]=i[e]}(window,function(t){var i={};function e(o){if(i[o])return i[o].exports;var s=i[o]={i:o,l:!1,exports:{}};return t[o].call(s.exports,s,s.exports,e),s.l=!0,s.exports}return e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var s in t)e.d(o,s,function(i){return t[i]}.bind(null,s));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=0)}([function(t,i,e){"use strict";e.r(i),e.d(i,"tsParticles",(function(){return Qt}));class o{}var s;o.canvasClass="tsparticles-canvas-el",o.randomColorValue="random",o.midColorValue="mid",o.touchEndEvent="touchend",o.mouseUpEvent="mouseup",o.mouseMoveEvent="mousemove",o.touchStartEvent="touchstart",o.touchMoveEvent="touchmove",o.mouseLeaveEvent="mouseleave",o.touchCancelEvent="touchcancel",o.resizeEvent="resize",o.visibilityChangeEvent="visibilitychange",o.noPolygonDataLoaded="No polygon data loaded.",o.noPolygonFound="No polygon found, you need to specify SVG url in config.",function(t){t.bottom="bottom",t.bottomLeft="bottom-left",t.bottomRight="bottom-right",t.left="left",t.none="none",t.right="right",t.top="top",t.topLeft="top-left",t.topRight="top-right"}(s||(s={}));var n,a,r,l,c,h,d,u,p,v,m,y,g=function(t,i,e,o){return new(e||(e=Promise))((function(s,n){function a(t){try{l(o.next(t))}catch(t){n(t)}}function r(t){try{l(o.throw(t))}catch(t){n(t)}}function l(t){var i;t.done?s(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(a,r)}l((o=o.apply(t,i||[])).next())}))};class f{static clamp(t,i,e){return Math.min(Math.max(t,i),e)}static isInArray(t,i){return t===i||i instanceof Array&&i.indexOf(t)>-1}static mix(t,i,e,o){return Math.floor((t*e+i*o)/(e+o))}static getParticleBaseVelocity(t){let i;switch(t.direction){case s.top:i={x:0,y:-1};break;case s.topRight:i={x:.5,y:-.5};break;case s.right:i={x:1,y:-0};break;case s.bottomRight:i={x:.5,y:.5};break;case s.bottom:i={x:0,y:1};break;case s.bottomLeft:i={x:-.5,y:1};break;case s.left:i={x:-1,y:0};break;case s.topLeft:i={x:-.5,y:-.5};break;default:i={x:0,y:0}}return i}static getDistanceBetweenCoordinates(t,i){const e=t.x-i.x,o=t.y-i.y;return Math.sqrt(e*e+o*o)}static loadFont(t){return g(this,void 0,void 0,(function*(){try{yield document.fonts.load(`${t.weight} 36px '${t.font}'`)}catch(t){}}))}static arrayRandomIndex(t){return Math.floor(Math.random()*t.length)}static itemFromArray(t,i){return t[void 0!==i?i:this.arrayRandomIndex(t)]}static randomInRange(t,i){return Math.random()*(i-t)+t}static isPointInside(t,i,e){return this.areBoundsInside(this.calculateBounds(t,null!=e?e:0),i)}static areBoundsInside(t,i){return t.left
0&&t.top
0}static calculateBounds(t,i){return{bottom:t.y+i,left:t.x-i,right:t.x+i,top:t.y-i}}static loadImage(t){return new Promise((i,e)=>{const o=t.src,s={type:o.substr(o.length-3)};if(t.src){const o=new Image;o.addEventListener("load",()=>{s.obj=o,i(s)}),o.addEventListener("error",()=>{e(`Error tsParticles - loading image: ${t.src}`)}),o.src=t.src}else e("Error tsParticles - No image.src")})}}class b{static colorToRgb(t){var i,e;let s;if("string"==typeof t.value)s=t.value===o.randomColorValue?{b:Math.floor(256*Math.random()),g:Math.floor(256*Math.random()),r:Math.floor(256*Math.random())}:b.stringToRgb(t.value);else if(t.value instanceof Array){const i=f.itemFromArray(t.value);s=b.stringToRgb(i)}else{const o=t.value,n=null!==(i=o.rgb)&&void 0!==i?i:t.value;if(void 0!==n.r)s=n;else{const i=null!==(e=o.hsl)&&void 0!==e?e:t.value;void 0!==i.h&&(s=b.hslToRgb(i))}}return s}static stringToAlpha(t){var i;return null===(i=b.stringToRgba(t))||void 0===i?void 0:i.a}static stringToRgb(t){return b.stringToRgba(t)}static hslToRgb(t){const i={b:0,g:0,r:0},e={h:t.h>1?t.h/360:t.h,s:t.s>1?t.s/100:t.s,l:t.l>1?t.l/100:t.l};if(0===e.s)i.b=e.l,i.g=e.l,i.r=e.l;else{const t=e.l<.5?e.l*(1+e.s):e.l+e.s-e.l*e.s,o=2*e.l-t;i.r=b.hue2rgb(o,t,e.h+1/3),i.g=b.hue2rgb(o,t,e.h),i.b=b.hue2rgb(o,t,e.h-1/3)}return i.r=Math.round(255*i.r),i.g=Math.round(255*i.g),i.b=Math.round(255*i.b),i}static hslaToRgba(t){const i=b.hslToRgb(t);return{a:t.a,b:i.b,g:i.g,r:i.r}}static getRandomRgbColor(t){var i;const e=t||0,o=e+e*Math.pow(16,2)+e*Math.pow(16,4),s=16777215^o,n=Math.floor(Math.random()*s|o).toString(16);return null!==(i=this.stringToRgb(`#${n}`))&&void 0!==i?i:{b:0,g:0,r:0}}static getStyleFromColor(t,i){const e=null!=i?i:1;return`rgba(${Math.round(t.r)}, ${Math.round(t.g)}, ${Math.round(t.b)}, ${e})`}static hue2rgb(t,i,e){let o=e;return o<0&&(o+=1),o>1&&(o-=1),o<1/6?t+6*(i-t)*o:o<.5?i:o<2/3?t+(i-t)*(2/3-o)*6:t}static stringToRgba(t){if(t.startsWith("rgb")){const i=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return i?{a:i.length>4?parseFloat(i[5]):1,b:parseInt(i[3]),g:parseInt(i[2]),r:parseInt(i[1])}:void 0}if(t.startsWith("hsl")){const i=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return i?b.hslaToRgba({a:i.length>4?parseFloat(i[5]):1,h:parseInt(i[1]),l:parseInt(i[3]),s:parseInt(i[2])}):void 0}{const i=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,e=t.replace(i,(t,i,e,o,s)=>i+i+e+e+o+o+(void 0!==s?s+s:"")),o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(e);return o?{a:void 0!==o[4]?parseInt(o[4],16)/255:1,b:parseInt(o[3],16),g:parseInt(o[2],16),r:parseInt(o[1],16)}:void 0}}}class w{static paintBase(t,i,e){t.save(),t.fillStyle=null!=e?e:"rgba(0,0,0,0)",t.fillRect(0,0,i.width,i.height),t.restore()}static clear(t,i){t.clearRect(0,0,i.width,i.height)}static drawPolygonMask(t,i,e){const o="string"==typeof e.color?b.stringToRgb(e.color):b.colorToRgb(e.color);if(o){t.save(),t.beginPath(),t.moveTo(i[0].x,i[0].y);for(let e=1;e
1?1:n,b.getStyleFromColor(o,s)),l.addColorStop(1,b.getStyleFromColor(e.color,s)),l}static drawGrabLine(t,i,e,o,s,n){t.save(),t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(o.x,o.y),t.closePath(),t.strokeStyle=b.getStyleFromColor(s,n),t.lineWidth=i,t.stroke(),t.restore()}static drawParticle(t,i,e,o,s,n,a){const r={x:i.position.x+i.offset.x,y:i.position.y+i.offset.y};t.save(),t.translate(r.x,r.y),t.beginPath();const l=i.shadowColor;a.enable&&l&&(t.shadowBlur=a.blur,t.shadowColor=b.getStyleFromColor(l),t.shadowOffsetX=a.offset.x,t.shadowOffsetY=a.offset.y),t.fillStyle=e,0!==i.angle&&t.rotate(i.angle*Math.PI/180),o&&(t.globalCompositeOperation="destination-out");const c=i.stroke;c.width>0&&i.strokeColor&&(t.strokeStyle=b.getStyleFromColor(i.strokeColor,i.stroke.opacity),t.lineWidth=c.width),this.drawShape(t,i,s,n),i.close&&t.closePath(),c.width>0&&i.strokeColor&&t.stroke(),i.fill&&t.fill(),t.restore()}static addShapeDrawer(t,i){this.drawers[t]||(this.drawers[t]=i)}static drawShape(t,i,e,o){if(!i.shape)return;const s=this.drawers[i.shape];s&&s.draw(t,i,e,o)}}w.drawers={};class x{constructor(t){this.container=t,this.dimension={height:0,width:0},this.context=null,this.generatedCanvas=!1}init(){this.size();const t=this.container.options,i=t.backgroundMask.cover,e="string"==typeof t.backgroundMask.cover?{value:t.backgroundMask.cover}:t.backgroundMask.cover,o=t.particles.move.trail;this.coverColor=b.colorToRgb(void 0!==i.color?"string"==typeof i.color?{value:i.color}:i.color:e),this.trailFillColor="string"==typeof o.fillColor?b.stringToRgb(o.fillColor):b.colorToRgb(o.fillColor),this.paint()}loadCanvas(t,i){var e;t.className||(t.className=o.canvasClass),this.generatedCanvas&&(null===(e=this.element)||void 0===e||e.remove()),this.generatedCanvas=null!=i&&i,this.element=t,this.dimension.height=t.offsetHeight,this.dimension.width=t.offsetWidth,this.context=this.element.getContext("2d"),this.container.retina.init(),this.initBackground()}destroy(){var t;this.generatedCanvas&&(null===(t=this.element)||void 0===t||t.remove()),this.context&&w.clear(this.context,this.dimension)}size(){this.element&&(this.element.width=this.dimension.width,this.element.height=this.dimension.height)}paint(){const t=this.container.options;this.context&&(t.backgroundMask.enable&&t.backgroundMask.cover&&this.coverColor?this.paintBase(b.getStyleFromColor(this.coverColor)):this.paintBase())}clear(){const t=this.container.options,i=t.particles.move.trail;t.backgroundMask.enable?this.paint():i.enable&&i.length>0&&this.trailFillColor?this.paintBase(b.getStyleFromColor(this.trailFillColor,1/i.length)):this.context&&w.clear(this.context,this.dimension)}isPointInPath(t,i){var e,o;return null!==(o=null===(e=this.context)||void 0===e?void 0:e.isPointInPath(t,i.x,i.y))&&void 0!==o&&o}drawPolygonMask(){const t=this.container,i=t.options,e=this.context,o=i.polygon.draw,s=t.polygon,n=s.raw;for(const t of s.paths){const i=t.path2d,a=s.path2DSupported;e&&(a&&i&&s.offset?w.drawPolygonMaskPath(e,i,o.stroke,s.offset):n&&w.drawPolygonMask(e,n,o.stroke))}}drawLinkedLine(t,i,e){var s;const n=this.container,a=n.options,r=t.position,l=i.position,c=this.context;if(!c)return;let h;if(n.particles.lineLinkedColor===o.randomColorValue)h=b.getRandomRgbColor();else if("mid"==n.particles.lineLinkedColor&&t.color&&i.color){const e=t.color,o=i.color;h={b:f.mix(e.b,o.b,t.size.value,i.size.value),g:f.mix(e.g,o.g,t.size.value,i.size.value),r:f.mix(e.r,o.r,t.size.value,i.size.value)}}else h=n.particles.lineLinkedColor;const d=null!==(s=t.lineLinkedWidth)&&void 0!==s?s:n.retina.lineLinkedWidth;w.drawLineLinked(c,d,r,l,a.backgroundMask.enable,h,e,t.particlesOptions.lineLinked.shadow)}drawConnectLine(t,i){var e;const o=this.lineStyle(t,i);if(!o)return;const s=this.context;s&&w.drawConnectLine(s,null!==(e=t.lineLinkedWidth)&&void 0!==e?e:this.container.retina.lineLinkedWidth,o,t.position,i.position)}drawGrabLine(t,i,e){var s;const n=this.container,a=t.particlesOptions.lineLinked.color;let r=n.particles.grabLineColor||("string"==typeof a?b.stringToRgb(a):b.colorToRgb(a));r==o.randomColorValue&&(r=b.getRandomRgbColor()),n.particles.grabLineColor=r;const l=n.canvas.context;if(!l)return;let c;if(c=n.particles.grabLineColor===o.randomColorValue?b.getRandomRgbColor():n.particles.grabLineColor,void 0===c)return;const h={x:t.position.x+t.offset.x,y:t.position.y+t.offset.y};w.drawGrabLine(l,null!==(s=t.lineLinkedWidth)&&void 0!==s?s:n.retina.lineLinkedWidth,h,e,c,i)}drawParticle(t){var i,e,o;const s=this.container.options,n=null!==(i=t.bubble.radius)&&void 0!==i?i:t.size.value,a=null!==(e=t.bubble.opacity)&&void 0!==e?e:t.opacity.value,r=null!==(o=t.bubble.color)&&void 0!==o?o:t.color;let l;r&&(l=b.getStyleFromColor(r,a)),this.context&&l&&w.drawParticle(this.context,t,l,s.backgroundMask.enable,n,a,t.particlesOptions.shadow)}paintBase(t){this.context&&w.paintBase(this.context,this.dimension,t)}lineStyle(t,i){const e=this.container.options.interactivity.modes.connect;if(t.color&&i.color){const o=t.color,s=i.color,n={b:f.mix(o.b,s.b,t.size.value,i.size.value),g:f.mix(o.g,s.g,t.size.value,i.size.value),r:f.mix(o.r,s.r,t.size.value,i.size.value)};if(this.context)return w.gradient(this.context,t,i,n,e.lineLinked.opacity)}}initBackground(){const t=this.container.options.background,i=this.element;if(!i)return;const e=i.style;if(t.color){const i="string"==typeof t.color?b.stringToRgb(t.color):b.colorToRgb(t.color);i&&(e.backgroundColor=b.getStyleFromColor(i,t.opacity))}t.image&&(e.backgroundImage=t.image),t.position&&(e.backgroundPosition=t.position),t.repeat&&(e.backgroundRepeat=t.repeat),t.size&&(e.backgroundSize=t.size)}}!function(t){t.bubble="bubble",t.push="push",t.remove="remove",t.repulse="repulse",t.emitter="emitter"}(n||(n={})),function(t){t.canvas="canvas",t.parent="parent",t.window="window"}(a||(a={})),function(t){t.inline="inline",t.inside="inside",t.outside="outside",t.none="none"}(r||(r={})),function(t){t.char="char",t.character="character",t.circle="circle",t.edge="edge",t.image="image",t.line="line",t.polygon="polygon",t.square="square",t.star="star",t.triangle="triangle"}(l||(l={})),function(t){t.bounce="bounce",t.bounceHorizontal="bounce-horizontal",t.bounceVertical="bounce-vertical",t.out="out",t.destroy="destroy"}(c||(c={})),function(t){t.bubble="bubble",t.connect="connect",t.grab="grab",t.repulse="repulse",t.slow="slow"}(h||(h={}));class k{constructor(t,i){this.container=t,this.particle=i}move(t){var i;const e=this.container,o=e.options,s=this.particle;if(o.particles.move.enable){const n=this.getProximitySpeedFactor(),a=o.fpsLimit>0?60*t/1e3:3.6,r=(null!==(i=s.moveSpeed)&&void 0!==i?i:e.retina.moveSpeed)/2*n*a;s.position.x+=s.velocity.horizontal*r,s.position.y+=s.velocity.vertical*r}this.moveParallax()}moveParallax(){const t=this.container,i=t.options;if(!i.interactivity.events.onHover.parallax.enable)return;const e=this.particle,o=i.interactivity.events.onHover.parallax.force,s=t.interactivity.mouse.position||{x:0,y:0},n=window.innerHeight/2,a=window.innerWidth/2,r=i.interactivity.events.onHover.parallax.smooth,l=(s.x-a)*(e.size.value/o),c=(s.y-n)*(e.size.value/o);e.offset.x+=(l-e.offset.x)/r,e.offset.y+=(c-e.offset.y)/r}getProximitySpeedFactor(){const t=this.container,i=t.options,e=this.particle;if(!f.isInArray(h.slow,i.interactivity.events.onHover.mode))return 1;const o=this.container.interactivity.mouse.position;if(!o)return 1;const s=e.position,n=f.getDistanceBetweenCoordinates(o,s),a=t.retina.slowModeRadius;return n>a?1:(n/a||0)/i.interactivity.modes.slow.factor}}!function(t){t.clockwise="clockwise",t.counterClockwise="counter-clockwise",t.random="random"}(d||(d={})),function(t){t[t.increasing=0]="increasing",t[t.decreasing=1]="decreasing"}(u||(u={})),function(t){t[t.increasing=0]="increasing",t[t.decreasing=1]="decreasing"}(p||(p={}));class P{constructor(t,i){this.container=t,this.particle=i,this.mover=new k(t,i)}static checkBounds(t,i,e,o){(t+i>e||t-i<0)&&o()}update(t){this.mover.move(t),this.updateOpacity(),this.updateSize(),this.updateAngle(),this.fixOutOfCanvasPosition(),this.updateOutMode()}updateOpacity(){const t=this.particle;if(t.particlesOptions.opacity.animation.enable){switch(t.opacity.status){case p.increasing:t.opacity.value>=t.particlesOptions.opacity.value?t.opacity.status=p.decreasing:t.opacity.value+=t.opacity.velocity||0;break;case p.decreasing:t.opacity.value<=t.particlesOptions.opacity.animation.minimumValue?t.opacity.status=p.increasing:t.opacity.value-=t.opacity.velocity||0}t.opacity.value<0&&(t.opacity.value=0)}}updateSize(){var t;const i=this.container,e=this.particle;if(e.particlesOptions.size.animation.enable){switch(e.size.status){case u.increasing:e.size.value>=(null!==(t=e.sizeValue)&&void 0!==t?t:i.retina.sizeValue)?e.size.status=u.decreasing:e.size.value+=e.size.velocity||0;break;case u.decreasing:e.size.value<=e.particlesOptions.size.animation.minimumValue?e.size.status=u.increasing:e.size.value-=e.size.velocity||0}e.size.value<0&&(e.size.value=0)}}updateAngle(){const t=this.particle;if(t.particlesOptions.rotate.animation.enable)switch(t.rotateDirection){case d.clockwise:t.angle+=t.particlesOptions.rotate.animation.speed*Math.PI/18,t.angle>360&&(t.angle-=360);break;case d.counterClockwise:default:t.angle-=t.particlesOptions.rotate.animation.speed*Math.PI/18,t.angle<0&&(t.angle+=360)}}fixOutOfCanvasPosition(){const t=this.container,i=this.particle,e=i.particlesOptions.move.outMode,o=t.canvas.dimension;let s;if(s=e===c.bounce?{bottom:o.height,left:i.size.value,right:o.width,top:i.size.value}:e===c.bounceHorizontal?{bottom:o.height+i.size.value-i.offset.y,left:i.size.value,right:o.width,top:-i.size.value-i.offset.y}:e===c.bounceVertical?{bottom:o.height,left:-i.size.value-i.offset.x,right:o.width+i.size.value+i.offset.x,top:i.size.value}:{bottom:o.height+i.size.value-i.offset.y,left:-i.size.value-i.offset.x,right:o.width+i.size.value+i.offset.x,top:-i.size.value-i.offset.y},e===c.destroy){const e=i.size.value;f.isPointInside(i.position,t.canvas.dimension,e)||t.particles.remove(i)}else{const t=i.size.value,e=f.calculateBounds(i.position,t);e.left>o.width-i.offset.x?(i.position.x=s.left,i.position.y=Math.random()*o.height):e.right<-i.offset.x&&(i.position.x=s.right,i.position.y=Math.random()*o.height),e.top>o.height-i.offset.y?(i.position.y=s.top,i.position.x=Math.random()*o.width):e.bottom<-i.offset.y&&(i.position.y=s.bottom,i.position.x=Math.random()*o.width)}}updateOutMode(){switch(this.particle.particlesOptions.move.outMode){case c.bounce:case c.bounceVertical:case c.bounceHorizontal:this.updateBounce()}}updateBounce(){const t=this.container,i=t.options,e=this.particle;if(i.polygon.enable&&i.polygon.type!==r.none&&i.polygon.type!==r.inline)t.polygon.checkInsidePolygon(e.position)||this.polygonBounce();else if(i.polygon.enable&&i.polygon.type===r.inline){if(e.initialPosition){f.getDistanceBetweenCoordinates(e.initialPosition,e.position)>t.retina.polygonMaskMoveRadius&&this.polygonBounce()}}else{const i=e.particlesOptions.move.outMode,o=e.position.x+e.offset.x,s=e.position.y+e.offset.y;i!==c.bounce&&i!==c.bounceHorizontal||P.checkBounds(o,e.size.value,t.canvas.dimension.width,()=>{e.velocity.horizontal=-e.velocity.horizontal}),i!==c.bounce&&i!==c.bounceVertical||P.checkBounds(s,e.size.value,t.canvas.dimension.height,()=>{e.velocity.vertical=-e.velocity.vertical})}}polygonBounce(){const t=this.particle;t.velocity.horizontal=-t.velocity.horizontal+t.velocity.vertical/2,t.velocity.vertical=-t.velocity.vertical+t.velocity.horizontal/2}}class z{static connect(t,i,e){if(e.options.interactivity.events.onHover.enable&&"mousemove"==e.interactivity.status){const o=Math.abs(t.position.x-i.position.x),s=Math.abs(t.position.y-i.position.y),n=e.interactivity.mouse.position||{x:0,y:0},a=Math.abs(t.position.x-n.x),r=Math.abs(t.position.y-n.y),l=Math.abs(e.retina.connectModeDistance),c=Math.abs(e.retina.connectModeRadius);o
void 0!==t).map(t=>t):i)}if(void 0!==t.character){const i=t.character;void 0!==i&&(i instanceof Array?(this.options[l.character]=i.filter(t=>void 0!==t).map(t=>t),this.options[l.char]=i.filter(t=>void 0!==t).map(t=>t)):(this.options[l.character]=i,this.options[l.char]=i))}if(void 0!==t.polygon){const i=t.polygon;void 0!==i&&(i instanceof Array?(this.options[l.polygon]=i.filter(t=>void 0!==t).map(t=>t),this.options[l.star]=i.filter(t=>void 0!==t).map(t=>t)):(this.options[l.polygon]=i,this.options[l.star]=i))}void 0!==t.image&&(t.image instanceof Array?this.image=t.image.map(t=>{const i=new _;return i.load(t),i}):(this.image instanceof Array&&(this.image=new _),this.image.load(t.image))),void 0!==t.type&&(this.type=t.type)}}}class G{constructor(){this.enable=!1,this.minimumValue=0,this.speed=5,this.sync=!1}get size_min(){return this.minimumValue}set size_min(t){this.minimumValue=t}load(t){var i;if(void 0!==t){void 0!==t.enable&&(this.enable=t.enable);const e=null!==(i=t.minimumValue)&&void 0!==i?i:t.size_min;void 0!==e&&(this.minimumValue=e),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.sync&&(this.sync=t.sync)}}}class q{constructor(){this.enable=!1,this.minimumValue=1}load(t){void 0!==t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.minimumValue&&(this.minimumValue=t.minimumValue))}}class W{constructor(){this.animation=new G,this.random=new q,this.value=3}get anim(){return this.animation}set anim(t){this.animation=t}load(t){var i;if(void 0!==t){const e=null!==(i=t.animation)&&void 0!==i?i:t.anim;void 0!==e&&this.animation.load(e),void 0!==t.random&&("boolean"==typeof t.random?this.random.enable=t.random:this.random.load(t.random)),void 0!==t.value&&(this.value=t.value)}}}class N{constructor(){this.enable=!1,this.speed=0,this.sync=!1}load(t){void 0!==t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.sync&&(this.sync=t.sync))}}class U{constructor(){this.animation=new N,this.direction=d.clockwise,this.random=!1,this.value=0}load(t){void 0!==t&&(this.animation.load(t.animation),void 0!==t.random&&(this.random=t.random),void 0!==t.direction&&(this.direction=t.direction),void 0!==t.value&&(this.value=t.value))}}class j{constructor(){this.blur=0,this.color=new C,this.enable=!1,this.offset={x:0,y:0},this.color.value="#000000"}load(t){void 0!==t&&(void 0!==t.blur&&(this.blur=t.blur),this.color.load("string"==typeof t.color?{value:t.color}:t.color),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.offset&&(void 0!==t.offset.x&&(this.offset.x=t.offset.x),void 0!==t.offset.y&&(this.offset.y=t.offset.y)))}}class ${constructor(){this.color=new C,this.width=0,this.opacity=1,this.color.value="#ff0000"}load(t){void 0!==t&&(this.color.load("string"==typeof t.color?{value:t.color}:t.color),void 0!==t.width&&(this.width=t.width))}}class J{constructor(){this.color=new C,this.lineLinked=new O,this.move=new R,this.number=new T,this.opacity=new D,this.rotate=new U,this.shadow=new j,this.shape=new B,this.size=new W,this.stroke=new $}get line_linked(){return this.lineLinked}set line_linked(t){this.lineLinked=t}load(t){var i,e,o;if(void 0!==t){void 0!==t.color&&(t.color instanceof Array?this.color=t.color.map(t=>{const i=new C;return i.load(t),i}):(this.color instanceof Array&&(this.color=new C),this.color.load(t.color)));const s=null!==(i=t.lineLinked)&&void 0!==i?i:t.line_linked;void 0!==s&&this.lineLinked.load(s),this.move.load(t.move),this.number.load(t.number),this.opacity.load(t.opacity),this.rotate.load(t.rotate),this.shape.load(t.shape),this.size.load(t.size),this.shadow.load(t.shadow);const n=null!==(e=t.stroke)&&void 0!==e?e:null===(o=t.shape)||void 0===o?void 0:o.stroke;void 0!==n&&(n instanceof Array?this.stroke=n.map(t=>{const i=new $;return i.load(t),i}):(this.stroke instanceof Array&&(this.stroke=new $),this.stroke.load(n)))}}}class X{constructor(t,i,e){var o,s,n,a,c,h,v,m,y,g;this.container=t,this.emitter=e,this.fill=!0,this.close=!0,this.links=[];const w=t.options,x=new J;if(x.load(w.particles),void 0!==(null==e?void 0:e.emitterOptions.particles)){const t=e.emitterOptions.particles.shape.type;this.shape=t instanceof Array?f.itemFromArray(t):t;const i=e.emitterOptions.particles.shape.options[this.shape];i&&(this.shapeData=i instanceof Array?f.itemFromArray(i):i,this.fill=null!==(o=this.shapeData.fill)&&void 0!==o?o:this.fill,this.close=null!==(s=this.shapeData.close)&&void 0!==s?s:this.close),x.load(null===(n=this.shapeData)||void 0===n?void 0:n.particles),x.load(e.emitterOptions.particles)}else{const t=w.particles.shape.type;this.shape=t instanceof Array?f.itemFromArray(t):t;const i=w.particles.shape.options[this.shape];i&&(this.shapeData=i instanceof Array?f.itemFromArray(i):i,this.fill=null!==(a=this.shapeData.fill)&&void 0!==a?a:this.fill,this.close=null!==(c=this.shapeData.close)&&void 0!==c?c:this.close),x.load(null===(h=this.shapeData)||void 0===h?void 0:h.particles)}this.particlesOptions=x,t.retina.initParticle(this);const k=this.particlesOptions.color,z=null!==(v=this.sizeValue)&&void 0!==v?v:t.retina.sizeValue,C="boolean"==typeof this.particlesOptions.size.random?this.particlesOptions.size.random:this.particlesOptions.size.random.enable;if(this.size={value:C&&void 0!==this.randomMinimumSize?f.randomInRange(this.randomMinimumSize,z)*this.container.retina.pixelRatio:z},this.direction=e?e.emitterOptions.direction:this.particlesOptions.move.direction,this.bubble={},this.angle=this.particlesOptions.rotate.random?360*Math.random():this.particlesOptions.rotate.value,this.particlesOptions.rotate.direction==d.random){const t=Math.floor(2*Math.random());this.rotateDirection=t>0?d.counterClockwise:d.clockwise}else this.rotateDirection=this.particlesOptions.rotate.direction;this.particlesOptions.size.animation.enable&&(this.size.status=u.increasing,this.size.velocity=(null!==(m=this.sizeAnimationSpeed)&&void 0!==m?m:t.retina.sizeAnimationSpeed)/100,this.particlesOptions.size.animation.sync||(this.size.velocity=this.size.velocity*Math.random())),this.particlesOptions.rotate.animation.enable&&(this.particlesOptions.rotate.animation.sync||(this.angle=360*Math.random())),this.position=this.calcPosition(this.container,i),w.polygon.enable&&w.polygon.type===r.inline&&(this.initialPosition={x:this.position.x,y:this.position.y}),this.offset={x:0,y:0},this.particlesOptions.move.collisions&&this.checkOverlap(i),this.color=k instanceof Array?b.colorToRgb(f.itemFromArray(k)):b.colorToRgb(k);const S=this.particlesOptions.opacity.random,O=this.particlesOptions.opacity.value;if(this.opacity={value:S.enable?f.randomInRange(S.minimumValue,O):O},this.particlesOptions.opacity.animation.enable&&(this.opacity.status=p.increasing,this.opacity.velocity=this.particlesOptions.opacity.animation.speed/100,this.particlesOptions.opacity.animation.sync||(this.opacity.velocity*=Math.random())),this.initialVelocity=this.calculateVelocity(),this.velocity={horizontal:this.initialVelocity.horizontal,vertical:this.initialVelocity.vertical},this.shape===l.image){const i=this.particlesOptions.shape,e=f.arrayRandomIndex(t.images),o=t.images[e],s=i.image instanceof Array?i.image[e]:i.image;this.image={data:o,ratio:s.width/s.height,replaceColor:s.replaceColor,src:s.src},this.image.ratio||(this.image.ratio=1),this.fill=null!==(y=s.fill)&&void 0!==y?y:this.fill,this.close=null!==(g=s.close)&&void 0!==g?g:this.close}this.stroke=this.particlesOptions.stroke instanceof Array?f.itemFromArray(this.particlesOptions.stroke):this.particlesOptions.stroke,this.strokeColor="string"==typeof this.stroke.color?b.stringToRgb(this.stroke.color):b.colorToRgb(this.stroke.color),this.shadowColor="string"==typeof this.particlesOptions.shadow.color?b.stringToRgb(this.particlesOptions.shadow.color):b.colorToRgb(this.particlesOptions.shadow.color),this.updater=new P(this.container,this)}resetVelocity(){const t=this.calculateVelocity();this.velocity.horizontal=t.horizontal,this.velocity.vertical=t.vertical}update(t,i){const e=this.container,o=e.options;this.links=[],this.updater.update(i);const s=o.interactivity.events.onHover.mode;if(f.isInArray(h.connect,s))for(let i=t+1;i
t!=i)){if(o++,f.getDistanceBetweenCoordinates(i.position,s.position)<=i.size.value+s.size.value){e=!0;break}}return{collisionFound:e,iterations:o}}checkOverlap(t){const i=this.container,e=this,o=e.isOverlapping();o.iterations>=i.particles.count?i.particles.remove(this):o.collisionFound&&(e.position.x=t?t.x:Math.random()*i.canvas.dimension.width,e.position.y=t?t.y:Math.random()*i.canvas.dimension.height,e.checkOverlap())}destroy(){}calcPosition(t,i){var e,o;const s={x:0,y:0};if(t.options.polygon.enable&&(null!==(o=null===(e=t.polygon.raw)||void 0===e?void 0:e.length)&&void 0!==o?o:0)>0)if(i)s.x=i.x,s.y=i.y;else{const i=t.polygon.randomPointInPolygon();s.x=i.x,s.y=i.y}else s.x=i?i.x:Math.random()*t.canvas.dimension.width,s.y=i?i.y:Math.random()*t.canvas.dimension.height,s.x>t.canvas.dimension.width-2*this.size.value?s.x-=this.size.value:s.x<2*this.size.value&&(s.x+=this.size.value),s.y>t.canvas.dimension.height-2*this.size.value?s.y-=this.size.value:s.y<2*this.size.value&&(s.y+=this.size.value);return s}calculateVelocity(){const t=f.getParticleBaseVelocity(this),i={horizontal:0,vertical:0};return this.particlesOptions.move.straight?(i.horizontal=t.x,i.vertical=t.y,this.particlesOptions.move.random&&(i.horizontal*=Math.random(),i.vertical*=Math.random())):(i.horizontal=t.x+Math.random()-.5,i.vertical=t.y+Math.random()-.5),i}}class Y{constructor(t,i,e){var o,s,n;this.container=t,this.initialPosition=e,this.emitterOptions=i,this.position=null!==(o=this.initialPosition)&&void 0!==o?o:this.calcPosition(),this.size=null!==(s=this.emitterOptions.size)&&void 0!==s?s:{height:0,width:0},this.lifeCount=null!==(n=this.emitterOptions.life.count)&&void 0!==n?n:-1,this.start()}emit(){const t=this.container,i={x:this.position.x,y:this.position.y},e=t.canvas.dimension.height*this.size.width/100,o=t.canvas.dimension.height*this.size.height/100;i.x+=e*(Math.random()-.5),i.y+=o*(Math.random()-.5);const s=new X(t,i,this);for(let i=0;i
0||!this.emitterOptions.life.count)&&(void 0===this.startInterval&&(this.startInterval=setInterval(()=>{this.emit()},1e3*this.emitterOptions.rate.delay)),this.lifeCount>0&&this.prepareToDie())}stop(){const t=this.startInterval;void 0!==t&&(clearInterval(t),delete this.startInterval)}resize(){var t;this.position=null!==(t=this.initialPosition)&&void 0!==t?t:this.calcPosition()}prepareToDie(){var t;this.lifeCount>0&&void 0!==(null===(t=this.emitterOptions.life)||void 0===t?void 0:t.duration)&&setTimeout(()=>{var t;this.stop(),this.lifeCount--,this.lifeCount>0?(this.position=this.calcPosition(),setTimeout(()=>{this.start()},null!==(t=this.emitterOptions.life.delay)&&void 0!==t?t:0)):this.destroy()},1e3*this.emitterOptions.life.duration)}destroy(){const t=this.container,i=t.emitters.indexOf(this);i>=0&&t.emitters.splice(i,1)}calcPosition(){var t;const i=this.container,e=null!==(t=this.emitterOptions.position)&&void 0!==t?t:{x:100*Math.random(),y:100*Math.random()};return{x:e.x/100*i.canvas.dimension.width,y:e.y/100*i.canvas.dimension.height}}}class Q{constructor(t){this.container=t,this.canPush=!0,this.mouseMoveHandler=t=>this.mouseTouchMove(t),this.touchStartHandler=t=>this.mouseTouchMove(t),this.touchMoveHandler=t=>this.mouseTouchMove(t),this.touchEndHandler=()=>this.mouseTouchFinish(),this.mouseLeaveHandler=()=>this.mouseTouchFinish(),this.touchCancelHandler=()=>this.mouseTouchFinish(),this.touchEndClickHandler=t=>this.mouseTouchClick(t),this.mouseUpHandler=t=>this.mouseTouchClick(t),this.visibilityChangeHandler=()=>this.handlevisibilityChange(),this.resizeHandler=()=>this.handleWindowResize()}static manageListener(t,i,e,o,s){o?Q.addListener(t,i,e,s):Q.removeListener(t,i,e,s)}static addListener(t,i,e,o){t.addEventListener(i,e,o)}static removeListener(t,i,e,o){t.removeEventListener(i,e,o)}addListeners(){this.manageListeners(!0)}removeListeners(){this.manageListeners(!1)}manageListeners(t){const i=this.container,e=i.options;e.interactivity.detectsOn===a.window?i.interactivity.element=window:e.interactivity.detectsOn===a.parent&&i.canvas.element?i.interactivity.element=i.canvas.element.parentNode:i.interactivity.element=i.canvas.element;const s=i.interactivity.element;s&&(e.interactivity.events.onHover.enable||e.interactivity.events.onClick.enable)&&(Q.manageListener(s,o.mouseMoveEvent,this.mouseMoveHandler,t),Q.manageListener(s,o.touchStartEvent,this.touchStartHandler,t),Q.manageListener(s,o.touchMoveEvent,this.touchMoveHandler,t),e.interactivity.events.onClick.enable||Q.manageListener(s,o.touchEndEvent,this.touchEndHandler,t),Q.manageListener(s,o.mouseLeaveEvent,this.mouseLeaveHandler,t),Q.manageListener(s,o.touchCancelEvent,this.touchCancelHandler,t)),e.interactivity.events.onClick.enable&&s&&(Q.manageListener(s,o.touchEndEvent,this.touchEndClickHandler,t),Q.manageListener(s,o.mouseUpEvent,this.mouseUpHandler,t)),e.interactivity.events.resize&&Q.manageListener(window,o.resizeEvent,this.resizeHandler,t),document&&Q.manageListener(document,o.visibilityChangeEvent,this.visibilityChangeHandler,t,!1)}handleWindowResize(){const t=this.container,i=t.options;if(t.canvas.element){t.canvas.dimension.width=t.canvas.element.offsetWidth,t.canvas.dimension.height=t.canvas.element.offsetHeight,t.retina.isRetina&&(t.canvas.dimension.width*=t.retina.pixelRatio,t.canvas.dimension.height*=t.retina.pixelRatio),t.canvas.element.width=t.canvas.dimension.width,t.canvas.element.height=t.canvas.dimension.height,i.particles.move.enable||t.particles.redraw(),t.densityAutoParticles();for(const i of t.emitters)i.resize();t.polygon.redraw()}}handlevisibilityChange(){const t=this.container;t.options.pauseOnBlur&&((null===document||void 0===document?void 0:document.hidden)?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.play()))}mouseTouchMove(t){var i,e,s,n;const r=this.container,l=r.options;let c;if(t.type.startsWith("mouse")){this.canPush=!0;const e=t;if(void 0===(null===(i=r.interactivity)||void 0===i?void 0:i.element))return;if(r.interactivity.element===window){if(r.canvas.element){const t=r.canvas.element.getBoundingClientRect();c={x:e.clientX-t.left,y:e.clientY-t.top}}}else if(l.interactivity.detectsOn===a.parent){const t=e.target,i=e.currentTarget;if(t&&i){const o=t.getBoundingClientRect(),s=i.getBoundingClientRect();c={x:e.offsetX+o.left-s.left,y:e.offsetY+o.top-s.top}}else c={x:e.offsetX||e.clientX,y:e.offsetY||e.clientY}}else e.target===r.canvas.element&&(c={x:e.offsetX||e.clientX,y:e.offsetY||e.clientY})}else{this.canPush="touchmove"!==t.type;const i=t,o=i.touches[i.touches.length-1],a=null===(e=r.canvas.element)||void 0===e?void 0:e.getBoundingClientRect();c={x:o.clientX-(null!==(s=null==a?void 0:a.left)&&void 0!==s?s:0),y:o.clientY-(null!==(n=null==a?void 0:a.top)&&void 0!==n?n:0)}}r.interactivity.mouse.position=c,r.retina.isRetina&&r.interactivity.mouse.position&&(r.interactivity.mouse.position.x*=r.retina.pixelRatio,r.interactivity.mouse.position.y*=r.retina.pixelRatio),r.interactivity.status=o.mouseMoveEvent}mouseTouchFinish(){const t=this.container;delete t.interactivity.mouse.position,t.interactivity.status=o.mouseLeaveEvent}mouseTouchClick(t){const i=this.container,e=i.options;void 0!==e.polygon&&(e.polygon.enable&&e.polygon.type!==r.none&&e.polygon.type!==r.inline?i.polygon.checkInsidePolygon(i.interactivity.mouse.position)&&this.doMouseTouchClick(t):this.doMouseTouchClick(t))}doMouseTouchClick(t){const i=this.container,e=i.options;if(this.canPush){if(!i.interactivity.mouse.position)return;i.interactivity.mouse.clickPosition={x:i.interactivity.mouse.position.x,y:i.interactivity.mouse.position.y},i.interactivity.mouse.clickTime=(new Date).getTime();const t=e.interactivity.modes.push.quantity,o=e.interactivity.modes.remove.quantity;switch(e.interactivity.events.onClick.mode){case n.push:e.particles.move.enable||1===e.interactivity.modes.push.quantity?i.particles.push(t,i.interactivity.mouse):e.interactivity.modes.push.quantity>1&&i.particles.push(t);break;case n.remove:i.particles.removeQuantity(o);break;case n.bubble:i.bubble.clicking=!0;break;case n.repulse:i.repulse.clicking=!0,i.repulse.count=0;for(const t of i.repulse.particles)t.velocity.horizontal=t.initialVelocity.horizontal,t.velocity.vertical=t.initialVelocity.vertical;i.repulse.particles=[],i.repulse.finish=!1,setTimeout(()=>{i.destroyed||(i.repulse.clicking=!1)},1e3*e.interactivity.modes.repulse.duration);break;case n.emitter:let s;const a=e.interactivity.modes.emitters;a instanceof Array?a.length>0&&(s=f.itemFromArray(a)):s=a;const r=null!=s?s:e.emitters instanceof Array?f.itemFromArray(e.emitters):e.emitters,l=i.interactivity.mouse.clickPosition,c=new Y(i,r,l);i.emitters.push(c)}}t.preventDefault(),"touchend"===t.type&&setTimeout(()=>this.mouseTouchFinish(),500),t.preventDefault()}}!function(t){t.equidistant="equidistant",t.onePerPoint="one-per-point",t.perPoint="per-point",t.randomLength="random-length",t.randomPoint="random-point"}(v||(v={}));class Z{static interact(t,i){t.particlesOptions.lineLinked.enable&&class{static link(t,i){var e;const s=t.particlesOptions.lineLinked.opacity,n=null!==(e=t.lineLinkedDistance)&&void 0!==e?e:i.retina.lineLinkedDistance;for(const e of i.particles.spatialGrid.queryRadiusWithDistance(t.position,n)){if(t===e.particle||!e.particle.particlesOptions.lineLinked.enable)continue;const a=s-e.distance*s/n;if(a>0){if(!i.particles.lineLinkedColor){const e=t.particlesOptions.lineLinked.color,s="string"==typeof e?e:e.value;s===o.randomColorValue?t.particlesOptions.lineLinked.consent?i.particles.lineLinkedColor=b.colorToRgb({value:s}):t.particlesOptions.lineLinked.blink?i.particles.lineLinkedColor=o.randomColorValue:i.particles.lineLinkedColor=o.midColorValue:i.particles.lineLinkedColor=b.colorToRgb({value:s})}-1==e.particle.links.indexOf(t)&&-1==t.links.indexOf(e.particle)&&(t.links.push(e.particle),i.canvas.drawLinkedLine(t,e.particle,a))}}}}.link(t,i),t.particlesOptions.move.attract.enable&&class{static attract(t,i){var e;const o=i.options,s=null!==(e=t.lineLinkedDistance)&&void 0!==e?e:i.retina.lineLinkedDistance;for(const e of i.particles.spatialGrid.queryRadius(t.position,s)){if(t===e||e.particlesOptions.move.attract.enable)continue;const i=t.position.x-e.position.x,s=t.position.y-e.position.y,n=o.particles.move.attract.rotate,a=i/(1e3*n.x),r=s/(1e3*n.y);t.velocity.horizontal-=a,t.velocity.vertical-=r,e.velocity.horizontal+=a,e.velocity.vertical+=r}}}.attract(t,i),t.particlesOptions.move.collisions&&class{static collide(t,i){for(const e of i.particles.spatialGrid.queryRadius(t.position,2*t.size.value)){if(!e||t===e||!e.particlesOptions.move.collisions)continue;const o=f.getDistanceBetweenCoordinates(t.position,e.position),s=i.retina.sizeValue;o<=this.getRadius(t,s)+this.getRadius(e,s)&&(t.resetVelocity(),e.resetVelocity())}}static getRadius(t,i){return t.bubble.radius||t.size.value||i}}.collide(t,i)}}class K{constructor(t){this.grid=[],this.cellSize=20,this.widthSegment=Math.round(t.width/this.cellSize),this.heightSegment=Math.round(t.height/this.cellSize)}setGrid(t,i){const e=[],o=(null==i?void 0:i.width)?(null==i?void 0:i.width)/this.cellSize:this.widthSegment,s=(null==i?void 0:i.height)?(null==i?void 0:i.height)/this.cellSize:this.heightSegment;for(let i=0;i
e.interactivity.modes.bubble.duration&&(t.bubble.durationEnd=!0),a>2*e.interactivity.modes.bubble.duration&&(t.bubble.clicking=!1,t.bubble.durationEnd=!1);const o={bubbleObj:{optValue:t.retina.bubbleModeSize,value:s.bubble.radius},particlesObj:{optValue:null!==(i=s.sizeValue)&&void 0!==i?i:t.retina.sizeValue,value:s.size.value},type:y.size};this.process(t,s,n,a,o);const r={bubbleObj:{optValue:e.interactivity.modes.bubble.opacity,value:s.bubble.opacity},particlesObj:{optValue:s.particlesOptions.opacity.value,value:s.opacity.value},type:y.opacity};this.process(t,s,n,a,r),t.bubble.durationEnd?delete s.bubble.color:n<=t.retina.bubbleModeDistance?this.hoverBubbleColor(t,s):delete s.bubble.color}}}static hoverBubble(t){const i=t.interactivity.mouse.position;if(void 0!==i)for(const{distance:e,particle:s}of t.particles.spatialGrid.queryRadiusWithDistance(i,t.retina.bubbleModeDistance)){if(void 0===(null==s?void 0:s.position))continue;const i=1-e/t.retina.bubbleModeDistance;e<=t.retina.bubbleModeDistance?i>=0&&t.interactivity.status===o.mouseMoveEvent&&(this.hoverBubbleSize(t,s,i),this.hoverBubbleOpacity(t,s,i),this.hoverBubbleColor(t,s)):this.reset(s),t.interactivity.status===o.mouseLeaveEvent&&this.reset(s)}}static hoverBubbleSize(t,i,e){var o;const s=t.retina.bubbleModeSize;if(void 0===s)return;const n=null!==(o=i.sizeValue)&&void 0!==o?o:t.retina.sizeValue,a=i.size.value;if(s>n){const t=a+(s-n)*e;i.bubble.radius=f.clamp(t,a,s)}else if(s
s){const t=n+(o-s)*e;i.bubble.opacity=f.clamp(t,n,o)}else if(o
=0&&t<=this.count)for(const e of this.array.splice(t,null!=i?i:1))e.destroy()}remove(t){this.removeAt(this.array.indexOf(t))}update(t){const i=this.container,e=i.options;for(let i=0;i
0&&t.canvas.drawGrabLine(s,a,e)}}}}.grab(i),(f.isInArray(h.repulse,s)||f.isInArray(n.repulse,a)||f.isInArray(m.repulse,r))&&class{static repulse(t){const i=t.options.interactivity,e=i.events.onHover.enable,s=i.events.onClick.enable,a=t.interactivity.status===o.mouseMoveEvent,r=i.events.onHover.mode,l=i.events.onClick.mode,c=i.events.onDiv.mode;a&&e&&f.isInArray(h.repulse,r)?this.hoverRepulse(t):s&&f.isInArray(n.repulse,l)?this.clickRepulse(t):i.events.onDiv.enable&&f.isInArray(m.repulse,c)&&this.divRepulse(t)}static divRepulse(t){const i=t.options,e=document.getElementById(i.interactivity.events.onDiv.elementId);if(!e)return;const o={x:e.offsetLeft+e.offsetWidth/2,y:e.offsetTop+e.offsetHeight/2};let s=e.offsetWidth/2;t.retina.isRetina&&(o.x*=t.retina.pixelRatio,o.y*=t.retina.pixelRatio,s*=t.retina.pixelRatio);const n=s;this.processRepulse(t,o,n)}static hoverRepulse(t){const i=t.interactivity.mouse.position;if(!i)return;const e=t.retina.repulseModeDistance;this.processRepulse(t,i,e)}static processRepulse(t,i,e){for(const o of t.particles.spatialGrid.queryRadius(i,e)){if(void 0===(null==o?void 0:o.position))continue;const s=o.position.x-i.x,n=o.position.y-i.y,a=Math.sqrt(s*s+n*n),r={x:s/a,y:n/a},l=100*t.options.interactivity.modes.repulse.speed,h=f.clamp((1-Math.pow(a/e,2))*l,0,50),d=o.particlesOptions.move.outMode,u=o.size.value,p={x:o.position.x+r.x*h,y:o.position.y+r.y*h};if(d===c.bounce||d===c.bounceVertical||d===c.bounceHorizontal){const i={horizontal:p.x-u>0&&p.x+u
0&&p.y+u
t.canvas.dimension.width||e.x-i.size.value<0)&&(i.velocity.horizontal=-i.velocity.horizontal),r!==c.bounceHorizontal&&(e.y+i.size.value>t.canvas.dimension.height||e.y-i.size.value<0)&&(i.velocity.vertical=-i.velocity.vertical)}}}.repulse(i),(f.isInArray(h.bubble,s)||f.isInArray(n.bubble,a))&&tt.bubble(i);for(const t of this.array)this.interactionsEnabled&&Z.interact(t,i)}draw(t){const i=this.container,e=i.options;i.canvas.clear(),this.update(t),this.spatialGrid.setGrid(this.array,this.container.canvas.dimension),e.polygon.enable&&e.polygon.draw.enable&&i.polygon.drawPolygon();for(const t of this.array)t.draw()}clear(){this.array=[]}push(t,i){var e;const o=this.container,s=o.options;let n;this.pushing=!0,s.particles.number.limit>0&&this.array.length+t>s.particles.number.limit&&this.removeQuantity(this.array.length+t-s.particles.number.limit),i&&(n=null!==(e=i.position)&&void 0!==e?e:{x:0,y:0});for(let i=0;i
1?(this.pixelRatio=window.devicePixelRatio,this.isRetina=!0):(this.pixelRatio=1,this.isRetina=!1);const o=this.pixelRatio;if(i.canvas.element){const t=i.canvas.element;i.canvas.dimension.width=t.offsetWidth*o,i.canvas.dimension.height=t.offsetHeight*o}const s=e.particles;this.lineLinkedDistance=s.lineLinked.distance*o,this.lineLinkedWidth=s.lineLinked.width*o,this.moveSpeed=s.move.speed*o,this.sizeValue=s.size.value*o,this.sizeAnimationSpeed=s.size.animation.speed*o;const n=e.interactivity;this.connectModeDistance=n.modes.connect.distance*o,this.connectModeRadius=n.modes.connect.radius*o,this.grabModeDistance=n.modes.grab.distance*o,this.repulseModeDistance=n.modes.repulse.distance*o,this.slowModeRadius=n.modes.slow.radius*o,this.bubbleModeDistance=n.modes.bubble.distance*o,this.bubbleModeSize=null!==(t=n.modes.bubble.size)&&void 0!==t?t:this.sizeValue*o,this.polygonMaskMoveRadius=e.polygon.move.radius*o}initParticle(t){const i=t.particlesOptions,e=this.pixelRatio;t.lineLinkedDistance=i.lineLinked.distance*e,t.lineLinkedWidth=i.lineLinked.width*e,t.moveSpeed=i.move.speed*e,t.sizeValue=i.size.value*e,"boolean"!=typeof i.size.random&&(t.randomMinimumSize=i.size.random.minimumValue),t.sizeAnimationSpeed=i.size.animation.speed*e}reset(){}}var ot,st=function(t,i,e,o){return new(e||(e=Promise))((function(s,n){function a(t){try{l(o.next(t))}catch(t){n(t)}}function r(t){try{l(o.throw(t))}catch(t){n(t)}}function l(t){var i;t.done?s(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(a,r)}l((o=o.apply(t,i||[])).next())}))};class nt{constructor(t){this.container=t,this.dimension={height:0,width:0},this.paths=[],this.path2DSupported=window.hasOwnProperty("Path2D")}checkInsidePolygon(t){const i=this.container,e=i.options;if(!e.polygon.enable||e.polygon.type===r.none||e.polygon.type===r.inline)return!0;if(!this.raw)throw new Error(o.noPolygonFound);const s=t?t.x:Math.random()*i.canvas.dimension.width,n=t?t.y:Math.random()*i.canvas.dimension.height;let a=!1;for(let t=0,i=this.raw.length-1;t
n!=l>n&&s<(r-e)*(n-o)/(l-o)+e&&(a=!a)}return e.polygon.type===r.inside?a:e.polygon.type===r.outside&&!a}redraw(){const t=this.container,i=t.options;i.polygon.enable&&i.polygon.type!==r.none&&(this.redrawTimeout&&clearTimeout(this.redrawTimeout),this.redrawTimeout=setTimeout(()=>{this.parseSvgPathToPolygon().then(i=>{this.raw=i,this.createPath2D(),t.particles.redraw()})},250))}init(){return st(this,void 0,void 0,(function*(){const t=this.container.options;t.polygon.enable&&t.polygon.url&&(this.raw=yield this.parseSvgPathToPolygon(t.polygon.url),this.createPath2D())}))}reset(){delete this.raw,this.paths=[],delete this.svg}randomPointInPolygon(){const t=this.container,i=t.options;let e;if(i.polygon.type===r.inline)switch(i.polygon.inline.arrangement){case v.randomPoint:e=this.getRandomPointOnPolygonPath();break;case v.randomLength:e=this.getRandomPointOnPolygonPathByLength();break;case v.equidistant:e=this.getEquidistantPointOnPolygonPathByIndex(t.particles.count);break;case v.onePerPoint:case v.perPoint:default:e=this.getPointOnPolygonPathByIndex(t.particles.count)}else e={x:Math.random()*t.canvas.dimension.width,y:Math.random()*t.canvas.dimension.height};return this.checkInsidePolygon(e)?e:this.randomPointInPolygon()}parseSvgPathToPolygon(t){var i;return st(this,void 0,void 0,(function*(){const e=this.container,o=e.options,s=t||o.polygon.url;if(!this.paths.length||!this.svg){const t=yield fetch(s);if(!t.ok)throw new Error("tsParticles Error - Error occurred during polygon mask download");{const i=yield t.text(),e=(new DOMParser).parseFromString(i,"image/svg+xml");this.svg=e.getElementsByTagName("svg")[0];const o=e.getElementsByTagName("path");for(let t=0;t
t+i.length,0)/l.particles.number.value;for(const i of this.paths){const e=d*t-h;if(e<=i.length){c=i.element.getPointAtLength(e);break}h+=i.length}return{x:(null!==(i=null==c?void 0:c.x)&&void 0!==i?i:0)*l.polygon.scale+(null!==(s=null===(e=this.offset)||void 0===e?void 0:e.x)&&void 0!==s?s:0),y:(null!==(n=null==c?void 0:c.y)&&void 0!==n?n:0)*l.polygon.scale+(null!==(r=null===(a=this.offset)||void 0===a?void 0:a.y)&&void 0!==r?r:0)}}getPointOnPolygonPathByIndex(t){if(!this.raw||!this.raw.length)throw new Error(o.noPolygonDataLoaded);const i=this.raw[t%this.raw.length];return{x:i.x,y:i.y}}createPath2D(){var t;if(this.path2DSupported)for(const i of this.paths){const e=null===(t=i.element)||void 0===t?void 0:t.getAttribute("d");if(e){const t=new Path2D(e),o=document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGMatrix(),s=new Path2D,n=o.scale(this.container.options.polygon.scale);s.addPath?(s.addPath(t,n),i.path2d=s):delete i.path2d}else delete i.path2d;!i.path2d&&this.raw&&(i.path2d=new Path2D,i.path2d.moveTo(this.raw[0].x,this.raw[0].y),this.raw.forEach((t,e)=>{var o;e>0&&(null===(o=i.path2d)||void 0===o||o.lineTo(t.x,t.y))}),i.path2d.closePath())}}}class at{constructor(t){this.container=t}nextFrame(t){const i=this.container,e=i.options,o=e.fpsLimit>0?e.fpsLimit:60;if(void 0!==i.lastFrameTime&&t
{const i=new C;return i.load("string"==typeof t?{value:t}:t),i}):((this.color instanceof Array||void 0===this.color)&&(this.color=new C),this.color.load("string"==typeof t.color?{value:t.color}:t.color))),void 0!==t.size&&(this.size=t.size))}}class pt{constructor(){this.opacity=.5}load(t){void 0!==t&&void 0!==t.opacity&&(this.opacity=t.opacity)}}class vt{constructor(){this.distance=80,this.lineLinked=new pt,this.radius=60}get line_linked(){return this.lineLinked}set line_linked(t){this.lineLinked=t}load(t){var i;void 0!==t&&(void 0!==t.distance&&(this.distance=t.distance),this.lineLinked.load(null!==(i=t.lineLinked)&&void 0!==i?i:t.line_linked),void 0!==t.radius&&(this.radius=t.radius))}}class mt{constructor(){this.opacity=1}load(t){void 0!==t&&void 0!==t.opacity&&(this.opacity=t.opacity)}}class yt{constructor(){this.distance=100,this.lineLinked=new mt}get line_linked(){return this.lineLinked}set line_linked(t){this.lineLinked=t}load(t){var i;void 0!==t&&(void 0!==t.distance&&(this.distance=t.distance),this.lineLinked.load(null!==(i=t.lineLinked)&&void 0!==i?i:t.line_linked))}}class gt{constructor(){this.quantity=2}get particles_nb(){return this.quantity}set particles_nb(t){this.quantity=t}load(t){var i;if(void 0!==t){const e=null!==(i=t.quantity)&&void 0!==i?i:t.particles_nb;void 0!==e&&(this.quantity=e)}}}class ft{constructor(){this.quantity=4}get particles_nb(){return this.quantity}set particles_nb(t){this.quantity=t}load(t){var i;if(void 0!==t){const e=null!==(i=t.quantity)&&void 0!==i?i:t.particles_nb;void 0!==e&&(this.quantity=e)}}}class bt{constructor(){this.distance=200,this.duration=.4,this.speed=1}load(t){void 0!==t&&(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.speed&&(this.speed=t.speed))}}class wt{constructor(){this.factor=3,this.radius=200}get active(){return!1}set active(t){}load(t){void 0!==t&&(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.radius&&(this.radius=t.radius))}}class xt{constructor(){this.quantity=1,this.delay=.1}load(t){void 0!==t&&(void 0!==t.quantity&&(this.quantity=t.quantity),void 0!==t.delay&&(this.delay=t.delay))}}class kt{constructor(){}load(t){void 0!==t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=t.delay),void 0!==t.duration&&(this.duration=t.duration))}}class Pt{constructor(){this.direction=s.none,this.life=new kt,this.rate=new xt}load(t,i){void 0!==t&&(void 0!==t.size&&(this.size={width:t.size.width,height:t.size.height}),void 0!==t.direction&&(this.direction=t.direction),this.life.load(t.life),void 0!==t.particles&&(this.particles=new J,this.particles.load(t.particles)),this.rate.load(t.rate),void 0!==t.position&&(this.position={x:t.position.x,y:t.position.y}))}}class zt{constructor(){this.bubble=new ut,this.connect=new vt,this.emitters=[],this.grab=new yt,this.push=new ft,this.remove=new gt,this.repulse=new bt,this.slow=new wt}load(t,i){void 0!==t&&(this.bubble.load(t.bubble),this.connect.load(t.connect),this.grab.load(t.grab),this.push.load(t.push),this.remove.load(t.remove),this.repulse.load(t.repulse),this.slow.load(t.slow),void 0!==t.emitters&&void 0!==i&&(t.emitters instanceof Array?this.emitters=t.emitters.map(t=>{const e=new Pt;return e.load(t,i),e}):(this.emitters instanceof Array&&(this.emitters=new Pt),this.emitters.load(t.emitters,i))))}}class Ct{constructor(){this.detectsOn=a.canvas,this.events=new dt,this.modes=new zt}get detect_on(){return this.detectsOn}set detect_on(t){this.detectsOn=t}load(t,i){var e,o,s;if(void 0!==t){const n=null!==(e=t.detectsOn)&&void 0!==e?e:t.detect_on;void 0!==n&&(this.detectsOn=n),this.events.load(t.events),this.modes.load(t.modes,i),!0===(null===(s=null===(o=t.modes)||void 0===o?void 0:o.slow)||void 0===s?void 0:s.active)&&(this.events.onHover.mode instanceof Array?this.events.onHover.mode.indexOf(h.slow)<0&&this.events.onHover.mode.push(h.slow):this.events.onHover.mode!==h.slow&&(this.events.onHover.mode=[this.events.onHover.mode,h.slow]))}}}class St{constructor(){this.color=new C,this.width=.5,this.opacity=1}load(t){var i;void 0!==t&&(this.color.load("string"==typeof t.color?{value:t.color}:t.color),"string"==typeof this.color.value&&(this.opacity=null!==(i=b.stringToAlpha(this.color.value))&&void 0!==i?i:this.opacity),void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.width&&(this.width=t.width))}}class Ot{constructor(){this.enable=!1,this.stroke=new St}get lineWidth(){return this.stroke.width}set lineWidth(t){this.stroke.width=t}get lineColor(){return this.stroke.color}set lineColor(t){const i=this.stroke.color;"string"==typeof t?i.value=t:i.load(t)}load(t){var i;if(void 0!==t){void 0!==t.enable&&(this.enable=t.enable);const e=null!==(i=t.stroke)&&void 0!==i?i:{color:t.lineColor,width:t.lineWidth};this.stroke.load(e)}}}!function(t){t.path="path",t.radius="radius"}(ot||(ot={}));class Mt{constructor(){this.radius=10,this.type=ot.path}load(t){void 0!==t&&(void 0!==t.radius&&(this.radius=t.radius),void 0!==t.type&&(this.type=t.type))}}class At{constructor(){this.arrangement=v.onePerPoint}load(t){void 0!==t&&void 0!==t.arrangement&&(this.arrangement=t.arrangement)}}class Rt{constructor(){this.draw=new Ot,this.enable=!1,this.inline=new At,this.move=new Mt,this.scale=1,this.type=r.none,this.url=""}get inlineArrangement(){return this.inline.arrangement}set inlineArrangement(t){this.inline.arrangement=t}load(t){var i;if(void 0!==t){this.draw.load(t.draw);const e=null!==(i=t.inline)&&void 0!==i?i:{arrangement:t.inlineArrangement};void 0!==e&&this.inline.load(e),this.move.load(t.move),void 0!==t.scale&&(this.scale=t.scale),void 0!==t.type&&(this.type=t.type),void 0!==t.enable?this.enable=t.enable:this.enable=this.type!==r.none,void 0!==t.url&&(this.url=t.url),void 0!==t.position&&(this.position={x:t.position.x,y:t.position.y})}}}class Lt{constructor(){this.color=new C,this.opacity=1}load(t){void 0!==t&&(void 0!==t.color&&this.color.load("string"==typeof t.color?{value:t.color}:t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class Tt{constructor(){this.cover=new Lt,this.enable=!1}load(t){if(void 0!==t){if(void 0!==t.cover){const i=t.cover,e="string"==typeof t.cover?{color:t.cover}:t.cover;this.cover.load(void 0!==i.color?i:{color:e})}void 0!==t.enable&&(this.enable=t.enable)}}}class Et{static getPreset(t){return this.presets[t]}static addPreset(t,i){this.presets[t]||(this.presets[t]=i)}}Et.presets={};class Vt{load(t){void 0!==t&&(void 0!==t.color&&(void 0===this.color&&(this.color=new C),this.color.load("string"==typeof t.color?{value:t.color}:t.color)),void 0!==t.image&&(this.image=t.image),void 0!==t.position&&(this.position=t.position),void 0!==t.repeat&&(this.repeat=t.repeat),void 0!==t.size&&(this.size=t.size),void 0!==t.opacity&&(this.opacity=t.opacity))}}class Dt{constructor(){this.background=new Vt,this.backgroundMask=new Tt,this.detectRetina=!1,this.emitters=[],this.fpsLimit=30,this.interactivity=new Ct,this.particles=new J,this.pauseOnBlur=!0,this.polygon=new Rt}get fps_limit(){return this.fpsLimit}set fps_limit(t){this.fpsLimit=t}get retina_detect(){return this.detectRetina}set retina_detect(t){this.detectRetina=t}load(t){var i,e;if(void 0!==t){if(void 0!==t.preset)if(t.preset instanceof Array)for(const i of t.preset)this.importPreset(i);else this.importPreset(t.preset);void 0!==t.background&&this.background.load(t.background);const o=null!==(i=t.detectRetina)&&void 0!==i?i:t.retina_detect;void 0!==o&&(this.detectRetina=o);const s=null!==(e=t.fpsLimit)&&void 0!==e?e:t.fps_limit;void 0!==s&&(this.fpsLimit=s),void 0!==t.pauseOnBlur&&(this.pauseOnBlur=t.pauseOnBlur),this.particles.load(t.particles),this.interactivity.load(t.interactivity,this.particles),this.polygon.load(t.polygon),this.backgroundMask.load(t.backgroundMask),void 0!==t.emitters&&(t.emitters instanceof Array?this.emitters=t.emitters.map(t=>{const i=new Pt;return i.load(t,this.particles),i}):(this.emitters instanceof Array&&(this.emitters=new Pt),this.emitters.load(t.emitters,this.particles)))}}importPreset(t){const i=Et.getPreset(t);void 0!==i&&this.load(i)}}var It=function(t,i,e,o){return new(e||(e=Promise))((function(s,n){function a(t){try{l(o.next(t))}catch(t){n(t)}}function r(t){try{l(o.throw(t))}catch(t){n(t)}}function l(t){var i;t.done?s(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(a,r)}l((o=o.apply(t,i||[])).next())}))};class _t{constructor(t,i,...e){this.started=!1,this.destroyed=!1,this.id=t,this.paused=!0,this.sourceOptions=i,this.lastFrameTime=0,this.pageHidden=!1,this.retina=new et(this),this.canvas=new x(this),this.particles=new it(this),this.polygon=new nt(this),this.drawer=new at(this),this.interactivity={mouse:{}},this.images=[],this.bubble={},this.repulse={particles:[]},this.emitters=[],this.options=new Dt;for(const t of e)this.options.load(Et.getPreset(t));this.sourceOptions&&this.options.load(this.sourceOptions),this.eventListeners=new Q(this)}static requestFrame(t){return window.customRequestAnimationFrame(t)}static cancelAnimation(t){window.cancelAnimationFrame(t)}play(){if(this.paused){this.lastFrameTime=performance.now(),this.paused=!1;for(const t of this.emitters)t.start()}this.drawAnimationFrame=_t.requestFrame(t=>this.drawer.nextFrame(t))}pause(){if(void 0!==this.drawAnimationFrame){for(const t of this.emitters)t.stop();_t.cancelAnimation(this.drawAnimationFrame),delete this.drawAnimationFrame,this.paused=!0}}densityAutoParticles(){if(!this.canvas.element||!this.options.particles.number.density.enable)return;let t=this.canvas.element.width*this.canvas.element.height/1e3;this.retina.isRetina&&(t/=2*this.retina.pixelRatio);const i=t*this.options.particles.number.value/this.options.particles.number.density.area,e=this.particles.count;e
i&&this.particles.removeQuantity(e-i)}destroy(){this.stop(),this.retina.reset(),this.canvas.destroy(),delete this.interactivity,delete this.options,delete this.retina,delete this.canvas,delete this.particles,delete this.polygon,delete this.bubble,delete this.repulse,delete this.images,delete this.drawer,delete this.eventListeners,this.destroyed=!0}exportImg(t){this.exportImage(t)}exportImage(t,i,e){var o;return null===(o=this.canvas.element)||void 0===o?void 0:o.toBlob(t,null!=i?i:"image/png",e)}exportConfiguration(){return JSON.stringify(this.options,void 0,2)}refresh(){return It(this,void 0,void 0,(function*(){this.stop(),yield this.start()}))}stop(){if(this.started){this.started=!1,this.eventListeners.removeListeners(),this.pause(),this.images=[],this.particles.clear(),this.retina.reset(),this.canvas.clear(),this.polygon.reset();for(const t of this.emitters)t.stop();this.emitters=[],delete this.particles.lineLinkedColor}}start(){return It(this,void 0,void 0,(function*(){if(!this.started){if(this.started=!0,this.eventListeners.addListeners(),yield this.polygon.init(),f.isInArray(l.char,this.options.particles.shape.type)||f.isInArray(l.character,this.options.particles.shape.type))if(this.options.particles.shape.character instanceof Array)for(const t of this.options.particles.shape.character)yield f.loadFont(t);else{const t=this.options.particles.shape.character;void 0!==t&&(yield f.loadFont(t))}if(f.isInArray(l.image,this.options.particles.shape.type))if(this.options.particles.shape.image instanceof Array)for(const t of this.options.particles.shape.image)yield this.loadImageShape(t);else yield this.loadImageShape(this.options.particles.shape.image);this.init(),this.play()}}))}loadImageShape(t){return It(this,void 0,void 0,(function*(){try{this.images.push(yield f.loadImage(t))}catch(t){}}))}init(){if(this.retina.init(),this.canvas.init(),this.particles.init(),this.options.emitters instanceof Array)for(const t of this.options.emitters){const i=new Y(this,t);this.emitters.push(i)}else{const t=this.options.emitters,i=new Y(this,t);this.emitters.push(i)}this.densityAutoParticles()}}var Ht=function(t,i,e,o){return new(e||(e=Promise))((function(s,n){function a(t){try{l(o.next(t))}catch(t){n(t)}}function r(t){try{l(o.throw(t))}catch(t){n(t)}}function l(t){var i;t.done?s(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(a,r)}l((o=o.apply(t,i||[])).next())}))};let Ft=[];class Bt{static dom(){return Ft||(Ft=[]),Ft}static domItem(t){const i=Bt.dom(),e=i[t];if(e&&!e.destroyed)return e;i.splice(t,1)}static loadFromArray(t,i,e){return Ht(this,void 0,void 0,(function*(){return Bt.load(t,f.itemFromArray(i,e))}))}static setFromArray(t,i,e,o){return Ht(this,void 0,void 0,(function*(){return Bt.set(t,i,f.itemFromArray(e,o))}))}static load(t,i){return Ht(this,void 0,void 0,(function*(){const e=document.getElementById(t);if(e)return this.set(t,e,i)}))}static set(t,i,e){return Ht(this,void 0,void 0,(function*(){const s=Bt.dom(),n=s.findIndex(i=>i.id===t);if(n>=0){const t=this.domItem(n);t&&!t.destroyed&&(t.destroy(),s.splice(n,1))}let a,r;if("canvas"===i.tagName)a=i,r=!1;else{const t=i.getElementsByTagName("canvas");t.length?(a=t[0],a.className||(a.className=o.canvasClass),r=!1):(r=!0,a=document.createElement("canvas"),a.className=o.canvasClass,a.style.width="100%",a.style.height="100%",i.appendChild(a))}const l=new _t(t,e);return n>=0?s.splice(n,0,l):s.push(l),l.canvas.loadCanvas(a,r),yield l.start(),l}))}static loadJSON(t,i){return Ht(this,void 0,void 0,(function*(){const e=yield fetch(i);if(e.ok){const i=yield e.json();return i instanceof Array?Bt.loadFromArray(t,i):Bt.load(t,i)}console.error(`Error tsParticles - fetch status: ${e.status}`),console.error("Error tsParticles - File config not found")}))}static setJSON(t,i,e){return Ht(this,void 0,void 0,(function*(){const o=yield fetch(e);if(o.ok){const e=yield o.json();return e instanceof Array?Bt.setFromArray(t,i,e):Bt.set(t,i,e)}console.error(`Error tsParticles - fetch status: ${o.status}`),console.error("Error tsParticles - File config not found")}))}static setOnClickHandler(t){const i=Bt.dom();if(0===i.length)throw new Error("Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()");for(const e of i){const i=e.interactivity.element;i&&i.addEventListener("click",t)}}}class Gt{draw(t,i,e,o){t.moveTo(0,-e/2),t.lineTo(0,e/2)}}class qt{draw(t,i,e,o){t.arc(0,0,e,0,2*Math.PI,!1)}}class Wt{draw(t,i,e,o){t.rect(-e,-e,2*e,2*e)}}class Nt{draw(t,i,e,o){const s=this.getCenter(i,e),n=this.getSidesData(i,e),a=n.count.numerator*n.count.denominator,r=n.count.numerator/n.count.denominator,l=180*(r-2)/r,c=Math.PI-Math.PI*l/180;if(t){t.beginPath(),t.translate(s.x,s.y),t.moveTo(0,0);for(let i=0;i
window.setTimeout(t,1e3/60)),window.customCancelRequestAnimationFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout);const t=new Wt,i=new Jt;w.addShapeDrawer(l.line,new Gt),w.addShapeDrawer(l.circle,new qt),w.addShapeDrawer(l.edge,t),w.addShapeDrawer(l.square,t),w.addShapeDrawer(l.triangle,new Ut),w.addShapeDrawer(l.star,new jt),w.addShapeDrawer(l.polygon,new $t),w.addShapeDrawer(l.char,i),w.addShapeDrawer(l.character,i),w.addShapeDrawer(l.image,new Xt)}init(){if(!this.initialized&&(this.initialized=!0,"undefined"!=typeof window&&window)){const t=this;window.particlesJS=(i,e)=>t.load(i,e),window.particlesJS.load=(i,e,o)=>{t.loadJSON(i,e).then(t=>{t&&o(t)})},window.particlesJS.setOnClickHandler=i=>{t.setOnClickHandler(i)},window.pJSDom=()=>window.tsParticles.dom()}}loadFromArray(t,i,e){return Yt(this,void 0,void 0,(function*(){return Bt.loadFromArray(t,i,e)}))}load(t,i){return Yt(this,void 0,void 0,(function*(){return Bt.load(t,i)}))}loadJSON(t,i){return Bt.loadJSON(t,i)}setOnClickHandler(t){Bt.setOnClickHandler(t)}dom(){return Bt.dom()}domItem(t){return Bt.domItem(t)}addShape(t,i){let e;e="function"==typeof i?{draw:i}:i,w.addShapeDrawer(t,e)}addPreset(t,i){Et.addPreset(t,i)}}}]));