@scrabble-solver/scrabble-solver 2.15.9 → 2.15.11

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 (312) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +9 -9
  3. package/.next/cache/.rscinfo +1 -1
  4. package/.next/cache/.tsbuildinfo +1 -1
  5. package/.next/cache/webpack/client-production/0.pack +0 -0
  6. package/.next/cache/webpack/client-production/index.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  8. package/.next/cache/webpack/edge-server-production/0.pack +0 -0
  9. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  10. package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  11. package/.next/cache/webpack/server-production/0.pack +0 -0
  12. package/.next/cache/webpack/server-production/index.pack +0 -0
  13. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  14. package/.next/diagnostics/framework.json +1 -1
  15. package/.next/next-minimal-server.js.nft.json +1 -1
  16. package/.next/next-server.js.nft.json +1 -1
  17. package/.next/prerender-manifest.json +4 -4
  18. package/.next/required-server-files.json +1 -2
  19. package/.next/routes-manifest.json +1 -1
  20. package/.next/server/chunks/60.js +1 -1
  21. package/.next/server/chunks/812.js +1 -1
  22. package/.next/server/chunks/974.js +1 -1
  23. package/.next/server/middleware-build-manifest.js +1 -1
  24. package/.next/server/pages/404.html +1 -1
  25. package/.next/server/pages/404.js.nft.json +1 -1
  26. package/.next/server/pages/500.html +1 -1
  27. package/.next/server/pages/_app.js.nft.json +1 -1
  28. package/.next/server/pages/api/dictionary/[locale]/[word].js +2 -2
  29. package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  30. package/.next/server/pages/api/dictionary/[locale].js +1 -1
  31. package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  32. package/.next/server/pages/api/solve.js +1 -1
  33. package/.next/server/pages/api/solve.js.nft.json +1 -1
  34. package/.next/server/pages/api/verify.js +1 -1
  35. package/.next/server/pages/api/verify.js.nft.json +1 -1
  36. package/.next/server/pages/api/visit.js +1 -1
  37. package/.next/server/pages/index.html +1 -1
  38. package/.next/server/pages/index.js +1 -1
  39. package/.next/server/pages/index.js.nft.json +1 -1
  40. package/.next/server/pages/index.json +1 -1
  41. package/.next/server/pages-manifest.json +1 -1
  42. package/.next/server/webpack-api-runtime.js +1 -1
  43. package/.next/static/{3MlxnccTCLyz9bgD30zY2 → 47JHul8F9NSWCNSEuahuL}/_buildManifest.js +1 -1
  44. package/.next/static/chunks/{main-b934e2c3dd3b55b5.js → main-016492249b3393e2.js} +1 -1
  45. package/.next/static/chunks/pages/{404-7451dd58396eaa39.js → 404-590e2a3839c1d9e0.js} +1 -1
  46. package/.next/static/chunks/pages/_app-0e951de0aebb6505.js +1 -0
  47. package/.next/static/chunks/pages/index-c1d5a66d0f4794a6.js +1 -0
  48. package/.next/trace +23 -23
  49. package/next.config.js +3 -0
  50. package/package.json +12 -11
  51. package/src/api/getServerLoggingData.ts +1 -3
  52. package/src/api/index.ts +5 -5
  53. package/src/api/isBoardValid.ts +3 -5
  54. package/src/api/isCellValid.ts +4 -6
  55. package/src/api/isCharacterValid.ts +2 -3
  56. package/src/api/isRowValid.ts +3 -5
  57. package/src/components/Alert/Alert.tsx +1 -3
  58. package/src/components/Alert/index.ts +1 -1
  59. package/src/components/Badge/Badge.tsx +1 -3
  60. package/src/components/Badge/index.ts +1 -1
  61. package/src/components/Board/Board.tsx +2 -4
  62. package/src/components/Board/BoardPure.tsx +3 -3
  63. package/src/components/Board/components/Actions/Actions.tsx +3 -5
  64. package/src/components/Board/components/Actions/index.ts +1 -1
  65. package/src/components/Board/components/Cell/Cell.tsx +3 -5
  66. package/src/components/Board/components/Cell/index.ts +1 -1
  67. package/src/components/Board/components/InputPrompt/InputPrompt.tsx +3 -5
  68. package/src/components/Board/components/InputPrompt/index.ts +1 -1
  69. package/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.tsx +2 -4
  70. package/src/components/Board/components/ToggleDirectionButton/index.ts +1 -1
  71. package/src/components/Board/components/index.ts +4 -4
  72. package/src/components/Board/hooks/index.ts +6 -6
  73. package/src/components/Board/hooks/useBackgroundImage.tsx +7 -9
  74. package/src/components/Board/hooks/useBoardStyle.ts +7 -9
  75. package/src/components/Board/hooks/useFloatingActions.ts +1 -3
  76. package/src/components/Board/hooks/useFloatingFocus.ts +1 -3
  77. package/src/components/Board/hooks/useFloatingInputPrompt.ts +1 -3
  78. package/src/components/Board/hooks/useGrid.ts +2 -4
  79. package/src/components/Board/index.ts +1 -1
  80. package/src/components/Board/lib/getBonusColor.ts +1 -3
  81. package/src/components/Board/lib/getPositionInGrid.ts +1 -3
  82. package/src/components/Board/lib/index.ts +2 -2
  83. package/src/components/Button/Button.tsx +3 -3
  84. package/src/components/Button/Link.tsx +1 -3
  85. package/src/components/Button/index.ts +1 -1
  86. package/src/components/Dictionary/Dictionary.tsx +3 -5
  87. package/src/components/Dictionary/index.ts +1 -1
  88. package/src/components/DictionaryInput/DictionaryInput.tsx +1 -3
  89. package/src/components/DictionaryInput/index.ts +1 -1
  90. package/src/components/EmptyState/EmptyState.tsx +2 -4
  91. package/src/components/EmptyState/index.ts +1 -1
  92. package/src/components/IconButton/IconButton.tsx +3 -3
  93. package/src/components/IconButton/Link.tsx +1 -3
  94. package/src/components/IconButton/index.ts +1 -1
  95. package/src/components/Key/Key.tsx +1 -3
  96. package/src/components/Key/index.ts +1 -1
  97. package/src/components/Keys/Arrows/Arrows.tsx +2 -4
  98. package/src/components/Keys/Arrows/index.ts +1 -1
  99. package/src/components/{keys.tsx → Keys/index.tsx} +3 -1
  100. package/src/components/Loading/Loading.tsx +2 -4
  101. package/src/components/Loading/index.ts +1 -1
  102. package/src/components/Logo/Logo.tsx +1 -3
  103. package/src/components/Logo/LogoBlueprint.tsx +2 -4
  104. package/src/components/Logo/index.ts +1 -1
  105. package/src/components/Modal/Modal.tsx +3 -3
  106. package/src/components/Modal/components/Section/Section.tsx +1 -3
  107. package/src/components/Modal/components/Section/index.ts +1 -1
  108. package/src/components/Modal/components/index.ts +1 -1
  109. package/src/components/Modal/index.ts +1 -1
  110. package/src/components/NavButtons/NavButtons.tsx +16 -13
  111. package/src/components/NavButtons/index.ts +1 -1
  112. package/src/components/NotFound/NotFound.tsx +2 -4
  113. package/src/components/NotFound/index.ts +1 -1
  114. package/src/components/PlainTiles/PlainTiles.tsx +10 -4
  115. package/src/components/PlainTiles/Tile.tsx +1 -3
  116. package/src/components/PlainTiles/index.ts +1 -1
  117. package/src/components/PlainTiles/lib/createPlainTile.ts +10 -6
  118. package/src/components/PlainTiles/lib/createPlainTiles.ts +2 -4
  119. package/src/components/PlainTiles/lib/getViewbox.ts +1 -3
  120. package/src/components/PlainTiles/lib/getX.ts +1 -3
  121. package/src/components/PlainTiles/lib/getY.ts +1 -3
  122. package/src/components/PlainTiles/lib/index.ts +6 -6
  123. package/src/components/PlainTiles/lib/randomize.ts +1 -3
  124. package/src/components/Progress/Progress.tsx +1 -3
  125. package/src/components/Progress/index.ts +1 -1
  126. package/src/components/Rack/Rack.tsx +2 -4
  127. package/src/components/Rack/components/InputPrompt/InputPrompt.tsx +2 -2
  128. package/src/components/Rack/components/InputPrompt/index.ts +1 -1
  129. package/src/components/Rack/components/RackTile/RackTile.tsx +4 -7
  130. package/src/components/Rack/components/RackTile/index.ts +1 -1
  131. package/src/components/Rack/components/index.ts +2 -2
  132. package/src/components/Rack/index.ts +1 -1
  133. package/src/components/Radio/Radio.tsx +1 -3
  134. package/src/components/Radio/index.ts +1 -1
  135. package/src/components/Results/Cell.tsx +9 -3
  136. package/src/components/Results/Header.tsx +2 -4
  137. package/src/components/Results/HeaderButton.tsx +1 -3
  138. package/src/components/Results/Result.tsx +2 -4
  139. package/src/components/Results/Results.tsx +7 -9
  140. package/src/components/Results/SolveButton.tsx +2 -4
  141. package/src/components/Results/index.ts +1 -1
  142. package/src/components/ResultsInput/ResultsInput.tsx +1 -3
  143. package/src/components/ResultsInput/index.ts +1 -1
  144. package/src/components/SeoMessage/SeoMessage.tsx +5 -6
  145. package/src/components/SeoMessage/index.ts +1 -1
  146. package/src/components/Solver/Solver.tsx +8 -8
  147. package/src/components/Solver/components/InsertButton/InsertButton.tsx +2 -4
  148. package/src/components/Solver/components/InsertButton/index.ts +1 -1
  149. package/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +4 -6
  150. package/src/components/Solver/components/ResultCandidatePicker/index.ts +1 -1
  151. package/src/components/Solver/components/index.ts +2 -2
  152. package/src/components/Solver/index.ts +1 -1
  153. package/src/components/Spinner/Spinner.tsx +1 -3
  154. package/src/components/Spinner/index.ts +1 -1
  155. package/src/components/Tile/Tile.tsx +2 -4
  156. package/src/components/Tile/TilePure.tsx +2 -2
  157. package/src/components/Tile/index.ts +1 -1
  158. package/src/components/Tooltip/TooltipTrigger.tsx +5 -3
  159. package/src/components/index.ts +24 -25
  160. package/src/hooks/index.ts +13 -13
  161. package/src/hooks/useAppLayout.ts +19 -15
  162. package/src/hooks/useColumns.ts +2 -4
  163. package/src/hooks/useDirection.ts +1 -3
  164. package/src/hooks/useEffectOnce.ts +2 -4
  165. package/src/hooks/useIsTouchDevice.ts +2 -4
  166. package/src/hooks/useLanguage.ts +1 -3
  167. package/src/hooks/useLatest.ts +1 -3
  168. package/src/hooks/useLocalStorage.ts +1 -3
  169. package/src/hooks/useMedia.ts +1 -3
  170. package/src/hooks/useMediaQueries.ts +2 -4
  171. package/src/hooks/useMediaQuery.ts +2 -4
  172. package/src/hooks/useOnWindowResize.ts +1 -3
  173. package/src/hooks/useViewportSize.ts +2 -4
  174. package/src/i18n/i18n.ts +1 -3
  175. package/src/i18n/index.ts +1 -1
  176. package/src/lib/arrayEquals.ts +1 -3
  177. package/src/lib/createArray.ts +1 -3
  178. package/src/lib/createComparator.ts +3 -5
  179. package/src/lib/createGridOf.ts +2 -4
  180. package/src/lib/createKeyComparator.ts +6 -5
  181. package/src/lib/createKeyboardNavigation.ts +2 -4
  182. package/src/lib/createNullMovingComparator.test.ts +1 -1
  183. package/src/lib/createNullMovingComparator.ts +1 -3
  184. package/src/lib/createRegExp.ts +1 -3
  185. package/src/lib/createStringComparator.ts +5 -3
  186. package/src/lib/detectLocale.ts +1 -3
  187. package/src/lib/extractCharacters.test.ts +1 -1
  188. package/src/lib/extractCharacters.ts +1 -3
  189. package/src/lib/extractCharactersByCase.test.ts +1 -1
  190. package/src/lib/extractCharactersByCase.ts +2 -4
  191. package/src/lib/extractInputValue.ts +1 -3
  192. package/src/lib/findCell.ts +1 -3
  193. package/src/lib/getCellSize.ts +3 -5
  194. package/src/lib/getCoordinate.test.ts +22 -0
  195. package/src/lib/getCoordinate.ts +10 -4
  196. package/src/lib/getCoordinates.ts +2 -4
  197. package/src/lib/getRemainingTiles.ts +8 -5
  198. package/src/lib/getRemainingTilesCount.ts +8 -4
  199. package/src/lib/getRemainingTilesGroups.ts +3 -5
  200. package/src/lib/getTileSizes.ts +1 -3
  201. package/src/lib/getTotalRemainingTilesCount.ts +8 -4
  202. package/src/lib/groupResults.ts +3 -5
  203. package/src/lib/guessLocale.ts +2 -4
  204. package/src/lib/index.ts +39 -39
  205. package/src/lib/inverseDirection.ts +1 -3
  206. package/src/lib/isCtrl.ts +1 -3
  207. package/src/lib/isMac.ts +3 -4
  208. package/src/lib/isRegExp.ts +1 -3
  209. package/src/lib/isStringArray.ts +1 -3
  210. package/src/lib/isUpperCase.ts +1 -3
  211. package/src/lib/memoize.ts +18 -20
  212. package/src/lib/noop.ts +1 -3
  213. package/src/lib/numberComparator.ts +1 -3
  214. package/src/lib/resultMatchesCellFilter.ts +1 -3
  215. package/src/lib/reverseComparator.ts +1 -3
  216. package/src/lib/sortGroupedResults.ts +2 -4
  217. package/src/lib/sortResults.ts +5 -7
  218. package/src/lib/unorderedArraysEqual.ts +2 -4
  219. package/src/lib/zipCharactersAndTiles.ts +1 -3
  220. package/src/modals/DictionaryModal/DictionaryModal.tsx +2 -2
  221. package/src/modals/DictionaryModal/index.ts +1 -1
  222. package/src/modals/KeyMapModal/KeyMapModal.tsx +2 -2
  223. package/src/modals/KeyMapModal/components/Mapping/Mapping.tsx +1 -3
  224. package/src/modals/KeyMapModal/components/Mapping/index.ts +1 -1
  225. package/src/modals/KeyMapModal/components/index.ts +1 -1
  226. package/src/modals/KeyMapModal/index.ts +1 -1
  227. package/src/modals/MenuModal/MenuModal.tsx +2 -2
  228. package/src/modals/MenuModal/index.ts +1 -1
  229. package/src/modals/RemainingTilesModal/RemainingTilesModal.tsx +2 -2
  230. package/src/modals/RemainingTilesModal/components/Character/Character.tsx +6 -3
  231. package/src/modals/RemainingTilesModal/components/Character/index.ts +1 -1
  232. package/src/modals/RemainingTilesModal/components/index.ts +1 -1
  233. package/src/modals/RemainingTilesModal/index.ts +1 -1
  234. package/src/modals/ResultsModal/ResultsModal.tsx +2 -2
  235. package/src/modals/ResultsModal/index.ts +1 -1
  236. package/src/modals/SettingsModal/SettingsModal.tsx +2 -2
  237. package/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx +1 -3
  238. package/src/modals/SettingsModal/components/AutoGroupTilesSetting/index.ts +1 -1
  239. package/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +4 -10
  240. package/src/modals/SettingsModal/components/ConfigSetting/index.ts +1 -1
  241. package/src/modals/SettingsModal/components/ConfigSetting/lib.ts +19 -0
  242. package/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.tsx +1 -3
  243. package/src/modals/SettingsModal/components/InputModeSetting/index.ts +1 -1
  244. package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +1 -3
  245. package/src/modals/SettingsModal/components/LocaleSetting/index.ts +1 -1
  246. package/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx +1 -3
  247. package/src/modals/SettingsModal/components/ShowCoordinatesSetting/index.ts +1 -1
  248. package/src/modals/SettingsModal/components/index.ts +5 -5
  249. package/src/modals/SettingsModal/index.ts +1 -1
  250. package/src/modals/WordsModal/WordsModal.tsx +2 -2
  251. package/src/modals/WordsModal/index.ts +1 -1
  252. package/src/modals/index.ts +7 -7
  253. package/src/pages/_app.tsx +3 -1
  254. package/src/pages/api/dictionary/[locale]/[word].ts +1 -1
  255. package/src/pages/api/dictionary/[locale]/index.ts +1 -1
  256. package/src/pages/api/solve.ts +6 -4
  257. package/src/pages/api/verify.ts +6 -4
  258. package/src/pages/api/visit.ts +2 -2
  259. package/src/pages/index.tsx +12 -2
  260. package/src/sdk/fetch.ts +1 -3
  261. package/src/sdk/fetchJson.ts +2 -4
  262. package/src/sdk/findWordDefinitions.ts +2 -4
  263. package/src/sdk/getDictionary.ts +2 -4
  264. package/src/sdk/index.ts +4 -4
  265. package/src/sdk/solve.ts +2 -4
  266. package/src/sdk/verify.ts +2 -4
  267. package/src/sdk/visit.ts +1 -3
  268. package/src/service-worker/average.ts +1 -3
  269. package/src/service-worker/dictionaries/expirationManager.ts +1 -3
  270. package/src/service-worker/dictionaries/getDictionary.ts +3 -5
  271. package/src/service-worker/dictionaries/getDictionaryUrl.ts +1 -3
  272. package/src/service-worker/dictionaries/index.ts +2 -2
  273. package/src/service-worker/dictionaries/revalidateDictionary.ts +3 -5
  274. package/src/service-worker/getTrie.ts +1 -3
  275. package/src/service-worker/index.ts +4 -2
  276. package/src/service-worker/routeSolveRequests.ts +17 -11
  277. package/src/service-worker/routeVerifyRequests.ts +7 -5
  278. package/src/serviceWorkerManager.ts +4 -4
  279. package/src/state/index.ts +4 -4
  280. package/src/state/localStorage.ts +10 -12
  281. package/src/state/sagas.ts +4 -1
  282. package/src/state/selectors.ts +3 -6
  283. package/src/state/slices/boardInitialState.ts +6 -7
  284. package/src/state/slices/boardSlice.ts +5 -7
  285. package/src/state/slices/cellFilterInitialState.ts +1 -3
  286. package/src/state/slices/cellFilterSlice.ts +2 -4
  287. package/src/state/slices/dictionaryInitialState.ts +2 -4
  288. package/src/state/slices/dictionarySlice.ts +2 -4
  289. package/src/state/slices/index.ts +16 -16
  290. package/src/state/slices/rackInitialState.ts +2 -4
  291. package/src/state/slices/rackSlice.ts +2 -4
  292. package/src/state/slices/resultsInitialState.ts +1 -3
  293. package/src/state/slices/resultsSlice.ts +2 -4
  294. package/src/state/slices/settingsInitialState.ts +2 -4
  295. package/src/state/slices/settingsSlice.ts +2 -4
  296. package/src/state/slices/solveInitialState.ts +3 -5
  297. package/src/state/slices/solveSlice.ts +2 -4
  298. package/src/state/slices/verifyInitialState.ts +2 -4
  299. package/src/state/slices/verifySlice.ts +2 -4
  300. package/src/state/store.ts +1 -3
  301. package/src/state/useTranslate.ts +2 -4
  302. package/src/state/useTypedSelector.ts +1 -3
  303. package/src/types/api.ts +15 -0
  304. package/src/types/index.ts +3 -1
  305. package/tsconfig.json +1 -1
  306. package/tsconfig.tsbuildinfo +1 -0
  307. package/.next/cache/eslint/.cache_8dgz12 +0 -1
  308. package/.next/static/chunks/pages/_app-735105409cfdb48f.js +0 -1
  309. package/.next/static/chunks/pages/index-d492616d9bc42176.js +0 -1
  310. package/src/components/Keys/index.ts +0 -1
  311. package/tsconfig.jest.json +0 -7
  312. /package/.next/static/{3MlxnccTCLyz9bgD30zY2 → 47JHul8F9NSWCNSEuahuL}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-288d1abd95de88d9.js","static/chunks/main-b934e2c3dd3b55b5.js","static/css/6682db14f926d4c7.css","static/chunks/pages/index-d492616d9bc42176.js"],"/404":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-288d1abd95de88d9.js","static/chunks/main-b934e2c3dd3b55b5.js","static/chunks/pages/404-7451dd58396eaa39.js"],"/_app":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-288d1abd95de88d9.js","static/chunks/main-b934e2c3dd3b55b5.js","static/css/d875648f38121a28.css","static/chunks/pages/_app-735105409cfdb48f.js"],"/_error":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-288d1abd95de88d9.js","static/chunks/main-b934e2c3dd3b55b5.js","static/chunks/pages/_error-7ea2d37f66343175.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-288d1abd95de88d9.js","static/chunks/main-016492249b3393e2.js","static/css/6682db14f926d4c7.css","static/chunks/pages/index-c1d5a66d0f4794a6.js"],"/404":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-288d1abd95de88d9.js","static/chunks/main-016492249b3393e2.js","static/chunks/pages/404-590e2a3839c1d9e0.js"],"/_app":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-288d1abd95de88d9.js","static/chunks/main-016492249b3393e2.js","static/css/d875648f38121a28.css","static/chunks/pages/_app-0e951de0aebb6505.js"],"/_error":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-288d1abd95de88d9.js","static/chunks/main-016492249b3393e2.js","static/chunks/pages/_error-7ea2d37f66343175.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0" data-next-head=""/><title data-next-head="">Scrabble Solver 2 by Kamil Mielnik</title><meta name="author" content="Kamil Mielnik" data-next-head=""/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish." data-next-head=""/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Kelimelik,Literaki,Board,Open-source,Open,Source,Word,Finder,Cheating,Word,English,Français,French,Deutsch,German,Polski,Polish,فارسی,Farsi,Español,Spanish,Română,Romanian,Türkçe,Turkish,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik" data-next-head=""/><meta name="robots" content="index, follow, notranslate, noimageindex" data-next-head=""/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish." data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:url" content="https://scrabble-solver.org" data-next-head=""/><meta property="og:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="630" data-next-head=""/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish." data-next-head=""/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/d875648f38121a28.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d875648f38121a28.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-6224d37324e372cb.js" defer=""></script><script src="/_next/static/chunks/framework-288d1abd95de88d9.js" defer=""></script><script src="/_next/static/chunks/main-b934e2c3dd3b55b5.js" defer=""></script><script src="/_next/static/chunks/pages/_app-735105409cfdb48f.js" defer=""></script><script src="/_next/static/chunks/pages/404-7451dd58396eaa39.js" defer=""></script><script src="/_next/static/3MlxnccTCLyz9bgD30zY2/_buildManifest.js" defer=""></script><script src="/_next/static/3MlxnccTCLyz9bgD30zY2/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish. Source code is available on GitHub - contributions are welcome!</p><div class="NotFound_notFound__WN02P"><a class="NotFound_link__MEAuF" href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" class="NotFound_icon__UWN1j" role="img"><path fill="currentColor" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1z"></path></svg><svg class="NotFound_tiles__TCY86" viewBox="0 0 682 80" xmlns="http://www.w3.org/2000/svg"><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 40, 40)"><rect fill="#f7c2aa" height="80" rx="12" width="80" x="0" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="40" y="40">H</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 126, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="86" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="126" y="40">T</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 212, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="172" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="212" y="40">T</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 298, 40)"><rect fill="#c7d8f9" height="80" rx="12" width="80" x="258" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="298" y="40">P</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 470, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="430" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="470" y="40">4</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 556, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="516" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="556" y="40">0</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 642, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="602" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="40">4</text></g></svg></a></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"3MlxnccTCLyz9bgD30zY2","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0" data-next-head=""/><title data-next-head="">Scrabble Solver 2 by Kamil Mielnik</title><meta name="author" content="Kamil Mielnik" data-next-head=""/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta name="keywords" content="Scrabble Solver,Scrabble,Scrabble Duel,Solver,Super Scrabble,Kelimelik,Letter League,Literaki,Board,Open-source,Open,Source,Word,Finder,Cheating,Word,English,Français,French,Deutsch,German,Polski,Polish,فارسی,Farsi,Español,Spanish,Română,Romanian,Türkçe,Turkish,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik" data-next-head=""/><meta name="robots" content="index, follow, notranslate, noimageindex" data-next-head=""/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:url" content="https://scrabble-solver.org" data-next-head=""/><meta property="og:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="630" data-next-head=""/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/d875648f38121a28.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d875648f38121a28.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-6224d37324e372cb.js" defer=""></script><script src="/_next/static/chunks/framework-288d1abd95de88d9.js" defer=""></script><script src="/_next/static/chunks/main-016492249b3393e2.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e951de0aebb6505.js" defer=""></script><script src="/_next/static/chunks/pages/404-590e2a3839c1d9e0.js" defer=""></script><script src="/_next/static/47JHul8F9NSWCNSEuahuL/_buildManifest.js" defer=""></script><script src="/_next/static/47JHul8F9NSWCNSEuahuL/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Literaki, and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish. Source code is available on GitHub - contributions are welcome!</p><div class="NotFound_notFound__WN02P"><a class="NotFound_link__MEAuF" href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" class="NotFound_icon__UWN1j" role="img"><path fill="currentColor" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1z"></path></svg><svg class="NotFound_tiles__TCY86" viewBox="0 0 682 80" xmlns="http://www.w3.org/2000/svg"><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 40, 40)"><rect fill="#f7c2aa" height="80" rx="12" width="80" x="0" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="40" y="40">H</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 126, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="86" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="126" y="40">T</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 212, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="172" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="212" y="40">T</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 298, 40)"><rect fill="#c7d8f9" height="80" rx="12" width="80" x="258" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="298" y="40">P</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 470, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="430" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="470" y="40">4</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 556, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="516" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="556" y="40">0</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 642, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="602" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="40">4</text></g></svg></a></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"47JHul8F9NSWCNSEuahuL","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- {"version":1,"files":["../webpack-runtime.js","../chunks/30.js","../chunks/968.js","../chunks/974.js","../../../package.json","../../../../configs/build/index.js","../../../../types/build/index.js","../../../../constants/build/index.js","../../../src/i18n/languages/english.json","../../../src/i18n/languages/french.json","../../../src/i18n/languages/german.json","../../../src/i18n/languages/persian.json","../../../src/i18n/languages/polish.json","../../../src/i18n/languages/romanian.json","../../../src/i18n/languages/spanish.json","../../../src/i18n/languages/turkish.json","../../../../configs/package.json","../../../../configs/build/getConfig.js","../../../../configs/build/hasConfig.js","../../../../configs/build/games/index.js","../../../../configs/build/languages/index.js","../../../../configs/build/games/kelimelik.js","../../../../configs/build/games/literaki.js","../../../../configs/build/games/scrabble.js","../../../../configs/build/games/superScrabble.js","../../../../configs/build/languages/english.js","../../../../configs/build/languages/german.js","../../../../configs/build/languages/french.js","../../../../configs/build/languages/persian.js","../../../../configs/build/languages/polish.js","../../../../configs/build/languages/romanian.js","../../../../configs/build/languages/spanish.js","../../../../configs/build/languages/turkish.js","../../../../types/package.json","../../../../types/build/Board.js","../../../../types/build/BoardJson.js","../../../../types/build/Bonus.js","../../../../types/build/Cell.js","../../../../types/build/CellJson.js","../../../../types/build/CharacterBonus.js","../../../../types/build/Config.js","../../../../types/build/FinalPattern.js","../../../../types/build/Game.js","../../../../types/build/HorizontalPattern.js","../../../../types/build/Locale.js","../../../../types/build/Pattern.js","../../../../types/build/Result.js","../../../../types/build/Tile.js","../../../../types/build/TileJson.js","../../../../types/build/VerticalPattern.js","../../../../types/build/WordBonus.js","../../../../types/build/WordDefinition.js","../../../../types/build/isError.js","../../../../types/build/isObject.js","../../../../constants/package.json","../../../../../package.json"]}
