@scrabble-solver/scrabble-solver 2.12.2 → 2.12.3

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 (85) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +6 -6
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/eslint/.cache_8dgz12 +1 -1
  5. package/.next/cache/next-server.js.nft.json +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +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/server-production/0.pack +0 -0
  11. package/.next/cache/webpack/server-production/index.pack +0 -0
  12. package/.next/next-server.js.nft.json +1 -1
  13. package/.next/prerender-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/131.js +478 -106
  16. package/.next/server/chunks/277.js +1132 -976
  17. package/.next/server/chunks/44.js +36 -6
  18. package/.next/server/chunks/865.js +478 -106
  19. package/.next/server/chunks/911.js +894 -773
  20. package/.next/server/middleware-build-manifest.js +1 -1
  21. package/.next/server/pages/404.html +1 -1
  22. package/.next/server/pages/404.js.nft.json +1 -1
  23. package/.next/server/pages/500.html +1 -1
  24. package/.next/server/pages/_app.js +3 -1
  25. package/.next/server/pages/_app.js.nft.json +1 -1
  26. package/.next/server/pages/api/dictionary/[locale]/[word].js +4 -2
  27. package/.next/server/pages/api/solve.js +23 -19
  28. package/.next/server/pages/api/verify.js +8 -5
  29. package/.next/server/pages/index.html +1 -1
  30. package/.next/server/pages/index.js +42 -55
  31. package/.next/server/pages/index.js.nft.json +1 -1
  32. package/.next/server/pages/index.json +1 -1
  33. package/.next/server/pages-manifest.json +1 -1
  34. package/.next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js +32 -0
  35. package/.next/static/chunks/pages/index-82b2939158c7729f.js +1 -0
  36. package/.next/static/css/4e8b47fe382a8a8f.css +2 -0
  37. package/.next/static/css/cfae5256f1689f57.css +1 -0
  38. package/.next/static/{9dmPfnTc_AQTHBPvL7xQe → wNIKOJJzkMSJYb2nOL21o}/_buildManifest.js +1 -1
  39. package/.next/trace +51 -52
  40. package/package.json +9 -9
  41. package/src/components/Board/components/Cell/Cell.module.scss +4 -12
  42. package/src/components/Board/components/Cell/Cell.tsx +4 -0
  43. package/src/components/Board/hooks/useBackgroundImage.tsx +23 -0
  44. package/src/components/PlainTiles/lib/createPlainTile.ts +4 -4
  45. package/src/components/Radio/Radio.module.scss +4 -0
  46. package/src/components/Radio/Radio.tsx +1 -0
  47. package/src/components/SeoMessage/SeoMessage.tsx +3 -3
  48. package/src/hooks/useAppLayout.ts +1 -2
  49. package/src/hooks/useLocalStorage.ts +5 -5
  50. package/src/i18n/constants.ts +31 -61
  51. package/src/lib/extractCharacters.test.ts +3 -3
  52. package/src/lib/extractCharactersByCase.test.ts +3 -3
  53. package/src/lib/getCellSize.ts +2 -2
  54. package/src/modals/MenuModal/MenuModal.module.scss +0 -1
  55. package/src/modals/MenuModal/MenuModal.tsx +3 -3
  56. package/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +16 -7
  57. package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +1 -4
  58. package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +8 -8
  59. package/src/pages/_app.tsx +3 -1
  60. package/src/pages/api/dictionary/[locale]/[word].ts +6 -3
  61. package/src/pages/api/solve.ts +11 -7
  62. package/src/pages/api/verify.ts +11 -7
  63. package/src/pages/index.module.scss +0 -1
  64. package/src/parameters/index.ts +4 -6
  65. package/src/sdk/solve.ts +3 -3
  66. package/src/sdk/verify.ts +3 -3
  67. package/src/service-worker/routeSolveRequests.ts +3 -3
  68. package/src/state/localStorage.ts +6 -6
  69. package/src/state/sagas.ts +18 -7
  70. package/src/state/selectors.ts +3 -3
  71. package/src/state/slices/boardInitialState.ts +3 -3
  72. package/src/state/slices/boardSlice.ts +20 -6
  73. package/src/state/slices/settingsInitialState.ts +3 -4
  74. package/src/state/slices/settingsSlice.ts +5 -5
  75. package/src/styles/variables.scss +0 -9
  76. package/.next/static/chunks/pages/_app-02851b06b95b19cb.js +0 -32
  77. package/.next/static/chunks/pages/index-0ba5607d1aad8a09.js +0 -1
  78. package/.next/static/css/09dfdea53eba31a9.css +0 -2
  79. package/.next/static/css/60e8258da7362a1a.css +0 -1
  80. package/src/i18n/i18n.module.scss +0 -27
  81. package/src/modals/SettingsModal/components/ConfigSetting/options.ts +0 -19
  82. package/src/modals/SettingsModal/components/ConfigSetting/types.ts +0 -9
  83. package/src/modals/SettingsModal/components/InputModeSetting/types.ts +0 -7
  84. package/src/modals/SettingsModal/components/LocaleSetting/types.ts +0 -9
  85. /package/.next/static/{9dmPfnTc_AQTHBPvL7xQe → wNIKOJJzkMSJYb2nOL21o}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-c67a75d1b6f99dc8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/9dmPfnTc_AQTHBPvL7xQe/_buildManifest.js","static/9dmPfnTc_AQTHBPvL7xQe/_ssgManifest.js"],rootMainFiles:[],pages:{"/":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/css/60e8258da7362a1a.css","static/chunks/pages/index-0ba5607d1aad8a09.js"],"/404":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/chunks/pages/404-b4b5ce15153d4825.js"],"/_app":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/css/09dfdea53eba31a9.css","static/chunks/pages/_app-02851b06b95b19cb.js"],"/_error":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/chunks/pages/_error-54de1933a164a1ff.js"]},ampFirstPages:[]};
