@nayan-ui/games 1.19.0 → 1.21.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 (1392) hide show
  1. package/README.md +53 -191
  2. package/lib/module/assets/fonts/Inter-SemiBold.ttf +0 -0
  3. package/lib/module/assets/models/explorer/explorer.glb +0 -0
  4. package/lib/module/assets/models/explorer/params.json +51 -0
  5. package/lib/module/assets/models/explorer/source.json +222 -0
  6. package/lib/module/assets/models/play-with-tua/play-with-tua.glb +0 -0
  7. package/lib/module/assets/models/play-with-tua/sources.json +141 -0
  8. package/lib/module/assets/sfx/balloon_pop.wav +0 -0
  9. package/lib/module/assets/sfx/blocked.wav +0 -0
  10. package/lib/module/assets/sfx/boing.wav +0 -0
  11. package/lib/module/assets/sfx/bonus.wav +0 -0
  12. package/lib/module/assets/sfx/boom.wav +0 -0
  13. package/lib/module/assets/sfx/bump.wav +0 -0
  14. package/lib/module/assets/sfx/cannon.wav +0 -0
  15. package/lib/module/assets/sfx/capture.wav +0 -0
  16. package/lib/module/assets/sfx/card_flip.wav +0 -0
  17. package/lib/module/assets/sfx/card_place.wav +0 -0
  18. package/lib/module/assets/sfx/catch.wav +0 -0
  19. package/lib/module/assets/sfx/chime.wav +0 -0
  20. package/lib/module/assets/sfx/chomp.wav +0 -0
  21. package/lib/module/assets/sfx/chomp_alt.wav +0 -0
  22. package/lib/module/assets/sfx/clack.wav +0 -0
  23. package/lib/module/assets/sfx/clang.wav +0 -0
  24. package/lib/module/assets/sfx/clash.wav +0 -0
  25. package/lib/module/assets/sfx/click.wav +0 -0
  26. package/lib/module/assets/sfx/coin.wav +0 -0
  27. package/lib/module/assets/sfx/combo.wav +0 -0
  28. package/lib/module/assets/sfx/crash.wav +0 -0
  29. package/lib/module/assets/sfx/crunch.wav +0 -0
  30. package/lib/module/assets/sfx/dance.wav +0 -0
  31. package/lib/module/assets/sfx/deselect.wav +0 -0
  32. package/lib/module/assets/sfx/dice_roll.wav +0 -0
  33. package/lib/module/assets/sfx/die.wav +0 -0
  34. package/lib/module/assets/sfx/draw.wav +0 -0
  35. package/lib/module/assets/sfx/drop.wav +0 -0
  36. package/lib/module/assets/sfx/eat.wav +0 -0
  37. package/lib/module/assets/sfx/engine.wav +0 -0
  38. package/lib/module/assets/sfx/error.wav +0 -0
  39. package/lib/module/assets/sfx/flag.wav +0 -0
  40. package/lib/module/assets/sfx/flap.wav +0 -0
  41. package/lib/module/assets/sfx/flip_disc.wav +0 -0
  42. package/lib/module/assets/sfx/footstep_run.wav +0 -0
  43. package/lib/module/assets/sfx/footstep_walk.wav +0 -0
  44. package/lib/module/assets/sfx/game_over.wav +0 -0
  45. package/lib/module/assets/sfx/gate.wav +0 -0
  46. package/lib/module/assets/sfx/hit.wav +0 -0
  47. package/lib/module/assets/sfx/hop.wav +0 -0
  48. package/lib/module/assets/sfx/hurt.wav +0 -0
  49. package/lib/module/assets/sfx/invalid.wav +0 -0
  50. package/lib/module/assets/sfx/jump.wav +0 -0
  51. package/lib/module/assets/sfx/ladder.wav +0 -0
  52. package/lib/module/assets/sfx/land.wav +0 -0
  53. package/lib/module/assets/sfx/laugh.wav +0 -0
  54. package/lib/module/assets/sfx/lose.wav +0 -0
  55. package/lib/module/assets/sfx/merge.wav +0 -0
  56. package/lib/module/assets/sfx/miss.wav +0 -0
  57. package/lib/module/assets/sfx/nitro.wav +0 -0
  58. package/lib/module/assets/sfx/pew.wav +0 -0
  59. package/lib/module/assets/sfx/place.wav +0 -0
  60. package/lib/module/assets/sfx/pling.wav +0 -0
  61. package/lib/module/assets/sfx/point.wav +0 -0
  62. package/lib/module/assets/sfx/pop.wav +0 -0
  63. package/lib/module/assets/sfx/pop_soft.wav +0 -0
  64. package/lib/module/assets/sfx/power_up.wav +0 -0
  65. package/lib/module/assets/sfx/reveal.wav +0 -0
  66. package/lib/module/assets/sfx/robot.wav +0 -0
  67. package/lib/module/assets/sfx/rotate.wav +0 -0
  68. package/lib/module/assets/sfx/run_steps.wav +0 -0
  69. package/lib/module/assets/sfx/select.wav +0 -0
  70. package/lib/module/assets/sfx/shuffle.wav +0 -0
  71. package/lib/module/assets/sfx/six.wav +0 -0
  72. package/lib/module/assets/sfx/slice.wav +0 -0
  73. package/lib/module/assets/sfx/slide.wav +0 -0
  74. package/lib/module/assets/sfx/snake.wav +0 -0
  75. package/lib/module/assets/sfx/snap.wav +0 -0
  76. package/lib/module/assets/sfx/splash.wav +0 -0
  77. package/lib/module/assets/sfx/star.wav +0 -0
  78. package/lib/module/assets/sfx/start.wav +0 -0
  79. package/lib/module/assets/sfx/swoosh.wav +0 -0
  80. package/lib/module/assets/sfx/tap.wav +0 -0
  81. package/lib/module/assets/sfx/thud.wav +0 -0
  82. package/lib/module/assets/sfx/thunk.wav +0 -0
  83. package/lib/module/assets/sfx/tick.wav +0 -0
  84. package/lib/module/assets/sfx/time_up.wav +0 -0
  85. package/lib/module/assets/sfx/tock.wav +0 -0
  86. package/lib/module/assets/sfx/walk_steps.wav +0 -0
  87. package/lib/module/assets/sfx/warning.wav +0 -0
  88. package/lib/module/assets/sfx/whack.wav +0 -0
  89. package/lib/module/assets/sfx/whoosh.wav +0 -0
  90. package/lib/module/assets/sfx/win.wav +0 -0
  91. package/lib/module/assets/sfx/zap.wav +0 -0
  92. package/lib/module/assets/textures/ad_bolt.png +0 -0
  93. package/lib/module/assets/textures/ad_bubbles.png +0 -0
  94. package/lib/module/assets/textures/ad_chevrons.png +0 -0
  95. package/lib/module/assets/textures/asphalt.png +0 -0
  96. package/lib/module/assets/textures/bark.jpg +0 -0
  97. package/lib/module/assets/textures/explorer-atlas.png +0 -0
  98. package/lib/module/assets/textures/facade.png +0 -0
  99. package/lib/module/assets/textures/grass.png +0 -0
  100. package/lib/module/assets/textures/leaves.png +0 -0
  101. package/lib/module/assets/textures/limestone.jpg +0 -0
  102. package/lib/module/assets/textures/meadow.jpg +0 -0
  103. package/lib/module/assets/textures/nature-sources.json +87 -0
  104. package/lib/module/assets/textures/pine.png +0 -0
  105. package/lib/module/assets/textures/river.jpg +0 -0
  106. package/lib/module/assets/textures/soft_glow.png +0 -0
  107. package/lib/module/games/arrows/Arrows.js +1 -1
  108. package/lib/module/games/arrows/ArrowsConstants.js +1 -1
  109. package/lib/module/games/arrows/ArrowsGame.js +1 -0
  110. package/lib/module/games/arrows/ArrowsScene.js +1 -0
  111. package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -1
  112. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -1
  113. package/lib/module/games/balloon-blaster/BalloonBlasterGame.js +1 -0
  114. package/lib/module/games/balloon-blaster/BalloonBlasterPhysics.js +1 -0
  115. package/lib/module/games/balloon-blaster/BalloonBlasterScene.js +1 -0
  116. package/lib/module/games/bike-racing/BikeMeshes.js +1 -0
  117. package/lib/module/games/bike-racing/BikeRacing.js +1 -1
  118. package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -1
  119. package/lib/module/games/bike-racing/BikeRacingGame.js +1 -0
  120. package/lib/module/games/bike-racing/BikeRacingScene.js +1 -0
  121. package/lib/module/games/block-blast/BlockBlast.js +1 -1
  122. package/lib/module/games/block-blast/BlockBlastConstants.js +1 -1
  123. package/lib/module/games/block-blast/BlockBlastGame.js +1 -0
  124. package/lib/module/games/block-blast/BlockBlastScene.js +1 -0
  125. package/lib/module/games/block-breaker/BlockBreaker.js +1 -1
  126. package/lib/module/games/block-breaker/BlockBreakerConstants.js +1 -1
  127. package/lib/module/games/block-breaker/BlockBreakerGame.js +1 -0
  128. package/lib/module/games/block-breaker/BlockBreakerScene.js +1 -0
  129. package/lib/module/games/bluk/Bluk.js +1 -1
  130. package/lib/module/games/bluk/BlukConstants.js +1 -1
  131. package/lib/module/games/bluk/BlukGame.js +1 -0
  132. package/lib/module/games/bluk/BlukRules.js +1 -0
  133. package/lib/module/games/bluk/BlukScene.js +1 -0
  134. package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -1
  135. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -1
  136. package/lib/module/games/bubble-shooter/BubbleShooterGame.js +1 -0
  137. package/lib/module/games/bubble-shooter/BubbleShooterScene.js +1 -0
  138. package/lib/module/games/candy-crush/CandyCrush.js +1 -1
  139. package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -1
  140. package/lib/module/games/candy-crush/CandyCrushGame.js +1 -0
  141. package/lib/module/games/candy-crush/CandyCrushScene.js +1 -0
  142. package/lib/module/games/car-racing/CarMeshes.js +1 -0
  143. package/lib/module/games/car-racing/CarRacing.js +1 -1
  144. package/lib/module/games/car-racing/CarRacingConstants.js +1 -1
  145. package/lib/module/games/car-racing/CarRacingFacade.js +1 -0
  146. package/lib/module/games/car-racing/CarRacingGame.js +1 -0
  147. package/lib/module/games/car-racing/CarRacingScene.js +1 -0
  148. package/lib/module/games/car-racing/CarRacingScenery.js +1 -0
  149. package/lib/module/games/chameleon-run/ChameleonRun.js +1 -1
  150. package/lib/module/games/chameleon-run/ChameleonRunBackdrop.js +1 -0
  151. package/lib/module/games/chameleon-run/ChameleonRunConstants.js +1 -1
  152. package/lib/module/games/chameleon-run/ChameleonRunGame.js +1 -0
  153. package/lib/module/games/chameleon-run/ChameleonRunMeshes.js +1 -0
  154. package/lib/module/games/chameleon-run/ChameleonRunRules.js +1 -0
  155. package/lib/module/games/chameleon-run/ChameleonRunScene.js +1 -0
  156. package/lib/module/games/checkers/Checkers.js +1 -1
  157. package/lib/module/games/checkers/CheckersAI.js +1 -0
  158. package/lib/module/games/checkers/CheckersConstants.js +1 -1
  159. package/lib/module/games/checkers/CheckersGame.js +1 -0
  160. package/lib/module/games/checkers/CheckersRules.js +1 -0
  161. package/lib/module/games/checkers/CheckersScene.js +1 -0
  162. package/lib/module/games/color-switch/ColorSwitch.js +1 -1
  163. package/lib/module/games/color-switch/ColorSwitchConstants.js +1 -1
  164. package/lib/module/games/color-switch/ColorSwitchGame.js +1 -0
  165. package/lib/module/games/color-switch/ColorSwitchScene.js +1 -0
  166. package/lib/module/games/colors-sort/ColorsSort.js +1 -1
  167. package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -1
  168. package/lib/module/games/colors-sort/ColorsSortGame.js +1 -0
  169. package/lib/module/games/colors-sort/ColorsSortScene.js +1 -0
  170. package/lib/module/games/connect-em-all/ConnectEmAll.js +1 -1
  171. package/lib/module/games/connect-em-all/ConnectEmAllConstants.js +1 -1
  172. package/lib/module/games/connect-em-all/ConnectEmAllGame.js +1 -0
  173. package/lib/module/games/connect-em-all/ConnectEmAllScene.js +1 -0
  174. package/lib/module/games/crossy-road/CrossyRoad.js +1 -1
  175. package/lib/module/games/crossy-road/CrossyRoadCamera.js +1 -0
  176. package/lib/module/games/crossy-road/CrossyRoadConstants.js +1 -1
  177. package/lib/module/games/crossy-road/CrossyRoadGame.js +1 -0
  178. package/lib/module/games/crossy-road/CrossyRoadMeshes.js +1 -0
  179. package/lib/module/games/crossy-road/CrossyRoadPerson.js +1 -0
  180. package/lib/module/games/crossy-road/CrossyRoadRules.js +1 -0
  181. package/lib/module/games/crossy-road/CrossyRoadScene.js +1 -0
  182. package/lib/module/games/dino-jump/DinoJump.js +1 -1
  183. package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -1
  184. package/lib/module/games/dino-jump/DinoJumpGame.js +1 -0
  185. package/lib/module/games/dino-jump/DinoJumpScene.js +1 -0
  186. package/lib/module/games/dots-and-boxes/DotsAndBoxes.js +1 -1
  187. package/lib/module/games/dots-and-boxes/DotsAndBoxesConstants.js +1 -1
  188. package/lib/module/games/dots-and-boxes/DotsAndBoxesGame.js +1 -0
  189. package/lib/module/games/dots-and-boxes/DotsAndBoxesScene.js +1 -0
  190. package/lib/module/games/falling-sticks/FallingSticks.js +1 -1
  191. package/lib/module/games/falling-sticks/FallingSticksConstants.js +1 -1
  192. package/lib/module/games/falling-sticks/FallingSticksGame.js +1 -0
  193. package/lib/module/games/falling-sticks/FallingSticksRules.js +1 -0
  194. package/lib/module/games/falling-sticks/FallingSticksScene.js +1 -0
  195. package/lib/module/games/find-different-number/FindDifferentNumber.js +1 -1
  196. package/lib/module/games/find-different-number/FindDifferentNumberConstants.js +1 -1
  197. package/lib/module/games/find-different-number/FindDifferentNumberGame.js +1 -0
  198. package/lib/module/games/find-different-number/FindDifferentNumberRules.js +1 -0
  199. package/lib/module/games/find-different-number/FindDifferentNumberScene.js +1 -0
  200. package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
  201. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -1
  202. package/lib/module/games/flappy-bird/FlappyBirdGame.js +1 -0
  203. package/lib/module/games/flappy-bird/FlappyBirdScene.js +1 -0
  204. package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
  205. package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -1
  206. package/lib/module/games/fruit-merger/FruitMergerGame.js +1 -0
  207. package/lib/module/games/fruit-merger/FruitMergerRules.js +1 -0
  208. package/lib/module/games/fruit-merger/FruitMergerScene.js +1 -0
  209. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
  210. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -1
  211. package/lib/module/games/fruit-ninja/FruitNinjaGame.js +1 -0
  212. package/lib/module/games/fruit-ninja/FruitNinjaScene.js +1 -0
  213. package/lib/module/games/fruit-ninja/FruitNinjaWorld.js +1 -0
  214. package/lib/module/games/game-2048/Game2048.js +1 -1
  215. package/lib/module/games/game-2048/Game2048Constants.js +1 -1
  216. package/lib/module/games/game-2048/Game2048Game.js +1 -0
  217. package/lib/module/games/game-2048/Game2048Rules.js +1 -0
  218. package/lib/module/games/game-2048/Game2048Scene.js +1 -0
  219. package/lib/module/games/knife-hit/KnifeHit.js +1 -1
  220. package/lib/module/games/knife-hit/KnifeHitConstants.js +1 -1
  221. package/lib/module/games/knife-hit/KnifeHitGame.js +1 -0
  222. package/lib/module/games/knife-hit/KnifeHitScene.js +1 -0
  223. package/lib/module/games/ludo-king/LudoKing.js +1 -1
  224. package/lib/module/games/ludo-king/LudoKingConstants.js +1 -1
  225. package/lib/module/games/ludo-king/LudoKingGame.js +1 -0
  226. package/lib/module/games/ludo-king/LudoKingRules.js +1 -0
  227. package/lib/module/games/ludo-king/LudoKingScene.js +1 -0
  228. package/lib/module/games/maze-runner/MazeRunner.js +1 -1
  229. package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -1
  230. package/lib/module/games/maze-runner/MazeRunnerGame.js +1 -0
  231. package/lib/module/games/maze-runner/MazeRunnerRules.js +1 -0
  232. package/lib/module/games/maze-runner/MazeRunnerScene.js +1 -0
  233. package/lib/module/games/memory-match/MemoryMatch.js +1 -1
  234. package/lib/module/games/memory-match/MemoryMatchConstants.js +1 -1
  235. package/lib/module/games/memory-match/MemoryMatchGame.js +1 -0
  236. package/lib/module/games/memory-match/MemoryMatchRules.js +1 -0
  237. package/lib/module/games/memory-match/MemoryMatchScene.js +1 -0
  238. package/lib/module/games/mine-sweeper/MineSweeper.js +1 -1
  239. package/lib/module/games/mine-sweeper/MineSweeperConstants.js +1 -1
  240. package/lib/module/games/mine-sweeper/MineSweeperGame.js +1 -0
  241. package/lib/module/games/mine-sweeper/MineSweeperRules.js +1 -0
  242. package/lib/module/games/mine-sweeper/MineSweeperScene.js +1 -0
  243. package/lib/module/games/mob-control/MobControl.js +1 -1
  244. package/lib/module/games/mob-control/MobControlConstants.js +1 -1
  245. package/lib/module/games/mob-control/MobControlGame.js +1 -0
  246. package/lib/module/games/mob-control/MobControlMeshes.js +1 -0
  247. package/lib/module/games/mob-control/MobControlRenderer.js +1 -0
  248. package/lib/module/games/mob-control/MobControlRules.js +1 -0
  249. package/lib/module/games/mob-control/MobControlScene.js +1 -0
  250. package/lib/module/games/number-search/NumberSearch.js +1 -1
  251. package/lib/module/games/number-search/NumberSearchNumbers.js +1 -0
  252. package/lib/module/games/nuts-and-bolts/NutsAndBolts.js +1 -1
  253. package/lib/module/games/nuts-and-bolts/NutsAndBoltsConstants.js +1 -1
  254. package/lib/module/games/nuts-and-bolts/NutsAndBoltsGame.js +1 -0
  255. package/lib/module/games/nuts-and-bolts/NutsAndBoltsRules.js +1 -0
  256. package/lib/module/games/nuts-and-bolts/NutsAndBoltsScene.js +1 -0
  257. package/lib/module/games/pac-man/PacMan.js +1 -1
  258. package/lib/module/games/pac-man/PacManConstants.js +1 -1
  259. package/lib/module/games/pac-man/PacManGame.js +1 -0
  260. package/lib/module/games/pac-man/PacManRules.js +1 -0
  261. package/lib/module/games/pac-man/PacManScene.js +1 -0
  262. package/lib/module/games/paper-io/PaperIo.js +1 -1
  263. package/lib/module/games/paper-io/PaperIoConstants.js +1 -1
  264. package/lib/module/games/paper-io/PaperIoGame.js +1 -0
  265. package/lib/module/games/paper-io/PaperIoMeshes.js +1 -0
  266. package/lib/module/games/paper-io/PaperIoRules.js +1 -0
  267. package/lib/module/games/paper-io/PaperIoScene.js +1 -0
  268. package/lib/module/games/penguin-run/PenguinMeshes.js +1 -0
  269. package/lib/module/games/penguin-run/PenguinModel.js +1 -0
  270. package/lib/module/games/penguin-run/PenguinRun.js +1 -0
  271. package/lib/module/games/penguin-run/PenguinRunConstants.js +1 -0
  272. package/lib/module/games/penguin-run/PenguinRunGame.js +1 -0
  273. package/lib/module/games/penguin-run/PenguinRunScene.js +1 -0
  274. package/lib/module/games/perfect-circle/PerfectCircle.js +1 -1
  275. package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -1
  276. package/lib/module/games/perfect-circle/PerfectCircleGame.js +1 -0
  277. package/lib/module/games/perfect-circle/PerfectCircleRules.js +1 -0
  278. package/lib/module/games/perfect-circle/PerfectCircleScene.js +1 -0
  279. package/lib/module/games/pipe-connect/PipeConnect.js +1 -1
  280. package/lib/module/games/pipe-connect/PipeConnectConstants.js +1 -1
  281. package/lib/module/games/pipe-connect/PipeConnectGame.js +1 -0
  282. package/lib/module/games/pipe-connect/PipeConnectRules.js +1 -0
  283. package/lib/module/games/pipe-connect/PipeConnectScene.js +1 -0
  284. package/lib/module/games/play-with-tua/PlayWithTua.js +1 -0
  285. package/lib/module/games/play-with-tua/PlayWithTuaConstants.js +1 -0
  286. package/lib/module/games/play-with-tua/PlayWithTuaGame.js +1 -0
  287. package/lib/module/games/play-with-tua/PlayWithTuaModel.js +1 -0
  288. package/lib/module/games/play-with-tua/PlayWithTuaScene.js +1 -0
  289. package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
  290. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -1
  291. package/lib/module/games/popit-fidget/PopitFidgetGame.js +1 -0
  292. package/lib/module/games/popit-fidget/PopitFidgetScene.js +1 -0
  293. package/lib/module/games/reversi/Reversi.js +1 -1
  294. package/lib/module/games/reversi/ReversiConstants.js +1 -1
  295. package/lib/module/games/reversi/ReversiGame.js +1 -0
  296. package/lib/module/games/reversi/ReversiRules.js +1 -0
  297. package/lib/module/games/reversi/ReversiScene.js +1 -0
  298. package/lib/module/games/search-grid/SearchGrid.js +1 -0
  299. package/lib/module/games/search-grid/SearchGridConstants.js +1 -0
  300. package/lib/module/games/search-grid/SearchGridGame.js +1 -0
  301. package/lib/module/games/search-grid/SearchGridScene.js +1 -0
  302. package/lib/module/games/shared/BackdropCard.js +1 -0
  303. package/lib/module/games/shared/EngineBackdrop.js +1 -0
  304. package/lib/module/games/shared/EngineBlasts.js +1 -0
  305. package/lib/module/games/shared/EngineBlocks.js +1 -0
  306. package/lib/module/games/shared/EngineControlText.js +1 -0
  307. package/lib/module/games/shared/EngineDice.js +1 -0
  308. package/lib/module/games/shared/EngineFootprint.js +1 -0
  309. package/lib/module/games/shared/EngineFruits.js +1 -0
  310. package/lib/module/games/shared/EngineGameLoader.js +1 -0
  311. package/lib/module/games/shared/EngineGameScreen.js +1 -0
  312. package/lib/module/games/shared/EngineGameWidth.js +1 -0
  313. package/lib/module/games/shared/EngineGameWidth.web.js +1 -0
  314. package/lib/module/games/shared/EngineGlyphs.js +1 -0
  315. package/lib/module/games/shared/EngineHud.js +1 -0
  316. package/lib/module/games/shared/EngineLoading.js +1 -0
  317. package/lib/module/games/shared/EngineMeadow.js +1 -0
  318. package/lib/module/games/shared/EngineMeshCache.js +1 -0
  319. package/lib/module/games/shared/EngineMeshes.js +1 -0
  320. package/lib/module/games/shared/EngineRacingChase.js +1 -0
  321. package/lib/module/games/shared/EngineRacingHandling.js +1 -0
  322. package/lib/module/games/shared/EngineReadyContext.js +1 -0
  323. package/lib/module/games/shared/EngineTilt.js +1 -0
  324. package/lib/module/games/shared/EngineTouchSurface.js +1 -0
  325. package/lib/module/games/shared/EngineUtils.js +1 -0
  326. package/lib/module/games/shared/GameActivity.js +1 -0
  327. package/lib/module/games/shared/GameLoading.js +1 -0
  328. package/lib/module/games/shared/GameLoadingTransition.js +1 -0
  329. package/lib/module/games/shared/ProceduralCacheVersion.js +1 -0
  330. package/lib/module/games/shared/useEngineGame.js +1 -0
  331. package/lib/module/games/shared/useGameResource.js +1 -0
  332. package/lib/module/games/shared/useLiveState.js +1 -0
  333. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
  334. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -1
  335. package/lib/module/games/sliding-numbers/SlidingNumbersGame.js +1 -0
  336. package/lib/module/games/sliding-numbers/SlidingNumbersRules.js +1 -0
  337. package/lib/module/games/sliding-numbers/SlidingNumbersScene.js +1 -0
  338. package/lib/module/games/snake-3d/Snake3D.js +1 -1
  339. package/lib/module/games/snake-3d/Snake3DConstants.js +1 -1
  340. package/lib/module/games/snake-3d/Snake3DGame.js +1 -0
  341. package/lib/module/games/snake-3d/Snake3DMotion.js +1 -0
  342. package/lib/module/games/snake-3d/Snake3DRules.js +1 -0
  343. package/lib/module/games/snake-3d/Snake3DScene.js +1 -0
  344. package/lib/module/games/snakes-and-ladders/SnakesAndLadders.js +1 -1
  345. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersConstants.js +1 -1
  346. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersGame.js +1 -0
  347. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersScene.js +1 -0
  348. package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
  349. package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -1
  350. package/lib/module/games/space-fighter/SpaceFighterGame.js +1 -0
  351. package/lib/module/games/space-fighter/SpaceFighterScene.js +1 -0
  352. package/lib/module/games/spider-solitaire/SpiderSolitaire.js +1 -1
  353. package/lib/module/games/spider-solitaire/SpiderSolitaireConstants.js +1 -1
  354. package/lib/module/games/spider-solitaire/SpiderSolitaireGame.js +1 -0
  355. package/lib/module/games/spider-solitaire/SpiderSolitaireRules.js +1 -0
  356. package/lib/module/games/spider-solitaire/SpiderSolitaireScene.js +1 -0
  357. package/lib/module/games/stack-tower/StackTower.js +1 -1
  358. package/lib/module/games/stack-tower/StackTowerConstants.js +1 -1
  359. package/lib/module/games/stack-tower/StackTowerGame.js +1 -0
  360. package/lib/module/games/stack-tower/StackTowerScene.js +1 -0
  361. package/lib/module/games/sudoku/Sudoku.js +1 -1
  362. package/lib/module/games/sudoku/SudokuConstants.js +1 -1
  363. package/lib/module/games/sudoku/SudokuGame.js +1 -0
  364. package/lib/module/games/sudoku/SudokuRules.js +1 -0
  365. package/lib/module/games/sudoku/SudokuScene.js +1 -0
  366. package/lib/module/games/tangram/Tangram.js +1 -1
  367. package/lib/module/games/tangram/TangramConstants.js +1 -1
  368. package/lib/module/games/tangram/TangramGame.js +1 -0
  369. package/lib/module/games/tangram/TangramRules.js +1 -0
  370. package/lib/module/games/tangram/TangramScene.js +1 -0
  371. package/lib/module/games/tank-1990/Tank1990.js +1 -1
  372. package/lib/module/games/tank-1990/Tank1990Constants.js +1 -1
  373. package/lib/module/games/tank-1990/Tank1990Game.js +1 -0
  374. package/lib/module/games/tank-1990/Tank1990Rules.js +1 -0
  375. package/lib/module/games/tank-1990/Tank1990Scene.js +1 -0
  376. package/lib/module/games/tic-tac-toe/TicTacToe.js +1 -1
  377. package/lib/module/games/tic-tac-toe/TicTacToeConstants.js +1 -1
  378. package/lib/module/games/tic-tac-toe/TicTacToeGame.js +1 -0
  379. package/lib/module/games/tic-tac-toe/TicTacToeRules.js +1 -0
  380. package/lib/module/games/tic-tac-toe/TicTacToeScene.js +1 -0
  381. package/lib/module/games/tile-home/TileHome.js +1 -1
  382. package/lib/module/games/tile-home/TileHomeConstants.js +1 -1
  383. package/lib/module/games/tile-home/TileHomeGame.js +1 -0
  384. package/lib/module/games/tile-home/TileHomeScene.js +1 -0
  385. package/lib/module/games/treasure-hunt/TreasureHunt.js +1 -0
  386. package/lib/module/games/treasure-hunt/TreasureHuntConstants.js +1 -0
  387. package/lib/module/games/treasure-hunt/TreasureHuntControls.js +1 -0
  388. package/lib/module/games/treasure-hunt/TreasureHuntGame.js +1 -0
  389. package/lib/module/games/treasure-hunt/TreasureHuntMeshes.js +1 -0
  390. package/lib/module/games/treasure-hunt/TreasureHuntModel.js +1 -0
  391. package/lib/module/games/treasure-hunt/TreasureHuntRules.js +1 -0
  392. package/lib/module/games/treasure-hunt/TreasureHuntScene.js +1 -0
  393. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
  394. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -1
  395. package/lib/module/games/whack-a-mole/WhackAMoleGame.js +1 -0
  396. package/lib/module/games/whack-a-mole/WhackAMoleScene.js +1 -0
  397. package/lib/module/games/word-search/WordSearch.js +1 -1
  398. package/lib/module/games/word-search/WordSearchWords.js +1 -0
  399. package/lib/module/helpers/GamePatternData.js +1 -0
  400. package/lib/module/helpers/GameSettingsModal.js +1 -1
  401. package/lib/module/helpers/GameTheme.js +1 -0
  402. package/lib/module/helpers/IconPaths.js +1 -0
  403. package/lib/module/helpers/index.js +1 -1
  404. package/lib/module/index.js +1 -1
  405. package/lib/module/services/GameAssetLoader.js +1 -0
  406. package/lib/module/services/GameAssets.js +1 -0
  407. package/lib/module/services/GameLoaders.js +1 -0
  408. package/lib/module/services/GamesConstants.js +1 -1
  409. package/lib/module/services/GamesMetadata.js +1 -1
  410. package/lib/module/services/GamesService.js +1 -1
  411. package/lib/module/services/HapticsService.js +1 -1
  412. package/lib/module/services/ScoringService.js +1 -1
  413. package/lib/module/services/SfxSources.js +1 -0
  414. package/lib/module/services/SoundsService.js +1 -1
  415. package/lib/module/services/ThemeService.js +1 -0
  416. package/lib/module/services/UtilsService.js +1 -1
  417. package/lib/module/services/index.js +1 -1
  418. package/lib/typescript/src/games/arrows/Arrows.d.ts +1 -3
  419. package/lib/typescript/src/games/arrows/ArrowsConstants.d.ts +48 -32
  420. package/lib/typescript/src/games/arrows/ArrowsGame.d.ts +60 -0
  421. package/lib/typescript/src/games/arrows/ArrowsScene.d.ts +67 -0
  422. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +1 -3
  423. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +39 -131
  424. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterGame.d.ts +57 -0
  425. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterPhysics.d.ts +16 -0
  426. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterScene.d.ts +31 -0
  427. package/lib/typescript/src/games/bike-racing/BikeMeshes.d.ts +14 -0
  428. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts +2 -1
  429. package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts +38 -29
  430. package/lib/typescript/src/games/bike-racing/BikeRacingGame.d.ts +104 -0
  431. package/lib/typescript/src/games/bike-racing/BikeRacingScene.d.ts +25 -0
  432. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts +1 -3
  433. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +48 -30
  434. package/lib/typescript/src/games/block-blast/BlockBlastGame.d.ts +77 -0
  435. package/lib/typescript/src/games/block-blast/BlockBlastScene.d.ts +36 -0
  436. package/lib/typescript/src/games/block-breaker/BlockBreaker.d.ts +1 -3
  437. package/lib/typescript/src/games/block-breaker/BlockBreakerConstants.d.ts +88 -35
  438. package/lib/typescript/src/games/block-breaker/BlockBreakerGame.d.ts +82 -0
  439. package/lib/typescript/src/games/block-breaker/BlockBreakerScene.d.ts +48 -0
  440. package/lib/typescript/src/games/bluk/Bluk.d.ts +1 -3
  441. package/lib/typescript/src/games/bluk/BlukConstants.d.ts +65 -54
  442. package/lib/typescript/src/games/bluk/BlukGame.d.ts +65 -0
  443. package/lib/typescript/src/games/bluk/BlukRules.d.ts +51 -0
  444. package/lib/typescript/src/games/bluk/BlukScene.d.ts +54 -0
  445. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts +1 -3
  446. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +56 -24
  447. package/lib/typescript/src/games/bubble-shooter/BubbleShooterGame.d.ts +70 -0
  448. package/lib/typescript/src/games/bubble-shooter/BubbleShooterScene.d.ts +26 -0
  449. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +1 -3
  450. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +63 -32
  451. package/lib/typescript/src/games/candy-crush/CandyCrushGame.d.ts +65 -0
  452. package/lib/typescript/src/games/candy-crush/CandyCrushScene.d.ts +28 -0
  453. package/lib/typescript/src/games/car-racing/CarMeshes.d.ts +44 -0
  454. package/lib/typescript/src/games/car-racing/CarRacing.d.ts +2 -1
  455. package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts +60 -29
  456. package/lib/typescript/src/games/car-racing/CarRacingFacade.d.ts +5 -0
  457. package/lib/typescript/src/games/car-racing/CarRacingGame.d.ts +96 -0
  458. package/lib/typescript/src/games/car-racing/CarRacingScene.d.ts +97 -0
  459. package/lib/typescript/src/games/car-racing/CarRacingScenery.d.ts +22 -0
  460. package/lib/typescript/src/games/chameleon-run/ChameleonRun.d.ts +1 -3
  461. package/lib/typescript/src/games/chameleon-run/ChameleonRunBackdrop.d.ts +14 -0
  462. package/lib/typescript/src/games/chameleon-run/ChameleonRunConstants.d.ts +44 -42
  463. package/lib/typescript/src/games/chameleon-run/ChameleonRunGame.d.ts +60 -0
  464. package/lib/typescript/src/games/chameleon-run/ChameleonRunMeshes.d.ts +20 -0
  465. package/lib/typescript/src/games/chameleon-run/ChameleonRunRules.d.ts +52 -0
  466. package/lib/typescript/src/games/chameleon-run/ChameleonRunScene.d.ts +44 -0
  467. package/lib/typescript/src/games/checkers/Checkers.d.ts +1 -3
  468. package/lib/typescript/src/games/checkers/CheckersAI.d.ts +11 -0
  469. package/lib/typescript/src/games/checkers/CheckersConstants.d.ts +32 -72
  470. package/lib/typescript/src/games/checkers/CheckersGame.d.ts +56 -0
  471. package/lib/typescript/src/games/checkers/CheckersRules.d.ts +48 -0
  472. package/lib/typescript/src/games/checkers/CheckersScene.d.ts +41 -0
  473. package/lib/typescript/src/games/color-switch/ColorSwitch.d.ts +1 -3
  474. package/lib/typescript/src/games/color-switch/ColorSwitchConstants.d.ts +27 -31
  475. package/lib/typescript/src/games/color-switch/ColorSwitchGame.d.ts +61 -0
  476. package/lib/typescript/src/games/color-switch/ColorSwitchScene.d.ts +43 -0
  477. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts +1 -3
  478. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +37 -44
  479. package/lib/typescript/src/games/colors-sort/ColorsSortGame.d.ts +41 -0
  480. package/lib/typescript/src/games/colors-sort/ColorsSortScene.d.ts +33 -0
  481. package/lib/typescript/src/games/connect-em-all/ConnectEmAll.d.ts +1 -3
  482. package/lib/typescript/src/games/connect-em-all/ConnectEmAllConstants.d.ts +43 -17
  483. package/lib/typescript/src/games/connect-em-all/ConnectEmAllGame.d.ts +54 -0
  484. package/lib/typescript/src/games/connect-em-all/ConnectEmAllScene.d.ts +49 -0
  485. package/lib/typescript/src/games/crossy-road/CrossyRoad.d.ts +1 -3
  486. package/lib/typescript/src/games/crossy-road/CrossyRoadCamera.d.ts +14 -0
  487. package/lib/typescript/src/games/crossy-road/CrossyRoadConstants.d.ts +82 -50
  488. package/lib/typescript/src/games/crossy-road/CrossyRoadGame.d.ts +64 -0
  489. package/lib/typescript/src/games/crossy-road/CrossyRoadMeshes.d.ts +16 -0
  490. package/lib/typescript/src/games/crossy-road/CrossyRoadPerson.d.ts +10 -0
  491. package/lib/typescript/src/games/crossy-road/CrossyRoadRules.d.ts +36 -0
  492. package/lib/typescript/src/games/crossy-road/CrossyRoadScene.d.ts +38 -0
  493. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +1 -3
  494. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +48 -72
  495. package/lib/typescript/src/games/dino-jump/DinoJumpGame.d.ts +60 -0
  496. package/lib/typescript/src/games/dino-jump/DinoJumpScene.d.ts +35 -0
  497. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxes.d.ts +1 -3
  498. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesConstants.d.ts +31 -36
  499. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesGame.d.ts +44 -0
  500. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesScene.d.ts +31 -0
  501. package/lib/typescript/src/games/falling-sticks/FallingSticks.d.ts +1 -3
  502. package/lib/typescript/src/games/falling-sticks/FallingSticksConstants.d.ts +31 -43
  503. package/lib/typescript/src/games/falling-sticks/FallingSticksGame.d.ts +42 -0
  504. package/lib/typescript/src/games/falling-sticks/FallingSticksRules.d.ts +36 -0
  505. package/lib/typescript/src/games/falling-sticks/FallingSticksScene.d.ts +26 -0
  506. package/lib/typescript/src/games/find-different-number/FindDifferentNumber.d.ts +1 -3
  507. package/lib/typescript/src/games/find-different-number/FindDifferentNumberConstants.d.ts +33 -29
  508. package/lib/typescript/src/games/find-different-number/FindDifferentNumberGame.d.ts +43 -0
  509. package/lib/typescript/src/games/find-different-number/FindDifferentNumberRules.d.ts +8 -0
  510. package/lib/typescript/src/games/find-different-number/FindDifferentNumberScene.d.ts +31 -0
  511. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +1 -3
  512. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +39 -35
  513. package/lib/typescript/src/games/flappy-bird/FlappyBirdGame.d.ts +66 -0
  514. package/lib/typescript/src/games/flappy-bird/FlappyBirdScene.d.ts +41 -0
  515. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +1 -3
  516. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +71 -44
  517. package/lib/typescript/src/games/fruit-merger/FruitMergerGame.d.ts +63 -0
  518. package/lib/typescript/src/games/fruit-merger/FruitMergerRules.d.ts +39 -0
  519. package/lib/typescript/src/games/fruit-merger/FruitMergerScene.d.ts +49 -0
  520. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +1 -3
  521. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +51 -76
  522. package/lib/typescript/src/games/fruit-ninja/FruitNinjaGame.d.ts +76 -0
  523. package/lib/typescript/src/games/fruit-ninja/FruitNinjaScene.d.ts +52 -0
  524. package/lib/typescript/src/games/fruit-ninja/FruitNinjaWorld.d.ts +8 -0
  525. package/lib/typescript/src/games/game-2048/Game2048.d.ts +1 -3
  526. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +25 -120
  527. package/lib/typescript/src/games/game-2048/Game2048Game.d.ts +45 -0
  528. package/lib/typescript/src/games/game-2048/Game2048Rules.d.ts +32 -0
  529. package/lib/typescript/src/games/game-2048/Game2048Scene.d.ts +34 -0
  530. package/lib/typescript/src/games/knife-hit/KnifeHit.d.ts +1 -3
  531. package/lib/typescript/src/games/knife-hit/KnifeHitConstants.d.ts +41 -49
  532. package/lib/typescript/src/games/knife-hit/KnifeHitGame.d.ts +49 -0
  533. package/lib/typescript/src/games/knife-hit/KnifeHitScene.d.ts +37 -0
  534. package/lib/typescript/src/games/ludo-king/LudoKing.d.ts +1 -3
  535. package/lib/typescript/src/games/ludo-king/LudoKingConstants.d.ts +50 -28
  536. package/lib/typescript/src/games/ludo-king/LudoKingGame.d.ts +40 -0
  537. package/lib/typescript/src/games/ludo-king/LudoKingRules.d.ts +42 -0
  538. package/lib/typescript/src/games/ludo-king/LudoKingScene.d.ts +53 -0
  539. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -3
  540. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +34 -10
  541. package/lib/typescript/src/games/maze-runner/MazeRunnerGame.d.ts +44 -0
  542. package/lib/typescript/src/games/maze-runner/MazeRunnerRules.d.ts +34 -0
  543. package/lib/typescript/src/games/maze-runner/MazeRunnerScene.d.ts +29 -0
  544. package/lib/typescript/src/games/memory-match/MemoryMatch.d.ts +1 -3
  545. package/lib/typescript/src/games/memory-match/MemoryMatchConstants.d.ts +42 -42
  546. package/lib/typescript/src/games/memory-match/MemoryMatchGame.d.ts +53 -0
  547. package/lib/typescript/src/games/memory-match/MemoryMatchRules.d.ts +14 -0
  548. package/lib/typescript/src/games/memory-match/MemoryMatchScene.d.ts +35 -0
  549. package/lib/typescript/src/games/mine-sweeper/MineSweeper.d.ts +1 -3
  550. package/lib/typescript/src/games/mine-sweeper/MineSweeperConstants.d.ts +43 -82
  551. package/lib/typescript/src/games/mine-sweeper/MineSweeperGame.d.ts +59 -0
  552. package/lib/typescript/src/games/mine-sweeper/MineSweeperRules.d.ts +18 -0
  553. package/lib/typescript/src/games/mine-sweeper/MineSweeperScene.d.ts +23 -0
  554. package/lib/typescript/src/games/mob-control/MobControl.d.ts +1 -3
  555. package/lib/typescript/src/games/mob-control/MobControlConstants.d.ts +99 -85
  556. package/lib/typescript/src/games/mob-control/MobControlGame.d.ts +45 -0
  557. package/lib/typescript/src/games/mob-control/MobControlMeshes.d.ts +2 -0
  558. package/lib/typescript/src/games/mob-control/MobControlRenderer.d.ts +20 -0
  559. package/lib/typescript/src/games/mob-control/MobControlRules.d.ts +68 -0
  560. package/lib/typescript/src/games/mob-control/MobControlScene.d.ts +58 -0
  561. package/lib/typescript/src/games/number-search/NumberSearch.d.ts +1 -3
  562. package/lib/typescript/src/games/number-search/NumberSearchNumbers.d.ts +1 -0
  563. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBolts.d.ts +1 -3
  564. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsConstants.d.ts +27 -79
  565. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsGame.d.ts +56 -0
  566. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsRules.d.ts +65 -0
  567. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsScene.d.ts +48 -0
  568. package/lib/typescript/src/games/pac-man/PacMan.d.ts +1 -3
  569. package/lib/typescript/src/games/pac-man/PacManConstants.d.ts +66 -106
  570. package/lib/typescript/src/games/pac-man/PacManGame.d.ts +48 -0
  571. package/lib/typescript/src/games/pac-man/PacManRules.d.ts +52 -0
  572. package/lib/typescript/src/games/pac-man/PacManScene.d.ts +44 -0
  573. package/lib/typescript/src/games/paper-io/PaperIo.d.ts +1 -3
  574. package/lib/typescript/src/games/paper-io/PaperIoConstants.d.ts +60 -40
  575. package/lib/typescript/src/games/paper-io/PaperIoGame.d.ts +49 -0
  576. package/lib/typescript/src/games/paper-io/PaperIoMeshes.d.ts +13 -0
  577. package/lib/typescript/src/games/paper-io/PaperIoRules.d.ts +71 -0
  578. package/lib/typescript/src/games/paper-io/PaperIoScene.d.ts +39 -0
  579. package/lib/typescript/src/games/penguin-run/PenguinMeshes.d.ts +9 -0
  580. package/lib/typescript/src/games/penguin-run/PenguinModel.d.ts +42 -0
  581. package/lib/typescript/src/games/penguin-run/PenguinRun.d.ts +1 -0
  582. package/lib/typescript/src/games/penguin-run/PenguinRunConstants.d.ts +58 -0
  583. package/lib/typescript/src/games/penguin-run/PenguinRunGame.d.ts +64 -0
  584. package/lib/typescript/src/games/penguin-run/PenguinRunScene.d.ts +65 -0
  585. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts +1 -3
  586. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +23 -45
  587. package/lib/typescript/src/games/perfect-circle/PerfectCircleGame.d.ts +40 -0
  588. package/lib/typescript/src/games/perfect-circle/PerfectCircleRules.d.ts +55 -0
  589. package/lib/typescript/src/games/perfect-circle/PerfectCircleScene.d.ts +32 -0
  590. package/lib/typescript/src/games/pipe-connect/PipeConnect.d.ts +1 -3
  591. package/lib/typescript/src/games/pipe-connect/PipeConnectConstants.d.ts +36 -32
  592. package/lib/typescript/src/games/pipe-connect/PipeConnectGame.d.ts +40 -0
  593. package/lib/typescript/src/games/pipe-connect/PipeConnectRules.d.ts +16 -0
  594. package/lib/typescript/src/games/pipe-connect/PipeConnectScene.d.ts +28 -0
  595. package/lib/typescript/src/games/play-with-tua/PlayWithTua.d.ts +2 -0
  596. package/lib/typescript/src/games/play-with-tua/PlayWithTuaConstants.d.ts +64 -0
  597. package/lib/typescript/src/games/play-with-tua/PlayWithTuaGame.d.ts +34 -0
  598. package/lib/typescript/src/games/play-with-tua/PlayWithTuaModel.d.ts +9 -0
  599. package/lib/typescript/src/games/play-with-tua/PlayWithTuaScene.d.ts +13 -0
  600. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +1 -4
  601. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +25 -36
  602. package/lib/typescript/src/games/popit-fidget/PopitFidgetGame.d.ts +37 -0
  603. package/lib/typescript/src/games/popit-fidget/PopitFidgetScene.d.ts +19 -0
  604. package/lib/typescript/src/games/reversi/Reversi.d.ts +1 -3
  605. package/lib/typescript/src/games/reversi/ReversiConstants.d.ts +31 -62
  606. package/lib/typescript/src/games/reversi/ReversiGame.d.ts +54 -0
  607. package/lib/typescript/src/games/reversi/ReversiRules.d.ts +22 -0
  608. package/lib/typescript/src/games/reversi/ReversiScene.d.ts +27 -0
  609. package/lib/typescript/src/games/search-grid/SearchGrid.d.ts +20 -0
  610. package/lib/typescript/src/games/search-grid/SearchGridConstants.d.ts +60 -0
  611. package/lib/typescript/src/games/search-grid/SearchGridGame.d.ts +52 -0
  612. package/lib/typescript/src/games/search-grid/SearchGridScene.d.ts +43 -0
  613. package/lib/typescript/src/games/shared/BackdropCard.d.ts +2 -0
  614. package/lib/typescript/src/games/shared/EngineBackdrop.d.ts +19 -0
  615. package/lib/typescript/src/games/shared/EngineBlasts.d.ts +26 -0
  616. package/lib/typescript/src/games/shared/EngineBlocks.d.ts +19 -0
  617. package/lib/typescript/src/games/shared/EngineControlText.d.ts +2 -0
  618. package/lib/typescript/src/games/shared/EngineDice.d.ts +24 -0
  619. package/lib/typescript/src/games/shared/EngineFootprint.d.ts +17 -0
  620. package/lib/typescript/src/games/shared/EngineFruits.d.ts +27 -0
  621. package/lib/typescript/src/games/shared/EngineGameLoader.d.ts +4 -0
  622. package/lib/typescript/src/games/shared/EngineGameScreen.d.ts +48 -0
  623. package/lib/typescript/src/games/shared/EngineGameWidth.d.ts +3 -0
  624. package/lib/typescript/src/games/shared/EngineGameWidth.web.d.ts +3 -0
  625. package/lib/typescript/src/games/shared/EngineGlyphs.d.ts +15 -0
  626. package/lib/typescript/src/games/shared/EngineHud.d.ts +138 -0
  627. package/lib/typescript/src/games/shared/EngineLoading.d.ts +77 -0
  628. package/lib/typescript/src/games/shared/EngineMeadow.d.ts +90 -0
  629. package/lib/typescript/src/games/shared/EngineMeshCache.d.ts +3 -0
  630. package/lib/typescript/src/games/shared/EngineMeshes.d.ts +3 -0
  631. package/lib/typescript/src/games/shared/EngineRacingChase.d.ts +11 -0
  632. package/lib/typescript/src/games/shared/EngineRacingHandling.d.ts +15 -0
  633. package/lib/typescript/src/games/shared/EngineReadyContext.d.ts +2 -0
  634. package/lib/typescript/src/games/shared/EngineTilt.d.ts +19 -0
  635. package/lib/typescript/src/games/shared/EngineTouchSurface.d.ts +20 -0
  636. package/lib/typescript/src/games/shared/EngineUtils.d.ts +18 -0
  637. package/lib/typescript/src/games/shared/GameActivity.d.ts +3 -0
  638. package/lib/typescript/src/games/shared/GameLoading.d.ts +14 -0
  639. package/lib/typescript/src/games/shared/GameLoadingTransition.d.ts +9 -0
  640. package/lib/typescript/src/games/shared/ProceduralCacheVersion.d.ts +1 -0
  641. package/lib/typescript/src/games/shared/useEngineGame.d.ts +69 -0
  642. package/lib/typescript/src/games/shared/useGameResource.d.ts +2 -0
  643. package/lib/typescript/src/games/shared/useLiveState.d.ts +4 -0
  644. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +1 -3
  645. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +32 -40
  646. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersGame.d.ts +48 -0
  647. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersRules.d.ts +22 -0
  648. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersScene.d.ts +30 -0
  649. package/lib/typescript/src/games/snake-3d/Snake3D.d.ts +1 -3
  650. package/lib/typescript/src/games/snake-3d/Snake3DConstants.d.ts +31 -68
  651. package/lib/typescript/src/games/snake-3d/Snake3DGame.d.ts +42 -0
  652. package/lib/typescript/src/games/snake-3d/Snake3DMotion.d.ts +3 -0
  653. package/lib/typescript/src/games/snake-3d/Snake3DRules.d.ts +42 -0
  654. package/lib/typescript/src/games/snake-3d/Snake3DScene.d.ts +35 -0
  655. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLadders.d.ts +1 -3
  656. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersConstants.d.ts +58 -50
  657. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersGame.d.ts +45 -0
  658. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersScene.d.ts +50 -0
  659. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +1 -3
  660. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +33 -23
  661. package/lib/typescript/src/games/space-fighter/SpaceFighterGame.d.ts +58 -0
  662. package/lib/typescript/src/games/space-fighter/SpaceFighterScene.d.ts +51 -0
  663. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaire.d.ts +1 -3
  664. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireConstants.d.ts +52 -35
  665. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireGame.d.ts +67 -0
  666. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireRules.d.ts +39 -0
  667. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireScene.d.ts +60 -0
  668. package/lib/typescript/src/games/stack-tower/StackTower.d.ts +1 -3
  669. package/lib/typescript/src/games/stack-tower/StackTowerConstants.d.ts +31 -23
  670. package/lib/typescript/src/games/stack-tower/StackTowerGame.d.ts +58 -0
  671. package/lib/typescript/src/games/stack-tower/StackTowerScene.d.ts +27 -0
  672. package/lib/typescript/src/games/sudoku/Sudoku.d.ts +1 -3
  673. package/lib/typescript/src/games/sudoku/SudokuConstants.d.ts +50 -55
  674. package/lib/typescript/src/games/sudoku/SudokuGame.d.ts +56 -0
  675. package/lib/typescript/src/games/sudoku/SudokuRules.d.ts +23 -0
  676. package/lib/typescript/src/games/sudoku/SudokuScene.d.ts +44 -0
  677. package/lib/typescript/src/games/tangram/Tangram.d.ts +1 -3
  678. package/lib/typescript/src/games/tangram/TangramConstants.d.ts +33 -52
  679. package/lib/typescript/src/games/tangram/TangramGame.d.ts +68 -0
  680. package/lib/typescript/src/games/tangram/TangramRules.d.ts +61 -0
  681. package/lib/typescript/src/games/tangram/TangramScene.d.ts +42 -0
  682. package/lib/typescript/src/games/tank-1990/Tank1990.d.ts +1 -3
  683. package/lib/typescript/src/games/tank-1990/Tank1990Constants.d.ts +44 -127
  684. package/lib/typescript/src/games/tank-1990/Tank1990Game.d.ts +50 -0
  685. package/lib/typescript/src/games/tank-1990/Tank1990Rules.d.ts +67 -0
  686. package/lib/typescript/src/games/tank-1990/Tank1990Scene.d.ts +38 -0
  687. package/lib/typescript/src/games/tic-tac-toe/TicTacToe.d.ts +1 -3
  688. package/lib/typescript/src/games/tic-tac-toe/TicTacToeConstants.d.ts +35 -72
  689. package/lib/typescript/src/games/tic-tac-toe/TicTacToeGame.d.ts +54 -0
  690. package/lib/typescript/src/games/tic-tac-toe/TicTacToeRules.d.ts +10 -0
  691. package/lib/typescript/src/games/tic-tac-toe/TicTacToeScene.d.ts +26 -0
  692. package/lib/typescript/src/games/tile-home/TileHome.d.ts +1 -3
  693. package/lib/typescript/src/games/tile-home/TileHomeConstants.d.ts +72 -70
  694. package/lib/typescript/src/games/tile-home/TileHomeGame.d.ts +72 -0
  695. package/lib/typescript/src/games/tile-home/TileHomeScene.d.ts +28 -0
  696. package/lib/typescript/src/games/treasure-hunt/TreasureHunt.d.ts +3 -0
  697. package/lib/typescript/src/games/treasure-hunt/TreasureHuntConstants.d.ts +144 -0
  698. package/lib/typescript/src/games/treasure-hunt/TreasureHuntControls.d.ts +75 -0
  699. package/lib/typescript/src/games/treasure-hunt/TreasureHuntGame.d.ts +41 -0
  700. package/lib/typescript/src/games/treasure-hunt/TreasureHuntMeshes.d.ts +26 -0
  701. package/lib/typescript/src/games/treasure-hunt/TreasureHuntModel.d.ts +57 -0
  702. package/lib/typescript/src/games/treasure-hunt/TreasureHuntRules.d.ts +198 -0
  703. package/lib/typescript/src/games/treasure-hunt/TreasureHuntScene.d.ts +40 -0
  704. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +1 -3
  705. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +35 -45
  706. package/lib/typescript/src/games/whack-a-mole/WhackAMoleGame.d.ts +51 -0
  707. package/lib/typescript/src/games/whack-a-mole/WhackAMoleScene.d.ts +31 -0
  708. package/lib/typescript/src/games/word-search/WordSearch.d.ts +1 -3
  709. package/lib/typescript/src/games/word-search/WordSearchWords.d.ts +1 -0
  710. package/lib/typescript/src/helpers/GamePatternData.d.ts +46 -0
  711. package/lib/typescript/src/helpers/GameSettingsModal.d.ts +1 -1
  712. package/lib/typescript/src/helpers/GameTheme.d.ts +18 -0
  713. package/lib/typescript/src/helpers/IconPaths.d.ts +4 -0
  714. package/lib/typescript/src/helpers/index.d.ts +1 -19
  715. package/lib/typescript/src/index.d.ts +3 -0
  716. package/lib/typescript/src/services/GameAssetLoader.d.ts +32 -0
  717. package/lib/typescript/src/services/GameAssets.d.ts +11 -0
  718. package/lib/typescript/src/services/GameLoaders.d.ts +18 -0
  719. package/lib/typescript/src/services/GamesConstants.d.ts +11 -0
  720. package/lib/typescript/src/services/GamesMetadata.d.ts +2 -0
  721. package/lib/typescript/src/services/HapticsService.d.ts +1 -1
  722. package/lib/typescript/src/services/SfxSources.d.ts +79 -0
  723. package/lib/typescript/src/services/SoundsService.d.ts +487 -1566
  724. package/lib/typescript/src/services/ThemeService.d.ts +117 -0
  725. package/lib/typescript/src/services/UtilsService.d.ts +20 -2
  726. package/lib/typescript/src/services/index.d.ts +3 -0
  727. package/lib/web/assets/005ea2045b17-explorer.glb +0 -0
  728. package/lib/web/assets/01e2f0a0bbf6-hurt.wav +0 -0
  729. package/lib/web/assets/01fc0ecf658c-explorer-atlas.png +0 -0
  730. package/lib/web/assets/029329b2c7c0-asphalt.png +0 -0
  731. package/lib/web/assets/0376bda32be3-robot.wav +0 -0
  732. package/lib/web/assets/0719fb0bb38e-soft_glow.png +0 -0
  733. package/lib/web/assets/0b21278bffba-boing.wav +0 -0
  734. package/lib/web/assets/1333c9d1273c-flip_disc.wav +0 -0
  735. package/lib/web/assets/15785f62ee5f-time_up.wav +0 -0
  736. package/lib/web/assets/177f00502e08-bonus.wav +0 -0
  737. package/lib/web/assets/19e47dcfda1f-pling.wav +0 -0
  738. package/lib/web/assets/1a677e0f7f6c-laugh.wav +0 -0
  739. package/lib/web/assets/1ad2914478b1-eat.wav +0 -0
  740. package/lib/web/assets/1b0d703ddd1a-dance.wav +0 -0
  741. package/lib/web/assets/1e4330fddd74-chime.wav +0 -0
  742. package/lib/web/assets/2432a97b0af1-cannon.wav +0 -0
  743. package/lib/web/assets/2574370d6aa0-blocked.wav +0 -0
  744. package/lib/web/assets/2699065037ad-select.wav +0 -0
  745. package/lib/web/assets/28d30f53ad73-ladder.wav +0 -0
  746. package/lib/web/assets/2c1ec05270b2-point.wav +0 -0
  747. package/lib/web/assets/2e1dd99a0213-tick.wav +0 -0
  748. package/lib/web/assets/3084575cecdb-card_flip.wav +0 -0
  749. package/lib/web/assets/308bc31b6af5-engine.wav +0 -0
  750. package/lib/web/assets/336d63b739b5-combo.wav +0 -0
  751. package/lib/web/assets/3a369e2596e4-clash.wav +0 -0
  752. package/lib/web/assets/3a816e20212f-capture.wav +0 -0
  753. package/lib/web/assets/40240217810a-nitro.wav +0 -0
  754. package/lib/web/assets/46edaa54d1ea-crunch.wav +0 -0
  755. package/lib/web/assets/501994226995-coin.wav +0 -0
  756. package/lib/web/assets/5525d7f6a4b8-rotate.wav +0 -0
  757. package/lib/web/assets/5e816e1f0929-dice_roll.wav +0 -0
  758. package/lib/web/assets/60e2dec3cf41-deselect.wav +0 -0
  759. package/lib/web/assets/6ab86ea29e5c-six.wav +0 -0
  760. package/lib/web/assets/6da3b101926d-merge.wav +0 -0
  761. package/lib/web/assets/6e686dea513c-bark.jpg +0 -0
  762. package/lib/web/assets/6ff9a6a13714-limestone.jpg +0 -0
  763. package/lib/web/assets/735c4a1cd22e-invalid.wav +0 -0
  764. package/lib/web/assets/73f75c35ff5d-snake.wav +0 -0
  765. package/lib/web/assets/7506e3efe264-catch.wav +0 -0
  766. package/lib/web/assets/76493a2ada2d-ad_bolt.png +0 -0
  767. package/lib/web/assets/793abe620201-card_place.wav +0 -0
  768. package/lib/web/assets/7da09c57f52d-facade.png +0 -0
  769. package/lib/web/assets/7e1a902176f6-pine.png +0 -0
  770. package/lib/web/assets/7eb943b85c21-play-with-tua.glb +0 -0
  771. package/lib/web/assets/837d43c06dba-ad_bubbles.png +0 -0
  772. package/lib/web/assets/84f1a7dfa368-game_over.wav +0 -0
  773. package/lib/web/assets/850e26ce3b0a-flap.wav +0 -0
  774. package/lib/web/assets/854b31683cb2-draw.wav +0 -0
  775. package/lib/web/assets/8616150393b7-error.wav +0 -0
  776. package/lib/web/assets/87cc6d503ec6-river.jpg +0 -0
  777. package/lib/web/assets/88755845922c-hop.wav +0 -0
  778. package/lib/web/assets/8ec8f469492d-chomp_alt.wav +0 -0
  779. package/lib/web/assets/8f17f89b138c-pew.wav +0 -0
  780. package/lib/web/assets/9210a24472d1-place.wav +0 -0
  781. package/lib/web/assets/930d833ebf89-splash.wav +0 -0
  782. package/lib/web/assets/970f7c59265d-swoosh.wav +0 -0
  783. package/lib/web/assets/9900b8d1b6ad-flag.wav +0 -0
  784. package/lib/web/assets/9ab04403898b-clang.wav +0 -0
  785. package/lib/web/assets/9d8b97a10d45-drop.wav +0 -0
  786. package/lib/web/assets/9d9c02ddc7ed-boom.wav +0 -0
  787. package/lib/web/assets/9e1b5114d56d-pop_soft.wav +0 -0
  788. package/lib/web/assets/a01f22d6dbb3-thud.wav +0 -0
  789. package/lib/web/assets/a44a1cf1a1a8-bump.wav +0 -0
  790. package/lib/web/assets/a76940a48c68-hit.wav +0 -0
  791. package/lib/web/assets/a98ddb724460-leaves.png +0 -0
  792. package/lib/web/assets/aa0960e8bee6-footstep_run.wav +0 -0
  793. package/lib/web/assets/aa570c9d3e15-star.wav +0 -0
  794. package/lib/web/assets/aacb999f3c49-tock.wav +0 -0
  795. package/lib/web/assets/aae0c16c5e89-reveal.wav +0 -0
  796. package/lib/web/assets/ab37cd128509-click.wav +0 -0
  797. package/lib/web/assets/b0bc66f49005-warning.wav +0 -0
  798. package/lib/web/assets/b1edd756ac43-zap.wav +0 -0
  799. package/lib/web/assets/b3894545cf71-slice.wav +0 -0
  800. package/lib/web/assets/b3c6225d055a-meadow.jpg +0 -0
  801. package/lib/web/assets/b60ca65cdfcb-gate.wav +0 -0
  802. package/lib/web/assets/b8900bb2c5c7-win.wav +0 -0
  803. package/lib/web/assets/baff6feda846-lose.wav +0 -0
  804. package/lib/web/assets/bed31305d60d-ad_chevrons.png +0 -0
  805. package/lib/web/assets/c26f4a624e7d-shuffle.wav +0 -0
  806. package/lib/web/assets/c3a9edfad195-die.wav +0 -0
  807. package/lib/web/assets/c4aa9d773f2a-footstep_walk.wav +0 -0
  808. package/lib/web/assets/c5ab3ff0003f-crash.wav +0 -0
  809. package/lib/web/assets/c5eb07deddd4-start.wav +0 -0
  810. package/lib/web/assets/c6c58d9ae452-pop.wav +0 -0
  811. package/lib/web/assets/cea48c3cd9c7-balloon_pop.wav +0 -0
  812. package/lib/web/assets/d15591767778-tap.wav +0 -0
  813. package/lib/web/assets/d1781a52234f-slide.wav +0 -0
  814. package/lib/web/assets/d3bf2d9f793b-snap.wav +0 -0
  815. package/lib/web/assets/d8f59ebd3537-jump.wav +0 -0
  816. package/lib/web/assets/dafea2f28854-power_up.wav +0 -0
  817. package/lib/web/assets/e2e7f5ae2d1b-whoosh.wav +0 -0
  818. package/lib/web/assets/e2f90a23e1bd-chomp.wav +0 -0
  819. package/lib/web/assets/e454e56df89a-clack.wav +0 -0
  820. package/lib/web/assets/e8cbc2b88bc4-Inter-SemiBold.ttf +0 -0
  821. package/lib/web/assets/ed6496b891fc-land.wav +0 -0
  822. package/lib/web/assets/f21920200a81-thunk.wav +0 -0
  823. package/lib/web/assets/f753b43be89d-whack.wav +0 -0
  824. package/lib/web/assets/f798c4b5cf4d-miss.wav +0 -0
  825. package/lib/web/assets/fbe299716916-grass.png +0 -0
  826. package/lib/web/chunk-52ez2s9z.js +15 -0
  827. package/lib/web/chunk-8675t224.js +1 -0
  828. package/lib/web/index.js +2 -0
  829. package/lib/web/package.json +1 -0
  830. package/lib/web/services.js +2 -0
  831. package/package.json +93 -73
  832. package/lib/module/games/arrows/ArrowsService.js +0 -1
  833. package/lib/module/games/arrows/ArrowsStore.js +0 -1
  834. package/lib/module/games/arrows/components/ArrowsGrid.js +0 -1
  835. package/lib/module/games/arrows/components/ScoreBoard.js +0 -1
  836. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +0 -1
  837. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +0 -1
  838. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +0 -1
  839. package/lib/module/games/balloon-blaster/components/GameArea.js +0 -1
  840. package/lib/module/games/balloon-blaster/components/GameBackground.js +0 -1
  841. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +0 -1
  842. package/lib/module/games/bike-racing/BikeRacingService.js +0 -1
  843. package/lib/module/games/bike-racing/BikeRacingStore.js +0 -1
  844. package/lib/module/games/bike-racing/components/BikeComponent.js +0 -1
  845. package/lib/module/games/bike-racing/components/GameBackground.js +0 -1
  846. package/lib/module/games/bike-racing/components/ScoreBoard.js +0 -1
  847. package/lib/module/games/block-blast/BlockBlastService.js +0 -1
  848. package/lib/module/games/block-blast/BlockBlastStore.js +0 -1
  849. package/lib/module/games/block-blast/components/BlockPieceComponent.js +0 -1
  850. package/lib/module/games/block-blast/components/GameArea.js +0 -1
  851. package/lib/module/games/block-blast/components/GridComponent.js +0 -1
  852. package/lib/module/games/block-blast/components/ScoreBoard.js +0 -1
  853. package/lib/module/games/block-breaker/BlockBreakerService.js +0 -1
  854. package/lib/module/games/block-breaker/BlockBreakerStore.js +0 -1
  855. package/lib/module/games/block-breaker/components/BlastAnimation.js +0 -1
  856. package/lib/module/games/block-breaker/components/GameArea.js +0 -1
  857. package/lib/module/games/block-breaker/components/ScoreBoard.js +0 -1
  858. package/lib/module/games/bluk/BlukService.js +0 -1
  859. package/lib/module/games/bluk/BlukStore.js +0 -1
  860. package/lib/module/games/bluk/components/GameArea.js +0 -1
  861. package/lib/module/games/bluk/components/GameBackground.js +0 -1
  862. package/lib/module/games/bluk/components/ScoreBoard.js +0 -1
  863. package/lib/module/games/bubble-shooter/BubbleShooterService.js +0 -1
  864. package/lib/module/games/bubble-shooter/BubbleShooterStore.js +0 -1
  865. package/lib/module/games/bubble-shooter/components/GameArea.js +0 -1
  866. package/lib/module/games/bubble-shooter/components/ScoreBoard.js +0 -1
  867. package/lib/module/games/candy-crush/CandyCrushService.js +0 -1
  868. package/lib/module/games/candy-crush/CandyCrushStore.js +0 -1
  869. package/lib/module/games/candy-crush/components/CandyItem.js +0 -1
  870. package/lib/module/games/candy-crush/components/GameGrid.js +0 -1
  871. package/lib/module/games/candy-crush/components/ScoreBoard.js +0 -1
  872. package/lib/module/games/car-racing/CarRacingService.js +0 -1
  873. package/lib/module/games/car-racing/CarRacingStore.js +0 -1
  874. package/lib/module/games/car-racing/components/CarComponent.js +0 -1
  875. package/lib/module/games/car-racing/components/GameBackground.js +0 -1
  876. package/lib/module/games/car-racing/components/ScoreBoard.js +0 -1
  877. package/lib/module/games/chameleon-run/ChameleonRunService.js +0 -1
  878. package/lib/module/games/chameleon-run/ChameleonRunStore.js +0 -1
  879. package/lib/module/games/chameleon-run/components/GameArea.js +0 -1
  880. package/lib/module/games/chameleon-run/components/GameBackground.js +0 -1
  881. package/lib/module/games/chameleon-run/components/ScoreBoard.js +0 -1
  882. package/lib/module/games/checkers/CheckersService.js +0 -1
  883. package/lib/module/games/checkers/CheckersStore.js +0 -1
  884. package/lib/module/games/checkers/components/GameBoard.js +0 -1
  885. package/lib/module/games/checkers/components/ScoreBoard.js +0 -1
  886. package/lib/module/games/color-switch/ColorSwitchService.js +0 -1
  887. package/lib/module/games/color-switch/ColorSwitchStore.js +0 -1
  888. package/lib/module/games/color-switch/components/GameArea.js +0 -1
  889. package/lib/module/games/color-switch/components/ScoreBoard.js +0 -1
  890. package/lib/module/games/colors-sort/ColorsSortService.js +0 -1
  891. package/lib/module/games/colors-sort/ColorsSortStore.js +0 -1
  892. package/lib/module/games/colors-sort/components/ColorContainer.js +0 -1
  893. package/lib/module/games/colors-sort/components/ScoreBoard.js +0 -1
  894. package/lib/module/games/connect-em-all/ConnectEmAllService.js +0 -1
  895. package/lib/module/games/connect-em-all/ConnectEmAllStore.js +0 -1
  896. package/lib/module/games/connect-em-all/components/GameBoard.js +0 -1
  897. package/lib/module/games/connect-em-all/components/ScoreBoard.js +0 -1
  898. package/lib/module/games/crossy-road/CrossyRoadService.js +0 -1
  899. package/lib/module/games/crossy-road/CrossyRoadStore.js +0 -1
  900. package/lib/module/games/crossy-road/components/GameArea.js +0 -1
  901. package/lib/module/games/crossy-road/components/ScoreBoard.js +0 -1
  902. package/lib/module/games/dino-jump/DinoJumpService.js +0 -1
  903. package/lib/module/games/dino-jump/DinoJumpStore.js +0 -1
  904. package/lib/module/games/dino-jump/components/DinoSprite.js +0 -1
  905. package/lib/module/games/dino-jump/components/GameArea.js +0 -1
  906. package/lib/module/games/dino-jump/components/GameBackground.js +0 -1
  907. package/lib/module/games/dino-jump/components/ObstacleSprite.js +0 -1
  908. package/lib/module/games/dino-jump/components/ScoreBoard.js +0 -1
  909. package/lib/module/games/dino-jump/components/StarSprite.js +0 -1
  910. package/lib/module/games/dots-and-boxes/DotsAndBoxesService.js +0 -1
  911. package/lib/module/games/dots-and-boxes/DotsAndBoxesStore.js +0 -1
  912. package/lib/module/games/dots-and-boxes/components/GameBoard.js +0 -1
  913. package/lib/module/games/dots-and-boxes/components/ScoreBoard.js +0 -1
  914. package/lib/module/games/falling-sticks/FallingSticksService.js +0 -1
  915. package/lib/module/games/falling-sticks/FallingSticksStore.js +0 -1
  916. package/lib/module/games/falling-sticks/components/GameArea.js +0 -1
  917. package/lib/module/games/falling-sticks/components/GameBackground.js +0 -1
  918. package/lib/module/games/falling-sticks/components/ScoreBoard.js +0 -1
  919. package/lib/module/games/find-different-number/FindDifferentNumberService.js +0 -1
  920. package/lib/module/games/find-different-number/FindDifferentNumberStore.js +0 -1
  921. package/lib/module/games/find-different-number/components/GameGrid.js +0 -1
  922. package/lib/module/games/find-different-number/components/ScoreBoard.js +0 -1
  923. package/lib/module/games/flappy-bird/FlappyBirdStore.js +0 -1
  924. package/lib/module/games/flappy-bird/components/Bird.js +0 -1
  925. package/lib/module/games/flappy-bird/components/GameArea.js +0 -1
  926. package/lib/module/games/flappy-bird/components/GameBackground.js +0 -1
  927. package/lib/module/games/flappy-bird/components/Pipes.js +0 -1
  928. package/lib/module/games/flappy-bird/components/ScoreBoard.js +0 -1
  929. package/lib/module/games/fruit-merger/FruitMergerService.js +0 -1
  930. package/lib/module/games/fruit-merger/FruitMergerStore.js +0 -1
  931. package/lib/module/games/fruit-merger/components/FruitItem.js +0 -1
  932. package/lib/module/games/fruit-merger/components/GameArea.js +0 -1
  933. package/lib/module/games/fruit-merger/components/ScoreBoard.js +0 -1
  934. package/lib/module/games/fruit-ninja/FruitNinjaService.js +0 -1
  935. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +0 -1
  936. package/lib/module/games/fruit-ninja/components/FruitComponent.js +0 -1
  937. package/lib/module/games/fruit-ninja/components/GameArea.js +0 -1
  938. package/lib/module/games/fruit-ninja/components/GameBackground.js +0 -1
  939. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +0 -1
  940. package/lib/module/games/game-2048/Game2048Service.js +0 -1
  941. package/lib/module/games/game-2048/Game2048Store.js +0 -1
  942. package/lib/module/games/game-2048/components/GameGrid.js +0 -1
  943. package/lib/module/games/game-2048/components/ScoreBoard.js +0 -1
  944. package/lib/module/games/knife-hit/KnifeHitService.js +0 -1
  945. package/lib/module/games/knife-hit/KnifeHitStore.js +0 -1
  946. package/lib/module/games/knife-hit/components/GameArea.js +0 -1
  947. package/lib/module/games/knife-hit/components/ScoreBoard.js +0 -1
  948. package/lib/module/games/ludo-king/LudoKingService.js +0 -1
  949. package/lib/module/games/ludo-king/LudoKingStore.js +0 -1
  950. package/lib/module/games/ludo-king/components/Dice.js +0 -1
  951. package/lib/module/games/ludo-king/components/GameBoard.js +0 -1
  952. package/lib/module/games/ludo-king/components/ScoreBoard.js +0 -1
  953. package/lib/module/games/maze-runner/MazeRunnerStore.js +0 -1
  954. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +0 -1
  955. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +0 -1
  956. package/lib/module/games/maze-runner/components/ScoreBoard.js +0 -1
  957. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +0 -1
  958. package/lib/module/games/maze-runner/components/WallComponent.js +0 -1
  959. package/lib/module/games/memory-match/MemoryMatchService.js +0 -1
  960. package/lib/module/games/memory-match/MemoryMatchStore.js +0 -1
  961. package/lib/module/games/memory-match/components/Card.js +0 -1
  962. package/lib/module/games/memory-match/components/GameBoard.js +0 -1
  963. package/lib/module/games/memory-match/components/ScoreBoard.js +0 -1
  964. package/lib/module/games/mine-sweeper/MineSweeperService.js +0 -1
  965. package/lib/module/games/mine-sweeper/MineSweeperStore.js +0 -1
  966. package/lib/module/games/mine-sweeper/components/GameArea.js +0 -1
  967. package/lib/module/games/mine-sweeper/components/ScoreBoard.js +0 -1
  968. package/lib/module/games/mob-control/MobControlService.js +0 -1
  969. package/lib/module/games/mob-control/MobControlStore.js +0 -1
  970. package/lib/module/games/mob-control/components/GameArea.js +0 -1
  971. package/lib/module/games/mob-control/components/ScoreBoard.js +0 -1
  972. package/lib/module/games/number-search/NumberSearchConstants.js +0 -1
  973. package/lib/module/games/number-search/NumberSearchService.js +0 -1
  974. package/lib/module/games/number-search/NumberSearchStore.js +0 -1
  975. package/lib/module/games/number-search/components/GameBoard.js +0 -1
  976. package/lib/module/games/number-search/components/NumberList.js +0 -1
  977. package/lib/module/games/number-search/components/ScoreBoard.js +0 -1
  978. package/lib/module/games/nuts-and-bolts/NutsAndBoltsService.js +0 -1
  979. package/lib/module/games/nuts-and-bolts/NutsAndBoltsStore.js +0 -1
  980. package/lib/module/games/nuts-and-bolts/components/GameBoard.js +0 -1
  981. package/lib/module/games/nuts-and-bolts/components/ScoreBoard.js +0 -1
  982. package/lib/module/games/pac-man/PacManService.js +0 -1
  983. package/lib/module/games/pac-man/PacManStore.js +0 -1
  984. package/lib/module/games/pac-man/components/GameCanvas.js +0 -1
  985. package/lib/module/games/pac-man/components/ScoreBoard.js +0 -1
  986. package/lib/module/games/paper-io/PaperIoService.js +0 -1
  987. package/lib/module/games/paper-io/PaperIoStore.js +0 -1
  988. package/lib/module/games/paper-io/components/GameArea.js +0 -1
  989. package/lib/module/games/paper-io/components/ScoreBoard.js +0 -1
  990. package/lib/module/games/perfect-circle/PerfectCircleService.js +0 -1
  991. package/lib/module/games/perfect-circle/PerfectCircleStore.js +0 -1
  992. package/lib/module/games/perfect-circle/components/DrawingCanvas.js +0 -1
  993. package/lib/module/games/perfect-circle/components/ScoreBoard.js +0 -1
  994. package/lib/module/games/pipe-connect/PipeConnectService.js +0 -1
  995. package/lib/module/games/pipe-connect/PipeConnectStore.js +0 -1
  996. package/lib/module/games/pipe-connect/components/GameArea.js +0 -1
  997. package/lib/module/games/pipe-connect/components/ScoreBoard.js +0 -1
  998. package/lib/module/games/popit-fidget/PopitFidgetService.js +0 -1
  999. package/lib/module/games/popit-fidget/PopitFidgetStore.js +0 -1
  1000. package/lib/module/games/popit-fidget/components/BubbleComponent.js +0 -1
  1001. package/lib/module/games/popit-fidget/components/FidgetGrid.js +0 -1
  1002. package/lib/module/games/popit-fidget/components/ScoreBoard.js +0 -1
  1003. package/lib/module/games/reversi/ReversiStore.js +0 -1
  1004. package/lib/module/games/reversi/components/GameBoard.js +0 -1
  1005. package/lib/module/games/reversi/components/ScoreBoard.js +0 -1
  1006. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +0 -1
  1007. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +0 -1
  1008. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +0 -1
  1009. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +0 -1
  1010. package/lib/module/games/snake-3d/Snake3DService.js +0 -1
  1011. package/lib/module/games/snake-3d/Snake3DStore.js +0 -1
  1012. package/lib/module/games/snake-3d/components/GameGrid.js +0 -1
  1013. package/lib/module/games/snake-3d/components/ScoreBoard.js +0 -1
  1014. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersService.js +0 -1
  1015. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersStore.js +0 -1
  1016. package/lib/module/games/snakes-and-ladders/components/Dice.js +0 -1
  1017. package/lib/module/games/snakes-and-ladders/components/GameBoard.js +0 -1
  1018. package/lib/module/games/snakes-and-ladders/components/ScoreBoard.js +0 -1
  1019. package/lib/module/games/space-fighter/SpaceFighterService.js +0 -1
  1020. package/lib/module/games/space-fighter/SpaceFighterStore.js +0 -1
  1021. package/lib/module/games/space-fighter/components/AsteroidComponent.js +0 -1
  1022. package/lib/module/games/space-fighter/components/GameArea.js +0 -1
  1023. package/lib/module/games/space-fighter/components/GameBackground.js +0 -1
  1024. package/lib/module/games/space-fighter/components/ScoreBoard.js +0 -1
  1025. package/lib/module/games/space-fighter/components/Spacecraft3D.js +0 -1
  1026. package/lib/module/games/space-fighter/components/SpacecraftPath.js +0 -1
  1027. package/lib/module/games/spider-solitaire/SpiderSolitaireService.js +0 -1
  1028. package/lib/module/games/spider-solitaire/SpiderSolitaireStore.js +0 -1
  1029. package/lib/module/games/spider-solitaire/components/Card.js +0 -1
  1030. package/lib/module/games/spider-solitaire/components/CardPile.js +0 -1
  1031. package/lib/module/games/spider-solitaire/components/ScoreBoard.js +0 -1
  1032. package/lib/module/games/stack-tower/StackTowerService.js +0 -1
  1033. package/lib/module/games/stack-tower/StackTowerStore.js +0 -1
  1034. package/lib/module/games/stack-tower/components/GameArea.js +0 -1
  1035. package/lib/module/games/stack-tower/components/ScoreBoard.js +0 -1
  1036. package/lib/module/games/sudoku/SudokuService.js +0 -1
  1037. package/lib/module/games/sudoku/SudokuStore.js +0 -1
  1038. package/lib/module/games/sudoku/components/GameArea.js +0 -1
  1039. package/lib/module/games/sudoku/components/ScoreBoard.js +0 -1
  1040. package/lib/module/games/tangram/TangramService.js +0 -1
  1041. package/lib/module/games/tangram/TangramStore.js +0 -1
  1042. package/lib/module/games/tangram/components/GameBoard.js +0 -1
  1043. package/lib/module/games/tangram/components/ScoreBoard.js +0 -1
  1044. package/lib/module/games/tank-1990/Tank1990Service.js +0 -1
  1045. package/lib/module/games/tank-1990/Tank1990Store.js +0 -1
  1046. package/lib/module/games/tank-1990/components/Controls.js +0 -1
  1047. package/lib/module/games/tank-1990/components/GameBoard.js +0 -1
  1048. package/lib/module/games/tank-1990/components/ScoreBoard.js +0 -1
  1049. package/lib/module/games/tic-tac-toe/TicTacToeService.js +0 -1
  1050. package/lib/module/games/tic-tac-toe/TicTacToeStore.js +0 -1
  1051. package/lib/module/games/tic-tac-toe/components/GameBoard.js +0 -1
  1052. package/lib/module/games/tic-tac-toe/components/ScoreBoard.js +0 -1
  1053. package/lib/module/games/tile-home/TileHomeService.js +0 -1
  1054. package/lib/module/games/tile-home/TileHomeStore.js +0 -1
  1055. package/lib/module/games/tile-home/components/AnimatingTile.js +0 -1
  1056. package/lib/module/games/tile-home/components/FlyingTile.js +0 -1
  1057. package/lib/module/games/tile-home/components/GameBoard.js +0 -1
  1058. package/lib/module/games/tile-home/components/ScoreBoard.js +0 -1
  1059. package/lib/module/games/tile-home/components/TileItem.js +0 -1
  1060. package/lib/module/games/tile-home/components/TileSlot.js +0 -1
  1061. package/lib/module/games/whack-a-mole/WhackAMoleService.js +0 -1
  1062. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +0 -1
  1063. package/lib/module/games/whack-a-mole/components/GameBackground.js +0 -1
  1064. package/lib/module/games/whack-a-mole/components/GameGrid.js +0 -1
  1065. package/lib/module/games/whack-a-mole/components/GameHole.js +0 -1
  1066. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +0 -1
  1067. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +0 -1
  1068. package/lib/module/games/word-search/WordSearchConstants.js +0 -1
  1069. package/lib/module/games/word-search/WordSearchService.js +0 -1
  1070. package/lib/module/games/word-search/WordSearchStore.js +0 -1
  1071. package/lib/module/games/word-search/components/GameBoard.js +0 -1
  1072. package/lib/module/games/word-search/components/ScoreBoard.js +0 -1
  1073. package/lib/module/games/word-search/components/WordList.js +0 -1
  1074. package/lib/module/helpers/AnimatedScore.js +0 -1
  1075. package/lib/module/helpers/AnimationFrame.js +0 -1
  1076. package/lib/module/helpers/AnimationTracker.js +0 -1
  1077. package/lib/module/helpers/BlastAnimation.js +0 -1
  1078. package/lib/module/helpers/ErrorHandler.js +0 -1
  1079. package/lib/module/helpers/GameBackgroundPattern.js +0 -1
  1080. package/lib/module/helpers/GameControlButton.js +0 -1
  1081. package/lib/module/helpers/GameOverModal.js +0 -1
  1082. package/lib/module/helpers/GameTimer.js +0 -1
  1083. package/lib/module/helpers/Icons.js +0 -1
  1084. package/lib/module/helpers/ParticleBlast.js +0 -1
  1085. package/lib/module/helpers/ScoreBoardContainer.js +0 -1
  1086. package/lib/module/helpers/assets/apple-fruit.js +0 -1
  1087. package/lib/module/helpers/assets/avocado-item.js +0 -1
  1088. package/lib/module/helpers/assets/banana-fruit.js +0 -1
  1089. package/lib/module/helpers/assets/bomb-item.js +0 -1
  1090. package/lib/module/helpers/assets/broccoli-item.js +0 -1
  1091. package/lib/module/helpers/assets/cherries-fruit.js +0 -1
  1092. package/lib/module/helpers/assets/donut-item.js +0 -1
  1093. package/lib/module/helpers/assets/dragonfruit-item.js +0 -1
  1094. package/lib/module/helpers/assets/fries-item.js +0 -1
  1095. package/lib/module/helpers/assets/fruit-helpers.js +0 -1
  1096. package/lib/module/helpers/assets/grapes-fruit.js +0 -1
  1097. package/lib/module/helpers/assets/icecream-item.js +0 -1
  1098. package/lib/module/helpers/assets/index.js +0 -1
  1099. package/lib/module/helpers/assets/kiwi-fruit.js +0 -1
  1100. package/lib/module/helpers/assets/mango-fruit.js +0 -1
  1101. package/lib/module/helpers/assets/orange-fruit.js +0 -1
  1102. package/lib/module/helpers/assets/papaya-fruit.js +0 -1
  1103. package/lib/module/helpers/assets/papaya-full-fruit.js +0 -1
  1104. package/lib/module/helpers/assets/peach-fruit.js +0 -1
  1105. package/lib/module/helpers/assets/pineapple-fruit.js +0 -1
  1106. package/lib/module/helpers/assets/pomegranate-fruit.js +0 -1
  1107. package/lib/module/helpers/assets/pumpkin-fruit.js +0 -1
  1108. package/lib/module/helpers/assets/raspberry-item.js +0 -1
  1109. package/lib/module/helpers/assets/star-item.js +0 -1
  1110. package/lib/module/helpers/assets/strawberry-fruit.js +0 -1
  1111. package/lib/module/helpers/assets/watermelon-fruit.js +0 -1
  1112. package/lib/module/types.d.js +0 -1
  1113. package/lib/typescript/src/games/arrows/ArrowsService.d.ts +0 -6
  1114. package/lib/typescript/src/games/arrows/ArrowsStore.d.ts +0 -51
  1115. package/lib/typescript/src/games/arrows/components/ArrowsGrid.d.ts +0 -13
  1116. package/lib/typescript/src/games/arrows/components/ScoreBoard.d.ts +0 -6
  1117. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +0 -80
  1118. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +0 -30
  1119. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts +0 -9
  1120. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +0 -9
  1121. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +0 -7
  1122. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +0 -6
  1123. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +0 -44
  1124. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +0 -68
  1125. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts +0 -12
  1126. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts +0 -7
  1127. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts +0 -6
  1128. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts +0 -16
  1129. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +0 -70
  1130. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +0 -11
  1131. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts +0 -11
  1132. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +0 -8
  1133. package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts +0 -6
  1134. package/lib/typescript/src/games/block-breaker/BlockBreakerService.d.ts +0 -88
  1135. package/lib/typescript/src/games/block-breaker/BlockBreakerStore.d.ts +0 -47
  1136. package/lib/typescript/src/games/block-breaker/components/BlastAnimation.d.ts +0 -15
  1137. package/lib/typescript/src/games/block-breaker/components/GameArea.d.ts +0 -8
  1138. package/lib/typescript/src/games/block-breaker/components/ScoreBoard.d.ts +0 -6
  1139. package/lib/typescript/src/games/bluk/BlukService.d.ts +0 -71
  1140. package/lib/typescript/src/games/bluk/BlukStore.d.ts +0 -52
  1141. package/lib/typescript/src/games/bluk/components/GameArea.d.ts +0 -17
  1142. package/lib/typescript/src/games/bluk/components/GameBackground.d.ts +0 -9
  1143. package/lib/typescript/src/games/bluk/components/ScoreBoard.d.ts +0 -6
  1144. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +0 -35
  1145. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +0 -63
  1146. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts +0 -8
  1147. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts +0 -6
  1148. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +0 -37
  1149. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +0 -53
  1150. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +0 -11
  1151. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +0 -2
  1152. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +0 -5
  1153. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +0 -44
  1154. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +0 -68
  1155. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +0 -12
  1156. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts +0 -7
  1157. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts +0 -6
  1158. package/lib/typescript/src/games/chameleon-run/ChameleonRunService.d.ts +0 -76
  1159. package/lib/typescript/src/games/chameleon-run/ChameleonRunStore.d.ts +0 -48
  1160. package/lib/typescript/src/games/chameleon-run/components/GameArea.d.ts +0 -8
  1161. package/lib/typescript/src/games/chameleon-run/components/GameBackground.d.ts +0 -7
  1162. package/lib/typescript/src/games/chameleon-run/components/ScoreBoard.d.ts +0 -6
  1163. package/lib/typescript/src/games/checkers/CheckersService.d.ts +0 -6
  1164. package/lib/typescript/src/games/checkers/CheckersStore.d.ts +0 -48
  1165. package/lib/typescript/src/games/checkers/components/GameBoard.d.ts +0 -6
  1166. package/lib/typescript/src/games/checkers/components/ScoreBoard.d.ts +0 -6
  1167. package/lib/typescript/src/games/color-switch/ColorSwitchService.d.ts +0 -63
  1168. package/lib/typescript/src/games/color-switch/ColorSwitchStore.d.ts +0 -43
  1169. package/lib/typescript/src/games/color-switch/components/GameArea.d.ts +0 -8
  1170. package/lib/typescript/src/games/color-switch/components/ScoreBoard.d.ts +0 -6
  1171. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts +0 -61
  1172. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +0 -56
  1173. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +0 -7
  1174. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts +0 -6
  1175. package/lib/typescript/src/games/connect-em-all/ConnectEmAllService.d.ts +0 -20
  1176. package/lib/typescript/src/games/connect-em-all/ConnectEmAllStore.d.ts +0 -48
  1177. package/lib/typescript/src/games/connect-em-all/components/GameBoard.d.ts +0 -7
  1178. package/lib/typescript/src/games/connect-em-all/components/ScoreBoard.d.ts +0 -6
  1179. package/lib/typescript/src/games/crossy-road/CrossyRoadService.d.ts +0 -89
  1180. package/lib/typescript/src/games/crossy-road/CrossyRoadStore.d.ts +0 -39
  1181. package/lib/typescript/src/games/crossy-road/components/GameArea.d.ts +0 -8
  1182. package/lib/typescript/src/games/crossy-road/components/ScoreBoard.d.ts +0 -6
  1183. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +0 -39
  1184. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +0 -97
  1185. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +0 -2
  1186. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +0 -7
  1187. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +0 -7
  1188. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +0 -8
  1189. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +0 -6
  1190. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +0 -2
  1191. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesService.d.ts +0 -45
  1192. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesStore.d.ts +0 -37
  1193. package/lib/typescript/src/games/dots-and-boxes/components/GameBoard.d.ts +0 -7
  1194. package/lib/typescript/src/games/dots-and-boxes/components/ScoreBoard.d.ts +0 -6
  1195. package/lib/typescript/src/games/falling-sticks/FallingSticksService.d.ts +0 -40
  1196. package/lib/typescript/src/games/falling-sticks/FallingSticksStore.d.ts +0 -31
  1197. package/lib/typescript/src/games/falling-sticks/components/GameArea.d.ts +0 -7
  1198. package/lib/typescript/src/games/falling-sticks/components/GameBackground.d.ts +0 -6
  1199. package/lib/typescript/src/games/falling-sticks/components/ScoreBoard.d.ts +0 -6
  1200. package/lib/typescript/src/games/find-different-number/FindDifferentNumberService.d.ts +0 -6
  1201. package/lib/typescript/src/games/find-different-number/FindDifferentNumberStore.d.ts +0 -36
  1202. package/lib/typescript/src/games/find-different-number/components/GameGrid.d.ts +0 -7
  1203. package/lib/typescript/src/games/find-different-number/components/ScoreBoard.d.ts +0 -6
  1204. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +0 -68
  1205. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +0 -2
  1206. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +0 -7
  1207. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +0 -7
  1208. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +0 -8
  1209. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +0 -6
  1210. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +0 -3
  1211. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +0 -66
  1212. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +0 -8
  1213. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +0 -8
  1214. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +0 -6
  1215. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +0 -73
  1216. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +0 -38
  1217. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts +0 -8
  1218. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts +0 -7
  1219. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts +0 -7
  1220. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +0 -6
  1221. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +0 -102
  1222. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +0 -44
  1223. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +0 -2
  1224. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +0 -6
  1225. package/lib/typescript/src/games/knife-hit/KnifeHitService.d.ts +0 -48
  1226. package/lib/typescript/src/games/knife-hit/KnifeHitStore.d.ts +0 -41
  1227. package/lib/typescript/src/games/knife-hit/components/GameArea.d.ts +0 -8
  1228. package/lib/typescript/src/games/knife-hit/components/ScoreBoard.d.ts +0 -6
  1229. package/lib/typescript/src/games/ludo-king/LudoKingService.d.ts +0 -33
  1230. package/lib/typescript/src/games/ludo-king/LudoKingStore.d.ts +0 -34
  1231. package/lib/typescript/src/games/ludo-king/components/Dice.d.ts +0 -7
  1232. package/lib/typescript/src/games/ludo-king/components/GameBoard.d.ts +0 -7
  1233. package/lib/typescript/src/games/ludo-king/components/ScoreBoard.d.ts +0 -6
  1234. package/lib/typescript/src/games/maze-runner/MazeRunnerStore.d.ts +0 -62
  1235. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +0 -10
  1236. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts +0 -33
  1237. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +0 -24
  1238. package/lib/typescript/src/games/maze-runner/components/SkiaPipeComponent.d.ts +0 -24
  1239. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +0 -9
  1240. package/lib/typescript/src/games/memory-match/MemoryMatchService.d.ts +0 -6
  1241. package/lib/typescript/src/games/memory-match/MemoryMatchStore.d.ts +0 -42
  1242. package/lib/typescript/src/games/memory-match/components/Card.d.ts +0 -6
  1243. package/lib/typescript/src/games/memory-match/components/GameBoard.d.ts +0 -6
  1244. package/lib/typescript/src/games/memory-match/components/ScoreBoard.d.ts +0 -6
  1245. package/lib/typescript/src/games/mine-sweeper/MineSweeperService.d.ts +0 -22
  1246. package/lib/typescript/src/games/mine-sweeper/MineSweeperStore.d.ts +0 -73
  1247. package/lib/typescript/src/games/mine-sweeper/components/GameArea.d.ts +0 -8
  1248. package/lib/typescript/src/games/mine-sweeper/components/ScoreBoard.d.ts +0 -6
  1249. package/lib/typescript/src/games/mob-control/MobControlService.d.ts +0 -74
  1250. package/lib/typescript/src/games/mob-control/MobControlStore.d.ts +0 -66
  1251. package/lib/typescript/src/games/mob-control/components/GameArea.d.ts +0 -11
  1252. package/lib/typescript/src/games/mob-control/components/ScoreBoard.d.ts +0 -6
  1253. package/lib/typescript/src/games/number-search/NumberSearchConstants.d.ts +0 -63
  1254. package/lib/typescript/src/games/number-search/NumberSearchService.d.ts +0 -34
  1255. package/lib/typescript/src/games/number-search/NumberSearchStore.d.ts +0 -70
  1256. package/lib/typescript/src/games/number-search/components/GameBoard.d.ts +0 -7
  1257. package/lib/typescript/src/games/number-search/components/NumberList.d.ts +0 -2
  1258. package/lib/typescript/src/games/number-search/components/ScoreBoard.d.ts +0 -6
  1259. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsService.d.ts +0 -67
  1260. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsStore.d.ts +0 -45
  1261. package/lib/typescript/src/games/nuts-and-bolts/components/GameBoard.d.ts +0 -7
  1262. package/lib/typescript/src/games/nuts-and-bolts/components/ScoreBoard.d.ts +0 -6
  1263. package/lib/typescript/src/games/pac-man/PacManService.d.ts +0 -73
  1264. package/lib/typescript/src/games/pac-man/PacManStore.d.ts +0 -89
  1265. package/lib/typescript/src/games/pac-man/components/GameCanvas.d.ts +0 -2
  1266. package/lib/typescript/src/games/pac-man/components/ScoreBoard.d.ts +0 -6
  1267. package/lib/typescript/src/games/paper-io/PaperIoService.d.ts +0 -70
  1268. package/lib/typescript/src/games/paper-io/PaperIoStore.d.ts +0 -51
  1269. package/lib/typescript/src/games/paper-io/components/GameArea.d.ts +0 -8
  1270. package/lib/typescript/src/games/paper-io/components/ScoreBoard.d.ts +0 -6
  1271. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +0 -15
  1272. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +0 -55
  1273. package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts +0 -8
  1274. package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts +0 -6
  1275. package/lib/typescript/src/games/pipe-connect/PipeConnectService.d.ts +0 -17
  1276. package/lib/typescript/src/games/pipe-connect/PipeConnectStore.d.ts +0 -31
  1277. package/lib/typescript/src/games/pipe-connect/components/GameArea.d.ts +0 -7
  1278. package/lib/typescript/src/games/pipe-connect/components/ScoreBoard.d.ts +0 -6
  1279. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +0 -30
  1280. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +0 -33
  1281. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts +0 -10
  1282. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts +0 -10
  1283. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +0 -6
  1284. package/lib/typescript/src/games/reversi/ReversiStore.d.ts +0 -46
  1285. package/lib/typescript/src/games/reversi/components/GameBoard.d.ts +0 -6
  1286. package/lib/typescript/src/games/reversi/components/ScoreBoard.d.ts +0 -6
  1287. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +0 -6
  1288. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +0 -38
  1289. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +0 -7
  1290. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +0 -6
  1291. package/lib/typescript/src/games/snake-3d/Snake3DService.d.ts +0 -29
  1292. package/lib/typescript/src/games/snake-3d/Snake3DStore.d.ts +0 -49
  1293. package/lib/typescript/src/games/snake-3d/components/GameGrid.d.ts +0 -2
  1294. package/lib/typescript/src/games/snake-3d/components/ScoreBoard.d.ts +0 -6
  1295. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersService.d.ts +0 -22
  1296. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersStore.d.ts +0 -40
  1297. package/lib/typescript/src/games/snakes-and-ladders/components/Dice.d.ts +0 -7
  1298. package/lib/typescript/src/games/snakes-and-ladders/components/GameBoard.d.ts +0 -2
  1299. package/lib/typescript/src/games/snakes-and-ladders/components/ScoreBoard.d.ts +0 -6
  1300. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts +0 -117
  1301. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts +0 -54
  1302. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts +0 -9
  1303. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts +0 -9
  1304. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts +0 -6
  1305. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +0 -6
  1306. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts +0 -11
  1307. package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts +0 -9
  1308. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireService.d.ts +0 -23
  1309. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireStore.d.ts +0 -71
  1310. package/lib/typescript/src/games/spider-solitaire/components/Card.d.ts +0 -10
  1311. package/lib/typescript/src/games/spider-solitaire/components/CardPile.d.ts +0 -12
  1312. package/lib/typescript/src/games/spider-solitaire/components/ScoreBoard.d.ts +0 -6
  1313. package/lib/typescript/src/games/stack-tower/StackTowerService.d.ts +0 -51
  1314. package/lib/typescript/src/games/stack-tower/StackTowerStore.d.ts +0 -52
  1315. package/lib/typescript/src/games/stack-tower/components/GameArea.d.ts +0 -8
  1316. package/lib/typescript/src/games/stack-tower/components/ScoreBoard.d.ts +0 -6
  1317. package/lib/typescript/src/games/sudoku/SudokuService.d.ts +0 -24
  1318. package/lib/typescript/src/games/sudoku/SudokuStore.d.ts +0 -65
  1319. package/lib/typescript/src/games/sudoku/components/GameArea.d.ts +0 -8
  1320. package/lib/typescript/src/games/sudoku/components/ScoreBoard.d.ts +0 -6
  1321. package/lib/typescript/src/games/tangram/TangramService.d.ts +0 -6
  1322. package/lib/typescript/src/games/tangram/TangramStore.d.ts +0 -34
  1323. package/lib/typescript/src/games/tangram/components/GameBoard.d.ts +0 -7
  1324. package/lib/typescript/src/games/tangram/components/ScoreBoard.d.ts +0 -6
  1325. package/lib/typescript/src/games/tank-1990/Tank1990Service.d.ts +0 -80
  1326. package/lib/typescript/src/games/tank-1990/Tank1990Store.d.ts +0 -48
  1327. package/lib/typescript/src/games/tank-1990/components/Controls.d.ts +0 -2
  1328. package/lib/typescript/src/games/tank-1990/components/GameBoard.d.ts +0 -2
  1329. package/lib/typescript/src/games/tank-1990/components/ScoreBoard.d.ts +0 -6
  1330. package/lib/typescript/src/games/tic-tac-toe/TicTacToeService.d.ts +0 -0
  1331. package/lib/typescript/src/games/tic-tac-toe/TicTacToeStore.d.ts +0 -51
  1332. package/lib/typescript/src/games/tic-tac-toe/components/GameBoard.d.ts +0 -6
  1333. package/lib/typescript/src/games/tic-tac-toe/components/ScoreBoard.d.ts +0 -6
  1334. package/lib/typescript/src/games/tile-home/TileHomeService.d.ts +0 -1
  1335. package/lib/typescript/src/games/tile-home/TileHomeStore.d.ts +0 -57
  1336. package/lib/typescript/src/games/tile-home/components/AnimatingTile.d.ts +0 -9
  1337. package/lib/typescript/src/games/tile-home/components/FlyingTile.d.ts +0 -16
  1338. package/lib/typescript/src/games/tile-home/components/GameBoard.d.ts +0 -7
  1339. package/lib/typescript/src/games/tile-home/components/ScoreBoard.d.ts +0 -6
  1340. package/lib/typescript/src/games/tile-home/components/TileItem.d.ts +0 -11
  1341. package/lib/typescript/src/games/tile-home/components/TileSlot.d.ts +0 -7
  1342. package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts +0 -32
  1343. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts +0 -39
  1344. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts +0 -7
  1345. package/lib/typescript/src/games/whack-a-mole/components/GameGrid.d.ts +0 -10
  1346. package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts +0 -11
  1347. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts +0 -6
  1348. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts +0 -6
  1349. package/lib/typescript/src/games/word-search/WordSearchConstants.d.ts +0 -63
  1350. package/lib/typescript/src/games/word-search/WordSearchService.d.ts +0 -34
  1351. package/lib/typescript/src/games/word-search/WordSearchStore.d.ts +0 -70
  1352. package/lib/typescript/src/games/word-search/components/GameBoard.d.ts +0 -7
  1353. package/lib/typescript/src/games/word-search/components/ScoreBoard.d.ts +0 -6
  1354. package/lib/typescript/src/games/word-search/components/WordList.d.ts +0 -2
  1355. package/lib/typescript/src/helpers/AnimatedScore.d.ts +0 -36
  1356. package/lib/typescript/src/helpers/AnimationFrame.d.ts +0 -40
  1357. package/lib/typescript/src/helpers/AnimationTracker.d.ts +0 -44
  1358. package/lib/typescript/src/helpers/BlastAnimation.d.ts +0 -16
  1359. package/lib/typescript/src/helpers/ErrorHandler.d.ts +0 -123
  1360. package/lib/typescript/src/helpers/GameBackgroundPattern.d.ts +0 -7
  1361. package/lib/typescript/src/helpers/GameControlButton.d.ts +0 -11
  1362. package/lib/typescript/src/helpers/GameOverModal.d.ts +0 -15
  1363. package/lib/typescript/src/helpers/GameTimer.d.ts +0 -26
  1364. package/lib/typescript/src/helpers/Icons.d.ts +0 -12
  1365. package/lib/typescript/src/helpers/ParticleBlast.d.ts +0 -11
  1366. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts +0 -85
  1367. package/lib/typescript/src/helpers/assets/apple-fruit.d.ts +0 -4
  1368. package/lib/typescript/src/helpers/assets/avocado-item.d.ts +0 -4
  1369. package/lib/typescript/src/helpers/assets/banana-fruit.d.ts +0 -4
  1370. package/lib/typescript/src/helpers/assets/bomb-item.d.ts +0 -4
  1371. package/lib/typescript/src/helpers/assets/broccoli-item.d.ts +0 -4
  1372. package/lib/typescript/src/helpers/assets/cherries-fruit.d.ts +0 -4
  1373. package/lib/typescript/src/helpers/assets/donut-item.d.ts +0 -4
  1374. package/lib/typescript/src/helpers/assets/dragonfruit-item.d.ts +0 -4
  1375. package/lib/typescript/src/helpers/assets/fries-item.d.ts +0 -4
  1376. package/lib/typescript/src/helpers/assets/fruit-helpers.d.ts +0 -154
  1377. package/lib/typescript/src/helpers/assets/grapes-fruit.d.ts +0 -4
  1378. package/lib/typescript/src/helpers/assets/icecream-item.d.ts +0 -4
  1379. package/lib/typescript/src/helpers/assets/index.d.ts +0 -31
  1380. package/lib/typescript/src/helpers/assets/kiwi-fruit.d.ts +0 -4
  1381. package/lib/typescript/src/helpers/assets/mango-fruit.d.ts +0 -4
  1382. package/lib/typescript/src/helpers/assets/orange-fruit.d.ts +0 -4
  1383. package/lib/typescript/src/helpers/assets/papaya-fruit.d.ts +0 -4
  1384. package/lib/typescript/src/helpers/assets/papaya-full-fruit.d.ts +0 -4
  1385. package/lib/typescript/src/helpers/assets/peach-fruit.d.ts +0 -4
  1386. package/lib/typescript/src/helpers/assets/pineapple-fruit.d.ts +0 -4
  1387. package/lib/typescript/src/helpers/assets/pomegranate-fruit.d.ts +0 -4
  1388. package/lib/typescript/src/helpers/assets/pumpkin-fruit.d.ts +0 -4
  1389. package/lib/typescript/src/helpers/assets/raspberry-item.d.ts +0 -4
  1390. package/lib/typescript/src/helpers/assets/star-item.d.ts +0 -4
  1391. package/lib/typescript/src/helpers/assets/strawberry-fruit.d.ts +0 -4
  1392. package/lib/typescript/src/helpers/assets/watermelon-fruit.d.ts +0 -4