1
+ {"version":1,"files":["../webpack-runtime.js","../chunks/30.js","../chunks/968.js","../chunks/974.js","../../../../types/build/index.js","../../../package.json","../../../../configs/build/index.js","../../../../constants/build/index.js","../../../src/i18n/languages/english.json","../../../src/i18n/languages/french.json","../../../src/i18n/languages/german.json","../../../src/i18n/languages/persian.json","../../../src/i18n/languages/polish.json","../../../src/i18n/languages/romanian.json","../../../src/i18n/languages/spanish.json","../../../src/i18n/languages/turkish.json","../../../../types/package.json","../../../../types/build/Bingo.js","../../../../types/build/Board.js","../../../../types/build/BoardJson.js","../../../../types/build/Bonus.js","../../../../types/build/Cell.js","../../../../types/build/CellJson.js","../../../../types/build/CharacterBonus.js","../../../../types/build/Config.js","../../../../types/build/FinalPattern.js","../../../../types/build/Game.js","../../../../types/build/HorizontalPattern.js","../../../../types/build/isError.js","../../../../types/build/isObject.js","../../../../types/build/Locale.js","../../../../types/build/Pattern.js","../../../../types/build/Result.js","../../../../types/build/Tile.js","../../../../types/build/TileJson.js","../../../../types/build/VerticalPattern.js","../../../../types/build/WordBonus.js","../../../../types/build/WordDefinition.js","../../../../configs/package.json","../../../../configs/build/getConfig.js","../../../../configs/build/hasConfig.js","../../../../configs/build/games/index.js","../../../../configs/build/languages/index.js","../../../../configs/build/games/kelimelik.js","../../../../configs/build/games/letterLeague.js","../../../../configs/build/games/literaki.js","../../../../configs/build/games/scrabble.js","../../../../configs/build/games/scrabbleDuel.js","../../../../configs/build/games/superScrabble.js","../../../../configs/build/languages/english.js","../../../../configs/build/languages/german.js","../../../../configs/build/languages/french.js","../../../../configs/build/languages/persian.js","../../../../configs/build/languages/polish.js","../../../../configs/build/languages/romanian.js","../../../../configs/build/languages/spanish.js","../../../../configs/build/languages/turkish.js","../../../../constants/package.json","../../../../../package.json"]}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0" data-next-head=""/><meta name="author" content="Kamil Mielnik" data-next-head=""/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish." data-next-head=""/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Kelimelik,Literaki,Board,Open-source,Open,Source,Word,Finder,Cheating,Word,English,Français,French,Deutsch,German,Polski,Polish,فارسی,Farsi,Español,Spanish,Română,Romanian,Türkçe,Turkish,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik" data-next-head=""/><meta name="robots" content="index, follow, notranslate, noimageindex" data-next-head=""/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish." data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:url" content="https://scrabble-solver.org" data-next-head=""/><meta property="og:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="630" data-next-head=""/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish." data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/d875648f38121a28.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d875648f38121a28.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-6224d37324e372cb.js" defer=""></script><script src="/_next/static/chunks/framework-288d1abd95de88d9.js" defer=""></script><script src="/_next/static/chunks/main-b934e2c3dd3b55b5.js" defer=""></script><script src="/_next/static/chunks/pages/_app-735105409cfdb48f.js" defer=""></script><script src="/_next/static/chunks/pages/_error-7ea2d37f66343175.js" defer=""></script><script src="/_next/static/3MlxnccTCLyz9bgD30zY2/_buildManifest.js" defer=""></script><script src="/_next/static/3MlxnccTCLyz9bgD30zY2/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish. Source code is available on GitHub - contributions are welcome!</p><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"3MlxnccTCLyz9bgD30zY2","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0" data-next-head=""/><meta name="author" content="Kamil Mielnik" data-next-head=""/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta name="keywords" content="Scrabble Solver,Scrabble,Scrabble Duel,Solver,Super Scrabble,Kelimelik,Letter League,Literaki,Board,Open-source,Open,Source,Word,Finder,Cheating,Word,English,Français,French,Deutsch,German,Polski,Polish,فارسی,Farsi,Español,Spanish,Română,Romanian,Türkçe,Turkish,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik" data-next-head=""/><meta name="robots" content="index, follow, notranslate, noimageindex" data-next-head=""/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:url" content="https://scrabble-solver.org" data-next-head=""/><meta property="og:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="630" data-next-head=""/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/d875648f38121a28.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d875648f38121a28.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-6224d37324e372cb.js" defer=""></script><script src="/_next/static/chunks/framework-288d1abd95de88d9.js" defer=""></script><script src="/_next/static/chunks/main-016492249b3393e2.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e951de0aebb6505.js" defer=""></script><script src="/_next/static/chunks/pages/_error-7ea2d37f66343175.js" defer=""></script><script src="/_next/static/47JHul8F9NSWCNSEuahuL/_buildManifest.js" defer=""></script><script src="/_next/static/47JHul8F9NSWCNSEuahuL/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Literaki, and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish. Source code is available on GitHub - contributions are welcome!</p><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"47JHul8F9NSWCNSEuahuL","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../../../node_modules/@babel/runtime/helpers/extends.js","../../../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../../../node_modules/@babel/runtime/package.json","../../../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../../../node_modules/@floating-ui/core/package.json","../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../../../node_modules/@floating-ui/dom/package.json","../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../../../node_modules/@floating-ui/react-dom/package.json","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.umd.js","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","../../../../../node_modules/@floating-ui/react/package.json","../../../../../node_modules/@floating-ui/react/utils/floating-ui.react.utils.umd.js","../../../../../node_modules/@floating-ui/react/utils/package.json","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js","../../../../../node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js","../../../../../node_modules/@floating-ui/utils/dom/package.json","../../../../../node_modules/@floating-ui/utils/package.json","../../../../../node_modules/@redux-saga/core/dist/io-4fd99f47.js","../../../../../node_modules/@redux-saga/core/dist/io-59b8372c.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-core.dev.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-effects.dev.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-effects.prod.cjs.js","../../../../../node_modules/@redux-saga/core/effects/package.json","../../../../../node_modules/@redux-saga/core/package.json","../../../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../../../node_modules/@redux-saga/deferred/package.json","../../../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../../../node_modules/@redux-saga/delay-p/package.json","../../../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../../../node_modules/@redux-saga/is/package.json","../../../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../../../node_modules/@redux-saga/symbols/package.json","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/index.js","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.development.cjs","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.production.min.cjs","../../../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs","../../../../../node_modules/@reduxjs/toolkit/package.json","../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../node_modules/@swc/helpers/_/_interop_require_wildcard/package.json","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs","../../../../../node_modules/@swc/helpers/package.json","../../../../../node_modules/classnames/index.js","../../../../../node_modules/classnames/package.json","../../../../../node_modules/client-only/index.js","../../../../../node_modules/client-only/package.json","../../../../../node_modules/exenv/index.js","../../../../../node_modules/exenv/package.json","../../../../../node_modules/immer/dist/cjs/immer.cjs.development.js","../../../../../node_modules/immer/dist/cjs/immer.cjs.production.js","../../../../../node_modules/immer/dist/cjs/index.js","../../../../../node_modules/immer/dist/immer.mjs","../../../../../node_modules/immer/package.json","../../../../../node_modules/include-media-query-builder/build/buildMediaQuery.js","../../../../../node_modules/include-media-query-builder/build/buildParsedQuery.js","../../../../../node_modules/include-media-query-builder/build/constants.js","../../../../../node_modules/include-media-query-builder/build/index.js","../../../../../node_modules/include-media-query-builder/build/isOperator.js","../../../../../node_modules/include-media-query-builder/build/isSize.js","../../../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../../../node_modules/include-media-query-builder/build/types.js","../../../../../node_modules/include-media-query-builder/package.json","../../../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../../../node_modules/memoize-one/package.json","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/pages.runtime.prod.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/amp-context.shared-runtime.js","../../../../../node_modules/next/dist/shared/lib/amp-mode.js","../../../../../node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js","../../../../../node_modules/next/dist/shared/lib/head.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/side-effect.js","../../../../../node_modules/next/dist/shared/lib/utils/warn-once.js","../../../../../node_modules/next/head.js","../../../../../node_modules/next/package.json","../../../../../node_modules/object-assign/index.js","../../../../../node_modules/object-assign/package.json","../../../../../node_modules/prop-types/checkPropTypes.js","../../../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../../../node_modules/prop-types/index.js","../../../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../../../node_modules/prop-types/lib/has.js","../../../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../../../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../../../../../node_modules/prop-types/node_modules/react-is/index.js","../../../../../node_modules/prop-types/node_modules/react-is/package.json","../../../../../node_modules/prop-types/package.json","../../../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../../../node_modules/react-cool-onclickoutside/package.json","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.browser.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.browser.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.edge.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.edge.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.node.production.js","../../../../../node_modules/react-dom/cjs/react-dom.development.js","../../../../../node_modules/react-dom/cjs/react-dom.production.js","../../../../../node_modules/react-dom/index.js","../../../../../node_modules/react-dom/package.json","../../../../../node_modules/react-dom/server.browser.js","../../../../../node_modules/react-dom/server.edge.js","../../../../../node_modules/react-dom/server.js","../../../../../node_modules/react-dom/server.node.js","../../../../../node_modules/react-highlight-words/dist/main.js","../../../../../node_modules/react-highlight-words/package.json","../../../../../node_modules/react-lifecycles-compat/package.json","../../../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../../../node_modules/react-modal/lib/components/Modal.js","../../../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../../../node_modules/react-modal/lib/helpers/classList.js","../../../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../../../node_modules/react-modal/lib/index.js","../../../../../node_modules/react-modal/package.json","../../../../../node_modules/react-redux/dist/cjs/index.js","../../../../../node_modules/react-redux/dist/cjs/react-redux.development.cjs","../../../../../node_modules/react-redux/dist/cjs/react-redux.production.min.cjs","../../../../../node_modules/react-redux/dist/react-redux.mjs","../../../../../node_modules/react-redux/package.json","../../../../../node_modules/react-window/dist/index.cjs.js","../../../../../node_modules/react-window/package.json","../../../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../../../node_modules/react/cjs/react.development.js","../../../../../node_modules/react/cjs/react.production.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/jsx-runtime.js","../../../../../node_modules/react/package.json","../../../../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.cjs.js","../../../../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.cjs.js","../../../../../node_modules/redux-saga/effects/package.json","../../../../../node_modules/redux-saga/import-condition-proxy.mjs","../../../../../node_modules/redux-saga/package.json","../../../../../node_modules/redux-thunk/dist/cjs/redux-thunk.cjs","../../../../../node_modules/redux-thunk/dist/redux-thunk.mjs","../../../../../node_modules/redux-thunk/package.json","../../../../../node_modules/redux/dist/cjs/redux.cjs","../../../../../node_modules/redux/dist/redux.mjs","../../../../../node_modules/redux/package.json","../../../../../node_modules/reselect/dist/cjs/reselect.cjs","../../../../../node_modules/reselect/dist/reselect.mjs","../../../../../node_modules/reselect/package.json","../../../../../node_modules/store2/dist/store2.js","../../../../../node_modules/store2/package.json","../../../../../node_modules/styled-jsx/dist/index/index.js","../../../../../node_modules/styled-jsx/index.js","../../../../../node_modules/styled-jsx/package.json","../../../../../node_modules/tabbable/dist/index.js","../../../../../node_modules/tabbable/package.json","../../../../../node_modules/transliteration/dist/node/data/charmap.js","../../../../../node_modules/transliteration/dist/node/src/common/slugify.js","../../../../../node_modules/transliteration/dist/node/src/common/transliterate.js","../../../../../node_modules/transliteration/dist/node/src/common/utils.js","../../../../../node_modules/transliteration/dist/node/src/node/index.js","../../../../../node_modules/transliteration/package.json","../../../../../node_modules/use-debounce/dist/index.js","../../../../../node_modules/use-debounce/dist/index.mjs","../../../../../node_modules/use-debounce/package.json","../../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js","../../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js","../../../../../node_modules/use-sync-external-store/package.json","../../../../../node_modules/use-sync-external-store/with-selector.js","../../../../../node_modules/warning/package.json","../../../../../node_modules/warning/warning.js","../../../../../package.json","../../../../configs/build/games/index.js","../../../../configs/build/games/kelimelik.js","../../../../configs/build/games/literaki.js","../../../../configs/build/games/scrabble.js","../../../../configs/build/games/superScrabble.js","../../../../configs/build/getConfig.js","../../../../configs/build/hasConfig.js","../../../../configs/build/index.js","../../../../configs/build/languages/english.js","../../../../configs/build/languages/french.js","../../../../configs/build/languages/german.js","../../../../configs/build/languages/index.js","../../../../configs/build/languages/persian.js","../../../../configs/build/languages/polish.js","../../../../configs/build/languages/romanian.js","../../../../configs/build/languages/spanish.js","../../../../configs/build/languages/turkish.js","../../../../configs/package.json","../../../../constants/build/index.js","../../../../constants/package.json","../../../../types/build/Board.js","../../../../types/build/BoardJson.js","../../../../types/build/Bonus.js","../../../../types/build/Cell.js","../../../../types/build/CellJson.js","../../../../types/build/CharacterBonus.js","../../../../types/build/Config.js","../../../../types/build/FinalPattern.js","../../../../types/build/Game.js","../../../../types/build/HorizontalPattern.js","../../../../types/build/Locale.js","../../../../types/build/Pattern.js","../../../../types/build/Result.js","../../../../types/build/Tile.js","../../../../types/build/TileJson.js","../../../../types/build/VerticalPattern.js","../../../../types/build/WordBonus.js","../../../../types/build/WordDefinition.js","../../../../types/build/index.js","../../../../types/build/isError.js","../../../../types/build/isObject.js","../../../../types/package.json","../../../package.json","../../../src/i18n/languages/english.json","../../../src/i18n/languages/french.json","../../../src/i18n/languages/german.json","../../../src/i18n/languages/persian.json","../../../src/i18n/languages/polish.json","../../../src/i18n/languages/romanian.json","../../../src/i18n/languages/spanish.json","../../../src/i18n/languages/turkish.json","../../../src/pages/_app.tsx","../../package.json","../chunks/968.js","../chunks/974.js","../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../../../node_modules/@babel/runtime/helpers/extends.js","../../../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../../../node_modules/@babel/runtime/package.json","../../../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../../../node_modules/@floating-ui/core/package.json","../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../../../node_modules/@floating-ui/dom/package.json","../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../../../node_modules/@floating-ui/react-dom/package.json","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.umd.js","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","../../../../../node_modules/@floating-ui/react/package.json","../../../../../node_modules/@floating-ui/react/utils/floating-ui.react.utils.umd.js","../../../../../node_modules/@floating-ui/react/utils/package.json","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js","../../../../../node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js","../../../../../node_modules/@floating-ui/utils/dom/package.json","../../../../../node_modules/@floating-ui/utils/package.json","../../../../../node_modules/@redux-saga/core/dist/io-4fd99f47.js","../../../../../node_modules/@redux-saga/core/dist/io-59b8372c.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-core.dev.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-effects.dev.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-effects.prod.cjs.js","../../../../../node_modules/@redux-saga/core/effects/package.json","../../../../../node_modules/@redux-saga/core/package.json","../../../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../../../node_modules/@redux-saga/deferred/package.json","../../../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../../../node_modules/@redux-saga/delay-p/package.json","../../../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../../../node_modules/@redux-saga/is/package.json","../../../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../../../node_modules/@redux-saga/symbols/package.json","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/index.js","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.development.cjs","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.production.min.cjs","../../../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs","../../../../../node_modules/@reduxjs/toolkit/package.json","../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../node_modules/@swc/helpers/_/_interop_require_wildcard/package.json","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs","../../../../../node_modules/@swc/helpers/package.json","../../../../../node_modules/classnames/index.js","../../../../../node_modules/classnames/package.json","../../../../../node_modules/client-only/index.js","../../../../../node_modules/client-only/package.json","../../../../../node_modules/exenv/index.js","../../../../../node_modules/exenv/package.json","../../../../../node_modules/immer/dist/cjs/immer.cjs.development.js","../../../../../node_modules/immer/dist/cjs/immer.cjs.production.js","../../../../../node_modules/immer/dist/cjs/index.js","../../../../../node_modules/immer/dist/immer.mjs","../../../../../node_modules/immer/package.json","../../../../../node_modules/include-media-query-builder/build/buildMediaQuery.js","../../../../../node_modules/include-media-query-builder/build/buildParsedQuery.js","../../../../../node_modules/include-media-query-builder/build/constants.js","../../../../../node_modules/include-media-query-builder/build/index.js","../../../../../node_modules/include-media-query-builder/build/isOperator.js","../../../../../node_modules/include-media-query-builder/build/isSize.js","../../../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../../../node_modules/include-media-query-builder/build/types.js","../../../../../node_modules/include-media-query-builder/package.json","../../../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../../../node_modules/memoize-one/package.json","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/pages.runtime.prod.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/amp-context.shared-runtime.js","../../../../../node_modules/next/dist/shared/lib/amp-mode.js","../../../../../node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js","../../../../../node_modules/next/dist/shared/lib/head.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/side-effect.js","../../../../../node_modules/next/dist/shared/lib/utils/warn-once.js","../../../../../node_modules/next/head.js","../../../../../node_modules/next/package.json","../../../../../node_modules/object-assign/index.js","../../../../../node_modules/object-assign/package.json","../../../../../node_modules/prop-types/checkPropTypes.js","../../../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../../../node_modules/prop-types/index.js","../../../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../../../node_modules/prop-types/lib/has.js","../../../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../../../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../../../../../node_modules/prop-types/node_modules/react-is/index.js","../../../../../node_modules/prop-types/node_modules/react-is/package.json","../../../../../node_modules/prop-types/package.json","../../../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../../../node_modules/react-cool-onclickoutside/package.json","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.browser.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.browser.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.edge.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.edge.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.node.production.js","../../../../../node_modules/react-dom/cjs/react-dom.development.js","../../../../../node_modules/react-dom/cjs/react-dom.production.js","../../../../../node_modules/react-dom/index.js","../../../../../node_modules/react-dom/package.json","../../../../../node_modules/react-dom/server.browser.js","../../../../../node_modules/react-dom/server.edge.js","../../../../../node_modules/react-dom/server.js","../../../../../node_modules/react-dom/server.node.js","../../../../../node_modules/react-highlight-words/dist/main.js","../../../../../node_modules/react-highlight-words/package.json","../../../../../node_modules/react-lifecycles-compat/package.json","../../../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../../../node_modules/react-modal/lib/components/Modal.js","../../../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../../../node_modules/react-modal/lib/helpers/classList.js","../../../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../../../node_modules/react-modal/lib/index.js","../../../../../node_modules/react-modal/package.json","../../../../../node_modules/react-redux/dist/cjs/index.js","../../../../../node_modules/react-redux/dist/cjs/react-redux.development.cjs","../../../../../node_modules/react-redux/dist/cjs/react-redux.production.min.cjs","../../../../../node_modules/react-redux/dist/react-redux.mjs","../../../../../node_modules/react-redux/package.json","../../../../../node_modules/react-window/dist/index.cjs.js","../../../../../node_modules/react-window/package.json","../../../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../../../node_modules/react/cjs/react.development.js","../../../../../node_modules/react/cjs/react.production.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/jsx-runtime.js","../../../../../node_modules/react/package.json","../../../../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.cjs.js","../../../../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.cjs.js","../../../../../node_modules/redux-saga/effects/package.json","../../../../../node_modules/redux-saga/import-condition-proxy.mjs","../../../../../node_modules/redux-saga/package.json","../../../../../node_modules/redux-thunk/dist/cjs/redux-thunk.cjs","../../../../../node_modules/redux-thunk/dist/redux-thunk.mjs","../../../../../node_modules/redux-thunk/package.json","../../../../../node_modules/redux/dist/cjs/redux.cjs","../../../../../node_modules/redux/dist/redux.mjs","../../../../../node_modules/redux/package.json","../../../../../node_modules/reselect/dist/cjs/reselect.cjs","../../../../../node_modules/reselect/dist/reselect.mjs","../../../../../node_modules/reselect/package.json","../../../../../node_modules/store2/dist/store2.js","../../../../../node_modules/store2/package.json","../../../../../node_modules/styled-jsx/dist/index/index.js","../../../../../node_modules/styled-jsx/index.js","../../../../../node_modules/styled-jsx/package.json","../../../../../node_modules/tabbable/dist/index.js","../../../../../node_modules/tabbable/package.json","../../../../../node_modules/transliteration/dist/node/data/charmap.js","../../../../../node_modules/transliteration/dist/node/src/common/slugify.js","../../../../../node_modules/transliteration/dist/node/src/common/transliterate.js","../../../../../node_modules/transliteration/dist/node/src/common/utils.js","../../../../../node_modules/transliteration/dist/node/src/node/index.js","../../../../../node_modules/transliteration/package.json","../../../../../node_modules/use-debounce/dist/index.js","../../../../../node_modules/use-debounce/dist/index.mjs","../../../../../node_modules/use-debounce/package.json","../../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js","../../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js","../../../../../node_modules/use-sync-external-store/package.json","../../../../../node_modules/use-sync-external-store/with-selector.js","../../../../../node_modules/warning/package.json","../../../../../node_modules/warning/warning.js","../../../../../package.json","../../../../configs/build/games/index.js","../../../../configs/build/games/kelimelik.js","../../../../configs/build/games/letterLeague.js","../../../../configs/build/games/literaki.js","../../../../configs/build/games/scrabble.js","../../../../configs/build/games/scrabbleDuel.js","../../../../configs/build/games/superScrabble.js","../../../../configs/build/getConfig.js","../../../../configs/build/hasConfig.js","../../../../configs/build/index.js","../../../../configs/build/languages/english.js","../../../../configs/build/languages/french.js","../../../../configs/build/languages/german.js","../../../../configs/build/languages/index.js","../../../../configs/build/languages/persian.js","../../../../configs/build/languages/polish.js","../../../../configs/build/languages/romanian.js","../../../../configs/build/languages/spanish.js","../../../../configs/build/languages/turkish.js","../../../../configs/package.json","../../../../constants/build/index.js","../../../../constants/package.json","../../../../types/build/Bingo.js","../../../../types/build/Board.js","../../../../types/build/BoardJson.js","../../../../types/build/Bonus.js","../../../../types/build/Cell.js","../../../../types/build/CellJson.js","../../../../types/build/CharacterBonus.js","../../../../types/build/Config.js","../../../../types/build/FinalPattern.js","../../../../types/build/Game.js","../../../../types/build/HorizontalPattern.js","../../../../types/build/Locale.js","../../../../types/build/Pattern.js","../../../../types/build/Result.js","../../../../types/build/Tile.js","../../../../types/build/TileJson.js","../../../../types/build/VerticalPattern.js","../../../../types/build/WordBonus.js","../../../../types/build/WordDefinition.js","../../../../types/build/index.js","../../../../types/build/isError.js","../../../../types/build/isObject.js","../../../../types/package.json","../../../package.json","../../../src/i18n/languages/english.json","../../../src/i18n/languages/french.json","../../../src/i18n/languages/german.json","../../../src/i18n/languages/persian.json","../../../src/i18n/languages/polish.json","../../../src/i18n/languages/romanian.json","../../../src/i18n/languages/spanish.json","../../../src/i18n/languages/turkish.json","../../../src/pages/_app.tsx","../../package.json","../chunks/968.js","../chunks/974.js","../webpack-runtime.js"]}
@@ -1,2 +1,2 @@
1
- "use strict";(()=>{var e={};e.id=887,e.ids=[887],e.modules={358:function(e,r,t){var o=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var a=Object.getOwnPropertyDescriptor(r,t);(!a||("get"in a?!r.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,a)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),a=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||o(r,e,t)};Object.defineProperty(r,"__esModule",{value:!0}),a(t(7531),r),a(t(9121),r),a(t(4238),r),a(t(6654),r),a(t(1931),r)},838:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},1097:e=>{e.exports=require("follow-redirects")},1820:e=>{e.exports=require("os")},1931:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=void 0;let o=t(9562),a=t(4238),i=t(6654),n={[o.Locale.DE_DE]:a.german.parse,[o.Locale.EN_GB]:a.english.parse,[o.Locale.EN_US]:a.english.parse,[o.Locale.ES_ES]:a.spanish.parse,[o.Locale.FA_IR]:a.persian.parse,[o.Locale.FR_FR]:a.french.parse,[o.Locale.PL_PL]:a.polish.parse,[o.Locale.RO_RO]:a.romanian.parse,[o.Locale.TR_TR]:a.turkish.parse};r.parse=(e,r)=>{let{definitions:t,exists:o}=n[e](r);return{definitions:(0,i.unique)(t.map(i.normalizeDefinition).filter(Boolean)),exists:o}}},2029:e=>{e.exports=require("unzipper")},2642:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(6654);r.crawl=e=>(0,o.request)({protocol:"https",hostname:"sozluk.gov.tr",path:`/gts?ara=${encodeURIComponent(e)}`,headers:{"content-type":"text/json"}}),r.parse=e=>{let r=JSON.parse(e);if(r.error)return{definitions:[],exists:!1};let[t]=r,o=t.anlamlarListe.map(e=>e.anlam.replace("►","").trim());return{definitions:o,exists:o.length>0}}},2795:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"dexonline.ro",path:`/definitie/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e),t=r(".tab-pane.show.active");r(".type-example").remove();let a=t.find("li.type-meaning.depth-0 > .meaningContainer .def.html");a.find(".meaningTree").remove();let i=Array.from(a).map(e=>r(e).text().replace(/\n/g,""));return{definitions:i,exists:i.length>0}}},3393:(e,r,t)=>{t.r(r),t.d(r,{config:()=>_,default:()=>v,routeModule:()=>b});var o={};t.r(o),t.d(o,{default:()=>w});var a=t(4409),i=t(4600),n=t(6440),l=t(6812),s=t(4474),c=t(7715),p=t(7519),d=t.n(p),u=t(9562),f=t(358),m=t(184);let h=Object.values(l.games).reduce((e,r)=>Math.max(e,r.rackSize),0)+1,g=e=>{let{locale:r,word:t}=e.query;if(!(0,u.isLocale)(r))throw Error('Invalid "locale" parameter');if("string"!=typeof t||0===t.length)throw Error('Invalid "word" parameter');let o=Array.from(new Set(t.replaceAll(s.COMMA_ARABIC,s.COMMA_LATIN).split(s.COMMA_LATIN).map(e=>e.trim()).filter(Boolean)));if(o.length>h)throw Error('Invalid "word" parameter');return{locale:r,words:o}},w=async(e,r)=>{let t=(0,m.A)(e);try{let{locale:o,words:a}=g(e);d().info("dictionary - request",{meta:t,payload:{locale:o,words:a}});let i=await c.dictionaries.get(o),n=await Promise.all(a.map(e=>(0,f.getWordDefinition)(o,e,i.has(e))));r.status(200).send(n.map(e=>e.toJson()))}catch(o){let e=o instanceof Error?o.message:"Unknown error";d().error("dictionary - error",{error:o,meta:t}),r.status(500).send({error:"Server error",message:e})}},v=(0,n.M)(o,"default"),_=(0,n.M)(o,"config"),b=new a.PagesAPIRouteModule({definition:{kind:i.A.PAGES_API,page:"/api/dictionary/[locale]/[word]",pathname:"/api/dictionary/[locale]/[word]",bundlePath:"",filename:""},userland:o})},4133:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"sjp.pl",path:`/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e),t=r(r("h1")[0]),a=t.next();return{definitions:t.next().next().next().next().text().trim().split(/\d+\./),exists:a.text().trim().indexOf("dopuszczalne w grach")>=0}}},4217:e=>{e.exports=require("cheerio")},4238:function(e,r,t){var o,a=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var a=Object.getOwnPropertyDescriptor(r,t);(!a||("get"in a?!r.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,a)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),i=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),n=this&&this.__importStar||(o=function(e){return(o=Object.getOwnPropertyNames||function(e){var r=[];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r})(e)},function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t=o(e),n=0;n<t.length;n++)"default"!==t[n]&&a(r,e,t[n]);return i(r,e),r});Object.defineProperty(r,"__esModule",{value:!0}),r.turkish=r.spanish=r.romanian=r.polish=r.persian=r.french=r.german=r.english=void 0,r.english=n(t(7154)),r.german=n(t(4776)),r.french=n(t(5634)),r.persian=n(t(4494)),r.polish=n(t(4133)),r.romanian=n(t(2795)),r.spanish=n(t(4370)),r.turkish=n(t(2642))},4370:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"www.diccionarios.com",path:`/diccionario/espanol/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e);return r(".verdBold14 + .gris11 + .gris13").remove(),r("br + .gris13").remove(),r(".grisItalic13 + .gris13").remove(),r('font[class^="verd"]').remove(),r("font.gris11").remove(),r('font[class^="grisBold"]').remove(),r('font[class^="grisItalic"]').remove(),Array.from(r(".gris13")).forEach(e=>{let t=r(e).find(".gris13");t&&t.length>0&&t.remove()}),{definitions:Array.from(r(".dcom-search-result .gris13")).map(e=>r(e).text().trim()).filter(Boolean).map(e=>e.replace(/\s+\.$/g,"")).map(e=>e.endsWith(".")?e:`${e}.`),exists:"No se ha encontrado la palabra exacta"!==r(".wrapper > p > strong").text()}}},4494:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"www.vajehyab.com",path:`/moein/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e);return{definitions:Array.from(r("[itemprop=articleBody]")).map(e=>r(e).text()),exists:"404 Page Not Found"!==r("#container h1").text()}}},4776:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"www.dwds.de",path:`/wb/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e);return{definitions:[i,l,n].reduce((e,t)=>0===e.length?t(r):e,[]),exists:Array.from(r(".label-danger")).every(e=>"Hinweis"!==r(e).text())}};let i=e=>(Array.from(e(".bedeutungsuebersicht ol > li > a")).forEach(r=>{e(r).text(e(r).text().replace(/\n/g,""))}),Array.from(e(".bedeutungsuebersicht ol > li > ol > li")).forEach(r=>{let t=`
2
- ${e(r).text().replace(/\n/g,"")}`,o=e(`<div>${t}</div>`);e(r).replaceWith(o)}),Array.from(e(".bedeutungsuebersicht ol > li > ol")).forEach(r=>{let t=e(r),o=t.html()||"",a=e(`<div>${o}</div>`),i=t.prev("a");i?(i.append(a),e(r).remove()):e(r).replaceWith(a)}),s(e,e(".bedeutungsuebersicht ol > li"))),n=e=>s(e,e(".dwdswb-lesart .dwdswb-definition-spezifizierung")),l=e=>{let r=s(e,e(".dwdswb-lesart .dwdswb-definition"));return r.length>0?r:Array.from(e(".dwdswb-lesart .dwdswb-verweis")).reduce((r,t)=>{let o=e(t.attribs["data-content"]||"<span />").text().split(";").map(e=>e.trim());return r.concat(o)},[])},s=(e,r)=>Array.from(r).map(r=>e(r).text().replace(/[ ]+/g," ").replace(/[ ]\n/g,"\n").replace(/^[0-9]+\.\s/g,""))},4871:e=>{e.exports=require("striptags")},5124:e=>{e.exports=require("winston")},5511:e=>{e.exports=require("crypto")},5634:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"www.cnrtl.fr",path:`/definition/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e);return{definitions:Array.from(r(".tlf_cdefinition")).map(e=>r(e).text()),exists:r("#vitemselected span").length>0}}},6605:e=>{e.exports=require("transliteration")},6613:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.request=void 0;let o=t(1097);r.request=({protocol:e,...r})=>{let t="https"===e?o.https:o.http;return new Promise((e,o)=>t.get(r,r=>{let t="";r.setEncoding("utf8"),r.on("data",e=>{t+=e}),r.on("end",()=>{try{e(t)}catch(e){o(e)}})}).on("error",o))}},6654:function(e,r,t){var o=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var a=Object.getOwnPropertyDescriptor(r,t);(!a||("get"in a?!r.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,a)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),a=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||o(r,e,t)};Object.defineProperty(r,"__esModule",{value:!0}),a(t(7804),r),a(t(6613),r),a(t(7963),r)},7154:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"www.merriam-webster.com",path:`/dictionary/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e);return r("strong.mw_t_bc").replaceWith(", "),r(".text-lowercase").remove(),r(".sub-content-thread").remove(),{definitions:Array.from(r("[id^=dictionary-entry]").find(".dtText, .cxl-ref")).map(e=>r(e).text().replace(/\n/g,"")),exists:"The word you've entered isn't in the dictionary. Click on a spelling suggestion below or try again using the search bar above."!==r(".spelling-suggestion-text").text().trim()}}},7531:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.crawl=void 0;let o=t(9562),a=t(4238),i={[o.Locale.DE_DE]:a.german.crawl,[o.Locale.EN_GB]:a.english.crawl,[o.Locale.EN_US]:a.english.crawl,[o.Locale.ES_ES]:a.spanish.crawl,[o.Locale.FA_IR]:a.persian.crawl,[o.Locale.FR_FR]:a.french.crawl,[o.Locale.PL_PL]:a.polish.crawl,[o.Locale.RO_RO]:a.romanian.crawl,[o.Locale.TR_TR]:a.turkish.crawl};r.crawl=(e,r)=>i[e](r)},7804:function(e,r,t){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.normalizeDefinition=void 0;let a=o(t(4871)),i=["a","b","em","internalXref"],n=[e=>(0,a.default)((0,a.default)(e,i),void 0,'"'),e=>e.replace(/^\(\d+\.\d+\)\s+/g,""),e=>e.replace(/\."/g,'".'),e=>e.replace(/\r\n/g,"\n"),e=>e.replace(/[^\S\n ]+/g," ").replace(/[ ]+/g," "),e=>e.trim().replace(/:$/,""),e=>e.trim().replace(/^:/,""),e=>/[\w\u0621-\u064A]+/.test(e)?e:"",e=>e.replace(/\s+,\s+/g,", ").replace(/^,/,"").replace(/,$/,""),e=>e.trim()];r.normalizeDefinition=e=>{let t=n.reduce((e,r)=>r(e),e);return t!==e?(0,r.normalizeDefinition)(t):t}},7963:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.unique=void 0,r.unique=e=>Array.from(new Set(e))},9021:e=>{e.exports=require("fs")},9121:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getWordDefinition=void 0;let o=t(9562),a=t(7531),i=t(1931);r.getWordDefinition=async(e,r,t)=>{let n=await (0,a.crawl)(e,r),{definitions:l,exists:s}=(0,i.parse)(e,n);return new o.WordDefinition({definitions:l,exists:s,isAllowed:t,word:r})}},9362:e=>{e.exports=require("@kamilmielnik/trie")},9551:e=>{e.exports=require("url")},9902:e=>{e.exports=require("path")}};var r=require("../../../../webpack-api-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[60,812],()=>t(3393));module.exports=o})();
1
+ "use strict";(()=>{var e={};e.id=887,e.ids=[887],e.modules={358:function(e,r,t){var o=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var a=Object.getOwnPropertyDescriptor(r,t);(!a||("get"in a?!r.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,a)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),a=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||o(r,e,t)};Object.defineProperty(r,"__esModule",{value:!0}),a(t(7531),r),a(t(9121),r),a(t(4238),r),a(t(6654),r),a(t(1931),r)},838:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},1097:e=>{e.exports=require("follow-redirects")},1820:e=>{e.exports=require("os")},1931:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=void 0;let o=t(9562),a=t(4238),i=t(6654),n={[o.Locale.DE_DE]:a.german.parse,[o.Locale.EN_GB]:a.english.parse,[o.Locale.EN_US]:a.english.parse,[o.Locale.ES_ES]:a.spanish.parse,[o.Locale.FA_IR]:a.persian.parse,[o.Locale.FR_FR]:a.french.parse,[o.Locale.PL_PL]:a.polish.parse,[o.Locale.RO_RO]:a.romanian.parse,[o.Locale.TR_TR]:a.turkish.parse};r.parse=(e,r)=>{let{definitions:t,exists:o}=n[e](r);return{definitions:(0,i.unique)(t.map(i.normalizeDefinition).filter(Boolean)),exists:o}}},2029:e=>{e.exports=require("unzipper")},2642:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(6654);r.crawl=e=>(0,o.request)({protocol:"https",hostname:"sozluk.gov.tr",path:`/gts?ara=${encodeURIComponent(e)}`,headers:{"content-type":"text/json"}}),r.parse=e=>{let r=JSON.parse(e);if(!Array.isArray(r)||"error"in r&&r.error)return{definitions:[],exists:!1};let[t]=r,o=t.anlamlarListe.map(e=>e.anlam.replace("►","").trim());return{definitions:o,exists:o.length>0}}},2795:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"dexonline.ro",path:`/definitie/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e),t=r(".tab-pane.show.active");r(".type-example").remove();let a=t.find("li.type-meaning.depth-0 > .meaningContainer .def.html");a.find(".meaningTree").remove();let i=Array.from(a).map(e=>r(e).text().replace(/\n/g,""));return{definitions:i,exists:i.length>0}}},3393:(e,r,t)=>{t.r(r),t.d(r,{config:()=>v,default:()=>w,routeModule:()=>_});var o={};t.r(o),t.d(o,{default:()=>g});var a=t(4409),i=t(4600),n=t(6440),l=t(6812),s=t(4474),c=t(7715),p=t(7519),d=t(9562),u=t(358),f=t(184);let m=Object.values(l.games).reduce((e,r)=>Math.max(e,r.rackSize),0)+1,h=e=>{let{locale:r,word:t}=e.query;if(!(0,d.isLocale)(r))throw Error('Invalid "locale" parameter');if("string"!=typeof t||0===t.length)throw Error('Invalid "word" parameter');let o=Array.from(new Set(t.replaceAll(s.COMMA_ARABIC,s.COMMA_LATIN).split(s.COMMA_LATIN).map(e=>e.trim()).filter(Boolean)));if(o.length>m)throw Error('Invalid "word" parameter');return{locale:r,words:o}},g=async(e,r)=>{let t=(0,f.T)(e);try{let{locale:o,words:a}=h(e);p.logger.info("dictionary - request",{meta:t,payload:{locale:o,words:a}});let i=await c.dictionaries.get(o),n=await Promise.all(a.map(e=>(0,u.getWordDefinition)(o,e,i.has(e))));r.status(200).send(n.map(e=>e.toJson()))}catch(o){let e=o instanceof Error?o.message:"Unknown error";p.logger.error("dictionary - error",{error:o,meta:t}),r.status(500).send({error:"Server error",message:e})}},w=(0,n.M)(o,"default"),v=(0,n.M)(o,"config"),_=new a.PagesAPIRouteModule({definition:{kind:i.A.PAGES_API,page:"/api/dictionary/[locale]/[word]",pathname:"/api/dictionary/[locale]/[word]",bundlePath:"",filename:""},userland:o})},4133:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"sjp.pl",path:`/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e),t=r(r("h1")[0]),a=t.next();return{definitions:t.next().next().next().next().text().trim().split(/\d+\./),exists:a.text().trim().indexOf("dopuszczalne w grach")>=0}}},4217:e=>{e.exports=require("cheerio")},4238:function(e,r,t){var o,a=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var a=Object.getOwnPropertyDescriptor(r,t);(!a||("get"in a?!r.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,a)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),i=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),n=this&&this.__importStar||(o=function(e){return(o=Object.getOwnPropertyNames||function(e){var r=[];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r})(e)},function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t=o(e),n=0;n<t.length;n++)"default"!==t[n]&&a(r,e,t[n]);return i(r,e),r});Object.defineProperty(r,"__esModule",{value:!0}),r.turkish=r.spanish=r.romanian=r.polish=r.persian=r.french=r.german=r.english=void 0,r.english=n(t(7154)),r.german=n(t(4776)),r.french=n(t(5634)),r.persian=n(t(4494)),r.polish=n(t(4133)),r.romanian=n(t(2795)),r.spanish=n(t(4370)),r.turkish=n(t(2642))},4370:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"www.diccionarios.com",path:`/diccionario/espanol/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e);return r(".verdBold14 + .gris11 + .gris13").remove(),r("br + .gris13").remove(),r(".grisItalic13 + .gris13").remove(),r('font[class^="verd"]').remove(),r("font.gris11").remove(),r('font[class^="grisBold"]').remove(),r('font[class^="grisItalic"]').remove(),Array.from(r(".gris13")).forEach(e=>{let t=r(e).find(".gris13");t&&t.length>0&&t.remove()}),{definitions:Array.from(r(".dcom-search-result .gris13")).map(e=>r(e).text().trim()).filter(Boolean).map(e=>e.replace(/\s+\.$/g,"")).map(e=>e.endsWith(".")?e:`${e}.`),exists:"No se ha encontrado la palabra exacta"!==r(".wrapper > p > strong").text()}}},4494:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"www.vajehyab.com",path:`/moein/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e);return{definitions:Array.from(r("[itemprop=articleBody]")).map(e=>r(e).text()),exists:"404 Page Not Found"!==r("#container h1").text()}}},4776:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"www.dwds.de",path:`/wb/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e);return{definitions:[i,l,n].reduce((e,t)=>0===e.length?t(r):e,[]),exists:Array.from(r(".label-danger")).every(e=>"Hinweis"!==r(e).text())}};let i=e=>(Array.from(e(".bedeutungsuebersicht ol > li > a")).forEach(r=>{e(r).text(e(r).text().replace(/\n/g,""))}),Array.from(e(".bedeutungsuebersicht ol > li > ol > li")).forEach(r=>{let t=`
2
+ ${e(r).text().replace(/\n/g,"")}`,o=e(`<div>${t}</div>`);e(r).replaceWith(o)}),Array.from(e(".bedeutungsuebersicht ol > li > ol")).forEach(r=>{let t=e(r),o=t.html()||"",a=e(`<div>${o}</div>`),i=t.prev("a");i?(i.append(a),e(r).remove()):e(r).replaceWith(a)}),s(e,e(".bedeutungsuebersicht ol > li"))),n=e=>s(e,e(".dwdswb-lesart .dwdswb-definition-spezifizierung")),l=e=>{let r=s(e,e(".dwdswb-lesart .dwdswb-definition"));return r.length>0?r:Array.from(e(".dwdswb-lesart .dwdswb-verweis")).reduce((r,t)=>{let o=e(t.attribs["data-content"]||"<span />").text().split(";").map(e=>e.trim());return r.concat(o)},[])},s=(e,r)=>Array.from(r).map(r=>e(r).text().replace(/[ ]+/g," ").replace(/[ ]\n/g,"\n").replace(/^[0-9]+\.\s/g,""))},4871:e=>{e.exports=require("striptags")},5124:e=>{e.exports=require("winston")},5511:e=>{e.exports=require("crypto")},5634:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"www.cnrtl.fr",path:`/definition/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e);return{definitions:Array.from(r(".tlf_cdefinition")).map(e=>r(e).text()),exists:r("#vitemselected span").length>0}}},6605:e=>{e.exports=require("transliteration")},6613:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.request=void 0;let o=t(9562),a=t(1097);r.request=({protocol:e,...r})=>{let t="https"===e?a.https:a.http;return new Promise((e,a)=>t.get(r,r=>{let t="";r.setEncoding("utf8"),r.on("data",e=>{t+=e}),r.on("end",()=>{try{e(t)}catch(e){a((0,o.isError)(e)?e:Error(String(e)))}})}).on("error",a))}},6654:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.unique=r.request=r.normalizeDefinition=void 0;var o=t(7804);Object.defineProperty(r,"normalizeDefinition",{enumerable:!0,get:function(){return o.normalizeDefinition}});var a=t(6613);Object.defineProperty(r,"request",{enumerable:!0,get:function(){return a.request}});var i=t(7963);Object.defineProperty(r,"unique",{enumerable:!0,get:function(){return i.unique}})},7154:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.parse=r.crawl=void 0;let o=t(4217),a=t(6654);r.crawl=e=>(0,a.request)({protocol:"https",hostname:"www.merriam-webster.com",path:`/dictionary/${encodeURIComponent(e)}`}),r.parse=e=>{let r=(0,o.load)(e);return r("strong.mw_t_bc").replaceWith(", "),r(".text-lowercase").remove(),r(".sub-content-thread").remove(),{definitions:Array.from(r("[id^=dictionary-entry]").find(".dtText, .cxl-ref")).map(e=>r(e).text().replace(/\n/g,"")),exists:"The word you've entered isn't in the dictionary. Click on a spelling suggestion below or try again using the search bar above."!==r(".spelling-suggestion-text").text().trim()}}},7531:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.crawl=void 0;let o=t(9562),a=t(4238),i={[o.Locale.DE_DE]:a.german.crawl,[o.Locale.EN_GB]:a.english.crawl,[o.Locale.EN_US]:a.english.crawl,[o.Locale.ES_ES]:a.spanish.crawl,[o.Locale.FA_IR]:a.persian.crawl,[o.Locale.FR_FR]:a.french.crawl,[o.Locale.PL_PL]:a.polish.crawl,[o.Locale.RO_RO]:a.romanian.crawl,[o.Locale.TR_TR]:a.turkish.crawl};r.crawl=(e,r)=>i[e](r)},7804:function(e,r,t){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.normalizeDefinition=void 0;let a=o(t(4871)),i=["a","b","em","internalXref"],n=[e=>(0,a.default)((0,a.default)(e,i),void 0,'"'),e=>e.replace(/^\(\d+\.\d+\)\s+/g,""),e=>e.replace(/\."/g,'".'),e=>e.replace(/\r\n/g,"\n"),e=>e.replace(/[^\S\n ]+/g," ").replace(/[ ]+/g," "),e=>e.trim().replace(/:$/,""),e=>e.trim().replace(/^:/,""),e=>/[\w\u0621-\u064A]+/.test(e)?e:"",e=>e.replace(/\s+,\s+/g,", ").replace(/^,/,"").replace(/,$/,""),e=>e.trim()];r.normalizeDefinition=e=>{let t=n.reduce((e,r)=>r(e),e);return t!==e?(0,r.normalizeDefinition)(t):t}},7963:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.unique=void 0,r.unique=e=>Array.from(new Set(e))},9021:e=>{e.exports=require("fs")},9121:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getWordDefinition=void 0;let o=t(9562),a=t(7531),i=t(1931);r.getWordDefinition=async(e,r,t)=>{let n=await (0,a.crawl)(e,r),{definitions:l,exists:s}=(0,i.parse)(e,n);return new o.WordDefinition({definitions:l,exists:s,isAllowed:t,word:r})}},9362:e=>{e.exports=require("@kamilmielnik/trie")},9551:e=>{e.exports=require("url")},9902:e=>{e.exports=require("path")}};var r=require("../../../../webpack-api-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[60,812],()=>t(3393));module.exports=o})();