{"version":3,"file":"static/js/main.d8142e82.js","mappings":"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","sources":["../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@babel/runtime/helpers/get.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/superPropBase.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/classnames/index.js","../node_modules/fast-deep-equal/react.js","../node_modules/object-assign/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/src/observe.ts","../node_modules/src/InView.tsx","../node_modules/src/useInView.tsx","../node_modules/react-social-icons/build/_networks-db.js","../node_modules/react-social-icons/build/background.js","../node_modules/react-social-icons/build/icon.js","../node_modules/react-social-icons/build/mask.js","../node_modules/react-social-icons/build/networks.js","../node_modules/react-social-icons/build/react-social-icons.js","../node_modules/react-social-icons/build/social-icon.js","../node_modules/react-social-icons/build/styles.js","../node_modules/react-tsparticles/cjs/particles.js","../node_modules/react-tsparticles/index.js","../node_modules/react-vertical-timeline-component/dist-es6/VerticalTimeline.js","../node_modules/react-vertical-timeline-component/dist-es6/VerticalTimelineElement.js","../node_modules/react-vertical-timeline-component/dist-es6/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/tsparticles/Core/Canvas.js","../node_modules/tsparticles/Core/Container.js","../node_modules/tsparticles/Core/ExternalInteractorBase.js","../node_modules/tsparticles/Core/FrameManager.js","../node_modules/tsparticles/Core/InteractionManager.js","../node_modules/tsparticles/Core/Interfaces/Colors.js","../node_modules/tsparticles/Core/Interfaces/Gradients.js","../node_modules/tsparticles/Core/Interfaces/IAttract.js","../node_modules/tsparticles/Core/Interfaces/IBounds.js","../node_modules/tsparticles/Core/Interfaces/IBubble.js","../node_modules/tsparticles/Core/Interfaces/IBubbleParticleData.js","../node_modules/tsparticles/Core/Interfaces/ICircleBouncer.js","../node_modules/tsparticles/Core/Interfaces/IContainerInteractivity.js","../node_modules/tsparticles/Core/Interfaces/IContainerPlugin.js","../node_modules/tsparticles/Core/Interfaces/ICoordinates.js","../node_modules/tsparticles/Core/Interfaces/IDelta.js","../node_modules/tsparticles/Core/Interfaces/IDimension.js","../node_modules/tsparticles/Core/Interfaces/IDistance.js","../node_modules/tsparticles/Core/Interfaces/IExternalInteractor.js","../node_modules/tsparticles/Core/Interfaces/IInteractor.js","../node_modules/tsparticles/Core/Interfaces/IMouseData.js","../node_modules/tsparticles/Core/Interfaces/IMovePathGenerator.js","../node_modules/tsparticles/Core/Interfaces/IParticle.js","../node_modules/tsparticles/Core/Interfaces/IParticleGradientAnimation.js","../node_modules/tsparticles/Core/Interfaces/IParticleGradientColorAnimation.js","../node_modules/tsparticles/Core/Interfaces/IParticleHslAnimation.js","../node_modules/tsparticles/Core/Interfaces/IParticleLife.js","../node_modules/tsparticles/Core/Interfaces/IParticleLoops.js","../node_modules/tsparticles/Core/Interfaces/IParticleRetinaProps.js","../node_modules/tsparticles/Core/Interfaces/IParticleSpin.js","../node_modules/tsparticles/Core/Interfaces/IParticleUpdater.js","../node_modules/tsparticles/Core/Interfaces/IParticleValueAnimation.js","../node_modules/tsparticles/Core/Interfaces/IParticlesInteractor.js","../node_modules/tsparticles/Core/Interfaces/IPlugin.js","../node_modules/tsparticles/Core/Interfaces/IRangeValue.js","../node_modules/tsparticles/Core/Interfaces/IRectSideResult.js","../node_modules/tsparticles/Core/Interfaces/IRepulse.js","../node_modules/tsparticles/Core/Interfaces/IShapeDrawer.js","../node_modules/tsparticles/Core/Interfaces/IShapeValues.js","../node_modules/tsparticles/Core/Interfaces/index.js","../node_modules/tsparticles/Core/Loader.js","../node_modules/tsparticles/Core/Particle.js","../node_modules/tsparticles/Core/Particle/Mover.js","../node_modules/tsparticles/Core/Particle/Vector.js","../node_modules/tsparticles/Core/Particle/Vector3d.js","../node_modules/tsparticles/Core/Particles.js","../node_modules/tsparticles/Core/ParticlesInteractorBase.js","../node_modules/tsparticles/Core/Retina.js","../node_modules/tsparticles/Enums/AnimationStatus.js","../node_modules/tsparticles/Enums/Directions/MoveDirection.js","../node_modules/tsparticles/Enums/Directions/OutModeDirection.js","../node_modules/tsparticles/Enums/Directions/RotateDirection.js","../node_modules/tsparticles/Enums/Directions/TiltDirection.js","../node_modules/tsparticles/Enums/Directions/index.js","../node_modules/tsparticles/Enums/InteractivityDetect.js","../node_modules/tsparticles/Enums/Modes/ClickMode.js","../node_modules/tsparticles/Enums/Modes/CollisionMode.js","../node_modules/tsparticles/Enums/Modes/DestroyMode.js","../node_modules/tsparticles/Enums/Modes/DivMode.js","../node_modules/tsparticles/Enums/Modes/HoverMode.js","../node_modules/tsparticles/Enums/Modes/OutMode.js","../node_modules/tsparticles/Enums/Modes/ResponsiveMode.js","../node_modules/tsparticles/Enums/Modes/RollMode.js","../node_modules/tsparticles/Enums/Modes/SizeMode.js","../node_modules/tsparticles/Enums/Modes/ThemeMode.js","../node_modules/tsparticles/Enums/Modes/index.js","../node_modules/tsparticles/Enums/Types/AlterType.js","../node_modules/tsparticles/Enums/Types/DestroyType.js","../node_modules/tsparticles/Enums/Types/DivType.js","../node_modules/tsparticles/Enums/Types/EasingType.js","../node_modules/tsparticles/Enums/Types/GradientType.js","../node_modules/tsparticles/Enums/Types/InteractorType.js","../node_modules/tsparticles/Enums/Types/OrbitType.js","../node_modules/tsparticles/Enums/Types/ShapeType.js","../node_modules/tsparticles/Enums/Types/StartValueType.js","../node_modules/tsparticles/Enums/Types/index.js","../node_modules/tsparticles/Enums/index.js","../node_modules/tsparticles/Interactions/External/Attract/Attractor.js","../node_modules/tsparticles/Interactions/External/Attract/index.js","../node_modules/tsparticles/Interactions/External/Bounce/Bouncer.js","../node_modules/tsparticles/Interactions/External/Bounce/index.js","../node_modules/tsparticles/Interactions/External/Bubble/Bubbler.js","../node_modules/tsparticles/Interactions/External/Bubble/ProcessBubbleType.js","../node_modules/tsparticles/Interactions/External/Bubble/index.js","../node_modules/tsparticles/Interactions/External/Connect/Connector.js","../node_modules/tsparticles/Interactions/External/Connect/index.js","../node_modules/tsparticles/Interactions/External/Grab/Grabber.js","../node_modules/tsparticles/Interactions/External/Grab/index.js","../node_modules/tsparticles/Interactions/External/Repulse/Repulser.js","../node_modules/tsparticles/Interactions/External/Repulse/index.js","../node_modules/tsparticles/Interactions/External/Trail/TrailMaker.js","../node_modules/tsparticles/Interactions/External/Trail/index.js","../node_modules/tsparticles/Interactions/Particles/Attract/Attractor.js","../node_modules/tsparticles/Interactions/Particles/Attract/index.js","../node_modules/tsparticles/Interactions/Particles/Collisions/Collider.js","../node_modules/tsparticles/Interactions/Particles/Collisions/index.js","../node_modules/tsparticles/Interactions/Particles/Links/LinkInstance.js","../node_modules/tsparticles/Interactions/Particles/Links/Linker.js","../node_modules/tsparticles/Interactions/Particles/Links/index.js","../node_modules/tsparticles/Interactions/Particles/Links/plugin.js","../node_modules/tsparticles/Options/Classes/AnimatableColor.js","../node_modules/tsparticles/Options/Classes/AnimatableGradient.js","../node_modules/tsparticles/Options/Classes/AnimationOptions.js","../node_modules/tsparticles/Options/Classes/BackgroundMask/BackgroundMask.js","../node_modules/tsparticles/Options/Classes/BackgroundMask/BackgroundMaskCover.js","../node_modules/tsparticles/Options/Classes/Background/Background.js","../node_modules/tsparticles/Options/Classes/ColorAnimation.js","../node_modules/tsparticles/Options/Classes/FullScreen/FullScreen.js","../node_modules/tsparticles/Options/Classes/HslAnimation.js","../node_modules/tsparticles/Options/Classes/Interactivity/Events/ClickEvent.js","../node_modules/tsparticles/Options/Classes/Interactivity/Events/DivEvent.js","../node_modules/tsparticles/Options/Classes/Interactivity/Events/Events.js","../node_modules/tsparticles/Options/Classes/Interactivity/Events/HoverEvent.js","../node_modules/tsparticles/Options/Classes/Interactivity/Events/Parallax.js","../node_modules/tsparticles/Options/Classes/Interactivity/Interactivity.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Attract.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Bounce.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Bubble.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/BubbleBase.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/BubbleDiv.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Connect.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/ConnectLinks.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Grab.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/GrabLinks.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Light.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/LightArea.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/LightGradient.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/LightShadow.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Modes.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Push.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Remove.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Repulse.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/RepulseBase.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/RepulseDiv.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Slow.js","../node_modules/tsparticles/Options/Classes/Interactivity/Modes/Trail.js","../node_modules/tsparticles/Options/Classes/ManualParticle.js","../node_modules/tsparticles/Options/Classes/Motion/Motion.js","../node_modules/tsparticles/Options/Classes/Motion/MotionReduce.js","../node_modules/tsparticles/Options/Classes/Options.js","../node_modules/tsparticles/Options/Classes/OptionsColor.js","../node_modules/tsparticles/Options/Classes/Particles/Bounce/Bounce.js","../node_modules/tsparticles/Options/Classes/Particles/Bounce/BounceFactor.js","../node_modules/tsparticles/Options/Classes/Particles/Collisions/Collisions.js","../node_modules/tsparticles/Options/Classes/Particles/Collisions/CollisionsOverlap.js","../node_modules/tsparticles/Options/Classes/Particles/Destroy/Destroy.js","../node_modules/tsparticles/Options/Classes/Particles/Destroy/Split.js","../node_modules/tsparticles/Options/Classes/Particles/Destroy/SplitFactor.js","../node_modules/tsparticles/Options/Classes/Particles/Destroy/SplitRate.js","../node_modules/tsparticles/Options/Classes/Particles/Life/Life.js","../node_modules/tsparticles/Options/Classes/Particles/Life/LifeDelay.js","../node_modules/tsparticles/Options/Classes/Particles/Life/LifeDuration.js","../node_modules/tsparticles/Options/Classes/Particles/Links/Links.js","../node_modules/tsparticles/Options/Classes/Particles/Links/LinksShadow.js","../node_modules/tsparticles/Options/Classes/Particles/Links/LinksTriangle.js","../node_modules/tsparticles/Options/Classes/Particles/Move/Attract.js","../node_modules/tsparticles/Options/Classes/Particles/Move/Move.js","../node_modules/tsparticles/Options/Classes/Particles/Move/MoveAngle.js","../node_modules/tsparticles/Options/Classes/Particles/Move/MoveGravity.js","../node_modules/tsparticles/Options/Classes/Particles/Move/OutModes.js","../node_modules/tsparticles/Options/Classes/Particles/Move/Path/Path.js","../node_modules/tsparticles/Options/Classes/Particles/Move/Path/PathDelay.js","../node_modules/tsparticles/Options/Classes/Particles/Move/Spin.js","../node_modules/tsparticles/Options/Classes/Particles/Move/Trail.js","../node_modules/tsparticles/Options/Classes/Particles/Number/Density.js","../node_modules/tsparticles/Options/Classes/Particles/Number/ParticlesNumber.js","../node_modules/tsparticles/Options/Classes/Particles/Opacity/Opacity.js","../node_modules/tsparticles/Options/Classes/Particles/Opacity/OpacityAnimation.js","../node_modules/tsparticles/Options/Classes/Particles/Orbit/Orbit.js","../node_modules/tsparticles/Options/Classes/Particles/Orbit/OrbitRotation.js","../node_modules/tsparticles/Options/Classes/Particles/ParticlesOptions.js","../node_modules/tsparticles/Options/Classes/Particles/Repulse/Repulse.js","../node_modules/tsparticles/Options/Classes/Particles/Roll/Roll.js","../node_modules/tsparticles/Options/Classes/Particles/Roll/RollLight.js","../node_modules/tsparticles/Options/Classes/Particles/Rotate/Rotate.js","../node_modules/tsparticles/Options/Classes/Particles/Rotate/RotateAnimation.js","../node_modules/tsparticles/Options/Classes/Particles/Shadow.js","../node_modules/tsparticles/Options/Classes/Particles/Shape/Shape.js","../node_modules/tsparticles/Options/Classes/Particles/Size/Size.js","../node_modules/tsparticles/Options/Classes/Particles/Size/SizeAnimation.js","../node_modules/tsparticles/Options/Classes/Particles/Stroke.js","../node_modules/tsparticles/Options/Classes/Particles/Tilt/Tilt.js","../node_modules/tsparticles/Options/Classes/Particles/Tilt/TiltAnimation.js","../node_modules/tsparticles/Options/Classes/Particles/Twinkle/Twinkle.js","../node_modules/tsparticles/Options/Classes/Particles/Twinkle/TwinkleValues.js","../node_modules/tsparticles/Options/Classes/Particles/Wobble/Wobble.js","../node_modules/tsparticles/Options/Classes/Particles/ZIndex/ZIndex.js","../node_modules/tsparticles/Options/Classes/Random.js","../node_modules/tsparticles/Options/Classes/Responsive.js","../node_modules/tsparticles/Options/Classes/Theme/Theme.js","../node_modules/tsparticles/Options/Classes/Theme/ThemeDefault.js","../node_modules/tsparticles/Options/Classes/ValueWithRandom.js","../node_modules/tsparticles/Plugins/Absorbers/AbsorberInstance.js","../node_modules/tsparticles/Plugins/Absorbers/Absorbers.js","../node_modules/tsparticles/Plugins/Absorbers/Enums/AbsorberClickMode.js","../node_modules/tsparticles/Plugins/Absorbers/Enums/index.js","../node_modules/tsparticles/Plugins/Absorbers/Options/Classes/Absorber.js","../node_modules/tsparticles/Plugins/Absorbers/Options/Classes/AbsorberSize.js","../node_modules/tsparticles/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.js","../node_modules/tsparticles/Plugins/Absorbers/plugin.js","../node_modules/tsparticles/Plugins/Emitters/EmitterInstance.js","../node_modules/tsparticles/Plugins/Emitters/Emitters.js","../node_modules/tsparticles/Plugins/Emitters/EmittersMain.js","../node_modules/tsparticles/Plugins/Emitters/Enums/EmitterClickMode.js","../node_modules/tsparticles/Plugins/Emitters/Enums/EmitterShapeType.js","../node_modules/tsparticles/Plugins/Emitters/Enums/index.js","../node_modules/tsparticles/Plugins/Emitters/Options/Classes/Emitter.js","../node_modules/tsparticles/Plugins/Emitters/Options/Classes/EmitterLife.js","../node_modules/tsparticles/Plugins/Emitters/Options/Classes/EmitterRate.js","../node_modules/tsparticles/Plugins/Emitters/Options/Classes/EmitterSize.js","../node_modules/tsparticles/Plugins/Emitters/ShapeManager.js","../node_modules/tsparticles/Plugins/Emitters/Shapes/Circle/CircleShape.js","../node_modules/tsparticles/Plugins/Emitters/Shapes/Square/SquareShape.js","../node_modules/tsparticles/Plugins/Emitters/plugin.js","../node_modules/tsparticles/Plugins/PolygonMask/Enums/InlineArrangement.js","../node_modules/tsparticles/Plugins/PolygonMask/Enums/MoveType.js","../node_modules/tsparticles/Plugins/PolygonMask/Enums/Type.js","../node_modules/tsparticles/Plugins/PolygonMask/Enums/index.js","../node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/Draw.js","../node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/DrawStroke.js","../node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/Inline.js","../node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/LocalSvg.js","../node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/Move.js","../node_modules/tsparticles/Plugins/PolygonMask/Options/Classes/PolygonMask.js","../node_modules/tsparticles/Plugins/PolygonMask/PolygonMaskInstance.js","../node_modules/tsparticles/Plugins/PolygonMask/pathseg.js","../node_modules/tsparticles/Plugins/PolygonMask/plugin.js","../node_modules/tsparticles/Plugins/PolygonMask/utils.js","../node_modules/tsparticles/Shapes/Circle/CircleDrawer.js","../node_modules/tsparticles/Shapes/Circle/index.js","../node_modules/tsparticles/Shapes/Image/ImageDrawer.js","../node_modules/tsparticles/Shapes/Image/Utils.js","../node_modules/tsparticles/Shapes/Image/index.js","../node_modules/tsparticles/Shapes/Line/LineDrawer.js","../node_modules/tsparticles/Shapes/Line/index.js","../node_modules/tsparticles/Shapes/Polygon/PolygonDrawer.js","../node_modules/tsparticles/Shapes/Polygon/PolygonDrawerBase.js","../node_modules/tsparticles/Shapes/Polygon/TriangleDrawer.js","../node_modules/tsparticles/Shapes/Polygon/index.js","../node_modules/tsparticles/Shapes/Square/SquareDrawer.js","../node_modules/tsparticles/Shapes/Square/index.js","../node_modules/tsparticles/Shapes/Star/StarDrawer.js","../node_modules/tsparticles/Shapes/Star/index.js","../node_modules/tsparticles/Shapes/Text/TextDrawer.js","../node_modules/tsparticles/Shapes/Text/index.js","../node_modules/tsparticles/Types/PathOptions.js","../node_modules/tsparticles/Types/RangeValue.js","../node_modules/tsparticles/Types/RecursivePartial.js","../node_modules/tsparticles/Types/ShapeData.js","../node_modules/tsparticles/Types/ShapeDrawerFunctions.js","../node_modules/tsparticles/Types/SingleOrMultiple.js","../node_modules/tsparticles/Types/index.js","../node_modules/tsparticles/Updaters/Angle/AngleUpdater.js","../node_modules/tsparticles/Updaters/Angle/index.js","../node_modules/tsparticles/Updaters/Color/ColorUpdater.js","../node_modules/tsparticles/Updaters/Color/index.js","../node_modules/tsparticles/Updaters/Life/LifeUpdater.js","../node_modules/tsparticles/Updaters/Life/index.js","../node_modules/tsparticles/Updaters/Opacity/OpacityUpdater.js","../node_modules/tsparticles/Updaters/Opacity/index.js","../node_modules/tsparticles/Updaters/OutModes/OutOfCanvasUpdater.js","../node_modules/tsparticles/Updaters/OutModes/Utils.js","../node_modules/tsparticles/Updaters/OutModes/index.js","../node_modules/tsparticles/Updaters/Roll/RollUpdater.js","../node_modules/tsparticles/Updaters/Roll/index.js","../node_modules/tsparticles/Updaters/Size/SizeUpdater.js","../node_modules/tsparticles/Updaters/Size/index.js","../node_modules/tsparticles/Updaters/StrokeColor/StrokeColorUpdater.js","../node_modules/tsparticles/Updaters/StrokeColor/index.js","../node_modules/tsparticles/Updaters/Tilt/TiltUpdater.js","../node_modules/tsparticles/Updaters/Tilt/index.js","../node_modules/tsparticles/Updaters/Wobble/WobbleUpdater.js","../node_modules/tsparticles/Updaters/Wobble/index.js","../node_modules/tsparticles/Utils/CanvasUtils.js","../node_modules/tsparticles/Utils/Circle.js","../node_modules/tsparticles/Utils/CircleWarp.js","../node_modules/tsparticles/Utils/ColorUtils.js","../node_modules/tsparticles/Utils/Constants.js","../node_modules/tsparticles/Utils/EventListeners.js","../node_modules/tsparticles/Utils/NumberUtils.js","../node_modules/tsparticles/Utils/Plugins.js","../node_modules/tsparticles/Utils/Point.js","../node_modules/tsparticles/Utils/QuadTree.js","../node_modules/tsparticles/Utils/Range.js","../node_modules/tsparticles/Utils/Rectangle.js","../node_modules/tsparticles/Utils/Utils.js","../node_modules/tsparticles/Utils/index.js","../node_modules/tsparticles/full.js","../node_modules/tsparticles/index.js","../node_modules/tsparticles/main.js","../node_modules/tsparticles/pjs.js","../node_modules/tsparticles/slim.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","pages/visualElements/ParticleSystem.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/index.tsx","pages/mainIndex.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/hooks/esm/usePrevious.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/react-bootstrap/esm/OffcanvasBody.js","../node_modules/react-bootstrap/esm/OffcanvasToggling.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/react-bootstrap/esm/OffcanvasHeader.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/OffcanvasTitle.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/superPropBase.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/get.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/typeof.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/createSuper.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../javascript/esm|D:/Portfolio/portfolio/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/react-bootstrap/esm/Offcanvas.js","../node_modules/react-bootstrap/esm/CardImg.js","../node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/react-bootstrap/esm/CardHeader.js","../node_modules/react-bootstrap/esm/Card.js","../node_modules/react-bootstrap/esm/CardGroup.js","pages/visualElements/DungeonGenerationInfoPanel.js","pages/visualElements/LockwoodPublishingInfoPanel.js","pages/visualElements/XRGamesInfoPanel.js","pages/visualElements/TLNInfoPanel.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/react-bootstrap/esm/Button.js","pages/visualElements/CodesidePanel.js","pages/visualElements/YoutubeEmbed.js","pages/code.js","../../packages/react-router-dom/index.tsx","App.js","index.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nmodule.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}\n\nmodule.exports = _createSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\n\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n\n return _get.apply(this, arguments);\n}\n\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n Object.defineProperty(subClass, \"prototype\", {\n value: Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n }),\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"regenerator-runtime\");\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n continue;\n }\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e>;\n }\n>();\n\nconst RootIds: WeakMap = new WeakMap();\nlet rootId = 0;\n\nlet unsupportedValue: boolean | undefined = undefined;\n\n/**\n * What should be the default behavior if the IntersectionObserver is unsupported?\n * Ideally the polyfill has been loaded, you can have the following happen:\n * - `undefined`: Throw an error\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\n * **/\nexport function defaultFallbackInView(inView: boolean | undefined) {\n unsupportedValue = inView;\n}\n\n/**\n * Generate a unique ID for the root element\n * @param root\n */\nfunction getRootId(root: IntersectionObserverInit['root']) {\n if (!root) return '0';\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\n\n/**\n * Convert the options to a string Id, based on the values.\n * Ensures we can reuse the same observer when observing elements with the same options.\n * @param options\n */\nexport function optionsToId(options: IntersectionObserverInit) {\n return Object.keys(options)\n .sort()\n .filter((key) => options[key] !== undefined)\n .map((key) => {\n return `${key}_${\n key === 'root' ? getRootId(options.root) : options[key]\n }`;\n })\n .toString();\n}\n\nfunction createObserver(options: IntersectionObserverInit) {\n // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n let id = optionsToId(options);\n let instance = observerMap.get(id);\n\n if (!instance) {\n // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n const elements = new Map>();\n let thresholds: number[] | readonly number[];\n\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n const inView =\n entry.isIntersecting &&\n thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n\n // @ts-ignore support IntersectionObserver v2\n if (options.trackVisibility && typeof entry.isVisible === 'undefined') {\n // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n // @ts-ignore\n entry.isVisible = inView;\n }\n\n elements.get(entry.target)?.forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n\n // Ensure we have a valid thresholds array. If not, use the threshold from the options\n thresholds =\n observer.thresholds ||\n (Array.isArray(options.threshold)\n ? options.threshold\n : [options.threshold || 0]);\n\n instance = {\n id,\n observer,\n elements,\n };\n\n observerMap.set(id, instance);\n }\n\n return instance;\n}\n\n/**\n * @param element - DOM Element to observe\n * @param callback - Callback function to trigger when intersection status changes\n * @param options - Intersection Observer options\n * @param fallbackInView - Fallback inView value.\n * @return Function - Cleanup function that should be triggered to unregister the observer\n */\nexport function observe(\n element: Element,\n callback: ObserverInstanceCallback,\n options: IntersectionObserverInit = {},\n fallbackInView = unsupportedValue,\n) {\n if (\n typeof window.IntersectionObserver === 'undefined' &&\n fallbackInView !== undefined\n ) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio:\n typeof options.threshold === 'number' ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds,\n });\n return () => {\n // Nothing to cleanup\n };\n }\n // An observer with the same options can be reused, so lets use this fact\n const { id, observer, elements } = createObserver(options);\n\n // Register the callback listener for this element\n let callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n\n callbacks.push(callback);\n observer.observe(element);\n\n return function unobserve() {\n // Remove the callback from the callback list\n callbacks.splice(callbacks.indexOf(callback), 1);\n\n if (callbacks.length === 0) {\n // No more callback exists for element, so destroy it\n elements.delete(element);\n observer.unobserve(element);\n }\n\n if (elements.size === 0) {\n // No more elements are being observer by this instance, so destroy it\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n","import * as React from 'react';\nimport { IntersectionObserverProps, PlainChildrenProps } from './index';\nimport { observe } from './observe';\n\ntype State = {\n inView: boolean;\n entry?: IntersectionObserverEntry;\n};\n\nfunction isPlainChildren(\n props: IntersectionObserverProps | PlainChildrenProps,\n): props is PlainChildrenProps {\n return typeof props.children !== 'function';\n}\n\n/**\n ## Render props\n\n To use the `` component, you pass it a function. It will be called\n whenever the state changes, with the new value of `inView`. In addition to the\n `inView` prop, children also receive a `ref` that should be set on the\n containing DOM element. This is the element that the IntersectionObserver will\n monitor.\n\n If you need it, you can also access the\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\n on `entry`, giving you access to all the details about the current intersection\n state.\n\n ```jsx\n import { InView } from 'react-intersection-observer';\n\n const Component = () => (\n \n {({ inView, ref, entry }) => (\n
\n

{`Header inside viewport ${inView}.`}

\n
\n )}\n
\n );\n\n export default Component;\n ```\n\n ## Plain children\n\n You can pass any element to the ``, and it will handle creating the\n wrapping DOM element. Add a handler to the `onChange` method, and control the\n state in your own component. Any extra props you add to `` will be\n passed to the HTML element, allowing you set the `className`, `style`, etc.\n\n ```jsx\n import { InView } from 'react-intersection-observer';\n\n const Component = () => (\n console.log('Inview:', inView)}>\n

Plain children are always rendered. Use onChange to monitor state.

\n
\n );\n\n export default Component;\n ```\n */\nexport class InView extends React.Component<\n IntersectionObserverProps | PlainChildrenProps,\n State\n> {\n static displayName = 'InView';\n static defaultProps = {\n threshold: 0,\n triggerOnce: false,\n initialInView: false,\n };\n\n constructor(props: IntersectionObserverProps | PlainChildrenProps) {\n super(props);\n this.state = {\n inView: !!props.initialInView,\n entry: undefined,\n };\n }\n\n componentDidUpdate(prevProps: IntersectionObserverProps) {\n // If a IntersectionObserver option changed, reinit the observer\n if (\n prevProps.rootMargin !== this.props.rootMargin ||\n prevProps.root !== this.props.root ||\n prevProps.threshold !== this.props.threshold ||\n prevProps.skip !== this.props.skip ||\n prevProps.trackVisibility !== this.props.trackVisibility ||\n prevProps.delay !== this.props.delay\n ) {\n this.unobserve();\n this.observeNode();\n }\n }\n\n componentWillUnmount() {\n this.unobserve();\n this.node = null;\n }\n\n node: Element | null = null;\n _unobserveCb: (() => void) | null = null;\n\n observeNode() {\n if (!this.node || this.props.skip) return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView,\n } = this.props;\n\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay,\n },\n fallbackInView,\n );\n }\n\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n\n handleNode = (node?: Element | null) => {\n if (this.node) {\n // Clear the old observer, before we start observing a new element\n this.unobserve();\n\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n // Reset the state if we get a new node, and we aren't ignoring updates\n this.setState({ inView: !!this.props.initialInView, entry: undefined });\n }\n }\n\n this.node = node ? node : null;\n this.observeNode();\n };\n\n handleChange = (inView: boolean, entry: IntersectionObserverEntry) => {\n if (inView && this.props.triggerOnce) {\n // If `triggerOnce` is true, we should stop observing the element.\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n // Store the current State, so we can pass it to the children in the next render update\n // There's no reason to update the state for plain children, since it's not used in the rendering.\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n // If the user is actively listening for onChange, always trigger it\n this.props.onChange(inView, entry);\n }\n };\n\n render() {\n if (!isPlainChildren(this.props)) {\n const { inView, entry } = this.state;\n return this.props.children({ inView, entry, ref: this.handleNode });\n }\n\n const {\n children,\n as,\n tag,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n\n return React.createElement(\n as || tag || 'div',\n { ref: this.handleNode, ...props },\n children,\n );\n }\n}\n","import * as React from 'react';\nimport { InViewHookResponse, IntersectionOptions } from './index';\nimport { useEffect } from 'react';\nimport { observe } from './observe';\n\ntype State = {\n inView: boolean;\n entry?: IntersectionObserverEntry;\n};\n\n/**\n * React Hooks make it easy to monitor the `inView` state of your components. Call\n * the `useInView` hook with the (optional) [options](#options) you need. It will\n * return an array containing a `ref`, the `inView` status and the current\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\n * report the status.\n *\n * @example\n * ```jsx\n * import React from 'react';\n * import { useInView } from 'react-intersection-observer';\n *\n * const Component = () => {\n * const { ref, inView, entry } = useInView({\n * threshold: 0,\n * });\n *\n * return (\n *
\n *

{`Header inside viewport ${inView}.`}

\n *
\n * );\n * };\n * ```\n */\nexport function useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n}: IntersectionOptions = {}): InViewHookResponse {\n const unobserve = React.useRef();\n const [state, setState] = React.useState({\n inView: !!initialInView,\n });\n const setRef = React.useCallback(\n (node) => {\n if (unobserve.current !== undefined) {\n unobserve.current();\n unobserve.current = undefined;\n }\n\n // Skip creating the observer\n if (skip) return;\n\n if (node) {\n unobserve.current = observe(\n node,\n (inView, entry) => {\n setState({ inView, entry });\n\n if (entry.isIntersecting && triggerOnce && unobserve.current) {\n // If it should only trigger once, unobserve the element after it's inView\n unobserve.current();\n unobserve.current = undefined;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay,\n },\n fallbackInView,\n );\n }\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string so it won't change between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Array.isArray(threshold) ? threshold.toString() : threshold,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay,\n ],\n );\n\n /* eslint-disable-next-line */\n useEffect(() => {\n if (!unobserve.current && state.entry && !triggerOnce && !skip) {\n // If we don't have a ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n setState({\n inView: !!initialInView,\n });\n }\n });\n\n const result = [setRef, state.inView, state.entry] as InViewHookResponse;\n\n // Support object destructuring, by adding the specific values.\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n\n return result;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*eslint sort-keys: [\"error\", \"asc\", {\"minKeys\":4}]*/\n\n/**\n * Special case for email icon to avoid duplicated code. Both e-mail and mailto share\n * the same icon. This allows existing users to use 'email' as a icon, while enabling\n * the exisitng logic to use the email icon when \"mailto:\" is present in the url.\n */\nvar EMAIL_ICON = {\n icon: 'M17,22v20h30V22H17z M41.1,25L32,32.1L22.9,25H41.1z M20,39V26.6l12,9.3l12-9.3V39H20z',\n mask: 'M41.1,25H22.9l9.1,7.1L41.1,25z M44,26.6l-12,9.3l-12-9.3V39h24V26.6z M0,0v64h64V0H0z M47,42H17V22h30V42z',\n color: '#7f7f7f'\n};\nvar _default = {\n bandsintown: {\n icon: 'M25.8,39.3h13.4v1.1H24.7V18h-5.6v28h25.8V33.7h-19V39.3z M31.4,24.7h-5.6v7.8h5.6V24.7z M38.2,24.7h-5.6v7.8h5.6V24.7z M39.3,18v14.6h5.6V18H39.3z',\n mask: 'M0,0v64h64V0H0z M32.6,24.7h5.6v7.8h-5.6V24.7z M25.8,24.7h5.6v7.8h-5.6V24.7z M44.9,46H19.1V18h5.6v22.4h14.6 v-1.1H25.8v-5.6h19V46z M44.9,32.6h-5.6V18h5.6V32.6z',\n color: '#1B8793'\n },\n behance: {\n icon: 'M29.1,31c0.8-0.4,1.5-0.9,1.9-1.5c0.4-0.6,0.6-1.4,0.6-2.3c0-0.9-0.1-1.6-0.4-2.2 c-0.3-0.6-0.7-1.1-1.2-1.4c-0.5-0.4-1.1-0.6-1.9-0.8c-0.7-0.2-1.5-0.2-2.4-0.2H17v18.5h8.9c0.8,0,1.6-0.1,2.4-0.3 c0.8-0.2,1.5-0.5,2.1-1c0.6-0.4,1.1-1,1.5-1.7c0.4-0.7,0.5-1.5,0.5-2.4c0-1.2-0.3-2.1-0.8-3C31.1,31.9,30.2,31.3,29.1,31z M21.1,25.7h3.8c0.4,0,0.7,0,1,0.1c0.3,0.1,0.6,0.2,0.9,0.3c0.3,0.2,0.5,0.4,0.6,0.6c0.2,0.3,0.2,0.6,0.2,1.1c0,0.8-0.2,1.3-0.7,1.7 c-0.5,0.3-1.1,0.5-1.8,0.5h-4.1V25.7z M28.2,36.7c-0.2,0.3-0.4,0.6-0.7,0.7c-0.3,0.2-0.6,0.3-1,0.4c-0.4,0.1-0.7,0.1-1.1,0.1h-4.3 v-5.1h4.4c0.9,0,1.6,0.2,2.1,0.6c0.5,0.4,0.8,1.1,0.8,2C28.4,36,28.3,36.4,28.2,36.7z M46.7,32.3c-0.2-0.9-0.6-1.8-1.2-2.5 C45,29,44.3,28.4,43.5,28c-0.8-0.4-1.8-0.7-3-0.7c-1,0-1.9,0.2-2.8,0.5c-0.8,0.4-1.6,0.9-2.2,1.5c-0.6,0.6-1.1,1.4-1.4,2.2 c-0.3,0.9-0.5,1.8-0.5,2.8c0,1,0.2,2,0.5,2.8c0.3,0.9,0.8,1.6,1.4,2.2c0.6,0.6,1.3,1.1,2.2,1.4c0.9,0.3,1.8,0.5,2.9,0.5 c1.5,0,2.8-0.3,3.9-1c1.1-0.7,1.9-1.8,2.4-3.4h-3.2c-0.1,0.4-0.4,0.8-1,1.2c-0.5,0.4-1.2,0.6-1.9,0.6c-1,0-1.8-0.3-2.4-0.8 c-0.6-0.5-0.9-1.5-0.9-2.6H47C47,34.2,47,33.2,46.7,32.3z M37.3,32.9c0-0.3,0.1-0.6,0.2-0.9c0.1-0.3,0.3-0.6,0.5-0.9 c0.2-0.3,0.5-0.5,0.9-0.7c0.4-0.2,0.9-0.3,1.5-0.3c0.9,0,1.6,0.3,2.1,0.7c0.4,0.5,0.8,1.2,0.8,2.1H37.3z M44.1,23.8h-7.5v1.8h7.5 V23.8z',\n mask: 'M40.4,30.1c-0.6,0-1.1,0.1-1.5,0.3c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,0.9c-0.1,0.3-0.2,0.6-0.2,0.9 h6c-0.1-0.9-0.4-1.6-0.8-2.1C42,30.3,41.3,30.1,40.4,30.1z M25.5,32.8h-4.4v5.1h4.3c0.4,0,0.8,0,1.1-0.1c0.4-0.1,0.7-0.2,1-0.4 c0.3-0.2,0.5-0.4,0.7-0.7c0.2-0.3,0.2-0.7,0.2-1.2c0-1-0.3-1.6-0.8-2C27.1,33,26.4,32.8,25.5,32.8z M27,29.5 c0.5-0.3,0.7-0.9,0.7-1.7c0-0.4-0.1-0.8-0.2-1.1c-0.2-0.3-0.4-0.5-0.6-0.6c-0.3-0.2-0.6-0.3-0.9-0.3c-0.3-0.1-0.7-0.1-1-0.1h-3.8 v4.3h4.1C25.9,30.1,26.5,29.9,27,29.5z M0,0v64h64V0H0z M36.6,23.8h7.5v1.8h-7.5V23.8z M31.9,38.1c-0.4,0.7-0.9,1.2-1.5,1.7 c-0.6,0.4-1.3,0.8-2.1,1c-0.8,0.2-1.6,0.3-2.4,0.3H17V22.6h8.7c0.9,0,1.7,0.1,2.4,0.2c0.7,0.2,1.3,0.4,1.9,0.8 c0.5,0.4,0.9,0.8,1.2,1.4c0.3,0.6,0.4,1.3,0.4,2.2c0,0.9-0.2,1.7-0.6,2.3c-0.4,0.6-1,1.1-1.9,1.5c1.1,0.3,2,0.9,2.5,1.7 c0.6,0.8,0.8,1.8,0.8,3C32.5,36.6,32.3,37.4,31.9,38.1z M47,35.3h-9.6c0,1.1,0.4,2.1,0.9,2.6c0.5,0.5,1.3,0.8,2.4,0.8 c0.7,0,1.4-0.2,1.9-0.6c0.5-0.4,0.9-0.8,1-1.2h3.2c-0.5,1.6-1.3,2.8-2.4,3.4c-1.1,0.7-2.4,1-3.9,1c-1.1,0-2-0.2-2.9-0.5 c-0.8-0.3-1.6-0.8-2.2-1.4c-0.6-0.6-1-1.4-1.4-2.2c-0.3-0.9-0.5-1.8-0.5-2.8c0-1,0.2-1.9,0.5-2.8c0.3-0.9,0.8-1.6,1.4-2.2 c0.6-0.6,1.3-1.1,2.2-1.5c0.8-0.4,1.8-0.5,2.8-0.5c1.1,0,2.1,0.2,3,0.7c0.8,0.4,1.5,1,2.1,1.8c0.5,0.7,0.9,1.6,1.2,2.5 C47,33.2,47,34.2,47,35.3z',\n color: '#007CFF'\n },\n clubhouse: {\n icon: 'M 0,0 H 64 V 64 H 0 Z',\n mask: 'M.03516.10352v64.16796h64.16796V.10352H.03517zm32.67578 15.42773c1.27648 0 2.23913.56594 2.80273 1.83984.82354-.53787 1.95547-.7372 2.91797-.48242 1.30479.33971 2.09883 1.24658 2.58008 4.02344.16985.88015.42298 1.95643.73437 2.89062.39633 1.19156.84993 2.12458 1.64258 3.51172.25478.42464.56556.90643.87696 1.35938l.25585-.50977c.76435-1.55957 2.26748-3.08789 4.44727-3.08789.93677 0 1.9553.34023 2.52148 1.30274.36802.53787.50977 1.1594.50977 1.69726 0 .73604-.31162 1.47288-.5664 2.03906-.05662.11324-.084.16896-.084.19727-.6511 1.35883-1.52929 3.06134-1.52929 5.04297 0 5.7493-2.12565 8.69592-3.76758 10.2246-1.6728 1.55958-4.27695 2.88868-7.30859 2.88868-2.15148 0-4.39038-.62256-6.23047-1.83984-2.5195-1.67023-4.05036-4.24896-5.4375-6.51368-1.13493-1.8967-1.95654-3.42436-3.17383-6.31445-.70772-1.61361-1.35861-3.28684-1.89648-5.07031-.48125-1.55957-.22765-2.6917.39258-3.42774.62537-.76434 1.50429-1.13283 2.4668-1.18945.16985 0 .3399.00099.50976.0293-.14155-.56618-.19922-1.04802-.19922-1.47266 0-1.84266 1.44707-3.20117 3.4004-3.20117.25477 0 .50985.02737.73632.08398-.0283-.3114-.05664-.56553-.05664-.8203 0-2.01252 1.6433-3.20118 3.45508-3.20118zm0 1.70117c-.82096 0-1.81055.42426-1.81055 1.5 0 .70773.19637 1.75487.39453 2.60156.33971.82354.39763 1.33373.82227 3.1172.25478 1.05.56555 1.95539.87695 2.74804.36802.96508.79223 1.78657 1.38672 2.89062.28309.53787.42605.53794 1.10547.16993.53787-.2831 1.32934-.6241 1.92383-.82227-1.01913-2.2081-1.86834-4.05043-2.29297-5.60742-.11324-.45295-.50981-2.2679-.62305-3.06055-.08493-.79265-.16902-1.471-.36719-2.20703-.22647-.90589-.53843-1.33008-1.41601-1.33008zm4.86718 1.25c-.44454-.00398-.9176.13975-1.21484.39453-.3114.2831-.42477.50806-.33984 1.13086.14154 1.3614.36826 2.40958.62304 3.4004.5945 2.32133 1.5842 4.13519 2.09375 5.21093.16986.36802.31262.51073.5957.48242.39633-.0283.62218-.0576.87696-.0293.3397.02831.5957.2267.5957.56641 0 .2831-.14278.39653-.65234.50977-1.04743.22647-2.37943.59404-3.68164 1.33008-1.10663.62537-2.06969 1.39009-2.94727 2.49414-.08492.11323-.17095.16992-.3125.16992-.19816 0-.36725-.22666-.5371-.45313-.16986-.22647-.2832-.39655-.2832-.5664 0-.19817.08503-.36827.2832-.62305.3114-.42464.67968-.73543.67968-.9336 0-.14154-.254-.48062-.48047-.87695-.36801-.67941-.99138-2.04142-1.41601-3.06054-.6511-1.557-1.1046-3.54053-1.35938-4.75782-.3114-1.33052-.79326-1.69921-1.5293-1.69921-1.01912 0-1.69726.5941-1.69726 1.5 0 .59706.19742 1.38919.59375 2.6914.25478.84927.50986 1.69848.73633 2.29297.36801 1.0217.82047 2.15466 1.2168 3.06055.36801.82096.90537 1.78437 1.16015 2.26562.14155.25478.39649.67882.39649.9336 0 .45294-.33808.70703-.79102.70703-.25478 0-.48155-.11344-.73633-.50977-.3114-.45552-.9914-1.78457-1.47265-2.77539-.36802-.82096-.99134-2.29533-1.30274-3.31445-.50956-1.61361-.84898-2.2373-1.72656-2.20899-.50956.02831-.9347.1984-1.2461.5664-.3114.39634-.33876 1.0189-.08398 1.83985.53787 1.72685 1.16229 3.31164 1.83398 4.93555 1.19156 2.8026 1.9565 4.24976 3.06055 6.08984 1.38714 2.26472 2.74794 4.53085 4.92774 5.97461 1.557 1.01913 3.45679 1.5586 5.29687 1.5586 2.57612 0 4.75934-1.13529 6.14649-2.4375 1.41802-1.30222 3.22851-3.85202 3.22851-8.97852 0-2.34965 1.01978-4.39213 1.64258-5.72266.16985-.3397.5371-1.04707.5371-1.55664 0-.22647-.05571-.5372-.19726-.76367-.25478-.39632-.65156-.53906-1.1328-.53906-1.50296 0-2.46605 1.13418-3.00392 2.125-.22647.42463-.39556.87617-.5371 1.35742-.3114 1.04744-.62341 1.47295-1.5293 2.20899-.48126.42463-1.07436.96208-1.41406 1.38672-.56618.76691-.73737 1.41837-.87891 2.4375-.02831.25478-.50903.36718-1.10352.36718-.3397 0-.45312-.11252-.45312-.65039 0-.56618.19841-1.41534.62305-2.17969.59448-1.04743 1.24537-1.61447 1.89648-2.15234.6511-.53787.84965-.7638.9629-1.10352-.5945-.79522-1.16035-1.61555-1.6133-2.4082-.82095-1.44376-1.35856-2.522-1.7832-3.82422-.3397-1.0217-.6231-2.21228-.79296-3.14648-.33971-1.9842-.67897-2.49226-1.33008-2.66211-.13447-.03539-.27955-.05336-.42773-.05469zm-23.04296.3125c.20637-.01372.43669.0524.69726.1875.80552.41949 3.64839 2.63281 4.1914 3.07031.52501.42207.45311.64058.17774 1.1836s-.5325.68176-1.02148.52734c-.97795-.30882-3.8801-2.06658-4.63672-2.51953-.68456-.41177-.77298-.78223-.29688-1.68555.2638-.49862.54472-.7408.88868-.76367zm-1.78907 9.43555c.1387-.014.29568-.00501.46875.01172.80295.0772 4.52137.68056 5.11328.86328.6125.19044.69768.4686.62305 1.0039-.09522.69486-.40907.82698-.81055.83985-.85441.02316-4.40417-.1292-5.21484-.20899-.70515-.06948-.99127-.38064-.91406-1.40234.06176-.82225.3183-1.06544.73437-1.10742zm7.76368 7.58398c.30798.01846.53917.21806.71289.65235.25478.63566.08012.88943-.4629 1.22656-.59963.37059-3.77807 2.0357-4.49609 2.30078-.51213.19044-1.06769.14539-1.39453-.82227-.40147-1.1967.1619-1.47961.96484-1.79101.7103-.27537 3.65724-1.34205 4.3418-1.52734.12031-.03217.23133-.04522.33399-.03907z',\n color: '#1F1F1A'\n },\n codepen: {\n icon: 'M24.4,35l6.8,4.5v-4L27.4,33L24.4,35z M23.8,30.6v2.7l2.1-1.4L23.8,30.6z M31.2,28.5v-4L24.4,29 l3,2L31.2,28.5z M39.6,29l-6.8-4.5v4l3.7,2.5L39.6,29z M32,30l-3,2l3,2l3-2L32,30z M32,16c-8.8,0-16,7.2-16,16c0,8.8,7.2,16,16,16 s16-7.2,16-16C48,23.2,40.8,16,32,16z M41.9,35.1c0,0.3-0.1,0.6-0.4,0.7l-9.1,5.9c-0.3,0.2-0.6,0.2-0.9,0l-9.1-5.9 c-0.2-0.2-0.4-0.4-0.4-0.7v-6.2c0-0.3,0.1-0.6,0.4-0.7l9.1-5.9c0.3-0.2,0.6-0.2,0.9,0l9.1,5.9c0.2,0.2,0.4,0.4,0.4,0.7V35.1z M32.8,35.5v4l6.8-4.5l-3-2L32.8,35.5z M40.2,33.4v-2.7L38.1,32L40.2,33.4z',\n mask: 'M0,0v64h64V0H0z M32,48c-8.8,0-16-7.2-16-16c0-8.8,7.2-16,16-16s16,7.2,16,16C48,40.8,40.8,48,32,48z M32.5,22.3 c-0.3-0.2-0.6-0.2-0.9,0l-9.1,5.9c-0.2,0.2-0.4,0.4-0.4,0.7v6.2c0,0.3,0.1,0.6,0.4,0.7l9.1,5.9c0.3,0.2,0.6,0.2,0.9,0l9.1-5.9 c0.2-0.2,0.4-0.4,0.4-0.7v-6.2c0-0.3-0.1-0.6-0.4-0.7L32.5,22.3z M32.8,24.5l6.8,4.5l-3,2l-3.7-2.5V24.5z M31.2,24.5v4L27.4,31l-3-2 L31.2,24.5z M23.8,30.6l2.1,1.4l-2.1,1.4V30.6z M31.2,39.5L24.4,35l3-2l3.7,2.5V39.5z M32,34l-3-2l3-2l3,2L32,34z M32.8,39.5v-4 l3.7-2.5l3,2L32.8,39.5z M40.2,33.4L38.1,32l2.1-1.4V33.4z',\n color: '#151515'\n },\n discord: {\n icon: 'M 0,0 H 64 V 64 H 0 Z',\n mask: 'M 0 0 L 0 64 L 64 64 L 64 0 L 0 0 z M 26.404297 16.828125 L 26.769531 17.259766 C 20.186671 19.137498 17.152344 21.990234 17.152344 21.990234 C 17.152344 21.990234 17.957407 21.557233 19.310547 20.943359 C 23.223697 19.246178 26.331328 18.778253 27.611328 18.669922 C 27.830758 18.633812 28.012992 18.597656 28.232422 18.597656 C 30.463282 18.308769 32.987954 18.236508 35.621094 18.525391 C 39.095384 18.922604 42.825476 19.931951 46.628906 21.990234 C 46.628906 21.990234 43.738624 19.282029 37.521484 17.404297 L 38.035156 16.828125 C 38.035156 16.828125 43.044257 16.719236 48.310547 20.619141 C 48.310547 20.619141 53.576172 30.044365 53.576172 41.671875 C 53.576172 41.671875 50.468999 46.907386 42.386719 47.160156 C 42.386719 47.160156 41.069796 45.606565 39.972656 44.234375 C 44.763516 42.898295 46.591797 39.9375 46.591797 39.9375 C 45.092367 40.91248 43.666719 41.598919 42.386719 42.068359 C 40.558139 42.826669 38.802844 43.332214 37.083984 43.621094 C 33.573124 44.271074 30.354188 44.091468 27.611328 43.585938 C 25.526758 43.188727 23.735758 42.610963 22.236328 42.033203 C 21.395188 41.708213 20.480696 41.310228 19.566406 40.804688 C 19.456696 40.732487 19.346048 40.69722 19.236328 40.625 C 19.163228 40.5889 19.126414 40.551755 19.089844 40.515625 C 18.431554 40.154535 18.066406 39.902344 18.066406 39.902344 C 18.066406 39.902344 19.822217 42.789919 24.466797 44.162109 C 23.369647 45.534299 22.015625 47.160156 22.015625 47.160156 C 13.933335 46.907386 10.861328 41.671875 10.861328 41.671875 C 10.861328 30.044375 16.128906 20.619141 16.128906 20.619141 C 21.395196 16.719236 26.404297 16.828125 26.404297 16.828125 z M 25.380859 30.296875 C 23.296289 30.296875 21.650391 32.101957 21.650391 34.304688 C 21.650391 36.507407 23.332859 38.3125 25.380859 38.3125 C 27.465429 38.3125 29.111328 36.507407 29.111328 34.304688 C 29.147928 32.101957 27.465429 30.296875 25.380859 30.296875 z M 38.728516 30.296875 C 36.643946 30.296875 34.998047 32.101957 34.998047 34.304688 C 34.998047 36.507407 36.680516 38.3125 38.728516 38.3125 C 40.813086 38.3125 42.458984 36.507407 42.458984 34.304688 C 42.458984 32.101957 40.813086 30.296875 38.728516 30.296875 z ',\n color: '#7289DA'\n },\n dribbble: {\n icon: 'M32,48c-8.8,0-16-7.2-16-16s7.2-16,16-16 s16,7.2,16,16S40.8,48,32,48z M45.5,34.2C45,34,41.3,32.9,37,33.6c1.8,4.9,2.5,8.9,2.7,9.7C42.7,41.3,44.9,38,45.5,34.2z M37.3,44.6 c-0.2-1.2-1-5.4-2.9-10.4c0,0-0.1,0-0.1,0c-7.7,2.7-10.5,8-10.7,8.5c2.3,1.8,5.2,2.9,8.4,2.9C33.9,45.7,35.7,45.3,37.3,44.6z M21.8,41.2c0.3-0.5,4.1-6.7,11.1-9c0.2-0.1,0.4-0.1,0.5-0.2c-0.3-0.8-0.7-1.6-1.1-2.3c-6.8,2-13.4,2-14,1.9c0,0.1,0,0.3,0,0.4 C18.3,35.5,19.7,38.7,21.8,41.2z M18.6,29.2c0.6,0,6.2,0,12.6-1.7c-2.3-4-4.7-7.4-5.1-7.9C22.4,21.5,19.5,25,18.6,29.2z M28.8,18.7 c0.4,0.5,2.9,3.9,5.1,8c4.9-1.8,6.9-4.6,7.2-4.9c-2.4-2.1-5.6-3.4-9.1-3.4C30.9,18.4,29.8,18.5,28.8,18.7z M42.6,23.4 c-0.3,0.4-2.6,3.3-7.6,5.4c0.3,0.7,0.6,1.3,0.9,2c0.1,0.2,0.2,0.5,0.3,0.7c4.5-0.6,9.1,0.3,9.5,0.4C45.6,28.7,44.5,25.7,42.6,23.4z',\n mask: 'M34.3,34.3c-7.7,2.7-10.5,8-10.7,8.5c2.3,1.8,5.2,2.9,8.4,2.9c1.9,0,3.7-0.4,5.3-1.1 C37.1,43.4,36.3,39.2,34.3,34.3C34.4,34.2,34.4,34.3,34.3,34.3z M31.3,27.6c-2.3-4-4.7-7.4-5.1-7.9c-3.8,1.8-6.7,5.3-7.6,9.6 C19.2,29.2,24.9,29.3,31.3,27.6z M33,32.1c0.2-0.1,0.4-0.1,0.5-0.2c-0.3-0.8-0.7-1.6-1.1-2.3c-6.8,2-13.4,2-14,1.9 c0,0.1,0,0.3,0,0.4c0,3.5,1.3,6.7,3.5,9.1C22.2,40.6,25.9,34.4,33,32.1z M41.1,21.8c-2.4-2.1-5.6-3.4-9.1-3.4 c-1.1,0-2.2,0.1-3.2,0.4c0.4,0.5,2.9,3.9,5.1,8C38.8,24.9,40.8,22.1,41.1,21.8z M34.9,28.8c0.3,0.7,0.6,1.3,0.9,2 c0.1,0.2,0.2,0.5,0.3,0.7c4.5-0.6,9.1,0.3,9.5,0.4c0-3.2-1.2-6.2-3.1-8.5C42.3,23.8,40,26.7,34.9,28.8z M37,33.6 c1.8,4.9,2.5,8.9,2.7,9.7c3.1-2.1,5.2-5.4,5.9-9.2C45,34,41.3,32.9,37,33.6z M0,0v64h64V0H0z M32,48c-8.8,0-16-7.2-16-16 s7.2-16,16-16s16,7.2,16,16S40.8,48,32,48z',\n color: '#ea4c89'\n },\n dropbox: {\n icon: 'M25.4,17.1L16,23.3l6.5,5.2l9.5-5.9L25.4,17.1z M16,33.7l9.4,6.1l6.6-5.5l-9.5-5.9L16,33.7z M32,34.3l6.6,5.5l9.4-6.1l-6.5-5.2L32,34.3z M48,23.3l-9.4-6.1L32,22.6l9.5,5.9L48,23.3z M32,35.5L25.4,41l-2.8-1.8v2.1l9.4,5.7 l9.4-5.7v-2.1L38.6,41L32,35.5z',\n mask: 'M0,0v64h64V0H0z M41.5,41.2L32,46.9l-9.4-5.7v-2.1l2.8,1.8l6.6-5.5l6.6,5.5l2.8-1.8V41.2z M48,33.7l-9.4,6.1 L32,34.3l-6.6,5.5L16,33.7l6.5-5.2L16,23.3l9.4-6.1l6.6,5.5l6.6-5.5l9.4,6.1l-6.5,5.2L48,33.7z M22.5,28.5l9.5,5.9l9.5-5.9L32,22.6 L22.5,28.5z',\n color: '#1081DE'\n },\n email: EMAIL_ICON,\n facebook: {\n icon: 'M34.1,47V33.3h4.6l0.7-5.3h-5.3v-3.4c0-1.5,0.4-2.6,2.6-2.6l2.8,0v-4.8c-0.5-0.1-2.2-0.2-4.1-0.2 c-4.1,0-6.9,2.5-6.9,7V28H24v5.3h4.6V47H34.1z',\n mask: 'M0,0v64h64V0H0z M39.6,22l-2.8,0c-2.2,0-2.6,1.1-2.6,2.6V28h5.3l-0.7,5.3h-4.6V47h-5.5V33.3H24V28h4.6V24 c0-4.6,2.8-7,6.9-7c2,0,3.6,0.1,4.1,0.2V22z',\n color: '#3b5998'\n },\n fivehundredpix: {\n icon: 'M42.9,27.6c-2.1,0-3.6,1-5.8,3.5c-1.9-2.5-3.8-3.5-5.8-3.5c-1.7,0-3.7,0.7-4.7,3.2 c-1-2-2.7-2.6-4.1-2.6c-1,0-2,0.2-2.9,1.1l0.6-3.3h6.2v-2.5h-8.4l-1.5,8v0.2h2.7c0.6-1,1.5-1.2,2.3-1.2c1.2,0,2.3,0.6,2.6,2.4v0.7 c-0.2,1.6-1.3,2.6-2.6,2.6c-1.1,0-2.3-0.6-2.4-2.2h-3v0.7c0,0.3,0.5,1.5,0.5,1.6c1.3,2.1,3.4,2.5,5,2.5c1.8,0,3.9-0.7,5.1-3.2 c1.1,2.4,3,3.1,4.8,3.1c2.1,0,3.5-0.9,5.7-3.3c1.9,2.3,3.7,3.3,5.7,3.3c3.4,0,5.1-2.6,5.1-5.6C48,30,46.2,27.6,42.9,27.6z M34.7,33.7c-0.4,0.4-1,0.9-1.4,1.1c-0.7,0.4-1.3,0.6-1.9,0.6c-0.6,0-1.7-0.4-2.1-1.3c-0.1-0.2-0.2-0.6-0.2-0.7v-0.9 c0.3-1.5,1.1-2.1,2.2-2.1c0.1,0,0.6,0,0.9,0.1c0.4,0.1,0.7,0.3,1.1,0.6c0.4,0.3,2,1.6,2,1.8C35.3,33.2,34.9,33.5,34.7,33.7z M42.9,35.5c-1.3,0-2.6-0.9-3.9-2.3c1.4-1.5,2.5-2.6,3.8-2.6c1.5,0,2.3,1.1,2.3,2.5C45.2,34.4,44.4,35.5,42.9,35.5z',\n mask: 'M33.3,31.3c-0.4-0.2-0.7-0.4-1.1-0.6c-0.3-0.1-0.8-0.1-0.9-0.1c-1.1,0-1.9,0.6-2.2,2.1v0.9c0,0.1,0.1,0.4,0.2,0.7 c0.3,0.9,1.4,1.3,2.1,1.3s1.2-0.2,1.9-0.6c0.5-0.3,1-0.7,1.4-1.1c0.2-0.2,0.5-0.5,0.5-0.6C35.3,32.8,33.7,31.6,33.3,31.3z M42.8,30.6c-1.3,0-2.4,1-3.8,2.6c1.3,1.5,2.6,2.3,3.9,2.3c1.5,0,2.2-1.1,2.2-2.4C45.2,31.7,44.3,30.6,42.8,30.6z M0,0v64h64V0H0z M42.9,38.5c-2,0-3.8-1-5.7-3.3c-2.2,2.4-3.7,3.3-5.7,3.3c-1.8,0-3.7-0.7-4.8-3.1c-1.2,2.5-3.3,3.2-5.1,3.2c-1.6,0-3.8-0.4-5-2.5 C16.5,36,16,34.8,16,34.5v-0.7h3c0.1,1.6,1.3,2.2,2.4,2.2c1.3,0,2.4-0.9,2.6-2.6v-0.7c-0.2-1.8-1.3-2.4-2.6-2.4 c-0.8,0-1.6,0.2-2.3,1.2h-2.7v-0.2l1.5-8h8.4v2.5h-6.2l-0.6,3.3c1-0.9,2-1.1,2.9-1.1c1.4,0,3.2,0.6,4.1,2.6c1-2.4,3-3.2,4.7-3.2 c2,0,3.9,1,5.8,3.5c2.1-2.6,3.7-3.5,5.8-3.5c3.3,0,5.1,2.4,5.1,5.4C48,35.9,46.2,38.5,42.9,38.5z',\n color: '#222222'\n },\n flickr: {\n icon: 'M32,16c-8.8,0-16,7.2-16,16s7.2,16,16,16s16-7.2,16-16S40.8,16,32,16z M26,37c-2.8,0-5-2.2-5-5 s2.2-5,5-5s5,2.2,5,5S28.8,37,26,37z M38,37c-2.8,0-5-2.2-5-5s2.2-5,5-5s5,2.2,5,5S40.8,37,38,37z',\n mask: 'M38,27c-2.8,0-5,2.2-5,5s2.2,5,5,5s5-2.2,5-5S40.8,27,38,27z M0,0v64h64V0H0z M32,48c-8.8,0-16-7.2-16-16 s7.2-16,16-16s16,7.2,16,16S40.8,48,32,48z M26,27c-2.8,0-5,2.2-5,5s2.2,5,5,5s5-2.2,5-5S28.8,27,26,27z',\n color: '#0063db'\n },\n foursquare: {\n icon: 'M41.5,17c0,0-14.3,0-16.5,0c-2.3,0-3,1.7-3,2.8c0,1.1,0,26.3,0,26.3c0,1.2,0.7,1.7,1,1.8 c0.4,0.1,1.4,0.3,2-0.4c0,0,7.8-9.1,7.9-9.2c0.2-0.2,0.2-0.2,0.4-0.2c0.4,0,3.4,0,5.1,0c2.1,0,2.5-1.5,2.7-2.4 c0.2-0.7,2.3-11.3,2.9-14.7C44.6,18.4,43.9,17,41.5,17z M41.1,35.7c0.2-0.7,2.3-11.3,2.9-14.7 M40.5,21.5l-0.7,3.6 c-0.1,0.4-0.6,0.8-1,0.8c-0.5,0-6.4,0-6.4,0c-0.7,0-1.2,0.5-1.2,1.2v0.8c0,0.7,0.5,1.2,1.2,1.2c0,0,5,0,5.5,0c0.5,0,1,0.6,0.9,1.1 c-0.1,0.5-0.6,3.3-0.7,3.6c-0.1,0.3-0.4,0.8-1,0.8c-0.5,0-4.5,0-4.5,0c-0.8,0-1.1,0.1-1.6,0.8c-0.5,0.7-5.4,6.5-5.4,6.5 c0,0.1-0.1,0-0.1,0V21.4c0-0.5,0.4-1,1-1c0,0,12.8,0,13.3,0C40.2,20.4,40.6,20.9,40.5,21.5z',\n mask: 'M39.7,20.4c-0.5,0-13.3,0-13.3,0c-0.6,0-1,0.5-1,1v20.5c0,0.1,0,0.1,0.1,0c0,0,4.9-5.9,5.4-6.5 c0.5-0.7,0.8-0.8,1.6-0.8c0,0,3.9,0,4.5,0c0.6,0,1-0.5,1-0.8c0.1-0.3,0.6-3,0.7-3.6c0.1-0.5-0.4-1.1-0.9-1.1c-0.5,0-5.5,0-5.5,0 c-0.7,0-1.2-0.5-1.2-1.2v-0.8c0-0.7,0.5-1.2,1.2-1.2c0,0,6,0,6.4,0c0.5,0,0.9-0.4,1-0.8l0.7-3.6C40.6,20.9,40.2,20.4,39.7,20.4z M0,0v64h64V0H0z M44,20.9l-1,5.2c-0.8,4.2-1.8,9-1.9,9.5c-0.2,0.9-0.6,2.4-2.7,2.4h-5.1c-0.2,0-0.2,0-0.4,0.2 c-0.1,0.1-7.9,9.2-7.9,9.2c-0.6,0.7-1.6,0.6-2,0.4c-0.4-0.1-1-0.6-1-1.8c0,0,0-25.2,0-26.3c0-1.1,0.7-2.8,3-2.8c2.3,0,16.5,0,16.5,0 C43.9,17,44.6,18.4,44,20.9z',\n color: '#0072b1'\n },\n github: {\n icon: 'M32,16c-8.8,0-16,7.2-16,16c0,7.1,4.6,13.1,10.9,15.2 c0.8,0.1,1.1-0.3,1.1-0.8c0-0.4,0-1.4,0-2.7c-4.5,1-5.4-2.1-5.4-2.1c-0.7-1.8-1.8-2.3-1.8-2.3c-1.5-1,0.1-1,0.1-1 c1.6,0.1,2.5,1.6,2.5,1.6c1.4,2.4,3.7,1.7,4.7,1.3c0.1-1,0.6-1.7,1-2.1c-3.6-0.4-7.3-1.8-7.3-7.9c0-1.7,0.6-3.2,1.6-4.3 c-0.2-0.4-0.7-2,0.2-4.2c0,0,1.3-0.4,4.4,1.6c1.3-0.4,2.6-0.5,4-0.5c1.4,0,2.7,0.2,4,0.5c3.1-2.1,4.4-1.6,4.4-1.6 c0.9,2.2,0.3,3.8,0.2,4.2c1,1.1,1.6,2.5,1.6,4.3c0,6.1-3.7,7.5-7.3,7.9c0.6,0.5,1.1,1.5,1.1,3c0,2.1,0,3.9,0,4.4 c0,0.4,0.3,0.9,1.1,0.8C43.4,45.1,48,39.1,48,32C48,23.2,40.8,16,32,16z',\n mask: 'M0,0v64h64V0H0z M37.1,47.2c-0.8,0.2-1.1-0.3-1.1-0.8c0-0.5,0-2.3,0-4.4c0-1.5-0.5-2.5-1.1-3 c3.6-0.4,7.3-1.7,7.3-7.9c0-1.7-0.6-3.2-1.6-4.3c0.2-0.4,0.7-2-0.2-4.2c0,0-1.3-0.4-4.4,1.6c-1.3-0.4-2.6-0.5-4-0.5 c-1.4,0-2.7,0.2-4,0.5c-3.1-2.1-4.4-1.6-4.4-1.6c-0.9,2.2-0.3,3.8-0.2,4.2c-1,1.1-1.6,2.5-1.6,4.3c0,6.1,3.7,7.5,7.3,7.9 c-0.5,0.4-0.9,1.1-1,2.1c-0.9,0.4-3.2,1.1-4.7-1.3c0,0-0.8-1.5-2.5-1.6c0,0-1.6,0-0.1,1c0,0,1,0.5,1.8,2.3c0,0,0.9,3.1,5.4,2.1 c0,1.3,0,2.3,0,2.7c0,0.4-0.3,0.9-1.1,0.8C20.6,45.1,16,39.1,16,32c0-8.8,7.2-16,16-16c8.8,0,16,7.2,16,16 C48,39.1,43.4,45.1,37.1,47.2z',\n color: '#24292e'\n },\n google: {\n icon: 'M35.4,17h-8c-1.1,0-2.2,0.1-3.4,0.4 c-1.2,0.3-2.4,0.9-3.5,1.8c-1.7,1.6-2.5,3.4-2.5,5.4c0,1.6,0.6,3.1,1.8,4.3c1.1,1.3,2.7,2,4.9,2c0.4,0,0.8,0,1.3-0.1 c-0.1,0.2-0.2,0.4-0.2,0.7c-0.1,0.2-0.2,0.5-0.2,0.9c0,0.6,0.1,1.1,0.4,1.5c0.2,0.4,0.5,0.8,0.8,1.2c-0.9,0-2.1,0.1-3.5,0.4 c-1.4,0.2-2.8,0.7-4.1,1.5c-1.2,0.7-1.9,1.5-2.4,2.4c-0.5,0.9-0.7,1.7-0.7,2.5c0,1.5,0.7,2.8,2.1,3.9c1.4,1.2,3.5,1.8,6.3,1.8 c3.3-0.1,5.9-0.9,7.7-2.4c1.7-1.5,2.6-3.2,2.6-5.2c0-1.4-0.3-2.5-0.9-3.3c-0.6-0.8-1.4-1.6-2.2-2.3l-1.4-1.1 c-0.2-0.2-0.4-0.4-0.6-0.7c-0.2-0.3-0.4-0.6-0.4-1c0-0.4,0.1-0.8,0.4-1.1c0.2-0.3,0.4-0.6,0.7-0.8c0.4-0.4,0.8-0.7,1.2-1.1 c0.3-0.4,0.6-0.7,0.9-1.2c0.6-0.9,0.9-2,0.9-3.4c0-0.8-0.1-1.5-0.3-2.1c-0.2-0.6-0.5-1.1-0.7-1.5c-0.3-0.5-0.6-0.8-0.9-1.2 c-0.3-0.3-0.6-0.5-0.8-0.7H33L35.4,17z M31,38.9c0.7,0.8,1,1.6,1,2.7c0,1.3-0.5,2.3-1.5,3.1c-1,0.8-2.4,1.2-4.3,1.3 c-2.1,0-3.8-0.5-5-1.4c-1.3-0.9-1.9-2.1-1.9-3.5c0-0.7,0.1-1.3,0.4-1.8c0.3-0.5,0.6-0.9,0.9-1.2c0.4-0.3,0.8-0.6,1.1-0.7 c0.4-0.2,0.7-0.3,0.9-0.4c0.9-0.3,1.7-0.5,2.5-0.6c0.8-0.1,1.4-0.1,1.6-0.1c0.3,0,0.6,0,0.9,0C29.2,37.3,30.3,38.2,31,38.9z M29.7,27.1c-0.1,0.5-0.3,1.1-0.7,1.6c-0.7,0.7-1.6,1.1-2.6,1.1c-0.8,0-1.6-0.3-2.2-0.8c-0.6-0.5-1.2-1.1-1.6-1.9 c-0.8-1.6-1.3-3.1-1.3-4.5c0-1.1,0.3-2.1,0.9-3c0.7-0.9,1.6-1.3,2.7-1.3c0.8,0,1.5,0.3,2.2,0.7c0.6,0.5,1.1,1.1,1.5,1.9 c0.8,1.6,1.2,3.2,1.2,4.8C29.8,26.1,29.8,26.5,29.7,27.1z M43.7,29.5v-4.3h-2.5v4.3H37V32h4.2v4.2h2.5V32H48v-2.5H43.7z',\n mask: 'M0,0v64h64V0H0z M31.3,19.1c0.3,0.3,0.6,0.7,0.9,1.2c0.3,0.4,0.5,0.9,0.7,1.5c0.2,0.6,0.3,1.3,0.3,2.1 c0,1.4-0.3,2.6-0.9,3.4c-0.3,0.4-0.6,0.8-0.9,1.2c-0.4,0.4-0.8,0.7-1.2,1.1c-0.2,0.2-0.5,0.5-0.7,0.8c-0.2,0.3-0.4,0.7-0.4,1.1 c0,0.4,0.1,0.8,0.4,1c0.2,0.3,0.4,0.5,0.6,0.7l1.4,1.1c0.8,0.7,1.6,1.5,2.2,2.3c0.6,0.8,0.9,2,0.9,3.3c0,1.9-0.9,3.7-2.6,5.2 c-1.8,1.6-4.3,2.4-7.7,2.4c-2.8,0-4.9-0.6-6.3-1.8c-1.4-1.1-2.1-2.4-2.1-3.9c0-0.7,0.2-1.6,0.7-2.5c0.4-0.9,1.2-1.7,2.4-2.4 c1.3-0.7,2.7-1.2,4.1-1.5c1.4-0.2,2.6-0.3,3.5-0.4c-0.3-0.4-0.5-0.8-0.8-1.2c-0.3-0.4-0.4-0.9-0.4-1.5c0-0.4,0-0.6,0.2-0.9 c0.1-0.2,0.2-0.5,0.2-0.7c-0.5,0.1-0.9,0.1-1.3,0.1c-2.1,0-3.8-0.7-4.9-2c-1.2-1.2-1.8-2.7-1.8-4.3c0-2,0.8-3.8,2.5-5.4 c1.1-0.9,2.3-1.6,3.5-1.8c1.2-0.2,2.3-0.4,3.4-0.4h8L33,18.4h-2.5C30.7,18.6,31,18.8,31.3,19.1z M48,32h-4.3v4.2h-2.5V32H37v-2.5 h4.2v-4.3h2.5v4.3H48V32z M27.1,19.1c-0.6-0.5-1.4-0.7-2.2-0.7c-1.1,0-2,0.5-2.7,1.3c-0.6,0.9-0.9,1.9-0.9,3c0,1.5,0.4,3,1.3,4.5 c0.4,0.7,0.9,1.4,1.6,1.9c0.6,0.5,1.4,0.8,2.2,0.8c1.1,0,1.9-0.4,2.6-1.1c0.3-0.5,0.6-1,0.7-1.6c0.1-0.5,0.1-1,0.1-1.4 c0-1.6-0.4-3.2-1.2-4.8C28.2,20.2,27.7,19.5,27.1,19.1z M26.9,36.2c-0.2,0-0.7,0-1.6,0.1c-0.8,0.1-1.7,0.3-2.5,0.6 c-0.2,0.1-0.5,0.2-0.9,0.4c-0.4,0.2-0.7,0.4-1.1,0.7c-0.4,0.3-0.7,0.7-0.9,1.2c-0.3,0.5-0.4,1.1-0.4,1.8c0,1.4,0.6,2.6,1.9,3.5 c1.2,0.9,2.9,1.4,5,1.4c1.9,0,3.3-0.4,4.3-1.3c1-0.8,1.5-1.8,1.5-3.1c0-1-0.3-1.9-1-2.7c-0.7-0.7-1.8-1.6-3.3-2.6 C27.5,36.2,27.2,36.2,26.9,36.2z',\n color: '#dd4b39'\n },\n google_play: {\n icon: 'M24.4,45.6l16-8.8l-3.6-3.6L24.4,45.6z M22.2,18.5c-0.1,0.2-0.2,0.5-0.2,0.9v25.1 c0,0.4,0.1,0.6,0.2,0.9L35.6,32L22.2,18.5z M47.1,30.8L42.1,28L38.1,32l4,4l5-2.8C48.3,32.5,48.3,31.4,47.1,30.8z M40.4,27.1 l-15.9-8.8l12.3,12.3L40.4,27.1z',\n mask: 'M0,0v64h64V0H0z M40.4,27.1l-3.6,3.6L24.5,18.4L40.4,27.1z M22,44.5V19.4c0-0.4,0.1-0.7,0.2-0.9L35.6,32 L22.2,45.4C22.1,45.2,22,44.9,22,44.5z M24.4,45.6l12.4-12.4l3.6,3.6L24.4,45.6z M47.1,33.2l-5,2.8l-4-4l3.9-3.9l5.1,2.8 C48.3,31.4,48.3,32.5,47.1,33.2z',\n color: '#40BBC1'\n },\n instagram: {\n icon: 'M 39.88,25.89 C 40.86,25.89 41.65,25.10 41.65,24.12 41.65,23.14 40.86,22.35 39.88,22.35 38.90,22.35 38.11,23.14 38.11,24.12 38.11,25.10 38.90,25.89 39.88,25.89 Z M 32.00,24.42 C 27.82,24.42 24.42,27.81 24.42,32.00 24.42,36.19 27.82,39.58 32.00,39.58 36.18,39.58 39.58,36.18 39.58,32.00 39.58,27.82 36.18,24.42 32.00,24.42 Z M 32.00,36.92 C 29.28,36.92 27.08,34.72 27.08,32.00 27.08,29.28 29.28,27.08 32.00,27.08 34.72,27.08 36.92,29.28 36.92,32.00 36.92,34.72 34.72,36.92 32.00,36.92 Z M 32.00,19.90 C 35.94,19.90 36.41,19.92 37.96,19.99 39.41,20.05 40.19,20.29 40.71,20.50 41.40,20.77 41.89,21.08 42.41,21.60 42.92,22.12 43.24,22.61 43.51,23.30 43.71,23.82 43.95,24.60 44.02,26.04 44.09,27.60 44.11,28.06 44.11,32.01 44.11,35.95 44.09,36.41 44.02,37.97 43.95,39.41 43.71,40.19 43.51,40.71 43.24,41.40 42.92,41.90 42.41,42.41 41.89,42.93 41.40,43.25 40.71,43.51 40.19,43.71 39.41,43.96 37.96,44.02 36.41,44.09 35.94,44.11 32.00,44.11 28.06,44.11 27.59,44.09 26.04,44.02 24.59,43.96 23.81,43.72 23.29,43.51 22.60,43.24 22.11,42.93 21.59,42.41 21.08,41.90 20.76,41.40 20.49,40.71 20.29,40.19 20.05,39.41 19.98,37.97 19.91,36.41 19.89,35.95 19.89,32.01 19.89,28.06 19.91,27.60 19.98,26.04 20.05,24.60 20.29,23.82 20.49,23.30 20.76,22.61 21.08,22.12 21.59,21.60 22.11,21.08 22.60,20.76 23.29,20.50 23.81,20.30 24.59,20.05 26.04,19.99 27.59,19.91 28.06,19.90 32.00,19.90 Z M 32.00,17.24 C 27.99,17.24 27.49,17.26 25.91,17.33 24.34,17.40 23.27,17.65 22.33,18.01 21.36,18.39 20.54,18.90 19.72,19.72 18.90,20.54 18.39,21.37 18.01,22.33 17.65,23.27 17.40,24.34 17.33,25.92 17.26,27.49 17.24,27.99 17.24,32.00 17.24,36.01 17.26,36.51 17.33,38.09 17.40,39.66 17.65,40.73 18.01,41.67 18.39,42.65 18.90,43.47 19.72,44.29 20.54,45.11 21.37,45.61 22.33,45.99 23.27,46.36 24.34,46.61 25.92,46.68 27.49,46.75 27.99,46.77 32.01,46.77 36.02,46.77 36.52,46.75 38.09,46.68 39.66,46.61 40.74,46.36 41.68,45.99 42.65,45.62 43.47,45.11 44.29,44.29 45.11,43.47 45.62,42.64 46.00,41.67 46.36,40.74 46.61,39.66 46.68,38.09 46.75,36.51 46.77,36.01 46.77,32.00 46.77,27.99 46.75,27.49 46.68,25.91 46.61,24.34 46.36,23.27 46.00,22.33 45.62,21.35 45.11,20.53 44.29,19.71 43.47,18.89 42.65,18.39 41.68,18.01 40.74,17.64 39.67,17.39 38.09,17.32 36.51,17.26 36.01,17.24 32.00,17.24 Z',\n mask: 'M0,0v64h64V0H0z M 42.03,23.99 C 42.03,24.99 41.22,25.79 40.23,25.79 39.23,25.79 38.43,24.99 38.43,23.99 38.43,22.99 39.23,22.19 40.23,22.19 41.22,22.19 42.03,22.99 42.03,23.99 Z M 24.52,31.99 C 24.52,27.74 27.97,24.29 32.22,24.29 36.47,24.29 39.92,27.75 39.92,31.99 39.92,36.24 36.47,39.70 32.22,39.70 27.97,39.70 24.52,36.25 24.52,31.99 Z M 27.22,31.99 C 27.22,34.76 29.46,36.99 32.22,36.99 34.98,36.99 37.22,34.76 37.22,31.99 37.22,29.23 34.98,27.00 32.22,27.00 29.46,27.00 27.22,29.23 27.22,31.99 Z M 38.28,19.79 C 36.70,19.72 36.22,19.70 32.22,19.70 28.22,19.70 27.74,19.71 26.17,19.79 24.69,19.85 23.90,20.11 23.37,20.31 22.67,20.58 22.17,20.90 21.65,21.43 21.13,21.96 20.80,22.46 20.53,23.16 20.33,23.68 20.08,24.48 20.01,25.94 19.94,27.52 19.92,27.99 19.92,32.01 19.92,36.01 19.94,36.48 20.01,38.06 20.08,39.52 20.33,40.32 20.53,40.84 20.80,41.54 21.13,42.05 21.65,42.57 22.17,43.10 22.67,43.41 23.37,43.69 23.90,43.90 24.69,44.15 26.17,44.21 27.74,44.28 28.22,44.30 32.22,44.30 36.22,44.30 36.70,44.28 38.28,44.21 39.75,44.15 40.54,43.89 41.07,43.69 41.77,43.42 42.27,43.10 42.80,42.57 43.32,42.05 43.64,41.54 43.91,40.84 44.12,40.32 44.36,39.52 44.43,38.06 44.50,36.48 44.52,36.01 44.52,32.01 44.52,27.99 44.50,27.52 44.43,25.94 44.36,24.48 44.12,23.68 43.91,23.16 43.64,22.46 43.32,21.96 42.80,21.43 42.27,20.90 41.77,20.59 41.07,20.31 40.54,20.10 39.75,19.85 38.28,19.79 Z M 26.03,17.09 C 27.64,17.02 28.15,17.00 32.22,17.00 36.27,17.00 36.80,17.02 38.38,17.08 38.38,17.08 38.41,17.08 38.41,17.08 40.01,17.15 41.10,17.41 42.06,17.78 43.04,18.17 43.87,18.68 44.71,19.51 45.54,20.34 46.06,21.18 46.44,22.17 46.81,23.13 47.06,24.21 47.14,25.81 47.21,27.41 47.23,27.92 47.23,31.99 47.23,36.07 47.21,36.58 47.14,38.18 47.06,39.78 46.81,40.87 46.44,41.82 46.06,42.80 45.54,43.65 44.71,44.48 43.87,45.31 43.04,45.83 42.06,46.21 41.10,46.58 40.00,46.84 38.41,46.91 36.81,46.98 36.31,47.00 32.23,47.00 28.15,47.00 27.64,46.98 26.04,46.91 24.44,46.84 23.35,46.58 22.40,46.21 21.42,45.82 20.58,45.31 19.75,44.48 18.91,43.65 18.39,42.81 18.01,41.82 17.64,40.86 17.39,39.78 17.32,38.18 17.25,36.58 17.23,36.07 17.23,31.99 17.23,27.92 17.25,27.41 17.32,25.82 17.39,24.21 17.64,23.13 18.01,22.17 18.39,21.20 18.91,20.35 19.75,19.52 20.58,18.69 21.41,18.17 22.40,17.78 23.35,17.42 24.44,17.16 26.03,17.09 Z',\n color: '#e94475'\n },\n \"itch.io\": {\n icon: 'M 0,0 H 64 V 64 H 0 Z',\n mask: 'M 0 0 L 0 64 L 64 64 L 64 0 L 0 0 z M 32 16 C 36.482469 15.999275 39.489763 16.027944 43.828125 16.197266 C 45.223688 17.11826 47.973899 20.631595 48 21.552734 L 48 23.076172 C 48 25.008914 46.375769 26.707031 44.900391 26.707031 C 43.128974 26.707031 41.652344 25.07576 41.652344 23.138672 C 41.652344 25.07576 40.226756 26.707031 38.455078 26.707031 C 36.68353 26.707031 35.302734 25.07576 35.302734 23.138672 C 35.302734 25.07576 33.787432 26.707031 32.015625 26.707031 L 31.984375 26.707031 C 30.212699 26.707031 28.697266 25.07576 28.697266 23.138672 C 28.697266 25.07576 27.316728 26.707031 25.544922 26.707031 C 23.773245 26.707031 22.347656 25.07576 22.347656 23.138672 C 22.347526 25.07576 20.871157 26.707031 19.099609 26.707031 C 17.624234 26.707031 16 25.008624 16 23.076172 L 16 21.552734 C 16.026082 20.63174 18.776052 17.11855 20.171875 16.197266 C 21.406769 16.077682 27.517662 16.000435 32 16 z M 28.673828 25.796875 A 3.6505562 4.0580007 0 0 0 29.292969 26.689453 A 3.7155025 4.1301957 0 0 0 31.894531 27.867188 C 31.930136 27.867188 31.964779 27.866621 32 27.865234 C 32.035221 27.866088 32.07219 27.867188 32.107422 27.867188 A 3.7155025 4.1301957 0 0 0 34.708984 26.689453 A 3.6502954 4.0577109 0 0 0 35.326172 25.796875 A 3.6548598 4.0627847 0 0 0 35.949219 26.689453 C 36.617985 27.416189 37.534472 27.867188 38.544922 27.867188 A 3.7141985 4.1287462 0 0 0 41.146484 26.689453 C 41.388792 26.425753 41.573442 26.142952 41.742188 25.814453 C 41.910814 26.143677 42.1458 26.425338 42.388672 26.689453 A 3.7168066 4.1316454 0 0 0 44.990234 27.867188 C 45.112172 27.867188 45.239291 27.830162 45.341797 27.791016 C 45.484209 29.439616 45.543344 31.01503 45.564453 32.164062 L 45.566406 32.169922 C 45.569073 32.753426 45.571445 33.23411 45.574219 33.900391 C 45.546831 37.359375 45.881298 45.110721 44.201172 47.015625 C 41.597581 47.690463 36.806287 47.998187 32 48 C 27.193582 47.998115 22.402421 47.690463 19.798828 47.015625 C 18.118702 45.110865 18.455126 37.359375 18.427734 33.900391 C 18.430401 33.233965 18.432987 32.753281 18.435547 32.169922 L 18.435547 32.164062 C 18.456799 31.015319 18.515782 29.439616 18.658203 27.791016 C 18.760709 27.830151 18.887947 27.867188 19.009766 27.867188 A 3.7168066 4.1316454 0 0 0 21.611328 26.689453 C 21.85416 26.425316 22.089324 26.143533 22.257812 25.814453 C 22.426437 26.142953 22.611207 26.425606 22.853516 26.689453 A 3.7144592 4.129036 0 0 0 25.455078 27.867188 C 26.465659 27.867188 27.382014 27.416332 28.050781 26.689453 A 3.6548598 4.0627847 0 0 0 28.673828 25.796875 z M 37.998047 29.636719 L 37.998047 29.638672 L 37.996094 29.638672 C 36.938044 29.640989 35.998583 29.639715 34.833984 31.052734 C 33.917302 30.94591 32.958545 30.891191 32 30.892578 C 31.041455 30.890977 30.082567 30.945897 29.166016 31.052734 C 28.001416 29.63986 27.061956 29.641019 26.003906 29.638672 L 26.001953 29.638672 C 25.502078 29.638672 23.502722 29.638165 22.109375 33.988281 L 20.613281 39.955078 C 19.504239 44.394801 20.966648 44.503759 22.792969 44.507812 C 25.50128 44.395752 27.001953 42.209586 27.001953 40.023438 C 28.501065 40.296565 30.250885 40.433594 32 40.433594 C 33.748987 40.433449 35.498804 40.296562 36.998047 40.023438 C 36.998047 42.209586 38.496636 44.395759 41.205078 44.507812 C 43.031397 44.503898 44.495762 44.39464 43.386719 39.955078 L 41.890625 33.988281 C 40.497278 29.638166 38.497925 29.636719 37.998047 29.636719 z M 32 33.056641 C 32 33.056641 34.851013 35.967594 35.363281 37.001953 L 33.498047 36.919922 L 33.498047 38.728516 C 33.498047 38.813166 32.749101 38.778784 32 38.740234 C 31.250641 38.778805 30.501953 38.813177 30.501953 38.728516 L 30.501953 36.919922 L 28.636719 37.001953 C 29.148854 35.967594 31.997653 33.059414 32 33.056641 z ',\n color: '#fa5c5c'\n },\n itunes: {\n icon: 'M41.1,17c-0.1,0-0.2,0-0.3,0l-14.7,3c-0.6,0.1-1.1,0.7-1.1,1.4v17.6c0,0.8-0.6,1.4-1.4,1.4 h-2.8c-1.9,0-3.4,1.5-3.4,3.4c0,1.9,1.5,3.4,3.4,3.4h2c2.2,0,4-1.8,4-4V27.4c0-0.4,0.3-0.8,0.7-0.9l12.1-2.4c0.1,0,0.1,0,0.2,0 c0.5,0,0.9,0.4,0.9,0.9v11c0,0.8-0.6,1.4-1.4,1.4h-2.8c-1.9,0-3.4,1.5-3.4,3.4c0,1.9,1.5,3.4,3.4,3.4h2c2.2,0,4-1.8,4-4V18.4 C42.5,17.6,41.9,17,41.1,17z',\n mask: 'M0,0v64h64V0H0z M42.5,40c0,2.2-1.8,4-4,4h-2c-1.9,0-3.4-1.5-3.4-3.4s1.5-3.4,3.4-3.4h2.8c0.8,0,1.4-0.6,1.4-1.4 v-11c0-0.5-0.4-0.9-0.9-0.9c-0.1,0-0.1,0-0.2,0l-12.1,2.4c-0.4,0.1-0.7,0.4-0.7,0.9V43c0,2.2-1.8,4-4,4h-2c-1.9,0-3.4-1.5-3.4-3.4 c0-1.9,1.5-3.4,3.4-3.4h2.8c0.8,0,1.4-0.6,1.4-1.4V21.3c0-0.7,0.5-1.2,1.1-1.4l14.7-3c0.1,0,0.2,0,0.3,0c0.8,0,1.4,0.6,1.4,1.4V40z',\n color: '#E049D1'\n },\n linkedin: {\n icon: 'M20.4,44h5.4V26.6h-5.4V44z M23.1,18c-1.7,0-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3.1,3.1 c1.7,0,3.1-1.4,3.1-3.1C26.2,19.4,24.8,18,23.1,18z M39.5,26.2c-2.6,0-4.4,1.4-5.1,2.8h-0.1v-2.4h-5.2V44h5.4v-8.6 c0-2.3,0.4-4.5,3.2-4.5c2.8,0,2.8,2.6,2.8,4.6V44H46v-9.5C46,29.8,45,26.2,39.5,26.2z',\n mask: 'M0,0v64h64V0H0z M25.8,44h-5.4V26.6h5.4V44z M23.1,24.3c-1.7,0-3.1-1.4-3.1-3.1c0-1.7,1.4-3.1,3.1-3.1 c1.7,0,3.1,1.4,3.1,3.1C26.2,22.9,24.8,24.3,23.1,24.3z M46,44h-5.4v-8.4c0-2,0-4.6-2.8-4.6c-2.8,0-3.2,2.2-3.2,4.5V44h-5.4V26.6 h5.2V29h0.1c0.7-1.4,2.5-2.8,5.1-2.8c5.5,0,6.5,3.6,6.5,8.3V44z',\n color: '#007fb1'\n },\n mailto: EMAIL_ICON,\n medium: {\n icon: 'M47,23.7h-1.2c-0.4,0-0.9,0.6-0.9,1v14.7c0,0.4,0.5,1,0.9,1H47v3.4H36.4v-3.4h2.1V24.9h-0.1 l-5.3,18.9h-4.1l-5.2-18.9h-0.1v15.5H26v3.4h-9v-3.4h1.2c0.5,0,1-0.6,1-1V24.7c0-0.4-0.5-1-1-1H17v-3.6h11.3l3.7,13.8h0.1l3.7-13.8 H47V23.7z',\n mask: 'M0,0v64h64V0H0z M47,23.7h-1.2c-0.4,0-0.9,0.6-0.9,1v14.7c0,0.4,0.5,1,0.9,1H47v3.4H36.4v-3.4h2.1V24.9h-0.1 l-5.3,18.9h-4.1l-5.2-18.9h-0.1v15.5H26v3.4h-9v-3.4h1.2c0.5,0,1-0.6,1-1V24.7c0-0.4-0.5-1-1-1H17v-3.6h11.3l3.7,13.8h0.1l3.7-13.8 H47V23.7z',\n color: '#333332'\n },\n meetup: {\n icon: 'M30.8,33.4c0-6.3,1.9-11.9,3.5-15.3c0.5-1.1,0.9-1.4,1.9-1.4c1.3,0,2.9,0.2,4.1,0.4 c1.1,0.2,1.5,1.6,1.7,2.5c1.2,4.5,4.7,18.7,5.5,22.4c0.2,0.8,0.6,2,0.1,2.3c-0.4,0.2-2.5,0.9-3.9,1c-0.6,0.1-1.1-0.6-1.4-1.5 c-1.5-4.6-3.5-11.8-5.2-16.6c0,3.7-0.3,10.8-0.4,12c-0.1,1.7-0.4,3.7-1.8,3.9c-1.1,0.2-2.4,0.4-4,0.4c-1.3,0-1.8-0.9-2.4-1.8 c-1-1.4-3.1-4.8-4.1-6.9c0.3,2.3,0.7,4.7,0.9,5.8c0.1,0.8,0,1.5-0.6,1.9c-1,0.7-3.2,1.4-4.1,1.4c-0.8,0-1.5-0.8-1.6-1.6 c-0.7-3.4-1.2-8-1.1-11.1c0-2.8,0-5.9,0.2-8.3c0-0.7,0.3-1.1,0.9-1.4c1.2-0.5,3-0.6,4.7-0.3c0.8,0.1,1,0.8,1.4,1.4 C26.9,25.5,28.9,29.5,30.8,33.4z',\n mask: 'M0,0v64h64V0H0z M47.8,44.3c-0.4,0.2-2.5,0.9-3.9,1c-0.6,0.1-1.1-0.6-1.4-1.5c-1.5-4.6-3.5-11.8-5.2-16.6 c0,3.7-0.3,10.8-0.4,12c-0.1,1.7-0.4,3.7-1.8,3.9c-1.1,0.2-2.4,0.4-4,0.4c-1.3,0-1.8-0.9-2.4-1.8c-1-1.4-3.1-4.8-4.1-6.9 c0.3,2.3,0.7,4.7,0.9,5.8c0.1,0.8,0,1.5-0.6,1.9c-1,0.7-3.2,1.4-4.1,1.4c-0.8,0-1.5-0.8-1.6-1.6c-0.7-3.4-1.2-8-1.1-11.1 c0-2.8,0-5.9,0.2-8.3c0-0.7,0.3-1.1,0.9-1.4c1.2-0.5,3-0.6,4.7-0.3c0.8,0.1,1,0.8,1.4,1.4c1.7,2.8,3.8,6.7,5.7,10.6 c0-6.3,1.9-11.9,3.5-15.3c0.5-1.1,0.9-1.4,1.9-1.4c1.3,0,2.9,0.2,4.1,0.4c1.1,0.2,1.5,1.6,1.7,2.5c1.2,4.5,4.7,18.7,5.5,22.4 C47.8,42.8,48.3,44,47.8,44.3z',\n color: '#E51937'\n },\n pinterest: {\n icon: 'M32,16c-8.8,0-16,7.2-16,16c0,6.6,3.9,12.2,9.6,14.7c0-1.1,0-2.5,0.3-3.7 c0.3-1.3,2.1-8.7,2.1-8.7s-0.5-1-0.5-2.5c0-2.4,1.4-4.1,3.1-4.1c1.5,0,2.2,1.1,2.2,2.4c0,1.5-0.9,3.7-1.4,5.7 c-0.4,1.7,0.9,3.1,2.5,3.1c3,0,5.1-3.9,5.1-8.5c0-3.5-2.4-6.1-6.7-6.1c-4.9,0-7.9,3.6-7.9,7.7c0,1.4,0.4,2.4,1.1,3.1 c0.3,0.3,0.3,0.5,0.2,0.9c-0.1,0.3-0.3,1-0.3,1.3c-0.1,0.4-0.4,0.6-0.8,0.4c-2.2-0.9-3.3-3.4-3.3-6.1c0-4.5,3.8-10,11.4-10 c6.1,0,10.1,4.4,10.1,9.2c0,6.3-3.5,11-8.6,11c-1.7,0-3.4-0.9-3.9-2c0,0-0.9,3.7-1.1,4.4c-0.3,1.2-1,2.5-1.6,3.4 c1.4,0.4,3,0.7,4.5,0.7c8.8,0,16-7.2,16-16C48,23.2,40.8,16,32,16z',\n mask: 'M0,0v64h64V0H0z M32,48c-1.6,0-3.1-0.2-4.5-0.7c0.6-1,1.3-2.2,1.6-3.4c0.2-0.7,1.1-4.4,1.1-4.4 c0.6,1.1,2.2,2,3.9,2c5.1,0,8.6-4.7,8.6-11c0-4.7-4-9.2-10.1-9.2c-7.6,0-11.4,5.5-11.4,10c0,2.8,1,5.2,3.3,6.1 c0.4,0.1,0.7,0,0.8-0.4c0.1-0.3,0.2-1,0.3-1.3c0.1-0.4,0.1-0.5-0.2-0.9c-0.6-0.8-1.1-1.7-1.1-3.1c0-4,3-7.7,7.9-7.7 c4.3,0,6.7,2.6,6.7,6.1c0,4.6-2,8.5-5.1,8.5c-1.7,0-2.9-1.4-2.5-3.1c0.5-2,1.4-4.2,1.4-5.7c0-1.3-0.7-2.4-2.2-2.4 c-1.7,0-3.1,1.8-3.1,4.1c0,1.5,0.5,2.5,0.5,2.5s-1.8,7.4-2.1,8.7c-0.3,1.2-0.3,2.6-0.3,3.7C19.9,44.2,16,38.6,16,32 c0-8.8,7.2-16,16-16c8.8,0,16,7.2,16,16C48,40.8,40.8,48,32,48z',\n color: '#cb2128'\n },\n rdio: {\n icon: 'M47.3,25.7c-3.2,0.1-7.1-2.4-8.7-3.4c-0.1-0.1-0.3-0.2-0.4-0.2c-0.2-0.1-0.3-0.2-0.5-0.3v9.3h0 c0,0.8-0.2,1.7-0.8,2.6l0,0.1c-1.5,2.4-4.7,3.9-7.7,2.9c-2.9-1-3.7-3.8-2.1-6.3l0-0.1c1.5-2.4,4.7-3.9,7.7-2.9 c0.2,0.1,0.4,0.2,0.6,0.3v-6.8c-1.1-0.3-2.2-0.5-3.4-0.5c-6.9,0-12,5.2-12,11.6v0.1c0,6.4,5.1,11.5,12,11.5c6.9,0,12-5.2,12-11.6 v-0.1c0-0.5,0-1-0.1-1.5C47.5,29.5,49,25.8,47.3,25.7z',\n mask: 'M0,0v64h64V0H0z M43.9,30.5c0.1,0.5,0.1,1,0.1,1.5V32c0,6.4-5.1,11.6-12,11.6c-6.9,0-12-5.1-12-11.5V32 c0-6.4,5.1-11.6,12-11.6c1.2,0,2.3,0.2,3.4,0.5v6.8c-0.2-0.1-0.4-0.2-0.6-0.3c-3-1-6.2,0.4-7.7,2.9l0,0.1c-1.5,2.5-0.8,5.3,2.1,6.3 c3,1,6.2-0.4,7.7-2.9l0-0.1c0.5-0.8,0.8-1.7,0.8-2.6h0v-9.3c0.2,0.1,0.3,0.2,0.5,0.3c0.1,0.1,0.3,0.2,0.4,0.2c1.5,1,5.4,3.5,8.7,3.4 C49,25.8,47.5,29.5,43.9,30.5z',\n color: '#0475C5'\n },\n reddit: {\n icon: 'M 53.34375 32 C 53.277344 30.160156 52.136719 28.53125 50.429688 27.839844 C 48.722656 27.148438 46.769531 27.523438 45.441406 28.800781 C 41.800781 26.324219 37.519531 24.957031 33.121094 24.863281 L 35.199219 14.878906 L 42.046875 16.320312 C 42.214844 17.882812 43.496094 19.09375 45.066406 19.171875 C 46.636719 19.253906 48.03125 18.183594 48.359375 16.644531 C 48.6875 15.105469 47.847656 13.558594 46.382812 12.992188 C 44.914062 12.425781 43.253906 13.007812 42.464844 14.367188 L 34.625 12.800781 C 34.363281 12.742188 34.09375 12.792969 33.871094 12.9375 C 33.648438 13.082031 33.492188 13.308594 33.441406 13.566406 L 31.070312 24.671875 C 26.617188 24.738281 22.277344 26.105469 18.59375 28.609375 C 17.242188 27.339844 15.273438 26.988281 13.570312 27.707031 C 11.863281 28.429688 10.746094 30.089844 10.71875 31.941406 C 10.691406 33.789062 11.757812 35.484375 13.441406 36.257812 C 13.402344 36.726562 13.402344 37.195312 13.441406 37.664062 C 13.441406 44.832031 21.792969 50.65625 32.097656 50.65625 C 42.398438 50.65625 50.753906 44.832031 50.753906 37.664062 C 50.789062 37.195312 50.789062 36.726562 50.753906 36.257812 C 52.363281 35.453125 53.371094 33.800781 53.34375 32 Z M 21.34375 35.199219 C 21.34375 33.433594 22.777344 32 24.542969 32 C 26.3125 32 27.742188 33.433594 27.742188 35.199219 C 27.742188 36.96875 26.3125 38.398438 24.542969 38.398438 C 22.777344 38.398438 21.34375 36.96875 21.34375 35.199219 Z M 39.9375 44 C 37.664062 45.710938 34.871094 46.582031 32.03125 46.464844 C 29.191406 46.582031 26.398438 45.710938 24.128906 44 C 23.847656 43.65625 23.871094 43.15625 24.183594 42.839844 C 24.5 42.527344 25 42.503906 25.34375 42.785156 C 27.269531 44.195312 29.617188 44.90625 32 44.800781 C 34.386719 44.929688 36.746094 44.242188 38.6875 42.847656 C 39.042969 42.503906 39.605469 42.511719 39.953125 42.863281 C 40.296875 43.21875 40.289062 43.785156 39.9375 44.128906 Z M 39.359375 38.527344 C 37.59375 38.527344 36.160156 37.09375 36.160156 35.328125 C 36.160156 33.5625 37.59375 32.128906 39.359375 32.128906 C 41.128906 32.128906 42.558594 33.5625 42.558594 35.328125 C 42.59375 36.203125 42.269531 37.054688 41.65625 37.6875 C 41.046875 38.316406 40.203125 38.664062 39.328125 38.65625 Z M 39.359375 38.527344',\n mask: 'M0,0v64h64V0H0z M 53.34375 32 C 53.277344 30.160156 52.136719 28.53125 50.429688 27.839844 C 48.722656 27.148438 46.769531 27.523438 45.441406 28.800781 C 41.800781 26.324219 37.519531 24.957031 33.121094 24.863281 L 35.199219 14.878906 L 42.046875 16.320312 C 42.214844 17.882812 43.496094 19.09375 45.066406 19.171875 C 46.636719 19.253906 48.03125 18.183594 48.359375 16.644531 C 48.6875 15.105469 47.847656 13.558594 46.382812 12.992188 C 44.914062 12.425781 43.253906 13.007812 42.464844 14.367188 L 34.625 12.800781 C 34.363281 12.742188 34.09375 12.792969 33.871094 12.9375 C 33.648438 13.082031 33.492188 13.308594 33.441406 13.566406 L 31.070312 24.671875 C 26.617188 24.738281 22.277344 26.105469 18.59375 28.609375 C 17.242188 27.339844 15.273438 26.988281 13.570312 27.707031 C 11.863281 28.429688 10.746094 30.089844 10.71875 31.941406 C 10.691406 33.789062 11.757812 35.484375 13.441406 36.257812 C 13.402344 36.726562 13.402344 37.195312 13.441406 37.664062 C 13.441406 44.832031 21.792969 50.65625 32.097656 50.65625 C 42.398438 50.65625 50.753906 44.832031 50.753906 37.664062 C 50.789062 37.195312 50.789062 36.726562 50.753906 36.257812 C 52.363281 35.453125 53.371094 33.800781 53.34375 32 Z M 21.34375 35.199219 C 21.34375 33.433594 22.777344 32 24.542969 32 C 26.3125 32 27.742188 33.433594 27.742188 35.199219 C 27.742188 36.96875 26.3125 38.398438 24.542969 38.398438 C 22.777344 38.398438 21.34375 36.96875 21.34375 35.199219 Z M 39.9375 44 C 37.664062 45.710938 34.871094 46.582031 32.03125 46.464844 C 29.191406 46.582031 26.398438 45.710938 24.128906 44 C 23.847656 43.65625 23.871094 43.15625 24.183594 42.839844 C 24.5 42.527344 25 42.503906 25.34375 42.785156 C 27.269531 44.195312 29.617188 44.90625 32 44.800781 C 34.386719 44.929688 36.746094 44.242188 38.6875 42.847656 C 39.042969 42.503906 39.605469 42.511719 39.953125 42.863281 C 40.296875 43.21875 40.289062 43.785156 39.9375 44.128906 Z M 39.359375 38.527344 C 37.59375 38.527344 36.160156 37.09375 36.160156 35.328125 C 36.160156 33.5625 37.59375 32.128906 39.359375 32.128906 C 41.128906 32.128906 42.558594 33.5625 42.558594 35.328125 C 42.59375 36.203125 42.269531 37.054688 41.65625 37.6875 C 41.046875 38.316406 40.203125 38.664062 39.328125 38.65625 Z M 39.359375 38.527344',\n color: '#FF4500'\n },\n rss: {\n icon: 'M24,36c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4s4-1.8,4-4C28,37.8,26.2,36,24,36z M23,18 c-1.1,0-2,0.9-2,2s0.9,2,2,2c10.5,0,19,8.5,19,19c0,1.1,0.9,2,2,2s2-0.9,2-2C46,28.3,35.7,18,23,18z M23,27c-1.1,0-2,0.9-2,2 s0.9,2,2,2c5.5,0,10,4.5,10,10c0,1.1,0.9,2,2,2s2-0.9,2-2C37,33.3,30.7,27,23,27z',\n mask: 'M0,0v64h64V0H0z M24,44c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4s4,1.8,4,4C28,42.2,26.2,44,24,44z M35,43 c-1.1,0-2-0.9-2-2c0-5.5-4.5-10-10-10c-1.1,0-2-0.9-2-2s0.9-2,2-2c7.7,0,14,6.3,14,14C37,42.1,36.1,43,35,43z M44,43 c-1.1,0-2-0.9-2-2c0-10.5-8.5-19-19-19c-1.1,0-2-0.9-2-2s0.9-2,2-2c12.7,0,23,10.3,23,23C46,42.1,45.1,43,44,43z',\n color: '#EF8733'\n },\n sharethis: {\n icon: 'M28.3875,32.0001C28.3875,32.0843 28.3683,32.1632 28.3633,32.2471L37.1647,36.6464C37.9182,36.0083 38.8823,35.61 39.9474,35.61C42.3418,35.6105 44.2821,37.5509 44.2821,39.945C44.2821,42.3418 42.3417,44.2821 39.9474,44.2821C37.551,44.2821 35.6127,42.3417 35.6127,39.945C35.6127,39.8587 35.6319,39.7816 35.6367,39.698L26.8353,35.2984C26.0795,35.9341 25.1177,36.3324 24.0526,36.3324C21.6584,36.3324 19.7179,34.3941 19.7179,32.0001C19.7179,29.6036 21.6584,27.6628 24.0526,27.6628C25.1176,27.6628 26.0798,28.0635 26.8353,28.6992L35.6367,24.2997C35.6319,24.2156 35.6127,24.1365 35.6127,24.0502C35.6127,21.6584 37.551,19.7179 39.9474,19.7179C42.3418,19.7179 44.2821,21.6584 44.2821,24.0502C44.2821,26.4466 42.3417,28.3875 39.9474,28.3875C38.88,28.3875 37.9178,27.9868 37.1647,27.3487L28.3633,31.7506C28.368,31.8347 28.3875,31.9138 28.3875,32.0001Z',\n mask: 'M0,0L64,0L64,64L0,64L0,0ZM28.3875,32.0001C28.3875,32.0843 28.3683,32.1632 28.3633,32.2471L37.1647,36.6464C37.9182,36.0083 38.8823,35.61 39.9474,35.61C42.3418,35.6105 44.2821,37.5509 44.2821,39.945C44.2821,42.3418 42.3417,44.2821 39.9474,44.2821C37.551,44.2821 35.6127,42.3417 35.6127,39.945C35.6127,39.8587 35.6319,39.7816 35.6367,39.698L26.8353,35.2984C26.0795,35.9341 25.1177,36.3324 24.0526,36.3324C21.6584,36.3324 19.7179,34.3941 19.7179,32.0001C19.7179,29.6036 21.6584,27.6628 24.0526,27.6628C25.1176,27.6628 26.0798,28.0635 26.8353,28.6992L35.6367,24.2997C35.6319,24.2156 35.6127,24.1365 35.6127,24.0502C35.6127,21.6584 37.551,19.7179 39.9474,19.7179C42.3418,19.7179 44.2821,21.6584 44.2821,24.0502C44.2821,26.4466 42.3417,28.3875 39.9474,28.3875C38.88,28.3875 37.9178,27.9868 37.1647,27.3487L28.3633,31.7506C28.368,31.8347 28.3875,31.9138 28.3875,32.0001Z',\n color: '#00BF00'\n },\n smugmug: {\n icon: 'M25.4,22.9c2.8,0,4.1-1.7,3.9-3.1 c-0.1-1.2-1.3-2.4-3.6-2.4c-1.9,0-3.1,1.4-3.3,2.8C22.3,21.6,23.1,23,25.4,22.9z M39.2,22.6c2.6-0.1,3.8-1.5,3.8-2.8 c0-1.5-1.4-3-3.8-2.8c-1.9,0.2-3,1.5-3.2,2.8C35.9,21.3,36.9,22.7,39.2,22.6z M40.9,28.5c-6.6,0.7-6.9,0.7-19,1 c-5.1,0-4,17.5,6.9,17.5C39.2,47,51.7,27.4,40.9,28.5z M29,43.9c-9.5,0-8.2-11.3-6.6-11.4c11.1-0.4,13.9-0.9,17.8-0.9 C44.3,31.6,36.6,43.9,29,43.9z',\n mask: 'M0,0v64h64V0H0z M36.1,19.8c0.2-1.3,1.3-2.6,3.2-2.8c2.4-0.2,3.8,1.3,3.8,2.8c0,1.3-1.2,2.6-3.8,2.8 C36.9,22.7,35.9,21.3,36.1,19.8z M22.5,20.2c0.2-1.4,1.4-2.8,3.3-2.8c2.3,0,3.5,1.1,3.6,2.4c0.2,1.5-1.1,3.1-3.9,3.1 C23.1,23,22.3,21.6,22.5,20.2z M28.8,47c-10.9,0-12-17.5-6.9-17.5c12.1-0.3,12.5-0.3,19-1C51.7,27.4,39.2,47,28.8,47z M40.3,31.6 c-3.9,0-6.8,0.5-17.8,0.9c-1.6,0.1-2.9,11.4,6.6,11.4C36.6,43.9,44.3,31.6,40.3,31.6z',\n color: '#8cca1e'\n },\n snapchat: {\n icon: 'M32.309,15.962h-0.001c-0.028,0-0.054,0-0.078,0.001l0,0c0,0-0.513,0.005-0.554,0.005c-1.32,0-5.794,0.368-7.905,5.1c-0.71,1.592-0.54,4.296-0.403,6.469c0.016,0.256,0.033,0.522,0.048,0.779c-0.109,0.06-0.309,0.136-0.622,0.136c-0.419,0-0.914-0.132-1.472-0.394c-0.148-0.069-0.319-0.104-0.507-0.104c-0.653,0-1.434,0.43-1.555,1.07c-0.088,0.461,0.119,1.134,1.601,1.719c0.134,0.053,0.294,0.104,0.464,0.158c0.612,0.194,1.538,0.488,1.789,1.08c0.13,0.306,0.078,0.701-0.154,1.172c-0.005,0.011-0.01,0.021-0.015,0.032c-0.081,0.19-2.04,4.655-6.389,5.371c-0.334,0.055-0.573,0.353-0.555,0.692c0.006,0.101,0.03,0.201,0.071,0.298c0.326,0.763,1.703,1.322,4.21,1.711c0.084,0.113,0.171,0.514,0.224,0.758c0.052,0.241,0.106,0.489,0.183,0.751c0.076,0.257,0.272,0.565,0.776,0.565c0.204,0,0.444-0.047,0.723-0.102c0.418-0.082,0.99-0.193,1.706-0.193c0.397,0,0.809,0.035,1.223,0.103c0.809,0.135,1.496,0.621,2.292,1.183c1.14,0.806,2.431,1.718,4.393,1.718c0.054,0,0.108-0.002,0.162-0.006c0.064,0.003,0.146,0.006,0.234,0.006c1.963,0,3.253-0.913,4.392-1.718c0.798-0.563,1.484-1.049,2.293-1.184c0.414-0.069,0.825-0.103,1.222-0.103c0.683,0,1.223,0.087,1.706,0.181c0.302,0.059,0.545,0.089,0.723,0.089l0.019,0h0.018c0.373,0,0.636-0.197,0.74-0.554c0.076-0.256,0.13-0.498,0.183-0.743c0.053-0.243,0.14-0.642,0.223-0.754c2.508-0.389,3.884-0.948,4.21-1.707c0.042-0.097,0.066-0.198,0.072-0.3c0.019-0.339-0.22-0.636-0.554-0.691c-4.351-0.717-6.308-5.181-6.389-5.371c-0.005-0.011-0.01-0.022-0.015-0.032c-0.232-0.471-0.284-0.865-0.154-1.172c0.251-0.592,1.176-0.885,1.788-1.079c0.171-0.054,0.332-0.106,0.465-0.158c1.085-0.428,1.629-0.954,1.617-1.564c-0.009-0.478-0.382-0.905-0.974-1.117l-0.002-0.001c-0.199-0.083-0.436-0.128-0.667-0.128c-0.158,0-0.393,0.022-0.613,0.124c-0.516,0.242-0.98,0.373-1.379,0.391c-0.265-0.012-0.439-0.079-0.537-0.134c0.013-0.22,0.027-0.447,0.042-0.685l0.006-0.092c0.137-2.174,0.307-4.881-0.403-6.474C38.117,16.33,33.633,15.962,32.309,15.962L32.309,15.962z',\n mask: 'M0,0v64h64V0H0z M47.927,39.545c-0.326,0.76-1.702,1.318-4.21,1.707c-0.083,0.113-0.17,0.511-0.223,0.754c-0.054,0.245-0.108,0.487-0.183,0.743c-0.104,0.357-0.367,0.554-0.74,0.554h-0.018l-0.019,0c-0.177,0-0.421-0.03-0.723-0.089c-0.482-0.094-1.022-0.181-1.706-0.181c-0.397,0-0.809,0.034-1.222,0.103c-0.809,0.135-1.496,0.62-2.293,1.184c-1.139,0.805-2.43,1.718-4.392,1.718c-0.088,0-0.171-0.003-0.234-0.006c-0.054,0.004-0.108,0.006-0.162,0.006c-1.962,0-3.253-0.912-4.393-1.718c-0.796-0.562-1.483-1.048-2.292-1.183c-0.414-0.069-0.826-0.103-1.223-0.103c-0.716,0-1.288,0.112-1.706,0.193c-0.278,0.055-0.519,0.102-0.723,0.102c-0.505,0-0.701-0.308-0.776-0.565c-0.077-0.262-0.131-0.51-0.183-0.751c-0.053-0.244-0.14-0.644-0.224-0.758c-2.507-0.389-3.884-0.948-4.21-1.711c-0.041-0.097-0.065-0.197-0.071-0.298c-0.019-0.338,0.22-0.637,0.555-0.692c4.349-0.716,6.308-5.181,6.389-5.371c0.005-0.011,0.01-0.021,0.015-0.032c0.232-0.471,0.284-0.866,0.154-1.172c-0.251-0.592-1.177-0.885-1.789-1.08c-0.17-0.054-0.331-0.105-0.464-0.157c-1.482-0.585-1.688-1.258-1.601-1.719c0.122-0.64,0.903-1.07,1.555-1.07c0.189,0,0.359,0.035,0.507,0.104c0.557,0.261,1.053,0.394,1.472,0.394c0.314,0,0.513-0.075,0.622-0.136c-0.015-0.257-0.032-0.523-0.048-0.779c-0.136-2.173-0.307-4.877,0.403-6.469c2.111-4.732,6.585-5.1,7.905-5.1c0.041,0,0.554-0.005,0.554-0.005c0.025-0.001,0.051-0.001,0.078-0.001h0.001c1.324,0,5.807,0.368,7.919,5.103c0.711,1.593,0.54,4.299,0.403,6.474l-0.006,0.092c-0.015,0.237-0.029,0.464-0.042,0.685c0.099,0.055,0.272,0.121,0.537,0.134c0.4-0.018,0.863-0.149,1.379-0.391c0.219-0.103,0.454-0.124,0.613-0.124c0.232,0,0.468,0.045,0.667,0.128l0.002,0.001c0.592,0.212,0.965,0.638,0.974,1.117c0.011,0.609-0.533,1.135-1.617,1.564c-0.132,0.052-0.293,0.103-0.465,0.158c-0.612,0.194-1.538,0.488-1.788,1.079c-0.13,0.306-0.079,0.701,0.154,1.172c0.005,0.011,0.01,0.021,0.015,0.032c0.081,0.189,2.038,4.654,6.389,5.371c0.334,0.055,0.573,0.353,0.555,0.691C47.993,39.347,47.969,39.448,47.927,39.545z',\n color: '#FFC91B'\n },\n soundcloud: {\n icon: 'M43.6,30c-0.6,0-1.2,0.1-1.7,0.3c-0.3-4-3.7-7.1-7.7-7.1c-1,0-2,0.2-2.8,0.5 C31.1,23.9,31,24,31,24.3v13.9c0,0.3,0.2,0.5,0.5,0.5c0,0,12.2,0,12.2,0c2.4,0,4.4-1.9,4.4-4.4C48,31.9,46,30,43.6,30z M27.2,25.1 c-0.7,0-1.2,0.5-1.2,1.1v11.3c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2V26.2C28.4,25.6,27.8,25.1,27.2,25.1z M22.2,27.8 c-0.7,0-1.2,0.5-1.2,1.1v8.5c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2V29C23.4,28.3,22.9,27.8,22.2,27.8z M17.2,30.2 c-0.7,0-1.2,0.5-1.2,1.1v4.9c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2v-4.9C18.5,30.7,17.9,30.2,17.2,30.2z',\n mask: 'M0,0v64h64V0H0z M18.5,36.3c0,0.7-0.6,1.2-1.2,1.2c-0.7,0-1.2-0.6-1.2-1.2v-4.9c0-0.6,0.6-1.1,1.2-1.1 c0.7,0,1.2,0.5,1.2,1.1V36.3z M23.4,37.5c0,0.7-0.6,1.2-1.2,1.2S21,38.2,21,37.5V29c0-0.6,0.6-1.1,1.2-1.1s1.2,0.5,1.2,1.1V37.5z M28.4,37.5c0,0.7-0.6,1.2-1.2,1.2c-0.7,0-1.2-0.6-1.2-1.2V26.2c0-0.6,0.6-1.1,1.2-1.1c0.7,0,1.2,0.5,1.2,1.1V37.5z M43.6,38.7 c0,0-12.1,0-12.2,0c-0.3,0-0.5-0.2-0.5-0.5V24.3c0-0.3,0.1-0.4,0.4-0.5c0.9-0.3,1.8-0.5,2.8-0.5c4,0,7.4,3.1,7.7,7.1 c0.5-0.2,1.1-0.3,1.7-0.3c2.4,0,4.4,2,4.4,4.4C48,36.8,46,38.7,43.6,38.7z',\n color: '#FF5700'\n },\n spotify: {\n icon: 'M32,16c-8.8,0-16,7.2-16,16c0,8.8,7.2,16,16,16c8.8,0,16-7.2,16-16C48,23.2,40.8,16,32,16 M39.3,39.1c-0.3,0.5-0.9,0.6-1.4,0.3c-3.8-2.3-8.5-2.8-14.1-1.5c-0.5,0.1-1.1-0.2-1.2-0.7c-0.1-0.5,0.2-1.1,0.8-1.2 c6.1-1.4,11.3-0.8,15.5,1.8C39.5,38,39.6,38.6,39.3,39.1 M41.3,34.7c-0.4,0.6-1.1,0.8-1.7,0.4c-4.3-2.6-10.9-3.4-15.9-1.9 c-0.7,0.2-1.4-0.2-1.6-0.8c-0.2-0.7,0.2-1.4,0.8-1.6c5.8-1.8,13-0.9,18,2.1C41.5,33.4,41.7,34.1,41.3,34.7 M41.5,30.2 c-5.2-3.1-13.7-3.3-18.6-1.9c-0.8,0.2-1.6-0.2-1.9-1c-0.2-0.8,0.2-1.6,1-1.9c5.7-1.7,15-1.4,21,2.1c0.7,0.4,0.9,1.3,0.5,2.1 C43.1,30.4,42.2,30.6,41.5,30.2',\n mask: 'M39,37.7c-4.2-2.6-9.4-3.2-15.5-1.8c-0.5,0.1-0.9,0.7-0.8,1.2c0.1,0.5,0.7,0.9,1.2,0.7c5.6-1.3,10.3-0.8,14.1,1.5 c0.5,0.3,1.1,0.1,1.4-0.3C39.6,38.6,39.5,38,39,37.7z M40.9,33c-4.9-3-12.2-3.9-18-2.1c-0.7,0.2-1,0.9-0.8,1.6 c0.2,0.7,0.9,1,1.6,0.8c5.1-1.5,11.6-0.8,15.9,1.9c0.6,0.4,1.4,0.2,1.7-0.4C41.7,34.1,41.5,33.4,40.9,33z M0,0v64h64V0H0z M32,48 c-8.8,0-16-7.2-16-16c0-8.8,7.2-16,16-16c8.8,0,16,7.2,16,16C48,40.8,40.8,48,32,48z M43,27.6c-5.9-3.5-15.3-3.9-21-2.1 c-0.8,0.2-1.2,1.1-1,1.9c0.2,0.8,1.1,1.2,1.9,1c4.9-1.5,13.4-1.2,18.6,1.9c0.7,0.4,1.6,0.2,2.1-0.5C43.9,29,43.7,28,43,27.6z',\n color: '#2EBD59'\n },\n squarespace: {\n icon: 'M46.2,27.6c-2.4-2.4-6.3-2.4-8.7,0l-9.8,9.8c-0.6,0.6-0.6,1.6,0,2.2c0.6,0.6,1.6,0.6,2.2,0 l9.8-9.8c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.6,9.6c1.2,1.2,3.2,1.2,4.4,0l7.5-7.5C48.6,34,48.6,30,46.2,27.6z M42.9,30.9c-0.6-0.6-1.6-0.6-2.2,0l-9.8,9.8c-1.2,1.2-3.2,1.2-4.4,0c-0.6-0.6-1.6-0.6-2.2,0c-0.6,0.6-0.6,1.6,0,2.2 c2.4,2.4,6.3,2.4,8.7,0l9.8-9.8C43.5,32.5,43.5,31.5,42.9,30.9z M39.6,21.1c-2.4-2.4-6.3-2.4-8.7,0l-9.8,9.8c-0.6,0.6-0.6,1.6,0,2.2 c0.6,0.6,1.6,0.6,2.2,0l9.8-9.8c1.2-1.2,3.2-1.2,4.4,0c0.6,0.6,1.6,0.6,2.2,0C40.2,22.7,40.2,21.7,39.6,21.1z M36.4,24.4 c-0.6-0.6-1.6-0.6-2.2,0l-9.8,9.8c-1.2,1.2-3.2,1.2-4.4,0c-1.2-1.2-1.2-3.2,0-4.4l9.6-9.6c-1.2-1.2-3.2-1.2-4.4,0l-7.5,7.5 c-2.4,2.4-2.4,6.3,0,8.7c2.4,2.4,6.3,2.4,8.7,0l9.8-9.8C37,25.9,37,25,36.4,24.4z',\n mask: 'M0,0v64h64V0H0z M39.6,21.1c0.6,0.6,0.6,1.6,0,2.2c-0.6,0.6-1.6,0.6-2.2,0c-1.2-1.2-3.2-1.2-4.4,0l-9.8,9.8 c-0.6,0.6-1.6,0.6-2.2,0c-0.6-0.6-0.6-1.6,0-2.2l9.8-9.8C33.3,18.7,37.2,18.7,39.6,21.1z M17.8,36.4c-2.4-2.4-2.4-6.3,0-8.7l7.5-7.5 c1.2-1.2,3.2-1.2,4.4,0L20,29.8c-1.2,1.2-1.2,3.2,0,4.4c1.2,1.2,3.2,1.2,4.4,0l9.8-9.8c0.6-0.6,1.6-0.6,2.2,0c0.6,0.6,0.6,1.6,0,2.2 l-9.8,9.8C24.1,38.8,20.2,38.8,17.8,36.4z M24.4,42.9c-0.6-0.6-0.6-1.6,0-2.2c0.6-0.6,1.6-0.6,2.2,0c1.2,1.2,3.2,1.2,4.4,0l9.8-9.8 c0.6-0.6,1.6-0.6,2.2,0c0.6,0.6,0.6,1.6,0,2.2l-9.8,9.8C30.7,45.3,26.8,45.3,24.4,42.9z M46.2,36.4l-7.5,7.5c-1.2,1.2-3.2,1.2-4.4,0 l9.6-9.6c1.2-1.2,1.2-3.2,0-4.4c-1.2-1.2-3.2-1.2-4.4,0l-9.8,9.8c-0.6,0.6-1.6,0.6-2.2,0c-0.6-0.6-0.6-1.6,0-2.2l9.8-9.8 c2.4-2.4,6.3-2.4,8.7,0C48.6,30,48.6,34,46.2,36.4z',\n color: '#1C1C1C'\n },\n stackoverflow: {\n icon: 'M 0,0 H 64 V 64 H 0 Z',\n mask: 'M 0 0 L 0 64 L 64 64 L 64 0 L 0 0 z M 37.623047 12.775391 L 47.613281 26.207031 L 44.925781 28.203125 L 34.9375 14.771484 L 37.623047 12.775391 z M 31.462891 18.119141 L 44.326172 28.832031 L 42.183594 31.404297 L 29.320312 20.691406 L 31.462891 18.119141 z M 26.533203 25.103516 L 41.708984 32.167969 L 40.294922 35.205078 L 25.121094 28.136719 L 26.533203 25.103516 z M 23.640625 32.705078 L 40.021484 36.150391 L 39.333984 39.423828 L 22.953125 35.980469 L 23.640625 32.705078 z M 15.984375 36.972656 L 19.318359 36.972656 L 19.318359 46.978516 L 42.666016 46.978516 L 42.666016 36.972656 L 46 36.972656 L 46 50.3125 L 15.984375 50.3125 L 15.984375 36.972656 z M 22.654297 40.308594 L 39.330078 40.308594 L 39.330078 43.642578 L 22.654297 43.642578 L 22.654297 40.308594 z',\n color: '#ed803d'\n },\n telegram: {\n icon: 'M 11.886719 33.476562 C 15.617188 31.421875 19.78125 29.707031 23.671875 27.980469 C 30.367188 25.15625 37.085938 22.382812 43.875 19.800781 C 45.199219 19.359375 47.570312 18.929688 47.804688 20.886719 C 47.675781 23.660156 47.152344 26.414062 46.792969 29.167969 C 45.878906 35.222656 44.824219 41.261719 43.796875 47.300781 C 43.441406 49.308594 40.921875 50.351562 39.308594 49.0625 C 35.4375 46.449219 31.53125 43.855469 27.710938 41.179688 C 26.457031 39.90625 27.617188 38.078125 28.738281 37.167969 C 31.925781 34.023438 35.3125 31.351562 38.335938 28.046875 C 39.152344 26.074219 36.742188 27.734375 35.945312 28.246094 C 31.578125 31.253906 27.316406 34.449219 22.710938 37.09375 C 20.359375 38.390625 17.617188 37.28125 15.265625 36.558594 C 13.15625 35.6875 10.066406 34.808594 11.886719 33.476562 Z M 11.886719 33.476562',\n mask: 'M0,0v64h64V0H0z M 11.886719 33.476562 C 15.617188 31.421875 19.78125 29.707031 23.671875 27.980469 C 30.367188 25.15625 37.085938 22.382812 43.875 19.800781 C 45.199219 19.359375 47.570312 18.929688 47.804688 20.886719 C 47.675781 23.660156 47.152344 26.414062 46.792969 29.167969 C 45.878906 35.222656 44.824219 41.261719 43.796875 47.300781 C 43.441406 49.308594 40.921875 50.351562 39.308594 49.0625 C 35.4375 46.449219 31.53125 43.855469 27.710938 41.179688 C 26.457031 39.90625 27.617188 38.078125 28.738281 37.167969 C 31.925781 34.023438 35.3125 31.351562 38.335938 28.046875 C 39.152344 26.074219 36.742188 27.734375 35.945312 28.246094 C 31.578125 31.253906 27.316406 34.449219 22.710938 37.09375 C 20.359375 38.390625 17.617188 37.28125 15.265625 36.558594 C 13.15625 35.6875 10.066406 34.808594 11.886719 33.476562 Z M 11.886719 33.476562',\n color: '#49a9e9'\n },\n tiktok: {\n icon: 'M 0,0 H 64 V 64 H 0 Z',\n mask: 'M 0 0 L 0 64 L 64 64 L 64 0 L 0 0 z M 33.330078 16 L 38.845703 16 C 38.841484 16.464979 38.879928 16.930827 38.960938 17.388672 L 38.962891 17.388672 C 39.347214 19.450699 40.563022 21.263117 42.324219 22.402344 C 43.560373 23.223837 45.011906 23.660664 46.496094 23.660156 L 46.496094 24.853516 C 46.499654 24.854516 46.504312 24.854771 46.507812 24.855469 L 46.507812 29.123047 C 43.760055 29.129293 41.080342 28.271577 38.847656 26.669922 L 38.847656 37.882812 C 38.835889 43.478203 34.296575 48.007827 28.701172 48.007812 C 26.63222 48.048166 24.599665 47.449168 22.884766 46.291016 C 22.767781 46.167585 22.658664 46.038312 22.548828 45.910156 C 19.166219 43.334883 17.735525 38.905122 19.021484 34.820312 C 20.351327 30.5961 24.272588 27.726928 28.701172 27.736328 C 29.158607 27.742889 29.614526 27.781926 30.066406 27.853516 L 30.054688 33.488281 C 29.612312 33.350917 29.152646 33.277637 28.689453 33.273438 C 26.564626 33.28434 24.721455 34.740631 24.216797 36.804688 C 23.712137 38.868744 24.676556 41.009904 26.556641 42 C 27.215641 42.344292 27.967447 42.505495 28.710938 42.511719 C 31.19892 42.507676 33.238354 40.539029 33.330078 38.052734 L 33.330078 16 z',\n color: '#000000'\n },\n tumblr: {\n icon: 'M39.2,41c-0.6,0.3-1.6,0.5-2.4,0.5c-2.4,0.1-2.9-1.7-2.9-3v-9.3h6v-4.5h-6V17c0,0-4.3,0-4.4,0 c-0.1,0-0.2,0.1-0.2,0.2c-0.3,2.3-1.4,6.4-5.9,8.1v3.9h3V39c0,3.4,2.5,8.1,9,8c2.2,0,4.7-1,5.2-1.8L39.2,41z',\n mask: 'M0,0v64h64V0H0z M35.4,47c-6.5,0.1-9-4.7-9-8v-9.8h-3v-3.9c4.6-1.6,5.6-5.7,5.9-8.1c0-0.2,0.1-0.2,0.2-0.2 c0.1,0,4.4,0,4.4,0v7.6h6v4.5h-6v9.3c0,1.3,0.5,3,2.9,3c0.8,0,1.9-0.3,2.4-0.5l1.4,4.3C40.1,46,37.6,47,35.4,47z',\n color: '#2c4762'\n },\n twitch: {\n icon: 'M40,25.6h-2.5v7.6H40V25.6z M33,25.6h-2.5v7.6H33V25.6z M20.9,18L19,23.1v20.4h7v3.8h3.8l3.8-3.8h5.7l7.6-7.6V18H20.9z M44.5,34.5L40,39h-7l-3.8,3.8V39h-5.7V20.5h21V34.5z',\n mask: 'M0,0v64h64V0H0z M47,35.8l-7.6,7.6h-5.7l-3.8,3.8H26v-3.8h-7V23.1l1.9-5.1H47V35.8z M29.2,42.8L33,39h7l4.5-4.5 v-14h-21V39h5.7V42.8z M37.5,25.6H40v7.6h-2.5V25.6z M30.5,25.6H33v7.6h-2.5V25.6z',\n color: '#6441A5'\n },\n twitter: {\n icon: 'M48,22.1c-1.2,0.5-2.4,0.9-3.8,1c1.4-0.8,2.4-2.1,2.9-3.6c-1.3,0.8-2.7,1.3-4.2,1.6 C41.7,19.8,40,19,38.2,19c-3.6,0-6.6,2.9-6.6,6.6c0,0.5,0.1,1,0.2,1.5c-5.5-0.3-10.3-2.9-13.5-6.9c-0.6,1-0.9,2.1-0.9,3.3 c0,2.3,1.2,4.3,2.9,5.5c-1.1,0-2.1-0.3-3-0.8c0,0,0,0.1,0,0.1c0,3.2,2.3,5.8,5.3,6.4c-0.6,0.1-1.1,0.2-1.7,0.2c-0.4,0-0.8,0-1.2-0.1 c0.8,2.6,3.3,4.5,6.1,4.6c-2.2,1.8-5.1,2.8-8.2,2.8c-0.5,0-1.1,0-1.6-0.1c2.9,1.9,6.4,2.9,10.1,2.9c12.1,0,18.7-10,18.7-18.7 c0-0.3,0-0.6,0-0.8C46,24.5,47.1,23.4,48,22.1z',\n mask: 'M0,0v64h64V0H0z M44.7,25.5c0,0.3,0,0.6,0,0.8C44.7,35,38.1,45,26.1,45c-3.7,0-7.2-1.1-10.1-2.9 c0.5,0.1,1,0.1,1.6,0.1c3.1,0,5.9-1,8.2-2.8c-2.9-0.1-5.3-2-6.1-4.6c0.4,0.1,0.8,0.1,1.2,0.1c0.6,0,1.2-0.1,1.7-0.2 c-3-0.6-5.3-3.3-5.3-6.4c0,0,0-0.1,0-0.1c0.9,0.5,1.9,0.8,3,0.8c-1.8-1.2-2.9-3.2-2.9-5.5c0-1.2,0.3-2.3,0.9-3.3 c3.2,4,8.1,6.6,13.5,6.9c-0.1-0.5-0.2-1-0.2-1.5c0-3.6,2.9-6.6,6.6-6.6c1.9,0,3.6,0.8,4.8,2.1c1.5-0.3,2.9-0.8,4.2-1.6 c-0.5,1.5-1.5,2.8-2.9,3.6c1.3-0.2,2.6-0.5,3.8-1C47.1,23.4,46,24.5,44.7,25.5z',\n color: '#00aced'\n },\n upwork: {\n icon: \"M 0,0 H 64 V 64 H 0 Z\",\n mask: \"M 32 0 C 14.272 0 0 14.272 0 32 C 0 49.728 14.272 64 32 64 C 49.728 64 64 49.728 64 32 C 64 14.272 49.728 0 32 0 z M 24.9375 17.111328 L 30.537109 17.111328 C 31.637109 20.911328 33.636719 25.310938 36.136719 29.210938 C 37.736719 23.710938 41.737109 20.210938 47.037109 20.210938 C 53.137109 20.210938 58.136719 25.2125 58.136719 31.3125 C 58.136719 37.7125 53.137109 42.710938 47.037109 42.710938 C 44.037109 42.710937 41.537891 41.911719 39.337891 40.511719 L 36.9375 52.412109 L 31.236328 52.412109 L 34.736328 36.111328 C 33.236328 34.011328 31.836328 31.612109 30.736328 29.412109 L 30.736328 31.912109 C 30.736328 38.012109 25.837891 42.912109 19.837891 42.912109 C 13.837891 42.912109 8.9375 38.012109 8.9375 31.912109 L 8.9375 17.210938 L 14.337891 17.210938 L 14.337891 31.8125 C 14.337891 34.7125 16.736719 37.111328 19.636719 37.111328 C 22.536719 37.111328 24.9375 34.7125 24.9375 31.8125 L 24.9375 17.111328 z M 47.136719 25.912109 C 43.036719 25.912109 41.737891 29.9125 41.337891 32.3125 L 41.337891 32.412109 L 40.736328 34.611328 C 42.536328 36.111328 44.837109 37.111328 47.037109 37.111328 C 49.937109 37.111328 52.636328 34.611719 52.736328 31.511719 C 52.736328 28.411719 50.236719 25.912109 47.136719 25.912109 z \",\n color: '#3da800'\n },\n vevo: {\n icon: 'M43,21c-4.5,0-5.4,2.7-6.8,4.6c0,0-3.7,5.6-5.1,7.7l-3-12.3H20l5.1,20.6c1.1,3.7,4.1,3.4,4.1,3.4 c2.1,0,3.6-1.1,5-3.1L48,21C48,21,43.2,21,43,21z',\n mask: 'M0,0v64h64V0H0z M34.2,41.9c-1.4,2.1-2.9,3.1-5,3.1c0,0-3,0.2-4.1-3.4L20,21h8.1l3,12.3c1.4-2.1,5.1-7.7,5.1-7.7 c1.4-1.9,2.2-4.6,6.8-4.6c0.2,0,5,0,5,0L34.2,41.9z',\n color: '#ED1A3B'\n },\n vimeo: {\n icon: 'M47,25c-0.1,2.9-2.2,6.9-6.1,12c-4.1,5.3-7.5,8-10.4,8c-1.7,0-3.2-1.6-4.4-4.8 c-0.8-3-1.6-5.9-2.4-8.9c-0.9-3.2-1.9-4.8-2.9-4.8c-0.2,0-1,0.5-2.4,1.4L17,26c1.5-1.3,2.9-2.6,4.4-3.9c2-1.7,3.5-2.6,4.4-2.7 c2.3-0.2,3.8,1.4,4.3,4.8c0.6,3.7,1,6,1.2,6.9c0.7,3.1,1.4,4.6,2.2,4.6c0.6,0,1.6-1,2.8-3c1.3-2,1.9-3.5,2-4.5 c0.2-1.7-0.5-2.6-2-2.6c-0.7,0-1.5,0.2-2.2,0.5c1.5-4.8,4.3-7.2,8.4-7C45.7,19.1,47.2,21.1,47,25z',\n mask: 'M0,0v64h64V0H0z M40.9,37c-4.1,5.3-7.5,8-10.4,8c-1.7,0-3.2-1.6-4.4-4.8c-0.8-3-1.6-5.9-2.4-8.9 c-0.9-3.2-1.9-4.8-2.9-4.8c-0.2,0-1,0.5-2.4,1.4L17,26c1.5-1.3,2.9-2.6,4.4-3.9c2-1.7,3.5-2.6,4.4-2.7c2.3-0.2,3.8,1.4,4.3,4.8 c0.6,3.7,1,6,1.2,6.9c0.7,3.1,1.4,4.6,2.2,4.6c0.6,0,1.6-1,2.8-3c1.3-2,1.9-3.5,2-4.5c0.2-1.7-0.5-2.6-2-2.6c-0.7,0-1.5,0.2-2.2,0.5 c1.5-4.8,4.3-7.2,8.4-7c3.1,0.1,4.5,2.1,4.4,6C46.9,27.9,44.8,31.9,40.9,37z',\n color: '#1ab7ea'\n },\n vine: {\n icon: 'M45.2,31.9c-0.8,0.2-1.5,0.3-2.2,0.3c-3.8,0-6.7-2.6-6.7-7.2c0-2.3,0.9-3.4,2.1-3.4 c1.2,0,2,1.1,2,3.2c0,1.2-0.3,2.5-0.6,3.3c0,0,1.2,2,4.4,1.4c0.7-1.5,1-3.5,1-5.2c0-4.6-2.3-7.3-6.6-7.3c-4.4,0-7,3.4-7,7.9 c0,4.4,2.1,8.2,5.5,10c-1.4,2.9-3.3,5.4-5.2,7.3c-3.5-4.2-6.6-9.8-7.9-20.7h-5.1c2.4,18.1,9.4,23.9,11.2,25c1.1,0.6,2,0.6,2.9,0.1 c1.5-0.9,6-5.4,8.6-10.7c1.1,0,2.3-0.1,3.6-0.4V31.9z',\n mask: 'M0,0v64h64V0H0z M38.4,21.5c-1.2,0-2.1,1.2-2.1,3.4c0,4.6,2.9,7.2,6.7,7.2c0.7,0,1.4-0.1,2.2-0.3v3.6 c-1.3,0.3-2.5,0.4-3.6,0.4c-2.5,5.3-7,9.8-8.6,10.7c-1,0.5-1.9,0.6-2.9-0.1c-1.9-1.1-8.9-6.9-11.2-25H24c1.3,10.9,4.4,16.5,7.9,20.7 c1.9-1.9,3.7-4.4,5.2-7.3c-3.4-1.7-5.5-5.5-5.5-10c0-4.5,2.6-7.9,7-7.9c4.3,0,6.6,2.7,6.6,7.3c0,1.7-0.4,3.7-1,5.2 c-3.2,0.6-4.4-1.4-4.4-1.4c0.2-0.8,0.6-2.1,0.6-3.3C40.3,22.6,39.5,21.5,38.4,21.5z',\n color: '#00BF8F'\n },\n vk: {\n icon: 'M44.94,44.84h-0.2c-2.17-.36-3.66-1.92-4.92-3.37C39.1,40.66,38,38.81,36.7,39c-1.85.3-.93,3.52-1.71,4.9-0.62,1.11-3.29.91-5.12,0.71-5.79-.62-8.75-3.77-11.35-7.14A64.13,64.13,0,0,1,11.6,26a10.59,10.59,0,0,1-1.51-4.49C11,20.7,12.56,21,14.11,21c1.31,0,3.36-.29,4.32.2C19,21.46,19.57,23,20,24a37.18,37.18,0,0,0,3.31,5.82c0.56,0.81,1.41,2.35,2.41,2.14s1.06-2.63,1.1-4.18c0-1.77,0-4-.5-4.9S25,22,24.15,21.47c0.73-1.49,2.72-1.63,5.12-1.63,2,0,4.84-.23,5.62,1.12s0.25,3.85.2,5.71c-0.06,2.09-.41,4.25,1,5.21,1.09-.12,1.68-1.2,2.31-2A28,28,0,0,0,41.72,24c0.44-1,.91-2.65,1.71-3,1.21-.47,3.15-0.1,4.92-0.1,1.46,0,4.05-.41,4.52.61,0.39,0.85-.75,3-1.1,3.57a61.88,61.88,0,0,1-4.12,5.61c-0.58.78-1.78,2-1.71,3.27,0.05,0.94,1,1.67,1.71,2.35a33.12,33.12,0,0,1,3.92,4.18c0.47,0.62,1.5,2,1.4,2.76C52.66,45.81,46.88,44.24,44.94,44.84Z',\n mask: 'M0,0v64h64V0H0z M44.94,44.84h-0.2c-2.17-.36-3.66-1.92-4.92-3.37C39.1,40.66,38,38.81,36.7,39c-1.85.3-.93,3.52-1.71,4.9-0.62,1.11-3.29.91-5.12,0.71-5.79-.62-8.75-3.77-11.35-7.14A64.13,64.13,0,0,1,11.6,26a10.59,10.59,0,0,1-1.51-4.49C11,20.7,12.56,21,14.11,21c1.31,0,3.36-.29,4.32.2C19,21.46,19.57,23,20,24a37.18,37.18,0,0,0,3.31,5.82c0.56,0.81,1.41,2.35,2.41,2.14s1.06-2.63,1.1-4.18c0-1.77,0-4-.5-4.9S25,22,24.15,21.47c0.73-1.49,2.72-1.63,5.12-1.63,2,0,4.84-.23,5.62,1.12s0.25,3.85.2,5.71c-0.06,2.09-.41,4.25,1,5.21,1.09-.12,1.68-1.2,2.31-2A28,28,0,0,0,41.72,24c0.44-1,.91-2.65,1.71-3,1.21-.47,3.15-0.1,4.92-0.1,1.46,0,4.05-.41,4.52.61,0.39,0.85-.75,3-1.1,3.57a61.88,61.88,0,0,1-4.12,5.61c-0.58.78-1.78,2-1.71,3.27,0.05,0.94,1,1.67,1.71,2.35a33.12,33.12,0,0,1,3.92,4.18c0.47,0.62,1.5,2,1.4,2.76C52.66,45.81,46.88,44.24,44.94,44.84Z',\n color: '#45668e'\n },\n vsco: {\n icon: 'M32,16c-1.4,0-2.5,1.1-2.5,2.5c0,1.4,1.1,2.5,2.5,2.5c1.4,0,2.5-1.1,2.5-2.5 C34.5,17.1,33.4,16,32,16z M18.5,29.5c-1.4,0-2.5,1.1-2.5,2.5c0,1.4,1.1,2.5,2.5,2.5c1.4,0,2.5-1.1,2.5-2.5 C20.9,30.6,19.8,29.5,18.5,29.5z M25.2,22.8c-1.4,0-2.5,1.1-2.5,2.5c0,1.4,1.1,2.5,2.5,2.5c1.4,0,2.5-1.1,2.5-2.5 C27.7,23.9,26.6,22.8,25.2,22.8z M38.7,27.6c1.4,0,2.5-1.1,2.5-2.5c0-1.4-1.1-2.5-2.5-2.5c-1.4,0-2.5,1.1-2.5,2.5 C36.2,26.5,37.3,27.6,38.7,27.6z M25.1,36.2c-1.4,0-2.5,1.1-2.5,2.5c0,1.4,1.1,2.5,2.5,2.5c1.4,0,2.5-1.1,2.5-2.5 C27.6,37.3,26.5,36.2,25.1,36.2z M31.9,34.4c1.4,0,2.5-1.1,2.5-2.5c0-1.4-1.1-2.5-2.5-2.5c-1.4,0-2.5,1.1-2.5,2.5 C29.5,33.3,30.6,34.4,31.9,34.4z M45.5,29.5c-1.4,0-2.5,1.1-2.5,2.5c0,1.4,1.1,2.5,2.5,2.5c1.4,0,2.5-1.1,2.5-2.5 C48,30.6,46.9,29.5,45.5,29.5z M32,43.1c-1.4,0-2.5,1.1-2.5,2.5c0,1.4,1.1,2.5,2.5,2.5c1.4,0,2.5-1.1,2.5-2.5 C34.5,44.2,33.4,43.1,32,43.1z M38.8,36.3c-1.4,0-2.5,1.1-2.5,2.5c0,1.4,1.1,2.5,2.5,2.5c1.4,0,2.5-1.1,2.5-2.5 C41.2,37.4,40.1,36.3,38.8,36.3z',\n mask: 'M0,0v64h64V0H0z M18.5,34.5c-1.4,0-2.5-1.1-2.5-2.5c0-1.4,1.1-2.5,2.5-2.5c1.4,0,2.5,1.1,2.5,2.5 C20.9,33.4,19.8,34.5,18.5,34.5z M25.1,41.1c-1.4,0-2.5-1.1-2.5-2.5c0-1.4,1.1-2.5,2.5-2.5c1.4,0,2.5,1.1,2.5,2.5 C27.6,40,26.5,41.1,25.1,41.1z M25.2,27.7c-1.4,0-2.5-1.1-2.5-2.5c0-1.4,1.1-2.5,2.5-2.5c1.4,0,2.5,1.1,2.5,2.5 C27.7,26.6,26.6,27.7,25.2,27.7z M32,48c-1.4,0-2.5-1.1-2.5-2.5c0-1.4,1.1-2.5,2.5-2.5c1.4,0,2.5,1.1,2.5,2.5 C34.5,46.9,33.4,48,32,48z M29.5,31.9c0-1.4,1.1-2.5,2.5-2.5c1.4,0,2.5,1.1,2.5,2.5c0,1.4-1.1,2.5-2.5,2.5 C30.6,34.4,29.5,33.3,29.5,31.9z M32,20.9c-1.4,0-2.5-1.1-2.5-2.5c0-1.4,1.1-2.5,2.5-2.5c1.4,0,2.5,1.1,2.5,2.5 C34.5,19.8,33.4,20.9,32,20.9z M38.7,22.7c1.4,0,2.5,1.1,2.5,2.5c0,1.4-1.1,2.5-2.5,2.5c-1.4,0-2.5-1.1-2.5-2.5 C36.2,23.8,37.3,22.7,38.7,22.7z M38.8,41.2c-1.4,0-2.5-1.1-2.5-2.5c0-1.4,1.1-2.5,2.5-2.5c1.4,0,2.5,1.1,2.5,2.5 C41.2,40.1,40.1,41.2,38.8,41.2z M45.5,34.5c-1.4,0-2.5-1.1-2.5-2.5c0-1.4,1.1-2.5,2.5-2.5c1.4,0,2.5,1.1,2.5,2.5 C48,33.4,46.9,34.5,45.5,34.5z',\n color: '#83878A'\n },\n wechat: {\n icon: 'M48.769,46.072c2.85-2.068,4.672-5.121,4.672-8.518c0-6.219-6.053-11.262-13.518-11.262s-13.519,5.043-13.519,11.262 c0,6.221,6.054,11.266,13.519,11.266c1.541,0,3.031-0.219,4.412-0.617l0.396-0.061c0.262,0,0.494,0.08,0.717,0.209l2.963,1.709 l0.26,0.084c0.248,0,0.449-0.201,0.449-0.451l-0.074-0.328l-0.607-2.275l-0.047-0.285C48.392,46.5,48.54,46.232,48.769,46.072z M24.782,13.854c-8.959,0-16.222,6.053-16.222,13.519c0,4.072,2.185,7.74,5.604,10.219c0.274,0.193,0.455,0.514,0.455,0.879 l-0.057,0.344l-0.731,2.729l-0.088,0.395c0,0.299,0.243,0.541,0.541,0.541l0.313-0.102l3.551-2.051 c0.266-0.152,0.548-0.248,0.86-0.248l0.477,0.07c1.657,0.479,3.445,0.742,5.296,0.742l0.891-0.021 c-0.352-1.055-0.544-2.166-0.544-3.311c0-6.811,6.623-12.33,14.794-12.33l0.881,0.022C39.581,18.794,32.874,13.854,24.782,13.854z M35.415,35.754c-0.994,0-1.801-0.807-1.801-1.803s0.807-1.803,1.801-1.803c0.998,0,1.803,0.807,1.803,1.803 S36.413,35.754,35.415,35.754z M44.431,35.754c-0.998,0-1.805-0.807-1.805-1.803s0.807-1.803,1.805-1.803 c0.992,0,1.799,0.807,1.799,1.803S45.423,35.754,44.431,35.754z M19.375,25.21c-1.195,0-2.162-0.969-2.162-2.162 c0-1.194,0.967-2.163,2.162-2.163c1.194,0,2.163,0.969,2.163,2.163C21.538,24.241,20.569,25.21,19.375,25.21z M30.188,25.21 c-1.196,0-2.162-0.969-2.162-2.162c0-1.194,0.966-2.163,2.162-2.163c1.195,0,2.162,0.969,2.162,2.163 C32.351,24.241,31.384,25.21,30.188,25.21z',\n mask: 'M65.6,65.6H-1.6V-1.6H65.6V65.6z M49.738,46.043c2.846-2.061,4.662-5.107,4.662-8.498 c0-6.207-6.043-11.244-13.492-11.244c-7.453,0-13.494,5.037-13.494,11.244c0,6.213,6.041,11.246,13.494,11.246 c1.537,0,3.025-0.221,4.402-0.615l0.395-0.059c0.262,0,0.498,0.078,0.717,0.207l2.955,1.707l0.26,0.082 c0.252,0,0.451-0.203,0.451-0.449l-0.074-0.328l-0.605-2.271l-0.047-0.287C49.361,46.477,49.508,46.211,49.738,46.043L49.738,46.043 z M25.793,13.887C16.85,13.887,9.6,19.93,9.6,27.383c0,4.066,2.182,7.723,5.596,10.197c0.275,0.195,0.453,0.518,0.453,0.879 l-0.055,0.344l-0.732,2.725l-0.086,0.393c0,0.301,0.24,0.541,0.539,0.541l0.311-0.1l3.545-2.049c0.27-0.152,0.551-0.248,0.861-0.248 l0.475,0.068c1.654,0.479,3.439,0.742,5.287,0.742l0.891-0.021c-0.354-1.053-0.543-2.16-0.543-3.309 c0-6.793,6.611-12.305,14.768-12.305l0.879,0.021C40.564,18.818,33.871,13.887,25.793,13.887z M36.408,35.746 c-0.996,0-1.799-0.805-1.799-1.799c0-0.992,0.803-1.799,1.799-1.799s1.799,0.807,1.799,1.799 C38.207,34.941,37.404,35.746,36.408,35.746z M45.404,35.746c-0.996,0-1.799-0.805-1.799-1.799c0-0.992,0.803-1.799,1.799-1.799 s1.799,0.807,1.799,1.799C47.203,34.941,46.4,35.746,45.404,35.746z M20.395,25.221c-1.189,0-2.158-0.965-2.158-2.158 s0.969-2.158,2.158-2.158c1.193,0,2.162,0.965,2.162,2.158S21.588,25.221,20.395,25.221z M31.191,25.221 c-1.193,0-2.158-0.965-2.158-2.158s0.965-2.158,2.158-2.158s2.158,0.965,2.158,2.158S32.385,25.221,31.191,25.221z',\n color: '#00c80f'\n },\n whatsapp: {\n icon: 'M 48 31.589844 C 48 40.195312 40.96875 47.175781 32.289062 47.175781 C 29.535156 47.175781 26.949219 46.472656 24.695312 45.234375 L 16 48 L 18.835938 39.636719 C 17.40625 37.289062 16.582031 34.53125 16.582031 31.589844 C 16.582031 22.980469 23.613281 16 32.289062 16 C 40.96875 16 48 22.980469 48 31.589844 Z M 32.289062 18.484375 C 25.007812 18.484375 19.082031 24.363281 19.082031 31.589844 C 19.082031 34.457031 20.019531 37.109375 21.597656 39.269531 L 19.949219 44.136719 L 25.023438 42.527344 C 27.109375 43.894531 29.609375 44.691406 32.292969 44.691406 C 39.574219 44.691406 45.5 38.816406 45.5 31.589844 C 45.5 24.363281 39.574219 18.484375 32.289062 18.484375 Z M 40.222656 35.179688 C 40.125 35.019531 39.871094 34.921875 39.484375 34.730469 C 39.101562 34.542969 37.207031 33.617188 36.855469 33.488281 C 36.5 33.363281 36.242188 33.296875 35.988281 33.679688 C 35.730469 34.0625 34.992188 34.921875 34.769531 35.179688 C 34.542969 35.433594 34.320312 35.464844 33.933594 35.273438 C 33.546875 35.082031 32.308594 34.679688 30.835938 33.378906 C 29.691406 32.367188 28.917969 31.117188 28.695312 30.734375 C 28.472656 30.351562 28.671875 30.144531 28.863281 29.953125 C 29.039062 29.78125 29.25 29.507812 29.441406 29.285156 C 29.636719 29.0625 29.699219 28.902344 29.828125 28.648438 C 29.957031 28.390625 29.890625 28.167969 29.792969 27.976562 C 29.699219 27.785156 28.925781 25.90625 28.605469 25.140625 C 28.285156 24.375 27.964844 24.503906 27.742188 24.503906 C 27.515625 24.503906 27.257812 24.472656 27.003906 24.472656 C 26.746094 24.472656 26.328125 24.566406 25.976562 24.949219 C 25.621094 25.332031 24.628906 26.257812 24.628906 28.136719 C 24.628906 30.015625 26.007812 31.832031 26.199219 32.085938 C 26.394531 32.34375 28.863281 36.324219 32.777344 37.855469 C 36.691406 39.386719 36.691406 38.875 37.398438 38.8125 C 38.105469 38.746094 39.675781 37.886719 40 36.996094 C 40.320312 36.101562 40.320312 35.335938 40.222656 35.179688 Z M 40.222656 35.179688',\n mask: 'M0,0v64h64V0H0z M 48 31.589844 C 48 40.195312 40.96875 47.175781 32.289062 47.175781 C 29.535156 47.175781 26.949219 46.472656 24.695312 45.234375 L 16 48 L 18.835938 39.636719 C 17.40625 37.289062 16.582031 34.53125 16.582031 31.589844 C 16.582031 22.980469 23.613281 16 32.289062 16 C 40.96875 16 48 22.980469 48 31.589844 Z M 32.289062 18.484375 C 25.007812 18.484375 19.082031 24.363281 19.082031 31.589844 C 19.082031 34.457031 20.019531 37.109375 21.597656 39.269531 L 19.949219 44.136719 L 25.023438 42.527344 C 27.109375 43.894531 29.609375 44.691406 32.292969 44.691406 C 39.574219 44.691406 45.5 38.816406 45.5 31.589844 C 45.5 24.363281 39.574219 18.484375 32.289062 18.484375 Z M 40.222656 35.179688 C 40.125 35.019531 39.871094 34.921875 39.484375 34.730469 C 39.101562 34.542969 37.207031 33.617188 36.855469 33.488281 C 36.5 33.363281 36.242188 33.296875 35.988281 33.679688 C 35.730469 34.0625 34.992188 34.921875 34.769531 35.179688 C 34.542969 35.433594 34.320312 35.464844 33.933594 35.273438 C 33.546875 35.082031 32.308594 34.679688 30.835938 33.378906 C 29.691406 32.367188 28.917969 31.117188 28.695312 30.734375 C 28.472656 30.351562 28.671875 30.144531 28.863281 29.953125 C 29.039062 29.78125 29.25 29.507812 29.441406 29.285156 C 29.636719 29.0625 29.699219 28.902344 29.828125 28.648438 C 29.957031 28.390625 29.890625 28.167969 29.792969 27.976562 C 29.699219 27.785156 28.925781 25.90625 28.605469 25.140625 C 28.285156 24.375 27.964844 24.503906 27.742188 24.503906 C 27.515625 24.503906 27.257812 24.472656 27.003906 24.472656 C 26.746094 24.472656 26.328125 24.566406 25.976562 24.949219 C 25.621094 25.332031 24.628906 26.257812 24.628906 28.136719 C 24.628906 30.015625 26.007812 31.832031 26.199219 32.085938 C 26.394531 32.34375 28.863281 36.324219 32.777344 37.855469 C 36.691406 39.386719 36.691406 38.875 37.398438 38.8125 C 38.105469 38.746094 39.675781 37.886719 40 36.996094 C 40.320312 36.101562 40.320312 35.335938 40.222656 35.179688 Z M 40.222656 35.179688',\n color: '#25D366'\n },\n yelp: {\n icon: 'M29.5,35.7c0.5-0.1,0.9-0.6,0.9-1.2c0-0.6-0.3-1.2-0.8-1.4c0,0-1.5-0.6-1.5-0.6 c-5-2.1-5.2-2.1-5.5-2.1c-0.4,0-0.7,0.2-1,0.6c-0.5,0.8-0.7,3.3-0.5,5c0.1,0.6,0.2,1,0.3,1.3c0.2,0.4,0.5,0.6,0.9,0.6 c0.2,0,0.4,0,5.1-1.5C27.5,36.4,29.5,35.7,29.5,35.7z M32.2,37.6c-0.6-0.2-1.2-0.1-1.5,0.4c0,0-1,1.2-1,1.2 c-3.5,4.1-3.7,4.3-3.7,4.5c-0.1,0.1-0.1,0.3-0.1,0.4c0,0.2,0.1,0.4,0.3,0.6c0.8,1,4.7,2.4,6,2.2c0.4-0.1,0.7-0.3,0.9-0.7 C33,46.1,33,45.9,33,41c0,0,0-2.2,0-2.2C33.1,38.3,32.7,37.8,32.2,37.6z M32.3,16.8c-0.1-0.4-0.4-0.7-0.9-0.8 c-1.3-0.3-6.5,1.1-7.5,2.1c-0.3,0.3-0.4,0.7-0.3,1.1c0.2,0.3,6.5,10.4,6.5,10.4c0.9,1.5,1.7,1.3,2,1.2c0.3-0.1,1-0.3,0.9-2.1 C33,26.6,32.4,17.3,32.3,16.8z M36.9,33.4C36.9,33.4,36.8,33.5,36.9,33.4c0.2-0.1,0.7-0.2,1.5-0.4c5.3-1.3,5.5-1.3,5.7-1.5 c0.3-0.2,0.5-0.6,0.5-1c0,0,0,0,0,0c-0.1-1.3-2.4-4.7-3.5-5.2c-0.4-0.2-0.8-0.2-1.1,0c-0.2,0.1-0.4,0.3-3.2,4.2c0,0-1.3,1.7-1.3,1.8 c-0.3,0.4-0.3,1,0,1.5C35.8,33.3,36.3,33.6,36.9,33.4z M44.4,38.6c-0.2-0.1-0.3-0.2-5-1.7c0,0-2-0.7-2.1-0.7c-0.5-0.2-1.1,0-1.4,0.5 c-0.4,0.5-0.5,1.1-0.1,1.6l0.8,1.3c2.8,4.5,3,4.8,3.2,5c0.3,0.2,0.7,0.3,1.1,0.1c1.2-0.5,3.7-3.7,3.9-5 C44.8,39.2,44.7,38.8,44.4,38.6z',\n mask: 'M0,0v64h64V0H0z M22.4,37.9c-0.4,0-0.7-0.2-0.9-0.6c-0.1-0.3-0.2-0.7-0.3-1.3c-0.2-1.7,0-4.2,0.5-5 c0.2-0.4,0.6-0.6,1-0.6c0.3,0,0.5,0.1,5.5,2.1c0,0,1.5,0.6,1.5,0.6c0.5,0.2,0.9,0.7,0.8,1.4c0,0.6-0.4,1.1-0.9,1.2 c0,0-2.1,0.7-2.1,0.7C22.8,37.9,22.7,37.9,22.4,37.9z M33,41c0,4.9,0,5-0.1,5.3c-0.1,0.4-0.4,0.6-0.9,0.7c-1.2,0.2-5.1-1.2-6-2.2 c-0.2-0.2-0.3-0.4-0.3-0.6c0-0.2,0-0.3,0.1-0.4c0.1-0.2,0.2-0.4,3.7-4.5c0,0,1-1.2,1-1.2c0.3-0.4,1-0.6,1.5-0.4 c0.6,0.2,0.9,0.7,0.9,1.2C33,38.8,33,41,33,41z M32.2,30.8c-0.3,0.1-1,0.3-2-1.2c0,0-6.4-10.1-6.5-10.4c-0.1-0.3,0-0.7,0.3-1.1 c1-1,6.1-2.4,7.5-2.1c0.4,0.1,0.7,0.4,0.9,0.8c0.1,0.4,0.7,9.8,0.8,11.9C33.2,30.5,32.4,30.7,32.2,30.8z M35.4,31.3 c0,0,1.3-1.8,1.3-1.8c2.8-3.9,3-4.1,3.2-4.2c0.3-0.2,0.7-0.2,1.1,0c1.1,0.5,3.4,3.9,3.5,5.2c0,0,0,0,0,0c0,0.4-0.1,0.8-0.5,1 c-0.2,0.1-0.4,0.2-5.7,1.5c-0.8,0.2-1.3,0.3-1.6,0.4c0,0,0,0,0,0c-0.5,0.1-1.1-0.1-1.4-0.6C35.1,32.3,35.1,31.7,35.4,31.3z M44.7,39.6c-0.2,1.3-2.7,4.5-3.9,5c-0.4,0.2-0.8,0.1-1.1-0.1c-0.2-0.2-0.4-0.5-3.2-5l-0.8-1.3c-0.3-0.5-0.3-1.1,0.1-1.6 c0.4-0.5,0.9-0.6,1.4-0.5c0,0,2.1,0.7,2.1,0.7c4.6,1.5,4.8,1.6,5,1.7C44.7,38.8,44.8,39.2,44.7,39.6z',\n color: '#B90C04'\n },\n youtube: {\n icon: 'M46.7,26c0,0-0.3-2.1-1.2-3c-1.1-1.2-2.4-1.2-3-1.3C38.3,21.4,32,21.4,32,21.4h0 c0,0-6.3,0-10.5,0.3c-0.6,0.1-1.9,0.1-3,1.3c-0.9,0.9-1.2,3-1.2,3S17,28.4,17,30.9v2.3c0,2.4,0.3,4.9,0.3,4.9s0.3,2.1,1.2,3 c1.1,1.2,2.6,1.2,3.3,1.3c2.4,0.2,10.2,0.3,10.2,0.3s6.3,0,10.5-0.3c0.6-0.1,1.9-0.1,3-1.3c0.9-0.9,1.2-3,1.2-3s0.3-2.4,0.3-4.9 v-2.3C47,28.4,46.7,26,46.7,26z M28.9,35.9l0-8.4l8.1,4.2L28.9,35.9z',\n mask: 'M0,0v64h64V0H0z M47,33.1c0,2.4-0.3,4.9-0.3,4.9s-0.3,2.1-1.2,3c-1.1,1.2-2.4,1.2-3,1.3 C38.3,42.5,32,42.6,32,42.6s-7.8-0.1-10.2-0.3c-0.7-0.1-2.2-0.1-3.3-1.3c-0.9-0.9-1.2-3-1.2-3S17,35.6,17,33.1v-2.3 c0-2.4,0.3-4.9,0.3-4.9s0.3-2.1,1.2-3c1.1-1.2,2.4-1.2,3-1.3c4.2-0.3,10.5-0.3,10.5-0.3h0c0,0,6.3,0,10.5,0.3c0.6,0.1,1.9,0.1,3,1.3 c0.9,0.9,1.2,3,1.2,3s0.3,2.4,0.3,4.9V33.1z M28.9,35.9l8.1-4.2l-8.1-4.2L28.9,35.9z',\n color: '#ff3333'\n }\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _styles = require(\"./styles.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction Background(_ref) {\n var networkKey = _ref.networkKey,\n props = _objectWithoutProperties(_ref, [\"networkKey\"]);\n\n // eslint-disable-line react/prop-types\n return _react.default.createElement(\"g\", _extends({}, props, {\n className: \"social-svg-background\",\n style: _styles.socialSvgContent\n }), _react.default.createElement(\"circle\", {\n cx: \"32\",\n cy: \"32\",\n r: \"31\"\n }));\n}\n\nvar _default = Background;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _networks = require(\"./networks.js\");\n\nvar _styles = require(\"./styles.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction getStyle(_ref) {\n var fgColor = _ref.fgColor;\n return _objectSpread({}, _styles.socialSvgContent, {\n fill: fgColor || 'transparent'\n });\n}\n\nfunction Icon(_ref2) {\n var fgColor = _ref2.fgColor,\n networkKey = _ref2.networkKey,\n props = _objectWithoutProperties(_ref2, [\"fgColor\", \"networkKey\"]);\n\n return _react.default.createElement(\"g\", _extends({}, props, {\n className: \"social-svg-icon\",\n style: getStyle({\n fgColor: fgColor\n })\n }), _react.default.createElement(\"path\", {\n d: (0, _networks.iconFor)(networkKey)\n }));\n}\n\nIcon.propTypes = {\n fgColor: _propTypes.default.string,\n networkKey: _propTypes.default.string.isRequired\n};\nvar _default = Icon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _networks = require(\"./networks.js\");\n\nvar _styles = require(\"./styles.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction getStyle(_ref) {\n var bgColor = _ref.bgColor,\n networkKey = _ref.networkKey;\n return _objectSpread({}, _styles.socialSvgMask, {\n fill: bgColor || (0, _networks.colorFor)(networkKey)\n });\n}\n\nfunction Mask(_ref2) {\n var bgColor = _ref2.bgColor,\n networkKey = _ref2.networkKey,\n rest = _objectWithoutProperties(_ref2, [\"bgColor\", \"networkKey\"]);\n\n return _react.default.createElement(\"g\", _extends({}, rest, {\n className: \"social-svg-mask\",\n style: getStyle({\n bgColor: bgColor,\n networkKey: networkKey\n })\n }), _react.default.createElement(\"path\", {\n d: (0, _networks.maskFor)(networkKey)\n }));\n}\n\nMask.propTypes = {\n bgColor: _propTypes.default.string,\n networkKey: _propTypes.default.string.isRequired\n};\nvar _default = Mask;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keyTo = keyTo;\nexports.iconFor = iconFor;\nexports.maskFor = maskFor;\nexports.colorFor = colorFor;\nexports.keyFor = keyFor;\nexports.keysFor = keysFor;\nexports.KEYS = exports.DEFAULT_KEY = void 0;\n\nvar _networksDb = _interopRequireDefault(require(\"./_networks-db.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DEFAULT_KEY = 'sharethis';\nexports.DEFAULT_KEY = DEFAULT_KEY;\nvar KEYS = Object.keys(_networksDb.default);\nexports.KEYS = KEYS;\n\nvar sortLongestFirst = function sortLongestFirst(arr) {\n return arr.sort(function (pre, post) {\n return post.length - pre.length;\n });\n};\n\nvar KEYS_REGEX = new RegExp('(?:https?:\\\\/\\\\/(?:[a-z0-9-]*.)?)?(' + sortLongestFirst(KEYS).join('|') + ').*');\n\nfunction keyTo(key, _ref) {\n var icon = _ref.icon,\n mask = _ref.mask,\n color = _ref.color;\n _networksDb.default[key] = {\n icon: icon,\n mask: mask,\n color: color\n };\n}\n\nfunction iconFor(key) {\n return _networksDb.default[key] ? _networksDb.default[key].icon : null;\n}\n\nfunction maskFor(key) {\n return _networksDb.default[key] ? _networksDb.default[key].mask : null;\n}\n\nfunction colorFor(key) {\n return _networksDb.default[key] ? _networksDb.default[key].color : null;\n}\n\nfunction keyFor(url) {\n if (!url) {\n return DEFAULT_KEY;\n }\n\n var key = url.replace(KEYS_REGEX, '$1');\n return key === url ? DEFAULT_KEY : key;\n}\n\nfunction keysFor(urls) {\n if (!urls || !Array.isArray(urls) || urls.length === 0) {\n return [];\n }\n\n return urls.map(keyFor);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"keyFor\", {\n enumerable: true,\n get: function get() {\n return _networks.keyFor;\n }\n});\nexports.SocialIcon = void 0;\n\nvar _socialIcon = _interopRequireDefault(require(\"./social-icon.js\"));\n\nvar _networks = require(\"./networks\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SocialIcon = _socialIcon.default;\nexports.SocialIcon = SocialIcon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _background = _interopRequireDefault(require(\"./background.js\"));\n\nvar _icon = _interopRequireDefault(require(\"./icon.js\"));\n\nvar _mask = _interopRequireDefault(require(\"./mask.js\"));\n\nvar _networks = require(\"./networks.js\");\n\nvar _styles = require(\"./styles.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction getNetworkKey(props) {\n return props.network || (0, _networks.keyFor)(props.url);\n}\n\nfunction SocialIcon(props) {\n var url = props.url,\n network = props.network,\n bgColor = props.bgColor,\n fgColor = props.fgColor,\n className = props.className,\n label = props.label,\n children = props.children,\n defaultSVG = props.defaultSVG,\n style = props.style,\n rest = _objectWithoutProperties(props, [\"url\", \"network\", \"bgColor\", \"fgColor\", \"className\", \"label\", \"children\", \"defaultSVG\", \"style\"]);\n\n if (_typeof(defaultSVG) === 'object' && defaultSVG !== null) {\n (0, _networks.keyTo)(_networks.DEFAULT_KEY, defaultSVG);\n }\n\n var networkKey = getNetworkKey({\n url: url,\n network: network\n });\n return _react.default.createElement(\"a\", _extends({}, rest, {\n href: url,\n className: 'social-icon' + (className ? ' ' + className : ''),\n style: _objectSpread({}, _styles.socialIcon, style),\n \"aria-label\": label || networkKey\n }), _react.default.createElement(\"div\", {\n className: \"social-container\",\n style: _styles.socialContainer\n }, _react.default.createElement(\"svg\", {\n className: \"social-svg\",\n style: _styles.socialSvg,\n viewBox: \"0 0 64 64\"\n }, _react.default.createElement(_background.default, null), _react.default.createElement(_icon.default, {\n networkKey: networkKey,\n fgColor: fgColor\n }), _react.default.createElement(_mask.default, {\n networkKey: networkKey,\n bgColor: bgColor\n }))), children);\n}\n\nSocialIcon.propTypes = {\n className: _propTypes.default.string,\n bgColor: _propTypes.default.string,\n fgColor: _propTypes.default.string,\n label: _propTypes.default.string,\n network: _propTypes.default.string,\n url: _propTypes.default.string,\n defaultSVG: _propTypes.default.exact({\n icon: _propTypes.default.string,\n mask: _propTypes.default.string,\n color: _propTypes.default.string\n }),\n style: _propTypes.default.PropTypes.object,\n children: _propTypes.default.node\n};\nvar _default = SocialIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.socialSvgMask = exports.socialSvgContent = exports.socialSvg = exports.socialContainer = exports.socialIcon = void 0;\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar socialIcon = {\n display: 'inline-block',\n width: '50px',\n height: '50px',\n position: 'relative',\n overflow: 'hidden',\n verticalAlign: 'middle'\n};\nexports.socialIcon = socialIcon;\nvar socialContainer = {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%'\n};\nexports.socialContainer = socialContainer;\nvar socialSvg = {\n borderRadius: '50%',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n fillRule: 'evenodd'\n};\nexports.socialSvg = socialSvg;\nvar socialSvgContent = {\n msTransition: 'fill 170ms ease-in-out',\n OTransition: 'fill 170ms ease-in-out',\n MozTransition: 'fill 170ms ease-in-out',\n WebkitTransition: 'fill 170ms ease-in-out',\n transition: 'fill 170ms ease-in-out',\n fill: 'transparent'\n};\nexports.socialSvgContent = socialSvgContent;\n\nvar socialSvgMask = _objectSpread({}, socialSvgContent, {\n fill: '#0f0b0b'\n});\n\nexports.socialSvgMask = socialSvgMask;","(()=>{\"use strict\";var e={904:(e,t,o)=>{o.d(t,{Z:()=>v});const r=require(\"react\");var n=o.n(r);const i=require(\"tsparticles\"),a=require(\"fast-deep-equal/react\");var c=o.n(a);function l(e){return(l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function u(e,t){for(var o=0;o{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.AnimationStatus=void 0,(o=t.AnimationStatus||(t.AnimationStatus={}))[o.increasing=0]=\"increasing\",o[o.decreasing=1]=\"decreasing\"},300:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.MoveDirection=void 0,(o=t.MoveDirection||(t.MoveDirection={})).bottom=\"bottom\",o.bottomLeft=\"bottom-left\",o.bottomRight=\"bottom-right\",o.left=\"left\",o.none=\"none\",o.right=\"right\",o.top=\"top\",o.topLeft=\"top-left\",o.topRight=\"top-right\"},264:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.OutModeDirection=void 0,(o=t.OutModeDirection||(t.OutModeDirection={})).bottom=\"bottom\",o.left=\"left\",o.right=\"right\",o.top=\"top\"},329:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.RotateDirection=void 0,(o=t.RotateDirection||(t.RotateDirection={})).clockwise=\"clockwise\",o.counterClockwise=\"counter-clockwise\",o.random=\"random\"},469:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.TiltDirection=void 0,(o=t.TiltDirection||(t.TiltDirection={})).clockwise=\"clockwise\",o.counterClockwise=\"counter-clockwise\",o.random=\"random\"},961:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__exportStar||function(e,t){for(var o in e)\"default\"===o||Object.prototype.hasOwnProperty.call(t,o)||r(t,e,o)};Object.defineProperty(t,\"__esModule\",{value:!0}),n(o(300),t),n(o(329),t),n(o(264),t),n(o(469),t)},974:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.InteractivityDetect=void 0,(o=t.InteractivityDetect||(t.InteractivityDetect={})).canvas=\"canvas\",o.parent=\"parent\",o.window=\"window\"},252:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.ClickMode=void 0,(o=t.ClickMode||(t.ClickMode={})).attract=\"attract\",o.bubble=\"bubble\",o.push=\"push\",o.remove=\"remove\",o.repulse=\"repulse\",o.pause=\"pause\",o.trail=\"trail\"},130:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.CollisionMode=void 0,(o=t.CollisionMode||(t.CollisionMode={})).absorb=\"absorb\",o.bounce=\"bounce\",o.destroy=\"destroy\"},330:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.DestroyMode=void 0,(o=t.DestroyMode||(t.DestroyMode={})).none=\"none\",o.split=\"split\"},208:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.DivMode=void 0,(o=t.DivMode||(t.DivMode={})).bounce=\"bounce\",o.bubble=\"bubble\",o.repulse=\"repulse\"},349:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.HoverMode=void 0,(o=t.HoverMode||(t.HoverMode={})).attract=\"attract\",o.bounce=\"bounce\",o.bubble=\"bubble\",o.connect=\"connect\",o.grab=\"grab\",o.light=\"light\",o.repulse=\"repulse\",o.slow=\"slow\",o.trail=\"trail\"},581:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.OutMode=void 0,(o=t.OutMode||(t.OutMode={})).bounce=\"bounce\",o.bounceHorizontal=\"bounce-horizontal\",o.bounceVertical=\"bounce-vertical\",o.none=\"none\",o.out=\"out\",o.destroy=\"destroy\",o.split=\"split\"},164:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResponsiveMode=void 0,(o=t.ResponsiveMode||(t.ResponsiveMode={})).screen=\"screen\",o.canvas=\"canvas\"},667:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.RollMode=void 0,(o=t.RollMode||(t.RollMode={})).both=\"both\",o.horizontal=\"horizontal\",o.vertical=\"vertical\"},855:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.SizeMode=void 0,(o=t.SizeMode||(t.SizeMode={})).precise=\"precise\",o.percent=\"percent\"},702:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.ThemeMode=void 0,(o=t.ThemeMode||(t.ThemeMode={})).any=\"any\",o.dark=\"dark\",o.light=\"light\"},515:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__exportStar||function(e,t){for(var o in e)\"default\"===o||Object.prototype.hasOwnProperty.call(t,o)||r(t,e,o)};Object.defineProperty(t,\"__esModule\",{value:!0}),n(o(252),t),n(o(330),t),n(o(208),t),n(o(349),t),n(o(130),t),n(o(581),t),n(o(667),t),n(o(855),t),n(o(702),t),n(o(164),t)},47:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.AlterType=void 0,(o=t.AlterType||(t.AlterType={})).darken=\"darken\",o.enlighten=\"enlighten\"},64:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.DestroyType=void 0,(o=t.DestroyType||(t.DestroyType={})).none=\"none\",o.max=\"max\",o.min=\"min\"},712:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.DivType=void 0,(o=t.DivType||(t.DivType={})).circle=\"circle\",o.rectangle=\"rectangle\"},77:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.EasingType=void 0,(o=t.EasingType||(t.EasingType={})).easeOutBack=\"ease-out-back\",o.easeOutCirc=\"ease-out-circ\",o.easeOutCubic=\"ease-out-cubic\",o.easeOutQuad=\"ease-out-quad\",o.easeOutQuart=\"ease-out-quart\",o.easeOutQuint=\"ease-out-quint\",o.easeOutExpo=\"ease-out-expo\",o.easeOutSine=\"ease-out-sine\"},589:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.GradientType=void 0,(o=t.GradientType||(t.GradientType={})).linear=\"linear\",o.radial=\"radial\",o.random=\"random\"},457:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.InteractorType=void 0,(o=t.InteractorType||(t.InteractorType={}))[o.External=0]=\"External\",o[o.Particles=1]=\"Particles\"},796:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.OrbitType=void 0,(o=t.OrbitType||(t.OrbitType={})).front=\"front\",o.back=\"back\"},247:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.ShapeType=void 0,(o=t.ShapeType||(t.ShapeType={})).char=\"char\",o.character=\"character\",o.circle=\"circle\",o.edge=\"edge\",o.image=\"image\",o.images=\"images\",o.line=\"line\",o.polygon=\"polygon\",o.square=\"square\",o.star=\"star\",o.triangle=\"triangle\"},676:(e,t)=>{var o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.StartValueType=void 0,(o=t.StartValueType||(t.StartValueType={})).max=\"max\",o.min=\"min\",o.random=\"random\"},799:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__exportStar||function(e,t){for(var o in e)\"default\"===o||Object.prototype.hasOwnProperty.call(t,o)||r(t,e,o)};Object.defineProperty(t,\"__esModule\",{value:!0}),n(o(47),t),n(o(64),t),n(o(589),t),n(o(457),t),n(o(247),t),n(o(676),t),n(o(712),t),n(o(77),t),n(o(796),t)},717:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__exportStar||function(e,t){for(var o in e)\"default\"===o||Object.prototype.hasOwnProperty.call(t,o)||r(t,e,o)};Object.defineProperty(t,\"__esModule\",{value:!0}),n(o(961),t),n(o(515),t),n(o(868),t),n(o(799),t),n(o(974),t)}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r={};(()=>{o.r(r),o.d(r,{default:()=>i,Particles:()=>e.Z});var e=o(904),t=o(717),n={};for(const e in t)[\"default\",\"Particles\"].indexOf(e)<0&&(n[e]=()=>t[e]);o.d(r,n);const i=e.Z})();var n=exports;for(var i in r)n[i]=r[i];r.__esModule&&Object.defineProperty(n,\"__esModule\",{value:!0})})();","const ReactParticles = require(\"./cjs/particles\");\n\nfor (let key in ReactParticles) {\n ReactParticles.default[key] = ReactParticles[key];\n}\n\nmodule.exports = ReactParticles.default;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst VerticalTimeline = ({\n animate,\n className,\n layout,\n lineColor,\n children\n}) => {\n if (typeof window === 'object') {\n document.documentElement.style.setProperty('--line-color', lineColor);\n }\n\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: (0, _classnames.default)(className, 'vertical-timeline', {\n 'vertical-timeline--animate': animate,\n 'vertical-timeline--two-columns': layout === '2-columns',\n 'vertical-timeline--one-column-left': layout === '1-column' || layout === '1-column-left',\n 'vertical-timeline--one-column-right': layout === '1-column-right'\n })\n }, children);\n};\n\nVerticalTimeline.propTypes = {\n children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]).isRequired,\n className: _propTypes.default.string,\n animate: _propTypes.default.bool,\n layout: _propTypes.default.oneOf(['1-column-left', '1-column', '2-columns', '1-column-right']),\n lineColor: _propTypes.default.string\n};\nVerticalTimeline.defaultProps = {\n animate: true,\n className: '',\n layout: '2-columns',\n lineColor: '#FFF'\n};\nvar _default = VerticalTimeline;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _reactIntersectionObserver = require(\"react-intersection-observer\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst VerticalTimelineElement = ({\n children,\n className,\n contentArrowStyle,\n contentStyle,\n date,\n dateClassName,\n icon,\n iconClassName,\n iconOnClick,\n onTimelineElementClick,\n iconStyle,\n id,\n position,\n style,\n textClassName,\n intersectionObserverProps,\n visible\n}) => /*#__PURE__*/_react.default.createElement(_reactIntersectionObserver.InView, intersectionObserverProps, ({\n inView,\n ref\n}) => /*#__PURE__*/_react.default.createElement(\"div\", {\n ref: ref,\n id: id,\n className: (0, _classnames.default)(className, 'vertical-timeline-element', {\n 'vertical-timeline-element--left': position === 'left',\n 'vertical-timeline-element--right': position === 'right',\n 'vertical-timeline-element--no-children': children === ''\n }),\n style: style\n}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"span\", {\n // eslint-disable-line jsx-a11y/no-static-element-interactions\n style: iconStyle,\n onClick: iconOnClick,\n className: (0, _classnames.default)(iconClassName, 'vertical-timeline-element-icon', {\n 'bounce-in': inView || visible,\n 'is-hidden': !(inView || visible)\n })\n}, icon), /*#__PURE__*/_react.default.createElement(\"div\", {\n style: contentStyle,\n onClick: onTimelineElementClick,\n className: (0, _classnames.default)(textClassName, 'vertical-timeline-element-content', {\n 'bounce-in': inView || visible,\n 'is-hidden': !(inView || visible)\n })\n}, /*#__PURE__*/_react.default.createElement(\"div\", {\n style: contentArrowStyle,\n className: \"vertical-timeline-element-content-arrow\"\n}), children, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: (0, _classnames.default)(dateClassName, 'vertical-timeline-element-date')\n}, date)))));\n\nVerticalTimelineElement.propTypes = {\n children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]),\n className: _propTypes.default.string,\n contentArrowStyle: _propTypes.default.shape({}),\n contentStyle: _propTypes.default.shape({}),\n date: _propTypes.default.node,\n dateClassName: _propTypes.default.string,\n icon: _propTypes.default.element,\n iconClassName: _propTypes.default.string,\n iconStyle: _propTypes.default.shape({}),\n iconOnClick: _propTypes.default.func,\n onTimelineElementClick: _propTypes.default.func,\n id: _propTypes.default.string,\n position: _propTypes.default.string,\n style: _propTypes.default.shape({}),\n textClassName: _propTypes.default.string,\n visible: _propTypes.default.bool,\n intersectionObserverProps: _propTypes.default.shape({\n root: _propTypes.default.object,\n rootMargin: _propTypes.default.string,\n threshold: _propTypes.default.number,\n triggerOnce: _propTypes.default.bool\n })\n};\nVerticalTimelineElement.defaultProps = {\n children: '',\n className: '',\n contentArrowStyle: null,\n contentStyle: null,\n icon: null,\n iconClassName: '',\n iconOnClick: null,\n onTimelineElementClick: null,\n iconStyle: null,\n id: '',\n style: null,\n date: '',\n dateClassName: '',\n position: '',\n textClassName: '',\n visible: false,\n intersectionObserverProps: {\n rootMargin: '0px 0px -40px 0px',\n triggerOnce: true\n }\n};\nvar _default = VerticalTimelineElement;\nexports.default = _default;","\"use strict\";\n\n// this should be the entry point to your library\nmodule.exports = {\n VerticalTimeline: require('./VerticalTimeline').default,\n // eslint-disable-line global-require\n VerticalTimelineElement: require('./VerticalTimelineElement').default // eslint-disable-line global-require\n\n};","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Canvas = void 0;\nconst Utils_1 = require(\"../Utils\");\nconst Utils_2 = require(\"../Utils\");\nclass Canvas {\n constructor(container) {\n this.container = container;\n this.size = {\n height: 0,\n width: 0,\n };\n this.context = null;\n this.generatedCanvas = false;\n }\n init() {\n this.resize();\n this.initStyle();\n this.initCover();\n this.initTrail();\n this.initBackground();\n this.paint();\n }\n loadCanvas(canvas, generatedCanvas) {\n var _a;\n if (!canvas.className) {\n canvas.className = Utils_1.Constants.canvasClass;\n }\n if (this.generatedCanvas) {\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();\n }\n this.generatedCanvas = generatedCanvas !== null && generatedCanvas !== void 0 ? generatedCanvas : this.generatedCanvas;\n this.element = canvas;\n this.originalStyle = (0, Utils_1.deepExtend)({}, this.element.style);\n this.size.height = canvas.offsetHeight;\n this.size.width = canvas.offsetWidth;\n this.context = this.element.getContext(\"2d\");\n this.container.retina.init();\n this.initBackground();\n }\n destroy() {\n var _a;\n if (this.generatedCanvas) {\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();\n }\n this.draw((ctx) => {\n (0, Utils_2.clear)(ctx, this.size);\n });\n }\n paint() {\n const options = this.container.actualOptions;\n this.draw((ctx) => {\n if (options.backgroundMask.enable && options.backgroundMask.cover && this.coverColor) {\n (0, Utils_2.clear)(ctx, this.size);\n this.paintBase((0, Utils_1.getStyleFromRgb)(this.coverColor, this.coverColor.a));\n }\n else {\n this.paintBase();\n }\n });\n }\n clear() {\n const options = this.container.actualOptions;\n const trail = options.particles.move.trail;\n if (options.backgroundMask.enable) {\n this.paint();\n }\n else if (trail.enable && trail.length > 0 && this.trailFillColor) {\n this.paintBase((0, Utils_1.getStyleFromRgb)(this.trailFillColor, 1 / trail.length));\n }\n else {\n this.draw((ctx) => {\n (0, Utils_2.clear)(ctx, this.size);\n });\n }\n }\n windowResize() {\n if (!this.element) {\n return;\n }\n const container = this.container;\n this.resize();\n const needsRefresh = container.updateActualOptions();\n container.particles.setDensity();\n for (const [, plugin] of container.plugins) {\n if (plugin.resize !== undefined) {\n plugin.resize();\n }\n }\n if (needsRefresh) {\n container.refresh();\n }\n }\n resize() {\n if (!this.element) {\n return;\n }\n const container = this.container;\n const pxRatio = container.retina.pixelRatio;\n const size = container.canvas.size;\n const oldSize = {\n width: size.width,\n height: size.height,\n };\n size.width = this.element.offsetWidth * pxRatio;\n size.height = this.element.offsetHeight * pxRatio;\n this.element.width = size.width;\n this.element.height = size.height;\n if (this.container.started) {\n this.resizeFactor = {\n width: size.width / oldSize.width,\n height: size.height / oldSize.height,\n };\n }\n }\n drawConnectLine(p1, p2) {\n this.draw((ctx) => {\n var _a;\n const lineStyle = this.lineStyle(p1, p2);\n if (!lineStyle) {\n return;\n }\n const pos1 = p1.getPosition();\n const pos2 = p2.getPosition();\n (0, Utils_1.drawConnectLine)(ctx, (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : this.container.retina.linksWidth, lineStyle, pos1, pos2);\n });\n }\n drawGrabLine(particle, lineColor, opacity, mousePos) {\n const container = this.container;\n this.draw((ctx) => {\n var _a;\n const beginPos = particle.getPosition();\n (0, Utils_1.drawGrabLine)(ctx, (_a = particle.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth, beginPos, mousePos, lineColor, opacity);\n });\n }\n drawParticle(particle, delta) {\n var _a, _b, _c, _d, _e, _f;\n if (particle.spawning || particle.destroyed) {\n return;\n }\n const pfColor = particle.getFillColor();\n const psColor = (_a = particle.getStrokeColor()) !== null && _a !== void 0 ? _a : pfColor;\n if (!pfColor && !psColor) {\n return;\n }\n let [fColor, sColor] = this.getPluginParticleColors(particle);\n const pOptions = particle.options;\n const twinkle = pOptions.twinkle.particles;\n const twinkling = twinkle.enable && Math.random() < twinkle.frequency;\n if (!fColor || !sColor) {\n const twinkleRgb = (0, Utils_1.colorToHsl)(twinkle.color);\n if (!fColor) {\n fColor = twinkling && twinkleRgb !== undefined ? twinkleRgb : pfColor ? pfColor : undefined;\n }\n if (!sColor) {\n sColor = twinkling && twinkleRgb !== undefined ? twinkleRgb : psColor ? psColor : undefined;\n }\n }\n const options = this.container.actualOptions;\n const zIndexOptions = particle.options.zIndex;\n const zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate;\n const radius = particle.getRadius();\n const opacity = twinkling ? twinkle.opacity : (_d = (_b = particle.bubble.opacity) !== null && _b !== void 0 ? _b : (_c = particle.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : 1;\n const strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity;\n const zOpacity = opacity * zOpacityFactor;\n const fillColorValue = fColor ? (0, Utils_1.getStyleFromHsl)(fColor, zOpacity) : undefined;\n if (!fillColorValue && !sColor) {\n return;\n }\n this.draw((ctx) => {\n const zSizeFactor = (1 - particle.zIndexFactor) ** zIndexOptions.sizeRate;\n const zStrokeOpacity = strokeOpacity * zOpacityFactor;\n const strokeColorValue = sColor ? (0, Utils_1.getStyleFromHsl)(sColor, zStrokeOpacity) : fillColorValue;\n if (radius <= 0) {\n return;\n }\n const container = this.container;\n for (const updater of container.particles.updaters) {\n if (updater.beforeDraw) {\n updater.beforeDraw(particle);\n }\n }\n (0, Utils_1.drawParticle)(this.container, ctx, particle, delta, fillColorValue, strokeColorValue, options.backgroundMask.enable, options.backgroundMask.composite, radius * zSizeFactor, zOpacity, particle.options.shadow, particle.gradient);\n for (const updater of container.particles.updaters) {\n if (updater.afterDraw) {\n updater.afterDraw(particle);\n }\n }\n });\n }\n drawPlugin(plugin, delta) {\n this.draw((ctx) => {\n (0, Utils_1.drawPlugin)(ctx, plugin, delta);\n });\n }\n drawParticlePlugin(plugin, particle, delta) {\n this.draw((ctx) => {\n (0, Utils_1.drawParticlePlugin)(ctx, plugin, particle, delta);\n });\n }\n initBackground() {\n const options = this.container.actualOptions;\n const background = options.background;\n const element = this.element;\n const elementStyle = element === null || element === void 0 ? void 0 : element.style;\n if (!elementStyle) {\n return;\n }\n if (background.color) {\n const color = (0, Utils_1.colorToRgb)(background.color);\n elementStyle.backgroundColor = color ? (0, Utils_1.getStyleFromRgb)(color, background.opacity) : \"\";\n }\n else {\n elementStyle.backgroundColor = \"\";\n }\n elementStyle.backgroundImage = background.image || \"\";\n elementStyle.backgroundPosition = background.position || \"\";\n elementStyle.backgroundRepeat = background.repeat || \"\";\n elementStyle.backgroundSize = background.size || \"\";\n }\n draw(cb) {\n if (!this.context) {\n return;\n }\n return cb(this.context);\n }\n initCover() {\n const options = this.container.actualOptions;\n const cover = options.backgroundMask.cover;\n const color = cover.color;\n const coverRgb = (0, Utils_1.colorToRgb)(color);\n if (coverRgb) {\n this.coverColor = {\n r: coverRgb.r,\n g: coverRgb.g,\n b: coverRgb.b,\n a: cover.opacity,\n };\n }\n }\n initTrail() {\n const options = this.container.actualOptions;\n const trail = options.particles.move.trail;\n const fillColor = (0, Utils_1.colorToRgb)(trail.fillColor);\n if (fillColor) {\n const trail = options.particles.move.trail;\n this.trailFillColor = {\n r: fillColor.r,\n g: fillColor.g,\n b: fillColor.b,\n a: 1 / trail.length,\n };\n }\n }\n getPluginParticleColors(particle) {\n let fColor;\n let sColor;\n for (const [, plugin] of this.container.plugins) {\n if (!fColor && plugin.particleFillColor) {\n fColor = (0, Utils_1.colorToHsl)(plugin.particleFillColor(particle));\n }\n if (!sColor && plugin.particleStrokeColor) {\n sColor = (0, Utils_1.colorToHsl)(plugin.particleStrokeColor(particle));\n }\n if (fColor && sColor) {\n break;\n }\n }\n return [fColor, sColor];\n }\n initStyle() {\n const element = this.element, options = this.container.actualOptions;\n if (!element) {\n return;\n }\n const originalStyle = this.originalStyle;\n if (options.fullScreen.enable) {\n this.originalStyle = (0, Utils_1.deepExtend)({}, element.style);\n element.style.position = \"fixed\";\n element.style.zIndex = options.fullScreen.zIndex.toString(10);\n element.style.top = \"0\";\n element.style.left = \"0\";\n element.style.width = \"100%\";\n element.style.height = \"100%\";\n }\n else if (originalStyle) {\n element.style.position = originalStyle.position;\n element.style.zIndex = originalStyle.zIndex;\n element.style.top = originalStyle.top;\n element.style.left = originalStyle.left;\n element.style.width = originalStyle.width;\n element.style.height = originalStyle.height;\n }\n }\n paintBase(baseColor) {\n this.draw((ctx) => {\n (0, Utils_1.paintBase)(ctx, this.size, baseColor);\n });\n }\n lineStyle(p1, p2) {\n return this.draw((ctx) => {\n const options = this.container.actualOptions;\n const connectOptions = options.interactivity.modes.connect;\n return (0, Utils_1.gradient)(ctx, p1, p2, connectOptions.links.opacity);\n });\n }\n}\nexports.Canvas = Canvas;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Container = void 0;\nconst Canvas_1 = require(\"./Canvas\");\nconst Particles_1 = require(\"./Particles\");\nconst Retina_1 = require(\"./Retina\");\nconst FrameManager_1 = require(\"./FrameManager\");\nconst Options_1 = require(\"../Options/Classes/Options\");\nconst Utils_1 = require(\"../Utils\");\nconst Vector_1 = require(\"./Particle/Vector\");\nclass Container {\n constructor(id, sourceOptions, ...presets) {\n this.id = id;\n this.fpsLimit = 60;\n this.duration = 0;\n this.lifeTime = 0;\n this.firstStart = true;\n this.started = false;\n this.destroyed = false;\n this.paused = true;\n this.lastFrameTime = 0;\n this.zLayers = 100;\n this.pageHidden = false;\n this._sourceOptions = sourceOptions;\n this._initialSourceOptions = sourceOptions;\n this.retina = new Retina_1.Retina(this);\n this.canvas = new Canvas_1.Canvas(this);\n this.particles = new Particles_1.Particles(this);\n this.drawer = new FrameManager_1.FrameManager(this);\n this.presets = presets;\n this.pathGenerator = {\n generate: () => {\n const v = Vector_1.Vector.create(0, 0);\n v.length = Math.random();\n v.angle = Math.random() * Math.PI * 2;\n return v;\n },\n init: () => {\n },\n update: () => {\n },\n };\n this.interactivity = {\n mouse: {\n clicking: false,\n inside: false,\n },\n };\n this.bubble = {};\n this.repulse = { particles: [] };\n this.attract = { particles: [] };\n this.plugins = new Map();\n this.drawers = new Map();\n this.density = 1;\n this._options = new Options_1.Options();\n this.actualOptions = new Options_1.Options();\n this.eventListeners = new Utils_1.EventListeners(this);\n if (typeof IntersectionObserver !== \"undefined\" && IntersectionObserver) {\n this.intersectionObserver = new IntersectionObserver((entries) => this.intersectionManager(entries));\n }\n }\n get options() {\n return this._options;\n }\n get sourceOptions() {\n return this._sourceOptions;\n }\n play(force) {\n const needsUpdate = this.paused || force;\n if (this.firstStart && !this.actualOptions.autoPlay) {\n this.firstStart = false;\n return;\n }\n if (this.paused) {\n this.paused = false;\n }\n if (needsUpdate) {\n for (const [, plugin] of this.plugins) {\n if (plugin.play) {\n plugin.play();\n }\n }\n }\n this.draw(needsUpdate || false);\n }\n pause() {\n if (this.drawAnimationFrame !== undefined) {\n (0, Utils_1.cancelAnimation)()(this.drawAnimationFrame);\n delete this.drawAnimationFrame;\n }\n if (this.paused) {\n return;\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.pause) {\n plugin.pause();\n }\n }\n if (!this.pageHidden) {\n this.paused = true;\n }\n }\n draw(force) {\n let refreshTime = force;\n this.drawAnimationFrame = (0, Utils_1.animate)()((timestamp) => {\n if (refreshTime) {\n this.lastFrameTime = undefined;\n refreshTime = false;\n }\n this.drawer.nextFrame(timestamp);\n });\n }\n getAnimationStatus() {\n return !this.paused && !this.pageHidden;\n }\n setNoise(noiseOrGenerator, init, update) {\n this.setPath(noiseOrGenerator, init, update);\n }\n setPath(pathOrGenerator, init, update) {\n if (!pathOrGenerator) {\n return;\n }\n if (typeof pathOrGenerator === \"function\") {\n this.pathGenerator.generate = pathOrGenerator;\n if (init) {\n this.pathGenerator.init = init;\n }\n if (update) {\n this.pathGenerator.update = update;\n }\n }\n else {\n if (pathOrGenerator.generate) {\n this.pathGenerator.generate = pathOrGenerator.generate;\n }\n if (pathOrGenerator.init) {\n this.pathGenerator.init = pathOrGenerator.init;\n }\n if (pathOrGenerator.update) {\n this.pathGenerator.update = pathOrGenerator.update;\n }\n }\n }\n destroy() {\n this.stop();\n this.canvas.destroy();\n for (const [, drawer] of this.drawers) {\n if (drawer.destroy) {\n drawer.destroy(this);\n }\n }\n for (const key of this.drawers.keys()) {\n this.drawers.delete(key);\n }\n this.destroyed = true;\n }\n exportImg(callback) {\n this.exportImage(callback);\n }\n exportImage(callback, type, quality) {\n var _a;\n return (_a = this.canvas.element) === null || _a === void 0 ? void 0 : _a.toBlob(callback, type !== null && type !== void 0 ? type : \"image/png\", quality);\n }\n exportConfiguration() {\n return JSON.stringify(this.actualOptions, undefined, 2);\n }\n refresh() {\n this.stop();\n return this.start();\n }\n reset() {\n this._options = new Options_1.Options();\n return this.refresh();\n }\n stop() {\n if (!this.started) {\n return;\n }\n this.firstStart = true;\n this.started = false;\n this.eventListeners.removeListeners();\n this.pause();\n this.particles.clear();\n this.canvas.clear();\n if (this.interactivity.element instanceof HTMLElement && this.intersectionObserver) {\n this.intersectionObserver.observe(this.interactivity.element);\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.stop) {\n plugin.stop();\n }\n }\n for (const key of this.plugins.keys()) {\n this.plugins.delete(key);\n }\n this.particles.linksColors = new Map();\n delete this.particles.grabLineColor;\n delete this.particles.linksColor;\n this._sourceOptions = this._options;\n }\n async loadTheme(name) {\n this.currentTheme = name;\n await this.refresh();\n }\n async start() {\n if (this.started) {\n return;\n }\n await this.init();\n this.started = true;\n this.eventListeners.addListeners();\n if (this.interactivity.element instanceof HTMLElement && this.intersectionObserver) {\n this.intersectionObserver.observe(this.interactivity.element);\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.startAsync !== undefined) {\n await plugin.startAsync();\n }\n else if (plugin.start !== undefined) {\n plugin.start();\n }\n }\n this.play();\n }\n addClickHandler(callback) {\n const el = this.interactivity.element;\n if (!el) {\n return;\n }\n const clickOrTouchHandler = (e, pos, radius) => {\n if (this.destroyed) {\n return;\n }\n const pxRatio = this.retina.pixelRatio, posRetina = {\n x: pos.x * pxRatio,\n y: pos.y * pxRatio,\n }, particles = this.particles.quadTree.queryCircle(posRetina, radius * pxRatio);\n callback(e, particles);\n };\n const clickHandler = (e) => {\n if (this.destroyed) {\n return;\n }\n const mouseEvent = e;\n const pos = {\n x: mouseEvent.offsetX || mouseEvent.clientX,\n y: mouseEvent.offsetY || mouseEvent.clientY,\n };\n clickOrTouchHandler(e, pos, 1);\n };\n const touchStartHandler = () => {\n if (this.destroyed) {\n return;\n }\n touched = true;\n touchMoved = false;\n };\n const touchMoveHandler = () => {\n if (this.destroyed) {\n return;\n }\n touchMoved = true;\n };\n const touchEndHandler = (e) => {\n var _a, _b, _c;\n if (this.destroyed) {\n return;\n }\n if (touched && !touchMoved) {\n const touchEvent = e;\n let lastTouch = touchEvent.touches[touchEvent.touches.length - 1];\n if (!lastTouch) {\n lastTouch = touchEvent.changedTouches[touchEvent.changedTouches.length - 1];\n if (!lastTouch) {\n return;\n }\n }\n const canvasRect = (_a = this.canvas.element) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const pos = {\n x: lastTouch.clientX - ((_b = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.left) !== null && _b !== void 0 ? _b : 0),\n y: lastTouch.clientY - ((_c = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.top) !== null && _c !== void 0 ? _c : 0),\n };\n clickOrTouchHandler(e, pos, Math.max(lastTouch.radiusX, lastTouch.radiusY));\n }\n touched = false;\n touchMoved = false;\n };\n const touchCancelHandler = () => {\n if (this.destroyed) {\n return;\n }\n touched = false;\n touchMoved = false;\n };\n let touched = false;\n let touchMoved = false;\n el.addEventListener(\"click\", clickHandler);\n el.addEventListener(\"touchstart\", touchStartHandler);\n el.addEventListener(\"touchmove\", touchMoveHandler);\n el.addEventListener(\"touchend\", touchEndHandler);\n el.addEventListener(\"touchcancel\", touchCancelHandler);\n }\n updateActualOptions() {\n this.actualOptions.responsive = [];\n const newMaxWidth = this.actualOptions.setResponsive(this.canvas.size.width, this.retina.pixelRatio, this._options);\n this.actualOptions.setTheme(this.currentTheme);\n if (this.responsiveMaxWidth != newMaxWidth) {\n this.responsiveMaxWidth = newMaxWidth;\n return true;\n }\n return false;\n }\n async init() {\n this._options = new Options_1.Options();\n for (const preset of this.presets) {\n this._options.load(Utils_1.Plugins.getPreset(preset));\n }\n const shapes = Utils_1.Plugins.getSupportedShapes();\n for (const type of shapes) {\n const drawer = Utils_1.Plugins.getShapeDrawer(type);\n if (drawer) {\n this.drawers.set(type, drawer);\n }\n }\n this._options.load(this._initialSourceOptions);\n this._options.load(this._sourceOptions);\n this.actualOptions = new Options_1.Options();\n this.actualOptions.load(this._options);\n this.retina.init();\n this.canvas.init();\n this.updateActualOptions();\n this.canvas.initBackground();\n this.canvas.resize();\n this.zLayers = this.actualOptions.zLayers;\n this.duration = (0, Utils_1.getRangeValue)(this.actualOptions.duration);\n this.lifeTime = 0;\n this.fpsLimit = this.actualOptions.fpsLimit > 0 ? this.actualOptions.fpsLimit : 60;\n const availablePlugins = Utils_1.Plugins.getAvailablePlugins(this);\n for (const [id, plugin] of availablePlugins) {\n this.plugins.set(id, plugin);\n }\n for (const [, drawer] of this.drawers) {\n if (drawer.init) {\n await drawer.init(this);\n }\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.init) {\n plugin.init(this.actualOptions);\n }\n else if (plugin.initAsync !== undefined) {\n await plugin.initAsync(this.actualOptions);\n }\n }\n const pathOptions = this.actualOptions.particles.move.path;\n if (pathOptions.generator) {\n const customGenerator = Utils_1.Plugins.getPathGenerator(pathOptions.generator);\n if (customGenerator) {\n if (customGenerator.init) {\n this.pathGenerator.init = customGenerator.init;\n }\n if (customGenerator.generate) {\n this.pathGenerator.generate = customGenerator.generate;\n }\n if (customGenerator.update) {\n this.pathGenerator.update = customGenerator.update;\n }\n }\n }\n this.particles.init();\n this.particles.setDensity();\n for (const [, plugin] of this.plugins) {\n if (plugin.particlesSetup !== undefined) {\n plugin.particlesSetup();\n }\n }\n }\n intersectionManager(entries) {\n if (!this.actualOptions.pauseOnOutsideViewport) {\n return;\n }\n for (const entry of entries) {\n if (entry.target !== this.interactivity.element) {\n continue;\n }\n if (entry.isIntersecting) {\n this.play();\n }\n else {\n this.pause();\n }\n }\n }\n}\nexports.Container = Container;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExternalInteractorBase = void 0;\nconst Enums_1 = require(\"../Enums\");\nclass ExternalInteractorBase {\n constructor(container) {\n this.container = container;\n this.type = Enums_1.InteractorType.External;\n }\n}\nexports.ExternalInteractorBase = ExternalInteractorBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameManager = void 0;\nclass FrameManager {\n constructor(container) {\n this.container = container;\n }\n nextFrame(timestamp) {\n var _a;\n try {\n const container = this.container;\n if (container.lastFrameTime !== undefined &&\n timestamp < container.lastFrameTime + 1000 / container.fpsLimit) {\n container.draw(false);\n return;\n }\n (_a = container.lastFrameTime) !== null && _a !== void 0 ? _a : (container.lastFrameTime = timestamp);\n const deltaValue = timestamp - container.lastFrameTime;\n const delta = {\n value: deltaValue,\n factor: (60 * deltaValue) / 1000,\n };\n container.lifeTime += delta.value;\n container.lastFrameTime = timestamp;\n if (deltaValue > 1000) {\n container.draw(false);\n return;\n }\n container.particles.draw(delta);\n if (container.duration > 0 && container.lifeTime > container.duration) {\n container.destroy();\n return;\n }\n if (container.getAnimationStatus()) {\n container.draw(false);\n }\n }\n catch (e) {\n console.error(\"tsParticles error in animation loop\", e);\n }\n }\n}\nexports.FrameManager = FrameManager;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InteractionManager = void 0;\nconst Utils_1 = require(\"../Utils\");\nconst Enums_1 = require(\"../Enums\");\nclass InteractionManager {\n constructor(container) {\n this.container = container;\n this.externalInteractors = [];\n this.particleInteractors = [];\n this.init();\n }\n init() {\n const interactors = Utils_1.Plugins.getInteractors(this.container, true);\n for (const interactor of interactors) {\n switch (interactor.type) {\n case Enums_1.InteractorType.External:\n this.externalInteractors.push(interactor);\n break;\n case Enums_1.InteractorType.Particles:\n this.particleInteractors.push(interactor);\n break;\n }\n }\n }\n externalInteract(delta) {\n for (const interactor of this.externalInteractors) {\n if (interactor.isEnabled()) {\n interactor.interact(delta);\n }\n }\n }\n particlesInteract(particle, delta) {\n for (const interactor of this.externalInteractors) {\n interactor.reset(particle);\n }\n for (const interactor of this.particleInteractors) {\n if (interactor.isEnabled(particle)) {\n interactor.interact(particle, delta);\n }\n }\n }\n}\nexports.InteractionManager = InteractionManager;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Colors\"), exports);\n__exportStar(require(\"./Gradients\"), exports);\n__exportStar(require(\"./IAttract\"), exports);\n__exportStar(require(\"./IBounds\"), exports);\n__exportStar(require(\"./IBubble\"), exports);\n__exportStar(require(\"./IBubbleParticleData\"), exports);\n__exportStar(require(\"./ICircleBouncer\"), exports);\n__exportStar(require(\"./IContainerInteractivity\"), exports);\n__exportStar(require(\"./IContainerPlugin\"), exports);\n__exportStar(require(\"./ICoordinates\"), exports);\n__exportStar(require(\"./IDelta\"), exports);\n__exportStar(require(\"./IDimension\"), exports);\n__exportStar(require(\"./IDistance\"), exports);\n__exportStar(require(\"./IExternalInteractor\"), exports);\n__exportStar(require(\"./IInteractor\"), exports);\n__exportStar(require(\"./IMouseData\"), exports);\n__exportStar(require(\"./IMovePathGenerator\"), exports);\n__exportStar(require(\"./IParticle\"), exports);\n__exportStar(require(\"./IParticleGradientAnimation\"), exports);\n__exportStar(require(\"./IParticleGradientColorAnimation\"), exports);\n__exportStar(require(\"./IParticleHslAnimation\"), exports);\n__exportStar(require(\"./IParticleLife\"), exports);\n__exportStar(require(\"./IParticleLoops\"), exports);\n__exportStar(require(\"./IParticleRetinaProps\"), exports);\n__exportStar(require(\"./IParticleSpin\"), exports);\n__exportStar(require(\"./IParticleUpdater\"), exports);\n__exportStar(require(\"./IParticleValueAnimation\"), exports);\n__exportStar(require(\"./IParticlesInteractor\"), exports);\n__exportStar(require(\"./IPlugin\"), exports);\n__exportStar(require(\"./IRangeValue\"), exports);\n__exportStar(require(\"./IRectSideResult\"), exports);\n__exportStar(require(\"./IRepulse\"), exports);\n__exportStar(require(\"./IShapeDrawer\"), exports);\n__exportStar(require(\"./IShapeValues\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Loader = void 0;\nconst Container_1 = require(\"./Container\");\nconst Utils_1 = require(\"../Utils\");\nconst tsParticlesDom = [];\nfunction fetchError(statusCode) {\n console.error(`Error tsParticles - fetch status: ${statusCode}`);\n console.error(\"Error tsParticles - File config not found\");\n}\nclass Loader {\n static dom() {\n return tsParticlesDom;\n }\n static domItem(index) {\n const dom = Loader.dom();\n const item = dom[index];\n if (item && !item.destroyed) {\n return item;\n }\n dom.splice(index, 1);\n }\n static async loadOptions(params) {\n var _a, _b, _c;\n const tagId = (_a = params.tagId) !== null && _a !== void 0 ? _a : `tsparticles${Math.floor(Math.random() * 10000)}`;\n const { options, index } = params;\n let domContainer = (_b = params.element) !== null && _b !== void 0 ? _b : document.getElementById(tagId);\n if (!domContainer) {\n domContainer = document.createElement(\"div\");\n domContainer.id = tagId;\n (_c = document.querySelector(\"body\")) === null || _c === void 0 ? void 0 : _c.append(domContainer);\n }\n const currentOptions = options instanceof Array ? (0, Utils_1.itemFromArray)(options, index) : options;\n const dom = Loader.dom();\n const oldIndex = dom.findIndex((v) => v.id === tagId);\n if (oldIndex >= 0) {\n const old = Loader.domItem(oldIndex);\n if (old && !old.destroyed) {\n old.destroy();\n dom.splice(oldIndex, 1);\n }\n }\n let canvasEl;\n let generatedCanvas;\n if (domContainer.tagName.toLowerCase() === \"canvas\") {\n canvasEl = domContainer;\n generatedCanvas = false;\n }\n else {\n const existingCanvases = domContainer.getElementsByTagName(\"canvas\");\n if (existingCanvases.length) {\n canvasEl = existingCanvases[0];\n if (!canvasEl.className) {\n canvasEl.className = Utils_1.Constants.canvasClass;\n }\n generatedCanvas = false;\n }\n else {\n generatedCanvas = true;\n canvasEl = document.createElement(\"canvas\");\n canvasEl.className = Utils_1.Constants.canvasClass;\n canvasEl.style.width = \"100%\";\n canvasEl.style.height = \"100%\";\n domContainer.appendChild(canvasEl);\n }\n }\n const newItem = new Container_1.Container(tagId, currentOptions);\n if (oldIndex >= 0) {\n dom.splice(oldIndex, 0, newItem);\n }\n else {\n dom.push(newItem);\n }\n newItem.canvas.loadCanvas(canvasEl, generatedCanvas);\n await newItem.start();\n return newItem;\n }\n static async loadRemoteOptions(params) {\n const { url: jsonUrl, index } = params;\n const url = jsonUrl instanceof Array ? (0, Utils_1.itemFromArray)(jsonUrl, index) : jsonUrl;\n if (!url) {\n return;\n }\n const response = await fetch(url);\n if (!response.ok) {\n fetchError(response.status);\n return;\n }\n const data = await response.json();\n return await Loader.loadOptions({\n tagId: params.tagId,\n element: params.element,\n index,\n options: data,\n });\n }\n static load(tagId, options, index) {\n const params = { index };\n if (typeof tagId === \"string\") {\n params.tagId = tagId;\n }\n else {\n params.options = tagId;\n }\n if (typeof options === \"number\") {\n params.index = options !== null && options !== void 0 ? options : params.index;\n }\n else {\n params.options = options !== null && options !== void 0 ? options : params.options;\n }\n return this.loadOptions(params);\n }\n static async set(id, domContainer, options, index) {\n const params = { index };\n if (typeof id === \"string\") {\n params.tagId = id;\n }\n else {\n params.element = id;\n }\n if (domContainer instanceof HTMLElement) {\n params.element = domContainer;\n }\n else {\n params.options = domContainer;\n }\n if (typeof options === \"number\") {\n params.index = options;\n }\n else {\n params.options = options !== null && options !== void 0 ? options : params.options;\n }\n return this.loadOptions(params);\n }\n static async loadJSON(tagId, jsonUrl, index) {\n let url, id;\n if (typeof jsonUrl === \"number\" || jsonUrl === undefined) {\n url = tagId;\n }\n else {\n id = tagId;\n url = jsonUrl;\n }\n return await Loader.loadRemoteOptions({ tagId: id, url, index });\n }\n static async setJSON(id, domContainer, jsonUrl, index) {\n let url, newId, newIndex, element;\n if (id instanceof HTMLElement) {\n element = id;\n url = domContainer;\n newIndex = jsonUrl;\n }\n else {\n newId = id;\n element = domContainer;\n url = jsonUrl;\n newIndex = index;\n }\n return await Loader.loadRemoteOptions({ tagId: newId, url, index: newIndex, element });\n }\n static setOnClickHandler(callback) {\n const dom = Loader.dom();\n if (dom.length === 0) {\n throw new Error(\"Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()\");\n }\n for (const domItem of dom) {\n domItem.addClickHandler(callback);\n }\n }\n}\nexports.Loader = Loader;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Particle = void 0;\nconst ParticlesOptions_1 = require(\"../Options/Classes/Particles/ParticlesOptions\");\nconst Shape_1 = require(\"../Options/Classes/Particles/Shape/Shape\");\nconst Enums_1 = require(\"../Enums\");\nconst Utils_1 = require(\"../Utils\");\nconst Vector_1 = require(\"./Particle/Vector\");\nconst Vector3d_1 = require(\"./Particle/Vector3d\");\nconst fixOutMode = (data) => {\n if ((0, Utils_1.isInArray)(data.outMode, data.checkModes) || (0, Utils_1.isInArray)(data.outMode, data.checkModes)) {\n if (data.coord > data.maxCoord - data.radius * 2) {\n data.setCb(-data.radius);\n }\n else if (data.coord < data.radius * 2) {\n data.setCb(data.radius);\n }\n }\n};\nclass Particle {\n constructor(id, container, position, overrideOptions, group) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n this.id = id;\n this.container = container;\n this.group = group;\n this.fill = true;\n this.close = true;\n this.lastPathTime = 0;\n this.destroyed = false;\n this.unbreakable = false;\n this.splitCount = 0;\n this.misplaced = false;\n this.retina = {\n maxDistance: {},\n };\n const pxRatio = container.retina.pixelRatio;\n const mainOptions = container.actualOptions;\n const particlesOptions = new ParticlesOptions_1.ParticlesOptions();\n particlesOptions.load(mainOptions.particles);\n const shapeType = particlesOptions.shape.type;\n const reduceDuplicates = particlesOptions.reduceDuplicates;\n this.shape = shapeType instanceof Array ? (0, Utils_1.itemFromArray)(shapeType, this.id, reduceDuplicates) : shapeType;\n if (overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions.shape) {\n if (overrideOptions.shape.type) {\n const overrideShapeType = overrideOptions.shape.type;\n this.shape =\n overrideShapeType instanceof Array\n ? (0, Utils_1.itemFromArray)(overrideShapeType, this.id, reduceDuplicates)\n : overrideShapeType;\n }\n const shapeOptions = new Shape_1.Shape();\n shapeOptions.load(overrideOptions.shape);\n if (this.shape) {\n this.shapeData = this.loadShapeData(shapeOptions, reduceDuplicates);\n }\n }\n else {\n this.shapeData = this.loadShapeData(particlesOptions.shape, reduceDuplicates);\n }\n if (overrideOptions !== undefined) {\n particlesOptions.load(overrideOptions);\n }\n if (((_a = this.shapeData) === null || _a === void 0 ? void 0 : _a.particles) !== undefined) {\n particlesOptions.load((_b = this.shapeData) === null || _b === void 0 ? void 0 : _b.particles);\n }\n this.fill = (_d = (_c = this.shapeData) === null || _c === void 0 ? void 0 : _c.fill) !== null && _d !== void 0 ? _d : this.fill;\n this.close = (_f = (_e = this.shapeData) === null || _e === void 0 ? void 0 : _e.close) !== null && _f !== void 0 ? _f : this.close;\n this.options = particlesOptions;\n this.pathDelay = (0, Utils_1.getValue)(this.options.move.path.delay) * 1000;\n const zIndexValue = (0, Utils_1.getRangeValue)(this.options.zIndex.value);\n container.retina.initParticle(this);\n const sizeOptions = this.options.size, sizeRange = sizeOptions.value;\n this.size = {\n enable: sizeOptions.animation.enable,\n value: (0, Utils_1.getValue)(sizeOptions) * container.retina.pixelRatio,\n max: (0, Utils_1.getRangeMax)(sizeRange) * pxRatio,\n min: (0, Utils_1.getRangeMin)(sizeRange) * pxRatio,\n loops: 0,\n maxLoops: sizeOptions.animation.count,\n };\n const sizeAnimation = sizeOptions.animation;\n if (sizeAnimation.enable) {\n this.size.status = Enums_1.AnimationStatus.increasing;\n switch (sizeAnimation.startValue) {\n case Enums_1.StartValueType.min:\n this.size.value = this.size.min;\n this.size.status = Enums_1.AnimationStatus.increasing;\n break;\n case Enums_1.StartValueType.random:\n this.size.value = (0, Utils_1.randomInRange)(this.size) * pxRatio;\n this.size.status = Math.random() >= 0.5 ? Enums_1.AnimationStatus.increasing : Enums_1.AnimationStatus.decreasing;\n break;\n case Enums_1.StartValueType.max:\n default:\n this.size.value = this.size.max;\n this.size.status = Enums_1.AnimationStatus.decreasing;\n break;\n }\n this.size.velocity =\n (((_g = this.retina.sizeAnimationSpeed) !== null && _g !== void 0 ? _g : container.retina.sizeAnimationSpeed) / 100) *\n container.retina.reduceFactor;\n if (!sizeAnimation.sync) {\n this.size.velocity *= Math.random();\n }\n }\n this.direction = (0, Utils_1.getParticleDirectionAngle)(this.options.move.direction);\n this.bubble = {\n inRange: false,\n };\n this.initialVelocity = this.calculateVelocity();\n this.velocity = this.initialVelocity.copy();\n this.moveDecay = 1 - (0, Utils_1.getRangeValue)(this.options.move.decay);\n this.position = this.calcPosition(container, position, (0, Utils_1.clamp)(zIndexValue, 0, container.zLayers));\n this.initialPosition = this.position.copy();\n this.offset = Vector_1.Vector.origin;\n const particles = container.particles;\n particles.needsSort = particles.needsSort || particles.lastZIndex < this.position.z;\n particles.lastZIndex = this.position.z;\n this.zIndexFactor = this.position.z / container.zLayers;\n this.sides = 24;\n let drawer = container.drawers.get(this.shape);\n if (!drawer) {\n drawer = Utils_1.Plugins.getShapeDrawer(this.shape);\n if (drawer) {\n container.drawers.set(this.shape, drawer);\n }\n }\n if (drawer === null || drawer === void 0 ? void 0 : drawer.loadShape) {\n drawer === null || drawer === void 0 ? void 0 : drawer.loadShape(this);\n }\n const sideCountFunc = drawer === null || drawer === void 0 ? void 0 : drawer.getSidesCount;\n if (sideCountFunc) {\n this.sides = sideCountFunc(this);\n }\n this.life = this.loadLife();\n this.spawning = this.life.delay > 0;\n if (this.options.move.spin.enable) {\n const spinPos = (_h = this.options.move.spin.position) !== null && _h !== void 0 ? _h : { x: 50, y: 50 };\n const spinCenter = {\n x: (spinPos.x / 100) * container.canvas.size.width,\n y: (spinPos.y / 100) * container.canvas.size.height,\n };\n const pos = this.getPosition();\n const distance = (0, Utils_1.getDistance)(pos, spinCenter);\n this.spin = {\n center: spinCenter,\n direction: this.velocity.x >= 0 ? Enums_1.RotateDirection.clockwise : Enums_1.RotateDirection.counterClockwise,\n angle: this.velocity.angle,\n radius: distance,\n acceleration: (_j = this.retina.spinAcceleration) !== null && _j !== void 0 ? _j : (0, Utils_1.getRangeValue)(this.options.move.spin.acceleration),\n };\n }\n this.shadowColor = (0, Utils_1.colorToRgb)(this.options.shadow.color);\n for (const updater of container.particles.updaters) {\n if (updater.init) {\n updater.init(this);\n }\n }\n if (drawer && drawer.particleInit) {\n drawer.particleInit(container, this);\n }\n for (const [, plugin] of container.plugins) {\n if (plugin.particleCreated) {\n plugin.particleCreated(this);\n }\n }\n }\n isVisible() {\n return !this.destroyed && !this.spawning && this.isInsideCanvas();\n }\n isInsideCanvas() {\n const radius = this.getRadius();\n const canvasSize = this.container.canvas.size;\n return (this.position.x >= -radius &&\n this.position.y >= -radius &&\n this.position.y <= canvasSize.height + radius &&\n this.position.x <= canvasSize.width + radius);\n }\n draw(delta) {\n const container = this.container;\n for (const [, plugin] of container.plugins) {\n container.canvas.drawParticlePlugin(plugin, this, delta);\n }\n container.canvas.drawParticle(this, delta);\n }\n getPosition() {\n return {\n x: this.position.x + this.offset.x,\n y: this.position.y + this.offset.y,\n z: this.position.z,\n };\n }\n getRadius() {\n var _a;\n return (_a = this.bubble.radius) !== null && _a !== void 0 ? _a : this.size.value;\n }\n getMass() {\n return (this.getRadius() ** 2 * Math.PI) / 2;\n }\n getFillColor() {\n var _a, _b, _c;\n const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : (0, Utils_1.getHslFromAnimation)(this.color);\n if (color && this.roll && (this.backColor || this.roll.alter)) {\n const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;\n if (rolled) {\n if (this.backColor) {\n return this.backColor;\n }\n if (this.roll.alter) {\n return (0, Utils_1.alterHsl)(color, this.roll.alter.type, this.roll.alter.value);\n }\n }\n }\n return color;\n }\n getStrokeColor() {\n var _a, _b;\n return (_b = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : (0, Utils_1.getHslFromAnimation)(this.strokeColor)) !== null && _b !== void 0 ? _b : this.getFillColor();\n }\n destroy(override) {\n this.destroyed = true;\n this.bubble.inRange = false;\n if (this.unbreakable) {\n return;\n }\n this.destroyed = true;\n this.bubble.inRange = false;\n for (const [, plugin] of this.container.plugins) {\n if (plugin.particleDestroyed) {\n plugin.particleDestroyed(this, override);\n }\n }\n if (override) {\n return;\n }\n const destroyOptions = this.options.destroy;\n if (destroyOptions.mode === Enums_1.DestroyMode.split) {\n this.split();\n }\n }\n reset() {\n if (this.opacity) {\n this.opacity.loops = 0;\n }\n this.size.loops = 0;\n }\n split() {\n const splitOptions = this.options.destroy.split;\n if (splitOptions.count >= 0 && this.splitCount++ > splitOptions.count) {\n return;\n }\n const rate = (0, Utils_1.getRangeValue)(splitOptions.rate.value);\n for (let i = 0; i < rate; i++) {\n this.container.particles.addSplitParticle(this);\n }\n }\n calcPosition(container, position, zIndex, tryCount = 0) {\n var _a, _b, _c, _d, _e, _f;\n for (const [, plugin] of container.plugins) {\n const pluginPos = plugin.particlePosition !== undefined ? plugin.particlePosition(position, this) : undefined;\n if (pluginPos !== undefined) {\n return Vector3d_1.Vector3d.create(pluginPos.x, pluginPos.y, zIndex);\n }\n }\n const canvasSize = container.canvas.size;\n const pos = Vector3d_1.Vector3d.create((_a = position === null || position === void 0 ? void 0 : position.x) !== null && _a !== void 0 ? _a : Math.random() * canvasSize.width, (_b = position === null || position === void 0 ? void 0 : position.y) !== null && _b !== void 0 ? _b : Math.random() * canvasSize.height, zIndex);\n const radius = this.getRadius();\n const outModes = this.options.move.outModes, fixHorizontal = (outMode) => {\n fixOutMode({\n outMode,\n checkModes: [Enums_1.OutMode.bounce, Enums_1.OutMode.bounceHorizontal],\n coord: pos.x,\n maxCoord: container.canvas.size.width,\n setCb: (value) => (pos.x += value),\n radius,\n });\n }, fixVertical = (outMode) => {\n fixOutMode({\n outMode,\n checkModes: [Enums_1.OutMode.bounce, Enums_1.OutMode.bounceVertical],\n coord: pos.y,\n maxCoord: container.canvas.size.height,\n setCb: (value) => (pos.y += value),\n radius,\n });\n };\n fixHorizontal((_c = outModes.left) !== null && _c !== void 0 ? _c : outModes.default);\n fixHorizontal((_d = outModes.right) !== null && _d !== void 0 ? _d : outModes.default);\n fixVertical((_e = outModes.top) !== null && _e !== void 0 ? _e : outModes.default);\n fixVertical((_f = outModes.bottom) !== null && _f !== void 0 ? _f : outModes.default);\n if (this.checkOverlap(pos, tryCount)) {\n return this.calcPosition(container, undefined, zIndex, tryCount + 1);\n }\n return pos;\n }\n checkOverlap(pos, tryCount = 0) {\n const collisionsOptions = this.options.collisions;\n const radius = this.getRadius();\n if (!collisionsOptions.enable) {\n return false;\n }\n const overlapOptions = collisionsOptions.overlap;\n if (overlapOptions.enable) {\n return false;\n }\n const retries = overlapOptions.retries;\n if (retries >= 0 && tryCount > retries) {\n throw new Error(\"Particle is overlapping and can't be placed\");\n }\n let overlaps = false;\n for (const particle of this.container.particles.array) {\n if ((0, Utils_1.getDistance)(pos, particle.position) < radius + particle.getRadius()) {\n overlaps = true;\n break;\n }\n }\n return overlaps;\n }\n calculateVelocity() {\n const baseVelocity = (0, Utils_1.getParticleBaseVelocity)(this.direction);\n const res = baseVelocity.copy();\n const moveOptions = this.options.move;\n const rad = (Math.PI / 180) * moveOptions.angle.value;\n const radOffset = (Math.PI / 180) * moveOptions.angle.offset;\n const range = {\n left: radOffset - rad / 2,\n right: radOffset + rad / 2,\n };\n if (!moveOptions.straight) {\n res.angle += (0, Utils_1.randomInRange)((0, Utils_1.setRangeValue)(range.left, range.right));\n }\n if (moveOptions.random && typeof moveOptions.speed === \"number\") {\n res.length *= Math.random();\n }\n return res;\n }\n loadShapeData(shapeOptions, reduceDuplicates) {\n const shapeData = shapeOptions.options[this.shape];\n if (shapeData) {\n return (0, Utils_1.deepExtend)({}, shapeData instanceof Array ? (0, Utils_1.itemFromArray)(shapeData, this.id, reduceDuplicates) : shapeData);\n }\n }\n loadLife() {\n const container = this.container;\n const particlesOptions = this.options;\n const lifeOptions = particlesOptions.life;\n const life = {\n delay: container.retina.reduceFactor\n ? (((0, Utils_1.getRangeValue)(lifeOptions.delay.value) * (lifeOptions.delay.sync ? 1 : Math.random())) /\n container.retina.reduceFactor) *\n 1000\n : 0,\n delayTime: 0,\n duration: container.retina.reduceFactor\n ? (((0, Utils_1.getRangeValue)(lifeOptions.duration.value) * (lifeOptions.duration.sync ? 1 : Math.random())) /\n container.retina.reduceFactor) *\n 1000\n : 0,\n time: 0,\n count: particlesOptions.life.count,\n };\n if (life.duration <= 0) {\n life.duration = -1;\n }\n if (life.count <= 0) {\n life.count = -1;\n }\n return life;\n }\n}\nexports.Particle = Particle;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mover = void 0;\nconst Utils_1 = require(\"../../Utils\");\nconst Enums_1 = require(\"../../Enums\");\nfunction applyDistance(particle) {\n const initialPosition = particle.initialPosition;\n const { dx, dy } = (0, Utils_1.getDistances)(initialPosition, particle.position);\n const dxFixed = Math.abs(dx), dyFixed = Math.abs(dy);\n const hDistance = particle.retina.maxDistance.horizontal;\n const vDistance = particle.retina.maxDistance.vertical;\n if (!hDistance && !vDistance) {\n return;\n }\n if (((hDistance && dxFixed >= hDistance) || (vDistance && dyFixed >= vDistance)) && !particle.misplaced) {\n particle.misplaced = (!!hDistance && dxFixed > hDistance) || (!!vDistance && dyFixed > vDistance);\n if (hDistance) {\n particle.velocity.x = particle.velocity.y / 2 - particle.velocity.x;\n }\n if (vDistance) {\n particle.velocity.y = particle.velocity.x / 2 - particle.velocity.y;\n }\n }\n else if ((!hDistance || dxFixed < hDistance) && (!vDistance || dyFixed < vDistance) && particle.misplaced) {\n particle.misplaced = false;\n }\n else if (particle.misplaced) {\n const pos = particle.position, vel = particle.velocity;\n if (hDistance && ((pos.x < initialPosition.x && vel.x < 0) || (pos.x > initialPosition.x && vel.x > 0))) {\n vel.x *= -Math.random();\n }\n if (vDistance && ((pos.y < initialPosition.y && vel.y < 0) || (pos.y > initialPosition.y && vel.y > 0))) {\n vel.y *= -Math.random();\n }\n }\n}\nclass Mover {\n constructor(container) {\n this.container = container;\n }\n move(particle, delta) {\n if (particle.destroyed) {\n return;\n }\n this.moveParticle(particle, delta);\n this.moveParallax(particle);\n }\n moveParticle(particle, delta) {\n var _a, _b, _c;\n var _d, _e;\n const particleOptions = particle.options;\n const moveOptions = particleOptions.move;\n if (!moveOptions.enable) {\n return;\n }\n const container = this.container, slowFactor = this.getProximitySpeedFactor(particle), baseSpeed = ((_a = (_d = particle.retina).moveSpeed) !== null && _a !== void 0 ? _a : (_d.moveSpeed = (0, Utils_1.getRangeValue)(moveOptions.speed) * container.retina.pixelRatio)) *\n container.retina.reduceFactor, moveDrift = ((_b = (_e = particle.retina).moveDrift) !== null && _b !== void 0 ? _b : (_e.moveDrift = (0, Utils_1.getRangeValue)(particle.options.move.drift) * container.retina.pixelRatio)), maxSize = (0, Utils_1.getRangeMax)(particleOptions.size.value) * container.retina.pixelRatio, sizeFactor = moveOptions.size ? particle.getRadius() / maxSize : 1, diffFactor = 2, speedFactor = (sizeFactor * slowFactor * (delta.factor || 1)) / diffFactor, moveSpeed = baseSpeed * speedFactor;\n this.applyPath(particle, delta);\n const gravityOptions = moveOptions.gravity;\n const gravityFactor = gravityOptions.enable && gravityOptions.inverse ? -1 : 1;\n if (gravityOptions.enable && moveSpeed) {\n particle.velocity.y += (gravityFactor * (gravityOptions.acceleration * delta.factor)) / (60 * moveSpeed);\n }\n if (moveDrift && moveSpeed) {\n particle.velocity.x += (moveDrift * delta.factor) / (60 * moveSpeed);\n }\n const decay = particle.moveDecay;\n if (decay != 1) {\n particle.velocity.multTo(decay);\n }\n const velocity = particle.velocity.mult(moveSpeed);\n const maxSpeed = (_c = particle.retina.maxSpeed) !== null && _c !== void 0 ? _c : container.retina.maxSpeed;\n if (gravityOptions.enable &&\n gravityOptions.maxSpeed > 0 &&\n ((!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed) ||\n (gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed))) {\n velocity.y = gravityFactor * maxSpeed;\n if (moveSpeed) {\n particle.velocity.y = velocity.y / moveSpeed;\n }\n }\n const zIndexOptions = particle.options.zIndex, zVelocityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.velocityRate;\n if (moveOptions.spin.enable) {\n this.spin(particle, moveSpeed);\n }\n else {\n if (zVelocityFactor != 1) {\n velocity.multTo(zVelocityFactor);\n }\n particle.position.addTo(velocity);\n if (moveOptions.vibrate) {\n particle.position.x += Math.sin(particle.position.x * Math.cos(particle.position.y));\n particle.position.y += Math.cos(particle.position.y * Math.sin(particle.position.x));\n }\n }\n applyDistance(particle);\n }\n spin(particle, moveSpeed) {\n const container = this.container;\n if (!particle.spin) {\n return;\n }\n const updateFunc = {\n x: particle.spin.direction === Enums_1.RotateDirection.clockwise ? Math.cos : Math.sin,\n y: particle.spin.direction === Enums_1.RotateDirection.clockwise ? Math.sin : Math.cos,\n };\n particle.position.x = particle.spin.center.x + particle.spin.radius * updateFunc.x(particle.spin.angle);\n particle.position.y = particle.spin.center.y + particle.spin.radius * updateFunc.y(particle.spin.angle);\n particle.spin.radius += particle.spin.acceleration;\n const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height);\n if (particle.spin.radius > maxCanvasSize / 2) {\n particle.spin.radius = maxCanvasSize / 2;\n particle.spin.acceleration *= -1;\n }\n else if (particle.spin.radius < 0) {\n particle.spin.radius = 0;\n particle.spin.acceleration *= -1;\n }\n particle.spin.angle += (moveSpeed / 100) * (1 - particle.spin.radius / maxCanvasSize);\n }\n applyPath(particle, delta) {\n const particlesOptions = particle.options;\n const pathOptions = particlesOptions.move.path;\n const pathEnabled = pathOptions.enable;\n if (!pathEnabled) {\n return;\n }\n const container = this.container;\n if (particle.lastPathTime <= particle.pathDelay) {\n particle.lastPathTime += delta.value;\n return;\n }\n const path = container.pathGenerator.generate(particle);\n particle.velocity.addTo(path);\n if (pathOptions.clamp) {\n particle.velocity.x = (0, Utils_1.clamp)(particle.velocity.x, -1, 1);\n particle.velocity.y = (0, Utils_1.clamp)(particle.velocity.y, -1, 1);\n }\n particle.lastPathTime -= particle.pathDelay;\n }\n moveParallax(particle) {\n const container = this.container;\n const options = container.actualOptions;\n if ((0, Utils_1.isSsr)() || !options.interactivity.events.onHover.parallax.enable) {\n return;\n }\n const parallaxForce = options.interactivity.events.onHover.parallax.force;\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const canvasCenter = {\n x: container.canvas.size.width / 2,\n y: container.canvas.size.height / 2,\n };\n const parallaxSmooth = options.interactivity.events.onHover.parallax.smooth;\n const factor = particle.getRadius() / parallaxForce;\n const tmp = {\n x: (mousePos.x - canvasCenter.x) * factor,\n y: (mousePos.y - canvasCenter.y) * factor,\n };\n particle.offset.x += (tmp.x - particle.offset.x) / parallaxSmooth;\n particle.offset.y += (tmp.y - particle.offset.y) / parallaxSmooth;\n }\n getProximitySpeedFactor(particle) {\n const container = this.container;\n const options = container.actualOptions;\n const active = (0, Utils_1.isInArray)(Enums_1.HoverMode.slow, options.interactivity.events.onHover.mode);\n if (!active) {\n return 1;\n }\n const mousePos = this.container.interactivity.mouse.position;\n if (!mousePos) {\n return 1;\n }\n const particlePos = particle.getPosition();\n const dist = (0, Utils_1.getDistance)(mousePos, particlePos);\n const radius = container.retina.slowModeRadius;\n if (dist > radius) {\n return 1;\n }\n const proximityFactor = dist / radius || 0;\n const slowFactor = options.interactivity.modes.slow.factor;\n return proximityFactor / slowFactor;\n }\n}\nexports.Mover = Mover;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Vector = void 0;\nclass Vector {\n constructor(x, y) {\n let defX, defY;\n if (y === undefined) {\n if (typeof x === \"number\") {\n throw new Error(\"tsParticles - Vector not initialized correctly\");\n }\n const coords = x;\n [defX, defY] = [coords.x, coords.y];\n }\n else {\n [defX, defY] = [x, y];\n }\n this.x = defX;\n this.y = defY;\n }\n static clone(source) {\n return Vector.create(source.x, source.y);\n }\n static create(x, y) {\n return new Vector(x, y);\n }\n static get origin() {\n return Vector.create(0, 0);\n }\n get angle() {\n return Math.atan2(this.y, this.x);\n }\n set angle(angle) {\n this.updateFromAngle(angle, this.length);\n }\n get length() {\n return Math.sqrt(this.x ** 2 + this.y ** 2);\n }\n set length(length) {\n this.updateFromAngle(this.angle, length);\n }\n add(v) {\n return Vector.create(this.x + v.x, this.y + v.y);\n }\n addTo(v) {\n this.x += v.x;\n this.y += v.y;\n }\n sub(v) {\n return Vector.create(this.x - v.x, this.y - v.y);\n }\n subFrom(v) {\n this.x -= v.x;\n this.y -= v.y;\n }\n mult(n) {\n return Vector.create(this.x * n, this.y * n);\n }\n multTo(n) {\n this.x *= n;\n this.y *= n;\n }\n div(n) {\n return Vector.create(this.x / n, this.y / n);\n }\n divTo(n) {\n this.x /= n;\n this.y /= n;\n }\n distanceTo(v) {\n return this.sub(v).length;\n }\n getLengthSq() {\n return this.x ** 2 + this.y ** 2;\n }\n distanceToSq(v) {\n return this.sub(v).getLengthSq();\n }\n manhattanDistanceTo(v) {\n return Math.abs(v.x - this.x) + Math.abs(v.y - this.y);\n }\n copy() {\n return Vector.clone(this);\n }\n setTo(velocity) {\n this.x = velocity.x;\n this.y = velocity.y;\n }\n rotate(angle) {\n return Vector.create(this.x * Math.cos(angle) - this.y * Math.sin(angle), this.x * Math.sin(angle) + this.y * Math.cos(angle));\n }\n updateFromAngle(angle, length) {\n this.x = Math.cos(angle) * length;\n this.y = Math.sin(angle) * length;\n }\n}\nexports.Vector = Vector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Vector3d = void 0;\nconst Vector_1 = require(\"./Vector\");\nclass Vector3d extends Vector_1.Vector {\n constructor(x, y, z) {\n super(x, y);\n this.z = z === undefined ? x.z : z;\n }\n static clone(source) {\n return Vector3d.create(source.x, source.y, source.z);\n }\n static create(x, y, z) {\n return new Vector3d(x, y, z);\n }\n add(v) {\n return v instanceof Vector3d ? Vector3d.create(this.x + v.x, this.y + v.y, this.z + v.z) : super.add(v);\n }\n addTo(v) {\n super.addTo(v);\n if (v instanceof Vector3d) {\n this.z += v.z;\n }\n }\n sub(v) {\n return v instanceof Vector3d ? Vector3d.create(this.x - v.x, this.y - v.y, this.z - v.z) : super.sub(v);\n }\n subFrom(v) {\n super.subFrom(v);\n if (v instanceof Vector3d) {\n this.z -= v.z;\n }\n }\n mult(n) {\n return Vector3d.create(this.x * n, this.y * n, this.z * n);\n }\n multTo(n) {\n super.multTo(n);\n this.z *= n;\n }\n div(n) {\n return Vector3d.create(this.x / n, this.y / n, this.z / n);\n }\n divTo(n) {\n super.divTo(n);\n this.z /= n;\n }\n copy() {\n return Vector3d.clone(this);\n }\n setTo(v) {\n super.setTo(v);\n if (v instanceof Vector3d) {\n this.z = v.z;\n }\n }\n}\nexports.Vector3d = Vector3d;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Particles = void 0;\nconst Particle_1 = require(\"./Particle\");\nconst Utils_1 = require(\"../Utils\");\nconst InteractionManager_1 = require(\"./InteractionManager\");\nconst ParticlesOptions_1 = require(\"../Options/Classes/Particles/ParticlesOptions\");\nconst Mover_1 = require(\"./Particle/Mover\");\nclass Particles {\n constructor(container) {\n this.container = container;\n this.nextId = 0;\n this.array = [];\n this.zArray = [];\n this.mover = new Mover_1.Mover(container);\n this.limit = 0;\n this.needsSort = false;\n this.lastZIndex = 0;\n this.freqs = {\n links: new Map(),\n triangles: new Map(),\n };\n this.interactionManager = new InteractionManager_1.InteractionManager(container);\n const canvasSize = this.container.canvas.size;\n this.linksColors = new Map();\n this.quadTree = new Utils_1.QuadTree(new Utils_1.Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, (canvasSize.width * 3) / 2, (canvasSize.height * 3) / 2), 4);\n this.updaters = Utils_1.Plugins.getUpdaters(container, true);\n }\n get count() {\n return this.array.length;\n }\n init() {\n var _a;\n const container = this.container;\n const options = container.actualOptions;\n this.lastZIndex = 0;\n this.needsSort = false;\n this.freqs.links = new Map();\n this.freqs.triangles = new Map();\n let handled = false;\n this.updaters = Utils_1.Plugins.getUpdaters(container, true);\n this.interactionManager.init();\n for (const [, plugin] of container.plugins) {\n if (plugin.particlesInitialization !== undefined) {\n handled = plugin.particlesInitialization();\n }\n if (handled) {\n break;\n }\n }\n this.addManualParticles();\n if (!handled) {\n for (const group in options.particles.groups) {\n const groupOptions = options.particles.groups[group];\n for (let i = this.count, j = 0; j < ((_a = groupOptions.number) === null || _a === void 0 ? void 0 : _a.value) && i < options.particles.number.value; i++, j++) {\n this.addParticle(undefined, groupOptions, group);\n }\n }\n for (let i = this.count; i < options.particles.number.value; i++) {\n this.addParticle();\n }\n }\n container.pathGenerator.init(container);\n }\n redraw() {\n this.clear();\n this.init();\n this.draw({ value: 0, factor: 0 });\n }\n removeAt(index, quantity = 1, group, override) {\n if (!(index >= 0 && index <= this.count)) {\n return;\n }\n let deleted = 0;\n for (let i = index; deleted < quantity && i < this.count; i++) {\n const particle = this.array[i];\n if (!particle || particle.group !== group) {\n continue;\n }\n particle.destroy(override);\n this.array.splice(i--, 1);\n const zIdx = this.zArray.indexOf(particle);\n this.zArray.splice(zIdx, 1);\n deleted++;\n }\n }\n remove(particle, group, override) {\n this.removeAt(this.array.indexOf(particle), undefined, group, override);\n }\n update(delta) {\n const container = this.container;\n const particlesToDelete = [];\n container.pathGenerator.update();\n for (const [, plugin] of container.plugins) {\n if (plugin.update !== undefined) {\n plugin.update(delta);\n }\n }\n for (const particle of this.array) {\n const resizeFactor = container.canvas.resizeFactor;\n if (resizeFactor) {\n particle.position.x *= resizeFactor.width;\n particle.position.y *= resizeFactor.height;\n }\n particle.bubble.inRange = false;\n for (const [, plugin] of this.container.plugins) {\n if (particle.destroyed) {\n break;\n }\n if (plugin.particleUpdate) {\n plugin.particleUpdate(particle, delta);\n }\n }\n this.mover.move(particle, delta);\n if (particle.destroyed) {\n particlesToDelete.push(particle);\n continue;\n }\n this.quadTree.insert(new Utils_1.Point(particle.getPosition(), particle));\n }\n for (const particle of particlesToDelete) {\n this.remove(particle);\n }\n this.interactionManager.externalInteract(delta);\n for (const particle of container.particles.array) {\n for (const updater of this.updaters) {\n updater.update(particle, delta);\n }\n if (!particle.destroyed && !particle.spawning) {\n this.interactionManager.particlesInteract(particle, delta);\n }\n }\n delete container.canvas.resizeFactor;\n }\n draw(delta) {\n const container = this.container;\n container.canvas.clear();\n const canvasSize = this.container.canvas.size;\n this.quadTree = new Utils_1.QuadTree(new Utils_1.Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, (canvasSize.width * 3) / 2, (canvasSize.height * 3) / 2), 4);\n this.update(delta);\n if (this.needsSort) {\n this.zArray.sort((a, b) => b.position.z - a.position.z || a.id - b.id);\n this.lastZIndex = this.zArray[this.zArray.length - 1].position.z;\n this.needsSort = false;\n }\n for (const [, plugin] of container.plugins) {\n container.canvas.drawPlugin(plugin, delta);\n }\n for (const p of this.zArray) {\n p.draw(delta);\n }\n }\n clear() {\n this.array = [];\n this.zArray = [];\n }\n push(nb, mouse, overrideOptions, group) {\n this.pushing = true;\n for (let i = 0; i < nb; i++) {\n this.addParticle(mouse === null || mouse === void 0 ? void 0 : mouse.position, overrideOptions, group);\n }\n this.pushing = false;\n }\n addParticle(position, overrideOptions, group) {\n const container = this.container;\n const options = container.actualOptions;\n const limit = options.particles.number.limit * container.density;\n if (limit > 0) {\n const countToRemove = this.count + 1 - limit;\n if (countToRemove > 0) {\n this.removeQuantity(countToRemove);\n }\n }\n return this.pushParticle(position, overrideOptions, group);\n }\n addSplitParticle(parent) {\n const splitOptions = parent.options.destroy.split;\n const options = new ParticlesOptions_1.ParticlesOptions();\n options.load(parent.options);\n const factor = (0, Utils_1.getRangeValue)(splitOptions.factor.value);\n options.color.load({\n value: {\n hsl: parent.getFillColor(),\n },\n });\n if (typeof options.size.value === \"number\") {\n options.size.value /= factor;\n }\n else {\n options.size.value.min /= factor;\n options.size.value.max /= factor;\n }\n options.load(splitOptions.particles);\n const offset = splitOptions.sizeOffset ? (0, Utils_1.setRangeValue)(-parent.size.value, parent.size.value) : 0;\n const position = {\n x: parent.position.x + (0, Utils_1.randomInRange)(offset),\n y: parent.position.y + (0, Utils_1.randomInRange)(offset),\n };\n return this.pushParticle(position, options, parent.group, (particle) => {\n if (particle.size.value < 0.5) {\n return false;\n }\n particle.velocity.length = (0, Utils_1.randomInRange)((0, Utils_1.setRangeValue)(parent.velocity.length, particle.velocity.length));\n particle.splitCount = parent.splitCount + 1;\n particle.unbreakable = true;\n setTimeout(() => {\n particle.unbreakable = false;\n }, 500);\n return true;\n });\n }\n removeQuantity(quantity, group) {\n this.removeAt(0, quantity, group);\n }\n getLinkFrequency(p1, p2) {\n const key = `${Math.min(p1.id, p2.id)}_${Math.max(p1.id, p2.id)}`;\n let res = this.freqs.links.get(key);\n if (res === undefined) {\n res = Math.random();\n this.freqs.links.set(key, res);\n }\n return res;\n }\n getTriangleFrequency(p1, p2, p3) {\n let [id1, id2, id3] = [p1.id, p2.id, p3.id];\n if (id1 > id2) {\n [id2, id1] = [id1, id2];\n }\n if (id2 > id3) {\n [id3, id2] = [id2, id3];\n }\n if (id1 > id3) {\n [id3, id1] = [id1, id3];\n }\n const key = `${id1}_${id2}_${id3}`;\n let res = this.freqs.triangles.get(key);\n if (res === undefined) {\n res = Math.random();\n this.freqs.triangles.set(key, res);\n }\n return res;\n }\n addManualParticles() {\n const container = this.container;\n const options = container.actualOptions;\n for (const particle of options.manualParticles) {\n const pos = particle.position\n ? {\n x: (particle.position.x * container.canvas.size.width) / 100,\n y: (particle.position.y * container.canvas.size.height) / 100,\n }\n : undefined;\n this.addParticle(pos, particle.options);\n }\n }\n setDensity() {\n const options = this.container.actualOptions;\n for (const group in options.particles.groups) {\n this.applyDensity(options.particles.groups[group], 0, group);\n }\n this.applyDensity(options.particles, options.manualParticles.length);\n }\n applyDensity(options, manualCount, group) {\n var _a;\n if (!((_a = options.number.density) === null || _a === void 0 ? void 0 : _a.enable)) {\n return;\n }\n const numberOptions = options.number;\n const densityFactor = this.initDensityFactor(numberOptions.density);\n const optParticlesNumber = numberOptions.value;\n const optParticlesLimit = numberOptions.limit > 0 ? numberOptions.limit : optParticlesNumber;\n const particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + manualCount;\n const particlesCount = Math.min(this.count, this.array.filter((t) => t.group === group).length);\n this.limit = numberOptions.limit * densityFactor;\n if (particlesCount < particlesNumber) {\n this.push(Math.abs(particlesNumber - particlesCount), undefined, options, group);\n }\n else if (particlesCount > particlesNumber) {\n this.removeQuantity(particlesCount - particlesNumber, group);\n }\n }\n initDensityFactor(densityOptions) {\n const container = this.container;\n if (!container.canvas.element || !densityOptions.enable) {\n return 1;\n }\n const canvas = container.canvas.element;\n const pxRatio = container.retina.pixelRatio;\n return (canvas.width * canvas.height) / (densityOptions.factor * pxRatio ** 2 * densityOptions.area);\n }\n pushParticle(position, overrideOptions, group, initializer) {\n try {\n const particle = new Particle_1.Particle(this.nextId, this.container, position, overrideOptions, group);\n let canAdd = true;\n if (initializer) {\n canAdd = initializer(particle);\n }\n if (!canAdd) {\n return;\n }\n this.array.push(particle);\n this.zArray.push(particle);\n this.nextId++;\n return particle;\n }\n catch (e) {\n console.warn(`error adding particle: ${e}`);\n return;\n }\n }\n}\nexports.Particles = Particles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParticlesInteractorBase = void 0;\nconst Enums_1 = require(\"../Enums\");\nclass ParticlesInteractorBase {\n constructor(container) {\n this.container = container;\n this.type = Enums_1.InteractorType.Particles;\n }\n}\nexports.ParticlesInteractorBase = ParticlesInteractorBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Retina = void 0;\nconst Utils_1 = require(\"../Utils\");\nclass Retina {\n constructor(container) {\n this.container = container;\n }\n init() {\n const container = this.container;\n const options = container.actualOptions;\n this.pixelRatio = !options.detectRetina || (0, Utils_1.isSsr)() ? 1 : window.devicePixelRatio;\n const motionOptions = this.container.actualOptions.motion;\n if (motionOptions && (motionOptions.disable || motionOptions.reduce.value)) {\n if ((0, Utils_1.isSsr)() || typeof matchMedia === \"undefined\" || !matchMedia) {\n this.reduceFactor = 1;\n }\n else {\n const mediaQuery = matchMedia(\"(prefers-reduced-motion: reduce)\");\n if (mediaQuery) {\n this.handleMotionChange(mediaQuery);\n const handleChange = () => {\n this.handleMotionChange(mediaQuery);\n container.refresh().catch(() => {\n });\n };\n if (mediaQuery.addEventListener !== undefined) {\n mediaQuery.addEventListener(\"change\", handleChange);\n }\n else if (mediaQuery.addListener !== undefined) {\n mediaQuery.addListener(handleChange);\n }\n }\n }\n }\n else {\n this.reduceFactor = 1;\n }\n const ratio = this.pixelRatio;\n if (container.canvas.element) {\n const element = container.canvas.element;\n container.canvas.size.width = element.offsetWidth * ratio;\n container.canvas.size.height = element.offsetHeight * ratio;\n }\n const particles = options.particles;\n this.attractDistance = particles.move.attract.distance * ratio;\n this.linksDistance = particles.links.distance * ratio;\n this.linksWidth = particles.links.width * ratio;\n this.sizeAnimationSpeed = particles.size.animation.speed * ratio;\n this.maxSpeed = particles.move.gravity.maxSpeed * ratio;\n if (particles.orbit.radius !== undefined) {\n this.orbitRadius = particles.orbit.radius * this.container.retina.pixelRatio;\n }\n const modes = options.interactivity.modes;\n this.connectModeDistance = modes.connect.distance * ratio;\n this.connectModeRadius = modes.connect.radius * ratio;\n this.grabModeDistance = modes.grab.distance * ratio;\n this.repulseModeDistance = modes.repulse.distance * ratio;\n this.bounceModeDistance = modes.bounce.distance * ratio;\n this.attractModeDistance = modes.attract.distance * ratio;\n this.slowModeRadius = modes.slow.radius * ratio;\n this.bubbleModeDistance = modes.bubble.distance * ratio;\n if (modes.bubble.size) {\n this.bubbleModeSize = modes.bubble.size * ratio;\n }\n }\n initParticle(particle) {\n const options = particle.options;\n const ratio = this.pixelRatio;\n const moveDistance = options.move.distance;\n const props = particle.retina;\n props.attractDistance = options.move.attract.distance * ratio;\n props.linksDistance = options.links.distance * ratio;\n props.linksWidth = options.links.width * ratio;\n props.moveDrift = (0, Utils_1.getRangeValue)(options.move.drift) * ratio;\n props.moveSpeed = (0, Utils_1.getRangeValue)(options.move.speed) * ratio;\n props.sizeAnimationSpeed = options.size.animation.speed * ratio;\n if (particle.spin) {\n props.spinAcceleration = (0, Utils_1.getRangeValue)(options.move.spin.acceleration) * ratio;\n }\n const maxDistance = props.maxDistance;\n maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;\n maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;\n props.maxSpeed = options.move.gravity.maxSpeed * ratio;\n }\n handleMotionChange(mediaQuery) {\n const options = this.container.actualOptions;\n if (mediaQuery.matches) {\n const motion = options.motion;\n this.reduceFactor = motion.disable ? 0 : motion.reduce.value ? 1 / motion.reduce.factor : 1;\n }\n else {\n this.reduceFactor = 1;\n }\n }\n}\nexports.Retina = Retina;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnimationStatus = void 0;\nvar AnimationStatus;\n(function (AnimationStatus) {\n AnimationStatus[AnimationStatus[\"increasing\"] = 0] = \"increasing\";\n AnimationStatus[AnimationStatus[\"decreasing\"] = 1] = \"decreasing\";\n})(AnimationStatus = exports.AnimationStatus || (exports.AnimationStatus = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MoveDirection = void 0;\nvar MoveDirection;\n(function (MoveDirection) {\n MoveDirection[\"bottom\"] = \"bottom\";\n MoveDirection[\"bottomLeft\"] = \"bottom-left\";\n MoveDirection[\"bottomRight\"] = \"bottom-right\";\n MoveDirection[\"left\"] = \"left\";\n MoveDirection[\"none\"] = \"none\";\n MoveDirection[\"right\"] = \"right\";\n MoveDirection[\"top\"] = \"top\";\n MoveDirection[\"topLeft\"] = \"top-left\";\n MoveDirection[\"topRight\"] = \"top-right\";\n})(MoveDirection = exports.MoveDirection || (exports.MoveDirection = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutModeDirection = void 0;\nvar OutModeDirection;\n(function (OutModeDirection) {\n OutModeDirection[\"bottom\"] = \"bottom\";\n OutModeDirection[\"left\"] = \"left\";\n OutModeDirection[\"right\"] = \"right\";\n OutModeDirection[\"top\"] = \"top\";\n})(OutModeDirection = exports.OutModeDirection || (exports.OutModeDirection = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RotateDirection = void 0;\nvar RotateDirection;\n(function (RotateDirection) {\n RotateDirection[\"clockwise\"] = \"clockwise\";\n RotateDirection[\"counterClockwise\"] = \"counter-clockwise\";\n RotateDirection[\"random\"] = \"random\";\n})(RotateDirection = exports.RotateDirection || (exports.RotateDirection = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TiltDirection = void 0;\nvar TiltDirection;\n(function (TiltDirection) {\n TiltDirection[\"clockwise\"] = \"clockwise\";\n TiltDirection[\"counterClockwise\"] = \"counter-clockwise\";\n TiltDirection[\"random\"] = \"random\";\n})(TiltDirection = exports.TiltDirection || (exports.TiltDirection = {}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./MoveDirection\"), exports);\n__exportStar(require(\"./RotateDirection\"), exports);\n__exportStar(require(\"./OutModeDirection\"), exports);\n__exportStar(require(\"./TiltDirection\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InteractivityDetect = void 0;\nvar InteractivityDetect;\n(function (InteractivityDetect) {\n InteractivityDetect[\"canvas\"] = \"canvas\";\n InteractivityDetect[\"parent\"] = \"parent\";\n InteractivityDetect[\"window\"] = \"window\";\n})(InteractivityDetect = exports.InteractivityDetect || (exports.InteractivityDetect = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ClickMode = void 0;\nvar ClickMode;\n(function (ClickMode) {\n ClickMode[\"attract\"] = \"attract\";\n ClickMode[\"bubble\"] = \"bubble\";\n ClickMode[\"push\"] = \"push\";\n ClickMode[\"remove\"] = \"remove\";\n ClickMode[\"repulse\"] = \"repulse\";\n ClickMode[\"pause\"] = \"pause\";\n ClickMode[\"trail\"] = \"trail\";\n})(ClickMode = exports.ClickMode || (exports.ClickMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CollisionMode = void 0;\nvar CollisionMode;\n(function (CollisionMode) {\n CollisionMode[\"absorb\"] = \"absorb\";\n CollisionMode[\"bounce\"] = \"bounce\";\n CollisionMode[\"destroy\"] = \"destroy\";\n})(CollisionMode = exports.CollisionMode || (exports.CollisionMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DestroyMode = void 0;\nvar DestroyMode;\n(function (DestroyMode) {\n DestroyMode[\"none\"] = \"none\";\n DestroyMode[\"split\"] = \"split\";\n})(DestroyMode = exports.DestroyMode || (exports.DestroyMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DivMode = void 0;\nvar DivMode;\n(function (DivMode) {\n DivMode[\"bounce\"] = \"bounce\";\n DivMode[\"bubble\"] = \"bubble\";\n DivMode[\"repulse\"] = \"repulse\";\n})(DivMode = exports.DivMode || (exports.DivMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HoverMode = void 0;\nvar HoverMode;\n(function (HoverMode) {\n HoverMode[\"attract\"] = \"attract\";\n HoverMode[\"bounce\"] = \"bounce\";\n HoverMode[\"bubble\"] = \"bubble\";\n HoverMode[\"connect\"] = \"connect\";\n HoverMode[\"grab\"] = \"grab\";\n HoverMode[\"light\"] = \"light\";\n HoverMode[\"repulse\"] = \"repulse\";\n HoverMode[\"slow\"] = \"slow\";\n HoverMode[\"trail\"] = \"trail\";\n})(HoverMode = exports.HoverMode || (exports.HoverMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutMode = void 0;\nvar OutMode;\n(function (OutMode) {\n OutMode[\"bounce\"] = \"bounce\";\n OutMode[\"bounceHorizontal\"] = \"bounce-horizontal\";\n OutMode[\"bounceVertical\"] = \"bounce-vertical\";\n OutMode[\"none\"] = \"none\";\n OutMode[\"out\"] = \"out\";\n OutMode[\"destroy\"] = \"destroy\";\n OutMode[\"split\"] = \"split\";\n})(OutMode = exports.OutMode || (exports.OutMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResponsiveMode = void 0;\nvar ResponsiveMode;\n(function (ResponsiveMode) {\n ResponsiveMode[\"screen\"] = \"screen\";\n ResponsiveMode[\"canvas\"] = \"canvas\";\n})(ResponsiveMode = exports.ResponsiveMode || (exports.ResponsiveMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RollMode = void 0;\nvar RollMode;\n(function (RollMode) {\n RollMode[\"both\"] = \"both\";\n RollMode[\"horizontal\"] = \"horizontal\";\n RollMode[\"vertical\"] = \"vertical\";\n})(RollMode = exports.RollMode || (exports.RollMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SizeMode = void 0;\nvar SizeMode;\n(function (SizeMode) {\n SizeMode[\"precise\"] = \"precise\";\n SizeMode[\"percent\"] = \"percent\";\n})(SizeMode = exports.SizeMode || (exports.SizeMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ThemeMode = void 0;\nvar ThemeMode;\n(function (ThemeMode) {\n ThemeMode[\"any\"] = \"any\";\n ThemeMode[\"dark\"] = \"dark\";\n ThemeMode[\"light\"] = \"light\";\n})(ThemeMode = exports.ThemeMode || (exports.ThemeMode = {}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ClickMode\"), exports);\n__exportStar(require(\"./DestroyMode\"), exports);\n__exportStar(require(\"./DivMode\"), exports);\n__exportStar(require(\"./HoverMode\"), exports);\n__exportStar(require(\"./CollisionMode\"), exports);\n__exportStar(require(\"./OutMode\"), exports);\n__exportStar(require(\"./RollMode\"), exports);\n__exportStar(require(\"./SizeMode\"), exports);\n__exportStar(require(\"./ThemeMode\"), exports);\n__exportStar(require(\"./ResponsiveMode\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AlterType = void 0;\nvar AlterType;\n(function (AlterType) {\n AlterType[\"darken\"] = \"darken\";\n AlterType[\"enlighten\"] = \"enlighten\";\n})(AlterType = exports.AlterType || (exports.AlterType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DestroyType = void 0;\nvar DestroyType;\n(function (DestroyType) {\n DestroyType[\"none\"] = \"none\";\n DestroyType[\"max\"] = \"max\";\n DestroyType[\"min\"] = \"min\";\n})(DestroyType = exports.DestroyType || (exports.DestroyType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DivType = void 0;\nvar DivType;\n(function (DivType) {\n DivType[\"circle\"] = \"circle\";\n DivType[\"rectangle\"] = \"rectangle\";\n})(DivType = exports.DivType || (exports.DivType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EasingType = void 0;\nvar EasingType;\n(function (EasingType) {\n EasingType[\"easeOutBack\"] = \"ease-out-back\";\n EasingType[\"easeOutCirc\"] = \"ease-out-circ\";\n EasingType[\"easeOutCubic\"] = \"ease-out-cubic\";\n EasingType[\"easeOutQuad\"] = \"ease-out-quad\";\n EasingType[\"easeOutQuart\"] = \"ease-out-quart\";\n EasingType[\"easeOutQuint\"] = \"ease-out-quint\";\n EasingType[\"easeOutExpo\"] = \"ease-out-expo\";\n EasingType[\"easeOutSine\"] = \"ease-out-sine\";\n})(EasingType = exports.EasingType || (exports.EasingType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GradientType = void 0;\nvar GradientType;\n(function (GradientType) {\n GradientType[\"linear\"] = \"linear\";\n GradientType[\"radial\"] = \"radial\";\n GradientType[\"random\"] = \"random\";\n})(GradientType = exports.GradientType || (exports.GradientType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InteractorType = void 0;\nvar InteractorType;\n(function (InteractorType) {\n InteractorType[InteractorType[\"External\"] = 0] = \"External\";\n InteractorType[InteractorType[\"Particles\"] = 1] = \"Particles\";\n})(InteractorType = exports.InteractorType || (exports.InteractorType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrbitType = void 0;\nvar OrbitType;\n(function (OrbitType) {\n OrbitType[\"front\"] = \"front\";\n OrbitType[\"back\"] = \"back\";\n})(OrbitType = exports.OrbitType || (exports.OrbitType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShapeType = void 0;\nvar ShapeType;\n(function (ShapeType) {\n ShapeType[\"char\"] = \"char\";\n ShapeType[\"character\"] = \"character\";\n ShapeType[\"circle\"] = \"circle\";\n ShapeType[\"edge\"] = \"edge\";\n ShapeType[\"image\"] = \"image\";\n ShapeType[\"images\"] = \"images\";\n ShapeType[\"line\"] = \"line\";\n ShapeType[\"polygon\"] = \"polygon\";\n ShapeType[\"square\"] = \"square\";\n ShapeType[\"star\"] = \"star\";\n ShapeType[\"triangle\"] = \"triangle\";\n})(ShapeType = exports.ShapeType || (exports.ShapeType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StartValueType = void 0;\nvar StartValueType;\n(function (StartValueType) {\n StartValueType[\"max\"] = \"max\";\n StartValueType[\"min\"] = \"min\";\n StartValueType[\"random\"] = \"random\";\n})(StartValueType = exports.StartValueType || (exports.StartValueType = {}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./AlterType\"), exports);\n__exportStar(require(\"./DestroyType\"), exports);\n__exportStar(require(\"./GradientType\"), exports);\n__exportStar(require(\"./InteractorType\"), exports);\n__exportStar(require(\"./ShapeType\"), exports);\n__exportStar(require(\"./StartValueType\"), exports);\n__exportStar(require(\"./DivType\"), exports);\n__exportStar(require(\"./EasingType\"), exports);\n__exportStar(require(\"./OrbitType\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Directions\"), exports);\n__exportStar(require(\"./Modes\"), exports);\n__exportStar(require(\"./AnimationStatus\"), exports);\n__exportStar(require(\"./Types\"), exports);\n__exportStar(require(\"./InteractivityDetect\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Attractor = void 0;\nconst Enums_1 = require(\"../../../Enums\");\nconst Utils_1 = require(\"../../../Utils\");\nconst ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\nconst Vector_1 = require(\"../../../Core/Particle/Vector\");\nclass Attractor extends ExternalInteractorBase_1.ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events;\n if ((!mouse.position || !events.onHover.enable) && (!mouse.clickPosition || !events.onClick.enable)) {\n return false;\n }\n const hoverMode = events.onHover.mode, clickMode = events.onClick.mode;\n return (0, Utils_1.isInArray)(Enums_1.HoverMode.attract, hoverMode) || (0, Utils_1.isInArray)(Enums_1.ClickMode.attract, clickMode);\n }\n reset() {\n }\n interact() {\n const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === Utils_1.Constants.mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode;\n if (mouseMoveStatus && hoverEnabled && (0, Utils_1.isInArray)(Enums_1.HoverMode.attract, hoverMode)) {\n this.hoverAttract();\n }\n else if (clickEnabled && (0, Utils_1.isInArray)(Enums_1.ClickMode.attract, clickMode)) {\n this.clickAttract();\n }\n }\n hoverAttract() {\n const container = this.container;\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const attractRadius = container.retina.attractModeDistance;\n this.processAttract(mousePos, attractRadius, new Utils_1.Circle(mousePos.x, mousePos.y, attractRadius));\n }\n processAttract(position, attractRadius, area) {\n const container = this.container;\n const attractOptions = container.actualOptions.interactivity.modes.attract;\n const query = container.particles.quadTree.query(area);\n for (const particle of query) {\n const { dx, dy, distance } = (0, Utils_1.getDistances)(particle.position, position);\n const velocity = attractOptions.speed * attractOptions.factor;\n const attractFactor = (0, Utils_1.clamp)((0, Utils_1.calcEasing)(1 - distance / attractRadius, attractOptions.easing) * velocity, 0, attractOptions.maxSpeed);\n const normVec = Vector_1.Vector.create(distance === 0 ? velocity : (dx / distance) * attractFactor, distance === 0 ? velocity : (dy / distance) * attractFactor);\n particle.position.subFrom(normVec);\n }\n }\n clickAttract() {\n const container = this.container;\n if (!container.attract.finish) {\n if (!container.attract.count) {\n container.attract.count = 0;\n }\n container.attract.count++;\n if (container.attract.count === container.particles.count) {\n container.attract.finish = true;\n }\n }\n if (container.attract.clicking) {\n const mousePos = container.interactivity.mouse.clickPosition;\n if (!mousePos) {\n return;\n }\n const attractRadius = container.retina.attractModeDistance;\n this.processAttract(mousePos, attractRadius, new Utils_1.Circle(mousePos.x, mousePos.y, attractRadius));\n }\n else if (container.attract.clicking === false) {\n container.attract.particles = [];\n }\n return;\n }\n}\nexports.Attractor = Attractor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadExternalAttractInteraction = void 0;\nconst Attractor_1 = require(\"./Attractor\");\nasync function loadExternalAttractInteraction(tsParticles) {\n await tsParticles.addInteractor(\"externalAttract\", (container) => new Attractor_1.Attractor(container));\n}\nexports.loadExternalAttractInteraction = loadExternalAttractInteraction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Bouncer = void 0;\nconst Utils_1 = require(\"../../../Utils\");\nconst Enums_1 = require(\"../../../Enums\");\nconst Vector_1 = require(\"../../../Core/Particle/Vector\");\nconst ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\nclass Bouncer extends ExternalInteractorBase_1.ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events, divs = events.onDiv;\n return ((mouse.position && events.onHover.enable && (0, Utils_1.isInArray)(Enums_1.HoverMode.bounce, events.onHover.mode)) ||\n (0, Utils_1.isDivModeEnabled)(Enums_1.DivMode.bounce, divs));\n }\n interact() {\n const container = this.container, options = container.actualOptions, events = options.interactivity.events, mouseMoveStatus = container.interactivity.status === Utils_1.Constants.mouseMoveEvent, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, divs = events.onDiv;\n if (mouseMoveStatus && hoverEnabled && (0, Utils_1.isInArray)(Enums_1.HoverMode.bounce, hoverMode)) {\n this.processMouseBounce();\n }\n else {\n (0, Utils_1.divModeExecute)(Enums_1.DivMode.bounce, divs, (selector, div) => this.singleSelectorBounce(selector, div));\n }\n }\n reset() {\n }\n processMouseBounce() {\n const container = this.container, pxRatio = container.retina.pixelRatio, tolerance = 10 * pxRatio, mousePos = container.interactivity.mouse.position, radius = container.retina.bounceModeDistance;\n if (mousePos) {\n this.processBounce(mousePos, radius, new Utils_1.Circle(mousePos.x, mousePos.y, radius + tolerance));\n }\n }\n singleSelectorBounce(selector, div) {\n const container = this.container;\n const query = document.querySelectorAll(selector);\n if (!query.length) {\n return;\n }\n query.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, radius = (elem.offsetWidth / 2) * pxRatio, tolerance = 10 * pxRatio;\n const area = div.type === Enums_1.DivType.circle\n ? new Utils_1.Circle(pos.x, pos.y, radius + tolerance)\n : new Utils_1.Rectangle(elem.offsetLeft * pxRatio - tolerance, elem.offsetTop * pxRatio - tolerance, elem.offsetWidth * pxRatio + tolerance * 2, elem.offsetHeight * pxRatio + tolerance * 2);\n this.processBounce(pos, radius, area);\n });\n }\n processBounce(position, radius, area) {\n const query = this.container.particles.quadTree.query(area);\n for (const particle of query) {\n if (area instanceof Utils_1.Circle) {\n (0, Utils_1.circleBounce)((0, Utils_1.circleBounceDataFromParticle)(particle), {\n position,\n radius,\n mass: (radius ** 2 * Math.PI) / 2,\n velocity: Vector_1.Vector.origin,\n factor: Vector_1.Vector.origin,\n });\n }\n else if (area instanceof Utils_1.Rectangle) {\n (0, Utils_1.rectBounce)(particle, (0, Utils_1.calculateBounds)(position, radius));\n }\n }\n }\n}\nexports.Bouncer = Bouncer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadExternalBounceInteraction = void 0;\nconst Bouncer_1 = require(\"./Bouncer\");\nasync function loadExternalBounceInteraction(tsParticles) {\n await tsParticles.addInteractor(\"externalBounce\", (container) => new Bouncer_1.Bouncer(container));\n}\nexports.loadExternalBounceInteraction = loadExternalBounceInteraction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Bubbler = void 0;\nconst Utils_1 = require(\"../../../Utils\");\nconst Enums_1 = require(\"../../../Enums\");\nconst ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\nconst ProcessBubbleType_1 = require(\"./ProcessBubbleType\");\nfunction calculateBubbleValue(particleValue, modeValue, optionsValue, ratio) {\n if (modeValue >= optionsValue) {\n const value = particleValue + (modeValue - optionsValue) * ratio;\n return (0, Utils_1.clamp)(value, particleValue, modeValue);\n }\n else if (modeValue < optionsValue) {\n const value = particleValue - (optionsValue - modeValue) * ratio;\n return (0, Utils_1.clamp)(value, modeValue, particleValue);\n }\n}\nclass Bubbler extends ExternalInteractorBase_1.ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events, divs = events.onDiv, divBubble = (0, Utils_1.isDivModeEnabled)(Enums_1.DivMode.bubble, divs);\n if (!(divBubble || (events.onHover.enable && mouse.position) || (events.onClick.enable && mouse.clickPosition))) {\n return false;\n }\n const hoverMode = events.onHover.mode;\n const clickMode = events.onClick.mode;\n return (0, Utils_1.isInArray)(Enums_1.HoverMode.bubble, hoverMode) || (0, Utils_1.isInArray)(Enums_1.ClickMode.bubble, clickMode) || divBubble;\n }\n reset(particle, force) {\n if (!(!particle.bubble.inRange || force)) {\n return;\n }\n delete particle.bubble.div;\n delete particle.bubble.opacity;\n delete particle.bubble.radius;\n delete particle.bubble.color;\n }\n interact() {\n const options = this.container.actualOptions, events = options.interactivity.events, onHover = events.onHover, onClick = events.onClick, hoverEnabled = onHover.enable, hoverMode = onHover.mode, clickEnabled = onClick.enable, clickMode = onClick.mode, divs = events.onDiv;\n if (hoverEnabled && (0, Utils_1.isInArray)(Enums_1.HoverMode.bubble, hoverMode)) {\n this.hoverBubble();\n }\n else if (clickEnabled && (0, Utils_1.isInArray)(Enums_1.ClickMode.bubble, clickMode)) {\n this.clickBubble();\n }\n else {\n (0, Utils_1.divModeExecute)(Enums_1.DivMode.bubble, divs, (selector, div) => this.singleSelectorHover(selector, div));\n }\n }\n singleSelectorHover(selector, div) {\n const container = this.container, selectors = document.querySelectorAll(selector);\n if (!selectors.length) {\n return;\n }\n selectors.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, repulseRadius = (elem.offsetWidth / 2) * pxRatio, area = div.type === Enums_1.DivType.circle\n ? new Utils_1.Circle(pos.x, pos.y, repulseRadius)\n : new Utils_1.Rectangle(elem.offsetLeft * pxRatio, elem.offsetTop * pxRatio, elem.offsetWidth * pxRatio, elem.offsetHeight * pxRatio), query = container.particles.quadTree.query(area);\n for (const particle of query) {\n if (!area.contains(particle.getPosition())) {\n continue;\n }\n particle.bubble.inRange = true;\n const divs = container.actualOptions.interactivity.modes.bubble.divs;\n const divBubble = (0, Utils_1.divMode)(divs, elem);\n if (!particle.bubble.div || particle.bubble.div !== elem) {\n this.reset(particle, true);\n particle.bubble.div = elem;\n }\n this.hoverBubbleSize(particle, 1, divBubble);\n this.hoverBubbleOpacity(particle, 1, divBubble);\n this.hoverBubbleColor(particle, 1, divBubble);\n }\n });\n }\n process(particle, distMouse, timeSpent, data) {\n const container = this.container, bubbleParam = data.bubbleObj.optValue;\n if (bubbleParam === undefined) {\n return;\n }\n const options = container.actualOptions, bubbleDuration = options.interactivity.modes.bubble.duration, bubbleDistance = container.retina.bubbleModeDistance, particlesParam = data.particlesObj.optValue, pObjBubble = data.bubbleObj.value, pObj = data.particlesObj.value || 0, type = data.type;\n if (bubbleParam === particlesParam) {\n return;\n }\n if (!container.bubble.durationEnd) {\n if (distMouse <= bubbleDistance) {\n const obj = pObjBubble !== null && pObjBubble !== void 0 ? pObjBubble : pObj;\n if (obj !== bubbleParam) {\n const value = pObj - (timeSpent * (pObj - bubbleParam)) / bubbleDuration;\n if (type === ProcessBubbleType_1.ProcessBubbleType.size) {\n particle.bubble.radius = value;\n }\n if (type === ProcessBubbleType_1.ProcessBubbleType.opacity) {\n particle.bubble.opacity = value;\n }\n }\n }\n else {\n if (type === ProcessBubbleType_1.ProcessBubbleType.size) {\n delete particle.bubble.radius;\n }\n if (type === ProcessBubbleType_1.ProcessBubbleType.opacity) {\n delete particle.bubble.opacity;\n }\n }\n }\n else if (pObjBubble) {\n if (type === ProcessBubbleType_1.ProcessBubbleType.size) {\n delete particle.bubble.radius;\n }\n if (type === ProcessBubbleType_1.ProcessBubbleType.opacity) {\n delete particle.bubble.opacity;\n }\n }\n }\n clickBubble() {\n var _a, _b;\n const container = this.container, options = container.actualOptions, mouseClickPos = container.interactivity.mouse.clickPosition;\n if (!mouseClickPos) {\n return;\n }\n const distance = container.retina.bubbleModeDistance, query = container.particles.quadTree.queryCircle(mouseClickPos, distance);\n for (const particle of query) {\n if (!container.bubble.clicking) {\n continue;\n }\n particle.bubble.inRange = !container.bubble.durationEnd;\n const pos = particle.getPosition(), distMouse = (0, Utils_1.getDistance)(pos, mouseClickPos), timeSpent = (new Date().getTime() - (container.interactivity.mouse.clickTime || 0)) / 1000;\n if (timeSpent > options.interactivity.modes.bubble.duration) {\n container.bubble.durationEnd = true;\n }\n if (timeSpent > options.interactivity.modes.bubble.duration * 2) {\n container.bubble.clicking = false;\n container.bubble.durationEnd = false;\n }\n const sizeData = {\n bubbleObj: {\n optValue: container.retina.bubbleModeSize,\n value: particle.bubble.radius,\n },\n particlesObj: {\n optValue: (0, Utils_1.getRangeMax)(particle.options.size.value) * container.retina.pixelRatio,\n value: particle.size.value,\n },\n type: ProcessBubbleType_1.ProcessBubbleType.size,\n };\n this.process(particle, distMouse, timeSpent, sizeData);\n const opacityData = {\n bubbleObj: {\n optValue: options.interactivity.modes.bubble.opacity,\n value: particle.bubble.opacity,\n },\n particlesObj: {\n optValue: (0, Utils_1.getRangeMax)(particle.options.opacity.value),\n value: (_b = (_a = particle.opacity) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 1,\n },\n type: ProcessBubbleType_1.ProcessBubbleType.opacity,\n };\n this.process(particle, distMouse, timeSpent, opacityData);\n if (!container.bubble.durationEnd) {\n if (distMouse <= container.retina.bubbleModeDistance) {\n this.hoverBubbleColor(particle, distMouse);\n }\n else {\n delete particle.bubble.color;\n }\n }\n else {\n delete particle.bubble.color;\n }\n }\n }\n hoverBubble() {\n const container = this.container, mousePos = container.interactivity.mouse.position;\n if (mousePos === undefined) {\n return;\n }\n const distance = container.retina.bubbleModeDistance, query = container.particles.quadTree.queryCircle(mousePos, distance);\n for (const particle of query) {\n particle.bubble.inRange = true;\n const pos = particle.getPosition(), pointDistance = (0, Utils_1.getDistance)(pos, mousePos), ratio = 1 - pointDistance / distance;\n if (pointDistance <= distance) {\n if (ratio >= 0 && container.interactivity.status === Utils_1.Constants.mouseMoveEvent) {\n this.hoverBubbleSize(particle, ratio);\n this.hoverBubbleOpacity(particle, ratio);\n this.hoverBubbleColor(particle, ratio);\n }\n }\n else {\n this.reset(particle);\n }\n if (container.interactivity.status === Utils_1.Constants.mouseLeaveEvent) {\n this.reset(particle);\n }\n }\n }\n hoverBubbleSize(particle, ratio, divBubble) {\n const container = this.container, modeSize = (divBubble === null || divBubble === void 0 ? void 0 : divBubble.size) ? divBubble.size * container.retina.pixelRatio : container.retina.bubbleModeSize;\n if (modeSize === undefined) {\n return;\n }\n const optSize = (0, Utils_1.getRangeMax)(particle.options.size.value) * container.retina.pixelRatio;\n const pSize = particle.size.value;\n const size = calculateBubbleValue(pSize, modeSize, optSize, ratio);\n if (size !== undefined) {\n particle.bubble.radius = size;\n }\n }\n hoverBubbleOpacity(particle, ratio, divBubble) {\n var _a, _b, _c;\n const container = this.container, options = container.actualOptions, modeOpacity = (_a = divBubble === null || divBubble === void 0 ? void 0 : divBubble.opacity) !== null && _a !== void 0 ? _a : options.interactivity.modes.bubble.opacity;\n if (!modeOpacity) {\n return;\n }\n const optOpacity = particle.options.opacity.value;\n const pOpacity = (_c = (_b = particle.opacity) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 1;\n const opacity = calculateBubbleValue(pOpacity, modeOpacity, (0, Utils_1.getRangeMax)(optOpacity), ratio);\n if (opacity !== undefined) {\n particle.bubble.opacity = opacity;\n }\n }\n hoverBubbleColor(particle, ratio, divBubble) {\n const options = this.container.actualOptions;\n const bubbleOptions = divBubble !== null && divBubble !== void 0 ? divBubble : options.interactivity.modes.bubble;\n if (!particle.bubble.finalColor) {\n const modeColor = bubbleOptions.color;\n if (!modeColor) {\n return;\n }\n const bubbleColor = modeColor instanceof Array ? (0, Utils_1.itemFromArray)(modeColor) : modeColor;\n particle.bubble.finalColor = (0, Utils_1.colorToHsl)(bubbleColor);\n }\n if (!particle.bubble.finalColor) {\n return;\n }\n if (bubbleOptions.mix) {\n particle.bubble.color = undefined;\n const pColor = particle.getFillColor();\n particle.bubble.color = pColor\n ? (0, Utils_1.rgbToHsl)((0, Utils_1.colorMix)(pColor, particle.bubble.finalColor, 1 - ratio, ratio))\n : particle.bubble.finalColor;\n }\n else {\n particle.bubble.color = particle.bubble.finalColor;\n }\n }\n}\nexports.Bubbler = Bubbler;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessBubbleType = void 0;\nvar ProcessBubbleType;\n(function (ProcessBubbleType) {\n ProcessBubbleType[\"color\"] = \"color\";\n ProcessBubbleType[\"opacity\"] = \"opacity\";\n ProcessBubbleType[\"size\"] = \"size\";\n})(ProcessBubbleType = exports.ProcessBubbleType || (exports.ProcessBubbleType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadExternalBubbleInteraction = void 0;\nconst Bubbler_1 = require(\"./Bubbler\");\nasync function loadExternalBubbleInteraction(tsParticles) {\n await tsParticles.addInteractor(\"externalBubble\", (container) => new Bubbler_1.Bubbler(container));\n}\nexports.loadExternalBubbleInteraction = loadExternalBubbleInteraction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Connector = void 0;\nconst Utils_1 = require(\"../../../Utils\");\nconst Enums_1 = require(\"../../../Enums\");\nconst ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\nclass Connector extends ExternalInteractorBase_1.ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, mouse = container.interactivity.mouse, events = container.actualOptions.interactivity.events;\n if (!(events.onHover.enable && mouse.position)) {\n return false;\n }\n return (0, Utils_1.isInArray)(Enums_1.HoverMode.connect, events.onHover.mode);\n }\n reset() {\n }\n interact() {\n const container = this.container, options = container.actualOptions;\n if (options.interactivity.events.onHover.enable && container.interactivity.status === \"mousemove\") {\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const distance = Math.abs(container.retina.connectModeRadius), query = container.particles.quadTree.queryCircle(mousePos, distance);\n let i = 0;\n for (const p1 of query) {\n const pos1 = p1.getPosition();\n for (const p2 of query.slice(i + 1)) {\n const pos2 = p2.getPosition(), distMax = Math.abs(container.retina.connectModeDistance), xDiff = Math.abs(pos1.x - pos2.x), yDiff = Math.abs(pos1.y - pos2.y);\n if (xDiff < distMax && yDiff < distMax) {\n container.canvas.drawConnectLine(p1, p2);\n }\n }\n ++i;\n }\n }\n }\n}\nexports.Connector = Connector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadExternalConnectInteraction = void 0;\nconst Connector_1 = require(\"./Connector\");\nasync function loadExternalConnectInteraction(tsParticles) {\n await tsParticles.addInteractor(\"externalConnect\", (container) => new Connector_1.Connector(container));\n}\nexports.loadExternalConnectInteraction = loadExternalConnectInteraction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Grabber = void 0;\nconst Utils_1 = require(\"../../../Utils\");\nconst Enums_1 = require(\"../../../Enums\");\nconst ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\nclass Grabber extends ExternalInteractorBase_1.ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, mouse = container.interactivity.mouse, events = container.actualOptions.interactivity.events;\n return events.onHover.enable && !!mouse.position && (0, Utils_1.isInArray)(Enums_1.HoverMode.grab, events.onHover.mode);\n }\n reset() {\n }\n interact() {\n var _a;\n const container = this.container, options = container.actualOptions, interactivity = options.interactivity;\n if (interactivity.events.onHover.enable && container.interactivity.status === Utils_1.Constants.mouseMoveEvent) {\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const distance = container.retina.grabModeDistance, query = container.particles.quadTree.queryCircle(mousePos, distance);\n for (const particle of query) {\n const pos = particle.getPosition(), pointDistance = (0, Utils_1.getDistance)(pos, mousePos);\n if (pointDistance <= distance) {\n const grabLineOptions = interactivity.modes.grab.links, lineOpacity = grabLineOptions.opacity, opacityLine = lineOpacity - (pointDistance * lineOpacity) / distance;\n if (opacityLine <= 0) {\n continue;\n }\n const optColor = (_a = grabLineOptions.color) !== null && _a !== void 0 ? _a : particle.options.links.color;\n if (!container.particles.grabLineColor) {\n const linksOptions = options.interactivity.modes.grab.links;\n container.particles.grabLineColor = (0, Utils_1.getLinkRandomColor)(optColor, linksOptions.blink, linksOptions.consent);\n }\n const colorLine = (0, Utils_1.getLinkColor)(particle, undefined, container.particles.grabLineColor);\n if (!colorLine) {\n return;\n }\n container.canvas.drawGrabLine(particle, colorLine, opacityLine, mousePos);\n }\n }\n }\n }\n}\nexports.Grabber = Grabber;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadExternalGrabInteraction = void 0;\nconst Grabber_1 = require(\"./Grabber\");\nasync function loadExternalGrabInteraction(tsParticles) {\n await tsParticles.addInteractor(\"externalGrab\", (container) => new Grabber_1.Grabber(container));\n}\nexports.loadExternalGrabInteraction = loadExternalGrabInteraction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Repulser = void 0;\nconst Enums_1 = require(\"../../../Enums\");\nconst Utils_1 = require(\"../../../Utils\");\nconst Vector_1 = require(\"../../../Core/Particle/Vector\");\nconst ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\nclass Repulser extends ExternalInteractorBase_1.ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events, divs = events.onDiv, divRepulse = (0, Utils_1.isDivModeEnabled)(Enums_1.DivMode.repulse, divs);\n if (!(divRepulse || (events.onHover.enable && mouse.position) || (events.onClick.enable && mouse.clickPosition))) {\n return false;\n }\n const hoverMode = events.onHover.mode, clickMode = events.onClick.mode;\n return (0, Utils_1.isInArray)(Enums_1.HoverMode.repulse, hoverMode) || (0, Utils_1.isInArray)(Enums_1.ClickMode.repulse, clickMode) || divRepulse;\n }\n reset() {\n }\n interact() {\n const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === Utils_1.Constants.mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode, divs = events.onDiv;\n if (mouseMoveStatus && hoverEnabled && (0, Utils_1.isInArray)(Enums_1.HoverMode.repulse, hoverMode)) {\n this.hoverRepulse();\n }\n else if (clickEnabled && (0, Utils_1.isInArray)(Enums_1.ClickMode.repulse, clickMode)) {\n this.clickRepulse();\n }\n else {\n (0, Utils_1.divModeExecute)(Enums_1.DivMode.repulse, divs, (selector, div) => this.singleSelectorRepulse(selector, div));\n }\n }\n singleSelectorRepulse(selector, div) {\n const container = this.container, query = document.querySelectorAll(selector);\n if (!query.length) {\n return;\n }\n query.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, repulseRadius = (elem.offsetWidth / 2) * pxRatio, area = div.type === Enums_1.DivType.circle\n ? new Utils_1.Circle(pos.x, pos.y, repulseRadius)\n : new Utils_1.Rectangle(elem.offsetLeft * pxRatio, elem.offsetTop * pxRatio, elem.offsetWidth * pxRatio, elem.offsetHeight * pxRatio), divs = container.actualOptions.interactivity.modes.repulse.divs, divRepulse = (0, Utils_1.divMode)(divs, elem);\n this.processRepulse(pos, repulseRadius, area, divRepulse);\n });\n }\n hoverRepulse() {\n const container = this.container, mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const repulseRadius = container.retina.repulseModeDistance;\n this.processRepulse(mousePos, repulseRadius, new Utils_1.Circle(mousePos.x, mousePos.y, repulseRadius));\n }\n processRepulse(position, repulseRadius, area, divRepulse) {\n var _a;\n const container = this.container, query = container.particles.quadTree.query(area), repulseOptions = container.actualOptions.interactivity.modes.repulse;\n for (const particle of query) {\n const { dx, dy, distance } = (0, Utils_1.getDistances)(particle.position, position), velocity = ((_a = divRepulse === null || divRepulse === void 0 ? void 0 : divRepulse.speed) !== null && _a !== void 0 ? _a : repulseOptions.speed) * repulseOptions.factor, repulseFactor = (0, Utils_1.clamp)((0, Utils_1.calcEasing)(1 - distance / repulseRadius, repulseOptions.easing) * velocity, 0, repulseOptions.maxSpeed), normVec = Vector_1.Vector.create(distance === 0 ? velocity : (dx / distance) * repulseFactor, distance === 0 ? velocity : (dy / distance) * repulseFactor);\n particle.position.addTo(normVec);\n }\n }\n clickRepulse() {\n const container = this.container;\n if (!container.repulse.finish) {\n if (!container.repulse.count) {\n container.repulse.count = 0;\n }\n container.repulse.count++;\n if (container.repulse.count === container.particles.count) {\n container.repulse.finish = true;\n }\n }\n if (container.repulse.clicking) {\n const repulseDistance = container.retina.repulseModeDistance, repulseRadius = Math.pow(repulseDistance / 6, 3), mouseClickPos = container.interactivity.mouse.clickPosition;\n if (mouseClickPos === undefined) {\n return;\n }\n const range = new Utils_1.Circle(mouseClickPos.x, mouseClickPos.y, repulseRadius), query = container.particles.quadTree.query(range);\n for (const particle of query) {\n const { dx, dy, distance } = (0, Utils_1.getDistances)(mouseClickPos, particle.position), d = distance ** 2, velocity = container.actualOptions.interactivity.modes.repulse.speed, force = (-repulseRadius * velocity) / d;\n if (d <= repulseRadius) {\n container.repulse.particles.push(particle);\n const vect = Vector_1.Vector.create(dx, dy);\n vect.length = force;\n particle.velocity.setTo(vect);\n }\n }\n }\n else if (container.repulse.clicking === false) {\n for (const particle of container.repulse.particles) {\n particle.velocity.setTo(particle.initialVelocity);\n }\n container.repulse.particles = [];\n }\n }\n}\nexports.Repulser = Repulser;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadExternalRepulseInteraction = void 0;\nconst Repulser_1 = require(\"./Repulser\");\nasync function loadExternalRepulseInteraction(tsParticles) {\n await tsParticles.addInteractor(\"externalRepulse\", (container) => new Repulser_1.Repulser(container));\n}\nexports.loadExternalRepulseInteraction = loadExternalRepulseInteraction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TrailMaker = void 0;\nconst Utils_1 = require(\"../../../Utils\");\nconst Enums_1 = require(\"../../../Enums\");\nconst ExternalInteractorBase_1 = require(\"../../../Core/ExternalInteractorBase\");\nclass TrailMaker extends ExternalInteractorBase_1.ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.delay = 0;\n }\n interact(delta) {\n var _a, _b, _c, _d;\n if (!this.container.retina.reduceFactor) {\n return;\n }\n const container = this.container, options = container.actualOptions, trailOptions = options.interactivity.modes.trail, optDelay = (trailOptions.delay * 1000) / this.container.retina.reduceFactor;\n if (this.delay < optDelay) {\n this.delay += delta.value;\n }\n if (this.delay < optDelay) {\n return;\n }\n let canEmit = true;\n if (trailOptions.pauseOnStop) {\n if (container.interactivity.mouse.position === this.lastPosition ||\n (((_a = container.interactivity.mouse.position) === null || _a === void 0 ? void 0 : _a.x) === ((_b = this.lastPosition) === null || _b === void 0 ? void 0 : _b.x) &&\n ((_c = container.interactivity.mouse.position) === null || _c === void 0 ? void 0 : _c.y) === ((_d = this.lastPosition) === null || _d === void 0 ? void 0 : _d.y))) {\n canEmit = false;\n }\n }\n if (container.interactivity.mouse.position) {\n this.lastPosition = {\n x: container.interactivity.mouse.position.x,\n y: container.interactivity.mouse.position.y,\n };\n }\n else {\n delete this.lastPosition;\n }\n if (canEmit) {\n container.particles.push(trailOptions.quantity, container.interactivity.mouse, trailOptions.particles);\n }\n this.delay -= optDelay;\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events;\n return ((mouse.clicking && mouse.inside && !!mouse.position && (0, Utils_1.isInArray)(Enums_1.ClickMode.trail, events.onClick.mode)) ||\n (mouse.inside && !!mouse.position && (0, Utils_1.isInArray)(Enums_1.HoverMode.trail, events.onHover.mode)));\n }\n reset() {\n }\n}\nexports.TrailMaker = TrailMaker;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadExternalTrailInteraction = void 0;\nconst TrailMaker_1 = require(\"./TrailMaker\");\nasync function loadExternalTrailInteraction(tsParticles) {\n await tsParticles.addInteractor(\"externalTrail\", (container) => new TrailMaker_1.TrailMaker(container));\n}\nexports.loadExternalTrailInteraction = loadExternalTrailInteraction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Attractor = void 0;\nconst Utils_1 = require(\"../../../Utils\");\nconst ParticlesInteractorBase_1 = require(\"../../../Core/ParticlesInteractorBase\");\nclass Attractor extends ParticlesInteractorBase_1.ParticlesInteractorBase {\n constructor(container) {\n super(container);\n }\n interact(p1) {\n var _a;\n const container = this.container, distance = (_a = p1.retina.attractDistance) !== null && _a !== void 0 ? _a : container.retina.attractDistance, pos1 = p1.getPosition(), query = container.particles.quadTree.queryCircle(pos1, distance);\n for (const p2 of query) {\n if (p1 === p2 || !p2.options.move.attract.enable || p2.destroyed || p2.spawning) {\n continue;\n }\n const pos2 = p2.getPosition(), { dx, dy } = (0, Utils_1.getDistances)(pos1, pos2), rotate = p1.options.move.attract.rotate, ax = dx / (rotate.x * 1000), ay = dy / (rotate.y * 1000), p1Factor = p2.size.value / p1.size.value, p2Factor = 1 / p1Factor;\n p1.velocity.x -= ax * p1Factor;\n p1.velocity.y -= ay * p1Factor;\n p2.velocity.x += ax * p2Factor;\n p2.velocity.y += ay * p2Factor;\n }\n }\n isEnabled(particle) {\n return particle.options.move.attract.enable;\n }\n reset() {\n }\n}\nexports.Attractor = Attractor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadParticlesAttractInteraction = void 0;\nconst Attractor_1 = require(\"./Attractor\");\nasync function loadParticlesAttractInteraction(tsParticles) {\n await tsParticles.addInteractor(\"particlesAttract\", (container) => new Attractor_1.Attractor(container));\n}\nexports.loadParticlesAttractInteraction = loadParticlesAttractInteraction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Collider = void 0;\nconst Enums_1 = require(\"../../../Enums\");\nconst Utils_1 = require(\"../../../Utils\");\nconst ParticlesInteractorBase_1 = require(\"../../../Core/ParticlesInteractorBase\");\nfunction bounce(p1, p2) {\n (0, Utils_1.circleBounce)((0, Utils_1.circleBounceDataFromParticle)(p1), (0, Utils_1.circleBounceDataFromParticle)(p2));\n}\nfunction destroy(p1, p2) {\n if (!p1.unbreakable && !p2.unbreakable) {\n bounce(p1, p2);\n }\n if (p1.getRadius() === undefined && p2.getRadius() !== undefined) {\n p1.destroy();\n }\n else if (p1.getRadius() !== undefined && p2.getRadius() === undefined) {\n p2.destroy();\n }\n else if (p1.getRadius() !== undefined && p2.getRadius() !== undefined) {\n if (p1.getRadius() >= p2.getRadius()) {\n p2.destroy();\n }\n else {\n p1.destroy();\n }\n }\n}\nclass Collider extends ParticlesInteractorBase_1.ParticlesInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled(particle) {\n return particle.options.collisions.enable;\n }\n reset() {\n }\n interact(p1) {\n const container = this.container;\n const pos1 = p1.getPosition();\n const radius1 = p1.getRadius();\n const query = container.particles.quadTree.queryCircle(pos1, radius1 * 2);\n for (const p2 of query) {\n if (p1 === p2 ||\n !p2.options.collisions.enable ||\n p1.options.collisions.mode !== p2.options.collisions.mode ||\n p2.destroyed ||\n p2.spawning) {\n continue;\n }\n const pos2 = p2.getPosition();\n if (Math.round(pos1.z) !== Math.round(pos2.z)) {\n continue;\n }\n const dist = (0, Utils_1.getDistance)(pos1, pos2);\n const radius2 = p2.getRadius();\n const distP = radius1 + radius2;\n if (dist <= distP) {\n this.resolveCollision(p1, p2);\n }\n }\n }\n resolveCollision(p1, p2) {\n switch (p1.options.collisions.mode) {\n case Enums_1.CollisionMode.absorb: {\n this.absorb(p1, p2);\n break;\n }\n case Enums_1.CollisionMode.bounce: {\n bounce(p1, p2);\n break;\n }\n case Enums_1.CollisionMode.destroy: {\n destroy(p1, p2);\n break;\n }\n }\n }\n absorb(p1, p2) {\n const container = this.container;\n const fps = container.fpsLimit / 1000;\n if (p1.getRadius() === undefined && p2.getRadius() !== undefined) {\n p1.destroy();\n }\n else if (p1.getRadius() !== undefined && p2.getRadius() === undefined) {\n p2.destroy();\n }\n else if (p1.getRadius() !== undefined && p2.getRadius() !== undefined) {\n if (p1.getRadius() >= p2.getRadius()) {\n const factor = (0, Utils_1.clamp)(p1.getRadius() / p2.getRadius(), 0, p2.getRadius()) * fps;\n p1.size.value += factor;\n p2.size.value -= factor;\n if (p2.getRadius() <= container.retina.pixelRatio) {\n p2.size.value = 0;\n p2.destroy();\n }\n }\n else {\n const factor = (0, Utils_1.clamp)(p2.getRadius() / p1.getRadius(), 0, p1.getRadius()) * fps;\n p1.size.value -= factor;\n p2.size.value += factor;\n if (p1.getRadius() <= container.retina.pixelRatio) {\n p1.size.value = 0;\n p1.destroy();\n }\n }\n }\n }\n}\nexports.Collider = Collider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadParticlesCollisionsInteraction = void 0;\nconst Collider_1 = require(\"./Collider\");\nasync function loadParticlesCollisionsInteraction(tsParticles) {\n await tsParticles.addInteractor(\"particlesCollisions\", (container) => new Collider_1.Collider(container));\n}\nexports.loadParticlesCollisionsInteraction = loadParticlesCollisionsInteraction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LinkInstance = void 0;\nconst Utils_1 = require(\"../../../Utils\");\nclass LinkInstance {\n constructor(container) {\n this.container = container;\n }\n particleCreated(particle) {\n const linkParticle = particle;\n linkParticle.links = [];\n }\n particleDestroyed(particle) {\n const linkParticle = particle;\n linkParticle.links = [];\n }\n drawParticle(context, particle) {\n const linkParticle = particle;\n const container = this.container;\n const particles = container.particles;\n const pOptions = particle.options;\n if (linkParticle.links.length > 0) {\n context.save();\n const p1Links = linkParticle.links.filter((l) => {\n const linkFreq = container.particles.getLinkFrequency(linkParticle, l.destination);\n return linkFreq <= pOptions.links.frequency;\n });\n for (const link of p1Links) {\n const p2 = link.destination;\n if (pOptions.links.triangles.enable) {\n const links = p1Links.map((l) => l.destination);\n const vertices = p2.links.filter((t) => {\n const linkFreq = container.particles.getLinkFrequency(p2, t.destination);\n return linkFreq <= p2.options.links.frequency && links.indexOf(t.destination) >= 0;\n });\n if (vertices.length) {\n for (const vertex of vertices) {\n const p3 = vertex.destination;\n const triangleFreq = particles.getTriangleFrequency(linkParticle, p2, p3);\n if (triangleFreq > pOptions.links.triangles.frequency) {\n continue;\n }\n this.drawLinkTriangle(linkParticle, link, vertex);\n }\n }\n }\n if (link.opacity > 0 && container.retina.linksWidth > 0) {\n this.drawLinkLine(linkParticle, link);\n }\n }\n context.restore();\n }\n }\n drawLinkTriangle(p1, link1, link2) {\n var _a;\n const container = this.container;\n const options = container.actualOptions;\n const p2 = link1.destination;\n const p3 = link2.destination;\n const triangleOptions = p1.options.links.triangles;\n const opacityTriangle = (_a = triangleOptions.opacity) !== null && _a !== void 0 ? _a : (link1.opacity + link2.opacity) / 2;\n if (opacityTriangle <= 0) {\n return;\n }\n const pos1 = p1.getPosition();\n const pos2 = p2.getPosition();\n const pos3 = p3.getPosition();\n container.canvas.draw((ctx) => {\n if ((0, Utils_1.getDistance)(pos1, pos2) > container.retina.linksDistance ||\n (0, Utils_1.getDistance)(pos3, pos2) > container.retina.linksDistance ||\n (0, Utils_1.getDistance)(pos3, pos1) > container.retina.linksDistance) {\n return;\n }\n let colorTriangle = (0, Utils_1.colorToRgb)(triangleOptions.color);\n if (!colorTriangle) {\n const linksOptions = p1.options.links;\n const linkColor = linksOptions.id !== undefined\n ? container.particles.linksColors.get(linksOptions.id)\n : container.particles.linksColor;\n colorTriangle = (0, Utils_1.getLinkColor)(p1, p2, linkColor);\n }\n if (!colorTriangle) {\n return;\n }\n (0, Utils_1.drawLinkTriangle)(ctx, pos1, pos2, pos3, options.backgroundMask.enable, options.backgroundMask.composite, colorTriangle, opacityTriangle);\n });\n }\n drawLinkLine(p1, link) {\n const container = this.container;\n const options = container.actualOptions;\n const p2 = link.destination;\n let opacity = link.opacity;\n const pos1 = p1.getPosition();\n const pos2 = p2.getPosition();\n container.canvas.draw((ctx) => {\n var _a, _b;\n let colorLine;\n const twinkle = p1.options.twinkle.lines;\n if (twinkle.enable) {\n const twinkleFreq = twinkle.frequency;\n const twinkleRgb = (0, Utils_1.colorToRgb)(twinkle.color);\n const twinkling = Math.random() < twinkleFreq;\n if (twinkling && twinkleRgb !== undefined) {\n colorLine = twinkleRgb;\n opacity = twinkle.opacity;\n }\n }\n if (!colorLine) {\n const linksOptions = p1.options.links;\n const linkColor = linksOptions.id !== undefined\n ? container.particles.linksColors.get(linksOptions.id)\n : container.particles.linksColor;\n colorLine = (0, Utils_1.getLinkColor)(p1, p2, linkColor);\n }\n if (!colorLine) {\n return;\n }\n const width = (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth;\n const maxDistance = (_b = p1.retina.linksDistance) !== null && _b !== void 0 ? _b : container.retina.linksDistance;\n (0, Utils_1.drawLinkLine)(ctx, width, pos1, pos2, maxDistance, container.canvas.size, p1.options.links.warp, options.backgroundMask.enable, options.backgroundMask.composite, colorLine, opacity, p1.options.links.shadow);\n });\n }\n}\nexports.LinkInstance = LinkInstance;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Linker = void 0;\nconst Utils_1 = require(\"../../../Utils\");\nconst ParticlesInteractorBase_1 = require(\"../../../Core/ParticlesInteractorBase\");\nfunction getLinkDistance(pos1, pos2, optDistance, canvasSize, warp) {\n let distance = (0, Utils_1.getDistance)(pos1, pos2);\n if (!warp || distance <= optDistance) {\n return distance;\n }\n const pos2NE = {\n x: pos2.x - canvasSize.width,\n y: pos2.y,\n };\n distance = (0, Utils_1.getDistance)(pos1, pos2NE);\n if (distance <= optDistance) {\n return distance;\n }\n const pos2SE = {\n x: pos2.x - canvasSize.width,\n y: pos2.y - canvasSize.height,\n };\n distance = (0, Utils_1.getDistance)(pos1, pos2SE);\n if (distance <= optDistance) {\n return distance;\n }\n const pos2SW = {\n x: pos2.x,\n y: pos2.y - canvasSize.height,\n };\n distance = (0, Utils_1.getDistance)(pos1, pos2SW);\n return distance;\n}\nclass Linker extends ParticlesInteractorBase_1.ParticlesInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled(particle) {\n return particle.options.links.enable;\n }\n reset() {\n }\n interact(p1) {\n var _a;\n p1.links = [];\n const pos1 = p1.getPosition();\n const container = this.container;\n const canvasSize = container.canvas.size;\n if (pos1.x < 0 || pos1.y < 0 || pos1.x > canvasSize.width || pos1.y > canvasSize.height) {\n return;\n }\n const linkOpt1 = p1.options.links;\n const optOpacity = linkOpt1.opacity;\n const optDistance = (_a = p1.retina.linksDistance) !== null && _a !== void 0 ? _a : container.retina.linksDistance;\n const warp = linkOpt1.warp;\n const range = warp\n ? new Utils_1.CircleWarp(pos1.x, pos1.y, optDistance, canvasSize)\n : new Utils_1.Circle(pos1.x, pos1.y, optDistance);\n const query = container.particles.quadTree.query(range);\n for (const p2 of query) {\n const linkOpt2 = p2.options.links;\n if (p1 === p2 ||\n !linkOpt2.enable ||\n linkOpt1.id !== linkOpt2.id ||\n p2.spawning ||\n p2.destroyed ||\n p1.links.map((t) => t.destination).indexOf(p2) !== -1 ||\n p2.links.map((t) => t.destination).indexOf(p1) !== -1) {\n continue;\n }\n const pos2 = p2.getPosition();\n if (pos2.x < 0 || pos2.y < 0 || pos2.x > canvasSize.width || pos2.y > canvasSize.height) {\n continue;\n }\n const distance = getLinkDistance(pos1, pos2, optDistance, canvasSize, warp && linkOpt2.warp);\n if (distance > optDistance) {\n return;\n }\n const opacityLine = (1 - distance / optDistance) * optOpacity;\n this.setColor(p1);\n p1.links.push({\n destination: p2,\n opacity: opacityLine,\n });\n }\n }\n setColor(p1) {\n const container = this.container;\n const linksOptions = p1.options.links;\n let linkColor = linksOptions.id === undefined\n ? container.particles.linksColor\n : container.particles.linksColors.get(linksOptions.id);\n if (!linkColor) {\n const optColor = linksOptions.color;\n linkColor = (0, Utils_1.getLinkRandomColor)(optColor, linksOptions.blink, linksOptions.consent);\n if (linksOptions.id === undefined) {\n container.particles.linksColor = linkColor;\n }\n else {\n container.particles.linksColors.set(linksOptions.id, linkColor);\n }\n }\n }\n}\nexports.Linker = Linker;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadParticlesLinksInteraction = exports.loadInteraction = void 0;\nconst Linker_1 = require(\"./Linker\");\nconst plugin_1 = require(\"./plugin\");\nasync function loadInteraction(tsParticles) {\n await tsParticles.addInteractor(\"particlesLinks\", (container) => new Linker_1.Linker(container));\n}\nexports.loadInteraction = loadInteraction;\nasync function loadParticlesLinksInteraction(tsParticles) {\n await loadInteraction(tsParticles);\n await (0, plugin_1.loadPlugin)(tsParticles);\n}\nexports.loadParticlesLinksInteraction = loadParticlesLinksInteraction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadPlugin = void 0;\nconst LinkInstance_1 = require(\"./LinkInstance\");\nclass Plugin {\n constructor() {\n this.id = \"links\";\n }\n getPlugin(container) {\n return new LinkInstance_1.LinkInstance(container);\n }\n needsPlugin() {\n return true;\n }\n loadOptions() {\n }\n}\nasync function loadPlugin(tsParticles) {\n const plugin = new Plugin();\n await tsParticles.addPlugin(plugin);\n}\nexports.loadPlugin = loadPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnimatableColor = void 0;\nconst OptionsColor_1 = require(\"./OptionsColor\");\nconst HslAnimation_1 = require(\"./HslAnimation\");\nclass AnimatableColor extends OptionsColor_1.OptionsColor {\n constructor() {\n super();\n this.animation = new HslAnimation_1.HslAnimation();\n }\n static create(source, data) {\n const color = new AnimatableColor();\n color.load(source);\n if (data !== undefined) {\n if (typeof data === \"string\" || data instanceof Array) {\n color.load({ value: data });\n }\n else {\n color.load(data);\n }\n }\n return color;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n const colorAnimation = data.animation;\n if (colorAnimation !== undefined) {\n if (colorAnimation.enable !== undefined) {\n this.animation.h.load(colorAnimation);\n }\n else {\n this.animation.load(data.animation);\n }\n }\n }\n}\nexports.AnimatableColor = AnimatableColor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GradientColorOpacityAnimation = exports.GradientAngleAnimation = exports.AnimatableGradientColor = exports.GradientColorOpacity = exports.GradientAngle = exports.AnimatableGradient = void 0;\nconst Enums_1 = require(\"../../Enums\");\nconst AnimatableColor_1 = require(\"./AnimatableColor\");\nconst Utils_1 = require(\"../../Utils\");\nclass AnimatableGradient {\n constructor() {\n this.angle = new GradientAngle();\n this.colors = [];\n this.type = Enums_1.GradientType.random;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.angle.load(data.angle);\n if (data.colors !== undefined) {\n this.colors = data.colors.map((s) => {\n const tmp = new AnimatableGradientColor();\n tmp.load(s);\n return tmp;\n });\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\nexports.AnimatableGradient = AnimatableGradient;\nclass GradientAngle {\n constructor() {\n this.value = 0;\n this.animation = new GradientAngleAnimation();\n this.direction = Enums_1.RotateDirection.clockwise;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n if (data.value !== undefined) {\n this.value = data.value;\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n }\n}\nexports.GradientAngle = GradientAngle;\nclass GradientColorOpacity {\n constructor() {\n this.value = 0;\n this.animation = new GradientColorOpacityAnimation();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n if (data.value !== undefined) {\n this.value = (0, Utils_1.setRangeValue)(data.value);\n }\n }\n}\nexports.GradientColorOpacity = GradientColorOpacity;\nclass AnimatableGradientColor {\n constructor() {\n this.stop = 0;\n this.value = new AnimatableColor_1.AnimatableColor();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.stop !== undefined) {\n this.stop = data.stop;\n }\n this.value = AnimatableColor_1.AnimatableColor.create(this.value, data.value);\n if (data.opacity !== undefined) {\n this.opacity = new GradientColorOpacity();\n if (typeof data.opacity === \"number\") {\n this.opacity.value = data.opacity;\n }\n else {\n this.opacity.load(data.opacity);\n }\n }\n }\n}\nexports.AnimatableGradientColor = AnimatableGradientColor;\nclass GradientAngleAnimation {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexports.GradientAngleAnimation = GradientAngleAnimation;\nclass GradientColorOpacityAnimation {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n this.startValue = Enums_1.StartValueType.random;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n }\n}\nexports.GradientColorOpacityAnimation = GradientColorOpacityAnimation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnimationOptions = void 0;\nclass AnimationOptions {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 1;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexports.AnimationOptions = AnimationOptions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BackgroundMask = void 0;\nconst BackgroundMaskCover_1 = require(\"./BackgroundMaskCover\");\nclass BackgroundMask {\n constructor() {\n this.composite = \"destination-out\";\n this.cover = new BackgroundMaskCover_1.BackgroundMaskCover();\n this.enable = false;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.composite !== undefined) {\n this.composite = data.composite;\n }\n if (data.cover !== undefined) {\n const cover = data.cover;\n const color = (typeof data.cover === \"string\" ? { color: data.cover } : data.cover);\n this.cover.load(cover.color !== undefined ? cover : { color: color });\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\nexports.BackgroundMask = BackgroundMask;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BackgroundMaskCover = void 0;\nconst OptionsColor_1 = require(\"../OptionsColor\");\nclass BackgroundMaskCover {\n constructor() {\n this.color = new OptionsColor_1.OptionsColor();\n this.opacity = 1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\nexports.BackgroundMaskCover = BackgroundMaskCover;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Background = void 0;\nconst OptionsColor_1 = require(\"../OptionsColor\");\nclass Background {\n constructor() {\n this.color = new OptionsColor_1.OptionsColor();\n this.color.value = \"\";\n this.image = \"\";\n this.position = \"\";\n this.repeat = \"\";\n this.size = \"\";\n this.opacity = 1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n if (data.position !== undefined) {\n this.position = data.position;\n }\n if (data.repeat !== undefined) {\n this.repeat = data.repeat;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\nexports.Background = Background;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ColorAnimation = void 0;\nconst Utils_1 = require(\"../../Utils\");\nclass ColorAnimation {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.offset = 0;\n this.speed = 1;\n this.sync = true;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.offset !== undefined) {\n this.offset = (0, Utils_1.setRangeValue)(data.offset);\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexports.ColorAnimation = ColorAnimation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FullScreen = void 0;\nclass FullScreen {\n constructor() {\n this.enable = true;\n this.zIndex = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.zIndex !== undefined) {\n this.zIndex = data.zIndex;\n }\n }\n}\nexports.FullScreen = FullScreen;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HslAnimation = void 0;\nconst ColorAnimation_1 = require(\"./ColorAnimation\");\nclass HslAnimation {\n constructor() {\n this.h = new ColorAnimation_1.ColorAnimation();\n this.s = new ColorAnimation_1.ColorAnimation();\n this.l = new ColorAnimation_1.ColorAnimation();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.h.load(data.h);\n this.s.load(data.s);\n this.l.load(data.l);\n }\n}\nexports.HslAnimation = HslAnimation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ClickEvent = void 0;\nclass ClickEvent {\n constructor() {\n this.enable = false;\n this.mode = [];\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n }\n}\nexports.ClickEvent = ClickEvent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DivEvent = void 0;\nconst Enums_1 = require(\"../../../../Enums\");\nclass DivEvent {\n constructor() {\n this.selectors = [];\n this.enable = false;\n this.mode = [];\n this.type = Enums_1.DivType.circle;\n }\n get elementId() {\n return this.ids;\n }\n set elementId(value) {\n this.ids = value;\n }\n get el() {\n return this.elementId;\n }\n set el(value) {\n this.elementId = value;\n }\n get ids() {\n return this.selectors instanceof Array\n ? this.selectors.map((t) => t.replace(\"#\", \"\"))\n : this.selectors.replace(\"#\", \"\");\n }\n set ids(value) {\n this.selectors = value instanceof Array ? value.map((t) => `#${t}`) : `#${value}`;\n }\n load(data) {\n var _a, _b;\n if (data === undefined) {\n return;\n }\n const ids = (_b = (_a = data.ids) !== null && _a !== void 0 ? _a : data.elementId) !== null && _b !== void 0 ? _b : data.el;\n if (ids !== undefined) {\n this.ids = ids;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\nexports.DivEvent = DivEvent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Events = void 0;\nconst ClickEvent_1 = require(\"./ClickEvent\");\nconst DivEvent_1 = require(\"./DivEvent\");\nconst HoverEvent_1 = require(\"./HoverEvent\");\nclass Events {\n constructor() {\n this.onClick = new ClickEvent_1.ClickEvent();\n this.onDiv = new DivEvent_1.DivEvent();\n this.onHover = new HoverEvent_1.HoverEvent();\n this.resize = true;\n }\n get onclick() {\n return this.onClick;\n }\n set onclick(value) {\n this.onClick = value;\n }\n get ondiv() {\n return this.onDiv;\n }\n set ondiv(value) {\n this.onDiv = value;\n }\n get onhover() {\n return this.onHover;\n }\n set onhover(value) {\n this.onHover = value;\n }\n load(data) {\n var _a, _b, _c;\n if (data === undefined) {\n return;\n }\n this.onClick.load((_a = data.onClick) !== null && _a !== void 0 ? _a : data.onclick);\n const onDiv = (_b = data.onDiv) !== null && _b !== void 0 ? _b : data.ondiv;\n if (onDiv !== undefined) {\n if (onDiv instanceof Array) {\n this.onDiv = onDiv.map((div) => {\n const tmp = new DivEvent_1.DivEvent();\n tmp.load(div);\n return tmp;\n });\n }\n else {\n this.onDiv = new DivEvent_1.DivEvent();\n this.onDiv.load(onDiv);\n }\n }\n this.onHover.load((_c = data.onHover) !== null && _c !== void 0 ? _c : data.onhover);\n if (data.resize !== undefined) {\n this.resize = data.resize;\n }\n }\n}\nexports.Events = Events;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HoverEvent = void 0;\nconst Parallax_1 = require(\"./Parallax\");\nclass HoverEvent {\n constructor() {\n this.enable = false;\n this.mode = [];\n this.parallax = new Parallax_1.Parallax();\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.parallax.load(data.parallax);\n }\n}\nexports.HoverEvent = HoverEvent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Parallax = void 0;\nclass Parallax {\n constructor() {\n this.enable = false;\n this.force = 2;\n this.smooth = 10;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.force !== undefined) {\n this.force = data.force;\n }\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n }\n}\nexports.Parallax = Parallax;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Interactivity = void 0;\nconst Enums_1 = require(\"../../../Enums\");\nconst Events_1 = require(\"./Events/Events\");\nconst Modes_1 = require(\"./Modes/Modes\");\nclass Interactivity {\n constructor() {\n this.detectsOn = Enums_1.InteractivityDetect.window;\n this.events = new Events_1.Events();\n this.modes = new Modes_1.Modes();\n }\n get detect_on() {\n return this.detectsOn;\n }\n set detect_on(value) {\n this.detectsOn = value;\n }\n load(data) {\n var _a, _b, _c;\n if (data === undefined) {\n return;\n }\n const detectsOn = (_a = data.detectsOn) !== null && _a !== void 0 ? _a : data.detect_on;\n if (detectsOn !== undefined) {\n this.detectsOn = detectsOn;\n }\n this.events.load(data.events);\n this.modes.load(data.modes);\n if (((_c = (_b = data.modes) === null || _b === void 0 ? void 0 : _b.slow) === null || _c === void 0 ? void 0 : _c.active) === true) {\n if (this.events.onHover.mode instanceof Array) {\n if (this.events.onHover.mode.indexOf(Enums_1.HoverMode.slow) < 0) {\n this.events.onHover.mode.push(Enums_1.HoverMode.slow);\n }\n }\n else if (this.events.onHover.mode !== Enums_1.HoverMode.slow) {\n this.events.onHover.mode = [this.events.onHover.mode, Enums_1.HoverMode.slow];\n }\n }\n }\n}\nexports.Interactivity = Interactivity;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Attract = void 0;\nconst Enums_1 = require(\"../../../../Enums\");\nclass Attract {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.easing = Enums_1.EasingType.easeOutQuad;\n this.factor = 1;\n this.maxSpeed = 50;\n this.speed = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n }\n}\nexports.Attract = Attract;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Bounce = void 0;\nclass Bounce {\n constructor() {\n this.distance = 200;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n }\n}\nexports.Bounce = Bounce;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Bubble = void 0;\nconst BubbleDiv_1 = require(\"./BubbleDiv\");\nconst BubbleBase_1 = require(\"./BubbleBase\");\nclass Bubble extends BubbleBase_1.BubbleBase {\n load(data) {\n super.load(data);\n if (!(data !== undefined && data.divs !== undefined)) {\n return;\n }\n if (data.divs instanceof Array) {\n this.divs = data.divs.map((s) => {\n const tmp = new BubbleDiv_1.BubbleDiv();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.divs instanceof Array || !this.divs) {\n this.divs = new BubbleDiv_1.BubbleDiv();\n }\n this.divs.load(data.divs);\n }\n }\n}\nexports.Bubble = Bubble;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BubbleBase = void 0;\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nclass BubbleBase {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.mix = false;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.mix !== undefined) {\n this.mix = data.mix;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.color !== undefined) {\n if (data.color instanceof Array) {\n this.color = data.color.map((s) => OptionsColor_1.OptionsColor.create(undefined, s));\n }\n else {\n if (this.color instanceof Array) {\n this.color = new OptionsColor_1.OptionsColor();\n }\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n }\n}\nexports.BubbleBase = BubbleBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BubbleDiv = void 0;\nconst BubbleBase_1 = require(\"./BubbleBase\");\nclass BubbleDiv extends BubbleBase_1.BubbleBase {\n constructor() {\n super();\n this.selectors = [];\n }\n get ids() {\n return this.selectors instanceof Array\n ? this.selectors.map((t) => t.replace(\"#\", \"\"))\n : this.selectors.replace(\"#\", \"\");\n }\n set ids(value) {\n this.selectors = value instanceof Array ? value.map((t) => `#${t}`) : `#${value}`;\n }\n load(data) {\n super.load(data);\n if (data === undefined) {\n return;\n }\n if (data.ids !== undefined) {\n this.ids = data.ids;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n }\n}\nexports.BubbleDiv = BubbleDiv;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Connect = void 0;\nconst ConnectLinks_1 = require(\"./ConnectLinks\");\nclass Connect {\n constructor() {\n this.distance = 80;\n this.links = new ConnectLinks_1.ConnectLinks();\n this.radius = 60;\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(value) {\n this.links = value;\n }\n load(data) {\n var _a, _b;\n if (data === undefined) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n this.links.load((_b = (_a = data.links) !== null && _a !== void 0 ? _a : data.lineLinked) !== null && _b !== void 0 ? _b : data.line_linked);\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\nexports.Connect = Connect;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectLinks = void 0;\nclass ConnectLinks {\n constructor() {\n this.opacity = 0.5;\n }\n load(data) {\n if (!(data !== undefined && data.opacity !== undefined)) {\n return;\n }\n this.opacity = data.opacity;\n }\n}\nexports.ConnectLinks = ConnectLinks;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Grab = void 0;\nconst GrabLinks_1 = require(\"./GrabLinks\");\nclass Grab {\n constructor() {\n this.distance = 100;\n this.links = new GrabLinks_1.GrabLinks();\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(value) {\n this.links = value;\n }\n load(data) {\n var _a, _b;\n if (data === undefined) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n this.links.load((_b = (_a = data.links) !== null && _a !== void 0 ? _a : data.lineLinked) !== null && _b !== void 0 ? _b : data.line_linked);\n }\n}\nexports.Grab = Grab;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GrabLinks = void 0;\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nclass GrabLinks {\n constructor() {\n this.blink = false;\n this.consent = false;\n this.opacity = 1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.blink !== undefined) {\n this.blink = data.blink;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n if (data.consent !== undefined) {\n this.consent = data.consent;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\nexports.GrabLinks = GrabLinks;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Light = void 0;\nconst LightArea_1 = require(\"./LightArea\");\nconst LightShadow_1 = require(\"./LightShadow\");\nclass Light {\n constructor() {\n this.area = new LightArea_1.LightArea();\n this.shadow = new LightShadow_1.LightShadow();\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n this.area.load(data.area);\n this.shadow.load(data.shadow);\n }\n}\nexports.Light = Light;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LightArea = void 0;\nconst LightGradient_1 = require(\"./LightGradient\");\nclass LightArea {\n constructor() {\n this.gradient = new LightGradient_1.LightGradient();\n this.radius = 1000;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n this.gradient.load(data.gradient);\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\nexports.LightArea = LightArea;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LightGradient = void 0;\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nclass LightGradient {\n constructor() {\n this.start = new OptionsColor_1.OptionsColor();\n this.stop = new OptionsColor_1.OptionsColor();\n this.start.value = \"#ffffff\";\n this.stop.value = \"#000000\";\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n this.start = OptionsColor_1.OptionsColor.create(this.start, data.start);\n this.stop = OptionsColor_1.OptionsColor.create(this.stop, data.stop);\n }\n}\nexports.LightGradient = LightGradient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LightShadow = void 0;\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nclass LightShadow {\n constructor() {\n this.color = new OptionsColor_1.OptionsColor();\n this.color.value = \"#000000\";\n this.length = 2000;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n}\nexports.LightShadow = LightShadow;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Modes = void 0;\nconst Bubble_1 = require(\"./Bubble\");\nconst Connect_1 = require(\"./Connect\");\nconst Grab_1 = require(\"./Grab\");\nconst Remove_1 = require(\"./Remove\");\nconst Push_1 = require(\"./Push\");\nconst Repulse_1 = require(\"./Repulse\");\nconst Slow_1 = require(\"./Slow\");\nconst Trail_1 = require(\"./Trail\");\nconst Attract_1 = require(\"./Attract\");\nconst Light_1 = require(\"./Light\");\nconst Bounce_1 = require(\"./Bounce\");\nclass Modes {\n constructor() {\n this.attract = new Attract_1.Attract();\n this.bounce = new Bounce_1.Bounce();\n this.bubble = new Bubble_1.Bubble();\n this.connect = new Connect_1.Connect();\n this.grab = new Grab_1.Grab();\n this.light = new Light_1.Light();\n this.push = new Push_1.Push();\n this.remove = new Remove_1.Remove();\n this.repulse = new Repulse_1.Repulse();\n this.slow = new Slow_1.Slow();\n this.trail = new Trail_1.Trail();\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n this.attract.load(data.attract);\n this.bubble.load(data.bubble);\n this.connect.load(data.connect);\n this.grab.load(data.grab);\n this.light.load(data.light);\n this.push.load(data.push);\n this.remove.load(data.remove);\n this.repulse.load(data.repulse);\n this.slow.load(data.slow);\n this.trail.load(data.trail);\n }\n}\nexports.Modes = Modes;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Push = void 0;\nclass Push {\n constructor() {\n this.default = true;\n this.groups = [];\n this.quantity = 4;\n }\n get particles_nb() {\n return this.quantity;\n }\n set particles_nb(value) {\n this.quantity = value;\n }\n load(data) {\n var _a;\n if (data === undefined) {\n return;\n }\n if (data.default !== undefined) {\n this.default = data.default;\n }\n if (data.groups !== undefined) {\n this.groups = data.groups.map((t) => t);\n }\n if (!this.groups.length) {\n this.default = true;\n }\n const quantity = (_a = data.quantity) !== null && _a !== void 0 ? _a : data.particles_nb;\n if (quantity !== undefined) {\n this.quantity = quantity;\n }\n }\n}\nexports.Push = Push;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Remove = void 0;\nclass Remove {\n constructor() {\n this.quantity = 2;\n }\n get particles_nb() {\n return this.quantity;\n }\n set particles_nb(value) {\n this.quantity = value;\n }\n load(data) {\n var _a;\n if (data === undefined) {\n return;\n }\n const quantity = (_a = data.quantity) !== null && _a !== void 0 ? _a : data.particles_nb;\n if (quantity !== undefined) {\n this.quantity = quantity;\n }\n }\n}\nexports.Remove = Remove;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Repulse = void 0;\nconst RepulseDiv_1 = require(\"./RepulseDiv\");\nconst RepulseBase_1 = require(\"./RepulseBase\");\nclass Repulse extends RepulseBase_1.RepulseBase {\n load(data) {\n super.load(data);\n if ((data === null || data === void 0 ? void 0 : data.divs) === undefined) {\n return;\n }\n if (data.divs instanceof Array) {\n this.divs = data.divs.map((s) => {\n const tmp = new RepulseDiv_1.RepulseDiv();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.divs instanceof Array || !this.divs) {\n this.divs = new RepulseDiv_1.RepulseDiv();\n }\n this.divs.load(data.divs);\n }\n }\n}\nexports.Repulse = Repulse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RepulseBase = void 0;\nconst Enums_1 = require(\"../../../../Enums\");\nclass RepulseBase {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.factor = 100;\n this.speed = 1;\n this.maxSpeed = 50;\n this.easing = Enums_1.EasingType.easeOutQuad;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n }\n}\nexports.RepulseBase = RepulseBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RepulseDiv = void 0;\nconst RepulseBase_1 = require(\"./RepulseBase\");\nclass RepulseDiv extends RepulseBase_1.RepulseBase {\n constructor() {\n super();\n this.selectors = [];\n }\n get ids() {\n if (this.selectors instanceof Array) {\n return this.selectors.map((t) => t.replace(\"#\", \"\"));\n }\n else {\n return this.selectors.replace(\"#\", \"\");\n }\n }\n set ids(value) {\n if (value instanceof Array) {\n this.selectors = value.map(() => `#${value}`);\n }\n else {\n this.selectors = `#${value}`;\n }\n }\n load(data) {\n super.load(data);\n if (data === undefined) {\n return;\n }\n if (data.ids !== undefined) {\n this.ids = data.ids;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n }\n}\nexports.RepulseDiv = RepulseDiv;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Slow = void 0;\nclass Slow {\n constructor() {\n this.factor = 3;\n this.radius = 200;\n }\n get active() {\n return false;\n }\n set active(_value) {\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\nexports.Slow = Slow;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Trail = void 0;\nconst Utils_1 = require(\"../../../../Utils\");\nclass Trail {\n constructor() {\n this.delay = 1;\n this.pauseOnStop = false;\n this.quantity = 1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.quantity !== undefined) {\n this.quantity = data.quantity;\n }\n if (data.particles !== undefined) {\n this.particles = (0, Utils_1.deepExtend)({}, data.particles);\n }\n if (data.pauseOnStop !== undefined) {\n this.pauseOnStop = data.pauseOnStop;\n }\n }\n}\nexports.Trail = Trail;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ManualParticle = void 0;\nconst Utils_1 = require(\"../../Utils\");\nclass ManualParticle {\n load(data) {\n var _a, _b;\n if (!data) {\n return;\n }\n if (data.position !== undefined) {\n this.position = {\n x: (_a = data.position.x) !== null && _a !== void 0 ? _a : 50,\n y: (_b = data.position.y) !== null && _b !== void 0 ? _b : 50,\n };\n }\n if (data.options !== undefined) {\n this.options = (0, Utils_1.deepExtend)({}, data.options);\n }\n }\n}\nexports.ManualParticle = ManualParticle;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Motion = void 0;\nconst MotionReduce_1 = require(\"./MotionReduce\");\nclass Motion {\n constructor() {\n this.disable = false;\n this.reduce = new MotionReduce_1.MotionReduce();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.disable !== undefined) {\n this.disable = data.disable;\n }\n this.reduce.load(data.reduce);\n }\n}\nexports.Motion = Motion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MotionReduce = void 0;\nclass MotionReduce {\n constructor() {\n this.factor = 4;\n this.value = true;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\nexports.MotionReduce = MotionReduce;\n","\"use strict\";\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Options_instances, _Options_findDefaultTheme;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Options = void 0;\nconst Interactivity_1 = require(\"./Interactivity/Interactivity\");\nconst ParticlesOptions_1 = require(\"./Particles/ParticlesOptions\");\nconst BackgroundMask_1 = require(\"./BackgroundMask/BackgroundMask\");\nconst Background_1 = require(\"./Background/Background\");\nconst Utils_1 = require(\"../../Utils\");\nconst Theme_1 = require(\"./Theme/Theme\");\nconst Enums_1 = require(\"../../Enums\");\nconst FullScreen_1 = require(\"./FullScreen/FullScreen\");\nconst Motion_1 = require(\"./Motion/Motion\");\nconst ManualParticle_1 = require(\"./ManualParticle\");\nconst Responsive_1 = require(\"./Responsive\");\nclass Options {\n constructor() {\n _Options_instances.add(this);\n this.autoPlay = true;\n this.background = new Background_1.Background();\n this.backgroundMask = new BackgroundMask_1.BackgroundMask();\n this.fullScreen = new FullScreen_1.FullScreen();\n this.detectRetina = true;\n this.duration = 0;\n this.fpsLimit = 60;\n this.interactivity = new Interactivity_1.Interactivity();\n this.manualParticles = [];\n this.motion = new Motion_1.Motion();\n this.particles = new ParticlesOptions_1.ParticlesOptions();\n this.pauseOnBlur = true;\n this.pauseOnOutsideViewport = true;\n this.responsive = [];\n this.themes = [];\n this.zLayers = 100;\n }\n get fps_limit() {\n return this.fpsLimit;\n }\n set fps_limit(value) {\n this.fpsLimit = value;\n }\n get retina_detect() {\n return this.detectRetina;\n }\n set retina_detect(value) {\n this.detectRetina = value;\n }\n get backgroundMode() {\n return this.fullScreen;\n }\n set backgroundMode(value) {\n this.fullScreen.load(value);\n }\n load(data) {\n var _a, _b, _c, _d, _e;\n if (data === undefined) {\n return;\n }\n if (data.preset !== undefined) {\n if (data.preset instanceof Array) {\n for (const preset of data.preset) {\n this.importPreset(preset);\n }\n }\n else {\n this.importPreset(data.preset);\n }\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n const detectRetina = (_a = data.detectRetina) !== null && _a !== void 0 ? _a : data.retina_detect;\n if (detectRetina !== undefined) {\n this.detectRetina = detectRetina;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n const fpsLimit = (_b = data.fpsLimit) !== null && _b !== void 0 ? _b : data.fps_limit;\n if (fpsLimit !== undefined) {\n this.fpsLimit = fpsLimit;\n }\n if (data.pauseOnBlur !== undefined) {\n this.pauseOnBlur = data.pauseOnBlur;\n }\n if (data.pauseOnOutsideViewport !== undefined) {\n this.pauseOnOutsideViewport = data.pauseOnOutsideViewport;\n }\n if (data.zLayers !== undefined) {\n this.zLayers = data.zLayers;\n }\n this.background.load(data.background);\n const fullScreen = (_c = data.fullScreen) !== null && _c !== void 0 ? _c : data.backgroundMode;\n if (typeof fullScreen === \"boolean\") {\n this.fullScreen.enable = fullScreen;\n }\n else {\n this.fullScreen.load(fullScreen);\n }\n this.backgroundMask.load(data.backgroundMask);\n this.interactivity.load(data.interactivity);\n if (data.manualParticles !== undefined) {\n this.manualParticles = data.manualParticles.map((t) => {\n const tmp = new ManualParticle_1.ManualParticle();\n tmp.load(t);\n return tmp;\n });\n }\n this.motion.load(data.motion);\n this.particles.load(data.particles);\n Utils_1.Plugins.loadOptions(this, data);\n if (data.responsive !== undefined) {\n for (const responsive of data.responsive) {\n const optResponsive = new Responsive_1.Responsive();\n optResponsive.load(responsive);\n this.responsive.push(optResponsive);\n }\n }\n this.responsive.sort((a, b) => a.maxWidth - b.maxWidth);\n if (data.themes !== undefined) {\n for (const theme of data.themes) {\n const optTheme = new Theme_1.Theme();\n optTheme.load(theme);\n this.themes.push(optTheme);\n }\n }\n this.defaultDarkTheme = (_d = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, Enums_1.ThemeMode.dark)) === null || _d === void 0 ? void 0 : _d.name;\n this.defaultLightTheme = (_e = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, Enums_1.ThemeMode.light)) === null || _e === void 0 ? void 0 : _e.name;\n }\n setTheme(name) {\n if (name) {\n const chosenTheme = this.themes.find((theme) => theme.name === name);\n if (chosenTheme) {\n this.load(chosenTheme.options);\n }\n }\n else {\n const mediaMatch = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-color-scheme: dark)\"), clientDarkMode = mediaMatch && mediaMatch.matches, defaultTheme = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, clientDarkMode ? Enums_1.ThemeMode.dark : Enums_1.ThemeMode.light);\n if (defaultTheme) {\n this.load(defaultTheme.options);\n }\n }\n }\n setResponsive(width, pxRatio, defaultOptions) {\n this.load(defaultOptions);\n const responsiveOptions = this.responsive.find((t) => t.mode === Enums_1.ResponsiveMode.screen && screen\n ? t.maxWidth * pxRatio > screen.availWidth\n : t.maxWidth * pxRatio > width);\n this.load(responsiveOptions === null || responsiveOptions === void 0 ? void 0 : responsiveOptions.options);\n return responsiveOptions === null || responsiveOptions === void 0 ? void 0 : responsiveOptions.maxWidth;\n }\n importPreset(preset) {\n this.load(Utils_1.Plugins.getPreset(preset));\n }\n}\nexports.Options = Options;\n_Options_instances = new WeakSet(), _Options_findDefaultTheme = function _Options_findDefaultTheme(mode) {\n var _a;\n return ((_a = this.themes.find((theme) => theme.default.value && theme.default.mode === mode)) !== null && _a !== void 0 ? _a : this.themes.find((theme) => theme.default.value && theme.default.mode === Enums_1.ThemeMode.any));\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OptionsColor = void 0;\nclass OptionsColor {\n constructor() {\n this.value = \"#fff\";\n }\n static create(source, data) {\n const color = new OptionsColor();\n color.load(source);\n if (data !== undefined) {\n if (typeof data === \"string\" || data instanceof Array) {\n color.load({ value: data });\n }\n else {\n color.load(data);\n }\n }\n return color;\n }\n load(data) {\n if ((data === null || data === void 0 ? void 0 : data.value) === undefined) {\n return;\n }\n this.value = data.value;\n }\n}\nexports.OptionsColor = OptionsColor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Bounce = void 0;\nconst BounceFactor_1 = require(\"./BounceFactor\");\nclass Bounce {\n constructor() {\n this.horizontal = new BounceFactor_1.BounceFactor();\n this.vertical = new BounceFactor_1.BounceFactor();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.horizontal.load(data.horizontal);\n this.vertical.load(data.vertical);\n }\n}\nexports.Bounce = Bounce;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BounceFactor = void 0;\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nclass BounceFactor extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.random.minimumValue = 0.1;\n this.value = 1;\n }\n}\nexports.BounceFactor = BounceFactor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Collisions = void 0;\nconst Enums_1 = require(\"../../../../Enums\");\nconst Bounce_1 = require(\"../Bounce/Bounce\");\nconst CollisionsOverlap_1 = require(\"./CollisionsOverlap\");\nclass Collisions {\n constructor() {\n this.bounce = new Bounce_1.Bounce();\n this.enable = false;\n this.mode = Enums_1.CollisionMode.bounce;\n this.overlap = new CollisionsOverlap_1.CollisionsOverlap();\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n this.bounce.load(data.bounce);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.overlap.load(data.overlap);\n }\n}\nexports.Collisions = Collisions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CollisionsOverlap = void 0;\nclass CollisionsOverlap {\n constructor() {\n this.enable = true;\n this.retries = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.retries !== undefined) {\n this.retries = data.retries;\n }\n }\n}\nexports.CollisionsOverlap = CollisionsOverlap;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Destroy = void 0;\nconst Enums_1 = require(\"../../../../Enums\");\nconst Split_1 = require(\"./Split\");\nclass Destroy {\n constructor() {\n this.mode = Enums_1.DestroyMode.none;\n this.split = new Split_1.Split();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.split.load(data.split);\n }\n}\nexports.Destroy = Destroy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Split = void 0;\nconst SplitFactor_1 = require(\"./SplitFactor\");\nconst SplitRate_1 = require(\"./SplitRate\");\nconst Utils_1 = require(\"../../../../Utils\");\nclass Split {\n constructor() {\n this.count = 1;\n this.factor = new SplitFactor_1.SplitFactor();\n this.rate = new SplitRate_1.SplitRate();\n this.sizeOffset = true;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n this.factor.load(data.factor);\n this.rate.load(data.rate);\n if (data.particles !== undefined) {\n this.particles = (0, Utils_1.deepExtend)({}, data.particles);\n }\n if (data.sizeOffset !== undefined) {\n this.sizeOffset = data.sizeOffset;\n }\n }\n}\nexports.Split = Split;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SplitFactor = void 0;\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nclass SplitFactor extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.value = 3;\n }\n}\nexports.SplitFactor = SplitFactor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SplitRate = void 0;\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nclass SplitRate extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.value = { min: 4, max: 9 };\n }\n}\nexports.SplitRate = SplitRate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Life = void 0;\nconst LifeDelay_1 = require(\"./LifeDelay\");\nconst LifeDuration_1 = require(\"./LifeDuration\");\nclass Life {\n constructor() {\n this.count = 0;\n this.delay = new LifeDelay_1.LifeDelay();\n this.duration = new LifeDuration_1.LifeDuration();\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n this.delay.load(data.delay);\n this.duration.load(data.duration);\n }\n}\nexports.Life = Life;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LifeDelay = void 0;\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nclass LifeDelay extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexports.LifeDelay = LifeDelay;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LifeDuration = void 0;\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nclass LifeDuration extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.random.minimumValue = 0.0001;\n this.sync = false;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n super.load(data);\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexports.LifeDuration = LifeDuration;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Links = void 0;\nconst LinksShadow_1 = require(\"./LinksShadow\");\nconst LinksTriangle_1 = require(\"./LinksTriangle\");\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nclass Links {\n constructor() {\n this.blink = false;\n this.color = new OptionsColor_1.OptionsColor();\n this.consent = false;\n this.distance = 100;\n this.enable = false;\n this.frequency = 1;\n this.opacity = 1;\n this.shadow = new LinksShadow_1.LinksShadow();\n this.triangles = new LinksTriangle_1.LinksTriangle();\n this.width = 1;\n this.warp = false;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.id !== undefined) {\n this.id = data.id;\n }\n if (data.blink !== undefined) {\n this.blink = data.blink;\n }\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n if (data.consent !== undefined) {\n this.consent = data.consent;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n this.shadow.load(data.shadow);\n this.triangles.load(data.triangles);\n if (data.width !== undefined) {\n this.width = data.width;\n }\n if (data.warp !== undefined) {\n this.warp = data.warp;\n }\n }\n}\nexports.Links = Links;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LinksShadow = void 0;\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nclass LinksShadow {\n constructor() {\n this.blur = 5;\n this.color = new OptionsColor_1.OptionsColor();\n this.enable = false;\n this.color.value = \"#00ff00\";\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.blur !== undefined) {\n this.blur = data.blur;\n }\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\nexports.LinksShadow = LinksShadow;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LinksTriangle = void 0;\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nclass LinksTriangle {\n constructor() {\n this.enable = false;\n this.frequency = 1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\nexports.LinksTriangle = LinksTriangle;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Attract = void 0;\nclass Attract {\n constructor() {\n this.distance = 200;\n this.enable = false;\n this.rotate = {\n x: 3000,\n y: 3000,\n };\n }\n get rotateX() {\n return this.rotate.x;\n }\n set rotateX(value) {\n this.rotate.x = value;\n }\n get rotateY() {\n return this.rotate.y;\n }\n set rotateY(value) {\n this.rotate.y = value;\n }\n load(data) {\n var _a, _b, _c, _d;\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const rotateX = (_b = (_a = data.rotate) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : data.rotateX;\n if (rotateX !== undefined) {\n this.rotate.x = rotateX;\n }\n const rotateY = (_d = (_c = data.rotate) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : data.rotateY;\n if (rotateY !== undefined) {\n this.rotate.y = rotateY;\n }\n }\n}\nexports.Attract = Attract;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Move = void 0;\nconst Attract_1 = require(\"./Attract\");\nconst Enums_1 = require(\"../../../../Enums\");\nconst Trail_1 = require(\"./Trail\");\nconst Path_1 = require(\"./Path/Path\");\nconst MoveAngle_1 = require(\"./MoveAngle\");\nconst MoveGravity_1 = require(\"./MoveGravity\");\nconst OutModes_1 = require(\"./OutModes\");\nconst Utils_1 = require(\"../../../../Utils\");\nconst Spin_1 = require(\"./Spin\");\nclass Move {\n constructor() {\n this.angle = new MoveAngle_1.MoveAngle();\n this.attract = new Attract_1.Attract();\n this.decay = 0;\n this.distance = {};\n this.direction = Enums_1.MoveDirection.none;\n this.drift = 0;\n this.enable = false;\n this.gravity = new MoveGravity_1.MoveGravity();\n this.path = new Path_1.Path();\n this.outModes = new OutModes_1.OutModes();\n this.random = false;\n this.size = false;\n this.speed = 2;\n this.spin = new Spin_1.Spin();\n this.straight = false;\n this.trail = new Trail_1.Trail();\n this.vibrate = false;\n this.warp = false;\n }\n get collisions() {\n return false;\n }\n set collisions(value) {\n }\n get bounce() {\n return this.collisions;\n }\n set bounce(value) {\n this.collisions = value;\n }\n get out_mode() {\n return this.outMode;\n }\n set out_mode(value) {\n this.outMode = value;\n }\n get outMode() {\n return this.outModes.default;\n }\n set outMode(value) {\n this.outModes.default = value;\n }\n get noise() {\n return this.path;\n }\n set noise(value) {\n this.path = value;\n }\n load(data) {\n var _a, _b, _c;\n if (data === undefined) {\n return;\n }\n if (data.angle !== undefined) {\n if (typeof data.angle === \"number\") {\n this.angle.value = data.angle;\n }\n else {\n this.angle.load(data.angle);\n }\n }\n this.attract.load(data.attract);\n if (data.decay !== undefined) {\n this.decay = data.decay;\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.distance !== undefined) {\n this.distance =\n typeof data.distance === \"number\"\n ? {\n horizontal: data.distance,\n vertical: data.distance,\n }\n : (0, Utils_1.deepExtend)({}, data.distance);\n }\n if (data.drift !== undefined) {\n this.drift = (0, Utils_1.setRangeValue)(data.drift);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.gravity.load(data.gravity);\n const outMode = (_a = data.outMode) !== null && _a !== void 0 ? _a : data.out_mode;\n if (data.outModes !== undefined || outMode !== undefined) {\n if (typeof data.outModes === \"string\" || (data.outModes === undefined && outMode !== undefined)) {\n this.outModes.load({\n default: (_b = data.outModes) !== null && _b !== void 0 ? _b : outMode,\n });\n }\n else {\n this.outModes.load(data.outModes);\n }\n }\n this.path.load((_c = data.path) !== null && _c !== void 0 ? _c : data.noise);\n if (data.random !== undefined) {\n this.random = data.random;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.speed !== undefined) {\n this.speed = (0, Utils_1.setRangeValue)(data.speed);\n }\n this.spin.load(data.spin);\n if (data.straight !== undefined) {\n this.straight = data.straight;\n }\n this.trail.load(data.trail);\n if (data.vibrate !== undefined) {\n this.vibrate = data.vibrate;\n }\n if (data.warp !== undefined) {\n this.warp = data.warp;\n }\n }\n}\nexports.Move = Move;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MoveAngle = void 0;\nclass MoveAngle {\n constructor() {\n this.offset = 0;\n this.value = 90;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.offset !== undefined) {\n this.offset = data.offset;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\nexports.MoveAngle = MoveAngle;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MoveGravity = void 0;\nclass MoveGravity {\n constructor() {\n this.acceleration = 9.81;\n this.enable = false;\n this.inverse = false;\n this.maxSpeed = 50;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.acceleration !== undefined) {\n this.acceleration = data.acceleration;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.inverse !== undefined) {\n this.inverse = data.inverse;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n }\n}\nexports.MoveGravity = MoveGravity;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutModes = void 0;\nconst Modes_1 = require(\"../../../../Enums/Modes\");\nclass OutModes {\n constructor() {\n this.default = Modes_1.OutMode.out;\n }\n load(data) {\n var _a, _b, _c, _d;\n if (!data) {\n return;\n }\n if (data.default !== undefined) {\n this.default = data.default;\n }\n this.bottom = (_a = data.bottom) !== null && _a !== void 0 ? _a : data.default;\n this.left = (_b = data.left) !== null && _b !== void 0 ? _b : data.default;\n this.right = (_c = data.right) !== null && _c !== void 0 ? _c : data.default;\n this.top = (_d = data.top) !== null && _d !== void 0 ? _d : data.default;\n }\n}\nexports.OutModes = OutModes;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Path = void 0;\nconst PathDelay_1 = require(\"./PathDelay\");\nconst Utils_1 = require(\"../../../../../Utils\");\nclass Path {\n constructor() {\n this.clamp = true;\n this.delay = new PathDelay_1.PathDelay();\n this.enable = false;\n this.options = {};\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.clamp !== undefined) {\n this.clamp = data.clamp;\n }\n this.delay.load(data.delay);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.generator = data.generator;\n if (data.options) {\n this.options = (0, Utils_1.deepExtend)(this.options, data.options);\n }\n }\n}\nexports.Path = Path;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PathDelay = void 0;\nconst ValueWithRandom_1 = require(\"../../../ValueWithRandom\");\nclass PathDelay extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n }\n}\nexports.PathDelay = PathDelay;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Spin = void 0;\nconst Utils_1 = require(\"../../../../Utils\");\nclass Spin {\n constructor() {\n this.acceleration = 0;\n this.enable = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.acceleration !== undefined) {\n this.acceleration = (0, Utils_1.setRangeValue)(data.acceleration);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.position = data.position ? (0, Utils_1.deepExtend)({}, data.position) : undefined;\n }\n}\nexports.Spin = Spin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Trail = void 0;\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nclass Trail {\n constructor() {\n this.enable = false;\n this.length = 10;\n this.fillColor = new OptionsColor_1.OptionsColor();\n this.fillColor.value = \"#000000\";\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.fillColor = OptionsColor_1.OptionsColor.create(this.fillColor, data.fillColor);\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n}\nexports.Trail = Trail;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Density = void 0;\nclass Density {\n constructor() {\n this.enable = false;\n this.area = 800;\n this.factor = 1000;\n }\n get value_area() {\n return this.area;\n }\n set value_area(value) {\n this.area = value;\n }\n load(data) {\n var _a;\n if (data === undefined) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const area = (_a = data.area) !== null && _a !== void 0 ? _a : data.value_area;\n if (area !== undefined) {\n this.area = area;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n }\n}\nexports.Density = Density;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParticlesNumber = void 0;\nconst Density_1 = require(\"./Density\");\nclass ParticlesNumber {\n constructor() {\n this.density = new Density_1.Density();\n this.limit = 0;\n this.value = 100;\n }\n get max() {\n return this.limit;\n }\n set max(value) {\n this.limit = value;\n }\n load(data) {\n var _a;\n if (data === undefined) {\n return;\n }\n this.density.load(data.density);\n const limit = (_a = data.limit) !== null && _a !== void 0 ? _a : data.max;\n if (limit !== undefined) {\n this.limit = limit;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\nexports.ParticlesNumber = ParticlesNumber;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Opacity = void 0;\nconst OpacityAnimation_1 = require(\"./OpacityAnimation\");\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nconst Utils_1 = require(\"../../../../Utils\");\nclass Opacity extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.animation = new OpacityAnimation_1.OpacityAnimation();\n this.random.minimumValue = 0.1;\n this.value = 1;\n }\n get anim() {\n return this.animation;\n }\n set anim(value) {\n this.animation = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n super.load(data);\n const animation = (_a = data.animation) !== null && _a !== void 0 ? _a : data.anim;\n if (animation !== undefined) {\n this.animation.load(animation);\n this.value = (0, Utils_1.setRangeValue)(this.value, this.animation.enable ? this.animation.minimumValue : undefined);\n }\n }\n}\nexports.Opacity = Opacity;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpacityAnimation = void 0;\nconst Enums_1 = require(\"../../../../Enums\");\nconst AnimationOptions_1 = require(\"../../AnimationOptions\");\nclass OpacityAnimation extends AnimationOptions_1.AnimationOptions {\n constructor() {\n super();\n this.destroy = Enums_1.DestroyType.none;\n this.enable = false;\n this.speed = 2;\n this.startValue = Enums_1.StartValueType.random;\n this.sync = false;\n }\n get opacity_min() {\n return this.minimumValue;\n }\n set opacity_min(value) {\n this.minimumValue = value;\n }\n load(data) {\n var _a;\n if (data === undefined) {\n return;\n }\n super.load(data);\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.opacity_min;\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexports.OpacityAnimation = OpacityAnimation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Orbit = void 0;\nconst OrbitRotation_1 = require(\"./OrbitRotation\");\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nconst AnimationOptions_1 = require(\"../../AnimationOptions\");\nclass Orbit {\n constructor() {\n this.animation = new AnimationOptions_1.AnimationOptions();\n this.enable = false;\n this.opacity = 1;\n this.rotation = new OrbitRotation_1.OrbitRotation();\n this.width = 1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n this.animation.load(data.animation);\n this.rotation.load(data.rotation);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n }\n}\nexports.Orbit = Orbit;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrbitRotation = void 0;\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nclass OrbitRotation extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.value = 45;\n this.random.enable = false;\n this.random.minimumValue = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n super.load(data);\n }\n}\nexports.OrbitRotation = OrbitRotation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParticlesOptions = void 0;\nconst Links_1 = require(\"./Links/Links\");\nconst Move_1 = require(\"./Move/Move\");\nconst ParticlesNumber_1 = require(\"./Number/ParticlesNumber\");\nconst Opacity_1 = require(\"./Opacity/Opacity\");\nconst Shape_1 = require(\"./Shape/Shape\");\nconst Size_1 = require(\"./Size/Size\");\nconst Rotate_1 = require(\"./Rotate/Rotate\");\nconst Shadow_1 = require(\"./Shadow\");\nconst Stroke_1 = require(\"./Stroke\");\nconst Collisions_1 = require(\"./Collisions/Collisions\");\nconst Twinkle_1 = require(\"./Twinkle/Twinkle\");\nconst AnimatableColor_1 = require(\"../AnimatableColor\");\nconst Life_1 = require(\"./Life/Life\");\nconst Bounce_1 = require(\"./Bounce/Bounce\");\nconst Destroy_1 = require(\"./Destroy/Destroy\");\nconst Wobble_1 = require(\"./Wobble/Wobble\");\nconst Tilt_1 = require(\"./Tilt/Tilt\");\nconst Roll_1 = require(\"./Roll/Roll\");\nconst ZIndex_1 = require(\"./ZIndex/ZIndex\");\nconst Utils_1 = require(\"../../../Utils\");\nconst Orbit_1 = require(\"./Orbit/Orbit\");\nconst Repulse_1 = require(\"./Repulse/Repulse\");\nconst AnimatableGradient_1 = require(\"../AnimatableGradient\");\nclass ParticlesOptions {\n constructor() {\n this.bounce = new Bounce_1.Bounce();\n this.collisions = new Collisions_1.Collisions();\n this.color = new AnimatableColor_1.AnimatableColor();\n this.destroy = new Destroy_1.Destroy();\n this.gradient = [];\n this.groups = {};\n this.life = new Life_1.Life();\n this.links = new Links_1.Links();\n this.move = new Move_1.Move();\n this.number = new ParticlesNumber_1.ParticlesNumber();\n this.opacity = new Opacity_1.Opacity();\n this.orbit = new Orbit_1.Orbit();\n this.reduceDuplicates = false;\n this.repulse = new Repulse_1.Repulse();\n this.roll = new Roll_1.Roll();\n this.rotate = new Rotate_1.Rotate();\n this.shadow = new Shadow_1.Shadow();\n this.shape = new Shape_1.Shape();\n this.size = new Size_1.Size();\n this.stroke = new Stroke_1.Stroke();\n this.tilt = new Tilt_1.Tilt();\n this.twinkle = new Twinkle_1.Twinkle();\n this.wobble = new Wobble_1.Wobble();\n this.zIndex = new ZIndex_1.ZIndex();\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(value) {\n this.links = value;\n }\n load(data) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (data === undefined) {\n return;\n }\n this.bounce.load(data.bounce);\n this.color.load(AnimatableColor_1.AnimatableColor.create(this.color, data.color));\n this.destroy.load(data.destroy);\n this.life.load(data.life);\n const links = (_b = (_a = data.links) !== null && _a !== void 0 ? _a : data.lineLinked) !== null && _b !== void 0 ? _b : data.line_linked;\n if (links !== undefined) {\n this.links.load(links);\n }\n if (data.groups !== undefined) {\n for (const group in data.groups) {\n const item = data.groups[group];\n if (item !== undefined) {\n this.groups[group] = (0, Utils_1.deepExtend)((_c = this.groups[group]) !== null && _c !== void 0 ? _c : {}, item);\n }\n }\n }\n this.move.load(data.move);\n this.number.load(data.number);\n this.opacity.load(data.opacity);\n this.orbit.load(data.orbit);\n if (data.reduceDuplicates !== undefined) {\n this.reduceDuplicates = data.reduceDuplicates;\n }\n this.repulse.load(data.repulse);\n this.roll.load(data.roll);\n this.rotate.load(data.rotate);\n this.shape.load(data.shape);\n this.size.load(data.size);\n this.shadow.load(data.shadow);\n this.tilt.load(data.tilt);\n this.twinkle.load(data.twinkle);\n this.wobble.load(data.wobble);\n this.zIndex.load(data.zIndex);\n const collisions = (_e = (_d = data.move) === null || _d === void 0 ? void 0 : _d.collisions) !== null && _e !== void 0 ? _e : (_f = data.move) === null || _f === void 0 ? void 0 : _f.bounce;\n if (collisions !== undefined) {\n this.collisions.enable = collisions;\n }\n this.collisions.load(data.collisions);\n const strokeToLoad = (_g = data.stroke) !== null && _g !== void 0 ? _g : (_h = data.shape) === null || _h === void 0 ? void 0 : _h.stroke;\n if (strokeToLoad) {\n if (strokeToLoad instanceof Array) {\n this.stroke = strokeToLoad.map((s) => {\n const tmp = new Stroke_1.Stroke();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.stroke instanceof Array) {\n this.stroke = new Stroke_1.Stroke();\n }\n this.stroke.load(strokeToLoad);\n }\n }\n const gradientToLoad = data.gradient;\n if (gradientToLoad) {\n if (gradientToLoad instanceof Array) {\n this.gradient = gradientToLoad.map((s) => {\n const tmp = new AnimatableGradient_1.AnimatableGradient();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.gradient instanceof Array) {\n this.gradient = new AnimatableGradient_1.AnimatableGradient();\n }\n this.gradient.load(gradientToLoad);\n }\n }\n }\n}\nexports.ParticlesOptions = ParticlesOptions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Repulse = void 0;\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nclass Repulse extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.enabled = false;\n this.distance = 1;\n this.duration = 1;\n this.factor = 1;\n this.speed = 1;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.enabled !== undefined) {\n this.enabled = data.enabled;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n }\n}\nexports.Repulse = Repulse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Roll = void 0;\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nconst RollLight_1 = require(\"./RollLight\");\nconst Utils_1 = require(\"../../../../Utils\");\nconst Enums_1 = require(\"../../../../Enums\");\nclass Roll {\n constructor() {\n this.darken = new RollLight_1.RollLight();\n this.enable = false;\n this.enlighten = new RollLight_1.RollLight();\n this.mode = Enums_1.RollMode.vertical;\n this.speed = 25;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.backColor !== undefined) {\n this.backColor = OptionsColor_1.OptionsColor.create(this.backColor, data.backColor);\n }\n this.darken.load(data.darken);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.enlighten.load(data.enlighten);\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.speed !== undefined) {\n this.speed = (0, Utils_1.setRangeValue)(data.speed);\n }\n }\n}\nexports.Roll = Roll;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RollLight = void 0;\nclass RollLight {\n constructor() {\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\nexports.RollLight = RollLight;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Rotate = void 0;\nconst RotateAnimation_1 = require(\"./RotateAnimation\");\nconst Enums_1 = require(\"../../../../Enums\");\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nclass Rotate extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.animation = new RotateAnimation_1.RotateAnimation();\n this.direction = Enums_1.RotateDirection.clockwise;\n this.path = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.animation.load(data.animation);\n if (data.path !== undefined) {\n this.path = data.path;\n }\n }\n}\nexports.Rotate = Rotate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RotateAnimation = void 0;\nclass RotateAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexports.RotateAnimation = RotateAnimation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Shadow = void 0;\nconst OptionsColor_1 = require(\"../OptionsColor\");\nclass Shadow {\n constructor() {\n this.blur = 0;\n this.color = new OptionsColor_1.OptionsColor();\n this.enable = false;\n this.offset = {\n x: 0,\n y: 0,\n };\n this.color.value = \"#000000\";\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.blur !== undefined) {\n this.blur = data.blur;\n }\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.offset === undefined) {\n return;\n }\n if (data.offset.x !== undefined) {\n this.offset.x = data.offset.x;\n }\n if (data.offset.y !== undefined) {\n this.offset.y = data.offset.y;\n }\n }\n}\nexports.Shadow = Shadow;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Shape = void 0;\nconst Enums_1 = require(\"../../../../Enums\");\nconst Utils_1 = require(\"../../../../Utils\");\nclass Shape {\n constructor() {\n this.options = {};\n this.type = Enums_1.ShapeType.circle;\n }\n get image() {\n var _a;\n return ((_a = this.options[Enums_1.ShapeType.image]) !== null && _a !== void 0 ? _a : this.options[Enums_1.ShapeType.images]);\n }\n set image(value) {\n this.options[Enums_1.ShapeType.image] = value;\n this.options[Enums_1.ShapeType.images] = value;\n }\n get custom() {\n return this.options;\n }\n set custom(value) {\n this.options = value;\n }\n get images() {\n return this.image;\n }\n set images(value) {\n this.image = value;\n }\n get stroke() {\n return [];\n }\n set stroke(_value) {\n }\n get character() {\n var _a;\n return ((_a = this.options[Enums_1.ShapeType.character]) !== null && _a !== void 0 ? _a : this.options[Enums_1.ShapeType.char]);\n }\n set character(value) {\n this.options[Enums_1.ShapeType.character] = value;\n this.options[Enums_1.ShapeType.char] = value;\n }\n get polygon() {\n var _a;\n return ((_a = this.options[Enums_1.ShapeType.polygon]) !== null && _a !== void 0 ? _a : this.options[Enums_1.ShapeType.star]);\n }\n set polygon(value) {\n this.options[Enums_1.ShapeType.polygon] = value;\n this.options[Enums_1.ShapeType.star] = value;\n }\n load(data) {\n var _a, _b, _c;\n if (data === undefined) {\n return;\n }\n const options = (_a = data.options) !== null && _a !== void 0 ? _a : data.custom;\n if (options !== undefined) {\n for (const shape in options) {\n const item = options[shape];\n if (item !== undefined) {\n this.options[shape] = (0, Utils_1.deepExtend)((_b = this.options[shape]) !== null && _b !== void 0 ? _b : {}, item);\n }\n }\n }\n this.loadShape(data.character, Enums_1.ShapeType.character, Enums_1.ShapeType.char, true);\n this.loadShape(data.polygon, Enums_1.ShapeType.polygon, Enums_1.ShapeType.star, false);\n this.loadShape((_c = data.image) !== null && _c !== void 0 ? _c : data.images, Enums_1.ShapeType.image, Enums_1.ShapeType.images, true);\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n loadShape(item, mainKey, altKey, altOverride) {\n var _a, _b, _c, _d;\n if (item === undefined) {\n return;\n }\n if (item instanceof Array) {\n if (!(this.options[mainKey] instanceof Array)) {\n this.options[mainKey] = [];\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = [];\n }\n }\n this.options[mainKey] = (0, Utils_1.deepExtend)((_a = this.options[mainKey]) !== null && _a !== void 0 ? _a : [], item);\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = (0, Utils_1.deepExtend)((_b = this.options[altKey]) !== null && _b !== void 0 ? _b : [], item);\n }\n }\n else {\n if (this.options[mainKey] instanceof Array) {\n this.options[mainKey] = {};\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = {};\n }\n }\n this.options[mainKey] = (0, Utils_1.deepExtend)((_c = this.options[mainKey]) !== null && _c !== void 0 ? _c : {}, item);\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = (0, Utils_1.deepExtend)((_d = this.options[altKey]) !== null && _d !== void 0 ? _d : {}, item);\n }\n }\n }\n}\nexports.Shape = Shape;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Size = void 0;\nconst SizeAnimation_1 = require(\"./SizeAnimation\");\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nconst Utils_1 = require(\"../../../../Utils\");\nclass Size extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.animation = new SizeAnimation_1.SizeAnimation();\n this.random.minimumValue = 1;\n this.value = 3;\n }\n get anim() {\n return this.animation;\n }\n set anim(value) {\n this.animation = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n super.load(data);\n const animation = (_a = data.animation) !== null && _a !== void 0 ? _a : data.anim;\n if (animation !== undefined) {\n this.animation.load(animation);\n this.value = (0, Utils_1.setRangeValue)(this.value, this.animation.enable ? this.animation.minimumValue : undefined);\n }\n }\n}\nexports.Size = Size;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SizeAnimation = void 0;\nconst Enums_1 = require(\"../../../../Enums\");\nconst AnimationOptions_1 = require(\"../../AnimationOptions\");\nclass SizeAnimation extends AnimationOptions_1.AnimationOptions {\n constructor() {\n super();\n this.destroy = Enums_1.DestroyType.none;\n this.enable = false;\n this.speed = 5;\n this.startValue = Enums_1.StartValueType.random;\n this.sync = false;\n }\n get size_min() {\n return this.minimumValue;\n }\n set size_min(value) {\n this.minimumValue = value;\n }\n load(data) {\n var _a;\n if (data === undefined) {\n return;\n }\n super.load(data);\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.size_min;\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexports.SizeAnimation = SizeAnimation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Stroke = void 0;\nconst AnimatableColor_1 = require(\"../AnimatableColor\");\nclass Stroke {\n constructor() {\n this.width = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.color !== undefined) {\n this.color = AnimatableColor_1.AnimatableColor.create(this.color, data.color);\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\nexports.Stroke = Stroke;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tilt = void 0;\nconst TiltAnimation_1 = require(\"./TiltAnimation\");\nconst Enums_1 = require(\"../../../../Enums\");\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nclass Tilt extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.animation = new TiltAnimation_1.TiltAnimation();\n this.direction = Enums_1.TiltDirection.clockwise;\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n this.animation.load(data.animation);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\nexports.Tilt = Tilt;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TiltAnimation = void 0;\nclass TiltAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexports.TiltAnimation = TiltAnimation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Twinkle = void 0;\nconst TwinkleValues_1 = require(\"./TwinkleValues\");\nclass Twinkle {\n constructor() {\n this.lines = new TwinkleValues_1.TwinkleValues();\n this.particles = new TwinkleValues_1.TwinkleValues();\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n this.lines.load(data.lines);\n this.particles.load(data.particles);\n }\n}\nexports.Twinkle = Twinkle;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TwinkleValues = void 0;\nconst OptionsColor_1 = require(\"../../OptionsColor\");\nclass TwinkleValues {\n constructor() {\n this.enable = false;\n this.frequency = 0.05;\n this.opacity = 1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\nexports.TwinkleValues = TwinkleValues;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Wobble = void 0;\nconst Utils_1 = require(\"../../../../Utils\");\nclass Wobble {\n constructor() {\n this.distance = 5;\n this.enable = false;\n this.speed = 50;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = (0, Utils_1.setRangeValue)(data.distance);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = (0, Utils_1.setRangeValue)(data.speed);\n }\n }\n}\nexports.Wobble = Wobble;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZIndex = void 0;\nconst ValueWithRandom_1 = require(\"../../ValueWithRandom\");\nclass ZIndex extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.opacityRate = 1;\n this.sizeRate = 1;\n this.velocityRate = 1;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.opacityRate !== undefined) {\n this.opacityRate = data.opacityRate;\n }\n if (data.sizeRate !== undefined) {\n this.sizeRate = data.sizeRate;\n }\n if (data.velocityRate !== undefined) {\n this.velocityRate = data.velocityRate;\n }\n }\n}\nexports.ZIndex = ZIndex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Random = void 0;\nclass Random {\n constructor() {\n this.enable = false;\n this.minimumValue = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.minimumValue !== undefined) {\n this.minimumValue = data.minimumValue;\n }\n }\n}\nexports.Random = Random;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Responsive = void 0;\nconst Utils_1 = require(\"../../Utils\");\nconst Enums_1 = require(\"../../Enums\");\nclass Responsive {\n constructor() {\n this.maxWidth = Infinity;\n this.options = {};\n this.mode = Enums_1.ResponsiveMode.canvas;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.maxWidth !== undefined) {\n this.maxWidth = data.maxWidth;\n }\n if (data.mode !== undefined) {\n if (data.mode === Enums_1.ResponsiveMode.screen) {\n this.mode = Enums_1.ResponsiveMode.screen;\n }\n else {\n this.mode = Enums_1.ResponsiveMode.canvas;\n }\n }\n if (data.options !== undefined) {\n this.options = (0, Utils_1.deepExtend)({}, data.options);\n }\n }\n}\nexports.Responsive = Responsive;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Theme = void 0;\nconst Utils_1 = require(\"../../../Utils\");\nconst ThemeDefault_1 = require(\"./ThemeDefault\");\nclass Theme {\n constructor() {\n this.name = \"\";\n this.default = new ThemeDefault_1.ThemeDefault();\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n this.default.load(data.default);\n if (data.options !== undefined) {\n this.options = (0, Utils_1.deepExtend)({}, data.options);\n }\n }\n}\nexports.Theme = Theme;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ThemeDefault = void 0;\nconst Enums_1 = require(\"../../../Enums\");\nclass ThemeDefault {\n constructor() {\n this.auto = false;\n this.mode = Enums_1.ThemeMode.any;\n this.value = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.auto !== undefined) {\n this.auto = data.auto;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\nexports.ThemeDefault = ThemeDefault;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValueWithRandom = void 0;\nconst Random_1 = require(\"./Random\");\nconst Utils_1 = require(\"../../Utils\");\nclass ValueWithRandom {\n constructor() {\n this.random = new Random_1.Random();\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (typeof data.random === \"boolean\") {\n this.random.enable = data.random;\n }\n else {\n this.random.load(data.random);\n }\n if (data.value !== undefined) {\n this.value = (0, Utils_1.setRangeValue)(data.value, this.random.enable ? this.random.minimumValue : undefined);\n }\n }\n}\nexports.ValueWithRandom = ValueWithRandom;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AbsorberInstance = void 0;\nconst Utils_1 = require(\"../../Utils\");\nconst Vector_1 = require(\"../../Core/Particle/Vector\");\nconst Enums_1 = require(\"../../Enums\");\nclass AbsorberInstance {\n constructor(absorbers, container, options, position) {\n var _a, _b, _c, _d, _e;\n this.absorbers = absorbers;\n this.container = container;\n this.initialPosition = position ? Vector_1.Vector.create(position.x, position.y) : undefined;\n this.options = options;\n this.dragging = false;\n this.name = this.options.name;\n this.opacity = this.options.opacity;\n this.size = (0, Utils_1.getRangeValue)(options.size.value) * container.retina.pixelRatio;\n this.mass = this.size * options.size.density * container.retina.reduceFactor;\n const limit = options.size.limit;\n this.limit =\n typeof limit === \"number\"\n ? {\n radius: limit * container.retina.pixelRatio * container.retina.reduceFactor,\n mass: 0,\n }\n : {\n radius: ((_a = limit === null || limit === void 0 ? void 0 : limit.radius) !== null && _a !== void 0 ? _a : 0) * container.retina.pixelRatio * container.retina.reduceFactor,\n mass: (_b = limit === null || limit === void 0 ? void 0 : limit.mass) !== null && _b !== void 0 ? _b : 0,\n };\n const color = typeof options.color === \"string\" ? { value: options.color } : options.color;\n this.color = (_c = (0, Utils_1.colorToRgb)(color)) !== null && _c !== void 0 ? _c : {\n b: 0,\n g: 0,\n r: 0,\n };\n this.position = (_e = (_d = this.initialPosition) === null || _d === void 0 ? void 0 : _d.copy()) !== null && _e !== void 0 ? _e : this.calcPosition();\n }\n attract(particle) {\n const container = this.container;\n const options = this.options;\n if (options.draggable) {\n const mouse = container.interactivity.mouse;\n if (mouse.clicking && mouse.downPosition) {\n const mouseDist = (0, Utils_1.getDistance)(this.position, mouse.downPosition);\n if (mouseDist <= this.size) {\n this.dragging = true;\n }\n }\n else {\n this.dragging = false;\n }\n if (this.dragging && mouse.position) {\n this.position.x = mouse.position.x;\n this.position.y = mouse.position.y;\n }\n }\n const pos = particle.getPosition();\n const { dx, dy, distance } = (0, Utils_1.getDistances)(this.position, pos);\n const v = Vector_1.Vector.create(dx, dy);\n v.length = (this.mass / Math.pow(distance, 2)) * container.retina.reduceFactor;\n if (distance < this.size + particle.getRadius()) {\n const sizeFactor = particle.getRadius() * 0.033 * container.retina.pixelRatio;\n if ((this.size > particle.getRadius() && distance < this.size - particle.getRadius()) ||\n (particle.absorberOrbit !== undefined && particle.absorberOrbit.length < 0)) {\n if (options.destroy) {\n particle.destroy();\n }\n else {\n particle.needsNewPosition = true;\n this.updateParticlePosition(particle, v);\n }\n }\n else {\n if (options.destroy) {\n particle.size.value -= sizeFactor;\n }\n this.updateParticlePosition(particle, v);\n }\n if (this.limit.radius <= 0 || this.size < this.limit.radius) {\n this.size += sizeFactor;\n }\n if (this.limit.mass <= 0 || this.mass < this.limit.mass) {\n this.mass += sizeFactor * this.options.size.density * container.retina.reduceFactor;\n }\n }\n else {\n this.updateParticlePosition(particle, v);\n }\n }\n resize() {\n const initialPosition = this.initialPosition;\n this.position =\n initialPosition && (0, Utils_1.isPointInside)(initialPosition, this.container.canvas.size)\n ? initialPosition\n : this.calcPosition();\n }\n draw(context) {\n context.translate(this.position.x, this.position.y);\n context.beginPath();\n context.arc(0, 0, this.size, 0, Math.PI * 2, false);\n context.closePath();\n context.fillStyle = (0, Utils_1.getStyleFromRgb)(this.color, this.opacity);\n context.fill();\n }\n calcPosition() {\n var _a, _b;\n const container = this.container;\n const percentPosition = this.options.position;\n return Vector_1.Vector.create((((_a = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.x) !== null && _a !== void 0 ? _a : Math.random() * 100) / 100) * container.canvas.size.width, (((_b = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.y) !== null && _b !== void 0 ? _b : Math.random() * 100) / 100) * container.canvas.size.height);\n }\n updateParticlePosition(particle, v) {\n var _a;\n if (particle.destroyed) {\n return;\n }\n const container = this.container;\n const canvasSize = container.canvas.size;\n if (particle.needsNewPosition) {\n particle.position.x = Math.floor(Math.random() * canvasSize.width);\n particle.position.y = Math.floor(Math.random() * canvasSize.height);\n particle.velocity.setTo(particle.initialVelocity);\n particle.absorberOrbit = undefined;\n particle.needsNewPosition = false;\n }\n if (this.options.orbits) {\n if (particle.absorberOrbit === undefined) {\n particle.absorberOrbit = Vector_1.Vector.create(0, 0);\n particle.absorberOrbit.length = (0, Utils_1.getDistance)(particle.getPosition(), this.position);\n particle.absorberOrbit.angle = Math.random() * Math.PI * 2;\n }\n if (particle.absorberOrbit.length <= this.size && !this.options.destroy) {\n const minSize = Math.min(canvasSize.width, canvasSize.height);\n particle.absorberOrbit.length = minSize * (1 + (Math.random() * 0.2 - 0.1));\n }\n if (particle.absorberOrbitDirection === undefined) {\n particle.absorberOrbitDirection =\n particle.velocity.x >= 0 ? Enums_1.RotateDirection.clockwise : Enums_1.RotateDirection.counterClockwise;\n }\n const orbitRadius = particle.absorberOrbit.length;\n const orbitAngle = particle.absorberOrbit.angle;\n const orbitDirection = particle.absorberOrbitDirection;\n particle.velocity.x = 0;\n particle.velocity.y = 0;\n const updateFunc = {\n x: orbitDirection === Enums_1.RotateDirection.clockwise ? Math.cos : Math.sin,\n y: orbitDirection === Enums_1.RotateDirection.clockwise ? Math.sin : Math.cos,\n };\n particle.position.x = this.position.x + orbitRadius * updateFunc.x(orbitAngle);\n particle.position.y = this.position.y + orbitRadius * updateFunc.y(orbitAngle);\n particle.absorberOrbit.length -= v.length;\n particle.absorberOrbit.angle +=\n ((((_a = particle.retina.moveSpeed) !== null && _a !== void 0 ? _a : 0) * container.retina.pixelRatio) / 100) *\n container.retina.reduceFactor;\n }\n else {\n const addV = Vector_1.Vector.origin;\n addV.length = v.length;\n addV.angle = v.angle;\n particle.velocity.addTo(addV);\n }\n }\n}\nexports.AbsorberInstance = AbsorberInstance;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Absorbers = void 0;\nconst AbsorberInstance_1 = require(\"./AbsorberInstance\");\nconst Absorber_1 = require(\"./Options/Classes/Absorber\");\nconst Enums_1 = require(\"./Enums\");\nconst Utils_1 = require(\"../../Utils\");\nclass Absorbers {\n constructor(container) {\n this.container = container;\n this.array = [];\n this.absorbers = [];\n this.interactivityAbsorbers = [];\n const overridableContainer = container;\n overridableContainer.getAbsorber = (idxOrName) => idxOrName === undefined || typeof idxOrName === \"number\"\n ? this.array[idxOrName || 0]\n : this.array.find((t) => t.name === idxOrName);\n overridableContainer.addAbsorber = (options, position) => this.addAbsorber(options, position);\n }\n init(options) {\n var _a, _b;\n if (!options) {\n return;\n }\n if (options.absorbers) {\n if (options.absorbers instanceof Array) {\n this.absorbers = options.absorbers.map((s) => {\n const tmp = new Absorber_1.Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.absorbers instanceof Array) {\n this.absorbers = new Absorber_1.Absorber();\n }\n this.absorbers.load(options.absorbers);\n }\n }\n const interactivityAbsorbers = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.absorbers;\n if (interactivityAbsorbers) {\n if (interactivityAbsorbers instanceof Array) {\n this.interactivityAbsorbers = interactivityAbsorbers.map((s) => {\n const tmp = new Absorber_1.Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.interactivityAbsorbers instanceof Array) {\n this.interactivityAbsorbers = new Absorber_1.Absorber();\n }\n this.interactivityAbsorbers.load(interactivityAbsorbers);\n }\n }\n if (this.absorbers instanceof Array) {\n for (const absorberOptions of this.absorbers) {\n this.addAbsorber(absorberOptions);\n }\n }\n else {\n this.addAbsorber(this.absorbers);\n }\n }\n particleUpdate(particle) {\n for (const absorber of this.array) {\n absorber.attract(particle);\n if (particle.destroyed) {\n break;\n }\n }\n }\n draw(context) {\n for (const absorber of this.array) {\n context.save();\n absorber.draw(context);\n context.restore();\n }\n }\n stop() {\n this.array = [];\n }\n resize() {\n for (const absorber of this.array) {\n absorber.resize();\n }\n }\n handleClickMode(mode) {\n const container = this.container;\n const absorberOptions = this.absorbers;\n const modeAbsorbers = this.interactivityAbsorbers;\n if (mode === Enums_1.AbsorberClickMode.absorber) {\n let absorbersModeOptions;\n if (modeAbsorbers instanceof Array) {\n if (modeAbsorbers.length > 0) {\n absorbersModeOptions = (0, Utils_1.itemFromArray)(modeAbsorbers);\n }\n }\n else {\n absorbersModeOptions = modeAbsorbers;\n }\n const absorbersOptions = absorbersModeOptions !== null && absorbersModeOptions !== void 0 ? absorbersModeOptions : (absorberOptions instanceof Array ? (0, Utils_1.itemFromArray)(absorberOptions) : absorberOptions);\n const aPosition = container.interactivity.mouse.clickPosition;\n this.addAbsorber(absorbersOptions, aPosition);\n }\n }\n addAbsorber(options, position) {\n const absorber = new AbsorberInstance_1.AbsorberInstance(this, this.container, options, position);\n this.array.push(absorber);\n return absorber;\n }\n removeAbsorber(absorber) {\n const index = this.array.indexOf(absorber);\n if (index >= 0) {\n this.array.splice(index, 1);\n }\n }\n}\nexports.Absorbers = Absorbers;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AbsorberClickMode = void 0;\nvar AbsorberClickMode;\n(function (AbsorberClickMode) {\n AbsorberClickMode[\"absorber\"] = \"absorber\";\n})(AbsorberClickMode = exports.AbsorberClickMode || (exports.AbsorberClickMode = {}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./AbsorberClickMode\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Absorber = void 0;\nconst AbsorberSize_1 = require(\"./AbsorberSize\");\nconst OptionsColor_1 = require(\"../../../../Options/Classes/OptionsColor\");\nclass Absorber {\n constructor() {\n this.color = new OptionsColor_1.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.size = new AbsorberSize_1.AbsorberSize();\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n }\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {\n x: data.position.x,\n y: data.position.y,\n };\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\nexports.Absorber = Absorber;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AbsorberSize = void 0;\nconst ValueWithRandom_1 = require(\"../../../../Options/Classes/ValueWithRandom\");\nconst AbsorberSizeLimit_1 = require(\"./AbsorberSizeLimit\");\nclass AbsorberSize extends ValueWithRandom_1.ValueWithRandom {\n constructor() {\n super();\n this.density = 5;\n this.random.minimumValue = 1;\n this.value = 50;\n this.limit = new AbsorberSizeLimit_1.AbsorberSizeLimit();\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if (typeof data.limit === \"number\") {\n this.limit.radius = data.limit;\n }\n else {\n this.limit.load(data.limit);\n }\n }\n}\nexports.AbsorberSize = AbsorberSize;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AbsorberSizeLimit = void 0;\nclass AbsorberSizeLimit {\n constructor() {\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\nexports.AbsorberSizeLimit = AbsorberSizeLimit;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadAbsorbersPlugin = void 0;\nconst Absorbers_1 = require(\"./Absorbers\");\nconst Enums_1 = require(\"./Enums\");\nconst Absorber_1 = require(\"./Options/Classes/Absorber\");\nconst Utils_1 = require(\"../../Utils\");\nclass Plugin {\n constructor() {\n this.id = \"absorbers\";\n }\n getPlugin(container) {\n return new Absorbers_1.Absorbers(container);\n }\n needsPlugin(options) {\n var _a, _b, _c;\n if (options === undefined) {\n return false;\n }\n const absorbers = options.absorbers;\n let loadAbsorbers = false;\n if (absorbers instanceof Array) {\n if (absorbers.length) {\n loadAbsorbers = true;\n }\n }\n else if (absorbers !== undefined) {\n loadAbsorbers = true;\n }\n else if (((_c = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.onClick) === null || _c === void 0 ? void 0 : _c.mode) &&\n (0, Utils_1.isInArray)(Enums_1.AbsorberClickMode.absorber, options.interactivity.events.onClick.mode)) {\n loadAbsorbers = true;\n }\n return loadAbsorbers;\n }\n loadOptions(options, source) {\n var _a, _b;\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n const optionsCast = options;\n if (source === null || source === void 0 ? void 0 : source.absorbers) {\n if ((source === null || source === void 0 ? void 0 : source.absorbers) instanceof Array) {\n optionsCast.absorbers = source === null || source === void 0 ? void 0 : source.absorbers.map((s) => {\n const tmp = new Absorber_1.Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let absorberOptions = optionsCast.absorbers;\n if ((absorberOptions === null || absorberOptions === void 0 ? void 0 : absorberOptions.load) === undefined) {\n optionsCast.absorbers = absorberOptions = new Absorber_1.Absorber();\n }\n absorberOptions.load(source === null || source === void 0 ? void 0 : source.absorbers);\n }\n }\n const interactivityAbsorbers = (_b = (_a = source === null || source === void 0 ? void 0 : source.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.absorbers;\n if (interactivityAbsorbers) {\n if (interactivityAbsorbers instanceof Array) {\n optionsCast.interactivity.modes.absorbers = interactivityAbsorbers.map((s) => {\n const tmp = new Absorber_1.Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let absorberOptions = optionsCast.interactivity.modes.absorbers;\n if ((absorberOptions === null || absorberOptions === void 0 ? void 0 : absorberOptions.load) === undefined) {\n optionsCast.interactivity.modes.absorbers = absorberOptions = new Absorber_1.Absorber();\n }\n absorberOptions.load(interactivityAbsorbers);\n }\n }\n }\n}\nasync function loadAbsorbersPlugin(tsParticles) {\n const plugin = new Plugin();\n await tsParticles.addPlugin(plugin);\n}\nexports.loadAbsorbersPlugin = loadAbsorbersPlugin;\n","\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _EmitterInstance_firstSpawn, _EmitterInstance_startParticlesAdded;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EmitterInstance = void 0;\nconst Utils_1 = require(\"../../Utils\");\nconst Enums_1 = require(\"../../Enums\");\nconst EmitterSize_1 = require(\"./Options/Classes/EmitterSize\");\nconst ShapeManager_1 = require(\"./ShapeManager\");\nclass EmitterInstance {\n constructor(emitters, container, emitterOptions, position) {\n var _a, _b, _c, _d, _e, _f;\n var _g;\n this.emitters = emitters;\n this.container = container;\n _EmitterInstance_firstSpawn.set(this, void 0);\n _EmitterInstance_startParticlesAdded.set(this, void 0);\n this.currentDuration = 0;\n this.currentEmitDelay = 0;\n this.currentSpawnDelay = 0;\n this.initialPosition = position;\n this.emitterOptions = (0, Utils_1.deepExtend)({}, emitterOptions);\n this.spawnDelay = (((_a = this.emitterOptions.life.delay) !== null && _a !== void 0 ? _a : 0) * 1000) / this.container.retina.reduceFactor;\n this.position = (_b = this.initialPosition) !== null && _b !== void 0 ? _b : this.calcPosition();\n this.name = emitterOptions.name;\n this.shape = ShapeManager_1.ShapeManager.getShape(emitterOptions.shape);\n this.fill = emitterOptions.fill;\n __classPrivateFieldSet(this, _EmitterInstance_firstSpawn, !this.emitterOptions.life.wait, \"f\");\n __classPrivateFieldSet(this, _EmitterInstance_startParticlesAdded, false, \"f\");\n let particlesOptions = (0, Utils_1.deepExtend)({}, this.emitterOptions.particles);\n particlesOptions !== null && particlesOptions !== void 0 ? particlesOptions : (particlesOptions = {});\n (_c = particlesOptions.move) !== null && _c !== void 0 ? _c : (particlesOptions.move = {});\n (_d = (_g = particlesOptions.move).direction) !== null && _d !== void 0 ? _d : (_g.direction = this.emitterOptions.direction);\n if (this.emitterOptions.spawnColor !== undefined) {\n this.spawnColor = (0, Utils_1.colorToHsl)(this.emitterOptions.spawnColor);\n }\n this.paused = !this.emitterOptions.autoPlay;\n this.particlesOptions = particlesOptions;\n this.size =\n (_e = this.emitterOptions.size) !== null && _e !== void 0 ? _e : (() => {\n const size = new EmitterSize_1.EmitterSize();\n size.load({\n height: 0,\n mode: Enums_1.SizeMode.percent,\n width: 0,\n });\n return size;\n })();\n this.lifeCount = (_f = this.emitterOptions.life.count) !== null && _f !== void 0 ? _f : -1;\n this.immortal = this.lifeCount <= 0;\n this.play();\n }\n externalPlay() {\n this.paused = false;\n this.play();\n }\n externalPause() {\n this.paused = true;\n this.pause();\n }\n play() {\n var _a;\n if (this.paused) {\n return;\n }\n if (this.container.retina.reduceFactor &&\n (this.lifeCount > 0 || this.immortal || !this.emitterOptions.life.count) &&\n (__classPrivateFieldGet(this, _EmitterInstance_firstSpawn, \"f\") || this.currentSpawnDelay >= ((_a = this.spawnDelay) !== null && _a !== void 0 ? _a : 0))) {\n if (this.emitDelay === undefined) {\n const delay = (0, Utils_1.getRangeValue)(this.emitterOptions.rate.delay);\n this.emitDelay = (1000 * delay) / this.container.retina.reduceFactor;\n }\n if (this.lifeCount > 0 || this.immortal) {\n this.prepareToDie();\n }\n }\n }\n pause() {\n if (this.paused) {\n return;\n }\n delete this.emitDelay;\n }\n resize() {\n const initialPosition = this.initialPosition;\n this.position =\n initialPosition && (0, Utils_1.isPointInside)(initialPosition, this.container.canvas.size)\n ? initialPosition\n : this.calcPosition();\n }\n update(delta) {\n var _a, _b, _c;\n if (this.paused) {\n return;\n }\n if (__classPrivateFieldGet(this, _EmitterInstance_firstSpawn, \"f\")) {\n __classPrivateFieldSet(this, _EmitterInstance_firstSpawn, false, \"f\");\n this.currentSpawnDelay = (_a = this.spawnDelay) !== null && _a !== void 0 ? _a : 0;\n this.currentEmitDelay = (_b = this.emitDelay) !== null && _b !== void 0 ? _b : 0;\n }\n if (!__classPrivateFieldGet(this, _EmitterInstance_startParticlesAdded, \"f\")) {\n __classPrivateFieldSet(this, _EmitterInstance_startParticlesAdded, true, \"f\");\n this.emitParticles(this.emitterOptions.startCount);\n }\n if (this.duration !== undefined) {\n this.currentDuration += delta.value;\n if (this.currentDuration >= this.duration) {\n this.pause();\n if (this.spawnDelay !== undefined) {\n delete this.spawnDelay;\n }\n if (!this.immortal) {\n this.lifeCount--;\n }\n if (this.lifeCount > 0 || this.immortal) {\n this.position = this.calcPosition();\n this.spawnDelay =\n (((_c = this.emitterOptions.life.delay) !== null && _c !== void 0 ? _c : 0) * 1000) / this.container.retina.reduceFactor;\n }\n else {\n this.destroy();\n }\n this.currentDuration -= this.duration;\n delete this.duration;\n }\n }\n if (this.spawnDelay !== undefined) {\n this.currentSpawnDelay += delta.value;\n if (this.currentSpawnDelay >= this.spawnDelay) {\n this.play();\n this.currentSpawnDelay -= this.currentSpawnDelay;\n delete this.spawnDelay;\n }\n }\n if (this.emitDelay !== undefined) {\n this.currentEmitDelay += delta.value;\n if (this.currentEmitDelay >= this.emitDelay) {\n this.emit();\n this.currentEmitDelay -= this.emitDelay;\n }\n }\n }\n prepareToDie() {\n var _a;\n if (this.paused) {\n return;\n }\n const duration = (_a = this.emitterOptions.life) === null || _a === void 0 ? void 0 : _a.duration;\n if (this.container.retina.reduceFactor &&\n (this.lifeCount > 0 || this.immortal) &&\n duration !== undefined &&\n duration > 0) {\n this.duration = duration * 1000;\n }\n }\n destroy() {\n this.emitters.removeEmitter(this);\n }\n calcPosition() {\n var _a, _b;\n const container = this.container;\n const percentPosition = this.emitterOptions.position;\n return {\n x: (((_a = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.x) !== null && _a !== void 0 ? _a : Math.random() * 100) / 100) * container.canvas.size.width,\n y: (((_b = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.y) !== null && _b !== void 0 ? _b : Math.random() * 100) / 100) * container.canvas.size.height,\n };\n }\n emit() {\n if (this.paused) {\n return;\n }\n const quantity = (0, Utils_1.getRangeValue)(this.emitterOptions.rate.quantity);\n this.emitParticles(quantity);\n }\n emitParticles(quantity) {\n var _a, _b, _c;\n const container = this.container;\n const position = this.position;\n const offset = {\n x: this.size.mode === Enums_1.SizeMode.percent\n ? (container.canvas.size.width * this.size.width) / 100\n : this.size.width,\n y: this.size.mode === Enums_1.SizeMode.percent\n ? (container.canvas.size.height * this.size.height) / 100\n : this.size.height,\n };\n for (let i = 0; i < quantity; i++) {\n const particlesOptions = (0, Utils_1.deepExtend)({}, this.particlesOptions);\n if (this.spawnColor) {\n const colorAnimation = (_a = this.emitterOptions.spawnColor) === null || _a === void 0 ? void 0 : _a.animation;\n if (colorAnimation) {\n const hueAnimation = colorAnimation;\n if (hueAnimation.enable) {\n this.spawnColor.h = this.setColorAnimation(hueAnimation, this.spawnColor.h, 360);\n }\n else {\n const hslAnimation = colorAnimation;\n this.spawnColor.h = this.setColorAnimation(hslAnimation.h, this.spawnColor.h, 360);\n this.spawnColor.s = this.setColorAnimation(hslAnimation.s, this.spawnColor.s, 100);\n this.spawnColor.l = this.setColorAnimation(hslAnimation.l, this.spawnColor.l, 100);\n }\n }\n if (!particlesOptions.color) {\n particlesOptions.color = {\n value: this.spawnColor,\n };\n }\n else {\n particlesOptions.color.value = this.spawnColor;\n }\n }\n const pPosition = (_c = (_b = this.shape) === null || _b === void 0 ? void 0 : _b.randomPosition(position, offset, this.fill)) !== null && _c !== void 0 ? _c : position;\n container.particles.addParticle(pPosition, particlesOptions);\n }\n }\n setColorAnimation(animation, initValue, maxValue) {\n var _a;\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = (0, Utils_1.randomInRange)(animation.offset);\n const delay = (0, Utils_1.getRangeValue)(this.emitterOptions.rate.delay);\n const emitFactor = (1000 * delay) / container.retina.reduceFactor;\n const colorSpeed = (_a = animation.speed) !== null && _a !== void 0 ? _a : 0;\n return (initValue + (colorSpeed * container.fpsLimit) / emitFactor + colorOffset * 3.6) % maxValue;\n }\n}\nexports.EmitterInstance = EmitterInstance;\n_EmitterInstance_firstSpawn = new WeakMap(), _EmitterInstance_startParticlesAdded = new WeakMap();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Emitters = void 0;\nconst EmitterInstance_1 = require(\"./EmitterInstance\");\nconst Emitter_1 = require(\"./Options/Classes/Emitter\");\nconst Enums_1 = require(\"./Enums\");\nconst Utils_1 = require(\"../../Utils\");\nclass Emitters {\n constructor(container) {\n this.container = container;\n this.array = [];\n this.emitters = [];\n this.interactivityEmitters = [];\n const overridableContainer = container;\n overridableContainer.getEmitter = (idxOrName) => idxOrName === undefined || typeof idxOrName === \"number\"\n ? this.array[idxOrName || 0]\n : this.array.find((t) => t.name === idxOrName);\n overridableContainer.addEmitter = (options, position) => this.addEmitter(options, position);\n overridableContainer.playEmitter = (idxOrName) => {\n const emitter = overridableContainer.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPlay();\n }\n };\n overridableContainer.pauseEmitter = (idxOrName) => {\n const emitter = overridableContainer.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPause();\n }\n };\n }\n init(options) {\n var _a, _b;\n if (!options) {\n return;\n }\n if (options.emitters) {\n if (options.emitters instanceof Array) {\n this.emitters = options.emitters.map((s) => {\n const tmp = new Emitter_1.Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.emitters instanceof Array) {\n this.emitters = new Emitter_1.Emitter();\n }\n this.emitters.load(options.emitters);\n }\n }\n const interactivityEmitters = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.emitters;\n if (interactivityEmitters) {\n if (interactivityEmitters instanceof Array) {\n this.interactivityEmitters = interactivityEmitters.map((s) => {\n const tmp = new Emitter_1.Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.interactivityEmitters instanceof Array) {\n this.interactivityEmitters = new Emitter_1.Emitter();\n }\n this.interactivityEmitters.load(interactivityEmitters);\n }\n }\n if (this.emitters instanceof Array) {\n for (const emitterOptions of this.emitters) {\n this.addEmitter(emitterOptions);\n }\n }\n else {\n this.addEmitter(this.emitters);\n }\n }\n play() {\n for (const emitter of this.array) {\n emitter.play();\n }\n }\n pause() {\n for (const emitter of this.array) {\n emitter.pause();\n }\n }\n stop() {\n this.array = [];\n }\n update(delta) {\n for (const emitter of this.array) {\n emitter.update(delta);\n }\n }\n handleClickMode(mode) {\n const container = this.container;\n const emitterOptions = this.emitters;\n const modeEmitters = this.interactivityEmitters;\n if (mode === Enums_1.EmitterClickMode.emitter) {\n let emitterModeOptions;\n if (modeEmitters instanceof Array) {\n if (modeEmitters.length > 0) {\n emitterModeOptions = (0, Utils_1.itemFromArray)(modeEmitters);\n }\n }\n else {\n emitterModeOptions = modeEmitters;\n }\n const emittersOptions = emitterModeOptions !== null && emitterModeOptions !== void 0 ? emitterModeOptions : (emitterOptions instanceof Array ? (0, Utils_1.itemFromArray)(emitterOptions) : emitterOptions);\n const ePosition = container.interactivity.mouse.clickPosition;\n this.addEmitter((0, Utils_1.deepExtend)({}, emittersOptions), ePosition);\n }\n }\n resize() {\n for (const emitter of this.array) {\n emitter.resize();\n }\n }\n addEmitter(options, position) {\n const emitter = new EmitterInstance_1.EmitterInstance(this, this.container, options, position);\n this.array.push(emitter);\n return emitter;\n }\n removeEmitter(emitter) {\n const index = this.array.indexOf(emitter);\n if (index >= 0) {\n this.array.splice(index, 1);\n }\n }\n}\nexports.Emitters = Emitters;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EmitterClickMode = void 0;\nvar EmitterClickMode;\n(function (EmitterClickMode) {\n EmitterClickMode[\"emitter\"] = \"emitter\";\n})(EmitterClickMode = exports.EmitterClickMode || (exports.EmitterClickMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EmitterShapeType = void 0;\nvar EmitterShapeType;\n(function (EmitterShapeType) {\n EmitterShapeType[\"circle\"] = \"circle\";\n EmitterShapeType[\"square\"] = \"square\";\n})(EmitterShapeType = exports.EmitterShapeType || (exports.EmitterShapeType = {}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./EmitterClickMode\"), exports);\n__exportStar(require(\"./EmitterShapeType\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Emitter = void 0;\nconst EmitterRate_1 = require(\"./EmitterRate\");\nconst EmitterLife_1 = require(\"./EmitterLife\");\nconst Utils_1 = require(\"../../../../Utils\");\nconst EmitterSize_1 = require(\"./EmitterSize\");\nconst AnimatableColor_1 = require(\"../../../../Options/Classes/AnimatableColor\");\nconst Enums_1 = require(\"../../Enums\");\nclass Emitter {\n constructor() {\n this.autoPlay = true;\n this.fill = true;\n this.life = new EmitterLife_1.EmitterLife();\n this.rate = new EmitterRate_1.EmitterRate();\n this.shape = Enums_1.EmitterShapeType.square;\n this.startCount = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n if (this.size === undefined) {\n this.size = new EmitterSize_1.EmitterSize();\n }\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n if (data.particles !== undefined) {\n this.particles = (0, Utils_1.deepExtend)({}, data.particles);\n }\n this.rate.load(data.rate);\n if (data.shape !== undefined) {\n this.shape = data.shape;\n }\n if (data.position !== undefined) {\n this.position = {\n x: data.position.x,\n y: data.position.y,\n };\n }\n if (data.spawnColor !== undefined) {\n if (this.spawnColor === undefined) {\n this.spawnColor = new AnimatableColor_1.AnimatableColor();\n }\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\nexports.Emitter = Emitter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EmitterLife = void 0;\nclass EmitterLife {\n constructor() {\n this.wait = false;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\nexports.EmitterLife = EmitterLife;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EmitterRate = void 0;\nconst Utils_1 = require(\"../../../../Utils\");\nclass EmitterRate {\n constructor() {\n this.quantity = 1;\n this.delay = 0.1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.quantity !== undefined) {\n this.quantity = (0, Utils_1.setRangeValue)(data.quantity);\n }\n if (data.delay !== undefined) {\n this.delay = (0, Utils_1.setRangeValue)(data.delay);\n }\n }\n}\nexports.EmitterRate = EmitterRate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EmitterSize = void 0;\nconst Enums_1 = require(\"../../../../Enums\");\nclass EmitterSize {\n constructor() {\n this.mode = Enums_1.SizeMode.percent;\n this.height = 0;\n this.width = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\nexports.EmitterSize = EmitterSize;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShapeManager = void 0;\nconst shapes = new Map();\nclass ShapeManager {\n static addShape(name, drawer) {\n if (!ShapeManager.getShape(name)) {\n shapes.set(name, drawer);\n }\n }\n static getShape(name) {\n return shapes.get(name);\n }\n static getSupportedShapes() {\n return shapes.keys();\n }\n}\nexports.ShapeManager = ShapeManager;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CircleShape = void 0;\nclass CircleShape {\n randomPosition(position, offset, fill) {\n const generateTheta = (x, y) => {\n const u = Math.random() / 4.0;\n const theta = Math.atan((y / x) * Math.tan(2 * Math.PI * u));\n const v = Math.random();\n if (v < 0.25) {\n return theta;\n }\n else if (v < 0.5) {\n return Math.PI - theta;\n }\n else if (v < 0.75) {\n return Math.PI + theta;\n }\n else {\n return -theta;\n }\n };\n const radius = (x, y, theta) => (x * y) / Math.sqrt((y * Math.cos(theta)) ** 2 + (x * Math.sin(theta)) ** 2);\n const [a, b] = [offset.x / 2, offset.y / 2];\n const randomTheta = generateTheta(a, b), maxRadius = radius(a, b, randomTheta), randomRadius = fill ? maxRadius * Math.sqrt(Math.random()) : maxRadius;\n return {\n x: position.x + randomRadius * Math.cos(randomTheta),\n y: position.y + randomRadius * Math.sin(randomTheta),\n };\n }\n}\nexports.CircleShape = CircleShape;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SquareShape = void 0;\nfunction randomSquareCoordinate(position, offset) {\n return position + offset * (Math.random() - 0.5);\n}\nclass SquareShape {\n randomPosition(position, offset, fill) {\n if (fill) {\n return {\n x: randomSquareCoordinate(position.x, offset.x),\n y: randomSquareCoordinate(position.y, offset.y),\n };\n }\n else {\n const halfW = offset.x / 2, halfH = offset.y / 2, side = Math.floor(Math.random() * 4), v = (Math.random() - 0.5) * 2;\n switch (side) {\n case 0:\n return {\n x: position.x + v * halfW,\n y: position.y - halfH,\n };\n case 1:\n return {\n x: position.x - halfW,\n y: position.y + v * halfH,\n };\n case 2:\n return {\n x: position.x + v * halfW,\n y: position.y + halfH,\n };\n case 3:\n default:\n return {\n x: position.x + halfW,\n y: position.y + v * halfH,\n };\n }\n }\n }\n}\nexports.SquareShape = SquareShape;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadEmittersPlugin = void 0;\nconst Utils_1 = require(\"../../Utils\");\nconst Emitters_1 = require(\"./Emitters\");\nconst Enums_1 = require(\"./Enums\");\nconst Emitter_1 = require(\"./Options/Classes/Emitter\");\nconst ShapeManager_1 = require(\"./ShapeManager\");\nconst CircleShape_1 = require(\"./Shapes/Circle/CircleShape\");\nconst SquareShape_1 = require(\"./Shapes/Square/SquareShape\");\nclass EmittersPlugin {\n constructor() {\n this.id = \"emitters\";\n }\n getPlugin(container) {\n return new Emitters_1.Emitters(container);\n }\n needsPlugin(options) {\n var _a, _b, _c;\n if (options === undefined) {\n return false;\n }\n const emitters = options.emitters;\n return ((emitters instanceof Array && !!emitters.length) ||\n emitters !== undefined ||\n (!!((_c = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.onClick) === null || _c === void 0 ? void 0 : _c.mode) &&\n (0, Utils_1.isInArray)(Enums_1.EmitterClickMode.emitter, options.interactivity.events.onClick.mode)));\n }\n loadOptions(options, source) {\n var _a, _b;\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n const optionsCast = options;\n if (source === null || source === void 0 ? void 0 : source.emitters) {\n if ((source === null || source === void 0 ? void 0 : source.emitters) instanceof Array) {\n optionsCast.emitters = source === null || source === void 0 ? void 0 : source.emitters.map((s) => {\n const tmp = new Emitter_1.Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let emitterOptions = optionsCast.emitters;\n if ((emitterOptions === null || emitterOptions === void 0 ? void 0 : emitterOptions.load) === undefined) {\n optionsCast.emitters = emitterOptions = new Emitter_1.Emitter();\n }\n emitterOptions.load(source === null || source === void 0 ? void 0 : source.emitters);\n }\n }\n const interactivityEmitters = (_b = (_a = source === null || source === void 0 ? void 0 : source.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.emitters;\n if (interactivityEmitters) {\n if (interactivityEmitters instanceof Array) {\n optionsCast.interactivity.modes.emitters = interactivityEmitters.map((s) => {\n const tmp = new Emitter_1.Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let emitterOptions = optionsCast.interactivity.modes.emitters;\n if ((emitterOptions === null || emitterOptions === void 0 ? void 0 : emitterOptions.load) === undefined) {\n optionsCast.interactivity.modes.emitters = emitterOptions = new Emitter_1.Emitter();\n }\n emitterOptions.load(interactivityEmitters);\n }\n }\n }\n}\nasync function loadEmittersPlugin(tsParticles) {\n const plugin = new EmittersPlugin();\n await tsParticles.addPlugin(plugin);\n if (!tsParticles.addEmitterShape) {\n tsParticles.addEmitterShape = (name, shape) => {\n ShapeManager_1.ShapeManager.addShape(name, shape);\n };\n }\n tsParticles.addEmitterShape(Enums_1.EmitterShapeType.circle, new CircleShape_1.CircleShape());\n tsParticles.addEmitterShape(Enums_1.EmitterShapeType.square, new SquareShape_1.SquareShape());\n}\nexports.loadEmittersPlugin = loadEmittersPlugin;\n__exportStar(require(\"./EmittersMain\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InlineArrangement = void 0;\nvar InlineArrangement;\n(function (InlineArrangement) {\n InlineArrangement[\"equidistant\"] = \"equidistant\";\n InlineArrangement[\"onePerPoint\"] = \"one-per-point\";\n InlineArrangement[\"perPoint\"] = \"per-point\";\n InlineArrangement[\"randomLength\"] = \"random-length\";\n InlineArrangement[\"randomPoint\"] = \"random-point\";\n})(InlineArrangement = exports.InlineArrangement || (exports.InlineArrangement = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MoveType = void 0;\nvar MoveType;\n(function (MoveType) {\n MoveType[\"path\"] = \"path\";\n MoveType[\"radius\"] = \"radius\";\n})(MoveType = exports.MoveType || (exports.MoveType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Type = void 0;\nvar Type;\n(function (Type) {\n Type[\"inline\"] = \"inline\";\n Type[\"inside\"] = \"inside\";\n Type[\"outside\"] = \"outside\";\n Type[\"none\"] = \"none\";\n})(Type = exports.Type || (exports.Type = {}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./InlineArrangement\"), exports);\n__exportStar(require(\"./MoveType\"), exports);\n__exportStar(require(\"./Type\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Draw = void 0;\nconst DrawStroke_1 = require(\"./DrawStroke\");\nconst OptionsColor_1 = require(\"../../../../Options/Classes/OptionsColor\");\nclass Draw {\n constructor() {\n this.enable = false;\n this.stroke = new DrawStroke_1.DrawStroke();\n }\n get lineWidth() {\n return this.stroke.width;\n }\n set lineWidth(value) {\n this.stroke.width = value;\n }\n get lineColor() {\n return this.stroke.color;\n }\n set lineColor(value) {\n this.stroke.color = OptionsColor_1.OptionsColor.create(this.stroke.color, value);\n }\n load(data) {\n var _a;\n if (data !== undefined) {\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const stroke = (_a = data.stroke) !== null && _a !== void 0 ? _a : {\n color: data.lineColor,\n width: data.lineWidth,\n };\n this.stroke.load(stroke);\n }\n }\n}\nexports.Draw = Draw;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DrawStroke = void 0;\nconst OptionsColor_1 = require(\"../../../../Options/Classes/OptionsColor\");\nconst Utils_1 = require(\"../../../../Utils\");\nclass DrawStroke {\n constructor() {\n this.color = new OptionsColor_1.OptionsColor();\n this.width = 0.5;\n this.opacity = 1;\n }\n load(data) {\n var _a;\n if (data !== undefined) {\n this.color = OptionsColor_1.OptionsColor.create(this.color, data.color);\n if (typeof this.color.value === \"string\") {\n this.opacity = (_a = (0, Utils_1.stringToAlpha)(this.color.value)) !== null && _a !== void 0 ? _a : this.opacity;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n }\n}\nexports.DrawStroke = DrawStroke;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Inline = void 0;\nconst Enums_1 = require(\"../../Enums\");\nclass Inline {\n constructor() {\n this.arrangement = Enums_1.InlineArrangement.onePerPoint;\n }\n load(data) {\n if (data !== undefined) {\n if (data.arrangement !== undefined) {\n this.arrangement = data.arrangement;\n }\n }\n }\n}\nexports.Inline = Inline;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LocalSvg = void 0;\nclass LocalSvg {\n constructor() {\n this.path = [];\n this.size = {\n height: 0,\n width: 0,\n };\n }\n load(data) {\n if (data !== undefined) {\n if (data.path !== undefined) {\n this.path = data.path;\n }\n if (data.size !== undefined) {\n if (data.size.width !== undefined) {\n this.size.width = data.size.width;\n }\n if (data.size.height !== undefined) {\n this.size.height = data.size.height;\n }\n }\n }\n }\n}\nexports.LocalSvg = LocalSvg;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Move = void 0;\nconst Enums_1 = require(\"../../Enums\");\nclass Move {\n constructor() {\n this.radius = 10;\n this.type = Enums_1.MoveType.path;\n }\n load(data) {\n if (data !== undefined) {\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n }\n}\nexports.Move = Move;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PolygonMask = void 0;\nconst Enums_1 = require(\"../../Enums\");\nconst Draw_1 = require(\"./Draw\");\nconst Move_1 = require(\"./Move\");\nconst Inline_1 = require(\"./Inline\");\nconst LocalSvg_1 = require(\"./LocalSvg\");\nconst Utils_1 = require(\"../../../../Utils\");\nclass PolygonMask {\n constructor() {\n this.draw = new Draw_1.Draw();\n this.enable = false;\n this.inline = new Inline_1.Inline();\n this.move = new Move_1.Move();\n this.scale = 1;\n this.type = Enums_1.Type.none;\n }\n get inlineArrangement() {\n return this.inline.arrangement;\n }\n set inlineArrangement(value) {\n this.inline.arrangement = value;\n }\n load(data) {\n var _a;\n if (data !== undefined) {\n this.draw.load(data.draw);\n const inline = (_a = data.inline) !== null && _a !== void 0 ? _a : {\n arrangement: data.inlineArrangement,\n };\n if (inline !== undefined) {\n this.inline.load(inline);\n }\n this.move.load(data.move);\n if (data.scale !== undefined) {\n this.scale = data.scale;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n else {\n this.enable = this.type !== Enums_1.Type.none;\n }\n if (data.url !== undefined) {\n this.url = data.url;\n }\n if (data.data !== undefined) {\n if (typeof data.data === \"string\") {\n this.data = data.data;\n }\n else {\n this.data = new LocalSvg_1.LocalSvg();\n this.data.load(data.data);\n }\n }\n if (data.position !== undefined) {\n this.position = (0, Utils_1.deepExtend)({}, data.position);\n }\n }\n }\n}\nexports.PolygonMask = PolygonMask;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PolygonMaskInstance = void 0;\nconst Enums_1 = require(\"./Enums\");\nconst Utils_1 = require(\"../../Utils\");\nconst PolygonMask_1 = require(\"./Options/Classes/PolygonMask\");\nconst Enums_2 = require(\"../../Enums\");\nconst utils_1 = require(\"./utils\");\nclass PolygonMaskInstance {\n constructor(container) {\n this.container = container;\n this.dimension = {\n height: 0,\n width: 0,\n };\n this.path2DSupported = !!window.Path2D;\n this.options = new PolygonMask_1.PolygonMask();\n this.polygonMaskMoveRadius = this.options.move.radius * container.retina.pixelRatio;\n }\n async initAsync(options) {\n this.options.load(options === null || options === void 0 ? void 0 : options.polygon);\n const polygonMaskOptions = this.options;\n this.polygonMaskMoveRadius = polygonMaskOptions.move.radius * this.container.retina.pixelRatio;\n if (polygonMaskOptions.enable) {\n await this.initRawData();\n }\n }\n resize() {\n const container = this.container;\n const options = this.options;\n if (!(options.enable && options.type !== Enums_1.Type.none)) {\n return;\n }\n if (this.redrawTimeout) {\n clearTimeout(this.redrawTimeout);\n }\n this.redrawTimeout = window.setTimeout(async () => {\n await this.initRawData(true);\n container.particles.redraw();\n }, 250);\n }\n stop() {\n delete this.raw;\n delete this.paths;\n }\n particlesInitialization() {\n const options = this.options;\n if (options.enable &&\n options.type === Enums_1.Type.inline &&\n (options.inline.arrangement === Enums_1.InlineArrangement.onePerPoint ||\n options.inline.arrangement === Enums_1.InlineArrangement.perPoint)) {\n this.drawPoints();\n return true;\n }\n return false;\n }\n particlePosition(position) {\n var _a, _b;\n const options = this.options;\n if (!(options.enable && ((_b = (_a = this.raw) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0)) {\n return;\n }\n return (0, Utils_1.deepExtend)({}, position ? position : this.randomPoint());\n }\n particleBounce(particle, delta, direction) {\n return this.polygonBounce(particle, delta, direction);\n }\n clickPositionValid(position) {\n const options = this.options;\n return (options.enable &&\n options.type !== Enums_1.Type.none &&\n options.type !== Enums_1.Type.inline &&\n this.checkInsidePolygon(position));\n }\n draw(context) {\n var _a;\n if (!((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n return;\n }\n const options = this.options;\n const polygonDraw = options.draw;\n if (!(options.enable && polygonDraw.enable)) {\n return;\n }\n const rawData = this.raw;\n for (const path of this.paths) {\n const path2d = path.path2d;\n const path2dSupported = this.path2DSupported;\n if (!context) {\n continue;\n }\n if (path2dSupported && path2d && this.offset) {\n (0, utils_1.drawPolygonMaskPath)(context, path2d, polygonDraw.stroke, this.offset);\n }\n else if (rawData) {\n (0, utils_1.drawPolygonMask)(context, rawData, polygonDraw.stroke);\n }\n }\n }\n polygonBounce(particle, _delta, direction) {\n const options = this.options;\n if (!this.raw || !options.enable || direction !== Enums_2.OutModeDirection.top) {\n return false;\n }\n if (options.type === Enums_1.Type.inside || options.type === Enums_1.Type.outside) {\n let closest, dx, dy;\n const pos = particle.getPosition(), radius = particle.getRadius();\n for (let i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {\n const pi = this.raw[i], pj = this.raw[j];\n closest = (0, utils_1.calcClosestPtOnSegment)(pi, pj, pos);\n const dist = (0, Utils_1.getDistances)(pos, closest);\n [dx, dy] = [dist.dx, dist.dy];\n if (dist.distance < radius) {\n (0, utils_1.segmentBounce)(pi, pj, particle.velocity);\n return true;\n }\n }\n if (closest && dx !== undefined && dy !== undefined && !this.checkInsidePolygon(pos)) {\n const factor = { x: 1, y: 1 };\n if (particle.position.x >= closest.x) {\n factor.x = -1;\n }\n if (particle.position.y >= closest.y) {\n factor.y = -1;\n }\n particle.position.x = closest.x + radius * 2 * factor.x;\n particle.position.y = closest.y + radius * 2 * factor.y;\n particle.velocity.mult(-1);\n return true;\n }\n }\n else if (options.type === Enums_1.Type.inline && particle.initialPosition) {\n const dist = (0, Utils_1.getDistance)(particle.initialPosition, particle.getPosition());\n if (dist > this.polygonMaskMoveRadius) {\n particle.velocity.x = particle.velocity.y / 2 - particle.velocity.x;\n particle.velocity.y = particle.velocity.x / 2 - particle.velocity.y;\n return true;\n }\n }\n return false;\n }\n checkInsidePolygon(position) {\n var _a, _b;\n const container = this.container;\n const options = this.options;\n if (!options.enable || options.type === Enums_1.Type.none || options.type === Enums_1.Type.inline) {\n return true;\n }\n if (!this.raw) {\n throw new Error(Utils_1.Constants.noPolygonFound);\n }\n const canvasSize = container.canvas.size;\n const x = (_a = position === null || position === void 0 ? void 0 : position.x) !== null && _a !== void 0 ? _a : Math.random() * canvasSize.width;\n const y = (_b = position === null || position === void 0 ? void 0 : position.y) !== null && _b !== void 0 ? _b : Math.random() * canvasSize.height;\n let inside = false;\n for (let i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {\n const pi = this.raw[i];\n const pj = this.raw[j];\n const intersect = pi.y > y !== pj.y > y && x < ((pj.x - pi.x) * (y - pi.y)) / (pj.y - pi.y) + pi.x;\n if (intersect) {\n inside = !inside;\n }\n }\n return options.type === Enums_1.Type.inside ? inside : options.type === Enums_1.Type.outside ? !inside : false;\n }\n parseSvgPath(xml, force) {\n var _a, _b, _c;\n const forceDownload = force !== null && force !== void 0 ? force : false;\n if (this.paths !== undefined && !forceDownload) {\n return this.raw;\n }\n const container = this.container;\n const options = this.options;\n const parser = new DOMParser();\n const doc = parser.parseFromString(xml, \"image/svg+xml\");\n const svg = doc.getElementsByTagName(\"svg\")[0];\n let svgPaths = svg.getElementsByTagName(\"path\");\n if (!svgPaths.length) {\n svgPaths = doc.getElementsByTagName(\"path\");\n }\n this.paths = [];\n for (let i = 0; i < svgPaths.length; i++) {\n const path = svgPaths.item(i);\n if (path) {\n this.paths.push({\n element: path,\n length: path.getTotalLength(),\n });\n }\n }\n const pxRatio = container.retina.pixelRatio;\n const scale = options.scale / pxRatio;\n this.dimension.width = parseFloat((_a = svg.getAttribute(\"width\")) !== null && _a !== void 0 ? _a : \"0\") * scale;\n this.dimension.height = parseFloat((_b = svg.getAttribute(\"height\")) !== null && _b !== void 0 ? _b : \"0\") * scale;\n const position = (_c = options.position) !== null && _c !== void 0 ? _c : {\n x: 50,\n y: 50,\n };\n this.offset = {\n x: (container.canvas.size.width * position.x) / (100 * pxRatio) - this.dimension.width / 2,\n y: (container.canvas.size.height * position.y) / (100 * pxRatio) - this.dimension.height / 2,\n };\n return (0, utils_1.parsePaths)(this.paths, scale, this.offset);\n }\n async downloadSvgPath(svgUrl, force) {\n const options = this.options;\n const url = svgUrl || options.url;\n const forceDownload = force !== null && force !== void 0 ? force : false;\n if (!url || (this.paths !== undefined && !forceDownload)) {\n return this.raw;\n }\n const req = await fetch(url);\n if (!req.ok) {\n throw new Error(\"tsParticles Error - Error occurred during polygon mask download\");\n }\n return this.parseSvgPath(await req.text(), force);\n }\n drawPoints() {\n if (!this.raw) {\n return;\n }\n for (const item of this.raw) {\n this.container.particles.addParticle({\n x: item.x,\n y: item.y,\n });\n }\n }\n randomPoint() {\n const container = this.container;\n const options = this.options;\n let position;\n if (options.type === Enums_1.Type.inline) {\n switch (options.inline.arrangement) {\n case Enums_1.InlineArrangement.randomPoint:\n position = this.getRandomPoint();\n break;\n case Enums_1.InlineArrangement.randomLength:\n position = this.getRandomPointByLength();\n break;\n case Enums_1.InlineArrangement.equidistant:\n position = this.getEquidistantPointByIndex(container.particles.count);\n break;\n case Enums_1.InlineArrangement.onePerPoint:\n case Enums_1.InlineArrangement.perPoint:\n default:\n position = this.getPointByIndex(container.particles.count);\n }\n }\n else {\n position = {\n x: Math.random() * container.canvas.size.width,\n y: Math.random() * container.canvas.size.height,\n };\n }\n if (this.checkInsidePolygon(position)) {\n return position;\n }\n else {\n return this.randomPoint();\n }\n }\n getRandomPoint() {\n if (!this.raw || !this.raw.length) {\n throw new Error(Utils_1.Constants.noPolygonDataLoaded);\n }\n const coords = (0, Utils_1.itemFromArray)(this.raw);\n return {\n x: coords.x,\n y: coords.y,\n };\n }\n getRandomPointByLength() {\n var _a, _b, _c;\n const options = this.options;\n if (!this.raw || !this.raw.length || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n throw new Error(Utils_1.Constants.noPolygonDataLoaded);\n }\n const path = (0, Utils_1.itemFromArray)(this.paths);\n const distance = Math.floor(Math.random() * path.length) + 1;\n const point = path.element.getPointAtLength(distance);\n return {\n x: point.x * options.scale + (((_b = this.offset) === null || _b === void 0 ? void 0 : _b.x) || 0),\n y: point.y * options.scale + (((_c = this.offset) === null || _c === void 0 ? void 0 : _c.y) || 0),\n };\n }\n getEquidistantPointByIndex(index) {\n var _a, _b, _c, _d, _e, _f, _g;\n const options = this.container.actualOptions;\n const polygonMaskOptions = this.options;\n if (!this.raw || !this.raw.length || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length))\n throw new Error(Utils_1.Constants.noPolygonDataLoaded);\n let offset = 0;\n let point;\n const totalLength = this.paths.reduce((tot, path) => tot + path.length, 0);\n const distance = totalLength / options.particles.number.value;\n for (const path of this.paths) {\n const pathDistance = distance * index - offset;\n if (pathDistance <= path.length) {\n point = path.element.getPointAtLength(pathDistance);\n break;\n }\n else {\n offset += path.length;\n }\n }\n return {\n x: ((_b = point === null || point === void 0 ? void 0 : point.x) !== null && _b !== void 0 ? _b : 0) * polygonMaskOptions.scale + ((_d = (_c = this.offset) === null || _c === void 0 ? void 0 : _c.x) !== null && _d !== void 0 ? _d : 0),\n y: ((_e = point === null || point === void 0 ? void 0 : point.y) !== null && _e !== void 0 ? _e : 0) * polygonMaskOptions.scale + ((_g = (_f = this.offset) === null || _f === void 0 ? void 0 : _f.y) !== null && _g !== void 0 ? _g : 0),\n };\n }\n getPointByIndex(index) {\n if (!this.raw || !this.raw.length) {\n throw new Error(Utils_1.Constants.noPolygonDataLoaded);\n }\n const coords = this.raw[index % this.raw.length];\n return {\n x: coords.x,\n y: coords.y,\n };\n }\n createPath2D() {\n var _a, _b;\n const options = this.options;\n if (!this.path2DSupported || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n return;\n }\n for (const path of this.paths) {\n const pathData = (_b = path.element) === null || _b === void 0 ? void 0 : _b.getAttribute(\"d\");\n if (pathData) {\n const path2d = new Path2D(pathData);\n const matrix = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGMatrix();\n const finalPath = new Path2D();\n const transform = matrix.scale(options.scale);\n if (finalPath.addPath) {\n finalPath.addPath(path2d, transform);\n path.path2d = finalPath;\n }\n else {\n delete path.path2d;\n }\n }\n else {\n delete path.path2d;\n }\n if (path.path2d || !this.raw) {\n continue;\n }\n path.path2d = new Path2D();\n path.path2d.moveTo(this.raw[0].x, this.raw[0].y);\n this.raw.forEach((pos, i) => {\n var _a;\n if (i > 0) {\n (_a = path.path2d) === null || _a === void 0 ? void 0 : _a.lineTo(pos.x, pos.y);\n }\n });\n path.path2d.closePath();\n }\n }\n async initRawData(force) {\n const options = this.options;\n if (options.url) {\n this.raw = await this.downloadSvgPath(options.url, force);\n }\n else if (options.data) {\n const data = options.data;\n let svg;\n if (typeof data !== \"string\") {\n const path = data.path instanceof Array\n ? data.path.map((t) => ``).join(\"\")\n : ``;\n const namespaces = 'xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"';\n svg = `${path}`;\n }\n else {\n svg = data;\n }\n this.raw = this.parseSvgPath(svg, force);\n }\n this.createPath2D();\n }\n}\nexports.PolygonMaskInstance = PolygonMaskInstance;\n","\"use strict\";\n(function () {\n \"use strict\";\n try {\n if (typeof window === \"undefined\")\n return;\n if (!(\"SVGPathSeg\" in window)) {\n window.SVGPathSeg = function (type, typeAsLetter, owningPathSegList) {\n this.pathSegType = type;\n this.pathSegTypeAsLetter = typeAsLetter;\n this._owningPathSegList = owningPathSegList;\n };\n window.SVGPathSeg.prototype.classname = \"SVGPathSeg\";\n window.SVGPathSeg.PATHSEG_UNKNOWN = 0;\n window.SVGPathSeg.PATHSEG_CLOSEPATH = 1;\n window.SVGPathSeg.PATHSEG_MOVETO_ABS = 2;\n window.SVGPathSeg.PATHSEG_MOVETO_REL = 3;\n window.SVGPathSeg.PATHSEG_LINETO_ABS = 4;\n window.SVGPathSeg.PATHSEG_LINETO_REL = 5;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;\n window.SVGPathSeg.PATHSEG_ARC_ABS = 10;\n window.SVGPathSeg.PATHSEG_ARC_REL = 11;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;\n window.SVGPathSeg.prototype._segmentChanged = function () {\n if (this._owningPathSegList)\n this._owningPathSegList.segmentChanged(this);\n };\n window.SVGPathSegClosePath = function (owningPathSegList) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CLOSEPATH, \"z\", owningPathSegList);\n };\n window.SVGPathSegClosePath.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegClosePath.prototype.toString = function () {\n return \"[object SVGPathSegClosePath]\";\n };\n window.SVGPathSegClosePath.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter;\n };\n window.SVGPathSegClosePath.prototype.clone = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n window.SVGPathSegMovetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_ABS, \"M\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegMovetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegMovetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegMovetoAbs]\";\n };\n window.SVGPathSegMovetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegMovetoAbs.prototype.clone = function () {\n return new window.SVGPathSegMovetoAbs(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegMovetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_REL, \"m\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegMovetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegMovetoRel.prototype.toString = function () {\n return \"[object SVGPathSegMovetoRel]\";\n };\n window.SVGPathSegMovetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegMovetoRel.prototype.clone = function () {\n return new window.SVGPathSegMovetoRel(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_ABS, \"L\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegLinetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoAbs]\";\n };\n window.SVGPathSegLinetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegLinetoAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoAbs(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_REL, \"l\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegLinetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoRel]\";\n };\n window.SVGPathSegLinetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegLinetoRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoRel(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoCubicAbs = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, \"C\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicAbs]\";\n };\n window.SVGPathSegCurvetoCubicAbs.prototype._asPathString = function () {\n return (this.pathSegTypeAsLetter +\n \" \" +\n this._x1 +\n \" \" +\n this._y1 +\n \" \" +\n this._x2 +\n \" \" +\n this._y2 +\n \" \" +\n this._x +\n \" \" +\n this._y);\n };\n window.SVGPathSegCurvetoCubicAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x1\", {\n get: function () {\n return this._x1;\n },\n set: function (x1) {\n this._x1 = x1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y1\", {\n get: function () {\n return this._y1;\n },\n set: function (y1) {\n this._y1 = y1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x2\", {\n get: function () {\n return this._x2;\n },\n set: function (x2) {\n this._x2 = x2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y2\", {\n get: function () {\n return this._y2;\n },\n set: function (y2) {\n this._y2 = y2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoCubicRel = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, \"c\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicRel]\";\n };\n window.SVGPathSegCurvetoCubicRel.prototype._asPathString = function () {\n return (this.pathSegTypeAsLetter +\n \" \" +\n this._x1 +\n \" \" +\n this._y1 +\n \" \" +\n this._x2 +\n \" \" +\n this._y2 +\n \" \" +\n this._x +\n \" \" +\n this._y);\n };\n window.SVGPathSegCurvetoCubicRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x1\", {\n get: function () {\n return this._x1;\n },\n set: function (x1) {\n this._x1 = x1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y1\", {\n get: function () {\n return this._y1;\n },\n set: function (y1) {\n this._y1 = y1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x2\", {\n get: function () {\n return this._x2;\n },\n set: function (x2) {\n this._x2 = x2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y2\", {\n get: function () {\n return this._y2;\n },\n set: function (y2) {\n this._y2 = y2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoQuadraticAbs = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, \"Q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n window.SVGPathSegCurvetoQuadraticAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticAbs]\";\n };\n window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x1\", {\n get: function () {\n return this._x1;\n },\n set: function (x1) {\n this._x1 = x1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y1\", {\n get: function () {\n return this._y1;\n },\n set: function (y1) {\n this._y1 = y1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoQuadraticRel = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, \"q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n window.SVGPathSegCurvetoQuadraticRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticRel]\";\n };\n window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x1\", {\n get: function () {\n return this._x1;\n },\n set: function (x1) {\n this._x1 = x1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y1\", {\n get: function () {\n return this._y1;\n },\n set: function (y1) {\n this._y1 = y1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegArcAbs = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_ABS, \"A\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n window.SVGPathSegArcAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegArcAbs.prototype.toString = function () {\n return \"[object SVGPathSegArcAbs]\";\n };\n window.SVGPathSegArcAbs.prototype._asPathString = function () {\n return (this.pathSegTypeAsLetter +\n \" \" +\n this._r1 +\n \" \" +\n this._r2 +\n \" \" +\n this._angle +\n \" \" +\n (this._largeArcFlag ? \"1\" : \"0\") +\n \" \" +\n (this._sweepFlag ? \"1\" : \"0\") +\n \" \" +\n this._x +\n \" \" +\n this._y);\n };\n window.SVGPathSegArcAbs.prototype.clone = function () {\n return new window.SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r1\", {\n get: function () {\n return this._r1;\n },\n set: function (r1) {\n this._r1 = r1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r2\", {\n get: function () {\n return this._r2;\n },\n set: function (r2) {\n this._r2 = r2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"angle\", {\n get: function () {\n return this._angle;\n },\n set: function (angle) {\n this._angle = angle;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"largeArcFlag\", {\n get: function () {\n return this._largeArcFlag;\n },\n set: function (largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"sweepFlag\", {\n get: function () {\n return this._sweepFlag;\n },\n set: function (sweepFlag) {\n this._sweepFlag = sweepFlag;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegArcRel = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_REL, \"a\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n window.SVGPathSegArcRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegArcRel.prototype.toString = function () {\n return \"[object SVGPathSegArcRel]\";\n };\n window.SVGPathSegArcRel.prototype._asPathString = function () {\n return (this.pathSegTypeAsLetter +\n \" \" +\n this._r1 +\n \" \" +\n this._r2 +\n \" \" +\n this._angle +\n \" \" +\n (this._largeArcFlag ? \"1\" : \"0\") +\n \" \" +\n (this._sweepFlag ? \"1\" : \"0\") +\n \" \" +\n this._x +\n \" \" +\n this._y);\n };\n window.SVGPathSegArcRel.prototype.clone = function () {\n return new window.SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r1\", {\n get: function () {\n return this._r1;\n },\n set: function (r1) {\n this._r1 = r1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r2\", {\n get: function () {\n return this._r2;\n },\n set: function (r2) {\n this._r2 = r2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"angle\", {\n get: function () {\n return this._angle;\n },\n set: function (angle) {\n this._angle = angle;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"largeArcFlag\", {\n get: function () {\n return this._largeArcFlag;\n },\n set: function (largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"sweepFlag\", {\n get: function () {\n return this._sweepFlag;\n },\n set: function (sweepFlag) {\n this._sweepFlag = sweepFlag;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoHorizontalAbs = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, \"H\", owningPathSegList);\n this._x = x;\n };\n window.SVGPathSegLinetoHorizontalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoHorizontalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalAbs]\";\n };\n window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n window.SVGPathSegLinetoHorizontalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, this._x);\n };\n Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoHorizontalRel = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, \"h\", owningPathSegList);\n this._x = x;\n };\n window.SVGPathSegLinetoHorizontalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoHorizontalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalRel]\";\n };\n window.SVGPathSegLinetoHorizontalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n window.SVGPathSegLinetoHorizontalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, this._x);\n };\n Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoVerticalAbs = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, \"V\", owningPathSegList);\n this._y = y;\n };\n window.SVGPathSegLinetoVerticalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoVerticalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalAbs]\";\n };\n window.SVGPathSegLinetoVerticalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n window.SVGPathSegLinetoVerticalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoVerticalRel = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, \"v\", owningPathSegList);\n this._y = y;\n };\n window.SVGPathSegLinetoVerticalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoVerticalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalRel]\";\n };\n window.SVGPathSegLinetoVerticalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n window.SVGPathSegLinetoVerticalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalRel(undefined, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoCubicSmoothAbs = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, \"S\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothAbs]\";\n };\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x2\", {\n get: function () {\n return this._x2;\n },\n set: function (x2) {\n this._x2 = x2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y2\", {\n get: function () {\n return this._y2;\n },\n set: function (y2) {\n this._y2 = y2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoCubicSmoothRel = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, \"s\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothRel]\";\n };\n window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x2\", {\n get: function () {\n return this._x2;\n },\n set: function (x2) {\n this._x2 = x2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y2\", {\n get: function () {\n return this._y2;\n },\n set: function (y2) {\n this._y2 = y2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoQuadraticSmoothAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, \"T\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothAbs]\";\n };\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoQuadraticSmoothRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, \"t\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothRel]\";\n };\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathElement.prototype.createSVGPathSegClosePath = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n window.SVGPathElement.prototype.createSVGPathSegMovetoAbs = function (x, y) {\n return new window.SVGPathSegMovetoAbs(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegMovetoRel = function (x, y) {\n return new window.SVGPathSegMovetoRel(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoAbs = function (x, y) {\n return new window.SVGPathSegLinetoAbs(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoRel = function (x, y) {\n return new window.SVGPathSegLinetoRel(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1);\n };\n window.SVGPathElement.prototype.createSVGPathSegArcAbs = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n window.SVGPathElement.prototype.createSVGPathSegArcRel = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function (x) {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, x);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function (x) {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, x);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function (y) {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function (y) {\n return new window.SVGPathSegLinetoVerticalRel(undefined, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y);\n };\n if (!(\"getPathSegAtLength\" in window.SVGPathElement.prototype)) {\n window.SVGPathElement.prototype.getPathSegAtLength = function (distance) {\n if (distance === undefined || !isFinite(distance))\n throw \"Invalid arguments.\";\n var measurementElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n measurementElement.setAttribute(\"d\", this.getAttribute(\"d\"));\n var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1;\n if (lastPathSegment <= 0)\n return 0;\n do {\n measurementElement.pathSegList.removeItem(lastPathSegment);\n if (distance > measurementElement.getTotalLength())\n break;\n lastPathSegment--;\n } while (lastPathSegment > 0);\n return lastPathSegment;\n };\n }\n }\n if (!(\"SVGPathSegList\" in window) || !(\"appendItem\" in window.SVGPathSegList.prototype)) {\n window.SVGPathSegList = function (pathElement) {\n this._pathElement = pathElement;\n this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n this._mutationObserverConfig = { attributes: true, attributeFilter: [\"d\"] };\n this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n window.SVGPathSegList.prototype.classname = \"SVGPathSegList\";\n Object.defineProperty(window.SVGPathSegList.prototype, \"numberOfItems\", {\n get: function () {\n this._checkPathSynchronizedToList();\n return this._list.length;\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegList.prototype, \"length\", {\n get: function () {\n this._checkPathSynchronizedToList();\n return this._list.length;\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"pathSegList\", {\n get: function () {\n if (!this._pathSegList)\n this._pathSegList = new window.SVGPathSegList(this);\n return this._pathSegList;\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"normalizedPathSegList\", {\n get: function () {\n return this.pathSegList;\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedPathSegList\", {\n get: function () {\n return this.pathSegList;\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedNormalizedPathSegList\", {\n get: function () {\n return this.pathSegList;\n },\n enumerable: true,\n });\n window.SVGPathSegList.prototype._checkPathSynchronizedToList = function () {\n this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());\n };\n window.SVGPathSegList.prototype._updateListFromPathMutations = function (mutationRecords) {\n if (!this._pathElement)\n return;\n var hasPathMutations = false;\n mutationRecords.forEach(function (record) {\n if (record.attributeName == \"d\")\n hasPathMutations = true;\n });\n if (hasPathMutations)\n this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n };\n window.SVGPathSegList.prototype._writeListToPath = function () {\n this._pathElementMutationObserver.disconnect();\n this._pathElement.setAttribute(\"d\", window.SVGPathSegList._pathSegArrayAsString(this._list));\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n window.SVGPathSegList.prototype.segmentChanged = function (pathSeg) {\n this._writeListToPath();\n };\n window.SVGPathSegList.prototype.clear = function () {\n this._checkPathSynchronizedToList();\n this._list.forEach(function (pathSeg) {\n pathSeg._owningPathSegList = null;\n });\n this._list = [];\n this._writeListToPath();\n };\n window.SVGPathSegList.prototype.initialize = function (newItem) {\n this._checkPathSynchronizedToList();\n this._list = [newItem];\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n window.SVGPathSegList.prototype._checkValidIndex = function (index) {\n if (isNaN(index) || index < 0 || index >= this.numberOfItems)\n throw \"INDEX_SIZE_ERR\";\n };\n window.SVGPathSegList.prototype.getItem = function (index) {\n this._checkPathSynchronizedToList();\n this._checkValidIndex(index);\n return this._list[index];\n };\n window.SVGPathSegList.prototype.insertItemBefore = function (newItem, index) {\n this._checkPathSynchronizedToList();\n if (index > this.numberOfItems)\n index = this.numberOfItems;\n if (newItem._owningPathSegList) {\n newItem = newItem.clone();\n }\n this._list.splice(index, 0, newItem);\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n window.SVGPathSegList.prototype.replaceItem = function (newItem, index) {\n this._checkPathSynchronizedToList();\n if (newItem._owningPathSegList) {\n newItem = newItem.clone();\n }\n this._checkValidIndex(index);\n this._list[index] = newItem;\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n window.SVGPathSegList.prototype.removeItem = function (index) {\n this._checkPathSynchronizedToList();\n this._checkValidIndex(index);\n var item = this._list[index];\n this._list.splice(index, 1);\n this._writeListToPath();\n return item;\n };\n window.SVGPathSegList.prototype.appendItem = function (newItem) {\n this._checkPathSynchronizedToList();\n if (newItem._owningPathSegList) {\n newItem = newItem.clone();\n }\n this._list.push(newItem);\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n window.SVGPathSegList._pathSegArrayAsString = function (pathSegArray) {\n var string = \"\";\n var first = true;\n pathSegArray.forEach(function (pathSeg) {\n if (first) {\n first = false;\n string += pathSeg._asPathString();\n }\n else {\n string += \" \" + pathSeg._asPathString();\n }\n });\n return string;\n };\n window.SVGPathSegList.prototype._parsePath = function (string) {\n if (!string || string.length == 0)\n return [];\n var owningPathSegList = this;\n var Builder = function () {\n this.pathSegList = [];\n };\n Builder.prototype.appendSegment = function (pathSeg) {\n this.pathSegList.push(pathSeg);\n };\n var Source = function (string) {\n this._string = string;\n this._currentIndex = 0;\n this._endIndex = this._string.length;\n this._previousCommand = window.SVGPathSeg.PATHSEG_UNKNOWN;\n this._skipOptionalSpaces();\n };\n Source.prototype._isCurrentSpace = function () {\n var character = this._string[this._currentIndex];\n return (character <= \" \" &&\n (character == \" \" || character == \"\\n\" || character == \"\\t\" || character == \"\\r\" || character == \"\\f\"));\n };\n Source.prototype._skipOptionalSpaces = function () {\n while (this._currentIndex < this._endIndex && this._isCurrentSpace())\n this._currentIndex++;\n return this._currentIndex < this._endIndex;\n };\n Source.prototype._skipOptionalSpacesOrDelimiter = function () {\n if (this._currentIndex < this._endIndex &&\n !this._isCurrentSpace() &&\n this._string.charAt(this._currentIndex) != \",\")\n return false;\n if (this._skipOptionalSpaces()) {\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \",\") {\n this._currentIndex++;\n this._skipOptionalSpaces();\n }\n }\n return this._currentIndex < this._endIndex;\n };\n Source.prototype.hasMoreData = function () {\n return this._currentIndex < this._endIndex;\n };\n Source.prototype.peekSegmentType = function () {\n var lookahead = this._string[this._currentIndex];\n return this._pathSegTypeFromChar(lookahead);\n };\n Source.prototype._pathSegTypeFromChar = function (lookahead) {\n switch (lookahead) {\n case \"Z\":\n case \"z\":\n return window.SVGPathSeg.PATHSEG_CLOSEPATH;\n case \"M\":\n return window.SVGPathSeg.PATHSEG_MOVETO_ABS;\n case \"m\":\n return window.SVGPathSeg.PATHSEG_MOVETO_REL;\n case \"L\":\n return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n case \"l\":\n return window.SVGPathSeg.PATHSEG_LINETO_REL;\n case \"C\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;\n case \"c\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;\n case \"Q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;\n case \"q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;\n case \"A\":\n return window.SVGPathSeg.PATHSEG_ARC_ABS;\n case \"a\":\n return window.SVGPathSeg.PATHSEG_ARC_REL;\n case \"H\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;\n case \"h\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;\n case \"V\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;\n case \"v\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;\n case \"S\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\n case \"s\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\n case \"T\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\n case \"t\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\n default:\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n }\n };\n Source.prototype._nextCommandHelper = function (lookahead, previousCommand) {\n if ((lookahead == \"+\" || lookahead == \"-\" || lookahead == \".\" || (lookahead >= \"0\" && lookahead <= \"9\")) &&\n previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS)\n return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_REL)\n return window.SVGPathSeg.PATHSEG_LINETO_REL;\n return previousCommand;\n }\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n };\n Source.prototype.initialCommandIsMoveTo = function () {\n if (!this.hasMoreData())\n return true;\n var command = this.peekSegmentType();\n return command == window.SVGPathSeg.PATHSEG_MOVETO_ABS || command == window.SVGPathSeg.PATHSEG_MOVETO_REL;\n };\n Source.prototype._parseNumber = function () {\n var exponent = 0;\n var integer = 0;\n var frac = 1;\n var decimal = 0;\n var sign = 1;\n var expsign = 1;\n var startIndex = this._currentIndex;\n this._skipOptionalSpaces();\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"+\")\n this._currentIndex++;\n else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n sign = -1;\n }\n if (this._currentIndex == this._endIndex ||\n ((this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") &&\n this._string.charAt(this._currentIndex) != \".\"))\n return undefined;\n var startIntPartIndex = this._currentIndex;\n while (this._currentIndex < this._endIndex &&\n this._string.charAt(this._currentIndex) >= \"0\" &&\n this._string.charAt(this._currentIndex) <= \"9\")\n this._currentIndex++;\n if (this._currentIndex != startIntPartIndex) {\n var scanIntPartIndex = this._currentIndex - 1;\n var multiplier = 1;\n while (scanIntPartIndex >= startIntPartIndex) {\n integer += multiplier * (this._string.charAt(scanIntPartIndex--) - \"0\");\n multiplier *= 10;\n }\n }\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \".\") {\n this._currentIndex++;\n if (this._currentIndex >= this._endIndex ||\n this._string.charAt(this._currentIndex) < \"0\" ||\n this._string.charAt(this._currentIndex) > \"9\")\n return undefined;\n while (this._currentIndex < this._endIndex &&\n this._string.charAt(this._currentIndex) >= \"0\" &&\n this._string.charAt(this._currentIndex) <= \"9\") {\n frac *= 10;\n decimal += (this._string.charAt(this._currentIndex) - \"0\") / frac;\n this._currentIndex += 1;\n }\n }\n if (this._currentIndex != startIndex &&\n this._currentIndex + 1 < this._endIndex &&\n (this._string.charAt(this._currentIndex) == \"e\" || this._string.charAt(this._currentIndex) == \"E\") &&\n this._string.charAt(this._currentIndex + 1) != \"x\" &&\n this._string.charAt(this._currentIndex + 1) != \"m\") {\n this._currentIndex++;\n if (this._string.charAt(this._currentIndex) == \"+\") {\n this._currentIndex++;\n }\n else if (this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n expsign = -1;\n }\n if (this._currentIndex >= this._endIndex ||\n this._string.charAt(this._currentIndex) < \"0\" ||\n this._string.charAt(this._currentIndex) > \"9\")\n return undefined;\n while (this._currentIndex < this._endIndex &&\n this._string.charAt(this._currentIndex) >= \"0\" &&\n this._string.charAt(this._currentIndex) <= \"9\") {\n exponent *= 10;\n exponent += this._string.charAt(this._currentIndex) - \"0\";\n this._currentIndex++;\n }\n }\n var number = integer + decimal;\n number *= sign;\n if (exponent)\n number *= Math.pow(10, expsign * exponent);\n if (startIndex == this._currentIndex)\n return undefined;\n this._skipOptionalSpacesOrDelimiter();\n return number;\n };\n Source.prototype._parseArcFlag = function () {\n if (this._currentIndex >= this._endIndex)\n return undefined;\n var flag = false;\n var flagChar = this._string.charAt(this._currentIndex++);\n if (flagChar == \"0\")\n flag = false;\n else if (flagChar == \"1\")\n flag = true;\n else\n return undefined;\n this._skipOptionalSpacesOrDelimiter();\n return flag;\n };\n Source.prototype.parseSegment = function () {\n var lookahead = this._string[this._currentIndex];\n var command = this._pathSegTypeFromChar(lookahead);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {\n if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN)\n return null;\n command = this._nextCommandHelper(lookahead, this._previousCommand);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN)\n return null;\n }\n else {\n this._currentIndex++;\n }\n this._previousCommand = command;\n switch (command) {\n case window.SVGPathSeg.PATHSEG_MOVETO_REL:\n return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_MOVETO_ABS:\n return new window.SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_REL:\n return new window.SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_ABS:\n return new window.SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n return new window.SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n return new window.SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n return new window.SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n return new window.SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_CLOSEPATH:\n this._skipOptionalSpaces();\n return new window.SVGPathSegClosePath(owningPathSegList);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoQuadraticAbs(owningPathSegList, points.x, points.y, points.x1, points.y1);\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_ARC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n case window.SVGPathSeg.PATHSEG_ARC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegArcAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n default:\n throw \"Unknown path seg type.\";\n }\n };\n var builder = new Builder();\n var source = new Source(string);\n if (!source.initialCommandIsMoveTo())\n return [];\n while (source.hasMoreData()) {\n var pathSeg = source.parseSegment();\n if (!pathSeg)\n return [];\n builder.appendSegment(pathSeg);\n }\n return builder.pathSegList;\n };\n }\n }\n catch (e) {\n 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);\n }\n})();\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadPolygonMaskPlugin = void 0;\nconst PolygonMaskInstance_1 = require(\"./PolygonMaskInstance\");\nconst PolygonMask_1 = require(\"./Options/Classes/PolygonMask\");\nconst Enums_1 = require(\"./Enums\");\nconst Utils_1 = require(\"../../Utils\");\nclass Plugin {\n constructor() {\n this.id = \"polygonMask\";\n }\n getPlugin(container) {\n return new PolygonMaskInstance_1.PolygonMaskInstance(container);\n }\n needsPlugin(options) {\n var _a, _b, _c;\n return (_b = (_a = options === null || options === void 0 ? void 0 : options.polygon) === null || _a === void 0 ? void 0 : _a.enable) !== null && _b !== void 0 ? _b : (((_c = options === null || options === void 0 ? void 0 : options.polygon) === null || _c === void 0 ? void 0 : _c.type) !== undefined && options.polygon.type !== Enums_1.Type.none);\n }\n loadOptions(options, source) {\n if (!this.needsPlugin(source)) {\n return;\n }\n const optionsCast = options;\n let polygonOptions = optionsCast.polygon;\n if ((polygonOptions === null || polygonOptions === void 0 ? void 0 : polygonOptions.load) === undefined) {\n optionsCast.polygon = polygonOptions = new PolygonMask_1.PolygonMask();\n }\n polygonOptions.load(source === null || source === void 0 ? void 0 : source.polygon);\n }\n}\nasync function loadPolygonMaskPlugin(tsParticles) {\n if (!(0, Utils_1.isSsr)() && !window.SVGPathSeg) {\n await Promise.resolve().then(() => __importStar(require(\"./pathseg\")));\n }\n const plugin = new Plugin();\n await tsParticles.addPlugin(plugin);\n}\nexports.loadPolygonMaskPlugin = loadPolygonMaskPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.segmentBounce = exports.calcClosestPtOnSegment = exports.parsePaths = exports.drawPolygonMaskPath = exports.drawPolygonMask = void 0;\nconst Utils_1 = require(\"../../Utils\");\nfunction drawPolygonMask(context, rawData, stroke) {\n const color = (0, Utils_1.colorToRgb)(stroke.color);\n if (!color) {\n return;\n }\n context.beginPath();\n context.moveTo(rawData[0].x, rawData[0].y);\n for (const item of rawData) {\n context.lineTo(item.x, item.y);\n }\n context.closePath();\n context.strokeStyle = (0, Utils_1.getStyleFromRgb)(color);\n context.lineWidth = stroke.width;\n context.stroke();\n}\nexports.drawPolygonMask = drawPolygonMask;\nfunction drawPolygonMaskPath(context, path, stroke, position) {\n context.translate(position.x, position.y);\n const color = (0, Utils_1.colorToRgb)(stroke.color);\n if (!color) {\n return;\n }\n context.strokeStyle = (0, Utils_1.getStyleFromRgb)(color, stroke.opacity);\n context.lineWidth = stroke.width;\n context.stroke(path);\n}\nexports.drawPolygonMaskPath = drawPolygonMaskPath;\nfunction parsePaths(paths, scale, offset) {\n var _a;\n const res = [];\n for (const path of paths) {\n const segments = path.element.pathSegList;\n const len = (_a = segments === null || segments === void 0 ? void 0 : segments.numberOfItems) !== null && _a !== void 0 ? _a : 0;\n const p = {\n x: 0,\n y: 0,\n };\n for (let i = 0; i < len; i++) {\n const segment = segments === null || segments === void 0 ? void 0 : segments.getItem(i);\n const svgPathSeg = window.SVGPathSeg;\n switch (segment === null || segment === void 0 ? void 0 : segment.pathSegType) {\n case svgPathSeg.PATHSEG_MOVETO_ABS:\n case svgPathSeg.PATHSEG_LINETO_ABS:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n case svgPathSeg.PATHSEG_ARC_ABS:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: {\n const absSeg = segment;\n p.x = absSeg.x;\n p.y = absSeg.y;\n break;\n }\n case svgPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n p.x = segment.x;\n break;\n case svgPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n p.y = segment.y;\n break;\n case svgPathSeg.PATHSEG_LINETO_REL:\n case svgPathSeg.PATHSEG_MOVETO_REL:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n case svgPathSeg.PATHSEG_ARC_REL:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: {\n const relSeg = segment;\n p.x += relSeg.x;\n p.y += relSeg.y;\n break;\n }\n case svgPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n p.x += segment.x;\n break;\n case svgPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n p.y += segment.y;\n break;\n case svgPathSeg.PATHSEG_UNKNOWN:\n case svgPathSeg.PATHSEG_CLOSEPATH:\n continue;\n }\n res.push({\n x: p.x * scale + offset.x,\n y: p.y * scale + offset.y,\n });\n }\n }\n return res;\n}\nexports.parsePaths = parsePaths;\nfunction calcClosestPtOnSegment(s1, s2, pos) {\n const { dx, dy } = (0, Utils_1.getDistances)(pos, s1);\n const { dx: dxx, dy: dyy } = (0, Utils_1.getDistances)(s2, s1);\n const t = (dx * dxx + dy * dyy) / (dxx ** 2 + dyy ** 2);\n let x = s1.x + dxx * t;\n let y = s1.y + dyy * t;\n if (t < 0) {\n x = s1.x;\n y = s1.y;\n }\n else if (t > 1) {\n x = s2.x;\n y = s2.y;\n }\n return { x: x, y: y, isOnSegment: t >= 0 && t <= 1 };\n}\nexports.calcClosestPtOnSegment = calcClosestPtOnSegment;\nfunction segmentBounce(start, stop, velocity) {\n const { dx, dy } = (0, Utils_1.getDistances)(start, stop);\n const wallAngle = Math.atan2(dy, dx);\n const wallNormalX = Math.sin(wallAngle);\n const wallNormalY = -Math.cos(wallAngle);\n const d = 2 * (velocity.x * wallNormalX + velocity.y * wallNormalY);\n velocity.x -= d * wallNormalX;\n velocity.y -= d * wallNormalY;\n}\nexports.segmentBounce = segmentBounce;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CircleDrawer = void 0;\nclass CircleDrawer {\n getSidesCount() {\n return 12;\n }\n draw(context, particle, radius) {\n context.arc(0, 0, radius, 0, Math.PI * 2, false);\n }\n}\nexports.CircleDrawer = CircleDrawer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadCircleShape = void 0;\nconst CircleDrawer_1 = require(\"./CircleDrawer\");\nasync function loadCircleShape(tsParticles) {\n await tsParticles.addShape(\"circle\", new CircleDrawer_1.CircleDrawer());\n}\nexports.loadCircleShape = loadCircleShape;\n","\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _ImageDrawer_images;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImageDrawer = void 0;\nconst Utils_1 = require(\"../../Utils\");\nconst Enums_1 = require(\"../../Enums\");\nconst Utils_2 = require(\"./Utils\");\nclass ImageDrawer {\n constructor() {\n _ImageDrawer_images.set(this, void 0);\n __classPrivateFieldSet(this, _ImageDrawer_images, [], \"f\");\n }\n getSidesCount() {\n return 12;\n }\n getImages(container) {\n const containerImages = __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").find((t) => t.id === container.id);\n if (!containerImages) {\n __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").push({\n id: container.id,\n images: [],\n });\n return this.getImages(container);\n }\n else {\n return containerImages;\n }\n }\n addImage(container, image) {\n const containerImages = this.getImages(container);\n containerImages === null || containerImages === void 0 ? void 0 : containerImages.images.push(image);\n }\n async init(container) {\n await this.loadImagesFromParticlesOptions(container, container.actualOptions.particles);\n await this.loadImagesFromParticlesOptions(container, container.actualOptions.interactivity.modes.trail.particles);\n for (const manualParticle of container.actualOptions.manualParticles) {\n await this.loadImagesFromParticlesOptions(container, manualParticle.options);\n }\n const emitterOptions = container.actualOptions;\n if (emitterOptions.emitters) {\n if (emitterOptions.emitters instanceof Array) {\n for (const emitter of emitterOptions.emitters) {\n await this.loadImagesFromParticlesOptions(container, emitter.particles);\n }\n }\n else {\n await this.loadImagesFromParticlesOptions(container, emitterOptions.emitters.particles);\n }\n }\n const interactiveEmitters = emitterOptions.interactivity.modes.emitters;\n if (interactiveEmitters) {\n if (interactiveEmitters instanceof Array) {\n for (const emitter of interactiveEmitters) {\n await this.loadImagesFromParticlesOptions(container, emitter.particles);\n }\n }\n else {\n await this.loadImagesFromParticlesOptions(container, interactiveEmitters.particles);\n }\n }\n }\n destroy() {\n __classPrivateFieldSet(this, _ImageDrawer_images, [], \"f\");\n }\n async loadImagesFromParticlesOptions(container, options) {\n var _a, _b, _c;\n const shapeOptions = options === null || options === void 0 ? void 0 : options.shape;\n if (!(shapeOptions === null || shapeOptions === void 0 ? void 0 : shapeOptions.type) ||\n !shapeOptions.options ||\n (!(0, Utils_1.isInArray)(Enums_1.ShapeType.image, shapeOptions.type) && !(0, Utils_1.isInArray)(Enums_1.ShapeType.images, shapeOptions.type))) {\n return;\n }\n const idx = __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").findIndex((t) => t.id === container.id);\n if (idx >= 0) {\n __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").splice(idx, 1);\n }\n const imageOptions = (_a = shapeOptions.options[Enums_1.ShapeType.images]) !== null && _a !== void 0 ? _a : shapeOptions.options[Enums_1.ShapeType.image];\n if (imageOptions instanceof Array) {\n for (const optionsImage of imageOptions) {\n await this.loadImageShape(container, optionsImage);\n }\n }\n else {\n await this.loadImageShape(container, imageOptions);\n }\n if (options === null || options === void 0 ? void 0 : options.groups) {\n for (const groupName in options.groups) {\n const group = options.groups[groupName];\n await this.loadImagesFromParticlesOptions(container, group);\n }\n }\n if ((_c = (_b = options === null || options === void 0 ? void 0 : options.destroy) === null || _b === void 0 ? void 0 : _b.split) === null || _c === void 0 ? void 0 : _c.particles) {\n await this.loadImagesFromParticlesOptions(container, options === null || options === void 0 ? void 0 : options.destroy.split.particles);\n }\n }\n async loadImageShape(container, imageShape) {\n try {\n const imageFunc = imageShape.replaceColor ? Utils_2.downloadSvgImage : Utils_2.loadImage;\n const image = await imageFunc(imageShape.src);\n if (image) {\n this.addImage(container, image);\n }\n }\n catch (_a) {\n console.warn(`tsParticles error - ${imageShape.src} not found`);\n }\n }\n draw(context, particle, radius, opacity) {\n var _a, _b;\n if (!context) {\n return;\n }\n const image = particle.image;\n const element = (_a = image === null || image === void 0 ? void 0 : image.data) === null || _a === void 0 ? void 0 : _a.element;\n if (!element) {\n return;\n }\n const ratio = (_b = image === null || image === void 0 ? void 0 : image.ratio) !== null && _b !== void 0 ? _b : 1;\n const pos = {\n x: -radius,\n y: -radius,\n };\n if (!(image === null || image === void 0 ? void 0 : image.data.svgData) || !(image === null || image === void 0 ? void 0 : image.replaceColor)) {\n context.globalAlpha = opacity;\n }\n context.drawImage(element, pos.x, pos.y, radius * 2, (radius * 2) / ratio);\n if (!(image === null || image === void 0 ? void 0 : image.data.svgData) || !(image === null || image === void 0 ? void 0 : image.replaceColor)) {\n context.globalAlpha = 1;\n }\n }\n loadShape(particle) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n const images = this.getImages(particle.container).images;\n const imageData = particle.shapeData;\n const image = (_a = images.find((t) => t.source === imageData.src)) !== null && _a !== void 0 ? _a : images[0];\n const color = particle.getFillColor();\n let imageRes;\n if (!image) {\n return;\n }\n if (image.svgData !== undefined && imageData.replaceColor && color) {\n const svgColoredData = (0, Utils_2.replaceColorSvg)(image, color, (_c = (_b = particle.opacity) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 1);\n const svg = new Blob([svgColoredData], { type: \"image/svg+xml\" });\n const domUrl = URL || window.URL || window.webkitURL || window;\n const url = domUrl.createObjectURL(svg);\n const img = new Image();\n imageRes = {\n data: Object.assign(Object.assign({}, image), { svgData: svgColoredData }),\n ratio: imageData.width / imageData.height,\n replaceColor: (_d = imageData.replaceColor) !== null && _d !== void 0 ? _d : imageData.replace_color,\n source: imageData.src,\n };\n img.addEventListener(\"load\", () => {\n const pImage = particle.image;\n if (pImage) {\n pImage.loaded = true;\n image.element = img;\n }\n domUrl.revokeObjectURL(url);\n });\n img.addEventListener(\"error\", () => {\n domUrl.revokeObjectURL(url);\n (0, Utils_2.loadImage)(imageData.src).then((img2) => {\n const pImage = particle.image;\n if (pImage) {\n image.element = img2 === null || img2 === void 0 ? void 0 : img2.element;\n pImage.loaded = true;\n }\n });\n });\n img.src = url;\n }\n else {\n imageRes = {\n data: image,\n loaded: true,\n ratio: imageData.width / imageData.height,\n replaceColor: (_e = imageData.replaceColor) !== null && _e !== void 0 ? _e : imageData.replace_color,\n source: imageData.src,\n };\n }\n if (!imageRes.ratio) {\n imageRes.ratio = 1;\n }\n const fill = (_f = imageData.fill) !== null && _f !== void 0 ? _f : particle.fill;\n const close = (_g = imageData.close) !== null && _g !== void 0 ? _g : particle.close;\n const imageShape = {\n image: imageRes,\n fill,\n close,\n };\n particle.image = imageShape.image;\n particle.fill = imageShape.fill;\n particle.close = imageShape.close;\n }\n}\nexports.ImageDrawer = ImageDrawer;\n_ImageDrawer_images = new WeakMap();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.replaceColorSvg = exports.downloadSvgImage = exports.loadImage = void 0;\nconst Utils_1 = require(\"../../Utils\");\nfunction loadImage(source) {\n return new Promise((resolve, reject) => {\n if (!source) {\n reject(\"Error tsParticles - No image.src\");\n return;\n }\n const image = {\n source: source,\n type: source.substr(source.length - 3),\n };\n const img = new Image();\n img.addEventListener(\"load\", () => {\n image.element = img;\n resolve(image);\n });\n img.addEventListener(\"error\", () => {\n reject(`Error tsParticles - loading image: ${source}`);\n });\n img.src = source;\n });\n}\nexports.loadImage = loadImage;\nasync function downloadSvgImage(source) {\n if (!source) {\n throw new Error(\"Error tsParticles - No image.src\");\n }\n const image = {\n source: source,\n type: source.substr(source.length - 3),\n };\n if (image.type !== \"svg\") {\n return loadImage(source);\n }\n const response = await fetch(image.source);\n if (!response.ok) {\n throw new Error(\"Error tsParticles - Image not found\");\n }\n image.svgData = await response.text();\n return image;\n}\nexports.downloadSvgImage = downloadSvgImage;\nfunction replaceColorSvg(imageShape, color, opacity) {\n const { svgData } = imageShape;\n if (!svgData) {\n return \"\";\n }\n if (svgData.includes(\"fill\")) {\n const currentColor = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d.]+%?\\))|currentcolor/gi;\n return svgData.replace(currentColor, () => (0, Utils_1.getStyleFromHsl)(color, opacity));\n }\n const preFillIndex = svgData.indexOf(\">\");\n return `${svgData.substring(0, preFillIndex)} fill=\"${(0, Utils_1.getStyleFromHsl)(color, opacity)}\"${svgData.substring(preFillIndex)}`;\n}\nexports.replaceColorSvg = replaceColorSvg;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadImageShape = void 0;\nconst ImageDrawer_1 = require(\"./ImageDrawer\");\nasync function loadImageShape(tsParticles) {\n const imageDrawer = new ImageDrawer_1.ImageDrawer();\n await tsParticles.addShape(\"image\", imageDrawer);\n await tsParticles.addShape(\"images\", imageDrawer);\n}\nexports.loadImageShape = loadImageShape;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LineDrawer = void 0;\nclass LineDrawer {\n getSidesCount() {\n return 1;\n }\n draw(context, particle, radius) {\n context.moveTo(-radius / 2, 0);\n context.lineTo(radius / 2, 0);\n }\n}\nexports.LineDrawer = LineDrawer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadLineShape = void 0;\nconst LineDrawer_1 = require(\"./LineDrawer\");\nasync function loadLineShape(tsParticles) {\n await tsParticles.addShape(\"line\", new LineDrawer_1.LineDrawer());\n}\nexports.loadLineShape = loadLineShape;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PolygonDrawer = void 0;\nconst PolygonDrawerBase_1 = require(\"./PolygonDrawerBase\");\nclass PolygonDrawer extends PolygonDrawerBase_1.PolygonDrawerBase {\n getSidesData(particle, radius) {\n var _a, _b;\n const polygon = particle.shapeData;\n const sides = (_b = (_a = polygon === null || polygon === void 0 ? void 0 : polygon.sides) !== null && _a !== void 0 ? _a : polygon === null || polygon === void 0 ? void 0 : polygon.nb_sides) !== null && _b !== void 0 ? _b : 5;\n return {\n count: {\n denominator: 1,\n numerator: sides,\n },\n length: (radius * 2.66) / (sides / 3),\n };\n }\n getCenter(particle, radius) {\n const sides = this.getSidesCount(particle);\n return {\n x: -radius / (sides / 3.5),\n y: -radius / (2.66 / 3.5),\n };\n }\n}\nexports.PolygonDrawer = PolygonDrawer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PolygonDrawerBase = void 0;\nclass PolygonDrawerBase {\n getSidesCount(particle) {\n var _a, _b;\n const polygon = particle.shapeData;\n return (_b = (_a = polygon === null || polygon === void 0 ? void 0 : polygon.sides) !== null && _a !== void 0 ? _a : polygon === null || polygon === void 0 ? void 0 : polygon.nb_sides) !== null && _b !== void 0 ? _b : 5;\n }\n draw(context, particle, radius) {\n const start = this.getCenter(particle, radius);\n const side = this.getSidesData(particle, radius);\n const sideCount = side.count.numerator * side.count.denominator;\n const decimalSides = side.count.numerator / side.count.denominator;\n const interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides;\n const interiorAngle = Math.PI - (Math.PI * interiorAngleDegrees) / 180;\n if (!context) {\n return;\n }\n context.beginPath();\n context.translate(start.x, start.y);\n context.moveTo(0, 0);\n for (let i = 0; i < sideCount; i++) {\n context.lineTo(side.length, 0);\n context.translate(side.length, 0);\n context.rotate(interiorAngle);\n }\n }\n}\nexports.PolygonDrawerBase = PolygonDrawerBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TriangleDrawer = void 0;\nconst PolygonDrawerBase_1 = require(\"./PolygonDrawerBase\");\nclass TriangleDrawer extends PolygonDrawerBase_1.PolygonDrawerBase {\n getSidesCount() {\n return 3;\n }\n getSidesData(particle, radius) {\n return {\n count: {\n denominator: 2,\n numerator: 3,\n },\n length: radius * 2,\n };\n }\n getCenter(particle, radius) {\n return {\n x: -radius,\n y: radius / 1.66,\n };\n }\n}\nexports.TriangleDrawer = TriangleDrawer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadPolygonShape = exports.loadTriangleShape = exports.loadGenericPolygonShape = void 0;\nconst PolygonDrawer_1 = require(\"./PolygonDrawer\");\nconst TriangleDrawer_1 = require(\"./TriangleDrawer\");\nasync function loadGenericPolygonShape(tsParticles) {\n await tsParticles.addShape(\"polygon\", new PolygonDrawer_1.PolygonDrawer());\n}\nexports.loadGenericPolygonShape = loadGenericPolygonShape;\nasync function loadTriangleShape(tsParticles) {\n await tsParticles.addShape(\"triangle\", new TriangleDrawer_1.TriangleDrawer());\n}\nexports.loadTriangleShape = loadTriangleShape;\nasync function loadPolygonShape(tsParticles) {\n await loadGenericPolygonShape(tsParticles);\n await loadTriangleShape(tsParticles);\n}\nexports.loadPolygonShape = loadPolygonShape;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SquareDrawer = void 0;\nconst fixFactor = Math.sqrt(2);\nclass SquareDrawer {\n getSidesCount() {\n return 4;\n }\n draw(context, particle, radius) {\n context.rect(-radius / fixFactor, -radius / fixFactor, (radius * 2) / fixFactor, (radius * 2) / fixFactor);\n }\n}\nexports.SquareDrawer = SquareDrawer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadSquareShape = void 0;\nconst SquareDrawer_1 = require(\"./SquareDrawer\");\nasync function loadSquareShape(tsParticles) {\n const drawer = new SquareDrawer_1.SquareDrawer();\n await tsParticles.addShape(\"edge\", drawer);\n await tsParticles.addShape(\"square\", drawer);\n}\nexports.loadSquareShape = loadSquareShape;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StarDrawer = void 0;\nclass StarDrawer {\n getSidesCount(particle) {\n var _a, _b;\n const star = particle.shapeData;\n return (_b = (_a = star === null || star === void 0 ? void 0 : star.sides) !== null && _a !== void 0 ? _a : star === null || star === void 0 ? void 0 : star.nb_sides) !== null && _b !== void 0 ? _b : 5;\n }\n draw(context, particle, radius) {\n var _a;\n const star = particle.shapeData;\n const sides = this.getSidesCount(particle);\n const inset = (_a = star === null || star === void 0 ? void 0 : star.inset) !== null && _a !== void 0 ? _a : 2;\n context.moveTo(0, 0 - radius);\n for (let i = 0; i < sides; i++) {\n context.rotate(Math.PI / sides);\n context.lineTo(0, 0 - radius * inset);\n context.rotate(Math.PI / sides);\n context.lineTo(0, 0 - radius);\n }\n }\n}\nexports.StarDrawer = StarDrawer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadStarShape = void 0;\nconst StarDrawer_1 = require(\"./StarDrawer\");\nasync function loadStarShape(tsParticles) {\n await tsParticles.addShape(\"star\", new StarDrawer_1.StarDrawer());\n}\nexports.loadStarShape = loadStarShape;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextDrawer = exports.validTypes = void 0;\nconst Utils_1 = require(\"../../Utils\");\nexports.validTypes = [\"text\", \"character\", \"char\"];\nclass TextDrawer {\n getSidesCount() {\n return 12;\n }\n async init(container) {\n const options = container.actualOptions;\n if (exports.validTypes.find((t) => (0, Utils_1.isInArray)(t, options.particles.shape.type))) {\n const shapeOptions = exports.validTypes.map((t) => options.particles.shape.options[t]).find((t) => !!t);\n if (shapeOptions instanceof Array) {\n const promises = [];\n for (const character of shapeOptions) {\n promises.push((0, Utils_1.loadFont)(character));\n }\n await Promise.allSettled(promises);\n }\n else {\n if (shapeOptions !== undefined) {\n await (0, Utils_1.loadFont)(shapeOptions);\n }\n }\n }\n }\n draw(context, particle, radius, opacity) {\n var _a, _b, _c;\n const character = particle.shapeData;\n if (character === undefined) {\n return;\n }\n const textData = character.value;\n if (textData === undefined) {\n return;\n }\n const textParticle = particle;\n if (textParticle.text === undefined) {\n textParticle.text =\n textData instanceof Array ? (0, Utils_1.itemFromArray)(textData, particle.randomIndexData) : textData;\n }\n const text = textParticle.text;\n const style = (_a = character.style) !== null && _a !== void 0 ? _a : \"\";\n const weight = (_b = character.weight) !== null && _b !== void 0 ? _b : \"400\";\n const size = Math.round(radius) * 2;\n const font = (_c = character.font) !== null && _c !== void 0 ? _c : \"Verdana\";\n const fill = particle.fill;\n const offsetX = (text.length * radius) / 2;\n context.font = `${style} ${weight} ${size}px \"${font}\"`;\n const pos = {\n x: -offsetX,\n y: radius / 2,\n };\n context.globalAlpha = opacity;\n if (fill) {\n context.fillText(text, pos.x, pos.y);\n }\n else {\n context.strokeText(text, pos.x, pos.y);\n }\n context.globalAlpha = 1;\n }\n}\nexports.TextDrawer = TextDrawer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadTextShape = void 0;\nconst TextDrawer_1 = require(\"./TextDrawer\");\nasync function loadTextShape(tsParticles) {\n const drawer = new TextDrawer_1.TextDrawer();\n for (const type of TextDrawer_1.validTypes) {\n await tsParticles.addShape(type, drawer);\n }\n}\nexports.loadTextShape = loadTextShape;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./RangeValue\"), exports);\n__exportStar(require(\"./RecursivePartial\"), exports);\n__exportStar(require(\"./ShapeData\"), exports);\n__exportStar(require(\"./ShapeDrawerFunctions\"), exports);\n__exportStar(require(\"./SingleOrMultiple\"), exports);\n__exportStar(require(\"./PathOptions\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AngleUpdater = void 0;\nconst Enums_1 = require(\"../../Enums\");\nconst Utils_1 = require(\"../../Utils\");\nfunction updateAngle(particle, delta) {\n var _a;\n const rotate = particle.rotate;\n if (!rotate) {\n return;\n }\n const rotateOptions = particle.options.rotate;\n const rotateAnimation = rotateOptions.animation;\n const speed = ((_a = rotate.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n const max = 2 * Math.PI;\n if (!rotateAnimation.enable) {\n return;\n }\n switch (rotate.status) {\n case Enums_1.AnimationStatus.increasing:\n rotate.value += speed;\n if (rotate.value > max) {\n rotate.value -= max;\n }\n break;\n case Enums_1.AnimationStatus.decreasing:\n default:\n rotate.value -= speed;\n if (rotate.value < 0) {\n rotate.value += max;\n }\n break;\n }\n}\nclass AngleUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const rotateOptions = particle.options.rotate;\n particle.rotate = {\n enable: rotateOptions.animation.enable,\n value: ((0, Utils_1.getRangeValue)(rotateOptions.value) * Math.PI) / 180,\n };\n let rotateDirection = rotateOptions.direction;\n if (rotateDirection === Enums_1.RotateDirection.random) {\n const index = Math.floor(Math.random() * 2);\n rotateDirection = index > 0 ? Enums_1.RotateDirection.counterClockwise : Enums_1.RotateDirection.clockwise;\n }\n switch (rotateDirection) {\n case Enums_1.RotateDirection.counterClockwise:\n case \"counterClockwise\":\n particle.rotate.status = Enums_1.AnimationStatus.decreasing;\n break;\n case Enums_1.RotateDirection.clockwise:\n particle.rotate.status = Enums_1.AnimationStatus.increasing;\n break;\n }\n const rotateAnimation = particle.options.rotate.animation;\n if (rotateAnimation.enable) {\n particle.rotate.velocity = (rotateAnimation.speed / 360) * this.container.retina.reduceFactor;\n if (!rotateAnimation.sync) {\n particle.rotate.velocity *= Math.random();\n }\n }\n }\n isEnabled(particle) {\n const rotate = particle.options.rotate;\n const rotateAnimation = rotate.animation;\n return !particle.destroyed && !particle.spawning && !rotate.path && rotateAnimation.enable;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateAngle(particle, delta);\n }\n}\nexports.AngleUpdater = AngleUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadAngleUpdater = void 0;\nconst AngleUpdater_1 = require(\"./AngleUpdater\");\nasync function loadAngleUpdater(tsParticles) {\n await tsParticles.addParticleUpdater(\"angle\", (container) => new AngleUpdater_1.AngleUpdater(container));\n}\nexports.loadAngleUpdater = loadAngleUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ColorUpdater = void 0;\nconst Enums_1 = require(\"../../Enums\");\nconst Utils_1 = require(\"../../Utils\");\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a;\n const colorValue = value;\n if (!colorValue || !valueAnimation.enable) {\n return;\n }\n const offset = (0, Utils_1.randomInRange)(valueAnimation.offset);\n const velocity = ((_a = value.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor + offset * 3.6;\n if (!decrease || colorValue.status === Enums_1.AnimationStatus.increasing) {\n colorValue.value += velocity;\n if (decrease && colorValue.value > max) {\n colorValue.status = Enums_1.AnimationStatus.decreasing;\n colorValue.value -= colorValue.value % max;\n }\n }\n else {\n colorValue.value -= velocity;\n if (colorValue.value < 0) {\n colorValue.status = Enums_1.AnimationStatus.increasing;\n colorValue.value += colorValue.value;\n }\n }\n if (colorValue.value > max) {\n colorValue.value %= max;\n }\n}\nfunction updateColor(particle, delta) {\n var _a, _b, _c;\n const animationOptions = particle.options.color.animation;\n if (((_a = particle.color) === null || _a === void 0 ? void 0 : _a.h) !== undefined) {\n updateColorValue(delta, particle.color.h, animationOptions.h, 360, false);\n }\n if (((_b = particle.color) === null || _b === void 0 ? void 0 : _b.s) !== undefined) {\n updateColorValue(delta, particle.color.s, animationOptions.s, 100, true);\n }\n if (((_c = particle.color) === null || _c === void 0 ? void 0 : _c.l) !== undefined) {\n updateColorValue(delta, particle.color.l, animationOptions.l, 100, true);\n }\n}\nclass ColorUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const hslColor = (0, Utils_1.colorToHsl)(particle.options.color, particle.id, particle.options.reduceDuplicates);\n if (hslColor) {\n particle.color = (0, Utils_1.getHslAnimationFromHsl)(hslColor, particle.options.color.animation, this.container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n var _a, _b, _c;\n const animationOptions = particle.options.color.animation;\n return (!particle.destroyed &&\n !particle.spawning &&\n ((((_a = particle.color) === null || _a === void 0 ? void 0 : _a.h.value) !== undefined && animationOptions.h.enable) ||\n (((_b = particle.color) === null || _b === void 0 ? void 0 : _b.s.value) !== undefined && animationOptions.s.enable) ||\n (((_c = particle.color) === null || _c === void 0 ? void 0 : _c.l.value) !== undefined && animationOptions.l.enable)));\n }\n update(particle, delta) {\n updateColor(particle, delta);\n }\n}\nexports.ColorUpdater = ColorUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadColorUpdater = void 0;\nconst ColorUpdater_1 = require(\"./ColorUpdater\");\nasync function loadColorUpdater(tsParticles) {\n await tsParticles.addParticleUpdater(\"color\", (container) => new ColorUpdater_1.ColorUpdater(container));\n}\nexports.loadColorUpdater = loadColorUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LifeUpdater = void 0;\nconst Utils_1 = require(\"../../Utils\");\nclass LifeUpdater {\n constructor(container) {\n this.container = container;\n }\n init() {\n }\n isEnabled(particle) {\n return !particle.destroyed;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n const life = particle.life;\n let justSpawned = false;\n if (particle.spawning) {\n life.delayTime += delta.value;\n if (life.delayTime >= particle.life.delay) {\n justSpawned = true;\n particle.spawning = false;\n life.delayTime = 0;\n life.time = 0;\n }\n else {\n return;\n }\n }\n if (life.duration === -1) {\n return;\n }\n if (particle.spawning) {\n return;\n }\n if (justSpawned) {\n life.time = 0;\n }\n else {\n life.time += delta.value;\n }\n if (life.time < life.duration) {\n return;\n }\n life.time = 0;\n if (particle.life.count > 0) {\n particle.life.count--;\n }\n if (particle.life.count === 0) {\n particle.destroy();\n return;\n }\n const canvasSize = this.container.canvas.size, widthRange = (0, Utils_1.setRangeValue)(0, canvasSize.width), heightRange = (0, Utils_1.setRangeValue)(0, canvasSize.width);\n particle.position.x = (0, Utils_1.randomInRange)(widthRange);\n particle.position.y = (0, Utils_1.randomInRange)(heightRange);\n particle.spawning = true;\n life.delayTime = 0;\n life.time = 0;\n particle.reset();\n const lifeOptions = particle.options.life;\n life.delay = (0, Utils_1.getRangeValue)(lifeOptions.delay.value) * 1000;\n life.duration = (0, Utils_1.getRangeValue)(lifeOptions.duration.value) * 1000;\n }\n}\nexports.LifeUpdater = LifeUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadLifeUpdater = void 0;\nconst LifeUpdater_1 = require(\"./LifeUpdater\");\nasync function loadLifeUpdater(tsParticles) {\n await tsParticles.addParticleUpdater(\"life\", (container) => new LifeUpdater_1.LifeUpdater(container));\n}\nexports.loadLifeUpdater = loadLifeUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpacityUpdater = void 0;\nconst Enums_1 = require(\"../../Enums\");\nconst Utils_1 = require(\"../../Utils\");\nfunction checkDestroy(particle, value, minValue, maxValue) {\n switch (particle.options.opacity.animation.destroy) {\n case Enums_1.DestroyType.max:\n if (value >= maxValue) {\n particle.destroy();\n }\n break;\n case Enums_1.DestroyType.min:\n if (value <= minValue) {\n particle.destroy();\n }\n break;\n }\n}\nfunction updateOpacity(particle, delta) {\n var _a, _b, _c, _d, _e;\n if (!particle.opacity) {\n return;\n }\n const minValue = particle.opacity.min;\n const maxValue = particle.opacity.max;\n if (!(!particle.destroyed &&\n particle.opacity.enable &&\n (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.opacity.loops) !== null && _b !== void 0 ? _b : 0) < ((_c = particle.opacity.maxLoops) !== null && _c !== void 0 ? _c : 0)))) {\n return;\n }\n switch (particle.opacity.status) {\n case Enums_1.AnimationStatus.increasing:\n if (particle.opacity.value >= maxValue) {\n particle.opacity.status = Enums_1.AnimationStatus.decreasing;\n if (!particle.opacity.loops) {\n particle.opacity.loops = 0;\n }\n particle.opacity.loops++;\n }\n else {\n particle.opacity.value += ((_d = particle.opacity.velocity) !== null && _d !== void 0 ? _d : 0) * delta.factor;\n }\n break;\n case Enums_1.AnimationStatus.decreasing:\n if (particle.opacity.value <= minValue) {\n particle.opacity.status = Enums_1.AnimationStatus.increasing;\n if (!particle.opacity.loops) {\n particle.opacity.loops = 0;\n }\n particle.opacity.loops++;\n }\n else {\n particle.opacity.value -= ((_e = particle.opacity.velocity) !== null && _e !== void 0 ? _e : 0) * delta.factor;\n }\n break;\n }\n checkDestroy(particle, particle.opacity.value, minValue, maxValue);\n if (!particle.destroyed) {\n particle.opacity.value = (0, Utils_1.clamp)(particle.opacity.value, minValue, maxValue);\n }\n}\nclass OpacityUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const opacityOptions = particle.options.opacity;\n particle.opacity = {\n enable: opacityOptions.animation.enable,\n max: (0, Utils_1.getRangeMax)(opacityOptions.value),\n min: (0, Utils_1.getRangeMin)(opacityOptions.value),\n value: (0, Utils_1.getRangeValue)(opacityOptions.value),\n loops: 0,\n maxLoops: opacityOptions.animation.count,\n };\n const opacityAnimation = opacityOptions.animation;\n if (opacityAnimation.enable) {\n particle.opacity.status = Enums_1.AnimationStatus.increasing;\n const opacityRange = opacityOptions.value;\n particle.opacity.min = (0, Utils_1.getRangeMin)(opacityRange);\n particle.opacity.max = (0, Utils_1.getRangeMax)(opacityRange);\n switch (opacityAnimation.startValue) {\n case Enums_1.StartValueType.min:\n particle.opacity.value = particle.opacity.min;\n particle.opacity.status = Enums_1.AnimationStatus.increasing;\n break;\n case Enums_1.StartValueType.random:\n particle.opacity.value = (0, Utils_1.randomInRange)(particle.opacity);\n particle.opacity.status =\n Math.random() >= 0.5 ? Enums_1.AnimationStatus.increasing : Enums_1.AnimationStatus.decreasing;\n break;\n case Enums_1.StartValueType.max:\n default:\n particle.opacity.value = particle.opacity.max;\n particle.opacity.status = Enums_1.AnimationStatus.decreasing;\n break;\n }\n particle.opacity.velocity = (opacityAnimation.speed / 100) * this.container.retina.reduceFactor;\n if (!opacityAnimation.sync) {\n particle.opacity.velocity *= Math.random();\n }\n }\n }\n isEnabled(particle) {\n var _a, _b, _c;\n return (!particle.destroyed &&\n !particle.spawning &&\n !!particle.opacity &&\n particle.opacity.enable &&\n (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.opacity.loops) !== null && _b !== void 0 ? _b : 0) < ((_c = particle.opacity.maxLoops) !== null && _c !== void 0 ? _c : 0)));\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateOpacity(particle, delta);\n }\n}\nexports.OpacityUpdater = OpacityUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadOpacityUpdater = void 0;\nconst OpacityUpdater_1 = require(\"./OpacityUpdater\");\nasync function loadOpacityUpdater(tsParticles) {\n await tsParticles.addParticleUpdater(\"opacity\", (container) => new OpacityUpdater_1.OpacityUpdater(container));\n}\nexports.loadOpacityUpdater = loadOpacityUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutOfCanvasUpdater = void 0;\nconst Utils_1 = require(\"../../Utils\");\nconst Enums_1 = require(\"../../Enums\");\nconst Utils_2 = require(\"./Utils\");\nclass OutOfCanvasUpdater {\n constructor(container) {\n this.container = container;\n }\n init() {\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning;\n }\n update(particle, delta) {\n var _a, _b, _c, _d;\n const outModes = particle.options.move.outModes;\n this.updateOutMode(particle, delta, (_a = outModes.bottom) !== null && _a !== void 0 ? _a : outModes.default, Enums_1.OutModeDirection.bottom);\n this.updateOutMode(particle, delta, (_b = outModes.left) !== null && _b !== void 0 ? _b : outModes.default, Enums_1.OutModeDirection.left);\n this.updateOutMode(particle, delta, (_c = outModes.right) !== null && _c !== void 0 ? _c : outModes.default, Enums_1.OutModeDirection.right);\n this.updateOutMode(particle, delta, (_d = outModes.top) !== null && _d !== void 0 ? _d : outModes.default, Enums_1.OutModeDirection.top);\n }\n updateOutMode(particle, delta, outMode, direction) {\n switch (outMode) {\n case Enums_1.OutMode.bounce:\n case Enums_1.OutMode.bounceVertical:\n case Enums_1.OutMode.bounceHorizontal:\n case \"bounceVertical\":\n case \"bounceHorizontal\":\n case Enums_1.OutMode.split:\n this.bounce(particle, delta, direction, outMode);\n break;\n case Enums_1.OutMode.destroy:\n this.destroy(particle, direction);\n break;\n case Enums_1.OutMode.out:\n this.out(particle, direction);\n break;\n case Enums_1.OutMode.none:\n default:\n this.none(particle, direction);\n break;\n }\n }\n destroy(particle, direction) {\n const container = this.container;\n if ((0, Utils_1.isPointInside)(particle.position, container.canvas.size, particle.getRadius(), direction)) {\n return;\n }\n container.particles.remove(particle, undefined, true);\n }\n out(particle, direction) {\n const container = this.container;\n if ((0, Utils_1.isPointInside)(particle.position, container.canvas.size, particle.getRadius(), direction)) {\n return;\n }\n const wrap = particle.options.move.warp, canvasSize = container.canvas.size, newPos = {\n bottom: canvasSize.height + particle.getRadius() + particle.offset.y,\n left: -particle.getRadius() - particle.offset.x,\n right: canvasSize.width + particle.getRadius() + particle.offset.x,\n top: -particle.getRadius() - particle.offset.y,\n }, sizeValue = particle.getRadius(), nextBounds = (0, Utils_1.calculateBounds)(particle.position, sizeValue);\n if (direction === Enums_1.OutModeDirection.right && nextBounds.left > canvasSize.width + particle.offset.x) {\n particle.position.x = newPos.left;\n particle.initialPosition.x = particle.position.x;\n if (!wrap) {\n particle.position.y = Math.random() * canvasSize.height;\n particle.initialPosition.y = particle.position.y;\n }\n }\n else if (direction === Enums_1.OutModeDirection.left && nextBounds.right < -particle.offset.x) {\n particle.position.x = newPos.right;\n particle.initialPosition.x = particle.position.x;\n if (!wrap) {\n particle.position.y = Math.random() * canvasSize.height;\n particle.initialPosition.y = particle.position.y;\n }\n }\n if (direction === Enums_1.OutModeDirection.bottom && nextBounds.top > canvasSize.height + particle.offset.y) {\n if (!wrap) {\n particle.position.x = Math.random() * canvasSize.width;\n particle.initialPosition.x = particle.position.x;\n }\n particle.position.y = newPos.top;\n particle.initialPosition.y = particle.position.y;\n }\n else if (direction === Enums_1.OutModeDirection.top && nextBounds.bottom < -particle.offset.y) {\n if (!wrap) {\n particle.position.x = Math.random() * canvasSize.width;\n particle.initialPosition.x = particle.position.x;\n }\n particle.position.y = newPos.bottom;\n particle.initialPosition.y = particle.position.y;\n }\n }\n bounce(particle, delta, direction, outMode) {\n const container = this.container;\n let handled = false;\n for (const [, plugin] of container.plugins) {\n if (plugin.particleBounce !== undefined) {\n handled = plugin.particleBounce(particle, delta, direction);\n }\n if (handled) {\n break;\n }\n }\n if (handled) {\n return;\n }\n const pos = particle.getPosition(), offset = particle.offset, size = particle.getRadius(), bounds = (0, Utils_1.calculateBounds)(pos, size), canvasSize = container.canvas.size;\n (0, Utils_2.bounceHorizontal)({ particle, outMode, direction, bounds, canvasSize, offset, size });\n (0, Utils_2.bounceVertical)({ particle, outMode, direction, bounds, canvasSize, offset, size });\n }\n none(particle, direction) {\n if ((particle.options.move.distance.horizontal &&\n (direction === Enums_1.OutModeDirection.left || direction === Enums_1.OutModeDirection.right)) ||\n (particle.options.move.distance.vertical &&\n (direction === Enums_1.OutModeDirection.top || direction === Enums_1.OutModeDirection.bottom))) {\n return;\n }\n const gravityOptions = particle.options.move.gravity, container = this.container;\n const canvasSize = container.canvas.size;\n const pRadius = particle.getRadius();\n if (!gravityOptions.enable) {\n if ((particle.velocity.y > 0 && particle.position.y <= canvasSize.height + pRadius) ||\n (particle.velocity.y < 0 && particle.position.y >= -pRadius) ||\n (particle.velocity.x > 0 && particle.position.x <= canvasSize.width + pRadius) ||\n (particle.velocity.x < 0 && particle.position.x >= -pRadius)) {\n return;\n }\n if (!(0, Utils_1.isPointInside)(particle.position, container.canvas.size, pRadius, direction)) {\n container.particles.remove(particle);\n }\n }\n else {\n const position = particle.position;\n if ((!gravityOptions.inverse &&\n position.y > canvasSize.height + pRadius &&\n direction === Enums_1.OutModeDirection.bottom) ||\n (gravityOptions.inverse && position.y < -pRadius && direction === Enums_1.OutModeDirection.top)) {\n container.particles.remove(particle);\n }\n }\n }\n}\nexports.OutOfCanvasUpdater = OutOfCanvasUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bounceVertical = exports.bounceHorizontal = void 0;\nconst Enums_1 = require(\"../../Enums\");\nconst Utils_1 = require(\"../../Utils\");\nfunction bounceHorizontal(data) {\n if (!(data.outMode === Enums_1.OutMode.bounce ||\n data.outMode === Enums_1.OutMode.bounceHorizontal ||\n data.outMode === \"bounceHorizontal\" ||\n data.outMode === Enums_1.OutMode.split)) {\n return;\n }\n const velocity = data.particle.velocity.x;\n let bounced = false;\n if ((data.direction === Enums_1.OutModeDirection.right && data.bounds.right >= data.canvasSize.width && velocity > 0) ||\n (data.direction === Enums_1.OutModeDirection.left && data.bounds.left <= 0 && velocity < 0)) {\n const newVelocity = (0, Utils_1.getRangeValue)(data.particle.options.bounce.horizontal.value);\n data.particle.velocity.x *= -newVelocity;\n bounced = true;\n }\n if (!bounced) {\n return;\n }\n const minPos = data.offset.x + data.size;\n if (data.bounds.right >= data.canvasSize.width) {\n data.particle.position.x = data.canvasSize.width - minPos;\n }\n else if (data.bounds.left <= 0) {\n data.particle.position.x = minPos;\n }\n if (data.outMode === Enums_1.OutMode.split) {\n data.particle.destroy();\n }\n}\nexports.bounceHorizontal = bounceHorizontal;\nfunction bounceVertical(data) {\n if (data.outMode === Enums_1.OutMode.bounce ||\n data.outMode === Enums_1.OutMode.bounceVertical ||\n data.outMode === \"bounceVertical\" ||\n data.outMode === Enums_1.OutMode.split) {\n const velocity = data.particle.velocity.y;\n let bounced = false;\n if ((data.direction === Enums_1.OutModeDirection.bottom &&\n data.bounds.bottom >= data.canvasSize.height &&\n velocity > 0) ||\n (data.direction === Enums_1.OutModeDirection.top && data.bounds.top <= 0 && velocity < 0)) {\n const newVelocity = (0, Utils_1.getRangeValue)(data.particle.options.bounce.vertical.value);\n data.particle.velocity.y *= -newVelocity;\n bounced = true;\n }\n if (!bounced) {\n return;\n }\n const minPos = data.offset.y + data.size;\n if (data.bounds.bottom >= data.canvasSize.height) {\n data.particle.position.y = data.canvasSize.height - minPos;\n }\n else if (data.bounds.top <= 0) {\n data.particle.position.y = minPos;\n }\n if (data.outMode === Enums_1.OutMode.split) {\n data.particle.destroy();\n }\n }\n}\nexports.bounceVertical = bounceVertical;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadOutModesUpdater = void 0;\nconst OutOfCanvasUpdater_1 = require(\"./OutOfCanvasUpdater\");\nasync function loadOutModesUpdater(tsParticles) {\n await tsParticles.addParticleUpdater(\"outModes\", (container) => new OutOfCanvasUpdater_1.OutOfCanvasUpdater(container));\n}\nexports.loadOutModesUpdater = loadOutModesUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RollUpdater = void 0;\nconst Utils_1 = require(\"../../Utils\");\nconst Enums_1 = require(\"../../Enums\");\nfunction updateRoll(particle, delta) {\n const roll = particle.options.roll;\n if (!particle.roll || !roll.enable) {\n return;\n }\n const speed = particle.roll.speed * delta.factor;\n const max = 2 * Math.PI;\n particle.roll.angle += speed;\n if (particle.roll.angle > max) {\n particle.roll.angle -= max;\n }\n}\nclass RollUpdater {\n init(particle) {\n const rollOpt = particle.options.roll;\n if (rollOpt.enable) {\n particle.roll = {\n angle: Math.random() * Math.PI * 2,\n speed: (0, Utils_1.getRangeValue)(rollOpt.speed) / 360,\n };\n if (rollOpt.backColor) {\n particle.backColor = (0, Utils_1.colorToHsl)(rollOpt.backColor);\n }\n else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n const alterType = Math.random() >= 0.5 ? Enums_1.AlterType.darken : Enums_1.AlterType.enlighten;\n particle.roll.alter = {\n type: alterType,\n value: alterType === Enums_1.AlterType.darken ? rollOpt.darken.value : rollOpt.enlighten.value,\n };\n }\n else if (rollOpt.darken.enable) {\n particle.roll.alter = {\n type: Enums_1.AlterType.darken,\n value: rollOpt.darken.value,\n };\n }\n else if (rollOpt.enlighten.enable) {\n particle.roll.alter = {\n type: Enums_1.AlterType.enlighten,\n value: rollOpt.enlighten.value,\n };\n }\n }\n else {\n particle.roll = { angle: 0, speed: 0 };\n }\n }\n isEnabled(particle) {\n const roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && roll.enable;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateRoll(particle, delta);\n }\n}\nexports.RollUpdater = RollUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadRollUpdater = void 0;\nconst RollUpdater_1 = require(\"./RollUpdater\");\nasync function loadRollUpdater(tsParticles) {\n await tsParticles.addParticleUpdater(\"roll\", () => new RollUpdater_1.RollUpdater());\n}\nexports.loadRollUpdater = loadRollUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SizeUpdater = void 0;\nconst Enums_1 = require(\"../../Enums\");\nconst Utils_1 = require(\"../../Utils\");\nfunction checkDestroy(particle, value, minValue, maxValue) {\n switch (particle.options.size.animation.destroy) {\n case Enums_1.DestroyType.max:\n if (value >= maxValue) {\n particle.destroy();\n }\n break;\n case Enums_1.DestroyType.min:\n if (value <= minValue) {\n particle.destroy();\n }\n break;\n }\n}\nfunction updateSize(particle, delta) {\n var _a, _b, _c, _d;\n const sizeVelocity = ((_a = particle.size.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n const minValue = particle.size.min;\n const maxValue = particle.size.max;\n if (!(!particle.destroyed &&\n particle.size.enable &&\n (((_b = particle.size.loops) !== null && _b !== void 0 ? _b : 0) <= 0 || ((_c = particle.size.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.size.maxLoops) !== null && _d !== void 0 ? _d : 0)))) {\n return;\n }\n switch (particle.size.status) {\n case Enums_1.AnimationStatus.increasing:\n if (particle.size.value >= maxValue) {\n particle.size.status = Enums_1.AnimationStatus.decreasing;\n if (!particle.size.loops) {\n particle.size.loops = 0;\n }\n particle.size.loops++;\n }\n else {\n particle.size.value += sizeVelocity;\n }\n break;\n case Enums_1.AnimationStatus.decreasing:\n if (particle.size.value <= minValue) {\n particle.size.status = Enums_1.AnimationStatus.increasing;\n if (!particle.size.loops) {\n particle.size.loops = 0;\n }\n particle.size.loops++;\n }\n else {\n particle.size.value -= sizeVelocity;\n }\n }\n checkDestroy(particle, particle.size.value, minValue, maxValue);\n if (!particle.destroyed) {\n particle.size.value = (0, Utils_1.clamp)(particle.size.value, minValue, maxValue);\n }\n}\nclass SizeUpdater {\n init() {\n }\n isEnabled(particle) {\n var _a, _b, _c;\n return (!particle.destroyed &&\n !particle.spawning &&\n particle.size.enable &&\n (((_a = particle.size.loops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.size.loops) !== null && _b !== void 0 ? _b : 0) < ((_c = particle.size.maxLoops) !== null && _c !== void 0 ? _c : 0)));\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateSize(particle, delta);\n }\n}\nexports.SizeUpdater = SizeUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadSizeUpdater = void 0;\nconst SizeUpdater_1 = require(\"./SizeUpdater\");\nasync function loadSizeUpdater(tsParticles) {\n await tsParticles.addParticleUpdater(\"size\", () => new SizeUpdater_1.SizeUpdater());\n}\nexports.loadSizeUpdater = loadSizeUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StrokeColorUpdater = void 0;\nconst Utils_1 = require(\"../../Utils\");\nconst Enums_1 = require(\"../../Enums\");\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a;\n const colorValue = value;\n if (!colorValue || !colorValue.enable) {\n return;\n }\n const offset = (0, Utils_1.randomInRange)(valueAnimation.offset);\n const velocity = ((_a = value.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor + offset * 3.6;\n if (!decrease || colorValue.status === Enums_1.AnimationStatus.increasing) {\n colorValue.value += velocity;\n if (decrease && colorValue.value > max) {\n colorValue.status = Enums_1.AnimationStatus.decreasing;\n colorValue.value -= colorValue.value % max;\n }\n }\n else {\n colorValue.value -= velocity;\n if (colorValue.value < 0) {\n colorValue.status = Enums_1.AnimationStatus.increasing;\n colorValue.value += colorValue.value;\n }\n }\n if (colorValue.value > max) {\n colorValue.value %= max;\n }\n}\nfunction updateStrokeColor(particle, delta) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (!((_a = particle.stroke) === null || _a === void 0 ? void 0 : _a.color)) {\n return;\n }\n const animationOptions = particle.stroke.color.animation;\n const h = (_c = (_b = particle.strokeColor) === null || _b === void 0 ? void 0 : _b.h) !== null && _c !== void 0 ? _c : (_d = particle.color) === null || _d === void 0 ? void 0 : _d.h;\n if (h) {\n updateColorValue(delta, h, animationOptions.h, 360, false);\n }\n const s = (_f = (_e = particle.strokeColor) === null || _e === void 0 ? void 0 : _e.s) !== null && _f !== void 0 ? _f : (_g = particle.color) === null || _g === void 0 ? void 0 : _g.s;\n if (s) {\n updateColorValue(delta, s, animationOptions.s, 100, true);\n }\n const l = (_j = (_h = particle.strokeColor) === null || _h === void 0 ? void 0 : _h.l) !== null && _j !== void 0 ? _j : (_k = particle.color) === null || _k === void 0 ? void 0 : _k.l;\n if (l) {\n updateColorValue(delta, l, animationOptions.l, 100, true);\n }\n}\nclass StrokeColorUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n var _a, _b;\n const container = this.container;\n particle.stroke =\n particle.options.stroke instanceof Array\n ? (0, Utils_1.itemFromArray)(particle.options.stroke, particle.id, particle.options.reduceDuplicates)\n : particle.options.stroke;\n particle.strokeWidth = particle.stroke.width * container.retina.pixelRatio;\n const strokeHslColor = (_a = (0, Utils_1.colorToHsl)(particle.stroke.color)) !== null && _a !== void 0 ? _a : particle.getFillColor();\n if (strokeHslColor) {\n particle.strokeColor = (0, Utils_1.getHslAnimationFromHsl)(strokeHslColor, (_b = particle.stroke.color) === null || _b === void 0 ? void 0 : _b.animation, container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n var _a, _b, _c, _d;\n const color = (_a = particle.stroke) === null || _a === void 0 ? void 0 : _a.color;\n return (!particle.destroyed &&\n !particle.spawning &&\n !!color &&\n ((((_b = particle.strokeColor) === null || _b === void 0 ? void 0 : _b.h.value) !== undefined && color.animation.h.enable) ||\n (((_c = particle.strokeColor) === null || _c === void 0 ? void 0 : _c.s.value) !== undefined && color.animation.s.enable) ||\n (((_d = particle.strokeColor) === null || _d === void 0 ? void 0 : _d.l.value) !== undefined && color.animation.l.enable)));\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateStrokeColor(particle, delta);\n }\n}\nexports.StrokeColorUpdater = StrokeColorUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadStrokeColorUpdater = void 0;\nconst StrokeColorUpdater_1 = require(\"./StrokeColorUpdater\");\nasync function loadStrokeColorUpdater(tsParticles) {\n await tsParticles.addParticleUpdater(\"strokeColor\", (container) => new StrokeColorUpdater_1.StrokeColorUpdater(container));\n}\nexports.loadStrokeColorUpdater = loadStrokeColorUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TiltUpdater = void 0;\nconst Enums_1 = require(\"../../Enums\");\nconst Utils_1 = require(\"../../Utils\");\nfunction updateTilt(particle, delta) {\n var _a;\n if (!particle.tilt) {\n return;\n }\n const tilt = particle.options.tilt;\n const tiltAnimation = tilt.animation;\n const speed = ((_a = particle.tilt.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n const max = 2 * Math.PI;\n if (!tiltAnimation.enable) {\n return;\n }\n switch (particle.tilt.status) {\n case Enums_1.AnimationStatus.increasing:\n particle.tilt.value += speed;\n if (particle.tilt.value > max) {\n particle.tilt.value -= max;\n }\n break;\n case Enums_1.AnimationStatus.decreasing:\n default:\n particle.tilt.value -= speed;\n if (particle.tilt.value < 0) {\n particle.tilt.value += max;\n }\n break;\n }\n}\nclass TiltUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const tiltOptions = particle.options.tilt;\n particle.tilt = {\n enable: tiltOptions.enable,\n value: ((0, Utils_1.getRangeValue)(tiltOptions.value) * Math.PI) / 180,\n sinDirection: Math.random() >= 0.5 ? 1 : -1,\n cosDirection: Math.random() >= 0.5 ? 1 : -1,\n };\n let tiltDirection = tiltOptions.direction;\n if (tiltDirection === Enums_1.TiltDirection.random) {\n const index = Math.floor(Math.random() * 2);\n tiltDirection = index > 0 ? Enums_1.TiltDirection.counterClockwise : Enums_1.TiltDirection.clockwise;\n }\n switch (tiltDirection) {\n case Enums_1.TiltDirection.counterClockwise:\n case \"counterClockwise\":\n particle.tilt.status = Enums_1.AnimationStatus.decreasing;\n break;\n case Enums_1.TiltDirection.clockwise:\n particle.tilt.status = Enums_1.AnimationStatus.increasing;\n break;\n }\n const tiltAnimation = particle.options.tilt.animation;\n if (tiltAnimation.enable) {\n particle.tilt.velocity = (tiltAnimation.speed / 360) * this.container.retina.reduceFactor;\n if (!tiltAnimation.sync) {\n particle.tilt.velocity *= Math.random();\n }\n }\n }\n isEnabled(particle) {\n const tilt = particle.options.tilt;\n const tiltAnimation = tilt.animation;\n return !particle.destroyed && !particle.spawning && tiltAnimation.enable;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateTilt(particle, delta);\n }\n}\nexports.TiltUpdater = TiltUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadTiltUpdater = void 0;\nconst TiltUpdater_1 = require(\"./TiltUpdater\");\nasync function loadTiltUpdater(tsParticles) {\n await tsParticles.addParticleUpdater(\"tilt\", (container) => new TiltUpdater_1.TiltUpdater(container));\n}\nexports.loadTiltUpdater = loadTiltUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WobbleUpdater = void 0;\nconst Utils_1 = require(\"../../Utils\");\nfunction updateWobble(particle, delta) {\n var _a;\n const wobble = particle.options.wobble;\n if (!wobble.enable || !particle.wobble) {\n return;\n }\n const speed = particle.wobble.speed * delta.factor;\n const distance = (((_a = particle.retina.wobbleDistance) !== null && _a !== void 0 ? _a : 0) * delta.factor) / (1000 / 60);\n const max = 2 * Math.PI;\n particle.wobble.angle += speed;\n if (particle.wobble.angle > max) {\n particle.wobble.angle -= max;\n }\n particle.position.x += distance * Math.cos(particle.wobble.angle);\n particle.position.y += distance * Math.abs(Math.sin(particle.wobble.angle));\n}\nclass WobbleUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const wobbleOpt = particle.options.wobble;\n if (wobbleOpt.enable) {\n particle.wobble = {\n angle: Math.random() * Math.PI * 2,\n speed: (0, Utils_1.getRangeValue)(wobbleOpt.speed) / 360,\n };\n }\n else {\n particle.wobble = {\n angle: 0,\n speed: 0,\n };\n }\n particle.retina.wobbleDistance = (0, Utils_1.getRangeValue)(wobbleOpt.distance) * this.container.retina.pixelRatio;\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning && particle.options.wobble.enable;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateWobble(particle, delta);\n }\n}\nexports.WobbleUpdater = WobbleUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadWobbleUpdater = void 0;\nconst WobbleUpdater_1 = require(\"./WobbleUpdater\");\nasync function loadWobbleUpdater(tsParticles) {\n await tsParticles.addParticleUpdater(\"wobble\", (container) => new WobbleUpdater_1.WobbleUpdater(container));\n}\nexports.loadWobbleUpdater = loadWobbleUpdater;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.alterHsl = exports.drawEllipse = exports.drawParticlePlugin = exports.drawPlugin = exports.drawShapeAfterEffect = exports.drawShape = exports.drawParticle = exports.drawGrabLine = exports.gradient = exports.drawConnectLine = exports.drawLinkTriangle = exports.drawLinkLine = exports.clear = exports.paintBase = void 0;\nconst NumberUtils_1 = require(\"./NumberUtils\");\nconst ColorUtils_1 = require(\"./ColorUtils\");\nconst Enums_1 = require(\"../Enums\");\nfunction drawLine(context, begin, end) {\n context.beginPath();\n context.moveTo(begin.x, begin.y);\n context.lineTo(end.x, end.y);\n context.closePath();\n}\nfunction drawTriangle(context, p1, p2, p3) {\n context.beginPath();\n context.moveTo(p1.x, p1.y);\n context.lineTo(p2.x, p2.y);\n context.lineTo(p3.x, p3.y);\n context.closePath();\n}\nfunction paintBase(context, dimension, baseColor) {\n context.save();\n context.fillStyle = baseColor !== null && baseColor !== void 0 ? baseColor : \"rgba(0,0,0,0)\";\n context.fillRect(0, 0, dimension.width, dimension.height);\n context.restore();\n}\nexports.paintBase = paintBase;\nfunction clear(context, dimension) {\n context.clearRect(0, 0, dimension.width, dimension.height);\n}\nexports.clear = clear;\nfunction drawLinkLine(context, width, begin, end, maxDistance, canvasSize, warp, backgroundMask, composite, colorLine, opacity, shadow) {\n let drawn = false;\n if ((0, NumberUtils_1.getDistance)(begin, end) <= maxDistance) {\n drawLine(context, begin, end);\n drawn = true;\n }\n else if (warp) {\n let pi1;\n let pi2;\n const endNE = {\n x: end.x - canvasSize.width,\n y: end.y,\n };\n const d1 = (0, NumberUtils_1.getDistances)(begin, endNE);\n if (d1.distance <= maxDistance) {\n const yi = begin.y - (d1.dy / d1.dx) * begin.x;\n pi1 = { x: 0, y: yi };\n pi2 = { x: canvasSize.width, y: yi };\n }\n else {\n const endSW = {\n x: end.x,\n y: end.y - canvasSize.height,\n };\n const d2 = (0, NumberUtils_1.getDistances)(begin, endSW);\n if (d2.distance <= maxDistance) {\n const yi = begin.y - (d2.dy / d2.dx) * begin.x;\n const xi = -yi / (d2.dy / d2.dx);\n pi1 = { x: xi, y: 0 };\n pi2 = { x: xi, y: canvasSize.height };\n }\n else {\n const endSE = {\n x: end.x - canvasSize.width,\n y: end.y - canvasSize.height,\n };\n const d3 = (0, NumberUtils_1.getDistances)(begin, endSE);\n if (d3.distance <= maxDistance) {\n const yi = begin.y - (d3.dy / d3.dx) * begin.x;\n const xi = -yi / (d3.dy / d3.dx);\n pi1 = { x: xi, y: yi };\n pi2 = { x: pi1.x + canvasSize.width, y: pi1.y + canvasSize.height };\n }\n }\n }\n if (pi1 && pi2) {\n drawLine(context, begin, pi1);\n drawLine(context, end, pi2);\n drawn = true;\n }\n }\n if (!drawn) {\n return;\n }\n context.lineWidth = width;\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n context.strokeStyle = (0, ColorUtils_1.getStyleFromRgb)(colorLine, opacity);\n if (shadow.enable) {\n const shadowColor = (0, ColorUtils_1.colorToRgb)(shadow.color);\n if (shadowColor) {\n context.shadowBlur = shadow.blur;\n context.shadowColor = (0, ColorUtils_1.getStyleFromRgb)(shadowColor);\n }\n }\n context.stroke();\n}\nexports.drawLinkLine = drawLinkLine;\nfunction drawLinkTriangle(context, pos1, pos2, pos3, backgroundMask, composite, colorTriangle, opacityTriangle) {\n drawTriangle(context, pos1, pos2, pos3);\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n context.fillStyle = (0, ColorUtils_1.getStyleFromRgb)(colorTriangle, opacityTriangle);\n context.fill();\n}\nexports.drawLinkTriangle = drawLinkTriangle;\nfunction drawConnectLine(context, width, lineStyle, begin, end) {\n context.save();\n drawLine(context, begin, end);\n context.lineWidth = width;\n context.strokeStyle = lineStyle;\n context.stroke();\n context.restore();\n}\nexports.drawConnectLine = drawConnectLine;\nfunction gradient(context, p1, p2, opacity) {\n const gradStop = Math.floor(p2.getRadius() / p1.getRadius());\n const color1 = p1.getFillColor();\n const color2 = p2.getFillColor();\n if (!color1 || !color2) {\n return;\n }\n const sourcePos = p1.getPosition();\n const destPos = p2.getPosition();\n const midRgb = (0, ColorUtils_1.colorMix)(color1, color2, p1.getRadius(), p2.getRadius());\n const grad = context.createLinearGradient(sourcePos.x, sourcePos.y, destPos.x, destPos.y);\n grad.addColorStop(0, (0, ColorUtils_1.getStyleFromHsl)(color1, opacity));\n grad.addColorStop(gradStop > 1 ? 1 : gradStop, (0, ColorUtils_1.getStyleFromRgb)(midRgb, opacity));\n grad.addColorStop(1, (0, ColorUtils_1.getStyleFromHsl)(color2, opacity));\n return grad;\n}\nexports.gradient = gradient;\nfunction drawGrabLine(context, width, begin, end, colorLine, opacity) {\n context.save();\n drawLine(context, begin, end);\n context.strokeStyle = (0, ColorUtils_1.getStyleFromRgb)(colorLine, opacity);\n context.lineWidth = width;\n context.stroke();\n context.restore();\n}\nexports.drawGrabLine = drawGrabLine;\nfunction drawParticle(container, context, particle, delta, fillColorValue, strokeColorValue, backgroundMask, composite, radius, opacity, shadow, gradient) {\n var _a, _b, _c, _d, _e, _f;\n const pos = particle.getPosition();\n const tiltOptions = particle.options.tilt;\n const rollOptions = particle.options.roll;\n context.save();\n if (tiltOptions.enable || rollOptions.enable) {\n const roll = rollOptions.enable && particle.roll;\n const tilt = tiltOptions.enable && particle.tilt;\n const rollHorizontal = roll && (rollOptions.mode === Enums_1.RollMode.horizontal || rollOptions.mode === Enums_1.RollMode.both);\n const rollVertical = roll && (rollOptions.mode === Enums_1.RollMode.vertical || rollOptions.mode === Enums_1.RollMode.both);\n context.setTransform(rollHorizontal ? Math.cos(particle.roll.angle) : 1, tilt ? Math.cos(particle.tilt.value) * particle.tilt.cosDirection : 0, tilt ? Math.sin(particle.tilt.value) * particle.tilt.sinDirection : 0, rollVertical ? Math.sin(particle.roll.angle) : 1, pos.x, pos.y);\n }\n else {\n context.translate(pos.x, pos.y);\n }\n context.beginPath();\n const angle = ((_b = (_a = particle.rotate) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 0) + (particle.options.rotate.path ? particle.velocity.angle : 0);\n if (angle !== 0) {\n context.rotate(angle);\n }\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n const shadowColor = particle.shadowColor;\n if (shadow.enable && shadowColor) {\n context.shadowBlur = shadow.blur;\n context.shadowColor = (0, ColorUtils_1.getStyleFromRgb)(shadowColor);\n context.shadowOffsetX = shadow.offset.x;\n context.shadowOffsetY = shadow.offset.y;\n }\n if (gradient) {\n const gradientAngle = gradient.angle.value;\n const fillGradient = gradient.type === Enums_1.GradientType.radial\n ? context.createRadialGradient(0, 0, 0, 0, 0, radius)\n : context.createLinearGradient(Math.cos(gradientAngle) * -radius, Math.sin(gradientAngle) * -radius, Math.cos(gradientAngle) * radius, Math.sin(gradientAngle) * radius);\n for (const color of gradient.colors) {\n fillGradient.addColorStop(color.stop, (0, ColorUtils_1.getStyleFromHsl)({\n h: color.value.h.value,\n s: color.value.s.value,\n l: color.value.l.value,\n }, (_d = (_c = color.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : opacity));\n }\n context.fillStyle = fillGradient;\n }\n else {\n if (fillColorValue) {\n context.fillStyle = fillColorValue;\n }\n }\n const stroke = particle.stroke;\n context.lineWidth = (_e = particle.strokeWidth) !== null && _e !== void 0 ? _e : 0;\n if (strokeColorValue) {\n context.strokeStyle = strokeColorValue;\n }\n drawShape(container, context, particle, radius, opacity, delta);\n if (((_f = stroke === null || stroke === void 0 ? void 0 : stroke.width) !== null && _f !== void 0 ? _f : 0) > 0) {\n context.stroke();\n }\n if (particle.close) {\n context.closePath();\n }\n if (particle.fill) {\n context.fill();\n }\n context.restore();\n context.save();\n if (tiltOptions.enable && particle.tilt) {\n context.setTransform(1, Math.cos(particle.tilt.value) * particle.tilt.cosDirection, Math.sin(particle.tilt.value) * particle.tilt.sinDirection, 1, pos.x, pos.y);\n }\n else {\n context.translate(pos.x, pos.y);\n }\n if (angle !== 0) {\n context.rotate(angle);\n }\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n drawShapeAfterEffect(container, context, particle, radius, opacity, delta);\n context.restore();\n}\nexports.drawParticle = drawParticle;\nfunction drawShape(container, context, particle, radius, opacity, delta) {\n if (!particle.shape) {\n return;\n }\n const drawer = container.drawers.get(particle.shape);\n if (!drawer) {\n return;\n }\n drawer.draw(context, particle, radius, opacity, delta, container.retina.pixelRatio);\n}\nexports.drawShape = drawShape;\nfunction drawShapeAfterEffect(container, context, particle, radius, opacity, delta) {\n if (!particle.shape) {\n return;\n }\n const drawer = container.drawers.get(particle.shape);\n if (!(drawer === null || drawer === void 0 ? void 0 : drawer.afterEffect)) {\n return;\n }\n drawer.afterEffect(context, particle, radius, opacity, delta, container.retina.pixelRatio);\n}\nexports.drawShapeAfterEffect = drawShapeAfterEffect;\nfunction drawPlugin(context, plugin, delta) {\n if (!plugin.draw) {\n return;\n }\n context.save();\n plugin.draw(context, delta);\n context.restore();\n}\nexports.drawPlugin = drawPlugin;\nfunction drawParticlePlugin(context, plugin, particle, delta) {\n if (plugin.drawParticle !== undefined) {\n context.save();\n plugin.drawParticle(context, particle, delta);\n context.restore();\n }\n}\nexports.drawParticlePlugin = drawParticlePlugin;\nfunction drawEllipse(context, particle, fillColorValue, radius, opacity, width, rotation, start, end) {\n const pos = particle.getPosition();\n if (fillColorValue) {\n context.strokeStyle = (0, ColorUtils_1.getStyleFromHsl)(fillColorValue, opacity);\n }\n if (width === 0) {\n return;\n }\n context.lineWidth = width;\n const rotationRadian = (rotation * Math.PI) / 180;\n context.beginPath();\n context.ellipse(pos.x, pos.y, radius / 2, radius * 2, rotationRadian, start, end);\n context.stroke();\n}\nexports.drawEllipse = drawEllipse;\nfunction alterHsl(color, type, value) {\n return {\n h: color.h,\n s: color.s,\n l: color.l + (type === Enums_1.AlterType.darken ? -1 : 1) * value,\n };\n}\nexports.alterHsl = alterHsl;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Circle = void 0;\nconst Range_1 = require(\"./Range\");\nconst NumberUtils_1 = require(\"./NumberUtils\");\nclass Circle extends Range_1.Range {\n constructor(x, y, radius) {\n super(x, y);\n this.radius = radius;\n }\n contains(point) {\n return (0, NumberUtils_1.getDistance)(point, this.position) <= this.radius;\n }\n intersects(range) {\n const rect = range;\n const circle = range;\n const pos1 = this.position;\n const pos2 = range.position;\n const xDist = Math.abs(pos2.x - pos1.x);\n const yDist = Math.abs(pos2.y - pos1.y);\n const r = this.radius;\n if (circle.radius !== undefined) {\n const rSum = r + circle.radius;\n const dist = Math.sqrt(xDist * xDist + yDist + yDist);\n return rSum > dist;\n }\n else if (rect.size !== undefined) {\n const w = rect.size.width;\n const h = rect.size.height;\n const edges = Math.pow(xDist - w, 2) + Math.pow(yDist - h, 2);\n if (xDist > r + w || yDist > r + h) {\n return false;\n }\n if (xDist <= w || yDist <= h) {\n return true;\n }\n return edges <= r * r;\n }\n return false;\n }\n}\nexports.Circle = Circle;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CircleWarp = void 0;\nconst Rectangle_1 = require(\"./Rectangle\");\nconst Circle_1 = require(\"./Circle\");\nclass CircleWarp extends Circle_1.Circle {\n constructor(x, y, radius, canvasSize) {\n super(x, y, radius);\n this.canvasSize = canvasSize;\n this.canvasSize = {\n height: canvasSize.height,\n width: canvasSize.width,\n };\n }\n contains(point) {\n if (super.contains(point)) {\n return true;\n }\n const posNE = {\n x: point.x - this.canvasSize.width,\n y: point.y,\n };\n if (super.contains(posNE)) {\n return true;\n }\n const posSE = {\n x: point.x - this.canvasSize.width,\n y: point.y - this.canvasSize.height,\n };\n if (super.contains(posSE)) {\n return true;\n }\n const posSW = {\n x: point.x,\n y: point.y - this.canvasSize.height,\n };\n return super.contains(posSW);\n }\n intersects(range) {\n if (super.intersects(range)) {\n return true;\n }\n const rect = range;\n const circle = range;\n const newPos = {\n x: range.position.x - this.canvasSize.width,\n y: range.position.y - this.canvasSize.height,\n };\n if (circle.radius !== undefined) {\n const biggerCircle = new Circle_1.Circle(newPos.x, newPos.y, circle.radius * 2);\n return super.intersects(biggerCircle);\n }\n else if (rect.size !== undefined) {\n const rectSW = new Rectangle_1.Rectangle(newPos.x, newPos.y, rect.size.width * 2, rect.size.height * 2);\n return super.intersects(rectSW);\n }\n return false;\n }\n}\nexports.CircleWarp = CircleWarp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHslAnimationFromHsl = exports.getHslFromAnimation = exports.getLinkRandomColor = exports.getLinkColor = exports.colorMix = exports.getStyleFromHsv = exports.getStyleFromHsl = exports.getStyleFromRgb = exports.getRandomRgbColor = exports.rgbaToHsva = exports.rgbToHsv = exports.hsvaToRgba = exports.hsvToRgb = exports.hsvaToHsla = exports.hsvToHsl = exports.hslaToHsva = exports.hslToHsv = exports.hslaToRgba = exports.hslToRgb = exports.stringToRgb = exports.stringToAlpha = exports.rgbToHsl = exports.colorToHsl = exports.colorToRgb = void 0;\nconst Utils_1 = require(\"./Utils\");\nconst Constants_1 = require(\"./Constants\");\nconst NumberUtils_1 = require(\"./NumberUtils\");\nconst Enums_1 = require(\"../Enums\");\nfunction hue2rgb(p, q, t) {\n let tCalc = t;\n if (tCalc < 0) {\n tCalc += 1;\n }\n if (tCalc > 1) {\n tCalc -= 1;\n }\n if (tCalc < 1 / 6) {\n return p + (q - p) * 6 * tCalc;\n }\n if (tCalc < 1 / 2) {\n return q;\n }\n if (tCalc < 2 / 3) {\n return p + (q - p) * (2 / 3 - tCalc) * 6;\n }\n return p;\n}\nfunction stringToRgba(input) {\n if (input.startsWith(\"rgb\")) {\n const regex = /rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n const result = regex.exec(input);\n return result\n ? {\n a: result.length > 4 ? parseFloat(result[5]) : 1,\n b: parseInt(result[3], 10),\n g: parseInt(result[2], 10),\n r: parseInt(result[1], 10),\n }\n : undefined;\n }\n else if (input.startsWith(\"hsl\")) {\n const regex = /hsla?\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n const result = regex.exec(input);\n return result\n ? hslaToRgba({\n a: result.length > 4 ? parseFloat(result[5]) : 1,\n h: parseInt(result[1], 10),\n l: parseInt(result[3], 10),\n s: parseInt(result[2], 10),\n })\n : undefined;\n }\n else if (input.startsWith(\"hsv\")) {\n const regex = /hsva?\\(\\s*(\\d+)°\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n const result = regex.exec(input);\n return result\n ? hsvaToRgba({\n a: result.length > 4 ? parseFloat(result[5]) : 1,\n h: parseInt(result[1], 10),\n s: parseInt(result[2], 10),\n v: parseInt(result[3], 10),\n })\n : undefined;\n }\n else {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i;\n const hexFixed = input.replace(shorthandRegex, (_m, r, g, b, a) => {\n return r + r + g + g + b + b + (a !== undefined ? a + a : \"\");\n });\n const regex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i;\n const result = regex.exec(hexFixed);\n return result\n ? {\n a: result[4] !== undefined ? parseInt(result[4], 16) / 0xff : 1,\n b: parseInt(result[3], 16),\n g: parseInt(result[2], 16),\n r: parseInt(result[1], 16),\n }\n : undefined;\n }\n}\nfunction colorToRgb(input, index, useIndex = true) {\n var _a, _b, _c;\n if (input === undefined) {\n return;\n }\n const color = typeof input === \"string\" ? { value: input } : input;\n let res;\n if (typeof color.value === \"string\") {\n if (color.value === Constants_1.Constants.randomColorValue) {\n res = getRandomRgbColor();\n }\n else {\n res = stringToRgb(color.value);\n }\n }\n else {\n if (color.value instanceof Array) {\n const colorSelected = (0, Utils_1.itemFromArray)(color.value, index, useIndex);\n res = colorToRgb({ value: colorSelected });\n }\n else {\n const colorValue = color.value;\n const rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;\n if (rgbColor.r !== undefined) {\n res = rgbColor;\n }\n else {\n const hslColor = (_b = colorValue.hsl) !== null && _b !== void 0 ? _b : color.value;\n if (hslColor.h !== undefined && hslColor.l !== undefined) {\n res = hslToRgb(hslColor);\n }\n else {\n const hsvColor = (_c = colorValue.hsv) !== null && _c !== void 0 ? _c : color.value;\n if (hsvColor.h !== undefined && hsvColor.v !== undefined) {\n res = hsvToRgb(hsvColor);\n }\n }\n }\n }\n }\n return res;\n}\nexports.colorToRgb = colorToRgb;\nfunction colorToHsl(color, index, useIndex = true) {\n const rgb = colorToRgb(color, index, useIndex);\n return rgb !== undefined ? rgbToHsl(rgb) : undefined;\n}\nexports.colorToHsl = colorToHsl;\nfunction rgbToHsl(color) {\n const r1 = color.r / 255;\n const g1 = color.g / 255;\n const b1 = color.b / 255;\n const max = Math.max(r1, g1, b1);\n const min = Math.min(r1, g1, b1);\n const res = {\n h: 0,\n l: (max + min) / 2,\n s: 0,\n };\n if (max != min) {\n res.s = res.l < 0.5 ? (max - min) / (max + min) : (max - min) / (2.0 - max - min);\n res.h =\n r1 === max\n ? (g1 - b1) / (max - min)\n : (res.h = g1 === max ? 2.0 + (b1 - r1) / (max - min) : 4.0 + (r1 - g1) / (max - min));\n }\n res.l *= 100;\n res.s *= 100;\n res.h *= 60;\n if (res.h < 0) {\n res.h += 360;\n }\n return res;\n}\nexports.rgbToHsl = rgbToHsl;\nfunction stringToAlpha(input) {\n var _a;\n return (_a = stringToRgba(input)) === null || _a === void 0 ? void 0 : _a.a;\n}\nexports.stringToAlpha = stringToAlpha;\nfunction stringToRgb(input) {\n return stringToRgba(input);\n}\nexports.stringToRgb = stringToRgb;\nfunction hslToRgb(hsl) {\n const result = { b: 0, g: 0, r: 0 };\n const hslPercent = {\n h: hsl.h / 360,\n l: hsl.l / 100,\n s: hsl.s / 100,\n };\n if (hslPercent.s === 0) {\n result.b = hslPercent.l;\n result.g = hslPercent.l;\n result.r = hslPercent.l;\n }\n else {\n const q = hslPercent.l < 0.5\n ? hslPercent.l * (1 + hslPercent.s)\n : hslPercent.l + hslPercent.s - hslPercent.l * hslPercent.s;\n const p = 2 * hslPercent.l - q;\n result.r = hue2rgb(p, q, hslPercent.h + 1 / 3);\n result.g = hue2rgb(p, q, hslPercent.h);\n result.b = hue2rgb(p, q, hslPercent.h - 1 / 3);\n }\n result.r = Math.floor(result.r * 255);\n result.g = Math.floor(result.g * 255);\n result.b = Math.floor(result.b * 255);\n return result;\n}\nexports.hslToRgb = hslToRgb;\nfunction hslaToRgba(hsla) {\n const rgbResult = hslToRgb(hsla);\n return {\n a: hsla.a,\n b: rgbResult.b,\n g: rgbResult.g,\n r: rgbResult.r,\n };\n}\nexports.hslaToRgba = hslaToRgba;\nfunction hslToHsv(hsl) {\n const l = hsl.l / 100, sl = hsl.s / 100;\n const v = l + sl * Math.min(l, 1 - l), sv = !v ? 0 : 2 * (1 - l / v);\n return {\n h: hsl.h,\n s: sv * 100,\n v: v * 100,\n };\n}\nexports.hslToHsv = hslToHsv;\nfunction hslaToHsva(hsla) {\n const hsvResult = hslToHsv(hsla);\n return {\n a: hsla.a,\n h: hsvResult.h,\n s: hsvResult.s,\n v: hsvResult.v,\n };\n}\nexports.hslaToHsva = hslaToHsva;\nfunction hsvToHsl(hsv) {\n const v = hsv.v / 100, sv = hsv.s / 100;\n const l = v * (1 - sv / 2), sl = l === 0 || l === 1 ? 0 : (v - l) / Math.min(l, 1 - l);\n return {\n h: hsv.h,\n l: l * 100,\n s: sl * 100,\n };\n}\nexports.hsvToHsl = hsvToHsl;\nfunction hsvaToHsla(hsva) {\n const hslResult = hsvToHsl(hsva);\n return {\n a: hsva.a,\n h: hslResult.h,\n l: hslResult.l,\n s: hslResult.s,\n };\n}\nexports.hsvaToHsla = hsvaToHsla;\nfunction hsvToRgb(hsv) {\n const result = { b: 0, g: 0, r: 0 };\n const hsvPercent = {\n h: hsv.h / 60,\n s: hsv.s / 100,\n v: hsv.v / 100,\n };\n const c = hsvPercent.v * hsvPercent.s, x = c * (1 - Math.abs((hsvPercent.h % 2) - 1));\n let tempRgb;\n if (hsvPercent.h >= 0 && hsvPercent.h <= 1) {\n tempRgb = {\n r: c,\n g: x,\n b: 0,\n };\n }\n else if (hsvPercent.h > 1 && hsvPercent.h <= 2) {\n tempRgb = {\n r: x,\n g: c,\n b: 0,\n };\n }\n else if (hsvPercent.h > 2 && hsvPercent.h <= 3) {\n tempRgb = {\n r: 0,\n g: c,\n b: x,\n };\n }\n else if (hsvPercent.h > 3 && hsvPercent.h <= 4) {\n tempRgb = {\n r: 0,\n g: x,\n b: c,\n };\n }\n else if (hsvPercent.h > 4 && hsvPercent.h <= 5) {\n tempRgb = {\n r: x,\n g: 0,\n b: c,\n };\n }\n else if (hsvPercent.h > 5 && hsvPercent.h <= 6) {\n tempRgb = {\n r: c,\n g: 0,\n b: x,\n };\n }\n if (tempRgb) {\n const m = hsvPercent.v - c;\n result.r = Math.floor((tempRgb.r + m) * 255);\n result.g = Math.floor((tempRgb.g + m) * 255);\n result.b = Math.floor((tempRgb.b + m) * 255);\n }\n return result;\n}\nexports.hsvToRgb = hsvToRgb;\nfunction hsvaToRgba(hsva) {\n const rgbResult = hsvToRgb(hsva);\n return {\n a: hsva.a,\n b: rgbResult.b,\n g: rgbResult.g,\n r: rgbResult.r,\n };\n}\nexports.hsvaToRgba = hsvaToRgba;\nfunction rgbToHsv(rgb) {\n const rgbPercent = {\n r: rgb.r / 255,\n g: rgb.g / 255,\n b: rgb.b / 255,\n }, xMax = Math.max(rgbPercent.r, rgbPercent.g, rgbPercent.b), xMin = Math.min(rgbPercent.r, rgbPercent.g, rgbPercent.b), v = xMax, c = xMax - xMin;\n let h = 0;\n if (v === rgbPercent.r) {\n h = 60 * ((rgbPercent.g - rgbPercent.b) / c);\n }\n else if (v === rgbPercent.g) {\n h = 60 * (2 + (rgbPercent.b - rgbPercent.r) / c);\n }\n else if (v === rgbPercent.b) {\n h = 60 * (4 + (rgbPercent.r - rgbPercent.g) / c);\n }\n const s = !v ? 0 : c / v;\n return {\n h,\n s: s * 100,\n v: v * 100,\n };\n}\nexports.rgbToHsv = rgbToHsv;\nfunction rgbaToHsva(rgba) {\n const hsvResult = rgbToHsv(rgba);\n return {\n a: rgba.a,\n h: hsvResult.h,\n s: hsvResult.s,\n v: hsvResult.v,\n };\n}\nexports.rgbaToHsva = rgbaToHsva;\nfunction getRandomRgbColor(min) {\n const fixedMin = min !== null && min !== void 0 ? min : 0;\n return {\n b: Math.floor((0, NumberUtils_1.randomInRange)((0, NumberUtils_1.setRangeValue)(fixedMin, 256))),\n g: Math.floor((0, NumberUtils_1.randomInRange)((0, NumberUtils_1.setRangeValue)(fixedMin, 256))),\n r: Math.floor((0, NumberUtils_1.randomInRange)((0, NumberUtils_1.setRangeValue)(fixedMin, 256))),\n };\n}\nexports.getRandomRgbColor = getRandomRgbColor;\nfunction getStyleFromRgb(color, opacity) {\n return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity !== null && opacity !== void 0 ? opacity : 1})`;\n}\nexports.getStyleFromRgb = getStyleFromRgb;\nfunction getStyleFromHsl(color, opacity) {\n return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity !== null && opacity !== void 0 ? opacity : 1})`;\n}\nexports.getStyleFromHsl = getStyleFromHsl;\nfunction getStyleFromHsv(color, opacity) {\n return getStyleFromHsl(hsvToHsl(color), opacity);\n}\nexports.getStyleFromHsv = getStyleFromHsv;\nfunction colorMix(color1, color2, size1, size2) {\n let rgb1 = color1;\n let rgb2 = color2;\n if (rgb1.r === undefined) {\n rgb1 = hslToRgb(color1);\n }\n if (rgb2.r === undefined) {\n rgb2 = hslToRgb(color2);\n }\n return {\n b: (0, NumberUtils_1.mix)(rgb1.b, rgb2.b, size1, size2),\n g: (0, NumberUtils_1.mix)(rgb1.g, rgb2.g, size1, size2),\n r: (0, NumberUtils_1.mix)(rgb1.r, rgb2.r, size1, size2),\n };\n}\nexports.colorMix = colorMix;\nfunction getLinkColor(p1, p2, linkColor) {\n var _a, _b;\n if (linkColor === Constants_1.Constants.randomColorValue) {\n return getRandomRgbColor();\n }\n else if (linkColor === \"mid\") {\n const sourceColor = (_a = p1.getFillColor()) !== null && _a !== void 0 ? _a : p1.getStrokeColor();\n const destColor = (_b = p2 === null || p2 === void 0 ? void 0 : p2.getFillColor()) !== null && _b !== void 0 ? _b : p2 === null || p2 === void 0 ? void 0 : p2.getStrokeColor();\n if (sourceColor && destColor && p2) {\n return colorMix(sourceColor, destColor, p1.getRadius(), p2.getRadius());\n }\n else {\n const hslColor = sourceColor !== null && sourceColor !== void 0 ? sourceColor : destColor;\n if (hslColor) {\n return hslToRgb(hslColor);\n }\n }\n }\n else {\n return linkColor;\n }\n}\nexports.getLinkColor = getLinkColor;\nfunction getLinkRandomColor(optColor, blink, consent) {\n const color = typeof optColor === \"string\" ? optColor : optColor.value;\n if (color === Constants_1.Constants.randomColorValue) {\n if (consent) {\n return colorToRgb({\n value: color,\n });\n }\n else if (blink) {\n return Constants_1.Constants.randomColorValue;\n }\n else {\n return Constants_1.Constants.midColorValue;\n }\n }\n else {\n return colorToRgb({\n value: color,\n });\n }\n}\nexports.getLinkRandomColor = getLinkRandomColor;\nfunction getHslFromAnimation(animation) {\n return animation !== undefined\n ? {\n h: animation.h.value,\n s: animation.s.value,\n l: animation.l.value,\n }\n : undefined;\n}\nexports.getHslFromAnimation = getHslFromAnimation;\nfunction getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {\n const resColor = {\n h: {\n enable: false,\n value: hsl.h,\n },\n s: {\n enable: false,\n value: hsl.s,\n },\n l: {\n enable: false,\n value: hsl.l,\n },\n };\n if (animationOptions) {\n setColorAnimation(resColor.h, animationOptions.h, reduceFactor);\n setColorAnimation(resColor.s, animationOptions.s, reduceFactor);\n setColorAnimation(resColor.l, animationOptions.l, reduceFactor);\n }\n return resColor;\n}\nexports.getHslAnimationFromHsl = getHslAnimationFromHsl;\nfunction setColorAnimation(colorValue, colorAnimation, reduceFactor) {\n colorValue.enable = colorAnimation.enable;\n if (colorValue.enable) {\n colorValue.velocity = (colorAnimation.speed / 100) * reduceFactor;\n if (colorAnimation.sync) {\n return;\n }\n colorValue.status = Enums_1.AnimationStatus.increasing;\n colorValue.velocity *= Math.random();\n if (colorValue.value) {\n colorValue.value *= Math.random();\n }\n }\n else {\n colorValue.velocity = 0;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Constants = void 0;\nclass Constants {\n}\nexports.Constants = Constants;\nConstants.canvasClass = \"tsparticles-canvas-el\";\nConstants.randomColorValue = \"random\";\nConstants.midColorValue = \"mid\";\nConstants.touchEndEvent = \"touchend\";\nConstants.mouseDownEvent = \"mousedown\";\nConstants.mouseUpEvent = \"mouseup\";\nConstants.mouseMoveEvent = \"mousemove\";\nConstants.touchStartEvent = \"touchstart\";\nConstants.touchMoveEvent = \"touchmove\";\nConstants.mouseLeaveEvent = \"mouseleave\";\nConstants.mouseOutEvent = \"mouseout\";\nConstants.touchCancelEvent = \"touchcancel\";\nConstants.resizeEvent = \"resize\";\nConstants.visibilityChangeEvent = \"visibilitychange\";\nConstants.noPolygonDataLoaded = \"No polygon data loaded.\";\nConstants.noPolygonFound = \"No polygon found, you need to specify SVG url in config.\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventListeners = void 0;\nconst Enums_1 = require(\"../Enums\");\nconst Constants_1 = require(\"./Constants\");\nconst Utils_1 = require(\"./Utils\");\nfunction manageListener(element, event, handler, add, options) {\n if (add) {\n let addOptions = { passive: true };\n if (typeof options === \"boolean\") {\n addOptions.capture = options;\n }\n else if (options !== undefined) {\n addOptions = options;\n }\n element.addEventListener(event, handler, addOptions);\n }\n else {\n const removeOptions = options;\n element.removeEventListener(event, handler, removeOptions);\n }\n}\nclass EventListeners {\n constructor(container) {\n this.container = container;\n this.canPush = true;\n this.mouseMoveHandler = (e) => this.mouseTouchMove(e);\n this.touchStartHandler = (e) => this.mouseTouchMove(e);\n this.touchMoveHandler = (e) => this.mouseTouchMove(e);\n this.touchEndHandler = () => this.mouseTouchFinish();\n this.mouseLeaveHandler = () => this.mouseTouchFinish();\n this.touchCancelHandler = () => this.mouseTouchFinish();\n this.touchEndClickHandler = (e) => this.mouseTouchClick(e);\n this.mouseUpHandler = (e) => this.mouseTouchClick(e);\n this.mouseDownHandler = () => this.mouseDown();\n this.visibilityChangeHandler = () => this.handleVisibilityChange();\n this.themeChangeHandler = (e) => this.handleThemeChange(e);\n this.oldThemeChangeHandler = (e) => this.handleThemeChange(e);\n this.resizeHandler = () => this.handleWindowResize();\n }\n addListeners() {\n this.manageListeners(true);\n }\n removeListeners() {\n this.manageListeners(false);\n }\n manageListeners(add) {\n var _a;\n const container = this.container;\n const options = container.actualOptions;\n const detectType = options.interactivity.detectsOn;\n let mouseLeaveEvent = Constants_1.Constants.mouseLeaveEvent;\n if (detectType === Enums_1.InteractivityDetect.window) {\n container.interactivity.element = window;\n mouseLeaveEvent = Constants_1.Constants.mouseOutEvent;\n }\n else if (detectType === Enums_1.InteractivityDetect.parent && container.canvas.element) {\n const canvasEl = container.canvas.element;\n container.interactivity.element = (_a = canvasEl.parentElement) !== null && _a !== void 0 ? _a : canvasEl.parentNode;\n }\n else {\n container.interactivity.element = container.canvas.element;\n }\n const mediaMatch = !(0, Utils_1.isSsr)() && typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-color-scheme: dark)\");\n if (mediaMatch) {\n if (mediaMatch.addEventListener !== undefined) {\n manageListener(mediaMatch, \"change\", this.themeChangeHandler, add);\n }\n else if (mediaMatch.addListener !== undefined) {\n if (add) {\n mediaMatch.addListener(this.oldThemeChangeHandler);\n }\n else {\n mediaMatch.removeListener(this.oldThemeChangeHandler);\n }\n }\n }\n const interactivityEl = container.interactivity.element;\n if (!interactivityEl) {\n return;\n }\n const html = interactivityEl;\n if (options.interactivity.events.onHover.enable || options.interactivity.events.onClick.enable) {\n manageListener(interactivityEl, Constants_1.Constants.mouseMoveEvent, this.mouseMoveHandler, add);\n manageListener(interactivityEl, Constants_1.Constants.touchStartEvent, this.touchStartHandler, add);\n manageListener(interactivityEl, Constants_1.Constants.touchMoveEvent, this.touchMoveHandler, add);\n if (!options.interactivity.events.onClick.enable) {\n manageListener(interactivityEl, Constants_1.Constants.touchEndEvent, this.touchEndHandler, add);\n }\n else {\n manageListener(interactivityEl, Constants_1.Constants.touchEndEvent, this.touchEndClickHandler, add);\n manageListener(interactivityEl, Constants_1.Constants.mouseUpEvent, this.mouseUpHandler, add);\n manageListener(interactivityEl, Constants_1.Constants.mouseDownEvent, this.mouseDownHandler, add);\n }\n manageListener(interactivityEl, mouseLeaveEvent, this.mouseLeaveHandler, add);\n manageListener(interactivityEl, Constants_1.Constants.touchCancelEvent, this.touchCancelHandler, add);\n }\n if (container.canvas.element) {\n container.canvas.element.style.pointerEvents = html === container.canvas.element ? \"initial\" : \"none\";\n }\n if (options.interactivity.events.resize) {\n if (typeof ResizeObserver !== \"undefined\") {\n if (this.resizeObserver && !add) {\n if (container.canvas.element) {\n this.resizeObserver.unobserve(container.canvas.element);\n }\n this.resizeObserver.disconnect();\n delete this.resizeObserver;\n }\n else if (!this.resizeObserver && add && container.canvas.element) {\n this.resizeObserver = new ResizeObserver((entries) => {\n const entry = entries.find((e) => e.target === container.canvas.element);\n if (!entry) {\n return;\n }\n this.handleWindowResize();\n });\n this.resizeObserver.observe(container.canvas.element);\n }\n }\n else {\n manageListener(window, Constants_1.Constants.resizeEvent, this.resizeHandler, add);\n }\n }\n if (document) {\n manageListener(document, Constants_1.Constants.visibilityChangeEvent, this.visibilityChangeHandler, add, false);\n }\n }\n handleWindowResize() {\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n delete this.resizeTimeout;\n }\n this.resizeTimeout = setTimeout(() => { var _a; return (_a = this.container.canvas) === null || _a === void 0 ? void 0 : _a.windowResize(); }, 500);\n }\n handleVisibilityChange() {\n const container = this.container;\n const options = container.actualOptions;\n this.mouseTouchFinish();\n if (!options.pauseOnBlur) {\n return;\n }\n if (document === null || document === void 0 ? void 0 : document.hidden) {\n container.pageHidden = true;\n container.pause();\n }\n else {\n container.pageHidden = false;\n if (container.getAnimationStatus()) {\n container.play(true);\n }\n else {\n container.draw(true);\n }\n }\n }\n mouseDown() {\n const interactivity = this.container.interactivity;\n if (interactivity) {\n const mouse = interactivity.mouse;\n mouse.clicking = true;\n mouse.downPosition = mouse.position;\n }\n }\n mouseTouchMove(e) {\n var _a, _b, _c, _d, _e, _f, _g;\n const container = this.container;\n const options = container.actualOptions;\n if (((_a = container.interactivity) === null || _a === void 0 ? void 0 : _a.element) === undefined) {\n return;\n }\n container.interactivity.mouse.inside = true;\n let pos;\n const canvas = container.canvas.element;\n if (e.type.startsWith(\"mouse\")) {\n this.canPush = true;\n const mouseEvent = e;\n if (container.interactivity.element === window) {\n if (canvas) {\n const clientRect = canvas.getBoundingClientRect();\n pos = {\n x: mouseEvent.clientX - clientRect.left,\n y: mouseEvent.clientY - clientRect.top,\n };\n }\n }\n else if (options.interactivity.detectsOn === Enums_1.InteractivityDetect.parent) {\n const source = mouseEvent.target;\n const target = mouseEvent.currentTarget;\n const canvasEl = container.canvas.element;\n if (source && target && canvasEl) {\n const sourceRect = source.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n const canvasRect = canvasEl.getBoundingClientRect();\n pos = {\n x: mouseEvent.offsetX + 2 * sourceRect.left - (targetRect.left + canvasRect.left),\n y: mouseEvent.offsetY + 2 * sourceRect.top - (targetRect.top + canvasRect.top),\n };\n }\n else {\n pos = {\n x: (_b = mouseEvent.offsetX) !== null && _b !== void 0 ? _b : mouseEvent.clientX,\n y: (_c = mouseEvent.offsetY) !== null && _c !== void 0 ? _c : mouseEvent.clientY,\n };\n }\n }\n else {\n if (mouseEvent.target === container.canvas.element) {\n pos = {\n x: (_d = mouseEvent.offsetX) !== null && _d !== void 0 ? _d : mouseEvent.clientX,\n y: (_e = mouseEvent.offsetY) !== null && _e !== void 0 ? _e : mouseEvent.clientY,\n };\n }\n }\n }\n else {\n this.canPush = e.type !== \"touchmove\";\n const touchEvent = e;\n const lastTouch = touchEvent.touches[touchEvent.touches.length - 1];\n const canvasRect = canvas === null || canvas === void 0 ? void 0 : canvas.getBoundingClientRect();\n pos = {\n x: lastTouch.clientX - ((_f = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.left) !== null && _f !== void 0 ? _f : 0),\n y: lastTouch.clientY - ((_g = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.top) !== null && _g !== void 0 ? _g : 0),\n };\n }\n const pxRatio = container.retina.pixelRatio;\n if (pos) {\n pos.x *= pxRatio;\n pos.y *= pxRatio;\n }\n container.interactivity.mouse.position = pos;\n container.interactivity.status = Constants_1.Constants.mouseMoveEvent;\n }\n mouseTouchFinish() {\n const interactivity = this.container.interactivity;\n if (interactivity === undefined) {\n return;\n }\n const mouse = interactivity.mouse;\n delete mouse.position;\n delete mouse.clickPosition;\n delete mouse.downPosition;\n interactivity.status = Constants_1.Constants.mouseLeaveEvent;\n mouse.inside = false;\n mouse.clicking = false;\n }\n mouseTouchClick(e) {\n const container = this.container;\n const options = container.actualOptions;\n const mouse = container.interactivity.mouse;\n mouse.inside = true;\n let handled = false;\n const mousePosition = mouse.position;\n if (mousePosition === undefined || !options.interactivity.events.onClick.enable) {\n return;\n }\n for (const [, plugin] of container.plugins) {\n if (plugin.clickPositionValid !== undefined) {\n handled = plugin.clickPositionValid(mousePosition);\n if (handled) {\n break;\n }\n }\n }\n if (!handled) {\n this.doMouseTouchClick(e);\n }\n mouse.clicking = false;\n }\n doMouseTouchClick(e) {\n const container = this.container;\n const options = container.actualOptions;\n if (this.canPush) {\n const mousePos = container.interactivity.mouse.position;\n if (mousePos) {\n container.interactivity.mouse.clickPosition = {\n x: mousePos.x,\n y: mousePos.y,\n };\n }\n else {\n return;\n }\n container.interactivity.mouse.clickTime = new Date().getTime();\n const onClick = options.interactivity.events.onClick;\n if (onClick.mode instanceof Array) {\n for (const mode of onClick.mode) {\n this.handleClickMode(mode);\n }\n }\n else {\n this.handleClickMode(onClick.mode);\n }\n }\n if (e.type === \"touchend\") {\n setTimeout(() => this.mouseTouchFinish(), 500);\n }\n }\n handleThemeChange(e) {\n const mediaEvent = e;\n const themeName = mediaEvent.matches\n ? this.container.options.defaultDarkTheme\n : this.container.options.defaultLightTheme;\n const theme = this.container.options.themes.find((theme) => theme.name === themeName);\n if (theme && theme.default.auto) {\n this.container.loadTheme(themeName);\n }\n }\n handleClickMode(mode) {\n const container = this.container;\n const options = container.actualOptions;\n const pushNb = options.interactivity.modes.push.quantity;\n const removeNb = options.interactivity.modes.remove.quantity;\n switch (mode) {\n case Enums_1.ClickMode.push: {\n if (pushNb > 0) {\n const pushOptions = options.interactivity.modes.push;\n const group = (0, Utils_1.itemFromArray)([undefined, ...pushOptions.groups]);\n const groupOptions = group !== undefined ? container.actualOptions.particles.groups[group] : undefined;\n container.particles.push(pushNb, container.interactivity.mouse, groupOptions, group);\n }\n break;\n }\n case Enums_1.ClickMode.remove:\n container.particles.removeQuantity(removeNb);\n break;\n case Enums_1.ClickMode.bubble:\n container.bubble.clicking = true;\n break;\n case Enums_1.ClickMode.repulse:\n container.repulse.clicking = true;\n container.repulse.count = 0;\n for (const particle of container.repulse.particles) {\n particle.velocity.setTo(particle.initialVelocity);\n }\n container.repulse.particles = [];\n container.repulse.finish = false;\n setTimeout(() => {\n if (!container.destroyed) {\n container.repulse.clicking = false;\n }\n }, options.interactivity.modes.repulse.duration * 1000);\n break;\n case Enums_1.ClickMode.attract:\n container.attract.clicking = true;\n container.attract.count = 0;\n for (const particle of container.attract.particles) {\n particle.velocity.setTo(particle.initialVelocity);\n }\n container.attract.particles = [];\n container.attract.finish = false;\n setTimeout(() => {\n if (!container.destroyed) {\n container.attract.clicking = false;\n }\n }, options.interactivity.modes.attract.duration * 1000);\n break;\n case Enums_1.ClickMode.pause:\n if (container.getAnimationStatus()) {\n container.pause();\n }\n else {\n container.play();\n }\n break;\n }\n for (const [, plugin] of container.plugins) {\n if (plugin.handleClickMode) {\n plugin.handleClickMode(mode);\n }\n }\n }\n}\nexports.EventListeners = EventListeners;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.calcEasing = exports.collisionVelocity = exports.getParticleBaseVelocity = exports.getParticleDirectionAngle = exports.getDistance = exports.getDistances = exports.getValue = exports.setRangeValue = exports.getRangeMax = exports.getRangeMin = exports.getRangeValue = exports.randomInRange = exports.mix = exports.clamp = void 0;\nconst Enums_1 = require(\"../Enums\");\nconst Vector_1 = require(\"../Core/Particle/Vector\");\nfunction clamp(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\nexports.clamp = clamp;\nfunction mix(comp1, comp2, weight1, weight2) {\n return Math.floor((comp1 * weight1 + comp2 * weight2) / (weight1 + weight2));\n}\nexports.mix = mix;\nfunction randomInRange(r) {\n const max = getRangeMax(r);\n let min = getRangeMin(r);\n if (max === min) {\n min = 0;\n }\n return Math.random() * (max - min) + min;\n}\nexports.randomInRange = randomInRange;\nfunction getRangeValue(value) {\n return typeof value === \"number\" ? value : randomInRange(value);\n}\nexports.getRangeValue = getRangeValue;\nfunction getRangeMin(value) {\n return typeof value === \"number\" ? value : value.min;\n}\nexports.getRangeMin = getRangeMin;\nfunction getRangeMax(value) {\n return typeof value === \"number\" ? value : value.max;\n}\nexports.getRangeMax = getRangeMax;\nfunction setRangeValue(source, value) {\n if (source === value || (value === undefined && typeof source === \"number\")) {\n return source;\n }\n const min = getRangeMin(source), max = getRangeMax(source);\n return value !== undefined\n ? {\n min: Math.min(min, value),\n max: Math.max(max, value),\n }\n : setRangeValue(min, max);\n}\nexports.setRangeValue = setRangeValue;\nfunction getValue(options) {\n const random = options.random;\n const { enable, minimumValue } = typeof random === \"boolean\" ? { enable: random, minimumValue: 0 } : random;\n return enable ? getRangeValue(setRangeValue(options.value, minimumValue)) : getRangeValue(options.value);\n}\nexports.getValue = getValue;\nfunction getDistances(pointA, pointB) {\n const dx = pointA.x - pointB.x;\n const dy = pointA.y - pointB.y;\n return { dx: dx, dy: dy, distance: Math.sqrt(dx * dx + dy * dy) };\n}\nexports.getDistances = getDistances;\nfunction getDistance(pointA, pointB) {\n return getDistances(pointA, pointB).distance;\n}\nexports.getDistance = getDistance;\nfunction getParticleDirectionAngle(direction) {\n if (typeof direction === \"number\") {\n return (direction * Math.PI) / 180;\n }\n else {\n switch (direction) {\n case Enums_1.MoveDirection.top:\n return -Math.PI / 2;\n case Enums_1.MoveDirection.topRight:\n return -Math.PI / 4;\n case Enums_1.MoveDirection.right:\n return 0;\n case Enums_1.MoveDirection.bottomRight:\n return Math.PI / 4;\n case Enums_1.MoveDirection.bottom:\n return Math.PI / 2;\n case Enums_1.MoveDirection.bottomLeft:\n return (3 * Math.PI) / 4;\n case Enums_1.MoveDirection.left:\n return Math.PI;\n case Enums_1.MoveDirection.topLeft:\n return (-3 * Math.PI) / 4;\n case Enums_1.MoveDirection.none:\n default:\n return Math.random() * Math.PI * 2;\n }\n }\n}\nexports.getParticleDirectionAngle = getParticleDirectionAngle;\nfunction getParticleBaseVelocity(direction) {\n const baseVelocity = Vector_1.Vector.origin;\n baseVelocity.length = 1;\n baseVelocity.angle = direction;\n return baseVelocity;\n}\nexports.getParticleBaseVelocity = getParticleBaseVelocity;\nfunction collisionVelocity(v1, v2, m1, m2) {\n return Vector_1.Vector.create((v1.x * (m1 - m2)) / (m1 + m2) + (v2.x * 2 * m2) / (m1 + m2), v1.y);\n}\nexports.collisionVelocity = collisionVelocity;\nfunction calcEasing(value, type) {\n switch (type) {\n case Enums_1.EasingType.easeOutQuad:\n return 1 - (1 - value) ** 2;\n case Enums_1.EasingType.easeOutCubic:\n return 1 - (1 - value) ** 3;\n case Enums_1.EasingType.easeOutQuart:\n return 1 - (1 - value) ** 4;\n case Enums_1.EasingType.easeOutQuint:\n return 1 - (1 - value) ** 5;\n case Enums_1.EasingType.easeOutExpo:\n return value === 1 ? 1 : 1 - Math.pow(2, -10 * value);\n case Enums_1.EasingType.easeOutSine:\n return Math.sin((value * Math.PI) / 2);\n case Enums_1.EasingType.easeOutBack: {\n const c1 = 1.70158;\n const c3 = c1 + 1;\n return 1 + c3 * Math.pow(value - 1, 3) + c1 * Math.pow(value - 1, 2);\n }\n case Enums_1.EasingType.easeOutCirc:\n return Math.sqrt(1 - Math.pow(value - 1, 2));\n default:\n return value;\n }\n}\nexports.calcEasing = calcEasing;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Plugins = void 0;\nconst plugins = [];\nconst interactorsInitializers = new Map();\nconst updatersInitializers = new Map();\nconst interactors = new Map();\nconst updaters = new Map();\nconst presets = new Map();\nconst drawers = new Map();\nconst pathGenerators = new Map();\nclass Plugins {\n static getPlugin(plugin) {\n return plugins.find((t) => t.id === plugin);\n }\n static addPlugin(plugin) {\n if (!Plugins.getPlugin(plugin.id)) {\n plugins.push(plugin);\n }\n }\n static getAvailablePlugins(container) {\n const res = new Map();\n for (const plugin of plugins) {\n if (!plugin.needsPlugin(container.actualOptions)) {\n continue;\n }\n res.set(plugin.id, plugin.getPlugin(container));\n }\n return res;\n }\n static loadOptions(options, sourceOptions) {\n for (const plugin of plugins) {\n plugin.loadOptions(options, sourceOptions);\n }\n }\n static getPreset(preset) {\n return presets.get(preset);\n }\n static addPreset(presetKey, options, override = false) {\n if (override || !Plugins.getPreset(presetKey)) {\n presets.set(presetKey, options);\n }\n }\n static addShapeDrawer(type, drawer) {\n if (!Plugins.getShapeDrawer(type)) {\n drawers.set(type, drawer);\n }\n }\n static getShapeDrawer(type) {\n return drawers.get(type);\n }\n static getSupportedShapes() {\n return drawers.keys();\n }\n static getPathGenerator(type) {\n return pathGenerators.get(type);\n }\n static addPathGenerator(type, pathGenerator) {\n if (!Plugins.getPathGenerator(type)) {\n pathGenerators.set(type, pathGenerator);\n }\n }\n static getInteractors(container, force = false) {\n let res = interactors.get(container);\n if (!res || force) {\n res = [...interactorsInitializers.values()].map((t) => t(container));\n interactors.set(container, res);\n }\n return res;\n }\n static addInteractor(name, initInteractor) {\n interactorsInitializers.set(name, initInteractor);\n }\n static getUpdaters(container, force = false) {\n let res = updaters.get(container);\n if (!res || force) {\n res = [...updatersInitializers.values()].map((t) => t(container));\n updaters.set(container, res);\n }\n return res;\n }\n static addParticleUpdater(name, initUpdater) {\n updatersInitializers.set(name, initUpdater);\n }\n}\nexports.Plugins = Plugins;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Point = void 0;\nclass Point {\n constructor(position, particle) {\n this.position = position;\n this.particle = particle;\n }\n}\nexports.Point = Point;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuadTree = void 0;\nconst Rectangle_1 = require(\"./Rectangle\");\nconst Circle_1 = require(\"./Circle\");\nconst CircleWarp_1 = require(\"./CircleWarp\");\nconst NumberUtils_1 = require(\"./NumberUtils\");\nclass QuadTree {\n constructor(rectangle, capacity) {\n this.rectangle = rectangle;\n this.capacity = capacity;\n this.points = [];\n this.divided = false;\n }\n subdivide() {\n const x = this.rectangle.position.x;\n const y = this.rectangle.position.y;\n const w = this.rectangle.size.width;\n const h = this.rectangle.size.height;\n const capacity = this.capacity;\n this.northEast = new QuadTree(new Rectangle_1.Rectangle(x, y, w / 2, h / 2), capacity);\n this.northWest = new QuadTree(new Rectangle_1.Rectangle(x + w / 2, y, w / 2, h / 2), capacity);\n this.southEast = new QuadTree(new Rectangle_1.Rectangle(x, y + h / 2, w / 2, h / 2), capacity);\n this.southWest = new QuadTree(new Rectangle_1.Rectangle(x + w / 2, y + h / 2, w / 2, h / 2), capacity);\n this.divided = true;\n }\n insert(point) {\n var _a, _b, _c, _d, _e;\n if (!this.rectangle.contains(point.position)) {\n return false;\n }\n if (this.points.length < this.capacity) {\n this.points.push(point);\n return true;\n }\n if (!this.divided) {\n this.subdivide();\n }\n return ((_e = (((_a = this.northEast) === null || _a === void 0 ? void 0 : _a.insert(point)) ||\n ((_b = this.northWest) === null || _b === void 0 ? void 0 : _b.insert(point)) ||\n ((_c = this.southEast) === null || _c === void 0 ? void 0 : _c.insert(point)) ||\n ((_d = this.southWest) === null || _d === void 0 ? void 0 : _d.insert(point)))) !== null && _e !== void 0 ? _e : false);\n }\n queryCircle(position, radius) {\n return this.query(new Circle_1.Circle(position.x, position.y, radius));\n }\n queryCircleWarp(position, radius, containerOrSize) {\n const container = containerOrSize;\n const size = containerOrSize;\n return this.query(new CircleWarp_1.CircleWarp(position.x, position.y, radius, container.canvas !== undefined ? container.canvas.size : size));\n }\n queryRectangle(position, size) {\n return this.query(new Rectangle_1.Rectangle(position.x, position.y, size.width, size.height));\n }\n query(range, found) {\n var _a, _b, _c, _d;\n const res = found !== null && found !== void 0 ? found : [];\n if (!range.intersects(this.rectangle)) {\n return [];\n }\n else {\n for (const p of this.points) {\n if (!range.contains(p.position) && (0, NumberUtils_1.getDistance)(range.position, p.position) > p.particle.getRadius()) {\n continue;\n }\n res.push(p.particle);\n }\n if (this.divided) {\n (_a = this.northEast) === null || _a === void 0 ? void 0 : _a.query(range, res);\n (_b = this.northWest) === null || _b === void 0 ? void 0 : _b.query(range, res);\n (_c = this.southEast) === null || _c === void 0 ? void 0 : _c.query(range, res);\n (_d = this.southWest) === null || _d === void 0 ? void 0 : _d.query(range, res);\n }\n }\n return res;\n }\n}\nexports.QuadTree = QuadTree;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Range = void 0;\nclass Range {\n constructor(x, y) {\n this.position = {\n x: x,\n y: y,\n };\n }\n}\nexports.Range = Range;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Rectangle = void 0;\nconst Range_1 = require(\"./Range\");\nclass Rectangle extends Range_1.Range {\n constructor(x, y, width, height) {\n super(x, y);\n this.size = {\n height: height,\n width: width,\n };\n }\n contains(point) {\n const w = this.size.width;\n const h = this.size.height;\n const pos = this.position;\n return point.x >= pos.x && point.x <= pos.x + w && point.y >= pos.y && point.y <= pos.y + h;\n }\n intersects(range) {\n const rect = range;\n const circle = range;\n const w = this.size.width;\n const h = this.size.height;\n const pos1 = this.position;\n const pos2 = range.position;\n if (circle.radius !== undefined) {\n return circle.intersects(this);\n }\n else if (rect.size !== undefined) {\n const size2 = rect.size;\n const w2 = size2.width;\n const h2 = size2.height;\n return pos2.x < pos1.x + w && pos2.x + w2 > pos1.x && pos2.y < pos1.y + h && pos2.y + h2 > pos1.y;\n }\n return false;\n }\n}\nexports.Rectangle = Rectangle;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.rectBounce = exports.circleBounce = exports.circleBounceDataFromParticle = exports.divMode = exports.singleDivModeExecute = exports.divModeExecute = exports.isDivModeEnabled = exports.deepExtend = exports.calculateBounds = exports.areBoundsInside = exports.isPointInside = exports.itemFromArray = exports.arrayRandomIndex = exports.loadFont = exports.isInArray = exports.cancelAnimation = exports.animate = exports.isSsr = void 0;\nconst Enums_1 = require(\"../Enums\");\nconst NumberUtils_1 = require(\"./NumberUtils\");\nconst Vector_1 = require(\"../Core/Particle/Vector\");\nfunction rectSideBounce(pSide, pOtherSide, rectSide, rectOtherSide, velocity, factor) {\n const res = { bounced: false };\n if (pOtherSide.min >= rectOtherSide.min &&\n pOtherSide.min <= rectOtherSide.max &&\n pOtherSide.max >= rectOtherSide.min &&\n pOtherSide.max <= rectOtherSide.max) {\n if ((pSide.max >= rectSide.min && pSide.max <= (rectSide.max + rectSide.min) / 2 && velocity > 0) ||\n (pSide.min <= rectSide.max && pSide.min > (rectSide.max + rectSide.min) / 2 && velocity < 0)) {\n res.velocity = velocity * -factor;\n res.bounced = true;\n }\n }\n return res;\n}\nfunction checkSelector(element, selectors) {\n if (selectors instanceof Array) {\n for (const selector of selectors) {\n if (element.matches(selector)) {\n return true;\n }\n }\n return false;\n }\n else {\n return element.matches(selectors);\n }\n}\nfunction isSsr() {\n return typeof window === \"undefined\" || !window || typeof window.document === \"undefined\" || !window.document;\n}\nexports.isSsr = isSsr;\nfunction animate() {\n return isSsr()\n ? (callback) => setTimeout(callback)\n : (callback) => (window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n window.setTimeout)(callback);\n}\nexports.animate = animate;\nfunction cancelAnimation() {\n return isSsr()\n ? (handle) => clearTimeout(handle)\n : (handle) => (window.cancelAnimationFrame ||\n window.webkitCancelRequestAnimationFrame ||\n window.mozCancelRequestAnimationFrame ||\n window.oCancelRequestAnimationFrame ||\n window.msCancelRequestAnimationFrame ||\n window.clearTimeout)(handle);\n}\nexports.cancelAnimation = cancelAnimation;\nfunction isInArray(value, array) {\n return value === array || (array instanceof Array && array.indexOf(value) > -1);\n}\nexports.isInArray = isInArray;\nasync function loadFont(character) {\n var _a, _b;\n try {\n await document.fonts.load(`${(_a = character.weight) !== null && _a !== void 0 ? _a : \"400\"} 36px '${(_b = character.font) !== null && _b !== void 0 ? _b : \"Verdana\"}'`);\n }\n catch (_c) {\n }\n}\nexports.loadFont = loadFont;\nfunction arrayRandomIndex(array) {\n return Math.floor(Math.random() * array.length);\n}\nexports.arrayRandomIndex = arrayRandomIndex;\nfunction itemFromArray(array, index, useIndex = true) {\n const fixedIndex = index !== undefined && useIndex ? index % array.length : arrayRandomIndex(array);\n return array[fixedIndex];\n}\nexports.itemFromArray = itemFromArray;\nfunction isPointInside(point, size, radius, direction) {\n return areBoundsInside(calculateBounds(point, radius !== null && radius !== void 0 ? radius : 0), size, direction);\n}\nexports.isPointInside = isPointInside;\nfunction areBoundsInside(bounds, size, direction) {\n let inside = true;\n if (!direction || direction === Enums_1.OutModeDirection.bottom) {\n inside = bounds.top < size.height;\n }\n if (inside && (!direction || direction === Enums_1.OutModeDirection.left)) {\n inside = bounds.right > 0;\n }\n if (inside && (!direction || direction === Enums_1.OutModeDirection.right)) {\n inside = bounds.left < size.width;\n }\n if (inside && (!direction || direction === Enums_1.OutModeDirection.top)) {\n inside = bounds.bottom > 0;\n }\n return inside;\n}\nexports.areBoundsInside = areBoundsInside;\nfunction calculateBounds(point, radius) {\n return {\n bottom: point.y + radius,\n left: point.x - radius,\n right: point.x + radius,\n top: point.y - radius,\n };\n}\nexports.calculateBounds = calculateBounds;\nfunction deepExtend(destination, ...sources) {\n for (const source of sources) {\n if (source === undefined || source === null) {\n continue;\n }\n if (typeof source !== \"object\") {\n destination = source;\n continue;\n }\n const sourceIsArray = Array.isArray(source);\n if (sourceIsArray && (typeof destination !== \"object\" || !destination || !Array.isArray(destination))) {\n destination = [];\n }\n else if (!sourceIsArray && (typeof destination !== \"object\" || !destination || Array.isArray(destination))) {\n destination = {};\n }\n for (const key in source) {\n if (key === \"__proto__\") {\n continue;\n }\n const sourceDict = source;\n const value = sourceDict[key];\n const isObject = typeof value === \"object\";\n const destDict = destination;\n destDict[key] =\n isObject && Array.isArray(value)\n ? value.map((v) => deepExtend(destDict[key], v))\n : deepExtend(destDict[key], value);\n }\n }\n return destination;\n}\nexports.deepExtend = deepExtend;\nfunction isDivModeEnabled(mode, divs) {\n return divs instanceof Array ? !!divs.find((t) => t.enable && isInArray(mode, t.mode)) : isInArray(mode, divs.mode);\n}\nexports.isDivModeEnabled = isDivModeEnabled;\nfunction divModeExecute(mode, divs, callback) {\n if (divs instanceof Array) {\n for (const div of divs) {\n const divMode = div.mode;\n const divEnabled = div.enable;\n if (divEnabled && isInArray(mode, divMode)) {\n singleDivModeExecute(div, callback);\n }\n }\n }\n else {\n const divMode = divs.mode;\n const divEnabled = divs.enable;\n if (divEnabled && isInArray(mode, divMode)) {\n singleDivModeExecute(divs, callback);\n }\n }\n}\nexports.divModeExecute = divModeExecute;\nfunction singleDivModeExecute(div, callback) {\n const selectors = div.selectors;\n if (selectors instanceof Array) {\n for (const selector of selectors) {\n callback(selector, div);\n }\n }\n else {\n callback(selectors, div);\n }\n}\nexports.singleDivModeExecute = singleDivModeExecute;\nfunction divMode(divs, element) {\n if (!element || !divs) {\n return;\n }\n if (divs instanceof Array) {\n return divs.find((d) => checkSelector(element, d.selectors));\n }\n else if (checkSelector(element, divs.selectors)) {\n return divs;\n }\n}\nexports.divMode = divMode;\nfunction circleBounceDataFromParticle(p) {\n return {\n position: p.getPosition(),\n radius: p.getRadius(),\n mass: p.getMass(),\n velocity: p.velocity,\n factor: Vector_1.Vector.create((0, NumberUtils_1.getValue)(p.options.bounce.horizontal), (0, NumberUtils_1.getValue)(p.options.bounce.vertical)),\n };\n}\nexports.circleBounceDataFromParticle = circleBounceDataFromParticle;\nfunction circleBounce(p1, p2) {\n const { x: xVelocityDiff, y: yVelocityDiff } = p1.velocity.sub(p2.velocity);\n const [pos1, pos2] = [p1.position, p2.position];\n const { dx: xDist, dy: yDist } = (0, NumberUtils_1.getDistances)(pos2, pos1);\n if (xVelocityDiff * xDist + yVelocityDiff * yDist >= 0) {\n const angle = -Math.atan2(yDist, xDist);\n const m1 = p1.mass;\n const m2 = p2.mass;\n const u1 = p1.velocity.rotate(angle);\n const u2 = p2.velocity.rotate(angle);\n const v1 = (0, NumberUtils_1.collisionVelocity)(u1, u2, m1, m2);\n const v2 = (0, NumberUtils_1.collisionVelocity)(u2, u1, m1, m2);\n const vFinal1 = v1.rotate(-angle);\n const vFinal2 = v2.rotate(-angle);\n p1.velocity.x = vFinal1.x * p1.factor.x;\n p1.velocity.y = vFinal1.y * p1.factor.y;\n p2.velocity.x = vFinal2.x * p2.factor.x;\n p2.velocity.y = vFinal2.y * p2.factor.y;\n }\n}\nexports.circleBounce = circleBounce;\nfunction rectBounce(particle, divBounds) {\n const pPos = particle.getPosition();\n const size = particle.getRadius();\n const bounds = calculateBounds(pPos, size);\n const resH = rectSideBounce({\n min: bounds.left,\n max: bounds.right,\n }, {\n min: bounds.top,\n max: bounds.bottom,\n }, {\n min: divBounds.left,\n max: divBounds.right,\n }, {\n min: divBounds.top,\n max: divBounds.bottom,\n }, particle.velocity.x, (0, NumberUtils_1.getValue)(particle.options.bounce.horizontal));\n if (resH.bounced) {\n if (resH.velocity !== undefined) {\n particle.velocity.x = resH.velocity;\n }\n if (resH.position !== undefined) {\n particle.position.x = resH.position;\n }\n }\n const resV = rectSideBounce({\n min: bounds.top,\n max: bounds.bottom,\n }, {\n min: bounds.left,\n max: bounds.right,\n }, {\n min: divBounds.top,\n max: divBounds.bottom,\n }, {\n min: divBounds.left,\n max: divBounds.right,\n }, particle.velocity.y, (0, NumberUtils_1.getValue)(particle.options.bounce.vertical));\n if (resV.bounced) {\n if (resV.velocity !== undefined) {\n particle.velocity.y = resV.velocity;\n }\n if (resV.position !== undefined) {\n particle.position.y = resV.position;\n }\n }\n}\nexports.rectBounce = rectBounce;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./CanvasUtils\"), exports);\n__exportStar(require(\"./Circle\"), exports);\n__exportStar(require(\"./CircleWarp\"), exports);\n__exportStar(require(\"./ColorUtils\"), exports);\n__exportStar(require(\"./Constants\"), exports);\n__exportStar(require(\"./EventListeners\"), exports);\n__exportStar(require(\"./NumberUtils\"), exports);\n__exportStar(require(\"./Plugins\"), exports);\n__exportStar(require(\"./Point\"), exports);\n__exportStar(require(\"./QuadTree\"), exports);\n__exportStar(require(\"./Range\"), exports);\n__exportStar(require(\"./Rectangle\"), exports);\n__exportStar(require(\"./Utils\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadFull = void 0;\nconst slim_1 = require(\"./slim\");\nconst Trail_1 = require(\"./Interactions/External/Trail\");\nconst Tilt_1 = require(\"./Updaters/Tilt\");\nconst Wobble_1 = require(\"./Updaters/Wobble\");\nconst plugin_1 = require(\"./Plugins/Absorbers/plugin\");\nconst plugin_2 = require(\"./Plugins/Emitters/plugin\");\nconst plugin_3 = require(\"./Plugins/PolygonMask/plugin\");\nconst Roll_1 = require(\"./Updaters/Roll\");\nasync function loadFull(tsParticles) {\n await (0, slim_1.loadSlim)(tsParticles);\n await (0, Trail_1.loadExternalTrailInteraction)(tsParticles);\n await (0, Roll_1.loadRollUpdater)(tsParticles);\n await (0, Tilt_1.loadTiltUpdater)(tsParticles);\n await (0, Wobble_1.loadWobbleUpdater)(tsParticles);\n await (0, plugin_1.loadAbsorbersPlugin)(tsParticles);\n await (0, plugin_2.loadEmittersPlugin)(tsParticles);\n await (0, plugin_3.loadPolygonMaskPlugin)(tsParticles);\n}\nexports.loadFull = loadFull;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.tsParticles = exports.pJSDom = exports.particlesJS = exports.Main = exports.Rectangle = exports.Point = exports.Constants = exports.CircleWarp = exports.Circle = void 0;\nconst pjs_1 = require(\"./pjs\");\nconst main_1 = require(\"./main\");\nObject.defineProperty(exports, \"Main\", { enumerable: true, get: function () { return main_1.Main; } });\nconst Utils_1 = require(\"./Utils\");\nObject.defineProperty(exports, \"Circle\", { enumerable: true, get: function () { return Utils_1.Circle; } });\nObject.defineProperty(exports, \"CircleWarp\", { enumerable: true, get: function () { return Utils_1.CircleWarp; } });\nObject.defineProperty(exports, \"Constants\", { enumerable: true, get: function () { return Utils_1.Constants; } });\nObject.defineProperty(exports, \"Point\", { enumerable: true, get: function () { return Utils_1.Point; } });\nObject.defineProperty(exports, \"Rectangle\", { enumerable: true, get: function () { return Utils_1.Rectangle; } });\nconst full_1 = require(\"./full\");\nconst tsParticles = new main_1.Main();\nexports.tsParticles = tsParticles;\ntsParticles.init();\nconst { particlesJS, pJSDom } = (0, pjs_1.initPjs)(tsParticles);\nexports.particlesJS = particlesJS;\nexports.pJSDom = pJSDom;\n(0, full_1.loadFull)(tsParticles);\n__exportStar(require(\"./Core/Particle/Vector\"), exports);\n__exportStar(require(\"./Core/Container\"), exports);\n__exportStar(require(\"./Enums\"), exports);\n__exportStar(require(\"./Plugins/Absorbers/Enums\"), exports);\n__exportStar(require(\"./Plugins/Emitters/Enums\"), exports);\n__exportStar(require(\"./Plugins/PolygonMask/Enums\"), exports);\n__exportStar(require(\"./Utils/CanvasUtils\"), exports);\n__exportStar(require(\"./Utils/ColorUtils\"), exports);\n__exportStar(require(\"./Utils/NumberUtils\"), exports);\n__exportStar(require(\"./Utils/Utils\"), exports);\n__exportStar(require(\"./Types\"), exports);\n__exportStar(require(\"./Core/Interfaces\"), exports);\n__exportStar(require(\"./Core/Particle\"), exports);\n__exportStar(require(\"./Core/ExternalInteractorBase\"), exports);\n__exportStar(require(\"./Core/ParticlesInteractorBase\"), exports);\n","\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Main_initialized;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Main = void 0;\nconst Utils_1 = require(\"./Utils\");\nconst Loader_1 = require(\"./Core/Loader\");\nclass Main {\n constructor() {\n _Main_initialized.set(this, void 0);\n __classPrivateFieldSet(this, _Main_initialized, false, \"f\");\n }\n init() {\n if (!__classPrivateFieldGet(this, _Main_initialized, \"f\")) {\n __classPrivateFieldSet(this, _Main_initialized, true, \"f\");\n }\n }\n async loadFromArray(tagId, options, index) {\n return Loader_1.Loader.load(tagId, options, index);\n }\n async load(tagId, options) {\n return Loader_1.Loader.load(tagId, options);\n }\n async set(id, element, options) {\n return Loader_1.Loader.set(id, element, options);\n }\n async loadJSON(tagId, pathConfigJson, index) {\n return Loader_1.Loader.loadJSON(tagId, pathConfigJson, index);\n }\n async setJSON(id, element, pathConfigJson, index) {\n return Loader_1.Loader.setJSON(id, element, pathConfigJson, index);\n }\n setOnClickHandler(callback) {\n Loader_1.Loader.setOnClickHandler(callback);\n }\n dom() {\n return Loader_1.Loader.dom();\n }\n domItem(index) {\n return Loader_1.Loader.domItem(index);\n }\n async refresh() {\n for (const instance of this.dom()) {\n await instance.refresh();\n }\n }\n async addShape(shape, drawer, init, afterEffect, destroy) {\n let customDrawer;\n if (typeof drawer === \"function\") {\n customDrawer = {\n afterEffect: afterEffect,\n destroy: destroy,\n draw: drawer,\n init: init,\n };\n }\n else {\n customDrawer = drawer;\n }\n Utils_1.Plugins.addShapeDrawer(shape, customDrawer);\n await this.refresh();\n }\n async addPreset(preset, options, override = false) {\n Utils_1.Plugins.addPreset(preset, options, override);\n await this.refresh();\n }\n async addPlugin(plugin) {\n Utils_1.Plugins.addPlugin(plugin);\n await this.refresh();\n }\n async addPathGenerator(name, generator) {\n Utils_1.Plugins.addPathGenerator(name, generator);\n await this.refresh();\n }\n async addInteractor(name, interactorInitializer) {\n Utils_1.Plugins.addInteractor(name, interactorInitializer);\n await this.refresh();\n }\n async addParticleUpdater(name, updaterInitializer) {\n Utils_1.Plugins.addParticleUpdater(name, updaterInitializer);\n await this.refresh();\n }\n}\nexports.Main = Main;\n_Main_initialized = new WeakMap();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initPjs = void 0;\nconst initPjs = (main) => {\n const particlesJS = (tagId, options) => {\n return main.load(tagId, options);\n };\n particlesJS.load = (tagId, pathConfigJson, callback) => {\n main.loadJSON(tagId, pathConfigJson)\n .then((container) => {\n if (container) {\n callback(container);\n }\n })\n .catch(() => {\n callback(undefined);\n });\n };\n particlesJS.setOnClickHandler = (callback) => {\n main.setOnClickHandler(callback);\n };\n const pJSDom = main.dom();\n return { particlesJS, pJSDom };\n};\nexports.initPjs = initPjs;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadSlim = void 0;\nconst Circle_1 = require(\"./Shapes/Circle\");\nconst Life_1 = require(\"./Updaters/Life\");\nconst Connect_1 = require(\"./Interactions/External/Connect\");\nconst Opacity_1 = require(\"./Updaters/Opacity\");\nconst Image_1 = require(\"./Shapes/Image\");\nconst Polygon_1 = require(\"./Shapes/Polygon\");\nconst Bubble_1 = require(\"./Interactions/External/Bubble\");\nconst Attract_1 = require(\"./Interactions/External/Attract\");\nconst Grab_1 = require(\"./Interactions/External/Grab\");\nconst Star_1 = require(\"./Shapes/Star\");\nconst Attract_2 = require(\"./Interactions/Particles/Attract\");\nconst Square_1 = require(\"./Shapes/Square\");\nconst StrokeColor_1 = require(\"./Updaters/StrokeColor\");\nconst Color_1 = require(\"./Updaters/Color\");\nconst Collisions_1 = require(\"./Interactions/Particles/Collisions\");\nconst Angle_1 = require(\"./Updaters/Angle\");\nconst OutModes_1 = require(\"./Updaters/OutModes\");\nconst Repulse_1 = require(\"./Interactions/External/Repulse\");\nconst Line_1 = require(\"./Shapes/Line\");\nconst Bounce_1 = require(\"./Interactions/External/Bounce\");\nconst Text_1 = require(\"./Shapes/Text\");\nconst Links_1 = require(\"./Interactions/Particles/Links\");\nconst Size_1 = require(\"./Updaters/Size\");\nasync function loadSlim(tsParticles) {\n await (0, Attract_1.loadExternalAttractInteraction)(tsParticles);\n await (0, Bounce_1.loadExternalBounceInteraction)(tsParticles);\n await (0, Bubble_1.loadExternalBubbleInteraction)(tsParticles);\n await (0, Connect_1.loadExternalConnectInteraction)(tsParticles);\n await (0, Grab_1.loadExternalGrabInteraction)(tsParticles);\n await (0, Repulse_1.loadExternalRepulseInteraction)(tsParticles);\n await (0, Attract_2.loadParticlesAttractInteraction)(tsParticles);\n await (0, Collisions_1.loadParticlesCollisionsInteraction)(tsParticles);\n await (0, Links_1.loadParticlesLinksInteraction)(tsParticles);\n await (0, Circle_1.loadCircleShape)(tsParticles);\n await (0, Image_1.loadImageShape)(tsParticles);\n await (0, Line_1.loadLineShape)(tsParticles);\n await (0, Polygon_1.loadPolygonShape)(tsParticles);\n await (0, Square_1.loadSquareShape)(tsParticles);\n await (0, Star_1.loadStarShape)(tsParticles);\n await (0, Text_1.loadTextShape)(tsParticles);\n await (0, Life_1.loadLifeUpdater)(tsParticles);\n await (0, Opacity_1.loadOpacityUpdater)(tsParticles);\n await (0, Size_1.loadSizeUpdater)(tsParticles);\n await (0, Angle_1.loadAngleUpdater)(tsParticles);\n await (0, Color_1.loadColorUpdater)(tsParticles);\n await (0, StrokeColor_1.loadStrokeColorUpdater)(tsParticles);\n await (0, OutModes_1.loadOutModesUpdater)(tsParticles);\n}\nexports.loadSlim = loadSlim;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","import Particles from \"react-tsparticles\";\r\n\r\nconst ParticleSystem = () => {\r\n const particlesInit = (main) => {\r\n //console.log(main);\r\n // you can initialize the tsParticles instance (main) here, adding custom shapes or presets\r\n };\r\n\r\n const particlesLoaded = (container) => {\r\n // console.log(container);\r\n };\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ParticleSystem;","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import * as React from \"react\";\nimport type {\n History,\n InitialEntry,\n Location,\n MemoryHistory,\n Path,\n To\n} from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath\n} from \"history\";\n\nexport type { Location, Path, To, NavigationType };\n\nfunction invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nfunction warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record = {};\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// CONTEXT\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nconst NavigationContext = React.createContext(null!);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nconst LocationContext = React.createContext(null!);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nconst RouteContext = React.createContext({\n outlet: null,\n matches: []\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n///////////////////////////////////////////////////////////////////////////////\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// HOOKS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\ntype ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map(match =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase])\n })\n ),\n parentMatches\n );\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, element => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, _ =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map(meta => meta.childrenIndex),\n b.routesMeta.map(meta => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter(s => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: joinPaths([matchedPathname, match.pathnameBase]),\n route\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\nfunction _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n }\n value={{\n outlet,\n matches: parentMatches.concat(matches.slice(0, index + 1))\n }}\n />\n );\n }, null as React.ReactElement | null);\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n \"(?:\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nfunction getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nfunction stripBasename(pathname: string, basename: string): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nconst joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nconst normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext\n};\n","import ParticleSystem from './visualElements/ParticleSystem.js';\r\nimport './mainIndex.css';\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { SocialIcon } from 'react-social-icons';\r\n\r\nfunction Index() {\r\n const navigate = useNavigate();\r\n return (\r\n
\r\n
\r\n

MJROBERTSON

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Index;","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import { useEffect, useRef } from 'react';\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded before being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\n\nfunction useCommittedRef(value) {\n var ref = useRef(value);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n var ref = useCommittedRef(fn);\n return useCallback(function () {\n return ref.current && ref.current.apply(ref, arguments);\n }, [ref]);\n}","/**\n * Returns the owner document of a given element.\n * \n * @param node the element\n */\nexport default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from './ownerDocument';\n/**\n * Returns the actively focused element safely.\n *\n * @param doc the document to check\n */\n\nexport default function activeElement(doc) {\n if (doc === void 0) {\n doc = ownerDocument();\n }\n\n // Support: IE 9 only\n // IE9 throws an \"Unspecified error\" accessing document.activeElement from an