@tsparticles/fireworks 3.2.2 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/browser/fireworks.js +22 -12
  2. package/cjs/fireworks.js +29 -42
  3. package/esm/fireworks.js +22 -12
  4. package/package.json +10 -10
  5. package/report.html +1 -1
  6. package/tsparticles.fireworks.bundle.js +944 -302
  7. package/tsparticles.fireworks.bundle.min.js +1 -1
  8. package/tsparticles.fireworks.bundle.min.js.LICENSE.txt +1 -1
  9. package/tsparticles.fireworks.js +6 -36
  10. package/tsparticles.fireworks.min.js +1 -1
  11. package/tsparticles.fireworks.min.js.LICENSE.txt +1 -1
  12. package/types/fireworks.d.ts +6 -1
  13. package/umd/fireworks.js +30 -44
  14. package/108.min.js +0 -2
  15. package/108.min.js.LICENSE.txt +0 -1
  16. package/120.min.js +0 -2
  17. package/120.min.js.LICENSE.txt +0 -1
  18. package/126.min.js +0 -2
  19. package/126.min.js.LICENSE.txt +0 -1
  20. package/132.min.js +0 -2
  21. package/132.min.js.LICENSE.txt +0 -1
  22. package/141.min.js +0 -2
  23. package/141.min.js.LICENSE.txt +0 -1
  24. package/163.min.js +0 -2
  25. package/163.min.js.LICENSE.txt +0 -1
  26. package/173.min.js +0 -2
  27. package/173.min.js.LICENSE.txt +0 -1
  28. package/196.min.js +0 -2
  29. package/196.min.js.LICENSE.txt +0 -1
  30. package/245.min.js +0 -2
  31. package/245.min.js.LICENSE.txt +0 -1
  32. package/274.min.js +0 -2
  33. package/274.min.js.LICENSE.txt +0 -1
  34. package/30.min.js +0 -2
  35. package/30.min.js.LICENSE.txt +0 -1
  36. package/308.min.js +0 -2
  37. package/308.min.js.LICENSE.txt +0 -1
  38. package/31.min.js +0 -2
  39. package/31.min.js.LICENSE.txt +0 -1
  40. package/328.min.js +0 -2
  41. package/328.min.js.LICENSE.txt +0 -1
  42. package/329.min.js +0 -2
  43. package/329.min.js.LICENSE.txt +0 -1
  44. package/376.min.js +0 -2
  45. package/376.min.js.LICENSE.txt +0 -1
  46. package/468.min.js +0 -2
  47. package/468.min.js.LICENSE.txt +0 -1
  48. package/49.min.js +0 -2
  49. package/49.min.js.LICENSE.txt +0 -1
  50. package/547.min.js +0 -2
  51. package/547.min.js.LICENSE.txt +0 -1
  52. package/560.min.js +0 -2
  53. package/560.min.js.LICENSE.txt +0 -1
  54. package/580.min.js +0 -2
  55. package/580.min.js.LICENSE.txt +0 -1
  56. package/610.min.js +0 -2
  57. package/610.min.js.LICENSE.txt +0 -1
  58. package/647.min.js +0 -2
  59. package/647.min.js.LICENSE.txt +0 -1
  60. package/648.min.js +0 -2
  61. package/648.min.js.LICENSE.txt +0 -1
  62. package/720.min.js +0 -2
  63. package/720.min.js.LICENSE.txt +0 -1
  64. package/725.min.js +0 -2
  65. package/725.min.js.LICENSE.txt +0 -1
  66. package/749.min.js +0 -2
  67. package/749.min.js.LICENSE.txt +0 -1
  68. package/757.min.js +0 -2
  69. package/757.min.js.LICENSE.txt +0 -1
  70. package/81.min.js +0 -2
  71. package/81.min.js.LICENSE.txt +0 -1
  72. package/835.min.js +0 -2
  73. package/835.min.js.LICENSE.txt +0 -1
  74. package/837.min.js +0 -2
  75. package/837.min.js.LICENSE.txt +0 -1
  76. package/859.min.js +0 -2
  77. package/859.min.js.LICENSE.txt +0 -1
  78. package/866.min.js +0 -2
  79. package/866.min.js.LICENSE.txt +0 -1
  80. package/88.min.js +0 -2
  81. package/88.min.js.LICENSE.txt +0 -1
  82. package/886.min.js +0 -2
  83. package/886.min.js.LICENSE.txt +0 -1
  84. package/921.min.js +0 -2
  85. package/921.min.js.LICENSE.txt +0 -1
  86. package/929.min.js +0 -2
  87. package/929.min.js.LICENSE.txt +0 -1
  88. package/937.min.js +0 -2
  89. package/937.min.js.LICENSE.txt +0 -1
  90. package/952.min.js +0 -2
  91. package/952.min.js.LICENSE.txt +0 -1
  92. package/973.min.js +0 -2
  93. package/973.min.js.LICENSE.txt +0 -1
  94. package/994.min.js +0 -2
  95. package/994.min.js.LICENSE.txt +0 -1
  96. package/basic_dist_browser_index_js.js +0 -30
  97. package/effects_trail_dist_browser_TrailDrawer_js.js +0 -30
  98. package/effects_trail_dist_browser_index_js.js +0 -30
  99. package/engine_dist_browser_Core_Container_js.js +0 -90
  100. package/engine_dist_browser_Core_Particle_js.js +0 -30
  101. package/move_base_dist_browser_BaseMover_js.js +0 -30
  102. package/move_base_dist_browser_Utils_js.js +0 -30
  103. package/move_base_dist_browser_index_js.js +0 -30
  104. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +0 -120
  105. package/plugins_emittersShapes_square_dist_browser_index_js.js +0 -30
  106. package/plugins_emitters_dist_browser_EmitterInstance_js.js +0 -30
  107. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +0 -90
  108. package/plugins_emitters_dist_browser_Emitters_js.js +0 -30
  109. package/plugins_emitters_dist_browser_ShapeManager_js.js +0 -30
  110. package/plugins_emitters_dist_browser_index_js.js +0 -100
  111. package/plugins_sounds_dist_browser_SoundsInstance_js.js +0 -30
  112. package/plugins_sounds_dist_browser_SoundsPlugin_js.js +0 -120
  113. package/plugins_sounds_dist_browser_index_js.js +0 -30
  114. package/shapes_circle_dist_browser_CircleDrawer_js.js +0 -30
  115. package/shapes_circle_dist_browser_Utils_js.js +0 -30
  116. package/shapes_circle_dist_browser_index_js.js +0 -30
  117. package/updaters_color_dist_browser_ColorUpdater_js.js +0 -30
  118. package/updaters_color_dist_browser_index_js.js +0 -30
  119. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +0 -90
  120. package/updaters_destroy_dist_browser_index_js.js +0 -30
  121. package/updaters_life_dist_browser_LifeUpdater_js.js +0 -60
  122. package/updaters_life_dist_browser_Utils_js.js +0 -30
  123. package/updaters_life_dist_browser_index_js.js +0 -30
  124. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +0 -30
  125. package/updaters_opacity_dist_browser_index_js.js +0 -30
  126. package/updaters_outModes_dist_browser_BounceOutMode_js.js +0 -30
  127. package/updaters_outModes_dist_browser_DestroyOutMode_js.js +0 -30
  128. package/updaters_outModes_dist_browser_NoneOutMode_js.js +0 -30
  129. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +0 -30
  130. package/updaters_outModes_dist_browser_OutOutMode_js.js +0 -30
  131. package/updaters_outModes_dist_browser_Utils_js.js +0 -30
  132. package/updaters_outModes_dist_browser_index_js.js +0 -30
  133. package/updaters_rotate_dist_browser_RotateUpdater_js.js +0 -50
  134. package/updaters_rotate_dist_browser_index_js.js +0 -30
  135. package/updaters_size_dist_browser_SizeUpdater_js.js +0 -30
  136. package/updaters_size_dist_browser_index_js.js +0 -30
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.2
7
+ * v3.4.0
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -16,14 +16,14 @@
16
16
  */