1
+ self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-c67a75d1b6f99dc8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/wNIKOJJzkMSJYb2nOL21o/_buildManifest.js","static/wNIKOJJzkMSJYb2nOL21o/_ssgManifest.js"],rootMainFiles:[],pages:{"/":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/css/cfae5256f1689f57.css","static/chunks/pages/index-82b2939158c7729f.js"],"/404":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/chunks/pages/404-b4b5ce15153d4825.js"],"/_app":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/css/4e8b47fe382a8a8f.css","static/chunks/pages/_app-e7f3d1c9c09c8f91.js"],"/_error":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/chunks/pages/_error-54de1933a164a1ff.js"]},ampFirstPages:[]};
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="next-head-count" content="15"/><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/09dfdea53eba31a9.css" as="style"/><link rel="stylesheet" href="/_next/static/css/09dfdea53eba31a9.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer=""></script><script src="/_next/static/chunks/framework-2c29dc3cd933590b.js" defer=""></script><script src="/_next/static/chunks/main-4dcb7f9b52833aba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-02851b06b95b19cb.js" defer=""></script><script src="/_next/static/chunks/pages/404-b4b5ce15153d4825.js" defer=""></script><script src="/_next/static/9dmPfnTc_AQTHBPvL7xQe/_buildManifest.js" defer=""></script><script src="/_next/static/9dmPfnTc_AQTHBPvL7xQe/_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 and 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__yhPFA"><a class="NotFound_link__a1OqI" href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="NotFound_icon__zBP4O"><path fill="currentColor" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z"></path></svg><svg class="NotFound_tiles__Nxd8Z" viewBox="0 0 682 80" xmlns="http://www.w3.org/2000/svg"><g class="PlainTiles_tile__4eIjX" 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__4eIjX" 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__4eIjX" 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__4eIjX" 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__4eIjX" 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__4eIjX" 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__4eIjX" 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":"9dmPfnTc_AQTHBPvL7xQe","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><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."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><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."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><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."/><meta name="next-head-count" content="15"/><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/4e8b47fe382a8a8f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/4e8b47fe382a8a8f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer=""></script><script src="/_next/static/chunks/framework-2c29dc3cd933590b.js" defer=""></script><script src="/_next/static/chunks/main-4dcb7f9b52833aba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js" defer=""></script><script src="/_next/static/chunks/pages/404-b4b5ce15153d4825.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_buildManifest.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_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__yhPFA"><a class="NotFound_link__a1OqI" href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="NotFound_icon__zBP4O"><path fill="currentColor" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z"></path></svg><svg class="NotFound_tiles__Nxd8Z" viewBox="0 0 682 80" xmlns="http://www.w3.org/2000/svg"><g class="PlainTiles_tile__4eIjX" 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__4eIjX" 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__4eIjX" 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__4eIjX" 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__4eIjX" 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__4eIjX" 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__4eIjX" 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":"wNIKOJJzkMSJYb2nOL21o","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- {"version":1,"files":["../webpack-runtime.js","../chunks/636.js","../chunks/675.js","../chunks/277.js","../../package.json","../../../node_modules/classnames/package.json","../../../node_modules/include-media-query-builder/package.json","../../../node_modules/react-cool-onclickoutside/package.json","../../../node_modules/react-highlight-words/package.json","../../../node_modules/react-modal/package.json","../../../node_modules/react-portal/package.json","../../../node_modules/react-redux/package.json","../../../node_modules/react-window/package.json","../../../node_modules/store2/package.json","../../../node_modules/@reduxjs/toolkit/package.json","../../../node_modules/next/dist/shared/lib/amp-context.js","../../../node_modules/next/dist/shared/lib/amp-mode.js","../../../node_modules/next/dist/shared/lib/head-manager-context.js","../../../node_modules/next/dist/shared/lib/image-blur-svg.js","../../../node_modules/next/dist/shared/lib/image-config-context.js","../../../node_modules/next/dist/shared/lib/image-config.js","../../../node_modules/next/dist/shared/lib/side-effect.js","../../../node_modules/next/dist/shared/lib/utils/warn-once.js","../../../node_modules/classnames/index.js","../../../node_modules/include-media-query-builder/build/index.js","../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../node_modules/react-highlight-words/dist/main.js","../../../node_modules/react-modal/lib/index.js","../../../node_modules/react-portal/lib/index.js","../../../node_modules/react-redux/lib/index.js","../../../node_modules/react-window/dist/index.cjs.js","../../../node_modules/store2/dist/store2.js","../../../node_modules/@reduxjs/toolkit/dist/index.js","../../../node_modules/next/dist/shared/lib/image-loader.js","../../../node_modules/next/package.json","../../../node_modules/react/package.json","../../../node_modules/react/index.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/react-dom/package.json","../../../node_modules/react-dom/client.js","../../../node_modules/redux-saga/package.json","../../../node_modules/redux-saga/import-condition-proxy.mjs","../../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.cjs.js","../../../node_modules/@floating-ui/react/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/react-dom/server.node.js","../../../node_modules/react-dom/server.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.production.min.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js","../../../node_modules/redux-saga/effects/package.json","../../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.cjs.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/@swc/helpers/lib/_interop_require_default.js","../../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","../../../node_modules/@swc/helpers/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/isOperator.js","../../../node_modules/include-media-query-builder/build/isSize.js","../../../node_modules/include-media-query-builder/build/types.js","../../../node_modules/react-portal/lib/PortalCompat.js","../../../node_modules/react-portal/lib/PortalWithState.js","../../../node_modules/react-redux/lib/exports.js","../../../node_modules/react-modal/lib/components/Modal.js","../../../node_modules/react-redux/lib/utils/reactBatchedUpdates.js","../../../node_modules/react-redux/lib/utils/batch.js","../../../node_modules/react-redux/lib/hooks/useSelector.js","../../../node_modules/react-redux/lib/components/connect.js","../../../node_modules/next/dist/shared/lib/match-remote-pattern.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../node_modules/react-dom/cjs/react-dom-server.node.production.min.js","../../../node_modules/react-dom/index.js","../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../node_modules/react-portal/lib/Portal.js","../../../node_modules/react-portal/lib/LegacyPortal.js","../../../node_modules/react-redux/lib/components/Provider.js","../../../node_modules/react-redux/lib/components/Context.js","../../../node_modules/react-redux/lib/hooks/useDispatch.js","../../../node_modules/react-redux/lib/hooks/useStore.js","../../../node_modules/react-redux/lib/utils/shallowEqual.js","../../../node_modules/react-redux/lib/types.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/cjs/react-dom.development.js","../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../node_modules/react-redux/lib/utils/useSyncExternalStore.js","../../../node_modules/react-redux/lib/hooks/useReduxContext.js","../../../node_modules/react-redux/lib/utils/Subscription.js","../../../node_modules/react-redux/lib/utils/useIsomorphicLayoutEffect.js","../../../node_modules/react-redux/lib/utils/warning.js","../../../node_modules/@babel/runtime/package.json","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../node_modules/react-redux/lib/connect/selectorFactory.js","../../../node_modules/react-redux/lib/connect/mapDispatchToProps.js","../../../node_modules/react-redux/lib/connect/mapStateToProps.js","../../../node_modules/react-redux/lib/connect/mergeProps.js","../../../node_modules/memoize-one/package.json","../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../node_modules/@floating-ui/react-dom/package.json","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../node_modules/tabbable/package.json","../../../node_modules/tabbable/dist/index.js","../../../node_modules/@redux-saga/core/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../node_modules/aria-hidden/package.json","../../../node_modules/aria-hidden/dist/es5/index.js","../../../node_modules/use-sync-external-store/shim/with-selector.js","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/react-portal/lib/utils.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@redux-saga/core/effects/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../node_modules/next/dist/compiled/micromatch/package.json","../../../node_modules/next/dist/compiled/micromatch/index.js","../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../node_modules/react-modal/lib/helpers/classList.js","../../../node_modules/prop-types/package.json","../../../node_modules/prop-types/index.js","../../../node_modules/use-sync-external-store/package.json","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/immer/package.json","../../../node_modules/immer/dist/index.js","../../../node_modules/redux/package.json","../../../node_modules/redux/lib/redux.js","../../../node_modules/redux-thunk/package.json","../../../node_modules/redux-thunk/lib/index.js","../../../node_modules/reselect/package.json","../../../node_modules/reselect/lib/index.js","../../../node_modules/react-redux/node_modules/react-is/package.json","../../../node_modules/react-redux/node_modules/react-is/index.js","../../../node_modules/react-redux/lib/connect/verifySubselectors.js","../../../node_modules/react-redux/lib/connect/wrapMapToProps.js","../../../node_modules/react-redux/lib/utils/bindActionCreators.js","../../../node_modules/react-redux/lib/connect/invalidArgFactory.js","../../../node_modules/react-redux/lib/utils/verifyPlainObject.js","../../../node_modules/react-lifecycles-compat/package.json","../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.dev.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.dev.cjs.js","../../../node_modules/scheduler/package.json","../../../node_modules/scheduler/index.js","../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../node_modules/hoist-non-react-statics/package.json","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../../../node_modules/immer/dist/immer.cjs.production.min.js","../../../node_modules/immer/dist/immer.cjs.development.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/react-redux/lib/utils/isPlainObject.js","../../../node_modules/reselect/lib/defaultMemoize.js","../../../node_modules/warning/package.json","../../../node_modules/warning/warning.js","../../../node_modules/exenv/package.json","../../../node_modules/exenv/index.js","../../../node_modules/@redux-saga/core/dist/io-d39dbb58.js","../../../node_modules/@redux-saga/core/dist/io-a03c6210.js","../../../node_modules/@babel/runtime/helpers/objectSpread2.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/cjs/scheduler.development.js","../../../node_modules/@floating-ui/dom/package.json","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/react-is/package.json","../../../node_modules/react-is/index.js","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@babel/runtime/helpers/defineProperty.js","../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../../node_modules/@redux-saga/symbols/package.json","../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../node_modules/@redux-saga/delay-p/package.json","../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../node_modules/@redux-saga/is/package.json","../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../node_modules/@redux-saga/deferred/package.json","../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/object-assign/index.js","../../../node_modules/object-assign/package.json","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../../node_modules/@floating-ui/core/package.json","../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../package.json","../../../src/i18n/de.json","../../../src/i18n/en.json","../../../src/i18n/es.json","../../../src/i18n/fa.json","../../../src/i18n/fr.json","../../../src/i18n/pl.json"]}
1
+ {"version":1,"files":["../webpack-runtime.js","../chunks/636.js","../chunks/675.js","../chunks/277.js","../../package.json","../../../node_modules/classnames/package.json","../../../node_modules/include-media-query-builder/package.json","../../../node_modules/react-cool-onclickoutside/package.json","../../../node_modules/react-highlight-words/package.json","../../../node_modules/react-modal/package.json","../../../node_modules/react-portal/package.json","../../../node_modules/react-redux/package.json","../../../node_modules/react-window/package.json","../../../node_modules/store2/package.json","../../../node_modules/@reduxjs/toolkit/package.json","../../../node_modules/next/dist/shared/lib/amp-context.js","../../../node_modules/next/dist/shared/lib/amp-mode.js","../../../node_modules/next/dist/shared/lib/head-manager-context.js","../../../node_modules/next/dist/shared/lib/image-blur-svg.js","../../../node_modules/next/dist/shared/lib/image-config-context.js","../../../node_modules/next/dist/shared/lib/image-config.js","../../../node_modules/next/dist/shared/lib/side-effect.js","../../../node_modules/next/dist/shared/lib/utils/warn-once.js","../../../node_modules/classnames/index.js","../../../node_modules/include-media-query-builder/build/index.js","../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../node_modules/react-highlight-words/dist/main.js","../../../node_modules/react-modal/lib/index.js","../../../node_modules/react-portal/lib/index.js","../../../node_modules/react-redux/lib/index.js","../../../node_modules/react-window/dist/index.cjs.js","../../../node_modules/store2/dist/store2.js","../../../node_modules/@reduxjs/toolkit/dist/index.js","../../../node_modules/next/dist/shared/lib/image-loader.js","../../../node_modules/next/package.json","../../../node_modules/react/package.json","../../../node_modules/react/index.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/react-dom/package.json","../../../node_modules/react-dom/client.js","../../../node_modules/redux-saga/package.json","../../../node_modules/redux-saga/import-condition-proxy.mjs","../../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.cjs.js","../../../node_modules/@floating-ui/react/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/react-dom/server.node.js","../../../node_modules/react-dom/server.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.production.min.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/redux-saga/effects/package.json","../../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.cjs.js","../../../node_modules/@swc/helpers/lib/_interop_require_default.js","../../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/react-portal/lib/PortalCompat.js","../../../node_modules/react-portal/lib/PortalWithState.js","../../../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/isOperator.js","../../../node_modules/include-media-query-builder/build/isSize.js","../../../node_modules/include-media-query-builder/build/types.js","../../../node_modules/react-redux/lib/exports.js","../../../node_modules/react-modal/lib/components/Modal.js","../../../node_modules/react-redux/lib/utils/reactBatchedUpdates.js","../../../node_modules/react-redux/lib/utils/batch.js","../../../node_modules/react-redux/lib/hooks/useSelector.js","../../../node_modules/react-redux/lib/components/connect.js","../../../node_modules/next/dist/shared/lib/match-remote-pattern.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../node_modules/react-dom/cjs/react-dom-server.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../node_modules/react-dom/index.js","../../../node_modules/react-portal/lib/Portal.js","../../../node_modules/react-portal/lib/LegacyPortal.js","../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../node_modules/react-redux/lib/components/Provider.js","../../../node_modules/react-redux/lib/components/Context.js","../../../node_modules/react-redux/lib/hooks/useDispatch.js","../../../node_modules/react-redux/lib/utils/shallowEqual.js","../../../node_modules/react-redux/lib/hooks/useStore.js","../../../node_modules/react-redux/lib/types.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/cjs/react-dom.development.js","../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../node_modules/react-redux/lib/utils/useSyncExternalStore.js","../../../node_modules/react-redux/lib/hooks/useReduxContext.js","../../../node_modules/react-redux/lib/utils/Subscription.js","../../../node_modules/react-redux/lib/utils/useIsomorphicLayoutEffect.js","../../../node_modules/react-redux/lib/utils/warning.js","../../../node_modules/@babel/runtime/package.json","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../node_modules/react-redux/lib/connect/selectorFactory.js","../../../node_modules/react-redux/lib/connect/mapStateToProps.js","../../../node_modules/react-redux/lib/connect/mapDispatchToProps.js","../../../node_modules/react-redux/lib/connect/mergeProps.js","../../../node_modules/memoize-one/package.json","../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../node_modules/@floating-ui/react-dom/package.json","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../node_modules/tabbable/package.json","../../../node_modules/tabbable/dist/index.js","../../../node_modules/@redux-saga/core/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../node_modules/aria-hidden/package.json","../../../node_modules/aria-hidden/dist/es5/index.js","../../../node_modules/use-sync-external-store/shim/with-selector.js","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/react-portal/lib/utils.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@redux-saga/core/effects/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../node_modules/next/dist/compiled/micromatch/package.json","../../../node_modules/next/dist/compiled/micromatch/index.js","../../../node_modules/prop-types/package.json","../../../node_modules/prop-types/index.js","../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../node_modules/react-modal/lib/helpers/classList.js","../../../node_modules/use-sync-external-store/package.json","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/redux-thunk/package.json","../../../node_modules/redux-thunk/lib/index.js","../../../node_modules/immer/package.json","../../../node_modules/immer/dist/index.js","../../../node_modules/reselect/package.json","../../../node_modules/reselect/lib/index.js","../../../node_modules/redux/package.json","../../../node_modules/redux/lib/redux.js","../../../node_modules/react-redux/node_modules/react-is/package.json","../../../node_modules/react-redux/node_modules/react-is/index.js","../../../node_modules/react-redux/lib/connect/verifySubselectors.js","../../../node_modules/react-redux/lib/utils/bindActionCreators.js","../../../node_modules/react-redux/lib/connect/wrapMapToProps.js","../../../node_modules/react-redux/lib/connect/invalidArgFactory.js","../../../node_modules/react-redux/lib/utils/verifyPlainObject.js","../../../node_modules/react-lifecycles-compat/package.json","../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.dev.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.dev.cjs.js","../../../node_modules/scheduler/package.json","../../../node_modules/scheduler/index.js","../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../node_modules/hoist-non-react-statics/package.json","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../../../node_modules/immer/dist/immer.cjs.production.min.js","../../../node_modules/immer/dist/immer.cjs.development.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/react-redux/lib/utils/isPlainObject.js","../../../node_modules/@redux-saga/core/dist/io-a03c6210.js","../../../node_modules/@redux-saga/core/dist/io-d39dbb58.js","../../../node_modules/reselect/lib/defaultMemoize.js","../../../node_modules/warning/package.json","../../../node_modules/warning/warning.js","../../../node_modules/exenv/package.json","../../../node_modules/exenv/index.js","../../../node_modules/@babel/runtime/helpers/objectSpread2.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/cjs/scheduler.development.js","../../../node_modules/@floating-ui/dom/package.json","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/react-is/package.json","../../../node_modules/react-is/index.js","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@babel/runtime/helpers/defineProperty.js","../../../node_modules/@redux-saga/symbols/package.json","../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../node_modules/@redux-saga/is/package.json","../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../node_modules/@redux-saga/deferred/package.json","../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../node_modules/@redux-saga/delay-p/package.json","../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/object-assign/index.js","../../../node_modules/object-assign/package.json","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../../node_modules/@floating-ui/core/package.json","../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../package.json","../../../src/i18n/de.json","../../../src/i18n/en.json","../../../src/i18n/es.json","../../../src/i18n/fa.json","../../../src/i18n/fr.json","../../../src/i18n/pl.json"]}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><title>500: Internal Server Error</title><meta name="next-head-count" content="15"/><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/09dfdea53eba31a9.css" as="style"/><link rel="stylesheet" href="/_next/static/css/09dfdea53eba31a9.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer=""></script><script src="/_next/static/chunks/framework-2c29dc3cd933590b.js" defer=""></script><script src="/_next/static/chunks/main-4dcb7f9b52833aba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-02851b06b95b19cb.js" defer=""></script><script src="/_next/static/chunks/pages/_error-54de1933a164a1ff.js" defer=""></script><script src="/_next/static/9dmPfnTc_AQTHBPvL7xQe/_buildManifest.js" defer=""></script><script src="/_next/static/9dmPfnTc_AQTHBPvL7xQe/_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 and 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>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;line-height:49px">500</h1><div style="display:inline-block;text-align:left"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"9dmPfnTc_AQTHBPvL7xQe","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><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."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><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."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><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."/><title>500: Internal Server Error</title><meta name="next-head-count" content="15"/><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/4e8b47fe382a8a8f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/4e8b47fe382a8a8f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer=""></script><script src="/_next/static/chunks/framework-2c29dc3cd933590b.js" defer=""></script><script src="/_next/static/chunks/main-4dcb7f9b52833aba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js" defer=""></script><script src="/_next/static/chunks/pages/_error-54de1933a164a1ff.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_buildManifest.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_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>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;line-height:49px">500</h1><div style="display:inline-block;text-align:left"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"wNIKOJJzkMSJYb2nOL21o","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -32,11 +32,13 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([comp
32
32
 