@@ -0,0 +1 @@
1
+ import{No,pt,$e,x,Ze,mt,U,V,z,Qe,en,N}from"./chunk-52ez2s9z.js";N();export{mt as advanceHuman,No as loadHumanAssets,Qe as placeContactShadow,$e as placeHuman,V as placeRobot,x as playHuman,Ze as resetHuman,z as spawnContactShadow,pt as spawnHuman,U as spawnRobot,en as warmAssets};
@@ -0,0 +1,2 @@
1
+ import{ot,L,Ke,wo,I,k,p,h,t,l,g,c,C,D,i,E,a,s,Jr,v,ut,W,bt,Y,yt,K,Et,X,St,Tt,xt,j,Rt,Z,Mt,Q,Ct,J,It,ee,gt,te,Dt,oe,Nt,re,Gt,ne,kt,ae,Bt,se,Ft,ie,Ht,le,Wt,ce,Ut,ue,Vt,de,zt,pe,Kt,me,jt,he,$t,be,Zt,ye,Qt,Ee,Jt,Se,eo,_e,to,Te,oo,ve,ro,xe,no,Re,ao,Ae,so,Me,io,Ce,lo,we,co,Le,uo,Ie,po,Oe,mo,Pe,fo,ge,ho,De,bo,Ge,yo,ke,Eo,Be,So,Fe,_o,He,To,We,vo,Ue,xo,Ve,Ro,ze,Ao,qe,Co,Ye}from"./chunk-52ez2s9z.js";ot(import.meta.url,["3sqjqxyn","52ez2s9z","8675t224"],[["./index.js",1],["./chunk-52ez2s9z.js"],["./chunk-8675t224.js",1]],0);
2
+ W();Y();K();X();j();Z();Q();J();ee();te();oe();re();ne();ae();se();ie();le();ce();ue();de();pe();me();he();be();ye();Ee();Se();_e();Te();ve();xe();Re();Ae();Me();Ce();we();Le();Ie();Oe();Pe();ge();De();Ge();ke();Be();Fe();He();We();Ue();Ve();ze();qe();Ye();K();X();j();oe();re();Z();ne();ae();se();Q();Ue();ie();le();ce();te();ue();de();ze();Fe();pe();me();he();be();ye();Ee();Se();Ve();_e();J();Te();ve();xe();ee();Ye();Re();Ae();W();Me();qe();Ce();we();He();Le();Pe();Oe();Ie();We();ge();De();Ge();Y();ke();Be();v();a();var o={"block-blast":{...s["block-blast"],component:Dt},"connect-em-all":{...s["connect-em-all"],component:Wt},"bubble-shooter":{...s["bubble-shooter"],component:Gt},"block-breaker":{...s["block-breaker"],component:Nt},"tile-home":{...s["tile-home"],component:bo},"fruit-merger":{...s["fruit-merger"],component:Kt},"fruit-ninja":{...s["fruit-ninja"],component:jt},arrows:{...s["arrows"],component:yt},"flappy-bird":{...s["flappy-bird"],component:zt},"dino-jump":{...s["dino-jump"],component:Ut},"snakes-and-ladders":{...s["snakes-and-ladders"],component:_o},"ludo-king":{...s["ludo-king"],component:Qt},"dots-and-boxes":{...s["dots-and-boxes"],component:Vt},"candy-crush":{...s["candy-crush"],component:kt},"whack-a-mole":{...s["whack-a-mole"],component:yo},"pac-man":{...s["pac-man"],component:ro},"colors-sort":{...s["colors-sort"],component:Ht},"popit-fidget":{...s["popit-fidget"],component:so},"balloon-blaster":{...s["balloon-blaster"],component:Et},"space-fighter":{...s["space-fighter"],component:co},"word-search":{...s["word-search"],component:Eo},"number-search":{...s["number-search"],component:to},"find-different-number":{...s["find-different-number"],component:So},"tank-1990":{...s["tank-1990"],component:fo},"nuts-and-bolts":{...s["nuts-and-bolts"],component:oo},"stack-tower":{...s["stack-tower"],component:po},"pipe-connect":{...s["pipe-connect"],component:ao},"mine-sweeper":{...s["mine-sweeper"],component:eo},"knife-hit":{...s["knife-hit"],component:Zt},"color-switch":{...s["color-switch"],component:Ft},"spider-solitaire":{...s["spider-solitaire"],component:mo},"maze-runner":{...s["maze-runner"],component:Jt},"tic-tac-toe":{...s["tic-tac-toe"],component:ho},"car-racing":{...s["car-racing"],component:Bt},"bike-racing":{...s["bike-racing"],component:xt},"play-with-tua":{...s["play-with-tua"],component:ut},"sliding-numbers":{...s["sliding-numbers"],component:io},"game-2048":{...s["game-2048"],component:$t},sudoku:{...s["sudoku"],component:uo},"snake-3d":{...s["snake-3d"],component:lo},"perfect-circle":{...s["perfect-circle"],component:no},tangram:{...s["tangram"],component:To},checkers:{...s["checkers"],component:vo},"memory-match":{...s["memory-match"],component:xo},"falling-sticks":{...s["falling-sticks"],component:Ro},reversi:{...s["reversi"],component:Ao},"penguin-run":{...s["penguin-run"],component:Co},"treasure-hunt":{...s["treasure-hunt"],component:bt},bluk:{...s["bluk"],component:Rt},"chameleon-run":{...s["chameleon-run"],component:Mt},"mob-control":{...s["mob-control"],component:Ct},"paper-io":{...s["paper-io"],component:It},"crossy-road":{...s["crossy-road"],component:gt}},tr=Object.values(o),er=Object.fromEntries(Object.entries(o).map(([r,{component:m}])=>[r,m]));v();l();a();export{yt as Arrows,Et as BalloonBlaster,xt as BikeRacing,Dt as BlockBlast,Nt as BlockBreaker,Rt as Bluk,Gt as BubbleShooter,kt as CandyCrush,Bt as CarRacing,Mt as ChameleonRun,vo as Checkers,Ft as ColorSwitch,Ht as ColorsSort,Wt as ConnectEmAll,gt as CrossyRoad,D as DEFAULT_GAME_SETTINGS,Ut as DinoJump,Vt as DotsAndBoxes,Ro as FallingSticks,So as FindDifferentNumber,zt as FlappyBird,Kt as FruitMerger,jt as FruitNinja,o as GAMES,tr as GAMES_LIST,er as GAMES_MAPPING,s as GAMES_METADATA,Jr as GAMES_METADATA_LIST,i as GAME_IDS,t as GAME_SOUNDS,$t as Game2048,Zt as KnifeHit,Qt as LudoKing,Jt as MazeRunner,xo as MemoryMatch,eo as MineSweeper,Ct as MobControl,to as NumberSearch,oo as NutsAndBolts,ro as PacMan,It as PaperIo,Co as PenguinRun,no as PerfectCircle,ao as PipeConnect,ut as PlayWithTua,so as PopitFidget,Ao as Reversi,io as SlidingNumbers,lo as Snake3D,_o as SnakesAndLadders,co as SpaceFighter,mo as SpiderSolitaire,po as StackTower,uo as Sudoku,To as Tangram,fo as Tank1990,ho as TicTacToe,bo as TileHome,bt as TreasureHunt,yo as WhackAMole,Eo as WordSearch,E as formatTime,C as getGameDimensions,g as getScreenDimensions,c as isTablet,p as playBankSound,I as playSound,k as playSoundVoice,Tt as preloadBikeRacing,St as preloadCarRacing,Ke as preloadGameSounds,L as preloadSounds,h as stopAllSounds,wo as warmSoundAssets};
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,2 @@
1
+ import{T,r,n,e,ot,L,Ke,wo,I,k,p,h,t,rt,l,S,g,c,C,D,i,E,a,nt,tn,Lo,on,m,Qr,Io,_,B,F,at,Xe,st,Oo,u,s,Jr,v,Po,it,lt,o,je,ct,b,O,y,P,go,H,Do,W,dt,w,Go,N,ft,R,ko,f,ht,q,Bo,Y,Fo,K,Ho,d,Wo,X,_t,A,Uo,G,Vo,Je,zo,vt,qo,j,Yo,Z,Ko,et,Xo,At,jo,Q,$o,J,Zo,wt,Qo,Lt,Jo,ee,er,Ot,tr,Pt,or,te,rr,oe,nr,re,ar,ne,sr,ae,ir,se,lr,ie,cr,le,ur,ce,dr,ue,pr,de,mr,pe,qt,M,fr,Yt,hr,me,br,fe,yr,Xt,Er,he,Sr,be,_r,ye,Tr,Ee,vr,Se,xr,_e,Rr,Te,Ar,ve,Mr,xe,Cr,Re,wr,Ae,Lr,Me,Ir,Ce,Or,we,Pr,Le,gr,Ie,Dr,Oe,Nr,Pe,Gr,ge,kr,De,Br,Ne,Fr,Ge,Hr,ke,Wr,Be,Ur,Fe,Vr,He,zr,We,qr,Ue,Yr,Ve,Kr,ze,Xr,qe,jr,Mo,$r,tt,Zr,Ye}from"./chunk-52ez2s9z.js";ot(import.meta.url,["dfrn1tqx","52ez2s9z","8675t224"],[["./services.js",1],["./chunk-52ez2s9z.js"],["./chunk-8675t224.js",1]],0);
2
+ class Gt{stages;changed;finished;failed;clock;stage=0;iterator;task;cancel;active=!1;busy=!1;disposed=!1;done=!1;constructor(U,x,$e,z,Ze=Zt){this.stages=U;this.changed=x;this.finished=$e;this.failed=z;this.clock=Ze}start(){if(this.disposed||this.done)return;this.active=!0,this.schedule()}pause(){this.active=!1,this.cancel?.(),this.cancel=void 0}dispose(){this.pause(),this.disposed=!0}schedule(){if(!this.active||this.busy||this.cancel||this.disposed||this.done)return;this.cancel=this.clock.afterPaint(()=>{this.cancel=void 0,this.step()})}async step(){if(!this.active||this.disposed)return;this.busy=!0;let U=()=>this.clock.now?.()??performance.now(),x=U();try{for(let $e=0;$e<64&&this.active&&!this.disposed;$e++){let z=this.stages[this.stage];if(!z){this.done=!0,this.active=!1,this.finished();return}if(!this.iterator)this.changed(z.label),this.iterator=z.tasks()[Symbol.iterator]();if(!this.task){let ut=this.iterator.next();if(ut.done){this.iterator=void 0,this.stage++;continue}this.task=ut.value}if(!this.active||this.disposed)break;let Ze=this.task();if(Ze&&typeof Ze.then==="function")await Ze;if(this.task=void 0,U()-x>=4)break}}catch($e){this.reject($e)}finally{this.busy=!1}this.schedule()}reject(U){if(this.busy=!1,this.disposed)return;if(!this.task)this.iterator=void 0;this.pause(),this.failed(U)}}var Zt;var kt=e(()=>{Zt={afterPaint(U){let x,$e=requestAnimationFrame(()=>{x=setTimeout(U,0)});return()=>{if(cancelAnimationFrame($e),x!==void 0)clearTimeout(x)}}}});import*as Qt from"@nayan-ui/engine";function*V(U){let x=[];yield()=>{x=U()},yield*x}function Dt(U,x){let $e=ei[U];return[{label:"Getting ready",*tasks(){if(yield()=>{let z=Qt;if(!z.isEngineAvailable)throw Error("The native game engine is unavailable in this app build");return z.warmUpEngine()},!bt)yield()=>(o(),r(lt)).loadHudFonts(),yield*V(()=>(o(),r(lt)).warmAssets()),yield*V(()=>(f(),r(ko)).warmAssets()),yield()=>{bt=!0}}},{label:"Bringing your world to life",*tasks(){if((l(),r(rt)).preloadGameSounds(U),!gt.has(U)){if($e)yield*$e();yield()=>{gt.add(U)}}if(U==="treasure-hunt")yield*V(()=>(w(),r(dt)).warmNextMap()),yield()=>{let z=(w(),r(dt)).peekNextMap();if(z)(q(),r(ht)).terrainModels(z.landscape.profile)}}},{label:"Adding the finishing touches",*tasks(){let z=`${U}:${x??"classic"}`;if(!It.has(z)){let Ze=m(x);if(["paper-io","tile-home","fruit-merger"].includes(U))yield()=>(u(),r(Oo)).backdropMesh(Ze);if(U==="fruit-ninja")yield*V(()=>(d(),r(Ho)).warmAssets(Ze,["meadow"]));if(U==="chameleon-run")yield*V(()=>(et(),r(Ko)).warmAssets(Ze));if(yield*(l(),r(rt)).warmSoundAssets([U]),U==="treasure-hunt")yield()=>(R(),r(ft)).sounds?.ready;yield()=>{It.add(z)}}}}]}var ei,gt,It,bt=!1,Ut=(U,x)=>gt.has(U)&&It.has(`${U}:${x??"classic"}`)&&U!=="treasure-hunt";var Bt=e(()=>{_();a();ei={"play-with-tua":function*(){yield*V(()=>(H(),r(go)).warmAssets())},"treasure-hunt":function*(){yield*V(()=>(R(),r(ft)).warmAssets()),yield*V(()=>(q(),r(ht)).warmAssets()),yield*V(()=>(N(),r(Go)).warmAssets())},"tile-home":function*(){let{TILE_TYPES:U}=(Ne(),r(Br));yield*V(()=>(M(),r(qt)).warmAssets(U.map((x)=>x.fruit),0.25))},"fruit-merger":function*(){yield*V(()=>(Yt(),r(fr)).warmAssets())},"fruit-ninja":function*(){let{FRUIT_KINDS:U,FRUIT_DETAIL:x}=(fe(),r(br));yield*V(()=>(M(),r(qt)).warmAssets(U,x,!0)),yield*V(()=>(Xt(),r(yr)).warmAssets())},"car-racing":function*(){yield*V(()=>(A(),r(_t)).warmAssets()),yield*V(()=>(Je(),r(Vo)).warmAssets())},"bike-racing":function*(){yield*V(()=>(A(),r(_t)).warmAssets()),yield*V(()=>(G(),r(Uo)).warmAssets()),yield*V(()=>(vt(),r(zo)).warmAssets())},"penguin-run":function*(){yield*V(()=>(Mo(),r(jr)).warmAssets()),yield*V(()=>(tt(),r($r)).warmAssets())},"chameleon-run":function*(){yield*V(()=>(At(),r(Xo)).warmAssets())},"paper-io":function*(){yield*V(()=>(wt(),r(Zo)).warmAssets()),yield*V(()=>(Lt(),r(Qo)).warmAssets())},"crossy-road":function*(){yield*V(()=>(Ot(),r(er)).warmAssets()),yield*V(()=>(Pt(),r(tr)).warmAssets())}},gt=new Set,It=new Set});var Ht={};n(Ht,{withGameLoading:()=>si});import{createElement as ri,memo as ti,useEffect as ii,useRef as Ft,useState as Nt}from"react";import{jsx as Rt,jsxs as ai}from"react/jsx-runtime";function si(U,x){let $e,z=ti(function(ut){let Qe={...D,...ut.settings},[mt,Wt]=Nt(()=>Ut(U,Qe.theme)?$e:void 0),[jt,Jt]=Nt("Getting ready"),[$t,St]=Nt(!1),yt=Ft(null),pt=Ft(!1);ii(()=>{if(mt)return;pt.current=!1,St(!1);let Et=new Gt([...Dt(U,Qe.theme),{label:"Ready for playtime",*tasks(){yield()=>{$e=x()}}}],Jt,()=>Wt(()=>$e),(zt)=>{console.warn(`Unable to load ${U}:`,zt),pt.current=!0,St(!0)});yt.current=Et;let Mt=()=>{if(Tt.AppState.currentState==="active"&&!pt.current)Et.start();else Et.pause()},Vt=Tt.AppState.addEventListener("change",Mt);return Mt(),()=>{Et.dispose(),yt.current=null,Vt.remove()}},[mt,Qe.theme]);let Ct=!mt&&Qe.isVisible?(it(),r(Po)).GameSettingsModal:null;return ai(B,{theme:Qe.theme,children:[Rt(y,{ready:!!mt,loader:Rt(b,{gameId:U,theme:Qe.theme,offset:Qe.offset,visible:!Qe.isVisible,label:jt,error:$t,onRetry:()=>{if(pt.current=!1,St(!1),Tt.AppState.currentState==="active")yt.current?.start()}}),children:mt&&Rt(je.Provider,{value:!0,children:ri(mt,ut)})}),Ct&&Rt(Ct,{gameId:U,settings:Qe,onSettingsChange:ut.onSettingsChange})]})});return z.displayName=`Loading(${U})`,z}var Tt;var xt=e(()=>{F();kt();Bt();a();ct();O();P();Tt=T(S())});v();l();a();a();import*as ni from"@nayan-ui/engine";var oi={"play-with-tua":()=>(W(),r(Do)).PlayWithTua,"treasure-hunt":()=>(Y(),r(Bo)).TreasureHunt,"block-blast":()=>(oe(),r(rr)).BlockBlast,"connect-em-all":()=>(ce(),r(ur)).ConnectEmAll,"bubble-shooter":()=>(ne(),r(ar)).BubbleShooter,"block-breaker":()=>(re(),r(nr)).BlockBreaker,"tile-home":()=>(Ge(),r(Fr)).TileHome,"fruit-merger":()=>(me(),r(hr)).FruitMerger,"fruit-ninja":()=>(he(),r(Er)).FruitNinja,arrows:()=>(K(),r(Fo)).Arrows,"flappy-bird":()=>(pe(),r(mr)).FlappyBird,"dino-jump":()=>(ue(),r(dr)).DinoJump,"snakes-and-ladders":()=>(He(),r(Vr)).SnakesAndLadders,"ludo-king":()=>(Ee(),r(Tr)).LudoKing,"dots-and-boxes":()=>(de(),r(pr)).DotsAndBoxes,"candy-crush":()=>(ae(),r(sr)).CandyCrush,"whack-a-mole":()=>(ke(),r(Hr)).WhackAMole,"pac-man":()=>(xe(),r(Mr)).PacMan,"colors-sort":()=>(le(),r(cr)).ColorsSort,"popit-fidget":()=>(Me(),r(Lr)).PopitFidget,"balloon-blaster":()=>(X(),r(Wo)).BalloonBlaster,"space-fighter":()=>(Le(),r(Pr)).SpaceFighter,"word-search":()=>(Be(),r(Wr)).WordSearch,"number-search":()=>(Te(),r(Rr)).NumberSearch,"find-different-number":()=>(Fe(),r(Ur)).FindDifferentNumber,"tank-1990":()=>(ge(),r(Gr)).Tank1990,"nuts-and-bolts":()=>(ve(),r(Ar)).NutsAndBolts,"stack-tower":()=>(Oe(),r(Dr)).StackTower,"pipe-connect":()=>(Ae(),r(wr)).PipeConnect,"mine-sweeper":()=>(_e(),r(xr)).MineSweeper,"knife-hit":()=>(ye(),r(_r)).KnifeHit,"color-switch":()=>(ie(),r(lr)).ColorSwitch,"spider-solitaire":()=>(Pe(),r(Nr)).SpiderSolitaire,"maze-runner":()=>(Se(),r(vr)).MazeRunner,"tic-tac-toe":()=>(De(),r(kr)).TicTacToe,"car-racing":()=>(se(),r(ir)).CarRacing,"bike-racing":()=>(j(),r(qo)).BikeRacing,"sliding-numbers":()=>(Ce(),r(Ir)).SlidingNumbers,"game-2048":()=>(be(),r(Sr)).Game2048,sudoku:()=>(Ie(),r(gr)).Sudoku,"snake-3d":()=>(we(),r(Or)).Snake3D,"perfect-circle":()=>(Re(),r(Cr)).PerfectCircle,tangram:()=>(We(),r(zr)).Tangram,checkers:()=>(Ue(),r(qr)).Checkers,"memory-match":()=>(Ve(),r(Yr)).MemoryMatch,"falling-sticks":()=>(ze(),r(Kr)).FallingSticks,reversi:()=>(qe(),r(Xr)).Reversi,"penguin-run":()=>(Ye(),r(Zr)).PenguinRun,bluk:()=>(Z(),r(Yo)).Bluk,"chameleon-run":()=>(Q(),r(jo)).ChameleonRun,"mob-control":()=>(J(),r($o)).MobControl,"paper-io":()=>(ee(),r(Jo)).PaperIo,"crossy-road":()=>(te(),r(or)).CrossyRoad},Kt=new Map,qi=(U)=>{if(!U)return null;let x=Kt.get(U);if(x)return x;let $e=oi[U];if(!$e)return null;let z=(xt(),r(Ht)).withGameLoading(U,$e);return Kt.set(U,z),z};function ui(){let{isEngineAvailable:U,warmUpEngine:x}=ni;if(U)x();return U}var Gi=()=>(ui(),()=>{}),gi=(U)=>{},Ii=()=>{},Ni=()=>({running:!1,completed:0,failed:0,complete:!1});st();_();export{tn as DAY_SCENE,D as DEFAULT_GAME_SETTINGS,s as GAMES_METADATA,Jr as GAMES_METADATA_LIST,i as GAME_IDS,t as GAME_SOUNDS,Lo as GAME_THEMES,nt as NIGHT_SCENE,at as PATTERN_GRID_COLOR,Qr as THEMED_GAMES,on as configureGameThemes,E as formatTime,Xe as gamePattern,Ni as getGameAssetWarmupStatus,C as getGameDimensions,g as getScreenDimensions,c as isTablet,Io as isThemedGame,qi as loadGameComponent,Ii as pauseGameAssetWarmup,p as playBankSound,I as playSound,k as playSoundVoice,Ke as preloadGameSounds,L as preloadSounds,gi as prioritizeGameAssets,m as resolveGameTheme,h as stopAllSounds,wo as warmSoundAssets,Gi as warmUpGames};
package/package.json CHANGED
@@ -1,18 +1,25 @@
1
1
  {
2
2
  "name": "@nayan-ui/games",
3
- "version": "1.19.0",
4
- "description": "Free games for your react native projects.",
3
+ "version": "1.21.0",
4
+ "description": "53 ready-made 3D games for React Native apps and React websites, powered by the Nayan engine. One component per game.",
5
5
  "keywords": [
6
+ "3d-games",
6
7
  "android",
8
+ "browser-games",
9
+ "expo",
7
10
  "ios",
8
- "expo-games",
9
11
  "mini-games",
10
- "free-offline-games",
11
- "javascript-games",
12
+ "nayan-ui",
13
+ "nayan-ui-games",
14
+ "puzzle-games",
15
+ "react",
12
16
  "react-games",
17
+ "react-native",
13
18
  "react-native-games",
14
- "nayan ui",
15
- "nayan ui games"
19
+ "react-native-web",
20
+ "web",
21
+ "webassembly",
22
+ "webgpu"
16
23
  ],
17
24
  "homepage": "https://www.nayanui.com/games",
18
25
  "bugs": {
@@ -24,44 +31,60 @@
24
31
  "type": "git",
25
32
  "url": "git+https://github.com/ursnj/nayan-ui.git"
26
33
  },
27
- "workspaces": [
28
- "playtura",
29
- "kidster"
30
- ],
34
+ "source": "./src/index.tsx",
31
35
  "files": [
32
36
  "lib",
33
- "android",
34
- "ios",
35
- "cpp",
36
- "*.podspec",
37
- "react-native.config.js",
38
- "!ios/build",
39
- "!android/build",
40
- "!android/gradle",
41
- "!android/gradlew",
42
- "!android/gradlew.bat",
43
- "!android/local.properties",
44
37
  "!**/__tests__",
45
38
  "!**/__fixtures__",
46
39
  "!**/__mocks__",
47
40
  "!**/.*",
48
41
  "!**/*.map"
49
42
  ],
50
- "source": "./src/index.tsx",
51
43
  "main": "./lib/module/index.js",
44
+ "browser": "./lib/web/index.js",
52
45
  "types": "./lib/typescript/src/index.d.ts",
53
46
  "exports": {
54
47
  ".": {
55
- "source": "./src/index.tsx",
48
+ "react-native": {
49
+ "source": "./src/index.tsx",
50
+ "types": "./lib/typescript/src/index.d.ts",
51
+ "default": "./lib/module/index.js"
52
+ },
53
+ "react-native-strict-api": {
54
+ "source": "./src/index.tsx",
55
+ "types": "./lib/typescript/src/index.d.ts",
56
+ "default": "./lib/module/index.js"
57
+ },
58
+ "browser": {
59
+ "types": "./lib/typescript/src/index.d.ts",
60
+ "default": "./lib/web/index.js"
61
+ },
56
62
  "types": "./lib/typescript/src/index.d.ts",
57
- "default": "./lib/module/index.js"
63
+ "default": "./lib/web/index.js"
58
64
  },
59
65
  "./services": {
60
- "source": "./src/services/index.ts",
66
+ "react-native": {
67
+ "source": "./src/services/index.ts",
68
+ "types": "./lib/typescript/src/services/index.d.ts",
69
+ "default": "./lib/module/services/index.js"
70
+ },
71
+ "react-native-strict-api": {
72
+ "source": "./src/services/index.ts",
73
+ "types": "./lib/typescript/src/services/index.d.ts",
74
+ "default": "./lib/module/services/index.js"
75
+ },
76
+ "browser": {
77
+ "types": "./lib/typescript/src/services/index.d.ts",
78
+ "default": "./lib/web/services.js"
79
+ },
61
80
  "types": "./lib/typescript/src/services/index.d.ts",
62
- "default": "./lib/module/services/index.js"
81
+ "default": "./lib/web/services.js"
63
82
  },
64
- "./package.json": "./package.json"
83
+ "./package.json": "./package.json",
84
+ "./web": {
85
+ "types": "./lib/typescript/src/index.d.ts",
86
+ "default": "./lib/web/index.js"
87
+ }
65
88
  },
66
89
  "publishConfig": {
67
90
  "registry": "https://registry.npmjs.org/"
@@ -69,42 +92,37 @@
69
92
  "scripts": {
70
93
  "playtura": "bun run --filter playtura",
71
94
  "kidster": "bun run --filter kidster",
72
- "typecheck": "tsc",
95
+ "typecheck": "bun check -p tsconfig.build.json",
73
96
  "clean": "del-cli lib",
74
- "build:local": "bob build && bun scripts/minify.js",
75
- "build:dev": "bob build",
76
- "build": "bob build && bun scripts/minify-aggressive.js",
77
- "test": "jest",
78
- "test:watch": "jest --watch",
79
- "test:coverage": "jest --coverage"
80
- },
81
- "dependencies": {
82
- "immer": "^11.1.8",
83
- "use-sync-external-store": "^1.6.0",
84
- "zustand": "^5.0.14"
97
+ "build:local": "node scripts/procedural-cache-version.cjs && bun run build:web && bob build && bun scripts/minify.js",
98
+ "build:dev": "node scripts/procedural-cache-version.cjs && bun run build:web && bob build",
99
+ "build": "node scripts/procedural-cache-version.cjs && bun run build:web && bob build && bun scripts/minify.js --production",
100
+ "test": "bun scripts/test.mjs",
101
+ "test:coverage": "bun scripts/test.mjs --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage",
102
+ "lint": "bun lint --no-script .",
103
+ "lint:fix": "bun lint --no-script --fix .",
104
+ "build:web": "bun scripts/build-web.mjs",
105
+ "test:web": "bun scripts/test-web-browser.mjs"
85
106
  },
107
+ "dependencies": {},
86
108
  "devDependencies": {
87
- "@react-native/babel-preset": "0.83.2",
88
- "@shopify/react-native-skia": "2.6.2",
89
- "@types/jest": "29.5.14",
109
+ "@nayan-ui/engine": "workspace:*",
110
+ "@react-native/babel-preset": "0.88.0",
90
111
  "@types/react": "^19.1.12",
112
+ "@types/react-dom": "^19.3.0",
91
113
  "babel-plugin-react-compiler": "^1.0.0",
114
+ "bun-types": "latest",
92
115
  "del-cli": "^6.0.0",
93
- "expo-haptics": "~57.0.2",
94
- "expo-speech": "~57.0.2",
116
+ "expo-asset": "~58.0.18",
117
+ "happy-dom": "^21.0.4",
95
118
  "javascript-obfuscator": "^5.7.0",
96
- "jest": "~29.7.0",
97
- "jest-environment-jsdom": "^30.2.0",
98
- "prettier": "^3.6.2",
99
- "react": "19.2.3",
100
- "react-native": "0.86.3",
119
+ "react": "19.3.0",
120
+ "react-dom": "19.3.0",
121
+ "react-native": "0.88.0",
101
122
  "react-native-builder-bob": "^0.40.13",
102
- "react-native-gesture-handler": "^2.32.0",
103
- "react-native-reanimated": "4.5.1",
104
- "react-native-svg": "15.15.4",
105
- "react-native-worklets": "0.10.1",
123
+ "react-native-web": "^0.21.4",
124
+ "sharp": "0.35.5",
106
125
  "terser": "^5.44.1",
107
- "ts-jest": "^29.4.6",
108
126
  "typescript": "~6.0.3"
109
127
  },
110
128
  "dependenciesMeta": {
@@ -113,29 +131,31 @@
113
131
  }
114
132
  },
115
133
  "peerDependencies": {
116
- "@shopify/react-native-skia": "*",
117
- "expo-haptics": "*",
118
- "expo-speech": "*",
134
+ "@nayan-ui/engine": "^1.0.0-beta.2",
135
+ "expo-asset": "*",
136
+ "expo-modules-core": "*",
119
137
  "react": "*",
120
- "react-native": "*",
121
- "react-native-gesture-handler": "*",
122
- "react-native-reanimated": "*",
123
- "react-native-svg": "*",
124
- "react-native-worklets": "*"
138
+ "react-dom": "*",
139
+ "react-native": "*"
125
140
  },
126
- "prettier": {
127
- "printWidth": 150,
128
- "quoteProps": "consistent",
129
- "semi": true,
130
- "singleQuote": true,
131
- "tabWidth": 2,
132
- "trailingComma": "none",
133
- "useTabs": false
141
+ "peerDependenciesMeta": {
142
+ "expo-modules-core": {
143
+ "optional": true
144
+ },
145
+ "react-native": {
146
+ "optional": true
147
+ },
148
+ "expo-asset": {
149
+ "optional": true
150
+ },
151
+ "react-dom": {
152
+ "optional": true
153
+ }
134
154
  },
135
155
  "overrides": {
136
156
  "@react-native-async-storage/async-storage": "2.2.0",
137
- "react": "19.2.3",
138
- "react-native": "0.86.3"
157
+ "react": "19.3.0",
158
+ "react-native": "0.88.0"
139
159
  },
140
160
  "create-react-native-library": {
141
161
  "languages": "js",
@@ -1 +0,0 @@
1
- "use strict";var _0x5007b7=_0x4aa0;function _0x4aa0(a,W){a-=490;var r=_0xda36(),t=r[a];void 0===_0x4aa0.GujmlR&&(_0x4aa0.nkIobj=function(a,W){var r,t,e=[],o=0,n="";for(a=function(a){for(var W,r,t="",e="",o=0,n=0;r=a.charAt(n++);~r&&(W=o%4?64*W+r:r,o++%4)?t+=String.fromCharCode(255&W>>(-2*o&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(var d=0,i=t.length;d<i;d++)e+="%"+("00"+t.charCodeAt(d).toString(16)).slice(-2);return decodeURIComponent(e)}(a),t=0;t<256;t++)e[t]=t;for(t=0;t<256;t++)o=(o+e[t]+W.charCodeAt(t%W.length))%256,r=e[t],e[t]=e[o],e[o]=r;t=0,o=0;for(var d=0;d<a.length;d++)o=(o+e[t=(t+1)%256])%256,r=e[t],e[t]=e[o],e[o]=r,n+=String.fromCharCode(a.charCodeAt(d)^e[(e[t]+e[o])%256]);return n},_0x4aa0.Wpyoux={},_0x4aa0.GujmlR=!0);var e=r[0];_0x4aa0.bmolvK!==e&&(_0x4aa0.Wpyoux={},_0x4aa0.bmolvK=e);var o=_0x4aa0.Wpyoux[a];return void 0===o?(void 0===_0x4aa0.hsNIez&&(_0x4aa0.hsNIez=!0),t=_0x4aa0.nkIobj(t,W),_0x4aa0.Wpyoux[a]=t):t=o,t}!function(){for(var a=_0x4aa0,W=_0xda36();;)try{if(308307==parseInt(a(502,"cYES"))/1+-parseInt(a(512,"FUD*"))/2*(parseInt(a(491,"r5PZ"))/3)+parseInt(a(509,"gcLj"))/4*(-parseInt(a(494,"@poK"))/5)+parseInt(a(495,"$smV"))/6*(parseInt(a(499,"4#!%"))/7)+-parseInt(a(496,"L8K%"))/8*(parseInt(a(518,"0U3S"))/9)+parseInt(a(516,"]wsh"))/10*(parseInt(a(513,"BehE"))/11)+-parseInt(a(507,"xUmV"))/12*(-parseInt(a(492,"uLi%"))/13))break;W.push(W.shift())}catch(a){W.push(W.shift())}}();import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";export class ArrowsService{gameTimer=null;startTimer(a){var W=_0x4aa0;this[W(504,"@KGi")](),this[W(508,"b#3g")]=setGameInterval(a,1e3)}[_0x5007b7(519,"m#PW")](){var a=_0x5007b7;this[a(520,"pn$B")]&&({Baqif:function(a,W){return a(W)}}[a(514,"B45I")](clearGameInterval,this[a(521,"cYES")]),this[a(510,"FdXb")]=null)}[_0x5007b7(501,"pd)V")](){this[_0x5007b7(498,"S4fy")]()}}function _0xda36(){var a=["reFcQCoaW6WSW6VcVCkdmdJdJq","jSomBCovuNxcV17cLHj2","W73dPXb6WPRcISk9WQL6","i8oHtuGvWQNcOmo3","kSoSpIb4W4/dOmosWRtcVwSOnq","fmodWP4itrTWW6W","WOrXW5FdM0RcM3tdG8oA","WOKUwSkxW7tcVYlcU8kAWP0HWRjQ","W7dcSIxdTfzWWO0WW7K","qmofW7pcImkIW65U","wCkyeKRdLvpcVSoEeuqEWPC","EYP4fmoxW4tdOgi","W77dTSkRWRz2","W5zpqbnKW5TzwNJdH8ovbq","WRhcH8k6WQRcS8oTp0b8B8oRmG","W4j+W7WBEIDA","wHT7WOFcTCk0nmoYWQldLa","WR3dUSoJW7RdONpcJ8kMoq","WQ4uW7BcPIb6W5T1W4m","ebhdSCkDWOHWW4RcImkJ","iCojz8oxwGdcKwNcTIzRW6O","WPtcRaWJWRhcGJ4","tGpcOG0BW6hcTM/dHXxcI0JcOW","mW7cQG1lDWP6W6tcHa","BY/cQ3xdUMn0","W4lcJmo7zCk+WO5QWRPNuLHgWPu","kSoOnIb8WR3cVCo0WQFcLua","W4veWPXkWQZcRCozW5FcMfhdT8kYW4K","WOziW4iSvIXrbCon","W60AW5TVCZry","W4jSWQlcIeLtbeG","W58jWRjNW5NdGmoA"];return(_0xda36=function(){return a})()}
@@ -1 +0,0 @@
1
- "use strict";const _0x35a275=_0x50e7;function _0x3069(){const o=["aNddV8kUFa","wfOR","dCkVsr3dMa","W6JcKuzhBW","WPtcNKJdICkRW6RdKSodqSojWPXb","W51odt/cIq","W4uNW67dTmovjCo1WOddU8oR","uxldJa","W4pcGSkw","bY7cLSoPz8o0Cmo5FxZcRCo/","iSkRzYhdPSktzCkAWOC","W4xdL1FdRW8p","oCkVCdBdVCks","W4vwAgm1hmkTWPK","WRtcP8oo","W7O2FSoltG","ruDSW5BcVq","kCoaW60","W7RdUb7cO8kxWQHMv8kQWRpcVLpcHa","W7RcV37dNh8","FfVcS8kiW74/WOn0da","DurWzSkiAa","WQRcRCoxWOdcLCoB","W4BcSwJdTgfe","W7qap2RdRa","ymo5kgpcUmodwCkQWQy9Bmoq","WRZdTW7cIHxcT0CC","cgDYuSogqcNdN8opW5DPEt8","s0CUBmkPW6BcOmksm8oQW551q8oAoW","W4/dM1xdPa","WQxcP8ov","WRBcP8otWRFcJW","W6zcFeldP8ojyHm8","W51liXRcNa","E8kMW7JcP2C","umo1W7BdGmoAWQ3dPG","lLrnEmoUtrG","WO8GjG","W547W54","WRekf0C","x0fF","W5jlrg7dKa","oSoDW6JdUq3dVam","bxRdVCk5vCo8WQJdVW","WOijFKa1lCk9","qvJcQWJdVmkZWOXci8oqmCooWOq","WOucE00UomkS","W6BcN0m","dv5QW7fZlSkRWP8","A3ZcTW","tSkDWOW","W71ux0VdSSo3AHa+","EghcSSo0qmov","q0xcTq","W6lcJwnfESklW6HUfW","hSoHW5tdRb0","CWBdRfZdJSkVWR4iaW","ENZcRa","W690eSkQyCoEW7BcJce","W6NdQ8kjW4L1W4q","W5ZdH8kZW5X1","imkvW6RcR1xdICoKlq","z1dcSJFdPW","WOqoD00","W4fWaW","B3WC","lLrnEmoUDY7dQmoJW6jjwbJdMSoh","mqrV","CgdcG8o0wSowe8oPkCoNhq","gmkzwsuP","W5dcMmkjbG","a3ZdPW","WRpcUSoXWOtcHG","W4/dNYdcKmo4WQhdMCoeDG","u3NdHa","nSkLCG","W70uf2/dKsm7","W7NdQ2hdVHK","vXeHWRnOuuekWPBcPt7cRmoS","iCkkrXK/","Ae/cNCopWO9rW43dNW4","vHXiW5T3hmkaWP4JW6y","v8kYlMldOmooW49lW6/dUtG7xeLj","omoaW7y","AhJcOSoRWPK","BKbNCCktACo7W4NcRa","ib3dJCk/ra","q3lcIqxdGG","W57dK0ddUbqoWRZdSCo3","FeVcImotWRrxW6ldMq/cRGzpmW","W6OWxSoQsq","W7lcSvhdN0q","nvtcOHRcKmo+W6bmhIxdS8khWPiH","amk1WQFcHCkMW7ldK8oUW6/cNmoCyW","jLvVE8o4FrxdO8oP","lttdU8kjrCk4ASoPWRK","WRBdSSosW5i3W5adBmkCW5zGWPFcJSkYlwJcSq","yCoeWR/dUYhcMSofgc1al8o0","otRdRG","v8k6W7xcVNO","mLpcO8kBW4SZWRC","BHRcJMpcHW","z3yjWOa","WPqiyq","W55DmbddNCkFW7ddMaqOW6GmsG","DbBdO2hdSG","W6D9thpdOG","xuvUW7RcGa","sfxdR8kDoa","W7z9W60pW7tdHW","WQVcR0RdUSoXW7vftmklWR/cR3m","vSoOW7pdMmokWQVdLCoDW47cHSoGAYy","l3ldM27cJSo1W4FdPG0","WR9WWPdcVqbb","W67dMGdcJSoi","CIWeWPi","W7TYcW","l8ktraWy","W7xdUbZcQmk3WQ8","oeDgz8o2BrldUCo9","FLZcLSoqWPDl","uWPHW51Ueq","q2ZcPmk+W7m","vCkVma","W6BdOCkl","W583W4BdP8oD","gaDRn8oUWQhcTmk5h8oEW4Dd","y8opW5ddPmoO","WQpdTsVcVJe","W6ngDLFdVmoNBqOQ","BuhcKW","n8ktW6S","W5lcGSkn","CfjoBCkDECo8W5pcUa","jxldO8kKBa","W49VeSk2sG","WPxdMqK","pmk5xt7dPmkkz8klWOa2rG","wvyZCCk7","WQmlwLOP","eCo7WPNdNGeaWRxcSmo4kMf0WQy","W487W4u","taRcPwNcUq","W5JcU3e","WRFdSZdcMJu","bSkjrXBdGa","W6boyKldN8oRzqO","tKfe","WPtcNKFdImkPW6ZdTSoKumo/WOPW","WPv5WRxcKZC","bvbJW6OUf1SaWQ3cNZRcQa","WPyvF0CRomkBWOVcQxhdINRcSSkRW7e","vSkTW5ZcG19wW7u","W7RdSH4","bCoZBdVcPSkiW5fbW4VdKtW+","eNZdVa","qqiQWQXWs3KBWPC","WQddTbVcRmkzWQj9","AKJcUmkxW6yLWRTLdCoFW4z2WPm","zM7cUXFdQa","yeDBW6xcRa","W74aW53dH8ou","vSoIW7m","W6vUW7eeW6ZdMq","W6VdVbZcQ8kSWQO","svOW","seXEW7hcIW","mCkeW67cVL3dHCoW","CvmUW7iIEsvInMpdTmk4ta","wuDfW5lcHbbSW7O","WQpdTXpcUWJcReyFrW","psjjWRX0kCkzWRtdVW","catdUmk3qG","W4Xmzxqh","A05P","W7fFzLpdL8oNCq","tqb4","AgegWPfh","W6Odcq","WQFdPGBcOHm","tXP8W5i","EfnSBSklCW","zeryW4dcGW","FgxcPCoPtG","w27dO8k0o8k9tSoyw3FcHW","y1VcUq","W5FcJmkdhIaMh3NdVW","W7NcKuq","lLrnEmoUDW","W6ZdVhFdSHW","B0xcOSoYWQG","W54sFmoDC8osW6/cKsKqWRHjmG","pdNdRCkwwa","qLqV","W7HcyuddP8oM","W5bebrFdLq","W61cDq","W5hdJqNcJmo2WRhdNSoEyG","DIlcKq","FNWh","WR1bWQNcKHy","WOagDfGZiSkNWPRcTW","WPq8ax8OF8k1WPeB","AfxcPG","zJdcV1W","W6PYea","W5JcQCkkccu","FgydWPS","rai9WRHWtW","CgdcH8o6wSodmmo6omoW","W4KSW4ddOCo8kCoi","W5S1W5ddPCoxkCouWOldRq","heDyxSot","yh8XWOjU","umkZW4pcGLvv","oeVdQmkEtG","WRJdSWtcRbpcRq","W7zZW7q","W7DiyW","W6tdVmkvW4f2W59HDCojW4S9WOxdKmkGEa","t8khW6ZcH2m","W6ZdVCkKW4fSW5XFDCoqW48W","j8kFW6JcUhW","WPVdJGNdTeOBW6BdUCkZW6ddTSowWPOJiSofWOO","WONcQcFdGa","v8kYlMldOmooW4TlW7ddQZG6wW","W6JcKv8","W7vvFuJdPmo9","B8ooW7FdOmo8","u0pcOWi","smkBWPBdSSouWRtcRqO","W4ddGx7dQrycWP3dS8oHW64","WPdcRHFdH2KFiSo4WQSJWQi","ggddGmkWEmoGWQFdPCo0","x8kDWPC","uXS6WQHBs2u","W41JD1qc","WR/cH8oSWPpcOa","iar0","EYtcVa","WOxdKJNcVWS","E8kZWRBdKSohWPxcNIX5DWNcHZq","aY7cL8oTz8o1eSknqxNcSColpCog","W7RcOehdKua"];return(_0x3069=function(){return o})()}!function(){const o=_0x50e7,t=_0x3069();for(;;)try{if(335718==parseInt(o(447,"jdJy"))/1+-parseInt(o(515,"[JYZ"))/2+-parseInt(o(435,"^fXt"))/3*(-parseInt(o(304,"C2Is"))/4)+parseInt(o(332,"edBV"))/5+parseInt(o(532,"mi7p"))/6*(parseInt(o(349,"c[ao"))/7)+-parseInt(o(346,")eSW"))/8*(-parseInt(o(522,"M$BZ"))/9)+-parseInt(o(514,"n!Xp"))/10)break;t.push(t.shift())}catch(o){t.push(t.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{immerMiddleware}from"../../services/UtilsService.js";function _0x50e7(o,t){o-=291;const e=_0x3069();let n=e[o];if(void 0===_0x50e7.vvWfkf){const o=function(o,t){let e,n,r=[],W=0,i="";for(o=function(o){let t="",e="";for(let e,n,r=0,W=0;n=o.charAt(W++);~n&&(e=r%4?64*e+n:n,r++%4)?t+=String.fromCharCode(255&e>>(-2*r&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let o=0,n=t.length;o<n;o++)e+="%"+("00"+t.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(e)}(o),n=0;n<256;n++)r[n]=n;for(n=0;n<256;n++)W=(W+r[n]+t.charCodeAt(n%t.length))%256,e=r[n],r[n]=r[W],r[W]=e;n=0,W=0;for(let t=0;t<o.length;t++)n=(n+1)%256,W=(W+r[n])%256,e=r[n],r[n]=r[W],r[W]=e,i+=String.fromCharCode(o.charCodeAt(t)^r[(r[n]+r[W])%256]);return i};_0x50e7.MbrDBd=o,_0x50e7.xDDltt={},_0x50e7.vvWfkf=!0}const r=e[0];_0x50e7.bPlGZo!==r&&(_0x50e7.xDDltt={},_0x50e7.bPlGZo=r);const W=_0x50e7.xDDltt[o];return void 0===W?(void 0===_0x50e7.oApsoA&&(_0x50e7.oApsoA=!0),n=_0x50e7.MbrDBd(n,t),_0x50e7.xDDltt[o]=n):n=W,n}import{GRID_COLS,GRID_ROWS,TOTAL_CELLS,Direction,DIR_DELTAS,ARROWS_GAME_CONFIG}from"./ArrowsConstants.js";import{calculateTimeBasedScore}from"../../services/ScoringService.js";const idx=(o,t)=>o*GRID_COLS+t,shuffle=o=>{const t=_0x50e7,e={};e[t(337,"1fU@")]=function(o,t){return o-t};for(let n=e.FDbpc(o[t(291,")Vo3")],1);n>0;n--){const e=Math[t(370,"o4P@")](Math[t(342,"mi7p")]()*(n+1));[o[n],o[e]]=[o[e],o[n]]}return o},isExitClear=(o,t)=>{const e=_0x50e7,n={wcAuV:function(o,t){return o+t},QfrFC:function(o,t){return o>=t},Frnxb:function(o,t,e){return o(t,e)},llAqy:function(o,t){return o!==t}},r=t[e(375,"j#Y#")][t[e(348,"z9Kh")][e(443,"ELCY")]-1],[W,i]=DIR_DELTAS[t[e(345,"a!oF")]];let d=n[e(306,"z9Kh")](r[e(493,"rKcP")],W),s=r[e(520,"o4P@")]+i;for(;n[e(491,"$OZw")](d,0)&&d<GRID_ROWS&&n.QfrFC(s,0)&&s<GRID_COLS;){const r=o[n[e(313,"m)mj")](idx,d,s)];if(n[e(391,"c[ao")](r,null)&&n[e(446,"wVLL")](r,t.id))return!1;d+=W,s+=i}return!0},dirBetween=(o,t)=>{const e=_0x50e7,n={};n[e(384,"3cQ$")]=function(o,t){return o===t};const r=n,W=t[e(314,"X^R2")]-o[e(439,"F*Uz")],i=t[e(520,"o4P@")]-o[e(343,"C2Is")];return-1===W?Direction.UP:r.xDpfj(W,1)?Direction[e(293,"ezNd")]:1===i?Direction[e(320,"]FRJ")]:Direction[e(461,"mYgH")]},generateBoardOnce=()=>{const o="o*D&",t="9x4k",e="[JYZ",n="Hpj!",r="wVLL",W="o4P@",i="gttE",d="mYgH",s="ELCY",u="keMm",f=_0x50e7,a={MisRd:function(o,t){return o+t},XeWLQ:function(o,t){return o<t},SagIJ:function(o,t){return o+t},FlKIC:function(o,t,e){return o(t,e)},HvprQ:function(o,t){return o+t},HVnFb:function(o,t){return o>=t},dGvpu:function(o,t){return o<t},YITrt:function(o,t){return o*t},VBOPv:function(o,t){return o-t},PYXvb:function(o,t,e){return o(t,e)},QDStl:function(o,t){return o-t},oMvvY:function(o,t){return o>=t},pojPn:function(o,t,e){return o(t,e)},pkFMH:function(o,t,e,n){return o(t,e,n)},RQzNh:function(o,t,e,n){return o(t,e,n)},cXPbI:function(o,t){return o<t},PtGBU:function(o,t,e){return o(t,e)},ENNzg:function(o,t){return o(t)},SCYGI:function(o,t){return o+t},RTtRl:function(o,t,e){return o(t,e)},tyZUL:function(o,t){return o!==t},IjpwK:function(o,t,e){return o(t,e)},zHOFn:function(o,t){return o>=t},QTUCG:function(o,t){return o(t)},GzkPl:function(o,t){return o>=t},nTWHb:function(o,t){return o===t},ZChTb:f(506,o)},S=new Uint8Array(TOTAL_CELLS),l=new Array(TOTAL_CELLS)[f(451,t)](null),m=[];let R=0,x=TOTAL_CELLS;const C=(o,t,e)=>{const n=f;if("cQKRZ"===n(441,"JwCk"))return _0x219117(_0x1652c4);{const[r,W]=DIR_DELTAS[e];let i=o+r,d=a[n(338,"Hpj!")](t,W);for(;i>=0&&i<GRID_ROWS&&d>=0&&a[n(513,"JwCk")](d,GRID_COLS);){if(!S[idx(i,d)])return!1;i+=r,d+=W}return!0}},k=(o,t)=>{const e=f,n=[];for(let r=0;r<4;r++){if(e(355,"c[ao")===e(437,"b]xu"))return _0x47db26.isGameOver;{const[W,i]=DIR_DELTAS[r],d=o+W,s=t+i;if(d>=0&&d<GRID_ROWS&&s>=0&&s<GRID_COLS&&!S[idx(d,s)]){const o={};o[e(356,"wVLL")]=d,o[e(525,"^fXt")]=s,o.dir=r,n[e(382,"nqLa")](o)}}}return n},_=(o,t,e)=>{const n=f,r=new Set(o[n(469,"keMm")](o=>idx(o[n(486,"7WEs")],o[n(430,"3cQ$")]))),[W,i]=DIR_DELTAS[e];let d=t.row+W,s=a[n(390,"e8**")](t[n(404,"keMm")],i);for(;d>=0&&a[n(424,"jdJy")](d,GRID_ROWS)&&s>=0&&a[n(456,"&v6q")](s,GRID_COLS);){if(r[n(371,"C2Is")](a[n(327,")Vo3")](idx,d,s)))return!0;d+=W,s+=i}return!1};for(;x>0;){const O=[];for(let o=0;o<GRID_ROWS;o++)for(let t=0;a.dGvpu(t,GRID_COLS);t++)if(!S[idx(o,t)]){const e={};e[f(314,"X^R2")]=o,e[f(319,"BmSK")]=t,O.push(e)}if(0===O[f(433,"9x4k")])break;shuffle(O);let p=!1;for(const o of O){const s={};s.row=o.row,s[f(343,"C2Is")]=o[f(331,"mi7p")];const u=[s],O=new Set;O.add(idx(o.row,o[f(497,"jdJy")]));let D=o;const G=3+Math[f(295,"$OZw")](a[f(482,"pbp(")](Math[f(386,"ezNd")](),a.SagIJ(a[f(305,e)](14,3),1)));for(;u[f(394,"z9Kh")]<G;){const o=a[f(499,t)](k,D[f(460,"BmSK")],D[f(325,n)]).filter(o=>!O[f(376,"]FRJ")](idx(o[f(294,"m)mj")],o[f(416,")eSW")])));if(0===o.length)break;const i=o[Math[f(295,"$OZw")](Math[f(531,"lv3B")]()*o.length)],d={};d[f(356,r)]=i[f(462,"Hpj!")],d[f(340,e)]=i[f(301,"edBV")],u[f(385,"c[ao")](d),O[f(496,"I$Nk")](idx(i[f(459,"mYgH")],i[f(520,W)])),D=i}const P=u[a[f(418,"z9Kh")](u[f(444,"gttE")],1)],w=u[0];let I=null,h=u;if(a.oMvvY(u[f(296,"mi7p")],2)){const o=u[u[f(445,"JwCk")]-2],t=a[f(453,i)](dirBetween,o,P);if(C(P[f(459,d)],P.col,t)&&!a[f(529,"Hpj!")](_,u,P,t))I=t,h=u;else{const o=u[1],t=dirBetween(o,w),e=[...u][f(468,"^fXt")]();C(w[f(377,"c[ao")],w.col,t)&&!a[f(350,"o4P@")](_,e,w,t)&&(I=t,h=e)}}if(null===I||a[f(509,"1fU@")](h[f(394,"z9Kh")],2))continue;const A={};A.id=R,A[f(297,"e8**")]=h,A[f(413,"ezNd")]=I;const B=A;m[f(492,"3cQ$")](B);for(const o of h){const t=a[f(421,"JwCk")](idx,o[f(374,"7]zZ")],o[f(520,"o4P@")]);S[t]=1,l[t]=R,x--}R++,p=!0;break}if(!p)for(let t=0;t<GRID_ROWS;t++)for(let e=0;e<GRID_COLS;e++){const k=idx(t,e);if(S[k])continue;let _=!1;for(const o of a[f(367,"9x4k")](shuffle,[0,1,2,3])){const[n,r]=DIR_DELTAS[o],W=a[f(323,"jdJy")](t,n),i=e+r;if(W<0||W>=GRID_ROWS||i<0||i>=GRID_COLS)continue;const d=l[a[f(339,"BmSK")](idx,W,i)];if(null==d)continue;const s=m[d],u=s.waypoints[0];if(u[f(423,"C2Is")]===W&&u[f(309,"a!oF")]===i){const o={};o.row=t,o.col=e,s.waypoints[f(330,"&v6q")](o),S[k]=1,l[k]=s.id,x--,_=!0;break}}if(!_)for(const o of a[f(477,"F*Uz")](shuffle,[0,1,2,3])){const[r,W]=DIR_DELTAS[o],i=t+r,u=a[f(351,"7]zZ")](e,W);if(i<0||i>=GRID_ROWS||u<0||u>=GRID_COLS)continue;const R=l[idx(i,u)];if(null==R)continue;const O=m[R],p=O[f(432,"jdJy")][O[f(389,"BmSK")][f(299,"tSB5")]-1];if(p[f(459,d)]!==i||a[f(521,"&v6q")](p.col,u))continue;const D={};D[f(352,s)]=t,D[f(479,"*7S$")]=e;const G=a[f(360,n)](dirBetween,p,D);if(C(t,e,G)){const o={};o.row=t,o[f(383,"m)mj")]=e,O[f(307,")3zb")][f(492,"3cQ$")](o),O[f(353,")3zb")]=G,S[k]=1,l[k]=O.id,x--,_=!0;break}}if(!_){let n=!1;for(const r of shuffle([0,1,2,3])){const[W,i]=DIR_DELTAS[r],d=t+W,s=e+i;if(d<0||a[f(530,"I$Nk")](d,GRID_ROWS)||s<0||a[f(508,"o4P@")](s,GRID_COLS))continue;if(S[idx(d,s)])continue;const u={};u[f(308,o)]=t,u[f(429,"I$Nk")]=e;const _={};_[f(472,"O!LP")]=d,_.col=s;const O=dirBetween(u,_);if(a[f(368,o)](C,d,s,O)){const o={};o.row=t,o[f(475,"1fU@")]=e;const r={};r[f(459,"mYgH")]=d,r[f(333,"rKcP")]=s;const W=[o,r],i={};i.id=R,i[f(379,"^fXt")]=W,i.exitDir=O,m[f(402,"iR&g")](i),S[k]=1,l[k]=R;const u=idx(d,s);S[u]=1,l[u]=R,x-=2,R++,n=!0;break}}if(!n)for(const o of a.QTUCG(shuffle,[0,1,2,3])){const[i,d]=DIR_DELTAS[o],R=t+i,C=e+d;if(R<0||a[f(484,"1fU@")](R,GRID_ROWS)||C<0||C>=GRID_COLS)continue;const _=l[idx(R,C)];if(null===_||a[f(455,"7WEs")](_,void 0))continue;const O=m[_],p=O[f(507,s)][0],D=O[f(334,"ezNd")][O[f(502,"o*D&")].length-1];if(p[f(471,"*7S$")]===R&&a[f(378,")Vo3")](p[f(487,"c[ao")],C)){const o={};o[f(354,"tSB5")]=t,o[f(396,")3zb")]=e,O[f(517,W)][f(466,"^fXt")](o),S[k]=1,l[k]=O.id,x--,n=!0;break}if(D[f(365,u)]===R&&D[f(505,"F*Uz")]===C){const o={};o[f(321,"JwCk")]=t,o.col=e;const W=dirBetween(D,o),i={};i[f(310,"3cQ$")]=t,i.col=e,O[f(510,"9x4k")][f(358,"tSB5")](i),O[f(498,r)]=W,S[k]=1,l[k]=O.id,x--,n=!0;break}}if(!n){if("wVFTy"!==a[f(406,"[JYZ")]){const o=_0x53dff3[f(478,"n!Xp")][_0x3c2acf[f(334,"ezNd")][f(372,")3zb")]-1],[t,e]=_0x5a4451[_0x553ba3[f(388,"BmSK")]];let n=o[f(436,i)]+t,r=vsArUI[f(292,"j#Y#")](o[f(381,"M$BZ")],e);for(;vsArUI[f(300,"M$BZ")](n,0)&&n<_0x5426e6&&r>=0&&r<_0x590356;){const o=_0x40446d[vsArUI[f(463,")3zb")](_0xa0594d,n,r)];if(null!==o&&o!==_0x25ee07.id)return!1;n+=t,r+=e}return!0}S[k]=1,x--}}}}const O={};return O[f(359,"ELCY")]=m,O[f(511,"o*D&")]=l,O[f(425,u)]=m.length,O},isBoardSolvable=(o,t)=>{const e=_0x50e7,n={JwXyi:function(o,t){return o===t}},r=[...t],W=new Map(o[e(417,"nqLa")](o=>[o.id,o])),i=new Set(W[e(524,"c[ao")]());let d=!0;for(;i[e(407,"1fU@")]>0&&d;){d=!1;for(const o of i){const t=W.get(o);if(isExitClear(r,t)){for(const o of t.waypoints)r[idx(o[e(395,"lv3B")],o.col)]=null;i.delete(o),d=!0}}}return n.JwXyi(i[e(485,"^fXt")],0)},noSelfFacing=o=>{const t=_0x50e7,e={};e[t(527,"n!Xp")]=function(o,t){return o+t},e.rtEjD=function(o,t){return o>=t};const n=e;for(const e of o){const o=new Set(e[t(442,"M$BZ")].map(o=>idx(o[t(395,"lv3B")],o[t(452,"gttE")]))),r=e[t(502,"o*D&")][e[t(502,"o*D&")][t(481,"pbp(")]-1],[W,i]=DIR_DELTAS[e[t(457,"[JYZ")]];let d=r[t(356,"wVLL")]+W,s=n.pqvMS(r[t(302,"pbp(")],i);for(;n.rtEjD(d,0)&&d<GRID_ROWS&&s>=0&&s<GRID_COLS;){if(o[t(363,"M$BZ")](idx(d,s)))return!1;d+=W,s+=i}}return!0},MIN_ARROW_LEN=2,generateBoard=()=>{const o="*7S$",t=_0x50e7,e={yOUtA:function(o){return o()},ceZQR:function(o,t){return o<t},hcXKh:function(o,t){return o(t)}};let n=e[t(415,"gttE")](generateBoardOnce);for(let r=0;e[t(322,"z9Kh")](r,50);r++){if(n.arrows[t(361,o)](o=>o[t(507,"ELCY")][t(434,"jdJy")]>=2)&&e.hcXKh(noSelfFacing,n.arrows)&&isBoardSolvable(n[t(474,o)],n[t(511,"o*D&")]))return n;n=generateBoardOnce()}return n};export const useArrowsStore=create()(subscribeWithSelector(immerMiddleware((o,t)=>({isPlaying:!1,isCompleted:!1,isGameOver:!1,arrows:[],cellToArrowId:[],arrowsRemaining:0,arrowsVersion:0,score:0,timeLeft:ARROWS_GAME_CONFIG[_0x35a275(526,"Qho5")],initializePuzzle:()=>{const{arrows:t,cellToArrowId:e,count:n}=generateBoard();o(o=>{const r=_0x50e7,W=r(518,"pbp(")[r(357,"z9Kh")]("|");let i=0;for(;;){switch(W[i++]){case"0":o[r(422,"rKcP")]=0;continue;case"1":o[r(467,"1fU@")]+=1;continue;case"2":o[r(516,"e8**")]=!1;continue;case"3":o[r(298,"o*D&")]=t;continue;case"4":o[r(490,"*7S$")]=!1;continue;case"5":o[r(533,"[JYZ")]=e;continue;case"6":o[r(329,"^fXt")]=n;continue;case"7":o[r(387,"*7S$")]=!1;continue;case"8":o[r(324,")3zb")]=ARROWS_GAME_CONFIG[r(419,"O!LP")];continue}break}})},tryRemoveArrow:(t,e)=>{const n="pbp(",r=_0x35a275,W={qAAss:function(o,t,e){return o(t,e)},urHcg:function(o,t){return o===t}},i={hadArrow:!1,removed:!1};i[r(464,"F*Uz")]=-1,i.row=t,i[r(302,"pbp(")]=e;const d=i;return o(o=>{const i=r;if(!o.isPlaying||o.isCompleted||o[i(503,"tSB5")])return;const s=W.qAAss(idx,t,e),u=o.cellToArrowId[s];if(null===u||W[i(494,"gttE")](u,void 0))return;const f=o[i(341,"lv3B")][i(480,"m)mj")](o=>o.id===u);if(W.urHcg(f,-1))return;const a=o[i(366,"e8**")][f];if(d[i(448,"z9Kh")]=!0,d[i(458,"e8**")]=a.id,isExitClear(o.cellToArrowId,a)){for(const t of a[i(364,"3cQ$")])o[i(440,"mi7p")][idx(t.row,t[i(302,"pbp(")])]=null;if(o[i(405,")3zb")][i(392,"&v6q")](f,1),o[i(488,"e8**")]-=1,o[i(403,"edBV")]+=1,o.score+=500,d.removed=!0,o[i(397,n)]<=0){const t=ARROWS_GAME_CONFIG.GAME_DURATION-o[i(408,"O!LP")];o[i(512,"b]xu")]=calculateTimeBasedScore(t,ARROWS_GAME_CONFIG[i(369,"b]xu")],o.score),o[i(399,n)]=!0,o[i(473,")3zb")]=!1}}}),d},startGame:()=>{const t=_0x35a275;({hulzU:function(o,t){return o(t)}})[t(501,"$OZw")](o,o=>{const e=t;o[e(495,"j#Y#")]=!0,o[e(362,"I$Nk")]=!1,o[e(428,"BmSK")]=!1})},stopGame:()=>{const o=_0x35a275;t()[o(454,")3zb")]()},resetGame:()=>{const t="BmSK",{arrows:e,cellToArrowId:n,count:r}=generateBoard();o(o=>{const W=_0x50e7;o[W(476,"keMm")]=!1,o[W(410,"iR&g")]=!1,o[W(428,t)]=!1,o[W(303,t)]=0,o.timeLeft=ARROWS_GAME_CONFIG[W(449,"e8**")],o.arrows=e,o.cellToArrowId=n,o[W(504,"edBV")]=r,o[W(336,"M$BZ")]+=1})},restartWithNewPuzzle:()=>{const{arrows:t,cellToArrowId:e,count:n}=generateBoard();o(o=>{const r=_0x50e7,W=r(401,"9x4k").split("|");let i=0;for(;;){switch(W[i++]){case"0":o.cellToArrowId=e;continue;case"1":o[r(450,"C2Is")]=n;continue;case"2":o.arrows=t;continue;case"3":o[r(411,"rKcP")]=!1;continue;case"4":o[r(400,"a!oF")]=0;continue;case"5":o.arrowsVersion+=1;continue;case"6":o.isCompleted=!1;continue;case"7":o[r(483,"a!oF")]=ARROWS_GAME_CONFIG.GAME_DURATION;continue;case"8":o.isGameOver=!1;continue}break}})},decrementTime:()=>{const t=_0x35a275,e={};e[t(373,"Qho5")]=function(o,t){return o<=t},e[t(312,"rKcP")]=function(o,t){return o!==t},e[t(414,"7]zZ")]=t(438,"Hpj!");const n=e;o(o=>{const e=t;if(o[e(380,"mYgH")]&&!o[e(315,"jdJy")]&&!o[e(409,"9x4k")]&&(o[e(347,"Hpj!")]-=1,n[e(393,"rKcP")](o[e(465,"rKcP")],0)))if(n.Tasxu(n.RNuiO,e(523,"]FRJ")))o.timeLeft=0,o.isGameOver=!0,o[e(311,"ELCY")]=!1,o[e(316,"C2Is")]=0;else{const o=_0x278aec(_0x773642[e(489,")eSW")],_0x34db8e[e(412,"O!LP")]);_0x483cca[o]=1,_0x1da9a9[o]=_0x121c29,_0x5904d2--}})}}))));export const useIsPlaying=()=>useArrowsStore(_temp);export const useIsCompleted=()=>({lDClU:function(o,t){return o(t)}}[_0x35a275(398,"&v6q")](useArrowsStore,_temp2));export const useIsGameOver=()=>({ebvFC:function(o,t){return o(t)}}[_0x35a275(344,"Hpj!")](useArrowsStore,_temp3));export const useScore=()=>({sZCTq:function(o,t){return o(t)}}[_0x35a275(528,")3zb")](useArrowsStore,_temp4));export const useTimeLeft=()=>useArrowsStore(_temp5);export const useArrowsRemaining=()=>({nQymw:function(o,t){return o(t)}}[_0x35a275(427,"7WEs")](useArrowsStore,_temp6));export const useArrowsVersion=()=>({TlWru:function(o,t){return o(t)}}[_0x35a275(317,"^fXt")](useArrowsStore,_temp7));function _temp(o){return o.isPlaying}function _temp2(o){return o[_0x35a275(410,"iR&g")]}function _temp3(o){return o[_0x35a275(409,"9x4k")]}function _temp4(o){return o.score}function _temp5(o){return o[_0x35a275(483,"a!oF")]}function _temp6(o){return o[_0x35a275(329,"^fXt")]}function _temp7(o){return o[_0x35a275(500,"ezNd")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x2587f9=_0x38a1;!function(){const e=_0x38a1,t=_0x534e();for(;;)try{if(999877==parseInt(e(420,"ut8u"))/1*(-parseInt(e(437,"4v*S"))/2)+parseInt(e(381,"jFv$"))/3*(parseInt(e(526,"p*1p"))/4)+parseInt(e(179,"x@(l"))/5*(parseInt(e(412,"rs@U"))/6)+-parseInt(e(343,"ETXj"))/7*(parseInt(e(517,"hTnT"))/8)+-parseInt(e(307,"bk##"))/9*(parseInt(e(370,"fr#9"))/10)+parseInt(e(417,"Y]Q#"))/11*(parseInt(e(492,"jFv$"))/12)+-parseInt(e(177,"V8$q"))/13*(-parseInt(e(425,"#^I7"))/14))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import _0x120532,{useMemo,useRef,useEffect,useImperativeHandle,forwardRef,useCallback,useReducer,useState}from"react";import{StyleSheet,View,Dimensions}from"react-native";import{Canvas,Circle,Path,Skia,Group,LinearGradient,vec}from"@shopify/react-native-skia";import _0x161909,{useSharedValue,useAnimatedStyle,withTiming,withSequence,Easing,runOnJS}from"react-native-reanimated";import{Gesture,GestureDetector}from"react-native-gesture-handler";import{useArrowsVersion,useArrowsStore}from"../ArrowsStore.js";import{GRID_COLS,GRID_ROWS,Direction,ARROWS_GAME_CONFIG as _0x147a67,ARROWS_ANIMATION_CONFIG as _0x5960e3,ARROW_COLOR,ARROW_FLY_COLOR,ARROW_BLOCKED_COLOR,EMPTY_DOT_COLOR}from"../ArrowsConstants.js";function _0x534e(){const e=["W5ZdO8kU","rmoEW4DBW4uFWOe","v1BcTmkiWQu","W7hdG8kuwSkGWQqWW77dG8k5W4euW6SFW5a4","vKlcTvvf","W6/dP8o7","W50LW6K","uf44W6fx","W5e6W6tcJCoFWQLq","aCkTW6RdKNG","W7aqW5jCW7TA","WQFdRSoDWRS1p2C","zmkmvxbnWQ7cMa","C8kTfvWPDq","nSkRW5/dKa","dCkmW7GNrSonxW","u1pcTgVdHa","W6ddSCkMlW","zMRcKCkPWPi","cCobwa","W7ldGSkxf1e","DvVdVZuI","W7ZdRCk7iKdcIq","W7FdG8orWRNdLq","W6BdM8krEmku","z8kPaLGJBSo1W53dNW","W7tcUsqO","i8kVgLa2WQiiyW","W53dVmkZqmoA","WRfumSkWW5FcUCoLtwNcM8k+WPNdQYNcNG4","D3ZdMXtdMa","W40OA3byzq8zofm","DMVcKSkYWOu","mSk7W5tdLmoBldlcMCke","v0RcVvri","W6FcLCkQmSkZW5Ggabi","WOz0c8kbW7C","WPZcV2nHwa","E1hcKwBdOG","ESk0gCk1WP3cSCkzW4q","W7ZcPtG+Ceb1","W6eVqv1H","BeRcUKq","W7NcOcWOwa","W53dO8k5cLi","W4WCW6hdS2i","W7RcLti","W4CtW6tdKLG","zSoBW68fW7JdTG","WRroW7hdPmoHEhO","W5OVEgXozXO","W63dLmkoDCoe","WRLtW7hdT8onzq","FhtdIrikWPDs","WOFcJmoAW4G","v3L0W5uH","CxpcGw9N","WQjsd8ksW54","WP1UWRuL","W57dQCk3BCkyWOK","WQtdRCoqWQuxcwZdG8kw","nCk4W63dQq","CCoSWPRcKmkhDY/cT8kqWPf5bq","ySkNffW","u8kepMKE","Dv0jW5zX","W6/dP8oJW6G","W5NdH8kWCG","WRvVbSkrW7q","c8kbW6mHz8okwq","v23dNsuL","xCoDW6jnW6G","pmkkW4ZdKq","zff5W6SH","vmoFgwSh","W5GSEuLS","kmkZW4m","WOxdK0ZdOG","qCkMnCk6WP0","WR7cHLrjE8kv","pSkVW6RdUCkVWOau","emk9W7pdSvZcVG","WP5YWRTXWQC","WQJdL8oPWPia","WQJcIK9svmkzW5O","nCk4W6xdUSkEWOy","yCkLaCk9WQG","WOpcOYJdKCo9A8oqqSke","WQddKmkKWQrk","WQZdUmkRWOTuW5ZcRCotW5y","WQRdO3JdHa1VWOe","W6xdImkTaLO","ChBcUK/dKW","pCkkW4/dMx/cHq","AxRcNCkNWOxcSa","n8k1W5O","WPRcQ03cJSk+WPFdQcW","W5VdSh7dGSohBG","C8k9cvOPACoV","D8o6hvG","wISvwem","WORdNSksWQbV","qvdcPmko","W57dSN/cLSks","zNdcN8kVWOpcQW","Fmo3aa","W7VdVCoGW7dcN8kJgW7cG8kv","WRbupSkYW5/cO8oHrwlcKCkOWOtdRW","ugLYW7Sr","DCo/c1aoWPmLyCkuWReU","AgJdNXqh","cSk8WQ3dKW","WQhdISo8WPuQ","W74qW4G","zSolW64fW6pdSfRcQSkNoCoLWR8","W4FcSqKMva","AeNcO8kqWOG","W77dQ8kI","W5pdSSoYWR7dKq","hCkqW6q","W4u9W6jIW4VcQw/cMmkeW4RcOmk2W5m","uczIcCoQ","tNyDW5PPu8kRrIKp","fCopWO4Eya","WRRcJmoE","WQBdTmolWRaCnh0","W5yVFG","xYKTvh8","rmooW5LfW7qEWRrmWRddVCoTW4Dw","CSoJcLihWPWO","fmkJW6FdJMi","W7mKW6dcT8oG","WORcT8onBCkyWQP2Ba","W5RdRSk2t8of","A3ldNcCl","leNcVxC","WO7cSCorCmkPWQ9P","W4SeW5BdV2ZdICoc","ruRcQgW","W6pdTCkNmW","vSk/e8k7WPW","Fu4+W6jd","W4GzW4ddQvC","W7lcGI7dV8ozDW","WPBcT8ov","WQDLWPu","zg3cGCkVWOy","swKiW5fJ","zfddRGBdI2ZdMahcT8o0WRneFSoK","oSkkW5G","W4tdUMS","W7NdQSkAmMa","WRneWPidWR3dJWRcVSkeW7/cRG","qmkyp8kzWPK","W7pdKmktFSo5","kCkZW4pdGCoGkG","jJddJceIWO5iW7K","qvdcR2xdMG","z8k3rfT+","W4KOW6XlW5C","WQXkWPWlWPOcW6CtqH4gFq","WP9Yeq","DCkrtNfoWOlcJSkJnXJcTSkWrq","W5VdTgNdISogCG","vhldMrVdQq","W7dcPI8+C0jUWPe","WPNcUSorDSkNWRz4BdNdTaHZ","W58OW7BcGCoAWQHDW7Piq8kFeq","WPX7W5pcTq","W5SYW6ZcMSoYWRrB","W53cGMxdKhaD","W67dLCoYWOtdJG","g8oAWOeDrwa","fmonWOKEFMdcVHuz","D8kruNfE","W5GOEhfCqaO","utuAvwW","W4FcJgRdHuSBW4ZcVcC","W7JdUSoMWRtdVa","WPVcRCoqA8kUWQ14","mCk4W6RdUCk6WO8eoW","W77dGmkRxmkp","W60kW5Dr","qmkpWR4wAutcKda","W5VdSSoxWO7dRmofW7S","W7pdU3VdJ8oI","uJT8cCoV","eCkSW77dKmoY","wxeEW515","W4RcOgtdHuu","WOhcT2bY","Dmk3aCkaWPK","WPr4W7BcRCoV","uCkjlgSu","WOpcUCkHrSkFWOGmW6C","vfpcSMpdMeFcL0mYvG","W7BcGIRdUSoOFmoq","W7NdUM/cIG","u0tcPe9j","W5pcMghdH0eCW5y","zmoCW68yW6RdQ1O","xxyDW5bjs8kRqdG","a8oqWPStwx3cSaK","W4uoW5ZdOvtdHa","sdOZtM0","qZ19","wKRcRW","eCkWW77dNmob","C8kTeKq","W4OEW4ddTexdGSoy","WRBdSmolWRy","W5xdMmoKW7lcJW","W5FdT8oeWP/dOmoFW7y","svZcGmkvWQq","y8k8uwzB","ECk7k0qTFSoYW4FdIW","WQZcSSoXyCk+","W5VdLmktACoJ","kmkwWOxdOG","WRTPWOjMWPRcVW","WPpcSComFq","W7BdRCo1","DCkFu3C","WP/cQmoMsSkF","amolWOKiwq","WOBcUNZdUw8/W60","W4OdW5VdQKtdNSojW40","FSk4fSk0WPNcVW","WPbPWQa+WPxdPsNcKG","WRVcHmoaW4uZoG","WQddHxpcRmkyjCoGW7xdOSofe0W","W7VdGCkME8kzW5tcOSkNWP0QWPedW7VcOmkEW7yIWPvcWRK","WOJdNchdRfq6W5FcQt0","axbSfSomWOxdVfq","WQtdHvVdMcy","W6tdQ8kL","W5RdUMBdGmoNAq","rfpcUfvPWPO1","WOfRoeDBqrSmna","WRnhWPWsWRldJXNcOSksW6RcSSkpW6BdNG","gvxcQNldJIyN","zSklvw1FWONcIa","aSkCW6qYv8ol","W5tdOgldL8owAmoh","WQbLWOjLWOhcOa","jSk1W4e","BhxdIq8eWPXLW504","WPpcVCoB","nCkVW57dJa","WQvZWRXUWPtcSuFdTGC","nmomfIKoW5pcQCkjibxcGSkM","WO/dMmkdWRPJ","kCkwW6mFDW","W4BcJh/dGee","WRjdW6RdOSoaF3W","uvJdSbmO","W4WUW4vHW4i","nCk0W6xdUmk+WOe","W4BdT2ddKmob","BuRdSWBdG2pdJYFcQG","WOhcPchcLSkammkgECkUkSoNWRpdRa","W78lW5lcRCoU","x3WvW4bEvSk4","W7RdUSoTW7JcMCkSeq","WOVcSCoWymkS","W5tdUN7dKCosB8oDrmk6","vcX6nCoSWRtdNh0","Dmk9aq","WO9PpsSzorOCmwKEW6W","W5pdRvhdRSoq","BwuVW75C","Ff97W7S","W7BdJSo5WQ7dJSo0W4y","BvddVXVdGq","W5mRW70","pSkVW6RdUCk5WPOriuy","sSoeW4nmW7qE","W4adthHr","W6pdRCkhpNm","gSoBr0G","W4JdGCkUESkn","W6ldQ8kGkxa","W4ZdO3lcLSk+WQ7dLq","W7K+W7XbW6K","W5BcTIuByG","jSkVW5/dLSorkYG","qSoCW6zCW6i","sgSjW5P+","WRnjlCkVW4ZcTmo0rwlcISkPWOVdPc7cJrW","W7BdG8kora","yxBcL0hdQuNcONy","WQddUexdGXW","W7hcVYqP","W44ZBMPd","Ah7cGW","WR3dUmkgWOvU","W7aAW4Lw","weWrW5Dp","W6BcJ8k/","AMRcHW","W7hcMmkHnCkuW4mD","qL7cO1niWP0Z","WQRdO2JdNWS","p0lcT0RdRq","bSk8WQFdJ8k5smkC","WOBcUSoHFSkIWOWhW5tdGa","rCo3ca","W5xcKSk6lSkNW5KOeb4g","W7hdRCoIW7VcQmkQ","W5NdPCk3BG","zSoBW68fW7JdJeO","wZu7","W4ukW696W6u","W4COW6bqW6q","W5G2W4vYW4O","huxcRa","W7ZcOY8eqG","W6ldJ8kQFG","WQtcMCoCW48mmg4Gxau","WRBcICokW6ylla","W7ZdUSo+W7pcQW","W6BdJ8kxwmk0","W5NdQCkG","p8kaW5y","W5VcLSkTm8k8W4SwlHyByCo+","WOVcP25uuG","WPDTWQOaWQ0","vM0sW5foua","WQFcMmoDW4G","W7NcGXKJqq","WOpcOYFcKCkanmoaE8kVamoeWP4","rCoeW5rBW4q+WPnyWRhdT8oU","uf7cSev5WPW","W5KkW4BdRG","sSokW40","W73cMcCVqa","rmoEW5HLW4uFWOy","WPdcUCogwmk5WRfJFG","srtdRJpcNh4KuCkLW7RcSmoP","WQpcSmoJDcpdKmkAWQuYWPFdUCoN","u33cNK5D","W5tdUNZdISobDq","ymoeW5XJW7q","tetcP0r5WPW","W73dOmkmqSk/","W6tdG8kPDq","rLVcLxj5","ACkxsxPUWOG","WOfSW5FcJ8od","W5NcOcpdSmo+","W5G+BLXhzG0g","W74kW5zlW4PBW4C","W4RdThFcJCki","rmkmvxbnWPtcV8khlWVcUCk3","vYGCvguXW4ucWOWWfq","DmkKfmk9WO7cSCkdW5PyW5a","zCkWaCkHWQlcUCkdW5Hk","WO7cPgFdPmo+CCoDza","kCkPW7G","W5ZcKsddUW","WPxdMmkj","WR/cLCoZl8kdW5FdOSo6W5f4W5be","rKVcQwVdNwVcTe87uCkp","aW7dQJFcHtJdLN45r8kjc8o/","WRBcGCoPASkm","FffHW7CYW4NcSG/dLw9n","WQfTW4lcNCo2","W4xdSNxcH8kUWQG","W6tdQ8kHjNG","v8okW4fb","W77dH8k9ASoEWO7dUmo/W44"];return(_0x534e=function(){return e})()}import{playSound,GAME_SOUNDS}from"../../../services/SoundsService.js";import{playHaptic,HapticType}from"../../../services/HapticsService.js";import{jsx as _0xd1ad7b,jsxs as _0x2b9770}from"react/jsx-runtime";const TILE_SIZE=_0x147a67[_0x2587f9(276,"6Yl*")],TILE_GAP=_0x147a67[_0x2587f9(477,"x@(l")],ARROW_SW=_0x147a67.ARROW_STROKE_WIDTH,ARROWHEAD_LEN=_0x147a67.ARROWHEAD_LEN,ARROWHEAD_HW=_0x147a67[_0x2587f9(475,"W(gq")],CORNER_R=_0x147a67.CORNER_RADIUS,DOT_R=_0x147a67.DOT_RADIUS,BOARD_PAD=_0x147a67[_0x2587f9(294,"W(gq")],BOARD_W=_0x147a67[_0x2587f9(339,"bk##")],BOARD_H=_0x147a67.BOARD_HEIGHT,CANVAS_W=BOARD_W,CANVAS_H=BOARD_H,CELL_STRIDE=TILE_SIZE+TILE_GAP,WELL_X=BOARD_PAD,WELL_Y=BOARD_PAD,HIT_MARGIN=TILE_GAP/2+.1*TILE_SIZE,HALF_TILE=TILE_SIZE/2,SCREEN=Dimensions[_0x2587f9(502,"znmL")](_0x2587f9(406,"k1Iv")),FLY_FAR=BOARD_W+BOARD_H+SCREEN[_0x2587f9(290,"2ani")]+SCREEN.height,FLY_H_PAD=Math[_0x2587f9(361,"4v*S")](.4*SCREEN.width),cellCenterX=e=>WELL_X+e*CELL_STRIDE+HALF_TILE,cellCenterY=e=>WELL_Y+e*CELL_STRIDE+HALF_TILE,EDGE_INSET=Math[_0x2587f9(395,"hf$C")](ARROW_SW/2),buildPathFromPoints=e=>{const t="6LR3",W="jFv$",n=_0x2587f9,r={OlUHS:function(e,t){return e<t}};r[n(327,t)]=function(e,t){return e-t},r[n(376,"rs@U")]=function(e,t){return e+t},r[n(499,"3DFD")]=function(e,t){return e*t},r[n(490,"znmL")]=function(e,t){return e+t},r[n(252,"ALnH")]=function(e,t){return e/t},r[n(448,"jJla")]=function(e,t){return e*t},r[n(536,"Y]Q#")]=function(e,t){return e/t},r.fBvya=function(e,t){return e+t},r.LpdKb=function(e,t){return e*t},r.cseHW=function(e,t){return e-t};const o=r,d=Skia[n(254,"V8$q")][n(229,"7kM1")]();if(o[n(531,W)](e[n(431,"k1Iv")],2))return d;d[n(463,"OV[t")](e[0][0],e[0][1]);for(let t=1;t<o[n(372,"hTnT")](e[n(284,"hTnT")],1);t++){const r=e[t-1],a=e[t],u=e[t+1],i=r[0]-a[0],s=r[1]-a[1],_=u[0]-a[0],k=u[1]-a[1],R=Math[n(326,"p*1p")](o.zMwpa(i*i,o[n(228,"#^I7")](s,s))),f=Math[n(201,"&kd1")](o[n(467,W)](_*_,k*k)),S=Math[n(263,"&kd1")](CORNER_R,R/2,f/2),O=a[0]+o.XuKCJ(i/R,S),x=o[n(490,"znmL")](a[1],o.OYubk(s,R)*S),l=a[0]+o[n(380,"hf$C")](o[n(398,"O#&H")](_,f),S),C=o[n(401,"4v*S")](a[1],o.LpdKb(k/f,S));d[n(444,"gW*v")](O,x),d[n(519,"7kM1")](a[0],a[1],l,C)}return d[n(414,t)](e[e.length-1][0],e[o[n(503,"IhBA")](e[n(390,"Uxh2")],1)][1]),d},buildArrowheadPath=(e,t,W)=>{const n=_0x2587f9,r={};r[n(208,"ETXj")]=function(e,t){return e+t},r[n(269,"k1Iv")]=function(e,t){return e===t},r[n(403,"FyKG")]=function(e,t){return e+t},r[n(464,"#^I7")]=function(e,t){return e-t};const o=r,d=Skia[n(241,"sBCf")][n(175,"Y]Q#")]();return o.RrWsR(W,Direction.UP)?(d[n(357,"rs@U")](e,t),d.lineTo(e-ARROWHEAD_HW,t+ARROWHEAD_LEN),d[n(209,"p*1p")](o[n(394,"&kd1")](e,ARROWHEAD_HW),t+ARROWHEAD_LEN)):W===Direction.DOWN?"FADvL"!==n(456,"hTnT")?(d[n(197,"3DFD")](e,t),d[n(534,"4v*S")](o.yYFfz(e,ARROWHEAD_HW),t-ARROWHEAD_LEN),d.lineTo(e+ARROWHEAD_HW,t-ARROWHEAD_LEN)):(_0x11add5[n(423,"hTnT")](_0x898489,_0x134b12),_0x2f3b4a[n(514,"ALnH")](_0x3b05c5-_0x2e7afc,_0x5b91e0+_0x1a004b),_0x1f1f19[n(342,"&kd1")](o[n(194,"ALnH")](_0x374443,_0x4d36c0),_0x58a4e1+_0x38263c)):o[n(404,"V8$q")](W,Direction[n(264,"^brL")])?(d.moveTo(e,t),d[n(183,"2ani")](e+ARROWHEAD_LEN,t-ARROWHEAD_HW),d[n(416,"sBCf")](e+ARROWHEAD_LEN,t+ARROWHEAD_HW)):(d[n(530,"7kM1")](e,t),d.lineTo(o[n(182,"O*V2")](e,ARROWHEAD_LEN),o[n(217,"Ej(s")](t,ARROWHEAD_HW)),d.lineTo(e-ARROWHEAD_LEN,t+ARROWHEAD_HW)),d.close(),d},buildArrowSkiaPath=(e,t)=>{const W=_0x2587f9,n={};n[W(368,"jFv$")]=function(e,t){return e===t},n[W(529,"OV[t")]=function(e,t){return e===t},n[W(328,"ALnH")]=function(e,t){return e*t};const r=n,o=e[e[W(431,"k1Iv")]-1],d=cellCenterX(o.col),a=cellCenterY(o.row),u=r[W(379,"O*V2")](t,Direction.LEFT)?-1:t===Direction[W(189,"NkLI")]?1:0,i=r[W(439,"OAA4")](t,Direction.UP)?-1:t===Direction[W(355,"O*V2")]?1:0,s=HALF_TILE-EDGE_INSET,_=d+u*s,k=a+r.GJBVY(i,s),R=_-u*ARROWHEAD_LEN,f=k-i*ARROWHEAD_LEN,S=e[W(311,"sBCf")](e=>[cellCenterX(e[W(432,"&kd1")]),cellCenterY(e[W(192,"O#&H")])]);S[W(325,"x@(l")]([R,f]);const O=buildPathFromPoints(S),x=buildArrowheadPath(_,k,t),l={};return l[W(520,"Uxh2")]=O,l[W(367,"gW*v")]=x,l},buildFlyPolyline=(e,t)=>{const W=_0x2587f9,n={LCsUU:function(e,t){return e===t},IfoWw:function(e,t){return e(t)},bIcDD:function(e,t){return e*t}},r=e[W(481,"NkLI")](e=>[cellCenterX(e.col),cellCenterY(e.row)]),o=e[e[W(246,"jFv$")]-1],d=n.LCsUU(t,Direction[W(377,"RM@D")])?-1:n[W(400,"NkLI")](t,Direction[W(340,"6LR3")])?1:0,a=t===Direction.UP?-1:t===Direction[W(476,"jFv$")]?1:0,u=FLY_FAR;return r[W(515,"sBCf")]([cellCenterX(o.col)+d*u,n[W(471,"IhBA")](cellCenterY,o[W(282,"&kd1")])+n[W(345,"4v*S")](a,u)]),r},cumulativeLengths=e=>{const t=_0x2587f9,W={smtey:function(e,t,W){return e(t,W)},TCNRX:t(244,"W(gq"),drJou:function(e,t){return e+t},avsWG:function(e,t){return e-t},zIiqU:function(e,t){return e+t}},n=[0];for(let r=1;r<e[t(272,"gW*v")];r++)if(W[t(508,"jFv$")]===W.TCNRX){const o=e[r][0]-e[r-1][0],d=e[r][1]-e[r-1][1];n[t(466,"#XG$")](W[t(238,"V8$q")](n[W[t(262,"#^I7")](r,1)],Math[t(397,"7^4^")](W.zIiqU(o*o,d*d))))}else _0x438196=W[t(334,"ALnH")](_0xdf3cfe,0,_0x2e9f18),_0x7c1554=_0x58a14c(0,_0x4e931b+_0x2855a2);return n},pointAtDistance=(e,t,W)=>{const n=_0x2587f9,r={};r[n(232,"Uxh2")]=function(e,t){return e-t},r.Gtyqo=function(e,t){return e<=t},r[n(442,"ETXj")]=function(e,t){return e/t},r.gpDST=function(e,t){return e-t};const o=r;if(W<=0)return e[0];if(W>=t[o[n(473,"OV[t")](t[n(280,")PAl")],1)])return e[e[n(429,"OAA4")]-1];for(let r=1;r<t[n(495,"O#&H")];r++)if(o[n(255,"W(gq")](W,t[r])){const d=t[r]-t[r-1],a=d>0?o[n(180,"FyKG")](W-t[r-1],d):0;return[e[r-1][0]+o[n(305,"X!Oc")](e[r][0],e[r-1][0])*a,e[r-1][1]+(e[r][1]-e[o[n(410,"FyKG")](r,1)][1])*a]}return e[o[n(533,"7kM1")](e[n(281,"NkLI")],1)]},subPolyline=(e,t,W,n)=>{const r=_0x2587f9,o={};o[r(346,"3DFD")]=function(e,t){return e>=t},o[r(303,"NkLI")]=function(e,t){return e<t},o.FUHrB=function(e,t){return e<t};const d=o,a=t[t.length-1],u=Math[r(521,"OV[t")](0,W),i=Math.min(a,n);if(d[r(211,"jFv$")](u,i))return[];const s=[pointAtDistance(e,t,u)];for(let W=1;d[r(270,"7^4^")](W,e[r(431,"k1Iv")]);W++)t[W]>u&&d[r(512,"RM@D")](t[W],i)&&s[r(369,"3DFD")](e[W]);return s.push(pointAtDistance(e,t,i)),s},ArrowsCanvas=_0x120532[_0x2587f9(483,"3DFD")](()=>{const e=_0x2587f9,t={xfcHN:function(e){return e()},HlfEJ:function(e,t){return e===t},YXStO:e(474,"ALnH")},W=useArrowsVersion(),n=useMemo(()=>{const W=e,n=useArrowsStore.getState(),{arrows:r,cellToArrowId:o}=n,d=[];for(let e=0;e<GRID_ROWS;e++)for(let n=0;n<GRID_COLS;n++){const r=e*GRID_COLS+n;(null===o[r]||void 0===o[r])&&(t[W(257,"ETXj")](W(295,"NiUM"),"BYgeU")?d.push(_0xd1ad7b(Circle,{cx:cellCenterX(n),cy:cellCenterY(e),r:DOT_R,color:EMPTY_DOT_COLOR},"d"+r)):(t.xfcHN(_0x41640d),_0x56ea34()))}for(const e of r){const{path:n,headPath:r}=buildArrowSkiaPath(e[W(212,"hf$C")],e.exitDir),o={};o[W(185,"OV[t")]=n,o[W(273,"6LR3")]="stroke",o[W(178,"x@(l")]=ARROW_SW,o[W(433,"ETXj")]=W(288,"6Yl*"),o[W(505,"sBCf")]=t[W(535,"O*V2")],o[W(308,"ut8u")]=ARROW_COLOR,d[W(204,"p*1p")](_0xd1ad7b(Path,o,"s"+e.id));const a={};a[W(409,"4v*S")]=r,a[W(168,"2ani")]=ARROW_COLOR,d[W(435,"&kd1")](_0xd1ad7b(Path,a,"h"+e.id))}return d},[W]),r={};return r.style=canvasStyles[e(293,"O#&H")],r[e(349,"4v*S")]=e(298,"U$9@"),r[e(413,"Uxh2")]=n,_0xd1ad7b(Canvas,r)});ArrowsCanvas.displayName=_0x2587f9(169,"4v*S");const FLY_TRANSPARENT=_0x2587f9(418,"V8$q"),FLY_MIN_FADE=4*CELL_STRIDE,FlyingArrow=_0x120532[_0x2587f9(259,")PAl")](({item:e,onDone:t,boardOffset:W,rootSize:n})=>{const r="7kM1",o=_0x2587f9,d={XaCjA:function(e,t){return e(t)},nxVTx:function(e,t){return e+t},TvStF:function(e,t){return e+t},zvWdH:function(e,t,W){return e(t,W)},bFBPE:function(e,t){return e*t},ELFpi:function(e,t){return e(t)},TZwZk:function(e,t,W,n){return e(t,W,n)},ffyQT:function(e,t,W){return e(t,W)},QMEGH:function(e,t){return e(t)},fSSoT:function(e,t){return e-t},SHrUt:o(458,"NiUM"),CAgTP:function(e,t){return e+t},dpJcK:o(468,"p*1p")},a=e[o(333,"NkLI")],u=d.ffyQT(useMemo,()=>{const e=o;if(e(443,"3DFD")!==e(365,"X!Oc")){const t=buildFlyPolyline(a[e(364,"rs@U")],a[e(356,"jJla")]),n=d[e(302,"IhBA")](cumulativeLengths,t),r=n[n[e(272,"gW*v")]-1],o=n[a.waypoints.length-1],u=d[e(234,"Uxh2")](o,HALF_TILE-EDGE_INSET),i=Math.max(W.x,FLY_H_PAD,FLY_MIN_FADE),s=Math[e(292,"TIre")](W.y,FLY_MIN_FADE);let _,k;a[e(424,"7kM1")]===Direction.UP?(_=vec(0,0),k=vec(0,-s)):a[e(487,"X^@!")]===Direction[e(289,"NkLI")]?(_=vec(0,BOARD_H),k=vec(0,d[e(374,"&kd1")](BOARD_H,s))):a[e(236,"K]uT")]===Direction[e(405,"U$9@")]?(_=vec(0,0),k=vec(-i,0)):(_=d[e(341,"V8$q")](vec,BOARD_W,0),k=vec(BOARD_W+i,0));const R={};return R.pts=t,R.cumLens=n,R[e(184,"p*1p")]=r,R[e(198,"7^4^")]=u,R[e(388,"ALnH")]=_,R[e(383,"Y]Q#")]=k,R}!_0x36532a[e(472,"&kd1")]&&(_0x60a245[e(240,"ETXj")]=!0,d[e(275,"6Yl*")](_0x33babb,_0x358a46[e(336,")PAl")]))},[a,W]),[i,s]=d[o(224,"RM@D")](useState,u.bodyLen),_=useRef(Date[o(187,"jFv$")]()),k=d.QMEGH(useRef,!1);d[o(378,"6LR3")](useEffect,()=>{let W=0;const n=()=>{const r=_0x38a1,o=Date[r(510,")PAl")]()-_[r(202,"OAA4")],a=Math.min(1,o/_0x5960e3.FLY_DURATION),i=a*a;s(u[r(324,"Uxh2")]+d[r(207,"p*1p")](i,u[r(344,"x@(l")]-u.bodyLen)),a>=1?!k[r(188,"OV[t")]&&(k[r(386,"rs@U")]=!0,d[r(317,")PAl")](t,e[r(434,"FyKG")])):W=requestAnimationFrame(n)};return W=requestAnimationFrame(n),()=>cancelAnimationFrame(W)},[]);const R=d[o(516,"IhBA")](i,u[o(491,"U$9@")]),f=R<u.total,{path:S,headPath:O}=d[o(513,"bk##")](useMemo,()=>{const e=o;if(!f)return{path:Skia[e(384,"2ani")][e(229,"7kM1")](),headPath:Skia.Path.Make()};const t=subPolyline(u[e(174,"gW*v")],u[e(523,"OV[t")],R,i),W=buildPathFromPoints(t),n=pointAtDistance(u[e(392,"ut8u")],u.cumLens,Math[e(176,"6Yl*")](i,u[e(223,"W(gq")])),r=d[e(215,"V8$q")](buildArrowheadPath,n[0],n[1],a[e(469,"2ani")]),s={};return s.path=W,s[e(226,"6LR3")]=r,s},[i,u,a[o(424,r)],R,f]),x=n.w||SCREEN[o(297,"ETXj")],l=n.h||SCREEN[o(239,"K]uT")],C={};C[o(248,"gW*v")]=-FLY_H_PAD,C[o(191,r)]=x+2*FLY_H_PAD;const A=useMemo(()=>[StyleSheet[o(301,"]VqP")],C],[x]),m=useMemo(()=>({width:x+2*FLY_H_PAD,height:l}),[x,l]);if(!f)return null;const h={};h[o(309,"ALnH")]=W.x+FLY_H_PAD;const L={};L[o(218,"#^I7")]=W.y;const D={};D[o(411,"fr#9")]=u[o(462,"gW*v")],D.end=u[o(450,"O#&H")],D[o(528,"hTnT")]=[ARROW_FLY_COLOR,FLY_TRANSPARENT];const E={};return E[o(219,"NkLI")]=u[o(360,"fr#9")],E[o(498,"2mzX")]=u[o(267,"gW*v")],E[o(291,"NkLI")]=[ARROW_FLY_COLOR,FLY_TRANSPARENT],_0xd1ad7b(View,{style:A,pointerEvents:d[o(320,"V8$q")],children:d[o(258,"OV[t")](_0xd1ad7b,Canvas,{style:m,children:_0x2b9770(Group,{transform:[h,L],children:[_0xd1ad7b(Path,{path:S,style:o(266,"RM@D"),strokeWidth:d[o(210,"X!Oc")](ARROW_SW,1),strokeCap:o(385,"7kM1"),strokeJoin:d[o(287,"2mzX")],children:_0xd1ad7b(LinearGradient,D)}),d.zvWdH(_0xd1ad7b,Path,{path:O,children:_0xd1ad7b(LinearGradient,E)})]})})})});FlyingArrow.displayName="FlyingArrow";const BlockedArrow=_0x120532.memo(({item:e,onDone:t,boardOffset:W,rootSize:n})=>{const r=_0x2587f9,o={dKEWS:function(e,t){return e*t},PXPNJ:function(e,t){return e/t},NnJbT:"gowkB",ZWDiK:function(e,t){return e(t)},dpOJg:function(e,t,W){return e(t,W)},gFrRv:function(e,t,W){return e(t,W)},mSQnN:function(e,t){return e+t},tsgGd:"stroke"},d=e[r(314,"2mzX")],{path:a,headPath:u}=useMemo(()=>buildArrowSkiaPath(d[r(186,"V8$q")],d[r(271,"RM@D")]),[d]),i={tx:0};i[r(195,"jJla")]=1;const[{tx:s,opacity:_},k]=useState(i),R=o[r(358,"X!Oc")](useRef,Date[r(304,"p*1p")]()),f=useRef(!1);useEffect(()=>{let W=0;const n=()=>{const r=_0x38a1,d=Date[r(331,"FyKG")]()-R[r(277,"^brL")],a=Math[r(348,"W(gq")](1,d/_0x5960e3[r(426,"bk##")]),u=Math[r(306,"OAA4")](6*o[r(299,"7^4^")](a,Math.PI))*(1-a)*5,i=a<.6?1:Math[r(461,"jJla")](0,1-o[r(243,"7kM1")](a-.6,.4)),s={};if(s.tx=u,s.opacity=i,k(s),a>=1){if(r(278,"p*1p")!==o[r(225,"x@(l")])return void(!f.current&&(f[r(441,"K]uT")]=!0,o[r(500,"3DFD")](t,e[r(408,"O#&H")])));_0x4ed621&&(_0x32b1f7[r(440,"rs@U")]=_0x463d6e(_0x58c11d(_0x392052[r(190,"jFv$")],{duration:200,easing:_0x5370a2[r(486,"NkLI")](_0x44cbcd[r(489,"^brL")])}),_0x322a89(1,{duration:200,easing:_0x572bd2[r(478,"^brL")](_0x2dfb95.cubic)})))}W=requestAnimationFrame(n)};return W=o[r(351,"Ej(s")](requestAnimationFrame,n),()=>cancelAnimationFrame(W)},[]);const S=n.w||SCREEN.width,O=n.h||SCREEN.height,x=useMemo(()=>({width:S,height:O}),[S,O]),l={};l[r(371,"X!Oc")]=_;const C=o.dpOJg(useMemo,()=>[StyleSheet[r(353,"FyKG")],l],[_]);return o.gFrRv(_0xd1ad7b,View,{style:C,pointerEvents:r(479,"IhBA"),children:_0xd1ad7b(Canvas,{style:x,children:_0x2b9770(Group,{transform:[{translateX:o[r(421,"^brL")](W.x,s)},{translateY:W.y}],children:[_0xd1ad7b(Path,{path:a,style:o[r(321,"ETXj")],strokeWidth:ARROW_SW+1,strokeCap:r(288,"6Yl*"),strokeJoin:"round",color:ARROW_BLOCKED_COLOR}),_0xd1ad7b(Path,{path:u,color:ARROW_BLOCKED_COLOR})]})})})});BlockedArrow.displayName="BlockedArrow";const OverlayLayer=forwardRef(({boardOffset:e,rootSize:t},W)=>{const n=_0x2587f9,r={siRyg:function(e){return e()},jDnxH:n(454,"6LR3"),rVOop:"block",PBKls:function(e,t,W){return e(t,W)},SwMkP:"none"},o=useRef([]),d=useRef(0),[,a]=r[n(196,")PAl")](useReducer,e=>e+1,0),u=useCallback(e=>{const t=n;o[t(237,"#^I7")]=o[t(428,"4v*S")].filter(t=>t.key!==e),r[t(451,"FyKG")](a)},[]);useImperativeHandle(W,()=>({addFly:(e,t,W,u)=>{const i=n,s={};s.key=d[i(441,"K]uT")]++,s[i(504,"V8$q")]=r.jDnxH,s[i(362,"#^I7")]=e,s[i(507,"O#&H")]=t,s.row=W,s[i(206,"#XG$")]=u,o[i(366,"FyKG")]=[...o[i(387,"]VqP")],s],r[i(465,"p*1p")](a)},addBlock:(e,t,W,u)=>{const i=n,s={};s[i(332,"k1Iv")]=d[i(285,"hf$C")]++,s[i(496,"jFv$")]=r[i(527,"7kM1")],s.arrowId=e,s[i(373,"ut8u")]=t,s[i(485,"X^@!")]=W,s[i(300,"3DFD")]=u,o[i(312,"7^4^")]=[...o[i(188,"OV[t")],s],a()},clear:()=>{o[n(538,"3DFD")]=[],a()}}),[]);const i=o[n(488,"7kM1")];return _0xd1ad7b(View,{style:StyleSheet[n(354,"jJla")],pointerEvents:r[n(265,"6LR3")],children:i[n(337,"2ani")](W=>"fly"===W[n(407,"FyKG")]?_0xd1ad7b(FlyingArrow,{item:W,onDone:u,boardOffset:e,rootSize:t},W[n(233,"Y]Q#")]):_0xd1ad7b(BlockedArrow,{item:W,onDone:u,boardOffset:e,rootSize:t},W.key))})});OverlayLayer.displayName=_0x2587f9(511,"X^@!");export const ArrowsGrid=_0x120532[_0x2587f9(532,"V8$q")](({soundEnabledRef:e,hapticEnabledRef:t})=>{const W=_0x2587f9,n={EIaKe:function(e,t,W){return e(t,W)},qbpur:"fly",UwzGE:function(e,t){return e<t},WaSJF:function(e,t){return e>=t},MglMF:function(e,t){return e+t},bHmcU:"bNodp",fpfdM:function(e,t){return e(t)},MneYV:function(e,t){return e(t)},dAXxF:function(e,t,W){return e(t,W)}},r=useRef(!1),o=n.fpfdM(useRef,null),d=n[W(318,"jJla")](useSharedValue,1);useEffect(()=>{const e=W;r[e(227,"IhBA")]=useArrowsStore.getState()[e(436,"k1Iv")];const t=useArrowsStore.subscribe(t=>t[e(402,"hf$C")],t=>{const W=e;r[W(396,"Uxh2")]=t,t||o[W(430,"hTnT")]?.clear()}),n=useArrowsStore[e(222,"X^@!")](t=>t[e(170,"2mzX")],t=>{const W=e;t&&(d.value=withSequence(withTiming(_0x5960e3[W(216,"W(gq")],{duration:200,easing:Easing[W(313,"#^I7")](Easing[W(375,"ALnH")])}),withTiming(1,{duration:200,easing:Easing[W(338,"p*1p")](Easing[W(205,"NkLI")])})))});return()=>{t(),n()}},[d]);const a=useSharedValue(0);useEffect(()=>{const e=W;a.value=n[e(482,"6Yl*")](withTiming,1,{duration:350,easing:Easing[e(393,"x@(l")](Easing[e(460,"Ej(s")])})},[a]);const u=useAnimatedStyle(()=>({opacity:a[W(391,"2mzX")],transform:[{scale:d[W(221,"7kM1")]*(.94+.06*a[W(260,"NiUM")])}]})),i=useRef((d,a)=>{const u=W;if(!r[u(316,"TIre")])return;const i=d-WELL_X,s=a-WELL_Y;if(n.UwzGE(i,-HIT_MARGIN)||n.UwzGE(s,-HIT_MARGIN))return;const _=Math.floor((i+HIT_MARGIN)/CELL_STRIDE),k=Math[u(203,"x@(l")]((s+HIT_MARGIN)/CELL_STRIDE);if(k<0||k>=GRID_ROWS||_<0||n[u(457,"ALnH")](_,GRID_COLS))return;const R=useArrowsStore[u(453,"ut8u")](),f=n[u(231,"p*1p")](k*GRID_COLS,_),S=R[u(315,"OV[t")][f];let O;if(null!=S)if(n[u(484,"ALnH")]!==n[u(522,"IhBA")]){const e={};e[u(509,"jFv$")]=_0x20461c.current++,e[u(213,"IhBA")]=RKXcnB[u(445,"hTnT")],e[u(497,"]VqP")]=_0x143639,e[u(329,"Uxh2")]=_0x82449,e.row=_0x2f5137,e[u(193,"jJla")]=_0x4408be,_0x19267a[u(188,"OV[t")]=[..._0x68527c.current,e],_0x572884()}else{const e=R[u(235,"]VqP")].find(e=>e.id===S);if(e){const t={};t.id=e.id,t[u(172,"6LR3")]=[...e[u(220,"&kd1")]],t[u(256,"OAA4")]=e[u(449,"ALnH")],O=t}}const x=R.tryRemoveArrow(k,_);x.removed&&O?(o.current?.[u(506,"sBCf")](x[u(199,"4v*S")],O,k,_),n[u(242,"NiUM")](playSound,GAME_SOUNDS[u(268,")PAl")][u(251,"hf$C")],e.current),playHaptic(HapticType.LIGHT,t[u(427,"znmL")])):x[u(524,"FyKG")]&&O&&(o[u(441,"K]uT")]?.[u(537,"#^I7")](x.arrowId,O,k,_),n[u(501,"3DFD")](playSound,GAME_SOUNDS.ARROWS[u(459,"X!Oc")],e.current),n[u(261,"TIre")](playHaptic,HapticType.WARNING,t[u(399,"X!Oc")]))}),s=n.dAXxF(useMemo,()=>Gesture[W(493,"TIre")]()[W(363,"2mzX")](e=>{n[W(230,"IhBA")](runOnJS,i.current)(e.x,e.y)}),[]),_={};_[W(480,"#^I7")]=CANVAS_W,_[W(359,"fr#9")]=CANVAS_H;const k=useRef([styles[W(452,"hTnT")],_,u]).current,[R,f]=n[W(310,"fr#9")](useState,{w:0,h:0}),S=n[W(279,"x@(l")](useCallback,e=>{const t=W,{width:n,height:r}=e[t(181,"NiUM")][t(350,"hTnT")];f(e=>e.w===n&&e.h===r?e:{w:n,h:r})},[]),O=useMemo(()=>({x:Math.max(0,(R.w-CANVAS_W)/2),y:Math.max(0,(R.h-CANVAS_H)/2)}),[R]),x={};return x.ref=o,x[W(518,"OV[t")]=O,x[W(319,"FyKG")]=R,_0x2b9770(View,{style:styles[W(253,"O#&H")],onLayout:S,children:[_0xd1ad7b(GestureDetector,{gesture:s,children:_0xd1ad7b(_0x161909[W(322,"znmL")],{style:k,children:_0xd1ad7b(ArrowsCanvas,{})})}),n[W(470,"3DFD")](_0xd1ad7b,OverlayLayer,x)]})});function _0x38a1(e,t){e-=168;const W=_0x534e();let n=W[e];if(void 0===_0x38a1.jbvfzk){const e=function(e,t){let W,n,r=[],o=0,d="";for(e=function(e){let t="",W="";for(let W,n,r=0,o=0;n=e.charAt(o++);~n&&(W=r%4?64*W+n:n,r++%4)?t+=String.fromCharCode(255&W>>(-2*r&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=t.length;e<n;e++)W+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(W)}(e),n=0;n<256;n++)r[n]=n;for(n=0;n<256;n++)o=(o+r[n]+t.charCodeAt(n%t.length))%256,W=r[n],r[n]=r[o],r[o]=W;n=0,o=0;for(let t=0;t<e.length;t++)n=(n+1)%256,o=(o+r[n])%256,W=r[n],r[n]=r[o],r[o]=W,d+=String.fromCharCode(e.charCodeAt(t)^r[(r[n]+r[o])%256]);return d};_0x38a1.rHgttG=e,_0x38a1.NHjJOQ={},_0x38a1.jbvfzk=!0}const r=W[0];_0x38a1.IYgrkI!==r&&(_0x38a1.NHjJOQ={},_0x38a1.IYgrkI=r);const o=_0x38a1.NHjJOQ[e];return void 0===o?(void 0===_0x38a1.uXyQNG&&(_0x38a1.uXyQNG=!0),n=_0x38a1.rHgttG(n,t),_0x38a1.NHjJOQ[e]=n):n=o,n}const _0x1905bd={};_0x1905bd[_0x2587f9(389,"fr#9")]=_0x2587f9(415,"bk##"),_0x1905bd[_0x2587f9(422,"p*1p")]=0,_0x1905bd[_0x2587f9(245,"bk##")]=0,_0x1905bd[_0x2587f9(438,"6Yl*")]=CANVAS_W,_0x1905bd.height=CANVAS_H;const _0x6b7ab6={};_0x6b7ab6[_0x2587f9(171,"6LR3")]=_0x1905bd;const canvasStyles=StyleSheet[_0x2587f9(330,"Y]Q#")](_0x6b7ab6),_0xa75693={};_0xa75693[_0x2587f9(286,"TIre")]=1,_0xa75693[_0x2587f9(335,"Ej(s")]=_0x2587f9(200,"hf$C"),_0xa75693[_0x2587f9(382,"x@(l")]="center",_0xa75693[_0x2587f9(352,"IhBA")]=_0x2587f9(323,"FyKG");const _0x532245={};_0x532245[_0x2587f9(247,"7^4^")]="center";const _0x2550e2={};_0x2550e2[_0x2587f9(250,"hf$C")]=_0xa75693,_0x2550e2[_0x2587f9(446,"Ej(s")]=_0x532245;const styles=StyleSheet.create(_0x2550e2);ArrowsGrid[_0x2587f9(296,"TIre")]=_0x2587f9(494,"X^@!");
@@ -1 +0,0 @@
1
- "use strict";const _0x3e4dcb=_0x2a50;function _0x3678(){const o=["wNvSWPpdSSkdWRVdOmkVBNqGW5S","jmkEdfKZfSo/","W4VdP8oeBNNdNSkpW5nhWRu","sLpdM8o+WQVdT8o+W5u","nCk/iYamW6dcIIRcPSkcWOWn","sflcQ8kVWRNdN8o2W74qW6i","WORdJSkZW7m","veNcRwyf","n8oyCCohgmofW7VdOv3cK8otAI8","W6VcSmoypqFdHCo3WO4","W6uOW7FdJSoq","hG7cLCoeBCoW","W5lcN8kOFeK","qCkpWO1pWRtcICoPW6fIaa","DSozW4ldI8kVgSkI","WQiBW6JdQmoTW6pcTW","WOvYW6tdGGKQWQG","W6qKW68","sfhcQeum","t17cMSobW6NdVhJcSCoOWR0","n8oPv3xcNs7cU8ktyrzUnG","hCopW7yRlW","oJNdGmkrW70","W5C+sYis","mGddRafdW4GHcCk7W7akfa","WP/cISoRWQyO","iHldPConACoNWQpcP2lcTeBcIG","WPucWOr3W5VdIffTW4Wd","lmoNWOBcKCkhchP+WP1oW7RdIq","tL/cM8omWRRcMt/cGmokWRjImfO","pa3dNmowWQG","qSoOW4NdGmk3","r8kiWOXoW6ldR8ogW71lbZxdIq","WQylp3ddKW","W5dcN8oRWQOgWPnJWRLXW7K","W4pcQfRdISovWPZdPxNdVuDhz8ol","W74Qumkywa","WRHVWOVcLmo/W6pcNwuPW5a","umktFb1h"];return(_0x3678=function(){return o})()}function _0x2a50(o,e){o-=287;const r=_0x3678();let t=r[o];if(void 0===_0x2a50.Mxgijz){const o=function(o,e){let r,t,n=[],a=0,W="";for(o=function(o){let e="",r="";for(let r,t,n=0,a=0;t=o.charAt(a++);~t&&(r=n%4?64*r+t:t,n++%4)?e+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let o=0,t=e.length;o<t;o++)r+="%"+("00"+e.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(r)}(o),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)a=(a+n[t]+e.charCodeAt(t%e.length))%256,r=n[t],n[t]=n[a],n[a]=r;t=0,a=0;for(let e=0;e<o.length;e++)t=(t+1)%256,a=(a+n[t])%256,r=n[t],n[t]=n[a],n[a]=r,W+=String.fromCharCode(o.charCodeAt(e)^n[(n[t]+n[a])%256]);return W};_0x2a50.SMkZDP=o,_0x2a50.BlfePz={},_0x2a50.Mxgijz=!0}const n=r[0];_0x2a50.utCGJU!==n&&(_0x2a50.BlfePz={},_0x2a50.utCGJU=n);const a=_0x2a50.BlfePz[o];return void 0===a?(void 0===_0x2a50.kClrRX&&(_0x2a50.kClrRX=!0),t=_0x2a50.SMkZDP(t,e),_0x2a50.BlfePz[o]=t):t=a,t}!function(){const o=_0x2a50,e=_0x3678();for(;;)try{if(489629==-parseInt(o(310,"YA]@"))/1*(parseInt(o(324,"S^73"))/2)+-parseInt(o(288,"3G8B"))/3+parseInt(o(299,"LN%@"))/4*(parseInt(o(313,"jZ[p"))/5)+parseInt(o(323,"lUGy"))/6+parseInt(o(303,"jZ[p"))/7*(-parseInt(o(289,"*D7q"))/8)+parseInt(o(311,"m9Rm"))/9*(parseInt(o(325,"wYjN"))/10)+parseInt(o(287,"*D7q"))/11*(parseInt(o(316,"oQwZ"))/12))break;e.push(e.shift())}catch(o){e.push(e.shift())}}();import{c as _0x5c4330}from"react/compiler-runtime";import _0x48a223 from"react";import{View}from"react-native";import{useTimeLeft,useArrowsRemaining,useScore}from"../ArrowsStore.js";import{ScoreBoardContainer,ScoreValue,ScoreTimer,ScoreColumn,scoreBoardStyles as _0x169b02}from"../../../helpers/index.js";import{jsx as _0x1aa627,jsxs as _0x456380}from"react/jsx-runtime";export const ScoreBoard=_0x48a223[_0x3e4dcb(290,"YwfH")](o=>{const e=_0x3e4dcb,r={UqpQp:function(o,e){return o(e)},MCqTe:function(o){return o()},CkBOT:function(o,e){return o!==e},thvhk:e(295,"awvH"),Iiury:function(o,e,r){return o(e,r)},HpbXS:function(o,e){return o!==e},XOvon:function(o,e,r){return o(e,r)}},t=r[e(291,"@5$n")](_0x5c4330,13),{offset:n}=o,a=void 0===n?0:n,W=r[e(305,"xxj*")](useScore),s=useArrowsRemaining(),i=useTimeLeft();let d,f,u,x,m;if(r.CkBOT(t[0],W))if(e(306,"jZ[p")===e(315,"KUn(")){const o={};o[e(294,"LN%@")]=W,d=_0x1aa627(ScoreValue,o),t[0]=W,t[1]=d}else _0x39a1c9=_0x11910c[1];else d=t[1];if(r[e(314,"*D7q")](t[2],s)){const o={};o[e(322,"iwNj")]=r[e(309,"0(ue")],o[e(307,"16GD")]=s,f=_0x1aa627(ScoreColumn,o),t[2]=s,t[3]=f}else f=t[3];if(r[e(320,"*DjO")](t[4],i)){const o={};o[e(298,"KUn(")]=i,u=_0x1aa627(ScoreTimer,o),t[4]=i,t[5]=u}else u=t[5];if(r.CkBOT(t[6],d)||t[7]!==f||t[8]!==u){const o={};o.style=_0x169b02[e(301,"LN%@")],o.children=[d,f,u],x=r[e(302,"@5$n")](_0x456380,View,o),t[6]=d,t[7]=f,t[8]=u,t[9]=x}else x=t[9];if(t[10]!==a||r[e(317,"T]t4")](t[11],x)){const o={};o.offset=a,o.children=x,m=r[e(296,"@9Lh")](_0x1aa627,ScoreBoardContainer,o),t[10]=a,t[11]=x,t[12]=m}else m=t[12];return m});ScoreBoard.displayName="ScoreBoard";
@@ -1 +0,0 @@
1
- "use strict";const _0x2c7431=_0x2285;!function(){const W=_0x2285,o=_0x2a74();for(;;)try{if(158026==-parseInt(W(185,"qZR)"))/1+-parseInt(W(217,"p4Ul"))/2*(parseInt(W(237,"sbFi"))/3)+-parseInt(W(156,"mVYo"))/4+-parseInt(W(198,"p4Ul"))/5*(-parseInt(W(248,"73Z@"))/6)+-parseInt(W(302,"eRiL"))/7+parseInt(W(279,"K&Qz"))/8*(parseInt(W(175,"nl70"))/9)+-parseInt(W(181,"qZR)"))/10*(-parseInt(W(241,"6E6M"))/11))break;o.push(o.shift())}catch(W){o.push(o.shift())}}();import{BALLOON_BLASTER_GAME_CONFIG as _0x59609c,BALLOON_BLASTER_ANIMATION_CONFIG as _0x48c924,BALLOON_BLASTER_COLORS as _0x503725,BALLOON_TYPES,BALLOON_SPECIAL_ITEMS as _0x149ab8}from"./BalloonBlasterConstants.js";import{Dimensions}from"react-native";import{clearGameInterval}from"../../helpers/GameTimer.js";const{width:width,height:height}=Dimensions[_0x2c7431(215,"7G9r")]("window");export{_0x59609c as GAME_CONFIG,_0x48c924 as ANIMATION_CONFIG,_0x503725 as COLORS,BALLOON_TYPES,_0x149ab8 as SPECIAL_ITEMS};function _0x2a74(){const W=["A8kTWQiMW53dLmo5W77dN8okWQ0k","Amk1WP13W4xcGrnaWP8yW7JcOuhdL8ks","W4/cKsBdOSoEWPG","W6pcRtC","wmoWW51/WPC","iWZdRSoXA2CW","W7mOWOZcMCkH","W4GUWQu","WQnctMePW6unqmoLW5pdHsvYaCkb","W5lcUCopiYuWnwfTWPZdJ1/dVSkAW6S","WOyAW5RcQCkLW4u","WQZdLwBdMSooW7GxxCk3WPKrwCosh8kQwmo0lW","otpcLg8XW5JdP8kE","khmyzmkTrG","W43dMCkxWPXfWQ3dKaOoe1/dGG8AW5u","W5pcSmoans85","mYVdGZeSW7qCAq","xxlcJglcNtdcSMNcS10p","W69bWRNcV1KSwumvW49J","W4FcHSkdW40pW4z9kSkCCH98","dSkxaIBcGW","W4/cLYaNl8oTzwbxW4BcGGG","WRNdSxpdUCk9iMZcPSohrthcUa","W7vpuSo1bSojW7hcTNBcTmoqW4/dJCox","rmoSWQ7cLCoc","a8kCE8k+W5BdJSk2WQnwFcxcRmk9W4uzW4Cl","W69fWQdcMgWPweKiW7n1Ea","kG7cKKiNW54","j8k0WP0FW4hcHmkoWPdcNCkXWO8","WOJcTCoudty","WR3dMN3dG8ogW68sv8kyWQuDuG","kdFdTt82W6Ga","WQ7dKxpdH8ouW68EsSkLWP8zrSowd8kvvSo2kCk5kG","W5pcMZVdRmoEWPLSWR8","hL/dUCoABq","WRxdH1BdGCokW7K","nCo1WOGOW6JdLSoxW4K","W6NdHIj2xCkfW44","WOVcNXtcP8kI","CgdcSmkTf3hcHSoVW6vVidHXgNOPWQ3dPa","vKdcTCkqlutcICoyW5jecXi","W6/cOYZcOCoQDgZcTSo8ErdcS8kzsmk+d8oH","nGRcMui7W6hcJN4hkCkk","smkuWRjEW6a","WR/cNSk9WPqp","W5/cNrBdLLDstSkHb8kVDeG","C8oLW4vfWP3cPCkMWPlcG8kcWRv4W5SBW7ZcK2e","gs7dKd3dHHpcQuO","WRtdLSkRW7/dPuyqW48aoHFdRa3dLu8","W7ddPuSDWRaS","umoiWPxcISoR","WQdcRSkwA8k3","cCkdtSkWW5tdVmkYWQS","xSo0W5X4WPq","W4lcVColmditaM1KWR3dG0hdLSkj","W4Xjv8oGkG","W4PXWOBcQh4","mCk2CSkhW5i","W4qGWR4UWR/cMmoeW4izW51t","r8o1W5LJWP0","W7tcUc7dRvy","WQxcRCkuzSkQqXTTWOaawmkczr8y","W7tcRWRdTwHTzCkA","mCkmjalcQ8oChdFcVComl8omk8k5qW","W4alnfZcKqC","WQ5IqxqRW58OW7iwW5ea","j8kqW5JdKSksW4dcKmoh","W4rIvtnxW5RcMmkyW4FdMvVcHq","D8oOW4zgWOa","gIxdJJFdGHpcRKFcUuSWWRdcUMKCW5r/oY0BrfW","WQxcRSkCzCk3ubnTWOa7rmkBuGG","WOFcHCouW4WdW5JdQXOSpehdOa","WRxdKgddMCoP","b8oXW4mCBGmC","W4lcPHK6bG","xYZdGGu/W4rDba","W4tdKgy","dCoUW6qsCG","W4NcLmkSW4C1W5PJ","W6dcUCoFfZK","hM7dJ8oHCmocWPFcTCksvxXBuJhcIa","oIZcI28X","ALRdIXz9WOBcJuadmSkojG","W65or8otbSoEW5pcLxVcRCozW5pdR8oyaa","e8kyF8kTW4hdQmkbWQ5wzI/cSCkJW5qi","WR8YW4VdJmkg","W41StW","nh0b","w0/cLCkvmv/cPmodW6fpcG","WQ5IqxqRW58OW5i0W5urr8ouW4ZdRa","W7u6ANmLW5SfW5m","WOPtAG3dJf7dULpcNb9DWO4","amoNW6qxCYqkWPhdMgPw","AHPUWRJdQq","sYJdGGyZW4jhlSk/fmoVluPQWPC","bvFdTmo0xW","WPpdL8kQW7eyW4Ddkq","W6iIWRRcRSkKA3y","sCkBWRXzW6xcMJrYWQK+W5FcKa","WPNcRmk7WRmTBG","WPBdL8oAWP5OW6fwdmkEEI0","W6PfWQhcKvCVw38kW4bNCeWMCa","t0/cLCkmoW","W4VdSwnaWOW","DSobW7ddP8k+W4FcRCosW4mTFa","xSkBWPn5W6q","W4dcMc3dPmoyWRfTWRJcGrntW7ldRbldSSkHWPnj","emkFBSklW43dOCkY","WO/cQmk5WRi2zG","WQO/W4ldMmkr","WOWAW67dUemrDHdcISk3vSohkbxcNq","WRznw1CR","Emk5WPf5W48","i8k3WPLdWRZcUSkLWOpcHG","mmklmrhcUSorjtJcGSojl8oAaG","ohmABmkTrbVcIh/cOvW","ot3cLxiSW5ldPmkvWOnrkCkOW7NcK8orm8oVWOi","u1VdVSosWOi","W6pdHWv4r8kvW6/cH8oIvSo8lmoYwbZcHSk3WRBcOa","WQu2W4NdNSkxWOO","W5pcMZJdKCodWP1M","WOJcOSk4WRuTv8oQimkhASoAW7G6x0G","W6mfk3NcTW","W4PWEJLUW5e","WQ42W5pdT8kgWODFWOFcGxvukIpcSq","pXNdU8oDBf8GamojW43dHCoPW5XhW5i","FmoLW5JdP8k4","CZxdMcdcTW","WOlcScZcImkD","W7ldQ1u7WR4TW7NdLSoTWQfHtmkAAeK","lJNcKW","awpdGmo0yCoo","jCobW4TyWRNcPSkd","DSowWPBcQCoWow7dQa","W6pdMqv4qCk+W5JcG8oOqCobjmousXhcNq","WOlcVSkfWRGYC8oMkq","qmoZW7tdImkC","iYxdMZW3W7iDDmosWRZcNG","W4ZdK35KWQ8","q1BdVCoiWPu","WRSYW4NdNCkmWO8","mmkfkXtcOCov","W4VdKxHMWRX+WQ4vWPpdRetcNW","WRxdKCk+W6ZdTeSPW4a","W6KFWOxcQmka","W7hdP0qvWRO","g3RcNGasW51elCkK","W4tcGSkcW40VW4O","W4lcHSkcW4q0W4b+pmk8rrW","ztj9DmkVoSoEvWdcSW","nYFcSe0q","pHpdU8oZDNOMhq","WObFBqJdI1/dIxdcPsTeWOy","gxtdJ8o9zSokWQdcOmkBEa","r1VdVSolWOGcWO4RtCoTzmopW5tcImko","WPWDW6ldQeKHsrZcG8kTrSoanXhcIW","cbNdImopBaddS8orW6rbbYn/","W64pWROQWOm","W5pdMCkkWP5fWOq","E3VcSSkSga","oshcJM0z","hmoJW68xBXS","WOetW5pcRCkJW6hdHupdS8kubCoPW4TFlgxdMLu","WRn/W6JdVSo+rLeVp8oRAW","ct3dPsul","WQRcG8oqirJcOhpcHq","WR/dMhhdJ8ovW5KAvmkAWPGxwSoGg8kIqmo0","W6mVWRpcO8kLCwGJ","wZLFWPJdJZVdL8kjAuuLm8o6WRdcK3LRwmoleG","BSkTWQmVW6BdKSo6W4JdNCo5WR8cufTI","yqNdHWtcV3eJAXG4imoMW6XiWONcV8kWW4G","WOaEW5RcOmk+W4/dHvNdJmkqfW","WQ0aW5FdT8k2","paNdVmo6","W7Dqubvo","W6hcJ8kFW64I","WQSYW4VdLCkmWO1vWOFcGxvw","oWpcMuC6","qatdPWBcOa","WPxcKSoigb4","Cc51D8k9iSowtaVcUmoIjq","aMJdOSo6zSosWOlcVmkFtN5n","yatdJGNcOL8Juqu4i8oHW5fdWQm","pbpdVmo7DNOMhq","WQNdM8kVW6NdS3aJW4OElGu","W5fRWQa+W4HrW4G","W4dcV8ohpceGcM9VWRVdJ0O","W75kq8oaeCo5W6RcMxxcT8oOW4NdJ8oCh8kPWR0","W7xcMr7dTNe","lr7dVa","vYtdGqNcGW","W75fWQhcIf0","ouZdMSorua","W6vUWR7cIvW","uSojlSoVWPZdHSk4WPvvDYy"];return(_0x2a74=function(){return W})()}const POP_ANIM_DURATION=200,POP_REMOVAL_DELAY=250;function _0x2285(W,o){W-=133;const t=_0x2a74();let n=t[W];if(void 0===_0x2285.mRZjcY){const W=function(W,o){let t,n,e=[],d=0,i="";for(W=function(W){let o="",t="";for(let t,n,e=0,d=0;n=W.charAt(d++);~n&&(t=e%4?64*t+n:n,e++%4)?o+=String.fromCharCode(255&t>>(-2*e&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let W=0,n=o.length;W<n;W++)t+="%"+("00"+o.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(t)}(W),n=0;n<256;n++)e[n]=n;for(n=0;n<256;n++)d=(d+e[n]+o.charCodeAt(n%o.length))%256,t=e[n],e[n]=e[d],e[d]=t;n=0,d=0;for(let o=0;o<W.length;o++)n=(n+1)%256,d=(d+e[n])%256,t=e[n],e[n]=e[d],e[d]=t,i+=String.fromCharCode(W.charCodeAt(o)^e[(e[n]+e[d])%256]);return i};_0x2285.doQllb=W,_0x2285.KBCxul={},_0x2285.mRZjcY=!0}const e=t[0];_0x2285.DYwKBX!==e&&(_0x2285.KBCxul={},_0x2285.DYwKBX=e);const d=_0x2285.KBCxul[W];return void 0===d?(void 0===_0x2285.gQFwYp&&(_0x2285.gQFwYp=!0),n=_0x2285.doQllb(n,o),_0x2285.KBCxul[W]=n):n=d,n}export class BalloonBlasterService{[_0x2c7431(280,"8$VA")]=null;[_0x2c7431(179,"ke3r")]=null;animationRef=null;[_0x2c7431(281,"lqjf")]=null;[_0x2c7431(256,"C^O!")]=[];[_0x2c7431(269,"gLnO")]=!1;[_0x2c7431(133,"gLnO")]=new Map;onListChange=null;constructor(W,o){const t=_0x2c7431;this[t(326,"p4Ul")]=W,this[t(201,"7G9r")]=o}[_0x2c7431(312,"HF[O")](W,o){this[_0x2c7431(169,"K&Qz")].set(W,o)}[_0x2c7431(154,"xu0p")](W){const o=_0x2c7431;this[o(168,"8WP*")][o(232,"qZR)")](W)}[_0x2c7431(210,"7f%Z")](W){this[_0x2c7431(320,"6E6M")]=W}[_0x2c7431(298,"@p6S")](){return this[_0x2c7431(222,"^660")]}[_0x2c7431(209,"R)$P")](){return this.needsRedraw}[_0x2c7431(219,"Sh9&")](){this.needsRedraw=!1}addBalloonToRef(W){const o=_0x2c7431;this[o(189,"Z]ml")][o(258,"7f%Z")](W),this.needsRedraw=!0,this[o(266,"oBuU")]?.()}[_0x2c7431(214,"Gz4W")](W){const o=_0x2c7431;for(let t=0;t<this[o(143,"s28c")].length;t++){const n=this[o(233,"qZR)")][t];if(n&&n.id===W&&!n[o(137,"K&Qz")])return n[o(147,"]Tk7")]=!0,n[o(205,"c1Qk")]=performance[o(171,"PzYG")](),this[o(177,"@5G9")]=!0,n}return null}[_0x2c7431(303,"8WP*")](W,o){const t=_0x2c7431,n={};n[t(324,"RLld")]=function(W,o){return W+o},n[t(196,"bdn*")]=function(W,o){return W/o};const e=n,d=_0x59609c[t(183,"lqjf")],i=1.25*d;for(let n=this[t(150,"nl70")].length-1;n>=0;n--){const s=this[t(261,"R)$P")][n];if(!s||s[t(220,"RLld")])continue;const a=W-e[t(221,"Z]ml")](s[t(218,"EAQx")].x,d/2),r=o-e[t(259,"PzYG")](s.position.y,i/2),k=d/2,x=e[t(318,"xV*^")](i,2);if(e[t(309,"ky9a")](a*a/(k*k),r*r/(x*x))<=1)return s}return null}startRefPhysicsLoop(){const W="oBuU",o="lqjf",t="7f%Z",n=_0x2c7431,e={nDpGb:function(W,o){return W<o},QoqAI:function(W,o){return W-o},hEDli:function(W,o){return W+o},oHLkX:function(W,o){return W*o},OpuQf:function(W,o){return W+o},QFlXv:function(W,o){return W in o},HyRuS:function(W,o){return W(o)},mJstd:function(W,o){return W/o},dSpNU:n(229,"73Z@"),UAclN:function(W,o){return W*o},LsGVM:function(W,o){return W<=o},oCGsE:function(W,o){return W>=o},rfSVk:function(W,o){return W*o},TJtBE:function(W,o){return W(o)}};let d=performance[n(287,"s28c")]();const i=1e3/60,s=_0x59609c[n(270,"5a1a")],a=_0x59609c[n(325,"]Tk7")],r=e[n(213,"xV*^")](-a,2),k=e[n(140,"8WP*")](width,a),x=performance.now,u=a=>{const l=n,m=a-d;if(m<i)return void(this[l(227,"Kq&I")]=e[l(249,"^660")](requestAnimationFrame,u));d=a;const h=e[l(278,"@p6S")](m,16.67),S=this.balloonsRef;let O=0;const _=x();let C=!1;for(let n=0;n<S[l(204,"R)$P")];n++){const d=S[n];if(!d)continue;const i=this[l(240,"!9#N")].get(d.id);if(d.isPopped){const t=e[l(207,"sbFi")](_,d[l(192,"K&Qz")]||_);if(t>=250){if(l(145,"]Tk7")!==l(157,"HF[O")){const W=(e.nDpGb(_0x48827a[l(226,"BqM@")](),.2)?_0xd4681e[_0x45a4b0[l(153,"p4Ul")](_0x14b638[l(246,"@5G9")]()*_0x2666ec[l(216,"oBuU")])]:_0x964909[_0x8a8f11[l(224,"(3Kl")](_0x173a47[l(295,"]]ve")]()*_0x3bec62.length)])||_0x4a5ce4[0],o=_0x5d2b7c[l(301,"3*fs")],t=o/2,n=e.QoqAI(_0x4f7d77-2*t,o),d=e[l(273,"]Tk7")](t,e[l(235,"pFaK")](_0x4c9c8d[l(225,"R)$P")](),n)),i=e[l(159,"3*fs")](_0x7df5b4,o),s=(_0x463c1e.random()-.5)*_0x17bf1d.INITIAL_VELOCITY_X_RANGE,a=_0x548cde.INITIAL_VELOCITY_Y,r={};r.x=d,r.y=i;const k={};return k.x=s,k.y=a,{id:"balloon_"+_0xa2d42e.now()+"_"+_0x1f89ed[l(226,"BqM@")](),type:W,position:r,spawnX:d,spawnY:i,velocity:k,rotation:0,rotationSpeed:(_0x7625cc.random()-.5)*_0x2e1c8f[l(253,"O^my")],isPopped:!1,spawnTime:_0xc5b6db[l(172,"%!D6")](),isBomb:e[l(142,"K&Qz")]("isBomb",W)&&W[l(315,"HF[O")],isBonus:l(163,"qZR)")in W&&W[l(317,"Sh9&")],scale:1,opacity:1}}this[l(148,"BqM@")][l(193,"RLld")](d.id),C=!0;continue}const n=Math.min(1,t/200);d.scale=1-n,d.opacity=1-n,i&&(l(180,W)===e[l(257,"R)$P")]?(i[l(197,o)][l(276,"@p6S")]=d[l(230,"Gz4W")],i[l(285,"7f%Z")][l(170,"R)$P")]=d.opacity):this[l(247,"C^O!")]()),S[O++]=d;continue}const a=d[l(160,"ke3r")].y+s*h;let x=e[l(138,"p4Ul")](d[l(268,"7f%Z")].x,e[l(275,"]an0")](d[l(327,"xu0p")].x,h));const u=e[l(211,"Z]ml")](d.position.y,e[l(190,o)](a,h));if(u<r){this[l(288,"bdn*")][l(290,"C^O!")](d.id),C=!0;continue}let m=d.velocity.x;e[l(300,"BqM@")](x,0)?(x=0,m=.8*Math.abs(m)):e.oCGsE(x,k)&&(x=k,m=.8*-Math[l(274,t)](m)),d[l(292,"7G9r")].x=x,d[l(313,"c1Qk")].y=u,d[l(250,"ky9a")].x=m,d.velocity.y=a,d[l(228,"gLnO")]+=e[l(286,"73Z@")](d[l(199,"BqM@")],h),i&&(i[l(238,W)][l(202,"(3Kl")]=x,i[l(234,"&ZjD")].value=u,i[l(236,t)][l(187,"6E6M")]=d[l(296,"^660")]),S[O++]=d}S[l(243,"mVYo")]=O,C&&this.onListChange?.(),this[l(265,"&ZjD")]=requestAnimationFrame(u)};this[n(227,"Kq&I")]=e[n(277,"oBuU")](requestAnimationFrame,u)}[_0x2c7431(203,"Sh9&")](){const W="EAQx",o="p4Ul",t=_0x2c7431,n={CNBKJ:function(W,o){return W<o}};n[t(314,"oBuU")]=function(W,o){return W*o},n[t(135,W)]=function(W,o){return W*o},n[t(164,"]]ve")]=function(W,o){return W*o},n[t(264,"ky9a")]=function(W,o){return W+o},n[t(304,W)]=function(W,o){return W*o},n.ZwaNY=function(W,o){return W in o},n[t(245,"pFaK")]=t(311,"^660");const e=n,d=(e[t(323,"lqjf")](Math[t(149,"sbFi")](),.2)?_0x149ab8[Math[t(223,"Kq&I")](e.sYWIx(Math[t(134,"Gz4W")](),_0x149ab8.length))]:BALLOON_TYPES[Math[t(136,"Qpij")](e[t(144,o)](Math[t(293,"%!D6")](),BALLOON_TYPES[t(282,"c1Qk")]))])||BALLOON_TYPES[0],i=_0x59609c.BALLOON_SIZE,s=i/2,a=width-e[t(260,"qZR)")](s,2)-i,r=e[t(284,o)](s,e[t(141,"@p6S")](Math[t(134,"Gz4W")](),a)),k=height+i,x=e[t(244,"6E6M")](Math.random()-.5,_0x59609c.INITIAL_VELOCITY_X_RANGE),u=_0x59609c[t(319,"6E6M")],l={};l.x=r,l.y=k;const m={};return m.x=x,m.y=u,{id:t(252,"73Z@")+Date[t(161,"Kq&I")]()+"_"+Math[t(184,"RLld")](),type:d,position:l,spawnX:r,spawnY:k,velocity:m,rotation:0,rotationSpeed:e.BUKUF(Math[t(307,"pFaK")]()-.5,_0x59609c.ROTATION_SPEED_RANGE),isPopped:!1,spawnTime:Date[t(283,"eRiL")](),isBomb:t(208,"PzYG")in d&&d.isBomb,isBonus:e.ZwaNY(e[t(188,"Kq&I")],d)&&d[t(158,"@5G9")],scale:1,opacity:1}}[_0x2c7431(294,"mVYo")](){const W=_0x2c7431,o={HNhhS:"0|4|3|2|1|5"}[W(242,"s28c")][W(166,"7G9r")]("|");let t=0;for(;;){switch(o[t++]){case"0":this[W(321,"eRiL")][W(162,"@5G9")]();continue;case"1":this[W(322,"pFaK")]=!0;continue;case"2":this[W(289,"]]ve")][W(194,"R)$P")]();continue;case"3":this[W(173,"6E6M")]=[];continue;case"4":this[W(291,"HF[O")][W(262,"pFaK")]();continue;case"5":this[W(320,"6E6M")]?.();continue}break}}[_0x2c7431(182,"73Z@")](){const W=_0x2c7431;this[W(139,"]]ve")](),this[W(305,"K&Qz")](),this[W(191,"c1Qk")](),this.clearComboTimeout(),this[W(200,"%!D6")]=[],this[W(165,"oBuU")][W(178,"O^my")](),this.onListChange?.()}[_0x2c7431(155,"Qpij")](){const W=_0x2c7431;this[W(299,"qZR)")]&&(clearGameInterval(this[W(152,"PzYG")]),this[W(306,"@p6S")]=null)}[_0x2c7431(251,"HF[O")](){const W=_0x2c7431;this[W(254,"8$VA")]&&(clearTimeout(this[W(267,"]an0")]),this.balloonSpawnRef=null)}stopPhysicsLoop(){this[_0x2c7431(255,"]an0")]()}clearAnimationLoop(){const W=_0x2c7431;this[W(271,"]]ve")]&&(cancelAnimationFrame(this[W(227,"Kq&I")]),this[W(310,"HF[O")]=null)}[_0x2c7431(272,"8WP*")](){const W=_0x2c7431;this[W(146,"Qpij")]&&(W(263,"]an0")!==W(212,"]an0")?(clearTimeout(this[W(195,"!9#N")]),this[W(206,"RLld")]=null):this[W(239,"(3Kl")]&&(_0x4ac157(this[W(174,"nl70")]),this[W(186,"@p6S")]=null))}}export const createBalloonBlasterService=(W,o)=>new BalloonBlasterService(W,o);
@@ -1 +0,0 @@
1
- "use strict";const _0x21a092=_0x38fa;function _0x1afc(){const o=["a8olfZytW47dVCoZ","WOlcPSoeWO4E","rSksnYaMW7/dJCol","W45oWPZdOqJcOSoiqrPOetNdNG","w8kjiuCH","wSkdfeqeg8ojW6G","W4xdICkdW5XnuvbgW4NcQIVcSmo/","W5tdQSo7W4hcPSk2W5JcNa","W7FcR3hdRc8Ej2i","WRxdUNBdJSkoW44MrudcGSkaWOfO","iSogsNTi","rCkwswrOWPlcR8oPWPRdOSkOdg4","kxLPl8oC","WQZdLZlcGmk1","g8olddyS","xCkoWO7cJuBdSSkzqIq","dmk2jseNo0vYW7e0q8owuq","WP3cSqldQsG","kmoWW6jFcConWOjkW6WfDa","W7zMWRdcOCoSwSoOECkpn8oXvsy","hmkPW7/dPSoPgmkbpCoYW73dMG","W5i6bSowW6C","k2RdKsyrW7aMBse","vSk5iCojWPdcVSkFW5W","W6tcISojW75z","W7bGWRpcO8oRumoSA8k2p8oNBI0","FCkMWRG","serlFeu","WOlcU8ofW47cHSkhW7RcGG","W6tcPxDpWR5Os1u","W7ddRqmNkq","WOBcR8oAC8oqqf/dHG","iCoefYjweSkFb8obzmoPBx0","W5a4mCoUW7e","qd3dKSoTsa","g8oFWQLoWRzvBgK","i2vuiCostmk+W45l","iSo7W6xdPt3cGSo7AtVcUCo7BSoz","W7bTWRtcPSoKvmoVDmkVcSovxby","bSkSWRqsWPS","tGhcLKiobuBcTq","W6VcJmosW7Lf","W7pcJmojW7L6WO7cMgO","W4xdHSkdW5Xmv1DpW6lcIXJcKCoW","W5pdI8o3CNRdOmohx3OYAqvZ","W7hcQYJcJSoB","CYNdRcKbW6WUzW","WRBdQ8kWW77dQq","cmkAWPutWR7cJudcJa"];return(_0x1afc=function(){return o})()}!function(){const o=_0x38fa,t=_0x1afc();for(;;)try{if(526479==parseInt(o(517,"6D$R"))/1*(parseInt(o(520,"Q9HR"))/2)+parseInt(o(491,"ULAc"))/3+parseInt(o(522,"%c*o"))/4+-parseInt(o(476,"wtyU"))/5*(parseInt(o(485,"zxA@"))/6)+-parseInt(o(492,"gXui"))/7+parseInt(o(516,"%c*o"))/8+-parseInt(o(503,"ULAc"))/9*(-parseInt(o(494,"&&jk"))/10))break;t.push(t.shift())}catch(o){t.push(t.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{GAME_CONFIG}from"./BalloonBlasterService.js";import{BALLOON_BLASTER_GAME_CONFIG}from"./BalloonBlasterConstants.js";const _0xb02ccb={};_0xb02ccb[_0x21a092(475,"JccS")]=0,_0xb02ccb[_0x21a092(483,"FtVV")]=BALLOON_BLASTER_GAME_CONFIG.GAME_DURATION,_0xb02ccb[_0x21a092(484,"T8G8")]=!1,_0xb02ccb.gameOver=!1,_0xb02ccb.combo=0,_0xb02ccb[_0x21a092(507,"XpYw")]=GAME_CONFIG[_0x21a092(512,"zxA@")];const INITIAL_STATE=_0xb02ccb;export const useBalloonBlasterStore=create()(subscribeWithSelector((o,t)=>({...INITIAL_STATE,startGame:t=>{const e=_0x21a092,n={};n[e(514,"cWxy")]=0,n[e(502,"ByKT")]=t||BALLOON_BLASTER_GAME_CONFIG[e(513,"IA%(")],n.isPlaying=!0,n[e(477,"y6c0")]=!1,n[e(521,"WF90")]=0,n[e(489,"WF90")]=GAME_CONFIG.MAX_LIVES,o(n)},stopGame:()=>{const t={...INITIAL_STATE};o(t)},resetGame:()=>{const t=_0x21a092,e={...INITIAL_STATE};({vVrgk:function(o,t){return o(t)}})[t(498,"ULAc")](o,e)},updateScore:e=>{const n=_0x21a092;o({score:t()[n(493,"$y(Y")]+e})},decrementTime:()=>{const e=_0x21a092,n=(r=t,r())[e(490,"WF90")]-1;var r;if(n<=0){const t={timeLeft:0,isPlaying:!1};t[e(496,"AdnV")]=!0,o(t)}else{const t={};t[e(488,"5VPA")]=n,o(t)}},resetCombo:()=>{const t=_0x21a092,e={};e[t(509,"T8G8")]=0,{ucXfi:function(o,t){return o(t)}}[t(501,"ByKT")](o,e)},loseLife:()=>{const e=_0x21a092,n={woANQ:function(o,t){return o-t},iWLdj:function(o,t){return o(t)}},r=n[e(481,"wN(w")](t().lives,1);if(r<=0){const t={};t[e(510,"tVbq")]=0,t.isPlaying=!1,t[e(505,"g7Ml")]=!0,n[e(487,"AdnV")](o,t)}else{const t={};t[e(511,"tzbJ")]=r,o(t)}},addLife:()=>{const e=_0x21a092;o({lives:Math[e(474,"zxA@")]({umvvG:function(o){return o()}}[e(518,"wN(w")](t)[e(478,"VbKf")]+1,GAME_CONFIG.MAX_LIVES)})}})));export const useScore=()=>useBalloonBlasterStore(_temp);export const useTimeLeft=()=>useBalloonBlasterStore(_temp2);function _0x38fa(o,t){o-=474;const e=_0x1afc();let n=e[o];if(void 0===_0x38fa.AXJiYf){const o=function(o,t){let e,n,r=[],s=0,a="";for(o=function(o){let t="",e="";for(let e,n,r=0,s=0;n=o.charAt(s++);~n&&(e=r%4?64*e+n:n,r++%4)?t+=String.fromCharCode(255&e>>(-2*r&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let o=0,n=t.length;o<n;o++)e+="%"+("00"+t.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(e)}(o),n=0;n<256;n++)r[n]=n;for(n=0;n<256;n++)s=(s+r[n]+t.charCodeAt(n%t.length))%256,e=r[n],r[n]=r[s],r[s]=e;n=0,s=0;for(let t=0;t<o.length;t++)n=(n+1)%256,s=(s+r[n])%256,e=r[n],r[n]=r[s],r[s]=e,a+=String.fromCharCode(o.charCodeAt(t)^r[(r[n]+r[s])%256]);return a};_0x38fa.YyoTip=o,_0x38fa.CGFIqj={},_0x38fa.AXJiYf=!0}const r=e[0];_0x38fa.bBOmzy!==r&&(_0x38fa.CGFIqj={},_0x38fa.bBOmzy=r);const s=_0x38fa.CGFIqj[o];return void 0===s?(void 0===_0x38fa.GsHkUz&&(_0x38fa.GsHkUz=!0),n=_0x38fa.YyoTip(n,t),_0x38fa.CGFIqj[o]=n):n=s,n}export const useLives=()=>useBalloonBlasterStore(_temp3);export const useIsPlaying=()=>useBalloonBlasterStore(_temp4);export const useGameOver=()=>useBalloonBlasterStore(_temp5);function _temp(o){return o[_0x21a092(482,"#7gj")]}function _temp2(o){return o[_0x21a092(497,"tzbJ")]}function _temp3(o){return o[_0x21a092(495,"7nqq")]}function _temp4(o){return o[_0x21a092(519,"&&jk")]}function _temp5(o){return o[_0x21a092(504,"wtyU")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x318b0f=_0xf6bd;function _0xf6bd(t,o){t-=487;const W=_0x55e5();let e=W[t];if(void 0===_0xf6bd.POscIs){const t=function(t,o){let W,e,r=[],n=0,d="";for(t=function(t){let o="",W="";for(let W,e,r=0,n=0;e=t.charAt(n++);~e&&(W=r%4?64*W+e:e,r++%4)?o+=String.fromCharCode(255&W>>(-2*r&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let t=0,e=o.length;t<e;t++)W+="%"+("00"+o.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(W)}(t),e=0;e<256;e++)r[e]=e;for(e=0;e<256;e++)n=(n+r[e]+o.charCodeAt(e%o.length))%256,W=r[e],r[e]=r[n],r[n]=W;e=0,n=0;for(let o=0;o<t.length;o++)e=(e+1)%256,n=(n+r[e])%256,W=r[e],r[e]=r[n],r[n]=W,d+=String.fromCharCode(t.charCodeAt(o)^r[(r[e]+r[n])%256]);return d};_0xf6bd.xFkUCS=t,_0xf6bd.hJZelP={},_0xf6bd.POscIs=!0}const r=W[0];_0xf6bd.FQShLB!==r&&(_0xf6bd.hJZelP={},_0xf6bd.FQShLB=r);const n=_0xf6bd.hJZelP[t];return void 0===n?(void 0===_0xf6bd.rswCJi&&(_0xf6bd.rswCJi=!0),e=_0xf6bd.xFkUCS(e,o),_0xf6bd.hJZelP[t]=e):e=n,e}!function(){const t=_0xf6bd,o=_0x55e5();for(;;)try{if(655693==-parseInt(t(500,"G)KU"))/1+-parseInt(t(589,"r3T!"))/2+-parseInt(t(535,"7LWi"))/3*(-parseInt(t(495,"z0cG"))/4)+-parseInt(t(496,"G)KU"))/5*(-parseInt(t(544,"eE]O"))/6)+parseInt(t(538,"Sbwf"))/7+parseInt(t(505,"O(qa"))/8+-parseInt(t(534,"XLdI"))/9)break;o.push(o.shift())}catch(t){o.push(o.shift())}}();import _0x57f3d3,{useEffect,useRef,useCallback}from"react";import{TouchableOpacity}from"react-native";import{Canvas,vec,Path,Skia,Oval,Circle,LinearGradient,Group}from"@shopify/react-native-skia";import _0x48f954,{useSharedValue,useAnimatedStyle,withSpring,withTiming}from"react-native-reanimated";import{GAME_CONFIG,ANIMATION_CONFIG}from"../BalloonBlasterService.js";import{lighten,darken}from"../../../services/GamesConstants.js";import{jsx as _0x32fd88,jsxs as _0x21ba5a}from"react/jsx-runtime";const BALLOON_HEIGHT_MULTIPLIER=1.25,BALLOON_WIDTH=GAME_CONFIG[_0x318b0f(503,"ODx6")],SCALE=BALLOON_WIDTH/60,STRING_LENGTH=Math[_0x318b0f(595,"ODx6")](30*SCALE),DANGER_CIRCLE_RADIUS=Math.round(10*SCALE),GLOW_RADIUS_MULTIPLIER=.6,GLOW_OPACITY=.35,BALLOON_HEIGHT=1.25*GAME_CONFIG[_0x318b0f(592,"udBT")],TOTAL_HEIGHT=BALLOON_HEIGHT+STRING_LENGTH,CENTER=vec(BALLOON_WIDTH/2,BALLOON_HEIGHT/2),_0x1bf964={};_0x1bf964[_0x318b0f(508,"ODx6")]=_0x318b0f(603,"z0cG"),_0x1bf964[_0x318b0f(536,"O(qa")]=_0x318b0f(555,"QKRq"),_0x1bf964[_0x318b0f(561,"udBT")]=_0x318b0f(539,"xxwd"),_0x1bf964[_0x318b0f(564,"hw8v")]="#000000";const BOMB_COLORS=_0x1bf964,_0xf63a57={};_0xf63a57[_0x318b0f(492,"ccev")]=_0x318b0f(497,"O(qa"),_0xf63a57[_0x318b0f(591,"grbN")]=_0x318b0f(602,"hw8v"),_0xf63a57.highlight=_0x318b0f(490,"KGD("),_0xf63a57[_0x318b0f(553,"4Xqv")]=_0x318b0f(513,"KGD(");const BONUS_COLORS=_0xf63a57,colorCache=new Map,getBalloonColors=t=>{const o=_0x318b0f,W={nMfbv:function(t,o,W){return t(o,W)}};if(t[o(569,"(ija")])return BOMB_COLORS;if(t[o(521,"V#93")])return BONUS_COLORS;const e=t.type[o(514,"ccev")]||o(578,"YMCU");let r=colorCache[o(548,"KGD(")](e);return!r&&(r={primary:e,secondary:lighten(e,.3),highlight:W[o(588,")(6o")](lighten,e,.5),shadow:W[o(600,"r3T!")](darken,e,.3)},colorCache[o(537,"O(qa")](e,r)),r},KNOT_PATH=(()=>{const t=_0x318b0f,o={};o[t(550,"4tLm")]=function(t,o){return t-o},o[t(598,"]*Q2")]=function(t,o){return t+o};const W=o,e=Skia.Path[t(574,"SA*j")](),r=CENTER.x,n=BALLOON_HEIGHT-2;return e.moveTo(W[t(581,"4Xqv")](r,4),n),e.quadTo(r-2,n+5,r,n+7),e.quadTo(W[t(570,"0(3X")](r,2),n+5,r+4,n),e[t(509,"ODx6")](),e})(),BOMB_DANGER_PATH=(()=>{const t=_0x318b0f,o=Skia.Path[t(574,"SA*j")]();return o[t(606,"G)KU")](CENTER.x,CENTER.y-5),o[t(504,"oG$6")](CENTER.x,CENTER.y+1),o})(),generateStringPath=t=>{const o=_0x318b0f,W={qTWNf:function(t,o){return t/o},urNFr:function(t,o){return t<=o},fYQtG:function(t,o){return t*o},aJuDO:function(t,o){return t(o)},oxjOl:function(t,o){return t+o}},e=Skia[o(524,"Edj[")][o(519,"J%qy")](),r=CENTER.x,n=BALLOON_HEIGHT-2,d=t[o(612,"H4z]")]("")[o(556,"ODx6")]((t,W)=>t+W[o(549,"hw8v")](0),0),_=t=>(d+17*t)%100/100;e.moveTo(r,n);const O=W.qTWNf(STRING_LENGTH,2);for(let t=1;W[o(590,"mQn*")](t,2);t++){const d=n+O*t,a=2+W.fYQtG(W[o(617,"XGwD")](_,t),2),x=(_(W[o(593,"bsR5")](t,10))-.5)*a,f=W[o(542,"KGD(")](r,x),i=r+(_(W[o(586,"ccev")](t,20))-.5)*a*.5,s=d-W[o(571,"ccev")](O,.5);e[o(599,"8&mt")](i,s,f,d)}return e},_0x534b02={};_0x534b02[_0x318b0f(573,"WUd@")]="absolute",_0x534b02.width=BALLOON_WIDTH,_0x534b02[_0x318b0f(507,"udBT")]=BALLOON_WIDTH,_0x534b02[_0x318b0f(501,"%p(f")]=5;const CONTAINER_STYLE_NORMAL=_0x534b02,_0x380c8={};function _0x55e5(){const t=["WQizd8keW7NcGGq","WRehcCkAW70","CHRcRfK6","W6dcS8oIqmow","W5BdIZ8Cl8o+WPpcJGLCvSkY","WOddTIXvz8k/nG","zXtcRemT","WQ1/W5eFWQq","W4GwWRNcKhm","o8opWRFdM34","WOtdICo4iCkoAIZcJCoHWR8ikcNdIW","nSkkWONdRa","W6KkWPdcH8oHqG","W6JdR0Ctr8kwcG","WRldUSova8kYsqpcPSoxWRC","WRHyzCkpBNZcQvC","WP/cT8kfmW","mmkQDCkQWQS","x8kFgmo0d8kUvq","pCohWRpdOh8","WP0FW5S","WR5wESktFW","W6xcOKhdVSkLlW","i8oRWQVdLN4","W7VdG8o9iSo8WPTE","l8oMpx5iWR1NW7j8","WQTtW4xdL8k2abqqWQ4uAYKika","W5xdLCoCdtb0WPq","W7BdOHuWbmofWQBcTt0","W7BdOGi","WQFcICkpFSkHW58Do8oeyg0OqG","hmokWPS2eguK","W5FdKCkzW4moWRxdLamHfCk2WQy4","W7hdS3yvxCkkfSoy","W4ZdJquImW","W6hdGIjXlGikW6e","W4KcWO02W4RdOmoq","hbFdVCkHtq","W7KZW5W3gW","WQeFh8kfW70","W4tdKbS","WOhcJSobWOH4W6RcGde2iW","W57cTCoZBCob","W5JdHmo5gmob","fCkQdSkRt8oUaf4","W6TRWOvIWOD5","dCkkWO7dVmox","WPvLWP4cESoOCG","WQaoaSkCW7VcLq","pSktW47cPe7dMa","W5GqW6aAoH3cO8k7iYpcR8k1","W6xcHX5uiG","c8kXn8kWwG","W5yEWRlcJxRdSuldVCoZ","WOJdTvJdRmkhW6K","pJFcNNNcJrRdGW","WPhcJSobWP5uW7i","W5S0W4exeG","WQxdVCogh8kKsXy","WR/cPmkynSoOWOldUW","acVcSSkJra","p8kfW6xcReVdJG","WRfJxCkkyW","yIlcKvGy","bt7cRmk5sGHxW6RcRG","bIxcRCk/vqr7W6u","amopWRddIW","h8kSlmk2wSoWeq","WOJdKmoLdq","WOhdQSk+oSkdlH88qLBdQYRdIX4","W4vUW4r+W6xcKra","W644W4G2mG","W4v7rmkkWPL/","W7zTWP1LWPi","W4VcVSk9nN5gWO8","WPhdIutdUSkhW78L","xCoIW7WNWQ4","smkwW4P3tq","AWpcQMmZ","jIlcTSkyta","WQJdHCosd8k3","wetcP8oGhw7cUtdcIxhcHf4r","fCkWu8kIWRq","WOhdMvxdP8kmW7uWk14","W7W2WPNcQvNdL2VdISouWPP5ka","WO7cVb3dTCoV","WQDhD8kfC2hcVW","WQaee8khW7W","mCoUnMnb","WPlcOCkQj8oq","bCknfCkOrG","W5pcUmkEpurC","bdVdT8k2xG","WOldK0xdOCkwW7G+nW","W4hcOmoMWR95WRBcPG","W5zoi03dQMvH","W6JdR1utwCkthmos","WPhcKSosWPvqW6a","CbVdNf3dRu0","WOCqnXldRW","stddL8ksBH7dHW","W7KZW504cYVcMmkC","Bb7cQuS3oW","WR/dM8oZfq9ZrJ4","WRRdRCkJWPC0","W5CSW5bTWRGbsCky","W48RWQFcGSo5","sCoGBSo3dmkVvxxdTCovW7ZcRSkT","W4FcSSoUESot","W63cM3BdLCkh","W7y1hYZdGCo3","WOGQWPKyW44","WQhdJSo4kXPxWOlcPSo5dbLgWOlcSa","W7K/mSklg2O","WOBdUKLbx2hdMq","WOddSYKRASk2qG","W5CeWOxcIMBdQeddSq","DaNcQue+puW","WR4Oes3dUG","W7/cIHPp","W4riEKtcVguYW6ddGmoFW7ZcPsu","kepcKWhcJbldH8kmW5jHW7NdKmop","WQBdGtaBxCkrW7C","cSk4mSkXwG","WQe1W5i3W542g8kNf1qMvuK","letcNG3cIXFdG8kkW6DjW7ZdS8og","W6JcPHLeiSk0","W5CyWRz7W6FcNbrOiSkgDWFcKG","WPaQkSkLW5FcVZnFC8kEWPW1","F8oaWPyGW7NcSq","WRZcSubUxmkzW7FcJqXJBmkLwa","trZdGNBdLa","W5ysWRZcGN7dRa"];return(_0x55e5=function(){return t})()}_0x380c8[_0x318b0f(523,"0(3X")]=_0x318b0f(611,"XV65"),_0x380c8[_0x318b0f(619,"eE]O")]=BALLOON_WIDTH,_0x380c8.height=BALLOON_WIDTH,_0x380c8[_0x318b0f(562,"grbN")]=10;const CONTAINER_STYLE_BOMB=_0x380c8,_0x370971={};_0x370971[_0x318b0f(585,"xxwd")]=BALLOON_WIDTH,_0x370971[_0x318b0f(610,"ccev")]=TOTAL_HEIGHT;const TOUCH_STYLE=_0x370971,_0x2a134e={};_0x2a134e[_0x318b0f(616,"4tLm")]=BALLOON_WIDTH,_0x2a134e[_0x318b0f(557,"(ija")]=TOTAL_HEIGHT;const CANVAS_STYLE=_0x2a134e,BalloonComponentInner=({balloon:t,onPop:o})=>{const W="qljX",e="]*Q2",r="WUd@",n=_0x318b0f,d={PhhNm:function(t,o,W){return t(o,W)},nEpxe:function(t,o){return t(o)},UIVaw:function(t,o){return t(o)},edaoM:function(t,o,W){return t(o,W)},KWSQq:function(t,o,W){return t(o,W)},JtFUS:function(t,o){return t*o},NFiMb:function(t,o){return t*o},pihNd:n(605,"hw8v")},_=d[n(531,"SA*j")](useSharedValue,t.position.x),O=useSharedValue(t.position.y),a=useSharedValue(t.rotation),x=useSharedValue(t.isPopped?0:1),f=useSharedValue(t[n(604,"V#93")]?0:1),i=useRef(generateStringPath(t.id)),s=useRef(t.id),C=d[n(614,"XLdI")](useRef,o);C[n(575,"]*Q2")]=o,d[n(579,W)](useEffect,()=>{const o=n;_[o(596,"b(r*")]=t[o(613,"&7dL")].x,O[o(554,"J%qy")]=t[o(601,"grbN")].y,a[o(498,"]*Q2")]=t[o(543,")8M*")]},[t[n(541,"V#93")].x,t.position.y,t[n(609,"qljX")]]),useEffect(()=>{const o=n;t[o(491,"udBT")]?(x[o(545,"r3T!")]=d[o(587,r)](withTiming,0,ANIMATION_CONFIG[o(558,"qljX")]),f[o(517,"SA*j")]=withTiming(0,ANIMATION_CONFIG[o(512,"O(qa")])):(x[o(596,"b(r*")]=d[o(506,"G)KU")](withSpring,1,ANIMATION_CONFIG[o(487,"7LWi")]),f[o(568,r)]=d[o(525,"mQn*")](withSpring,1,ANIMATION_CONFIG[o(518,")(6o")]))},[t[n(552,e)]]);const L=useAnimatedStyle(()=>{const t=n,o={};o[t(522,")(6o")]=_[t(568,"WUd@")];const W={};W.translateY=O[t(516,"udBT")];const e={};e.rotate=a[t(529,"0(3X")]+t(528,")tey");const r={};r.scale=x[t(516,"udBT")];const d={};return d.transform=[o,W,e,r],d[t(594,"0(3X")]=f[t(510,"ccev")],d}),T=t[n(488,"kXQw")]?CONTAINER_STYLE_BOMB:CONTAINER_STYLE_NORMAL,N=getBalloonColors(t),h=i.current,S=useCallback(()=>{const t=n;C[t(583,"grbN")]?.(s[t(566,")(6o")])},[]),k={};k.cx=CENTER.x,k.cy=CENTER.y,k.r=DANGER_CIRCLE_RADIUS,k.color=n(526,e);const u={};u.path=BOMB_DANGER_PATH,u.color="#FFFFFF",u[n(547,"ODx6")]=n(580,"OWA@"),u.strokeWidth=2.5,u[n(572,"WUd@")]=n(607,"z0cG");const I={};return I.cx=CENTER.x,I.cy=CENTER.y+4,I.r=1.5,I[n(584,"2QSK")]=n(608,"r3T!"),_0x32fd88(_0x48f954[n(576,"XV65")],{style:[T,L],children:_0x32fd88(TouchableOpacity,{onPress:S,activeOpacity:.8,style:TOUCH_STYLE,children:_0x21ba5a(Canvas,{style:CANVAS_STYLE,pointerEvents:"none",children:[d.edaoM(_0x32fd88,Group,{children:d[n(493,"z0cG")](_0x32fd88,Oval,{x:0,y:0,width:BALLOON_WIDTH,height:BALLOON_HEIGHT,children:d[n(511,"4tLm")](_0x32fd88,LinearGradient,{start:d[n(565,W)](vec,.2*BALLOON_WIDTH,0),end:vec(d.JtFUS(BALLOON_WIDTH,.8),BALLOON_HEIGHT),colors:[N[n(533,"b(r*")],N[n(567,"Edj[")],N.shadow]})})}),_0x32fd88(Oval,{x:.15*BALLOON_WIDTH,y:.1*BALLOON_HEIGHT,width:.35*BALLOON_WIDTH,height:.25*BALLOON_HEIGHT,color:n(560,"]*Q2"),opacity:.4}),_0x32fd88(Circle,{cx:d[n(551,"Sbwf")](BALLOON_WIDTH,.3),cy:.2*BALLOON_HEIGHT,r:d.NFiMb(BALLOON_WIDTH,.08),color:n(559,"%p(f"),opacity:.65}),_0x32fd88(Oval,{x:.25*BALLOON_WIDTH,y:d[n(597,"d%]k")](BALLOON_HEIGHT,.75),width:.5*BALLOON_WIDTH,height:.15*BALLOON_HEIGHT,color:N.shadow,opacity:.3}),!t[n(530,"XGwD")]&&!t[n(532,"Sbwf")]&&KNOT_PATH&&_0x32fd88(Path,{path:KNOT_PATH,color:N[n(520,"XLdI")]}),t[n(618,"NBH0")]&&_0x21ba5a(Group,{children:[_0x32fd88(Circle,k),_0x32fd88(Path,u),d[n(515,"YMCU")](_0x32fd88,Circle,I)]}),!t[n(582,"8&mt")]&&_0x32fd88(Path,{path:h,color:n(563,"G)KU"),style:d[n(527,"SA*j")],strokeWidth:1.5,strokeCap:n(546,W)}),t[n(489,"f]Vq")]&&_0x32fd88(Circle,{cx:CENTER.x,cy:CENTER.y,r:d.JtFUS(BALLOON_WIDTH,.6),color:"#FFFF00",opacity:.35})]})})})};export const BalloonComponent=_0x57f3d3[_0x318b0f(494,"%p(f")](BalloonComponentInner);
@@ -1 +0,0 @@
1
- "use strict";const _0x43b294=_0x5384;function _0x5384(e,t){e-=210;const W=_0x2f3a();let o=W[e];if(void 0===_0x5384.jnblhK){const e=function(e,t){let W,o,r=[],n=0,a="";for(e=function(e){let t="",W="";for(let W,o,r=0,n=0;o=e.charAt(n++);~o&&(W=r%4?64*W+o:o,r++%4)?t+=String.fromCharCode(255&W>>(-2*r&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=t.length;e<o;e++)W+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(W)}(e),o=0;o<256;o++)r[o]=o;for(o=0;o<256;o++)n=(n+r[o]+t.charCodeAt(o%t.length))%256,W=r[o],r[o]=r[n],r[n]=W;o=0,n=0;for(let t=0;t<e.length;t++)o=(o+1)%256,n=(n+r[o])%256,W=r[o],r[o]=r[n],r[n]=W,a+=String.fromCharCode(e.charCodeAt(t)^r[(r[o]+r[n])%256]);return a};_0x5384.fCbdHl=e,_0x5384.tYwPyQ={},_0x5384.jnblhK=!0}const r=W[0];_0x5384.vVSshc!==r&&(_0x5384.tYwPyQ={},_0x5384.vVSshc=r);const n=_0x5384.tYwPyQ[e];return void 0===n?(void 0===_0x5384.MXfiZy&&(_0x5384.MXfiZy=!0),o=_0x5384.fCbdHl(o,t),_0x5384.tYwPyQ[e]=o):o=n,o}!function(){const e=_0x5384,t=_0x2f3a();for(;;)try{if(624340==-parseInt(e(277,"MH$o"))/1+parseInt(e(265,"3(T)"))/2*(parseInt(e(296,"*4YP"))/3)+-parseInt(e(377,"PEsF"))/4+-parseInt(e(427,"DHG("))/5*(-parseInt(e(213,"VpFB"))/6)+-parseInt(e(342,"TBHt"))/7+-parseInt(e(243,"zalN"))/8+-parseInt(e(291,"]qQc"))/9*(-parseInt(e(351,"6ZHn"))/10))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import _0x339537,{useCallback,useRef,useState,useEffect,useMemo}from"react";import{View,StyleSheet}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x4720c8,{useSharedValue,useAnimatedStyle}from"react-native-reanimated";function _0x2f3a(){const e=["W6NdRSop","WQBdRmkDW7NcTM3dMq","rCoCW4/dHrevWPe","y1hcJSkWWQujbSk/W6S","sCkfW7H4W5FcUKK","WPldJHRdIJZcP8kfWPBdUG","WPutbCoyovddPa","WPbhW45zW6mK","W7TRyq","WQi4W5LcWQ8kn1G","WRddQCklW6RcP2BdVSoBBvm5","W7lcG8kw","rY4ffLe","pCk0uSoTfSkjW4q","WQaVW5HFWQyrnW","een2yga","W7xcN8kJW43cJmoB","W555W6RdU8k0WP0","W73dSd3cQc3dPG","t8kEW6j8W5tcPfu","wehcJSkmwYix","dLH+ztFdRmkohSoR","W4DFW6JdSmkJ","pSkuCWK","W7PTWPBdU8keW7GLW4hcGqC2WORcLHOg","b8keFCo0iq","W5RcPSoZlmoIW5tcSJe","WPfDW6TEW6iVWOK3pG","uqRdNNPv","tSomW5tdKbWp","W7BdOmolWRddVrBdVSkR","fmoHW5BdJ8osW4qvoq","WPtdQmkDW6pcNG","WQ3dSmkiW6pcV2RdISoqDG","rbOIjdHSfSkjAa","vXBdM2PPWOS","emk0WQJdJu0","vCoGaGiY","W5hdImo+WR/cOCkrW54","FbtdLMT0","jahdGmkBs8kst8oWWRdcRhtcU8kW","W4BdTmonWOtcJW","auz3Ba","W5pcOSk7rKXkjZlcUu/cK8knW5O","W5pcRqdcVCk9","W4JcQXFcRmkzACkwWPy","k8kmWRSE","W58QWOO8W4X7WQOWWRvu","WRO/xd/dVcHZ","wSkBW75MW5m","rmogW4xcMHOuWOSq","WPVcOmowCGpcTW","stboEmkoEqu","BmkcF8kAqmoZWQC","W7RdOCkcmv4","WReZW4DHWQOyk0K","gMxcU8kLCwDtgW","WRxdO8kzW4JcOa","aq/dMSomWQVcNG","WRe1W59dWQC","W40ic3X4","WPGUW55xWP8","W4ZcL0ZcM3FdLmoCWQRdGuzNqr8","WOhdUSoOdtWtDHtcS3G","W6H8Dd7cJXOcvNxcGq","p8kxWOldMKu","W5JdLCocWR/cSG","CNNcTSoCW47dJuS","p8kUtmoGgCkVW7SfW7lcRCkbsMeWW74","WPHcgCogW7BdSeG","gSkXW5DtW7dcJNy","WRJcQmoFxZ4","umk9ahVdNa","W7hcJCkr","uSoqW43dKG","uMRcQ8oz","WO3dGrJdMIS","aCoNeW","W6CHufddNSkX","pGKtW448WPzJ","oCkGumoxhq","WOpcJCk+W7tdT8ojWP9fdmkAWQFdLmof","WQ7dMmozWPFdL8kjWPLLWRrdhf3dQa","WPldKZBdGcpcGG","sSk1bfC","BYKcguJcK8oWCSkiv8kiWO4","WOhdP8o7drOszG","W4hdNSoTWQhcOq","fHhcHMJcICoSASkozCk0WOCR","W4VcVmo1p8oZW5pcQq","lCk2WQZdMvfWWO5rE0O","W6H8Dd7cJXOcvNxcGa","fdxdHmoRWPm","W6qMqL3dHCkVWQlcJG","W4RdHmoaWRFcPq","vmkwW6nYW5/cPNZcOfvx","W4hdLmopo0HmiG","WQFdJa/dUmkCWPRdUG","uvBdMshdQmkWx8kKDCkAWPGeWP8zWP4","WPxdUSoGcXO","tXddUgftWPhdIa","W58YaZ4kW4e","xWZdMwjk","WOKXW75yWOK","cSogWQuNW5pcQxVcPMLN","cCklWP0","Cg7cUmoyW5ZdI1CAWRC2mt3dKf4hW5BdSfaWW40","W4pcOra","W6bQWPODW7npCW","E8oXcH0sc2Dr","mgZdRdjqW7mh","WPu/wZy","W6ldU8osWOpdUq","fmkqBc7dIwCqvmoDW6/cIa","W4vuW6ddK8k4WOmz","W6BdN8kPW47cLJVcLq","W6XTagRcONnrn8oWuHbF","W5jQWPhdTmkD","W57dVCkomLldSCoi","W5vjWRFdMa","f8oRW4BdICoiW4KBjqi","W547WOS2W5nD","W446WOSRW51wWRe","WRu7W4zyWQy","W73dUd7cGcVdRmowWQ0","WQ0mW5PqWR3dL8kU","rCkRWPzlWOP3W6q","eCkwWRLYda","cqKOW5uj","BConW4tdNIa","WQtcSCo0DbKaW7NdULTRWPHZW4K","nXqVW44V","oMRdNc9yW78","W5avW63cTcPSWOi","jSkYBmoogCk6W74eW7O","WP1OuMOOW5ZcI8krWRTX","W797zYlcMrGx","W7pcTshcKCk/","WONdIrNdOYFcH8kbWO0","W5/cOCoUoCoZ","W5/dKSo6WQJcKmkq","W6Gvgw1I","iCkUuSoh","W7hcJCktW4xcImoxW71DWPi","W6pdRmk4dez7WQhdKwv9WQbzW4RcPmoh","WO/cPSopAai","zCotW6ddJ0y","W7O9mKLbCW","WPhdTcNcU8k6rmksWQC","W6bRWPpdMCkU","W4jCWPBdRSk5","W7W0p19bsq","WO3cU8otAWFcT8kf","W4a1et8PW5/cTCkc","y1/cISkYWPGi","fmkqBd/dNgOixG","W5ldImkeifO","W5r0pSoJW5NdGNC","B8o4bHWYcG","h2j+uhW","W6LkWQddP8kz","aaFdHSooWPBcNWXTlmoY","W4ldJ8oLWQdcPCknW5m","W6pdQSkTl00","amoNfmkStsmNr8o2BG","W4pcPqNcRmkuCSkvWPi","W44xdG","WQCkW6PnWRBdJmkP","W43cTZtcPSkLCmkvWPC","sSk7bvNdTKxdNKqyymkTWPRcPMui","jmkSWPW3W7uaWPRcQCoZW7/dT8k1vmo3WO0","W7DHWRNdSCkh","W4FcTGhcQmkHzCkIWPlcNfNdRSouxKLwsSoOw8k0","W5lcPqJcVmkW","lX0f","W4Kkd01W","WQS7rbZdVqT0hCo9xbrDW7TzWR0","bhBdQZv5","WQW0W69dWQC","WO8fjmoyouhdTSoDWRC","xHGViMNcHa","p8onCshcGd7cPuGwwSkuWOtcKq","vrpdLMDj","D1/cN8k7WRS","bf9GzM0YuG","WO1gW61yW70QWO8Rl8kc","W50VaZ4XW5K","W7DIWPiAW7jiCMxdR8olBCkvWPG","lGGoW4WjWPbUWQuQWP0/cLFdK8o/","fY/dMSonWPRcIq","WPeaW4NdRCk+WQeEW6a","pbGfW744WPr7WRKSWPaykwRdMCoP","W5bjW7tdUG","nmo6W5pdPXCtgq","h8oNcSkM","dcfoACk3BWJdRmkswZVdLCk4WPddN8osACktEG","W6NcGSktW4FcHSoqW5PgWODAa0ldSmoii8o+qsJdRqRcMSoP","W4pcPmorhSo3","W4nvW7a","xG06","aCoQbSkTvHC","WPpdHr3dIcBcLa","ACkwW6v9","WQhcU8o8C2vDWPddLgfK","W6BdOHhcOY/dQq","y8ooW7tdJ1fgpmoTW4ddSW","rqePpwVcTCozrCkV","W4ldSdJcQq","vmovjI4e","WQnWW7rrW6a","j2VdVY5gW7esfHFcIG","cSo7k8kZwa","W6BcIYNcIW","CMtcRmoyW5VdLL0g","WOFcGIlcJmoLnmoe","W7BcVrtcM8kV","Au5zWOLOW4KHWQ8sWRKechC","W60/W65NWPRcISky","W4/cRmoZhSoIW5ZcQtO","W41dW4BdSmk/WPap","e8oMa8klwaWKrCo7B8kxCf3dVSk2","W5yiFxJdVSkjWOpcV8k9WPpcMcKDqtS","W69Ryq"];return(_0x2f3a=function(){return e})()}import{Canvas,Oval,Circle,Path,Skia,vec,LinearGradient,RadialGradient,Group}from"@shopify/react-native-skia";import{useBalloonBlasterStore,useIsPlaying,useGameOver}from"../BalloonBlasterStore.js";import{GAME_CONFIG}from"../BalloonBlasterService.js";import{playSound,GAME_SOUNDS}from"../../../services/SoundsService.js";import{playHaptic,HapticType}from"../../../services/HapticsService.js";import{ParticleBlast}from"../../../helpers/index.js";import{lighten,darken}from"../../../services/GamesConstants.js";import{setGameInterval,clearGameInterval}from"../../../helpers/GameTimer.js";import{jsx as _0xb0915d,jsxs as _0xb14eb3}from"react/jsx-runtime";const PARTICLE_COUNT=6,PARTICLE_DURATION=600,BALLOON_SIZE=GAME_CONFIG[_0x43b294(246,"mLbi")],BALLOON_HEIGHT=1.25*BALLOON_SIZE,TOTAL_HEIGHT=BALLOON_HEIGHT+Math[_0x43b294(220,"e[7$")](BALLOON_SIZE/60*30),BALLOON_WIDTH_OFFSET=BALLOON_SIZE/2,BALLOON_HEIGHT_OFFSET=BALLOON_HEIGHT/2,SCALE=BALLOON_SIZE/60,STRING_LENGTH=Math[_0x43b294(306,"%Dz&")](30*SCALE),DANGER_CIRCLE_RADIUS=Math.round(10*SCALE),CENTER_X=BALLOON_SIZE/2,CENTER_Y=BALLOON_HEIGHT/2,PAD=6,PADDED_W=BALLOON_SIZE+12,PADDED_H=TOTAL_HEIGHT+12,_0x5a3281={};_0x5a3281[_0x43b294(374,"FA20")]=_0x43b294(393,"e[7$"),_0x5a3281[_0x43b294(399,"aelK")]=PADDED_W,_0x5a3281[_0x43b294(413,"ENXr")]=PADDED_H,_0x5a3281[_0x43b294(256,"3(T)")]=-6,_0x5a3281[_0x43b294(304,"zalN")]=-6,_0x5a3281[_0x43b294(350,"i(aY")]=5;const CONTAINER_STYLE_NORMAL=_0x5a3281,_0x5b171b={};_0x5b171b[_0x43b294(415,"LmWp")]=_0x43b294(217,"fz*i"),_0x5b171b[_0x43b294(428,"Q^85")]=PADDED_W,_0x5b171b[_0x43b294(362,")ZJL")]=PADDED_H,_0x5b171b[_0x43b294(322,"i(aY")]=-6,_0x5b171b[_0x43b294(387,"ItNC")]=-6,_0x5b171b[_0x43b294(401,"6ZHn")]=10;const CONTAINER_STYLE_BOMB=_0x5b171b,_0x421046={};_0x421046.width=PADDED_W,_0x421046.height=PADDED_H;const TOUCH_STYLE=_0x421046,_0x473e8d={};_0x473e8d[_0x43b294(412,"oG*l")]=PADDED_W,_0x473e8d[_0x43b294(413,"ENXr")]=PADDED_H;const CANVAS_STYLE=_0x473e8d,_0x8bdc0a={};_0x8bdc0a[_0x43b294(366,"&P3G")]=6;const _0x5b143b={};_0x5b143b[_0x43b294(346,"^H)u")]=6;const CANVAS_GROUP_TRANSFORM=[_0x8bdc0a,_0x5b143b],_0x58159e={};_0x58159e[_0x43b294(323,"1a8D")]="#1a1a1a",_0x58159e[_0x43b294(281,"LmWp")]="#333333",_0x58159e[_0x43b294(411,"^H)u")]="#555555",_0x58159e.shadow=_0x43b294(269,"e[7$"),_0x58159e[_0x43b294(285,"h(eK")]=_0x43b294(279,"%Dz&"),_0x58159e[_0x43b294(389,")ZJL")]=_0x43b294(258,"WEjB");const BOMB_COLORS=_0x58159e,_0x179887={};_0x179887[_0x43b294(313,"%Dz&")]=_0x43b294(257,"DHG("),_0x179887.secondary=_0x43b294(378,"Zk7J"),_0x179887[_0x43b294(417,"m52]")]=_0x43b294(354,"&P3G"),_0x179887[_0x43b294(319,"]rX%")]=_0x43b294(214,"c@ud"),_0x179887[_0x43b294(299,")ZJL")]=_0x43b294(276,"m52]"),_0x179887[_0x43b294(389,")ZJL")]=_0x43b294(375,"Q^85");const BONUS_COLORS=_0x179887,colorCache=new Map,getBalloonColors=e=>{const t=_0x43b294,W={WouuL:function(e,t,W){return e(t,W)},OMcFL:function(e,t,W){return e(t,W)}};if(e[t(391,"^H)u")])return BOMB_COLORS;if(e[t(390,"&2GI")])return BONUS_COLORS;const o=e[t(235,"ENXr")].color||t(287,"UA@0");let r=colorCache[t(392,"e^$Y")](o);return!r&&(r={primary:o,secondary:lighten(o,.3),highlight:W[t(338,"CBMf")](lighten,o,.6),shadow:W.OMcFL(darken,o,.4),rimLight:W[t(332,"tjk4")](lighten,o,.45),innerGlow:lighten(o,.15)},colorCache[t(360,"mLbi")](o,r)),r},HIGHLIGHT_GRADIENT=[_0x43b294(231,"3(T)"),"#FFFFFF00"],KNOT_PATH=(()=>{const e=_0x43b294,t={};t[e(289,"PEsF")]=function(e,t){return e-t},t.QqrhM=function(e,t){return e-t},t.GHVzQ=function(e,t){return e+t};const W=t,o=Skia.Path[e(272,"MH$o")](),r=CENTER_X,n=W.TuIiP(BALLOON_HEIGHT,2);return o[e(315,"ItNC")](r-4,n),o[e(419,"oG*l")](W[e(416,"m52]")](r,2),n+5,r,W[e(264,"Zk7J")](n,7)),o[e(347,"*4YP")](r+2,n+5,r+4,n),o[e(210,"3(T)")](),o})(),BOMB_DANGER_PATH=(()=>{const e=_0x43b294,t={};t[e(233,"TBHt")]=function(e,t){return e-t},t[e(396,"mLbi")]=function(e,t){return e+t};const W=t,o=Skia[e(363,"3(T)")][e(368,"h(eK")]();return o.moveTo(CENTER_X,W[e(310,"tjk4")](CENTER_Y,5)),o.lineTo(CENTER_X,W[e(278,"tjk4")](CENTER_Y,1)),o})(),stringPathCache=new Map,getStringPath=e=>{const t=_0x43b294,W={ySpBl:function(e,t){return e+t},PWwPz:function(e,t){return e(t)},YqcND:function(e,t){return e+t},vZFxX:function(e,t){return e+t}};let o=stringPathCache[t(268,"Q^85")](e);if(o)return o;o=Skia.Path[t(430,"UA@0")]();const r=CENTER_X,n=BALLOON_HEIGHT-2,a=e[t(343,"oG*l")]("").reduce((e,W)=>e+W[t(224,"DHG(")](0),0),d=e=>(a+17*e)%100/100;o.moveTo(r,n);const _=STRING_LENGTH/2;for(let e=1;e<=2;e++){const a=n+_*e,i=W[t(253,"i(aY")](2,2*d(e)),O=(W.PWwPz(d,e+10)-.5)*i,s=W.YqcND(r,O),l=r+(d(W.vZFxX(e,20))-.5)*i*.5,x=a-.5*_;o.quadTo(l,x,s,a)}return stringPathCache[t(383,"e^$Y")](e,o),o};export const GameArea=_0x339537[_0x43b294(280,"tjk4")](({service:e,enableSounds:t=!0,enableHaptics:W=!0})=>{const o="]rX%",r="0vze",n="6ZHn",a=_0x43b294,d={vMGAW:function(e,t){return e<t},zaEYw:function(e,t){return e*t},VWvuG:function(e,t){return e!==t},PuREp:function(e,t){return e+t},kmVSa:function(e,t){return e(t)},QfzPR:function(e,t){return e(t)},LCLcI:function(e,t,W){return e(t,W)}},_=d[a(358,"(8Og")](useRef,t),i=useRef(W);_[a(345,"aelK")]=t,i[a(297,"e^$Y")]=W;const[O,s]=d[a(321,"tjk4")](useState,0),l=useRef([]),[,x]=useState(0);useEffect(()=>{const t=a,W={WqEXj:t(420,"]Hki"),rCzQR:function(e,t){return e(t)}};return e[t(337,"MH$o")](()=>{const e=t;if(e(421,"]rX%")!==W[e(298,"Q^85")]){const t=_0x38ad6a[e(236,"FA20")][e(407,"WlI9")]();return t[e(301,"1a8D")](_0x5c7f73,_0x54628a-5),t[e(219,"i(aY")](_0x7f7116,_0x8656ea+1),t}W[e(376,"WEjB")](s,e=>e+1)}),()=>{e[t(305,"]qQc")](()=>{})}},[e]);const u=useIsPlaying(),S=useGameOver();useEffect(()=>{const t=a;if(u&&!S)return e[t(356,"VpFB")](),()=>{e[t(259,"$aPZ")]()}},[u,S,e]),useEffect(()=>{if(!u||S)return;for(let t=0;d.vMGAW(t,3);t++)setTimeout(()=>{const t=_0x5384;if(useBalloonBlasterStore[t(379,"(8Og")]().isPlaying){const W=e[t(333,"Q^85")]();e[t(381,"r@)l")](W)}},d.zaEYw(t,100));const t=setGameInterval(()=>{const t=_0x5384;if("sfPku"!==t(370,"^H)u")){if(useBalloonBlasterStore[t(316,"WlI9")]().isPlaying){const W=e.createRandomBalloon();e[t(352,"PEsF")](W)}}else _0x579b43(_0x3cf3f2[t(382,"%oWQ")][t(373,"Q^85")],_0x373b25[t(271,"CBMf")]),W=_0x9e3af1,o=_0x594abc[t(409,"c@ud")],r=_0xf13386.current,W(o,r),_0x2c7645[t(429,"Q^85")](),_0x3ec6ef[t(325,"r@)l")]();var W,o,r},GAME_CONFIG.BALLOON_SPAWN_INTERVAL);return()=>clearGameInterval(t)},[u,S,e]);const L=useCallback(t=>{const W=a,O=useBalloonBlasterStore[W(379,"(8Og")]();if(!O[W(295,"c@ud")]||O[W(270,o)])return;const s=e[W(229,"c@ud")](t);if(s&&(s[W(365,"h(eK")]?(playSound(GAME_SOUNDS[W(408,"tjk4")][W(245,"TBHt")],_[W(250,"(8Og")]),playHaptic(HapticType[W(369,o)],i[W(386,"ENXr")]),O[W(314,"*4YP")](),O[W(431,r)]()):s[W(380,n)]?d[W(222,"Zk7J")]("EaeYX",W(232,"%Dz&"))?_0x409085[W(349,"PEsF")]():(playSound(GAME_SOUNDS[W(331,"UA@0")][W(266,"]Hki")],_.current),playHaptic(HapticType.LIGHT,i[W(398,"e[7$")]),O[W(275,n)]()):(playSound(GAME_SOUNDS[W(330,"TBHt")][W(327,"crt@")],_[W(283,r)]),playHaptic(HapticType.LIGHT,i.current),O[W(394,"m52]")](100)),d[W(302,"crt@")](l.current.length,8))){const e=W(312,"crt@")+Date[W(395,"zalN")]()+"_"+Math[W(402,"h(eK")](),t=s[W(254,"%oWQ")].x+BALLOON_WIDTH_OFFSET,o=d.PuREp(s[W(415,"LmWp")].y,BALLOON_HEIGHT_OFFSET),r={};r.id=e,r.x=t,r.y=o,l[W(247,"DHG(")]=[...l[W(422,"1a8D")],r],x(e=>e+1)}},[e]),C=useRef(new Map),k=useCallback(e=>{const t=a;let W=C.current[t(359,"6ZHn")](e);return!W&&(W=()=>{const W=t;l[W(294,"*]Fj")]=l[W(345,"aelK")][W(212,"%Dz&")](t=>t.id!==e),C[W(386,"ENXr")][W(308,"crt@")](e),x(e=>e+1)},C.current[t(238,"r@)l")](e,W)),W},[]),N=d[a(288,"u#ZE")](useMemo,()=>[...e[a(274,"WlI9")]()],[e,O]);return _0xb14eb3(View,{style:styles[a(326,"Q^85")],pointerEvents:a(211,"ENXr"),children:[N[a(234,"zalN")](t=>_0xb0915d(BalloonItem,{balloon:t,service:e,onTap:L},t.id)),l[a(286,"Zk7J")][a(384,"rClv")](e=>_0xb0915d(ParticleBlast,{x:e.x,y:e.y,particleCount:6,duration:600,onComplete:k(e.id)},e.id))]})});const BalloonItem=_0x339537[_0x43b294(355,"r@)l")](({balloon:e,service:t,onTap:W})=>{const o="1a8D",r=_0x43b294,n={xHlDt:function(e,t){return e(t)},GWnmb:function(e,t){return e(t)},jhNrv:function(e,t,W){return e(t,W)},tIAIK:r(303,"c@ud"),WRQaE:r(405,"mLbi"),xyLza:function(e,t,W){return e(t,W)},USnsj:function(e,t){return e-t},KdyiT:function(e,t){return e*t},yoclw:function(e,t,W){return e(t,W)},pzvCs:function(e,t){return e*t},ftmRp:function(e,t){return e*t},OvoFj:r(300,"(8Og"),BAHcr:function(e,t,W){return e(t,W)},ZwleI:r(307,"&P3G"),SPUPM:function(e,t){return e+t},fSOmg:r(318,"fkzZ"),zpLYr:r(404,"fz*i")},a=n[r(320,"aelK")](useSharedValue,e[r(341,"mLbi")]),d=n.xHlDt(useSharedValue,e.spawnY),_=n.GWnmb(useSharedValue,e[r(414,"rClv")]),i=useSharedValue(e[r(329,"Q^85")]?0:1),O=useSharedValue(e.isPopped?0:1);useEffect(()=>{const W=r,o={};return o[W(225,"e^$Y")]=a,o[W(252,"e^$Y")]=d,o[W(410,"(8Og")]=_,o[W(324,"]qQc")]=i,o[W(230,"fkzZ")]=O,t[W(267,"FA20")](e.id,o),()=>{t[W(357,"zalN")](e.id)}},[e.id,t,a,d,_,i,O]);const s={};s[r(371,"CBMf")]=a[r(284,"e[7$")];const l={};l[r(251,"]Hki")]=d[r(237,")ZJL")];const x={};x.rotate=_[r(237,")ZJL")]+r(335,"PEsF");const u={};u[r(248,o)]=i[r(241,"c@ud")];const S=useAnimatedStyle(()=>({transform:[s,l,x,u],opacity:O[r(334,"Q^85")]})),L=e[r(293,"CBMf")]?CONTAINER_STYLE_BOMB:CONTAINER_STYLE_NORMAL,C=useRef(e.id),k=useRef(W);k[r(297,"e^$Y")]=W;const N=n[r(215,"]qQc")](useMemo,()=>Gesture.Tap()[r(339,"e[7$")](()=>{const e=r;k[e(385,"m52]")](C[e(240,"PEsF")])})[r(397,"c@ud")](!0),[]),E=useMemo(()=>getBalloonColors(e),[e[r(400,"zalN")],e[r(261,"oG*l")],e[r(353,"6ZHn")][r(406,"6ZHn")]]),m=useMemo(()=>getStringPath(e.id),[e.id]);return _0xb0915d(_0x4720c8.View,{style:[L,S],children:n[r(292,"PEsF")](_0xb0915d,GestureDetector,{gesture:N,children:_0xb0915d(View,{style:TOUCH_STYLE,children:_0xb0915d(Canvas,{style:CANVAS_STYLE,pointerEvents:n[r(425,"1a8D")],children:_0xb14eb3(Group,{transform:CANVAS_GROUP_TRANSFORM,children:[_0xb0915d(Oval,{x:.1*BALLOON_SIZE,y:.05*BALLOON_HEIGHT+3,width:.8*BALLOON_SIZE,height:.9*BALLOON_HEIGHT,color:"#000000",opacity:.12,children:_0xb0915d(RadialGradient,{c:vec(CENTER_X,CENTER_Y+3),r:.5*BALLOON_SIZE,colors:[n[r(336,"crt@")],r(418,"aelK")]})}),_0xb0915d(Oval,{x:0,y:0,width:BALLOON_SIZE,height:BALLOON_HEIGHT,children:_0xb0915d(LinearGradient,{start:vec(0,0),end:n[r(372,"r@)l")](vec,BALLOON_SIZE,BALLOON_HEIGHT),colors:[E[r(216,"e[7$")],E[r(228,"FA20")],E[r(361,"r@)l")]]})}),_0xb0915d(Oval,{x:2,y:2,width:n.USnsj(BALLOON_SIZE,4),height:BALLOON_HEIGHT-4,children:_0xb0915d(LinearGradient,{start:vec(.15*BALLOON_SIZE,0),end:vec(n[r(290,"ENXr")](BALLOON_SIZE,.85),BALLOON_HEIGHT),colors:[E.highlight,E[r(340,"&2GI")],E[r(388,"3(T)")],E[r(262,"*4YP")]]})}),_0xb0915d(Oval,{x:.12*BALLOON_SIZE,y:.08*BALLOON_HEIGHT,width:.76*BALLOON_SIZE,height:.6*BALLOON_HEIGHT,children:_0xb0915d(RadialGradient,{c:vec(.85*CENTER_X,.3*BALLOON_HEIGHT),r:.45*BALLOON_SIZE,colors:[E[r(367,"mLbi")]+"60",E.innerGlow+"00"]})}),n[r(344,"ItNC")](_0xb0915d,Oval,{x:.18*BALLOON_SIZE,y:.08*BALLOON_HEIGHT,width:.38*BALLOON_SIZE,height:n[r(218,"m52]")](BALLOON_HEIGHT,.28),color:r(260,"DHG("),opacity:.55,children:_0xb0915d(RadialGradient,{c:vec(n[r(273,"rClv")](BALLOON_SIZE,.35),.18*BALLOON_HEIGHT),r:.22*BALLOON_SIZE,colors:HIGHLIGHT_GRADIENT})}),n[r(255,o)](_0xb0915d,Circle,{cx:.28*BALLOON_SIZE,cy:.16*BALLOON_HEIGHT,r:.05*BALLOON_SIZE,color:n.OvoFj,opacity:.9}),_0xb0915d(Oval,{x:.3*BALLOON_SIZE,y:.78*BALLOON_HEIGHT,width:.4*BALLOON_SIZE,height:.12*BALLOON_HEIGHT,color:"white",opacity:.15}),_0xb0915d(Path,{path:KNOT_PATH,color:E[r(239,"%oWQ")]}),e[r(244,")ZJL")]&&n[r(263,"oG*l")](_0xb14eb3,Group,{children:[_0xb0915d(Circle,{cx:CENTER_X,cy:CENTER_Y,r:DANGER_CIRCLE_RADIUS,color:"#FF0000"}),n[r(317,"]qQc")](_0xb0915d,Path,{path:BOMB_DANGER_PATH,color:r(318,"fkzZ"),style:"stroke",strokeWidth:2.5,strokeCap:n[r(423,"oG*l")]}),_0xb0915d(Circle,{cx:CENTER_X,cy:n[r(221,"crt@")](CENTER_Y,4),r:1.5,color:n[r(226,"]Hki")]})]}),_0xb0915d(Path,{path:m,color:"#8B7355",style:r(282,"0vze"),strokeWidth:1.5,strokeCap:n.ZwleI}),e[r(328,"Zk7J")]&&n[r(227,"1a8D")](_0xb0915d,Circle,{cx:CENTER_X,cy:CENTER_Y,r:.45*BALLOON_SIZE,color:n[r(311,"tjk4")],opacity:.35})]})})})})})},(e,t)=>e[_0x43b294(432,"MH$o")].id===t.balloon.id),_0x42ef69={};_0x42ef69[_0x43b294(426,"aelK")]=1,_0x42ef69.overflow=_0x43b294(403,"3(T)");const _0x5a5bea={};_0x5a5bea.gameArea=_0x42ef69;const styles=StyleSheet.create(_0x5a5bea);