17
17
  (function webpackUniversalModuleDefinition(root, factory) {
18
18
  if(typeof exports === 'object' && typeof module === 'object')
19
- module.exports = factory(require("@tsparticles/engine"), require("@tsparticles/basic"), require("@tsparticles/effect-trail"), require("@tsparticles/updater-life"), require("@tsparticles/updater-destroy"), require("@tsparticles/updater-rotate"), require("@tsparticles/plugin-sounds"), require("@tsparticles/plugin-emitters-shape-square"), require("@tsparticles/plugin-emitters"));
19
+ module.exports = factory(require("@tsparticles/engine"), require("@tsparticles/basic"), require("@tsparticles/updater-destroy"), require("@tsparticles/plugin-emitters"), require("@tsparticles/plugin-emitters-shape-square"), require("@tsparticles/updater-life"), require("@tsparticles/updater-rotate"), require("@tsparticles/plugin-sounds"), require("@tsparticles/effect-trail"));
20
20
  else if(typeof define === 'function' && define.amd)
21
- define(["@tsparticles/engine", "@tsparticles/basic", "@tsparticles/effect-trail", "@tsparticles/updater-life", "@tsparticles/updater-destroy", "@tsparticles/updater-rotate", "@tsparticles/plugin-sounds", "@tsparticles/plugin-emitters-shape-square", "@tsparticles/plugin-emitters"], factory);
21
+ define(["@tsparticles/engine", "@tsparticles/basic", "@tsparticles/updater-destroy", "@tsparticles/plugin-emitters", "@tsparticles/plugin-emitters-shape-square", "@tsparticles/updater-life", "@tsparticles/updater-rotate", "@tsparticles/plugin-sounds", "@tsparticles/effect-trail"], factory);
22
22
  else {
23
- var a = typeof exports === 'object' ? factory(require("@tsparticles/engine"), require("@tsparticles/basic"), require("@tsparticles/effect-trail"), require("@tsparticles/updater-life"), require("@tsparticles/updater-destroy"), require("@tsparticles/updater-rotate"), require("@tsparticles/plugin-sounds"), require("@tsparticles/plugin-emitters-shape-square"), require("@tsparticles/plugin-emitters")) : factory(root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"]);
23
+ var a = typeof exports === 'object' ? factory(require("@tsparticles/engine"), require("@tsparticles/basic"), require("@tsparticles/updater-destroy"), require("@tsparticles/plugin-emitters"), require("@tsparticles/plugin-emitters-shape-square"), require("@tsparticles/updater-life"), require("@tsparticles/updater-rotate"), require("@tsparticles/plugin-sounds"), require("@tsparticles/effect-trail")) : factory(root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"]);
24
24
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
25
25
  }
26
- })(this, (__WEBPACK_EXTERNAL_MODULE__tsparticles_engine__, __WEBPACK_EXTERNAL_MODULE__tsparticles_basic__, __WEBPACK_EXTERNAL_MODULE__tsparticles_effect_trail__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_life__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_destroy__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_rotate__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_sounds__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_emitters_shape_square__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_emitters__) => {
26
+ })(this, (__WEBPACK_EXTERNAL_MODULE__tsparticles_engine__, __WEBPACK_EXTERNAL_MODULE__tsparticles_basic__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_destroy__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_emitters__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_emitters_shape_square__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_life__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_rotate__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_sounds__, __WEBPACK_EXTERNAL_MODULE__tsparticles_effect_trail__) => {
27
27
  return /******/ (() => { // webpackBootstrap
28
28
  /******/ "use strict";
29
29
  /******/ var __webpack_modules__ = ({
@@ -44,7 +44,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
44
44
  \***********************************/
45
45
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
46
46
 
47
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fireworks: () => (/* binding */ fireworks)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _FireworkOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FireworkOptions.js */ \"./dist/browser/FireworkOptions.js\");\n\n\nconst minSplitCount = 2;\nlet initialized = false;\nlet initializing = false;\nconst explodeSoundCheck = args => {\n const data = args.data;\n return data.particle.shape === \"circle\" && !!data.particle.splitCount && data.particle.splitCount < minSplitCount;\n};\nclass FireworksInstance {\n constructor(container) {\n this._container = container;\n }\n pause() {\n this._container.pause();\n }\n play() {\n this._container.play();\n }\n stop() {\n this._container.stop();\n }\n}\nasync function initPlugins() {\n if (initialized) {\n return;\n }\n if (initializing) {\n return new Promise(resolve => {\n const timeout = 100,\n interval = setInterval(() => {\n if (!initialized) {\n return;\n }\n clearInterval(interval);\n resolve();\n }, timeout);\n });\n }\n initializing = true;\n const {\n loadEmittersPlugin\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"@tsparticles/plugin-emitters\", 23)),\n {\n loadEmittersShapeSquare\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/plugin-emitters-shape-square */ \"@tsparticles/plugin-emitters-shape-square\", 23)),\n {\n loadSoundsPlugin\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/plugin-sounds */ \"@tsparticles/plugin-sounds\", 23)),\n {\n loadRotateUpdater\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/updater-rotate */ \"@tsparticles/updater-rotate\", 23)),\n {\n loadDestroyUpdater\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/updater-destroy */ \"@tsparticles/updater-destroy\", 23)),\n {\n loadLifeUpdater\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/updater-life */ \"@tsparticles/updater-life\", 23)),\n {\n loadTrailEffect\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/effect-trail */ \"@tsparticles/effect-trail\", 23)),\n {\n loadBasic\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/basic */ \"@tsparticles/basic\", 23));\n await loadEmittersPlugin(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await loadEmittersShapeSquare(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await loadSoundsPlugin(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await loadRotateUpdater(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await loadDestroyUpdater(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await loadLifeUpdater(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await loadTrailEffect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await loadBasic(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n initializing = false;\n initialized = true;\n}\nasync function fireworks(idOrOptions, sourceOptions) {\n await initPlugins();\n let id;\n const options = new _FireworkOptions_js__WEBPACK_IMPORTED_MODULE_1__.FireworkOptions();\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(idOrOptions)) {\n id = idOrOptions;\n options.load(sourceOptions);\n } else {\n id = \"fireworks\";\n options.load(idOrOptions);\n }\n const identity = 1,\n particlesOptions = {\n detectRetina: true,\n background: {\n color: options.background\n },\n fpsLimit: 60,\n emitters: {\n direction: \"top\",\n life: {\n count: 0,\n duration: 0.1,\n delay: 0.1\n },\n rate: {\n delay: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(options.rate) ? identity / options.rate : {\n min: identity / (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeMin)(options.rate),\n max: identity / (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(options.rate)\n },\n quantity: 1\n },\n size: {\n width: 100,\n height: 0\n },\n position: {\n y: 100,\n x: 50\n }\n },\n particles: {\n number: {\n value: 0\n },\n color: {\n value: \"#fff\"\n },\n destroy: {\n mode: \"split\",\n bounds: {\n top: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(options.minHeight)\n },\n split: {\n sizeOffset: false,\n count: 1,\n factor: {\n value: 0.333333\n },\n rate: {\n value: options.splitCount\n },\n colorOffset: {\n s: options.saturation,\n l: options.brightness\n },\n particles: {\n color: {\n value: options.colors\n },\n number: {\n value: 0\n },\n opacity: {\n value: {\n min: 0.1,\n max: 1\n },\n animation: {\n enable: true,\n speed: 1,\n sync: false,\n startValue: \"max\",\n destroy: \"min\"\n }\n },\n effect: {\n type: \"trail\",\n options: {\n trail: {\n length: {\n min: 5,\n max: 10\n }\n }\n }\n },\n shape: {\n type: \"circle\"\n },\n size: {\n value: {\n min: 1,\n max: 2\n },\n animation: {\n enable: true,\n speed: 5,\n count: 1,\n sync: false,\n startValue: \"min\",\n destroy: \"none\"\n }\n },\n life: {\n count: 1,\n duration: {\n value: {\n min: 0.25,\n max: 0.5\n }\n }\n },\n move: {\n decay: {\n min: 0.05,\n max: 0.1\n },\n enable: true,\n gravity: {\n enable: true,\n inverse: false,\n acceleration: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(options.gravity)\n },\n speed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(options.speed),\n direction: \"none\",\n outModes: \"destroy\"\n }\n }\n }\n },\n life: {\n count: 1\n },\n effect: {\n type: \"trail\",\n options: {\n trail: {\n length: {\n min: 10,\n max: 30\n },\n minWidth: 1,\n maxWidth: 1\n }\n }\n },\n shape: {\n type: \"circle\"\n },\n size: {\n value: 1\n },\n opacity: {\n value: 0.5\n },\n rotate: {\n path: true\n },\n move: {\n enable: true,\n gravity: {\n acceleration: 15,\n enable: true,\n inverse: true,\n maxSpeed: 100\n },\n speed: {\n min: 10,\n max: 20\n },\n outModes: {\n default: \"destroy\",\n top: \"none\"\n }\n }\n },\n sounds: {\n enable: options.sounds,\n events: [{\n event: \"particleRemoved\",\n filter: explodeSoundCheck,\n audio: [\"https://particles.js.org/audio/explosion0.mp3\", \"https://particles.js.org/audio/explosion1.mp3\", \"https://particles.js.org/audio/explosion2.mp3\"]\n }],\n volume: 50\n }\n };\n const container = await _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles.load({\n id,\n options: particlesOptions\n });\n if (!container) {\n return;\n }\n return new FireworksInstance(container);\n}\nfireworks.version = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles.version;\nif (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isSsr)()) {\n window.fireworks = fireworks;\n}\n\n//# sourceURL=webpack://@tsparticles/fireworks/./dist/browser/fireworks.js?");
47
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fireworks: () => (/* binding */ fireworks)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _FireworkOptions_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./FireworkOptions.js */ \"./dist/browser/FireworkOptions.js\");\n/* harmony import */ var _tsparticles_basic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/basic */ \"@tsparticles/basic\");\n/* harmony import */ var _tsparticles_basic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_basic__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _tsparticles_updater_destroy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/updater-destroy */ \"@tsparticles/updater-destroy\");\n/* harmony import */ var _tsparticles_updater_destroy__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_updater_destroy__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"@tsparticles/plugin-emitters\");\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _tsparticles_plugin_emitters_shape_square__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tsparticles/plugin-emitters-shape-square */ \"@tsparticles/plugin-emitters-shape-square\");\n/* harmony import */ var _tsparticles_plugin_emitters_shape_square__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_plugin_emitters_shape_square__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _tsparticles_updater_life__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tsparticles/updater-life */ \"@tsparticles/updater-life\");\n/* harmony import */ var _tsparticles_updater_life__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_updater_life__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _tsparticles_updater_rotate__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @tsparticles/updater-rotate */ \"@tsparticles/updater-rotate\");\n/* harmony import */ var _tsparticles_updater_rotate__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_updater_rotate__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _tsparticles_plugin_sounds__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @tsparticles/plugin-sounds */ \"@tsparticles/plugin-sounds\");\n/* harmony import */ var _tsparticles_plugin_sounds__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_plugin_sounds__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _tsparticles_effect_trail__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @tsparticles/effect-trail */ \"@tsparticles/effect-trail\");\n/* harmony import */ var _tsparticles_effect_trail__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_effect_trail__WEBPACK_IMPORTED_MODULE_8__);\n\n\n\n\n\n\n\n\n\n\nconst minSplitCount = 2;\nlet initialized = false;\nlet initializing = false;\nconst explodeSoundCheck = args => {\n const data = args.data;\n return data.particle.shape === \"circle\" && !!data.particle.splitCount && data.particle.splitCount < minSplitCount;\n};\nclass FireworksInstance {\n constructor(container) {\n this._container = container;\n }\n pause() {\n this._container.pause();\n }\n play() {\n this._container.play();\n }\n stop() {\n this._container.stop();\n }\n}\nasync function initPlugins() {\n if (initialized) {\n return;\n }\n if (initializing) {\n return new Promise(resolve => {\n const timeout = 100,\n interval = setInterval(() => {\n if (!initialized) {\n return;\n }\n clearInterval(interval);\n resolve();\n }, timeout);\n });\n }\n initializing = true;\n await (0,_tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_3__.loadEmittersPlugin)(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await (0,_tsparticles_plugin_emitters_shape_square__WEBPACK_IMPORTED_MODULE_4__.loadEmittersShapeSquare)(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await (0,_tsparticles_plugin_sounds__WEBPACK_IMPORTED_MODULE_7__.loadSoundsPlugin)(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await (0,_tsparticles_updater_rotate__WEBPACK_IMPORTED_MODULE_6__.loadRotateUpdater)(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await (0,_tsparticles_updater_destroy__WEBPACK_IMPORTED_MODULE_2__.loadDestroyUpdater)(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await (0,_tsparticles_updater_life__WEBPACK_IMPORTED_MODULE_5__.loadLifeUpdater)(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await (0,_tsparticles_effect_trail__WEBPACK_IMPORTED_MODULE_8__.loadTrailEffect)(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n await (0,_tsparticles_basic__WEBPACK_IMPORTED_MODULE_1__.loadBasic)(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles, false);\n initializing = false;\n initialized = true;\n}\nasync function fireworks(idOrOptions, sourceOptions) {\n await initPlugins();\n let id;\n const options = new _FireworkOptions_js__WEBPACK_IMPORTED_MODULE_9__.FireworkOptions();\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(idOrOptions)) {\n id = idOrOptions;\n options.load(sourceOptions);\n } else {\n id = \"fireworks\";\n options.load(idOrOptions);\n }\n const identity = 1,\n particlesOptions = {\n detectRetina: true,\n background: {\n color: options.background\n },\n fpsLimit: 60,\n emitters: {\n direction: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.top,\n life: {\n count: 0,\n duration: 0.1,\n delay: 0.1\n },\n rate: {\n delay: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(options.rate) ? identity / options.rate : {\n min: identity / (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeMin)(options.rate),\n max: identity / (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(options.rate)\n },\n quantity: 1\n },\n size: {\n width: 100,\n height: 0\n },\n position: {\n y: 100,\n x: 50\n }\n },\n particles: {\n number: {\n value: 0\n },\n color: {\n value: \"#fff\"\n },\n destroy: {\n mode: \"split\",\n bounds: {\n top: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(options.minHeight)\n },\n split: {\n sizeOffset: false,\n count: 1,\n factor: {\n value: 0.333333\n },\n rate: {\n value: options.splitCount\n },\n colorOffset: {\n s: options.saturation,\n l: options.brightness\n },\n particles: {\n color: {\n value: options.colors\n },\n number: {\n value: 0\n },\n opacity: {\n value: {\n min: 0.1,\n max: 1\n },\n animation: {\n enable: true,\n speed: 1,\n sync: false,\n startValue: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.StartValueType.max,\n destroy: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.DestroyType.min\n }\n },\n effect: {\n type: \"trail\",\n options: {\n trail: {\n length: {\n min: 5,\n max: 10\n }\n }\n }\n },\n shape: {\n type: \"circle\"\n },\n size: {\n value: {\n min: 1,\n max: 2\n },\n animation: {\n enable: true,\n speed: 5,\n count: 1,\n sync: false,\n startValue: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.StartValueType.min,\n destroy: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.DestroyType.none\n }\n },\n life: {\n count: 1,\n duration: {\n value: {\n min: 0.25,\n max: 0.5\n }\n }\n },\n move: {\n decay: {\n min: 0.05,\n max: 0.1\n },\n enable: true,\n gravity: {\n enable: true,\n inverse: false,\n acceleration: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(options.gravity)\n },\n speed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(options.speed),\n direction: \"none\",\n outModes: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.destroy\n }\n }\n }\n },\n life: {\n count: 1\n },\n effect: {\n type: \"trail\",\n options: {\n trail: {\n length: {\n min: 10,\n max: 30\n },\n minWidth: 1,\n maxWidth: 1\n }\n }\n },\n shape: {\n type: \"circle\"\n },\n size: {\n value: 1\n },\n opacity: {\n value: 0.5\n },\n rotate: {\n path: true\n },\n move: {\n enable: true,\n gravity: {\n acceleration: 15,\n enable: true,\n inverse: true,\n maxSpeed: 100\n },\n speed: {\n min: 10,\n max: 20\n },\n outModes: {\n default: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.destroy,\n top: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.none\n }\n }\n },\n sounds: {\n enable: options.sounds,\n events: [{\n event: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.EventType.particleRemoved,\n filter: explodeSoundCheck,\n audio: [\"https://particles.js.org/audio/explosion0.mp3\", \"https://particles.js.org/audio/explosion1.mp3\", \"https://particles.js.org/audio/explosion2.mp3\"]\n }],\n volume: 50\n }\n };\n const container = await _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles.load({\n id,\n options: particlesOptions\n });\n if (!container) {\n return;\n }\n return new FireworksInstance(container);\n}\nfireworks.init = async () => {\n await initPlugins();\n};\nfireworks.version = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles.version;\nif (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isSsr)()) {\n window.fireworks = fireworks;\n}\n\n//# sourceURL=webpack://@tsparticles/fireworks/./dist/browser/fireworks.js?");
48
48
 
49
49
  /***/ }),
50
50
 
@@ -187,36 +187,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_rotate__;
187
187
  /******/ };
188
188
  /******/ })();
189
189
  /******/
190
- /******/ /* webpack/runtime/create fake namespace object */
191
- /******/ (() => {
192
- /******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
193
- /******/ var leafPrototypes;
194
- /******/ // create a fake namespace object
195
- /******/ // mode & 1: value is a module id, require it
196
- /******/ // mode & 2: merge all properties of value into the ns
197
- /******/ // mode & 4: return value when already ns object
198
- /******/ // mode & 16: return value when it's Promise-like
199
- /******/ // mode & 8|1: behave like require
200
- /******/ __webpack_require__.t = function(value, mode) {
201
- /******/ if(mode & 1) value = this(value);
202
- /******/ if(mode & 8) return value;
203
- /******/ if(typeof value === 'object' && value) {
204
- /******/ if((mode & 4) && value.__esModule) return value;
205
- /******/ if((mode & 16) && typeof value.then === 'function') return value;
206
- /******/ }
207
- /******/ var ns = Object.create(null);
208
- /******/ __webpack_require__.r(ns);
209
- /******/ var def = {};
210
- /******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
211
- /******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {
212
- /******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));
213
- /******/ }
214
- /******/ def['default'] = () => (value);
215
- /******/ __webpack_require__.d(ns, def);
216
- /******/ return ns;
217
- /******/ };
218
- /******/ })();
219
- /******/
220
190
  /******/ /* webpack/runtime/define property getters */
