scrabble-solver 2.15.9 → 2.15.10

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 (583) hide show
  1. package/.nx/workspace-data/file-map.json +1332 -1336
  2. package/.nx/workspace-data/lockfile.hash +1 -1
  3. package/.nx/workspace-data/nx_files.nxt +0 -0
  4. package/.nx/workspace-data/parsed-lock-file.json +204 -48
  5. package/.nx/workspace-data/project-graph.json +215 -49
  6. package/README.md +1 -1
  7. package/cypress/support/lib/actions.ts +2 -2
  8. package/cypress/support/lib/selectors.ts +9 -9
  9. package/cypress/tsconfig.json +2 -1
  10. package/cypress.config.ts +1 -0
  11. package/eslint.config.mjs +31 -8
  12. package/lerna.json +1 -1
  13. package/package.json +13 -11
  14. package/packages/configs/build/games/index.d.ts +1 -0
  15. package/packages/configs/build/games/index.js +1 -0
  16. package/packages/configs/build/games/kelimelik.d.ts +2 -1
  17. package/packages/configs/build/games/kelimelik.js +2 -1
  18. package/packages/configs/build/games/literaki.d.ts +2 -1
  19. package/packages/configs/build/games/literaki.js +2 -1
  20. package/packages/configs/build/games/scrabble.d.ts +2 -1
  21. package/packages/configs/build/games/scrabble.js +2 -1
  22. package/packages/configs/build/games/scrabbleDuel.d.ts +17 -0
  23. package/packages/configs/build/games/scrabbleDuel.js +50 -0
  24. package/packages/configs/build/games/superScrabble.d.ts +2 -1
  25. package/packages/configs/build/games/superScrabble.js +2 -1
  26. package/packages/configs/build/languages/english.d.ts +2 -0
  27. package/packages/configs/build/languages/english.js +65 -1
  28. package/packages/configs/package.json +3 -3
  29. package/packages/configs/src/games/index.ts +1 -0
  30. package/packages/configs/src/games/kelimelik.ts +2 -1
  31. package/packages/configs/src/games/literaki.ts +2 -1
  32. package/packages/configs/src/games/scrabble.ts +2 -1
  33. package/packages/configs/src/games/scrabbleDuel.ts +56 -0
  34. package/packages/configs/src/games/superScrabble.ts +2 -1
  35. package/packages/configs/src/languages/english.ts +67 -1
  36. package/packages/constants/package.json +1 -1
  37. package/packages/dictionaries/build/Dictionaries.d.ts +1 -2
  38. package/packages/dictionaries/build/Dictionaries.js +6 -5
  39. package/packages/dictionaries/build/index.d.ts +1 -1
  40. package/packages/dictionaries/build/index.js +2 -5
  41. package/packages/dictionaries/build/lib/DiskCache.d.ts +1 -2
  42. package/packages/dictionaries/build/lib/DiskCache.js +7 -6
  43. package/packages/dictionaries/build/lib/LayeredCache.d.ts +1 -2
  44. package/packages/dictionaries/build/lib/LayeredCache.js +7 -9
  45. package/packages/dictionaries/build/lib/MemoryCache.d.ts +1 -2
  46. package/packages/dictionaries/build/lib/MemoryCache.js +2 -1
  47. package/packages/dictionaries/build/lib/createAsyncProxy.d.ts +2 -2
  48. package/packages/dictionaries/build/lib/createAsyncProxy.js +2 -1
  49. package/packages/dictionaries/build/lib/createCacheTimestampComparator.d.ts +1 -2
  50. package/packages/dictionaries/build/lib/createCacheTimestampComparator.js +2 -1
  51. package/packages/dictionaries/build/lib/downloadDictionary.d.ts +1 -2
  52. package/packages/dictionaries/build/lib/downloadDictionary.js +5 -7
  53. package/packages/dictionaries/build/lib/getDictionaryFilepath.d.ts +1 -2
  54. package/packages/dictionaries/build/lib/getDictionaryFilepath.js +2 -1
  55. package/packages/dictionaries/build/lib/index.d.ts +7 -7
  56. package/packages/dictionaries/build/lib/index.js +7 -10
  57. package/packages/dictionaries/build/{types/Cache.d.ts → types.d.ts} +1 -2
  58. package/packages/dictionaries/package.json +4 -4
  59. package/packages/dictionaries/src/Dictionaries.ts +3 -4
  60. package/packages/dictionaries/src/index.ts +2 -1
  61. package/packages/dictionaries/src/lib/DiskCache.ts +2 -4
  62. package/packages/dictionaries/src/lib/LayeredCache.ts +4 -6
  63. package/packages/dictionaries/src/lib/MemoryCache.ts +2 -3
  64. package/packages/dictionaries/src/lib/createAsyncProxy.ts +1 -3
  65. package/packages/dictionaries/src/lib/createCacheTimestampComparator.ts +1 -3
  66. package/packages/dictionaries/src/lib/downloadDictionary.ts +2 -4
  67. package/packages/dictionaries/src/lib/getDictionaryFilepath.ts +1 -3
  68. package/packages/dictionaries/src/lib/index.ts +7 -7
  69. package/packages/dictionaries/src/{types/Cache.ts → types.ts} +1 -3
  70. package/packages/logger/build/index.d.ts +1 -1
  71. package/packages/logger/build/index.js +2 -5
  72. package/packages/logger/build/logger.d.ts +1 -2
  73. package/packages/logger/build/logger.js +2 -2
  74. package/packages/logger/package.json +1 -1
  75. package/packages/logger/src/index.ts +1 -1
  76. package/packages/logger/src/logger.ts +1 -3
  77. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  78. package/packages/scrabble-solver/.next/build-manifest.json +9 -9
  79. package/packages/scrabble-solver/.next/cache/.rscinfo +1 -1
  80. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  81. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  82. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  83. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
  84. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  85. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  86. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  87. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  88. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  89. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
  90. package/packages/scrabble-solver/.next/diagnostics/framework.json +1 -1
  91. package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +1 -1
  92. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  93. package/packages/scrabble-solver/.next/prerender-manifest.json +4 -4
  94. package/packages/scrabble-solver/.next/required-server-files.json +1 -2
  95. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  96. package/packages/scrabble-solver/.next/server/chunks/60.js +1 -1
  97. package/packages/scrabble-solver/.next/server/chunks/812.js +1 -1
  98. package/packages/scrabble-solver/.next/server/chunks/974.js +1 -1
  99. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  100. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  101. package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
  102. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  103. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  104. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +2 -2
  105. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  106. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +1 -1
  107. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  108. package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1
  109. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  110. package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -1
  111. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  112. package/packages/scrabble-solver/.next/server/pages/api/visit.js +1 -1
  113. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  114. package/packages/scrabble-solver/.next/server/pages/index.js +1 -1
  115. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  116. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  117. package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +1 -1
  118. package/packages/scrabble-solver/.next/static/chunks/{main-b934e2c3dd3b55b5.js → main-016492249b3393e2.js} +1 -1
  119. package/packages/scrabble-solver/.next/static/chunks/pages/{404-7451dd58396eaa39.js → 404-590e2a3839c1d9e0.js} +1 -1
  120. package/packages/scrabble-solver/.next/static/chunks/pages/_app-ac93a74c390f2ab8.js +1 -0
  121. package/packages/scrabble-solver/.next/static/chunks/pages/index-e5f1caa581e6d3b8.js +1 -0
  122. package/packages/scrabble-solver/.next/static/{3MlxnccTCLyz9bgD30zY2 → ylO_ttKeJTuoqDYywao5A}/_buildManifest.js +1 -1
  123. package/packages/scrabble-solver/.next/trace +23 -23
  124. package/packages/scrabble-solver/next.config.js +3 -0
  125. package/packages/scrabble-solver/package.json +9 -9
  126. package/packages/scrabble-solver/public/service-worker.js +2 -2
  127. package/packages/scrabble-solver/public/service-worker.js.map +1 -1
  128. package/packages/scrabble-solver/src/api/getServerLoggingData.ts +1 -3
  129. package/packages/scrabble-solver/src/api/index.ts +5 -5
  130. package/packages/scrabble-solver/src/api/isBoardValid.ts +3 -5
  131. package/packages/scrabble-solver/src/api/isCellValid.ts +4 -6
  132. package/packages/scrabble-solver/src/api/isCharacterValid.ts +2 -3
  133. package/packages/scrabble-solver/src/api/isRowValid.ts +3 -5
  134. package/packages/scrabble-solver/src/components/Alert/Alert.tsx +1 -3
  135. package/packages/scrabble-solver/src/components/Alert/index.ts +1 -1
  136. package/packages/scrabble-solver/src/components/Badge/Badge.tsx +1 -3
  137. package/packages/scrabble-solver/src/components/Badge/index.ts +1 -1
  138. package/packages/scrabble-solver/src/components/Board/Board.tsx +2 -4
  139. package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +2 -2
  140. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.tsx +3 -5
  141. package/packages/scrabble-solver/src/components/Board/components/Actions/index.ts +1 -1
  142. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +3 -5
  143. package/packages/scrabble-solver/src/components/Board/components/Cell/index.ts +1 -1
  144. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.tsx +3 -5
  145. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/index.ts +1 -1
  146. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.tsx +2 -4
  147. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/index.ts +1 -1
  148. package/packages/scrabble-solver/src/components/Board/components/index.ts +4 -4
  149. package/packages/scrabble-solver/src/components/Board/hooks/index.ts +6 -6
  150. package/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx +7 -9
  151. package/packages/scrabble-solver/src/components/Board/hooks/useBoardStyle.ts +7 -9
  152. package/packages/scrabble-solver/src/components/Board/hooks/useFloatingActions.ts +1 -3
  153. package/packages/scrabble-solver/src/components/Board/hooks/useFloatingFocus.ts +1 -3
  154. package/packages/scrabble-solver/src/components/Board/hooks/useFloatingInputPrompt.ts +1 -3
  155. package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +2 -4
  156. package/packages/scrabble-solver/src/components/Board/index.ts +1 -1
  157. package/packages/scrabble-solver/src/components/Board/lib/getBonusColor.ts +1 -3
  158. package/packages/scrabble-solver/src/components/Board/lib/getPositionInGrid.ts +1 -3
  159. package/packages/scrabble-solver/src/components/Board/lib/index.ts +2 -2
  160. package/packages/scrabble-solver/src/components/Button/Button.tsx +3 -3
  161. package/packages/scrabble-solver/src/components/Button/Link.tsx +1 -3
  162. package/packages/scrabble-solver/src/components/Button/index.ts +1 -1
  163. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx +3 -5
  164. package/packages/scrabble-solver/src/components/Dictionary/index.ts +1 -1
  165. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.tsx +1 -3
  166. package/packages/scrabble-solver/src/components/DictionaryInput/index.ts +1 -1
  167. package/packages/scrabble-solver/src/components/EmptyState/EmptyState.tsx +2 -4
  168. package/packages/scrabble-solver/src/components/EmptyState/index.ts +1 -1
  169. package/packages/scrabble-solver/src/components/IconButton/IconButton.tsx +3 -3
  170. package/packages/scrabble-solver/src/components/IconButton/Link.tsx +1 -3
  171. package/packages/scrabble-solver/src/components/IconButton/index.ts +1 -1
  172. package/packages/scrabble-solver/src/components/Key/Key.tsx +1 -3
  173. package/packages/scrabble-solver/src/components/Key/index.ts +1 -1
  174. package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.tsx +2 -4
  175. package/packages/scrabble-solver/src/components/Keys/Arrows/index.ts +1 -1
  176. package/packages/scrabble-solver/src/components/{keys.tsx → Keys/index.tsx} +3 -1
  177. package/packages/scrabble-solver/src/components/Loading/Loading.tsx +2 -4
  178. package/packages/scrabble-solver/src/components/Loading/index.ts +1 -1
  179. package/packages/scrabble-solver/src/components/Logo/Logo.tsx +1 -3
  180. package/packages/scrabble-solver/src/components/Logo/LogoBlueprint.tsx +2 -4
  181. package/packages/scrabble-solver/src/components/Logo/index.ts +1 -1
  182. package/packages/scrabble-solver/src/components/Modal/Modal.tsx +3 -3
  183. package/packages/scrabble-solver/src/components/Modal/components/Section/Section.tsx +1 -3
  184. package/packages/scrabble-solver/src/components/Modal/components/Section/index.ts +1 -1
  185. package/packages/scrabble-solver/src/components/Modal/components/index.ts +1 -1
  186. package/packages/scrabble-solver/src/components/Modal/index.ts +1 -1
  187. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.tsx +3 -3
  188. package/packages/scrabble-solver/src/components/NavButtons/index.ts +1 -1
  189. package/packages/scrabble-solver/src/components/NotFound/NotFound.tsx +2 -4
  190. package/packages/scrabble-solver/src/components/NotFound/index.ts +1 -1
  191. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.tsx +10 -4
  192. package/packages/scrabble-solver/src/components/PlainTiles/Tile.tsx +1 -3
  193. package/packages/scrabble-solver/src/components/PlainTiles/index.ts +1 -1
  194. package/packages/scrabble-solver/src/components/PlainTiles/lib/createPlainTile.ts +10 -6
  195. package/packages/scrabble-solver/src/components/PlainTiles/lib/createPlainTiles.ts +2 -4
  196. package/packages/scrabble-solver/src/components/PlainTiles/lib/getViewbox.ts +1 -3
  197. package/packages/scrabble-solver/src/components/PlainTiles/lib/getX.ts +1 -3
  198. package/packages/scrabble-solver/src/components/PlainTiles/lib/getY.ts +1 -3
  199. package/packages/scrabble-solver/src/components/PlainTiles/lib/index.ts +6 -6
  200. package/packages/scrabble-solver/src/components/PlainTiles/lib/randomize.ts +1 -3
  201. package/packages/scrabble-solver/src/components/Progress/Progress.tsx +1 -3
  202. package/packages/scrabble-solver/src/components/Progress/index.ts +1 -1
  203. package/packages/scrabble-solver/src/components/Rack/Rack.tsx +2 -4
  204. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.tsx +2 -2
  205. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/index.ts +1 -1
  206. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.tsx +4 -7
  207. package/packages/scrabble-solver/src/components/Rack/components/RackTile/index.ts +1 -1
  208. package/packages/scrabble-solver/src/components/Rack/components/index.ts +2 -2
  209. package/packages/scrabble-solver/src/components/Rack/index.ts +1 -1
  210. package/packages/scrabble-solver/src/components/Radio/Radio.tsx +1 -3
  211. package/packages/scrabble-solver/src/components/Radio/index.ts +1 -1
  212. package/packages/scrabble-solver/src/components/Results/Cell.tsx +9 -3
  213. package/packages/scrabble-solver/src/components/Results/Header.tsx +2 -4
  214. package/packages/scrabble-solver/src/components/Results/HeaderButton.tsx +1 -3
  215. package/packages/scrabble-solver/src/components/Results/Result.tsx +2 -4
  216. package/packages/scrabble-solver/src/components/Results/Results.tsx +7 -9
  217. package/packages/scrabble-solver/src/components/Results/SolveButton.tsx +2 -4
  218. package/packages/scrabble-solver/src/components/Results/index.ts +1 -1
  219. package/packages/scrabble-solver/src/components/ResultsInput/ResultsInput.tsx +1 -3
  220. package/packages/scrabble-solver/src/components/ResultsInput/index.ts +1 -1
  221. package/packages/scrabble-solver/src/components/SeoMessage/SeoMessage.tsx +4 -6
  222. package/packages/scrabble-solver/src/components/SeoMessage/index.ts +1 -1
  223. package/packages/scrabble-solver/src/components/Solver/Solver.tsx +8 -8
  224. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.tsx +2 -4
  225. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/index.ts +1 -1
  226. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +4 -6
  227. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/index.ts +1 -1
  228. package/packages/scrabble-solver/src/components/Solver/components/index.ts +2 -2
  229. package/packages/scrabble-solver/src/components/Solver/index.ts +1 -1
  230. package/packages/scrabble-solver/src/components/Spinner/Spinner.tsx +1 -3
  231. package/packages/scrabble-solver/src/components/Spinner/index.ts +1 -1
  232. package/packages/scrabble-solver/src/components/Tile/Tile.tsx +2 -4
  233. package/packages/scrabble-solver/src/components/Tile/TilePure.tsx +2 -2
  234. package/packages/scrabble-solver/src/components/Tile/index.ts +1 -1
  235. package/packages/scrabble-solver/src/components/Tooltip/TooltipTrigger.tsx +5 -3
  236. package/packages/scrabble-solver/src/components/index.ts +24 -25
  237. package/packages/scrabble-solver/src/hooks/index.ts +13 -13
  238. package/packages/scrabble-solver/src/hooks/useAppLayout.ts +19 -15
  239. package/packages/scrabble-solver/src/hooks/useColumns.ts +2 -4
  240. package/packages/scrabble-solver/src/hooks/useDirection.ts +1 -3
  241. package/packages/scrabble-solver/src/hooks/useEffectOnce.ts +2 -4
  242. package/packages/scrabble-solver/src/hooks/useIsTouchDevice.ts +2 -4
  243. package/packages/scrabble-solver/src/hooks/useLanguage.ts +1 -3
  244. package/packages/scrabble-solver/src/hooks/useLatest.ts +1 -3
  245. package/packages/scrabble-solver/src/hooks/useLocalStorage.ts +1 -3
  246. package/packages/scrabble-solver/src/hooks/useMedia.ts +1 -3
  247. package/packages/scrabble-solver/src/hooks/useMediaQueries.ts +2 -4
  248. package/packages/scrabble-solver/src/hooks/useMediaQuery.ts +2 -4
  249. package/packages/scrabble-solver/src/hooks/useOnWindowResize.ts +1 -3
  250. package/packages/scrabble-solver/src/hooks/useViewportSize.ts +2 -4
  251. package/packages/scrabble-solver/src/i18n/i18n.ts +1 -3
  252. package/packages/scrabble-solver/src/i18n/index.ts +1 -1
  253. package/packages/scrabble-solver/src/lib/arrayEquals.ts +1 -3
  254. package/packages/scrabble-solver/src/lib/createArray.ts +1 -3
  255. package/packages/scrabble-solver/src/lib/createComparator.ts +3 -5
  256. package/packages/scrabble-solver/src/lib/createGridOf.ts +2 -4
  257. package/packages/scrabble-solver/src/lib/createKeyComparator.ts +6 -5
  258. package/packages/scrabble-solver/src/lib/createKeyboardNavigation.ts +2 -4
  259. package/packages/scrabble-solver/src/lib/createNullMovingComparator.test.ts +1 -1
  260. package/packages/scrabble-solver/src/lib/createNullMovingComparator.ts +1 -3
  261. package/packages/scrabble-solver/src/lib/createRegExp.ts +1 -3
  262. package/packages/scrabble-solver/src/lib/createStringComparator.ts +5 -3
  263. package/packages/scrabble-solver/src/lib/detectLocale.ts +1 -3
  264. package/packages/scrabble-solver/src/lib/extractCharacters.test.ts +1 -1
  265. package/packages/scrabble-solver/src/lib/extractCharacters.ts +1 -3
  266. package/packages/scrabble-solver/src/lib/extractCharactersByCase.test.ts +1 -1
  267. package/packages/scrabble-solver/src/lib/extractCharactersByCase.ts +2 -4
  268. package/packages/scrabble-solver/src/lib/extractInputValue.ts +1 -3
  269. package/packages/scrabble-solver/src/lib/findCell.ts +1 -3
  270. package/packages/scrabble-solver/src/lib/getCellSize.ts +3 -5
  271. package/packages/scrabble-solver/src/lib/getCoordinate.ts +1 -3
  272. package/packages/scrabble-solver/src/lib/getCoordinates.ts +2 -4
  273. package/packages/scrabble-solver/src/lib/getRemainingTiles.ts +8 -5
  274. package/packages/scrabble-solver/src/lib/getRemainingTilesCount.ts +1 -3
  275. package/packages/scrabble-solver/src/lib/getRemainingTilesGroups.ts +3 -5
  276. package/packages/scrabble-solver/src/lib/getTileSizes.ts +1 -3
  277. package/packages/scrabble-solver/src/lib/getTotalRemainingTilesCount.ts +1 -3
  278. package/packages/scrabble-solver/src/lib/groupResults.ts +3 -5
  279. package/packages/scrabble-solver/src/lib/guessLocale.ts +2 -4
  280. package/packages/scrabble-solver/src/lib/index.ts +39 -39
  281. package/packages/scrabble-solver/src/lib/inverseDirection.ts +1 -3
  282. package/packages/scrabble-solver/src/lib/isCtrl.ts +1 -3
  283. package/packages/scrabble-solver/src/lib/isMac.ts +3 -4
  284. package/packages/scrabble-solver/src/lib/isRegExp.ts +1 -3
  285. package/packages/scrabble-solver/src/lib/isStringArray.ts +1 -3
  286. package/packages/scrabble-solver/src/lib/isUpperCase.ts +1 -3
  287. package/packages/scrabble-solver/src/lib/memoize.ts +18 -20
  288. package/packages/scrabble-solver/src/lib/noop.ts +1 -3
  289. package/packages/scrabble-solver/src/lib/numberComparator.ts +1 -3
  290. package/packages/scrabble-solver/src/lib/resultMatchesCellFilter.ts +1 -3
  291. package/packages/scrabble-solver/src/lib/reverseComparator.ts +1 -3
  292. package/packages/scrabble-solver/src/lib/sortGroupedResults.ts +2 -4
  293. package/packages/scrabble-solver/src/lib/sortResults.ts +5 -7
  294. package/packages/scrabble-solver/src/lib/unorderedArraysEqual.ts +2 -4
  295. package/packages/scrabble-solver/src/lib/zipCharactersAndTiles.ts +1 -3
  296. package/packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.tsx +2 -2
  297. package/packages/scrabble-solver/src/modals/DictionaryModal/index.ts +1 -1
  298. package/packages/scrabble-solver/src/modals/KeyMapModal/KeyMapModal.tsx +2 -2
  299. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/Mapping.tsx +1 -3
  300. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/index.ts +1 -1
  301. package/packages/scrabble-solver/src/modals/KeyMapModal/components/index.ts +1 -1
  302. package/packages/scrabble-solver/src/modals/KeyMapModal/index.ts +1 -1
  303. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.tsx +2 -2
  304. package/packages/scrabble-solver/src/modals/MenuModal/index.ts +1 -1
  305. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.tsx +2 -2
  306. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.tsx +1 -3
  307. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/index.ts +1 -1
  308. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/index.ts +1 -1
  309. package/packages/scrabble-solver/src/modals/RemainingTilesModal/index.ts +1 -1
  310. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.tsx +2 -2
  311. package/packages/scrabble-solver/src/modals/ResultsModal/index.ts +1 -1
  312. package/packages/scrabble-solver/src/modals/SettingsModal/SettingsModal.tsx +2 -2
  313. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx +1 -3
  314. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/index.ts +1 -1
  315. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +4 -10
  316. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/index.ts +1 -1
  317. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/lib.ts +19 -0
  318. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.tsx +1 -3
  319. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/index.ts +1 -1
  320. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +1 -3
  321. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/index.ts +1 -1
  322. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx +1 -3
  323. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/index.ts +1 -1
  324. package/packages/scrabble-solver/src/modals/SettingsModal/components/index.ts +5 -5
  325. package/packages/scrabble-solver/src/modals/SettingsModal/index.ts +1 -1
  326. package/packages/scrabble-solver/src/modals/WordsModal/WordsModal.tsx +2 -2
  327. package/packages/scrabble-solver/src/modals/WordsModal/index.ts +1 -1
  328. package/packages/scrabble-solver/src/modals/index.ts +7 -7
  329. package/packages/scrabble-solver/src/pages/_app.tsx +2 -1
  330. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts +1 -1
  331. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/index.ts +1 -1
  332. package/packages/scrabble-solver/src/pages/api/solve.ts +6 -4
  333. package/packages/scrabble-solver/src/pages/api/verify.ts +6 -4
  334. package/packages/scrabble-solver/src/pages/api/visit.ts +2 -2
  335. package/packages/scrabble-solver/src/pages/index.tsx +7 -0
  336. package/packages/scrabble-solver/src/sdk/fetch.ts +1 -3
  337. package/packages/scrabble-solver/src/sdk/fetchJson.ts +2 -4
  338. package/packages/scrabble-solver/src/sdk/findWordDefinitions.ts +2 -4
  339. package/packages/scrabble-solver/src/sdk/getDictionary.ts +2 -4
  340. package/packages/scrabble-solver/src/sdk/index.ts +4 -4
  341. package/packages/scrabble-solver/src/sdk/solve.ts +2 -4
  342. package/packages/scrabble-solver/src/sdk/verify.ts +2 -4
  343. package/packages/scrabble-solver/src/sdk/visit.ts +1 -3
  344. package/packages/scrabble-solver/src/service-worker/average.ts +1 -3
  345. package/packages/scrabble-solver/src/service-worker/dictionaries/expirationManager.ts +1 -3
  346. package/packages/scrabble-solver/src/service-worker/dictionaries/getDictionary.ts +3 -5
  347. package/packages/scrabble-solver/src/service-worker/dictionaries/getDictionaryUrl.ts +1 -3
  348. package/packages/scrabble-solver/src/service-worker/dictionaries/index.ts +2 -2
  349. package/packages/scrabble-solver/src/service-worker/dictionaries/revalidateDictionary.ts +3 -5
  350. package/packages/scrabble-solver/src/service-worker/getTrie.ts +1 -3
  351. package/packages/scrabble-solver/src/service-worker/index.ts +4 -2
  352. package/packages/scrabble-solver/src/service-worker/routeSolveRequests.ts +17 -11
  353. package/packages/scrabble-solver/src/service-worker/routeVerifyRequests.ts +7 -5
  354. package/packages/scrabble-solver/src/serviceWorkerManager.ts +4 -4
  355. package/packages/scrabble-solver/src/state/index.ts +4 -4
  356. package/packages/scrabble-solver/src/state/localStorage.ts +10 -12
  357. package/packages/scrabble-solver/src/state/sagas.ts +4 -1
  358. package/packages/scrabble-solver/src/state/selectors.ts +2 -5
  359. package/packages/scrabble-solver/src/state/slices/boardInitialState.ts +6 -7
  360. package/packages/scrabble-solver/src/state/slices/boardSlice.ts +5 -7
  361. package/packages/scrabble-solver/src/state/slices/cellFilterInitialState.ts +1 -3
  362. package/packages/scrabble-solver/src/state/slices/cellFilterSlice.ts +2 -4
  363. package/packages/scrabble-solver/src/state/slices/dictionaryInitialState.ts +2 -4
  364. package/packages/scrabble-solver/src/state/slices/dictionarySlice.ts +2 -4
  365. package/packages/scrabble-solver/src/state/slices/index.ts +16 -16
  366. package/packages/scrabble-solver/src/state/slices/rackInitialState.ts +2 -4
  367. package/packages/scrabble-solver/src/state/slices/rackSlice.ts +2 -4
  368. package/packages/scrabble-solver/src/state/slices/resultsInitialState.ts +1 -3
  369. package/packages/scrabble-solver/src/state/slices/resultsSlice.ts +2 -4
  370. package/packages/scrabble-solver/src/state/slices/settingsInitialState.ts +2 -4
  371. package/packages/scrabble-solver/src/state/slices/settingsSlice.ts +2 -4
  372. package/packages/scrabble-solver/src/state/slices/solveInitialState.ts +3 -5
  373. package/packages/scrabble-solver/src/state/slices/solveSlice.ts +2 -4
  374. package/packages/scrabble-solver/src/state/slices/verifyInitialState.ts +2 -4
  375. package/packages/scrabble-solver/src/state/slices/verifySlice.ts +2 -4
  376. package/packages/scrabble-solver/src/state/store.ts +1 -3
  377. package/packages/scrabble-solver/src/state/useTranslate.ts +2 -4
  378. package/packages/scrabble-solver/src/state/useTypedSelector.ts +1 -3
  379. package/packages/scrabble-solver/src/types/api.ts +15 -0
  380. package/packages/scrabble-solver/src/types/index.ts +2 -0
  381. package/packages/scrabble-solver/tsconfig.json +1 -1
  382. package/packages/solver/build/areDigraphsValid.d.ts +1 -2
  383. package/packages/solver/build/areDigraphsValid.js +2 -1
  384. package/packages/solver/build/fillPattern.d.ts +1 -2
  385. package/packages/solver/build/fillPattern.js +2 -2
  386. package/packages/solver/build/generateEndIndices.d.ts +1 -2
  387. package/packages/solver/build/generateEndIndices.js +2 -1
  388. package/packages/solver/build/generateHorizontalPatterns.d.ts +1 -2
  389. package/packages/solver/build/generateHorizontalPatterns.js +7 -8
  390. package/packages/solver/build/generatePattern.d.ts +1 -2
  391. package/packages/solver/build/generatePattern.js +6 -8
  392. package/packages/solver/build/generatePatterns.d.ts +1 -2
  393. package/packages/solver/build/generatePatterns.js +6 -8
  394. package/packages/solver/build/generateStartIndices.d.ts +1 -2
  395. package/packages/solver/build/generateStartIndices.js +2 -1
  396. package/packages/solver/build/generateVectors.d.ts +2 -2
  397. package/packages/solver/build/generateVectors.js +2 -1
  398. package/packages/solver/build/generateVerticalPatterns.d.ts +1 -2
  399. package/packages/solver/build/generateVerticalPatterns.js +7 -8
  400. package/packages/solver/build/getCellsScore.d.ts +1 -2
  401. package/packages/solver/build/getCellsScore.js +2 -1
  402. package/packages/solver/build/getPatternHash.d.ts +1 -2
  403. package/packages/solver/build/getPatternHash.js +2 -1
  404. package/packages/solver/build/getPatternScore.d.ts +1 -2
  405. package/packages/solver/build/getPatternScore.js +4 -6
  406. package/packages/solver/build/getUniquePatterns.d.ts +1 -2
  407. package/packages/solver/build/getUniquePatterns.js +4 -6
  408. package/packages/solver/build/index.d.ts +14 -14
  409. package/packages/solver/build/index.js +14 -17
  410. package/packages/solver/build/solve.d.ts +1 -2
  411. package/packages/solver/build/solve.js +12 -14
  412. package/packages/solver/package.json +5 -5
  413. package/packages/solver/src/areDigraphsValid.ts +1 -3
  414. package/packages/solver/src/fillPattern.test.ts +1 -1
  415. package/packages/solver/src/fillPattern.ts +1 -3
  416. package/packages/solver/src/generateEndIndices.test.ts +1 -1
  417. package/packages/solver/src/generateEndIndices.ts +1 -3
  418. package/packages/solver/src/generateHorizontalPatterns.test.ts +3 -2
  419. package/packages/solver/src/generateHorizontalPatterns.ts +5 -6
  420. package/packages/solver/src/generatePattern.ts +3 -5
  421. package/packages/solver/src/generatePatterns.test.ts +2 -2
  422. package/packages/solver/src/generatePatterns.ts +3 -5
  423. package/packages/solver/src/generateStartIndices.test.ts +1 -1
  424. package/packages/solver/src/generateStartIndices.ts +1 -3
  425. package/packages/solver/src/generateVectors.test.ts +1 -1
  426. package/packages/solver/src/generateVectors.ts +1 -3
  427. package/packages/solver/src/generateVerticalPatterns.test.ts +3 -2
  428. package/packages/solver/src/generateVerticalPatterns.ts +5 -6
  429. package/packages/solver/src/getCellsScore.ts +1 -3
  430. package/packages/solver/src/getPatternHash.test.ts +1 -1
  431. package/packages/solver/src/getPatternHash.ts +1 -3
  432. package/packages/solver/src/getPatternScore.test.ts +1 -1
  433. package/packages/solver/src/getPatternScore.ts +2 -4
  434. package/packages/solver/src/getUniquePatterns.ts +2 -4
  435. package/packages/solver/src/index.ts +14 -14
  436. package/packages/solver/src/solve.test.ts +1 -1
  437. package/packages/solver/src/solve.ts +6 -8
  438. package/packages/types/build/Board.d.ts +5 -6
  439. package/packages/types/build/Board.js +17 -16
  440. package/packages/types/build/BoardJson.d.ts +2 -3
  441. package/packages/types/build/Bonus.d.ts +5 -6
  442. package/packages/types/build/Bonus.js +2 -1
  443. package/packages/types/build/BonusJson.d.ts +1 -2
  444. package/packages/types/build/BonusValue.d.ts +1 -2
  445. package/packages/types/build/Cell.d.ts +4 -5
  446. package/packages/types/build/Cell.js +13 -15
  447. package/packages/types/build/CellJson.d.ts +2 -3
  448. package/packages/types/build/CellJson.js +2 -5
  449. package/packages/types/build/CharacterBonus.d.ts +5 -6
  450. package/packages/types/build/CharacterBonus.js +4 -6
  451. package/packages/types/build/Collision.d.ts +2 -3
  452. package/packages/types/build/CollisionJson.d.ts +2 -3
  453. package/packages/types/build/Config.d.ts +12 -12
  454. package/packages/types/build/Config.js +14 -13
  455. package/packages/types/build/ConfigJson.d.ts +7 -7
  456. package/packages/types/build/Dictionary.d.ts +2 -3
  457. package/packages/types/build/FinalPattern.d.ts +2 -3
  458. package/packages/types/build/FinalPattern.js +4 -6
  459. package/packages/types/build/Game.d.ts +2 -2
  460. package/packages/types/build/Game.js +3 -3
  461. package/packages/types/build/HorizontalPattern.d.ts +2 -3
  462. package/packages/types/build/HorizontalPattern.js +5 -7
  463. package/packages/types/build/Locale.d.ts +1 -2
  464. package/packages/types/build/Locale.js +2 -3
  465. package/packages/types/build/Pattern.d.ts +5 -6
  466. package/packages/types/build/Pattern.js +2 -1
  467. package/packages/types/build/PatternJson.d.ts +2 -3
  468. package/packages/types/build/Result.d.ts +6 -6
  469. package/packages/types/build/Result.js +11 -13
  470. package/packages/types/build/ResultJson.d.ts +3 -4
  471. package/packages/types/build/ShowCoordinates.d.ts +1 -2
  472. package/packages/types/build/Tile.d.ts +3 -4
  473. package/packages/types/build/Tile.js +11 -10
  474. package/packages/types/build/TileConfig.d.ts +1 -2
  475. package/packages/types/build/TileJson.d.ts +1 -2
  476. package/packages/types/build/TileJson.js +2 -5
  477. package/packages/types/build/VerticalPattern.d.ts +2 -3
  478. package/packages/types/build/VerticalPattern.js +5 -7
  479. package/packages/types/build/WordBonus.d.ts +3 -4
  480. package/packages/types/build/WordBonus.js +4 -6
  481. package/packages/types/build/WordDefinition.d.ts +3 -4
  482. package/packages/types/build/WordDefinition.js +13 -12
  483. package/packages/types/build/WordDefinitionJson.d.ts +1 -2
  484. package/packages/types/build/index.d.ts +31 -31
  485. package/packages/types/build/index.js +20 -23
  486. package/packages/types/build/isError.d.ts +1 -2
  487. package/packages/types/build/isError.js +4 -6
  488. package/packages/types/build/isObject.d.ts +1 -2
  489. package/packages/types/build/isObject.js +2 -1
  490. package/packages/types/package.json +2 -2
  491. package/packages/types/src/Board.ts +14 -13
  492. package/packages/types/src/BoardJson.ts +2 -4
  493. package/packages/types/src/Bonus.ts +5 -7
  494. package/packages/types/src/BonusJson.ts +1 -3
  495. package/packages/types/src/BonusValue.ts +1 -3
  496. package/packages/types/src/Cell.ts +5 -7
  497. package/packages/types/src/CellJson.ts +3 -5
  498. package/packages/types/src/CharacterBonus.ts +5 -7
  499. package/packages/types/src/Collision.ts +2 -4
  500. package/packages/types/src/CollisionJson.ts +2 -4
  501. package/packages/types/src/Config.ts +20 -18
  502. package/packages/types/src/ConfigJson.ts +7 -8
  503. package/packages/types/src/Dictionary.ts +2 -4
  504. package/packages/types/src/FinalPattern.ts +2 -4
  505. package/packages/types/src/Game.ts +2 -3
  506. package/packages/types/src/HorizontalPattern.ts +2 -4
  507. package/packages/types/src/Locale.ts +1 -3
  508. package/packages/types/src/Pattern.ts +5 -7
  509. package/packages/types/src/PatternJson.ts +2 -4
  510. package/packages/types/src/Result.ts +6 -8
  511. package/packages/types/src/ResultJson.ts +3 -5
  512. package/packages/types/src/ShowCoordinates.ts +1 -3
  513. package/packages/types/src/Tile.ts +4 -6
  514. package/packages/types/src/TileConfig.ts +1 -3
  515. package/packages/types/src/TileJson.ts +2 -4
  516. package/packages/types/src/VerticalPattern.ts +2 -4
  517. package/packages/types/src/WordBonus.ts +3 -5
  518. package/packages/types/src/WordDefinition.ts +4 -6
  519. package/packages/types/src/WordDefinitionJson.ts +1 -3
  520. package/packages/types/src/index.ts +31 -31
  521. package/packages/types/src/isError.ts +2 -4
  522. package/packages/types/src/isObject.ts +1 -3
  523. package/packages/word-definitions/build/languages/turkish.js +1 -1
  524. package/packages/word-definitions/build/lib/index.d.ts +3 -3
  525. package/packages/word-definitions/build/lib/index.js +7 -17
  526. package/packages/word-definitions/build/lib/request.js +2 -1
  527. package/packages/word-definitions/package.json +2 -2
  528. package/packages/word-definitions/src/languages/turkish.ts +3 -3
  529. package/packages/word-definitions/src/lib/index.ts +3 -3
  530. package/packages/word-definitions/src/lib/request.ts +2 -1
  531. package/packages/word-definitions/src/parse.test.ts +1 -1
  532. package/packages/word-lists/build/languages/polish.js +1 -1
  533. package/packages/word-lists/build/lib/downloadFile.d.ts +1 -2
  534. package/packages/word-lists/build/lib/downloadFile.js +4 -3
  535. package/packages/word-lists/build/lib/downloadHtml.d.ts +1 -2
  536. package/packages/word-lists/build/lib/downloadHtml.js +2 -1
  537. package/packages/word-lists/build/lib/extractWords.d.ts +1 -2
  538. package/packages/word-lists/build/lib/extractWords.js +4 -6
  539. package/packages/word-lists/build/lib/findFirstWordIndex.d.ts +1 -2
  540. package/packages/word-lists/build/lib/findFirstWordIndex.js +2 -1
  541. package/packages/word-lists/build/lib/getHash.d.ts +1 -2
  542. package/packages/word-lists/build/lib/getHash.js +2 -1
  543. package/packages/word-lists/build/lib/getTempFilepath.d.ts +1 -2
  544. package/packages/word-lists/build/lib/getTempFilepath.js +4 -3
  545. package/packages/word-lists/build/lib/getTxtWordList.d.ts +1 -2
  546. package/packages/word-lists/build/lib/getTxtWordList.js +6 -5
  547. package/packages/word-lists/build/lib/index.d.ts +10 -10
  548. package/packages/word-lists/build/lib/index.js +10 -13
  549. package/packages/word-lists/build/lib/transliterateDiacritics.d.ts +1 -2
  550. package/packages/word-lists/build/lib/transliterateDiacritics.js +4 -6
  551. package/packages/word-lists/build/lib/unique.d.ts +1 -2
  552. package/packages/word-lists/build/lib/unique.js +2 -1
  553. package/packages/word-lists/build/lib/unzip.d.ts +1 -2
  554. package/packages/word-lists/build/lib/unzip.js +2 -1
  555. package/packages/word-lists/package.json +2 -2
  556. package/packages/word-lists/src/languages/polish.ts +1 -1
  557. package/packages/word-lists/src/lib/downloadFile.ts +2 -4
  558. package/packages/word-lists/src/lib/downloadHtml.ts +1 -3
  559. package/packages/word-lists/src/lib/extractWords.ts +2 -4
  560. package/packages/word-lists/src/lib/findFirstWordIndex.ts +1 -3
  561. package/packages/word-lists/src/lib/getHash.ts +1 -3
  562. package/packages/word-lists/src/lib/getTempFilepath.ts +2 -4
  563. package/packages/word-lists/src/lib/getTxtWordList.ts +3 -5
  564. package/packages/word-lists/src/lib/index.ts +10 -10
  565. package/packages/word-lists/src/lib/transliterateDiacritics.ts +2 -4
  566. package/packages/word-lists/src/lib/unique.ts +1 -3
  567. package/packages/word-lists/src/lib/unzip.ts +3 -5
  568. package/tsconfig.jest.json +1 -2
  569. package/tsconfig.json +2 -1
  570. package/.eslintrc.js +0 -559
  571. package/packages/dictionaries/build/types/index.d.ts +0 -1
  572. package/packages/dictionaries/build/types/index.js +0 -2
  573. package/packages/dictionaries/src/types/index.ts +0 -1
  574. package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +0 -1
  575. package/packages/scrabble-solver/.next/static/chunks/pages/_app-735105409cfdb48f.js +0 -1
  576. package/packages/scrabble-solver/.next/static/chunks/pages/index-d492616d9bc42176.js +0 -1
  577. package/packages/scrabble-solver/src/components/Keys/index.ts +0 -1
  578. package/packages/scrabble-solver/tsconfig.jest.json +0 -7
  579. /package/packages/dictionaries/build/{constants/index.d.ts → constants.d.ts} +0 -0
  580. /package/packages/dictionaries/build/{constants/index.js → constants.js} +0 -0
  581. /package/packages/dictionaries/build/{types/Cache.js → types.js} +0 -0
  582. /package/packages/dictionaries/src/{constants/index.ts → constants.ts} +0 -0
  583. /package/packages/scrabble-solver/.next/static/{3MlxnccTCLyz9bgD30zY2 → ylO_ttKeJTuoqDYywao5A}/_ssgManifest.js +0 -0