33
33
 
34
34
  const DESCRIPTION = // eslint-disable-next-line max-len
35
- "Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish.";
35
+ "Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish.";
36
36
  const KEYWORDS = [
37
37
  "Scrabble Solver",
38
38
  "Scrabble",
39
39
  "Solver",
40
+ "Super Scrabble",
41
+ "Super Scrabble Solver",
40
42
  "Board",
41
43
  "Open-source",
42
44
  "Open",
@@ -1 +1 @@
1
- {"version":1,"files":["../webpack-runtime.js","../chunks/636.js","../chunks/675.js","../chunks/277.js","../../package.json","../../../node_modules/classnames/package.json","../../../node_modules/include-media-query-builder/package.json","../../../node_modules/react-cool-onclickoutside/package.json","../../../node_modules/react-highlight-words/package.json","../../../node_modules/react-modal/package.json","../../../node_modules/react-portal/package.json","../../../node_modules/react-redux/package.json","../../../node_modules/react-window/package.json","../../../node_modules/store2/package.json","../../../node_modules/@reduxjs/toolkit/package.json","../../../node_modules/next/dist/shared/lib/amp-context.js","../../../node_modules/next/dist/shared/lib/amp-mode.js","../../../node_modules/next/dist/shared/lib/head-manager-context.js","../../../node_modules/next/dist/shared/lib/image-blur-svg.js","../../../node_modules/next/dist/shared/lib/image-config-context.js","../../../node_modules/next/dist/shared/lib/image-config.js","../../../node_modules/next/dist/shared/lib/side-effect.js","../../../node_modules/next/dist/shared/lib/utils/warn-once.js","../../../node_modules/classnames/index.js","../../../node_modules/include-media-query-builder/build/index.js","../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../node_modules/react-highlight-words/dist/main.js","../../../node_modules/react-modal/lib/index.js","../../../node_modules/react-portal/lib/index.js","../../../node_modules/react-redux/lib/index.js","../../../node_modules/react-window/dist/index.cjs.js","../../../node_modules/store2/dist/store2.js","../../../node_modules/@reduxjs/toolkit/dist/index.js","../../../node_modules/next/dist/shared/lib/image-loader.js","../../../node_modules/next/head.js","../../../node_modules/next/package.json","../../../node_modules/react/package.json","../../../node_modules/react/index.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/react-dom/package.json","../../../node_modules/react-dom/client.js","../../../node_modules/redux-saga/package.json","../../../node_modules/redux-saga/import-condition-proxy.mjs","../../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.cjs.js","../../../node_modules/@floating-ui/react/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/react-dom/server.node.js","../../../node_modules/react-dom/server.js","../../../node_modules/next/dist/shared/lib/head.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.production.min.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js","../../../node_modules/redux-saga/effects/package.json","../../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.cjs.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/@swc/helpers/lib/_interop_require_default.js","../../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","../../../node_modules/@swc/helpers/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/isOperator.js","../../../node_modules/include-media-query-builder/build/isSize.js","../../../node_modules/include-media-query-builder/build/types.js","../../../node_modules/react-portal/lib/PortalCompat.js","../../../node_modules/react-portal/lib/PortalWithState.js","../../../node_modules/react-redux/lib/exports.js","../../../node_modules/react-modal/lib/components/Modal.js","../../../node_modules/react-redux/lib/utils/reactBatchedUpdates.js","../../../node_modules/react-redux/lib/utils/batch.js","../../../node_modules/react-redux/lib/hooks/useSelector.js","../../../node_modules/react-redux/lib/components/connect.js","../../../node_modules/@swc/helpers/lib/_extends.js","../../../node_modules/next/dist/shared/lib/match-remote-pattern.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../node_modules/react-dom/cjs/react-dom-server.node.production.min.js","../../../node_modules/react-dom/index.js","../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../node_modules/react-portal/lib/Portal.js","../../../node_modules/react-portal/lib/LegacyPortal.js","../../../node_modules/react-redux/lib/components/Provider.js","../../../node_modules/react-redux/lib/components/Context.js","../../../node_modules/react-redux/lib/hooks/useDispatch.js","../../../node_modules/react-redux/lib/hooks/useStore.js","../../../node_modules/react-redux/lib/utils/shallowEqual.js","../../../node_modules/react-redux/lib/types.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/cjs/react-dom.development.js","../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../node_modules/react-redux/lib/utils/useSyncExternalStore.js","../../../node_modules/react-redux/lib/hooks/useReduxContext.js","../../../node_modules/react-redux/lib/utils/Subscription.js","../../../node_modules/react-redux/lib/utils/useIsomorphicLayoutEffect.js","../../../node_modules/react-redux/lib/utils/warning.js","../../../node_modules/@babel/runtime/package.json","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../node_modules/react-redux/lib/connect/selectorFactory.js","../../../node_modules/react-redux/lib/connect/mapDispatchToProps.js","../../../node_modules/react-redux/lib/connect/mapStateToProps.js","../../../node_modules/react-redux/lib/connect/mergeProps.js","../../../node_modules/memoize-one/package.json","../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../node_modules/@floating-ui/react-dom/package.json","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../node_modules/tabbable/package.json","../../../node_modules/tabbable/dist/index.js","../../../node_modules/@redux-saga/core/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../node_modules/aria-hidden/package.json","../../../node_modules/aria-hidden/dist/es5/index.js","../../../node_modules/use-sync-external-store/shim/with-selector.js","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/react-portal/lib/utils.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@redux-saga/core/effects/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../node_modules/next/dist/compiled/micromatch/package.json","../../../node_modules/next/dist/compiled/micromatch/index.js","../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../node_modules/react-modal/lib/helpers/classList.js","../../../node_modules/prop-types/package.json","../../../node_modules/prop-types/index.js","../../../node_modules/use-sync-external-store/package.json","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/immer/package.json","../../../node_modules/immer/dist/index.js","../../../node_modules/redux/package.json","../../../node_modules/redux/lib/redux.js","../../../node_modules/redux-thunk/package.json","../../../node_modules/redux-thunk/lib/index.js","../../../node_modules/reselect/package.json","../../../node_modules/reselect/lib/index.js","../../../node_modules/react-redux/node_modules/react-is/package.json","../../../node_modules/react-redux/node_modules/react-is/index.js","../../../node_modules/react-redux/lib/connect/verifySubselectors.js","../../../node_modules/react-redux/lib/connect/wrapMapToProps.js","../../../node_modules/react-redux/lib/utils/bindActionCreators.js","../../../node_modules/react-redux/lib/connect/invalidArgFactory.js","../../../node_modules/react-redux/lib/utils/verifyPlainObject.js","../../../node_modules/react-lifecycles-compat/package.json","../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.dev.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.dev.cjs.js","../../../node_modules/scheduler/package.json","../../../node_modules/scheduler/index.js","../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../node_modules/hoist-non-react-statics/package.json","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../../../node_modules/immer/dist/immer.cjs.production.min.js","../../../node_modules/immer/dist/immer.cjs.development.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/react-redux/lib/utils/isPlainObject.js","../../../node_modules/reselect/lib/defaultMemoize.js","../../../node_modules/warning/package.json","../../../node_modules/warning/warning.js","../../../node_modules/exenv/package.json","../../../node_modules/exenv/index.js","../../../node_modules/@redux-saga/core/dist/io-d39dbb58.js","../../../node_modules/@redux-saga/core/dist/io-a03c6210.js","../../../node_modules/@babel/runtime/helpers/objectSpread2.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/cjs/scheduler.development.js","../../../node_modules/@floating-ui/dom/package.json","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/react-is/package.json","../../../node_modules/react-is/index.js","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@babel/runtime/helpers/defineProperty.js","../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../../node_modules/@redux-saga/symbols/package.json","../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../node_modules/@redux-saga/delay-p/package.json","../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../node_modules/@redux-saga/is/package.json","../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../node_modules/@redux-saga/deferred/package.json","../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/object-assign/index.js","../../../node_modules/object-assign/package.json","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../../node_modules/@floating-ui/core/package.json","../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../package.json","../../../src/i18n/de.json","../../../src/i18n/en.json","../../../src/i18n/es.json","../../../src/i18n/fa.json","../../../src/i18n/fr.json","../../../src/i18n/pl.json"]}
1
+ {"version":1,"files":["../webpack-runtime.js","../chunks/636.js","../chunks/675.js","../chunks/277.js","../../package.json","../../../node_modules/classnames/package.json","../../../node_modules/include-media-query-builder/package.json","../../../node_modules/react-cool-onclickoutside/package.json","../../../node_modules/react-highlight-words/package.json","../../../node_modules/react-modal/package.json","../../../node_modules/react-portal/package.json","../../../node_modules/react-redux/package.json","../../../node_modules/react-window/package.json","../../../node_modules/store2/package.json","../../../node_modules/@reduxjs/toolkit/package.json","../../../node_modules/next/dist/shared/lib/amp-context.js","../../../node_modules/next/dist/shared/lib/amp-mode.js","../../../node_modules/next/dist/shared/lib/head-manager-context.js","../../../node_modules/next/dist/shared/lib/image-blur-svg.js","../../../node_modules/next/dist/shared/lib/image-config-context.js","../../../node_modules/next/dist/shared/lib/image-config.js","../../../node_modules/next/dist/shared/lib/side-effect.js","../../../node_modules/next/dist/shared/lib/utils/warn-once.js","../../../node_modules/classnames/index.js","../../../node_modules/include-media-query-builder/build/index.js","../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../node_modules/react-highlight-words/dist/main.js","../../../node_modules/react-modal/lib/index.js","../../../node_modules/react-portal/lib/index.js","../../../node_modules/react-redux/lib/index.js","../../../node_modules/react-window/dist/index.cjs.js","../../../node_modules/store2/dist/store2.js","../../../node_modules/@reduxjs/toolkit/dist/index.js","../../../node_modules/next/dist/shared/lib/image-loader.js","../../../node_modules/next/head.js","../../../node_modules/next/package.json","../../../node_modules/react/package.json","../../../node_modules/react/index.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/react-dom/package.json","../../../node_modules/react-dom/client.js","../../../node_modules/redux-saga/package.json","../../../node_modules/redux-saga/import-condition-proxy.mjs","../../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.cjs.js","../../../node_modules/@floating-ui/react/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/react-dom/server.node.js","../../../node_modules/react-dom/server.js","../../../node_modules/next/dist/shared/lib/head.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.production.min.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/redux-saga/effects/package.json","../../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.cjs.js","../../../node_modules/@swc/helpers/lib/_interop_require_default.js","../../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/react-portal/lib/PortalCompat.js","../../../node_modules/react-portal/lib/PortalWithState.js","../../../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/isOperator.js","../../../node_modules/include-media-query-builder/build/isSize.js","../../../node_modules/include-media-query-builder/build/types.js","../../../node_modules/react-redux/lib/exports.js","../../../node_modules/react-modal/lib/components/Modal.js","../../../node_modules/react-redux/lib/utils/reactBatchedUpdates.js","../../../node_modules/react-redux/lib/utils/batch.js","../../../node_modules/react-redux/lib/hooks/useSelector.js","../../../node_modules/react-redux/lib/components/connect.js","../../../node_modules/@swc/helpers/lib/_extends.js","../../../node_modules/next/dist/shared/lib/match-remote-pattern.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../node_modules/react-dom/cjs/react-dom-server.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../node_modules/react-dom/index.js","../../../node_modules/react-portal/lib/Portal.js","../../../node_modules/react-portal/lib/LegacyPortal.js","../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../node_modules/react-redux/lib/components/Provider.js","../../../node_modules/react-redux/lib/components/Context.js","../../../node_modules/react-redux/lib/hooks/useDispatch.js","../../../node_modules/react-redux/lib/utils/shallowEqual.js","../../../node_modules/react-redux/lib/hooks/useStore.js","../../../node_modules/react-redux/lib/types.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/cjs/react-dom.development.js","../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../node_modules/react-redux/lib/utils/useSyncExternalStore.js","../../../node_modules/react-redux/lib/hooks/useReduxContext.js","../../../node_modules/react-redux/lib/utils/Subscription.js","../../../node_modules/react-redux/lib/utils/useIsomorphicLayoutEffect.js","../../../node_modules/react-redux/lib/utils/warning.js","../../../node_modules/@babel/runtime/package.json","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../node_modules/react-redux/lib/connect/selectorFactory.js","../../../node_modules/react-redux/lib/connect/mapStateToProps.js","../../../node_modules/react-redux/lib/connect/mapDispatchToProps.js","../../../node_modules/react-redux/lib/connect/mergeProps.js","../../../node_modules/memoize-one/package.json","../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../node_modules/@floating-ui/react-dom/package.json","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../node_modules/tabbable/package.json","../../../node_modules/tabbable/dist/index.js","../../../node_modules/@redux-saga/core/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../node_modules/aria-hidden/package.json","../../../node_modules/aria-hidden/dist/es5/index.js","../../../node_modules/use-sync-external-store/shim/with-selector.js","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/react-portal/lib/utils.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@redux-saga/core/effects/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../node_modules/next/dist/compiled/micromatch/package.json","../../../node_modules/next/dist/compiled/micromatch/index.js","../../../node_modules/prop-types/package.json","../../../node_modules/prop-types/index.js","../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../node_modules/react-modal/lib/helpers/classList.js","../../../node_modules/use-sync-external-store/package.json","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/redux-thunk/package.json","../../../node_modules/redux-thunk/lib/index.js","../../../node_modules/immer/package.json","../../../node_modules/immer/dist/index.js","../../../node_modules/reselect/package.json","../../../node_modules/reselect/lib/index.js","../../../node_modules/redux/package.json","../../../node_modules/redux/lib/redux.js","../../../node_modules/react-redux/node_modules/react-is/package.json","../../../node_modules/react-redux/node_modules/react-is/index.js","../../../node_modules/react-redux/lib/connect/verifySubselectors.js","../../../node_modules/react-redux/lib/utils/bindActionCreators.js","../../../node_modules/react-redux/lib/connect/wrapMapToProps.js","../../../node_modules/react-redux/lib/connect/invalidArgFactory.js","../../../node_modules/react-redux/lib/utils/verifyPlainObject.js","../../../node_modules/react-lifecycles-compat/package.json","../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.dev.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.dev.cjs.js","../../../node_modules/scheduler/package.json","../../../node_modules/scheduler/index.js","../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../node_modules/hoist-non-react-statics/package.json","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../../../node_modules/immer/dist/immer.cjs.production.min.js","../../../node_modules/immer/dist/immer.cjs.development.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/react-redux/lib/utils/isPlainObject.js","../../../node_modules/@redux-saga/core/dist/io-a03c6210.js","../../../node_modules/@redux-saga/core/dist/io-d39dbb58.js","../../../node_modules/reselect/lib/defaultMemoize.js","../../../node_modules/warning/package.json","../../../node_modules/warning/warning.js","../../../node_modules/exenv/package.json","../../../node_modules/exenv/index.js","../../../node_modules/@babel/runtime/helpers/objectSpread2.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/cjs/scheduler.development.js","../../../node_modules/@floating-ui/dom/package.json","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/react-is/package.json","../../../node_modules/react-is/index.js","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@babel/runtime/helpers/defineProperty.js","../../../node_modules/@redux-saga/symbols/package.json","../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../node_modules/@redux-saga/is/package.json","../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../node_modules/@redux-saga/deferred/package.json","../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../node_modules/@redux-saga/delay-p/package.json","../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/object-assign/index.js","../../../node_modules/object-assign/package.json","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../../node_modules/@floating-ui/core/package.json","../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../package.json","../../../src/i18n/de.json","../../../src/i18n/en.json","../../../src/i18n/es.json","../../../src/i18n/fa.json","../../../src/i18n/fr.json","../../../src/i18n/pl.json"]}
@@ -143,7 +143,7 @@ __webpack_require__.r(__webpack_exports__);
143
143
 
144
144
 
145
145
 
146
- const MAXIMUM_COLLISIONS_COUNT = _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.scrabble["en-US"].maximumCharactersCount;
146
+ const MAXIMUM_COLLISIONS_COUNT = Object.values(_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.games).reduce((result, game)=>Math.max(result, game.maximumCharactersCount), 0);
147
147
  const MAXIMUM_WORDS_COUNT = MAXIMUM_COLLISIONS_COUNT + 1;
148
148
  const dictionary = async (request, response)=>{
149
149
  const meta = (0,api__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(request);
@@ -448,7 +448,9 @@ const normalizeQuotes = (definition) => definition.replace(/\."/g, '".');
448
448
  const normalizeMarkers = (definition) => definition.replace(/^\(\d+\.\d+\)\s+/g, '');
449
449
  const normalizeTrailingSymbols = (definition) => definition.trim().replace(/:$/, '');
450
450
  const normalizeLeadingSymbols = (definition) => definition.trim().replace(/^:/, '');
451
- // https://stackoverflow.com/a/40732368
451
+ /**
452
+ * @see https://stackoverflow.com/a/40732368
453
+ */
452
454
  const normalizeNonWords = (definition) => (/[\w\u0621-\u064A]+/.test(definition) ? definition : '');
453
455
  const normalizeCommas = (definition) => {
454
456
  return definition
@@ -244,9 +244,11 @@ const COLOR_BONUS_CHARACTER_3 = "#dde4f6";
244
244
  const COLOR_BONUS_CHARACTER_5 = "#fbe0d4";
245
245
  const COLOR_BONUS_CHARACTER_MULTIPLIER_2 = "#b8d5ed";
246
246
  const COLOR_BONUS_CHARACTER_MULTIPLIER_3 = "#86aed1";
247
+ const COLOR_BONUS_CHARACTER_MULTIPLIER_4 = "#3477b2";
247
248
  const COLOR_BONUS_START = "#b284b8";
248
249
  const COLOR_BONUS_WORD_MULTIPLIER_2 = "#fbc997";
249
250
  const COLOR_BONUS_WORD_MULTIPLIER_3 = "#f19393";
251
+ const COLOR_BONUS_WORD_MULTIPLIER_4 = "#ed5e5e";
250
252
  const COLOR_FILTERED = "#444";
251
253
  const COLOR_BONUS_CHARACTER = {
252
254
  1: COLOR_BONUS_CHARACTER_1,
@@ -256,11 +258,13 @@ const COLOR_BONUS_CHARACTER = {
256
258
  };
257
259
  const COLOR_BONUS_CHARACTER_MULTIPLIER = {
258
260
  2: COLOR_BONUS_CHARACTER_MULTIPLIER_2,
259
- 3: COLOR_BONUS_CHARACTER_MULTIPLIER_3
261
+ 3: COLOR_BONUS_CHARACTER_MULTIPLIER_3,
262
+ 4: COLOR_BONUS_CHARACTER_MULTIPLIER_4
260
263
  };
261
264
  const COLOR_BONUS_WORD = {
262
265
  2: COLOR_BONUS_WORD_MULTIPLIER_2,
263
- 3: COLOR_BONUS_WORD_MULTIPLIER_3
266
+ 3: COLOR_BONUS_WORD_MULTIPLIER_3,
267
+ 4: COLOR_BONUS_WORD_MULTIPLIER_4
264
268
  };
265
269
  const SPACING_XS = 2;
266
270
  const SPACING_S = 5;
@@ -274,11 +278,6 @@ const parameters_BOARD_CELL_BORDER_WIDTH = 1;
274
278
  const parameters_BOARD_TILE_FONT_SIZE_MIN = 14;
275
279
  const parameters_BOARD_TILE_FONT_SIZE_POINTS_MIN = 10;
276
280
  const parameters_BOARD_TILE_SIZE_MAX = 64;
277
- /**
278
- * 20 - fits all board tiles without horizontal scrollbar on 360px viewport width (font-size: 14px)
279
- * 21 - fits all board tiles without horizontal scrollbar on 375px viewport width (font-size: 14px)
280
- * 26 - tiles start to look good (font-size: 16px)
281
- */ const parameters_BOARD_TILE_SIZE_MIN = 20;
282
281
  const BORDER_COLOR = "#cdcdcd";
283
282
  const BORDER_COLOR_LIGHT = "#d9d9d9";
284
283
  const BORDER_RADIUS = 5;
@@ -345,7 +344,7 @@ const getCellSize = (config, width, height)=>{
345
344
  const maxWidth = (width - BOARD_CELL_BORDER_WIDTH) / config.boardWidth - BOARD_CELL_BORDER_WIDTH;
346
345
  const maxHeight = (height - BOARD_CELL_BORDER_WIDTH) / config.boardHeight - BOARD_CELL_BORDER_WIDTH;
347
346
  const cellSize = Math.min(maxWidth, maxHeight);
348
- return Math.floor(Math.min(Math.max(cellSize, BOARD_TILE_SIZE_MIN), BOARD_TILE_SIZE_MAX));
347
+ return Math.floor(Math.min(cellSize, BOARD_TILE_SIZE_MAX));
349
348
  };
350
349
  /* harmony default export */ const lib_getCellSize = ((/* unused pure expression or super */ null && (getCellSize)));
351
350
 
@@ -632,7 +631,7 @@ const solve = async (request, response)=>{
632
631
  boardBlanksCount: board.getBlanksCount(),
633
632
  boardTilesCount: board.getTilesCount(),
634
633
  characters: characters.join(""),
635
- configId: request.body.configId,
634
+ game: request.body.game,
636
635
  locale
637
636
  }
638
637
  });
@@ -656,17 +655,20 @@ const solve = async (request, response)=>{
656
655
  }
657
656
  };
658
657
  const parseRequest = (request)=>{
659
- const { board: boardJson , characters , configId , locale } = request.body;
658
+ const { board: boardJson , characters , game , locale } = request.body;
660
659
  if (!(0,types_build.isLocale)(locale)) {
661
660
  throw new Error('Invalid "locale" parameter');
662
661
  }
663
- if (!(0,build.isConfigId)(configId)) {
664
- throw new Error('Invalid "configId" parameter');
662
+ if (!(0,types_build.isGame)(game)) {
663
+ throw new Error('Invalid "game" parameter');
665
664
  }
666
665
  if (!lib_isStringArray(characters) || characters.length === 0) {
667
666
  throw new Error('Invalid "characters" parameter');
668
667
  }
669
- const config = (0,build.getLocaleConfig)(configId, locale);
668
+ if (!(0,build.hasConfig)(game, locale)) {
669
+ throw new Error(`No game "${game}" in "${locale}"`);
670
+ }
671
+ const config = (0,build.getConfig)(game, locale);
670
672
  for (const character of characters){
671
673
  if (!(0,isCharacterValid/* default */.Z)(character)) {
672
674
  throw new Error('Invalid "characters" parameter');
@@ -802,7 +804,7 @@ exports["default"] = generateEndIndices;
802
804
 
803
805
  /***/ }),
804
806
 
805
- /***/ 41331:
807
+ /***/ 99004:
806
808
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
807
809
 
808
810
 
@@ -864,7 +866,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
864
866
  return (mod && mod.__esModule) ? mod : { "default": mod };
865
867
  };
866
868
  Object.defineProperty(exports, "__esModule", ({ value: true }));
867
- const generateHorizontalPatterns_1 = __importDefault(__webpack_require__(41331));
869
+ const generateHorizontalPatterns_1 = __importDefault(__webpack_require__(99004));
868
870
  const generateVerticalPatterns_1 = __importDefault(__webpack_require__(75069));
869
871
  const generatePatterns = (config, board) => {
870
872
  const horizontalPatterns = (0, generateHorizontalPatterns_1.default)(config, board);
@@ -967,11 +969,11 @@ exports["default"] = getCellsScore;
967
969
  Object.defineProperty(exports, "__esModule", ({ value: true }));
968
970
  const getPatternHash = (pattern) => {
969
971
  return pattern.cells
972
+ .filter((cell) => cell.isEmpty)
970
973
  .map((cell) => {
971
974
  const blank = cell.tile.isBlank ? '!' : '';
972
975
  const tile = cell.tile.character + blank;
973
- // eslint-disable-next-line prefer-template
974
- return cell.x + ',' + cell.y + ',' + tile;
976
+ return [cell.x, cell.y, tile].join(',');
975
977
  })
976
978
  .join('-');
977
979
  };
@@ -1043,7 +1045,7 @@ var fillPattern_1 = __webpack_require__(83594);
1043
1045
  Object.defineProperty(exports, "fillPattern", ({ enumerable: true, get: function () { return __importDefault(fillPattern_1).default; } }));
1044
1046
  var generateEndIndices_1 = __webpack_require__(50856);
1045
1047
  Object.defineProperty(exports, "generateEndIndices", ({ enumerable: true, get: function () { return __importDefault(generateEndIndices_1).default; } }));
1046
- var generateHorizontalPatterns_1 = __webpack_require__(41331);
1048
+ var generateHorizontalPatterns_1 = __webpack_require__(99004);
1047
1049
  Object.defineProperty(exports, "generateHorizontalPatterns", ({ enumerable: true, get: function () { return __importDefault(generateHorizontalPatterns_1).default; } }));
1048
1050
  var generatePattern_1 = __webpack_require__(87984);
1049
1051
  Object.defineProperty(exports, "generatePattern", ({ enumerable: true, get: function () { return __importDefault(generatePattern_1).default; } }));
@@ -1085,7 +1087,9 @@ const getUniquePatterns_1 = __importDefault(__webpack_require__(55555));
1085
1087
  const solve = (trie, config, board, tiles) => {
1086
1088
  const patterns = (0, generatePatterns_1.default)(config, board);
1087
1089
  const filledPatterns = patterns.flatMap((pattern) => (0, fillPattern_1.default)(trie, config, pattern, tiles));
1088
- const validPatterns = filledPatterns.filter((pattern) => (0, areDigraphsValid_1.default)(config, pattern));
1090
+ const validPatterns = config.twoCharacterTiles.length > 0
1091
+ ? filledPatterns.filter((pattern) => (0, areDigraphsValid_1.default)(config, pattern))
1092
+ : filledPatterns;
1089
1093
  const uniquePatterns = (0, getUniquePatterns_1.default)(validPatterns);
1090
1094
  const results = uniquePatterns.map((pattern, index) => ({
1091
1095
  cells: pattern.cells.map((cell) => cell.toJson()),
@@ -149,7 +149,7 @@ const verify = async (request, response)=>{
149
149
  board: board.toString(),
150
150
  boardBlanksCount: board.getBlanksCount(),
151
151
  boardTilesCount: board.getTilesCount(),
152
- configId: request.body.configId,
152
+ game: request.body.game,
153
153
  locale
154
154
  }
155
155
  });
@@ -174,14 +174,17 @@ const verify = async (request, response)=>{
174
174
  }
175
175
  };
176
176
  const parseRequest = (request)=>{
177
- const { board: boardJson , configId , locale } = request.body;
177
+ const { board: boardJson , game , locale } = request.body;
178
178
  if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isLocale)(locale)) {
179
179
  throw new Error('Invalid "locale" parameter');
180
180
  }
181
- if (!(0,_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.isConfigId)(configId)) {
182
- throw new Error('Invalid "configId" parameter');
181
+ if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isGame)(game)) {
182
+ throw new Error('Invalid "game" parameter');
183
183
  }
184
- const config = (0,_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.getLocaleConfig)(configId, locale);
184
+ if (!(0,_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.hasConfig)(game, locale)) {
185
+ throw new Error(`No game "${game}" in "${locale}"`);
186
+ }
187
+ const config = (0,_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.getConfig)(game, locale);
185
188
  if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isBoardJson)(boardJson) || !(0,api__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(boardJson, config)) {
186
189
  throw new Error('Invalid "board" parameter');
187
190
  }
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="next-head-count" content="15"/><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/09dfdea53eba31a9.css" as="style"/><link rel="stylesheet" href="/_next/static/css/09dfdea53eba31a9.css" data-n-g=""/><link rel="preload" href="/_next/static/css/60e8258da7362a1a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/60e8258da7362a1a.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer=""></script><script src="/_next/static/chunks/framework-2c29dc3cd933590b.js" defer=""></script><script src="/_next/static/chunks/main-4dcb7f9b52833aba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-02851b06b95b19cb.js" defer=""></script><script src="/_next/static/chunks/pages/index-0ba5607d1aad8a09.js" defer=""></script><script src="/_next/static/9dmPfnTc_AQTHBPvL7xQe/_buildManifest.js" defer=""></script><script src="/_next/static/9dmPfnTc_AQTHBPvL7xQe/_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 and 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><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"version":"v2.12.1"},"__N_SSG":true},"page":"/","query":{},"buildId":"9dmPfnTc_AQTHBPvL7xQe","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><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."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><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."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><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."/><meta name="next-head-count" content="15"/><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/4e8b47fe382a8a8f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/4e8b47fe382a8a8f.css" data-n-g=""/><link rel="preload" href="/_next/static/css/cfae5256f1689f57.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cfae5256f1689f57.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer=""></script><script src="/_next/static/chunks/framework-2c29dc3cd933590b.js" defer=""></script><script src="/_next/static/chunks/main-4dcb7f9b52833aba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js" defer=""></script><script src="/_next/static/chunks/pages/index-82b2939158c7729f.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_buildManifest.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_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><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"version":"v2.12.2"},"__N_SSG":true},"page":"/","query":{},"buildId":"wNIKOJJzkMSJYb2nOL21o","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>