221
191
  /******/ (() => {
222
192
  /******/ // define getter functions for harmony exports
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see tsparticles.fireworks.min.js.LICENSE.txt */
2
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"),require("@tsparticles/basic"),require("@tsparticles/effect-trail"),require("@tsparticles/updater-life"),require("@tsparticles/updater-destroy"),require("@tsparticles/updater-rotate"),require("@tsparticles/plugin-sounds"),require("@tsparticles/plugin-emitters-shape-square"),require("@tsparticles/plugin-emitters"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine","@tsparticles/basic","@tsparticles/effect-trail","@tsparticles/updater-life","@tsparticles/updater-destroy","@tsparticles/updater-rotate","@tsparticles/plugin-sounds","@tsparticles/plugin-emitters-shape-square","@tsparticles/plugin-emitters"],t);else{var i="object"==typeof exports?t(require("@tsparticles/engine"),require("@tsparticles/basic"),require("@tsparticles/effect-trail"),require("@tsparticles/updater-life"),require("@tsparticles/updater-destroy"),require("@tsparticles/updater-rotate"),require("@tsparticles/plugin-sounds"),require("@tsparticles/plugin-emitters-shape-square"),require("@tsparticles/plugin-emitters")):t(e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window);for(var r in i)("object"==typeof exports?exports:e)[r]=i[r]}}(this,((e,t,i,r,s,a,o,n,l)=>(()=>{var p,u,c={574:e=>{e.exports=t},4:e=>{e.exports=i},533:t=>{t.exports=e},68:e=>{e.exports=l},787:e=>{e.exports=n},490:e=>{e.exports=o},344:e=>{e.exports=s},84:e=>{e.exports=r},59:e=>{e.exports=a}},d={};function f(e){var t=d[e];if(void 0!==t)return t.exports;var i=d[e]={exports:{}};return c[e](i,i.exports,f),i.exports}u=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var i=Object.create(null);f.r(i);var r={};p=p||[null,u({}),u([]),u(u)];for(var s=2&t&&e;"object"==typeof s&&!~p.indexOf(s);s=u(s))Object.getOwnPropertyNames(s).forEach((t=>r[t]=()=>e[t]));return r.default=()=>e,f.d(i,r),i},f.d=(e,t)=>{for(var i in t)f.o(t,i)&&!f.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},f.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var m={};return(()=>{f.r(m),f.d(m,{fireworks:()=>o});var e=f(533);class t{constructor(){this.background="none",this.brightness={min:-30,max:30},this.colors=["#ff595e","#ffca3a","#8ac926","#1982c4","#6a4c93"],this.gravity=5,this.minHeight={min:10,max:30},this.rate=10,this.saturation={min:-30,max:30},this.sounds=!0,this.speed={min:5,max:15},this.splitCount={min:75,max:150}}load(t){t&&(void 0!==t.background&&(this.background=t.background),void 0!==t.colors&&((0,e.isArray)(t.colors)?this.colors=[...t.colors]:this.colors=t.colors),void 0!==t.brightness&&(this.brightness=(0,e.setRangeValue)(t.brightness)),void 0!==t.gravity&&(this.gravity=(0,e.setRangeValue)(t.gravity)),void 0!==t.minHeight&&(this.minHeight=(0,e.setRangeValue)(t.minHeight)),void 0!==t.rate&&(this.rate=(0,e.setRangeValue)(t.rate)),void 0!==t.saturation&&(this.saturation=(0,e.setRangeValue)(t.saturation)),void 0!==t.sounds&&(this.sounds=t.sounds),void 0!==t.speed&&(this.speed=(0,e.setRangeValue)(t.speed)),void 0!==t.splitCount&&(this.splitCount=(0,e.setRangeValue)(t.splitCount)))}}let i=!1,r=!1;const s=e=>{const t=e.data;return"circle"===t.particle.shape&&!!t.particle.splitCount&&t.particle.splitCount<2};class a{constructor(e){this._container=e}pause(){this._container.pause()}play(){this._container.play()}stop(){this._container.stop()}}async function o(o,n){let l;await async function(){if(i)return;if(r)return new Promise((e=>{const t=setInterval((()=>{i&&(clearInterval(t),e())}),100)}));r=!0;const{loadEmittersPlugin:t}=await Promise.resolve().then(f.t.bind(f,68,23)),{loadEmittersShapeSquare:s}=await Promise.resolve().then(f.t.bind(f,787,23)),{loadSoundsPlugin:a}=await Promise.resolve().then(f.t.bind(f,490,23)),{loadRotateUpdater:o}=await Promise.resolve().then(f.t.bind(f,59,23)),{loadDestroyUpdater:n}=await Promise.resolve().then(f.t.bind(f,344,23)),{loadLifeUpdater:l}=await Promise.resolve().then(f.t.bind(f,84,23)),{loadTrailEffect:p}=await Promise.resolve().then(f.t.bind(f,4,23)),{loadBasic:u}=await Promise.resolve().then(f.t.bind(f,574,23));await t(e.tsParticles,!1),await s(e.tsParticles,!1),await a(e.tsParticles,!1),await o(e.tsParticles,!1),await n(e.tsParticles,!1),await l(e.tsParticles,!1),await p(e.tsParticles,!1),await u(e.tsParticles,!1),r=!1,i=!0}();const p=new t;(0,e.isString)(o)?(l=o,p.load(n)):(l="fireworks",p.load(o));const u={detectRetina:!0,background:{color:p.background},fpsLimit:60,emitters:{direction:"top",life:{count:0,duration:.1,delay:.1},rate:{delay:(0,e.isNumber)(p.rate)?1/p.rate:{min:1/(0,e.getRangeMin)(p.rate),max:1/(0,e.getRangeMax)(p.rate)},quantity:1},size:{width:100,height:0},position:{y:100,x:50}},particles:{number:{value:0},color:{value:"#fff"},destroy:{mode:"split",bounds:{top:(0,e.setRangeValue)(p.minHeight)},split:{sizeOffset:!1,count:1,factor:{value:.333333},rate:{value:p.splitCount},colorOffset:{s:p.saturation,l:p.brightness},particles:{color:{value:p.colors},number:{value:0},opacity:{value:{min:.1,max:1},animation:{enable:!0,speed:1,sync:!1,startValue:"max",destroy:"min"}},effect:{type:"trail",options:{trail:{length:{min:5,max:10}}}},shape:{type:"circle"},size:{value:{min:1,max:2},animation:{enable:!0,speed:5,count:1,sync:!1,startValue:"min",destroy:"none"}},life:{count:1,duration:{value:{min:.25,max:.5}}},move:{decay:{min:.05,max:.1},enable:!0,gravity:{enable:!0,inverse:!1,acceleration:(0,e.setRangeValue)(p.gravity)},speed:(0,e.setRangeValue)(p.speed),direction:"none",outModes:"destroy"}}}},life:{count:1},effect:{type:"trail",options:{trail:{length:{min:10,max:30},minWidth:1,maxWidth:1}}},shape:{type:"circle"},size:{value:1},opacity:{value:.5},rotate:{path:!0},move:{enable:!0,gravity:{acceleration:15,enable:!0,inverse:!0,maxSpeed:100},speed:{min:10,max:20},outModes:{default:"destroy",top:"none"}}},sounds:{enable:p.sounds,events:[{event:"particleRemoved",filter:s,audio:["https://particles.js.org/audio/explosion0.mp3","https://particles.js.org/audio/explosion1.mp3","https://particles.js.org/audio/explosion2.mp3"]}],volume:50}},c=await e.tsParticles.load({id:l,options:u});if(c)return new a(c)}o.version=e.tsParticles.version,(0,e.isSsr)()||(window.fireworks=o)})(),m})()));
2
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"),require("@tsparticles/basic"),require("@tsparticles/updater-destroy"),require("@tsparticles/plugin-emitters"),require("@tsparticles/plugin-emitters-shape-square"),require("@tsparticles/updater-life"),require("@tsparticles/updater-rotate"),require("@tsparticles/plugin-sounds"),require("@tsparticles/effect-trail"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine","@tsparticles/basic","@tsparticles/updater-destroy","@tsparticles/plugin-emitters","@tsparticles/plugin-emitters-shape-square","@tsparticles/updater-life","@tsparticles/updater-rotate","@tsparticles/plugin-sounds","@tsparticles/effect-trail"],t);else{var i="object"==typeof exports?t(require("@tsparticles/engine"),require("@tsparticles/basic"),require("@tsparticles/updater-destroy"),require("@tsparticles/plugin-emitters"),require("@tsparticles/plugin-emitters-shape-square"),require("@tsparticles/updater-life"),require("@tsparticles/updater-rotate"),require("@tsparticles/plugin-sounds"),require("@tsparticles/effect-trail")):t(e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window);for(var s in i)("object"==typeof exports?exports:e)[s]=i[s]}}(this,((e,t,i,s,a,r,o,n,l)=>(()=>{var p={145:e=>{e.exports=t},637:e=>{e.exports=l},303:t=>{t.exports=e},526:e=>{e.exports=s},140:e=>{e.exports=a},933:e=>{e.exports=n},173:e=>{e.exports=i},75:e=>{e.exports=r},668:e=>{e.exports=o}},u={};function c(e){var t=u[e];if(void 0!==t)return t.exports;var i=u[e]={exports:{}};return p[e](i,i.exports,c),i.exports}c.d=(e,t)=>{for(var i in t)c.o(t,i)&&!c.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var d={};return(()=>{c.r(d),c.d(d,{fireworks:()=>h});var e=c(303);class t{constructor(){this.background="none",this.brightness={min:-30,max:30},this.colors=["#ff595e","#ffca3a","#8ac926","#1982c4","#6a4c93"],this.gravity=5,this.minHeight={min:10,max:30},this.rate=10,this.saturation={min:-30,max:30},this.sounds=!0,this.speed={min:5,max:15},this.splitCount={min:75,max:150}}load(t){t&&(void 0!==t.background&&(this.background=t.background),void 0!==t.colors&&((0,e.isArray)(t.colors)?this.colors=[...t.colors]:this.colors=t.colors),void 0!==t.brightness&&(this.brightness=(0,e.setRangeValue)(t.brightness)),void 0!==t.gravity&&(this.gravity=(0,e.setRangeValue)(t.gravity)),void 0!==t.minHeight&&(this.minHeight=(0,e.setRangeValue)(t.minHeight)),void 0!==t.rate&&(this.rate=(0,e.setRangeValue)(t.rate)),void 0!==t.saturation&&(this.saturation=(0,e.setRangeValue)(t.saturation)),void 0!==t.sounds&&(this.sounds=t.sounds),void 0!==t.speed&&(this.speed=(0,e.setRangeValue)(t.speed)),void 0!==t.splitCount&&(this.splitCount=(0,e.setRangeValue)(t.splitCount)))}}var i=c(145),s=c(173),a=c(526),r=c(140),o=c(75),n=c(668),l=c(933),p=c(637);let u=!1,m=!1;const f=e=>{const t=e.data;return"circle"===t.particle.shape&&!!t.particle.splitCount&&t.particle.splitCount<2};class g{constructor(e){this._container=e}pause(){this._container.pause()}play(){this._container.play()}stop(){this._container.stop()}}async function y(){if(!u){if(m)return new Promise((e=>{const t=setInterval((()=>{u&&(clearInterval(t),e())}),100)}));m=!0,await(0,a.loadEmittersPlugin)(e.tsParticles,!1),await(0,r.loadEmittersShapeSquare)(e.tsParticles,!1),await(0,l.loadSoundsPlugin)(e.tsParticles,!1),await(0,n.loadRotateUpdater)(e.tsParticles,!1),await(0,s.loadDestroyUpdater)(e.tsParticles,!1),await(0,o.loadLifeUpdater)(e.tsParticles,!1),await(0,p.loadTrailEffect)(e.tsParticles,!1),await(0,i.loadBasic)(e.tsParticles,!1),m=!1,u=!0}}async function h(i,s){let a;await y();const r=new t;(0,e.isString)(i)?(a=i,r.load(s)):(a="fireworks",r.load(i));const o={detectRetina:!0,background:{color:r.background},fpsLimit:60,emitters:{direction:e.MoveDirection.top,life:{count:0,duration:.1,delay:.1},rate:{delay:(0,e.isNumber)(r.rate)?1/r.rate:{min:1/(0,e.getRangeMin)(r.rate),max:1/(0,e.getRangeMax)(r.rate)},quantity:1},size:{width:100,height:0},position:{y:100,x:50}},particles:{number:{value:0},color:{value:"#fff"},destroy:{mode:"split",bounds:{top:(0,e.setRangeValue)(r.minHeight)},split:{sizeOffset:!1,count:1,factor:{value:.333333},rate:{value:r.splitCount},colorOffset:{s:r.saturation,l:r.brightness},particles:{color:{value:r.colors},number:{value:0},opacity:{value:{min:.1,max:1},animation:{enable:!0,speed:1,sync:!1,startValue:e.StartValueType.max,destroy:e.DestroyType.min}},effect:{type:"trail",options:{trail:{length:{min:5,max:10}}}},shape:{type:"circle"},size:{value:{min:1,max:2},animation:{enable:!0,speed:5,count:1,sync:!1,startValue:e.StartValueType.min,destroy:e.DestroyType.none}},life:{count:1,duration:{value:{min:.25,max:.5}}},move:{decay:{min:.05,max:.1},enable:!0,gravity:{enable:!0,inverse:!1,acceleration:(0,e.setRangeValue)(r.gravity)},speed:(0,e.setRangeValue)(r.speed),direction:"none",outModes:e.OutMode.destroy}}}},life:{count:1},effect:{type:"trail",options:{trail:{length:{min:10,max:30},minWidth:1,maxWidth:1}}},shape:{type:"circle"},size:{value:1},opacity:{value:.5},rotate:{path:!0},move:{enable:!0,gravity:{acceleration:15,enable:!0,inverse:!0,maxSpeed:100},speed:{min:10,max:20},outModes:{default:e.OutMode.destroy,top:e.OutMode.none}}},sounds:{enable:r.sounds,events:[{event:e.EventType.particleRemoved,filter:f,audio:["https://particles.js.org/audio/explosion0.mp3","https://particles.js.org/audio/explosion1.mp3","https://particles.js.org/audio/explosion2.mp3"]}],volume:50}},n=await e.tsParticles.load({id:a,options:o});if(n)return new g(n)}h.init=async()=>{await y()},h.version=e.tsParticles.version,(0,e.isSsr)()||(window.fireworks=h)})(),d})()));
@@ -1 +1 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
1
+ /*! tsParticles Fireworks v3.4.0 by Matteo Bruni */
@@ -1,8 +1,12 @@
1
1
  import { type Container, type RecursivePartial } from "@tsparticles/engine";
2
2
  import type { IFireworkOptions } from "./IFireworkOptions.js";
3
+ type FireworksFunc = ((idOrOptions: string | RecursivePartial<IFireworkOptions>, sourceOptions?: RecursivePartial<IFireworkOptions>) => Promise<FireworksInstance | undefined>) & {
4
+ version: string;
5
+ };
3
6
  declare global {
4
7
  interface Window {
5
- fireworks: ((idOrOptions: string | RecursivePartial<IFireworkOptions>, sourceOptions?: RecursivePartial<IFireworkOptions>) => Promise<FireworksInstance | undefined>) & {
8
+ fireworks: FireworksFunc & {
9
+ init: () => Promise<void>;
6
10
  version: string;
7
11
  };
8
12
  }
@@ -17,5 +21,6 @@ declare class FireworksInstance {
17
21
  export type { FireworksInstance };
18
22
  export declare function fireworks(idOrOptions: string | RecursivePartial<IFireworkOptions>, sourceOptions?: RecursivePartial<IFireworkOptions>): Promise<FireworksInstance | undefined>;
19
23
  export declare namespace fireworks {
24
+ var init: () => Promise<void>;
20
25
  var version: string;
21
26
  }
package/umd/fireworks.js CHANGED
@@ -1,41 +1,25 @@
1
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
- if (k2 === undefined) k2 = k;
3
- var desc = Object.getOwnPropertyDescriptor(m, k);
4
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
- desc = { enumerable: true, get: function() { return m[k]; } };
6
- }
7
- Object.defineProperty(o, k2, desc);
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14
- }) : function(o, v) {
15
- o["default"] = v;
16
- });
17
- var __importStar = (this && this.__importStar) || function (mod) {
18
- if (mod && mod.__esModule) return mod;
19
- var result = {};
20
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
- __setModuleDefault(result, mod);
22
- return result;
23
- };
24
1
  (function (factory) {
25
2
  if (typeof module === "object" && typeof module.exports === "object") {
26
3
  var v = factory(require, exports);
27
4
  if (v !== undefined) module.exports = v;
28
5
  }
29
6
  else if (typeof define === "function" && define.amd) {
30
- define(["require", "exports", "@tsparticles/engine", "./FireworkOptions.js"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "./FireworkOptions.js", "@tsparticles/basic", "@tsparticles/updater-destroy", "@tsparticles/plugin-emitters", "@tsparticles/plugin-emitters-shape-square", "@tsparticles/updater-life", "@tsparticles/updater-rotate", "@tsparticles/plugin-sounds", "@tsparticles/effect-trail"], factory);
31
8
  }
32
9
  })(function (require, exports) {
33
10
  "use strict";
34
- var __syncRequire = typeof module === "object" && typeof module.exports === "object";
35
11
  Object.defineProperty(exports, "__esModule", { value: true });
36
12
  exports.fireworks = void 0;
37
13
  const engine_1 = require("@tsparticles/engine");
38
14
  const FireworkOptions_js_1 = require("./FireworkOptions.js");
15
+ const basic_1 = require("@tsparticles/basic");
16
+ const updater_destroy_1 = require("@tsparticles/updater-destroy");
17
+ const plugin_emitters_1 = require("@tsparticles/plugin-emitters");
18
+ const plugin_emitters_shape_square_1 = require("@tsparticles/plugin-emitters-shape-square");
19
+ const updater_life_1 = require("@tsparticles/updater-life");
20
+ const updater_rotate_1 = require("@tsparticles/updater-rotate");
21
+ const plugin_sounds_1 = require("@tsparticles/plugin-sounds");
22
+ const effect_trail_1 = require("@tsparticles/effect-trail");
39
23
  const minSplitCount = 2;
40
24
  let initialized = false;
41
25
  let initializing = false;
@@ -62,7 +46,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
62
46
  return;
63
47
  }
64
48
  if (initializing) {
65
- return new Promise((resolve) => {
49
+ return new Promise(resolve => {
66
50
  const timeout = 100, interval = setInterval(() => {
67
51
  if (!initialized) {
68
52
  return;
@@ -73,15 +57,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
73
57
  });
74
58
  }
75
59
  initializing = true;
76
- const { loadEmittersPlugin } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/plugin-emitters"))) : new Promise((resolve_1, reject_1) => { require(["@tsparticles/plugin-emitters"], resolve_1, reject_1); }).then(__importStar)), { loadEmittersShapeSquare } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/plugin-emitters-shape-square"))) : new Promise((resolve_2, reject_2) => { require(["@tsparticles/plugin-emitters-shape-square"], resolve_2, reject_2); }).then(__importStar)), { loadSoundsPlugin } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/plugin-sounds"))) : new Promise((resolve_3, reject_3) => { require(["@tsparticles/plugin-sounds"], resolve_3, reject_3); }).then(__importStar)), { loadRotateUpdater } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/updater-rotate"))) : new Promise((resolve_4, reject_4) => { require(["@tsparticles/updater-rotate"], resolve_4, reject_4); }).then(__importStar)), { loadDestroyUpdater } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/updater-destroy"))) : new Promise((resolve_5, reject_5) => { require(["@tsparticles/updater-destroy"], resolve_5, reject_5); }).then(__importStar)), { loadLifeUpdater } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/updater-life"))) : new Promise((resolve_6, reject_6) => { require(["@tsparticles/updater-life"], resolve_6, reject_6); }).then(__importStar)), { loadTrailEffect } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/effect-trail"))) : new Promise((resolve_7, reject_7) => { require(["@tsparticles/effect-trail"], resolve_7, reject_7); }).then(__importStar)), { loadBasic } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/basic"))) : new Promise((resolve_8, reject_8) => { require(["@tsparticles/basic"], resolve_8, reject_8); }).then(__importStar));
77
- await loadEmittersPlugin(engine_1.tsParticles, false);
78
- await loadEmittersShapeSquare(engine_1.tsParticles, false);
79
- await loadSoundsPlugin(engine_1.tsParticles, false);
80
- await loadRotateUpdater(engine_1.tsParticles, false);
81
- await loadDestroyUpdater(engine_1.tsParticles, false);
82
- await loadLifeUpdater(engine_1.tsParticles, false);
83
- await loadTrailEffect(engine_1.tsParticles, false);
84
- await loadBasic(engine_1.tsParticles, false);
60
+ await (0, plugin_emitters_1.loadEmittersPlugin)(engine_1.tsParticles, false);
61
+ await (0, plugin_emitters_shape_square_1.loadEmittersShapeSquare)(engine_1.tsParticles, false);
62
+ await (0, plugin_sounds_1.loadSoundsPlugin)(engine_1.tsParticles, false);
63
+ await (0, updater_rotate_1.loadRotateUpdater)(engine_1.tsParticles, false);
64
+ await (0, updater_destroy_1.loadDestroyUpdater)(engine_1.tsParticles, false);
65
+ await (0, updater_life_1.loadLifeUpdater)(engine_1.tsParticles, false);
66
+ await (0, effect_trail_1.loadTrailEffect)(engine_1.tsParticles, false);
67
+ await (0, basic_1.loadBasic)(engine_1.tsParticles, false);
85
68
  initializing = false;