@@ -16,6 +16,9 @@ const tsConfigAliases = Object.keys(tsConfigJson.compilerOptions.paths).reduce(
16
16
 
17
17
  module.exports = {
18
18
  compress: false,
19
+ eslint: {
20
+ ignoreDuringBuilds: true,
21
+ },
19
22
  reactStrictMode: true,
20
23
  webpack: (config) => ({
21
24
  ...config,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/scrabble-solver",
3
- "version": "2.15.9",
3
+ "version": "2.15.10",
4
4
  "description": "Scrabble Solver 2 - App",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,18 +27,18 @@
27
27
  "@floating-ui/react": "^0.27.5",
28
28
  "@kamilmielnik/trie": "^4.0.0",
29
29
  "@reduxjs/toolkit": "^2.6.1",
30
- "@scrabble-solver/configs": "^2.15.9",
31
- "@scrabble-solver/constants": "^2.15.9",
32
- "@scrabble-solver/dictionaries": "^2.15.9",
33
- "@scrabble-solver/logger": "^2.15.9",
34
- "@scrabble-solver/solver": "^2.15.9",
35
- "@scrabble-solver/types": "^2.15.9",
36
- "@scrabble-solver/word-definitions": "^2.15.9",
30
+ "@scrabble-solver/configs": "^2.15.10",
31
+ "@scrabble-solver/constants": "^2.15.10",
32
+ "@scrabble-solver/dictionaries": "^2.15.10",
33
+ "@scrabble-solver/logger": "^2.15.10",
34
+ "@scrabble-solver/solver": "^2.15.10",
35
+ "@scrabble-solver/types": "^2.15.10",
36
+ "@scrabble-solver/word-definitions": "^2.15.10",
37
37
  "classnames": "^2.5.1",
38
38
  "env-cmd": "^10.1.0",
39
39
  "include-media": "^2.0.0",
40
40
  "include-media-query-builder": "^1.1.0",
41
- "next": "^15.2.3",
41
+ "next": "^15.2.4",
42
42
  "normalize.css": "^8.0.1",
43
43
  "react": "^19.0.0",
44
44
  "react-cool-onclickoutside": "^1.7.0",
@@ -1,2 +1,2 @@
1
- (()=>{"use strict";let e,t,r,c,a;var i={88:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0,t.add=(e,t)=>{let r=e;for(let e=0;e<t.length;++e){let c=t[e];r[c]||(r[c]={}),r=r[c]}return r.wordEnd=!0,r}},376:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(4758));class i extends a.default{constructor(e){super(e.board,e.cells),this.collisions=e.getCollisions()}getCollisions(){return this.collisions}}t.default=i},506:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(2095));t.default=(e,t)=>{let r=t.getEmptyCellsCount()===e.rackSize?e.bingoScore:0;return t.getCollisions().reduce((t,r)=>t+(0,a.default)(e,r.cells),(0,a.default)(e,t.cells))+r}},524:function(e,t,r){var c,a=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(c=function(e){return(c=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=c(e),o=0;o<r.length;o++)"default"!==r[o]&&a(t,e,r[o]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.getConfig=void 0;let n=o(r(9494));t.getConfig=(e,t)=>{let r=Object.values(n).find(r=>r.game===e&&r.locale===t);if(void 0===r)throw Error(`No game "${e}" in "${t}"`);return r}},606:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.OPEN_PARENS=t.CLOSE_PARENS=void 0,t.CLOSE_PARENS=")",t.OPEN_PARENS="("},624:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.find=void 0,t.find=(e,t)=>{let r=e;for(let e=0;e<t.length;++e){let c=t[e];if(!r[c])return;r=r[c]}return r}},719:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class r{constructor({multiplier:e,score:t,x:r,y:c}){this.multiplier=e,this.score=t,this.x=r,this.y=c}canApply(e,t){return t.isEmpty&&this.matchesCellCoordinates(t)}matchesCellCoordinates(e){return this.x===e.x&&this.y===e.y}toJson(){return{multiplier:this.multiplier,score:this.score,type:this.type,x:this.x,y:this.y}}get value(){return{characterMultiplier:1,wordMultiplier:1}}}t.default=r},1150:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.englishUsLiteraki=t.englishUsSuperScrabble=t.englishUsScrabble=t.englishGbLiteraki=t.englishGbSuperScrabble=t.englishGbScrabble=void 0;let c=r(2708),a=r(6330);t.englishGbScrabble=new c.Config({...a.scrabble,locale:c.Locale.EN_GB,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishGbSuperScrabble=new c.Config({...a.superScrabble,locale:c.Locale.EN_GB,tiles:[{character:"a",count:16,score:1},{character:"b",count:4,score:3},{character:"c",count:6,score:3},{character:"d",count:8,score:2},{character:"e",count:24,score:1},{character:"f",count:4,score:4},{character:"g",count:5,score:2},{character:"h",count:5,score:4},{character:"i",count:13,score:1},{character:"j",count:2,score:8},{character:"k",count:2,score:5},{character:"l",count:7,score:1},{character:"m",count:6,score:3},{character:"n",count:13,score:1},{character:"o",count:15,score:1},{character:"p",count:4,score:3},{character:"q",count:2,score:10},{character:"r",count:13,score:1},{character:"s",count:10,score:1},{character:"t",count:15,score:1},{character:"u",count:7,score:1},{character:"v",count:3,score:4},{character:"w",count:4,score:4},{character:"x",count:2,score:8},{character:"y",count:4,score:4},{character:"z",count:2,score:10}]}),t.englishGbLiteraki=new c.Config({...a.literaki,locale:c.Locale.EN_GB,name:"Literaxx",tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsScrabble=new c.Config({...a.scrabble,locale:c.Locale.EN_US,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsSuperScrabble=new c.Config({...a.superScrabble,locale:c.Locale.EN_US,tiles:[{character:"a",count:16,score:1},{character:"b",count:4,score:3},{character:"c",count:6,score:3},{character:"d",count:8,score:2},{character:"e",count:24,score:1},{character:"f",count:4,score:4},{character:"g",count:5,score:2},{character:"h",count:5,score:4},{character:"i",count:13,score:1},{character:"j",count:2,score:8},{character:"k",count:2,score:5},{character:"l",count:7,score:1},{character:"m",count:6,score:3},{character:"n",count:13,score:1},{character:"o",count:15,score:1},{character:"p",count:4,score:3},{character:"q",count:2,score:10},{character:"r",count:13,score:1},{character:"s",count:10,score:1},{character:"t",count:15,score:1},{character:"u",count:7,score:1},{character:"v",count:3,score:4},{character:"w",count:4,score:4},{character:"x",count:2,score:8},{character:"y",count:4,score:4},{character:"z",count:2,score:10}]}),t.englishUsLiteraki=new c.Config({...a.literaki,locale:c.Locale.EN_US,name:"Literaxx",tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]})},1370:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(9654));class i{static fromJson(e){return new i({isEmpty:e.isEmpty,tile:a.default.fromJson(e.tile),x:e.x,y:e.y})}constructor({isEmpty:e=!0,tile:t=a.default.Null,x:r,y:c}){this.isEmpty=e,this.tile=t,this.x=r,this.y=c}clone(){return new i({isEmpty:this.isEmpty,tile:this.tile.clone(),x:this.x,y:this.y})}equals(e){return this.x===e.x&&this.y===e.y&&this.isEmpty===e.isEmpty&&this.tile.equals(e.tile)}hasTile(){return this.tile!==a.default.Null}isCandidate(){return this.isEmpty&&this.hasTile()}toJson(){return{isEmpty:this.isEmpty,tile:this.tile.toJson(),x:this.x,y:this.y}}toString(){return this.tile.toString()}}t.default=i},1513:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(1566)),i=c(r(8735)),o=c(r(9052)),n=c(r(506)),l=c(r(5350));t.default=(e,t,r,c)=>{let s=(0,o.default)(t,r).flatMap(r=>(0,i.default)(e,t,r,c)),u=t.twoCharacterTiles.length>0?s.filter(e=>(0,a.default)(t,e)):s;return(0,l.default)(u).map((e,r)=>({cells:e.cells.map(e=>e.toJson()),collisions:e.getCollisions().map(e=>e.cells.map(e=>e.toJson())),id:r,points:(0,n.default)(t,e)}))}},1553:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.superScrabble=void 0;let c=r(9276);t.superScrabble={bingoScore:50,blankScore:0,blanksCount:4,boardSize:21,game:r(2708).Game.SuperScrabble,name:"Super Scrabble",rackSize:7,bonuses:[{multiplier:4,type:c.BONUS_WORD,x:0,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:0},{multiplier:3,type:c.BONUS_WORD,x:7,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:0},{multiplier:3,type:c.BONUS_WORD,x:13,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:0},{multiplier:4,type:c.BONUS_WORD,x:20,y:0},{multiplier:2,type:c.BONUS_WORD,x:1,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:1},{multiplier:2,type:c.BONUS_WORD,x:8,y:1},{multiplier:2,type:c.BONUS_WORD,x:12,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:1},{multiplier:2,type:c.BONUS_WORD,x:19,y:1},{multiplier:2,type:c.BONUS_WORD,x:2,y:2},{multiplier:4,type:c.BONUS_CHARACTER,x:5,y:2},{multiplier:2,type:c.BONUS_WORD,x:9,y:2},{multiplier:2,type:c.BONUS_WORD,x:11,y:2},{multiplier:4,type:c.BONUS_CHARACTER,x:15,y:2},{multiplier:2,type:c.BONUS_WORD,x:18,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:3},{multiplier:3,type:c.BONUS_WORD,x:3,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:3},{multiplier:3,type:c.BONUS_WORD,x:10,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:3},{multiplier:3,type:c.BONUS_WORD,x:17,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:20,y:3},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:4},{multiplier:2,type:c.BONUS_WORD,x:4,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:4},{multiplier:2,type:c.BONUS_WORD,x:16,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:19,y:4},{multiplier:4,type:c.BONUS_CHARACTER,x:2,y:5},{multiplier:2,type:c.BONUS_WORD,x:5,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:5},{multiplier:2,type:c.BONUS_WORD,x:15,y:5},{multiplier:4,type:c.BONUS_CHARACTER,x:18,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:6},{multiplier:2,type:c.BONUS_WORD,x:6,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:6},{multiplier:2,type:c.BONUS_WORD,x:14,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:6},{multiplier:3,type:c.BONUS_WORD,x:0,y:7},{multiplier:2,type:c.BONUS_WORD,x:7,y:7},{multiplier:2,type:c.BONUS_WORD,x:13,y:7},{multiplier:3,type:c.BONUS_WORD,x:20,y:7},{multiplier:2,type:c.BONUS_WORD,x:1,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:8},{multiplier:2,type:c.BONUS_WORD,x:19,y:8},{multiplier:2,type:c.BONUS_WORD,x:2,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:15,y:9},{multiplier:2,type:c.BONUS_WORD,x:18,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:10},{multiplier:3,type:c.BONUS_WORD,x:3,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:10},{multiplier:3,type:c.BONUS_WORD,x:17,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:20,y:10},{multiplier:2,type:c.BONUS_WORD,x:2,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:15,y:11},{multiplier:2,type:c.BONUS_WORD,x:18,y:11},{multiplier:2,type:c.BONUS_WORD,x:1,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:12},{multiplier:2,type:c.BONUS_WORD,x:19,y:12},{multiplier:3,type:c.BONUS_WORD,x:0,y:13},{multiplier:2,type:c.BONUS_WORD,x:7,y:13},{multiplier:2,type:c.BONUS_WORD,x:13,y:13},{multiplier:3,type:c.BONUS_WORD,x:20,y:13},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:14},{multiplier:2,type:c.BONUS_WORD,x:6,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:14},{multiplier:2,type:c.BONUS_WORD,x:14,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:14},{multiplier:4,type:c.BONUS_CHARACTER,x:2,y:15},{multiplier:2,type:c.BONUS_WORD,x:5,y:15},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:15},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:15},{multiplier:2,type:c.BONUS_WORD,x:15,y:15},{multiplier:4,type:c.BONUS_CHARACTER,x:18,y:15},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:16},{multiplier:2,type:c.BONUS_WORD,x:4,y:16},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:16},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:16},{multiplier:2,type:c.BONUS_WORD,x:16,y:16},{multiplier:3,type:c.BONUS_CHARACTER,x:19,y:16},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:17},{multiplier:3,type:c.BONUS_WORD,x:3,y:17},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:17},{multiplier:3,type:c.BONUS_WORD,x:10,y:17},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:17},{multiplier:3,type:c.BONUS_WORD,x:17,y:17},{multiplier:2,type:c.BONUS_CHARACTER,x:20,y:17},{multiplier:2,type:c.BONUS_WORD,x:2,y:18},{multiplier:4,type:c.BONUS_CHARACTER,x:5,y:18},{multiplier:2,type:c.BONUS_WORD,x:9,y:18},{multiplier:2,type:c.BONUS_WORD,x:11,y:18},{multiplier:4,type:c.BONUS_CHARACTER,x:15,y:18},{multiplier:2,type:c.BONUS_WORD,x:18,y:18},{multiplier:2,type:c.BONUS_WORD,x:1,y:19},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:19},{multiplier:2,type:c.BONUS_WORD,x:8,y:19},{multiplier:2,type:c.BONUS_WORD,x:12,y:19},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:19},{multiplier:2,type:c.BONUS_WORD,x:19,y:19},{multiplier:4,type:c.BONUS_WORD,x:0,y:20},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:20},{multiplier:3,type:c.BONUS_WORD,x:7,y:20},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:20},{multiplier:3,type:c.BONUS_WORD,x:13,y:20},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:20},{multiplier:4,type:c.BONUS_WORD,x:20,y:20}]}},1566:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,t)=>{let{twoCharacterTiles:r}=e,{cells:c}=t;for(let e=0;e<c.length-1;++e){let t=c[e],a=c[e+1],i=t.tile.character+a.tile.character;if(r.includes(i))return!1}return!0}},1693:()=>{try{self["workbox:core:7.2.0"]&&_()}catch(e){}},1753:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=void 0;let c=r(606),a=(e,t)=>{let r=Object.keys(e).filter(e=>1===e.length),i=r.length>0,o="";return e.wordEnd&&(o+=t),i&&(o+=t,o+=c.OPEN_PARENS,o+=r.map(t=>a(e[t],t)).join(""),o+=c.CLOSE_PARENS),o};t.serialize=e=>a(e,"")},1802:()=>{try{self["workbox:precaching:7.2.0"]&&_()}catch(e){}},1958:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.spanishScrabble=void 0;let c=r(2708),a=r(6330);t.spanishScrabble=new c.Config({...a.scrabble,locale:c.Locale.ES_ES,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:4,score:3},{character:"ch",count:1,score:5},{character:"d",count:5,score:2},{character:"e",count:12,score:1},{character:"f",count:1,score:4},{character:"g",count:2,score:2},{character:"h",count:2,score:4},{character:"i",count:6,score:1},{character:"j",count:1,score:8},{character:"ll",count:1,score:8},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:5,score:1},{character:"\xf1",count:1,score:8},{character:"o",count:9,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:5},{character:"r",count:5,score:1},{character:"rr",count:1,score:8},{character:"s",count:6,score:1},{character:"t",count:4,score:1},{character:"u",count:5,score:1},{character:"v",count:1,score:4},{character:"x",count:1,score:8},{character:"y",count:1,score:4},{character:"z",count:1,score:10}]})},2011:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(88),t),a(r(2076),t),a(r(8519),t),a(r(5899),t),a(r(624),t),a(r(4550),t),a(r(7072),t),a(r(8679),t),a(r(1753),t),a(r(2197),t),a(r(8097),t)},2076:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.deserialize=void 0;let c=r(606);t.deserialize=e=>{let t=[],r={},a=1;for(;a<e.length-1;){let i=e[a],o=e[a+1];if(++a,i===c.CLOSE_PARENS){let e=t.pop();if(!e)throw Error(`Syntax error: misplaced "${c.CLOSE_PARENS}"`);r=e}else if(o===c.CLOSE_PARENS){r[i]={wordEnd:!0};let e=t.pop();if(!e)throw Error(`Syntax error: misplaced "${c.CLOSE_PARENS}"`);r=e,++a}else if(o===c.OPEN_PARENS){t.push(r);let e=r[i]||{};r[i]=e,r=e,++a}else r[i]={wordEnd:!0}}return r}},2095:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let c=r(9276);t.default=(e,t)=>{let r=t.reduce(({multiplier:t,score:r},a)=>{let i=e.getCellBonus(a),{characterMultiplier:o,wordMultiplier:n}=i&&i.canApply(e,a)?i.value:c.NO_BONUS,l=e.pointsMap[a.tile.character]||0;return{multiplier:t*n,score:r+(a.tile.isBlank?e.blankScore:l)*o}},{multiplier:1,score:0});return r.score*r.multiplier}},2197:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.toArray=void 0;let c=r(8097);t.toArray=(e,t)=>{let r=[];return(0,c.traverse)(e,e=>{r.push(e)},t),r}},2394:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(4758));class i extends a.default{clone(){return new i(this.board,this.cells.map(e=>e.clone()))}getCollisions(){let e=[];return this.cells.filter(e=>e.isEmpty&&(this.board.collidesUp(e)||this.board.collidesDown(e))).forEach(t=>{let r=this.board.getColumn(t.x),c=t.y-1;for(;c>=0&&r[c].hasTile();)--c;let i=r.slice(c+1,t.y);for(c=t.y+1;c<r.length&&r[c].hasTile();)++c;let o=r.slice(t.y+1,c),n=[...i,t,...o];if(n.length>1){let t=new a.default(this.board,n);e.push(t)}}),e}}t.default=i},2448:()=>{try{self["workbox:routing:7.2.0"]&&_()}catch(e){}},2555:()=>{try{self["workbox:expiration:7.2.0"]&&_()}catch(e){}},2708:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=t.isError=t.WordDefinition=t.WordBonus=t.VerticalPattern=t.isTileJson=t.Tile=t.Result=t.Pattern=t.isLocale=t.Locale=t.HorizontalPattern=t.isGame=t.Game=t.FinalPattern=t.Config=t.CharacterBonus=t.isCellJson=t.Cell=t.Bonus=t.isBoardJson=t.Board=void 0;var a=r(9140);Object.defineProperty(t,"Board",{enumerable:!0,get:function(){return c(a).default}});var i=r(6902);Object.defineProperty(t,"isBoardJson",{enumerable:!0,get:function(){return i.isBoardJson}});var o=r(719);Object.defineProperty(t,"Bonus",{enumerable:!0,get:function(){return c(o).default}});var n=r(1370);Object.defineProperty(t,"Cell",{enumerable:!0,get:function(){return c(n).default}});var l=r(3852);Object.defineProperty(t,"isCellJson",{enumerable:!0,get:function(){return l.isCellJson}});var s=r(9112);Object.defineProperty(t,"CharacterBonus",{enumerable:!0,get:function(){return c(s).default}});var u=r(4232);Object.defineProperty(t,"Config",{enumerable:!0,get:function(){return c(u).default}});var h=r(376);Object.defineProperty(t,"FinalPattern",{enumerable:!0,get:function(){return c(h).default}});var p=r(2712);Object.defineProperty(t,"Game",{enumerable:!0,get:function(){return c(p).default}}),Object.defineProperty(t,"isGame",{enumerable:!0,get:function(){return p.isGame}});var y=r(2394);Object.defineProperty(t,"HorizontalPattern",{enumerable:!0,get:function(){return c(y).default}});var d=r(4040);Object.defineProperty(t,"Locale",{enumerable:!0,get:function(){return c(d).default}}),Object.defineProperty(t,"isLocale",{enumerable:!0,get:function(){return d.isLocale}});var f=r(4758);Object.defineProperty(t,"Pattern",{enumerable:!0,get:function(){return c(f).default}});var m=r(8159);Object.defineProperty(t,"Result",{enumerable:!0,get:function(){return c(m).default}});var O=r(9654);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return c(O).default}});var R=r(7432);Object.defineProperty(t,"isTileJson",{enumerable:!0,get:function(){return R.isTileJson}});var C=r(5452);Object.defineProperty(t,"VerticalPattern",{enumerable:!0,get:function(){return c(C).default}});var g=r(6759);Object.defineProperty(t,"WordBonus",{enumerable:!0,get:function(){return c(g).default}});var S=r(9979);Object.defineProperty(t,"WordDefinition",{enumerable:!0,get:function(){return c(S).default}});var b=r(5006);Object.defineProperty(t,"isError",{enumerable:!0,get:function(){return c(b).default}});var A=r(8049);Object.defineProperty(t,"isObject",{enumerable:!0,get:function(){return c(A).default}})},2712:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.isGame=void 0,function(e){e.Kelimelik="kelimelik",e.Literaki="literaki",e.Scrabble="scrabble",e.SuperScrabble="super-scrabble"}(r||(r={}));let c=Object.values(r);t.isGame=e=>c.includes(e),t.default=r},2740:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrabble=void 0;let c=r(9276);t.scrabble={bingoScore:50,blankScore:0,blanksCount:2,boardSize:15,game:r(2708).Game.Scrabble,name:"Scrabble",rackSize:7,bonuses:[{multiplier:3,type:c.BONUS_WORD,x:0,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:0},{multiplier:3,type:c.BONUS_WORD,x:7,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:0},{multiplier:3,type:c.BONUS_WORD,x:14,y:0},{multiplier:2,type:c.BONUS_WORD,x:1,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:1},{multiplier:2,type:c.BONUS_WORD,x:13,y:1},{multiplier:2,type:c.BONUS_WORD,x:2,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:2},{multiplier:2,type:c.BONUS_WORD,x:12,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:3},{multiplier:2,type:c.BONUS_WORD,x:3,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:7,y:3},{multiplier:2,type:c.BONUS_WORD,x:11,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:3},{multiplier:2,type:c.BONUS_WORD,x:4,y:4},{multiplier:2,type:c.BONUS_WORD,x:10,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:5},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:5},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:5},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:2,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:12,y:6},{multiplier:3,type:c.BONUS_WORD,x:0,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:7},{multiplier:2,type:c.BONUS_WORD,x:7,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:7},{multiplier:3,type:c.BONUS_WORD,x:14,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:2,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:12,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:9},{multiplier:2,type:c.BONUS_WORD,x:4,y:10},{multiplier:2,type:c.BONUS_WORD,x:10,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:11},{multiplier:2,type:c.BONUS_WORD,x:3,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:7,y:11},{multiplier:2,type:c.BONUS_WORD,x:11,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:11},{multiplier:2,type:c.BONUS_WORD,x:2,y:12},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:12},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:12},{multiplier:2,type:c.BONUS_WORD,x:12,y:12},{multiplier:2,type:c.BONUS_WORD,x:1,y:13},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:13},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:13},{multiplier:2,type:c.BONUS_WORD,x:13,y:13},{multiplier:3,type:c.BONUS_WORD,x:0,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:14},{multiplier:3,type:c.BONUS_WORD,x:7,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:14},{multiplier:3,type:c.BONUS_WORD,x:14,y:14}]}},2856:function(e,t,r){var c,a=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(c=function(e){return(c=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=c(e),o=0;o<r.length;o++)"default"!==r[o]&&a(t,e,r[o]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.hasConfig=void 0;let n=o(r(9494));t.hasConfig=(e,t)=>Object.values(n).some(r=>r.game===e&&r.locale===t)},3305:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.polishLiteraki=t.polishScrabble=void 0;let c=r(2708),a=r(6330);t.polishScrabble=new c.Config({...a.scrabble,locale:c.Locale.PL_PL,tiles:[{character:"a",count:9,score:1},{character:"ą",count:1,score:5},{character:"b",count:2,score:3},{character:"c",count:3,score:2},{character:"ć",count:1,score:6},{character:"d",count:3,score:2},{character:"e",count:7,score:1},{character:"ę",count:1,score:5},{character:"f",count:1,score:5},{character:"g",count:2,score:3},{character:"h",count:2,score:3},{character:"i",count:8,score:1},{character:"j",count:2,score:3},{character:"k",count:3,score:2},{character:"l",count:3,score:2},{character:"ł",count:2,score:3},{character:"m",count:3,score:2},{character:"n",count:5,score:1},{character:"ń",count:1,score:7},{character:"o",count:6,score:1},{character:"\xf3",count:1,score:5},{character:"p",count:3,score:2},{character:"r",count:4,score:1},{character:"s",count:4,score:1},{character:"ś",count:1,score:5},{character:"t",count:3,score:2},{character:"u",count:2,score:3},{character:"w",count:4,score:1},{character:"y",count:4,score:2},{character:"z",count:5,score:1},{character:"ź",count:1,score:9},{character:"ż",count:1,score:5}]}),t.polishLiteraki=new c.Config({...a.literaki,locale:c.Locale.PL_PL,tiles:[{character:"a",count:9,score:1},{character:"ą",count:1,score:5},{character:"b",count:2,score:3},{character:"c",count:3,score:2},{character:"ć",count:1,score:5},{character:"d",count:3,score:2},{character:"e",count:7,score:1},{character:"ę",count:1,score:5},{character:"f",count:1,score:5},{character:"g",count:2,score:3},{character:"h",count:2,score:3},{character:"i",count:8,score:1},{character:"j",count:2,score:3},{character:"k",count:3,score:2},{character:"l",count:3,score:2},{character:"ł",count:2,score:3},{character:"m",count:3,score:2},{character:"n",count:5,score:1},{character:"ń",count:1,score:5},{character:"o",count:6,score:1},{character:"\xf3",count:1,score:5},{character:"p",count:3,score:2},{character:"r",count:4,score:1},{character:"s",count:4,score:1},{character:"ś",count:1,score:5},{character:"t",count:3,score:2},{character:"u",count:2,score:3},{character:"w",count:4,score:1},{character:"y",count:4,score:2},{character:"z",count:5,score:1},{character:"ź",count:1,score:5},{character:"ż",count:1,score:5}]})},3611:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(9379),t),a(r(606),t),a(r(2011),t)},3814:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.turkishScrabble=t.turkishKelimelik=void 0;let c=r(2708),a=r(6330);t.turkishKelimelik=new c.Config({...a.kelimelik,locale:c.Locale.TR_TR,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"\xe7",count:2,score:4},{character:"d",count:2,score:3},{character:"e",count:8,score:1},{character:"f",count:1,score:7},{character:"g",count:1,score:5},{character:"ğ",count:1,score:8},{character:"h",count:1,score:5},{character:"ı",count:4,score:2},{character:"i",count:7,score:1},{character:"j",count:1,score:10},{character:"k",count:7,score:1},{character:"l",count:7,score:1},{character:"m",count:4,score:2},{character:"n",count:5,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:7},{character:"p",count:1,score:5},{character:"r",count:6,score:1},{character:"s",count:3,score:2},{character:"ş",count:2,score:4},{character:"t",count:5,score:1},{character:"u",count:3,score:2},{character:"\xfc",count:2,score:3},{character:"v",count:1,score:7},{character:"y",count:2,score:3},{character:"z",count:2,score:4}]}),t.turkishScrabble=new c.Config({...a.scrabble,locale:c.Locale.TR_TR,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"\xe7",count:2,score:4},{character:"d",count:2,score:3},{character:"e",count:8,score:1},{character:"f",count:1,score:7},{character:"g",count:1,score:5},{character:"ğ",count:1,score:8},{character:"h",count:1,score:5},{character:"ı",count:4,score:2},{character:"i",count:7,score:1},{character:"j",count:1,score:10},{character:"k",count:7,score:1},{character:"l",count:7,score:1},{character:"m",count:4,score:2},{character:"n",count:5,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:7},{character:"p",count:1,score:5},{character:"r",count:6,score:1},{character:"s",count:3,score:2},{character:"ş",count:2,score:4},{character:"t",count:5,score:1},{character:"u",count:3,score:2},{character:"\xfc",count:2,score:3},{character:"v",count:1,score:7},{character:"y",count:2,score:3},{character:"z",count:2,score:4}]})},3830:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.persianScrabble=void 0;let c=r(2708),a=r(6330);t.persianScrabble=new c.Config({...a.scrabble,locale:c.Locale.FA_IR,tiles:[{character:"ا",count:12,score:1},{character:"ب",count:4,score:1},{character:"پ",count:1,score:6},{character:"ت",count:4,score:1},{character:"ث",count:1,score:10},{character:"ج",count:2,score:5},{character:"چ",count:1,score:6},{character:"ح",count:1,score:6},{character:"خ",count:2,score:5},{character:"د",count:6,score:1},{character:"ذ",count:1,score:10},{character:"ر",count:7,score:1},{character:"ز",count:3,score:4},{character:"ژ",count:1,score:10},{character:"س",count:3,score:2},{character:"ش",count:3,score:3},{character:"ص",count:1,score:6},{character:"ض",count:1,score:8},{character:"ط",count:1,score:8},{character:"ظ",count:1,score:10},{character:"ع",count:2,score:5},{character:"غ",count:1,score:8},{character:"ف",count:2,score:4},{character:"ق",count:2,score:5},{character:"ک",count:3,score:3},{character:"گ",count:2,score:4},{character:"ل",count:3,score:2},{character:"م",count:5,score:1},{character:"ن",count:6,score:1},{character:"و",count:5,score:1},{character:"ه",count:5,score:1},{character:"ی",count:8,score:1}]})},3852:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isCellJson=void 0;let a=c(r(8049)),i=r(7432);t.isCellJson=e=>(0,a.default)(e)&&"boolean"==typeof e.isEmpty&&((0,i.isTileJson)(e.tile)||null===e.tile)&&"number"==typeof e.x&&"number"==typeof e.y},3986:function(e,t,r){var c,a=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(c=function(e){return(c=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=c(e),o=0;o<r.length;o++)"default"!==r[o]&&a(t,e,r[o]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.languages=t.games=t.hasConfig=t.getConfig=void 0,t.games=o(r(6330)),t.languages=o(r(9494));var n=r(524);Object.defineProperty(t,"getConfig",{enumerable:!0,get:function(){return n.getConfig}});var l=r(2856);Object.defineProperty(t,"hasConfig",{enumerable:!0,get:function(){return l.hasConfig}})},4025:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(8689)),i=c(r(7806));t.default=({board:e,cells:t,config:r,PatternModel:c})=>(0,i.default)(t).flatMap(i=>{let o=(0,a.default)(t,i),n=[];for(let a of o){let o=new c(e,t.slice(i,a+1));o.canBePlaced(r)&&n.push(o)}return n})},4040:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.isLocale=void 0,function(e){e.DE_DE="de-DE",e.EN_GB="en-GB",e.EN_US="en-US",e.ES_ES="es-ES",e.FA_IR="fa-IR",e.FR_FR="fr-FR",e.PL_PL="pl-PL",e.RO_RO="ro-RO",e.TR_TR="tr-TR"}(r||(r={}));let c=Object.values(r);t.isLocale=e=>c.includes(e),t.default=r},4232:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(9276),i=c(r(9112)),o=c(r(6759));class n{static fromJson(e){return new n(e)}constructor(e){this.bonuses=l(e),this.config=e,this.pointsMap=u(this.config)}get alphabet(){return s(this.config)}get bingoScore(){return this.config.bingoScore}get blankScore(){return this.config.blankScore}get blanksCount(){return this.config.blanksCount}get boardSize(){return this.config.boardSize}get game(){return this.config.game}get locale(){return this.config.locale}get twoCharacterTiles(){return this.config.tiles.filter(e=>2===e.character.length).map(e=>e.character)}getCellBonus(e){return this.bonuses.find(t=>t.matchesCellCoordinates(e))}getCellBonusValue(e){return this.getCellBonus(e)?.value||a.NO_BONUS}getCharacterPoints(e){return null===e?void 0:e===a.BLANK?this.blankScore:this.pointsMap[e]}getTwoCharacterTileByPrefix(e){if(1===e.length)return this.twoCharacterTiles.find(t=>t.startsWith(e))}getTilePoints(e){if(null!==e)return e.isBlank?this.blankScore:this.getCharacterPoints(e.character)}hasCharacter(e){return e in this.pointsMap}isTwoCharacterTilePrefix(e){return void 0!==this.getTwoCharacterTileByPrefix(e)}get rackSize(){return this.config.rackSize}get tiles(){return this.config.tiles}toJson(){return this.config}}let l=e=>e.bonuses.map(e=>{if(e.type===a.BONUS_CHARACTER)return new i.default(e);if(e.type===a.BONUS_WORD)return new o.default(e);throw Error(`Unsupported Bonus type: "${e.type}"`)}),s=e=>e.tiles.map(({character:e})=>e),u=e=>e.tiles.reduce((e,{character:t,score:r})=>({...e,[t]:r}),{});t.default=n},4550:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fromArray=void 0;let c=r(88);t.fromArray=e=>{let t={};return e.forEach(e=>(0,c.add)(t,e)),t}},4758:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.board=e,this.cells=t}canBePlaced(e){let t=this.getEmptyCellsCount();return t>=1&&t<=e.rackSize&&(this.hasAtLeast1NonEmptyCell()||this.collides()||this.goesThroughBoardCenter()&&this.board.isEmpty())}clone(){return new r(this.board,this.cells.map(e=>e.clone()))}collides(){return this.cells.some(e=>e.isEmpty&&this.board.collides(e))}getIndexOfFirstCellWithoutTile(){return this.cells.findIndex(e=>!e.hasTile())}getEmptyCellsCount(){return this.cells.filter(e=>e.isEmpty).length}goesThroughBoardCenter(){return this.cells.some(e=>e.x===this.board.center.x&&e.y===this.board.center.y&&e.isEmpty)}hasAtLeast1EmptyCell(){return this.cells.some(e=>e.isEmpty)}hasAtLeast1NonEmptyCell(){return this.cells.some(e=>!e.isEmpty)}getCollisions(){return[]}toJson(){return{cells:this.cells.map(e=>e.toJson()),collisions:this.getCollisions().map(e=>e.toJson()),word:this.toString()}}toString(){return this.cells.reduce((e,t)=>e+t.toString(),"")}}t.default=r},4979:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.romanianSuperScrabble=t.romanianScrabble=void 0;let c=r(2708),a=r(6330);t.romanianScrabble=new c.Config({...a.scrabble,locale:c.Locale.RO_RO,tiles:[{character:"a",count:11,score:1},{character:"b",count:2,score:9},{character:"c",count:5,score:1},{character:"d",count:4,score:2},{character:"e",count:9,score:1},{character:"f",count:2,score:8},{character:"g",count:2,score:9},{character:"h",count:1,score:10},{character:"i",count:10,score:1},{character:"j",count:1,score:10},{character:"l",count:4,score:1},{character:"m",count:3,score:4},{character:"n",count:6,score:1},{character:"o",count:5,score:1},{character:"p",count:4,score:2},{character:"r",count:7,score:1},{character:"s",count:5,score:1},{character:"t",count:7,score:1},{character:"u",count:6,score:1},{character:"v",count:2,score:8},{character:"x",count:1,score:10},{character:"z",count:1,score:10}]}),t.romanianSuperScrabble=new c.Config({...a.superScrabble,locale:c.Locale.RO_RO,tiles:[{character:"a",count:22,score:1},{character:"b",count:4,score:9},{character:"c",count:10,score:1},{character:"d",count:8,score:2},{character:"e",count:18,score:1},{character:"f",count:4,score:8},{character:"g",count:4,score:9},{character:"h",count:2,score:10},{character:"i",count:20,score:1},{character:"j",count:2,score:10},{character:"l",count:8,score:1},{character:"m",count:6,score:4},{character:"n",count:12,score:1},{character:"o",count:10,score:1},{character:"p",count:8,score:2},{character:"r",count:14,score:1},{character:"s",count:10,score:1},{character:"t",count:14,score:1},{character:"u",count:12,score:1},{character:"v",count:4,score:8},{character:"x",count:2,score:10},{character:"z",count:2,score:10}]})},5006:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(8049));t.default=e=>!!(0,a.default)(e)&&"string"==typeof e.message},5149:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.kelimelik=void 0;let c=r(9276);t.kelimelik={bingoScore:30,blankScore:0,blanksCount:2,boardSize:15,game:r(2708).Game.Kelimelik,name:"Kelimelik",rackSize:7,bonuses:[{multiplier:3,type:c.BONUS_WORD,x:2,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:0},{multiplier:3,type:c.BONUS_WORD,x:12,y:0},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:1},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:1},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:1},{multiplier:3,type:c.BONUS_WORD,x:0,y:2},{multiplier:2,type:c.BONUS_WORD,x:7,y:2},{multiplier:3,type:c.BONUS_WORD,x:14,y:2},{multiplier:2,type:c.BONUS_WORD,x:3,y:3},{multiplier:2,type:c.BONUS_WORD,x:11,y:3},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:10,y:4},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:1,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:13,y:6},{multiplier:2,type:c.BONUS_WORD,x:2,y:7},{multiplier:2,type:c.BONUS_WORD,x:12,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:1,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:13,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:10},{multiplier:3,type:c.BONUS_CHARACTER,x:10,y:10},{multiplier:2,type:c.BONUS_WORD,x:3,y:11},{multiplier:2,type:c.BONUS_WORD,x:11,y:11},{multiplier:3,type:c.BONUS_WORD,x:0,y:12},{multiplier:2,type:c.BONUS_WORD,x:7,y:12},{multiplier:3,type:c.BONUS_WORD,x:14,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:13},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:13},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:13},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:13},{multiplier:3,type:c.BONUS_WORD,x:2,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:14},{multiplier:3,type:c.BONUS_WORD,x:12,y:14}]}},5350:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(8878));t.default=e=>{let t=new Set,r=[];for(let c of e){let e=(0,a.default)(c);t.has(e)||(t.add(e),r.push(c))}return r}},5358:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(2708),i=c(r(4025)),o=c(r(7783));t.default=(e,t)=>(0,o.default)({getNthVector:e=>t.getColumn(e),vectorsCount:e.boardSize}).flatMap(r=>(0,i.default)({board:t,config:e,PatternModel:a.VerticalPattern,cells:r}))},5452:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(4758));class i extends a.default{clone(){return new i(this.board,this.cells.map(e=>e.clone()))}getCollisions(){let e=[];return this.cells.filter(e=>e.isEmpty&&(this.board.collidesLeft(e)||this.board.collidesRight(e))).forEach(t=>{let r=this.board.getRow(t.y),c=t.x-1;for(;c>=0&&r[c].hasTile();)--c;let i=r.slice(c+1,t.x);for(c=t.x+1;c<r.length&&r[c].hasTile();)++c;let o=r.slice(t.x+1,c),n=[...i,t,...o];if(n.length>1){let t=new a.default(this.board,n);e.push(t)}}),e}}t.default=i},5899:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.hasPrefix=void 0;let c=r(624);t.hasPrefix=(e,t)=>{let r=(0,c.find)(e,t);return!!r&&Object.keys(r).length>0}},6186:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.germanScrabble=void 0;let c=r(2708),a=r(6330);t.germanScrabble=new c.Config({...a.scrabble,locale:c.Locale.DE_DE,tiles:[{character:"a",count:5,score:1},{character:"\xe4",count:1,score:6},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"d",count:4,score:1},{character:"e",count:15,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:4,score:2},{character:"i",count:6,score:1},{character:"j",count:1,score:6},{character:"k",count:2,score:4},{character:"l",count:3,score:2},{character:"m",count:4,score:3},{character:"n",count:9,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:8},{character:"p",count:1,score:4},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:7,score:1},{character:"t",count:6,score:1},{character:"u",count:6,score:1},{character:"\xfc",count:1,score:6},{character:"v",count:1,score:6},{character:"w",count:1,score:3},{character:"x",count:1,score:8},{character:"y",count:1,score:10},{character:"z",count:1,score:3}]})},6249:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.literaki=void 0;let c=r(9276);t.literaki={bingoScore:50,blankScore:0,blanksCount:2,boardSize:15,game:r(2708).Game.Literaki,name:"Literaki",rackSize:7,bonuses:[{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:0,y:0},{multiplier:3,type:c.BONUS_WORD,x:2,y:0},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:5,y:0},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:7,y:0},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:9,y:0},{multiplier:3,type:c.BONUS_WORD,x:12,y:0},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:14,y:0},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:4,y:1},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:6,y:1},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:8,y:1},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:10,y:1},{multiplier:3,type:c.BONUS_WORD,x:0,y:2},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:3,y:2},{multiplier:2,type:c.BONUS_WORD,x:5,y:2},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:7,y:2},{multiplier:2,type:c.BONUS_WORD,x:9,y:2},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:11,y:2},{multiplier:3,type:c.BONUS_WORD,x:14,y:2},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:2,y:3},{multiplier:2,type:c.BONUS_WORD,x:4,y:3},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:6,y:3},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:8,y:3},{multiplier:2,type:c.BONUS_WORD,x:10,y:3},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:12,y:3},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:1,y:4},{multiplier:2,type:c.BONUS_WORD,x:3,y:4},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:5,y:4},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:9,y:4},{multiplier:2,type:c.BONUS_WORD,x:11,y:4},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:13,y:4},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:0,y:5},{multiplier:2,type:c.BONUS_WORD,x:2,y:5},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:4,y:5},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:7,y:5},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:10,y:5},{multiplier:2,type:c.BONUS_WORD,x:12,y:5},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:14,y:5},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:1,y:6},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:3,y:6},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:6,y:6},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:8,y:6},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:11,y:6},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:13,y:6},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:0,y:7},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:2,y:7},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:5,y:7},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:7,y:7},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:9,y:7},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:12,y:7},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:14,y:7},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:1,y:8},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:3,y:8},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:6,y:8},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:11,y:8},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:13,y:8},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:0,y:9},{multiplier:2,type:c.BONUS_WORD,x:2,y:9},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:4,y:9},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:7,y:9},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:10,y:9},{multiplier:2,type:c.BONUS_WORD,x:12,y:9},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:14,y:9},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:1,y:10},{multiplier:2,type:c.BONUS_WORD,x:3,y:10},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:5,y:10},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:9,y:10},{multiplier:2,type:c.BONUS_WORD,x:11,y:10},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:13,y:10},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:2,y:11},{multiplier:2,type:c.BONUS_WORD,x:4,y:11},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:6,y:11},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:8,y:11},{multiplier:2,type:c.BONUS_WORD,x:10,y:11},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:12,y:11},{multiplier:3,type:c.BONUS_WORD,x:0,y:12},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:3,y:12},{multiplier:2,type:c.BONUS_WORD,x:5,y:12},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:7,y:12},{multiplier:2,type:c.BONUS_WORD,x:9,y:12},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:11,y:12},{multiplier:3,type:c.BONUS_WORD,x:14,y:12},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:4,y:13},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:6,y:13},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:8,y:13},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:10,y:13},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:0,y:14},{multiplier:3,type:c.BONUS_WORD,x:2,y:14},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:5,y:14},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:7,y:14},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:9,y:14},{multiplier:3,type:c.BONUS_WORD,x:12,y:14},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:14,y:14}]}},6330:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(5149),t),a(r(6249),t),a(r(2740),t),a(r(1553),t)},6500:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.frenchScrabble=void 0;let c=r(2708),a=r(6330);t.frenchScrabble=new c.Config({...a.scrabble,locale:c.Locale.FR_FR,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:3,score:2},{character:"e",count:15,score:1},{character:"f",count:2,score:4},{character:"g",count:2,score:2},{character:"h",count:2,score:4},{character:"i",count:8,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:10},{character:"l",count:5,score:1},{character:"m",count:3,score:2},{character:"n",count:6,score:1},{character:"o",count:6,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:8},{character:"r",count:6,score:1},{character:"s",count:6,score:1},{character:"t",count:6,score:1},{character:"u",count:6,score:1},{character:"v",count:2,score:4},{character:"w",count:1,score:10},{character:"x",count:1,score:10},{character:"y",count:1,score:10},{character:"z",count:1,score:10}]})},6759:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(9276),i=c(r(719));class o extends i.default{constructor(){super(...arguments),this.type=a.BONUS_WORD}get value(){return{characterMultiplier:1,wordMultiplier:this.multiplier}}}t.default=o},6902:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isBoardJson=void 0;let c=r(3852);t.isBoardJson=e=>{if(!Array.isArray(e))return!1;for(let t of e){if(!Array.isArray(e))return!1;for(let e of t)if(!(0,c.isCellJson)(e))return!1}return!0}},6906:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.solve=t.getUniquePatterns=t.getPatternScore=t.getPatternHash=t.getCellsScore=t.generateVerticalPatterns=t.generateVectors=t.generateStartIndices=t.generatePatterns=t.generatePattern=t.generateHorizontalPatterns=t.generateEndIndices=t.fillPattern=t.areDigraphsValid=void 0;var a=r(1566);Object.defineProperty(t,"areDigraphsValid",{enumerable:!0,get:function(){return c(a).default}});var i=r(8735);Object.defineProperty(t,"fillPattern",{enumerable:!0,get:function(){return c(i).default}});var o=r(8689);Object.defineProperty(t,"generateEndIndices",{enumerable:!0,get:function(){return c(o).default}});var n=r(8620);Object.defineProperty(t,"generateHorizontalPatterns",{enumerable:!0,get:function(){return c(n).default}});var l=r(4025);Object.defineProperty(t,"generatePattern",{enumerable:!0,get:function(){return c(l).default}});var s=r(9052);Object.defineProperty(t,"generatePatterns",{enumerable:!0,get:function(){return c(s).default}});var u=r(7806);Object.defineProperty(t,"generateStartIndices",{enumerable:!0,get:function(){return c(u).default}});var h=r(7783);Object.defineProperty(t,"generateVectors",{enumerable:!0,get:function(){return c(h).default}});var p=r(5358);Object.defineProperty(t,"generateVerticalPatterns",{enumerable:!0,get:function(){return c(p).default}});var y=r(2095);Object.defineProperty(t,"getCellsScore",{enumerable:!0,get:function(){return c(y).default}});var d=r(8878);Object.defineProperty(t,"getPatternHash",{enumerable:!0,get:function(){return c(d).default}});var f=r(506);Object.defineProperty(t,"getPatternScore",{enumerable:!0,get:function(){return c(f).default}});var m=r(5350);Object.defineProperty(t,"getUniquePatterns",{enumerable:!0,get:function(){return c(m).default}});var O=r(1513);Object.defineProperty(t,"solve",{enumerable:!0,get:function(){return c(O).default}})},7072:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.nodeKeyComparator=void 0,t.nodeKeyComparator=(e,t)=>"wordEnd"===e?-1:"wordEnd"===t?1:e.localeCompare(t)},7303:()=>{try{self["workbox:strategies:7.2.0"]&&_()}catch(e){}},7432:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isTileJson=void 0;let a=c(r(8049));t.isTileJson=e=>(0,a.default)(e)&&"string"==typeof e.character&&"boolean"==typeof e.isBlank},7783:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=({getNthVector:e,vectorsCount:t})=>Array.from({length:t},(t,r)=>e(r))},7806:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>{if(0===e.length)return[];let t=[0];for(let r=1;r<e.length-1;++r)e[r-1].hasTile()||t.push(r);return t}},8049:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>"object"==typeof e&&null!==e},8097:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.traverse=void 0;let c=r(7072);t.traverse=(e,t,r={})=>{let a=[],i=0,o=e,n=r.prefix||"";for(;a.length>0||o;){for(;o;){let e=Object.keys(o);if(i>=e.length)o=void 0;else{let l=(r.sort?e.sort(c.nodeKeyComparator):e)[i];if("wordEnd"===l)++i;else if(a.push({keyIndex:i,node:o}),i=0,o=o[l],n+=l,(!r.wordsOnly||o.wordEnd)&&t({node:o,prefix:n}))return}}if(a.length>0){let e=a.pop();i=e.keyIndex+1,o=e.node,n=n.slice(0,-1)}}}},8159:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(9276),i=c(r(1370));class o{static fromJson(e){return new o({id:e.id,cells:e.cells.map(i.default.fromJson),collisions:e.collisions.map(e=>e.map(i.default.fromJson)),points:e.points})}constructor({cells:e,id:t,collisions:r,points:c}){let a=h(e);this.blanksCount=n(a).length,this.cells=e,this.collisions=r,this.consonantsCount=l(a).length,this.id=t,this.length=e.length,this.points=c,this.pointsRatio=u(a,c),this.tiles=a,this.tilesCount=a.length,this.vowelsCount=s(a).length,this.word=p(e),this.words=y(e,r),this.wordsCount=1+this.collisions.length}toJson(){return{cells:this.cells.map(e=>e.toJson()),id:this.id,collisions:this.collisions.map(e=>e.map(e=>e.toJson())),points:this.points}}}let n=e=>e.filter(({isBlank:e})=>e),l=e=>e.filter(d),s=e=>e.filter(f),u=(e,t)=>t/e.length,h=e=>e.filter(({isEmpty:e})=>e).map(({tile:e})=>e),p=e=>e.reduce((e,t)=>e+t.toString(),""),y=(e,t)=>[e,...t].map(p),d=({character:e,isBlank:t})=>a.CONSONANTS.includes(e)&&!t,f=({character:e,isBlank:t})=>a.VOWELS.includes(e)&&!t;t.default=o},8519:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.has=void 0;let c=r(624);t.has=(e,t)=>{let r=(0,c.find)(e,t);return!!r?.wordEnd}},8620:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(2708),i=c(r(4025)),o=c(r(7783));t.default=(e,t)=>(0,o.default)({getNthVector:e=>t.getRow(e),vectorsCount:e.boardSize}).flatMap(r=>(0,i.default)({board:t,config:e,PatternModel:a.HorizontalPattern,cells:r}))},8679:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.remove=void 0,t.remove=(e,r)=>{if(0===r.length)return!!e.wordEnd&&(delete e.wordEnd,!0);let c=r[0],a=e[c];return!!(a&&(0,t.remove)(a,r.substring(1)))&&(0===Object.keys(a).length&&delete e[c],!0)}},8689:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,t)=>{if(0===e.length)return[];let r=[];for(let c=t+1;c<e.length-1;++c)e[c+1].hasTile()||r.push(c);return r.push(e.length-1),r}},8735:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fillPatternRecursive=void 0;let c=r(9276),a=r(2708);t.fillPatternRecursive=(e,r,i,o,n,l)=>{let s=o.getIndexOfFirstCellWithoutTile();if(-1===s){r.has(n)&&o.getCollisions().every(e=>r.has(e.toString()))&&e.push(new a.FinalPattern(o.clone()));return}for(let u=0;u<l.length;++u){let h=l[u],p=o.cells[s].tile;o.cells[s].tile=h;let y=o.getIndexOfFirstCellWithoutTile(),d=n.indexOf(c.EMPTY_CELL),f=n.substring(0,d),m=n.substring(d+1);for(let c of h.isBlank?i.alphabet:[h.character]){let n=f+c,s=n+m;h.character=c,-1===y?r.has(s)&&o.getCollisions().every(e=>r.has(e.toString()))&&e.push(new a.FinalPattern(o.clone())):r.hasPrefix(n)&&(l.splice(u,1),(0,t.fillPatternRecursive)(e,r,i,o,s,l),l.splice(u,0,h))}o.cells[s].tile=p}},t.default=(e,r,c,a)=>{if(c.getEmptyCellsCount()>a.length)return[];let i=[];return(0,t.fillPatternRecursive)(i,e,r,c,c.toString(),a),i}},8878:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>e.cells.filter(e=>e.isEmpty).map(e=>{let t=e.tile.isBlank?"!":"",r=e.tile.character+t;return[e.x,e.y,r].join(",")}).join("-")},9052:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(8620)),i=c(r(5358));t.default=(e,t)=>{let r=(0,a.default)(e,t),c=(0,i.default)(e,t);return r.concat(c)}},9112:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(9276),i=c(r(719));class o extends i.default{constructor(){super(...arguments),this.type=a.BONUS_CHARACTER}canApply(e,t){return super.canApply(e,t)&&this.matchesCellTileScore(e,t)}matchesCellTileScore(e,t){return void 0===this.score||this.score===e.pointsMap[t.tile.character]}get value(){return{characterMultiplier:this.multiplier,wordMultiplier:1}}}t.default=o},9140:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(9276),i=c(r(1370)),o=c(r(9654));class n{static create(e){return n.fromStringArray(Array(e).fill(Array(e).fill(" ").join("")))}static fromJson(e){return new n({rows:e.map(e=>e.map(i.default.fromJson))})}static fromStringArray(e){return new n({rows:e.map((e,t)=>e.split("").map((e,r)=>new i.default({isEmpty:!e||e===a.EMPTY_CELL,tile:e===a.EMPTY_CELL?o.default.Null:new o.default({character:e}),x:r,y:t})))})}constructor({rows:e}){this.rows=e,this.columnsCount=e[0].length,this.rowsCount=e.length}get center(){let e=Math.floor(this.columnsCount/2),t=Math.floor(this.rowsCount/2);return this.rows[t][e]}clone(){return new n({rows:this.rows.map(e=>e.map(e=>e.clone()))})}collides(e){return this.collidesUp(e)||this.collidesDown(e)||this.collidesLeft(e)||this.collidesRight(e)}collidesDown({x:e,y:t}){return t<this.rowsCount-1&&!this.rows[t+1][e].isEmpty}collidesLeft({x:e,y:t}){return e>0&&!this.rows[t][e-1].isEmpty}collidesRight({x:e,y:t}){return e<this.columnsCount-1&&!this.rows[t][e+1].isEmpty}collidesUp({x:e,y:t}){return t>0&&!this.rows[t-1][e].isEmpty}equals(e){return this.columnsCount===e.columnsCount&&this.rowsCount===e.rowsCount&&this.rows.every((t,r)=>t.every((t,c)=>t.equals(e.rows[r][c])))}getBlanksCount(){return this.rows.reduce((e,t)=>e+t.reduce((e,t)=>e+ +!!t.tile.isBlank,0),0)}getColumn(e){return this.rows.map(t=>t[e])}getRow(e){return this.rows[e]}getTilesCount(){return this.rows.reduce((e,t)=>e+t.reduce((e,t)=>e+ +!!t.hasTile(),0),0)}getWords(){let e=[];for(let t=0;t<this.columnsCount;++t){let r=[];for(let e=0;e<this.rowsCount;++e)r.push(this.rows[e][t]);e.push(r)}let t=new n({rows:e});return this.toString().split("\n").concat(t.toString().split("\n")).flatMap(e=>e.replaceAll(/\s+/g,a.EMPTY_CELL).split(" ")).filter(e=>e.length>1)}isEmpty(){return this.rows.every(e=>e.every(({isEmpty:e})=>e))}toJson(){return this.rows.map(e=>e.map(e=>e.toJson()))}toString(){return this.rows.map(e=>e.map(String).join("")).join("\n")}updateCell(e,t,r){this.rows[t][e]=r(this.rows[t][e])}updateRow(e,t){this.rows[e]=t(this.rows[e])}}t.default=n},9276:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VOWELS=t.CONSONANTS=t.NO_BONUS=t.EMPTY_CELL=t.BONUS_WORD=t.BONUS_CHARACTER=t.BLANK=t.COMMA_LATIN=t.COMMA_ARABIC=void 0,t.COMMA_ARABIC="،",t.COMMA_LATIN=",",t.BLANK=" ",t.BONUS_CHARACTER="BONUS_CHARACTER",t.BONUS_WORD="BONUS_WORD",t.EMPTY_CELL=" ",t.NO_BONUS={characterMultiplier:1,wordMultiplier:1},t.CONSONANTS="bc\xe7ćdfgğhjklłmnń\xf1pqrsşśtvwxzźż".split(""),t.VOWELS="aą\xe4eęio\xf3\xf6u\xfcyı".split("")},9379:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Trie=void 0;let c=r(2011);class a{static deserialize(e){return new a((0,c.deserialize)(e))}static fromArray(e){return new a((0,c.fromArray)(e))}root;constructor(e={}){this.root=e}add(e){return(0,c.add)(this.root,e)}find(e){return(0,c.find)(this.root,e)}has(e){return(0,c.has)(this.root,e)}hasPrefix(e){return(0,c.hasPrefix)(this.root,e)}remove(e){return(0,c.remove)(this.root,e)}serialize(){return(0,c.serialize)(this.root)}toArray(e){return(0,c.toArray)(this.root,e)}traverse(e,t){return(0,c.traverse)(this.root,e,t)}}t.Trie=a},9494:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(1150),t),a(r(6186),t),a(r(6500),t),a(r(3830),t),a(r(3305),t),a(r(4979),t),a(r(1958),t),a(r(3814),t)},9654:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let c=r(9276);class a{static fromJson(e){return e?new a({character:e.character,isBlank:e.isBlank}):a.Null}constructor({character:e,isBlank:t=!1}){this.character=e,this.isBlank=t}clone(){return new a({character:this.character,isBlank:this.isBlank})}equals(e){return this.character===e.character&&this.isBlank===e.isBlank}toJson(){return{character:this.character,isBlank:this.isBlank}}toString(){return this.character}}a.Null=Object.freeze({character:c.EMPTY_CELL,isBlank:!1,clone:()=>a.Null,equals:e=>e===a.Null,toJson:()=>null,toString:()=>c.EMPTY_CELL}),t.default=a},9979:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class r{static fromJson(e){return e?new r({definitions:e.definitions,exists:e.exists,isAllowed:e.isAllowed,word:e.word}):r.Null}constructor({definitions:e,exists:t,isAllowed:r,word:c}){this.definitions=e,this.exists=t,this.isAllowed=r,this.word=c}toJson(){return{definitions:this.definitions,exists:this.exists,isAllowed:this.isAllowed,word:this.word}}}r.Null=Object.freeze({definitions:[],exists:!1,isAllowed:!1,word:"",toJson:()=>null}),t.default=r}},o={};function n(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}},c=!0;try{i[e].call(r.exports,r,r.exports,n),c=!1}finally{c&&delete o[e]}return r.exports}n(1693);let l=(e,...t)=>{let r=e;return t.length>0&&(r+=` :: ${JSON.stringify(t)}`),r};class s extends Error{constructor(e,t){super(l(e,t)),this.name=e,this.details=t}}let u={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},h=e=>[u.prefix,e,u.suffix].filter(e=>e&&e.length>0).join("-"),p={getPrecacheName:e=>e||h(u.precache),getRuntimeName:e=>e||h(u.runtime)};function y(e,t){let r=t();return e.waitUntil(r),r}n(1802);class d{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:r})=>{if("install"===e.type&&t&&t.originalRequest&&t.originalRequest instanceof Request){let e=t.originalRequest.url;r?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return r}}}class f{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{let r=(null==t?void 0:t.cacheKey)||this._precacheController.getCacheKeyForURL(e.url);return r?new Request(r,{headers:e.headers}):e},this._precacheController=e}}async function m(t,r){let c=null;if(t.url&&(c=new URL(t.url).origin),c!==self.location.origin)throw new s("cross-origin-copy-response",{origin:c});let a=t.clone(),i={headers:new Headers(a.headers),status:a.status,statusText:a.statusText},o=r?r(i):i,n=!function(){if(void 0===e){let t=new Response("");if("body"in t)try{new Response(t.body),e=!0}catch(t){e=!1}e=!1}return e}()?await a.blob():a.body;return new Response(n,o)}let O=e=>new URL(String(e),location.href).href.replace(RegExp(`^${location.origin}`),"");function R(e,t){let r=new URL(e);for(let e of t)r.searchParams.delete(e);return r.href}async function C(e,t,r,c){let a=R(t.url,r);if(t.url===a)return e.match(t,c);let i=Object.assign(Object.assign({},c),{ignoreSearch:!0});for(let o of(await e.keys(t,i)))if(a===R(o.url,r))return e.match(o,c)}class g{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}let S=new Set;async function b(){for(let e of S)await e()}function A(e){return"string"==typeof e?new Request(e):e}n(7303);class x{constructor(e,t){for(let r of(this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new g,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map,this._plugins))this._pluginStateMap.set(r,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){let{event:t}=this,r=A(e);if("navigate"===r.mode&&t instanceof FetchEvent&&t.preloadResponse){let e=await t.preloadResponse;if(e)return e}let c=this.hasCallback("fetchDidFail")?r.clone():null;try{for(let e of this.iterateCallbacks("requestWillFetch"))r=await e({request:r.clone(),event:t})}catch(e){if(e instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}let a=r.clone();try{let e;for(let c of(e=await fetch(r,"navigate"===r.mode?void 0:this._strategy.fetchOptions),this.iterateCallbacks("fetchDidSucceed")))e=await c({event:t,request:a,response:e});return e}catch(e){throw c&&await this.runCallbacks("fetchDidFail",{error:e,event:t,originalRequest:c.clone(),request:a.clone()}),e}}async fetchAndCachePut(e){let t=await this.fetch(e),r=t.clone();return this.waitUntil(this.cachePut(e,r)),t}async cacheMatch(e){let t;let r=A(e),{cacheName:c,matchOptions:a}=this._strategy,i=await this.getCacheKey(r,"read"),o=Object.assign(Object.assign({},a),{cacheName:c});for(let e of(t=await caches.match(i,o),this.iterateCallbacks("cachedResponseWillBeUsed")))t=await e({cacheName:c,matchOptions:a,cachedResponse:t,request:i,event:this.event})||void 0;return t}async cachePut(e,t){let r=A(e);await new Promise(e=>setTimeout(e,0));let c=await this.getCacheKey(r,"write");if(!t)throw new s("cache-put-with-no-response",{url:O(c.url)});let a=await this._ensureResponseSafeToCache(t);if(!a)return!1;let{cacheName:i,matchOptions:o}=this._strategy,n=await self.caches.open(i),l=this.hasCallback("cacheDidUpdate"),u=l?await C(n,c.clone(),["__WB_REVISION__"],o):null;try{await n.put(c,l?a.clone():a)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await b(),e}for(let e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:i,oldResponse:u,newResponse:a.clone(),request:c,event:this.event});return!0}async getCacheKey(e,t){let r=`${e.url} | ${t}`;if(!this._cacheKeys[r]){let c=e;for(let e of this.iterateCallbacks("cacheKeyWillBeUsed"))c=A(await e({mode:t,request:c,event:this.event,params:this.params}));this._cacheKeys[r]=c}return this._cacheKeys[r]}hasCallback(e){for(let t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(let r of this.iterateCallbacks(e))await r(t)}*iterateCallbacks(e){for(let t of this._strategy.plugins)if("function"==typeof t[e]){let r=this._pluginStateMap.get(t),c=c=>{let a=Object.assign(Object.assign({},c),{state:r});return t[e](a)};yield c}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,r=!1;for(let e of this.iterateCallbacks("cacheWillUpdate"))if(t=await e({request:this.request,response:t,event:this.event})||void 0,r=!0,!t)break;return!r&&t&&200!==t.status&&(t=void 0),t}}class N{constructor(e={}){this.cacheName=p.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){let[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});let t=e.event,r="string"==typeof e.request?new Request(e.request):e.request,c=new x(this,{event:t,request:r,params:"params"in e?e.params:void 0}),a=this._getResponse(c,r,t),i=this._awaitComplete(a,c,r,t);return[a,i]}async _getResponse(e,t,r){let c;await e.runCallbacks("handlerWillStart",{event:r,request:t});try{if(!(c=await this._handle(t,e))||"error"===c.type)throw new s("no-response",{url:t.url})}catch(a){if(a instanceof Error){for(let i of e.iterateCallbacks("handlerDidError"))if(c=await i({error:a,event:r,request:t}))break}if(c);else throw a}for(let a of e.iterateCallbacks("handlerWillRespond"))c=await a({event:r,request:t,response:c});return c}async _awaitComplete(e,t,r,c){let a,i;try{a=await e}catch(e){}try{await t.runCallbacks("handlerDidRespond",{event:c,request:r,response:a}),await t.doneWaiting()}catch(e){e instanceof Error&&(i=e)}if(await t.runCallbacks("handlerDidComplete",{event:c,request:r,response:a,error:i}),t.destroy(),i)throw i}}class B extends N{constructor(e={}){e.cacheName=p.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(B.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){let r=await t.cacheMatch(e);return r||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let r;let c=t.params||{};if(this._fallbackToNetwork){let a=c.integrity,i=e.integrity,o=!i||i===a;r=await t.fetch(new Request(e,{integrity:"no-cors"!==e.mode?i||a:void 0})),a&&o&&"no-cors"!==e.mode&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,r.clone()))}else throw new s("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return r}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();let r=await t.fetch(e);if(!await t.cachePut(e,r.clone()))throw new s("bad-precaching-response",{url:e.url,status:r.status});return r}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(let[r,c]of this.plugins.entries())c!==B.copyRedirectedCacheableResponsesPlugin&&(c===B.defaultPrecacheCacheabilityPlugin&&(e=r),c.cacheWillUpdate&&t++);0===t?this.plugins.push(B.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}B.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e},B.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await m(e):e};class U{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:r=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new B({cacheName:p.getPrecacheName(e),plugins:[...t,new f({precacheController:this})],fallbackToNetwork:r}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){let t=[];for(let r of e){"string"==typeof r?t.push(r):r&&void 0===r.revision&&t.push(r.url);let{cacheKey:e,url:c}=function(e){if(!e)throw new s("add-to-cache-list-unexpected-type",{entry:e});if("string"==typeof e){let t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}let{revision:t,url:r}=e;if(!r)throw new s("add-to-cache-list-unexpected-type",{entry:e});if(!t){let e=new URL(r,location.href);return{cacheKey:e.href,url:e.href}}let c=new URL(r,location.href),a=new URL(r,location.href);return c.searchParams.set("__WB_REVISION__",t),{cacheKey:c.href,url:a.href}}(r),a="string"!=typeof r&&r.revision?"reload":"default";if(this._urlsToCacheKeys.has(c)&&this._urlsToCacheKeys.get(c)!==e)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(c),secondEntry:e});if("string"!=typeof r&&r.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==r.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:c});this._cacheKeysToIntegrities.set(e,r.integrity)}this._urlsToCacheKeys.set(c,e),this._urlsToCacheModes.set(c,a),t.length>0&&console.warn(`Workbox is precaching URLs without revision info: ${t.join(", ")}
2
- This is generally NOT safe. Learn more at https://bit.ly/wb-precache`)}}install(e){return y(e,async()=>{let t=new d;for(let[r,c]of(this.strategy.plugins.push(t),this._urlsToCacheKeys)){let t=this._cacheKeysToIntegrities.get(c),a=this._urlsToCacheModes.get(r),i=new Request(r,{integrity:t,cache:a,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:c},request:i,event:e}))}let{updatedURLs:r,notUpdatedURLs:c}=t;return{updatedURLs:r,notUpdatedURLs:c}})}activate(e){return y(e,async()=>{let e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),r=new Set(this._urlsToCacheKeys.values()),c=[];for(let a of t)r.has(a.url)||(await e.delete(a),c.push(a.url));return{deletedURLs:c}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,r=this.getCacheKeyForURL(t);if(r)return(await self.caches.open(this.strategy.cacheName)).match(r)}createHandlerBoundToURL(e){let t=this.getCacheKeyForURL(e);if(!t)throw new s("non-precached-url",{url:e});return r=>(r.request=new Request(e),r.params=Object.assign({cacheKey:t},r.params),this.strategy.handle(r))}}let E=()=>(t||(t=new U),t);n(2448);let w=e=>e&&"object"==typeof e?e:{handle:e};class v{constructor(e,t,r="GET"){this.handler=w(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=w(e)}}class T extends v{constructor(e,t,r){super(({url:t})=>{let r=e.exec(t.href);if(r&&(t.origin===location.origin||0===r.index))return r.slice(1)},t,r)}}class P{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{let{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&"CACHE_URLS"===e.data.type){let{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(t=>{"string"==typeof t&&(t=[t]);let r=new Request(...t);return this.handleRequest({request:r,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){let r;let c=new URL(e.url,location.href);if(!c.protocol.startsWith("http"))return;let a=c.origin===location.origin,{params:i,route:o}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:c}),n=o&&o.handler,l=e.method;if(!n&&this._defaultHandlerMap.has(l)&&(n=this._defaultHandlerMap.get(l)),!n)return;try{r=n.handle({url:c,request:e,event:t,params:i})}catch(e){r=Promise.reject(e)}let s=o&&o.catchHandler;return r instanceof Promise&&(this._catchHandler||s)&&(r=r.catch(async r=>{if(s)try{return await s.handle({url:c,request:e,event:t,params:i})}catch(e){e instanceof Error&&(r=e)}if(this._catchHandler)return this._catchHandler.handle({url:c,request:e,event:t});throw r})),r}findMatchingRoute({url:e,sameOrigin:t,request:r,event:c}){for(let a of this._routes.get(r.method)||[]){let i;let o=a.match({url:e,sameOrigin:t,request:r,event:c});if(o)return Array.isArray(i=o)&&0===i.length?i=void 0:o.constructor===Object&&0===Object.keys(o).length?i=void 0:"boolean"==typeof o&&(i=void 0),{route:a,params:i}}return{}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,w(e))}setCatchHandler(e){this._catchHandler=w(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new s("unregister-route-but-not-found-with-method",{method:e.method});let t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new s("unregister-route-route-not-registered")}}let D=()=>(r||((r=new P).addFetchListener(),r.addCacheListener()),r);function H(e,t,r){let c;if("string"==typeof e){let a=new URL(e,location.href);c=new v(({url:e})=>e.href===a.href,t,r)}else if(e instanceof RegExp)c=new T(e,t,r);else if("function"==typeof e)c=new v(e,t,r);else if(e instanceof v)c=e;else throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return D().registerRoute(c),c}class j extends v{constructor(e,t){super(({request:r})=>{let c=e.getURLsToCacheKeys();for(let a of function*(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:r="index.html",cleanURLs:c=!0,urlManipulation:a}={}){let i=new URL(e,location.href);i.hash="",yield i.href;let o=function(e,t=[]){for(let r of[...e.searchParams.keys()])t.some(e=>e.test(r))&&e.searchParams.delete(r);return e}(i,t);if(yield o.href,r&&o.pathname.endsWith("/")){let e=new URL(o.href);e.pathname+=r,yield e.href}if(c){let e=new URL(o.href);e.pathname+=".html",yield e.href}if(a)for(let e of a({url:i}))yield e.href}(r.url,t)){let t=c.get(a);if(t){let r=e.getIntegrityForCacheKey(t);return{cacheKey:t,integrity:r}}}},e.strategy)}}let M="-precache-",W=async(e,t=M)=>{let r=(await self.caches.keys()).filter(r=>r.includes(t)&&r.includes(self.registration.scope)&&r!==e);return await Promise.all(r.map(e=>self.caches.delete(e))),r};var k=n(3986),L=n(9276),I=n(6906),q=n(2708);let K=e=>0===e.length?0:e.reduce((e,t)=>e+t,0)/e.length,J="dictionary-api-cache",z=(e,t)=>t.some(t=>e instanceof t),F=new WeakMap,G=new WeakMap,V=new WeakMap,$=new WeakMap,Y=new WeakMap,Q={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return G.get(e);if("objectStoreNames"===t)return e.objectStoreNames||V.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return X(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function X(e){if(e instanceof IDBRequest)return function(e){let t=new Promise((t,r)=>{let c=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(X(e.result)),c()},i=()=>{r(e.error),c()};e.addEventListener("success",a),e.addEventListener("error",i)});return t.then(t=>{t instanceof IDBCursor&&F.set(t,e)}).catch(()=>{}),Y.set(t,e),t}(e);if($.has(e))return $.get(e);let t=function(e){if("function"==typeof e)return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(a||(a=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(Z(this),t),X(F.get(this))}:function(...t){return X(e.apply(Z(this),t))}:function(t,...r){let c=e.call(Z(this),t,...r);return V.set(c,t.sort?t.sort():[t]),X(c)};return(e instanceof IDBTransaction&&function(e){if(G.has(e))return;let t=new Promise((t,r)=>{let c=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),c()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),c()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)});G.set(e,t)}(e),z(e,c||(c=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(e,Q):e}(e);return t!==e&&($.set(e,t),Y.set(t,e)),t}let Z=e=>Y.get(e),ee=["get","getKey","getAll","getAllKeys","count"],et=["put","add","delete","clear"],er=new Map;function ec(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(er.get(t))return er.get(t);let r=t.replace(/FromIndex$/,""),c=t!==r,a=et.includes(r);if(!(r in(c?IDBIndex:IDBObjectStore).prototype)||!(a||ee.includes(r)))return;let i=async function(e,...t){let i=this.transaction(e,a?"readwrite":"readonly"),o=i.store;return c&&(o=o.index(t.shift())),(await Promise.all([o[r](...t),a&&i.done]))[0]};return er.set(t,i),i}Q=(e=>({...e,get:(t,r,c)=>ec(t,r)||e.get(t,r,c),has:(t,r)=>!!ec(t,r)||e.has(t,r)}))(Q),n(2555);let ea="cache-entries",ei=e=>{let t=new URL(e,location.href);return t.hash="",t.href};class eo{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){let t=e.createObjectStore(ea,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&function(e,{blocked:t}={}){let r=indexedDB.deleteDatabase(e);t&&r.addEventListener("blocked",e=>t(e.oldVersion,e)),X(r).then(()=>void 0)}(this._cacheName)}async setTimestamp(e,t){let r={url:e=ei(e),timestamp:t,cacheName:this._cacheName,id:this._getId(e)},c=(await this.getDb()).transaction(ea,"readwrite",{durability:"relaxed"});await c.store.put(r),await c.done}async getTimestamp(e){let t=await this.getDb(),r=await t.get(ea,this._getId(e));return null==r?void 0:r.timestamp}async expireEntries(e,t){let r=await this.getDb(),c=await r.transaction(ea).store.index("timestamp").openCursor(null,"prev"),a=[],i=0;for(;c;){let r=c.value;r.cacheName===this._cacheName&&(e&&r.timestamp<e||t&&i>=t?a.push(c.value):i++),c=await c.continue()}let o=[];for(let e of a)await r.delete(ea,e.id),o.push(e.url);return o}_getId(e){return this._cacheName+"|"+ei(e)}async getDb(){return this._db||(this._db=await function(e,t,{blocked:r,upgrade:c,blocking:a,terminated:i}={}){let o=indexedDB.open(e,1),n=X(o);return c&&o.addEventListener("upgradeneeded",e=>{c(X(o.result),e.oldVersion,e.newVersion,X(o.transaction),e)}),r&&o.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),n.then(e=>{i&&e.addEventListener("close",()=>i()),a&&e.addEventListener("versionchange",e=>a(e.oldVersion,e.newVersion,e))}).catch(()=>{}),n}("workbox-expiration",0,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class en{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new eo(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;let e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),r=await self.caches.open(this._cacheName);for(let e of t)await r.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,function(e){e.then(()=>{})}(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(!this._maxAgeSeconds)return!1;{let t=await this._timestampModel.getTimestamp(e),r=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t<r}}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}let el=new en(J,{maxAgeSeconds:86400}),es=e=>"/api/dictionary/".concat(e),eu=async e=>{await el.expireEntries();let t=es(e),r=await caches.open(J),c=await r.match(t);if(void 0!==c)return await c.clone().text()},eh={},ep=async e=>{let t;if(eh[e]instanceof Promise)return;let r=es(e),c=fetch(r);eh[e]=c;try{if(!(t=await c).ok)throw eh[e]=void 0,Error("HTTP ".concat(t.status,": ").concat(t.statusText));let a=await caches.open(J);await a.put(r,t.clone()),await el.updateTimestamp(r)}finally{eh[e]=void 0}};var ey=n(3611);let ed={},ef=async e=>{let t=await eu(e);if(void 0===t)return;let r=ed[e];if(void 0===r||r.dictionary!==t){let r=ey.Trie.deserialize(t);return ed[e]={dictionary:t,trie:r},r}return r.trie},e_={"Content-Type":"application/json; charset=utf-8"},em=[],eO=[],eR=()=>{if(em.length<5||eO.length<5)return;let e=Math.min(em.length,eO.length),t=em.slice(0,e).sort().slice(1,-1),r=eO.slice(0,e).sort().slice(1,-1);return K(t)>K(r)},eC={"Content-Type":"application/json; charset=utf-8"};self.addEventListener("install",()=>{self.skipWaiting()}),self.addEventListener("activate",()=>{self.clients.claim()}),self.addEventListener("activate",e=>{let t=p.getPrecacheName();e.waitUntil(W(t).then(e=>{}))}),function(e,t){E().precache(e),H(new j(E(),void 0))}([{'revision':'781c1ed554a9bef9260cea2fe977cb7b','url':'/_next/static/3MlxnccTCLyz9bgD30zY2/_buildManifest.js'},{'revision':'b6652df95db52feb4daf4eca35380933','url':'/_next/static/3MlxnccTCLyz9bgD30zY2/_ssgManifest.js'},{'revision':null,'url':'/_next/static/chunks/framework-288d1abd95de88d9.js'},{'revision':null,'url':'/_next/static/chunks/main-b934e2c3dd3b55b5.js'},{'revision':null,'url':'/_next/static/chunks/pages/404-7451dd58396eaa39.js'},{'revision':null,'url':'/_next/static/chunks/pages/_app-735105409cfdb48f.js'},{'revision':null,'url':'/_next/static/chunks/pages/_error-7ea2d37f66343175.js'},{'revision':null,'url':'/_next/static/chunks/pages/index-d492616d9bc42176.js'},{'revision':'846118c33b2c0e922d7b3a7676f81f6f','url':'/_next/static/chunks/polyfills-42372ed130431b0a.js'},{'revision':null,'url':'/_next/static/chunks/webpack-6224d37324e372cb.js'},{'revision':null,'url':'/_next/static/css/6682db14f926d4c7.css'},{'revision':null,'url':'/_next/static/css/d875648f38121a28.css'}]),H(e=>{let{url:t}=e;return t.origin===location.origin&&"/api/solve"===t.pathname},async e=>{let{request:t}=e,{board:r,characters:c,game:a,locale:i}=await t.clone().json(),o=async e=>{let t=(0,k.getConfig)(a,i),o=c.map(e=>new q.Tile({character:e,isBlank:e===L.BLANK}));return new Response(JSON.stringify((0,I.solve)(e,t,q.Board.fromJson(r),o)),{headers:e_})},n=()=>fetch(t),l=await ef(i);if(l&&void 0===eR()){let e=await Promise.race([(async()=>{let e=Date.now(),t=await o(l);return em.push(Date.now()-e),t})(),(async()=>{let e=Date.now(),t=await n();return eO.push(Date.now()-e),t})()]);return ep(i),e}let s=l&&!eR()?()=>o(l):()=>n(),u=await s();return ep(i),u},"POST"),H(e=>{let{url:t}=e;return t.origin===location.origin&&"/api/verify"===t.pathname},async e=>{let{request:t}=e,{board:r,locale:c}=await t.clone().json(),a=await ef(c);if(!a){let e=await fetch(t);return ep(c),e}let i=q.Board.fromJson(r).getWords().sort((e,t)=>e.localeCompare(t,c));return new Response(JSON.stringify({invalidWords:i.filter(e=>!a.has(e)),validWords:i.filter(e=>a.has(e))}),{headers:eC})},"POST")})();
1
+ (()=>{"use strict";let e,t,r,c,a;var i={88:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0,t.add=(e,t)=>{let r=e;for(let e=0;e<t.length;++e){let c=t[e];r[c]||(r[c]={}),r=r[c]}return r.wordEnd=!0,r}},376:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FinalPattern=void 0;let c=r(4758);class a extends c.Pattern{constructor(e){super(e.board,e.cells),this.collisions=e.getCollisions()}getCollisions(){return this.collisions}}t.FinalPattern=a},506:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getPatternScore=void 0;let c=r(2095);t.getPatternScore=(e,t)=>{let r=t.getEmptyCellsCount()===e.rackSize?e.bingoScore:0;return t.getCollisions().reduce((t,r)=>t+(0,c.getCellsScore)(e,r.cells),(0,c.getCellsScore)(e,t.cells))+r}},524:function(e,t,r){var c,a=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(c=function(e){return(c=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=c(e),o=0;o<r.length;o++)"default"!==r[o]&&a(t,e,r[o]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.getConfig=void 0;let l=o(r(9494));t.getConfig=(e,t)=>{let r=Object.values(l).find(r=>r.game===e&&r.locale===t);if(void 0===r)throw Error(`No game "${e}" in "${t}"`);return r}},606:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.OPEN_PARENS=t.CLOSE_PARENS=void 0,t.CLOSE_PARENS=")",t.OPEN_PARENS="("},624:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.find=void 0,t.find=(e,t)=>{let r=e;for(let e=0;e<t.length;++e){let c=t[e];if(!r[c])return;r=r[c]}return r}},719:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Bonus=void 0;class r{constructor({multiplier:e,score:t,x:r,y:c}){this.multiplier=e,this.score=t,this.x=r,this.y=c}canApply(e,t){return t.isEmpty&&this.matchesCellCoordinates(t)}matchesCellCoordinates(e){return this.x===e.x&&this.y===e.y}toJson(){return{multiplier:this.multiplier,score:this.score,type:this.type,x:this.x,y:this.y}}get value(){return{characterMultiplier:1,wordMultiplier:1}}}t.Bonus=r},1150:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.englishUsLiteraki=t.englishUsSuperScrabble=t.englishUsScrabbleDuel=t.englishUsScrabble=t.englishGbLiteraki=t.englishGbSuperScrabble=t.englishGbScrabbleDuel=t.englishGbScrabble=void 0;let c=r(2708),a=r(6330);t.englishGbScrabble=new c.Config({...a.scrabble,locale:c.Locale.EN_GB,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishGbScrabbleDuel=new c.Config({...a.scrabbleDuel,locale:c.Locale.EN_GB,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishGbSuperScrabble=new c.Config({...a.superScrabble,locale:c.Locale.EN_GB,tiles:[{character:"a",count:16,score:1},{character:"b",count:4,score:3},{character:"c",count:6,score:3},{character:"d",count:8,score:2},{character:"e",count:24,score:1},{character:"f",count:4,score:4},{character:"g",count:5,score:2},{character:"h",count:5,score:4},{character:"i",count:13,score:1},{character:"j",count:2,score:8},{character:"k",count:2,score:5},{character:"l",count:7,score:1},{character:"m",count:6,score:3},{character:"n",count:13,score:1},{character:"o",count:15,score:1},{character:"p",count:4,score:3},{character:"q",count:2,score:10},{character:"r",count:13,score:1},{character:"s",count:10,score:1},{character:"t",count:15,score:1},{character:"u",count:7,score:1},{character:"v",count:3,score:4},{character:"w",count:4,score:4},{character:"x",count:2,score:8},{character:"y",count:4,score:4},{character:"z",count:2,score:10}]}),t.englishGbLiteraki=new c.Config({...a.literaki,locale:c.Locale.EN_GB,name:"Literaxx",tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsScrabble=new c.Config({...a.scrabble,locale:c.Locale.EN_US,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsScrabbleDuel=new c.Config({...a.scrabbleDuel,locale:c.Locale.EN_US,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsSuperScrabble=new c.Config({...a.superScrabble,locale:c.Locale.EN_US,tiles:[{character:"a",count:16,score:1},{character:"b",count:4,score:3},{character:"c",count:6,score:3},{character:"d",count:8,score:2},{character:"e",count:24,score:1},{character:"f",count:4,score:4},{character:"g",count:5,score:2},{character:"h",count:5,score:4},{character:"i",count:13,score:1},{character:"j",count:2,score:8},{character:"k",count:2,score:5},{character:"l",count:7,score:1},{character:"m",count:6,score:3},{character:"n",count:13,score:1},{character:"o",count:15,score:1},{character:"p",count:4,score:3},{character:"q",count:2,score:10},{character:"r",count:13,score:1},{character:"s",count:10,score:1},{character:"t",count:15,score:1},{character:"u",count:7,score:1},{character:"v",count:3,score:4},{character:"w",count:4,score:4},{character:"x",count:2,score:8},{character:"y",count:4,score:4},{character:"z",count:2,score:10}]}),t.englishUsLiteraki=new c.Config({...a.literaki,locale:c.Locale.EN_US,name:"Literaxx",tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]})},1370:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Cell=void 0;let c=r(9654);class a{constructor({isEmpty:e=!0,tile:t=c.Tile.Null,x:r,y:a}){this.isEmpty=e,this.tile=t,this.x=r,this.y=a}clone(){return new a({isEmpty:this.isEmpty,tile:this.tile.clone(),x:this.x,y:this.y})}equals(e){return this.x===e.x&&this.y===e.y&&this.isEmpty===e.isEmpty&&this.tile.equals(e.tile)}hasTile(){return this.tile!==c.Tile.Null}isCandidate(){return this.isEmpty&&this.hasTile()}toJson(){return{isEmpty:this.isEmpty,tile:this.tile.toJson(),x:this.x,y:this.y}}toString(){return this.tile.toString()}}t.Cell=a,a.fromJson=e=>new a({isEmpty:e.isEmpty,tile:c.Tile.fromJson(e.tile),x:e.x,y:e.y})},1513:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.solve=void 0;let c=r(1566),a=r(8735),i=r(9052),o=r(506),l=r(5350);t.solve=(e,t,r,n)=>{let s=(0,i.generatePatterns)(t,r).flatMap(r=>(0,a.fillPattern)(e,t,r,n)),u=t.twoCharacterTiles.length>0?s.filter(e=>(0,c.areDigraphsValid)(t,e)):s;return(0,l.getUniquePatterns)(u).map((e,r)=>({cells:e.cells.map(e=>e.toJson()),collisions:e.getCollisions().map(e=>e.cells.map(e=>e.toJson())),id:r,points:(0,o.getPatternScore)(t,e)}))}},1553:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.superScrabble=void 0;let c=r(9276);t.superScrabble={bingoScore:50,blankScore:0,blanksCount:4,boardHeight:21,boardWidth:21,game:r(2708).Game.SuperScrabble,name:"Super Scrabble",rackSize:7,bonuses:[{multiplier:4,type:c.BONUS_WORD,x:0,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:0},{multiplier:3,type:c.BONUS_WORD,x:7,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:0},{multiplier:3,type:c.BONUS_WORD,x:13,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:0},{multiplier:4,type:c.BONUS_WORD,x:20,y:0},{multiplier:2,type:c.BONUS_WORD,x:1,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:1},{multiplier:2,type:c.BONUS_WORD,x:8,y:1},{multiplier:2,type:c.BONUS_WORD,x:12,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:1},{multiplier:2,type:c.BONUS_WORD,x:19,y:1},{multiplier:2,type:c.BONUS_WORD,x:2,y:2},{multiplier:4,type:c.BONUS_CHARACTER,x:5,y:2},{multiplier:2,type:c.BONUS_WORD,x:9,y:2},{multiplier:2,type:c.BONUS_WORD,x:11,y:2},{multiplier:4,type:c.BONUS_CHARACTER,x:15,y:2},{multiplier:2,type:c.BONUS_WORD,x:18,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:3},{multiplier:3,type:c.BONUS_WORD,x:3,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:3},{multiplier:3,type:c.BONUS_WORD,x:10,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:3},{multiplier:3,type:c.BONUS_WORD,x:17,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:20,y:3},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:4},{multiplier:2,type:c.BONUS_WORD,x:4,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:4},{multiplier:2,type:c.BONUS_WORD,x:16,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:19,y:4},{multiplier:4,type:c.BONUS_CHARACTER,x:2,y:5},{multiplier:2,type:c.BONUS_WORD,x:5,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:5},{multiplier:2,type:c.BONUS_WORD,x:15,y:5},{multiplier:4,type:c.BONUS_CHARACTER,x:18,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:6},{multiplier:2,type:c.BONUS_WORD,x:6,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:6},{multiplier:2,type:c.BONUS_WORD,x:14,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:6},{multiplier:3,type:c.BONUS_WORD,x:0,y:7},{multiplier:2,type:c.BONUS_WORD,x:7,y:7},{multiplier:2,type:c.BONUS_WORD,x:13,y:7},{multiplier:3,type:c.BONUS_WORD,x:20,y:7},{multiplier:2,type:c.BONUS_WORD,x:1,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:8},{multiplier:2,type:c.BONUS_WORD,x:19,y:8},{multiplier:2,type:c.BONUS_WORD,x:2,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:15,y:9},{multiplier:2,type:c.BONUS_WORD,x:18,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:10},{multiplier:3,type:c.BONUS_WORD,x:3,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:10},{multiplier:3,type:c.BONUS_WORD,x:17,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:20,y:10},{multiplier:2,type:c.BONUS_WORD,x:2,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:15,y:11},{multiplier:2,type:c.BONUS_WORD,x:18,y:11},{multiplier:2,type:c.BONUS_WORD,x:1,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:12},{multiplier:2,type:c.BONUS_WORD,x:19,y:12},{multiplier:3,type:c.BONUS_WORD,x:0,y:13},{multiplier:2,type:c.BONUS_WORD,x:7,y:13},{multiplier:2,type:c.BONUS_WORD,x:13,y:13},{multiplier:3,type:c.BONUS_WORD,x:20,y:13},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:14},{multiplier:2,type:c.BONUS_WORD,x:6,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:14},{multiplier:2,type:c.BONUS_WORD,x:14,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:14},{multiplier:4,type:c.BONUS_CHARACTER,x:2,y:15},{multiplier:2,type:c.BONUS_WORD,x:5,y:15},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:15},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:15},{multiplier:2,type:c.BONUS_WORD,x:15,y:15},{multiplier:4,type:c.BONUS_CHARACTER,x:18,y:15},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:16},{multiplier:2,type:c.BONUS_WORD,x:4,y:16},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:16},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:16},{multiplier:2,type:c.BONUS_WORD,x:16,y:16},{multiplier:3,type:c.BONUS_CHARACTER,x:19,y:16},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:17},{multiplier:3,type:c.BONUS_WORD,x:3,y:17},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:17},{multiplier:3,type:c.BONUS_WORD,x:10,y:17},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:17},{multiplier:3,type:c.BONUS_WORD,x:17,y:17},{multiplier:2,type:c.BONUS_CHARACTER,x:20,y:17},{multiplier:2,type:c.BONUS_WORD,x:2,y:18},{multiplier:4,type:c.BONUS_CHARACTER,x:5,y:18},{multiplier:2,type:c.BONUS_WORD,x:9,y:18},{multiplier:2,type:c.BONUS_WORD,x:11,y:18},{multiplier:4,type:c.BONUS_CHARACTER,x:15,y:18},{multiplier:2,type:c.BONUS_WORD,x:18,y:18},{multiplier:2,type:c.BONUS_WORD,x:1,y:19},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:19},{multiplier:2,type:c.BONUS_WORD,x:8,y:19},{multiplier:2,type:c.BONUS_WORD,x:12,y:19},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:19},{multiplier:2,type:c.BONUS_WORD,x:19,y:19},{multiplier:4,type:c.BONUS_WORD,x:0,y:20},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:20},{multiplier:3,type:c.BONUS_WORD,x:7,y:20},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:20},{multiplier:3,type:c.BONUS_WORD,x:13,y:20},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:20},{multiplier:4,type:c.BONUS_WORD,x:20,y:20}]}},1566:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.areDigraphsValid=void 0,t.areDigraphsValid=(e,t)=>{let{twoCharacterTiles:r}=e,{cells:c}=t;for(let e=0;e<c.length-1;++e){let t=c[e],a=c[e+1],i=t.tile.character+a.tile.character;if(r.includes(i))return!1}return!0}},1693:()=>{try{self["workbox:core:7.2.0"]&&_()}catch(e){}},1753:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=void 0;let c=r(606),a=(e,t)=>{let r=Object.keys(e).filter(e=>1===e.length),i=r.length>0,o="";return e.wordEnd&&(o+=t),i&&(o+=t,o+=c.OPEN_PARENS,o+=r.map(t=>a(e[t],t)).join(""),o+=c.CLOSE_PARENS),o};t.serialize=e=>a(e,"")},1802:()=>{try{self["workbox:precaching:7.2.0"]&&_()}catch(e){}},1958:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.spanishScrabble=void 0;let c=r(2708),a=r(6330);t.spanishScrabble=new c.Config({...a.scrabble,locale:c.Locale.ES_ES,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:4,score:3},{character:"ch",count:1,score:5},{character:"d",count:5,score:2},{character:"e",count:12,score:1},{character:"f",count:1,score:4},{character:"g",count:2,score:2},{character:"h",count:2,score:4},{character:"i",count:6,score:1},{character:"j",count:1,score:8},{character:"ll",count:1,score:8},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:5,score:1},{character:"\xf1",count:1,score:8},{character:"o",count:9,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:5},{character:"r",count:5,score:1},{character:"rr",count:1,score:8},{character:"s",count:6,score:1},{character:"t",count:4,score:1},{character:"u",count:5,score:1},{character:"v",count:1,score:4},{character:"x",count:1,score:8},{character:"y",count:1,score:4},{character:"z",count:1,score:10}]})},2011:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(88),t),a(r(2076),t),a(r(8519),t),a(r(5899),t),a(r(624),t),a(r(4550),t),a(r(7072),t),a(r(8679),t),a(r(1753),t),a(r(2197),t),a(r(8097),t)},2076:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.deserialize=void 0;let c=r(606);t.deserialize=e=>{let t=[],r={},a=1;for(;a<e.length-1;){let i=e[a],o=e[a+1];if(++a,i===c.CLOSE_PARENS){let e=t.pop();if(!e)throw Error(`Syntax error: misplaced "${c.CLOSE_PARENS}"`);r=e}else if(o===c.CLOSE_PARENS){r[i]={wordEnd:!0};let e=t.pop();if(!e)throw Error(`Syntax error: misplaced "${c.CLOSE_PARENS}"`);r=e,++a}else if(o===c.OPEN_PARENS){t.push(r);let e=r[i]||{};r[i]=e,r=e,++a}else r[i]={wordEnd:!0}}return r}},2095:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getCellsScore=void 0;let c=r(9276);t.getCellsScore=(e,t)=>{let r=t.reduce(({multiplier:t,score:r},a)=>{let i=e.getCellBonus(a),{characterMultiplier:o,wordMultiplier:l}=i&&i.canApply(e,a)?i.value:c.NO_BONUS,n=e.pointsMap[a.tile.character]||0;return{multiplier:t*l,score:r+(a.tile.isBlank?e.blankScore:n)*o}},{multiplier:1,score:0});return r.score*r.multiplier}},2197:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.toArray=void 0;let c=r(8097);t.toArray=(e,t)=>{let r=[];return(0,c.traverse)(e,e=>{r.push(e)},t),r}},2394:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HorizontalPattern=void 0;let c=r(4758);class a extends c.Pattern{clone(){return new a(this.board,this.cells.map(e=>e.clone()))}getCollisions(){let e=[];return this.cells.filter(e=>e.isEmpty&&(this.board.collidesUp(e)||this.board.collidesDown(e))).forEach(t=>{let r=this.board.getColumn(t.x),a=t.y-1;for(;a>=0&&r[a].hasTile();)--a;let i=r.slice(a+1,t.y);for(a=t.y+1;a<r.length&&r[a].hasTile();)++a;let o=r.slice(t.y+1,a),l=[...i,t,...o];if(l.length>1){let t=new c.Pattern(this.board,l);e.push(t)}}),e}}t.HorizontalPattern=a},2448:()=>{try{self["workbox:routing:7.2.0"]&&_()}catch(e){}},2555:()=>{try{self["workbox:expiration:7.2.0"]&&_()}catch(e){}},2708:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WordDefinition=t.WordBonus=t.VerticalPattern=t.isTileJson=t.Tile=t.Result=t.Pattern=t.Locale=t.isLocale=t.isObject=t.isError=t.HorizontalPattern=t.isGame=t.Game=t.FinalPattern=t.Config=t.CharacterBonus=t.isCellJson=t.Cell=t.Bonus=t.isBoardJson=t.Board=void 0;var c=r(9140);Object.defineProperty(t,"Board",{enumerable:!0,get:function(){return c.Board}});var a=r(6902);Object.defineProperty(t,"isBoardJson",{enumerable:!0,get:function(){return a.isBoardJson}});var i=r(719);Object.defineProperty(t,"Bonus",{enumerable:!0,get:function(){return i.Bonus}});var o=r(1370);Object.defineProperty(t,"Cell",{enumerable:!0,get:function(){return o.Cell}});var l=r(3852);Object.defineProperty(t,"isCellJson",{enumerable:!0,get:function(){return l.isCellJson}});var n=r(9112);Object.defineProperty(t,"CharacterBonus",{enumerable:!0,get:function(){return n.CharacterBonus}});var s=r(4232);Object.defineProperty(t,"Config",{enumerable:!0,get:function(){return s.Config}});var u=r(376);Object.defineProperty(t,"FinalPattern",{enumerable:!0,get:function(){return u.FinalPattern}});var h=r(2712);Object.defineProperty(t,"Game",{enumerable:!0,get:function(){return h.Game}}),Object.defineProperty(t,"isGame",{enumerable:!0,get:function(){return h.isGame}});var p=r(2394);Object.defineProperty(t,"HorizontalPattern",{enumerable:!0,get:function(){return p.HorizontalPattern}});var y=r(5006);Object.defineProperty(t,"isError",{enumerable:!0,get:function(){return y.isError}});var d=r(8049);Object.defineProperty(t,"isObject",{enumerable:!0,get:function(){return d.isObject}});var m=r(4040);Object.defineProperty(t,"isLocale",{enumerable:!0,get:function(){return m.isLocale}}),Object.defineProperty(t,"Locale",{enumerable:!0,get:function(){return m.Locale}});var O=r(4758);Object.defineProperty(t,"Pattern",{enumerable:!0,get:function(){return O.Pattern}});var f=r(8159);Object.defineProperty(t,"Result",{enumerable:!0,get:function(){return f.Result}});var R=r(9654);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return R.Tile}});var C=r(7432);Object.defineProperty(t,"isTileJson",{enumerable:!0,get:function(){return C.isTileJson}});var g=r(5452);Object.defineProperty(t,"VerticalPattern",{enumerable:!0,get:function(){return g.VerticalPattern}});var S=r(6759);Object.defineProperty(t,"WordBonus",{enumerable:!0,get:function(){return S.WordBonus}});var A=r(9979);Object.defineProperty(t,"WordDefinition",{enumerable:!0,get:function(){return A.WordDefinition}})},2712:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.isGame=t.Game=void 0,function(e){e.Kelimelik="kelimelik",e.Literaki="literaki",e.Scrabble="scrabble",e.ScrabbleDuel="scrabble-duel",e.SuperScrabble="super-scrabble"}(r||(t.Game=r={}));let c=Object.values(r);t.isGame=e=>c.includes(e)},2740:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrabble=void 0;let c=r(9276);t.scrabble={bingoScore:50,blankScore:0,blanksCount:2,boardHeight:15,boardWidth:15,game:r(2708).Game.Scrabble,name:"Scrabble",rackSize:7,bonuses:[{multiplier:3,type:c.BONUS_WORD,x:0,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:0},{multiplier:3,type:c.BONUS_WORD,x:7,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:0},{multiplier:3,type:c.BONUS_WORD,x:14,y:0},{multiplier:2,type:c.BONUS_WORD,x:1,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:1},{multiplier:2,type:c.BONUS_WORD,x:13,y:1},{multiplier:2,type:c.BONUS_WORD,x:2,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:2},{multiplier:2,type:c.BONUS_WORD,x:12,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:3},{multiplier:2,type:c.BONUS_WORD,x:3,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:7,y:3},{multiplier:2,type:c.BONUS_WORD,x:11,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:3},{multiplier:2,type:c.BONUS_WORD,x:4,y:4},{multiplier:2,type:c.BONUS_WORD,x:10,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:5},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:5},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:5},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:2,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:12,y:6},{multiplier:3,type:c.BONUS_WORD,x:0,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:7},{multiplier:2,type:c.BONUS_WORD,x:7,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:7},{multiplier:3,type:c.BONUS_WORD,x:14,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:2,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:12,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:9},{multiplier:2,type:c.BONUS_WORD,x:4,y:10},{multiplier:2,type:c.BONUS_WORD,x:10,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:11},{multiplier:2,type:c.BONUS_WORD,x:3,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:7,y:11},{multiplier:2,type:c.BONUS_WORD,x:11,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:11},{multiplier:2,type:c.BONUS_WORD,x:2,y:12},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:12},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:12},{multiplier:2,type:c.BONUS_WORD,x:12,y:12},{multiplier:2,type:c.BONUS_WORD,x:1,y:13},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:13},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:13},{multiplier:2,type:c.BONUS_WORD,x:13,y:13},{multiplier:3,type:c.BONUS_WORD,x:0,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:14},{multiplier:3,type:c.BONUS_WORD,x:7,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:14},{multiplier:3,type:c.BONUS_WORD,x:14,y:14}]}},2856:function(e,t,r){var c,a=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(c=function(e){return(c=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=c(e),o=0;o<r.length;o++)"default"!==r[o]&&a(t,e,r[o]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.hasConfig=void 0;let l=o(r(9494));t.hasConfig=(e,t)=>Object.values(l).some(r=>r.game===e&&r.locale===t)},3305:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.polishLiteraki=t.polishScrabble=void 0;let c=r(2708),a=r(6330);t.polishScrabble=new c.Config({...a.scrabble,locale:c.Locale.PL_PL,tiles:[{character:"a",count:9,score:1},{character:"ą",count:1,score:5},{character:"b",count:2,score:3},{character:"c",count:3,score:2},{character:"ć",count:1,score:6},{character:"d",count:3,score:2},{character:"e",count:7,score:1},{character:"ę",count:1,score:5},{character:"f",count:1,score:5},{character:"g",count:2,score:3},{character:"h",count:2,score:3},{character:"i",count:8,score:1},{character:"j",count:2,score:3},{character:"k",count:3,score:2},{character:"l",count:3,score:2},{character:"ł",count:2,score:3},{character:"m",count:3,score:2},{character:"n",count:5,score:1},{character:"ń",count:1,score:7},{character:"o",count:6,score:1},{character:"\xf3",count:1,score:5},{character:"p",count:3,score:2},{character:"r",count:4,score:1},{character:"s",count:4,score:1},{character:"ś",count:1,score:5},{character:"t",count:3,score:2},{character:"u",count:2,score:3},{character:"w",count:4,score:1},{character:"y",count:4,score:2},{character:"z",count:5,score:1},{character:"ź",count:1,score:9},{character:"ż",count:1,score:5}]}),t.polishLiteraki=new c.Config({...a.literaki,locale:c.Locale.PL_PL,tiles:[{character:"a",count:9,score:1},{character:"ą",count:1,score:5},{character:"b",count:2,score:3},{character:"c",count:3,score:2},{character:"ć",count:1,score:5},{character:"d",count:3,score:2},{character:"e",count:7,score:1},{character:"ę",count:1,score:5},{character:"f",count:1,score:5},{character:"g",count:2,score:3},{character:"h",count:2,score:3},{character:"i",count:8,score:1},{character:"j",count:2,score:3},{character:"k",count:3,score:2},{character:"l",count:3,score:2},{character:"ł",count:2,score:3},{character:"m",count:3,score:2},{character:"n",count:5,score:1},{character:"ń",count:1,score:5},{character:"o",count:6,score:1},{character:"\xf3",count:1,score:5},{character:"p",count:3,score:2},{character:"r",count:4,score:1},{character:"s",count:4,score:1},{character:"ś",count:1,score:5},{character:"t",count:3,score:2},{character:"u",count:2,score:3},{character:"w",count:4,score:1},{character:"y",count:4,score:2},{character:"z",count:5,score:1},{character:"ź",count:1,score:5},{character:"ż",count:1,score:5}]})},3611:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(9379),t),a(r(606),t),a(r(2011),t)},3814:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.turkishScrabble=t.turkishKelimelik=void 0;let c=r(2708),a=r(6330);t.turkishKelimelik=new c.Config({...a.kelimelik,locale:c.Locale.TR_TR,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"\xe7",count:2,score:4},{character:"d",count:2,score:3},{character:"e",count:8,score:1},{character:"f",count:1,score:7},{character:"g",count:1,score:5},{character:"ğ",count:1,score:8},{character:"h",count:1,score:5},{character:"ı",count:4,score:2},{character:"i",count:7,score:1},{character:"j",count:1,score:10},{character:"k",count:7,score:1},{character:"l",count:7,score:1},{character:"m",count:4,score:2},{character:"n",count:5,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:7},{character:"p",count:1,score:5},{character:"r",count:6,score:1},{character:"s",count:3,score:2},{character:"ş",count:2,score:4},{character:"t",count:5,score:1},{character:"u",count:3,score:2},{character:"\xfc",count:2,score:3},{character:"v",count:1,score:7},{character:"y",count:2,score:3},{character:"z",count:2,score:4}]}),t.turkishScrabble=new c.Config({...a.scrabble,locale:c.Locale.TR_TR,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"\xe7",count:2,score:4},{character:"d",count:2,score:3},{character:"e",count:8,score:1},{character:"f",count:1,score:7},{character:"g",count:1,score:5},{character:"ğ",count:1,score:8},{character:"h",count:1,score:5},{character:"ı",count:4,score:2},{character:"i",count:7,score:1},{character:"j",count:1,score:10},{character:"k",count:7,score:1},{character:"l",count:7,score:1},{character:"m",count:4,score:2},{character:"n",count:5,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:7},{character:"p",count:1,score:5},{character:"r",count:6,score:1},{character:"s",count:3,score:2},{character:"ş",count:2,score:4},{character:"t",count:5,score:1},{character:"u",count:3,score:2},{character:"\xfc",count:2,score:3},{character:"v",count:1,score:7},{character:"y",count:2,score:3},{character:"z",count:2,score:4}]})},3830:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.persianScrabble=void 0;let c=r(2708),a=r(6330);t.persianScrabble=new c.Config({...a.scrabble,locale:c.Locale.FA_IR,tiles:[{character:"ا",count:12,score:1},{character:"ب",count:4,score:1},{character:"پ",count:1,score:6},{character:"ت",count:4,score:1},{character:"ث",count:1,score:10},{character:"ج",count:2,score:5},{character:"چ",count:1,score:6},{character:"ح",count:1,score:6},{character:"خ",count:2,score:5},{character:"د",count:6,score:1},{character:"ذ",count:1,score:10},{character:"ر",count:7,score:1},{character:"ز",count:3,score:4},{character:"ژ",count:1,score:10},{character:"س",count:3,score:2},{character:"ش",count:3,score:3},{character:"ص",count:1,score:6},{character:"ض",count:1,score:8},{character:"ط",count:1,score:8},{character:"ظ",count:1,score:10},{character:"ع",count:2,score:5},{character:"غ",count:1,score:8},{character:"ف",count:2,score:4},{character:"ق",count:2,score:5},{character:"ک",count:3,score:3},{character:"گ",count:2,score:4},{character:"ل",count:3,score:2},{character:"م",count:5,score:1},{character:"ن",count:6,score:1},{character:"و",count:5,score:1},{character:"ه",count:5,score:1},{character:"ی",count:8,score:1}]})},3852:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isCellJson=void 0;let c=r(8049),a=r(7432);t.isCellJson=e=>(0,c.isObject)(e)&&"boolean"==typeof e.isEmpty&&((0,a.isTileJson)(e.tile)||null===e.tile)&&"number"==typeof e.x&&"number"==typeof e.y},3986:function(e,t,r){var c,a=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(c=function(e){return(c=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=c(e),o=0;o<r.length;o++)"default"!==r[o]&&a(t,e,r[o]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.languages=t.games=t.hasConfig=t.getConfig=void 0,t.games=o(r(6330)),t.languages=o(r(9494));var l=r(524);Object.defineProperty(t,"getConfig",{enumerable:!0,get:function(){return l.getConfig}});var n=r(2856);Object.defineProperty(t,"hasConfig",{enumerable:!0,get:function(){return n.hasConfig}})},4025:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generatePattern=void 0;let c=r(8689),a=r(7806);t.generatePattern=({board:e,cells:t,config:r,PatternModel:i})=>(0,a.generateStartIndices)(t).flatMap(a=>{let o=(0,c.generateEndIndices)(t,a),l=[];for(let c of o){let o=new i(e,t.slice(a,c+1));o.canBePlaced(r)&&l.push(o)}return l})},4040:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.isLocale=t.Locale=void 0,function(e){e.DE_DE="de-DE",e.EN_GB="en-GB",e.EN_US="en-US",e.ES_ES="es-ES",e.FA_IR="fa-IR",e.FR_FR="fr-FR",e.PL_PL="pl-PL",e.RO_RO="ro-RO",e.TR_TR="tr-TR"}(r||(t.Locale=r={}));let c=Object.values(r);t.isLocale=e=>c.includes(e)},4232:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Config=void 0;let c=r(9276),a=r(9112),i=r(6759);class o{constructor(e){this.bonuses=l(e),this.config=e,this.pointsMap=s(this.config)}get alphabet(){return n(this.config)}get bingoScore(){return this.config.bingoScore}get blankScore(){return this.config.blankScore}get blanksCount(){return this.config.blanksCount}get boardHeight(){return this.config.boardHeight}get boardWidth(){return this.config.boardWidth}get game(){return this.config.game}get locale(){return this.config.locale}get twoCharacterTiles(){return this.config.tiles.filter(e=>2===e.character.length).map(e=>e.character)}getCellBonus(e){return this.bonuses.find(t=>t.matchesCellCoordinates(e))}getCellBonusValue(e){return this.getCellBonus(e)?.value||c.NO_BONUS}getCharacterPoints(e){return null===e?void 0:e===c.BLANK?this.blankScore:this.pointsMap[e]}getTwoCharacterTileByPrefix(e){if(1===e.length)return this.twoCharacterTiles.find(t=>t.startsWith(e))}getTilePoints(e){if(null!==e)return e.isBlank?this.blankScore:this.getCharacterPoints(e.character)}hasCharacter(e){return e in this.pointsMap}isTwoCharacterTilePrefix(e){return void 0!==this.getTwoCharacterTileByPrefix(e)}get rackSize(){return this.config.rackSize}get tiles(){return this.config.tiles}toJson(){return this.config}}t.Config=o,o.fromJson=e=>new o(e);let l=e=>e.bonuses.map(e=>{if(e.type===c.BONUS_CHARACTER)return new a.CharacterBonus(e);if(e.type===c.BONUS_WORD)return new i.WordBonus(e);throw Error(`Unsupported Bonus type: "${e.type}"`)}),n=e=>e.tiles.map(({character:e})=>e),s=e=>e.tiles.reduce((e,{character:t,score:r})=>({...e,[t]:r}),{})},4550:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fromArray=void 0;let c=r(88);t.fromArray=e=>{let t={};return e.forEach(e=>(0,c.add)(t,e)),t}},4758:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Pattern=void 0;class r{constructor(e,t){this.board=e,this.cells=t}canBePlaced(e){let t=this.getEmptyCellsCount();return t>=1&&t<=e.rackSize&&(this.hasAtLeast1NonEmptyCell()||this.collides()||this.goesThroughBoardCenter()&&this.board.isEmpty())}clone(){return new r(this.board,this.cells.map(e=>e.clone()))}collides(){return this.cells.some(e=>e.isEmpty&&this.board.collides(e))}getIndexOfFirstCellWithoutTile(){return this.cells.findIndex(e=>!e.hasTile())}getEmptyCellsCount(){return this.cells.filter(e=>e.isEmpty).length}goesThroughBoardCenter(){return this.cells.some(e=>e.x===this.board.center.x&&e.y===this.board.center.y&&e.isEmpty)}hasAtLeast1EmptyCell(){return this.cells.some(e=>e.isEmpty)}hasAtLeast1NonEmptyCell(){return this.cells.some(e=>!e.isEmpty)}getCollisions(){return[]}toJson(){return{cells:this.cells.map(e=>e.toJson()),collisions:this.getCollisions().map(e=>e.toJson()),word:this.toString()}}toString(){return this.cells.reduce((e,t)=>e+t.toString(),"")}}t.Pattern=r},4979:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.romanianSuperScrabble=t.romanianScrabble=void 0;let c=r(2708),a=r(6330);t.romanianScrabble=new c.Config({...a.scrabble,locale:c.Locale.RO_RO,tiles:[{character:"a",count:11,score:1},{character:"b",count:2,score:9},{character:"c",count:5,score:1},{character:"d",count:4,score:2},{character:"e",count:9,score:1},{character:"f",count:2,score:8},{character:"g",count:2,score:9},{character:"h",count:1,score:10},{character:"i",count:10,score:1},{character:"j",count:1,score:10},{character:"l",count:4,score:1},{character:"m",count:3,score:4},{character:"n",count:6,score:1},{character:"o",count:5,score:1},{character:"p",count:4,score:2},{character:"r",count:7,score:1},{character:"s",count:5,score:1},{character:"t",count:7,score:1},{character:"u",count:6,score:1},{character:"v",count:2,score:8},{character:"x",count:1,score:10},{character:"z",count:1,score:10}]}),t.romanianSuperScrabble=new c.Config({...a.superScrabble,locale:c.Locale.RO_RO,tiles:[{character:"a",count:22,score:1},{character:"b",count:4,score:9},{character:"c",count:10,score:1},{character:"d",count:8,score:2},{character:"e",count:18,score:1},{character:"f",count:4,score:8},{character:"g",count:4,score:9},{character:"h",count:2,score:10},{character:"i",count:20,score:1},{character:"j",count:2,score:10},{character:"l",count:8,score:1},{character:"m",count:6,score:4},{character:"n",count:12,score:1},{character:"o",count:10,score:1},{character:"p",count:8,score:2},{character:"r",count:14,score:1},{character:"s",count:10,score:1},{character:"t",count:14,score:1},{character:"u",count:12,score:1},{character:"v",count:4,score:8},{character:"x",count:2,score:10},{character:"z",count:2,score:10}]})},5006:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isError=void 0;let c=r(8049);t.isError=e=>!!(0,c.isObject)(e)&&"string"==typeof e.message},5149:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.kelimelik=void 0;let c=r(9276);t.kelimelik={bingoScore:30,blankScore:0,blanksCount:2,boardHeight:15,boardWidth:15,game:r(2708).Game.Kelimelik,name:"Kelimelik",rackSize:7,bonuses:[{multiplier:3,type:c.BONUS_WORD,x:2,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:0},{multiplier:3,type:c.BONUS_WORD,x:12,y:0},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:1},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:1},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:1},{multiplier:3,type:c.BONUS_WORD,x:0,y:2},{multiplier:2,type:c.BONUS_WORD,x:7,y:2},{multiplier:3,type:c.BONUS_WORD,x:14,y:2},{multiplier:2,type:c.BONUS_WORD,x:3,y:3},{multiplier:2,type:c.BONUS_WORD,x:11,y:3},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:10,y:4},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:1,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:13,y:6},{multiplier:2,type:c.BONUS_WORD,x:2,y:7},{multiplier:2,type:c.BONUS_WORD,x:12,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:1,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:13,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:10},{multiplier:3,type:c.BONUS_CHARACTER,x:10,y:10},{multiplier:2,type:c.BONUS_WORD,x:3,y:11},{multiplier:2,type:c.BONUS_WORD,x:11,y:11},{multiplier:3,type:c.BONUS_WORD,x:0,y:12},{multiplier:2,type:c.BONUS_WORD,x:7,y:12},{multiplier:3,type:c.BONUS_WORD,x:14,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:13},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:13},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:13},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:13},{multiplier:3,type:c.BONUS_WORD,x:2,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:14},{multiplier:3,type:c.BONUS_WORD,x:12,y:14}]}},5350:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getUniquePatterns=void 0;let c=r(8878);t.getUniquePatterns=e=>{let t=new Set,r=[];for(let a of e){let e=(0,c.getPatternHash)(a);t.has(e)||(t.add(e),r.push(a))}return r}},5358:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateVerticalPatterns=void 0;let c=r(2708),a=r(4025),i=r(7783);t.generateVerticalPatterns=(e,t)=>{let r=e.boardWidth;return(0,i.generateVectors)({getNthVector:e=>t.getColumn(e),vectorsCount:r}).flatMap(r=>(0,a.generatePattern)({board:t,config:e,PatternModel:c.VerticalPattern,cells:r}))}},5452:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VerticalPattern=void 0;let c=r(4758);class a extends c.Pattern{clone(){return new a(this.board,this.cells.map(e=>e.clone()))}getCollisions(){let e=[];return this.cells.filter(e=>e.isEmpty&&(this.board.collidesLeft(e)||this.board.collidesRight(e))).forEach(t=>{let r=this.board.getRow(t.y),a=t.x-1;for(;a>=0&&r[a].hasTile();)--a;let i=r.slice(a+1,t.x);for(a=t.x+1;a<r.length&&r[a].hasTile();)++a;let o=r.slice(t.x+1,a),l=[...i,t,...o];if(l.length>1){let t=new c.Pattern(this.board,l);e.push(t)}}),e}}t.VerticalPattern=a},5899:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.hasPrefix=void 0;let c=r(624);t.hasPrefix=(e,t)=>{let r=(0,c.find)(e,t);return!!r&&Object.keys(r).length>0}},6186:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.germanScrabble=void 0;let c=r(2708),a=r(6330);t.germanScrabble=new c.Config({...a.scrabble,locale:c.Locale.DE_DE,tiles:[{character:"a",count:5,score:1},{character:"\xe4",count:1,score:6},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"d",count:4,score:1},{character:"e",count:15,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:4,score:2},{character:"i",count:6,score:1},{character:"j",count:1,score:6},{character:"k",count:2,score:4},{character:"l",count:3,score:2},{character:"m",count:4,score:3},{character:"n",count:9,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:8},{character:"p",count:1,score:4},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:7,score:1},{character:"t",count:6,score:1},{character:"u",count:6,score:1},{character:"\xfc",count:1,score:6},{character:"v",count:1,score:6},{character:"w",count:1,score:3},{character:"x",count:1,score:8},{character:"y",count:1,score:10},{character:"z",count:1,score:3}]})},6249:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.literaki=void 0;let c=r(9276);t.literaki={bingoScore:50,blankScore:0,blanksCount:2,boardHeight:15,boardWidth:15,game:r(2708).Game.Literaki,name:"Literaki",rackSize:7,bonuses:[{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:0,y:0},{multiplier:3,type:c.BONUS_WORD,x:2,y:0},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:5,y:0},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:7,y:0},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:9,y:0},{multiplier:3,type:c.BONUS_WORD,x:12,y:0},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:14,y:0},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:4,y:1},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:6,y:1},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:8,y:1},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:10,y:1},{multiplier:3,type:c.BONUS_WORD,x:0,y:2},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:3,y:2},{multiplier:2,type:c.BONUS_WORD,x:5,y:2},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:7,y:2},{multiplier:2,type:c.BONUS_WORD,x:9,y:2},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:11,y:2},{multiplier:3,type:c.BONUS_WORD,x:14,y:2},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:2,y:3},{multiplier:2,type:c.BONUS_WORD,x:4,y:3},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:6,y:3},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:8,y:3},{multiplier:2,type:c.BONUS_WORD,x:10,y:3},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:12,y:3},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:1,y:4},{multiplier:2,type:c.BONUS_WORD,x:3,y:4},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:5,y:4},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:9,y:4},{multiplier:2,type:c.BONUS_WORD,x:11,y:4},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:13,y:4},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:0,y:5},{multiplier:2,type:c.BONUS_WORD,x:2,y:5},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:4,y:5},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:7,y:5},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:10,y:5},{multiplier:2,type:c.BONUS_WORD,x:12,y:5},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:14,y:5},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:1,y:6},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:3,y:6},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:6,y:6},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:8,y:6},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:11,y:6},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:13,y:6},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:0,y:7},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:2,y:7},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:5,y:7},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:7,y:7},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:9,y:7},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:12,y:7},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:14,y:7},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:1,y:8},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:3,y:8},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:6,y:8},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:11,y:8},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:13,y:8},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:0,y:9},{multiplier:2,type:c.BONUS_WORD,x:2,y:9},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:4,y:9},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:7,y:9},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:10,y:9},{multiplier:2,type:c.BONUS_WORD,x:12,y:9},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:14,y:9},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:1,y:10},{multiplier:2,type:c.BONUS_WORD,x:3,y:10},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:5,y:10},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:9,y:10},{multiplier:2,type:c.BONUS_WORD,x:11,y:10},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:13,y:10},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:2,y:11},{multiplier:2,type:c.BONUS_WORD,x:4,y:11},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:6,y:11},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:8,y:11},{multiplier:2,type:c.BONUS_WORD,x:10,y:11},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:12,y:11},{multiplier:3,type:c.BONUS_WORD,x:0,y:12},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:3,y:12},{multiplier:2,type:c.BONUS_WORD,x:5,y:12},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:7,y:12},{multiplier:2,type:c.BONUS_WORD,x:9,y:12},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:11,y:12},{multiplier:3,type:c.BONUS_WORD,x:14,y:12},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:4,y:13},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:6,y:13},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:8,y:13},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:10,y:13},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:0,y:14},{multiplier:3,type:c.BONUS_WORD,x:2,y:14},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:5,y:14},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:7,y:14},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:9,y:14},{multiplier:3,type:c.BONUS_WORD,x:12,y:14},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:14,y:14}]}},6330:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(5149),t),a(r(6249),t),a(r(2740),t),a(r(7854),t),a(r(1553),t)},6500:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.frenchScrabble=void 0;let c=r(2708),a=r(6330);t.frenchScrabble=new c.Config({...a.scrabble,locale:c.Locale.FR_FR,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:3,score:2},{character:"e",count:15,score:1},{character:"f",count:2,score:4},{character:"g",count:2,score:2},{character:"h",count:2,score:4},{character:"i",count:8,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:10},{character:"l",count:5,score:1},{character:"m",count:3,score:2},{character:"n",count:6,score:1},{character:"o",count:6,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:8},{character:"r",count:6,score:1},{character:"s",count:6,score:1},{character:"t",count:6,score:1},{character:"u",count:6,score:1},{character:"v",count:2,score:4},{character:"w",count:1,score:10},{character:"x",count:1,score:10},{character:"y",count:1,score:10},{character:"z",count:1,score:10}]})},6759:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WordBonus=void 0;let c=r(9276),a=r(719);class i extends a.Bonus{constructor(){super(...arguments),this.type=c.BONUS_WORD}get value(){return{characterMultiplier:1,wordMultiplier:this.multiplier}}}t.WordBonus=i},6902:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isBoardJson=void 0;let c=r(3852);t.isBoardJson=e=>{if(!Array.isArray(e))return!1;for(let t of e){if(!Array.isArray(e))return!1;for(let e of t)if(!(0,c.isCellJson)(e))return!1}return!0}},6906:(e,t,r)=>{t.kH=void 0,r(1566),r(8735),r(8689),r(8620),r(4025),r(9052),r(7806),r(7783),r(5358),r(2095),r(8878),r(506),r(5350);var c=r(1513);Object.defineProperty(t,"kH",{enumerable:!0,get:function(){return c.solve}})},7072:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.nodeKeyComparator=void 0,t.nodeKeyComparator=(e,t)=>"wordEnd"===e?-1:"wordEnd"===t?1:e.localeCompare(t)},7303:()=>{try{self["workbox:strategies:7.2.0"]&&_()}catch(e){}},7432:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isTileJson=void 0;let c=r(8049);t.isTileJson=e=>(0,c.isObject)(e)&&"string"==typeof e.character&&"boolean"==typeof e.isBlank},7783:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateVectors=void 0,t.generateVectors=({getNthVector:e,vectorsCount:t})=>Array.from({length:t},(t,r)=>e(r))},7806:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateStartIndices=void 0,t.generateStartIndices=e=>{if(0===e.length)return[];let t=[0];for(let r=1;r<e.length-1;++r)e[r-1].hasTile()||t.push(r);return t}},7854:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrabbleDuel=void 0;let c=r(9276);t.scrabbleDuel={bingoScore:50,blankScore:0,blanksCount:2,boardHeight:11,boardWidth:11,game:r(2708).Game.ScrabbleDuel,name:"Scrabble Duel",rackSize:7,bonuses:[{multiplier:2,type:c.BONUS_WORD,x:5,y:5},{multiplier:3,type:c.BONUS_WORD,x:0,y:0},{multiplier:3,type:c.BONUS_WORD,x:10,y:0},{multiplier:3,type:c.BONUS_WORD,x:0,y:10},{multiplier:3,type:c.BONUS_WORD,x:10,y:10},{multiplier:2,type:c.BONUS_WORD,x:1,y:1},{multiplier:2,type:c.BONUS_WORD,x:2,y:2},{multiplier:2,type:c.BONUS_WORD,x:9,y:1},{multiplier:2,type:c.BONUS_WORD,x:8,y:2},{multiplier:2,type:c.BONUS_WORD,x:1,y:9},{multiplier:2,type:c.BONUS_WORD,x:2,y:8},{multiplier:2,type:c.BONUS_WORD,x:9,y:9},{multiplier:2,type:c.BONUS_WORD,x:8,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:3,y:3},{multiplier:3,type:c.BONUS_CHARACTER,x:3,y:7},{multiplier:3,type:c.BONUS_CHARACTER,x:7,y:3},{multiplier:3,type:c.BONUS_CHARACTER,x:7,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:4,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:4},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:4,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:1},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:4},{multiplier:2,type:c.BONUS_CHARACTER,x:1,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:4,y:4},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:4},{multiplier:2,type:c.BONUS_CHARACTER,x:4,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:6}]}},8049:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=void 0,t.isObject=e=>"object"==typeof e&&null!==e},8097:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.traverse=void 0;let c=r(7072);t.traverse=(e,t,r={})=>{let a=[],i=0,o=e,l=r.prefix||"";for(;a.length>0||o;){for(;o;){let e=Object.keys(o);if(i>=e.length)o=void 0;else{let n=(r.sort?e.sort(c.nodeKeyComparator):e)[i];if("wordEnd"===n)++i;else if(a.push({keyIndex:i,node:o}),i=0,o=o[n],l+=n,(!r.wordsOnly||o.wordEnd)&&t({node:o,prefix:l}))return}}if(a.length>0){let e=a.pop();i=e.keyIndex+1,o=e.node,l=l.slice(0,-1)}}}},8159:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Result=void 0;let c=r(9276),a=r(1370);class i{constructor({cells:e,id:t,collisions:r,points:c}){let a=u(e);this.blanksCount=o(a).length,this.cells=e,this.collisions=r,this.consonantsCount=l(a).length,this.id=t,this.length=e.length,this.points=c,this.pointsRatio=s(a,c),this.tiles=a,this.tilesCount=a.length,this.vowelsCount=n(a).length,this.word=h(e),this.words=p(e,r),this.wordsCount=1+this.collisions.length}toJson(){return{cells:this.cells.map(e=>e.toJson()),id:this.id,collisions:this.collisions.map(e=>e.map(e=>e.toJson())),points:this.points}}}t.Result=i,i.fromJson=e=>new i({id:e.id,cells:e.cells.map(a.Cell.fromJson),collisions:e.collisions.map(e=>e.map(a.Cell.fromJson)),points:e.points});let o=e=>e.filter(({isBlank:e})=>e),l=e=>e.filter(y),n=e=>e.filter(d),s=(e,t)=>t/e.length,u=e=>e.filter(({isEmpty:e})=>e).map(({tile:e})=>e),h=e=>e.reduce((e,t)=>e+t.toString(),""),p=(e,t)=>[e,...t].map(h),y=({character:e,isBlank:t})=>c.CONSONANTS.includes(e)&&!t,d=({character:e,isBlank:t})=>c.VOWELS.includes(e)&&!t},8519:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.has=void 0;let c=r(624);t.has=(e,t)=>{let r=(0,c.find)(e,t);return!!r?.wordEnd}},8620:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateHorizontalPatterns=void 0;let c=r(2708),a=r(4025),i=r(7783);t.generateHorizontalPatterns=(e,t)=>{let r=e.boardHeight;return(0,i.generateVectors)({getNthVector:e=>t.getRow(e),vectorsCount:r}).flatMap(r=>(0,a.generatePattern)({board:t,config:e,PatternModel:c.HorizontalPattern,cells:r}))}},8679:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.remove=void 0,t.remove=(e,r)=>{if(0===r.length)return!!e.wordEnd&&(delete e.wordEnd,!0);let c=r[0],a=e[c];return!!(a&&(0,t.remove)(a,r.substring(1)))&&(0===Object.keys(a).length&&delete e[c],!0)}},8689:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateEndIndices=void 0,t.generateEndIndices=(e,t)=>{if(0===e.length)return[];let r=[];for(let c=t+1;c<e.length-1;++c)e[c+1].hasTile()||r.push(c);return r.push(e.length-1),r}},8735:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fillPatternRecursive=t.fillPattern=void 0;let c=r(9276),a=r(2708);t.fillPattern=(e,r,c,a)=>{if(c.getEmptyCellsCount()>a.length)return[];let i=[];return(0,t.fillPatternRecursive)(i,e,r,c,c.toString(),a),i},t.fillPatternRecursive=(e,r,i,o,l,n)=>{let s=o.getIndexOfFirstCellWithoutTile();if(-1===s){r.has(l)&&o.getCollisions().every(e=>r.has(e.toString()))&&e.push(new a.FinalPattern(o.clone()));return}for(let u=0;u<n.length;++u){let h=n[u],p=o.cells[s].tile;o.cells[s].tile=h;let y=o.getIndexOfFirstCellWithoutTile(),d=l.indexOf(c.EMPTY_CELL),m=l.substring(0,d),O=l.substring(d+1);for(let c of h.isBlank?i.alphabet:[h.character]){let l=m+c,s=l+O;h.character=c,-1===y?r.has(s)&&o.getCollisions().every(e=>r.has(e.toString()))&&e.push(new a.FinalPattern(o.clone())):r.hasPrefix(l)&&(n.splice(u,1),(0,t.fillPatternRecursive)(e,r,i,o,s,n),n.splice(u,0,h))}o.cells[s].tile=p}}},8878:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getPatternHash=void 0,t.getPatternHash=e=>e.cells.filter(e=>e.isEmpty).map(e=>{let t=e.tile.isBlank?"!":"",r=e.tile.character+t;return[e.x,e.y,r].join(",")}).join("-")},9052:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generatePatterns=void 0;let c=r(8620),a=r(5358);t.generatePatterns=(e,t)=>{let r=(0,c.generateHorizontalPatterns)(e,t),i=(0,a.generateVerticalPatterns)(e,t);return r.concat(i)}},9112:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CharacterBonus=void 0;let c=r(9276),a=r(719);class i extends a.Bonus{constructor(){super(...arguments),this.type=c.BONUS_CHARACTER}canApply(e,t){return super.canApply(e,t)&&this.matchesCellTileScore(e,t)}matchesCellTileScore(e,t){return void 0===this.score||this.score===e.pointsMap[t.tile.character]}get value(){return{characterMultiplier:this.multiplier,wordMultiplier:1}}}t.CharacterBonus=i},9140:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Board=void 0;let c=r(9276),a=r(1370),i=r(9654);class o{static fromStringArray(e){return new o({rows:e.map((e,t)=>e.split("").map((e,r)=>new a.Cell({isEmpty:!e||e===c.EMPTY_CELL,tile:e===c.EMPTY_CELL?i.Tile.Null:new i.Tile({character:e}),x:r,y:t})))})}constructor({rows:e}){this.rows=e,this.columnsCount=e[0].length,this.rowsCount=e.length}get center(){let e=Math.floor(this.columnsCount/2),t=Math.floor(this.rowsCount/2);return this.rows[t][e]}clone(){return new o({rows:this.rows.map(e=>e.map(e=>e.clone()))})}collides(e){return this.collidesUp(e)||this.collidesDown(e)||this.collidesLeft(e)||this.collidesRight(e)}collidesDown({x:e,y:t}){return t<this.rowsCount-1&&!this.rows[t+1][e].isEmpty}collidesLeft({x:e,y:t}){return e>0&&!this.rows[t][e-1].isEmpty}collidesRight({x:e,y:t}){return e<this.columnsCount-1&&!this.rows[t][e+1].isEmpty}collidesUp({x:e,y:t}){return t>0&&!this.rows[t-1][e].isEmpty}equals(e){return this.columnsCount===e.columnsCount&&this.rowsCount===e.rowsCount&&this.rows.every((t,r)=>t.every((t,c)=>t.equals(e.rows[r][c])))}getBlanksCount(){return this.rows.reduce((e,t)=>e+t.reduce((e,t)=>e+ +!!t.tile.isBlank,0),0)}getColumn(e){return this.rows.map(t=>t[e])}getRow(e){return this.rows[e]}getTilesCount(){return this.rows.reduce((e,t)=>e+t.reduce((e,t)=>e+ +!!t.hasTile(),0),0)}getWords(){let e=[];for(let t=0;t<this.columnsCount;++t){let r=[];for(let e=0;e<this.rowsCount;++e)r.push(this.rows[e][t]);e.push(r)}let t=new o({rows:e});return this.toString().split("\n").concat(t.toString().split("\n")).flatMap(e=>e.replaceAll(/\s+/g,c.EMPTY_CELL).split(" ")).filter(e=>e.length>1)}isEmpty(){return this.rows.every(e=>e.every(({isEmpty:e})=>e))}toJson(){return this.rows.map(e=>e.map(e=>e.toJson()))}toString(){return this.rows.map(e=>e.map(String).join("")).join("\n")}updateCell(e,t,r){this.rows[t][e]=r(this.rows[t][e])}updateRow(e,t){this.rows[e]=t(this.rows[e])}}t.Board=o,o.create=(e,t)=>{let r=Array(t),c=Array(e).fill(" ").join(""),a=r.fill(c);return o.fromStringArray(a)},o.fromJson=e=>new o({rows:e.map(e=>e.map(a.Cell.fromJson))})},9276:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VOWELS=t.CONSONANTS=t.NO_BONUS=t.EMPTY_CELL=t.BONUS_WORD=t.BONUS_CHARACTER=t.BLANK=t.COMMA_LATIN=t.COMMA_ARABIC=void 0,t.COMMA_ARABIC="،",t.COMMA_LATIN=",",t.BLANK=" ",t.BONUS_CHARACTER="BONUS_CHARACTER",t.BONUS_WORD="BONUS_WORD",t.EMPTY_CELL=" ",t.NO_BONUS={characterMultiplier:1,wordMultiplier:1},t.CONSONANTS="bc\xe7ćdfgğhjklłmnń\xf1pqrsşśtvwxzźż".split(""),t.VOWELS="aą\xe4eęio\xf3\xf6u\xfcyı".split("")},9379:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Trie=void 0;let c=r(2011);class a{static deserialize(e){return new a((0,c.deserialize)(e))}static fromArray(e){return new a((0,c.fromArray)(e))}root;constructor(e={}){this.root=e}add(e){return(0,c.add)(this.root,e)}find(e){return(0,c.find)(this.root,e)}has(e){return(0,c.has)(this.root,e)}hasPrefix(e){return(0,c.hasPrefix)(this.root,e)}remove(e){return(0,c.remove)(this.root,e)}serialize(){return(0,c.serialize)(this.root)}toArray(e){return(0,c.toArray)(this.root,e)}traverse(e,t){return(0,c.traverse)(this.root,e,t)}}t.Trie=a},9494:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(1150),t),a(r(6186),t),a(r(6500),t),a(r(3830),t),a(r(3305),t),a(r(4979),t),a(r(1958),t),a(r(3814),t)},9654:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Tile=void 0;let c=r(9276);class a{constructor({character:e,isBlank:t=!1}){this.character=e,this.isBlank=t}clone(){return new a({character:this.character,isBlank:this.isBlank})}equals(e){return this.character===e.character&&this.isBlank===e.isBlank}toJson(){return{character:this.character,isBlank:this.isBlank}}toString(){return this.character}}t.Tile=a,a.fromJson=e=>e?new a({character:e.character,isBlank:e.isBlank}):a.Null,a.Null=Object.freeze({character:c.EMPTY_CELL,isBlank:!1,clone:()=>a.Null,equals:e=>e===a.Null,toJson:()=>null,toString:()=>c.EMPTY_CELL})},9979:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WordDefinition=void 0;class r{constructor({definitions:e,exists:t,isAllowed:r,word:c}){this.definitions=e,this.exists=t,this.isAllowed=r,this.word=c}toJson(){return{definitions:this.definitions,exists:this.exists,isAllowed:this.isAllowed,word:this.word}}}t.WordDefinition=r,r.fromJson=e=>e?new r({definitions:e.definitions,exists:e.exists,isAllowed:e.isAllowed,word:e.word}):r.Null,r.Null=Object.freeze({definitions:[],exists:!1,isAllowed:!1,word:"",toJson:()=>null})}},o={};function l(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}},c=!0;try{i[e].call(r.exports,r,r.exports,l),c=!1}finally{c&&delete o[e]}return r.exports}l(1693);let n=(e,...t)=>{let r=e;return t.length>0&&(r+=` :: ${JSON.stringify(t)}`),r};class s extends Error{constructor(e,t){super(n(e,t)),this.name=e,this.details=t}}let u={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},h=e=>[u.prefix,e,u.suffix].filter(e=>e&&e.length>0).join("-"),p={getPrecacheName:e=>e||h(u.precache),getRuntimeName:e=>e||h(u.runtime)};function y(e,t){let r=t();return e.waitUntil(r),r}l(1802);class d{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:r})=>{if("install"===e.type&&t&&t.originalRequest&&t.originalRequest instanceof Request){let e=t.originalRequest.url;r?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return r}}}class m{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{let r=(null==t?void 0:t.cacheKey)||this._precacheController.getCacheKeyForURL(e.url);return r?new Request(r,{headers:e.headers}):e},this._precacheController=e}}async function O(t,r){let c=null;if(t.url&&(c=new URL(t.url).origin),c!==self.location.origin)throw new s("cross-origin-copy-response",{origin:c});let a=t.clone(),i={headers:new Headers(a.headers),status:a.status,statusText:a.statusText},o=r?r(i):i,l=!function(){if(void 0===e){let t=new Response("");if("body"in t)try{new Response(t.body),e=!0}catch(t){e=!1}e=!1}return e}()?await a.blob():a.body;return new Response(l,o)}let f=e=>new URL(String(e),location.href).href.replace(RegExp(`^${location.origin}`),"");function R(e,t){let r=new URL(e);for(let e of t)r.searchParams.delete(e);return r.href}async function C(e,t,r,c){let a=R(t.url,r);if(t.url===a)return e.match(t,c);let i=Object.assign(Object.assign({},c),{ignoreSearch:!0});for(let o of(await e.keys(t,i)))if(a===R(o.url,r))return e.match(o,c)}class g{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}let S=new Set;async function A(){for(let e of S)await e()}function b(e){return"string"==typeof e?new Request(e):e}l(7303);class x{constructor(e,t){for(let r of(this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new g,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map,this._plugins))this._pluginStateMap.set(r,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){let{event:t}=this,r=b(e);if("navigate"===r.mode&&t instanceof FetchEvent&&t.preloadResponse){let e=await t.preloadResponse;if(e)return e}let c=this.hasCallback("fetchDidFail")?r.clone():null;try{for(let e of this.iterateCallbacks("requestWillFetch"))r=await e({request:r.clone(),event:t})}catch(e){if(e instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}let a=r.clone();try{let e;for(let c of(e=await fetch(r,"navigate"===r.mode?void 0:this._strategy.fetchOptions),this.iterateCallbacks("fetchDidSucceed")))e=await c({event:t,request:a,response:e});return e}catch(e){throw c&&await this.runCallbacks("fetchDidFail",{error:e,event:t,originalRequest:c.clone(),request:a.clone()}),e}}async fetchAndCachePut(e){let t=await this.fetch(e),r=t.clone();return this.waitUntil(this.cachePut(e,r)),t}async cacheMatch(e){let t;let r=b(e),{cacheName:c,matchOptions:a}=this._strategy,i=await this.getCacheKey(r,"read"),o=Object.assign(Object.assign({},a),{cacheName:c});for(let e of(t=await caches.match(i,o),this.iterateCallbacks("cachedResponseWillBeUsed")))t=await e({cacheName:c,matchOptions:a,cachedResponse:t,request:i,event:this.event})||void 0;return t}async cachePut(e,t){let r=b(e);await new Promise(e=>setTimeout(e,0));let c=await this.getCacheKey(r,"write");if(!t)throw new s("cache-put-with-no-response",{url:f(c.url)});let a=await this._ensureResponseSafeToCache(t);if(!a)return!1;let{cacheName:i,matchOptions:o}=this._strategy,l=await self.caches.open(i),n=this.hasCallback("cacheDidUpdate"),u=n?await C(l,c.clone(),["__WB_REVISION__"],o):null;try{await l.put(c,n?a.clone():a)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await A(),e}for(let e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:i,oldResponse:u,newResponse:a.clone(),request:c,event:this.event});return!0}async getCacheKey(e,t){let r=`${e.url} | ${t}`;if(!this._cacheKeys[r]){let c=e;for(let e of this.iterateCallbacks("cacheKeyWillBeUsed"))c=b(await e({mode:t,request:c,event:this.event,params:this.params}));this._cacheKeys[r]=c}return this._cacheKeys[r]}hasCallback(e){for(let t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(let r of this.iterateCallbacks(e))await r(t)}*iterateCallbacks(e){for(let t of this._strategy.plugins)if("function"==typeof t[e]){let r=this._pluginStateMap.get(t),c=c=>{let a=Object.assign(Object.assign({},c),{state:r});return t[e](a)};yield c}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,r=!1;for(let e of this.iterateCallbacks("cacheWillUpdate"))if(t=await e({request:this.request,response:t,event:this.event})||void 0,r=!0,!t)break;return!r&&t&&200!==t.status&&(t=void 0),t}}class N{constructor(e={}){this.cacheName=p.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){let[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});let t=e.event,r="string"==typeof e.request?new Request(e.request):e.request,c=new x(this,{event:t,request:r,params:"params"in e?e.params:void 0}),a=this._getResponse(c,r,t),i=this._awaitComplete(a,c,r,t);return[a,i]}async _getResponse(e,t,r){let c;await e.runCallbacks("handlerWillStart",{event:r,request:t});try{if(!(c=await this._handle(t,e))||"error"===c.type)throw new s("no-response",{url:t.url})}catch(a){if(a instanceof Error){for(let i of e.iterateCallbacks("handlerDidError"))if(c=await i({error:a,event:r,request:t}))break}if(c);else throw a}for(let a of e.iterateCallbacks("handlerWillRespond"))c=await a({event:r,request:t,response:c});return c}async _awaitComplete(e,t,r,c){let a,i;try{a=await e}catch(e){}try{await t.runCallbacks("handlerDidRespond",{event:c,request:r,response:a}),await t.doneWaiting()}catch(e){e instanceof Error&&(i=e)}if(await t.runCallbacks("handlerDidComplete",{event:c,request:r,response:a,error:i}),t.destroy(),i)throw i}}class B extends N{constructor(e={}){e.cacheName=p.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(B.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){let r=await t.cacheMatch(e);return r||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let r;let c=t.params||{};if(this._fallbackToNetwork){let a=c.integrity,i=e.integrity,o=!i||i===a;r=await t.fetch(new Request(e,{integrity:"no-cors"!==e.mode?i||a:void 0})),a&&o&&"no-cors"!==e.mode&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,r.clone()))}else throw new s("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return r}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();let r=await t.fetch(e);if(!await t.cachePut(e,r.clone()))throw new s("bad-precaching-response",{url:e.url,status:r.status});return r}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(let[r,c]of this.plugins.entries())c!==B.copyRedirectedCacheableResponsesPlugin&&(c===B.defaultPrecacheCacheabilityPlugin&&(e=r),c.cacheWillUpdate&&t++);0===t?this.plugins.push(B.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}B.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e},B.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await O(e):e};class U{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:r=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new B({cacheName:p.getPrecacheName(e),plugins:[...t,new m({precacheController:this})],fallbackToNetwork:r}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){let t=[];for(let r of e){"string"==typeof r?t.push(r):r&&void 0===r.revision&&t.push(r.url);let{cacheKey:e,url:c}=function(e){if(!e)throw new s("add-to-cache-list-unexpected-type",{entry:e});if("string"==typeof e){let t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}let{revision:t,url:r}=e;if(!r)throw new s("add-to-cache-list-unexpected-type",{entry:e});if(!t){let e=new URL(r,location.href);return{cacheKey:e.href,url:e.href}}let c=new URL(r,location.href),a=new URL(r,location.href);return c.searchParams.set("__WB_REVISION__",t),{cacheKey:c.href,url:a.href}}(r),a="string"!=typeof r&&r.revision?"reload":"default";if(this._urlsToCacheKeys.has(c)&&this._urlsToCacheKeys.get(c)!==e)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(c),secondEntry:e});if("string"!=typeof r&&r.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==r.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:c});this._cacheKeysToIntegrities.set(e,r.integrity)}this._urlsToCacheKeys.set(c,e),this._urlsToCacheModes.set(c,a),t.length>0&&console.warn(`Workbox is precaching URLs without revision info: ${t.join(", ")}
2
+ This is generally NOT safe. Learn more at https://bit.ly/wb-precache`)}}install(e){return y(e,async()=>{let t=new d;for(let[r,c]of(this.strategy.plugins.push(t),this._urlsToCacheKeys)){let t=this._cacheKeysToIntegrities.get(c),a=this._urlsToCacheModes.get(r),i=new Request(r,{integrity:t,cache:a,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:c},request:i,event:e}))}let{updatedURLs:r,notUpdatedURLs:c}=t;return{updatedURLs:r,notUpdatedURLs:c}})}activate(e){return y(e,async()=>{let e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),r=new Set(this._urlsToCacheKeys.values()),c=[];for(let a of t)r.has(a.url)||(await e.delete(a),c.push(a.url));return{deletedURLs:c}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,r=this.getCacheKeyForURL(t);if(r)return(await self.caches.open(this.strategy.cacheName)).match(r)}createHandlerBoundToURL(e){let t=this.getCacheKeyForURL(e);if(!t)throw new s("non-precached-url",{url:e});return r=>(r.request=new Request(e),r.params=Object.assign({cacheKey:t},r.params),this.strategy.handle(r))}}let E=()=>(t||(t=new U),t);l(2448);let w=e=>e&&"object"==typeof e?e:{handle:e};class v{constructor(e,t,r="GET"){this.handler=w(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=w(e)}}class T extends v{constructor(e,t,r){super(({url:t})=>{let r=e.exec(t.href);if(r&&(t.origin===location.origin||0===r.index))return r.slice(1)},t,r)}}class P{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{let{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&"CACHE_URLS"===e.data.type){let{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(t=>{"string"==typeof t&&(t=[t]);let r=new Request(...t);return this.handleRequest({request:r,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){let r;let c=new URL(e.url,location.href);if(!c.protocol.startsWith("http"))return;let a=c.origin===location.origin,{params:i,route:o}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:c}),l=o&&o.handler,n=e.method;if(!l&&this._defaultHandlerMap.has(n)&&(l=this._defaultHandlerMap.get(n)),!l)return;try{r=l.handle({url:c,request:e,event:t,params:i})}catch(e){r=Promise.reject(e)}let s=o&&o.catchHandler;return r instanceof Promise&&(this._catchHandler||s)&&(r=r.catch(async r=>{if(s)try{return await s.handle({url:c,request:e,event:t,params:i})}catch(e){e instanceof Error&&(r=e)}if(this._catchHandler)return this._catchHandler.handle({url:c,request:e,event:t});throw r})),r}findMatchingRoute({url:e,sameOrigin:t,request:r,event:c}){for(let a of this._routes.get(r.method)||[]){let i;let o=a.match({url:e,sameOrigin:t,request:r,event:c});if(o)return Array.isArray(i=o)&&0===i.length?i=void 0:o.constructor===Object&&0===Object.keys(o).length?i=void 0:"boolean"==typeof o&&(i=void 0),{route:a,params:i}}return{}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,w(e))}setCatchHandler(e){this._catchHandler=w(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new s("unregister-route-but-not-found-with-method",{method:e.method});let t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new s("unregister-route-route-not-registered")}}let H=()=>(r||((r=new P).addFetchListener(),r.addCacheListener()),r);function D(e,t,r){let c;if("string"==typeof e){let a=new URL(e,location.href);c=new v(({url:e})=>e.href===a.href,t,r)}else if(e instanceof RegExp)c=new T(e,t,r);else if("function"==typeof e)c=new v(e,t,r);else if(e instanceof v)c=e;else throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return H().registerRoute(c),c}class j extends v{constructor(e,t){super(({request:r})=>{let c=e.getURLsToCacheKeys();for(let a of function*(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:r="index.html",cleanURLs:c=!0,urlManipulation:a}={}){let i=new URL(e,location.href);i.hash="",yield i.href;let o=function(e,t=[]){for(let r of[...e.searchParams.keys()])t.some(e=>e.test(r))&&e.searchParams.delete(r);return e}(i,t);if(yield o.href,r&&o.pathname.endsWith("/")){let e=new URL(o.href);e.pathname+=r,yield e.href}if(c){let e=new URL(o.href);e.pathname+=".html",yield e.href}if(a)for(let e of a({url:i}))yield e.href}(r.url,t)){let t=c.get(a);if(t){let r=e.getIntegrityForCacheKey(t);return{cacheKey:t,integrity:r}}}},e.strategy)}}let W="-precache-",M=async(e,t=W)=>{let r=(await self.caches.keys()).filter(r=>r.includes(t)&&r.includes(self.registration.scope)&&r!==e);return await Promise.all(r.map(e=>self.caches.delete(e))),r};var k=l(3986),L=l(9276),I=l(6906),q=l(2708);let K=e=>0===e.length?0:e.reduce((e,t)=>e+t,0)/e.length,J="dictionary-api-cache",z=(e,t)=>t.some(t=>e instanceof t),F=new WeakMap,G=new WeakMap,V=new WeakMap,$=new WeakMap,Y=new WeakMap,Q={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return G.get(e);if("objectStoreNames"===t)return e.objectStoreNames||V.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return X(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function X(e){if(e instanceof IDBRequest)return function(e){let t=new Promise((t,r)=>{let c=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(X(e.result)),c()},i=()=>{r(e.error),c()};e.addEventListener("success",a),e.addEventListener("error",i)});return t.then(t=>{t instanceof IDBCursor&&F.set(t,e)}).catch(()=>{}),Y.set(t,e),t}(e);if($.has(e))return $.get(e);let t=function(e){if("function"==typeof e)return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(a||(a=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(Z(this),t),X(F.get(this))}:function(...t){return X(e.apply(Z(this),t))}:function(t,...r){let c=e.call(Z(this),t,...r);return V.set(c,t.sort?t.sort():[t]),X(c)};return(e instanceof IDBTransaction&&function(e){if(G.has(e))return;let t=new Promise((t,r)=>{let c=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),c()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),c()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)});G.set(e,t)}(e),z(e,c||(c=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(e,Q):e}(e);return t!==e&&($.set(e,t),Y.set(t,e)),t}let Z=e=>Y.get(e),ee=["get","getKey","getAll","getAllKeys","count"],et=["put","add","delete","clear"],er=new Map;function ec(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(er.get(t))return er.get(t);let r=t.replace(/FromIndex$/,""),c=t!==r,a=et.includes(r);if(!(r in(c?IDBIndex:IDBObjectStore).prototype)||!(a||ee.includes(r)))return;let i=async function(e,...t){let i=this.transaction(e,a?"readwrite":"readonly"),o=i.store;return c&&(o=o.index(t.shift())),(await Promise.all([o[r](...t),a&&i.done]))[0]};return er.set(t,i),i}Q=(e=>({...e,get:(t,r,c)=>ec(t,r)||e.get(t,r,c),has:(t,r)=>!!ec(t,r)||e.has(t,r)}))(Q),l(2555);let ea="cache-entries",ei=e=>{let t=new URL(e,location.href);return t.hash="",t.href};class eo{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){let t=e.createObjectStore(ea,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&function(e,{blocked:t}={}){let r=indexedDB.deleteDatabase(e);t&&r.addEventListener("blocked",e=>t(e.oldVersion,e)),X(r).then(()=>void 0)}(this._cacheName)}async setTimestamp(e,t){let r={url:e=ei(e),timestamp:t,cacheName:this._cacheName,id:this._getId(e)},c=(await this.getDb()).transaction(ea,"readwrite",{durability:"relaxed"});await c.store.put(r),await c.done}async getTimestamp(e){let t=await this.getDb(),r=await t.get(ea,this._getId(e));return null==r?void 0:r.timestamp}async expireEntries(e,t){let r=await this.getDb(),c=await r.transaction(ea).store.index("timestamp").openCursor(null,"prev"),a=[],i=0;for(;c;){let r=c.value;r.cacheName===this._cacheName&&(e&&r.timestamp<e||t&&i>=t?a.push(c.value):i++),c=await c.continue()}let o=[];for(let e of a)await r.delete(ea,e.id),o.push(e.url);return o}_getId(e){return this._cacheName+"|"+ei(e)}async getDb(){return this._db||(this._db=await function(e,t,{blocked:r,upgrade:c,blocking:a,terminated:i}={}){let o=indexedDB.open(e,1),l=X(o);return c&&o.addEventListener("upgradeneeded",e=>{c(X(o.result),e.oldVersion,e.newVersion,X(o.transaction),e)}),r&&o.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),l.then(e=>{i&&e.addEventListener("close",()=>i()),a&&e.addEventListener("versionchange",e=>a(e.oldVersion,e.newVersion,e))}).catch(()=>{}),l}("workbox-expiration",0,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class el{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new eo(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;let e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),r=await self.caches.open(this._cacheName);for(let e of t)await r.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,function(e){e.then(()=>{})}(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(!this._maxAgeSeconds)return!1;{let t=await this._timestampModel.getTimestamp(e),r=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t<r}}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}let en=new el(J,{maxAgeSeconds:86400}),es=e=>"/api/dictionary/".concat(e),eu=async e=>{await en.expireEntries();let t=es(e),r=await caches.open(J),c=await r.match(t);if(void 0!==c)return await c.clone().text()},eh={},ep=async e=>{let t;if(eh[e]instanceof Promise)return;let r=es(e),c=fetch(r);eh[e]=c;try{if(!(t=await c).ok)throw eh[e]=void 0,Error("HTTP ".concat(t.status,": ").concat(t.statusText));let a=await caches.open(J);await a.put(r,t.clone()),await en.updateTimestamp(r)}finally{eh[e]=void 0}};var ey=l(3611);let ed={},em=async e=>{let t=await eu(e);if(void 0===t)return;let r=ed[e];if(void 0===r||r.dictionary!==t){let r=ey.Trie.deserialize(t);return ed[e]={dictionary:t,trie:r},r}return r.trie},e_={"Content-Type":"application/json; charset=utf-8"},eO=[],ef=[],eR=()=>{if(eO.length<5||ef.length<5)return;let e=Math.min(eO.length,ef.length),t=eO.slice(0,e).sort().slice(1,-1),r=ef.slice(0,e).sort().slice(1,-1);return K(t)>K(r)},eC={"Content-Type":"application/json; charset=utf-8"};self.addEventListener("install",()=>{self.skipWaiting()}),self.addEventListener("activate",()=>{self.clients.claim()}),self.addEventListener("activate",e=>{let t=p.getPrecacheName();e.waitUntil(M(t).then(e=>{}))}),function(e,t){E().precache(e),D(new j(E(),void 0))}([{'revision':null,'url':'/_next/static/chunks/framework-288d1abd95de88d9.js'},{'revision':null,'url':'/_next/static/chunks/main-016492249b3393e2.js'},{'revision':null,'url':'/_next/static/chunks/pages/404-590e2a3839c1d9e0.js'},{'revision':null,'url':'/_next/static/chunks/pages/_app-ac93a74c390f2ab8.js'},{'revision':null,'url':'/_next/static/chunks/pages/_error-7ea2d37f66343175.js'},{'revision':null,'url':'/_next/static/chunks/pages/index-e5f1caa581e6d3b8.js'},{'revision':'846118c33b2c0e922d7b3a7676f81f6f','url':'/_next/static/chunks/polyfills-42372ed130431b0a.js'},{'revision':null,'url':'/_next/static/chunks/webpack-6224d37324e372cb.js'},{'revision':null,'url':'/_next/static/css/6682db14f926d4c7.css'},{'revision':null,'url':'/_next/static/css/d875648f38121a28.css'},{'revision':'6bb26802f145ae1c3c24fb7374ed2590','url':'/_next/static/ylO_ttKeJTuoqDYywao5A/_buildManifest.js'},{'revision':'b6652df95db52feb4daf4eca35380933','url':'/_next/static/ylO_ttKeJTuoqDYywao5A/_ssgManifest.js'}]),D(e=>{let{url:t}=e;return t.origin===location.origin&&"/api/solve"===t.pathname},async e=>{let{request:t}=e,{board:r,characters:c,game:a,locale:i}=await t.clone().json(),o=async e=>{let t=(0,k.getConfig)(a,i),o=c.map(e=>new q.Tile({character:e,isBlank:e===L.BLANK}));return new Promise(c=>{c(new Response(JSON.stringify((0,I.kH)(e,t,q.Board.fromJson(r),o)),{headers:e_}))})},l=()=>fetch(t),n=await em(i);if(n&&void 0===eR()){let e=await Promise.race([(async()=>{let e=Date.now(),t=o(n);return eO.push(Date.now()-e),t})(),(async()=>{let e=Date.now(),t=await l();return ef.push(Date.now()-e),t})()]);return ep(i),e}let s=n&&!eR()?()=>o(n):()=>l(),u=await s();return ep(i),u},"POST"),D(e=>{let{url:t}=e;return t.origin===location.origin&&"/api/verify"===t.pathname},async e=>{let{request:t}=e,{board:r,locale:c}=await t.clone().json(),a=await em(c);if(!a){let e=await fetch(t);return ep(c),e}let i=q.Board.fromJson(r).getWords().sort((e,t)=>e.localeCompare(t,c));return new Response(JSON.stringify({invalidWords:i.filter(e=>!a.has(e)),validWords:i.filter(e=>a.has(e))}),{headers:eC})},"POST")})();