@nayan-ui/games 1.18.0 → 1.20.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 (1808) 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 +94 -73
  832. package/src/assets/fonts/Inter-SemiBold.ttf +0 -0
  833. package/src/assets/models/explorer/explorer.glb +0 -0
  834. package/src/assets/models/explorer/params.json +51 -0
  835. package/src/assets/models/explorer/source.json +222 -0
  836. package/src/assets/models/play-with-tua/play-with-tua.glb +0 -0
  837. package/src/assets/models/play-with-tua/sources.json +141 -0
  838. package/src/assets/sfx/balloon_pop.wav +0 -0
  839. package/src/assets/sfx/blocked.wav +0 -0
  840. package/src/assets/sfx/boing.wav +0 -0
  841. package/src/assets/sfx/bonus.wav +0 -0
  842. package/src/assets/sfx/boom.wav +0 -0
  843. package/src/assets/sfx/bump.wav +0 -0
  844. package/src/assets/sfx/cannon.wav +0 -0
  845. package/src/assets/sfx/capture.wav +0 -0
  846. package/src/assets/sfx/card_flip.wav +0 -0
  847. package/src/assets/sfx/card_place.wav +0 -0
  848. package/src/assets/sfx/catch.wav +0 -0
  849. package/src/assets/sfx/chime.wav +0 -0
  850. package/src/assets/sfx/chomp.wav +0 -0
  851. package/src/assets/sfx/chomp_alt.wav +0 -0
  852. package/src/assets/sfx/clack.wav +0 -0
  853. package/src/assets/sfx/clang.wav +0 -0
  854. package/src/assets/sfx/clash.wav +0 -0
  855. package/src/assets/sfx/click.wav +0 -0
  856. package/src/assets/sfx/coin.wav +0 -0
  857. package/src/assets/sfx/combo.wav +0 -0
  858. package/src/assets/sfx/crash.wav +0 -0
  859. package/src/assets/sfx/crunch.wav +0 -0
  860. package/src/assets/sfx/dance.wav +0 -0
  861. package/src/assets/sfx/deselect.wav +0 -0
  862. package/src/assets/sfx/dice_roll.wav +0 -0
  863. package/src/assets/sfx/die.wav +0 -0
  864. package/src/assets/sfx/draw.wav +0 -0
  865. package/src/assets/sfx/drop.wav +0 -0
  866. package/src/assets/sfx/eat.wav +0 -0
  867. package/src/assets/sfx/engine.wav +0 -0
  868. package/src/assets/sfx/error.wav +0 -0
  869. package/src/assets/sfx/flag.wav +0 -0
  870. package/src/assets/sfx/flap.wav +0 -0
  871. package/src/assets/sfx/flip_disc.wav +0 -0
  872. package/src/assets/sfx/footstep_run.wav +0 -0
  873. package/src/assets/sfx/footstep_walk.wav +0 -0
  874. package/src/assets/sfx/game_over.wav +0 -0
  875. package/src/assets/sfx/gate.wav +0 -0
  876. package/src/assets/sfx/hit.wav +0 -0
  877. package/src/assets/sfx/hop.wav +0 -0
  878. package/src/assets/sfx/hurt.wav +0 -0
  879. package/src/assets/sfx/invalid.wav +0 -0
  880. package/src/assets/sfx/jump.wav +0 -0
  881. package/src/assets/sfx/ladder.wav +0 -0
  882. package/src/assets/sfx/land.wav +0 -0
  883. package/src/assets/sfx/laugh.wav +0 -0
  884. package/src/assets/sfx/lose.wav +0 -0
  885. package/src/assets/sfx/merge.wav +0 -0
  886. package/src/assets/sfx/miss.wav +0 -0
  887. package/src/assets/sfx/nitro.wav +0 -0
  888. package/src/assets/sfx/pew.wav +0 -0
  889. package/src/assets/sfx/place.wav +0 -0
  890. package/src/assets/sfx/pling.wav +0 -0
  891. package/src/assets/sfx/point.wav +0 -0
  892. package/src/assets/sfx/pop.wav +0 -0
  893. package/src/assets/sfx/pop_soft.wav +0 -0
  894. package/src/assets/sfx/power_up.wav +0 -0
  895. package/src/assets/sfx/reveal.wav +0 -0
  896. package/src/assets/sfx/robot.wav +0 -0
  897. package/src/assets/sfx/rotate.wav +0 -0
  898. package/src/assets/sfx/run_steps.wav +0 -0
  899. package/src/assets/sfx/select.wav +0 -0
  900. package/src/assets/sfx/shuffle.wav +0 -0
  901. package/src/assets/sfx/six.wav +0 -0
  902. package/src/assets/sfx/slice.wav +0 -0
  903. package/src/assets/sfx/slide.wav +0 -0
  904. package/src/assets/sfx/snake.wav +0 -0
  905. package/src/assets/sfx/snap.wav +0 -0
  906. package/src/assets/sfx/splash.wav +0 -0
  907. package/src/assets/sfx/star.wav +0 -0
  908. package/src/assets/sfx/start.wav +0 -0
  909. package/src/assets/sfx/swoosh.wav +0 -0
  910. package/src/assets/sfx/tap.wav +0 -0
  911. package/src/assets/sfx/thud.wav +0 -0
  912. package/src/assets/sfx/thunk.wav +0 -0
  913. package/src/assets/sfx/tick.wav +0 -0
  914. package/src/assets/sfx/time_up.wav +0 -0
  915. package/src/assets/sfx/tock.wav +0 -0
  916. package/src/assets/sfx/walk_steps.wav +0 -0
  917. package/src/assets/sfx/warning.wav +0 -0
  918. package/src/assets/sfx/whack.wav +0 -0
  919. package/src/assets/sfx/whoosh.wav +0 -0
  920. package/src/assets/sfx/win.wav +0 -0
  921. package/src/assets/sfx/zap.wav +0 -0
  922. package/src/assets/textures/ad_bolt.png +0 -0
  923. package/src/assets/textures/ad_bubbles.png +0 -0
  924. package/src/assets/textures/ad_chevrons.png +0 -0
  925. package/src/assets/textures/asphalt.png +0 -0
  926. package/src/assets/textures/bark.jpg +0 -0
  927. package/src/assets/textures/explorer-atlas.png +0 -0
  928. package/src/assets/textures/facade.png +0 -0
  929. package/src/assets/textures/grass.png +0 -0
  930. package/src/assets/textures/leaves.png +0 -0
  931. package/src/assets/textures/limestone.jpg +0 -0
  932. package/src/assets/textures/meadow.jpg +0 -0
  933. package/src/assets/textures/nature-sources.json +87 -0
  934. package/src/assets/textures/pine.png +0 -0
  935. package/src/assets/textures/river.jpg +0 -0
  936. package/src/assets/textures/soft_glow.png +0 -0
  937. package/src/games/arrows/Arrows.tsx +69 -0
  938. package/src/games/arrows/ArrowsConstants.ts +107 -0
  939. package/src/games/arrows/ArrowsGame.ts +735 -0
  940. package/src/games/arrows/ArrowsScene.ts +395 -0
  941. package/src/games/balloon-blaster/BalloonBlaster.tsx +75 -0
  942. package/src/games/balloon-blaster/BalloonBlasterConstants.ts +79 -0
  943. package/src/games/balloon-blaster/BalloonBlasterGame.ts +287 -0
  944. package/src/games/balloon-blaster/BalloonBlasterPhysics.ts +95 -0
  945. package/src/games/balloon-blaster/BalloonBlasterScene.ts +225 -0
  946. package/src/games/bike-racing/BikeMeshes.ts +273 -0
  947. package/src/games/bike-racing/BikeRacing.tsx +211 -0
  948. package/src/games/bike-racing/BikeRacingConstants.ts +103 -0
  949. package/src/games/bike-racing/BikeRacingGame.ts +557 -0
  950. package/src/games/bike-racing/BikeRacingScene.ts +119 -0
  951. package/src/games/block-blast/BlockBlast.tsx +73 -0
  952. package/src/games/block-blast/BlockBlastConstants.ts +179 -0
  953. package/src/games/block-blast/BlockBlastGame.ts +471 -0
  954. package/src/games/block-blast/BlockBlastScene.ts +156 -0
  955. package/src/games/block-breaker/BlockBreaker.tsx +79 -0
  956. package/src/games/block-breaker/BlockBreakerConstants.ts +139 -0
  957. package/src/games/block-breaker/BlockBreakerGame.ts +459 -0
  958. package/src/games/block-breaker/BlockBreakerScene.ts +257 -0
  959. package/src/games/bluk/Bluk.tsx +82 -0
  960. package/src/games/bluk/BlukConstants.ts +121 -0
  961. package/src/games/bluk/BlukGame.ts +323 -0
  962. package/src/games/bluk/BlukRules.ts +154 -0
  963. package/src/games/bluk/BlukScene.ts +514 -0
  964. package/src/games/bubble-shooter/BubbleShooter.tsx +76 -0
  965. package/src/games/bubble-shooter/BubbleShooterConstants.ts +103 -0
  966. package/src/games/bubble-shooter/BubbleShooterGame.ts +459 -0
  967. package/src/games/bubble-shooter/BubbleShooterScene.ts +158 -0
  968. package/src/games/candy-crush/CandyCrush.tsx +77 -0
  969. package/src/games/candy-crush/CandyCrushConstants.ts +94 -0
  970. package/src/games/candy-crush/CandyCrushGame.ts +477 -0
  971. package/src/games/candy-crush/CandyCrushScene.ts +209 -0
  972. package/src/games/car-racing/CarMeshes.ts +440 -0
  973. package/src/games/car-racing/CarRacing.tsx +211 -0
  974. package/src/games/car-racing/CarRacingConstants.ts +167 -0
  975. package/src/games/car-racing/CarRacingFacade.ts +40 -0
  976. package/src/games/car-racing/CarRacingGame.ts +539 -0
  977. package/src/games/car-racing/CarRacingScene.ts +1026 -0
  978. package/src/games/car-racing/CarRacingScenery.ts +265 -0
  979. package/src/games/chameleon-run/ChameleonRun.tsx +96 -0
  980. package/src/games/chameleon-run/ChameleonRunBackdrop.ts +186 -0
  981. package/src/games/chameleon-run/ChameleonRunConstants.ts +47 -0
  982. package/src/games/chameleon-run/ChameleonRunGame.ts +309 -0
  983. package/src/games/chameleon-run/ChameleonRunMeshes.ts +305 -0
  984. package/src/games/chameleon-run/ChameleonRunRules.ts +252 -0
  985. package/src/games/chameleon-run/ChameleonRunScene.ts +310 -0
  986. package/src/games/checkers/Checkers.tsx +83 -0
  987. package/src/games/checkers/CheckersAI.ts +255 -0
  988. package/src/games/checkers/CheckersConstants.ts +68 -0
  989. package/src/games/checkers/CheckersGame.ts +322 -0
  990. package/src/games/checkers/CheckersRules.ts +167 -0
  991. package/src/games/checkers/CheckersScene.ts +308 -0
  992. package/src/games/color-switch/ColorSwitch.tsx +75 -0
  993. package/src/games/color-switch/ColorSwitchConstants.ts +61 -0
  994. package/src/games/color-switch/ColorSwitchGame.ts +329 -0
  995. package/src/games/color-switch/ColorSwitchScene.ts +220 -0
  996. package/src/games/colors-sort/ColorsSort.tsx +82 -0
  997. package/src/games/colors-sort/ColorsSortConstants.ts +119 -0
  998. package/src/games/colors-sort/ColorsSortGame.ts +246 -0
  999. package/src/games/colors-sort/ColorsSortScene.ts +315 -0
  1000. package/src/games/connect-em-all/ConnectEmAll.tsx +70 -0
  1001. package/src/games/connect-em-all/ConnectEmAllConstants.ts +77 -0
  1002. package/src/games/connect-em-all/ConnectEmAllGame.ts +401 -0
  1003. package/src/games/connect-em-all/ConnectEmAllScene.ts +235 -0
  1004. package/src/games/crossy-road/CrossyRoad.tsx +74 -0
  1005. package/src/games/crossy-road/CrossyRoadCamera.ts +59 -0
  1006. package/src/games/crossy-road/CrossyRoadConstants.ts +132 -0
  1007. package/src/games/crossy-road/CrossyRoadGame.ts +293 -0
  1008. package/src/games/crossy-road/CrossyRoadMeshes.ts +195 -0
  1009. package/src/games/crossy-road/CrossyRoadPerson.ts +198 -0
  1010. package/src/games/crossy-road/CrossyRoadRules.ts +99 -0
  1011. package/src/games/crossy-road/CrossyRoadScene.ts +355 -0
  1012. package/src/games/dino-jump/DinoJump.tsx +77 -0
  1013. package/src/games/dino-jump/DinoJumpConstants.ts +80 -0
  1014. package/src/games/dino-jump/DinoJumpGame.ts +344 -0
  1015. package/src/games/dino-jump/DinoJumpScene.ts +686 -0
  1016. package/src/games/dots-and-boxes/DotsAndBoxes.tsx +83 -0
  1017. package/src/games/dots-and-boxes/DotsAndBoxesConstants.ts +77 -0
  1018. package/src/games/dots-and-boxes/DotsAndBoxesGame.ts +271 -0
  1019. package/src/games/dots-and-boxes/DotsAndBoxesScene.ts +249 -0
  1020. package/src/games/falling-sticks/FallingSticks.tsx +72 -0
  1021. package/src/games/falling-sticks/FallingSticksConstants.ts +62 -0
  1022. package/src/games/falling-sticks/FallingSticksGame.ts +220 -0
  1023. package/src/games/falling-sticks/FallingSticksRules.ts +145 -0
  1024. package/src/games/falling-sticks/FallingSticksScene.ts +245 -0
  1025. package/src/games/find-different-number/FindDifferentNumber.tsx +74 -0
  1026. package/src/games/find-different-number/FindDifferentNumberConstants.ts +74 -0
  1027. package/src/games/find-different-number/FindDifferentNumberGame.ts +174 -0
  1028. package/src/games/find-different-number/FindDifferentNumberRules.ts +43 -0
  1029. package/src/games/find-different-number/FindDifferentNumberScene.ts +193 -0
  1030. package/src/games/flappy-bird/FlappyBird.tsx +73 -0
  1031. package/src/games/flappy-bird/FlappyBirdConstants.ts +95 -0
  1032. package/src/games/flappy-bird/FlappyBirdGame.ts +375 -0
  1033. package/src/games/flappy-bird/FlappyBirdScene.ts +630 -0
  1034. package/src/games/fruit-merger/FruitMerger.tsx +73 -0
  1035. package/src/games/fruit-merger/FruitMergerConstants.ts +102 -0
  1036. package/src/games/fruit-merger/FruitMergerGame.ts +285 -0
  1037. package/src/games/fruit-merger/FruitMergerRules.ts +286 -0
  1038. package/src/games/fruit-merger/FruitMergerScene.ts +498 -0
  1039. package/src/games/fruit-ninja/FruitNinja.tsx +129 -0
  1040. package/src/games/fruit-ninja/FruitNinjaConstants.ts +107 -0
  1041. package/src/games/fruit-ninja/FruitNinjaGame.ts +391 -0
  1042. package/src/games/fruit-ninja/FruitNinjaScene.ts +319 -0
  1043. package/src/games/fruit-ninja/FruitNinjaWorld.ts +17 -0
  1044. package/src/games/game-2048/Game2048.tsx +84 -0
  1045. package/src/games/game-2048/Game2048Constants.ts +68 -0
  1046. package/src/games/game-2048/Game2048Game.ts +181 -0
  1047. package/src/games/game-2048/Game2048Rules.ts +101 -0
  1048. package/src/games/game-2048/Game2048Scene.ts +206 -0
  1049. package/src/games/knife-hit/KnifeHit.tsx +78 -0
  1050. package/src/games/knife-hit/KnifeHitConstants.ts +89 -0
  1051. package/src/games/knife-hit/KnifeHitGame.ts +264 -0
  1052. package/src/games/knife-hit/KnifeHitScene.ts +360 -0
  1053. package/src/games/ludo-king/LudoKing.tsx +86 -0
  1054. package/src/games/ludo-king/LudoKingConstants.ts +212 -0
  1055. package/src/games/ludo-king/LudoKingGame.ts +326 -0
  1056. package/src/games/ludo-king/LudoKingRules.ts +143 -0
  1057. package/src/games/ludo-king/LudoKingScene.ts +397 -0
  1058. package/src/games/maze-runner/MazeRunner.tsx +88 -0
  1059. package/src/games/maze-runner/MazeRunnerConstants.ts +65 -0
  1060. package/src/games/maze-runner/MazeRunnerGame.ts +176 -0
  1061. package/src/games/maze-runner/MazeRunnerRules.ts +161 -0
  1062. package/src/games/maze-runner/MazeRunnerScene.ts +245 -0
  1063. package/src/games/memory-match/MemoryMatch.tsx +77 -0
  1064. package/src/games/memory-match/MemoryMatchConstants.ts +105 -0
  1065. package/src/games/memory-match/MemoryMatchGame.ts +222 -0
  1066. package/src/games/memory-match/MemoryMatchRules.ts +38 -0
  1067. package/src/games/memory-match/MemoryMatchScene.ts +268 -0
  1068. package/src/games/mine-sweeper/MineSweeper.tsx +77 -0
  1069. package/src/games/mine-sweeper/MineSweeperConstants.ts +94 -0
  1070. package/src/games/mine-sweeper/MineSweeperGame.ts +234 -0
  1071. package/src/games/mine-sweeper/MineSweeperRules.ts +67 -0
  1072. package/src/games/mine-sweeper/MineSweeperScene.ts +262 -0
  1073. package/src/games/mob-control/MobControl.tsx +73 -0
  1074. package/src/games/mob-control/MobControlConstants.ts +106 -0
  1075. package/src/games/mob-control/MobControlGame.ts +176 -0
  1076. package/src/games/mob-control/MobControlMeshes.ts +85 -0
  1077. package/src/games/mob-control/MobControlRenderer.ts +108 -0
  1078. package/src/games/mob-control/MobControlRules.ts +522 -0
  1079. package/src/games/mob-control/MobControlScene.ts +399 -0
  1080. package/src/games/number-search/NumberSearch.tsx +18 -0
  1081. package/src/games/number-search/NumberSearchNumbers.ts +623 -0
  1082. package/src/games/nuts-and-bolts/NutsAndBolts.tsx +85 -0
  1083. package/src/games/nuts-and-bolts/NutsAndBoltsConstants.ts +75 -0
  1084. package/src/games/nuts-and-bolts/NutsAndBoltsGame.ts +298 -0
  1085. package/src/games/nuts-and-bolts/NutsAndBoltsRules.ts +474 -0
  1086. package/src/games/nuts-and-bolts/NutsAndBoltsScene.ts +498 -0
  1087. package/src/games/pac-man/PacMan.tsx +86 -0
  1088. package/src/games/pac-man/PacManConstants.ts +169 -0
  1089. package/src/games/pac-man/PacManGame.ts +406 -0
  1090. package/src/games/pac-man/PacManRules.ts +255 -0
  1091. package/src/games/pac-man/PacManScene.ts +387 -0
  1092. package/src/games/paper-io/PaperIo.tsx +91 -0
  1093. package/src/games/paper-io/PaperIoConstants.ts +86 -0
  1094. package/src/games/paper-io/PaperIoGame.ts +193 -0
  1095. package/src/games/paper-io/PaperIoMeshes.ts +233 -0
  1096. package/src/games/paper-io/PaperIoRules.ts +315 -0
  1097. package/src/games/paper-io/PaperIoScene.ts +310 -0
  1098. package/src/games/penguin-run/PenguinMeshes.ts +269 -0
  1099. package/src/games/penguin-run/PenguinModel.ts +712 -0
  1100. package/src/games/penguin-run/PenguinRun.tsx +77 -0
  1101. package/src/games/penguin-run/PenguinRunConstants.ts +69 -0
  1102. package/src/games/penguin-run/PenguinRunGame.ts +406 -0
  1103. package/src/games/penguin-run/PenguinRunScene.ts +949 -0
  1104. package/src/games/perfect-circle/PerfectCircle.tsx +74 -0
  1105. package/src/games/perfect-circle/PerfectCircleConstants.ts +52 -0
  1106. package/src/games/perfect-circle/PerfectCircleGame.ts +153 -0
  1107. package/src/games/perfect-circle/PerfectCircleRules.ts +111 -0
  1108. package/src/games/perfect-circle/PerfectCircleScene.ts +176 -0
  1109. package/src/games/pipe-connect/PipeConnect.tsx +69 -0
  1110. package/src/games/pipe-connect/PipeConnectConstants.ts +101 -0
  1111. package/src/games/pipe-connect/PipeConnectGame.ts +179 -0
  1112. package/src/games/pipe-connect/PipeConnectRules.ts +326 -0
  1113. package/src/games/pipe-connect/PipeConnectScene.ts +271 -0
  1114. package/src/games/play-with-tua/PlayWithTua.tsx +123 -0
  1115. package/src/games/play-with-tua/PlayWithTuaConstants.ts +70 -0
  1116. package/src/games/play-with-tua/PlayWithTuaGame.ts +167 -0
  1117. package/src/games/play-with-tua/PlayWithTuaModel.ts +42 -0
  1118. package/src/games/play-with-tua/PlayWithTuaScene.ts +36 -0
  1119. package/src/games/popit-fidget/PopitFidget.tsx +72 -0
  1120. package/src/games/popit-fidget/PopitFidgetConstants.ts +71 -0
  1121. package/src/games/popit-fidget/PopitFidgetGame.ts +148 -0
  1122. package/src/games/popit-fidget/PopitFidgetScene.ts +242 -0
  1123. package/src/games/reversi/Reversi.tsx +94 -0
  1124. package/src/games/reversi/ReversiConstants.ts +67 -0
  1125. package/src/games/reversi/ReversiGame.ts +266 -0
  1126. package/src/games/reversi/ReversiRules.ts +176 -0
  1127. package/src/games/reversi/ReversiScene.ts +240 -0
  1128. package/src/games/search-grid/SearchGrid.tsx +92 -0
  1129. package/src/games/search-grid/SearchGridConstants.ts +178 -0
  1130. package/src/games/search-grid/SearchGridGame.ts +209 -0
  1131. package/src/games/search-grid/SearchGridScene.ts +301 -0
  1132. package/src/games/shared/BackdropCard.tsx +54 -0
  1133. package/src/games/shared/EngineBackdrop.ts +300 -0
  1134. package/src/games/shared/EngineBlasts.ts +136 -0
  1135. package/src/games/shared/EngineBlocks.ts +91 -0
  1136. package/src/games/shared/EngineControlText.ts +17 -0
  1137. package/src/games/shared/EngineDice.ts +250 -0
  1138. package/src/games/shared/EngineFootprint.ts +35 -0
  1139. package/src/games/shared/EngineFruits.ts +1435 -0
  1140. package/src/games/shared/EngineGameLoader.tsx +88 -0
  1141. package/src/games/shared/EngineGameScreen.tsx +325 -0
  1142. package/src/games/shared/EngineGameWidth.ts +3 -0
  1143. package/src/games/shared/EngineGameWidth.web.ts +3 -0
  1144. package/src/games/shared/EngineGlyphs.ts +178 -0
  1145. package/src/games/shared/EngineHud.ts +815 -0
  1146. package/src/games/shared/EngineLoading.ts +477 -0
  1147. package/src/games/shared/EngineMeadow.ts +725 -0
  1148. package/src/games/shared/EngineMeshCache.ts +15 -0
  1149. package/src/games/shared/EngineMeshes.ts +10 -0
  1150. package/src/games/shared/EngineRacingChase.ts +21 -0
  1151. package/src/games/shared/EngineRacingHandling.ts +48 -0
  1152. package/src/games/shared/EngineReadyContext.ts +4 -0
  1153. package/src/games/shared/EngineTilt.ts +44 -0
  1154. package/src/games/shared/EngineTouchSurface.tsx +103 -0
  1155. package/src/games/shared/EngineUtils.ts +52 -0
  1156. package/src/games/shared/GameActivity.ts +13 -0
  1157. package/src/games/shared/GameLoading.tsx +202 -0
  1158. package/src/games/shared/GameLoadingTransition.tsx +61 -0
  1159. package/src/games/shared/ProceduralCacheVersion.ts +2 -0
  1160. package/src/games/shared/useEngineGame.ts +240 -0
  1161. package/src/games/shared/useGameResource.ts +21 -0
  1162. package/src/games/shared/useLiveState.ts +58 -0
  1163. package/src/games/sliding-numbers/SlidingNumbers.tsx +71 -0
  1164. package/src/games/sliding-numbers/SlidingNumbersConstants.ts +65 -0
  1165. package/src/games/sliding-numbers/SlidingNumbersGame.ts +192 -0
  1166. package/src/games/sliding-numbers/SlidingNumbersRules.ts +79 -0
  1167. package/src/games/sliding-numbers/SlidingNumbersScene.ts +193 -0
  1168. package/src/games/snake-3d/Snake3D.tsx +76 -0
  1169. package/src/games/snake-3d/Snake3DConstants.ts +61 -0
  1170. package/src/games/snake-3d/Snake3DGame.ts +192 -0
  1171. package/src/games/snake-3d/Snake3DMotion.ts +22 -0
  1172. package/src/games/snake-3d/Snake3DRules.ts +116 -0
  1173. package/src/games/snake-3d/Snake3DScene.ts +322 -0
  1174. package/src/games/snakes-and-ladders/SnakesAndLadders.tsx +87 -0
  1175. package/src/games/snakes-and-ladders/SnakesAndLaddersConstants.ts +136 -0
  1176. package/src/games/snakes-and-ladders/SnakesAndLaddersGame.ts +310 -0
  1177. package/src/games/snakes-and-ladders/SnakesAndLaddersScene.ts +515 -0
  1178. package/src/games/space-fighter/SpaceFighter.tsx +74 -0
  1179. package/src/games/space-fighter/SpaceFighterConstants.ts +86 -0
  1180. package/src/games/space-fighter/SpaceFighterGame.ts +292 -0
  1181. package/src/games/space-fighter/SpaceFighterScene.ts +550 -0
  1182. package/src/games/spider-solitaire/SpiderSolitaire.tsx +80 -0
  1183. package/src/games/spider-solitaire/SpiderSolitaireConstants.ts +107 -0
  1184. package/src/games/spider-solitaire/SpiderSolitaireGame.ts +387 -0
  1185. package/src/games/spider-solitaire/SpiderSolitaireRules.ts +123 -0
  1186. package/src/games/spider-solitaire/SpiderSolitaireScene.ts +352 -0
  1187. package/src/games/stack-tower/StackTower.tsx +76 -0
  1188. package/src/games/stack-tower/StackTowerConstants.ts +74 -0
  1189. package/src/games/stack-tower/StackTowerGame.ts +236 -0
  1190. package/src/games/stack-tower/StackTowerScene.ts +186 -0
  1191. package/src/games/sudoku/Sudoku.tsx +73 -0
  1192. package/src/games/sudoku/SudokuConstants.ts +127 -0
  1193. package/src/games/sudoku/SudokuGame.ts +250 -0
  1194. package/src/games/sudoku/SudokuRules.ts +125 -0
  1195. package/src/games/sudoku/SudokuScene.ts +304 -0
  1196. package/src/games/tangram/Tangram.tsx +79 -0
  1197. package/src/games/tangram/TangramConstants.ts +64 -0
  1198. package/src/games/tangram/TangramGame.ts +356 -0
  1199. package/src/games/tangram/TangramRules.ts +409 -0
  1200. package/src/games/tangram/TangramScene.ts +203 -0
  1201. package/src/games/tank-1990/Tank1990.tsx +78 -0
  1202. package/src/games/tank-1990/Tank1990Constants.ts +81 -0
  1203. package/src/games/tank-1990/Tank1990Game.ts +331 -0
  1204. package/src/games/tank-1990/Tank1990Rules.ts +390 -0
  1205. package/src/games/tank-1990/Tank1990Scene.ts +434 -0
  1206. package/src/games/tic-tac-toe/TicTacToe.tsx +98 -0
  1207. package/src/games/tic-tac-toe/TicTacToeConstants.ts +69 -0
  1208. package/src/games/tic-tac-toe/TicTacToeGame.ts +200 -0
  1209. package/src/games/tic-tac-toe/TicTacToeRules.ts +103 -0
  1210. package/src/games/tic-tac-toe/TicTacToeScene.ts +245 -0
  1211. package/src/games/tile-home/TileHome.tsx +92 -0
  1212. package/src/games/tile-home/TileHomeConstants.ts +139 -0
  1213. package/src/games/tile-home/TileHomeGame.ts +435 -0
  1214. package/src/games/tile-home/TileHomeScene.ts +154 -0
  1215. package/src/games/treasure-hunt/TreasureHunt.tsx +206 -0
  1216. package/src/games/treasure-hunt/TreasureHuntConstants.ts +266 -0
  1217. package/src/games/treasure-hunt/TreasureHuntControls.ts +280 -0
  1218. package/src/games/treasure-hunt/TreasureHuntGame.ts +402 -0
  1219. package/src/games/treasure-hunt/TreasureHuntMeshes.ts +422 -0
  1220. package/src/games/treasure-hunt/TreasureHuntModel.ts +506 -0
  1221. package/src/games/treasure-hunt/TreasureHuntRules.ts +1210 -0
  1222. package/src/games/treasure-hunt/TreasureHuntScene.ts +586 -0
  1223. package/src/games/whack-a-mole/WhackAMole.tsx +79 -0
  1224. package/src/games/whack-a-mole/WhackAMoleConstants.ts +94 -0
  1225. package/src/games/whack-a-mole/WhackAMoleGame.ts +233 -0
  1226. package/src/games/whack-a-mole/WhackAMoleScene.ts +349 -0
  1227. package/src/games/word-search/WordSearch.tsx +18 -0
  1228. package/src/games/word-search/WordSearchWords.ts +1642 -0
  1229. package/src/helpers/GamePatternData.ts +120 -0
  1230. package/src/helpers/GameSettingsModal.tsx +384 -0
  1231. package/src/helpers/GameTheme.tsx +37 -0
  1232. package/src/helpers/IconPaths.ts +6 -0
  1233. package/src/helpers/index.ts +2 -0
  1234. package/src/index.tsx +60 -0
  1235. package/src/services/GameAssetLoader.ts +111 -0
  1236. package/src/services/GameAssets.ts +149 -0
  1237. package/src/services/GameLoaders.ts +93 -0
  1238. package/src/services/GamesConstants.ts +193 -0
  1239. package/src/services/GamesMetadata.ts +711 -0
  1240. package/src/services/GamesService.ts +116 -0
  1241. package/src/services/HapticsService.ts +48 -0
  1242. package/src/services/ScoringService.ts +19 -0
  1243. package/src/services/SfxSources.ts +81 -0
  1244. package/src/services/SoundsService.ts +582 -0
  1245. package/src/services/ThemeService.ts +281 -0
  1246. package/src/services/UtilsService.ts +134 -0
  1247. package/src/services/index.ts +6 -0
  1248. package/lib/module/games/arrows/ArrowsService.js +0 -1
  1249. package/lib/module/games/arrows/ArrowsStore.js +0 -1
  1250. package/lib/module/games/arrows/components/ArrowsGrid.js +0 -1
  1251. package/lib/module/games/arrows/components/ScoreBoard.js +0 -1
  1252. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +0 -1
  1253. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +0 -1
  1254. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +0 -1
  1255. package/lib/module/games/balloon-blaster/components/GameArea.js +0 -1
  1256. package/lib/module/games/balloon-blaster/components/GameBackground.js +0 -1
  1257. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +0 -1
  1258. package/lib/module/games/bike-racing/BikeRacingService.js +0 -1
  1259. package/lib/module/games/bike-racing/BikeRacingStore.js +0 -1
  1260. package/lib/module/games/bike-racing/components/BikeComponent.js +0 -1
  1261. package/lib/module/games/bike-racing/components/GameBackground.js +0 -1
  1262. package/lib/module/games/bike-racing/components/ScoreBoard.js +0 -1
  1263. package/lib/module/games/block-blast/BlockBlastService.js +0 -1
  1264. package/lib/module/games/block-blast/BlockBlastStore.js +0 -1
  1265. package/lib/module/games/block-blast/components/BlockPieceComponent.js +0 -1
  1266. package/lib/module/games/block-blast/components/GameArea.js +0 -1
  1267. package/lib/module/games/block-blast/components/GridComponent.js +0 -1
  1268. package/lib/module/games/block-blast/components/ScoreBoard.js +0 -1
  1269. package/lib/module/games/block-breaker/BlockBreakerService.js +0 -1
  1270. package/lib/module/games/block-breaker/BlockBreakerStore.js +0 -1
  1271. package/lib/module/games/block-breaker/components/BlastAnimation.js +0 -1
  1272. package/lib/module/games/block-breaker/components/GameArea.js +0 -1
  1273. package/lib/module/games/block-breaker/components/ScoreBoard.js +0 -1
  1274. package/lib/module/games/bluk/BlukService.js +0 -1
  1275. package/lib/module/games/bluk/BlukStore.js +0 -1
  1276. package/lib/module/games/bluk/components/GameArea.js +0 -1
  1277. package/lib/module/games/bluk/components/GameBackground.js +0 -1
  1278. package/lib/module/games/bluk/components/ScoreBoard.js +0 -1
  1279. package/lib/module/games/bubble-shooter/BubbleShooterService.js +0 -1
  1280. package/lib/module/games/bubble-shooter/BubbleShooterStore.js +0 -1
  1281. package/lib/module/games/bubble-shooter/components/GameArea.js +0 -1
  1282. package/lib/module/games/bubble-shooter/components/ScoreBoard.js +0 -1
  1283. package/lib/module/games/candy-crush/CandyCrushService.js +0 -1
  1284. package/lib/module/games/candy-crush/CandyCrushStore.js +0 -1
  1285. package/lib/module/games/candy-crush/components/CandyItem.js +0 -1
  1286. package/lib/module/games/candy-crush/components/GameGrid.js +0 -1
  1287. package/lib/module/games/candy-crush/components/ScoreBoard.js +0 -1
  1288. package/lib/module/games/car-racing/CarRacingService.js +0 -1
  1289. package/lib/module/games/car-racing/CarRacingStore.js +0 -1
  1290. package/lib/module/games/car-racing/components/CarComponent.js +0 -1
  1291. package/lib/module/games/car-racing/components/GameBackground.js +0 -1
  1292. package/lib/module/games/car-racing/components/ScoreBoard.js +0 -1
  1293. package/lib/module/games/chameleon-run/ChameleonRunService.js +0 -1
  1294. package/lib/module/games/chameleon-run/ChameleonRunStore.js +0 -1
  1295. package/lib/module/games/chameleon-run/components/GameArea.js +0 -1
  1296. package/lib/module/games/chameleon-run/components/GameBackground.js +0 -1
  1297. package/lib/module/games/chameleon-run/components/ScoreBoard.js +0 -1
  1298. package/lib/module/games/checkers/CheckersService.js +0 -1
  1299. package/lib/module/games/checkers/CheckersStore.js +0 -1
  1300. package/lib/module/games/checkers/components/GameBoard.js +0 -1
  1301. package/lib/module/games/checkers/components/ScoreBoard.js +0 -1
  1302. package/lib/module/games/color-switch/ColorSwitchService.js +0 -1
  1303. package/lib/module/games/color-switch/ColorSwitchStore.js +0 -1
  1304. package/lib/module/games/color-switch/components/GameArea.js +0 -1
  1305. package/lib/module/games/color-switch/components/ScoreBoard.js +0 -1
  1306. package/lib/module/games/colors-sort/ColorsSortService.js +0 -1
  1307. package/lib/module/games/colors-sort/ColorsSortStore.js +0 -1
  1308. package/lib/module/games/colors-sort/components/ColorContainer.js +0 -1
  1309. package/lib/module/games/colors-sort/components/ScoreBoard.js +0 -1
  1310. package/lib/module/games/connect-em-all/ConnectEmAllService.js +0 -1
  1311. package/lib/module/games/connect-em-all/ConnectEmAllStore.js +0 -1
  1312. package/lib/module/games/connect-em-all/components/GameBoard.js +0 -1
  1313. package/lib/module/games/connect-em-all/components/ScoreBoard.js +0 -1
  1314. package/lib/module/games/crossy-road/CrossyRoadService.js +0 -1
  1315. package/lib/module/games/crossy-road/CrossyRoadStore.js +0 -1
  1316. package/lib/module/games/crossy-road/components/GameArea.js +0 -1
  1317. package/lib/module/games/crossy-road/components/ScoreBoard.js +0 -1
  1318. package/lib/module/games/dino-jump/DinoJumpService.js +0 -1
  1319. package/lib/module/games/dino-jump/DinoJumpStore.js +0 -1
  1320. package/lib/module/games/dino-jump/components/DinoSprite.js +0 -1
  1321. package/lib/module/games/dino-jump/components/GameArea.js +0 -1
  1322. package/lib/module/games/dino-jump/components/GameBackground.js +0 -1
  1323. package/lib/module/games/dino-jump/components/ObstacleSprite.js +0 -1
  1324. package/lib/module/games/dino-jump/components/ScoreBoard.js +0 -1
  1325. package/lib/module/games/dino-jump/components/StarSprite.js +0 -1
  1326. package/lib/module/games/dots-and-boxes/DotsAndBoxesService.js +0 -1
  1327. package/lib/module/games/dots-and-boxes/DotsAndBoxesStore.js +0 -1
  1328. package/lib/module/games/dots-and-boxes/components/GameBoard.js +0 -1
  1329. package/lib/module/games/dots-and-boxes/components/ScoreBoard.js +0 -1
  1330. package/lib/module/games/falling-sticks/FallingSticksService.js +0 -1
  1331. package/lib/module/games/falling-sticks/FallingSticksStore.js +0 -1
  1332. package/lib/module/games/falling-sticks/components/GameArea.js +0 -1
  1333. package/lib/module/games/falling-sticks/components/GameBackground.js +0 -1
  1334. package/lib/module/games/falling-sticks/components/ScoreBoard.js +0 -1
  1335. package/lib/module/games/find-different-number/FindDifferentNumberService.js +0 -1
  1336. package/lib/module/games/find-different-number/FindDifferentNumberStore.js +0 -1
  1337. package/lib/module/games/find-different-number/components/GameGrid.js +0 -1
  1338. package/lib/module/games/find-different-number/components/ScoreBoard.js +0 -1
  1339. package/lib/module/games/flappy-bird/FlappyBirdStore.js +0 -1
  1340. package/lib/module/games/flappy-bird/components/Bird.js +0 -1
  1341. package/lib/module/games/flappy-bird/components/GameArea.js +0 -1
  1342. package/lib/module/games/flappy-bird/components/GameBackground.js +0 -1
  1343. package/lib/module/games/flappy-bird/components/Pipes.js +0 -1
  1344. package/lib/module/games/flappy-bird/components/ScoreBoard.js +0 -1
  1345. package/lib/module/games/fruit-merger/FruitMergerService.js +0 -1
  1346. package/lib/module/games/fruit-merger/FruitMergerStore.js +0 -1
  1347. package/lib/module/games/fruit-merger/components/FruitItem.js +0 -1
  1348. package/lib/module/games/fruit-merger/components/GameArea.js +0 -1
  1349. package/lib/module/games/fruit-merger/components/ScoreBoard.js +0 -1
  1350. package/lib/module/games/fruit-ninja/FruitNinjaService.js +0 -1
  1351. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +0 -1
  1352. package/lib/module/games/fruit-ninja/components/FruitComponent.js +0 -1
  1353. package/lib/module/games/fruit-ninja/components/GameArea.js +0 -1
  1354. package/lib/module/games/fruit-ninja/components/GameBackground.js +0 -1
  1355. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +0 -1
  1356. package/lib/module/games/game-2048/Game2048Service.js +0 -1
  1357. package/lib/module/games/game-2048/Game2048Store.js +0 -1
  1358. package/lib/module/games/game-2048/components/GameGrid.js +0 -1
  1359. package/lib/module/games/game-2048/components/ScoreBoard.js +0 -1
  1360. package/lib/module/games/knife-hit/KnifeHitService.js +0 -1
  1361. package/lib/module/games/knife-hit/KnifeHitStore.js +0 -1
  1362. package/lib/module/games/knife-hit/components/GameArea.js +0 -1
  1363. package/lib/module/games/knife-hit/components/ScoreBoard.js +0 -1
  1364. package/lib/module/games/ludo-king/LudoKingService.js +0 -1
  1365. package/lib/module/games/ludo-king/LudoKingStore.js +0 -1
  1366. package/lib/module/games/ludo-king/components/Dice.js +0 -1
  1367. package/lib/module/games/ludo-king/components/GameBoard.js +0 -1
  1368. package/lib/module/games/ludo-king/components/ScoreBoard.js +0 -1
  1369. package/lib/module/games/maze-runner/MazeRunnerStore.js +0 -1
  1370. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +0 -1
  1371. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +0 -1
  1372. package/lib/module/games/maze-runner/components/ScoreBoard.js +0 -1
  1373. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +0 -1
  1374. package/lib/module/games/maze-runner/components/WallComponent.js +0 -1
  1375. package/lib/module/games/memory-match/MemoryMatchService.js +0 -1
  1376. package/lib/module/games/memory-match/MemoryMatchStore.js +0 -1
  1377. package/lib/module/games/memory-match/components/Card.js +0 -1
  1378. package/lib/module/games/memory-match/components/GameBoard.js +0 -1
  1379. package/lib/module/games/memory-match/components/ScoreBoard.js +0 -1
  1380. package/lib/module/games/mine-sweeper/MineSweeperService.js +0 -1
  1381. package/lib/module/games/mine-sweeper/MineSweeperStore.js +0 -1
  1382. package/lib/module/games/mine-sweeper/components/GameArea.js +0 -1
  1383. package/lib/module/games/mine-sweeper/components/ScoreBoard.js +0 -1
  1384. package/lib/module/games/mob-control/MobControlService.js +0 -1
  1385. package/lib/module/games/mob-control/MobControlStore.js +0 -1
  1386. package/lib/module/games/mob-control/components/GameArea.js +0 -1
  1387. package/lib/module/games/mob-control/components/ScoreBoard.js +0 -1
  1388. package/lib/module/games/number-search/NumberSearchConstants.js +0 -1
  1389. package/lib/module/games/number-search/NumberSearchService.js +0 -1
  1390. package/lib/module/games/number-search/NumberSearchStore.js +0 -1
  1391. package/lib/module/games/number-search/components/GameBoard.js +0 -1
  1392. package/lib/module/games/number-search/components/NumberList.js +0 -1
  1393. package/lib/module/games/number-search/components/ScoreBoard.js +0 -1
  1394. package/lib/module/games/nuts-and-bolts/NutsAndBoltsService.js +0 -1
  1395. package/lib/module/games/nuts-and-bolts/NutsAndBoltsStore.js +0 -1
  1396. package/lib/module/games/nuts-and-bolts/components/GameBoard.js +0 -1
  1397. package/lib/module/games/nuts-and-bolts/components/ScoreBoard.js +0 -1
  1398. package/lib/module/games/pac-man/PacManService.js +0 -1
  1399. package/lib/module/games/pac-man/PacManStore.js +0 -1
  1400. package/lib/module/games/pac-man/components/GameCanvas.js +0 -1
  1401. package/lib/module/games/pac-man/components/ScoreBoard.js +0 -1
  1402. package/lib/module/games/paper-io/PaperIoService.js +0 -1
  1403. package/lib/module/games/paper-io/PaperIoStore.js +0 -1
  1404. package/lib/module/games/paper-io/components/GameArea.js +0 -1
  1405. package/lib/module/games/paper-io/components/ScoreBoard.js +0 -1
  1406. package/lib/module/games/perfect-circle/PerfectCircleService.js +0 -1
  1407. package/lib/module/games/perfect-circle/PerfectCircleStore.js +0 -1
  1408. package/lib/module/games/perfect-circle/components/DrawingCanvas.js +0 -1
  1409. package/lib/module/games/perfect-circle/components/ScoreBoard.js +0 -1
  1410. package/lib/module/games/pipe-connect/PipeConnectService.js +0 -1
  1411. package/lib/module/games/pipe-connect/PipeConnectStore.js +0 -1
  1412. package/lib/module/games/pipe-connect/components/GameArea.js +0 -1
  1413. package/lib/module/games/pipe-connect/components/ScoreBoard.js +0 -1
  1414. package/lib/module/games/popit-fidget/PopitFidgetService.js +0 -1
  1415. package/lib/module/games/popit-fidget/PopitFidgetStore.js +0 -1
  1416. package/lib/module/games/popit-fidget/components/BubbleComponent.js +0 -1
  1417. package/lib/module/games/popit-fidget/components/FidgetGrid.js +0 -1
  1418. package/lib/module/games/popit-fidget/components/ScoreBoard.js +0 -1
  1419. package/lib/module/games/reversi/ReversiStore.js +0 -1
  1420. package/lib/module/games/reversi/components/GameBoard.js +0 -1
  1421. package/lib/module/games/reversi/components/ScoreBoard.js +0 -1
  1422. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +0 -1
  1423. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +0 -1
  1424. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +0 -1
  1425. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +0 -1
  1426. package/lib/module/games/snake-3d/Snake3DService.js +0 -1
  1427. package/lib/module/games/snake-3d/Snake3DStore.js +0 -1
  1428. package/lib/module/games/snake-3d/components/GameGrid.js +0 -1
  1429. package/lib/module/games/snake-3d/components/ScoreBoard.js +0 -1
  1430. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersService.js +0 -1
  1431. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersStore.js +0 -1
  1432. package/lib/module/games/snakes-and-ladders/components/Dice.js +0 -1
  1433. package/lib/module/games/snakes-and-ladders/components/GameBoard.js +0 -1
  1434. package/lib/module/games/snakes-and-ladders/components/ScoreBoard.js +0 -1
  1435. package/lib/module/games/space-fighter/SpaceFighterService.js +0 -1
  1436. package/lib/module/games/space-fighter/SpaceFighterStore.js +0 -1
  1437. package/lib/module/games/space-fighter/components/AsteroidComponent.js +0 -1
  1438. package/lib/module/games/space-fighter/components/GameArea.js +0 -1
  1439. package/lib/module/games/space-fighter/components/GameBackground.js +0 -1
  1440. package/lib/module/games/space-fighter/components/ScoreBoard.js +0 -1
  1441. package/lib/module/games/space-fighter/components/Spacecraft3D.js +0 -1
  1442. package/lib/module/games/space-fighter/components/SpacecraftPath.js +0 -1
  1443. package/lib/module/games/spider-solitaire/SpiderSolitaireService.js +0 -1
  1444. package/lib/module/games/spider-solitaire/SpiderSolitaireStore.js +0 -1
  1445. package/lib/module/games/spider-solitaire/components/Card.js +0 -1
  1446. package/lib/module/games/spider-solitaire/components/CardPile.js +0 -1
  1447. package/lib/module/games/spider-solitaire/components/ScoreBoard.js +0 -1
  1448. package/lib/module/games/stack-tower/StackTowerService.js +0 -1
  1449. package/lib/module/games/stack-tower/StackTowerStore.js +0 -1
  1450. package/lib/module/games/stack-tower/components/GameArea.js +0 -1
  1451. package/lib/module/games/stack-tower/components/ScoreBoard.js +0 -1
  1452. package/lib/module/games/sudoku/SudokuService.js +0 -1
  1453. package/lib/module/games/sudoku/SudokuStore.js +0 -1
  1454. package/lib/module/games/sudoku/components/GameArea.js +0 -1
  1455. package/lib/module/games/sudoku/components/ScoreBoard.js +0 -1
  1456. package/lib/module/games/tangram/TangramService.js +0 -1
  1457. package/lib/module/games/tangram/TangramStore.js +0 -1
  1458. package/lib/module/games/tangram/components/GameBoard.js +0 -1
  1459. package/lib/module/games/tangram/components/ScoreBoard.js +0 -1
  1460. package/lib/module/games/tank-1990/Tank1990Service.js +0 -1
  1461. package/lib/module/games/tank-1990/Tank1990Store.js +0 -1
  1462. package/lib/module/games/tank-1990/components/Controls.js +0 -1
  1463. package/lib/module/games/tank-1990/components/GameBoard.js +0 -1
  1464. package/lib/module/games/tank-1990/components/ScoreBoard.js +0 -1
  1465. package/lib/module/games/tic-tac-toe/TicTacToeService.js +0 -1
  1466. package/lib/module/games/tic-tac-toe/TicTacToeStore.js +0 -1
  1467. package/lib/module/games/tic-tac-toe/components/GameBoard.js +0 -1
  1468. package/lib/module/games/tic-tac-toe/components/ScoreBoard.js +0 -1
  1469. package/lib/module/games/tile-home/TileHomeService.js +0 -1
  1470. package/lib/module/games/tile-home/TileHomeStore.js +0 -1
  1471. package/lib/module/games/tile-home/components/AnimatingTile.js +0 -1
  1472. package/lib/module/games/tile-home/components/FlyingTile.js +0 -1
  1473. package/lib/module/games/tile-home/components/GameBoard.js +0 -1
  1474. package/lib/module/games/tile-home/components/ScoreBoard.js +0 -1
  1475. package/lib/module/games/tile-home/components/TileItem.js +0 -1
  1476. package/lib/module/games/tile-home/components/TileSlot.js +0 -1
  1477. package/lib/module/games/whack-a-mole/WhackAMoleService.js +0 -1
  1478. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +0 -1
  1479. package/lib/module/games/whack-a-mole/components/GameBackground.js +0 -1
  1480. package/lib/module/games/whack-a-mole/components/GameGrid.js +0 -1
  1481. package/lib/module/games/whack-a-mole/components/GameHole.js +0 -1
  1482. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +0 -1
  1483. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +0 -1
  1484. package/lib/module/games/word-search/WordSearchConstants.js +0 -1
  1485. package/lib/module/games/word-search/WordSearchService.js +0 -1
  1486. package/lib/module/games/word-search/WordSearchStore.js +0 -1
  1487. package/lib/module/games/word-search/components/GameBoard.js +0 -1
  1488. package/lib/module/games/word-search/components/ScoreBoard.js +0 -1
  1489. package/lib/module/games/word-search/components/WordList.js +0 -1
  1490. package/lib/module/helpers/AnimatedScore.js +0 -1
  1491. package/lib/module/helpers/AnimationFrame.js +0 -1
  1492. package/lib/module/helpers/AnimationTracker.js +0 -1
  1493. package/lib/module/helpers/BlastAnimation.js +0 -1
  1494. package/lib/module/helpers/ErrorHandler.js +0 -1
  1495. package/lib/module/helpers/GameBackgroundPattern.js +0 -1
  1496. package/lib/module/helpers/GameControlButton.js +0 -1
  1497. package/lib/module/helpers/GameOverModal.js +0 -1
  1498. package/lib/module/helpers/GameTimer.js +0 -1
  1499. package/lib/module/helpers/Icons.js +0 -1
  1500. package/lib/module/helpers/ParticleBlast.js +0 -1
  1501. package/lib/module/helpers/ScoreBoardContainer.js +0 -1
  1502. package/lib/module/helpers/assets/apple-fruit.js +0 -1
  1503. package/lib/module/helpers/assets/avocado-item.js +0 -1
  1504. package/lib/module/helpers/assets/banana-fruit.js +0 -1
  1505. package/lib/module/helpers/assets/bomb-item.js +0 -1
  1506. package/lib/module/helpers/assets/broccoli-item.js +0 -1
  1507. package/lib/module/helpers/assets/cherries-fruit.js +0 -1
  1508. package/lib/module/helpers/assets/donut-item.js +0 -1
  1509. package/lib/module/helpers/assets/dragonfruit-item.js +0 -1
  1510. package/lib/module/helpers/assets/fries-item.js +0 -1
  1511. package/lib/module/helpers/assets/fruit-helpers.js +0 -1
  1512. package/lib/module/helpers/assets/grapes-fruit.js +0 -1
  1513. package/lib/module/helpers/assets/icecream-item.js +0 -1
  1514. package/lib/module/helpers/assets/index.js +0 -1
  1515. package/lib/module/helpers/assets/kiwi-fruit.js +0 -1
  1516. package/lib/module/helpers/assets/mango-fruit.js +0 -1
  1517. package/lib/module/helpers/assets/orange-fruit.js +0 -1
  1518. package/lib/module/helpers/assets/papaya-fruit.js +0 -1
  1519. package/lib/module/helpers/assets/papaya-full-fruit.js +0 -1
  1520. package/lib/module/helpers/assets/peach-fruit.js +0 -1
  1521. package/lib/module/helpers/assets/pineapple-fruit.js +0 -1
  1522. package/lib/module/helpers/assets/pomegranate-fruit.js +0 -1
  1523. package/lib/module/helpers/assets/pumpkin-fruit.js +0 -1
  1524. package/lib/module/helpers/assets/raspberry-item.js +0 -1
  1525. package/lib/module/helpers/assets/star-item.js +0 -1
  1526. package/lib/module/helpers/assets/strawberry-fruit.js +0 -1
  1527. package/lib/module/helpers/assets/watermelon-fruit.js +0 -1
  1528. package/lib/module/types.d.js +0 -1
  1529. package/lib/typescript/src/games/arrows/ArrowsService.d.ts +0 -6
  1530. package/lib/typescript/src/games/arrows/ArrowsStore.d.ts +0 -51
  1531. package/lib/typescript/src/games/arrows/components/ArrowsGrid.d.ts +0 -13
  1532. package/lib/typescript/src/games/arrows/components/ScoreBoard.d.ts +0 -6
  1533. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +0 -80
  1534. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +0 -30
  1535. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts +0 -9
  1536. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +0 -9
  1537. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +0 -7
  1538. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +0 -6
  1539. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +0 -44
  1540. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +0 -68
  1541. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts +0 -12
  1542. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts +0 -7
  1543. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts +0 -6
  1544. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts +0 -16
  1545. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +0 -70
  1546. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +0 -11
  1547. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts +0 -11
  1548. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +0 -8
  1549. package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts +0 -6
  1550. package/lib/typescript/src/games/block-breaker/BlockBreakerService.d.ts +0 -88
  1551. package/lib/typescript/src/games/block-breaker/BlockBreakerStore.d.ts +0 -47
  1552. package/lib/typescript/src/games/block-breaker/components/BlastAnimation.d.ts +0 -15
  1553. package/lib/typescript/src/games/block-breaker/components/GameArea.d.ts +0 -8
  1554. package/lib/typescript/src/games/block-breaker/components/ScoreBoard.d.ts +0 -6
  1555. package/lib/typescript/src/games/bluk/BlukService.d.ts +0 -71
  1556. package/lib/typescript/src/games/bluk/BlukStore.d.ts +0 -52
  1557. package/lib/typescript/src/games/bluk/components/GameArea.d.ts +0 -17
  1558. package/lib/typescript/src/games/bluk/components/GameBackground.d.ts +0 -9
  1559. package/lib/typescript/src/games/bluk/components/ScoreBoard.d.ts +0 -6
  1560. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +0 -35
  1561. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +0 -63
  1562. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts +0 -8
  1563. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts +0 -6
  1564. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +0 -37
  1565. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +0 -53
  1566. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +0 -11
  1567. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +0 -2
  1568. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +0 -5
  1569. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +0 -44
  1570. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +0 -68
  1571. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +0 -12
  1572. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts +0 -7
  1573. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts +0 -6
  1574. package/lib/typescript/src/games/chameleon-run/ChameleonRunService.d.ts +0 -76
  1575. package/lib/typescript/src/games/chameleon-run/ChameleonRunStore.d.ts +0 -48
  1576. package/lib/typescript/src/games/chameleon-run/components/GameArea.d.ts +0 -8
  1577. package/lib/typescript/src/games/chameleon-run/components/GameBackground.d.ts +0 -7
  1578. package/lib/typescript/src/games/chameleon-run/components/ScoreBoard.d.ts +0 -6
  1579. package/lib/typescript/src/games/checkers/CheckersService.d.ts +0 -6
  1580. package/lib/typescript/src/games/checkers/CheckersStore.d.ts +0 -48
  1581. package/lib/typescript/src/games/checkers/components/GameBoard.d.ts +0 -6
  1582. package/lib/typescript/src/games/checkers/components/ScoreBoard.d.ts +0 -6
  1583. package/lib/typescript/src/games/color-switch/ColorSwitchService.d.ts +0 -63
  1584. package/lib/typescript/src/games/color-switch/ColorSwitchStore.d.ts +0 -43
  1585. package/lib/typescript/src/games/color-switch/components/GameArea.d.ts +0 -8
  1586. package/lib/typescript/src/games/color-switch/components/ScoreBoard.d.ts +0 -6
  1587. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts +0 -61
  1588. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +0 -56
  1589. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +0 -7
  1590. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts +0 -6
  1591. package/lib/typescript/src/games/connect-em-all/ConnectEmAllService.d.ts +0 -20
  1592. package/lib/typescript/src/games/connect-em-all/ConnectEmAllStore.d.ts +0 -48
  1593. package/lib/typescript/src/games/connect-em-all/components/GameBoard.d.ts +0 -7
  1594. package/lib/typescript/src/games/connect-em-all/components/ScoreBoard.d.ts +0 -6
  1595. package/lib/typescript/src/games/crossy-road/CrossyRoadService.d.ts +0 -89
  1596. package/lib/typescript/src/games/crossy-road/CrossyRoadStore.d.ts +0 -39
  1597. package/lib/typescript/src/games/crossy-road/components/GameArea.d.ts +0 -8
  1598. package/lib/typescript/src/games/crossy-road/components/ScoreBoard.d.ts +0 -6
  1599. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +0 -39
  1600. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +0 -97
  1601. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +0 -2
  1602. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +0 -7
  1603. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +0 -7
  1604. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +0 -8
  1605. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +0 -6
  1606. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +0 -2
  1607. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesService.d.ts +0 -45
  1608. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesStore.d.ts +0 -37
  1609. package/lib/typescript/src/games/dots-and-boxes/components/GameBoard.d.ts +0 -7
  1610. package/lib/typescript/src/games/dots-and-boxes/components/ScoreBoard.d.ts +0 -6
  1611. package/lib/typescript/src/games/falling-sticks/FallingSticksService.d.ts +0 -38
  1612. package/lib/typescript/src/games/falling-sticks/FallingSticksStore.d.ts +0 -31
  1613. package/lib/typescript/src/games/falling-sticks/components/GameArea.d.ts +0 -7
  1614. package/lib/typescript/src/games/falling-sticks/components/GameBackground.d.ts +0 -6
  1615. package/lib/typescript/src/games/falling-sticks/components/ScoreBoard.d.ts +0 -6
  1616. package/lib/typescript/src/games/find-different-number/FindDifferentNumberService.d.ts +0 -6
  1617. package/lib/typescript/src/games/find-different-number/FindDifferentNumberStore.d.ts +0 -36
  1618. package/lib/typescript/src/games/find-different-number/components/GameGrid.d.ts +0 -7
  1619. package/lib/typescript/src/games/find-different-number/components/ScoreBoard.d.ts +0 -6
  1620. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +0 -68
  1621. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +0 -2
  1622. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +0 -7
  1623. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +0 -7
  1624. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +0 -8
  1625. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +0 -6
  1626. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +0 -3
  1627. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +0 -66
  1628. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +0 -8
  1629. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +0 -8
  1630. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +0 -6
  1631. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +0 -73
  1632. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +0 -38
  1633. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts +0 -8
  1634. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts +0 -7
  1635. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts +0 -7
  1636. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +0 -6
  1637. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +0 -102
  1638. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +0 -44
  1639. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +0 -2
  1640. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +0 -6
  1641. package/lib/typescript/src/games/knife-hit/KnifeHitService.d.ts +0 -48
  1642. package/lib/typescript/src/games/knife-hit/KnifeHitStore.d.ts +0 -41
  1643. package/lib/typescript/src/games/knife-hit/components/GameArea.d.ts +0 -8
  1644. package/lib/typescript/src/games/knife-hit/components/ScoreBoard.d.ts +0 -6
  1645. package/lib/typescript/src/games/ludo-king/LudoKingService.d.ts +0 -33
  1646. package/lib/typescript/src/games/ludo-king/LudoKingStore.d.ts +0 -34
  1647. package/lib/typescript/src/games/ludo-king/components/Dice.d.ts +0 -7
  1648. package/lib/typescript/src/games/ludo-king/components/GameBoard.d.ts +0 -7
  1649. package/lib/typescript/src/games/ludo-king/components/ScoreBoard.d.ts +0 -6
  1650. package/lib/typescript/src/games/maze-runner/MazeRunnerStore.d.ts +0 -62
  1651. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +0 -10
  1652. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts +0 -33
  1653. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +0 -24
  1654. package/lib/typescript/src/games/maze-runner/components/SkiaPipeComponent.d.ts +0 -24
  1655. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +0 -9
  1656. package/lib/typescript/src/games/memory-match/MemoryMatchService.d.ts +0 -6
  1657. package/lib/typescript/src/games/memory-match/MemoryMatchStore.d.ts +0 -42
  1658. package/lib/typescript/src/games/memory-match/components/Card.d.ts +0 -6
  1659. package/lib/typescript/src/games/memory-match/components/GameBoard.d.ts +0 -6
  1660. package/lib/typescript/src/games/memory-match/components/ScoreBoard.d.ts +0 -6
  1661. package/lib/typescript/src/games/mine-sweeper/MineSweeperService.d.ts +0 -22
  1662. package/lib/typescript/src/games/mine-sweeper/MineSweeperStore.d.ts +0 -73
  1663. package/lib/typescript/src/games/mine-sweeper/components/GameArea.d.ts +0 -8
  1664. package/lib/typescript/src/games/mine-sweeper/components/ScoreBoard.d.ts +0 -6
  1665. package/lib/typescript/src/games/mob-control/MobControlService.d.ts +0 -74
  1666. package/lib/typescript/src/games/mob-control/MobControlStore.d.ts +0 -66
  1667. package/lib/typescript/src/games/mob-control/components/GameArea.d.ts +0 -11
  1668. package/lib/typescript/src/games/mob-control/components/ScoreBoard.d.ts +0 -6
  1669. package/lib/typescript/src/games/number-search/NumberSearchConstants.d.ts +0 -63
  1670. package/lib/typescript/src/games/number-search/NumberSearchService.d.ts +0 -34
  1671. package/lib/typescript/src/games/number-search/NumberSearchStore.d.ts +0 -70
  1672. package/lib/typescript/src/games/number-search/components/GameBoard.d.ts +0 -7
  1673. package/lib/typescript/src/games/number-search/components/NumberList.d.ts +0 -2
  1674. package/lib/typescript/src/games/number-search/components/ScoreBoard.d.ts +0 -6
  1675. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsService.d.ts +0 -67
  1676. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsStore.d.ts +0 -45
  1677. package/lib/typescript/src/games/nuts-and-bolts/components/GameBoard.d.ts +0 -7
  1678. package/lib/typescript/src/games/nuts-and-bolts/components/ScoreBoard.d.ts +0 -6
  1679. package/lib/typescript/src/games/pac-man/PacManService.d.ts +0 -73
  1680. package/lib/typescript/src/games/pac-man/PacManStore.d.ts +0 -89
  1681. package/lib/typescript/src/games/pac-man/components/GameCanvas.d.ts +0 -2
  1682. package/lib/typescript/src/games/pac-man/components/ScoreBoard.d.ts +0 -6
  1683. package/lib/typescript/src/games/paper-io/PaperIoService.d.ts +0 -70
  1684. package/lib/typescript/src/games/paper-io/PaperIoStore.d.ts +0 -51
  1685. package/lib/typescript/src/games/paper-io/components/GameArea.d.ts +0 -8
  1686. package/lib/typescript/src/games/paper-io/components/ScoreBoard.d.ts +0 -6
  1687. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +0 -15
  1688. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +0 -55
  1689. package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts +0 -8
  1690. package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts +0 -6
  1691. package/lib/typescript/src/games/pipe-connect/PipeConnectService.d.ts +0 -17
  1692. package/lib/typescript/src/games/pipe-connect/PipeConnectStore.d.ts +0 -31
  1693. package/lib/typescript/src/games/pipe-connect/components/GameArea.d.ts +0 -7
  1694. package/lib/typescript/src/games/pipe-connect/components/ScoreBoard.d.ts +0 -6
  1695. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +0 -30
  1696. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +0 -33
  1697. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts +0 -10
  1698. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts +0 -10
  1699. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +0 -6
  1700. package/lib/typescript/src/games/reversi/ReversiStore.d.ts +0 -46
  1701. package/lib/typescript/src/games/reversi/components/GameBoard.d.ts +0 -6
  1702. package/lib/typescript/src/games/reversi/components/ScoreBoard.d.ts +0 -6
  1703. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +0 -6
  1704. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +0 -38
  1705. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +0 -7
  1706. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +0 -6
  1707. package/lib/typescript/src/games/snake-3d/Snake3DService.d.ts +0 -29
  1708. package/lib/typescript/src/games/snake-3d/Snake3DStore.d.ts +0 -49
  1709. package/lib/typescript/src/games/snake-3d/components/GameGrid.d.ts +0 -2
  1710. package/lib/typescript/src/games/snake-3d/components/ScoreBoard.d.ts +0 -6
  1711. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersService.d.ts +0 -22
  1712. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersStore.d.ts +0 -40
  1713. package/lib/typescript/src/games/snakes-and-ladders/components/Dice.d.ts +0 -7
  1714. package/lib/typescript/src/games/snakes-and-ladders/components/GameBoard.d.ts +0 -2
  1715. package/lib/typescript/src/games/snakes-and-ladders/components/ScoreBoard.d.ts +0 -6
  1716. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts +0 -117
  1717. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts +0 -54
  1718. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts +0 -9
  1719. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts +0 -9
  1720. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts +0 -6
  1721. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +0 -6
  1722. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts +0 -11
  1723. package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts +0 -9
  1724. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireService.d.ts +0 -23
  1725. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireStore.d.ts +0 -71
  1726. package/lib/typescript/src/games/spider-solitaire/components/Card.d.ts +0 -10
  1727. package/lib/typescript/src/games/spider-solitaire/components/CardPile.d.ts +0 -12
  1728. package/lib/typescript/src/games/spider-solitaire/components/ScoreBoard.d.ts +0 -6
  1729. package/lib/typescript/src/games/stack-tower/StackTowerService.d.ts +0 -51
  1730. package/lib/typescript/src/games/stack-tower/StackTowerStore.d.ts +0 -52
  1731. package/lib/typescript/src/games/stack-tower/components/GameArea.d.ts +0 -8
  1732. package/lib/typescript/src/games/stack-tower/components/ScoreBoard.d.ts +0 -6
  1733. package/lib/typescript/src/games/sudoku/SudokuService.d.ts +0 -24
  1734. package/lib/typescript/src/games/sudoku/SudokuStore.d.ts +0 -65
  1735. package/lib/typescript/src/games/sudoku/components/GameArea.d.ts +0 -8
  1736. package/lib/typescript/src/games/sudoku/components/ScoreBoard.d.ts +0 -6
  1737. package/lib/typescript/src/games/tangram/TangramService.d.ts +0 -6
  1738. package/lib/typescript/src/games/tangram/TangramStore.d.ts +0 -34
  1739. package/lib/typescript/src/games/tangram/components/GameBoard.d.ts +0 -7
  1740. package/lib/typescript/src/games/tangram/components/ScoreBoard.d.ts +0 -6
  1741. package/lib/typescript/src/games/tank-1990/Tank1990Service.d.ts +0 -80
  1742. package/lib/typescript/src/games/tank-1990/Tank1990Store.d.ts +0 -48
  1743. package/lib/typescript/src/games/tank-1990/components/Controls.d.ts +0 -2
  1744. package/lib/typescript/src/games/tank-1990/components/GameBoard.d.ts +0 -2
  1745. package/lib/typescript/src/games/tank-1990/components/ScoreBoard.d.ts +0 -6
  1746. package/lib/typescript/src/games/tic-tac-toe/TicTacToeService.d.ts +0 -0
  1747. package/lib/typescript/src/games/tic-tac-toe/TicTacToeStore.d.ts +0 -51
  1748. package/lib/typescript/src/games/tic-tac-toe/components/GameBoard.d.ts +0 -6
  1749. package/lib/typescript/src/games/tic-tac-toe/components/ScoreBoard.d.ts +0 -6
  1750. package/lib/typescript/src/games/tile-home/TileHomeService.d.ts +0 -1
  1751. package/lib/typescript/src/games/tile-home/TileHomeStore.d.ts +0 -57
  1752. package/lib/typescript/src/games/tile-home/components/AnimatingTile.d.ts +0 -9
  1753. package/lib/typescript/src/games/tile-home/components/FlyingTile.d.ts +0 -16
  1754. package/lib/typescript/src/games/tile-home/components/GameBoard.d.ts +0 -7
  1755. package/lib/typescript/src/games/tile-home/components/ScoreBoard.d.ts +0 -6
  1756. package/lib/typescript/src/games/tile-home/components/TileItem.d.ts +0 -11
  1757. package/lib/typescript/src/games/tile-home/components/TileSlot.d.ts +0 -7
  1758. package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts +0 -32
  1759. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts +0 -39
  1760. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts +0 -7
  1761. package/lib/typescript/src/games/whack-a-mole/components/GameGrid.d.ts +0 -10
  1762. package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts +0 -11
  1763. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts +0 -6
  1764. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts +0 -6
  1765. package/lib/typescript/src/games/word-search/WordSearchConstants.d.ts +0 -63
  1766. package/lib/typescript/src/games/word-search/WordSearchService.d.ts +0 -34
  1767. package/lib/typescript/src/games/word-search/WordSearchStore.d.ts +0 -70
  1768. package/lib/typescript/src/games/word-search/components/GameBoard.d.ts +0 -7
  1769. package/lib/typescript/src/games/word-search/components/ScoreBoard.d.ts +0 -6
  1770. package/lib/typescript/src/games/word-search/components/WordList.d.ts +0 -2
  1771. package/lib/typescript/src/helpers/AnimatedScore.d.ts +0 -36
  1772. package/lib/typescript/src/helpers/AnimationFrame.d.ts +0 -40
  1773. package/lib/typescript/src/helpers/AnimationTracker.d.ts +0 -44
  1774. package/lib/typescript/src/helpers/BlastAnimation.d.ts +0 -16
  1775. package/lib/typescript/src/helpers/ErrorHandler.d.ts +0 -123
  1776. package/lib/typescript/src/helpers/GameBackgroundPattern.d.ts +0 -7
  1777. package/lib/typescript/src/helpers/GameControlButton.d.ts +0 -11
  1778. package/lib/typescript/src/helpers/GameOverModal.d.ts +0 -15
  1779. package/lib/typescript/src/helpers/GameTimer.d.ts +0 -26
  1780. package/lib/typescript/src/helpers/Icons.d.ts +0 -12
  1781. package/lib/typescript/src/helpers/ParticleBlast.d.ts +0 -11
  1782. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts +0 -85
  1783. package/lib/typescript/src/helpers/assets/apple-fruit.d.ts +0 -4
  1784. package/lib/typescript/src/helpers/assets/avocado-item.d.ts +0 -4
  1785. package/lib/typescript/src/helpers/assets/banana-fruit.d.ts +0 -4
  1786. package/lib/typescript/src/helpers/assets/bomb-item.d.ts +0 -4
  1787. package/lib/typescript/src/helpers/assets/broccoli-item.d.ts +0 -4
  1788. package/lib/typescript/src/helpers/assets/cherries-fruit.d.ts +0 -4
  1789. package/lib/typescript/src/helpers/assets/donut-item.d.ts +0 -4
  1790. package/lib/typescript/src/helpers/assets/dragonfruit-item.d.ts +0 -4
  1791. package/lib/typescript/src/helpers/assets/fries-item.d.ts +0 -4
  1792. package/lib/typescript/src/helpers/assets/fruit-helpers.d.ts +0 -154
  1793. package/lib/typescript/src/helpers/assets/grapes-fruit.d.ts +0 -4
  1794. package/lib/typescript/src/helpers/assets/icecream-item.d.ts +0 -4
  1795. package/lib/typescript/src/helpers/assets/index.d.ts +0 -31
  1796. package/lib/typescript/src/helpers/assets/kiwi-fruit.d.ts +0 -4
  1797. package/lib/typescript/src/helpers/assets/mango-fruit.d.ts +0 -4
  1798. package/lib/typescript/src/helpers/assets/orange-fruit.d.ts +0 -4
  1799. package/lib/typescript/src/helpers/assets/papaya-fruit.d.ts +0 -4
  1800. package/lib/typescript/src/helpers/assets/papaya-full-fruit.d.ts +0 -4
  1801. package/lib/typescript/src/helpers/assets/peach-fruit.d.ts +0 -4
  1802. package/lib/typescript/src/helpers/assets/pineapple-fruit.d.ts +0 -4
  1803. package/lib/typescript/src/helpers/assets/pomegranate-fruit.d.ts +0 -4
  1804. package/lib/typescript/src/helpers/assets/pumpkin-fruit.d.ts +0 -4
  1805. package/lib/typescript/src/helpers/assets/raspberry-item.d.ts +0 -4
  1806. package/lib/typescript/src/helpers/assets/star-item.d.ts +0 -4
  1807. package/lib/typescript/src/helpers/assets/strawberry-fruit.d.ts +0 -4
  1808. package/lib/typescript/src/helpers/assets/watermelon-fruit.d.ts +0 -4
@@ -1 +0,0 @@
1
- "use strict";function _0x1681(){const e=["j8kCne3dNbPYCH4EeCohD8kiWQm","ANrr","f0X8W70","sKddK1VcRa","vKddTglcNa","W5tdHmoNirrgWPLNm8odiImDWQtcHa","usPHW7JcTa","xupdJehcPvtdM8oeqa","ztWxW6OFAa0EWRRcPa","WOBcG17dO8oqW6Ock8k0W4e","DHGfWOZcHg/cKfviaCoJW68z","tCoAoHFdNYCnnCkI","WOSxW43dNmoi","WPJdGCkBi8kz","W5fTqCoBWPK","WO4EW4ddMCoi","WQxcLSkaW41rWP/cG8kTW6rSW6tdN3X8","uxldM0tcPG","W6tdOgGKW6f6WR4","xSoUymoJhCoaFG","WQ3cKXy","rtXUwSkEiSk7W7a","BCoFxG","gmoowmosea","WPVdG8kBhSkp","wgmcW7fYWQpdKG","W4TKx8o2dtq5","ywm2","W6ddSCoTW4lcSa","ESoOvCo+sw0YWR4","DNK0Fmk3cSkr","DN5EW7lcS8kQWOBdSZVcJq","ren1WRvuuG","CepdNMBcPa","mgu8iX8","WOGMtYe6","ks8yiCkC","yKmzpva","W5NcUh0JuG","qCoKzSkDCa","nSk5umo9WO3dR14","FHCmW4KP","WO5SWR8J","W7hdI8oyWP8","W7VcJ1O0F8oM","pSo4W4pcTCoF","W6FcJ28kE8o5mdRdGq","WODSWQePW7yFwSkStJpcP8oYBG","WPddL2vfW55ovq","W6dcMuCssSoPpdFdG8oz","WPVcLmkgWRxdRqdcMmomW7PbuZhcVq","W6pdP3SXW6nXWQ4SumkxfKy","W6RdVhqsW61NWR4Dv8krea","dcqghmka","EdOoW7iQ","W5RdKSoBW5tcUve","WOtcOcC8a8k4WO/dKSkEvSokWOhdLWJdKcO4WOLmW6u","ctNdG8o8xJ5xgSkQ","zZWbW7K7Aq","DbpcI8kPW7ddPCkkW5/dNSoJWORdLW","xNCuuhS","eHysAseaW4HG","gdugg8k9","zCoLjwm","WPvOWR45W78","W7BdPSkLWPBcOa","W6zxyCoSWRT9W4zYW77cNG7dMSojF2pdSmkogSoAW6e","fK8fhbq","W6ldKCotWRGcW4BdLSo9W5j3W4m","t2WbDuK","WQz5WOmLW5G","dmopq8oJaa","WPhcMfldPmoMW4KromkWW6KiWOG","WPPNF8onnr46W44","zSoKW4ygBq","rIOqBJ0","BCojtSkeqq","WO18WPGRW7S","zr3cQSkdW6C","j8orW7/cRmoe","ASoIzSkysq","wgNcHMq5qq","zHekWQZcJq","BSoRgKyZ","nSoBW7ldGtyTsSo8iCk+zq","W4BdGNi","WP5TzW","ErRcLSk8W5ldNmkDW5NdJCo5","v8kwFcvg","W4pdHmoyW7i","W6tdLSkgFcukiIRdSgujWQHN","AwWU","nSoDW6tdIYC3zmoG","sh4rW7nY","W4NcNKGsFq","W65NqCoJWPe","WOFcKWSEbCkdWQtdTa","hfyPzxTgW5C","WP8NW5tdMmok","zSoDBY9J","WP/dH3LqW49i","nCoAW7BdKJy","WOpdJNzuW55Wsmk9b2S","W4tdJColW4JcIq","BhpdUNJcGgtdUmo+seztC8ktzbftWRNcU3W","p8o4W5FdT8odhSkjWO0","bSkKFXHUW7Cd","gxjSfLaXW6nsW5DNp2uE","tCoajHhdMYax","aZKmcmkHW5m","xmkNrrDwW5q","WPetW4/dJSozCa","o8kIofVdIW","DbRcGSkKW4xdLmki","W7CTWP0uewhcRCkrW4/dVW","WOpdG3ntW5jorSkmc34","z8o0k0Kc","F0qXW4rqWOtdQmoCW503W5VdLGj3xmoRW64mumkR","eeDHW7BdUSkeW7JcICkh","WOTSWRSRW7io","W7pdUMO","WO7dH8kvaCky","ExCMu3O","W7VdSuDlvmkfWO82WQWIkXbDWQBdPx8aw0S","r3eEqq","CWSAWO3cSG","kZVdU8oXsW","o8opB8ovha","dYNdMCo3zsjhcW","WPW8rZuCt8kaW6VdVfBcPZJcNG","qmkRtHnhW481W4fTnv1sWQTQntu","WRDFWQSCW5i","W7ldRmk9WR7cOdhcTaqPW5LzW61kW5JdVG","xK7dJuRcRfpdVCoaFgzJqW","mSofCSoSiG","zrSFWQBcVa","xmofpeCq","kSo+W4VcRSof","F2LpW6lcQ8kMWORdTZBcIG","W70HWPyqlwNcSCk8W4VdOCoW","WOhcKmoje0y","W6FdI8otWPGgW5NdUCoWW51GW4NdJKjaea","W7uTWOmu","EH7cNG","bCkLr8oSWO3dSMy5sSodyq","nSkTtmoFWOtdOeK9y8opDMxcUq","jSkKq8o/WO0","WPOSxt4ZvCkAW7RdHa","eCosWOZcMgi","WPbHWRm8W78","W4nNu8oeWPbbW7XqW7G","W6FdJCofWPixW4pdLCoX","yaOoWPhcJwpcNa","W7tdVxSMW6e","yedcN2Sx","WPlcMvBdT8oM","AdWdW7iCAbiy","D2u3hhC","ASk7tcru","tYq3","pSoyWO7cNNhcOW","WO1SWQO4W4Otxmk7EYK","r0HzWRDhu8ke","WPTUzmoXmW","kSobW4pdQIy","W5hdVh8H","AYuRDI8","W5ZdICoFW7BcUq","W73cLf4wFW","abWaDIG","W7VdH8oyWPWxW4i","kCk1gCoNhJvQWQNcHCkNy3H1","W74TWPeZnwNcVmkx","qSoKESkfrG","rZTXwCkHpSk1W7a","pMbyWQP3nLaQWQVcSSobaYq","W7xdHf5cCSocW7tdTSkws8oQWPddTW","ufddVM3cMa","tmoYkwSrWOriCCo2dIGAWRJcLZhdSuS","W4tcSgOGuG","WQtcMXulkmkqWRJdM8kGA8oM","nYJdOCowxG","eaetDcGBW4G","W4JdK8oSmaLl","iSkgngpdNarE","W746WOWeeNZcQCkaW57dLq","WPxcSSo/aKXGsaBdOw4ZWRLq","CsRcOmkCW6W","hItdMCoXFt5Caa","WOSHxtGRsCkbW7e","DtJcHCkHW7e","W4RdRmoMns0","WPddJSke","W5C8W6P/WQTnd8k8vJJcJ8oLBq","s1nPWQbfvmkE","WQ9RWRmeW7C","WOJdNmkri8kytq","Bc0iW644","BmoBqbf1WRy","nmkai1ZdNaDf","A3nhW7BcHG","hub8W77dOSkz","WRpcMGCliq","ddKoa8kgW5j/xq","gHiTW6qsd8otWPnzW659uCogtG","b8odv8ofaCoI","WQhcICoBjNzUzsJdL1GfWO4","rZ9ZzCkEnSkSW7a","AgG4c2BdHG","W73dK0OGW60","DCoMxq","uCkGwb9oW4KaW5zr","rZTXwCk1nSk/","AqGAW68O","E8oOkxWt","W4lcKcmdWOixf8kQluJcU0my","uCkGwb9oW4KaW5zq","u8k3wqjhW5ia","WPG7xcm6tSkA","W7vaBCoPWPe","vf8toLVdQ8kerGtdOtpdMN0Bqmo4wmoZW4K","WOKVW5VdJ8o9","W6hdG8oAWO4g","WRKKW6ddRSoYqCkSWQHYAJtdOh4","DMiH","WPhdISkAfSkjqW","whKCW6XL","W4pdHmoqW6hcQf8","Dh0NnLK","WQxdLmo6WOLt","u2pcG2WJ","qSoqmHC","W7NdRmkVWO0","WODlzCo6jaC","dmodtCoXaCoRxaC","W4ldGmoo","EdeoW64Q","F8otESkgqW","dCofW6RcJmoKnmkWWRCMWQZdRCk/W67cQ8oTWOPYWOrI","DConsYrKWRG","W7pdPCkMWPBcOa","WP5Tz8oXmW","uSkTu11mW5mAW5y","iM0JjHBcJcVdMdJcQ8o7","WORcNuldICow","WPhcG1ldSCoQW7SucCkVW6OeWO7dNJPG","jSoKWRhcMuy","xCkJwW","Ch83aMhdGSkYBthdSa","zwG9nee","ehSYWRNdPqjrWOu9W4ndWRBdKa","xCoDoXBdKIOGmCk+m8kIW7yfW5eNzt4wb8kwW6dcK8kM","WOGfW4tdU8oiFG","aLyret3cPbZdKqBcLSoxeCkVvSkhWR1kkKXv","ymoLiwSEWPu","EdvRW4NcVq","uY3cR8kpW53dRmkNW7xdRSomWRZdPCoL","W6/dJ8kzWO/cUW","W5ZdHmosW6pcV0pdVSobW5DaEW","DbdcGSkNW7a","x07dK0hcUW","WPddH3TBW7Xbuq","W5BdMmoVW7/cLq","iCoaW77dHHaXzCo6jCk2uSkNW64","nwWXjH8","W4tcNCofrCoegrjvW7xdGSo1WPe","vI1W","WRncWOCgW7q","WPddISkzhG","WOxdSmogWQ1jgSkzWQLUW6eIt8k6","W5BdMCo1","ddmo","qtDYW7RcTf0t","oCkqkvRdQqbuFHuz","WQlcImoFnxy","aKzZW7xdSW"];return(_0x1681=function(){return e})()}const _0x2701e6=_0x5edb;!function(){const e=_0x5edb,t=_0x1681();for(;;)try{if(740371==parseInt(e(467,"sRX0"))/1+-parseInt(e(517,"omtQ"))/2+-parseInt(e(554,"Ioao"))/3*(-parseInt(e(502,"WQlb"))/4)+-parseInt(e(547,"Wzj9"))/5*(-parseInt(e(427,"VF7^"))/6)+parseInt(e(428,"2ZjR"))/7+-parseInt(e(578,"BlSU"))/8+-parseInt(e(456,"l2Ci"))/9)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import _0x3fb478,{useCallback,useMemo}from"react";import{View,StyleSheet}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x132847,{useSharedValue,useAnimatedStyle,runOnJS}from"react-native-reanimated";import{GridComponent}from"./GridComponent.js";import{BlockPieceComponent}from"./BlockPieceComponent.js";import{useBlockBlastStore,usePiecesVersion,useSelectedPieceId}from"../BlockBlastStore.js";import{BLOCK_BLAST_GAME_CONFIG}from"../BlockBlastConstants.js";import{getGameDimensions}from"../../../services/UtilsService.js";import{jsx as _0x19bd82,Fragment as _0x165df4,jsxs as _0x57320e}from"react/jsx-runtime";const{width:width,height:height,screenWidth:screenWidth}=getGameDimensions(),PiecesLayer=_0x3fb478[_0x2701e6(570,"D!8i")](({cellSize:e,cellGap:t,piecesAreaHeight:o,gameWidth:W})=>{const n="vcc$",d=_0x2701e6,r={rbDKe:function(e,t){return e*t},uNcWf:function(e,t){return e+t},ppqZK:function(e,t){return e+t},gizAu:function(e,t){return e/t},otcEt:function(e,t,o,W){return e(t,o,W)},ZwkAl:function(e){return e()},yyQyI:function(e){return e()},fcAYb:function(e,t){return e*t},TEtKf:function(e,t,o){return e(t,o)}},i=r[d(507,"WQlb")](usePiecesVersion),u=r[d(514,"BlSU")](useSelectedPieceId),a=r[d(627,"Ntow")](e,BLOCK_BLAST_GAME_CONFIG[d(651,"08&z")]),x=t*BLOCK_BLAST_GAME_CONFIG.PREVIEW_PIECE_SCALE,s=W-40,l=_0x3fb478.useMemo(()=>{const e=d,t=useBlockBlastStore.getState()[e(577,"fGK2")],W=30*(t[e(477,"omtQ")]-1),i=r[e(599,"Wzj9")](s-W,t.length);return t[e(487,"BlSU")]((t,W)=>{const d=e;if(!t||!t.shape||!t[d(420,"fGK2")][0])return null;const u=t[d(452,"GZCu")][0].length*(a+x),s=r[d(606,n)](t[d(488,"VF7^")].length,a+x),l=r[d(569,"VF7^")](20+W*(i+30),i/2),_=r[d(604,"!I($")](u,x),S=r[d(480,"]([H")](s,x),f=(o-S)/2;return{id:t.id,shape:t.shape[d(395,n)](e=>[...e]),color:t[d(511,"vcc$")],left:l-_/2,top:f,width:_,height:S}})},[i,a,x,s,o]);return r[d(388,"R5zd")](_0x19bd82,_0x165df4,{children:l[d(548,"2ZjR")]((o,W)=>{const n=d;if(!o)return null;const i=u===o.id,a={};a[n(483,"vp*E")]=o.left,a.top=o.top,a.width=o[n(389,"OEg#")],a.height=o[n(647,"D!8i")];const x={};return x[n(543,"69i1")]=o[n(563,"HvvT")],x[n(573,"OEg#")]=o[n(482,"AQ!g")],x[n(455,"RwbS")]=e,x[n(641,"vcc$")]=t,x[n(582,"VF7^")]=BLOCK_BLAST_GAME_CONFIG.PREVIEW_PIECE_SCALE,r[n(644,"R5zd")](_0x19bd82,View,{style:[styles[n(600,"]sfo")],a],pointerEvents:n(557,"!I($"),children:!i&&_0x19bd82(BlockPieceComponent,x)},o.id+"-"+W)})})});function _0x5edb(e,t){e-=378;const o=_0x1681();let W=o[e];if(void 0===_0x5edb.OhgzHy){const e=function(e,t){let o,W,n=[],d=0,r="";for(e=function(e){let t="",o="";for(let o,W,n=0,d=0;W=e.charAt(d++);~W&&(o=n%4?64*o+W:W,n++%4)?t+=String.fromCharCode(255&o>>(-2*n&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let e=0,W=t.length;e<W;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),W=0;W<256;W++)n[W]=W;for(W=0;W<256;W++)d=(d+n[W]+t.charCodeAt(W%t.length))%256,o=n[W],n[W]=n[d],n[d]=o;W=0,d=0;for(let t=0;t<e.length;t++)W=(W+1)%256,d=(d+n[W])%256,o=n[W],n[W]=n[d],n[d]=o,r+=String.fromCharCode(e.charCodeAt(t)^n[(n[W]+n[d])%256]);return r};_0x5edb.rjEFMD=e,_0x5edb.vGYjzy={},_0x5edb.OhgzHy=!0}const n=o[0];_0x5edb.xbJRaE!==n&&(_0x5edb.vGYjzy={},_0x5edb.xbJRaE=n);const d=_0x5edb.vGYjzy[e];return void 0===d?(void 0===_0x5edb.yYunHg&&(_0x5edb.yYunHg=!0),W=_0x5edb.rjEFMD(W,t),_0x5edb.vGYjzy[e]=W):W=d,W}PiecesLayer[_0x2701e6(495,"DCkY")]=_0x2701e6(396,"WTZ5");const DraggedPieceLayer=_0x3fb478[_0x2701e6(591,"R5zd")](({cellSize:e,cellGap:t,draggedPieceStyle:o})=>{const W=_0x2701e6,n=useSelectedPieceId(),d=_0x3fb478[W(404,"XMvv")](()=>{const e=W;if(!n)return null;const t=useBlockBlastStore.getState()[e(525,"[Kgo")][e(571,"AO%v")](e=>e.id===n);return t?{shape:t[e(409,"]([H")][e(499,"uaU%")](e=>[...e]),color:t[e(493,"Ioao")]}:null},[n]);return _0x19bd82(_0x132847[W(417,"cGJu")],{style:[styles.draggedPiece,o],children:d&&_0x19bd82(BlockPieceComponent,{shape:d[W(398,"WTZ5")],color:d.color,cellSize:e,cellGap:t,scale:BLOCK_BLAST_GAME_CONFIG.DRAGGING_PIECE_SCALE})})});DraggedPieceLayer[_0x2701e6(391,"CHL#")]=_0x2701e6(430,"R5zd");const GameAreaComponent=({gridSize:e,cellSize:t,cellGap:o,gameService:W,offset:n})=>{const d="69i1",r="VF7^",i="Ioao",u="WQlb",a="omtQ",x="!I($",s="]([H",l="XKEx",_="]([H",S=_0x2701e6,f={aekXS:function(e,t){return e*t},zFPvi:function(e,t){return e+t},LbaHm:function(e,t){return e+t},WDBEH:function(e,t){return e-t},kluNU:function(e,t){return e/t},fkRJE:S(541,"omtQ"),PKUJn:function(e,t){return e*t},OPSDl:function(e,t){return e>t},jaKLU:function(e,t){return e-t},wfylD:function(e,t){return e+t},lWiur:function(e,t,o){return e(t,o)},YcKNW:function(e,t){return e-t},fNOQB:function(e,t){return e<t},lqACQ:function(e,t){return e/t},WEMBm:function(e,t){return e*t},lsTHu:function(e,t){return e/t},TIKkz:function(e,t){return e+t},fUNTn:function(e,t){return e*t},TVyPH:function(e,t){return e+t},PiVwi:function(e,t){return e-t},PpwVU:function(e,t){return e-t},uYLoo:function(e,t){return e*t},nZdbP:function(e,t){return e!==t},gTWUd:function(e,t){return e(t)},mOZUR:function(e,t){return e(t)},JLUFH:function(e,t){return e(t)},bQuqg:function(e,t,o){return e(t,o)},ZygTv:function(e,t,o){return e(t,o)},yqlQx:function(e,t){return e-t},tYzfP:"box-none",gtgpw:function(e,t,o){return e(t,o)}},C=useSharedValue(0),k=f[S(498,"EZvH")](useSharedValue,0),G=f[S(431,"fGK2")](useSharedValue,!1),m=_0x3fb478[S(504,d)](null),h=_0x3fb478[S(448,"omtQ")]({x:0,y:0}),p=_0x3fb478[S(583,"BlSU")](null),O=_0x3fb478.useMemo(()=>{const W=S;if(W(581,"RwbS")===f[W(611,"R5zd")]){if(!_0x15c9c6||!_0x4f3779.shape||!_0x336a4b[W(419,"BlSU")][0])return null;const e=xmSoYY[W(501,_)](_0x66072c[W(407,"]sfo")][0].length,xmSoYY[W(461,"cGJu")](_0x110b8a,_0xff08cd)),t=_0x3a6fd7[W(421,"Rk%a")][W(560,"l2Ci")]*(_0x4d21fa+_0xef0e03),o=xmSoYY[W(447,"D!8i")](_0x2d9912+_0xd1d021*(_0x4c0085+_0x431674),_0x411048/2),n=e+_0x147bd2,d=t+_0x2ed404,r=xmSoYY[W(566,"fGK2")](_0xc12917,d)/2;return{id:_0x5b18f6.id,shape:_0x1498d5.shape[W(613,"08&z")](e=>[...e]),color:_0x46e3b8[W(478,"RG4$")],left:o-xmSoYY[W(496,"]sfo")](n,2),top:r,width:n,height:d}}{const d=f[W(561,"qLop")](t,o),r=e*d+o,i=f[W(607,"OEg#")](f[W(519,"D!8i")](e,d),o),u=120,a=80,x=70,s=30,l=0,S=f[W(556,"BlSU")](width,400)?20:0,C=i+S+s+u,k=n+x,G=f.jaKLU(height-k,a),m=k+f[W(532,"qLop")](G,C)/2,h=(screenWidth-r)/2,p=Math[W(619,_)](m,k+10),O=f.wfylD(p+i+S,s),b={};return b.totalCellSize=d,b[W(585,"5JqL")]=r,b[W(390,"GZCu")]=i,b[W(382,"uaU%")]=u,b[W(537,"]sfo")]=h,b[W(437,"CHL#")]=p,b[W(612,"!9Zd")]=O,b.gridPadding=l,b}},[e,t,o,n]),{piecesAreaHeight:b,gridStartX:P,gridStartY:g,piecesAreaY:R,gridPadding:B}=O,L=_0x3fb478[S(596,"AO%v")](()=>{const e=S;m[e(546,"cGJu")]=null,G.value=!1,p.current=null,useBlockBlastStore[e(424,"CHL#")]()[e(575,"D!8i")]()},[G]),E=_0x3fb478[S(412,"EZvH")]((e,t)=>{});E[S(469,"uaU%")]=(e,W)=>{const n=S,d=(n(494,"uaU%"),useBlockBlastStore[n(601,"Ioao")]());if(!d[n(574,"fGK2")])return;const r=f.jaKLU(screenWidth,width)/2,i=width-40,u=30*f[n(567,x)](d.nextPieces[n(638,"uaU%")],1),a=f[n(623,"$X@E")](r,20);for(let r=0;f[n(565,s)](r,d[n(536,"VF7^")].length);r++){if("YZatx"===n(425,"!I($")){const e={_0x5c3b04:559,_0x3b8705:"GZCu",_0x3afc3f:450,_0x265eb0:"Ntow",_0x3ef14b:444},t={_0x24aa46:418,_0x2c4b70:"EPXx"},o={FszNI:function(e,t){return e+t},pbtzT:function(e,t){return xNUYVJ[n(608,"!I($")](e,t)},PLphF:function(e,o){return xNUYVJ[n(t._0x24aa46,t._0x2c4b70)](e,o)},nuJga:function(e,t){return e/t}},W=_0x5d543d(),d=_0x1bdfad(),r=_0x58a56a*_0x5abe24[n(490,"OEg#")],i=_0x208cfb*_0x2b68e4[n(632,"qLop")],u=20,a=_0x22240e-xNUYVJ[n(622,"fGK2")](u,2),s=30,l=_0x316a36[n(436,"[Kgo")](()=>{const t="BlSU",W=n,d=_0x3e8856.getState()[W(e._0x5c3b04,e._0x3b8705)],x=s*(d[W(e._0x3afc3f,e._0x265eb0)]-1),l=(a-x)/d.length;return d[W(e._0x3ef14b,"omtQ")]((e,n)=>{const d=W;if(!e||!e.shape||!e[d(629,"!9Zd")][0])return null;const a=e[d(516,"DCkY")][0][d(479,t)]*(r+i),x=e[d(466,"R5zd")][d(479,t)]*o[d(564,"RwbS")](r,i),_=u+n*o[d(387,"XMvv")](l,s)+l/2,S=a+i,f=x+i,C=(_0x315a6c-f)/2;return{id:e.id,shape:e[d(542,"$X@E")][d(550,"Ntow")](e=>[...e]),color:e.color,left:o[d(406,"AQ!g")](_,o[d(605,"D!8i")](S,2)),top:C,width:S,height:f}})},[W,r,i,a,_0x336795]);return xNUYVJ[n(378,"5JqL")](_0x2b7103,_0x55d5bc,{children:l[n(462,x)]((e,t)=>{const o=n;if(!e)return null;const W=d===e.id,r={};r[o(484,"ofcp")]=e[o(617,"BlSU")],r[o(648,"cGJu")]=e[o(518,"WQlb")],r[o(590,"RwbS")]=e[o(588,"u9G&")],r[o(506,"R5zd")]=e[o(609,"AQ!g")];const i={};return i[o(401,"D!8i")]=e[o(452,"GZCu")],i[o(593,"ofcp")]=e[o(512,"qLop")],i[o(426,"ly]U")]=_0x39ea71,i[o(513,"sRX0")]=_0x5291fe,i[o(527,"G0pT")]=_0x1bd3ce.PREVIEW_PIECE_SCALE,_0xa25c36(_0x54ce5d,{style:[_0x32b19e.pieceWrapper,r],pointerEvents:xNUYVJ[o(545,"qLop")],children:!W&&xNUYVJ[o(598,"D!8i")](_0x56d303,_0x3ecf29,i)},e.id+"-"+t)})})}{const x=d[n(642,"CHL#")][r];if(!x||!x[n(405,"cGJu")]||!x[n(526,l)][0])continue;const _=t*BLOCK_BLAST_GAME_CONFIG[n(472,"]([H")],S=o*BLOCK_BLAST_GAME_CONFIG.PREVIEW_PIECE_SCALE,p=x.shape[0].length*(_+S),O=x[n(621,"RG4$")][n(453,"G0pT")]*(_+S),P=f[n(429,"qLop")](i-u,d[n(615,"vcc$")][n(460,s)]),g=a+f[n(471,"$X@E")](r,f[n(509,"ofcp")](P,30))+P/2-f[n(416,"!9Zd")](p,2),B=R+(b-O)/2,L=10,E=g+p,v=B+O;if(e>=g-L&&e<=f.TIKkz(E,L)&&W>=B-L&&W<=v+L){d[n(510,"BlSU")](x.id),m.current=x.id;const r=f[n(481,"sXhG")](t,BLOCK_BLAST_GAME_CONFIG[n(584,"2ZjR")]),i=f[n(595,"DCkY")](o,BLOCK_BLAST_GAME_CONFIG[n(645,"RG4$")]),u=f[n(439,"vcc$")](x.shape[0][n(628,"sRX0")],f[n(383,"D!8i")](r,i)),a=x[n(563,"HvvT")][n(435,"0Mkd")]*(r+i),s=g+p/2,_=B+O/2;return h[n(558,"ARQr")]={x:f[n(603,"EPXx")](e,s),y:W-_},C[n(474,"AO%v")]=f[n(379,"Wzj9")](e,h.current.x)-u/2,k[n(540,"69i1")]=f[n(392,l)](f.PpwVU(f[n(433,"5JqL")](W,h[n(470,"HvvT")].y),a/2),BLOCK_BLAST_GAME_CONFIG[n(475,"69i1")]),void(G.value=!0)}}}};const v=_0x3fb478[S(491,"Ntow")]((e,t)=>{});v[S(636,"vp*E")]=(n,d)=>{const r=S,x={};x[r(653,"XMvv")]=function(e,t){return e/t};const s=x,l=m.current;if(!l)return;const _=useBlockBlastStore.getState(),G=_[r(413,"D!8i")][r(530,"G0pT")](e=>e.id===l);if(!G||!G[r(542,"$X@E")]||!G[r(551,"Wzj9")][0])return;const O=t*BLOCK_BLAST_GAME_CONFIG[r(505,"DCkY")],b=f.uYLoo(o,BLOCK_BLAST_GAME_CONFIG[r(594,"$X@E")]),R=G[r(454,"2ZjR")][0][r(637,"RwbS")]*(O+b),B=G[r(610,"XMvv")].length*(O+b);C.value=n-h[r(568,"WTZ5")].x-R/2,k[r(531,"qLop")]=f[r(386,"Wzj9")](d-h[r(553,"RG4$")].y,f[r(631,"BlSU")](B,2))-BLOCK_BLAST_GAME_CONFIG[r(438,"XKEx")];const L=n-h[r(446,"l2Ci")].x,E=f.PiVwi(d-h.current.y,BLOCK_BLAST_GAME_CONFIG[r(508,"vcc$")]),v=W[r(384,"ofcp")](L,E,P,g,t,o,e);if(v){const e=f[r(650,"u9G&")](v.row,Math[r(415,i)](G[r(629,"!9Zd")][r(457,"Wzj9")]/2)),t=v[r(523,"RwbS")]-Math.floor(G[r(421,"Rk%a")][0][r(586,"VF7^")]/2),o=p.current;if(!o||o.row!==e||f[r(443,"0Mkd")](o.col,t)){const o={};o.row=e,o[r(614,i)]=t,p.current=o;const n=W[r(538,"XMvv")](l,e,t);_.updatePreviewPosition(e,t,n)}}else if("cdKEc"!==r(442,"vcc$"))null!==p[r(524,u)]&&(p[r(434,"Rk%a")]=null,_[r(587,"vcc$")]());else{const e=_0x5ac278[r(476,"]([H")]-_0x114d70[r(492,"ofcp")](s[r(597,"u9G&")](_0x6a7c4c[r(534,u)][r(422,"AO%v")],2)),t=_0x371f6b.col-_0x213a92[r(552,a)](_0x26d20d[r(649,a)][0][r(639,"69i1")]/2),o=_0x53023e[r(576,"sRX0")];if(!o||o[r(529,"GZCu")]!==e||o.col!==t){const o={};o.row=e,o[r(411,"EPXx")]=t,_0x54f8bd.current=o;const W=_0x17396a[r(397,"WTZ5")](_0x1188c7,e,t);_0x1a857f.updatePreviewPosition(e,t,W)}}};const K=_0x3fb478[S(572,"fGK2")]((e,t)=>{});K[S(451,"[Kgo")]=(e,t)=>{const o=S,n=m[o(434,"Rk%a")];if(!n)return;const d=useBlockBlastStore[o(486,"Wzj9")]();d.previewPosition&&d[o(459,"ly]U")]&&W[o(630,"sRX0")](n,d[o(497,"]sfo")][o(522,"0Mkd")],d[o(533,"0Mkd")][o(614,"Ioao")]),L()};const N=f[S(626,d)](useCallback,(e,t)=>E[S(553,"RG4$")](e,t),[]),q=useCallback((e,t)=>v.current(e,t),[]),y=useCallback((e,t)=>K[S(576,"sRX0")](e,t),[]),A=f[S(640,"[Kgo")](useCallback,()=>L(),[L]),z=useMemo(()=>Gesture.Pan()[S(580,"cGJu")](0)[S(503,"vp*E")](!1)[S(414,"l2Ci")](e=>{const t=S;runOnJS(N)(e[t(535,"qLop")],e[t(463,"uaU%")])}).onUpdate(e=>{const t=S;f.gTWUd(runOnJS,q)(e[t(468,"uaU%")],e[t(402,"$X@E")])}).onEnd(e=>{const t=S;f[t(616,"uaU%")](runOnJS,y)(e[t(646,"G0pT")],e[t(399,"HvvT")])}).onFinalize(()=>{f[S(489,"!I($")](runOnJS,A)()}),[N,q,y,A]),J={};J[S(500,"]([H")]=C[S(562,"DCkY")];const I={};I.translateY=k[S(592,"D!8i")];const H=useAnimatedStyle(()=>({transform:[J,I],opacity:G[S(592,"D!8i")]?1:0,pointerEvents:S(652,"u9G&")})),w={};w[S(394,"CHL#")]=P-B,w.top=g-B,w.padding=B,w[S(643,"sRX0")]=B+20;const M={};return M.gridSize=e,M[S(408,r)]=t,M[S(464,"ly]U")]=o,_0x19bd82(GestureDetector,{gesture:z,children:f[S(410,"uaU%")](_0x57320e,View,{style:styles[S(539,"vp*E")],children:[f[S(465,r)](_0x19bd82,View,{style:[styles[S(515,"!9Zd")],w],pointerEvents:S(633,"OEg#"),children:_0x19bd82(GridComponent,M)}),f[S(400,"EZvH")](_0x19bd82,View,{style:[styles[S(393,"AO%v")],{top:R,left:f[S(602,"jB9A")](screenWidth,width)/2,width:width,height:b}],pointerEvents:f[S(473,d)],children:_0x19bd82(PiecesLayer,{cellSize:t,cellGap:o,piecesAreaHeight:b,gameWidth:width})}),f[S(449,"VF7^")](_0x19bd82,DraggedPieceLayer,{cellSize:t,cellGap:o,draggedPieceStyle:H})]})})},_0x47d517={flex:1},_0x333df5={};_0x333df5[_0x2701e6(620,"!9Zd")]=_0x2701e6(380,"5JqL"),_0x333df5[_0x2701e6(385,"qLop")]=10;const _0xb7f99d={};_0xb7f99d[_0x2701e6(403,"AO%v")]=_0x2701e6(589,"Rk%a");const _0x3b541c={};_0x3b541c[_0x2701e6(441,"HvvT")]=_0x2701e6(549,"ly]U");const _0x57e380={};_0x57e380[_0x2701e6(440,"5JqL")]="absolute",_0x57e380.left=0,_0x57e380[_0x2701e6(555,"ARQr")]=0,_0x57e380[_0x2701e6(485,"Ioao")]=1e3,_0x57e380[_0x2701e6(521,"sXhG")]="none";const _0x516106={};_0x516106.container=_0x47d517,_0x516106[_0x2701e6(381,"HvvT")]=_0x333df5,_0x516106[_0x2701e6(528,"[Kgo")]=_0xb7f99d,_0x516106[_0x2701e6(458,"XKEx")]=_0x3b541c,_0x516106[_0x2701e6(579,"cGJu")]=_0x57e380;const styles=StyleSheet.create(_0x516106);export const GameArea=_0x3fb478[_0x2701e6(520,"omtQ")](GameAreaComponent);GameArea[_0x2701e6(432,"2ZjR")]=_0x2701e6(624,"2ZjR");
@@ -1 +0,0 @@
1
- "use strict";const _0x89d2b3=_0x3304;function _0x3304(e,t){e-=338;const o=_0x4ff6();let n=o[e];if(void 0===_0x3304.PbyTBY){const e=function(e,t){let o,n,d=[],r=0,s="";for(e=function(e){let t="",o="";for(let o,n,d=0,r=0;n=e.charAt(r++);~n&&(o=d%4?64*o+n:n,d++%4)?t+=String.fromCharCode(255&o>>(-2*d&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=t.length;e<n;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),n=0;n<256;n++)d[n]=n;for(n=0;n<256;n++)r=(r+d[n]+t.charCodeAt(n%t.length))%256,o=d[n],d[n]=d[r],d[r]=o;n=0,r=0;for(let t=0;t<e.length;t++)n=(n+1)%256,r=(r+d[n])%256,o=d[n],d[n]=d[r],d[r]=o,s+=String.fromCharCode(e.charCodeAt(t)^d[(d[n]+d[r])%256]);return s};_0x3304.gsQNir=e,_0x3304.hfsTxG={},_0x3304.PbyTBY=!0}const d=o[0];_0x3304.PnUmhq!==d&&(_0x3304.hfsTxG={},_0x3304.PnUmhq=d);const r=_0x3304.hfsTxG[e];return void 0===r?(void 0===_0x3304.qkENIO&&(_0x3304.qkENIO=!0),n=_0x3304.gsQNir(n,t),_0x3304.hfsTxG[e]=n):n=r,n}!function(){const e=_0x3304,t=_0x4ff6();for(;;)try{if(383451==parseInt(e(436,"(MrN"))/1+parseInt(e(458,"9p[f"))/2*(parseInt(e(446,"1f*V"))/3)+parseInt(e(474,"!Rwg"))/4*(parseInt(e(387,"Rz&E"))/5)+-parseInt(e(373,"I]BM"))/6*(parseInt(e(394,"eolz"))/7)+parseInt(e(363,"Q$Oc"))/8+-parseInt(e(448,"x6gZ"))/9*(parseInt(e(397,"xSQM"))/10)+-parseInt(e(471,"A0Oy"))/11*(-parseInt(e(463,"kX9S"))/12))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x3766b9}from"react/compiler-runtime";import _0x11eaf0 from"react";import{View,StyleSheet}from"react-native";import{Canvas,RoundedRect}from"@shopify/react-native-skia";import{BLOCK_BLAST_COLORS}from"../BlockBlastConstants.js";import{useBlockBlastStore,useGridVersion,useClearingCells}from"../BlockBlastStore.js";import{BlastAnimation}from"../../../helpers/BlastAnimation.js";import{render3DCell}from"./BlockPieceComponent.js";import{jsx as _0x18660d,jsxs as _0x2cd8d4}from"react/jsx-runtime";const StaticGridCanvas=_0x11eaf0[_0x89d2b3(464,"6#bn")](e=>{const t=_0x89d2b3,o={esHKB:function(e,t){return e!==t},UvUpi:function(e,t){return e<t},Kuxgx:function(e,t,o){return e(t,o)},KFlRY:function(e,t){return e!==t}},n=_0x3766b9(14),{gridSize:d,cellSize:r,cellGap:s}=e,W=r+s,i=d*W+s;let l;if(n[0]!==s||n[1]!==d||o[t(389,"xSQM")](n[2],W)){l=[];for(let e=0;e<d;e++)for(let n=0;o[t(465,"Cux2")](n,d);n++){const o={};o.x=n*W+s,o.y=e*W+s,l[t(395,"(iUA")](o)}n[0]=s,n[1]=d,n[2]=W,n[3]=l}else l=n[3];const a=l;let x,f,u,_;if(n[4]!==i){const e={};e.width=i,e[t(467,"(#nN")]=i,x=[styles[t(393,"Kdp]")],e];const d={x:0,y:0};d.width=i,d[t(360,"kX9S")]=i,d.r=16,d[t(411,"&K3H")]="rgba(255, 255, 255, 0.15)",f=o.Kuxgx(_0x18660d,RoundedRect,d),n[4]=i,n[5]=x,n[6]=f}else x=n[5],f=n[6];if(n[7]!==r||o[t(451,"Ko*)")](n[8],a))u=a[t(405,"QEzu")]((e,t)=>_0x18660d(RoundedRect,{x:e.x,y:e.y,width:r,height:r,r:4,color:BLOCK_BLAST_COLORS.EMPTY_CELL},t)),n[7]=r,n[8]=a,n[9]=u;else{if(!o.esHKB(t(412,"@f9["),t(472,"(iUA")))return"";u=n[9]}if(o.KFlRY(n[10],x)||o[t(399,"kX9S")](n[11],f)||n[12]!==u){const e=t(452,"FJTm").split("|");let o=0;for(;;){switch(e[o++]){case"0":n[13]=_;continue;case"1":n[10]=x;continue;case"2":n[11]=f;continue;case"3":n[12]=u;continue;case"4":const e={};e[t(352,"7sEH")]=x,e[t(469,"(MrN")]=[f,u],_=_0x2cd8d4(Canvas,e);continue}break}}else _=n[13];return _});function _0x4ff6(){const e=["y8o8W556WOldJ3VdGG","dN3cKmoiWRFcKCkfW64mW780BhK","z8kkW5pdSG","uW3cGZPH","nMRdKXFcKSk2f8o2","W73dRg7cPmkfzG","qCkHpfbs","WPddHSkIWQJdPwXUba","W6VcR2C","srO3WOFdUwZcKCoW","FKlcHvddGW","bCkHa8oZEa","bwuWDd4WpSoo","W61pwSoylq","W4OPDmkUFG","udGiuIypmCoz","k8kbWOJcT8k5uGfjWPXhW4OlW64xW5JcOMSH","rdqasH0","ymkAW5K7WRXwBmoy","dJDqv28","W6ZcQxHUWRz7oae5qCkm","WOFdGCk7","W7ubW5SrmCoyySo/","g1K3WO3dRKG","xSkEW63dTmol","nSobW5BdQmoI","n0NdRInrfcVdT8or","W5DnoaFdQcL1bSkpW5JdRWDc","jr3cSh48CMW","guXsWP3dHIWw","W6TosZvj","pKbcW4LUdmkAW58","iLDbW4S","W5nnjqJdSa9Il8kvW67dQaLu","W4BdI24","W7vVy8oveq","iw3dIrS","WRFcO18kWRLVtaX3W7HctNu","vYRdGmkFW6RdKa","xZGcsG","ks9pxwC3pCockJVcSSk5W4K","W6vGW5n5W6/dRsBdKulcQCk6rgq","WRG2WQyJWRdcQ37dTMBcIa","DmoVymkuW7i","DZBcPYv7","n0hdJXFcLW","W5TMqSomsa","BCk8hq","W7iUkSk3W5/dQ8o9W54","WPyRW7juCG","DmoLyCkwW5/cPGnZ","W6q9nwxdMNLZW4lcISo6","mCkhhwFdJ8o4WPDK","WRv3lmkAW7u","omois8oZkq","b8kRWOivfSkUC8kR","W4rnpqBdRG","cSkbWOZcPCk/vaTkWPHwW5CwW4u1W4tcQ3u","WQRcQSklWRBcHdStW6azwa","ACkhW5FdSCo6WQ/dRNq","W5i4Da","W5K1iaVdK2X9","WQnSbc4XzNbm","FSoRW5zJ","W6BdOwBcS8ki","WQvwWPTpASkDwmolCIzSWOi","hZxcLuxdQG","WQv6iaKG","W7akW5SomComB8ouxsnz","W7mrW4eAdSoeBmo/","DmoRy8kPW4e","WPbtoSkhW4lcMa","ySoLzmkJyfNdT1GrhG","ANJcG1q","W6VdSby","W7m5pbePA2fD","W7LoACotaG","DaNdHCkQW5S","WRDGddyk","t8oeWPddRwKe","r8kXg1jk","WPDBj8kbW4/cILxcJ1qphq","iCoJW5u","cCkRWPW","zcFcQIGajtK","W7ldUmoeW7BcUYaeW486qW","smk6hx9KW4pdRWTibZBdVYeOWQpcJCo0","WOiAACkkDfldKa","y8k2hhW","nCknbvVdIq","WPJcQCo2Fmo4","WOpcNmoEAmo/WOdcTGi","W75txd0","g04+WOddNuZcJG","W74Gpd3dSG","mmolsSo5","E1/cMvldG0BdQuG","zIFcTYmn","lJXdsgmI","lCobsmo5ogxdS8kqcrBcR8olWQb3W5e","fu4/WOm","g0O8WPRdU14","jLDoW5HVhq","Ev/dVJdcUXhcTw7dOCoOuCk8W6u","WRdcRmoDxSoL","WORcJSoECCoS","cf0kWPJdVW","WQCTWPyK","WQnIbXaJ","WQWHW5xdKSkxWPHwWRq","t8kIWQKybduN","sNddJmkSWPpdTmk9WOu","AN/cLuRdJCoRx8oZf8kYc8kpjmkeWQ4","EghcKu/dKmobxSogcSkTa8kc","W4lcNCo4W7xcScDfjqrfW5Se","iSkUWPNcQ8kD","FCk2hxzIW5pdIqP0aIddNYupWRe","vdGqBqehp8oz","W7TFxJv/r8kkqG","WPWWW5JdISkTWPjRWQpdI38mW7RcTID/oa","WQnSbc4LBNO","WRb7dtqlAN15W5T8W5pdHJ8cuG","DKfoW4tcLq","A8knW43dSSoYWQJdV399WOddVeW","W49Dp8o+FvtdIhBcSmoC","ceO2WR/dRKZcJmoa","W750WORcJ8o3W4iBWOpdJ2SUW5dcTW","sYBcRGmU","tSkhW6SPWOu","W6pdOI5XW44","zwtcIW/dS8kJxSoVWPS","Fmk2ehb1WONdGqTjbbRdNYeLWR3cICoyWPOLxCogsCk1m0i","nCkhbvJdQmoWWPLK","WQ0OW5JdJCkWWR5AWRtdKhCUW6i","WR8RW4RdL8kWWPHdWR8","BCk2hx9Y","WPyqAqddHr50e8kY","iSkpWPqUla","wqvg","i3FdJq"];return(_0x4ff6=function(){return e})()}StaticGridCanvas.displayName=_0x89d2b3(441,"x6gZ");const usePreviewSig=()=>useBlockBlastStore(_temp),FilledCellsCanvas=_0x11eaf0[_0x89d2b3(385,"hmtU")](({gridSize:e,cellSize:t,cellGap:o})=>{const n=_0x89d2b3,d={};d[n(430,"xSQM")]=n(351,"O3AM"),d.CQgen=n(450,"2!@R"),d[n(347,"!(GM")]=function(e,t){return e!==t},d.rhOXi=function(e,t){return e+t},d[n(459,"QEzu")]=function(e,t){return e*t};const r=d,s=useGridVersion(),W=t+o,i=e*W+o,l=_0x11eaf0[n(409,"1f*V")](()=>{const t=n,d={};d[t(367,"FJTm")]=r[t(365,"h^C#")],d[t(428,"A0Oy")]=function(e,t){return e+t};const s=d;if(r[t(426,"@f9[")]===t(449,"Ybag")){const n=useBlockBlastStore[t(374,"&K3H")]().grid,d=[];for(let i=0;i<e;i++)if(r[t(366,"Cux2")]("FJweo","oReru")){const s=n[i];if(!s)continue;for(let n=0;n<e;n++){const e=s[n];e&&d[t(358,"FJTm")]({x:r.rhOXi(n*W,o),y:r[t(375,"Kdp]")](i,W)+o,color:e,key:t(368,"QQ9E")+i+"-"+n})}}else{const e=_0x2c87d9?_0x2691f1.color:s.fYudV,o=_0x1409f1?.5:.3;_0x278c26[t(429,"Q$Oc")]({x:s.pvXte(_0x25cd94*_0xde388a,_0x216729),y:_0x216928*_0x5bccd0+_0x452ed9,color:""+e+_0x4baad0.floor(255*o)[t(340,"2!@R")](16)[t(413,"@f9[")](2,"0"),key:t(353,"RGNJ")+_0x116ec1+"-"+_0x546602})}return d}_0x4d3ba3=_0x4128ad[13]},[s,e,W,o]);if(0===l[n(401,"VNaj")])return null;const a={};return a[n(371,"fcdl")]=i,a[n(420,"D%@E")]=i,_0x18660d(Canvas,{style:[styles.overlayCanvas,a],children:l[n(396,"Ko*)")](e=>render3DCell(e.x,e.y,t,e[n(392,"h^C#")],e[n(382,"S3@T")]))})});FilledCellsCanvas[_0x89d2b3(342,"5YST")]=_0x89d2b3(408,"CHam");const PreviewCellsCanvas=_0x11eaf0[_0x89d2b3(422,"A0Oy")](({gridSize:e,cellSize:t,cellGap:o})=>{const n="nY4o",d=_0x89d2b3,r={YAHml:function(e,t){return e>=t},IbjAK:function(e,t){return e<t},WZXDb:function(e){return e()},XVBGj:function(e,t){return e===t}},s=r[d(388,"vMn@")](usePreviewSig),W=t+o,i=e*W+o,l=_0x11eaf0[d(406,"Ybag")](()=>{const t=d;if(!s)return[];const i=useBlockBlastStore[t(439,"!Rwg")](),l=i[t(443,"xSQM")],a=i[t(421,n)],x=[];if(l&&a){const d=i[t(380,"&$f4")][t(414,"7sEH")](e=>e.id===a);if(d){const s=i[t(372,"h^C#")];for(let i=0;i<d.shape.length;i++){const a=d[t(386,"(#nN")][i];if(a)for(let f=0;f<a.length;f++)if(1===a[f]){const a=l[t(461,"FJTm")]+i,u=l[t(369,"CHam")]+f;if(a>=0&&a<e&&r.YAHml(u,0)&&r[t(402,"CHam")](u,e)){const e=s?d[t(378,"9p[f")]:t(350,"Cux2"),r=s?.5:.3;x.push({x:u*W+o,y:a*W+o,color:""+e+Math[t(376,n)](255*r).toString(16)[t(447,"A0Oy")](2,"0"),key:t(462,"hmtU")+i+"-"+f})}}}}}return x},[s,e,W,o]);if(r.XVBGj(l.length,0))return null;const a={};return a[d(339,"!Rwg")]=i,a.height=i,_0x18660d(Canvas,{style:[styles.overlayCanvas,a],children:l[d(460,"L4lT")](e=>_0x18660d(RoundedRect,{x:e.x,y:e.y,width:t,height:t,r:4,color:e.color},e.key))})});PreviewCellsCanvas[_0x89d2b3(390,"Rz&E")]="PreviewCellsCanvas";const BlastEffectsLayer=_0x11eaf0.memo(e=>{const t="QQ9E",o=_0x89d2b3,n={DppZf:function(e,t){return e===t},ysdJg:o(453,"CHam"),AMGsg:function(e,t){return e!==t},ULtxH:function(e,t,o){return e(t,o)}},d=_0x3766b9(6),{cellSize:r,cellGap:s,totalCellSize:W}=e,i=useClearingCells(),l=_temp2;if(n[o(416,"t#0g")](i.length,0))return null;let a,x;if(d[0]===Symbol[o(404,"!(GM")](n[o(427,"@f9[")])?(a=[StyleSheet[o(445,"6#bn")],styles[o(455,"x6gZ")]],d[0]=a):a=d[0],d[1]!==s||d[2]!==r||d[3]!==i||n[o(398,t)](d[4],W)){const e={};e[o(457,"CHam")]=i,e[o(431,"x6gZ")]=r,e[o(383,"t#0g")]=s,e.totalCellSize=W,e[o(364,"Q$Oc")]=l,x=n[o(475,t)](_0x18660d,View,{style:a,children:_0x18660d(BlastAnimation,e)}),d[1]=s,d[2]=r,d[3]=i,d[4]=W,d[5]=x}else x=d[5];return x});BlastEffectsLayer[_0x89d2b3(403,"Kdp]")]=_0x89d2b3(379,"6H8m");const GridComponentInner=e=>{const t=_0x89d2b3,o={PzyJl:function(e,t){return e+t},MlMut:function(e,t){return e*t},TqSiU:function(e,t){return e!==t},OrMCS:function(e,t,o){return e(t,o)},wsxFh:"Hnzxd"},n=_0x3766b9(18),{gridSize:d,cellSize:r,cellGap:s}=e,W=o.PzyJl(r,s),i=o.PzyJl(o[t(357,"QQ9E")](d,W),s);let l,a,x,f,u,_;if(n[0]!==i){const e={};e[t(400,"xSQM")]=i,e[t(424,"RGNJ")]=i,l=e,n[0]=i,n[1]=l}else l=n[1];if(o.TqSiU(n[2],s)||n[3]!==r||o[t(473,"eolz")](n[4],d)){const e={};e[t(433,"woEd")]=d,e[t(477,"!Rwg")]=r,e[t(415,"A0Oy")]=s,a=_0x18660d(StaticGridCanvas,e);const W={};W[t(391,"Rz&E")]=d,W[t(440,"7sEH")]=r,W.cellGap=s,x=_0x18660d(FilledCellsCanvas,W);const i={};i[t(466,"FJTm")]=d,i[t(454,"&K3H")]=r,i[t(432,"wNgw")]=s,f=o[t(468,"CHam")](_0x18660d,PreviewCellsCanvas,i),n[2]=s,n[3]=r,n[4]=d,n[5]=a,n[6]=x,n[7]=f}else a=n[5],x=n[6],f=n[7];if(o.TqSiU(n[8],s)||n[9]!==r||n[10]!==W){const e={};e[t(384,"xSQM")]=r,e[t(442,"xSQM")]=s,e[t(355,"9p[f")]=W,u=_0x18660d(BlastEffectsLayer,e),n[8]=s,n[9]=r,n[10]=W,n[11]=u}else u=n[11];if(n[12]!==l||n[13]!==a||o[t(346,"6#bn")](n[14],x)||o.TqSiU(n[15],f)||n[16]!==u)if(o[t(419,"Ybag")]!==t(341,"D%@E"))_0x3c536a=_0xab6d23[11];else{const e={};e[t(476,"S3@T")]=l,e[t(381,"6#bn")]=[a,x,f,u],_=_0x2cd8d4(View,e),n[12]=l,n[13]=a,n[14]=x,n[15]=f,n[16]=u,n[17]=_}else _=n[17];return _};export const GridComponent=_0x11eaf0[_0x89d2b3(410,"CHam")](GridComponentInner);GridComponent.displayName="GridComponent";const _0x480be0={};_0x480be0[_0x89d2b3(456,"x6gZ")]=_0x89d2b3(370,"KUml"),_0x480be0[_0x89d2b3(354,"RGNJ")]=0,_0x480be0[_0x89d2b3(343,"(MrN")]=0;const _0x31102f={};_0x31102f.position=_0x89d2b3(344,"Rz&E"),_0x31102f[_0x89d2b3(361,"!Rwg")]=0,_0x31102f[_0x89d2b3(356,"b(OU")]=0;const _0x2a78db={};_0x2a78db[_0x89d2b3(349,"9p[f")]=_0x89d2b3(417,"nY4o");const _0x31ba70={};_0x31ba70[_0x89d2b3(423,"A0Oy")]=_0x480be0,_0x31ba70[_0x89d2b3(362,"D%@E")]=_0x31102f,_0x31ba70[_0x89d2b3(435,"(iUA")]=_0x2a78db;const styles=StyleSheet[_0x89d2b3(345,"A0Oy")](_0x31ba70);function _temp(e){const t=_0x89d2b3,o={};o[t(437,"3rDP")]=function(e,t){return e||t};const n=o,d=e[t(434,"(iUA")],r=e[t(438,"CHam")];return n[t(444,"O3AM")](!d,!r)?"":d.row+":"+d[t(470,"5YST")]+":"+(e[t(377,"QEzu")]?1:0)+":"+r}function _temp2(){const e=_0x89d2b3;useBlockBlastStore.getState()[e(338,"6H8m")]()}
@@ -1 +0,0 @@
1
- "use strict";const _0x5b2473=_0x141b;!function(){const e=_0x141b,r=_0x2347();for(;;)try{if(255175==-parseInt(e(325,"J[V4"))/1*(-parseInt(e(319,"HCk0"))/2)+parseInt(e(312,"WEnc"))/3*(-parseInt(e(318,"w7iX"))/4)+-parseInt(e(329,"DWy6"))/5*(-parseInt(e(315,"JiTx"))/6)+parseInt(e(335,"P7gA"))/7*(parseInt(e(333,"m^l$"))/8)+parseInt(e(320,"Hdyc"))/9+-parseInt(e(324,"T25d"))/10+parseInt(e(317,"kcgK"))/11*(parseInt(e(336,"u(#u"))/12))break;r.push(r.shift())}catch(e){r.push(r.shift())}}();import{c as _0x2e16b1}from"react/compiler-runtime";import _0x309772 from"react";import{View}from"react-native";import{ScoreBoardContainer,ScoreValue,ScoreTimer,scoreBoardStyles as _0x409f8f}from"../../../helpers/index.js";import{useScore,useTimeRemaining}from"../BlockBlastStore.js";function _0x2347(){const e=["WQtcI3HCW6tcL8oag2RdTSoSBmon","bSoYgmkWaSk4m8oy","qebQWOBcP8kFW6uk","tvTEW5tcNYxcOSk5W6JdHJqDDG","WQJdUMVdUgruW7JdKIxdR8krsKG","WPbgpxybySkugq","w2tdUmkHWQO","W7dcLddcTmoT","W4pcLCkTW5VcKG","tsWoWO9Acrz9s1S4WO7cUa","WOuXgrJdUcfrWRO+W4a","ar9sWRyRuKRcNW","ySosWRxdLIpdUWlcSSoLgXvB","w2/dOmkrWRRcHSoTuW","W7z8W4NdHmoI","hIJdHSk0WRyuqdW","aHrCWOVcMCkXW5q","eCkPBIP+bmkvWPm","W6ddNJJcTNldN8kepZ9Qlau","tCo+qtq","eSodw0xdUx7cQNZdJfJcGG","CJRcKhBcSrjgeSkwACkC","wMFcNttdMhRcUrO","WP0+WRRcNmk4W6pcGtHoFHG7","W6FdLJFcVx3cSmkwkqf/dW","WRnIfCowh8knyCo+W53dVCkAhq","W47cTCk6W4RdLLvpWP9fA8opuq","WOWuW4pcUSo1Fa","W6xdLZdcSxhdNCkTgqvHisG"];return(_0x2347=function(){return e})()}function _0x141b(e,r){e-=309;const t=_0x2347();let o=t[e];if(void 0===_0x141b.kzeeDS){const e=function(e,r){let t,o,n=[],s=0,i="";for(e=function(e){let r="",t="";for(let t,o,n=0,s=0;o=e.charAt(s++);~o&&(t=n%4?64*t+o:o,n++%4)?r+=String.fromCharCode(255&t>>(-2*n&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=r.length;e<o;e++)t+="%"+("00"+r.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),o=0;o<256;o++)n[o]=o;for(o=0;o<256;o++)s=(s+n[o]+r.charCodeAt(o%r.length))%256,t=n[o],n[o]=n[s],n[s]=t;o=0,s=0;for(let r=0;r<e.length;r++)o=(o+1)%256,s=(s+n[o])%256,t=n[o],n[o]=n[s],n[s]=t,i+=String.fromCharCode(e.charCodeAt(r)^n[(n[o]+n[s])%256]);return i};_0x141b.aKapMD=e,_0x141b.MvhzAJ={},_0x141b.kzeeDS=!0}const n=t[0];_0x141b.JsBEYQ!==n&&(_0x141b.MvhzAJ={},_0x141b.JsBEYQ=n);const s=_0x141b.MvhzAJ[e];return void 0===s?(void 0===_0x141b.OKKFrT&&(_0x141b.OKKFrT=!0),o=_0x141b.aKapMD(o,r),_0x141b.MvhzAJ[e]=o):o=s,o}import{jsx as _0x2171c6,jsxs as _0x39ee7d}from"react/jsx-runtime";export const ScoreBoard=_0x309772[_0x5b2473(314,"WEnc")](e=>{const r=_0x5b2473,t={dvdsW:function(e,r,t){return e(r,t)},iEBfB:function(e,r,t){return e(r,t)},XrBmn:function(e,r){return e!==r}},o=_0x2e16b1(10),{offset:n}=e,s=void 0===n?0:n,i=useScore(),d=useTimeRemaining();let a,x,W,f;if(o[0]!==i){const e={};e[r(331,"bA$e")]=i,a=t[r(332,"K!qg")](_0x2171c6,ScoreValue,e),o[0]=i,o[1]=a}else a=o[1];if(o[2]!==d){const e={};e[r(311,"vIJo")]=d,x=t.iEBfB(_0x2171c6,ScoreTimer,e),o[2]=d,o[3]=x}else x=o[3];if(o[4]!==a||t[r(309,"w7iX")](o[5],x)){const e={};e[r(330,"S8wj")]=_0x409f8f.row,e.children=[a,x],W=_0x39ee7d(View,e),o[4]=a,o[5]=x,o[6]=W}else W=o[6];if(o[7]!==s||o[8]!==W){const e={};e[r(322,"TANb")]=s,e.children=W,f=_0x2171c6(ScoreBoardContainer,e),o[7]=s,o[8]=W,o[9]=f}else f=o[9];return f});ScoreBoard[_0x5b2473(316,"c9j0")]=_0x5b2473(334,"7EQa");
@@ -1 +0,0 @@
1
- "use strict";const _0x4127ed=_0x5e26;function _0xf0d3(){const W=["prGKAHS","W7byWO3dKCoU","W4FdJrv7hG","xCoXomoMrq","W77cGLhcVaBdR8o4W53cHW","kJpcImoIWOC","t8kfW4zxWO9wW40lFSobW4hcOa","W7lcGgtcSGm","WQRcU8oifCkQ","W6BdRLG","abuTxbVdTHrz","bG3dR8ohhtBcMmoeW6a8","jsJdHW","EN15s8oLW7mvx3G","W5hdGdTOjbS","jsldISoMiXhcOCoUW4SQW4X2","nSk+W5hdImk/qfz9jrKAsrBcOKu","W7mjWROugSk4WQriBqhcLX7dM8oK","WOZdL8oct8oGsgGXWP0","hmopWPldVmknWQi","shfBW5j7AbD9Evz6","jI3dJ8oNeq3cQCoZW4aCW79XWOLSWQjK","W57cNCkxvSkp","W4FcLmk+xCkjtmkVWQ7cTb0+bb0WWR/dTe3cPgy","tCo3oW","xM5sW5fG","WQrggComW4ldHgzOF2xcLG","W5ZcMuZcOKrjWRGck8oOheK","W4ZcN8kcv8kkta","smo/oCoXtW","W7jyWPPaWO8","cHeRW4nU","l8oBWOubW63dRSknjmksBx7cN8oeW4y","WQPmlCoOW57dLhHSDw3cJSkB","txrmW5S","W6ZcLCodamkMs1K","vCoZAXlcPgpdKgnrxSo8","gXFcMSkAx3ZdJN7cPq","fCoEWRidW4iaW5Gr","W5jQWPj/WRJcJG","iumpW6mAhuFcNryBmK97qSke","WOxdJqFdOZOdWQ8DgCoLiL7dHG","WQpdPvBdVIddMCkwiCkivSkiW7fCWRfX","eYJcUq","WRNdSLhdQqVdISktk8kzqmkjW6jwWRP/W5K","mKmiW68thf3cUa","kCooWPuVW7FdM8kYpmkaELNcUSo4W5WIEmotd1ldO8kWqW","umo3CY7dQgRdGwnaBW","W4pdUmomcuuqaSkoW7ve","aIVcRSoHWR7cVI9hW5OjxG","W5BdIJPVpW","W7ZdQ8oYWP8","F009FSkVW4fQA8kMgmk7xZlcPrG","W4G2dqWs","WRlcVmoUamkUuganeCoHBCo8W6BdHa0Z","uM9ZW5X8AaH3Cee","gCoqWOhdUmklWPiuWOS","WOVdJrJdUY8zWQ8cgCovhvldJ8oHgJa","Bq1pWRVcQG","eCoKW5SfWRm","W7lcJwlcUXtdRSodW7VcP2rypajZWQq","W7pcJw3cVYldOSoRW7RcKMXVjaDOWQzd","W6FdPfSVaG8vW4K","dmoRW6O0WQCUWQ13kZi","mK0BW64nlh7cNq","vmo+yH/dP3VdLq","hcxcVq","dCkUymkYgJ9zW7VdG8odvhLT","kSokWOueW7xdRSkohq","pYBcP8oxWR4","W7FdRuODba","y2ddR8o7jCojDspdUSkSWQ8RW4S","Cmkxvw5r","b2pdMudcNSoHWRNcUW","WRFdP3tcKSoy","W6WLW4FdImkBWO3dH28Aq8o8W7W","W4ddIYvOnXCyFCoGxmk4dmobfrZcQeddPtTeWOzVkSo3wmkX","pCoFWO0pW7i","W4FdJXHCaG","aCo3W4q2WQe4WQfGlsH6","iIddJmoKma","sdmNWOxdNX0LgmkuWO7dImk6FW","FgbWWOVdOSopFG","fSorWOSmW5qgW7KyrCo0","ocZcRmkTEwtdUKpcN0VdK8oPW6NcN8oi","omozWOGdW7ldUmkEkSkgygK","kgqAW7b+F8kooW","CxzitCo+W78hFNLNW4/cSSodWRq","b8kgW7pdP8kIyh5AbZ8k","W4/cN8kAyCkksmkPWP4","FvZdMhVcJW","eM07W44TjLVcVHKKa3nxAa","WOVdNH3dTbCcWO0rh8ozlG","f1/cUYxdUq","m8kMW5pdNSky","aCoKW4e5WRK","WQHhjmopW4K","emkgW5ZcPmoewHpcUvpdI8k1smk8W5lcKmoK","W6ddQWDHiW","autcTsJdVW","W7JdUmoOWPKV","W5hcUX7dV8kRECkNwL95WQXmbWrE","WRFdP3tcKSkg","WQBdO2ZcVCokvsdcTwRdSJRdOW","k1WDW7RdTmkWWQy/WQtcPSkt","FLG8ASkqW4q","yw9fWRtdTG","W4VcSxpcKCkuW4ddQbBdIWy","hYBcSCkNwa","W4ldJdn5oa","o13cRstdNG","DSoTemo2WOG","WOBdGJpdTHeuWOeggCod","aHuNxbJdVG","mKmiW68thfy","WPxdI8oLrSoZzhemWPldRGJcUflcL8olW5xdQYWC","WPHFASkLamofuCoZmWFcVMfec3xdTCoBWQxdKW","WQddTNZcN8oFxbZcUhZdTcpdHvb7","jhtcUctdKq","W5abW63dQ8kJWQa","bW3cUCkjr1FdO3RcS3ZdMmoaW4BcSSoQWRi","qhNdQflcTWibDxxcH8opv8oqy8k3cG","W6TuWOFdGSoYrq","evmKW7OQ","WQddVvZdUq7dJSkN","asVcRmoGWOBcSHvlW5eiqG","W5fHWR55WQdcIJKDt8kAW5DNsCkTWQry","pvNcRZxdKNlcLhpdPuBcNCoqb8oCW4W","WRldRLhdVGNdMmk8i8katCkU","WPhdPZxcGKOVWRf7rKNcUq","cSkDW4BdQSkN","tNNdG17cUHOKC2JcOCoPwq","W50gW7a","WRmjW5/cNmk+htOHW4ldRmkEzSot","WPNdRa3cVvy9WPHGDvW","W5pdRmoKWPOSW48jW6pdGSkM","mmkYW6FdO8k5","gSktcSoCWR9dW54B","txBdHL/dTG","W6/dR8oDneSca8kXW7vO","WRRdQeJcKCoCxd7cGNVdNtJdO1rlW6BdKCoJbCk4","f2/dIwFcGG","fhlcRrldNW","bbRcJSkMzG","BGSDWPtdMG","pJRcMCkREmkvfYhdRq","W4BdH8oiWPia","W5FcUKu","rJm4WP3dQG","n8okWPK","W6ddU8oVWPa3W5e","jwS6W71yECkmiCkpDJb2DwtcTNe","cq3cKSkfsK/dHNZcRLRdVSoo","n2SYW7vNDmk6oSkozG4","BuKIySkgW7L8B8kQcCkDyW","W5PQWO9SWR7cIqWrwa","meCFW64lpM/cGYm","z8oDtJddNv3dUL9GzCkohuDNeYFcM8krW4xcMa","e0tcVsddOmoTBa","W6BdQw0koa","juCy","ovRcQd/dLW","W7DqWO3dGCoQsfKeW4pdK8km","WODEtCkVbCo1u8ov","r37dNKa","W5ZdKCo5WPqP","b2xcIdtdUa","W5LNWQvYWQ0","W7/dU8o1WRaIW5qjW6FdImk8","CCo0WO3cM8omc15zkaC8yG","WPNdRbhcS0e8WRHSw1dcVG","kYldOCoQlGNcHmoOW5ymW6P4WOr3WQbY","W5tcSeBcHSkpW7BdSW3dIHpcMSoYWQBcUHfTW6PTW7m","W77cGKpcSH3dPSogW6hcHhX6lqPZWQrv","pJRcJSkLySkvmHVdS8kiWRimW47cG8obWOhdVsNdUq","iSkIW4S","n8ocWO8","W7aiW5pdN8kX","huOfW78Ygh4","l8kNW5lcI8o9BbVcHNG","itxcUSkUECkvfYFdP8kWWRm","as/cVG","WQ94DmkfiG","wMrlW6b7Bdb7","vmoZzbBdRgRdRhX1w8kWkxTfia","BKS7BCkuWOq","mNhdUf7cMq","W4FcLmkPu8kttmksWO3cOsm","WPBdLCoGvW","FwzQWPZdJa","gCkYWRxdRXG","rIa9WPldSHWahmkdWQ7dMa","WRNdO3BcMCoFuq","rqevWP7dLW","BxLSwSodW7ubx3nHW48","WPLWW6bNtG","cSorWPOgW5SlW6WqtCoSW74","W6HFWQVdHmoQquieW5tdK8kNrCoyeCk2WPe","le0B","shldNMdcRW85Eq","d8ktW6ZcQ8ok","WQ3cVCoBbmkWAvWx","cHhcKSklqeJdRhlcO2ddVG","itVcQCkVz8kLmd0","WRdcU8oc","ar0PW6r8WRFcILC","uZBcMcxdMSk4W73cVCoPWPhcLb4C","j8k1W5BdImkwqxX/lqi8","kYldR8oQnWVcQ8oP","oSkWWQBdKXpcLCkf","W4xcVui","ygThWQBdVCoeCN8Y","fxxcJX7dRG","kgqgW758DmkFbSkA","m2tcNqddGmonA8oBWQVdOmobl1/cJ8oYWQpcJL3cUbi","mCoaWQ4xW4O","x3nwW5bKFG","W5jUWO9SWORcLbqzwCk6W71Itq","mCo2WRJdKSkS","lxmIW6yB","cXeZ","d0tcQJddISo6vCo0WOhdOmo8dxC","WOBdOYxcTKK9WODF","F3XUESoVW6GEw151W5FcRa","nCofWRepW67dRSkVhSkvrgxcUCoaW7y5BCo+afy","W4ZcTX4","WQP7cmocW6G","qSk5qwfi","bXW5W6nLWQ/cLevxW6z+W58","gGlcLCkmrfy","WOBdVtRdUHG","W67dRmoOWPqOW4OOW5NdLCkMdW","uCoSmCohWOy","W4RcSey","puNcSJK","WQLjjCobW7xdIgT/uMJcTmkwWORdLqdcVa","egFdIxFcHSoLWPu","hmorWOtdUmkEWQ4xWOWfWO8ftmoww34oW7W9W6hcNI0whmkoWORcMWJdSCoN","gXFcLmkyE1pdLMdcQwVdQmoKW4JcS8o9","F2TDWOpdU8of","W4BdVmoulee","rmoZyrVdNwFdIgPkqSkL","fHK5W4jXWR7cVG","WOhcRCoDeMmTcCkv","fSobW5q+WOC","W402Ea","d8oKW5G7WQKJWQbGiIW","bmkxW7ldR8k8","rsiKWP3dOd8RaSkuWQJdTmkN","W7DEWP7dGmo0Eh4E","W7tcKaxdV8kG","W5jUWOL2WQ/cJJCvumkc","WOFdLSo7qmoQqKi+WPNdPX8","WP7dRLFdSc8","kSkPW73dMCkuuvrwjX4","WRJcPSk3W457WOLyW7ZdGSkzdmkUWRS","kKCfW6Wxdq","yhPsWPBdU8o9Ew0YE8kdWRydp8kDWOm","W41MWOz9","WOvAjSoaW6S","lrGsWRpdSmkEW7G6W5JdVCkMW7NcPHZdJZhdMSkoWQW4FCkLWOpcO0HhCKpdRhpcLSoLW4FdJq","CWPcWRVcQ8kdWQqVWPpcQmkyWRpcS0ZdMhC","W77dU8oMWP4WW40jW4ldPCkZgSkjWOiimCoZFexcOG8Cn8kRpa","CCoummoFWPK","W5BcKmkGgSoczuK0WR7dPq","WPtdOY3cVLy","WRldO2ZcRCoFwdJcSG","W6iRpdaBW4hdSa","aIVcRSoHWR7cVIa","DIubWRZdQG","W7DuWOFdGCoVq2K5W47dISkbqSomc8kI","Bvv3W7Lx","fCkgW7VdR8kXD2bjbY4nya","B1GXzSkAW41AA8kFf8kPAJtcPa8","eCkxvmkJW5O0WRSDhqDhtcK","WQ9qW4bfx8oJW7Cy","eSkoW7VdRSkIyN5AcIyC","WQBdO2ZcSCofEY3cU2FdNtJdO1rlW6BdKCoJbCk4","WPNdGSoyb8oiE8kZWOlcItOE","kMm4","BavhWRRcPW","qmomcmoWWOu","WQxdP3ZcMSohxb/cGq","nSooWO8hW63dOW","tw5iW5z9wdrT","WPNdGWpdSG4KWR4JfmoqovBdH8ochI8ylmoN","WOn9u8k8hq","W74tequV","bedcRrFdUmoPqmo8","ocFcJSkMDmkjksddPa","i28LW6v5FSkunSko","WOC/WPnwWPNcQcuF","fCoKW4eGWQ8","W5DhWOvTWQy","kSokWOueW7xdRSkkiSkbFgq","W5dcK1JcLCkx","WPxdHCo2r8oTvfij","aHeUuqtdPYj9WRWUuSoIW6nMW4mmW6pcLSkVtCo6rSkqW7hdKwu","kvNcSIxdIxpcIKldQa","W5pdSSovo0S","W4xdHdnPpbSZ","gSopWPRdTmkn","W41QWOHiWQdcHWWDuSkj","W6pcIwBcUGldVSoVW7RcP2DoibLiWRnJW7fPFCkMxdxcLmoyW61EW5m","iSkOW7NcHSoJ","W4ZcSCkAr8kS","E8ogaCowA1GLW5hdP8oc","aetcUIZdQCoSFCoQWRtdMmo0gxVcVSoA","EbzcWQZcQCkrWOSNWORcPCk/","lqtdMSo+ka","e2/dL3y","lSoPW4ahWQy","rZ05WPpdTG","FxrVxSoL","x2btW59CzsvSC0bjW7ekxSoAW4G","WO/cMCoEkCkw","WOO8W44OW73dNXqZwSkdW7ff","hXOzvWddTJvAWPW","A1WMxCklW4HNFq","i8kMW6y","FfG2ASktW4XatG","xM1AW5j9","W5ZdSSolpgGDamkh","WQjmW6vhqCo+","WPRdPY/cTveW","W57cKhtcK8ko","i8oLWQy6W5e","WRFdUuZdJHBdISkljW","AGTCWQRcSmk3WRG1","W47cScddTmk1CSkYw0y","WRbFW6HarSoOW4CM","qYPhWOZcPG","WP9uu8kTh8ou","W5mkW4hdVSk+WQVdS3W2DmoCW4zWAq","W5tdO8o9qSoLrNq","jwS6W714","WPFdRcJcV0qSWR1MFwVcR8ko","WPtdScJcSu4RWPbGyu3cSW","F1BdRNFcLYSss0/cT8oyDW","gCokW6GLWRK","e0tcVsddOmoTy8oWWOddGmo9","baO0W4v2WQJcPuv2W693","W43cRghcJ8kCW5RdQJddHq","WO3cK8oOjCkoExmSj8oCACoCW5m","kYldTmoQlGNcGmoOW5e","WR5FlmoNW48","WOhdHqddPa","C3nqW55c","WRbrW7TbwmoyW6qJyWpcSYldTmo7W5HvFbFcGa","itxcUSkUECkveXG","W41QWOHlWRJcHWer","cmoGWPmOW40","kgqgW758DmkFbSkAxG9KBvlcU2n6W6BdLG","jHhcLmkfzG","o8ojWPi","c8oEWPRdSCkk","WPrDx8kRbq","W5tdUmoupfar","cSofWO0k","o8k2WRZdHd0","mmoVW4yVWPO","vwbm","lNdcLrddHCoxDSoyWQJdUa","CxzDxSo7W7aKu2G","W57dLCoZWR8x","FfG2ASktW4Xl","mZxcSSkMrSkyitZdPSkGWO0EW5BcTComWPm","galcN8kmr17dVeu","WPNcOKxdP8o2A8oYCGbOW7LFrqWuoeylqq","WPRdOZlcPMmQWRvKDM3cO8kfvq","W63dJ2GMpG","W6VdU8o1WQq3W5GyW5u","WRxdPCowz8onDf4iWRpdIY7cLq","kSoeWPyfW6VdNSkTgmknAx7cR8oqW6mWymoLaKa","Eu3dUehcJG","hSovWPihW4ml","WQJdVdNdKZ0"];return(_0xf0d3=function(){return W})()}function _0x5e26(W,t){W-=187;const o=_0xf0d3();let d=o[W];if(void 0===_0x5e26.BPNTll){const W=function(W,t){let o,d,e=[],i=0,s="";for(W=function(W){let t="",o="";for(let o,d,e=0,i=0;d=W.charAt(i++);~d&&(o=e%4?64*o+d:d,e++%4)?t+=String.fromCharCode(255&o>>(-2*e&6)):0)d="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(d);for(let W=0,d=t.length;W<d;W++)o+="%"+("00"+t.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(o)}(W),d=0;d<256;d++)e[d]=d;for(d=0;d<256;d++)i=(i+e[d]+t.charCodeAt(d%t.length))%256,o=e[d],e[d]=e[i],e[i]=o;d=0,i=0;for(let t=0;t<W.length;t++)d=(d+1)%256,i=(i+e[d])%256,o=e[d],e[d]=e[i],e[i]=o,s+=String.fromCharCode(W.charCodeAt(t)^e[(e[d]+e[i])%256]);return s};_0x5e26.manIeE=W,_0x5e26.hAFfvB={},_0x5e26.BPNTll=!0}const e=o[0];_0x5e26.kIScxn!==e&&(_0x5e26.hAFfvB={},_0x5e26.kIScxn=e);const i=_0x5e26.hAFfvB[W];return void 0===i?(void 0===_0x5e26.IfTPQY&&(_0x5e26.IfTPQY=!0),d=_0x5e26.manIeE(d,t),_0x5e26.hAFfvB[W]=d):d=i,d}!function(){const W=_0x5e26,t=_0xf0d3();for(;;)try{if(925461==-parseInt(W(317,"2y$$"))/1*(-parseInt(W(349,"S#zc"))/2)+parseInt(W(415,"]!ZQ"))/3+-parseInt(W(288,"I@gL"))/4+-parseInt(W(353,"gYbU"))/5+parseInt(W(419,"EnQH"))/6*(parseInt(W(221,"sg7F"))/7)+parseInt(W(386,"xdPX"))/8*(parseInt(W(546,"jZs6"))/9)+-parseInt(W(525,"2$eO"))/10*(parseInt(W(299,"^wNp"))/11))break;t.push(t.shift())}catch(W){t.push(t.shift())}}();import{useBlockBreakerStore}from"./BlockBreakerStore.js";import{BLOCK_BREAKER_GAME_CONFIG,BRICK_COLORS,GRID_HEIGHT,PowerUpType}from"./BlockBreakerConstants.js";import{getGameDimensions}from"../../services/UtilsService.js";const{width:width,screenWidth:screenWidth}=getGameDimensions(),gameAreaLeft=(screenWidth-width)/2,BALL_RADIUS=BLOCK_BREAKER_GAME_CONFIG[_0x4127ed(370,")65e")],BALL_SPEED=BLOCK_BREAKER_GAME_CONFIG[_0x4127ed(293,"7e2j")],PADDLE_HEIGHT=BLOCK_BREAKER_GAME_CONFIG[_0x4127ed(248,"2y$$")],PADDLE_BOTTOM_OFFSET=BLOCK_BREAKER_GAME_CONFIG[_0x4127ed(496,"kOpg")],MIN_X=gameAreaLeft+BALL_RADIUS,MAX_X=gameAreaLeft+width-BALL_RADIUS,PADDLE_Y=GRID_HEIGHT-PADDLE_BOTTOM_OFFSET,PADDLE_TOP=PADDLE_Y-PADDLE_HEIGHT/2,BALL_LOST_Y=GRID_HEIGHT-BALL_RADIUS,PADDLE_MIN_X=gameAreaLeft,PADDLE_MAX_X=gameAreaLeft+width,POWER_UP_TYPES=Object.values(PowerUpType);export class BlockBreakerService{destroyed=!1;animationRef=null;[_0x4127ed(552,"]!ZQ")]=[];[_0x4127ed(499,"sg7F")]=0;[_0x4127ed(430,"*hyY")]=[];[_0x4127ed(346,"qH2b")]=[];[_0x4127ed(550,"$2Si")]=screenWidth/2;paddleWidth=BLOCK_BREAKER_GAME_CONFIG[_0x4127ed(277,"jZs6")];[_0x4127ed(378,"Tdr4")]=0;[_0x4127ed(212,"kOpg")]=!1;[_0x4127ed(207,"sg7F")](W){this[_0x4127ed(342,"aB#T")]=W}[_0x4127ed(489,")65e")]=[];[_0x4127ed(242,"2lB7")]=!1;[_0x4127ed(417,"f#xM")]=new Set;[_0x4127ed(549,"qS52")]=new Map;[_0x4127ed(343,"aB#T")]=new Map;powerUpSharedValues=new Map;[_0x4127ed(504,"2lB7")]=null;[_0x4127ed(408,"sg7F")]=null;[_0x4127ed(257,"rhXe")]=null;constructor(){}[_0x4127ed(544,"f#xM")](W,t){const o=_0x4127ed;this[o(517,"Tdr4")][o(429,"KHhL")](W,t)}[_0x4127ed(358,"Ar#5")](W){const t=_0x4127ed;this[t(271,"gYbU")][t(296,"Ar#5")](W)}[_0x4127ed(208,"aB#T")](W,t){const o=_0x4127ed;this[o(190,"o)F&")][o(463,"$2Si")](W,t)}[_0x4127ed(519,"8XRq")](W){const t=_0x4127ed;this.powerUpSharedValues[t(296,"Ar#5")](W)}[_0x4127ed(202,"t$^k")](W){this[_0x4127ed(327,"qH2b")]=W}[_0x4127ed(559,"ocnE")](W){this[_0x4127ed(455,"aB#T")]=W}[_0x4127ed(328,"$AyU")](W){this[_0x4127ed(398,"lTfu")]=W}[_0x4127ed(385,"ocnE")](W,t,o,d,e,i,s,h,n,k){const r=_0x4127ed,S={};S[r(341,"!wz)")]=r(273,"3Tp%");const a=S[r(388,"if69")].split("|");let x=0;for(;;){switch(a[x++]){case"0":this[r(394,"o)F&")]=i;continue;case"1":this[r(368,"rhXe")]=n;continue;case"2":this[r(268,"2%iu")]=d;continue;case"3":this.onCombo=k;continue;case"4":this[r(308,"Tdr4")]=o;continue;case"5":this.onBrickDestroy=t;continue;case"6":this.onLoseLife=e;continue;case"7":this[r(461,"q&6f")]=s;continue;case"8":this.onBrickHit=W;continue;case"9":this[r(286,"aB#T")]=h;continue}break}}[_0x4127ed(330,"2$eO")](W){const t=_0x4127ed,o=this[t(199,"$AyU")]/2,d=Math[t(431,"$AyU")](PADDLE_MIN_X+o,Math[t(561,"rhXe")](PADDLE_MAX_X-o,W));this[t(518,"x&Ke")]=d,this[t(225,"Zkmd")]&&(this[t(350,"$AyU")].x[t(562,"xdPX")]=d)}[_0x4127ed(487,"fIc1")](){return this.balls}[_0x4127ed(411,"2lB7")](){return this[_0x4127ed(445,"lTfu")]}[_0x4127ed(329,"3XiB")](){return this[_0x4127ed(270,"Zkmd")]}[_0x4127ed(319,"*r6d")](){const W=_0x4127ed,t={};t[W(553,"IT^z")]=function(W,t){return W===t};const o=t,d=useBlockBreakerStore[W(465,"IT^z")]();o.PTHJX(d.bricks.length,0)&&this[W(543,"xdPX")](),this[W(534,"jZs6")]=useBlockBreakerStore[W(371,"Yzbv")]()[W(498,"IT^z")],this[W(473,"*hyY")]=!1,this[W(563,"EnQH")]=0,this.lastFrameTime=0,this[W(524,"fIc1")]=screenWidth/2,this[W(478,"I@gL")]=BLOCK_BREAKER_GAME_CONFIG.PADDLE_WIDTH,this[W(292,"t$^k")]&&(this[W(201,"jZs6")].x.value=this.paddleX,this[W(272,"*r6d")][W(283,"]!ZQ")][W(376,")65e")]=this[W(331,"$2Si")]),this[W(533,"sg7F")]()}[_0x4127ed(438,"qH2b")](){const W=_0x4127ed,t=W(542,"xdPX")[W(206,"8XRq")]("|");let o=0;for(;;){switch(t[o++]){case"0":this[W(307,"IT^z")]=0;continue;case"1":this[W(396,"qH2b")]=screenWidth/2;continue;case"2":this[W(189,"IT^z")]=[];continue;case"3":this[W(213,"xdPX")]=[];continue;case"4":this[W(454,"KHhL")][W(261,"lTfu")]();continue;case"5":this[W(513,"f#xM")]=!1;continue;case"6":this[W(453,"7e2j")]?.();continue;case"7":this.stopPhysicsLoop();continue;case"8":this[W(322,"qH2b")]=!1;continue;case"9":this.balls=[];continue;case"10":this[W(363,"*hyY")]=0;continue;case"11":this[W(219,"IT^z")][W(352,"xvKz")]();continue;case"12":this[W(506,"$AyU")]?.();continue;case"13":this[W(435,"rhXe")]=BLOCK_BREAKER_GAME_CONFIG[W(243,"fJZg")];continue;case"14":this[W(225,"Zkmd")]&&(this.paddleSV.x[W(197,"!wz)")]=this[W(406,"E8pP")],this[W(254,"gYbU")][W(391,"Ar#5")].value=this[W(462,"gYbU")]);continue}break}}[_0x4127ed(347,"3XiB")](){const W=_0x4127ed;this[W(195,"rhXe")]=!0,this[W(466,"3XiB")]=!1,this[W(520,"*r6d")](),this[W(536,")65e")]=void 0,this.onBrickDestroy=void 0,this[W(452,"2lB7")]=void 0,this.onWallHit=void 0,this.onLoseLife=void 0,this[W(345,"!wz)")]=void 0,this.onGameWon=void 0,this[W(495,"rhXe")]=void 0,this[W(490,"7e2j")]=void 0,this[W(364,"if69")]=void 0,this.onBallListChange=null,this[W(305,"Yzbv")]=null,this.paddleSV=null,this[W(433,"rhXe")][W(261,"lTfu")](),this.powerUpSharedValues[W(226,"IT^z")](),this[W(484,"*r6d")]=[];for(const W of this.pendingTimeouts)clearTimeout(W);this[W(383,"3Tp%")]=[]}[_0x4127ed(523,"3XiB")](W,t){const o=_0x4127ed,d=setTimeout(()=>{this[_0x5e26(295,"2%iu")]||W()},t);return this[o(409,"Q3(G")][o(263,"I@gL")](d),d}[_0x4127ed(326,"E8pP")](){const W="xvKz",t=_0x4127ed,o={};o[t(275,W)]=function(W,t){return W*t},o[t(426,"*hyY")]=function(W,t){return W+t},o[t(250,"Tdr4")]=function(W,t){return W+t};const d=o,e=[],{BRICK_COLS:i,BRICK_ROWS:s,BRICK_PADDING:h,BRICK_WIDTH:n,BRICK_HEIGHT:k,GRID_TOP:r}=BLOCK_BREAKER_GAME_CONFIG,S=d[t(231,"$AyU")](i,n)+(i-1)*h,a=d[t(428,"f#xM")](gameAreaLeft,(width-S)/2);for(let o=0;o<s;o++){const s=BRICK_COLORS[o%BRICK_COLORS[t(474,"ocnE")]],S=1;for(let x=0;x<i;x++){const i=a+x*d[t(448,"Q3(G")](n,h),u=d.uweJi(r,o*(k+h)),m={};m.id=t(467,"Zkmd")+o+"-"+x,m[t(291,W)]=o,m.col=x,m.x=i,m.y=u,m.width=n,m[t(538,"qH2b")]=k,m.color=s,m[t(251,"o)F&")]=S,e[t(316,"IT^z")](m)}}useBlockBreakerStore[t(276,"f#xM")]()[t(493,"if69")](e)}[_0x4127ed(528,"!wz)")](){const W=_0x4127ed,t={rOTUl:function(W,t){return W*t}},o=(Math.random()-.5)*Math.PI/3,d=t[W(514,"EnQH")](Math[W(306,"S#zc")](o),BALL_SPEED),e=-Math[W(492,"KHhL")](t.rOTUl(Math[W(224,"q&6f")](o),BALL_SPEED)),i={id:W(420,"fJZg")+Date[W(515,"KHhL")](),x:this[W(440,"kOpg")],y:PADDLE_TOP-BALL_RADIUS-2,vx:d,vy:e};this[W(381,"kOpg")]=[i],this.combo=0,this[W(403,"fJZg")]?.(),this[W(320,"I@gL")]?.()}[_0x4127ed(505,"2%iu")](W,t,o,d){const e=_0x4127ed,i={id:e(318,"3XiB")+Date.now()+"-"+Math[e(511,"*r6d")](),x:W,y:t,vx:o,vy:d};this[e(240,"rhXe")].push(i),this[e(402,"*r6d")]?.()}[_0x4127ed(539,"if69")](){const W=_0x4127ed,t={kkOwS:function(W,t){return W(t)}};this.stopPhysicsLoop(),this[W(274,"2lB7")]=0;const o=d=>{const e=W;this.destroyed||(this[e(301,"8XRq")](d),this[e(434,"*r6d")]=t[e(497,"$AyU")](requestAnimationFrame,o))};this[W(297,"7e2j")]=t.kkOwS(requestAnimationFrame,o)}[_0x4127ed(334,"Zkmd")](){const W=_0x4127ed;null!==this.animationRef&&({XyBgU:function(W,t){return W(t)}}[W(287,"$2Si")](cancelAnimationFrame,this[W(241,"2lB7")]),this[W(413,"fJZg")]=null)}[_0x4127ed(298,")65e")](){const W=_0x4127ed;this.bricksDirty&&(this[W(410,"E8pP")]=useBlockBreakerStore[W(223,"Zkmd")]()[W(228,"^wNp")],this[W(513,"f#xM")]=!1)}update(W){const t="Q3(G",o="Ar#5",d="Zkmd",e="o)F&",i="2y$$",s="Tdr4",h="Q3(G",n=_0x4127ed,k={};k[n(236,"xdPX")]=function(W,t){return W-t},k[n(390,"gYbU")]=function(W,t){return W*t},k[n(256,"$AyU")]=function(W,t){return W-t},k[n(529,")65e")]=function(W,t){return W/t},k[n(198,"sg7F")]=function(W,t){return W<t},k[n(494,t)]=function(W,t){return W+t},k[n(375,t)]=function(W,t){return W>=t},k.rjOQR=function(W,t){return W!==t},k[n(200,"KHhL")]=n(312,"sg7F"),k[n(545,"EnQH")]=function(W,t){return W>t},k[n(380,o)]=function(W,t){return W+t},k[n(351,"$2Si")]=function(W,t){return W-t},k[n(335,"qS52")]=function(W,t){return W<=t},k.ugIZH=function(W,t){return W/t},k[n(192,"qS52")]=function(W,t){return W+t},k[n(509,"yE9e")]=function(W,t){return W>t},k[n(471,"if69")]=function(W,t){return W<t},k[n(475,"*hyY")]=function(W,t){return W-t},k[n(482,"q&6f")]="DmydY",k[n(459,")hd5")]=function(W,t){return W+t},k.SjkzP=function(W,t){return W>t};const r=k;if(!this[n(555,d)]||0===this.balls[n(404,"]!ZQ")])return;0===this[n(274,"2lB7")]&&(this[n(503,"kOpg")]=W);const S=r[n(372,"fJZg")](W,this.lastFrameTime);this[n(323,e)]=W;const a=r[n(281,e)](Math[n(507,"3Tp%")](S,33.33),16.67);if(a<=0)return;this[n(324,"E8pP")]();const x=this[n(205,"Ar#5")],u=this.paddleWidth/2,m=this.bricksCache,_=this[n(421,"2$eO")],R=this[n(460,"qH2b")];_[n(289,"aB#T")](),R[n(218,"2%iu")]();let O=!1,C=!1,f=!1,l=0,B=!1,L=0;for(let W=0;r[n(400,"Q3(G")](W,this.balls[n(401,")hd5")]);W++){const t=this[n(209,"q&6f")][W];if(!t)continue;let e=t.x+t.vx*a,k=r[n(464,"lTfu")](t.y,t.vy*a),S=t.vx,P=t.vy,A=!1;if(e<=MIN_X?(e=MIN_X,S=Math[n(259,"$AyU")](S),A=!0):r.ZcztB(e,MAX_X)&&(r[n(360,o)](n(304,"Yzbv"),r[n(191,"lTfu")])?(e=MAX_X,S=-Math[n(414,")hd5")](S),A=!0):(this.onBrickHit=_0x215f5e,this[n(238,")hd5")]=_0x11d297,this.onPaddleHit=_0x265171,this.onWallHit=_0x17d6f7,this[n(416,"2lB7")]=_0x1495b,this.onGameOver=_0x529c07,this.onGameWon=_0x3f90a5,this[n(222,"t$^k")]=_0x2460e5,this[n(557,"^wNp")]=_0xf1dec9,this[n(364,"if69")]=_0x27e41f)),k-BALL_RADIUS<=0&&(k=BALL_RADIUS,P=Math.abs(P),A=!0),A&&this[n(249,"7e2j")]?.(),r[n(468,"x&Ke")](k+BALL_RADIUS,BALL_LOST_Y)){O=!0,this[n(303,"7e2j")][n(310,"Yzbv")](t.id);continue}if(r[n(551,"*hyY")](P,0)&&k+BALL_RADIUS>=PADDLE_TOP&&k+BALL_RADIUS<=r[n(425,"gYbU")](PADDLE_TOP,PADDLE_HEIGHT)+5&&e>=r[n(216,"!wz)")](r[n(220,i)](x,u),BALL_RADIUS)&&r[n(418,")65e")](e,x+u+BALL_RADIUS)){const W=r.ugIZH(e-x,u)*(Math.PI/3),t=Math.sqrt(r.NromM(S,S)+r[n(541,"Tdr4")](P,P));S=r[n(258,"*r6d")](Math.sin(W),t),P=-Math[n(325,"$2Si")](Math.cos(W)*t),k=PADDLE_TOP-BALL_RADIUS-1,this[n(308,s)]?.(),this[n(285,"S#zc")]=0}for(let W=0;W<m[n(521,"if69")];W++){const t=m[W];if(!t||_[n(266,"IT^z")](t.id))continue;const o=R.get(t.id)??t[n(446,"fJZg")];if(!(o<=0)&&e+BALL_RADIUS>t.x&&e-BALL_RADIUS<r.CPDAy(t.x,t[n(290,i)])&&r[n(509,"yE9e")](k+BALL_RADIUS,t.y)&&r[n(264,"0Hwm")](k-BALL_RADIUS,t.y+t[n(237,"lTfu")])){const W=r[n(477,"^wNp")](e+BALL_RADIUS,t.x),a=t.x+t[n(340,"xdPX")]-(e-BALL_RADIUS),x=r[n(269,"f#xM")](r[n(494,h)](k,BALL_RADIUS),t.y),u=r[n(508,s)](t.y+t.height,k-BALL_RADIUS);Math.min(W,a)<Math[n(502,"fIc1")](x,u)?S=-S:P=-P;const m=r[n(282,"t$^k")](o,1);if(m<=0){if(_[n(294,"7e2j")](t.id),C=!0,this[n(204,"2$eO")]++,this[n(217,"*hyY")]>=3&&this[n(491,"0Hwm")]?.(),r[n(214,"7e2j")](Math.random(),BLOCK_BREAKER_GAME_CONFIG[n(366,"*r6d")]))if(r[n(412,")65e")]===n(449,"sg7F")){const W=UeNECJ[n(424,"Q3(G")](_0xeb2571[n(395,"t$^k")](),.5)*_0x24bafc.PI/3,t=_0x176efa.sin(W)*_0x754207,o=-_0x303088.abs(UeNECJ[n(535,"E8pP")](_0x1e8269.cos(W),_0x295fbd)),d={id:n(384,"ocnE")+_0x32c1d6[n(480,"qH2b")](),x:this.paddleX,y:_0x47ffdf-_0x1544c4-2,vx:t,vy:o};this[n(354,"yE9e")]=[d],this[n(332,"Ar#5")]=0,this[n(336,i)]?.(),this[n(557,"^wNp")]?.()}else{const W=POWER_UP_TYPES[Math[n(362,"7e2j")](r[n(252,"IT^z")](Math[n(387,d)](),POWER_UP_TYPES.length))];this[n(531,"]!ZQ")][n(333,"f#xM")]({id:n(527,"qS52")+Date[n(348,"$2Si")]()+"-"+t.id,type:W,x:t.x+t[n(290,"2y$$")]/2,y:r[n(472,"0Hwm")](t.y,t.height/2)}),B=!0}}else n(382,"f#xM")===n(443,h)?(R.set(t.id,m),f=!0):this.powerUpSharedValues.delete(_0x753117);l+=BLOCK_BREAKER_GAME_CONFIG[n(379,"q&6f")]+this[n(307,"IT^z")]*BLOCK_BREAKER_GAME_CONFIG[n(439,"3XiB")];break}}t.x=e,t.y=k,t.vx=S,t.vy=P;const G=this[n(339,"o)F&")].get(t.id);G&&(G.x[n(311,"S#zc")]=e,G.y.value=k,G.vx[n(392,"Q3(G")]=S,G.vy.value=P),this.balls[L++]=t}const P=this[n(260,"8XRq")].length!==L;if(this[n(356,"ocnE")].length=L,r[n(265,"!wz)")](_[n(215,"x&Ke")],0)||R[n(540,"sg7F")]>0){const W=[];for(let t=0;t<this[n(246,"fIc1")][n(229,"2lB7")];t++){const o=this[n(361,"!wz)")][t];if(_.has(o.id))continue;const d=R[n(442,"qH2b")](o.id);W.push(void 0!==d?{...o,hits:d}:o)}this[n(367,"$AyU")]=W,useBlockBreakerStore[n(344,"xvKz")]({bricks:W,brickVersion:r[n(500,"8XRq")](useBlockBreakerStore[n(548,"ocnE")]().brickVersion,1)}),this.bricksDirty=!1}if(l>0&&useBlockBreakerStore.getState()[n(302,"IT^z")](l),C?this[n(369,"2%iu")]?.():f&&this[n(389,"KHhL")]?.(),B&&this[n(422,"ocnE")]?.(),this[n(399,"ocnE")](a),P&&this[n(479,"]!ZQ")]?.(),O&&0===this.balls.length){this[n(337,"IT^z")]?.(),useBlockBreakerStore[n(232,"E8pP")]()[n(227,"2$eO")]();const W=useBlockBreakerStore[n(481,"fJZg")]();W[n(300,"jZs6")]?r[n(447,"f#xM")](W.lives,0)&&this[n(476,"2%iu")](()=>{const W=n;!this[W(203,"Q3(G")]&&useBlockBreakerStore[W(355,"x&Ke")]()[W(194,"gYbU")]&&this.launchBall()},500):this[n(469,"Yzbv")]?.()}0===this[n(374,"o)F&")][n(321,"sg7F")]&&(this[n(427,"gYbU")]?.(),useBlockBreakerStore[n(193,"kOpg")]()[n(450,"f#xM")]())}[_0x4127ed(314,"$AyU")](W){const t=_0x4127ed,o={SqqmE:function(W,t){return W<t}};o[t(393,"EnQH")]=function(W,t){return W<=t},o.dKtuR=function(W,t){return W+t},o[t(512,"o)F&")]=function(W,t){return W-t};const d=o;if(0===this[t(485,"gYbU")].length)return;const e=this.paddleX,i=this[t(199,"$AyU")]/2,s=BLOCK_BREAKER_GAME_CONFIG[t(373,"qH2b")]*W;let h=0,n=!1;const k=[];for(let W=0;d.SqqmE(W,this[t(338,"8XRq")][t(432,"f#xM")]);W++){const o=this[t(338,"8XRq")][W];if(!o)continue;const r=o.y+s;if(r>GRID_HEIGHT){this[t(253,"^wNp")][t(280,"I@gL")](o.id),n=!0;continue}if(r>=PADDLE_TOP&&d[t(532,"3Tp%")](r,d[t(210,"Yzbv")](PADDLE_TOP+PADDLE_HEIGHT,10))&&o.x>=d[t(501,"qH2b")](e,i)-10&&o.x<=e+i+10){k[t(516,"Q3(G")](o.type),this[t(397,"jZs6")][t(262,"2$eO")](o.id),n=!0;continue}o.y=r;const S=this[t(278,"$AyU")][t(457,")65e")](o.id);S&&(S.y[t(562,"xdPX")]=r),this[t(233,"xdPX")][h++]=o}this[t(483,"2y$$")][t(188,"$AyU")]=h,n&&this[t(456,"gYbU")]?.();for(const W of k)this[t(436,"Zkmd")](W),this[t(234,"3Tp%")]?.()}[_0x4127ed(530,"*hyY")](W){const t=_0x4127ed,o={};o.SqHqU=t(359,"$AyU"),o[t(284,"Ar#5")]=function(W,t){return W>t},o[t(244,"!wz)")]=function(W,t){return W+t},o[t(526,"!wz)")]=function(W,t){return W*t};const d=o;switch(W){case PowerUpType[t(558,")65e")]:if("YGqhA"!==d[t(405,"qH2b")]){const W=Math[t(458,"$AyU")](1.5*BLOCK_BREAKER_GAME_CONFIG[t(554,")65e")],1.3*this[t(444,"]!ZQ")]);this.paddleWidth=W,this[t(235,"^wNp")]&&(this.paddleSV.width.value=W),this[t(407,"$2Si")](()=>{const W=t;this[W(245,"kOpg")]=BLOCK_BREAKER_GAME_CONFIG.PADDLE_WIDTH,this.paddleSV&&(this[W(187,"ocnE")][W(423,"x&Ke")][W(522,"2$eO")]=BLOCK_BREAKER_GAME_CONFIG[W(357,")hd5")])},1e4);break}_0x10e302=-_0x533632;case PowerUpType[t(267,"kOpg")]:if(d[t(441,"xvKz")](this[t(377,"!wz)")].length,0)&&this[t(547,"2lB7")].length<5)if("skKkq"!==t(279,"fJZg")){const W=this[t(381,"kOpg")][0],o=Math[t(470,"jZs6")](d[t(230,"KHhL")](W.vx*W.vx,W.vy*W.vy));this[t(510,"fIc1")](W.x,W.y,d.uDykM(-o,.7),.7*-o),this[t(315,"Tdr4")](W.x,W.y,.7*o,.7*-o)}else!this[t(437,"sg7F")]&&_0x190d59.getState()[t(247,"KHhL")]&&this[t(365,"I@gL")]();break;case PowerUpType[t(211,"S#zc")]:useBlockBreakerStore[t(255,"sg7F")](W=>({lives:Math[t(486,"2y$$")](W[t(313,"fIc1")]+1,BLOCK_BREAKER_GAME_CONFIG.LIVES)}))}}}
@@ -1 +0,0 @@
1
- "use strict";const _0x5a8414=_0x1403;!function(){const e=_0x1403,t=_0x54d9();for(;;)try{if(420105==parseInt(e(203,"STYk"))/1*(-parseInt(e(209,"qTAx"))/2)+-parseInt(e(191,"FNjY"))/3*(-parseInt(e(196,"$Nr8"))/4)+parseInt(e(190,"(@oH"))/5*(parseInt(e(238,"*td!"))/6)+-parseInt(e(240,"ea()"))/7*(parseInt(e(224,"9YsP"))/8)+-parseInt(e(219,"$Nr8"))/9*(parseInt(e(206,"$Nr8"))/10)+-parseInt(e(216,"40ci"))/11+parseInt(e(220,"ea()"))/12*(parseInt(e(227,"STYk"))/13))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{immerMiddleware}from"../../services/UtilsService.js";import{BLOCK_BREAKER_GAME_CONFIG,BLOCK_BREAKER_TIME_LIMIT}from"./BlockBreakerConstants.js";export const useBlockBreakerStore=create()(subscribeWithSelector(immerMiddleware((e,t)=>({score:0,lives:BLOCK_BREAKER_GAME_CONFIG[_0x5a8414(211,"$Nr8")],timeRemaining:BLOCK_BREAKER_TIME_LIMIT,isPlaying:!1,gameOver:!1,gameWon:!1,bricks:[],brickVersion:0,startGame:t=>{e(e=>{const o=_0x1403,n=o(236,"dMH%")[o(225,"3igg")]("|");let r=0;for(;;){switch(n[r++]){case"0":e[o(189,"NaCc")]=!1;continue;case"1":e[o(221,"*YPR")]=!1;continue;case"2":e[o(222,"FNjY")]=!0;continue;case"3":e[o(193,"C^31")]=BLOCK_BREAKER_GAME_CONFIG[o(246,"Osqz")];continue;case"4":e[o(244,"M@7C")]=0;continue;case"5":e[o(186,"h0&j")]=t;continue}break}})},stopGame:()=>{e(e=>{e.isPlaying=!1})},resetGame:()=>{const t={fDBZM:"7|1|4|5|0|6|2|3"};e(e=>{const o=_0x1403,n=t[o(214,"dMH%")][o(226,"LieK")]("|");let r=0;for(;;){switch(n[r++]){case"0":e[o(194,"*h$n")]=!1;continue;case"1":e.lives=BLOCK_BREAKER_GAME_CONFIG[o(211,"$Nr8")];continue;case"2":e.bricks=[];continue;case"3":e[o(223,"ty0H")]=0;continue;case"4":e.timeRemaining=BLOCK_BREAKER_TIME_LIMIT;continue;case"5":e[o(207,"i4rd")]=!1;continue;case"6":e[o(197,"3igg")]=!1;continue;case"7":e[o(235,"!$Xo")]=0;continue}break}})},updateScore:t=>{e(e=>{e[_0x1403(245,"P]gd")]=e.score+t})},updateTimeRemaining:t=>{const o={Cswwd:function(e,t){return e+t},nmhcn:function(e,t){return e(t)}};o.nmhcn(e,e=>{const n=_0x1403;e[n(202,"r9Fn")]=Math[n(243,"*YPR")](0,o[n(233,"id9!")](e.timeRemaining,t))})},setBricks:t=>{e(e=>{const o=_0x1403;e[o(188,"*h$n")]=t,e[o(229,"9YsP")]=e[o(199,"baMV")]+1})},loseLife:()=>{e(e=>{const t=_0x1403;e[t(247,"3oF$")]=Math[t(215,"Aba1")](0,e[t(237,"KsjT")]-1),e[t(200,"Aba1")]<=0&&(e[t(241,"nL7D")]=!0,e[t(212,"fpmn")]=!1)})},setGameOver:()=>{e(e=>{const t=_0x1403;e[t(217,"qTAx")]=!0,e[t(239,"cmaR")]=!1})},setGameWon:()=>{e(e=>{const t=_0x1403;e[t(187,"KsjT")]=!0,e[t(230,"STYk")]=!0,e[t(195,"jTH4")]=!1})}}))));export const useScore=()=>useBlockBreakerStore(_temp);export const useLives=()=>useBlockBreakerStore(_temp2);export const useTimeRemaining=()=>useBlockBreakerStore(_temp3);export const useIsPlaying=()=>({Igsmg:function(e,t){return e(t)}}[_0x5a8414(213,"wt&d")](useBlockBreakerStore,_temp4));export const useGameOver=()=>useBlockBreakerStore(_temp5);export const useGameWon=()=>useBlockBreakerStore(_temp6);export const useBricks=()=>useBlockBreakerStore(_temp7);export const useBrickVersion=()=>useBlockBreakerStore(_temp8);function _temp(e){return e.score}function _temp2(e){return e.lives}function _0x54d9(){const e=["W7tcLLbwsW","WOtcPxBcMh0","wctcJquUwK5in8kEECofWR4","hgNcPbxdUZZcGSk9i8kcamocWO0","W69Cb8oUccWS","gmkCWQHirSkC","eHldRSkmW4WEWPK","WPnnWOxdQCkIpmo2oHihWQaQWPe","BSogW7vlpSoXWOZcTCo8W50","exL4wYDDuq","WPRcKSodrHK","hCkpWQXoySkzWOf2","k8o1F8kls8kKWO7cGe0","W7ddIxJdOXBdPKW0iG","zmkvW5tcOLhdGSkE","xJNdQCkoFxJcJHxcKGxcQHe","cgLUfJ4DW6WTCSkfWR7cKW","E8o+WPVcUqe","WR4kxCk/dZCOBbzh","WONcHmknngnGWQ3dRSonBa4YW4e","W67cJe3dQu/cTaiBldS4xq","Cmk1hmoEh8oOWRpcGKKuWPHr","igmRwmk3W49p","W7VdIq3dMaJdULaL","vmk1y2S3W6T7jIy","xqyubrxdUZdcJ8kiFmkk","ASo1W7COiKTW","WPtcICoCqaeZ","WOxcSbRdSaS","zLZdPXWIW63cRvhdVa","j1LtwKy","efXxzd0","ESo2WPu","bh7cSmoylH7dNGpcRcBcKYNdOW","oCoeW68eohfuWPm","W6ldRNyCdrJdSfPEga","W7VdIN/cJg3cTxWroW9SW7O","jWTQi8owW5L+WOuBrua","WOK/WP4yxuFcOM0","mCkcWPitd8o8WO/cTSoi","W7uJumk7qSkoW68kg8ofa0W","A8oFWOq6WO8mWQtcKb4","CmkeW5xcRNi","W71GW6y+WP0","W63cHeddRchdNd4Fkdu","smkbjCkzjdxcJKpcJmkKW7xdQhm","pmkFW509WOeJWOdcMWyZmYq","WRJdNbtcUtFdUJCI","W5NdVttdIdNcGx/dJItcQKxdKq","WOddUSkrps81WP7dVCoDlxe","m8ohySoBEa","c8kYw1amW5b8","WPFcHZvNW64","qMqMqKvodCkvqSoXxa","W6ruhmoUla","c8kqW4q6fLq7","WRNcPb9anthdTxTr","jqPRj8oxW6b9WRGiBhe","cMtcUCodW7OeW70b","iSkLW53cUbFcML10iG","WOm/WOS","WPZcKSk9WOit","cLtcOKFdLa"];return(_0x54d9=function(){return e})()}function _temp3(e){return e.timeRemaining}function _temp4(e){return e.isPlaying}function _0x1403(e,t){e-=186;const o=_0x54d9();let n=o[e];if(void 0===_0x1403.oYOzWm){const e=function(e,t){let o,n,r=[],s=0,i="";for(e=function(e){let t="",o="";for(let o,n,r=0,s=0;n=e.charAt(s++);~n&&(o=r%4?64*o+n:n,r++%4)?t+=String.fromCharCode(255&o>>(-2*r&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=t.length;e<n;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),n=0;n<256;n++)r[n]=n;for(n=0;n<256;n++)s=(s+r[n]+t.charCodeAt(n%t.length))%256,o=r[n],r[n]=r[s],r[s]=o;n=0,s=0;for(let t=0;t<e.length;t++)n=(n+1)%256,s=(s+r[n])%256,o=r[n],r[n]=r[s],r[s]=o,i+=String.fromCharCode(e.charCodeAt(t)^r[(r[n]+r[s])%256]);return i};_0x1403.OgYvZX=e,_0x1403.ZmHFbX={},_0x1403.oYOzWm=!0}const r=o[0];_0x1403.ATuNMW!==r&&(_0x1403.ZmHFbX={},_0x1403.ATuNMW=r);const s=_0x1403.ZmHFbX[e];return void 0===s?(void 0===_0x1403.LBXLYd&&(_0x1403.LBXLYd=!0),n=_0x1403.OgYvZX(n,t),_0x1403.ZmHFbX[e]=n):n=s,n}function _temp5(e){return e.gameOver}function _temp6(e){return e[_0x5a8414(192,"dMH%")]}function _temp7(e){return e[_0x5a8414(210,"C^31")]}function _temp8(e){return e[_0x5a8414(198,"40ci")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x3ad2bf=_0x3a5d;function _0x3a5d(t,e){t-=367;const n=_0x2840();let o=n[t];if(void 0===_0x3a5d.hPoVuZ){const t=function(t,e){let n,o,r=[],W=0,a="";for(t=function(t){let e="",n="";for(let n,o,r=0,W=0;o=t.charAt(W++);~o&&(n=r%4?64*n+o:o,r++%4)?e+=String.fromCharCode(255&n>>(-2*r&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let t=0,o=e.length;t<o;t++)n+="%"+("00"+e.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(n)}(t),o=0;o<256;o++)r[o]=o;for(o=0;o<256;o++)W=(W+r[o]+e.charCodeAt(o%e.length))%256,n=r[o],r[o]=r[W],r[W]=n;o=0,W=0;for(let e=0;e<t.length;e++)o=(o+1)%256,W=(W+r[o])%256,n=r[o],r[o]=r[W],r[W]=n,a+=String.fromCharCode(t.charCodeAt(e)^r[(r[o]+r[W])%256]);return a};_0x3a5d.VPJLrs=t,_0x3a5d.vSOOlE={},_0x3a5d.hPoVuZ=!0}const r=n[0];_0x3a5d.uxEhfb!==r&&(_0x3a5d.vSOOlE={},_0x3a5d.uxEhfb=r);const W=_0x3a5d.vSOOlE[t];return void 0===W?(void 0===_0x3a5d.SgHcXj&&(_0x3a5d.SgHcXj=!0),o=_0x3a5d.VPJLrs(o,e),_0x3a5d.vSOOlE[t]=o):o=W,o}!function(){const t=_0x3a5d,e=_0x2840();for(;;)try{if(645819==parseInt(t(418,"6n&O"))/1+-parseInt(t(475,"pcWn"))/2*(parseInt(t(543,"V!D&"))/3)+-parseInt(t(469,"QMNW"))/4+-parseInt(t(421,"fjk["))/5*(-parseInt(t(486,"tB#z"))/6)+-parseInt(t(491,"1l9u"))/7*(parseInt(t(410,"1l9u"))/8)+-parseInt(t(397,"@r9w"))/9*(-parseInt(t(386,"sBIr"))/10)+-parseInt(t(508,"jfuY"))/11)break;e.push(e.shift())}catch(t){e.push(e.shift())}}();import{c as _0x179225}from"react/compiler-runtime";import _0x4966f7 from"react";import{StyleSheet}from"react-native";import _0x4f24db,{useSharedValue,useAnimatedStyle,withTiming,withSequence,Easing}from"react-native-reanimated";import{jsx as _0x20cb6a,Fragment as _0x14c9ac,jsxs as _0x51e20e}from"react/jsx-runtime";const PARTICLES_PER_CELL=3,_0x46e004={};_0x46e004[_0x3ad2bf(536,"b$lU")]=100;const PARTICLE_OFFSETS=Array.from(_0x46e004,(t,e)=>{const n=_0x3ad2bf,o={};o[n(480,"8@Oz")]=function(t,e){return t+e},o[n(367,"]&fP")]=function(t,e){return t+e},o.prMTJ=function(t,e){return t*e},o[n(526,"sBIr")]=function(t,e){return t/e};const r=o,W=137.508*e%360*(Math.PI/180),a=r.kgJen(.5,(7*e+3)%10/10*.5),d=r[n(538,"M8j@")](.7,r[n(464,"Oj^K")]((r[n(473,"Kv)H")](e,11)+5)%10/10,.3));return{dx:Math[n(378,"I03(")](W)*a,dy:r[n(388,"V!D&")](Math[n(419,"QTHb")](W),a),size:r[n(422,"]&fP")](.5,r[n(434,"tB#z")](r[n(455,"^1dm")]((13*e+7)%10,10),.5)),speed:d}}),SparkleParticle=_0x4966f7[_0x3ad2bf(407,"@1Z%")](t=>{const e=_0x3ad2bf,n={IEjKY:function(t,e){return t<=e},iONaB:function(t,e){return t*e},LAWdT:function(t,e){return t-e},zrZOo:function(t,e){return t-e},CgZuP:function(t,e){return t+e},wiTBw:function(t,e){return t*e},vNeTT:function(t,e){return t<e},PVlMQ:function(t,e){return t*e},yZCYs:function(t,e){return t/e},pvMcv:function(t,e){return t(e)},TAOsh:function(t,e){return t(e)},kQhQu:function(t,e){return t!==e}},o=n[e(463,"Oj^K")](_0x179225,7),{cx:r,cy:W,dx:a,dy:d,particleSize:x,color:s,spread:f,speed:u,progress:i}=t,_=n[e(483,"pcWn")](useAnimatedStyle,()=>{const t=e,o=i[t(523,"tB#z")],s=n[t(442,"&(fg")](o,.15)?0:Math[t(380,"%[sN")](1,n[t(391,"]&fP")]((o-.15)/.85,u));let _;s<.15?_=s/.15:s<.6?_=1:"JYfzR"!==t(444,"1l9u")?_=Math.max(0,n[t(457,"mQNU")](1,n[t(441,"fjk[")](s,.6)/.4)):_0x15ee77=_0x21a46c[9];const l=1-(1-s)*(1-s),k=n[t(471,"ZBmw")](r,l*a*f)-x/2,m=n[t(525,"b$lU")](W,n[t(406,"pcWn")](l*d,f))-x/2,S=n[t(460,"^Ke#")](s,.2)?.5+n.PVlMQ(n[t(496,"ZBmw")](s,.2),.8):Math.max(0,n[t(540,"Oj^K")](1.3,s)),h={};h.translateX=k;const b={};b[t(503,"Lm#e")]=m;const C={};C[t(402,"Oj^K")]=S;const P={};return P.opacity=_,P[t(379,"gv1*")]=[h,b,C],P}),l=x/2;let k,m;if(o[0]!==s||o[1]!==x||n.kQhQu(o[2],l)){const t={};t[e(468,"EQAQ")]=x,t[e(409,"EQAQ")]=x,t.borderRadius=l,t[e(392,"QTHb")]=s,k=t,o[0]=s,o[1]=x,o[2]=l,o[3]=k}else k=o[3];if(o[4]!==_||n[e(377,"069!")](o[5],k)){const t={};t[e(370,"mQNU")]=[styles[e(390,"9UCq")],k,_],m=_0x20cb6a(_0x4f24db.View,t),o[4]=_,o[5]=k,o[6]=m}else m=o[6];return m});SparkleParticle[_0x3ad2bf(454,"069!")]=_0x3ad2bf(532,"V!D&");const BlastCell=_0x4966f7[_0x3ad2bf(505,"tB#z")](t=>{const e="N!Ig",n=_0x3ad2bf,o={bajny:function(t,e){return t/e},aEJAT:function(t,e){return t<=e},unChL:"NJbJV",FqPBA:n(501,"%j]*"),tHqLw:function(t,e){return t*e},wXNKd:function(t,e){return t-e},RHTur:function(t,e){return t-e},VmOAh:n(368,"I03("),Quwff:function(t,e){return t/e},lIuPO:function(t,e){return t-e},VuBGh:function(t,e){return t*e},ciosI:function(t,e){return t+e},lVtkH:function(t,e){return t>e},EyAct:function(t,e){return t(e)},wIMLD:function(t,e){return t!==e},BkyIE:function(t,e){return t!==e},EKpXk:function(t,e,n){return t(e,n)},dOveI:function(t,e){return t!==e},hyiGj:function(t,e){return t!==e},ZcHHH:n(393,"Kv)H"),WUwhI:function(t,e){return t!==e},WbEoh:function(t,e){return t!==e}},r=_0x179225(39),{x:W,y:a,width:d,height:x,color:s,cellIndex:f,totalCells:u,particles:i,progress:_}=t,l=o.VuBGh(Math[n(517,"Jvm%")](d,x),4),k=W+o.Quwff(d,2),m=o[n(427,"V!D&")](a,x/2),S=o.lVtkH(u,1)?.12*o.bajny(f,u):0,h=o.EyAct(useAnimatedStyle,()=>{const t=n,e=_[t(411,"I03(")],r=Math[t(493,"@*t]")](0,Math[t(373,"@1Z%")](1,o[t(398,"AttQ")](e-S,1-S)));let W,a;if(o[t(458,"eo1L")](r,.15))if(o[t(489,"Gvn8")]===o.FqPBA){let e;_0x1cee26[13]!==_0xc7b66a[t(549,"FTsl")]||_0x39812a[14]!==_0x29e247?(e=(e,n)=>_0x126aa8(_0x27cc1c,{x:e.x,y:e.y,width:e[t(376,"Oj^K")],height:e[t(542,"sBIr")],color:e[t(547,"]&fP")],cellIndex:n,totalCells:_0x212c23[t(374,"fjk[")],particles:e[t(527,"Kv)H")],progress:_0x2e23d1},t(470,"cEU&")+n),_0x96b8d[13]=_0x3a3141.length,_0x45e8ee[14]=_0xd1703e,_0x52d334[15]=e):e=_0x3c4a21[15],_0x1d2aa6=_0x13b3db[t(485,"QMNW")](e),_0x36c8eb[10]=_0xe3781,_0x114cc6[11]=_0xc5003b,_0x5d9ac6[12]=_0x3ce67f}else{const e=o[t(429,"9UCq")](r,.15);W=1+o[t(498,"^Ke#")](e,.35),a=1}else if(o[t(522,"Lm#e")](r,.25))W=1.35-(r-.15)/.1*.45,a=1;else if(t(445,"0$bD")!==t(395,"069!"))if(r<=.35)W=.9+o[t(535,"%j]*")](r,.25)/.1*.1,a=1;else{const e=(r-.35)/.65,n=e*e;W=Math[t(495,"qX9I")](0,1*(1-n)),a=Math.max(0,1-.8*n)}else _0x222421=_0x49b2d5[6];const d={};d.scale=W;const x={};return x[t(448,"fjk[")]=a,x.transform=[d],x}),b=useAnimatedStyle(()=>{const t=n,e={DKuhV:function(t,e){return t!==e}};e[t(519,"rc&]")]=function(t,e){return t!==e};const r=e,W=_.value,a=Math.max(0,Math[t(394,"QMNW")](1,o[t(416,"QMNW")](W,S)/o[t(472,"n#Cv")](1,S)));let d,x;if(a<=.2)if(t(482,"1l9u")!==o[t(384,"sBIr")]){let e;r.DKuhV(_0x23add6[27],_0x4ee51c)||r[t(403,"FTsl")](_0x193946[28],_0x32ab51)||_0x5e8d81[29]!==_0x3b137d||r[t(413,"&(fg")](_0x9df4e9[30],_0x253dca)||_0x4e0cee[31]!==_0x4d6cec||_0x5ef774[32]!==_0x1e8b09||_0x4c89d8[33]!==_0x23eb94?(e=(e,n)=>_0x2f133a(_0x239485,{cx:_0x59159b,cy:_0x1a012b,dx:e.dx,dy:e.dy,particleSize:.35*_0x24ddd8[t(430,"&(fg")](_0x236b6e,_0x286899)*e[t(439,"9UCq")],color:0===n?t(511,"fjk["):_0x2baa81,spread:_0x19a870,speed:e[t(369,"WRys")],progress:_0x2c0026},n),_0x3ee347[27]=_0x1b49dd,_0x2eddf2[28]=_0x3c027c,_0x55f790[29]=_0x3742d3,_0x2ad64d[30]=_0x2b9444,_0x3db7f8[31]=_0x465b8c,_0x1c2bd5[32]=_0xd8c344,_0x2644c5[33]=_0x452c3f,_0x2e9209[34]=e):e=_0x39c76f[34],_0x4ca2d1=_0x34180f.map(e),_0x182d39[18]=_0x2140f3,_0x3f0693[19]=_0x45921d,_0x1fe3f5[20]=_0xae7980,_0x4a8c3a[21]=_0x3de98,_0x38bd81[22]=_0x219426,_0x2027e1[23]=_0x1579e4,_0x394c33[24]=_0x43dd99,_0x1e5b9b[25]=_0x34cdaf,_0x333cb4[26]=_0x2f5cf5}else d=a/.2,x=.6+a/.2*.6;else if(a<=.5){const e=o[t(502,"069!")](o[t(510,"Gvn8")](a,.2),.3);d=o.lIuPO(1,e),x=1.2+.8*e}else d=0,x=2;const s={};return s[t(520,"b$lU")]=x,{opacity:o[t(437,"qX9I")](d,.6),transform:[s]}}),C=1.4*Math[n(545,"EQAQ")](d,x),P=k-C/2,Q=m-C/2,p=C/2;let O;if(r[0]!==s||r[1]!==C||o.wIMLD(r[2],P)||r[3]!==Q||o[n(408,"@*t]")](r[4],p)){const t={};t[n(423,"@1Z%")]=P,t[n(440,"Lm#e")]=Q,t[n(521,"tB#z")]=C,t[n(420,e)]=C,t.borderRadius=p,t[n(426,"eo1L")]=s,O=t,r[0]=s,r[1]=C,r[2]=P,r[3]=Q,r[4]=p,r[5]=O}else O=r[5];const y=O;let g;if(r[6]!==s||r[7]!==x||r[8]!==d||r[9]!==W||r[10]!==a){const t={};t[n(446,"WRys")]=W,t[n(399,"6n&O")]=a,t[n(488,"M8j@")]=d,t.height=x,t[n(544,"qX9I")]=s,g=t,r[6]=s,r[7]=x,r[8]=d,r[9]=W,r[10]=a,r[11]=g}else g=r[11];const R=g;let K,I,j,B;if(r[12]!==y||r[13]!==b){const t={};t[n(417,"jfuY")]=[styles.glowBurst,y,b],K=_0x20cb6a(_0x4f24db[n(405,"Gvn8")],t),r[12]=y,r[13]=b,r[14]=K}else K=r[14];if(r[15]!==R||r[16]!==h){const t={};t[n(499,"QMNW")]=[styles.blastCell,R,h],I=o[n(481,"%[sN")](_0x20cb6a,_0x4f24db[n(504,"cEU&")],t),r[15]=R,r[16]=h,r[17]=I}else I=r[17];if(r[18]!==s||r[19]!==k||o[n(541,"qX9I")](r[20],m)||o[n(509,"AttQ")](r[21],x)||r[22]!==i||r[23]!==_||r[24]!==l||o[n(453,"Gvn8")](r[25],d)){let t;if(o.wIMLD(r[27],s)||o[n(415,"M8j@")](r[28],k)||o.BkyIE(r[29],m)||r[30]!==x||r[31]!==_||r[32]!==l||r[33]!==d){const W=o[n(449,"Gvn8")][n(433,e)]("|");let a=0;for(;;){switch(W[a++]){case"0":r[29]=m;continue;case"1":r[28]=k;continue;case"2":r[34]=t;continue;case"3":r[31]=_;continue;case"4":t=(t,e)=>_0x20cb6a(SparkleParticle,{cx:k,cy:m,dx:t.dx,dy:t.dy,particleSize:.35*Math[n(512,"cEU&")](d,x)*t[n(389,"069!")],color:0===e?n(385,"n#Cv"):s,spread:l,speed:t[n(372,"%han")],progress:_},e);continue;case"5":r[33]=d;continue;case"6":r[27]=s;continue;case"7":r[32]=l;continue;case"8":r[30]=x;continue}break}}else t=r[34];j=i[n(456,"AttQ")](t),r[18]=s,r[19]=k,r[20]=m,r[21]=x,r[22]=i,r[23]=_,r[24]=l,r[25]=d,r[26]=j}else j=r[26];if(o[n(436,"069!")](r[35],K)||r[36]!==I||o[n(412,"6n&O")](r[37],j)){const t={};t[n(381,"ZBmw")]=[K,I,j],B=_0x51e20e(_0x14c9ac,t),r[35]=K,r[36]=I,r[37]=j,r[38]=B}else B=r[38];return B});BlastCell[_0x3ad2bf(438,"8@Oz")]=_0x3ad2bf(396,"b$lU");export const BlastAnimation=t=>{const e=_0x3ad2bf,n={zugfX:function(t,e){return t===e},oPKXc:function(t,e,n){return t(e,n)},CdFmN:function(t,e){return t(e)},dFKcF:function(t,e){return t!==e},PcdRz:function(t,e){return t!==e}},o=n[e(479,"%j]*")](_0x179225,18),{bricks:r,onComplete:W}=t,a=useSharedValue(0);let d;o[0]!==r?(d=r[e(476,"&(fg")](_temp),o[0]=r,o[1]=d):d=o[1];const x=d;let s,f,u,i;if(n[e(371,"pcWn")](o[2],r[e(467,"@*t]")])||n[e(425,"WRys")](o[3],W)||n[e(387,"^Ke#")](o[4],a)?(s=()=>{const t=e;if(0===r[t(492,"ZBmw")])return;a[t(506,"FTsl")]=0,a[t(529,"@*t]")]=withSequence(withTiming(.25,{duration:80,easing:Easing[t(404,"]H)S")](Easing.quad)}),withTiming(1,{duration:320,easing:Easing[t(548,"9UCq")](.16,1,.3,1)}));const o=n[t(400,"069!")](setTimeout,()=>{n[t(537,"Lm#e")]("ygKli","Elerk")||W()},420);return()=>clearTimeout(o)},o[2]=r[e(492,"ZBmw")],o[3]=W,o[4]=a,o[5]=s):s=o[5],o[6]!==r||o[7]!==W||o[8]!==a)f=[r,a,W],o[6]=r,o[7]=W,o[8]=a,o[9]=f;else{if(e(452,"tB#z")!==e(432,"Jvm%"))return null;f=o[9]}if(_0x4966f7[e(487,"8@Oz")](s,f),0===r[e(518,"V!D&")]){if(n[e(533,"n#Cv")](e(450,"%han"),e(530,"mQNU")))return null;_0x2bfbc8=_0x24ddf5[26]}if(n[e(461,"@1Z%")](o[10],x)||o[11]!==a){let t;n.dFKcF(o[13],x[e(518,"V!D&")])||o[14]!==a?(t=(t,n)=>_0x20cb6a(BlastCell,{x:t.x,y:t.y,width:t[e(497,"6n&O")],height:t[e(462,"1l9u")],color:t.color,cellIndex:n,totalCells:x[e(401,"cEU&")],particles:t[e(478,"mQNU")],progress:a},e(428,"b$lU")+n),o[13]=x[e(383,"6n&O")],o[14]=a,o[15]=t):t=o[15],u=x.map(t),o[10]=x,o[11]=a,o[12]=u}else u=o[12];if(o[16]!==u){const t={};t[e(375,"WRys")]=u,i=n[e(515,"N!Ig")](_0x20cb6a,_0x14c9ac,t),o[16]=u,o[17]=i}else i=o[17];return i};BlastAnimation[_0x3ad2bf(507,"I03(")]=_0x3ad2bf(528,"M8j@");const _0x3af804={};_0x3af804[_0x3ad2bf(431,"tB#z")]=_0x3ad2bf(524,"n#Cv"),_0x3af804[_0x3ad2bf(465,"Kv)H")]=4;const _0x2a3f85={};function _0x2840(){const t=["WQ3dPSkdWPHnw1rI","rSoav0qM","y8kyW4qTga","umozWOBdV8kpW78Vu8otWRVcLa","sCoGWQNdSa","eSoIwq","W6RdMrlcU8kj","amk/CxhdNq","qmoteKPZbb3cHCoUB0KEhG","zZFdM8kKWOW","W6ZdQwXaWO8","WQvkW57cSa","W4Kbu1RcMCoaACkl","W7/dMYNcL8kpvSk2","kmkiAJyn","EItdHZ94","vSoYFvTwW5pdVXrVmmof","BCkIymkdWOK","mmkawZCa","DCo8u1WduYypgNPs","bHldOSoWWPq","WPvyyG","fSkNmSomW60","isldQSohBq","iZtdOmoWWO9upLS","CuRdPqNdNG","W6/dNmkutCk5","qYFdPCksWPhcQa","WQOWWPfjWR8","WQO0WPf+WOm","gbeRW64WtmomEItdKXC4","WRSKWQ9fWQv1ag8","WRDSWRtcVCkobG","FadcUuxcUG","EComW686WQOVjmkOWQ5MWOhcV2C","dmogWPbWgmkx","e1rXvCoK","WO0lbKaH","cGWuW54F","WRFdOKtdJ8kZdSk9Bmoghvy","wZv0W4nEkbzkBwGb","jmkBAW","yMFcO8kYW5ebyq7cUSkYW5v/ySof","kSkhf8oCW5bsWQtdSH0","WQxdP8kWz8kT","x8oxWR/dQSkn","kCkIuSkzrG","zqVdUCkdWRu","oKanWOGa","W7CWWPFcNmkiWRPRCW","jSkvWQ8","cCodA8kzWPnpWQru","qCodWPddISkfW7GZFSog","W7a2WOdcGCku","b8kfyryj","cCkcjSooW7C","eNpdJCkDWQJcVCoGwW","pfzfr8oaaG","WRzOWQi","imkSgr1xawO2lfr2WQJcUW","ESkXW40","kwLOECoh","W73cJGVdVSo+","C0ZdSrhdVq","omkaWQzIW7K","WQNdSrlcHSkRsSkJ","WQxdJ8ktBCkr","qmoGv0Oj","eSo/sgi+WQldSmkFv8oW","omodWPr0","vCkEr8kb","bCo9l2hdPq","BmoKW4GuwCoYWQxcV8oKW5b6","WQldQSo3pZ5AzCkazeCA","WPX2zeJcMG","bCkZBduH","W6FdGYhcGmkd","a8olWOK","WQJdQSo3mZWpwSkHEfajW7y","rmoFWOBdPSkxW7C5CW","cGJcLSoBWRu","W4Poeb7dKW","uhPQ","a8kGjausW54","W5nwjtFdUW","y2xdU8kNW5S","t8kstSkAWRe","b8oiy00z","tSkArSkBWRW","WPSXo2qPW6GdgW","u2hdGmk+W64","WPldK8oTlvK","cH8RW748xCoYFJm","W4uZWOxcHSkiWPjQDfhdMqPRtCkQ","WQ1OWRBcR8kF","hSkjh8oqW7W","WPSiWQOtFa","pmk1kXanW5RdLsb9d8o6W6NdTCkPWO4","WOaMl20D","wSkxs8kDWQ1JWPv6FG","WPhdM8k4qCkh","FgpdTmkSW4PP","hmo4tMOv","W580WOJcSSkY","emoUjNxdTmkv","WPyhWOToWP0","C8kFW4mejG","WQ/dSCo0pKpcOq","xSo0FsOWW4tdOYL3","DCkXW5ykcmouW7y7WOzYW5dcHspcT8k3","zGJcPq","W6ZdTSkWwCk9W4xdL8kvza","vCovWPlcJ8op","wmoSWQNdVfxdJ8oWoG","h8o5lxpdTmky","BSorWPlcP8oZ","rSoeW44sEq","WRPFW53cOCkD","kCkshmoeW5W","cKCjWPGU","ttVdMcjz","W6BdS8kX","W7ZdJIBcK8kssG","WQPhW5hcQmkDW4T2W7u","WQ0VWRHEWQe","ESoesh0A","A8oIW4G","W6dcPCkJWP5Vxhj6WQG","aCkata","m1TctmoqgbS3","WRnSWRpcVCksgG","W6BcGGhdRCoIrq","WPhdUCosgem","WO07ix8G","W7BcPSkSBXZdO2pdRSoAumk8WRDVka","v2FdPa/dSa","h8k3bZyS","ySo8wKK","sSoOWQhdOvNdNSoAmq","x8o1WRdcGCo/","uf4xeaRdGs5CWPuLg8kmWRFcV14","tGjVW7zKqSkUz3JdHLe3WR3cU8olW6Om","jSkDWRe","FmorENWE","uMRdU8k4W4PcW7yHW7K","WPfEk8otE1jm","WPPyEepcQG","W77cIb8","FSofA3qm","aSopWP9Kgmos","WQKLWR1gWQW","cCoRgLldMG","W78Idq","jmkcrWK","gwGwWRKF","W6BdV8kYqq","WPLIWQpcK8k/","yWZcTfBcUSkb","gxdcUComW4VdPmoKFSkhWOf0W4q","FSoSW5Crua","W53cHsRdPCo+","dCkXBLldKG","W5NcGYZdRmoy","W68MWO3cSSkw","gCk8WOT7W64","W6JcQCk5AMS","WRNdKfJcV8kKhvhcKSoMW71mW5i","qvyA","dt3cTmoKWR4T","WQhcKNhdHCoEeCo6eH3cPSkLW7Du","xCoDWRtcHCot","W6FdV8k5wG","W59TfCovxG","WQ1PW7pcP8k/","iGBdG8oTxSkEWPj0WQPBCtyBFmo8","dmkSjreV","CMRdU8k4W4OS","wmoOWRNdU0K","jmkByW","smkuwCkhWQ1jWP94","AejyWQun","fIJcSCoQWQi","smkjz8k6WPm"];return(_0x2840=function(){return t})()}_0x2a3f85[_0x3ad2bf(514,"8@Oz")]=_0x3ad2bf(466,"Oj^K");const _0x39effe={};_0x39effe[_0x3ad2bf(484,"M8j@")]="absolute";const _0x38f382={};_0x38f382[_0x3ad2bf(534,"tB#z")]=_0x3af804,_0x38f382[_0x3ad2bf(546,"@1Z%")]=_0x2a3f85,_0x38f382[_0x3ad2bf(459,"^1dm")]=_0x39effe;const styles=StyleSheet[_0x3ad2bf(539,"FTsl")](_0x38f382);function _temp(t,e){const n=_0x3ad2bf,o={};o[n(490,"mQNU")]=function(t,e){return t*e},o.JaHFY=function(t,e){return t+e};const r=o;return{x:t.x,y:t.y,width:t[n(424,"@r9w")],height:t[n(382,"@*t]")],color:t[n(516,"rc&]")],particles:PARTICLE_OFFSETS.slice(r[n(531,"s]05")](e,3),r.JaHFY(r[n(414,"6n&O")](e,3),3))}}
@@ -1 +0,0 @@
1
- "use strict";const _0x22c7e8=_0x231c;function _0x15bd(){const e=["CYnYwKG","W7ddQCo/p8kU","WRJdGSoFWQBcI3ZcO2jNy3NdMmorWQ3cGMv1W57dI8oBW5jS","E8onlxhdGCoj","W7lcUSk/WOCb","h8oIoqS1WPm","WRRdI8obWQ3cLa","WOddLmkZwCkR","W503AJPTW7BdKa","WQhcRmkHWOTp","W6uDs8krWRpcJLa7W5iuWO0aha","jSknW7hdQ2VcS3hdN2WR","kmoIvCk9zIy","WO7dGSkkjh/cOq","D8ozWRhcIJ7dPY3dLNScW5hdTCkT","WPldNSktjG","WR09W4jzW5tdQtZdLH7cUCkV","z8ksACkoWQGW","i8owW4RcKWe","W7tdPCoVg8kNx8oTWQhdVCk9","WP4YqbTVW5hdHG","r8ohnhpdH8o0A8k4nmo5ECkDbG","fH/cHCoE","WOJcM8kaWONdPmkPWOhdICk0WOBdH8o/ma","dmohtcDCwG","W6CnW752neyJfSovW6xcUbVdHG","WOrkWO0eEW","BCkyCSknWQu2CSobzSkvW4pdMW","i8oXqW","sZ8Ei2bkW4K","r8k1CNS7sLJdP8k+","DCo6fCkSjZ0Oaq","oCo1v8k1ytDmb8kEtZ1No8opWPRdLCkJwhuWW5FdPthcU8ozlSo3","uG/dISk0W6O","WQpdRCkrCmkHxCosWQtcMmo8WQNcQCoq","W5FdGCoFd8kkFG","WQqWmSkhkHFcTHz1","W73cKmkBW5hcLMJcJwnGxq","W5XZW73dMmoxWPhdVwKbm8o8","W5RdHe/cG8oP","W4ZdNSowW4NcT8oRW5ddNSkD","W7qkWP/cHbqc","W6qGW4qSia43aW","WQ7cMmkKWOjJbIutlvDpW5PvW7ZdLZ9/r2pcMSknh1/cVstdKG","i8o5vmk4DY0","W5OJBryGWQNcISohkIjivMrgfSksbSonemkGW6JdUCoKW78s","D8oQa8kIpY0","W6OqW7VcGqHvWQpcVJ8","W6RdVmo8zmor","D8o5cmk1kJS","W6KCWPpcSrKq","BIb1xa","WOJdImku","WOxcG2yszdK","BXhdNmklW7m","WRJcMCk6WOH2","CCoZgG","W4xcNcbFCa","W6tdR8o3jmk0","W4WTFaDKW7RdHSk8z28F","WRi2WPeAzaPZ","o8o/wCkYzIzBmmk4rsr2oG","W6P8W77dJ8oi","WP4EW716W6FdJGNdTW","amkRiaxcLSkjjwzWW7i","cY/cSCk5WQq1WOXOW7VcJq","WONdI8okWPRcKwNcQNnNCLJdM8orWQxcIhre","imkyDYxcHCkri8k+nmobwmkSiq","WRddH8kYt8ks","deDaEmkkuq","W7feW7e","W4NdHfJcH8oTDmkmWP4dpbK","WOWmW6j8W78","WPSvW71LW6FdMGtdNdBcGCkz","W6uQW5eA","W4uZsJfk","W4SSzHTSW6NdMSkC","WRpcOeqEqW","WPWDW6bJW6RdIcRdOdBcNmkmW5FdNW","WPOjDWS","lrFcKa","vCogcColaLK","imkQuCo6C3HLvmocW7xdPmorlKC","qJb7q8oM","W45mW4PvxG","WPZcLw0WDJFdHYRdVa","FmkdECkfWQu","W4FcSSkvWOq/WOSqWOefgIC","W5rtW43dI8op","zmkdmaDPW5a","W7iLmCkKkHFcTq","WQ7cHCkZWQjIctmepa","D8o3cmk3kIeYaCoI","WPmdBt5IWQ85WOG7WRrO","W5BdVmo0C8osBxqXcCoefeldJsmjAXxdNuj2","WQZdGSoFWRRcKu3cUha","WQDiWQWczbn5","W4RcQmoaWORcJCoOW6hcVSoiwhP/nXhcL8kRW4elW5jDW4DnW5vrWP8imgmk","WR3cMCkK","WPrFWOGvwa","WQpdGSocWO7cJvG","WQiMi8kniIhcVajKpmo8W6PPreBcJ8oNWPtdUIJcVSkn","W4ZdR8o1h8kwW7tcLd0","mrRcISoTWQO","W4O5WOXeW74","W4pcTqnN","W4yyWPFcSZawzrC","hCoXsCkgvW","d0tdKmkNgmot","vIXTrCoReJC","eKnfASkh","cSo1BcfX","W4OTuCktWP4","tSoxgCoadW","WOKDW6jGW64","wNtdQCo+WQW9WO9mW50","n3rQ","W79kW691umojW6DEW6S","WOvYWO0kxI5xaCo2W6JcHW","WOGvW6PHW6m","WOD4WRGMva","W6SrW7/cQH1FWQFcQsi9aHS","BxxdHSodWOG","WR/dImoB","omo1qSkQEYbm","W5NcR8oEWPVcJ8oZ","tCouW4BdSmokW5pdP23cISoBWQzyWRtdRmoVlMj8W7W","W4hdIexcKmo1Fq","WRFcK8k4WObWbW","mM5QkCkFw8kX","W7mEWPJcT1Lwnun7WQX0r1lcHqrIW6CtWOKjgdW","W5/dLZXejghcMIZdUIWGWQmE","ixddSSkfmmo/FtzyWO8","W4m4WRBcMG","iCo7W4JcUrSRmmoJW5FcLrvAhSo+WO1WW6TCjG","W7uiv8kiWRNcMa","tgJdOSojWQW4WO1lW47cI8o2","EmorjCkGpW","WO3cJ3SfFdddMWFdQtaI","WR/dLCokWOFcLKdcRwfNsq","W40LW5/cLsO","vhRdTW","BCoSn8oPohjzjf8qaCkPW4C","ceDhEmkwtq","W5dcT8kpWPC2","WP0qW69MW7/dTaVdTYxcGmkDW4S","W457W6ldNCoE","WPWdCaLLWQW","WPFdR8kvjMm","WO/cU8oqmmoG","W5hcJMmICa","WOpdRmooWOVcLW","W702W48yiaC","W4NcTrPyt8kOWQdcNKVdG2i","xdmCna","nqxcHCoSWR3dQsm5ya","cKZdKSkLhmos","jCkPx8oYF3fUvmojW67dNSoem1y","W6esWRPLW4VcSq","wYC1j3a","W5NcQCoa","W7WlW7FcQaPbWQpcSW","WPpcR2yrDsK","mHhcGSoiW7pcVxnVomoxd8oaWPBdGMSmvY/cQCkyWOC+","WOWzW7XJW6ldMbG","Dmohl3NdHW","W5i6DCkEWQa","WR/cJ20c","W60gW7/cPXODWQVcUcy9mYdcQCk2WRpcKg8ffmoFW7ZdLX1Haa","WQ89W4PrW4FdVIldHr7cQmkOW7O","WOWiW6fLW5VdKWtdOt7cJ8kpW77dGSkjqW","WQmMnSkHof/cVHbSiCo2W7LetL3cNSo7WO/dVIJcRCkbzx7dKq","W4jtW6ddJmoEWOG","smoqbCo+d0S","i8o1wCk7EJC","W7WmW7dcSa9AWQJcUdK","BqVdNCkSW68OW43cMa","b0PaC8kgv8kmW7K","WOpdJCk1xmkhA8oOWPO","Cmo+F1RdNmo9n1jTW4CGWR8","sJGfmM5x","ag8OdSk7rhBcLdPeoYldOa","CZTIvuG","lmkLiGW","WOBcIfSbCspdLG","WO/cSCosk8o3yq","W5xcSv8K","WOmpFrPL","WRXQWOmTrq","ymobj2ldNq","BmkyBmkgWRi","AWZdGCktW74","WOCsyajO","WPRdKCkwwCksE8oUWPRcOa","W5ajWQ9LW43cV2O3WRVdNKLGp8oNAZ5yDLFcVG","tY8yaNffW4KS","xSoweSoEd0n4","d8onWOFdG8kxW63cVN3dLSoRW7LxW7ldK8kZmZvNWQ4","auddK8k+","WPubnCk0lq","W6xdOCo3jW","xSogcCoa","WRBdQmk0bKxcIMC0W5FdOKhcISkTWRm","WR3dHSohWPZcGa","v8kTgJDeW7XAdeK","zrziCSoCiXBcLWjscdBdSW","c1rmBCkesCkgW6a","WO7cON0NFGuB","W4ZcRCkdWOy1WOygWRG","WPa+BIbz","W7xdMmoe","W5VcU14KAW","WRGWb8kUlqJcUHTM","dmohWPRdOSknW4RcRvtdJmocW75qW7u","W5/cSuyyBs4wWO4","cCoBWPBdGCkCW4lcSa","W6LwW6rev8ogW6XyW60","zSkSWOVdJ01zAmk/W6NcJXvToSoC","lSkViG7cKCkT","W4BdQ8oX","WRZcKCkGWQjR","FbhdI8kpW7COW4dcS0/dQLq","bmoFdYuV","CuBcKCo9WP3dUcOx","W6xdImocrCo7rL8","zCk8ACkCWO8","WQqWmSkrobdcPXa","WP0si8k2aa","o8o/q8k1zIPggW","W7igW7pcQW","jCo3W5JcGH0","qZHZqSoR","W4OOBGr8W5tdICkxDg4BgG","W6ilWP/cTWub","ixrRmSkoxmkQcq","DCoAkNxdNSos","hCoYlWuTWOmeW7e","z8o9fmk1iIS5","lCkKgrNcGCkKmhO","W5NdN0RcMCoYECkuWQqhcq","ttNdRSkkW7C","imo5W57cL11Bzmk6WPFdUu4Cx8krW4uJWRaoB0tcUCkRWPK+WOS","W4pdPCoKzCoFD2C6amov","WOVcUCkbWQjwmam3f2LeW718","kmo/xmkZya","W6Ozs8kaWQBcLq","WQftWQGRBGK","omoKqSkZEsz+hmkQvci","W64ztmkaWRRcIq","rmoZbmkjaa","WRiRpSkUkapcTHS","sYScj2rx","z8oUaW1YaCowlmoPj8kHBq","W7pdJSovzCo7tG","W6mlWRGBrWL6ca","WQJdHSofWP/cHf8","W7u2W73cJYa","WOBdKCkJEmkwB8oO","jgH9hSkCu8kGbmok","fmobWPFdQmkCW4e","y8ksBSkoWRqS","r8oPb1ldUCoKrmkCmCoCvmkW","W4VcTmotWOhcMCoTW7pcVSoiCW","wSkJFLK1wa","qCkXeq5aW7HB","W4bOW4xdKSo4","sYrQy0a","W6ZdMmoigCkOW5RcTXBdPwTuDmkp","WPtdGSkekMtcOvCwW5JdJNdcOSkvWP8hWQJdGqewWQfmlSoojxBcQG","rI1Mw8oR","WOSoW697W7JdLXZdPJlcTa","W7i7W4Gtmb0Mca","EaSOfuLH","D8oTfmkXlIyO","l8kViqy","yZPPs0JdKSo+","WOxdKSkrmxlcU0y","WRrie8ouWRVcNgOiW6Cb","WPRcG3W6FGhdJt7dRs8sWRWHzZ3dKmkkjSoNf8kSvq","yJ1YwKBdJW","W6hcQCkpWPC4WPKQWQ4kaspcLG","W4esW6u7gcOClSoiW7DXCSkS","W7ZdJhlcHmot","W7mgW7dcOXPB","BSkBACkoWQ4nvmofB8kp","uZzT"];return(_0x15bd=function(){return e})()}!function(){const e=_0x231c,t=_0x15bd();for(;;)try{if(770763==parseInt(e(484,"g$I0"))/1*(parseInt(e(440,"pDkl"))/2)+parseInt(e(538,"4#Hj"))/3*(parseInt(e(584,"JsAm"))/4)+-parseInt(e(442,"]ix("))/5*(-parseInt(e(567,"9[I^"))/6)+parseInt(e(561,"r8M3"))/7+-parseInt(e(614,"BGu1"))/8+parseInt(e(418,"8xN["))/9+-parseInt(e(629,"8xN["))/10)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x56134a}from"react/compiler-runtime";import _0x318dfa from"react";import{View,StyleSheet}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x433f93,{useSharedValue,useAnimatedStyle,runOnJS}from"react-native-reanimated";import{Canvas,Rect,RoundedRect,Circle,Group,LinearGradient,vec}from"@shopify/react-native-skia";import{useBlockBreakerStore,useBrickVersion}from"../BlockBreakerStore.js";import{BLOCK_BREAKER_GAME_CONFIG,BLOCK_BREAKER_COLORS,BRICK_COLORS,GRID_HEIGHT,PowerUpType}from"../BlockBreakerConstants.js";import{BlastAnimation}from"./BlastAnimation.js";import{getGameDimensions}from"../../../services/UtilsService.js";import{lighten,darken}from"../../../services/GamesConstants.js";import{jsx as _0x38ffe2,jsxs as _0x14d7b7,Fragment as _0x527d6c}from"react/jsx-runtime";const{width:width,screenWidth:screenWidth}=getGameDimensions(),gameAreaLeft=(screenWidth-width)/2,BALL_RADIUS=BLOCK_BREAKER_GAME_CONFIG[_0x22c7e8(563,"CGKB")],BALL_DIAMETER=2*BALL_RADIUS,PADDLE_HEIGHT=BLOCK_BREAKER_GAME_CONFIG[_0x22c7e8(542,"NczI")],PADDLE_WIDTH=BLOCK_BREAKER_GAME_CONFIG[_0x22c7e8(522,"BGu1")],PADDLE_Y=GRID_HEIGHT-BLOCK_BREAKER_GAME_CONFIG[_0x22c7e8(641,"Hv]w")],PADDLE_RENDER_TOP=PADDLE_Y-PADDLE_HEIGHT/2,POWER_UP_SIZE=BLOCK_BREAKER_GAME_CONFIG.POWER_UP_SIZE,POWER_UP_DIAMETER=2*POWER_UP_SIZE,BRICK_BEVEL=2,BRICK_RADIUS=3,BLOCK_3D_COLOR_CACHE=new Map,getBlock3DColors=e=>{const t=_0x22c7e8;let o=BLOCK_3D_COLOR_CACHE.get(e);return!o&&(o={top:lighten(e,.35),bottom:{VayZE:function(e,t,o){return e(t,o)}}[t(654,"5KpK")](darken,e,.3),shadow:darken(e,.45)},BLOCK_3D_COLOR_CACHE[t(471,"Hv]w")](e,o)),o};[...BRICK_COLORS,BLOCK_BREAKER_COLORS[_0x22c7e8(582,"pU2t")],BLOCK_BREAKER_COLORS[_0x22c7e8(680,"GR^2")],BLOCK_BREAKER_COLORS[_0x22c7e8(403,"88NX")],BLOCK_BREAKER_COLORS[_0x22c7e8(463,"(Xgx")],BLOCK_BREAKER_COLORS[_0x22c7e8(504,"upeh")]].forEach(getBlock3DColors);const getPowerUpColor=e=>{const t=_0x22c7e8;switch(e){case PowerUpType[t(665,"RukI")]:return BLOCK_BREAKER_COLORS[t(466,"]ix(")];case PowerUpType[t(679,"Ij$s")]:return BLOCK_BREAKER_COLORS.POWER_UP_MULTI;case PowerUpType[t(503,"Hv]w")]:return BLOCK_BREAKER_COLORS[t(581,"Hgn!")];default:return"#ffffff"}},StaticGameAreaCanvas=_0x318dfa.memo(()=>{const e="upeh",t=_0x22c7e8,o={ggvEo:function(e,t,o){return e(t,o)}},W=_0x56134a(1);let r;if(W[0]===Symbol[t(645,"upeh")]("react.memo_cache_sentinel")){const n={};n.x=gameAreaLeft,n.y=0,n.width=width,n[t(647,"JsAm")]=GRID_HEIGHT,n.r=16,n.color=BLOCK_BREAKER_COLORS[t(528,"rO(V")];const d={};d.x=gameAreaLeft,d.y=0,d[t(666,"CGKB")]=width,d.height=GRID_HEIGHT,d.r=16,d[t(602,e)]=BLOCK_BREAKER_COLORS.GRID_BOX_BORDER,d[t(452,"Odzl")]=t(682,"4#Hj"),d[t(508,"5KpK")]=1.5,r=_0x14d7b7(Canvas,{style:styles.canvas,pointerEvents:t(626,"B5jJ"),children:[_0x38ffe2(RoundedRect,n),o[t(481,e)](_0x38ffe2,RoundedRect,d)]}),W[0]=r}else r=W[0];return r});StaticGameAreaCanvas[_0x22c7e8(482,"Odzl")]=_0x22c7e8(455,"7Q*u");const BricksCanvas=_0x318dfa.memo(()=>{const e=_0x22c7e8,t={xOSOn:function(e,t){return e(t)},RiKTo:function(e,t,o){return e(t,o)},Rfpgs:function(e,t,o){return e(t,o)},NGEnU:function(e,t,o){return e(t,o)},nQJbD:e(592,"9[I^"),zzfFM:function(e,t,o){return e(t,o)},wMNab:function(e,t,o){return e(t,o)},KkqZm:function(e,t,o){return e(t,o)},ZFLkS:function(e,t){return e+t},PkbJK:e(502,"5gbo"),RFAQD:e(677,"GR^2")},o=useBrickVersion(),W=_0x318dfa[e(476,"mmJq")](()=>{const o=e;return useBlockBreakerStore[o(475,"p6&f")]().bricks[o(480,"rO(V")](e=>{const W=o,{top:r,bottom:n,shadow:d}=t[W(483,"Y4b3")](getBlock3DColors,e[W(605,"pU2t")]),_=e.x,a=e.y,s=e.width,x=e[W(628,"88NX")],i={};return i.x=_,i.y=a,i[W(450,"BGu1")]=s,i[W(509,"4#Hj")]=x,i.r=3,i[W(451,"gzCi")]=d,_0x14d7b7(Group,{children:[_0x38ffe2(RoundedRect,i),t.RiKTo(_0x38ffe2,RoundedRect,{x:_,y:a,width:s,height:x-2,r:3,children:t[W(631,"O5y9")](_0x38ffe2,LinearGradient,{start:t[W(609,"Vv5q")](vec,_,a),end:vec(_,a+x-2),colors:[r,e[W(410,"xjmV")],n]})}),_0x38ffe2(Rect,{x:_,y:a,width:s,height:5,children:_0x38ffe2(LinearGradient,{start:t.NGEnU(vec,_,a),end:vec(_,a+5),colors:[t[W(449,"RukI")],W(424,"g$I0")]})}),t.zzfFM(_0x38ffe2,Rect,{x:_,y:a+2,width:4,height:x-6,children:t.wMNab(_0x38ffe2,LinearGradient,{start:t[W(527,"$Bv!")](vec,_,t[W(624,"KKY2")](a,2)),end:vec(_+4,a+2),colors:[t[W(510,"8xN[")],t[W(401,"sMcS")]]})})]},e.id)})},[o]),r={};return r[e(633,"gzCi")]=styles[e(516,"JsAm")],r[e(474,"mmJq")]="none",r[e(422,"sMcS")]=W,_0x38ffe2(Canvas,r)});BricksCanvas[_0x22c7e8(620,"CGKB")]=_0x22c7e8(541,"5VnL");const BallItem=_0x318dfa[_0x22c7e8(535,"pDkl")](e=>{const t=_0x22c7e8,o={dXwNT:function(e,t){return e(t)},QaYsR:function(e,t){return e!==t},IDBUZ:t(650,"g$I0"),xiiSZ:function(e,t,o){return e(t,o)},AbETY:function(e,t){return e*t},WiNDC:t(637,"b^uW")},W=_0x56134a(13),{ball:r,service:n}=e,d=useSharedValue(r.x),_=useSharedValue(r.y),a=useSharedValue(r.vx),s=o[t(470,"B5jJ")](useSharedValue,r.vy);let x,i;if(W[0]!==r.id||W[1]!==n||o[t(551,"5VnL")](W[2],a)||W[3]!==s||o[t(543,"zGrH")](W[4],d)||W[5]!==_)if(o[t(651,"7Q*u")]!==t(553,"JsAm"))_0x305bea=_0x34a69b[13];else{const e=t(673,"mmJq")[t(619,"CGKB")]("|");let o=0;for(;;){switch(e[o++]){case"0":W[2]=a;continue;case"1":x=()=>{const e={};return e.x=d,e.y=_,e.vx=a,e.vy=s,n.registerBallSharedValues(r.id,e),()=>{n[_0x231c(590,"upeh")](r.id)}};continue;case"2":W[4]=d;continue;case"3":W[0]=r.id;continue;case"4":W[5]=_;continue;case"5":i=[r.id,n,d,_,a,s];continue;case"6":W[3]=s;continue;case"7":W[7]=i;continue;case"8":W[1]=n;continue;case"9":W[6]=x;continue}break}}else x=W[6],i=W[7];_0x318dfa[t(632,"KKY2")](x,i);const C={};C[t(531,"CGKB")]=d[t(464,"JsAm")]-BALL_RADIUS;const m={};m[t(523,"9V%L")]=_[t(657,"H%Gn")]-BALL_RADIUS;const f=useAnimatedStyle(()=>({transform:[C,m]}));let u,k,l;if(W[8]!==f?(u=[ballStyles[t(436,"sMcS")],f],W[8]=f,W[9]=u):u=W[9],W[10]===Symbol[t(546,"]ix(")](t(429,"sMcS"))){const e={};e.cx=BALL_RADIUS,e.cy=BALL_RADIUS,e.r=BALL_RADIUS,e[t(472,"p6&f")]=t(607,"NczI"),k=o.xiiSZ(_0x14d7b7,Canvas,{style:ballStyles.canvas,pointerEvents:t(626,"B5jJ"),children:[_0x38ffe2(Circle,e),_0x38ffe2(Circle,{cx:o.AbETY(BALL_RADIUS,.7),cy:.6*BALL_RADIUS,r:.4*BALL_RADIUS,color:o.WiNDC})]}),W[10]=k}else k=W[10];if(W[11]!==u){const e={};e[t(660,"88NX")]=u,e[t(532,"NczI")]=k,l=_0x38ffe2(_0x433f93[t(569,"g$I0")],e),W[11]=u,W[12]=l}else l=W[12];return l},(e,t)=>e[_0x22c7e8(461,"pU2t")].id===t.ball.id);BallItem[_0x22c7e8(618,"zGrH")]="BallItem";const _0x13d2fe={};_0x13d2fe[_0x22c7e8(489,"5KpK")]=_0x22c7e8(610,"CGKB"),_0x13d2fe[_0x22c7e8(491,"5gbo")]=BALL_DIAMETER,_0x13d2fe[_0x22c7e8(564,"gzCi")]=BALL_DIAMETER,_0x13d2fe[_0x22c7e8(423,"KKY2")]=10;const _0x4a617c={};_0x4a617c[_0x22c7e8(448,"B5jJ")]=BALL_DIAMETER,_0x4a617c[_0x22c7e8(560,"(Xgx")]=BALL_DIAMETER;const _0x352bde={};_0x352bde[_0x22c7e8(664,"O5y9")]=_0x13d2fe,_0x352bde[_0x22c7e8(655,"Ij$s")]=_0x4a617c;const ballStyles=StyleSheet[_0x22c7e8(494,"GR^2")](_0x352bde),BallsLayer=_0x318dfa[_0x22c7e8(652,"o#ME")](({service:e})=>{const t=_0x22c7e8,[o,W]=_0x318dfa[t(437,"Odzl")](0);_0x318dfa[t(477,"O5y9")](()=>{const o=t;return e[o(681,"5gbo")](()=>W(e=>e+1)),()=>{e[o(458,"mmJq")](()=>{})}},[e]);const r=_0x318dfa[t(525,"h(Yv")](()=>[...e[t(649,"rO(V")]()],[e,o]);return _0x38ffe2(_0x527d6c,{children:r.map(t=>_0x38ffe2(BallItem,{ball:t,service:e},t.id))})});BallsLayer.displayName=_0x22c7e8(611,"pDkl");const MAX_PADDLE_W=Math[_0x22c7e8(462,"88NX")](1.6*PADDLE_WIDTH),PADDLE_BEVEL=2,PADDLE_R=5,PADDLE_COLORS=getBlock3DColors(BLOCK_BREAKER_COLORS[_0x22c7e8(533,"@tEZ")]),PaddleItem=_0x318dfa[_0x22c7e8(447,"p6&f")](e=>{const t=_0x22c7e8,o={DBbva:function(e,t){return e!==t},HKebr:t(432,"b^uW"),BkqRC:function(e,t){return e===t},zZwlK:function(e,t,o){return e(t,o)}},W=_0x56134a(11),{service:r}=e,n=useSharedValue(screenWidth/2),d=useSharedValue(BLOCK_BREAKER_GAME_CONFIG[t(430,"CGKB")]);let _,a;W[0]!==d||W[1]!==n||W[2]!==r?(_=()=>{const e=t,o={};o.x=n,o.width=d,r[e(529,"(Xgx")](o)},a=[r,n,d],W[0]=d,W[1]=n,W[2]=r,W[3]=_,W[4]=a):(_=W[3],a=W[4]),_0x318dfa[t(583,"b^uW")](_,a);const s={};s[t(500,"zGrH")]=n[t(492,"]ix(")]-d.value/2;const x=useAnimatedStyle(()=>({transform:[s],width:d.value}));let i,C,m,f;if(o[t(460,"b^uW")](W[5],x)?(i=[paddleStyles.paddle,x],W[5]=x,W[6]=i):i=W[6],W[7]===Symbol[t(421,"9V%L")](o[t(412,"JsAm")])){const e={x:0,y:0};e[t(548,"pU2t")]=MAX_PADDLE_W,e.height=PADDLE_HEIGHT,e.r=5,e[t(505,"5KpK")]=PADDLE_COLORS[t(507,"RukI")],C=_0x38ffe2(RoundedRect,e),W[7]=C}else C=W[7];if(o.BkqRC(W[8],Symbol[t(663,"qdgD")]("react.memo_cache_sentinel"))?(m=o[t(556,"upeh")](_0x14d7b7,Canvas,{style:paddleStyles[t(512,"@tEZ")],pointerEvents:t(598,"$Bv!"),children:[C,_0x38ffe2(RoundedRect,{x:0,y:0,width:MAX_PADDLE_W,height:PADDLE_HEIGHT-2,r:5,children:_0x38ffe2(LinearGradient,{start:vec(0,0),end:o.zZwlK(vec,0,PADDLE_HEIGHT-2),colors:[PADDLE_COLORS[t(670,"JsAm")],BLOCK_BREAKER_COLORS[t(636,"h(Yv")],PADDLE_COLORS[t(419,"7Q*u")]]})})]}),W[8]=m):m=W[8],W[9]!==i){const e={};e[t(443,"$Bv!")]=i,e[t(623,"9[I^")]=m,f=_0x38ffe2(_0x527d6c,{children:_0x38ffe2(_0x433f93[t(428,"KKY2")],e)}),W[9]=i,W[10]=f}else f=W[10];return f});function _0x231c(e,t){e-=397;const o=_0x15bd();let W=o[e];if(void 0===_0x231c.jaVwYc){const e=function(e,t){let o,W,r=[],n=0,d="";for(e=function(e){let t="",o="";for(let o,W,r=0,n=0;W=e.charAt(n++);~W&&(o=r%4?64*o+W:W,r++%4)?t+=String.fromCharCode(255&o>>(-2*r&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let e=0,W=t.length;e<W;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),W=0;W<256;W++)r[W]=W;for(W=0;W<256;W++)n=(n+r[W]+t.charCodeAt(W%t.length))%256,o=r[W],r[W]=r[n],r[n]=o;W=0,n=0;for(let t=0;t<e.length;t++)W=(W+1)%256,n=(n+r[W])%256,o=r[W],r[W]=r[n],r[n]=o,d+=String.fromCharCode(e.charCodeAt(t)^r[(r[W]+r[n])%256]);return d};_0x231c.VUFcNs=e,_0x231c.hTGcJV={},_0x231c.jaVwYc=!0}const r=o[0];_0x231c.FWmeoT!==r&&(_0x231c.hTGcJV={},_0x231c.FWmeoT=r);const n=_0x231c.hTGcJV[e];return void 0===n?(void 0===_0x231c.MchHSa&&(_0x231c.MchHSa=!0),W=_0x231c.VUFcNs(W,t),_0x231c.hTGcJV[e]=W):W=n,W}PaddleItem[_0x22c7e8(606,"9[I^")]="PaddleItem";const _0x3621e1={};_0x3621e1[_0x22c7e8(439,"Hgn!")]="absolute",_0x3621e1[_0x22c7e8(603,"rwU6")]=PADDLE_RENDER_TOP,_0x3621e1[_0x22c7e8(571,"b2%q")]=PADDLE_HEIGHT,_0x3621e1[_0x22c7e8(467,"H%Gn")]=_0x22c7e8(520,"mmJq"),_0x3621e1[_0x22c7e8(574,"gzCi")]=5,_0x3621e1.zIndex=9;const _0x16f081={};_0x16f081[_0x22c7e8(601,"Odzl")]=MAX_PADDLE_W,_0x16f081[_0x22c7e8(616,"H%Gn")]=PADDLE_HEIGHT;const _0x191a78={};_0x191a78.paddle=_0x3621e1,_0x191a78[_0x22c7e8(596,"8xN[")]=_0x16f081;const paddleStyles=StyleSheet[_0x22c7e8(559,"5KpK")](_0x191a78),PowerUpItem=_0x318dfa[_0x22c7e8(490,"sMcS")](e=>{const t=_0x22c7e8,o={VEWSn:function(e,t){return e(t)},qHvet:function(e,t){return e(t)},FdAZY:t(595,"Hv]w"),lICct:function(e,t){return e!==t},FlWjw:function(e,t){return e*t},UAVul:function(e,t,o){return e(t,o)}},W=_0x56134a(20),{pu:r,service:n}=e,d=o.VEWSn(useSharedValue,r.x),_=o[t(409,"(Xgx")](useSharedValue,r.y);let a,s;W[0]!==r.id||W[1]!==n||W[2]!==d||W[3]!==_?(a=()=>{const e=t,o={};o[e(488,"b^uW")]=e(420,"@tEZ");const W=o,a={};return a.x=d,a.y=_,n[e(579,"5KpK")](r.id,a),()=>{const t=e;if("smYvu"!==W[t(659,"4#Hj")]){const e={_0x2bee48:"KKY2"},[o,W]=_0x5280ee[t(487,"b^uW")](0);_0x5e8fbb[t(416,"g$I0")](()=>(_0x394af6.setOnPowerUpListChange(()=>W(e=>e+1)),()=>{_0xc963b8[_0x231c(539,e._0x2bee48)](()=>{})}),[_0x1802e8]);const r=_0x5d53ba[t(643,"RukI")](()=>[..._0x11dc4a[t(640,"B5jJ")]()],[_0x53e79a,o]);return 0===r[t(506,"4#Hj")]?null:_0x569910(_0x3181f6,{children:r[t(402,"%ChA")](e=>_0x5a1641(_0x5c7dac,{pu:e,service:_0x1f9324},e.id))})}n[t(644,"9V%L")](r.id)}},s=[r.id,n,d,_],W[0]=r.id,W[1]=n,W[2]=d,W[3]=_,W[4]=a,W[5]=s):(a=W[4],s=W[5]),_0x318dfa[t(519,"qdgD")](a,s);const x={};x[t(400,"JsAm")]=d[t(407,"Vv5q")]-POWER_UP_SIZE;const i={};i.translateY=_[t(661,"CGKB")]-POWER_UP_SIZE;const C=o[t(565,"5gbo")](useAnimatedStyle,()=>({transform:[x,i]}));let m;W[6]!==r[t(415,"@tEZ")]?(m=getPowerUpColor(r[t(562,"(Xgx")]),W[6]=r[t(621,"NczI")],W[7]=m):m=W[7];const f=m;let u;W[8]!==C?(u=[puStyles[t(662,"%ChA")],C],W[8]=C,W[9]=u):o[t(646,"RukI")]===t(658,"b2%q")?_0x5127f5=_0x964e4f[16]:u=W[9];const k=f+"40";let l,R,S,O;if(o.lICct(W[10],k)){const e={};e.cx=POWER_UP_SIZE,e.cy=POWER_UP_SIZE,e.r=POWER_UP_SIZE,e.color=k,l=_0x38ffe2(Circle,e),W[10]=k,W[11]=l}else l=W[11];if(W[12]!==f?(R=_0x38ffe2(Circle,{cx:POWER_UP_SIZE,cy:POWER_UP_SIZE,r:o.FlWjw(POWER_UP_SIZE,.7),color:f}),W[12]=f,W[13]=R):R=W[13],W[14]!==l||W[15]!==R){const e={};e[t(453,"B5jJ")]=puStyles.canvas,e[t(474,"mmJq")]=t(444,"pDkl"),e[t(511,"b^uW")]=[l,R],S=_0x14d7b7(Canvas,e),W[14]=l,W[15]=R,W[16]=S}else S=W[16];if(o[t(635,"Vv5q")](W[17],u)||o[t(398,"8xN[")](W[18],S)){const e={};e[t(530,"]ix(")]=u,e[t(438,"H%Gn")]=S,O=o[t(501,"Odzl")](_0x38ffe2,_0x433f93.View,e),W[17]=u,W[18]=S,W[19]=O}else O=W[19];return O},(e,t)=>e.pu.id===t.pu.id);PowerUpItem[_0x22c7e8(585,"Vv5q")]="PowerUpItem";const _0x51aa32={};_0x51aa32[_0x22c7e8(495,"qdgD")]=_0x22c7e8(497,"Y4b3"),_0x51aa32[_0x22c7e8(586,"zGrH")]=POWER_UP_DIAMETER,_0x51aa32[_0x22c7e8(571,"b2%q")]=POWER_UP_DIAMETER,_0x51aa32[_0x22c7e8(433,"Vv5q")]=7;const _0x380a91={};_0x380a91[_0x22c7e8(630,"]ix(")]=POWER_UP_DIAMETER,_0x380a91[_0x22c7e8(597,"GR^2")]=POWER_UP_DIAMETER;const _0x22a40d={};_0x22a40d.container=_0x51aa32,_0x22a40d.canvas=_0x380a91;const puStyles=StyleSheet[_0x22c7e8(552,"Y4b3")](_0x22a40d),PowerUpsLayer=_0x318dfa.memo(({service:e})=>{const t=_0x22c7e8,[o,W]=_0x318dfa[t(589,"NczI")](0);_0x318dfa[t(638,"upeh")](()=>{const o=t;return e[o(648,"b^uW")](()=>W(e=>e+1)),()=>{e[o(549,"JsAm")](()=>{})}},[e]);const r=_0x318dfa[t(518,"Hgn!")](()=>[...e[t(414,"o#ME")]()],[e,o]);return 0===r.length?null:_0x38ffe2(_0x527d6c,{children:r[t(617,"O5y9")](t=>_0x38ffe2(PowerUpItem,{pu:t,service:e},t.id))})});PowerUpsLayer[_0x22c7e8(620,"CGKB")]=_0x22c7e8(568,"BGu1");const BlastEffectsLayer=_0x318dfa.memo(()=>{const e=_0x22c7e8,t={kLNWP:function(e,t){return e(t)},Cetza:function(e,t){return e(t)},xrKzC:function(e,t,o){return e(t,o)},mwEFB:function(e,t){return e>t}},[o,W]=_0x318dfa.useState([]),r=_0x318dfa.useCallback(e=>{const o=_0x231c;t[o(604,"o#ME")](W,t=>t[o(672,"9V%L")](t=>t.id!==e))},[]);_0x318dfa.useEffect(()=>{const e=_0x231c;if(0===o[e(674,"zGrH")])return;const r=t[e(526,"Vv5q")](setTimeout,()=>{var e,o;e=W,o=[],t[_0x231c(615,"Hgn!")](e,o)},2e3);return()=>clearTimeout(r)},[o[e(479,"pDkl")]]);const n=_0x318dfa[e(434,"88NX")](useBlockBreakerStore[e(642,"JsAm")]()[e(496,"BGu1")]);return _0x318dfa[e(594,"sMcS")](()=>{const o=e;let r=!0;const d=useBlockBreakerStore.subscribe(e=>e[o(513,"rwU6")],()=>{const e=o;if(!r)return;const d=useBlockBreakerStore[e(456,"@tEZ")]()[e(540,"$Bv!")],_=n[e(656,"]ix(")];if(n.current=d,d[e(521,"gzCi")]===0)return;if(_[e(544,"sMcS")]<=d[e(413,"NczI")])return;const a=new Set(d[e(627,"g$I0")](e=>e.id)),s=_[e(417,"Ij$s")](t=>!a[e(575,"5KpK")](t.id));if(s[e(675,"upeh")]>0){if(e(667,"RukI")==="xWQgj"){const t=[..._0x2cb157,_0x47603e];return t[e(600,"KKY2")]>3?t[e(547,"$Bv!")](-3):t}{const o={id:"blast-"+Date[e(599,"(Xgx")](),bricks:s.map(t=>({id:t.id,x:t.x,y:t.y,width:t.width,height:t[e(435,"5KpK")],color:t[e(426,"BGu1")]}))};W(W=>{const r=e,n=[...W,o];return d=n[r(404,"H%Gn")],_=3,t[_0x231c(622,"9[I^")](d,_)?n[r(405,"5VnL")](-3):n;var d,_})}}});return()=>{r=!1,d()}},[]),0===o[e(550,"BGu1")]?null:_0x38ffe2(View,{style:[StyleSheet.absoluteFill,styles[e(493,"9[I^")]],children:o.map(t=>_0x38ffe2(BlastAnimation,{bricks:t[e(441,"@tEZ")],onComplete:()=>r(t.id)},t.id))})});BlastEffectsLayer[_0x22c7e8(399,"KKY2")]=_0x22c7e8(613,"JsAm");const GameAreaComponent=({gameService:e,offset:t=0})=>{const o="sMcS",W=_0x22c7e8,r={iZQii:function(e,t){return e+t},khPUz:function(e,t){return e===t},jUcKN:"pVOmK",TFPyr:function(e,t){return e(t)},svulX:function(e,t,o){return e(t,o)},JwrKq:function(e,t,o){return e(t,o)},VqDKz:function(e,t,o){return e(t,o)}},n=_0x318dfa[W(514,"Hv]w")](!1);_0x318dfa[W(583,"b^uW")](()=>{const e=W;return n[e(536,"$Bv!")]=useBlockBreakerStore.getState().isPlaying,useBlockBreakerStore[e(587,"z74V")](t=>t[e(454,"Hgn!")],t=>{n[e(676,"qdgD")]=t})},[]);const d=_0x318dfa.useRef(e);d[W(537,"(Xgx")]=e;const _=_0x318dfa[W(588,"GR^2")](0),a=_0x318dfa.useCallback(()=>{const e=W;n[e(576,"@tEZ")]&&(_[e(534,"8xN[")]=d[e(656,"]ix(")][e(558,"r8M3")]())},[]),s=_0x318dfa[W(397,"%ChA")](e=>{const t=W;n[t(485,"Hv]w")]&&d[t(457,"88NX")][t(566,"pU2t")](r[t(411,"p6&f")](_.current,e))},[]);_0x318dfa[W(577,"OeLO")](()=>{const t=W;return useBlockBreakerStore.subscribe(e=>e[t(473,"b^uW")],o=>{const W=t;o?e.startPhysicsLoop():e[W(431,"CGKB")]()})},[e]);const x=_0x318dfa[W(555,"9[I^")](()=>{const e=W,t={jKiuO:function(e,t){return e(t)}};return Gesture.Pan()[e(445,"KKY2")](()=>{t[e(486,"gzCi")](runOnJS,a)()})[e(499,"pDkl")](t=>{const W=e;r.khPUz(W(669,"%ChA"),r[W(517,o)])?_0x3ae2a3=_0x191b9f[8]:r[W(427,"4#Hj")](runOnJS,s)(t[W(668,o)])})},[a,s]),i={};i.marginTop=t;const C={};C[W(425,"CGKB")]=e;const m={};m[W(671,"5KpK")]=e;const f={};return f[W(498,"8xN[")]=e,r[W(554,"Hgn!")](_0x38ffe2,GestureDetector,{gesture:x,children:_0x38ffe2(View,{style:[styles[W(639,"8xN[")],i],children:r[W(580,"Odzl")](_0x14d7b7,View,{style:styles[W(625,"CGKB")],children:[_0x38ffe2(StaticGameAreaCanvas,{}),_0x38ffe2(BricksCanvas,{}),_0x38ffe2(PaddleItem,C),r[W(573,"RukI")](_0x38ffe2,BallsLayer,m),_0x38ffe2(PowerUpsLayer,f),_0x38ffe2(BlastEffectsLayer,{})]})})})},_0x354742={flex:1,justifyContent:"center"};_0x354742[_0x22c7e8(545,"gzCi")]=_0x22c7e8(446,"xjmV");const _0x59dbe7={};_0x59dbe7.width=screenWidth,_0x59dbe7[_0x22c7e8(524,"OeLO")]=GRID_HEIGHT,_0x59dbe7[_0x22c7e8(469,"5VnL")]=_0x22c7e8(591,"5KpK");const _0x3546fd={};_0x3546fd.position=_0x22c7e8(578,"8xN["),_0x3546fd.width=screenWidth,_0x3546fd[_0x22c7e8(408,"B5jJ")]=GRID_HEIGHT;const _0x37b1b8={};_0x37b1b8[_0x22c7e8(608,"5KpK")]="none";const _0x4dec23={};_0x4dec23[_0x22c7e8(465,"h(Yv")]=_0x354742,_0x4dec23[_0x22c7e8(557,"4#Hj")]=_0x59dbe7,_0x4dec23.canvas=_0x3546fd,_0x4dec23[_0x22c7e8(406,"CGKB")]=_0x37b1b8;const styles=StyleSheet[_0x22c7e8(593,"8xN[")](_0x4dec23);export const GameArea=_0x318dfa[_0x22c7e8(459,"Ij$s")](GameAreaComponent);GameArea[_0x22c7e8(634,"5VnL")]=_0x22c7e8(653,"GR^2");
@@ -1 +0,0 @@
1
- "use strict";const _0x21795b=_0x4746;function _0x4746(e,o){e-=310;const r=_0x5777();let t=r[e];if(void 0===_0x4746.WrLfkh){const e=function(e,o){let r,t,n=[],s=0,i="";for(e=function(e){let o="",r="";for(let r,t,n=0,s=0;t=e.charAt(s++);~t&&(r=n%4?64*r+t:t,n++%4)?o+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let e=0,t=o.length;e<t;e++)r+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)s=(s+n[t]+o.charCodeAt(t%o.length))%256,r=n[t],n[t]=n[s],n[s]=r;t=0,s=0;for(let o=0;o<e.length;o++)t=(t+1)%256,s=(s+n[t])%256,r=n[t],n[t]=n[s],n[s]=r,i+=String.fromCharCode(e.charCodeAt(o)^n[(n[t]+n[s])%256]);return i};_0x4746.NDowwu=e,_0x4746.DSAWGY={},_0x4746.WrLfkh=!0}const n=r[0];_0x4746.PccmXj!==n&&(_0x4746.DSAWGY={},_0x4746.PccmXj=n);const s=_0x4746.DSAWGY[e];return void 0===s?(void 0===_0x4746.ZUBCHX&&(_0x4746.ZUBCHX=!0),t=_0x4746.NDowwu(t,o),_0x4746.DSAWGY[e]=t):t=s,t}!function(){const e=_0x4746,o=_0x5777();for(;;)try{if(931254==-parseInt(e(346,"yeVz"))/1*(-parseInt(e(318,"S^&%"))/2)+-parseInt(e(325,"hc85"))/3+-parseInt(e(344,"0Rl6"))/4+-parseInt(e(332,"sWLy"))/5*(parseInt(e(328,")7N5"))/6)+parseInt(e(348,"$85q"))/7*(parseInt(e(327,"FGw6"))/8)+parseInt(e(322,"8pD2"))/9*(-parseInt(e(343,"$ciP"))/10)+parseInt(e(339,"Mr3M"))/11)break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{c as _0x3c1f78}from"react/compiler-runtime";import _0xf1e506 from"react";import{View}from"react-native";import{ScoreBoardContainer,ScoreValue,ScoreLives,ScoreTimer,scoreBoardStyles as _0x265ea6}from"../../../helpers/index.js";import{useScore,useLives,useTimeRemaining}from"../BlockBreakerStore.js";import{BLOCK_BREAKER_GAME_CONFIG}from"../BlockBreakerConstants.js";import{jsx as _0x4ed7e0,jsxs as _0x46b03f}from"react/jsx-runtime";export const ScoreBoard=_0xf1e506[_0x21795b(342,"9lFT")](e=>{const o=_0x21795b,r={KwiRC:function(e,o){return e!==o},mLLEy:function(e,o){return e!==o},Corkm:function(e,o,r){return e(o,r)},ewgsl:o(341,"qN0&")},t=_0x3c1f78(13),{offset:n}=e,s=void 0===n?0:n,i=useScore(),W=useLives(),a=useTimeRemaining();let f,x,d,_,m;if(t[0]!==i){const e={};e[o(315,"fL[V")]=i,f=_0x4ed7e0(ScoreValue,e),t[0]=i,t[1]=f}else f=t[1];if(r[o(311,"o]gW")](t[2],W)){const e={};e.lives=W,e[o(324,"IUo2")]=BLOCK_BREAKER_GAME_CONFIG[o(321,"D$)H")],x=_0x4ed7e0(ScoreLives,e),t[2]=W,t[3]=x}else x=t[3];if(t[4]!==a){const e={};e[o(345,"vxf(")]=a,d=_0x4ed7e0(ScoreTimer,e),t[4]=a,t[5]=d}else d=t[5];if(t[6]!==f||r.mLLEy(t[7],x)||t[8]!==d)if("bzfxQ"!==o(338,"EqUY")){const e={};e[o(326,"[1S(")]=_0x265ea6[o(336,"7SjT")],e[o(316,"pyq)")]=[f,x,d],_=r.Corkm(_0x46b03f,View,e),t[6]=f,t[7]=x,t[8]=d,t[9]=_}else{const e={};e[o(312,"1Tu0")]=_0x5d62e3,e[o(320,"0Rl6")]=_0x33f9bc[o(319,")7N5")],_0x10f861=_0x336383(_0x54ee2a,e),_0x28eee2[2]=_0x53d75e,_0x35e35e[3]=_0x380c32}else _=t[9];if(t[10]!==s||t[11]!==_)if(r[o(347,"ip0p")]("BndVN",r.ewgsl))_0x9eea4b=_0xca5fd7[1];else{const e={};e[o(314,"EqUY")]=s,e[o(317,"KmG%")]=_,m=_0x4ed7e0(ScoreBoardContainer,e),t[10]=s,t[11]=_,t[12]=m}else m=t[12];return m});function _0x5777(){const e=["W7Gzeq","m8kDW5hdHsBcH8oS","WRBcUrddT0a","pmolvSk7i0Cap8ofW5fYwCkXcG","WR56rCkWyMJcRLyGW5LiW4LQ","EfZdQcOy","zqrZbG","nCodpsHHq8k8WRm","W6G+ySkKtSkrqGefkZtcL0i","lCkGW7FcTSkfWOJdNa","frhcKubuweZdQa","WPu0WQZdKmkV","emkYCCowySkzavrSBSoty8or","CNT4W6tcRvFdK2/cLYC0E8oB","eH88WObD","WOpcJCocW7JdJW","WQJdM8ouWQZcRSktW49gW7SeWOJcIwS","WRxcHsxdOeOh","tZ4RrSog","oCkqzY5wWRRcRCoQ","WOVdNXRdJCo/WQmTaq","WP59WPBcUmk2guldV8kQWRy","x8oYcmkdoG","WRnMl8oCfCoqfsG","W6aNtrX5","W4PqW7hdQCoMW4lcHmksW7Tlmc8a","caBcU01GW6ZdKCkRWQddVryVCee","W7tcJSkDW5ddT8oCWP98","WR/cMWaICSkci8orWOldS8ot","nmkQwrVcRG","oSkFDrlcS8ohBW","jCopmSkPer/cUa","pmkkctzPt8kP","ymkAocP/v8kwWRBdOwuc","W57dJf1MjSk0jSo8WPZdSa","xMpcQmkjWPDfAmkZsLpcJg/dVa","Dhz5W6BdPahcRhVcVtS","W49lWOBdO8kEWQhcStS","WRHcvmkUbmoiDuxcGmo8da"];return(_0x5777=function(){return e})()}ScoreBoard[_0x21795b(330,"$ciP")]=_0x21795b(331,"hc85");
@@ -1 +0,0 @@
1
- "use strict";function _0x4e81(){const t=["W57dVCk+","FCofj8oOW61FW4RcNSoI","u8k6EahdHq","WPT3W603WPG","wCknha","W6TpW57cLSkRjLddMYe9kb86","aN5hoSocsa","W4ldT8kdlCkZ","WP3dRSojW5D+WQu2kCogEW","WQBdT8kPumk3nNm","r8kVW5ZcKZpcUKKIWObNWR0","WPtdISosySkXWPVcNmoZWP7cMmkNESkSWPiugG","vCk+EHddICkPcCkaWQ9+WOnIxSoMnq","erBdISk9W4m","ww1tmXj0WPeVhCkCymoLwW","dmoeaulcQ1ZcIrJcRq","yMWbW7pdKJSmWOm","fSoZhv7cMa","WP/dQCoG","cXBdLCk8W6aiW47cPmkRW58acmk1","ctWyCLKTW5adkq","CrH2WP/cH8o8WQRcTvtdVSkPW6upCIRcLa","WOWCuCoIy8oCF8kLqdy","rKW8W4NdRrmr","pedcUby3","agWFjSoq","W7VdNxikWPu","WQhdG8oCW7nwWO4McmoQtrbE","sqBcG8knW6ZdRmkPxa","vt5kWOO","dmoFjq","WOGCtmoYsColwmkPsq5UxSk7","yHr/CYWdjCk5pu3dMmoiW73cRSkA","wbzLWP5NaJhdPuVcOG","pmkEE8oXW4f4W4hcS8oz","urmydJ3cRcC","W4xcN1a","WQZcRbFcMfjqW5KJWRaOcK8","gCkBpJ9PoLBdSq","oYrWWP0V","W5hdS8k6W7jdr8oVW77dU8kU","W53cKmk7Dv1IdCok","xCkvF8kfkCoTaW","BCkgyYjkW7DJW6S","c0mYW41Hgam","CSkHW6NdUvTbW50WshVdQK3cUZZdPSkevmoo","zSkDxsjqW7O","WOPsWRFdRLPGW43cR8oNghhdOx8","eSkZuIJcVXhdIG","W7RcPSkfEmoO","WQpdOmoXA8kcWRhcV8ofWRRcMSklrSkpWRG4pmkH","rGBcGmkmW7VdQCk5zCooWQDI","yreIleG0W7G","E0FcRX3cLSoMcSo8","gdSXjIxcLd4","pulcKsm7c8ot","z8klfb/dSq","g1SqgSoN","W6ZcT8kuuxnciq","ArhcVSkYr2pcHciZmdC","EX7cMcCScmksW7a","ke3dVmoneuNcQJ0xnHC","bMGDn8oCWQ0Ay1FcSmk2WPHFhu4","FSkowSkYna","W4VcI0P0aq","W5/cKvPXbSo+","WRD6WOpdThjbW7VcMCoelwNdJu7dGG","amoFi1xcVftcMdlcT8k0a8oq","FuJcSq3cLSoIcCodyaVdN2zMWPitWOpcNSo4","g0OUW5PJjti","WOldQmoVW4v2","WRqyW7JcKCkcjN/dSG","AKFcRbZcS8oUpCoEza","DSkHW7pdOuHqW6q2sKxdRLK","uSoIWRSYW6qwWO4","s8oXW5dcKbuHp8omWOpdRq","WPquu8oQBSolsG","W53dT8kNW6jDtCoAW7RdSq","hJGny38RW4qdiSkrCq","A8klEahdPq","WR9hW4qpWPG","bNGaoW","umkDW5VdMMbWW5q","lSoYi1/cLG","bKerW49KlW","imkqAG7cHH3dKrZdSCkfWP0QW4tdMCkLWPi","w8k8W5FcGrtcPW","B8kBW5tcTJu","W5VcH0z+mSopbs/dVhtdVW","fwWqo8oqWQC0rg7cSCkYWO5db1O","D0JcKH3cLSoHpmojEa","BaDWWOhcNG","dSkviWm","nKhdPG","W6FcJmkwyCo/","B8oajmoNW6D+W48","f8kBod9lmMNdI8oFWQu","WOPsWQtdNwn6W4JcOCoQdW","WQ1PW4mxWOy","WQRcISk/WQJdVG","W5JcJe1RimoF","mLVdJmoJaLdcTG","cZ0WoJhcKIG+WRldPCkat33cGZTqW5W","fmkZW7bZW5uHWRakW5dcOG","uSo2W5xcIb0Yia","wSkIW6ZdQv4","W6LlW5xcLSkQnue","atGfyNSNW5SakmkhCq","WQ3cHSk1WRJdV8kTlG4IW7nDW6b2kre","oSknw3lcQCorWQHpWOGZqmoBW4yBWQ4","hwFdNCkiFCoBbG","pulcKsm7c8kn","brVdICkRW40PW7K","WPfsWQpdJvy","s8okzw0JAttcLmo/WQtdM1CVW4C","rSk6DXZdHCkJj8kNWPz/WOD0qSo8iq","feNdNSkYDG","WOdcRYBdPCkYCmovW6vfdd9IWPiVWR4","kuFdVmoRbe3cObW","W6xcPLPLlq","W5NcHSkHrSohcW","k13dU8oI","g8kTsKpcGq","meW/h8oQWPC1zxVcJSkBWRHMlwid","smkVW5/cKItcV1KB","F0pcTIVcKmoMlCop","WP3dJXHWl8oTeXBdQa","BCoyac/cLmoSWRH/WQ4Z","EKRcRrVcJ8oudW","tfxcIaJcPW","umoWW4ZcIHG","CCkjvt7dPCkeoSkBWPrkWRLEF8oxfG","fX/dH8k7W4m","aSoeoeRcUe7cHrtcT8kca8oo","WQJdOmoRqmkxWQW","WPZcTqpdOmkpAa","W5ZdSSkkfCkWyW","WOFdPSo9W5nj","AmkDEc5FW6PLW6RcM0FdPCk1","zCoCzq","caldKG","dmoefKBcTf/cOW3cVmkI","W7vbW5JcJmkj","vSkVEWtdSmkVf8kNWQ9WWPvbrmo9nG","W4hdVCkOemkXAG","fu7cVbuD","WPpdJmobC8kRWPVcGSoUWOdcHCkGyCk/WPyqea","DmkGW7FdRKy","dmkBpY9+","W5fqW53cNCoL","ar7dImkSW6OBW4hcRCkNW6uo","qIriWQhcO8oaWOhcSxpdLmktW4O","vCkPCqldOSk+","ttruWRtcSSog","z8oFE8o7f8kYWPBdOa","WRBdQSoXrSkxWQ3cVSoi","ab3dH2FcGMJcMtRcS8kwWPa","WQOpWOziWRflW7ddQSoPW7fM","WQxcQdhdUCkd","W7tdM8kAW4LJy8o2W5hdLSkcFvmiymomea","WRddQSo1FG","d8kzD3BcJW","uIvBWQhcSSo+WP3cGw7dMCkvW4ekwrhcRa","B8ozxxlcUSoeWO1+","muOCW7rn","W7JcT2rri8o0nGFdMfBdMfO","z8kMW7BdOeHwW548vq","W5/dI8kfemkB","WOpcVIFdSCklDSolW4jfaILbWOG0WR0","tmoMWRSYW4SkWOGKW4pcMHNcVSkB","fmoPjahdRCksnSkCWOW","ymoBzCoQf8k8WRZdK8o4","vCkZDqFdHq","DbPlWQlcHW","z8k6W6NdPa","WPddTSopv8kG","W77dK8keW4LOCmoSW4JdGCkcFu0zFq","s8kYyXPZ","v8ozzSoueq","n3/dI8oUnq","CrH2WP/cH8o8WQRcRfldOmkPW78pEa","pSkjteNcUmouWPvz","WOxcUIxdOmkh","vK7cNSo4W4SZW4VcQ8kpW7m","W6/dKSoRW6JcOSo3bbe/W6TYW5C","W4pdTmkNb8k7","qIryWRRcPq","W4ddUSoXW7Oooq","z8kNW7VdV0W","WPDwWQhdNfP9W4pcMCoIefpdR3RdRH4","aSkWssRcOcVdSYC","d8opp0dcRvi","WOVcGqtcHuC","kCkOeHj2","hNFdN8khtmoagCoKaZpcMW","W5VdVSk7W7veCCo1","W4tcN11ZaCoo","ebJdLmkKW4iI","WRq0C8oktSoRzSkjzrryzmkxxvVdIa","zXXYFWugaSkUbe/dNG","tCkCy8ksk8oqmG","cbNdOmkPW4Ow","C8oRW4ZcRZm","W5Dkb8k0n8owEmk9wXfP","n8kSgqHd","WQPPW4SpWO/cPCksyCkF","W5VcJmk5A1TKcW","W4ddUCkYjmk3A8k8ECofEa","cSoiimkld8o1l2W6","W681WP9xW5NcSCkKz8kNW5GH","W5VcHCkqrmo9","W7dcU8kwwMzy","W7rlW5NcSCkfo0BdPIeBjXC8WRu","W5zecCk+omo+CSkuFJLv","hgNdMmovpw3cGq","nCkjvN3cUmoD","WO9sWQhdNf92W6JcRmoLgq","B8kWxmkQa8oScNqgW4OuW7HPW43cQSo1","WOSnxSoLzSonqa","DmolzCo2","AKpcSr3cKmoaomohAq","gLVdT8kUuW","WPmOEComqa","cJ4Yks/cTrS","EIlcVmkUW5VdJSkUvCo5WOzydei","wmk6W5pcHslcJMi0WOzGWQPCqmocC2O","qmoTe8oBW4bSW4ZcTCoqk8oKvSkcuge6","W4ldSSoZW7iajJ8","WQJcK8k/WR3dOSkM","fwWEnSohWQiUyq","A8kFFIbvW41A","itrkWO07lCkrWOD3xW","W5/dVCk1amkyDCkXDCosxXFcSCkt","W69tW5iqW6DFW6y","vSkbW5NdHgz2W5ib","kXhdUKRdNmoOgmotEYZdKa","W7RdKNyrWQFdUmkeW70yu8kfWPe7iI0","pKRcMYOoemktW5DcWOvn","WOpcSYJdPSkh","W4tdUSoZW6Se","uSkyAa","W5FcLCkDtwa","y2edW7xdIWKj","BSozoCo2W6LdW63cSSo9b8oEFq","oaqkeWi","W4VcN0v4emohoHu","W5ldRmk2eCkWy8kaCCoBzX/cRG","WRdcGSkWWRNdHSkQjtyQW6W","WOhdRmoNW5v2","amoyxgdcVmk/WPxdMXWSWRflwW","W7ddTSkGdmks","b8kWtYFcSbO","W5JdVvyXWO3dJSksW5y","gwhdGCk9","pLNdTmkHsmo2jSoylrxcT0/cI8omW6rb","WPCnu8oVBmoC","puhdPmo+fvy","o8kav3NcP8oMWRC","o8kuwdVcPG","DmoxESoYbmkHWRy","grPTWQCdg8kiWRzEyCoDjXpdRSkM","WOpdMSkwBmkrjh0","n1FdImkauG","n8kEBrtcKXddKX7dQCkzWOSQW43dGSk/WPpcPmkTzSkH","WQ7cL8k0WQZdHSkRmcKIW71lW4nSmHi","BbXY","WPtcStVcL2O","WR7cLSkPWQ7dS8kTprmLW7PDW7C","W4dcMSkTrmoSe1WOaGW","c2RcSqmflCk2W6bOWQnXEMOTW4qp","vv8TW5ZdPrKlWPRdGmomWR4WBHZcOa","WQPYW4ivWQZcRG","cSksmIL+","FH3cQdW1c8kWW7y","WPhcTYBdTSkjs8o6","md1AWQhcMgHUW6BdK8oMWRy9DZa","CbrHWQ0UaSk9","eSoJWO3cMe88ySozW4S","uhKzW53dRW","WQ/cHSkOWQJdV8kTlG","W5JdSmkN","WPyywmoVFmonxmk2BZTQvSkSEfZdQmkSW7/cIgxdV8okomk+W6zp","cfDIn8oy","W6/cQSkxtujyk8oHpSoqWROexbpcHa","awVdN8kdAmob","rqNcPmkDW7pdVq","W5TyW6lcRSomWRHkubxdPCk9WOG","WOxdR8o8W5P3WPG","W7hcT8kw"];return(_0x4e81=function(){return t})()}const _0x12d12e=_0x94a4;function _0x94a4(t,W){t-=167;const o=_0x4e81();let e=o[t];if(void 0===_0x94a4.otDfYd){const t=function(t,W){let o,e,s=[],i=0,d="";for(t=function(t){let W="",o="";for(let o,e,s=0,i=0;e=t.charAt(i++);~e&&(o=s%4?64*o+e:e,s++%4)?W+=String.fromCharCode(255&o>>(-2*s&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let t=0,e=W.length;t<e;t++)o+="%"+("00"+W.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(o)}(t),e=0;e<256;e++)s[e]=e;for(e=0;e<256;e++)i=(i+s[e]+W.charCodeAt(e%W.length))%256,o=s[e],s[e]=s[i],s[i]=o;e=0,i=0;for(let W=0;W<t.length;W++)e=(e+1)%256,i=(i+s[e])%256,o=s[e],s[e]=s[i],s[i]=o,d+=String.fromCharCode(t.charCodeAt(W)^s[(s[e]+s[i])%256]);return d};_0x94a4.deqvfV=t,_0x94a4.xxcEXZ={},_0x94a4.otDfYd=!0}const s=o[0];_0x94a4.WqZwKQ!==s&&(_0x94a4.xxcEXZ={},_0x94a4.WqZwKQ=s);const i=_0x94a4.xxcEXZ[t];return void 0===i?(void 0===_0x94a4.TUbaFZ&&(_0x94a4.TUbaFZ=!0),e=_0x94a4.deqvfV(e,W),_0x94a4.xxcEXZ[t]=e):e=i,e}!function(){const t=_0x94a4,W=_0x4e81();for(;;)try{if(626505==-parseInt(t(174,"#PNj"))/1*(parseInt(t(214,"lzfD"))/2)+-parseInt(t(195,"fwE2"))/3+-parseInt(t(333,"dc54"))/4*(-parseInt(t(403,"L3cZ"))/5)+-parseInt(t(219,"tC[!"))/6*(parseInt(t(224,"lzfD"))/7)+parseInt(t(314,"70DY"))/8*(-parseInt(t(335,"@[iM"))/9)+parseInt(t(334,"4pm^"))/10*(-parseInt(t(220,"qf36"))/11)+parseInt(t(284,"xr$*"))/12*(parseInt(t(286,"zaAK"))/13))break;W.push(W.shift())}catch(t){W.push(W.shift())}}();import{withTiming,Easing}from"react-native-reanimated";import{useBlukStore}from"./BlukStore.js";import{BLUK_GAME_CONFIG,BLOCK_COLORS}from"./BlukConstants.js";const C=BLUK_GAME_CONFIG,HALF=C.BLOCK_SIZE/2,LOOKAHEAD=4;export class BlukService{destroyed=!1;animationRef=null;[_0x12d12e(408,"fwE2")]=[];[_0x12d12e(305,"EsC2")]=0;[_0x12d12e(376,"lzfD")]=[];[_0x12d12e(451,"mhKl")]=0;landedCount=0;[_0x12d12e(216,"qf36")]=0;[_0x12d12e(432,"zeUb")]=_0x12d12e(290,"fwE2");bx=0;by=0;prevBy=0;vx=0;vy=0;[_0x12d12e(389,"NvhJ")]=!1;[_0x12d12e(395,"4pm^")]=null;cameraSV=null;setPlaying(t){this[_0x12d12e(415,"4Ne4")]=t}registerBlockSharedValues(t){this.blockSV=t}[_0x12d12e(292,"lzfD")](t){this[_0x12d12e(240,"NvhJ")]=t}setCallbacks(t,W,o,e,s){const i=_0x12d12e;this[i(435,"WMIm")]=t,this[i(436,"eAT]")]=W,this.onPerfect=o,this.onFall=e,this[i(308,"!)e*")]=s}[_0x12d12e(248,"xr$*")](t,W){const o=_0x12d12e,e={NxRQz:function(t){return t()}},s=setTimeout(()=>{const W=_0x94a4;this[W(362,"NvhJ")]=this.pendingTimeouts[W(267,"AYO*")](t=>t!==s),e[W(394,"o^k3")](t)},W);this[o(312,"4Ne4")][o(185,"toBp")](s)}[_0x12d12e(258,"fwE2")](t,W){const o=_0x12d12e,e={};e[o(221,"o^k3")]=function(t,W){return t*W},e.ufseZ=function(t,W){return t%W};const s=e,i=C[o(191,"mhKl")]+s[o(339,"GXrB")](Math[o(198,"UmG6")](),C[o(366,"JtJ#")]-C.PILLAR_TOP_MIN),d={id:o(355,"xr$*")+this[o(301,"4pm^")],worldX:t,topY:Math[o(442,"EsC2")](i),width:Math[o(430,"C5G&")](W),colorIndex:s[o(437,"!)e*")](this[o(177,"toBp")],BLOCK_COLORS[o(453,"mhKl")])};return this.pillarSeq++,d}randWidth(){const t=_0x12d12e,W={};W[t(252,"5%wr")]=function(t,W){return t*W},W.hJfqz=function(t,W){return t+W};const o=W,e=Math.min(o[t(269,"Q)ev")](this[t(351,"Ql8t")],C.WIDTH_SHRINK_PER_SCORE),C[t(446,"Pd^[")]),s=Math.max(C[t(321,"mhKl")],C.PILLAR_MAX_WIDTH-e);return o.hJfqz(C[t(209,"lzfD")],Math[t(444,"eAT]")]()*(s-C[t(228,"tC[!")]))}nextGap(){const t=_0x12d12e,W={};W[t(445,"xr$*")]=function(t,W){return t+W};const o=W,e=Math.min(this.landedCount*C[t(274,"Q)ev")],C[t(187,"&W%O")]);return o[t(175,"dc54")](C.GAP_MIN,e)+Math[t(198,"UmG6")]()*(C[t(309,"7D8n")]-C[t(323,"zaAK")])}maxVisibleGap(t,W){const o=_0x12d12e,e={};e[o(233,"lzfD")]=function(t,W){return t+W},e[o(273,"IKCx")]=function(t,W){return t-W},e.uYLyA=function(t,W){return t-W};const s=e,i=s[o(232,"IKCx")](C[o(263,"PoSh")],t/2);return s.ZYydN(s[o(317,"VIe0")](C[o(327,"!)e*")],C.VIEWPORT_MARGIN),C[o(176,"wz6Q")])-W-i}[_0x12d12e(297,"qfjU")](){const t=_0x12d12e,W={PVWYF:function(t,W){return t-W}},o=this.pillars[W[t(255,"@[iM")](this[t(270,"$%)v")].length,1)],e=this[t(372,"EzYv")](),s=Math[t(336,"wz6Q")](C[t(225,"AYO*")],Math[t(318,"!)e*")](this[t(406,"EsC2")](),this[t(347,"JtJ#")](o[t(399,"fwE2")],e))),i=o[t(208,"zeUb")]+o.width/2+s+e/2;this.pillars[t(421,"AYO*")](this[t(397,"JtJ#")](i,e))}ensurePillarsAhead(){const t=_0x12d12e;for(;this[t(354,"@[iM")][t(226,"#PNj")]-1-this.currentIndex<4;)this[t(257,"eAT]")]()}prunePillars(){const t=_0x12d12e,W={};W[t(429,"EzYv")]=function(t,W){return t>W};const o=W,e=Math[t(304,"j%LE")](0,this.currentIndex-1);o[t(186,"Pd^[")](e,0)&&(this[t(358,"5%wr")][t(266,"lzfD")](0,e),this[t(278,"fwE2")]-=e)}[_0x12d12e(205,"IKCx")](){const t=_0x12d12e;useBlukStore.getState()[t(218,"eAT]")](this[t(404,"C5G&")][t(259,"!)e*")]())}[_0x12d12e(375,"C5G&")](){const t="toBp",W="wz6Q",o=_0x12d12e,e={};e[o(380,"qf36")]="resting",e[o(303,"qf36")]=function(t,W){return t-W};const s=e;this.pillars=[],this.currentIndex=0,this.landedCount=0,this.pillarSeq=0,this[o(196,"eAT]")]=s[o(293,"VqMI")],this.vx=0,this.vy=0;const i=C.PILLAR_MAX_WIDTH,d=this[o(396,"fkuF")](C[o(245,t)],i);this[o(410,"IKCx")][o(381,"NvhJ")](d),this[o(345,t)](),this.bx=d[o(298,"!)e*")],this.by=s[o(363,"tC[!")](d[o(392,"fkuF")],HALF),this[o(400,W)]=this.by,this[o(328,"Ql8t")]&&(this[o(353,"EzYv")].x.value=0),this[o(344,"dc54")]&&(this[o(268,"#PNj")].x.value=this.bx,this[o(428,"EzYv")].y[o(325,"NvhJ")]=this.by,this[o(241,"rjsI")][o(418,"AYO*")][o(448,"fkuF")]=0,this.blockSV[o(229,"lzfD")].value=1),this[o(388,W)]()}startGame(){this[_0x12d12e(249,"WMIm")]="resting"}[_0x12d12e(350,"Pd^[")](t,W){const o=_0x12d12e,e={};e[o(188,"rjsI")]=function(t,W){return t+W},e[o(213,"C5G&")]=function(t,W){return t*W},e.CjfxL=function(t,W){return t<W};const s=e,i=t*C[o(311,"Pd^[")],d=W*C[o(385,"Q)ev")];let n=Math[o(300,"eAT]")](i,0),k=Math[o(299,"5%wr")](d,-3),h=Math.sqrt(s[o(422,"#PNj")](n*n,s[o(289,"zaAK")](k,k)));if(h<1)return null;if(s[o(261,"eAT]")](h,C.MIN_LAUNCH_SPEED)){const t=C.MIN_LAUNCH_SPEED/h;n*=t,k*=t,h=C[o(170,"&W%O")]}if(h>C.MAX_LAUNCH_SPEED){const t=C[o(237,"4pm^")]/h;n*=t,k*=t}const r={};return r.vx=n,r.vy=k,r}[_0x12d12e(450,"zeUb")](t,W,o){const e=_0x12d12e,s={};s[e(189,"$%)v")]=function(t,W){return t+W},s.mVcIR=function(t,W){return t<=W},s.bngsW=function(t,W){return t-W},s[e(379,"4Ne4")]=function(t,W){return t+W},s[e(324,"xr$*")]=function(t,W){return t*W};const i=s,d=W+HALF,n=i[e(356,"j%LE")](o,HALF);for(let W=this[e(367,"VIe0")]+1;W<this.pillars[e(222,"5%wr")];W++){const o=this[e(411,"xr$*")][W];if(d<=o[e(329,"mhKl")]&&n>=o[e(171,"Pd^[")]&&i[e(357,"NvhJ")](Math[e(291,"&W%O")](i[e(326,"PoSh")](t,o[e(365,"wz6Q")])),i[e(379,"4Ne4")](o[e(398,"qf36")]/2,i[e(307,"eAT]")](HALF,.4))))return{index:W,pillar:o}}return null}[_0x12d12e(402,"@[iM")](t,W){const o=_0x12d12e,e={};e[o(405,"toBp")]=function(t,W){return t>W},e[o(204,"fkuF")]=function(t,W){return t%W};const s=e,i=[];let d=this.bx,n=this.by,k=W;const h=this[o(424,"wOpk")]?this[o(338,"fkuF")].x.value:0,r=C[o(281,"zaAK")]*C.TRAJECTORY_STEP;for(let W=0;W<r;W++){const e=n;if(k+=C[o(382,"toBp")],d+=t,n+=k,s.Mmvew(k,0)){const t=this.findLanding(d,e,n);if(t){const W={};W.x=d-h,W.y=t.pillar[o(264,"IKCx")]-HALF,i[o(230,"$%)v")](W);break}}if(0===s[o(349,"o^k3")](W,C[o(431,"4Ne4")])){const t={};t.x=d-h,t.y=n,i.push(t)}if(n>C[o(423,"NvhJ")])break}return i}[_0x12d12e(207,"wz6Q")](t,W){const o=_0x12d12e,e={};e[o(416,"IKCx")]=function(t,W){return t!==W},e.yGoVj(this[o(199,"toBp")],o(374,"L3cZ"))||this[o(332,"6$HT")]&&(this.vx=t,this.vy=W,this[o(282,"qf36")]=this.by,this[o(370,"!)e*")]="flying",this[o(296,"Ql8t")]?.(),this[o(236,"wOpk")]())}[_0x12d12e(173,"mhKl")](){const t=_0x12d12e;this[t(275,"fwE2")](),this[t(180,"L3cZ")]=0;const W=o=>{const e=t;this[e(320,"70DY")]||(this[e(239,"fwE2")](o),this[e(433,"VIe0")]=requestAnimationFrame(W))};this[t(373,"toBp")]=requestAnimationFrame(W)}[_0x12d12e(417,"WMIm")](){const t="rjsI",W=_0x12d12e;null!==this[W(337,"JGpa")]&&(cancelAnimationFrame(this[W(438,t)]),this[W(438,t)]=null)}update(t){const W="tC[!",o=_0x12d12e,e={};e[o(391,"mhKl")]="flying",e[o(383,"VIe0")]=function(t,W){return t===W},e.DUfAc=function(t,W){return t*W},e[o(178,"eAT]")]=function(t,W){return t>W};const s=e;if(this.phase!==s[o(215,"fkuF")])return;if(!this.cachedIsPlaying)return;s[o(419,"wz6Q")](this.lastFrameTime,0)&&(this[o(243,"eAT]")]=t);const i=t-this[o(319,"zeUb")];this[o(331,"lzfD")]=t;const d=Math[o(276,"6$HT")](i,33.33)/16.67;if(d<=0)return;if(this[o(386,"wOpk")]=this.by,this.vy+=C[o(217,"5%wr")]*d,this.bx+=this.vx*d,this.by+=s[o(387,"wOpk")](this.vy,d),this[o(348,"Q)ev")]){this[o(272,"7D8n")].x[o(250,"UmG6")]=this.bx,this[o(285,"WMIm")].y[o(302,"4Ne4")]=this.by;const t=Math[o(251,W)](-.35,Math[o(393,"AYO*")](.35,.025*this.vy));this[o(342,W)][o(455,"Pd^[")].value=t}if(this.vy>0){const t=this[o(210,"6$HT")](this.bx,this[o(452,"4Ne4")],this.by);if(t)return void this[o(227,"JtJ#")](t.index)}this.by>C[o(280,"xr$*")]&&this[o(242,"GXrB")]();const n=this.pillars[this[o(244,"yVvD")][o(295,"IKCx")]-1];s[o(190,"AYO*")](this.bx,n[o(262,"Q)ev")])&&(this.ensurePillarsAhead(),this[o(167,"2]hD")]())}[_0x12d12e(340,"&W%O")](t){const W=_0x12d12e,o={Vsxla:function(t,W){return t<=W},kxOVG:function(t,W,o){return t(W,o)},UKqqA:W(203,"JGpa")},e=this[W(238,"UmG6")][t],s=this.bx,i=Math[W(439,"$%)v")](s-e.worldX),d=o[W(169,"WMIm")](i,C[W(265,"IKCx")]/2);this.by=e.topY-HALF,this[W(420,"o^k3")]=this.by,this.vx=0,this.vy=0,this[W(254,"4pm^")]=t,this.landedCount++,this.phase=W(211,"tC[!"),this.stopPhysicsLoop(),this[W(253,"zaAK")]&&(this[W(206,"&W%O")].y[W(413,"JtJ#")]=this.by,this[W(241,"rjsI")][W(201,"Q)ev")][W(193,"WMIm")]=o[W(449,"qfjU")](withTiming,0,{duration:220,easing:Easing[W(440,"zeUb")](Easing[W(197,"mhKl")])}));const n=useBlukStore[W(192,"#PNj")](),k=t%BLOCK_COLORS[W(202,"VIe0")];let h=C[W(271,"GXrB")];if(d)if(W(172,"#PNj")===o[W(184,"mhKl")]){const t={};t.x=_0x25d8a4-_0x3d5ac5,t.y=_0x15e45e,_0x420661.push(t)}else{const t=n[W(447,"toBp")]+1;h+=C[W(235,"Ql8t")]+5*(t-1),n[W(407,"70DY")](h,t,k),this.safeTimeout(()=>{const t=W;this.destroyed||useBlukStore[t(425,"EzYv")]()[t(223,"EsC2")](!1)},600),this[W(315,"VIe0")]?.()}else n.landNormal(h,k),this[W(346,"rjsI")]?.();if(this[W(368,"EzYv")](),this.prunePillars(),this.syncPillars(),this[W(316,"zaAK")]){const t=e.worldX-C[W(341,"5%wr")];this[W(454,"$%)v")].x[W(313,"zeUb")]=withTiming(t,{duration:300,easing:Easing[W(330,"VIe0")](Easing[W(364,"wz6Q")])})}}[_0x12d12e(322,"lzfD")](){const t=_0x12d12e,W={fBmBI:"dead"},o=t(288,"C5G&").split("|");let e=0;for(;;){switch(o[e++]){case"0":this[t(283,"fkuF")]=W.fBmBI;continue;case"1":if(this[t(412,"zeUb")]){const W={};W[t(343,"rjsI")]=300,this[t(234,"@[iM")].opacity[t(313,"zeUb")]=withTiming(0,W)}continue;case"2":this[t(378,"70DY")](()=>{const W=t;!this[W(182,"$%)v")]&&(useBlukStore.getState()[W(361,"AYO*")](),this[W(441,"VIe0")]?.())},250);continue;case"3":this[t(306,"VqMI")]?.();continue;case"4":this.stopPhysicsLoop();continue}break}}getPhase(){return this[_0x12d12e(183,"4Ne4")]}[_0x12d12e(401,"AYO*")](){const t=_0x12d12e,W={};W[t(277,"JGpa")]=function(t,W){return t===W};const o=W;return this[t(183,"4Ne4")]!==t(369,"dc54")||this[t(310,"wOpk")]>0||o.YsEbY(this.pillars[t(434,"Pd^[")],0)}[_0x12d12e(231,"EzYv")](){const t=_0x12d12e;this[t(294,"5%wr")](),this[t(409,"#PNj")]=!1,this[t(279,"o^k3")]()}[_0x12d12e(352,"]lis")](){const t=_0x12d12e;this[t(377,"&W%O")]=!0,this[t(247,"PoSh")]=!1,this[t(443,"4Ne4")](),this.onJump=void 0,this[t(384,"dc54")]=void 0,this[t(390,"EzYv")]=void 0,this[t(212,"zeUb")]=void 0,this.onGameOver=void 0,this.blockSV=null,this[t(256,"wz6Q")]=null;for(const W of this[t(200,"JtJ#")])clearTimeout(W);this[t(179,"WMIm")]=[]}}
@@ -1 +0,0 @@
1
- "use strict";!function(){const e=_0xd63a,t=_0x190d();for(;;)try{if(819784==parseInt(e(337,"P#zj"))/1+-parseInt(e(344,"H]Q3"))/2+parseInt(e(366,"Rm41"))/3+-parseInt(e(386,"3s8J"))/4+-parseInt(e(382,"EJ[G"))/5*(parseInt(e(383,"PAS$"))/6)+-parseInt(e(356,"c$m6"))/7*(-parseInt(e(351,"QoQw"))/8)+parseInt(e(372,")q!c"))/9*(parseInt(e(377,"3s8J"))/10))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";export const GAME_DURATION=120;export const useBlukStore=create()(subscribeWithSelector(e=>({score:0,best:0,combo:0,isPlaying:!1,gameOver:!1,gameWon:!1,timeRemaining:120,pillars:[],pillarsVersion:0,showPerfect:!1,blockColorIndex:2,startGame:()=>{const t=_0xd63a,o={};o[t(357,"7TmH")]=0,o[t(359,"SyUz")]=0,o[t(343,"l!qg")]=!0,o[t(349,"kR70")]=!1,o[t(375,"3s8J")]=!1,o[t(340,")q!c")]=120,o.showPerfect=!1,o[t(385,"yG)2")]=2,{CvHSu:function(e,t){return e(t)}}[t(352,"4@Tl")](e,o)},stopGame:()=>{({jFuWc:function(e,t){return e(t)}})[_0xd63a(365,"6mG8")](e,{isPlaying:!1})},resetGame:()=>{const t=_0xd63a,o={};o[t(338,"89*3")]=0,o[t(360,"6mG8")]=0,o[t(343,"l!qg")]=!1,o[t(346,"Flx0")]=!1,o.gameWon=!1,o[t(380,"9t8K")]=120,o[t(362,"R9Mf")]=[],o[t(336,"LI1M")]=0,o[t(371,"pbYI")]=!1,o.blockColorIndex=2,{sJOqQ:function(e,t){return e(t)}}[t(384,"^GEw")](e,o)},landPerfect:(t,o,r)=>{const n=_0xd63a,s={};s[n(354,"yG)2")]=function(e,t){return e+t};const a=s;e(e=>{const s=n,W=a[s(363,"yW9G")](e[s(353,"P#zj")],t);return{score:W,best:Math.max(W,e[s(373,"skcD")]),combo:o,blockColorIndex:r,showPerfect:!0}})},landNormal:(t,o)=>{e(e=>{const r=_0xd63a,n=e.score+t;return{score:n,best:Math[r(370,"9t8K")](n,e[r(350,"Pi[z")]),combo:0,blockColorIndex:o}})},setGameOver:()=>{const t=_0xd63a;e(e=>({gameOver:!0,isPlaying:!1,best:Math.max(e[t(389,"wLx9")],e[t(368,"SrAA")])}))},setGameWon:()=>{const t=_0xd63a;e(e=>({gameWon:!0,isPlaying:!1,best:Math[t(358,"KGxh")](e.score,e[t(379,"jj$R")])}))},setTimeRemaining:t=>{const o={};o[_0xd63a(390,"^GEw")]=t,e(o)},setPillars:t=>{const o=_0xd63a;e(e=>({pillars:t,pillarsVersion:e[o(378,"dFJZ")]+1}))},setShowPerfect:t=>{const o=_0xd63a,r={};r[o(369,"skcD")]=t,{QGCMy:function(e,t){return e(t)}}[o(388,"owdY")](e,r)}})));export const useScore=()=>useBlukStore(_temp);export const useBest=()=>useBlukStore(_temp2);export const useCombo=()=>useBlukStore(_temp3);function _0x190d(){const e=["j8oHWQanWO3cPCkE","rYZdVvFdTg4qjeJcLa","CCk3W7XCW6RcRCk5BSojWRBdTG","BwDAWQSQqmojWPNcMmkhpSkKWONcPW","lmkeW6hdLG","rGVcOxdcT8oGsN5XWOpcI8odWOe","cJJcRL/cNCokuq","W5iqFcupz8kw","iSojlCogEmkOtHVcKrzDDSkp","xCkxdIZdTW","cSkXiGxcSCoKa8ocW5usySkai0/cUa","DCk0W7XyW63dUmoeACoYWQBdGCkrW7a","gSocWPPUW73cKmoGW45qWRRcPJ4Q","ifVcJYJdTW","ds0jW5dcIW","wSk0ldJdTeBdN8kDr8kGs8kjuG","qCkVzG5qWOxdJxlcM8oiWPBcHfyk","ySojlbVdHI0Uu3xcSXVcOSoD","gfTHWOut","WQm5ocvR","d8oJW6T0W7JdL8oLAmkadCorW70K","WRKPbZTVW4awW6pdHW","WPCPCqGmD8kZWP8wW5PQamk+da","ECkjjSk7BrNcUSkPkG","W4/cOe0huZLwf3tdQmkqWRD5","BCoKqgaGWOpcISkBjHqWfti","W5fkWPP2W6qHjMK","W6tdIMnAWQyoW6SoWORdQCkxW7v1","W4jcWPP2W7KYlNO2DqLYgW","p8khbmkCW5LcW4FdPG","WRpcMYeE","dJKmttLTW6G","uLTFW6dcVW","imkEELNcLa","oCkKgd7cUa","W6ddIwnEWQfBWPyjWRhdUCkG","y8kIoc7dU8o/WQb0eKRdKI/dSa","amotgbBcOW","BSk4WRW","WRj6cSkloG","oCo5o2lcUW","xbq+c8ot","W6VdH8oiW68xWOTG","ESkpW7ygWQG","WQmYocbEW5WnW6VdHCkBmq","mmoqi1FcTW","WQ3cH8o6WQBcPu3dGColhGNdJSouWPO","c8omWQBcLeBcHa4pbIXtlSoj","W77dM8obWRS","tmkqW7RdLIpdLeG6nszv","xWpcTa","WQJdMSkCfmo3FMP0ySoWW5W","tCk6WRCJW5ddP8oRymkbdW","xCkDW6BdLq","fmorgGhcICk8W6fe"];return(_0x190d=function(){return e})()}export const useIsPlaying=()=>useBlukStore(_temp4);export const useGameOver=()=>useBlukStore(_temp5);export const useGameWon=()=>useBlukStore(_temp6);export const useTimeRemaining=()=>useBlukStore(_temp7);export const usePillarsVersion=()=>useBlukStore(_temp8);export const useShowPerfect=()=>useBlukStore(_temp9);export const useBlockColorIndex=()=>useBlukStore(_temp0);function _temp(e){return e[_0xd63a(339,"8ZhD")]}function _temp2(e){return e.best}function _temp3(e){return e[_0xd63a(361,"@uYD")]}function _temp4(e){return e[_0xd63a(341,"8ZhD")]}function _0xd63a(e,t){e-=336;const o=_0x190d();let r=o[e];if(void 0===_0xd63a.IoDKmM){const e=function(e,t){let o,r,n=[],s=0,a="";for(e=function(e){let t="",o="";for(let o,r,n=0,s=0;r=e.charAt(s++);~r&&(o=n%4?64*o+r:r,n++%4)?t+=String.fromCharCode(255&o>>(-2*n&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=t.length;e<r;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),r=0;r<256;r++)n[r]=r;for(r=0;r<256;r++)s=(s+n[r]+t.charCodeAt(r%t.length))%256,o=n[r],n[r]=n[s],n[s]=o;r=0,s=0;for(let t=0;t<e.length;t++)r=(r+1)%256,s=(s+n[r])%256,o=n[r],n[r]=n[s],n[s]=o,a+=String.fromCharCode(e.charCodeAt(t)^n[(n[r]+n[s])%256]);return a};_0xd63a.slVTsx=e,_0xd63a.aJmrHt={},_0xd63a.IoDKmM=!0}const n=o[0];_0xd63a.lSeUSj!==n&&(_0xd63a.aJmrHt={},_0xd63a.lSeUSj=n);const s=_0xd63a.aJmrHt[e];return void 0===s?(void 0===_0xd63a.LUnAEC&&(_0xd63a.LUnAEC=!0),r=_0xd63a.slVTsx(r,t),_0xd63a.aJmrHt[e]=r):r=s,r}function _temp5(e){return e[_0xd63a(374,"7TmH")]}function _temp6(e){return e.gameWon}function _temp7(e){return e[_0xd63a(348,"Flx0")]}function _temp8(e){return e[_0xd63a(342,"EJ[G")]}function _temp9(e){return e[_0xd63a(364,"8ZhD")]}function _temp0(e){return e.blockColorIndex}
@@ -1 +0,0 @@
1
- "use strict";const _0x151dae=_0x5c74;!function(){const W=_0x5c74,e=_0x438c();for(;;)try{if(170452==-parseInt(W(374,"xR1D"))/1+-parseInt(W(352,"29JD"))/2+-parseInt(W(265,"gzPd"))/3+parseInt(W(269,")w^w"))/4*(parseInt(W(493,"RHBr"))/5)+parseInt(W(213,")ACx"))/6+parseInt(W(296,"hquK"))/7+parseInt(W(335,"e6^V"))/8)break;e.push(e.shift())}catch(W){e.push(e.shift())}}();import{c as _0x314c04}from"react/compiler-runtime";import _0x4aca19 from"react";import{View,Text,StyleSheet}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x2a3137,{useSharedValue,useAnimatedStyle,runOnJS,ZoomIn,FadeOut}from"react-native-reanimated";import{Canvas,Rect,RoundedRect,Path,Skia,LinearGradient,vec,Group,Circle}from"@shopify/react-native-skia";import{useBlukStore,useShowPerfect,useBlockColorIndex}from"../BlukStore.js";import{BLUK_GAME_CONFIG,BLUK_COLORS,BLOCK_3D_CACHE}from"../BlukConstants.js";import{getGameDimensions}from"../../../services/UtilsService.js";function _0x438c(){const W=["WOmzWOxdK8kc","xYemWRmUsI8","W7hdGmk+WRndWR4","WQ4YjmkMW50","WQX8WQzL","W6RdHSkIWRPZWOK","W487WOFcOtNcSSk7W7u","m8kAAmo2pSoPzmorg3pdOW","WRJdLSkxW5RcOWtcRmoWW6pcNJ/dIW","tZqnWQyQ","D3KBlYC","WQLNpwC3","AqddP1JdQq","WQymWQK","WP0uW7VdK38","WRvoiWFcVmoXW7e","WQCmWQtdV8kvWPW","BcevWR4","WOqCW6VdHrlcGcVcPW","WRX5W5JcOmoS","WRm3W4vyW5RdPSojW7ddN39Z","aKtdGq","WRb8WR1UcW","wSovWR7cVxK","WRddHruFpW","DgGqjsDTa3H5WQPtfSoTWO95W7q","ds92w8k4W7/cMW","CmkBpCo7W67dQ1L7WQO","WPjJcG","WOiwW5NdGhXOW6pcPa","o8k0WPRdMmkxWOC","WPKgDKvw","WPyVW6rFW7K","gmkFpg4","WQqsW6ZdHa","WOXFW4pdM20","W6xdR2FdNSog","WR9me2TAx04","WPrPhCkhECopFCkvWPhdNSkrWOddKKPrjaFcMYToW63dUCkvWOxcRG","WO0igCkVW5W","D3Kdmty","WOVcV2ZcSLr+W7fq","f8kEvZRdRW","WPddPHSP","WPG6WPtdLmkIWQSHWOZcSmo7k2TtrsW","dSkBqSo6WQNdIH7cPmoZWPq7lW","ab3dJqVdU8ovW45sW65XbrSaWRxcV8oC","rIRdQ2ldLa","sdFcMYK2","WR9ekxyg","W4anWR3cIXi","lN/cN8oYF3q","W5JcPmoInq","WOzXW5FcSq","WPddOG4","WPS8W6y4W5niBSoujLLtrCkzcCoiW6JcIq","ymkKWORcUsGcW4W","WO/dRamOdq","zwZdPKLvhdXy","WPmDdq","WQTqbw1x","WQ0FWR7dV8kcWRyDWQJcI8oagq","eg8zW5JdN8oBke1/WROq","WRG9v0fJ","W45jW5C2WOjTwfmemCoOW5GgW6BcPmknW57dGW7dIWtdPCoUW4mf","uHqOWPmB","WOtcPtpdG8o6imk2d8o5ExL1sry0FG","W5hdJ8odlHRdVt5lW7aRWRC","W7DbDJBdRmoGWQRcQN90W508W7znW5dcR8kHxCoH","W6xcL8ksWRddHW","iZTVta","u8obWRFcOgJdQW","W5nAW5mNWPaVwKe","WO9UjfXRBMNdGmoqo2BcGIXrW7VdNvtcO8oPqmoW","W6WFWPBcQqq","W7BdLNhdG8ocW57dNCkw","WQPFW5VdHG","ihxcNCoX","W6ZdQSkYWOrZ","hSkaumoKWRBdHWBcNSo7WPyW","pmk7tmooga","WPTydN4QW7rDW5G","W7ZdJxddImoIW6u","WPziDI9a","jgJcNSo7F14GAmkNWRO5","u8kQhCosW4ddJu47","nmkdqHldIN86WQ3dRCk0qYBcTNC","j8ksB8oU","WP7cUxhcS0TpW51bWQm","WRGzWQpdVSkDWPeLWRxcM8oBha","W67dNCkPWRPY","WOTec2i4","EwRdU0v1gG","WPSfDeHv","WOvjsYLG","WPxdPH8HaxO","WQuBW58fW7y","WONdSrCOgMjyW5VcNmoPD8kv","WQiHW6bcW5q","WQW4W6yC","BCkjWOtcTZy","WR0mWR3dPmkt","sdFcKtSH","WOrGfCknyq","FH/dRwNdP2e","bCkJyWZdRKS","WRKmWRu","WOHrW5RdGgW","W7GRW4bpceHIWOrdWQxcVIhdGW","lwSaW5S","WPDjkgGE","CsekWRm","W7ZdI8kJWRL7WQtcNCoDbwOQla","WQnjlaBcGa","BXq1WRWn","WRjEo8kKt8o4tmkOWOhdQ8kHWQFdTK1Q","zCo6WPeJ","WRDGWQ1scSoB","gmkftmo3WRhdVW","jCkCBSoOnG","ySoztCkfxG","WQTjA2nSA8kCWRieemknWOldGmkk","d8kvW6ddPJxcRCklwuiBW47cHq","WOqlW5ZdNhLWW77cR2C","hSk5WPJdSCkj","W6NdM8kXWRHKWR3cImomjLS","uSoVWQSVWQG","rwldOuG","WRuZW4ldMLe","WQH5k14pW5rNW6lcHavGW41oiaybWOb0s8oM","jhxcN8oHwhu1Eq","W7iUuXJdPCoX","WP0uW63dIvL7W7lcOa","omkftmo3WRhdSbBcTCoT","f8k+DZldRG","WQ5wfhDB","WRtcHWtdTmoleCkr","WP1BW5VdVMbLW6iC","WPbirsHChe0","WP8SW6agW5DtDa","pCkitSoXWPVdLbRcSq","W7JcHmoDWPFdGvZcPCoNW7VcIc/dTeldKmoW","WOpcMuRcMwC","kN/cMmoYy2G","W6tdGeFcS8kwtCkpomoNsfDO","x0hdOMnu","WOPvbNe6WQHvW5pcPJPGW6zMbcyOWPzazSoCW4NcLMRdIuK","BaNdVhFdO3jFD2BdNg7cG8kqdhtcJCkj","WPH2ccdcKa","WQ1QWOuysHK1WPa","WPORW70AW4y","eKldGSootfRdGmkGx8oroq","WOVcV2ZcSLrOW7fuWQDlqa","yN/cU3JcNSk6W7zHW4bYeYy","W7pdI3ldGSoe","gmkclvKBkdGzaW","W6eHWOSYlmkpCa","e3OhW5FdJG","DSoPWOaQWPtcNa","W6HtWOZdO8k8WPddVq","WQeYW4zxW5ddL8oBW53dHNb0WR7dNtFcLCon","BSkaoCoXW5hdOq","W6PCnxm+zCoBWPHr","i3JcGSo6z2K7Eq","WOj5cxyRW74","imkAF8oYoG","WOSpemkAW4WcWO5CnG","WPNdQGu2bw9aW6hcLmoRFa","EbNdQKJdOxvyDMS","W63dNmkJWR4","a38zW4ZdN8owka","W7dcJSkYWRpdLa","vCk9WPFcPq","s8oiWQpcV2NdHW","W7KlFN3dR8kSW4/cGaDAWOmM","mCkCAq","pr7dGqVdQa","WPJcVMBcJKvm","iCooWOKeWQ/cOci","WO1daKaRW6a","x8osWQpcOwJdSCkv","W53cH8olWPRdPG","bv/dImosrq","WPRcI2BcN24","W57dGSoC","WP4zz0Pgnq","id7dUIhdHmoVW4PRW4vrmG","W7ddJmophHK","W5G4WPJcUZa","WQXjy3TL","WQKLtgH5d8k/ACkZDG","WQTmzNzmA8kkWOu","WPbcEZv3euJcVHmSW5nuW7pdMmkKCa","DSoZWOWNWOtcIWldJa","WPddRaaJpwe","e0xdK8oiAG","wYNdMN3dH0rLs1RdJ1pcUW","WOugBu4","W4VcMCkvWRO","WONdSrCOgMjyW5VcKmoE","sdtcMsOMeSkUaCkEfJukWPG+A8oGhq","ucupWReOqW","WQtcHG/dQSol","lSk2lLa5","WPTrWOvXkW","WO0AWOfTW4D2b1K6eSovW6Oo","WPf/aKbP","WOhcQhFcQevyW41qWRjhrmohxG","tSoiWQtcVwK","WOSWW7yaW5O","q2RdSfC","WP4mW77dN3nSW4dcQgqZW7W","WRPvbge","W6NdM8kXWRHKWR3cImomjLO","l3/cNmo6","W6tdNCoxprT9CSod","W5ORWPxcOcBcQ8kUW6qsmJxdQG","bmkKxSodbSoxtSopnuRdMCkDWObiWO/dNa","W59aW5m0WOq","WRfjW53cJmol","WO/cOwZcV0TPW79oWQvfxG","WQ1/W5lcOmotW4ddLCkVC8oZ","xYWeWRCU","WP7dRbGYcgDxW4RcHW","W4hdHmoolfNcJgOqWQP4W7hdMCoLWPXgkCkeWR7cNYiAWPC","zSkPWPhcVYqcW58","W5RcMmovWQxdPW","WOjiCq","WRTCfuPlue7dTq","WPZdPXiuo2TAW5S","WODcBtvbcW","cK7cMmo3BG","C8o0WPC","DMOaiMO+wWS6W7qlr8kQW5aPWQ8","WOmAW7ZdMa4","WOdcRhS","ymoOWOayWPtcMbpdHW","mNxcMmo7F3K9wCkLWRa6CCkp","zSoVWPCKWOVcNa","WQH4W5xcUmoGW5FdMCkM","WPb0cGBcMmooW4hcKW1pWQOFWOT4WQtcM8on","WPGAW7BdItlcHG","WPGlW6NdVx1KW7G","WOqgW6VdHa","ECo0W5/cGCokW5PldhS7WQHthW","bvNcVCotta","W6OwmdC8lmoDWOSYlSkCWRRdHG","WQa1WOhdMCk+","WOGwW7JdLwPGW7NcPG","wdutWRCOqHHZ","eSkmsSoZWRldKG","u8kMa8oyW4tdNevCWOHvF8kXWPZdOs7dLh4","WPrRgmkpiSkkkmoxW7/cGmopW5pcLsSmCfK","zCoYWOKNWOhcIXtdOCofn8o5WRRcIMqLW7a","WP7dRbOPgW","W5FcTmo2mYeKvq","WRK+W4nCW5NdKq","WQ1QWOD6pW","W7ddJmoraqr5rCohWP8","W7JdHCk1WRTYWR/cNCol","WPDtEI1b","W6OvndK8kCkeWOCanCk3WOe","WPvsyIvWfG","EbJdPeVdTa","W7jPW6KjW7lcL8oR","WOeaW7tdHcO","W4m4WOW","gtnGxCk1","WRHpA2b/","x27dR1j7","WQ5Ea3GxaW/cPCkZxqZdUfu3WOVcUIFdLmkln8ksAq","WOXyfxe","zCoakCkYbCoYt8oRehS","W50SWPBcVtBcTCkMW7iE","eKddOmo4ra","jmkLWOBdKmkiWOO","W6GGwq","WRTLW4/cVa","W7CMqXxcQCkyW5q1vG/cPCoTzSkKwg7cVa","fxhdQmoCrW","WPOrW6JdHha","W4ddRvldOCo3W5JdRCkKW4RdKui","WPGogSkXW54","gwJdHM4ehmkziCkgeG","jcpdRdRdHW","sdiaWRGVrXzPW7tdTshcSG","pH/dUHtdOq","W6RdOCoHpdu","WO0ib8kWW4ebWRXwjSkyxq","cCkRDG","WRj2WRPMcSoEr8kiW6iTWRu","WQP3W6pdOKLwW44/W5BcISkiEG","WQqsW7y","u8koo8o8","WQ4DaCk3","FCoiwSkot30","W7pdKwZdN8otW6tdHG","WQLReu9v","WQ96W5hcVSor","mSkDECoWga","WPPCWQu8EZ4fWRzYWQlcVqZdUa","z3GqmsDGaW","WRGzWQJdVCkt","BSkuWRtcHqS","W5W2WOdcRYhcRSkGW74","W7ldMCkXWRv+WQxcKa","WQadW7ddRG8","WO0BBevg","WPzJcCkhFSosD8kj","hSkvp0mbida","WO1daLeVW6PuW5tcQJzu","WOiAu0DtkCkftSko","WQtcN8oOW6eHW6hcUmoUdveQjG","dCoBW6hcRZ/dO8ovqIa","W6ddTmoPccxdOqX1W4KE","ixlcMmo5B24QCG","isxdVsddIW","WO9za2yM","W6n4FGJdQCkKWQ4","cdv2","WQzmqs12","W77dSfFdQmoX","WRnxW5FdIgm","WRfCfxX2","WPCgW6RdNGpcHZa","W54CWQ7cMri","WPPjAKnSymkkWPy","WRfwf3XRxG","WQlcGrpdI8oleSkk","bge6W7JdNG","WPVdSrKOhuXwW5VcGCoPDa","imkCACoQnSoq","WPzTdSkg","WPlcKd7dQSoH","WPLlW53dNg1QW6u","WOVcV2ZcSLq","WPmPW7mxW5TjEq","cSkci1KCddGFgSoNyq","WPSeWR3dVCkxWOybWP/cNSobaK1S","WP/cONBcSKq","W6/cJSojWOZdOa","W7xdJmk5WRf/WQu","E8kejCoZW4G","WRXfC19LEmkCWOe","WR0xW5e8W71Vx8oV","vfxdKLzv","lSkVWPO","WQxcLXFdPCoAuCkioSoBqNLbyteiu8oYuKJdQxDVvtBcNG","WQiVW5HuW5RdGa","WRL/W4NcUSoG","WQmeWRxdTCktWPO","nsxdUG","WQ5skc8","pmk5ahSPhaG4j8omsCkVW4/dVIOJ","W78oWQ7cUYW","WOLiDsrWfG","W6tcHmomWOtdUKa","nsBdRty","WQLnpmk6CG","W7VdL8o4dWu","WRXSWPiQsHeUWPS","W7RcImoaWPtdNLhcOSo3","WPGlW6NdS3LLW7VcO2eKW78","WR7dR8kwWPjvWPpdNq","WPmwpCknW4u","krpdQrBdOa","W4XnW4i9","nKxdK2zNmXu","x8ogWR/cPwZdRmk2v3CkW5C","W4WrWRFcUdi","WPDtCs5phh7cSXGVW6K","WQObWRJdTSkyWR0gWRNcKSoC","W7rOkGxcLSofW5S","WQGcWR3dVSkeWOC","WOTUvNz6","d8kfpKunicm","W77cG8oZaJe","WO5gk34V","WQm0W59vW5u","WPDBW4ldGq","Cx4hbIrOeLHI","WQnindJcVmoYW6O","d8kFifGA","WQPRWP01zW","WR0XW4ddVfLBW4JcHuuxW4dcUG","WOPLfmklxSou","W5ZcQmoPWQ/dK2BcM8oxW5VcRW","WO7dTXO2hW","WQFcOhNcRNO","CSk1WOFcUsK","D8oFw8kht0hcS8og","WRXSWPi8wby/WP1d","D8k7WOhcRgLEWP7cHIldT8kAWQldJbdcIh1qW5xcJuehrW","CMWonIC"];return(_0x438c=function(){return W})()}import{jsx as _0x495bbc,jsxs as _0x30c436}from"react/jsx-runtime";const{screenWidth:screenWidth}=getGameDimensions(),C=BLUK_GAME_CONFIG,SCREEN_HEIGHT=C[_0x151dae(391,"wA]3")],DEPTH=C[_0x151dae(475,"^@$)")],BLOCK_SIZE=C[_0x151dae(281,"vFGB")],HALF=BLOCK_SIZE/2,BLOCK_PAD=Math[_0x151dae(469,"7l)S")](.45*BLOCK_SIZE),BLOCK_CANVAS=BLOCK_SIZE+2*BLOCK_PAD,MARGIN=screenWidth,BAND_INTERVAL=22,SCOREBOARD_HEIGHT=90,CX=BLOCK_CANVAS/2,HEAD_R=Math.round(.28*BLOCK_SIZE),HEAD_Y=BLOCK_PAD+HEAD_R,BODY_TOP=HEAD_Y+HEAD_R+1,BODY_H=Math[_0x151dae(148,"t4dY")](.34*BLOCK_SIZE),BODY_W=Math[_0x151dae(407,"DYR1")](.36*BLOCK_SIZE),BODY_BOTTOM=BODY_TOP+BODY_H,ARM_LEN=Math[_0x151dae(122,"vFGB")](.28*BLOCK_SIZE),LEG_LEN=Math[_0x151dae(440,"^^I*")](.3*BLOCK_SIZE),LIMB_W=Math[_0x151dae(150,"0gcA")](3,Math.round(.09*BLOCK_SIZE)),EYE_R=Math[_0x151dae(367,"jRbF")](2,Math.round(.2*HEAD_R)),PUPIL_R=Math[_0x151dae(145,"t4dY")](1,Math[_0x151dae(198,"Cn6v")](.55*EYE_R)),EYE_SPACE=Math[_0x151dae(226,"s$tA")](.45*HEAD_R),MOUTH_W=Math[_0x151dae(174,"q!)]")](.6*HEAD_R),BODY_PATH=(()=>{const W=_0x151dae,e=Skia[W(502,"w9]U")][W(289,"MeaQ")](),t=Math[W(148,"t4dY")](.3*BODY_W),o={};o.x=CX-BODY_W/2,o.y=BODY_TOP,o[W(358,"sXQh")]=BODY_W,o[W(341,"2gg6")]=BODY_H;const d={};return d.rect=o,d.rx=t,d.ry=t,e[W(320,"t4dY")](d),e})(),LEFT_ARM_PATH=(()=>{const W=_0x151dae,e={};e[W(445,"Dj0(")]=function(W,e){return W+e};const t=e,o=Skia[W(125,"[[()")].Make();return o.moveTo(CX-BODY_W/2,BODY_TOP+4),o[W(487,"pL7o")](CX-BODY_W/2-ARM_LEN,t[W(496,"R4*K")](BODY_TOP,.8*ARM_LEN)),o})(),RIGHT_ARM_PATH=(()=>{const W=_0x151dae,e={};e[W(205,"w9]U")]=function(W,e){return W*e};const t=e,o=Skia[W(263,"iB8&")].Make();return o[W(446,"q!)]")](CX+BODY_W/2,BODY_TOP+4),o.lineTo(CX+BODY_W/2+ARM_LEN,BODY_TOP+t[W(154,"vFGB")](ARM_LEN,.8)),o})(),LEFT_LEG_PATH=(()=>{const W=_0x151dae,e=Skia[W(167,"Cn6v")][W(202,"w9]U")]();return e.moveTo(CX-.22*BODY_W,BODY_BOTTOM),e[W(183,"NaGV")](CX-.35*BODY_W,BODY_BOTTOM+LEG_LEN),e})(),RIGHT_LEG_PATH=(()=>{const W=_0x151dae,e={};e[W(499,"^@$)")]=function(W,e){return W+e};const t=e,o=Skia[W(385,"0gcA")].Make();return o.moveTo(CX+.22*BODY_W,BODY_BOTTOM),o[W(173,"L5IZ")](CX+.35*BODY_W,t[W(184,"vFGB")](BODY_BOTTOM,LEG_LEN)),o})(),SMILE_PATH=(()=>{const W=_0x151dae,e={};e[W(465,"29JD")]=function(W,e){return W/e},e[W(378,"wziC")]=function(W,e){return W*e},e[W(262,"MeaQ")]=function(W,e){return W/e};const t=e,o=Skia[W(362,"s$tA")][W(144,"^^I*")]();return o[W(252,"tubA")](CX-t[W(488,"0gcA")](MOUTH_W,2),HEAD_Y+t[W(295,"oU70")](HEAD_R,.25)),o[W(353,"q!)]")](CX,HEAD_Y+.65*HEAD_R,CX+t[W(468,"R4*K")](MOUTH_W,2),HEAD_Y+t[W(187,"Q&eA")](HEAD_R,.25)),o})(),getBlockColors=W=>BLOCK_3D_CACHE[W%BLOCK_3D_CACHE[_0x151dae(292,"w9]U")]],buildPillarSkia=W=>{const e="#5gb",t=_0x151dae,o={cZYbg:function(W,e){return W/e},nTIEG:function(W,e){return W+e},MUOFC:function(W,e){return W-e},VypFu:function(W,e){return W-e},XKNjI:function(W,e,t){return W(e,t)},GCLFG:t(329,")w^w"),oyOzP:function(W,e,t){return W(e,t)},wQRCr:function(W,e){return W-e},meteI:function(W,e,t){return W(e,t)}},d=W.worldX-o.cZYbg(W[t(504,"^^I*")],2),a=d+W[t(408,"R4*K")],n=W[t(124,"4#dD")],_=SCREEN_HEIGHT-n,r=Skia[t(190,"Q&eA")][t(200,"OKhp")]();r[t(418,"s$tA")](d,n),r.lineTo(d+DEPTH,n-DEPTH),r[t(183,"NaGV")](o[t(141,"Dj0(")](a,DEPTH),o.MUOFC(n,DEPTH)),r.lineTo(a,n),r[t(139,"xR1D")]();const x=Skia[t(384,"tubA")].Make();x[t(285,"t4dY")](a,n),x[t(332,"[[()")](o[t(156,"w9]U")](a,DEPTH),n-DEPTH),x[t(476,"r%Zp")](a+DEPTH,SCREEN_HEIGHT),x.lineTo(a,SCREEN_HEIGHT),x.close();const s=Skia[t(218,"NaGV")][t(161,"sXQh")]();for(let W=n+22;W<SCREEN_HEIGHT;W+=22)s.moveTo(o[t(233,"xw#P")](d,2),W),s.lineTo(o[t(215,"e6^V")](a,2),W);const i=o.VypFu(W[t(422,e)],o[t(370,"EJ[8")](C[t(157,"[N3[")],2));return _0x30c436(Group,{children:[_0x495bbc(Rect,{x:d,y:n,width:W[t(358,"sXQh")],height:_,children:_0x495bbc(LinearGradient,{start:vec(d,n),end:o[t(239,"gzPd")](vec,d,SCREEN_HEIGHT),colors:[BLUK_COLORS[t(382,"Cn6v")],BLUK_COLORS.PILLAR_FRONT_MID,BLUK_COLORS[t(342,"tubA")]],positions:[0,.32,1]})}),_0x495bbc(Path,{path:s,style:o[t(336,"jD4K")],strokeWidth:1,color:BLUK_COLORS[t(372,"L5IZ")]}),_0x495bbc(Rect,{x:d,y:n,width:2,height:_,color:BLUK_COLORS[t(331,"gzPd")]}),_0x495bbc(Path,{path:x,children:o[t(219,"^@$)")](_0x495bbc,LinearGradient,{start:vec(a,n),end:vec(a+DEPTH,SCREEN_HEIGHT),colors:[BLUK_COLORS.PILLAR_SIDE,BLUK_COLORS[t(444,"4#dD")]]})}),o[t(201,"R4*K")](_0x495bbc,Path,{path:r,children:_0x495bbc(LinearGradient,{start:vec(a+DEPTH,o.wQRCr(n,DEPTH)),end:vec(d,n),colors:[BLUK_COLORS[t(220,"R4*K")],BLUK_COLORS[t(477,"RHBr")]]})}),o[t(348,"oU70")](_0x495bbc,Rect,{x:d,y:n,width:W[t(151,"s$tA")],height:2,color:BLUK_COLORS.PILLAR_EDGE_LIGHT}),o[t(414,"s$tA")](_0x495bbc,RoundedRect,{x:i-7,y:n+2,width:C.SWEET_SPOT_WIDTH+14,height:16,r:8,color:BLUK_COLORS[t(164,"s$tA")]}),_0x495bbc(RoundedRect,{x:i-4,y:o[t(267,"DYR1")](n,5),width:o[t(412,"L5IZ")](C[t(137,"DYR1")],8),height:12,r:6,color:BLUK_COLORS.SWEET_SPOT_RECESS}),_0x495bbc(RoundedRect,{x:o[t(317,"RHBr")](i,2),y:n+4,width:C.SWEET_SPOT_WIDTH+4,height:10,r:5,color:BLUK_COLORS[t(135,"@o[M")]}),_0x495bbc(RoundedRect,{x:i,y:n+7,width:C[t(308,e)],height:4,r:2,color:BLUK_COLORS[t(405,"wziC")]})]},W.id)},PillarsCanvas=_0x4aca19.memo(({cameraX:W})=>{const e=")ACx",t=_0x151dae,o={Iixfk:function(W,e){return W-e},MzVrg:function(W,e){return W+e},Qfnyt:function(W,e){return W(e)},uslhL:function(W,e,t){return W(e,t)}},[d,a]=_0x4aca19[t(451,"wA]3")](0);_0x4aca19.useEffect(()=>{const W=t;return useBlukStore[W(259,"vXE8")](e=>e[W(212,"29JD")],()=>a(W=>W+1))},[]);const{elements:n,canvasWidth:_,renderOffsetX:r,viewLeft:x}=_0x4aca19[t(419,"[N3[")](()=>{const W=t,d=useBlukStore[W(306,"xT5m")]().pillars;if(0===d.length){const t={};return t[W(350,"pL7o")]=[],t[W(459,e)]=screenWidth,t.renderOffsetX=0,t[W(452,"RHBr")]=0,t}let a=o[W(413,"Cn6v")](d[0].worldX,d[0][W(300,"Q&eA")]/2),n=d[0][W(222,"jRbF")]+d[0].width/2;for(let t=1;t<d[W(386,"[oUT")];t++){const _=d[t],r=_[W(264,e)]-_[W(480,"iB8&")]/2,x=o.MzVrg(_[W(490,"pL7o")],_[W(256,"#5gb")]/2);r<a&&(a=r),x>n&&(n=x)}const _=MARGIN-a,r=n-a+2*MARGIN+DEPTH;return{elements:d[W(275,"wziC")](buildPillarSkia),canvasWidth:Math[W(113,"oU70")](r),renderOffsetX:_,viewLeft:a-MARGIN}},[d]),s={};s[t(290,"t4dY")]=-W[t(279,"Dj0(")];const C=o[t(272,"RHBr")](useAnimatedStyle,()=>({transform:[s]})),i=_0x4aca19.useMemo(()=>({left:x,width:_}),[x,_]),O={};O[t(375,"DYR1")]=_,O[t(432,"pL7o")]=SCREEN_HEIGHT;const R={};R.translateX=r;const u={};return u[t(246,"4#dD")]=[R],u[t(406,"jD4K")]=n,_0x495bbc(_0x2a3137.View,{style:[styles[t(251,"7l)S")],i,C],pointerEvents:t(288,"vFGB"),children:_0x495bbc(Canvas,{style:O,children:o[t(356,"[[()")](_0x495bbc,Group,u)})})});PillarsCanvas[_0x151dae(242,"EJ[8")]=_0x151dae(429,"@o[M");const BlockView=_0x4aca19[_0x151dae(470,"Cn6v")](W=>{const e=")ACx",t="@o[M",o="pL7o",d="[N3[",a="t4dY",n="[N3[",_="0gcA",r="[oUT",x="7l)S",s="q!)]",C=")w^w",i="xw#P",O="NaGV",R="#5gb",u="gzPd",P=_0x151dae,S={stlpv:function(W,e,t){return W(e,t)},TphBi:function(W,e){return W(e)},AHaMR:P(404,e),GtNdH:P(439,"7l)S"),MFcYV:function(W,e){return W===e},JmzrZ:P(155,"hquK"),hUgzw:P(324,"6dSH"),kHWHJ:function(W,e){return W-e},HtTBt:P(458,"NaGV"),pEZWG:function(W,e){return W-e},ceVEL:function(W,e){return W+e},mjHRo:"#F5C99A",BzoGm:function(W,e){return W*e},wFeCN:function(W,e){return W===e},EbHlO:function(W,e){return W-e},MBfaj:function(W,e){return W!==e},HCHPs:function(W,e){return W===e}},l=_0x314c04(33),{blockX:k,blockY:m,rotation:b,opacity:D,cameraX:H}=W,h=useBlockColorIndex();let A;l[0]!==h?(A=getBlockColors(h),l[0]=h,l[1]=A):A=l[1];const E=A,f={};f[P(216,"pL7o")]=k[P(192,"@o[M")]-H.value-HALF-BLOCK_PAD;const G={};G[P(304,"pL7o")]=m.value+HALF-(BODY_BOTTOM+LEG_LEN);const L={};L.rotate=b[P(484,"6dSH")]+P(197,t);const B=S[P(397,"[[()")](useAnimatedStyle,()=>({transform:[f,G,L],opacity:D[P(126,"Cn6v")]}));let K,M,T,I,Q,p,v,N,w,y,V,Y,g,q,X,F,U,j,J;if(l[2]!==B?(K=[styles[P(497,"vXE8")],B],l[2]=B,l[3]=K):K=l[3],l[4]!==E[P(428,"4#dD")]){const W=S.AHaMR[P(248,"OKhp")]("|");let e=0;for(;;){switch(W[e++]){case"0":const W={};W.path=RIGHT_LEG_PATH,W[P(181,o)]=S.GtNdH,W[P(277,"DYR1")]=LIMB_W,W.strokeCap="round",W.color=E[P(243,"xw#P")],T=_0x495bbc(Path,W);continue;case"1":const e={};e[P(457,"hquK")]=LEFT_LEG_PATH,e[P(293,d)]=S[P(123,"7l)S")],e[P(302,"^@$)")]=LIMB_W,e[P(118,"tubA")]=P(226,"s$tA"),e.color=E[P(152,"@o[M")],M=_0x495bbc(Path,e);continue;case"2":l[4]=E[P(421,a)];continue;case"3":l[6]=T;continue;case"4":l[5]=M;continue}break}}else M=l[5],T=l[6];if(S[P(297,"s$tA")](l[7],Symbol[P(266,"#5gb")](P(438,n)))?(I=S[P(130,_)](vec,CX,BODY_TOP),Q=vec(CX,BODY_BOTTOM),l[7]=I,l[8]=Q):(I=l[7],Q=l[8]),l[9]!==E.front||l[10]!==E[P(132,"xw#P")]){const W={};W[P(131,"6dSH")]=I,W.end=Q,W[P(464,t)]=[E[P(481,r)],E.front],p=_0x495bbc(Path,{path:BODY_PATH,children:S[P(494,"w9]U")](_0x495bbc,LinearGradient,W)}),l[9]=E[P(398,"vFGB")],l[10]=E[P(166,"L5IZ")],l[11]=p}else if(S.MFcYV(P(189,x),P(169,o))){const W={};W[P(225,"CUpy")]=_0x33e0d1[P(158,"wziC")],W[P(172,"R4*K")]=[_0xaf397f,_0xf272fe,_0x464718,_0x1e7ce8,_0x2afc78,_0x3e1b94,_0x15768a,_0x594d2a,_0x5149cc,_0x4c332d,_0x1b6072,_0x56d440,_0x3b053c,_0x1f389d],_0x3dbcfb=S[P(182,"R4*K")](_0x309ebe,_0xfd7cfc,W),_0x2aa0dd[24]=_0x242e33,_0xfd8d30[25]=_0x38d4ef,_0xa38ffd[26]=_0x1252d8,_0x561420[27]=_0x8b6cbb,_0x1bf93c[28]=_0x40de2c,_0x383978[29]=_0x52ab85}else p=l[11];if(l[12]!==E[P(373,"0gcA")]){const W={};W.path=LEFT_ARM_PATH,W[P(273,"EJ[8")]=S[P(140,"R4*K")],W[P(461,s)]=LIMB_W,W[P(349,"xT5m")]="round",W[P(473,"4#dD")]=E[P(241,"Q&eA")],v=_0x495bbc(Path,W);const t={};t[P(207,C)]=RIGHT_ARM_PATH,t[P(495,"6dSH")]=P(329,")w^w"),t[P(379,_)]=LIMB_W,t.strokeCap=P(430,i),t.color=E[P(114,e)],N=_0x495bbc(Path,t),l[12]=E[P(426,i)],l[13]=v,l[14]=N}else v=l[13],N=l[14];if(l[15]===Symbol[P(323,")w^w")](S[P(360,"NaGV")])){const W={};W.cx=CX,W.cy=HEAD_Y+2,W.r=HEAD_R,W[P(245,"L5IZ")]=S[P(191,"iB8&")],w=_0x495bbc(Circle,W),l[15]=w}else w=l[15];if(S[P(138,"vXE8")](l[16],Symbol[P(410,"sXQh")](P(237,"R4*K")))){const W=P(159,"gzPd").split("|");let e=0;for(;;){switch(W[e++]){case"0":V=S[P(478,"t4dY")](_0x495bbc,Circle,{cx:S.kHWHJ(CX,EYE_SPACE),cy:S[P(394,"iB8&")](HEAD_Y,.08*HEAD_R),r:EYE_R,color:S[P(485,t)]});continue;case"1":l[17]=V;continue;case"2":l[16]=y;continue;case"3":l[18]=Y;continue;case"4":g=_0x495bbc(Circle,{cx:S[P(416,"Dj0(")](CX,EYE_SPACE)+1,cy:HEAD_Y-.05*HEAD_R,r:PUPIL_R,color:P(355,x)});continue;case"5":const W={};W.cx=CX+EYE_SPACE,W.cy=HEAD_Y-.08*HEAD_R,W.r=EYE_R,W[P(431,"RHBr")]=S[P(450,"wziC")],Y=_0x495bbc(Circle,W);continue;case"6":q=S[P(278,"xT5m")](_0x495bbc,Circle,{cx:S.ceVEL(S.ceVEL(CX,EYE_SPACE),1),cy:HEAD_Y-.05*HEAD_R,r:PUPIL_R,color:P(247,"oU70")});continue;case"7":y=S[P(354,"vXE8")](_0x495bbc,Circle,{cx:CX,cy:HEAD_Y,r:HEAD_R,children:_0x495bbc(LinearGradient,{start:vec(CX-HEAD_R,HEAD_Y-HEAD_R),end:vec(CX+HEAD_R,HEAD_Y+HEAD_R),colors:[P(454,"pL7o"),S[P(455,"0gcA")],P(409,"gzPd")]})});continue;case"8":l[19]=g;continue;case"9":l[20]=q;continue}break}}else y=l[16],V=l[17],Y=l[18],g=l[19],q=l[20];if(S[P(115,a)](l[21],Symbol.for(S[P(479,"xw#P")]))?(X=_0x495bbc(Circle,{cx:CX-EYE_SPACE-.5,cy:HEAD_Y-S.BzoGm(HEAD_R,.15),r:Math.max(1,.5*PUPIL_R),color:P(361,"s$tA")}),l[21]=X):X=l[21],l[22]===Symbol[P(437,"e6^V")]("react.memo_cache_sentinel")?S[P(274,"xw#P")]("AVGvt",P(436,O))?(F=_0x495bbc(Circle,{cx:S[P(171,"#5gb")](CX+EYE_SPACE,.5),cy:S[P(424,n)](HEAD_Y,.15*HEAD_R),r:Math[P(380,"CUpy")](1,.5*PUPIL_R),color:P(315,"wziC")}),l[22]=F):_0x421ddf=_0x31cab4[3]:F=l[22],l[23]===Symbol[P(318,s)]("react.memo_cache_sentinel")?P(236,"NaGV")===P(467,"v8f4")?(U=_0x495bbc(Path,{path:SMILE_PATH,style:S[P(217,C)],strokeWidth:Math[P(357,"Dj0(")](1.5,.5*LIMB_W),strokeCap:P(210,R),color:P(250,"^^I*")}),l[23]=U):_0x58d827[P(466,"4#dD")](_0x2e3e8d,_0x109567):U=l[23],l[24]!==M||l[25]!==T||l[26]!==p||l[27]!==v||l[28]!==N){const W={};W.style=styles[P(111,x)],W[P(330,"^^I*")]=[M,T,p,v,N,w,y,V,Y,g,q,X,F,U],j=_0x30c436(Canvas,W),l[24]=M,l[25]=T,l[26]=p,l[27]=v,l[28]=N,l[29]=j}else j=l[29];if(l[30]!==j||S.MBfaj(l[31],K))if(S.HCHPs(P(204,u),P(474,"wA]3"))){const W={};W[P(211,r)]=K,W[P(328,"jD4K")]=P(443,u),W.children=j,J=_0x495bbc(_0x2a3137[P(301,O)],W),l[30]=j,l[31]=K,l[32]=J}else{const W=P(253,"29JD").split("|");let e=0;for(;;){switch(W[e++]){case"0":_0x4fa3c3[6]=_0x577b10;continue;case"1":const W={};W[P(178,R)]=_0x37eef2,W[P(293,d)]="stroke",W[P(302,"^@$)")]=_0x1a6d2e,W[P(179,"xw#P")]=P(299,")ACx"),W[P(345,"t4dY")]=_0x687afb.frontBottom,_0x4271c8=_0x548d35(_0x510e9a,W);continue;case"2":const e={};e[P(423,"r%Zp")]=_0x45e1ba,e[P(393,t)]=P(121,"e6^V"),e[P(180,"@o[M")]=_0x3cdfb4,e.strokeCap=P(148,"t4dY"),e[P(359,"29JD")]=_0x54adcb[P(175,"jD4K")],_0x593d1f=_0x46bb33(_0x16493d,e);continue;case"3":_0x1b33a1[4]=_0x1acc97.frontBottom;continue;case"4":_0xb4604c[5]=_0x143c46;continue}break}}else J=l[32];return J});BlockView[_0x151dae(170,"2gg6")]=_0x151dae(224,"2gg6");const MAX_AIM_DOTS=BLUK_GAME_CONFIG[_0x151dae(206,"r%Zp")],AIM_DOT_RADII=[],AIM_DOT_COLORS=[];for(let W=0;W<MAX_AIM_DOTS;W++){const e=W/MAX_AIM_DOTS;AIM_DOT_RADII[_0x151dae(334,"[[()")](Math[_0x151dae(326,"xw#P")](5.5-3.5*e,1.5)),AIM_DOT_COLORS.push(_0x151dae(369,"jRbF")+(1-.72*e).toFixed(2)+")")}const AimLayer=_0x4aca19[_0x151dae(134,"t4dY")](({aimRef:W})=>{const e=_0x151dae,t=e(322,"jD4K"),o=_0x4aca19[e(208,"oU70")]([]),[d,a]=_0x4aca19[e(327,")w^w")](0);_0x4aca19[e(257,"0gcA")](()=>{const t=e,d={};d[t(286,"EJ[8")]=function(W,e){return W>e};const n=d;return W.current={update:W=>{o[t(425,"Cn6v")]=W,a(W=>W+1)},clear:()=>{const W=t;n[W(390,"#5gb")](o[W(261,"OKhp")][W(142,"jD4K")],0)&&(o.current=[],a(W=>W+1))}},()=>{W[t(415,"[[()")]=null}},[W]);const n=_0x4aca19[e(500,"gzPd")](()=>{const W=e;if("HTibe"===t){const e=o.current;return 0===e[W(366,"e6^V")]?null:e.map((W,e)=>_0x495bbc(Circle,{cx:W.x,cy:W.y,r:AIM_DOT_RADII[e]??1.5,color:AIM_DOT_COLORS[e]??AIM_DOT_COLORS[0]},e))}{const e=_0x44ddca/_0x1ebb0e;_0x4b7d9a[W(368,"^^I*")](_0x152c45.max(yvHvSZ.PypvA(5.5,yvHvSZ.FkFFf(e,3.5)),1.5)),_0x3dfb1e[W(260,"pL7o")](W(343,"r%Zp")+yvHvSZ[W(377,"DYR1")](1,.72*e)[W(229,"q!)]")](2)+")")}},[d]);return n?(_=_0x495bbc,r=View,x={style:StyleSheet.absoluteFill,pointerEvents:e(489,"oU70"),children:_0x495bbc(Canvas,{style:StyleSheet[e(203,"pL7o")],children:n})},_(r,x)):null;var _,r,x});function _0x5c74(W,e){W-=111;const t=_0x438c();let o=t[W];if(void 0===_0x5c74.NKceeM){const W=function(W,e){let t,o,d=[],a=0,n="";for(W=function(W){let e="",t="";for(let t,o,d=0,a=0;o=W.charAt(a++);~o&&(t=d%4?64*t+o:o,d++%4)?e+=String.fromCharCode(255&t>>(-2*d&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let W=0,o=e.length;W<o;W++)t+="%"+("00"+e.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(t)}(W),o=0;o<256;o++)d[o]=o;for(o=0;o<256;o++)a=(a+d[o]+e.charCodeAt(o%e.length))%256,t=d[o],d[o]=d[a],d[a]=t;o=0,a=0;for(let e=0;e<W.length;e++)o=(o+1)%256,a=(a+d[o])%256,t=d[o],d[o]=d[a],d[a]=t,n+=String.fromCharCode(W.charCodeAt(e)^d[(d[o]+d[a])%256]);return n};_0x5c74.oIjDfM=W,_0x5c74.wrJiFF={},_0x5c74.NKceeM=!0}const d=t[0];_0x5c74.PxjthT!==d&&(_0x5c74.wrJiFF={},_0x5c74.PxjthT=d);const a=_0x5c74.wrJiFF[W];return void 0===a?(void 0===_0x5c74.zDSAUB&&(_0x5c74.zDSAUB=!0),o=_0x5c74.oIjDfM(o,e),_0x5c74.wrJiFF[W]=o):o=a,o}AimLayer.displayName=_0x151dae(417,"29JD");const PerfectIndicator=_0x4aca19[_0x151dae(305,"jD4K")](W=>{const e=_0x151dae,t={BkBlR:function(W,e){return W(e)},eCqww:function(W,e){return W===e},jEQiV:function(W,e){return W*e},dkQFd:function(W,e){return W!==e},sTYdd:function(W,e){return W===e},djmjU:e(456,"DYR1"),bHCvg:function(W,e,t){return W(e,t)},uKysp:e(176,"tubA")},o=t[e(411,"q!)]")](_0x314c04,10),{offset:d}=W,a=t.eCqww(d,void 0)?0:d,n=useShowPerfect(),_=a>0?a+30:15,r=Math[e(498,"@o[M")](t.jEQiV(SCREEN_HEIGHT,.3),_+90+24);let x;if(t[e(365,"EJ[8")](o[0],r))if(t[e(133,"CUpy")](t[e(389,"^^I*")],e(310,"^^I*"))){const W={};W[e(112,"EJ[8")]=r,x=W,o[0]=r,o[1]=x}else _0x386450=_0x554395[32];else x=o[1];const s=x;if(!n)return null;let C,i,O,R,u;if(o[2]!==s?(C=[styles.perfectContainer,s],o[2]=s,o[3]=C):C=o[3],o[4]===Symbol[e(442,"DYR1")]("react.memo_cache_sentinel")?(i=ZoomIn[e(340,"w9]U")](250).springify(),O=FadeOut[e(240,"wA]3")](300),R=t[e(460,"Dj0(")](_0x495bbc,Text,{style:styles[e(153,"OKhp")],children:t[e(127,"L5IZ")]}),o[4]=i,o[5]=O,o[6]=R):e(185,"q!)]")!==e(449,"r%Zp")?(i=o[4],O=o[5],R=o[6]):_0x2a49c3=_0x279e88[1],t[e(420,"OKhp")](o[7],C)||o[8]!==i){const W={};W[e(351,"q!)]")]=C,W[e(339,"^@$)")]=i,W[e(147,"iB8&")]=O,W[e(284,")w^w")]=R,u=_0x495bbc(_0x2a3137.View,W),o[7]=C,o[8]=i,o[9]=u}else u=o[9];return u});PerfectIndicator[_0x151dae(258,"t4dY")]="PerfectIndicator";const GameAreaComponent=({gameService:W,offset:e=0,cameraX:t})=>{const o=_0x151dae,d={xkjgM:function(W,e){return W!==e},BFbgQ:function(W,e){return W(e)},XPGAt:function(W,e,t){return W(e,t)},kXPHH:function(W,e,t){return W(e,t)},uRpVj:function(W,e,t){return W(e,t)}},a=useSharedValue(C[o(435,"Q&eA")]),n=d[o(294,"4#dD")](useSharedValue,C[o(177,"CUpy")]),_=useSharedValue(0),r=d[o(165,"Dj0(")](useSharedValue,1),x=_0x4aca19[o(268,"xw#P")](null);_0x4aca19[o(482,"wA]3")](()=>{const e=o,d={};d.x=a,d.y=n,d[e(395,"Dj0(")]=_,d[e(396,"pL7o")]=r,W[e(129,"r%Zp")](d);const x={};x.x=t,W.registerCameraSharedValues(x)},[W,a,n,_,r,t]);const s=_0x4aca19.useRef(!1);_0x4aca19[o(471,"6dSH")](()=>{const W=o;return s[W(271,")ACx")]=useBlukStore[W(319,"s$tA")]()[W(402,"vFGB")],useBlukStore[W(364,"Dj0(")](e=>e[W(214,"^@$)")],e=>{const t=W;s.current=e,!e&&x.current&&x.current[t(193,"xR1D")]()})},[]);const i=_0x4aca19.useRef(W);i[o(227,"[N3[")]=W;const O=_0x4aca19[o(270,"R4*K")]((W,e)=>{}),R=_0x4aca19[o(195,"vXE8")]((W,e)=>{});O[o(128,"s$tA")]=(W,e)=>{const t=o;if(!s[t(392,"6dSH")]||"resting"!==i[t(415,"[[()")][t(434,"29JD")]())return;const d=i[t(415,"[[()")][t(238,"vXE8")](W,e);if(!d)return void x.current?.[t(313,"w9]U")]();const a=i.current[t(291,"xR1D")](d.vx,d.vy);x.current?.[t(276,"vFGB")](a)},R[o(230,"Q&eA")]=(W,e)=>{const t=o;if(x.current?.[t(309,"hquK")](),!s[t(472,"gzPd")]||d[t(433,"tubA")](i[t(346,"v8f4")][t(228,"Cn6v")](),t(400,"4#dD")))return;const a=i[t(387,"L5IZ")][t(146,"Q&eA")](W,e);a&&i[t(230,"Q&eA")][t(501,"@o[M")](a.vx,a.vy)};const u=_0x4aca19[o(453,"^@$)")]((W,e)=>{O[o(316,"iB8&")](W,e)},[]),P=_0x4aca19[o(401,"R4*K")]((W,e)=>{R[o(117,"sXQh")](W,e)},[]),S=_0x4aca19[o(333,"^@$)")](()=>Gesture[o(383,"[[()")]()[o(120,"^@$)")](W=>{const e=o;runOnJS(u)(W[e(376,"w9]U")],W[e(188,"t4dY")])}).onEnd(W=>{const e=o;runOnJS(P)(W[e(136,"2gg6")],W[e(307,"Dj0(")])}),[]),l={};l[o(486,"w9]U")]=t;const k={};k.blockX=a,k[o(209,"2gg6")]=n,k[o(395,"Dj0(")]=_,k[o(427,"Q&eA")]=r,k.cameraX=t;const m={};m[o(196,"CUpy")]=x;const b={};return b[o(162,")ACx")]=e,d.XPGAt(_0x495bbc,GestureDetector,{gesture:S,children:_0x495bbc(View,{style:styles[o(314,"t4dY")],children:_0x30c436(View,{style:styles[o(282,"29JD")],children:[d[o(338,"@o[M")](_0x495bbc,PillarsCanvas,l),_0x495bbc(BlockView,k),_0x495bbc(AimLayer,m),d[o(388,"s$tA")](_0x495bbc,PerfectIndicator,b)]})})})},_0x4bc774={};_0x4bc774[_0x151dae(448,"DYR1")]=1;const _0x53c088={};_0x53c088[_0x151dae(303,"s$tA")]=1,_0x53c088[_0x151dae(256,"#5gb")]=screenWidth,_0x53c088[_0x151dae(163,"hquK")]=_0x151dae(441,"@o[M");const _0x253dbe={};_0x253dbe[_0x151dae(503,"[[()")]=_0x151dae(254,"jD4K"),_0x253dbe.top=0,_0x253dbe[_0x151dae(347,"7l)S")]=SCREEN_HEIGHT;const _0x139a09={};_0x139a09[_0x151dae(149,"NaGV")]="absolute",_0x139a09[_0x151dae(119,"r%Zp")]=0,_0x139a09[_0x151dae(143,"v8f4")]=0,_0x139a09[_0x151dae(280,"29JD")]=BLOCK_CANVAS,_0x139a09[_0x151dae(234,"jD4K")]=BLOCK_CANVAS;const _0x3a7a47={};_0x3a7a47[_0x151dae(371,"^@$)")]=BLOCK_CANVAS,_0x3a7a47[_0x151dae(447,"RHBr")]=BLOCK_CANVAS;const _0x2295c9={};_0x2295c9[_0x151dae(399,"r%Zp")]=_0x151dae(491,"Dj0("),_0x2295c9[_0x151dae(143,"v8f4")]=0,_0x2295c9.right=0,_0x2295c9[_0x151dae(462,"@o[M")]=_0x151dae(321,"q!)]"),_0x2295c9[_0x151dae(255,"R4*K")]=20;const _0x476b3a={};_0x476b3a[_0x151dae(325,"[[()")]=0,_0x476b3a[_0x151dae(186,"t4dY")]=0;const _0x137252={};_0x137252[_0x151dae(221,"jD4K")]=34,_0x137252[_0x151dae(312,"^^I*")]=_0x151dae(168,"jD4K"),_0x137252[_0x151dae(160,"MeaQ")]=BLUK_COLORS[_0x151dae(287,"vXE8")],_0x137252[_0x151dae(232,"RHBr")]=_0x151dae(483,"iB8&"),_0x137252.textShadowOffset=_0x476b3a,_0x137252[_0x151dae(283,"q!)]")]=16,_0x137252[_0x151dae(298,"xw#P")]=3;const _0x182659={};_0x182659.container=_0x4bc774,_0x182659[_0x151dae(223,"^@$)")]=_0x53c088,_0x182659[_0x151dae(344,")w^w")]=_0x253dbe,_0x182659[_0x151dae(194,"r%Zp")]=_0x139a09,_0x182659[_0x151dae(311,"xw#P")]=_0x3a7a47,_0x182659[_0x151dae(116,"6dSH")]=_0x2295c9,_0x182659[_0x151dae(381,"oU70")]=_0x137252;const styles=StyleSheet[_0x151dae(249,")w^w")](_0x182659);export const GameArea=_0x4aca19[_0x151dae(470,"Cn6v")](GameAreaComponent);GameArea[_0x151dae(492,"#5gb")]=_0x151dae(231,"2gg6");
@@ -1 +0,0 @@
1
- "use strict";function _0xafcb(t,e){t-=102;const o=_0x2018();let W=o[t];if(void 0===_0xafcb.BBgGXl){const t=function(t,e){let o,W,d=[],n=0,r="";for(t=function(t){let e="",o="";for(let o,W,d=0,n=0;W=t.charAt(n++);~W&&(o=d%4?64*o+W:W,d++%4)?e+=String.fromCharCode(255&o>>(-2*d&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let t=0,W=e.length;t<W;t++)o+="%"+("00"+e.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(o)}(t),W=0;W<256;W++)d[W]=W;for(W=0;W<256;W++)n=(n+d[W]+e.charCodeAt(W%e.length))%256,o=d[W],d[W]=d[n],d[n]=o;W=0,n=0;for(let e=0;e<t.length;e++)W=(W+1)%256,n=(n+d[W])%256,o=d[W],d[W]=d[n],d[n]=o,r+=String.fromCharCode(t.charCodeAt(e)^d[(d[W]+d[n])%256]);return r};_0xafcb.yZkPoT=t,_0xafcb.nZIZuu={},_0xafcb.BBgGXl=!0}const d=o[0];_0xafcb.QuEOjz!==d&&(_0xafcb.nZIZuu={},_0xafcb.QuEOjz=d);const n=_0xafcb.nZIZuu[t];return void 0===n?(void 0===_0xafcb.rnzMaf&&(_0xafcb.rnzMaf=!0),W=_0xafcb.yZkPoT(W,e),_0xafcb.nZIZuu[t]=W):W=n,W}const _0x4fbf4e=_0xafcb;!function(){const t=_0xafcb,e=_0x2018();for(;;)try{if(319984==-parseInt(t(143,"$NI1"))/1+-parseInt(t(127,"XyT3"))/2*(-parseInt(t(187,"%N6K"))/3)+-parseInt(t(215,"E23L"))/4*(-parseInt(t(149,"aMGh"))/5)+parseInt(t(124,"oma#"))/6+-parseInt(t(179,"QPHu"))/7+-parseInt(t(202,"!anB"))/8*(parseInt(t(190,"l2J7"))/9)+-parseInt(t(169,")RW3"))/10*(-parseInt(t(186,"QPHu"))/11))break;e.push(e.shift())}catch(t){e.push(e.shift())}}();import{c as _0x2df52a}from"react/compiler-runtime";import _0x4d0c7d from"react";import{View,StyleSheet,Dimensions}from"react-native";import _0x2fb2bf,{useAnimatedStyle}from"react-native-reanimated";import{Canvas,LinearGradient,RadialGradient,Rect,vec,Circle,Group,Path,Skia}from"@shopify/react-native-skia";import{jsx as _0x174ab6,jsxs as _0x5a7755}from"react/jsx-runtime";const{width:width,height:height}=Dimensions.get(_0x4fbf4e(132,"m5NK")),SKY_COLORS=["#05040F","#0C0A22","#150F35","#1E1548",_0x4fbf4e(116,"$NI1"),_0x4fbf4e(136,"!7eD")],SKY_POSITIONS=[0,.16,.36,.55,.78,1],NEBULA_COLORS_A=[_0x4fbf4e(117,"E23L"),"rgba(70, 30, 140, 0.11)",_0x4fbf4e(237,"d9rY")],NEBULA_COLORS_B=[_0x4fbf4e(147,"q]r^"),_0x4fbf4e(211,"Ud)y"),_0x4fbf4e(225,"jc4O")],HORIZON_Y=.5*height,HORIZON_GLOW_COLORS=["transparent",_0x4fbf4e(193,"k[PV"),_0x4fbf4e(111,"*rl4")],HORIZON_CORE_COLORS=[_0x4fbf4e(145,"1$nH"),_0x4fbf4e(150,"lVEK"),_0x4fbf4e(227,"4Rj^")],VOID_COLORS=[_0x4fbf4e(113,"00DD"),"rgba(3, 2, 12, 0.60)",_0x4fbf4e(195,"sUC*")],seededRandom=t=>{const e=_0x4fbf4e,o=43758.5453*Math.sin(12.9898*t+78.233*t);return o-Math[e(219,"(qnr")](o)},_0x39bd7b={length:48},STAR_DATA=Array[_0x4fbf4e(122,"OzQo")](_0x39bd7b,(t,e)=>({x:seededRandom(7*e+1)*width,y:seededRandom(7*e+2)*height*.64,r:.6+1.5*seededRandom(7*e+3),a:(.25+.65*seededRandom(7*e+4))[_0x4fbf4e(153,"#GR@")](2)})),buildGhostTower=(t,e,o,W)=>{const d="UqcK",n=_0x4fbf4e,r={DqsYA:function(t,e){return t-e}};r[n(105,"FHtv")]=function(t,e){return t/e},r[n(234,"m5NK")]=function(t,e){return t+e};const a=r,f=height*e,i=a.DqsYA(t,a.TrTCK(o,2)),_=a.FeZxa(i,o),x=Skia[n(230,"U9jQ")][n(129,"#GR@")]();x.moveTo(i,f),x.lineTo(_,f),x.lineTo(_,height),x.lineTo(i,height),x[n(144,"XyT3")]();const h=Skia[n(104,"FHtv")][n(209,"E@$X")]();h[n(196,"m5NK")](i,f),h[n(205,"OzQo")](i+W,a[n(159,"FBjq")](f,W)),h.lineTo(_+W,f-W),h[n(228,"vpQo")](_,f),h[n(178,"!7eD")]();const b=Skia[n(119,"oma#")][n(114,"00DD")]();b[n(216,d)](_,f),b[n(223,"vla]")](_+W,f-W),b[n(108,"(Ln8")](_+W,height),b.lineTo(_,height),b.close();const O={};return O[n(126,d)]=x,O[n(194,"30d2")]=h,O[n(109,"lVEK")]=b,O},GHOST_TOWERS=[buildGhostTower(.1*width,.38,24,6),buildGhostTower(.28*width,.44,18,5),buildGhostTower(.5*width,.4,22,5),buildGhostTower(.7*width,.37,28,7),buildGhostTower(.88*width,.42,16,4)],GT_FRONT=_0x4fbf4e(248,"8]tu"),GT_SIDE=_0x4fbf4e(112,"FBjq"),GT_TOP=_0x4fbf4e(161,"m5NK"),VP_X=width/2,VP_Y=HORIZON_Y+.06*height,GRID_LINE_COUNT=10,_0x1b09b7={};_0x1b09b7[_0x4fbf4e(120,"U9jQ")]=11;const GRID_PATHS=Array.from(_0x1b09b7,(t,e)=>{const o=_0x4fbf4e,W=width*(e/10),d=Skia[o(203,"Ultt")][o(125,"vpQo")]();return d[o(121,"aMGh")](VP_X,VP_Y),d.lineTo(W,height),d}),_0x8dabdd={};_0x8dabdd[_0x4fbf4e(164,"00DD")]=7;const HORIZ_PATHS=Array[_0x4fbf4e(110,"U9jQ")](_0x8dabdd,(t,e)=>{const o=_0x4fbf4e,W={};W[o(106,")RW3")]=function(t,e){return t+e},W[o(250,"XyT3")]=function(t,e){return t-e},W[o(184,"m5NK")]=function(t,e){return t*e};const d=W,n=d.ZGwkC(e,1)/8,r=VP_Y+n*n*(height-VP_Y),a=d[o(254,"%N6K")](r,VP_Y)/(height-VP_Y)*d[o(175,"oclw")](width,.5),f=VP_X-a,i=VP_X+a,_=Skia.Path[o(252,"m5NK")]();_.moveTo(f,r),_.lineTo(i,r);const x={};return x[o(220,"vla]")]=_,x.y=r,x.t=n,x}),GameBackgroundComponent=t=>{const e=_0x4fbf4e,o={wAVYB:"stroke",kNgNX:function(t,e){return t*e},COXux:function(t,e){return t(e)},dxIKd:function(t,e,o){return t(e,o)},JxjCi:e(221,"ex*z"),jhuTt:function(t,e){return t*e},mtYwM:function(t,e){return t*e},qzjwZ:function(t,e){return t===e},XQXJg:function(t,e,o){return t(e,o)},bUWlS:function(t,e,o){return t(e,o)},Xatxt:function(t,e,o){return t(e,o)},ntdIv:function(t,e){return t*e},Bdjal:function(t,e){return t!==e},wSrtJ:function(t,e){return t===e},RkbHW:function(t,e){return t!==e}},W=_0x2df52a(15),{children:d,cameraX:n}=t,r={};r[e(118,"3Wb]")]=.1*-(n?.value??0);const a=o[e(131,"E@$X")](useAnimatedStyle,()=>({transform:[r]}));let f,i,_,x,h,b,O,m,s,R,S;if(W[0]===Symbol[e(130,"*&3Y")](e(137,"(Ln8"))?(f=o.dxIKd(_0x174ab6,Rect,{x:0,y:0,width:width,height:height,children:_0x174ab6(LinearGradient,{start:o.dxIKd(vec,0,0),end:vec(0,height),colors:SKY_COLORS,positions:SKY_POSITIONS})}),W[0]=f):f=W[0],W[1]===Symbol[e(107,"8]tu")](o[e(242,"QPHu")])?(i=_0x174ab6(Circle,{cx:.22*width,cy:.17*height,r:.42*width,children:_0x174ab6(RadialGradient,{c:vec(o[e(199,"(QER")](width,.22),.17*height),r:.42*width,colors:NEBULA_COLORS_A})}),W[1]=i):i=W[1],W[2]===Symbol[e(240,"Ud)y")](e(206,"FHtv"))?(_=_0x174ab6(Circle,{cx:.78*width,cy:.12*height,r:o.mtYwM(width,.36),children:_0x174ab6(RadialGradient,{c:vec(.78*width,.12*height),r:.36*width,colors:NEBULA_COLORS_B})}),x=STAR_DATA[e(176,"oma#")](_temp),W[2]=_,W[3]=x):(_=W[2],x=W[3]),o.qzjwZ(W[4],Symbol[e(200,"%N6K")](e(221,"ex*z")))?(h=o[e(239,"$NI1")](_0x174ab6,Circle,{cx:.5*width,cy:HORIZON_Y,r:o[e(182,"30d2")](width,.55),children:_0x174ab6(RadialGradient,{c:vec(o[e(212,"XyT3")](width,.5),HORIZON_Y),r:.55*width,colors:HORIZON_CORE_COLORS})}),W[4]=h):h=W[4],W[5]===Symbol.for(e(251,"00DD"))?(b=o[e(177,"l2J7")](_0x174ab6,Rect,{x:0,y:HORIZON_Y-48,width:width,height:96,children:_0x174ab6(LinearGradient,{start:vec(0,HORIZON_Y-48),end:vec(0,HORIZON_Y+48),colors:HORIZON_GLOW_COLORS})}),W[5]=b):b=W[5],W[6]===Symbol[e(236,"#jJl")](e(162,")RW3"))?(O=_0x5a7755(Canvas,{style:styles[e(115,"(qnr")],children:[f,i,_,x,h,b,o.Xatxt(_0x174ab6,Rect,{x:0,y:o[e(123,"%N6K")](height,.44),width:width,height:.56*height,children:_0x174ab6(LinearGradient,{start:vec(0,o[e(210,"sUC*")](height,.44)),end:o[e(232,"8]tu")](vec,0,height),colors:VOID_COLORS})})]}),W[6]=O):O=W[6],o[e(174,"vpQo")](W[7],a)?(m=[styles[e(165,"oclw")],a],W[7]=a,W[8]=m):m=W[8],W[9]===Symbol[e(158,"(QER")](e(226,"8QK%"))){const t={translateX:400};s=o[e(238,"q]r^")](_0x174ab6,Canvas,{style:styles[e(188,"30d2")],children:o[e(171,"m5NK")](_0x5a7755,Group,{transform:[t],children:[GHOST_TOWERS[e(103,"FBjq")](_temp2),GRID_PATHS.map(_temp3),HORIZ_PATHS.map(_temp4)]})}),W[9]=s}else s=W[9];if(W[10]!==m){const t={};t[e(141,"(QER")]=m,t[e(217,"#jJl")]=e(233,"1$nH"),t[e(247,"#jJl")]=s,R=_0x174ab6(_0x2fb2bf.View,t),W[10]=m,W[11]=R}else{if(!o[e(235,"l2J7")]("gNscT",e(253,"vla]"))){const{path:t,t:W}=_0xb45433;return _0x3e0bf3(_0x550e31,{path:t,style:o.wAVYB,strokeWidth:.6,color:e(146,"Ultt")+o.kNgNX(W,.14)[e(218,"aMGh")](3)+")"},e(204,"%N6K")+_0x295d56)}R=W[11]}if(o[e(128,"Fc72")](W[12],d)||o.RkbHW(W[13],R)){const t={};t[e(201,"%N6K")]=styles[e(151,"00DD")],t.children=[O,R,d],S=_0x5a7755(View,t),W[12]=d,W[13]=R,W[14]=S}else S=W[14];return S};export const GameBackground=_0x4d0c7d[_0x4fbf4e(180,"vpQo")](GameBackgroundComponent);GameBackground[_0x4fbf4e(207,"FBjq")]=_0x4fbf4e(198,"8QK%");const _0x2f78e1={};function _0x2018(){const t=["kSo8W71WWR7cRmk7W6NcPNRdTG","W77dVSk1WPyRWQ8OiSknWQpdNI3dHhDbAcZcNNtdOSkQW4NdUW","lKrbWRuJW6n6W7JdOueF","f1DlWR4","WOyuW6O5omkM","fMJcRCo6hmoHxa","q27dQYNcTCoKF8k3WRVcMeOBqdJdQXmlzCkIW4hdPdxdHNG","WQvxz0ddRf7cPmopomoe","WOOio8ov","WOBcPXZdLwNdGG","B8ouWRmrz8oB","z8oWvSkW","WO/cKSoKW7/cLa","W6TCE8kfWONdJXuzW4RdJ8k1W7VcNq","W5JcNMZcOq","mYtdRCoQW7K","W4n1imo4WRJdOeiV","WRhcMc0XAa","v8kEWPTf","p8oDbG","aSoBfMXf","WQuqqGfspa","D8kLv8keWO8Q","zCkfW6VcOq","EqyvW6TKWQnD","W4tcLCoHW4NcGNCy","CCkvWPRdQHZcGdFcMYldSSoYW7rhDCkkW5O6W5tcRgXJWQddVwuc","DmkdW7VcSmoabW","W7v5lr7dVmotACoTWRzBWORcRWTezmo5WRBcNq","W6zYW7K","W7rQnHpcSq","WR3dP8kyWOJdQ8ktWOJdQJXvkmoVW60","b2/cRSo/A8oMfvrFjSoRWOO","WPyTlmosWRm","WP9vWOnSW77dVdbreeFdIgZdQ0tcJCoarCoiW40VW4TbErKW","zmklW63cPCkhuSohfun6ESoEW7JdKZ4WWQe6","W73cTCopW5VdS8kqWOtcLMeJwSkMWQWKu8kqzmkUWQqWW6RdHxhcIq","WQ1ozCkUWOpcQmoMW7RcIgpcRaG","n8o9WRubA8o9vW","iSk+gCkcuKb4WPjlWPuoWQmHaxFcLCoLW5BdHNZdNb/cKmoO","ovLoWQ8XW7P1W6/dTG","WRyCxbfvb8oizcGo","BSkqWRzjW4JcRZm","lr9uBW","bmkOW5dcR8ou","WONcSbFdK2NdJW","tZrezConWOnDdN9+pq","W6fXpq","W4JdQmkKWQ5c","WO9tWOjMWRhcVgOruGpcUJBcTWFdNW","WQaEtGqvC8kzmw1jfXxcO0emlSkyWPBdPgGpW4RdSq","W5xdOfNdGmklhConWRRcP8okWOOrFflcK8kgW48tW5pdSf7dH8oNW4BcPW","z8oUxmkL","nLnoWRWKW7S","WOX+aMCrWQS9W4zJWOm","W4vPWPBcMYO","cwqV","WOFcLmoVW5JcLG","WPdcSqVcK8opySosWQBcVSoSWQa","WO3cTf8","WRaSEWLU","WRiNW4ddUbfL","F2CgzCkbcb0","W5FcM23cPvm","WR5rh14P","WRCipW","WOdcOq/cGwy","WOtdICk5WORdKW","WRqnw8oVW4brWPtcIG/cT0TXW5e","W7JcMMRcQW","pCoHW7bXWR8","z2aXx0e","W4f0WOVcGYC","WOqZqsHT","W6fPW7S3W67dOSo1oSo8sfe","WRmiwmkyWQKAW5xcOqq","W5BdL8k3WO/cQSoyFCkMW5xcPG","BNeyxgqGnSoFW7OEpW","WOxdS8kMWOJdGG","W5VcJtNcGfhdHmkx","W7b3kWVcVa","jSopWORdISkvWOfGAG","WQVdJmkFEd1wWOChaNZcPCowiemSFd7dTGmBc8o+WPGE","FNSy","WPtdO1ddGCorW6ryWPVcUL1HpXWzWRRcHqpcHSoo","WR8wwGbPja","E8kDWOnpW5ZcVYnz","duaBDCkBic7dGsVdS8k5W5pdRbe","W612oIVcOa","WOFcICoY","WPlcKSo5W5RcHW","AL/dLg/dICoXBN/cS1GFrW","rSknW7VcRa","WOBcJSkT","BCoRv8k4gCo+","DfFdLNrlW75Sz8o+WPVcUmoFzsWYWRlcHCojDConnYDOWOZcPq","W6JdSmkKWODVW71HqmomW7ZcIW","lqNcLZ4","dmo1jxW","WOJdSfBdQCkp","WQGLW4VdVLeOdCoFi8kLW7tcUsFdJquLn1tcP8kvcSoEWRu","WP8PnSo1WQi","nWFcGY8mW6aXuCohWRZcTSoxva","WPdcSG/cMSoibCoyWRpcVmoIWOy3","ad3cShNcQSoMEmoxW6ldGHXCpq","odNdTmoHW5NdGW","mrvBDCofEa0EW5HkmfRdPG","DSouWOmDs8oryW","WOmzW6SGkW","DmkWuCkd","eCkpdHbmW7qwb1PZzxOkWQbRWPldRSk/WQ3cOSkmpxVcQmoa","WOtdISk4WO3dLY9fdxm","Amk4s8koWRaG","W5tdLSk2W7pcU8oIxmk4W7S","eSkmW4hcSmotW6OqWQNdMw7cPG","oeqxC8kTBYddJYhdRSkjW4xdOXyeW40byHfMBCkduSkaWOi","m8oFWPJdI8kkWOr1FCkWW4/cOW","W7NcLMNcOwSr","umokW4pcH8ooW5aPWPy","WRRcOWBdMG","DL3dHh5lWRLUBa","tYL9wSob","WOnDWO9O","WPqCDH1C","WPxcPYRcMx8","jXva","W6Skm8o1W4pdRmo/W4NcQfFcUG","W5FcG8o1W7dcVa","BqJdGCkapW","WRWTW5S","W7v3kbFcOa","W4XabmkEWPK","nexcMmk4bMW","WOhcMZtcGKC","zSknW7VcRa","WQVdJmkFEd1vWOmcaNZcOSotpe89Ed7dRW8l","iHjBD8ovBXO1","wtzwCmknW7ujtcKSDSoGW5/dQCkIWO1YWPq6kWhcJ8oK","WRKgi8osW4G","WO8UiCoOWP0","kfnbWRGKWR12W6/dQua0wd/cPZ/dPSkRE1pcS8kAWQxcPa8o","WP8yrWa","y8kFvSkiWRa","WPVcICoIW7/cQq","jmk2cW","W6hdUmkN","vLpdG38","uKddO1r0","W73dGK/dImk8","tt5g","B8kzWPxdRdZdGq","i8kWh8kg","WOZcSb3dNW"];return(_0x2018=function(){return t})()}_0x2f78e1[_0x4fbf4e(163,"OzQo")]=1,_0x2f78e1[_0x4fbf4e(160,"1$nH")]=_0x4fbf4e(135,"00DD");const _0x2153bd={};_0x2153bd.position=_0x4fbf4e(192,"4Rj^"),_0x2153bd[_0x4fbf4e(140,"A9!Q")]=0,_0x2153bd[_0x4fbf4e(154,"#jJl")]=0,_0x2153bd[_0x4fbf4e(241,"(QER")]=0,_0x2153bd[_0x4fbf4e(138,"Ultt")]=0,_0x2153bd.width=width,_0x2153bd.height=height;const _0x5a3541={};_0x5a3541[_0x4fbf4e(231,"FHtv")]=_0x4fbf4e(197,"#GR@"),_0x5a3541.top=0,_0x5a3541.left=-400,_0x5a3541[_0x4fbf4e(166,"m#TV")]=width+800,_0x5a3541.height=height;const _0x2ccef2={};_0x2ccef2[_0x4fbf4e(191,"(QER")]=width+800,_0x2ccef2[_0x4fbf4e(172,"Ud)y")]=height;const _0x2a7027={};_0x2a7027[_0x4fbf4e(222,"!7eD")]=_0x2f78e1,_0x2a7027.canvas=_0x2153bd,_0x2a7027[_0x4fbf4e(152,"m5NK")]=_0x5a3541,_0x2a7027[_0x4fbf4e(157,"8]tu")]=_0x2ccef2;const styles=StyleSheet[_0x4fbf4e(156,"U9jQ")](_0x2a7027);function _temp(t,e){const o=_0x4fbf4e,W={};return W.cx=t.x,W.cy=t.y,W.r=t.r,W[o(244,"l2J7")]=o(246,"k[PV")+t.a+")",_0x174ab6(Circle,W,"s-"+e)}function _temp2(t,e){const o=_0x4fbf4e,W={};W.path=t[o(168,"%N6K")],W.color=GT_FRONT;const d={};d[o(245,"Ultt")]=t[o(134,"Ultt")],d.color=GT_SIDE;const n={};return n[o(208,"!anB")]=t[o(102,"lVEK")],n[o(181,"*rl4")]=GT_TOP,_0x5a7755(Group,{children:[(r=_0x174ab6,a=Path,f=W,r(a,f)),_0x174ab6(Path,d),_0x174ab6(Path,n)]},o(167,"2!k@")+e);var r,a,f}function _temp3(t,e){const o=_0x4fbf4e,W={};return W.path=t,W[o(183,"m#TV")]=o(243,"CihP"),W[o(185,"A9!Q")]=.7,W[o(249,"oma#")]="rgba(80, 55, 160, 0.12)",_0x174ab6(Path,W,o(170,"U9jQ")+e)}function _temp4(t,e){const o=_0x4fbf4e,W={};W[o(189,"!7eD")]=function(t,e){return t*e};const d=W,{path:n,t:r}=t;return _0x174ab6(Path,{path:n,style:o(133,"vla]"),strokeWidth:.6,color:o(139,"(QER")+d[o(155,"jc4O")](r,.14).toFixed(3)+")"},"gh-"+e)}
@@ -1 +0,0 @@
1
- "use strict";const _0x4cbb35=_0x255a;function _0x255a(e,o){e-=350;const r=_0x1985();let t=r[e];if(void 0===_0x255a.BXYksK){const e=function(e,o){let r,t,n=[],a=0,s="";for(e=function(e){let o="",r="";for(let r,t,n=0,a=0;t=e.charAt(a++);~t&&(r=n%4?64*r+t:t,n++%4)?o+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let e=0,t=o.length;e<t;e++)r+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)a=(a+n[t]+o.charCodeAt(t%o.length))%256,r=n[t],n[t]=n[a],n[a]=r;t=0,a=0;for(let o=0;o<e.length;o++)t=(t+1)%256,a=(a+n[t])%256,r=n[t],n[t]=n[a],n[a]=r,s+=String.fromCharCode(e.charCodeAt(o)^n[(n[t]+n[a])%256]);return s};_0x255a.iKkuqG=e,_0x255a.BSkPyz={},_0x255a.BXYksK=!0}const n=r[0];_0x255a.XSCeGQ!==n&&(_0x255a.BSkPyz={},_0x255a.XSCeGQ=n);const a=_0x255a.BSkPyz[e];return void 0===a?(void 0===_0x255a.ZzmwzV&&(_0x255a.ZzmwzV=!0),t=_0x255a.iKkuqG(t,o),_0x255a.BSkPyz[e]=t):t=a,t}!function(){const e=_0x255a,o=_0x1985();for(;;)try{if(755598==parseInt(e(371,"8wHh"))/1*(parseInt(e(379,"qeuT"))/2)+parseInt(e(360,"8wHh"))/3+parseInt(e(350,"7y&q"))/4*(parseInt(e(378,"qeuT"))/5)+-parseInt(e(376,"#(AA"))/6+parseInt(e(365,"py3g"))/7+-parseInt(e(363,"Wrjm"))/8+parseInt(e(374,"qeuT"))/9*(-parseInt(e(377,"py3g"))/10))break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{c as _0x4e490f}from"react/compiler-runtime";import _0x1f0197 from"react";import{View}from"react-native";import{ScoreBoardContainer,ScoreValue,ScoreTimer,ScoreColumn,scoreBoardStyles as _0x4cd219}from"../../../helpers/index.js";import{useScore,useCombo,useTimeRemaining}from"../BlukStore.js";import{jsx as _0x18c8e8,jsxs as _0x53e20b}from"react/jsx-runtime";export const ScoreBoard=_0x1f0197[_0x4cbb35(373,"E5DL")](e=>{const o=_0x4cbb35,r={PWMzV:function(e,o){return e===o},gUTXg:function(e){return e()},XYZWX:function(e,o){return e!==o},eyFgy:o(382,"[ayS"),XqOJu:function(e,o){return e!==o},YLIWg:function(e,o,r){return e(o,r)}},t=_0x4e490f(13),{offset:n}=e,a=r[o(381,"Y$NX")](n,void 0)?0:n,s=useScore(),W=r[o(372,"Q#DM")](useCombo),i=useTimeRemaining();let x;if(r[o(375,"iPK7")](t[0],s)){const e={};e[o(366,"dy$!")]=s,x=_0x18c8e8(ScoreValue,e),t[0]=s,t[1]=x}else x=t[1];const d=W>0?"x"+(W+1):"-";let u,f,m,S;if(t[2]!==d){const e={};e[o(368,"yt(F")]=r[o(359,"Wrjm")],e[o(383,"Q#DM")]=d,u=_0x18c8e8(ScoreColumn,e),t[2]=d,t[3]=u}else u=t[3];if(t[4]!==i){const e={};e[o(355,"63Pn")]=i,f=_0x18c8e8(ScoreTimer,e),t[4]=i,t[5]=f}else f=t[5];if(t[6]!==x||r[o(358,"&Rl*")](t[7],u)||r[o(375,"iPK7")](t[8],f)){const e="2|4|0|3|1"[o(362,"JJ$X")]("|");let n=0;for(;;){switch(e[n++]){case"0":t[7]=u;continue;case"1":t[9]=m;continue;case"2":const e={};e[o(380,"dy$!")]=_0x4cd219.row,e[o(356,"Gy(e")]=[x,u,f],m=r[o(351,"W)ui")](_0x53e20b,View,e);continue;case"3":t[8]=f;continue;case"4":t[6]=x;continue}break}}else m=t[9];if(t[10]!==a||t[11]!==m){const e={};e[o(361,"#(AA")]=a,e[o(367,"Xo8h")]=m,S=_0x18c8e8(ScoreBoardContainer,e),t[10]=a,t[11]=m,t[12]=S}else S=t[12];return S});function _0x1985(){const e=["W7rJvdxcVbPzWOaPpICbFa","uxZcJWpdHCowWQukorTxdLm","cmkPzmo4nSowW5JdUvVdV8ovbSkG","WPxcUcldLt4","ofXdWPzag8kwwq","c8kQDmoEW48","C8oaWRWxW48fW7xdUKVcO1hdRW","DmopWR4xW4KhWQZdVhxcJKZdRre","WR9lW6ldN10eWPq","brhdQ2ZcKa","W53dJr/cOW","WPz7WRRdQSomjCo+WPO+vJ3cOmkO","W58NWOD4W54","WORcSSkvxxhcPJldUmohWPBcIJrO","dCkPBCkwrSkFWPldP1y","WPigW6xcK8kzzCkv","WPf0WRJdQSokj8kNWPWaEYdcOG","WPxcRZtdIZ4","CKxcGmoRW6a","WOKZaY80","fcxdK0hcKG","gSkRW6xdNJVdGmkqW74Ygg7dTbO","D11Xwf4","W4/dJveTWQzFA0JcHeLWWO3dIa","WRG+W4ddRKDes3VcPSk8WQxcR8oJ","u3FcJ2ZcTmksW68feW","W5ChmmkKWO/cI04","kX3dIMSvg3bc","WQRdRthcIH1rWOy","nSooqSkMnW","WQuTjMldVa","WRG9WOBcQXTkW7CDrJJdV8ovAa","W5FdPCoghcxdPG","W77cMxHNWRG"];return(_0x1985=function(){return e})()}ScoreBoard.displayName="ScoreBoard";