86
69
  initialized = true;
87
70
  }
@@ -104,7 +87,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
104
87
  },
105
88
  fpsLimit: 60,
106
89
  emitters: {
107
- direction: "top",
90
+ direction: engine_1.MoveDirection.top,
108
91
  life: {
109
92
  count: 0,
110
93
  duration: 0.1,
@@ -166,8 +149,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
166
149
  enable: true,
167
150
  speed: 1,
168
151
  sync: false,
169
- startValue: "max",
170
- destroy: "min",
152
+ startValue: engine_1.StartValueType.max,
153
+ destroy: engine_1.DestroyType.min,
171
154
  },
172
155
  },
173
156
  effect: {
@@ -191,8 +174,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
191
174
  speed: 5,
192
175
  count: 1,
193
176
  sync: false,
194
- startValue: "min",
195
- destroy: "none",
177
+ startValue: engine_1.StartValueType.min,
178
+ destroy: engine_1.DestroyType.none,
196
179
  },
197
180
  },
198
181
  life: {
@@ -214,7 +197,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
214
197
  },
215
198
  speed: (0, engine_1.setRangeValue)(options.speed),
216
199
  direction: "none",
217
- outModes: "destroy",
200
+ outModes: engine_1.OutMode.destroy,
218
201
  },
219
202
  },
220
203
  },
@@ -260,8 +243,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
260
243
  max: 20,
261
244
  },
262
245
  outModes: {
263
- default: "destroy",
264
- top: "none",
246
+ default: engine_1.OutMode.destroy,
247
+ top: engine_1.OutMode.none,
265
248
  },
266
249
  },
267
250
  },
@@ -269,7 +252,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
269
252
  enable: options.sounds,
270
253
  events: [
271
254
  {
272
- event: "particleRemoved",
255
+ event: engine_1.EventType.particleRemoved,
273
256
  filter: explodeSoundCheck,
274
257
  audio: [
275
258
  "https://particles.js.org/audio/explosion0.mp3",
@@ -288,6 +271,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
288
271
  return new FireworksInstance(container);
289
272
  }
290
273
  exports.fireworks = fireworks;
274
+ fireworks.init = async () => {
275
+ await initPlugins();
276
+ };
291
277
  fireworks.version = engine_1.tsParticles.version;
292
278
  if (!(0, engine_1.isSsr)()) {
293
279
  window.fireworks = fireworks;
package/108.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 108.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[108],{7108:(t,a,e)=>{async function s(t,a=!0){await t.addParticleUpdater("outModes",(async t=>{const{OutOfCanvasUpdater:a}=await e.e(329).then(e.bind(e,5329));return new a(t)}),a)}e.d(a,{loadOutModesUpdater:()=>s})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/120.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 120.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[120],{5120:(a,t,e)=>{async function i(a,t=!0){const{loadBaseMover:i}=await e.e(835).then(e.bind(e,7835)),{loadCircleShape:d}=await e.e(308).then(e.bind(e,1308)),{loadColorUpdater:n}=await e.e(196).then(e.bind(e,196)),{loadOpacityUpdater:w}=await e.e(49).then(e.bind(e,7049)),{loadOutModesUpdater:o}=await e.e(108).then(e.bind(e,7108)),{loadSizeUpdater:r}=await e.e(141).then(e.bind(e,3141));await i(a,!1),await d(a,!1),await n(a,!1),await w(a,!1),await o(a,!1),await r(a,!1),await a.refresh(t)}e.d(t,{loadBasic:()=>i})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/126.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 126.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[126],{9126:(e,t,i)=>{i.d(t,{LifeUpdater:()=>c});var s=i(3624);class n extends s.SW{constructor(){super(),this.sync=!1}load(e){e&&(super.load(e),void 0!==e.sync&&(this.sync=e.sync))}}class a extends s.SW{constructor(){super(),this.sync=!1}load(e){e&&(super.load(e),void 0!==e.sync&&(this.sync=e.sync))}}class o{constructor(){this.count=0,this.delay=new n,this.duration=new a}load(e){e&&(void 0!==e.count&&(this.count=e.count),this.delay.load(e.delay),this.duration.load(e.duration))}}class c{constructor(e){this.container=e}async init(e){const t=this.container,i=e.options.life;i&&(e.life={delay:t.retina.reduceFactor?(0,s.Gu)(i.delay.value)*(i.delay.sync?1:(0,s.sZ)())/t.retina.reduceFactor*s.X5:0,delayTime:0,duration:t.retina.reduceFactor?(0,s.Gu)(i.duration.value)*(i.duration.sync?1:(0,s.sZ)())/t.retina.reduceFactor*s.X5:0,time:0,count:i.count},e.life.duration<=0&&(e.life.duration=-1),e.life.count<=0&&(e.life.count=-1),e.life&&(e.spawning=e.life.delay>0),await Promise.resolve())}isEnabled(e){return!e.destroyed}loadOptions(e,...t){e.life||(e.life=new o);for(const i of t)e.life.load(i?.life)}async update(e,t){if(!this.isEnabled(e)||!e.life)return;const{updateLife:s}=await i.e(580).then(i.bind(i,2580));s(e,t,this.container.canvas.size)}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/132.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 132.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[132],{6132:(a,e,i)=>{i.d(e,{CircleDrawer:()=>s});var r=i(3624);class s{async draw(a){const{drawCircle:e}=await i.e(973).then(i.bind(i,4973));e(a)}getSidesCount(){return 12}async particleInit(a,e){const i=e.shapeData,s=i?.angle??{max:360,min:0};e.circleRange=(0,r.Kn)(s)?{min:(0,r.Id)(s.min),max:(0,r.Id)(s.max)}:{min:0,max:(0,r.Id)(s)},await Promise.resolve()}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/141.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 141.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[141],{3141:(e,a,t)=>{async function i(e,a=!0){await e.addParticleUpdater("size",(async()=>{const{SizeUpdater:e}=await t.e(725).then(t.bind(t,7725));return new e}),a)}t.d(a,{loadSizeUpdater:()=>i})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/163.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 163.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[163],{1163:(s,t,e)=>{e.d(t,{SoundsPlugin:()=>w});var i=e(3624);class n{constructor(){this.loop=!1,this.source=""}load(s){void 0!==s&&((0,i.Kn)(s)?(void 0!==s.loop&&(this.loop=s.loop),void 0!==s.source&&(this.source=s.source)):this.source=s)}}class o{constructor(){this.duration=500,this.value=[]}load(s){s&&(void 0!==s.duration&&(this.duration=s.duration),void 0!==s.value&&(this.value=s.value))}}class l{constructor(){this.loop=!1,this.melodies=[],this.notes=[]}load(s){void 0!==s&&(void 0!==s.loop&&(this.loop=s.loop),void 0!==s.melodies&&(this.melodies=s.melodies.map((s=>{const t=new l;return t.load(s),t}))),void 0!==s.notes&&(this.notes=s.notes.map((s=>{const t=new o;return t.load(s),t}))))}}class c{constructor(){this.event=[],this.notes=[]}load(s){if(s&&(void 0!==s.event&&(this.event=s.event),void 0!==s.audio&&((0,i.kJ)(s.audio)?this.audio=s.audio.map((s=>{const t=new n;return t.load(s),t})):(this.audio=new n,this.audio.load(s.audio))),void 0!==s.notes&&(this.notes=s.notes.map((s=>{const t=new o;return t.load(s),t}))),void 0!==s.melodies&&(this.melodies=s.melodies.map((s=>{const t=new l;return t.load(s),t}))),s.filter))if((0,i.HD)(s.filter)){const t=window[s.filter];(0,i.mf)(t)&&(this.filter=t)}else this.filter=s.filter}}class a{constructor(){this.width=24,this.height=24,this.style=""}load(s){s&&(void 0!==s.path&&(this.path=s.path),void 0!==s.svg&&(this.svg=s.svg),void 0!==s.width&&(this.width=s.width),void 0!==s.height&&(this.height=s.height))}}class h{constructor(){this.mute=new a,this.unmute=new a,this.volumeDown=new a,this.volumeUp=new a,this.enable=!1,this.mute.svg='<?xml version="1.0"?>\n<svg baseProfile="tiny" height="24px" version="1.2" viewBox="0 0 24 24" width="24px"\n xml:space="preserve" xmlns="http://www.w3.org/2000/svg"\n xmlns:xlink="http://www.w3.org/1999/xlink">\n <g id="Layer_1">\n <path fill="#fff" d="M19.707,5.293c-0.391-0.391-1.023-0.391-1.414,0l-1.551,1.551c-0.345-0.688-0.987-1.02-1.604-1.02c-0.449,0-0.905,0.152-1.356,0.453l-2.672,1.781C10.357,8.561,8.904,9,8,9c-1.654,0-3,1.346-3,3v2c0,1.237,0.754,2.302,1.826,2.76l-1.533,1.533c-0.391,0.391-0.391,1.023,0,1.414C5.488,19.902,5.744,20,6,20s0.512-0.098,0.707-0.293l2.527-2.527c0.697,0.174,1.416,0.455,1.875,0.762l2.672,1.781c0.451,0.301,0.907,0.453,1.356,0.453C16.035,20.176,17,19.495,17,18V9.414l2.707-2.707C20.098,6.316,20.098,5.684,19.707,5.293z M14.891,7.941c0.038-0.025,0.073-0.046,0.104-0.062C14.998,7.914,15,7.954,15,8v1.293l-2,2V9.202L14.891,7.941z M7,12c0-0.552,0.448-1,1-1c1.211,0,2.907-0.495,4-1.146v2.439l-2.83,2.83C8.757,15.046,8.356,15,8,15c-0.552,0-1-0.448-1-1V12z M10.301,15.406L12,13.707v2.439C11.519,15.859,10.925,15.604,10.301,15.406z M14.994,18.12c-0.03-0.016-0.065-0.036-0.104-0.062L13,16.798v-4.091l2-2V18C15,18.046,14.998,18.086,14.994,18.12z"/>\n </g>\n</svg>',this.unmute.svg='<?xml version="1.0"?>\n<svg baseProfile="tiny" height="24px" version="1.2" viewBox="0 0 24 24" width="24px"\n xml:space="preserve" xmlns="http://www.w3.org/2000/svg"\n xmlns:xlink="http://www.w3.org/1999/xlink">\n <g id="Layer_1">\n <path fill="#fff" d="M17.138,5.824c-0.449,0-0.905,0.152-1.356,0.453l-2.672,1.781C12.357,8.561,10.904,9,10,9c-1.654,0-3,1.346-3,3v2c0,1.654,1.346,3,3,3c0.904,0,2.357,0.439,3.109,0.941l2.672,1.781c0.451,0.301,0.907,0.453,1.356,0.453C18.035,20.176,19,19.495,19,18V8C19,6.505,18.035,5.824,17.138,5.824z M14,16.146C12.907,15.495,11.211,15,10,15c-0.552,0-1-0.448-1-1v-2c0-0.552,0.448-1,1-1c1.211,0,2.907-0.495,4-1.146V16.146z M17,18c0,0.046-0.002,0.086-0.006,0.12c-0.03-0.016-0.065-0.036-0.104-0.062L15,16.798V9.202l1.891-1.261c0.038-0.025,0.073-0.046,0.104-0.062C16.998,7.914,17,7.954,17,8V18z"/>\n </g>\n</svg>',this.volumeDown.svg='<?xml version="1.0"?>\n<svg baseProfile="tiny" height="24px" version="1.2" viewBox="0 0 24 24" width="24px"\n xml:space="preserve" xmlns="http://www.w3.org/2000/svg"\n xmlns:xlink="http://www.w3.org/1999/xlink">\n <g id="Layer_1">\n <path fill="#fff" d="M15.138,5.824c-0.449,0-0.905,0.152-1.356,0.453l-2.672,1.781C10.357,8.561,8.904,9,8,9c-1.654,0-3,1.346-3,3v2c0,1.654,1.346,3,3,3c0.904,0,2.357,0.439,3.109,0.941l2.672,1.781c0.451,0.301,0.907,0.453,1.356,0.453C16.035,20.176,17,19.495,17,18V8C17,6.505,16.035,5.824,15.138,5.824z M8,15c-0.552,0-1-0.448-1-1v-2c0-0.552,0.448-1,1-1c1.211,0,2.907-0.495,4-1.146v6.293C10.907,15.495,9.211,15,8,15z M15,18c0,0.046-0.002,0.086-0.006,0.12c-0.03-0.016-0.065-0.036-0.104-0.062L13,16.798V9.202l1.891-1.261c0.038-0.025,0.073-0.046,0.104-0.062C14.998,7.914,15,7.954,15,8V18z"/>\n <path fill="#fff" d="M18.292,10.294c-0.39,0.391-0.39,1.023,0.002,1.414c0.345,0.345,0.535,0.803,0.535,1.291c0,0.489-0.19,0.948-0.536,1.294c-0.391,0.39-0.391,1.023,0,1.414C18.488,15.902,18.744,16,19,16s0.512-0.098,0.707-0.293c0.724-0.723,1.122-1.685,1.122-2.708s-0.398-1.984-1.123-2.707C19.317,9.903,18.683,9.901,18.292,10.294z"/>\n </g>\n</svg>',this.volumeUp.svg='<?xml version="1.0"?>\n<svg baseProfile="tiny" height="24px" version="1.2" viewBox="0 0 24 24" width="24px"\n xml:space="preserve" xmlns="http://www.w3.org/2000/svg"\n xmlns:xlink="http://www.w3.org/1999/xlink">\n <g id="Layer_1">\n <path fill="#fff" d="M16.706,10.292c-0.389-0.389-1.023-0.391-1.414,0.002c-0.39,0.391-0.39,1.023,0.002,1.414c0.345,0.345,0.535,0.803,0.535,1.291c0,0.489-0.19,0.948-0.536,1.294c-0.391,0.39-0.391,1.023,0,1.414C15.488,15.902,15.744,16,16,16s0.512-0.098,0.707-0.293c0.724-0.723,1.122-1.685,1.122-2.708S17.431,11.015,16.706,10.292z"/>\n <path fill="#fff" d="M18.706,8.292c-0.391-0.389-1.023-0.39-1.414,0.002c-0.39,0.391-0.39,1.024,0.002,1.414c0.879,0.877,1.363,2.044,1.364,3.287c0.001,1.246-0.484,2.417-1.365,3.298c-0.391,0.391-0.391,1.023,0,1.414C17.488,17.902,17.744,18,18,18s0.512-0.098,0.707-0.293c1.259-1.259,1.952-2.933,1.951-4.713C20.657,11.217,19.964,9.547,18.706,8.292z"/>\n <path fill="#fff" d="M20.706,6.292c-0.391-0.389-1.023-0.39-1.414,0.002c-0.39,0.391-0.39,1.024,0.002,1.414c1.412,1.409,2.191,3.285,2.192,5.284c0.002,2.002-0.777,3.885-2.193,5.301c-0.391,0.391-0.391,1.023,0,1.414C19.488,19.902,19.744,20,20,20s0.512-0.098,0.707-0.293c1.794-1.794,2.781-4.18,2.779-6.717C23.485,10.457,22.497,8.078,20.706,6.292z"/>\n <path fill="#fff" d="M12.138,5.824c-0.449,0-0.905,0.152-1.356,0.453L8.109,8.059C7.357,8.561,5.904,9,5,9c-1.654,0-3,1.346-3,3v2c0,1.654,1.346,3,3,3c0.904,0,2.357,0.439,3.109,0.941l2.672,1.781c0.451,0.301,0.907,0.453,1.356,0.453C13.035,20.176,14,19.495,14,18V8C14,6.505,13.035,5.824,12.138,5.824z M5,15c-0.552,0-1-0.448-1-1v-2c0-0.552,0.448-1,1-1c1.211,0,2.907-0.495,4-1.146v6.293C7.907,15.495,6.211,15,5,15z M12,18c0,0.046-0.002,0.086-0.006,0.12c-0.03-0.016-0.065-0.036-0.104-0.062L10,16.798V9.202l1.891-1.261c0.038-0.025,0.073-0.046,0.104-0.062C11.998,7.914,12,7.954,12,8V18z"/>\n </g>\n</svg>'}load(s){s&&(void 0!==s.enable&&(this.enable=s.enable),this.mute.load(s.mute),this.unmute.load(s.unmute),this.volumeDown.load(s.volumeDown),this.volumeUp.load(s.volumeUp))}}class v{constructor(){this.value=100,this.max=100,this.min=0,this.step=10}load(s){void 0!==s&&((0,i.Kn)(s)?(void 0!==s.max&&(this.max=s.max),void 0!==s.min&&(this.min=s.min),void 0!==s.step&&(this.step=s.step),void 0!==s.value&&(this.value=s.value)):this.value=s)}}class d{constructor(){this.autoPlay=!0,this.enable=!1,this.events=[],this.icons=new h,this.volume=new v}load(s){s&&(void 0!==s.autoPlay&&(this.autoPlay=s.autoPlay),void 0!==s.enable&&(this.enable=s.enable),void 0!==s.events&&(this.events=s.events.map((s=>{const t=new c;return t.load(s),t}))),this.icons.load(s.icons),void 0!==s.volume&&this.volume.load(s.volume))}}var r=e(6945);const u=()=>{removeEventListener(i.ZL,u),removeEventListener(i.Re,u),(0,r.ON)()};class w{constructor(s){this.id="sounds",this._engine=s;const t={capture:!0,once:!0};addEventListener(i.ZL,u,t),addEventListener(i.Re,u,t)}async getPlugin(s){const{SoundsInstance:t}=await e.e(468).then(e.bind(e,3468));return new t(s,this._engine)}loadOptions(s,t){if(!this.needsPlugin(s)&&!this.needsPlugin(t))return;let e=s.sounds;void 0===e?.load&&(s.sounds=e=new d),e.load(t?.sounds)}needsPlugin(s){return s?.sounds?.enable??!1}}},6945:(s,t,e)=>{e.d(t,{ON:()=>c,c3:()=>l,g6:()=>n});const i=new Map;function n(s){const t=/(([A-G]b?)(\d))|pause/i.exec(s);if(!t?.length)return;const e=t[2]||t[0],n=i.get(e);return n?n[parseInt(t[3]||"0")]:void 0}i.set("C",[16.35,32.7,65.41,130.81,261.63,523.25,1046.5,2093,4186.01]),i.set("Db",[17.32,34.65,69.3,138.59,277.18,554.37,1108.73,2217.46,4434.92]),i.set("D",[18.35,36.71,73.42,146.83,293.66,587.33,1174.66,2349.32,4698.63]),i.set("Eb",[19.45,38.89,77.78,155.56,311.13,622.25,1244.51,2489.02,4978.03]),i.set("E",[20.6,41.2,82.41,164.81,329.63,659.25,1318.51,2637.02,5274.04]),i.set("F",[21.83,43.65,87.31,174.61,349.23,698.46,1396.91,2793.83,5587.65]),i.set("Gb",[23.12,46.25,92.5,185,369.99,739.99,1479.98,2959.96,5919.91]),i.set("G",[24.5,49,98,196,392,783.99,1567.98,3135.96,6271.93]),i.set("Ab",[25.96,51.91,103.83,207.65,415.3,830.61,1661.22,3322.44,6644.88]),i.set("A",[27.5,55,110,220,440,880,1760,3520,7040]),i.set("Bb",[29.14,58.27,116.54,233.08,466.16,932.33,1864.66,3729.31,7458.62]),i.set("B",[30.87,61.74,123.47,246.94,493.88,987.77,1975.53,3951.07,7902.13]),i.set("pause",[0]);let o=!0;const l=()=>o,c=()=>{o=!1}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/173.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 173.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[173],{2173:(t,i,s)=>{s.d(i,{Particle:()=>f});var e=s(6888),o=s(2358),a=s(1271),n=s(6830),r=s(5063),h=s(8461),c=s(4150),l=s(8853);const p=.5;function d(t){if(!(0,a.dB)(t.outMode,t.checkModes))return;const i=2*t.radius;t.coord>t.maxCoord-i?t.setCb(-t.radius):t.coord<i&&t.setCb(t.radius)}class f{constructor(t,i){this.container=i,this._calcPosition=(t,i,s,a=0)=>{for(const[,o]of t.plugins){const t=void 0!==o.particlePosition?o.particlePosition(i,this):void 0;if(t)return e.U.create(t.x,t.y,s)}const n=t.canvas.size,r=(0,o.mC)({size:n,position:i}),h=e.U.create(r.x,r.y,s),c=this.getRadius(),l=this.options.move.outModes,p=i=>{d({outMode:i,checkModes:["bounce"],coord:h.x,maxCoord:t.canvas.size.width,setCb:t=>h.x+=t,radius:c})},f=i=>{d({outMode:i,checkModes:["bounce"],coord:h.y,maxCoord:t.canvas.size.height,setCb:t=>h.y+=t,radius:c})};if(p(l.left??l.default),p(l.right??l.default),f(l.top??l.default),f(l.bottom??l.default),this._checkOverlap(h,a)){const i=1;return this._calcPosition(t,void 0,s,a+i)}return h},this._calculateVelocity=()=>{const t=(0,o.lQ)(this.direction).copy(),i=this.options.move;if("inside"===i.direction||"outside"===i.direction)return t;const s=(0,o.Id)((0,o.Gu)(i.angle.value)),e=(0,o.Id)((0,o.Gu)(i.angle.offset)),a={left:e-s*p,right:e+s*p};return i.straight||(t.angle+=(0,o.vd)((0,o.Cs)(a.left,a.right))),i.random&&"number"==typeof i.speed&&(t.length*=(0,o.sZ)()),t},this._checkOverlap=(t,i=0)=>{const s=this.options.collisions,e=this.getRadius();if(!s.enable)return!1;const a=s.overlap;if(a.enable)return!1;const r=a.retries;if(r>=0&&i>r)throw new Error(`${n.gK} particle is overlapping and can't be placed`);return!!this.container.particles.find((i=>(0,o.Sp)(t,i.position)<e+i.getRadius()))},this._getRollColor=t=>{if(!t||!this.roll||!this.backColor&&!this.roll.alter)return t;const i=this.roll.horizontal&&this.roll.vertical?2:1,s=this.roll.horizontal?Math.PI*p:0;return Math.floor(((this.roll.angle??0)+s)/(Math.PI/i))%2?this.backColor?this.backColor:this.roll.alter?(0,c.PL)(t,this.roll.alter.type,this.roll.alter.value):t:t},this._initPosition=t=>{const i=this.container,s=(0,o.Gu)(this.options.zIndex.value);this.position=this._calcPosition(i,t,(0,o.uZ)(s,0,i.zLayers)),this.initialPosition=this.position.copy();const n=i.canvas.size;switch(this.moveCenter={...(0,a.bt)(this.options.move.center,n),radius:this.options.move.center.radius??0,mode:this.options.move.center.mode??"percent"},this.direction=(0,o.Gk)(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case"inside":this.outType="inside";break;case"outside":this.outType="outside"}this.offset=e.O.origin},this._engine=t}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;const i=this.container,s=this.pathGenerator,e=i.shapeDrawers.get(this.shape);e?.particleDestroy?.(this);for(const[,s]of i.plugins)s.particleDestroyed?.(this,t);for(const s of i.particles.updaters)s.particleDestroyed?.(this,t);s?.reset(this),this._engine.dispatchEvent("particleDestroyed",{container:this.container,data:{particle:this}})}async draw(t){const i=this.container,s=i.canvas;for(const[,e]of i.plugins)await s.drawParticlePlugin(e,this,t);await s.drawParticle(this,t)}getFillColor(){return this._getRollColor(this.bubble.color??(0,r.gW)(this.color))}getMass(){return this.getRadius()**2*Math.PI*p}getPosition(){return{x:this.position.x+this.offset.x,y:this.position.y+this.offset.y,z:this.position.z}}getRadius(){return this.bubble.radius??this.size.value}getStrokeColor(){return this._getRollColor(this.bubble.color??(0,r.gW)(this.strokeColor))}async init(t,i,s,e){const c=this.container,p=this._engine;this.id=t,this.group=e,this.effectClose=!0,this.effectFill=!0,this.shapeClose=!0,this.shapeFill=!0,this.pathRotation=!1,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType="normal",this.ignoresResizeRatio=!0;const d=c.retina.pixelRatio,f=c.actualOptions,u=(0,l.x)(this._engine,c,f.particles),g=u.effect.type,y=u.shape.type,{reduceDuplicates:v}=u;this.effect=(0,a.wA)(g,this.id,v),this.shape=(0,a.wA)(y,this.id,v);const w=u.effect,b=u.shape;if(s){if(s.effect?.type){const t=s.effect.type,i=(0,a.wA)(t,this.id,v);i&&(this.effect=i,w.load(s.effect))}if(s.shape?.type){const t=s.shape.type,i=(0,a.wA)(t,this.id,v);i&&(this.shape=i,b.load(s.shape))}}this.effectData=function(t,i,s,e){const o=i.options[t];if(o)return(0,a.ZB)({close:i.close,fill:i.fill},(0,a.wA)(o,s,e))}(this.effect,w,this.id,v),this.shapeData=function(t,i,s,e){const o=i.options[t];if(o)return(0,a.ZB)({close:i.close,fill:i.fill},(0,a.wA)(o,s,e))}(this.shape,b,this.id,v),u.load(s);const C=this.effectData;C&&u.load(C.particles);const m=this.shapeData;m&&u.load(m.particles);const _=new h.o(p,c);_.load(c.actualOptions.interactivity),_.load(u.interactivity),this.interactivity=_,this.effectFill=C?.fill??u.effect.fill,this.effectClose=C?.close??u.effect.close,this.shapeFill=m?.fill??u.shape.fill,this.shapeClose=m?.close??u.shape.close,this.options=u;const P=this.options.move.path;this.pathDelay=(0,o.Gu)(P.delay.value)*n.X5,P.generator&&(this.pathGenerator=this._engine.getPathGenerator(P.generator),this.pathGenerator&&c.addPath(P.generator,this.pathGenerator)&&await this.pathGenerator.init(c)),c.retina.initParticle(this),this.size=(0,a.V0)(this.options.size,d),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(i),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy();this.moveDecay=1-(0,o.Gu)(this.options.move.decay);const k=c.particles;k.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/c.zLayers,this.sides=24;let z=c.effectDrawers.get(this.effect);z||(z=this._engine.getEffectDrawer(this.effect),z&&c.effectDrawers.set(this.effect,z)),z?.loadEffect&&await z.loadEffect(this);let D=c.shapeDrawers.get(this.shape);D||(D=this._engine.getShapeDrawer(this.shape),D&&c.shapeDrawers.set(this.shape,D)),D?.loadShape&&await D.loadShape(this);const x=D?.getSidesCount;x&&(this.sides=x(this)),this.spawning=!1,this.shadowColor=(0,r.tX)(this.options.shadow.color);for(const t of k.updaters)await t.init(this);for(const t of k.movers)await(t.init?.(this));await(z?.particleInit?.(c,this)),await(D?.particleInit?.(c,this));for(const[,t]of c.plugins)t.particleCreated?.(this)}isInsideCanvas(){const t=this.getRadius(),i=this.container.canvas.size,s=this.position;return s.x>=-t&&s.y>=-t&&s.y<=i.height+t&&s.x<=i.width+t}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(const t of this.container.particles.updaters)t.reset?.(this)}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/196.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 196.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[196],{196:(a,t,r)=>{async function e(a,t=!0){await a.addParticleUpdater("color",(async a=>{const{ColorUpdater:t}=await r.e(31).then(r.bind(r,7031));return new t(a)}),t)}r.d(t,{loadColorUpdater:()=>e})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/245.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 245.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[245],{4245:(t,e,i)=>{i.d(e,{Emitters:()=>a});var s=i(3624);class a{constructor(t,e){this.container=e,this._engine=t,this.array=[],this.emitters=[],this.interactivityEmitters={random:{count:1,enable:!1},value:[]};e.getEmitter=t=>void 0===t||(0,s.hj)(t)?this.array[t??0]:this.array.find((e=>e.name===t)),e.addEmitter=async(t,e)=>this.addEmitter(t,e),e.removeEmitter=t=>{const i=e.getEmitter(t);i&&this.removeEmitter(i)},e.playEmitter=t=>{const i=e.getEmitter(t);i&&i.externalPlay()},e.pauseEmitter=t=>{const i=e.getEmitter(t);i&&i.externalPause()}}async addEmitter(t,e){const{Emitter:s}=await Promise.resolve().then(i.bind(i,4718)),{EmitterInstance:a}=await i.e(547).then(i.bind(i,4547)),r=new s;r.load(t);const n=new a(this._engine,this,this.container,r,e);return await n.init(),this.array.push(n),n}handleClickMode(t){const e=this.emitters,i=this.interactivityEmitters;if("emitter"!==t)return;let a;if(i&&(0,s.kJ)(i.value)){const t=0;if(i.value.length>t&&i.random.enable){a=[];const t=[];for(let e=0;e<i.random.count;e++){const r=(0,s.dU)(i.value);t.includes(r)&&t.length<i.value.length?e--:(t.push(r),a.push((0,s.c8)(i.value,r)))}}else a=i.value}else a=i?.value;const r=a??e,n=this.container.interactivity.mouse.clickPosition;(0,s.KH)(r,(async t=>{await this.addEmitter(t,n)}))}async init(){if(this.emitters=this.container.actualOptions.emitters,this.interactivityEmitters=this.container.actualOptions.interactivity.modes.emitters,this.emitters)if((0,s.kJ)(this.emitters))for(const t of this.emitters)await this.addEmitter(t);else await this.addEmitter(this.emitters)}pause(){for(const t of this.array)t.pause()}play(){for(const t of this.array)t.play()}removeEmitter(t){const e=this.array.indexOf(t);e>=0&&this.array.splice(e,1)}resize(){for(const t of this.array)t.resize()}stop(){this.array=[]}async update(t){for(const e of this.array)await e.update(t)}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/274.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 274.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[274],{5274:(n,i,s)=>{async function a(n,i=!0){const{SoundsPlugin:a}=await s.e(163).then(s.bind(s,1163));await n.addPlugin(new a(n),i)}s.d(i,{loadSoundsPlugin:()=>a})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/30.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 30.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[30],{5308:(t,o,a)=>{a.d(o,{OpacityUpdater:()=>s});var i=a(3624);class s{constructor(t){this.container=t}async init(t){const o=t.options.opacity;t.opacity=(0,i.V0)(o,1);const a=o.animation;a.enable&&(t.opacity.velocity=(0,i.Gu)(a.speed)/i.tZ*this.container.retina.reduceFactor,a.sync||(t.opacity.velocity*=(0,i.sZ)())),await Promise.resolve()}isEnabled(t){return!t.destroyed&&!t.spawning&&!!t.opacity&&t.opacity.enable&&((t.opacity.maxLoops??0)<=0||(t.opacity.maxLoops??0)>0&&(t.opacity.loops??0)<(t.opacity.maxLoops??0))}reset(t){t.opacity&&(t.opacity.time=0,t.opacity.loops=0)}async update(t,o){this.isEnabled(t)&&t.opacity&&((0,i.Cr)(t,t.opacity,!0,t.options.opacity.animation.destroy,o),await Promise.resolve())}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/308.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 308.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[308],{1308:(e,a,i)=>{async function c(e,a=!0){const{CircleDrawer:c}=await i.e(132).then(i.bind(i,6132));await e.addShape("circle",new c,a)}i.d(a,{loadCircleShape:()=>c})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/31.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 31.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[31],{7031:(o,e,i)=>{i.d(e,{ColorUpdater:()=>a});var s=i(3624);class a{constructor(o){this.container=o}async init(o){const e=(0,s.lN)(o.options.color,o.id,o.options.reduceDuplicates);e&&(o.color=(0,s.bS)(e,o.options.color.animation,this.container.retina.reduceFactor)),await Promise.resolve()}isEnabled(o){const{h:e,s:i,l:s}=o.options.color.animation,{color:a}=o;return!o.destroyed&&!o.spawning&&(void 0!==a?.h.value&&e.enable||void 0!==a?.s.value&&i.enable||void 0!==a?.l.value&&s.enable)}async update(o,e){(0,s.PB)(o.color,e),await Promise.resolve()}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/328.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 328.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[328],{4328:(i,t,e)=>{e.d(t,{applyDistance:()=>y,getProximitySpeedFactor:()=>u,initSpin:()=>x,move:()=>p,spin:()=>v});var n=e(3624);const a=.5,s=0,o=1,c=60,l=0,r=.01;function y(i){const t=i.initialPosition,{dx:e,dy:o}=(0,n.oW)(t,i.position),c=Math.abs(e),l=Math.abs(o),{maxDistance:r}=i.retina,y=r.horizontal,p=r.vertical;if(!y&&!p)return;if(!((y&&c>=y)??!1)&&!((p&&l>=p)??!1)||i.misplaced){if((!y||c<y)&&(!p||l<p)&&i.misplaced)i.misplaced=!1;else if(i.misplaced){const e=i.position,a=i.velocity;y&&(e.x<t.x&&a.x<s||e.x>t.x&&a.x>s)&&(a.x*=-(0,n.sZ)()),p&&(e.y<t.y&&a.y<s||e.y>t.y&&a.y>s)&&(a.y*=-(0,n.sZ)())}}else i.misplaced=!!y&&c>y||!!p&&l>p,y&&(i.velocity.x=i.velocity.y*a-i.velocity.x),p&&(i.velocity.y=i.velocity.x*a-i.velocity.y)}async function p(i,t,e,a,l,r){await async function(i,t){const e=i.options,a=e.move.path;if(!a.enable)return;if(i.lastPathTime<=i.pathDelay)return void(i.lastPathTime+=t.value);const s=await(i.pathGenerator?.generate(i,t));s&&i.velocity.addTo(s);a.clamp&&(i.velocity.x=(0,n.uZ)(i.velocity.x,-o,o),i.velocity.y=(0,n.uZ)(i.velocity.y,-o,o));i.lastPathTime-=i.pathDelay}(i,r);const y=i.gravity,p=y?.enable&&y.inverse?-o:o;l&&e&&(i.velocity.x+=l*r.factor/(c*e)),y?.enable&&e&&(i.velocity.y+=p*(y.acceleration*r.factor)/(c*e));const v=i.moveDecay;i.velocity.multTo(v);const u=i.velocity.mult(e);y?.enable&&a>s&&(!y.inverse&&u.y>=s&&u.y>=a||y.inverse&&u.y<=s&&u.y<=-a)&&(u.y=p*a,e&&(i.velocity.y=u.y/e));const x=i.options.zIndex,d=(o-i.zIndexFactor)**x.velocityRate;u.multTo(d);const{position:h}=i;h.addTo(u),t.vibrate&&(h.x+=Math.sin(h.x*Math.cos(h.y)),h.y+=Math.cos(h.y*Math.sin(h.x)))}function v(i,t){const e=i.container;if(!i.spin)return;const n={x:"clockwise"===i.spin.direction?Math.cos:Math.sin,y:"clockwise"===i.spin.direction?Math.sin:Math.cos};i.position.x=i.spin.center.x+i.spin.radius*n.x(i.spin.angle),i.position.y=i.spin.center.y+i.spin.radius*n.y(i.spin.angle),i.spin.radius+=i.spin.acceleration;const s=Math.max(e.canvas.size.width,e.canvas.size.height),c=s*a;i.spin.radius>c?(i.spin.radius=c,i.spin.acceleration*=-o):i.spin.radius<l&&(i.spin.radius=l,i.spin.acceleration*=-o),i.spin.angle+=t*r*(o-i.spin.radius/s)}function u(i){return i.slow.inRange?i.slow.factor:o}function x(i){const t=i.container,e=i.options.move.spin;if(!e.enable)return;const a=e.position??{x:50,y:50},s={x:.01*a.x*t.canvas.size.width,y:.01*a.y*t.canvas.size.height},o=i.getPosition(),c=(0,n.Sp)(o,s),l=(0,n.Gu)(e.acceleration);i.retina.spinAcceleration=l*t.retina.pixelRatio;i.spin={center:s,direction:i.velocity.x>=0?"clockwise":"counter-clockwise",angle:i.velocity.angle,radius:c,acceleration:i.retina.spinAcceleration}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/329.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 329.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[329],{5329:(t,e,s)=>{s.d(e,{OutOfCanvasUpdater:()=>o});const a=(t,e)=>t.default===e||t.bottom===e||t.left===e||t.right===e||t.top===e;class o{constructor(t){this._updateOutMode=async(t,e,s,a)=>{for(const o of this.updaters)await o.update(t,a,e,s)},this.container=t,this.updaters=[]}async init(t){this.updaters=[];const e=t.options.move.outModes;if(a(e,"bounce")){const{BounceOutMode:t}=await s.e(859).then(s.bind(s,7859));this.updaters.push(new t(this.container))}else if(a(e,"out")){const{OutOutMode:t}=await s.e(866).then(s.bind(s,4866));this.updaters.push(new t(this.container))}else if(a(e,"destroy")){const{DestroyOutMode:t}=await s.e(648).then(s.bind(s,3648));this.updaters.push(new t(this.container))}else if(a(e,"none")){const{NoneOutMode:t}=await s.e(886).then(s.bind(s,7886));this.updaters.push(new t(this.container))}}isEnabled(t){return!t.destroyed&&!t.spawning}async update(t,e){const s=t.options.move.outModes;await this._updateOutMode(t,e,s.bottom??s.default,"bottom"),await this._updateOutMode(t,e,s.left??s.default,"left"),await this._updateOutMode(t,e,s.right??s.default,"right"),await this._updateOutMode(t,e,s.top??s.default,"top")}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/376.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 376.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[376],{9376:(t,a,e)=>{async function r(t,a=!0){await t.addParticleUpdater("rotate",(async t=>{const{RotateUpdater:a}=await e.e(994).then(e.bind(e,4994));return new a(t)}),a)}e.d(a,{loadRotateUpdater:()=>r})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/468.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 468.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[468],{3468:(t,e,i)=>{i.d(e,{SoundsInstance:()=>c});var n=i(3624),s=i(6945);const o=1;function a(t){const e=document.createElement("img"),{clickCb:i,container:n,display:s,iconOptions:a,margin:u,options:c,pos:r,rightOffsets:l}=t,{width:h,path:d,style:_,svg:m}=a;!function(t,e,i,n,s,a,u,c){t.style.userSelect="none",t.style.webkitUserSelect="none",t.style.position="absolute",t.style.top=`${e+u}px`,t.style.left=i-u-a+"px",t.style.display=n,t.style.zIndex=`${s+o}`,t.style.cssText+=c}(e,r.top+u,r.right-(u*(l.length+1)+h+l.reduce(((t,e)=>t+e),0)),s,c.fullScreen.zIndex+o,h,u,_),e.src=d??(m?`data:image/svg+xml;base64,${btoa(m)}`:"");return(n.canvas.element?.parentNode??document.body).append(e),e.addEventListener("click",(()=>{i()})),e}function u(t){t&&t.remove()}class c{constructor(t,e){this._addBuffer=t=>{const e=t.createBufferSource();return this._audioSources.push(e),e},this._addOscillator=t=>{const e=t.createOscillator();return this._audioSources.push(e),e},this._initEvents=()=>{const t=this._container,e=t.actualOptions.sounds;if(e?.enable&&t.canvas.element)for(const t of e.events){const e=i=>{(async()=>{const s=t.filter&&!t.filter(i);if(this._container!==i.container)return;if(!this._container||this._container.muted||this._container.destroyed)return void(0,n.KH)(t.event,(t=>{this._engine.removeEventListener(t,e)}));if(s)return;if(t.audio)this._playBuffer((0,n.wA)(t.audio));else if(t.melodies){const e=(0,n.c8)(t.melodies);e.melodies.length?await Promise.allSettled(e.melodies.map((t=>this._playNote(t.notes,0,e.loop)))):await this._playNote(e.notes,0,e.loop)}else if(t.notes){const e=(0,n.c8)(t.notes);await this._playNote([e],0,!1)}})()};(0,n.KH)(t.event,(t=>{this._engine.addEventListener(t,e)}))}},this._mute=async()=>{const t=this._container,e=this._getAudioContext();for(const t of this._audioSources)this._removeAudioSource(t);this._gain&&this._gain.disconnect(),await e.close(),t.audioContext=void 0,this._engine.dispatchEvent("soundsMuted",{container:this._container})},this._playBuffer=t=>{const e=this._audioMap.get(t.source);if(!e)return;const i=this._container.audioContext;if(!i)return;const n=this._addBuffer(i);n.loop=t.loop,n.buffer=e,n.connect(this._gain??i.destination),n.start()},this._playFrequency=async(t,e)=>{if(!this._gain||this._container.muted)return;const i=this._getAudioContext(),n=this._addOscillator(i);return n.connect(this._gain),n.type="sine",n.frequency.value=t,n.start(),new Promise((t=>{setTimeout((()=>{this._removeAudioSource(n),t()}),e)}))},this._playMuteSound=()=>{if(this._container.muted)return;const t=this._getAudioContext(),e=t.createGain();e.connect(t.destination),e.gain.value=0;const i=t.createOscillator();i.connect(e),i.type="sine",i.frequency.value=1,i.start(),setTimeout((()=>{i.stop(),i.disconnect(),e.disconnect()}))},this._playNote=async(t,e,i)=>{if(this._container.muted)return;const s=t[e];if(!s)return;const o=s.value,a=(0,n.KH)(o,(async(i,n)=>this._playNoteValue(t,e,n)));await((0,n.kJ)(a)?Promise.allSettled(a):a);let u=e+1;i&&u>=t.length&&(u%=t.length),this._container.muted||await this._playNote(t,u,i)},this._playNoteValue=async(t,e,i)=>{const o=t[e];if(!o)return;const a=(0,n.wA)(o.value,i,!0);try{const t=(0,s.g6)(a);if(!(0,n.hj)(t))return;await this._playFrequency(t,o.duration)}catch(t){(0,n.jl)().error(t)}},this._removeAudioSource=t=>{t.stop(),t.disconnect();this._audioSources.splice(this._audioSources.indexOf(t),1)},this._unmute=()=>{const t=this._container.actualOptions.sounds;if(!t)return;const e=this._getAudioContext();this._audioSources||(this._audioSources=[]);const i=e.createGain();i.connect(e.destination),i.gain.value=t.volume.value/n.tZ,this._gain=i,this._initEvents(),this._engine.dispatchEvent("soundsUnmuted",{container:this._container})},this._updateMuteIcons=()=>{const t=this._container,e=t.actualOptions.sounds;if(!e?.enable||!e.icons.enable)return;const i=this._muteImg,n=this._unmuteImg;i&&(i.style.display=t.muted?"block":"none"),n&&(n.style.display=t.muted?"none":"block")},this._updateMuteStatus=async()=>{const t=this._container,e=this._getAudioContext();t.muted?(await(e?.suspend()),await this._mute()):(await(e?.resume()),this._unmute(),this._playMuteSound())},this._updateVolume=async()=>{const t=this._container,e=t.actualOptions.sounds;if(!e?.enable)return;(0,n.uZ)(this._volume,e.volume.min,e.volume.max);let i=!1;this._volume<=0&&!t.muted?(this._volume=0,t.muted=!0,i=!0):this._volume>0&&t.muted&&(t.muted=!1,i=!0),i&&(this._updateMuteIcons(),await this._updateMuteStatus()),this._gain?.gain&&(this._gain.gain.value=this._volume/n.tZ)},this._container=t,this._engine=e,this._volume=0,this._audioSources=[],this._audioMap=new Map}async init(){const t=this._container.actualOptions.sounds;if(!t?.enable)return;if(t.autoPlay&&(0,s.c3)()){const t=()=>{removeEventListener(n.ZL,t),removeEventListener(n.Re,t),(0,s.ON)(),this.unmute()},e={capture:!0,once:!0};addEventListener(n.ZL,t,e),addEventListener(n.Re,t,e)}this._volume=t.volume.value;const e=t.events;this._audioMap=new Map;for(const t of e){if(!t.audio)continue;const e=(0,n.KH)(t.audio,(async t=>{const e=await fetch(t.source);if(!e.ok)return;const i=await e.arrayBuffer(),n=this._getAudioContext(),s=await n.decodeAudioData(i);this._audioMap.set(t.source,s)}));e instanceof Promise?await e:await Promise.allSettled(e)}}async mute(){this._container.muted||await this.toggleMute()}async start(){const t=this._container,e=t.actualOptions,i=e.sounds;if(!i?.enable||!t.canvas.element)return;t.muted=!0;const n=t.canvas.element,o={top:n.offsetTop,right:n.offsetLeft+n.offsetWidth},{mute:u,unmute:c,volumeDown:r,volumeUp:l}=i.icons,h=async()=>{await this.toggleMute()},d=i.icons.enable?"block":"none";this._muteImg=a({container:t,options:e,pos:o,display:d,iconOptions:u,margin:10,rightOffsets:[r.width,l.width],clickCb:h}),this._unmuteImg=a({container:t,options:e,pos:o,display:"none",iconOptions:c,margin:10,rightOffsets:[r.width,l.width],clickCb:h}),this._volumeDownImg=a({container:t,options:e,pos:o,display:d,iconOptions:r,margin:10,rightOffsets:[l.width],clickCb:async()=>{await this.volumeDown()}}),this._volumeUpImg=a({container:t,options:e,pos:o,display:d,iconOptions:l,margin:10,rightOffsets:[],clickCb:async()=>{await this.volumeUp()}}),!(0,s.c3)()&&i.autoPlay&&await this.unmute()}stop(){this._container.muted=!0,(async()=>{await this._mute(),u(this._muteImg),u(this._unmuteImg),u(this._volumeDownImg),u(this._volumeUpImg)})()}async toggleMute(){const t=this._container;t.muted=!t.muted,this._updateMuteIcons(),await this._updateMuteStatus()}async unmute(){this._container.muted&&await this.toggleMute()}async volumeDown(){const t=this._container,e=t.actualOptions.sounds;e?.enable&&(t.muted&&(this._volume=0),this._volume-=e.volume.step,await this._updateVolume())}async volumeUp(){const t=this._container.actualOptions.sounds;t?.enable&&(this._volume+=t.volume.step,await this._updateVolume())}_getAudioContext(){const t=this._container;return t.audioContext||(t.audioContext=new AudioContext),t.audioContext}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/49.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 49.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[49],{7049:(a,t,e)=>{async function i(a,t=!0){await a.addParticleUpdater("opacity",(async a=>{const{OpacityUpdater:t}=await e.e(30).then(e.bind(e,5308));return new t(a)}),t)}e.d(t,{loadOpacityUpdater:()=>i})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */
package/547.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 547.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[547],{4547:(t,i,s)=>{s.d(i,{EmitterInstance:()=>h});var e=s(3624),o=s(4718),n=s(4777);function a(t,i){t.color?t.color.value=i:t.color={value:i}}class h{constructor(t,i,s,n,a){this.emitters=i,this.container=s,this._destroy=()=>{this._mutationObserver?.disconnect(),this._mutationObserver=void 0,this._resizeObserver?.disconnect(),this._resizeObserver=void 0,this.emitters.removeEmitter(this),this._engine.dispatchEvent("emitterDestroyed",{container:this.container,data:{emitter:this}})},this._prepareToDie=()=>{if(this._paused)return;const t=void 0!==this.options.life?.duration?(0,e.Gu)(this.options.life.duration):void 0;this.container.retina.reduceFactor&&(this._lifeCount>0||this._immortal)&&void 0!==t&&t>0&&(this._duration=t*e.X5)},this._setColorAnimation=(t,i,s,o=1)=>{const n=this.container;if(!t.enable)return i;const a=(0,e.vd)(t.offset),h=(0,e.Gu)(this.options.rate.delay)*e.X5/n.retina.reduceFactor;return(i+(0,e.Gu)(t.speed??0)*n.fpsLimit/h+a*o)%s},this._engine=t,this._currentDuration=0,this._currentEmitDelay=0,this._currentSpawnDelay=0,this._initialPosition=a,n instanceof o.Emitter?this.options=n:(this.options=new o.Emitter,this.options.load(n)),this._spawnDelay=(0,e.Gu)(this.options.life.delay??0)*e.X5/this.container.retina.reduceFactor,this.position=this._initialPosition??this._calcPosition(),this.name=this.options.name,this.fill=this.options.fill,this._firstSpawn=!this.options.life.wait,this._startParticlesAdded=!1;let h=(0,e.ZB)({},this.options.particles);if(h??={},h.move??={},h.move.direction??=this.options.direction,this.options.spawnColor&&(this.spawnColor=(0,e.lN)(this.options.spawnColor)),this._paused=!this.options.autoPlay,this._particlesOptions=h,this._size=this._calcSize(),this.size=(0,e.ap)(this._size,this.container.canvas.size),this._lifeCount=this.options.life.count??-1,this._immortal=this._lifeCount<=0,this.options.domId){const t=document.getElementById(this.options.domId);t&&(this._mutationObserver=new MutationObserver((()=>{this.resize()})),this._resizeObserver=new ResizeObserver((()=>{this.resize()})),this._mutationObserver.observe(t,{attributes:!0,attributeFilter:["style","width","height"]}),this._resizeObserver.observe(t))}const r=this.options.shape,l=this._engine.emitterShapeManager?.getShapeGenerator(r.type);l&&(this._shape=l.generate(this.position,this.size,this.fill,r.options)),this._engine.dispatchEvent("emitterCreated",{container:s,data:{emitter:this}}),this.play()}externalPause(){this._paused=!0,this.pause()}externalPlay(){this._paused=!1,this.play()}async init(){await(this._shape?.init())}pause(){this._paused||delete this._emitDelay}play(){if(!this._paused&&this.container.retina.reduceFactor&&(this._lifeCount>0||this._immortal||!this.options.life.count)&&(this._firstSpawn||this._currentSpawnDelay>=(this._spawnDelay??0))){if(void 0===this._emitDelay){const t=(0,e.Gu)(this.options.rate.delay);this._emitDelay=t*e.X5/this.container.retina.reduceFactor}(this._lifeCount>0||this._immortal)&&this._prepareToDie()}}resize(){const t=this._initialPosition;this.position=t&&(0,e.Ac)(t,this.container.canvas.size,e.OW.origin)?t:this._calcPosition(),this._size=this._calcSize(),this.size=(0,e.ap)(this._size,this.container.canvas.size),this._shape?.resize(this.position,this.size)}async update(t){this._paused||(this._firstSpawn&&(this._firstSpawn=!1,this._currentSpawnDelay=this._spawnDelay??0,this._currentEmitDelay=this._emitDelay??0),this._startParticlesAdded||(this._startParticlesAdded=!0,await this._emitParticles(this.options.startCount)),void 0!==this._duration&&(this._currentDuration+=t.value,this._currentDuration>=this._duration&&(this.pause(),void 0!==this._spawnDelay&&delete this._spawnDelay,this._immortal||this._lifeCount--,this._lifeCount>0||this._immortal?(this.position=this._calcPosition(),this._shape?.resize(this.position,this.size),this._spawnDelay=(0,e.Gu)(this.options.life.delay??0)*e.X5/this.container.retina.reduceFactor):this._destroy(),this._currentDuration-=this._duration,delete this._duration)),void 0!==this._spawnDelay&&(this._currentSpawnDelay+=t.value,this._currentSpawnDelay>=this._spawnDelay&&(this._engine.dispatchEvent("emitterPlay",{container:this.container}),this.play(),this._currentSpawnDelay-=this._currentSpawnDelay,delete this._spawnDelay)),void 0!==this._emitDelay&&(this._currentEmitDelay+=t.value,this._currentEmitDelay>=this._emitDelay&&(await this._emit(),this._currentEmitDelay-=this._emitDelay)))}_calcPosition(){if(this.options.domId){const t=document.getElementById(this.options.domId);if(t){const i=t.getBoundingClientRect(),s=this.container.retina.pixelRatio;return{x:(i.x+.5*i.width)*s,y:(i.y+.5*i.height)*s}}}return(0,e.Gz)({size:this.container.canvas.size,position:this.options.position})}_calcSize(){const t=this.container;if(this.options.domId){const i=document.getElementById(this.options.domId);if(i){const s=i.getBoundingClientRect();return{width:s.width*t.retina.pixelRatio,height:s.height*t.retina.pixelRatio,mode:"precise"}}}return this.options.size??(()=>{const t=new n.r;return t.load({height:0,mode:"percent",width:0}),t})()}async _emit(){if(this._paused)return;const t=(0,e.Gu)(this.options.rate.quantity);await this._emitParticles(t)}async _emitParticles(t){const i=(0,e.wA)(this._particlesOptions);for(let s=0;s<t;s++){const t=(0,e.ZB)({},i);if(this.spawnColor){const i=this.options.spawnColor?.animation;if(i){const t={h:360,s:100,l:100},s=3.6;this.spawnColor.h=this._setColorAnimation(i.h,this.spawnColor.h,t.h,s),this.spawnColor.s=this._setColorAnimation(i.s,this.spawnColor.s,t.s),this.spawnColor.l=this._setColorAnimation(i.l,this.spawnColor.l,t.l)}a(t,this.spawnColor)}const s=this.options.shape;let o=this.position;if(this._shape){const i=await this._shape.randomPosition();if(i){o=i.position;const e=s.replace;e.color&&i.color&&a(t,i.color),e.opacity&&(t.opacity?t.opacity.value=i.opacity:t.opacity={value:i.opacity})}else o=null}o&&await this.container.particles.addParticle(o,t)}}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Fireworks v3.2.2 by Matteo Bruni */