@scrabble-solver/scrabble-solver 2.13.4 → 2.13.5-alpha.1
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.
- package/.next/build-manifest.json +15 -24
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/.next/cache/webpack/client-development/0.pack.gz +0 -0
- package/.next/cache/webpack/client-development/1.pack.gz +0 -0
- package/.next/cache/webpack/client-development/10.pack.gz +0 -0
- package/.next/cache/webpack/client-development/11.pack.gz +0 -0
- package/.next/cache/webpack/client-development/12.pack.gz +0 -0
- package/.next/cache/webpack/client-development/13.pack.gz +0 -0
- package/.next/cache/webpack/client-development/14.pack.gz +0 -0
- package/.next/cache/webpack/client-development/15.pack.gz +0 -0
- package/.next/cache/webpack/client-development/2.pack.gz +0 -0
- package/.next/cache/webpack/client-development/3.pack.gz +0 -0
- package/.next/cache/webpack/client-development/4.pack.gz +0 -0
- package/.next/cache/webpack/client-development/5.pack.gz +0 -0
- package/.next/cache/webpack/client-development/6.pack.gz +0 -0
- package/.next/cache/webpack/client-development/7.pack.gz +0 -0
- package/.next/cache/webpack/client-development/8.pack.gz +0 -0
- package/.next/cache/webpack/client-development/9.pack.gz +0 -0
- package/.next/cache/webpack/client-development/index.pack.gz +0 -0
- package/.next/cache/webpack/client-development/index.pack.gz.old +0 -0
- package/.next/cache/webpack/client-development-fallback/0.pack.gz +0 -0
- package/.next/cache/webpack/client-development-fallback/index.pack.gz +0 -0
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/1.pack +0 -0
- package/.next/cache/webpack/client-production/2.pack +0 -0
- package/.next/cache/webpack/client-production/3.pack +0 -0
- package/.next/cache/webpack/client-production/4.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/1.pack +0 -0
- package/.next/cache/webpack/edge-server-production/2.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
- package/.next/cache/webpack/server-development/0.pack.gz +0 -0
- package/.next/cache/webpack/server-development/1.pack.gz +0 -0
- package/.next/cache/webpack/server-development/10.pack.gz +0 -0
- package/.next/cache/webpack/server-development/11.pack.gz +0 -0
- package/.next/cache/webpack/server-development/12.pack.gz +0 -0
- package/.next/cache/webpack/server-development/13.pack.gz +0 -0
- package/.next/cache/webpack/server-development/14.pack.gz +0 -0
- package/.next/cache/webpack/server-development/15.pack.gz +0 -0
- package/.next/cache/webpack/server-development/16.pack.gz +0 -0
- package/.next/cache/webpack/server-development/17.pack.gz +0 -0
- package/.next/cache/webpack/server-development/18.pack.gz +0 -0
- package/.next/cache/webpack/server-development/19.pack.gz +0 -0
- package/.next/cache/webpack/server-development/2.pack.gz +0 -0
- package/.next/cache/webpack/server-development/20.pack.gz +0 -0
- package/.next/cache/webpack/server-development/21.pack.gz +0 -0
- package/.next/cache/webpack/server-development/22.pack.gz +0 -0
- package/.next/cache/webpack/server-development/23.pack.gz +0 -0
- package/.next/cache/webpack/server-development/3.pack.gz +0 -0
- package/.next/cache/webpack/server-development/4.pack.gz +0 -0
- package/.next/cache/webpack/server-development/5.pack.gz +0 -0
- package/.next/cache/webpack/server-development/6.pack.gz +0 -0
- package/.next/cache/webpack/server-development/7.pack.gz +0 -0
- package/.next/cache/webpack/server-development/8.pack.gz +0 -0
- package/.next/cache/webpack/server-development/9.pack.gz +0 -0
- package/.next/cache/webpack/server-development/index.pack.gz +0 -0
- package/.next/cache/webpack/server-development/index.pack.gz.old +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/1.pack +0 -0
- package/.next/cache/webpack/server-production/2.pack +0 -0
- package/.next/cache/webpack/server-production/3.pack +0 -0
- package/.next/cache/webpack/server-production/4.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/pages/_app.js +3720 -1
- package/.next/server/pages/_document.js +86 -1
- package/.next/server/pages/_error.js +3742 -1
- package/.next/server/pages/api/dictionary/[locale]/[word].js +1116 -2
- package/.next/server/pages/api/solve.js +1496 -1
- package/.next/server/pages/api/verify.js +946 -1
- package/.next/server/pages/api/visit.js +176 -1
- package/.next/server/pages/index.js +4312 -1
- package/.next/server/pages-manifest.json +10 -1
- package/.next/server/vendor-chunks/@swc.js +35 -0
- package/.next/server/vendor-chunks/next.js +517 -0
- package/.next/server/webpack-api-runtime.js +168 -1
- package/.next/server/webpack-runtime.js +237 -1
- package/.next/static/chunks/main.js +1285 -0
- package/.next/static/chunks/pages/_app.js +4854 -0
- package/.next/static/chunks/pages/_error.js +28 -0
- package/.next/static/chunks/pages/index.js +717 -0
- package/.next/static/chunks/react-refresh.js +62 -0
- package/.next/static/chunks/webpack.js +1261 -0
- package/.next/static/development/_buildManifest.js +1 -0
- package/.next/static/development/_ssgManifest.js +1 -0
- package/.next/static/webpack/29a2bd94727d51e6.webpack.hot-update.json +1 -0
- package/.next/static/webpack/3754455b7d774808.webpack.hot-update.json +1 -0
- package/.next/static/webpack/633457081244afec._.hot-update.json +1 -0
- package/.next/static/webpack/b71388f846dd4d8b.webpack.hot-update.json +1 -0
- package/.next/static/webpack/e7718e8f7cbe05a0.webpack.hot-update.json +1 -0
- package/.next/static/webpack/pages/_app.29a2bd94727d51e6.hot-update.js +22 -0
- package/.next/static/webpack/pages/_app.3754455b7d774808.hot-update.js +262 -0
- package/.next/static/webpack/pages/_app.e7718e8f7cbe05a0.hot-update.js +251 -0
- package/.next/static/webpack/pages/index.3754455b7d774808.hot-update.js +75 -0
- package/.next/static/webpack/pages/index.b71388f846dd4d8b.hot-update.js +22 -0
- package/.next/static/webpack/pages/index.e7718e8f7cbe05a0.hot-update.js +32 -0
- package/.next/static/webpack/webpack.29a2bd94727d51e6.hot-update.js +18 -0
- package/.next/static/webpack/webpack.3754455b7d774808.hot-update.js +18 -0
- package/.next/static/webpack/webpack.b71388f846dd4d8b.hot-update.js +18 -0
- package/.next/static/webpack/webpack.e7718e8f7cbe05a0.hot-update.js +18 -0
- package/.next/trace +17 -44
- package/package.json +10 -10
- package/src/components/Board/Board.module.scss +14 -0
- package/src/components/Board/Board.tsx +8 -1
- package/src/components/Board/BoardPure.tsx +76 -21
- package/src/components/Board/hooks/useBackgroundImage.tsx +46 -7
- package/src/components/Board/hooks/useBoardStyle.ts +8 -3
- package/src/components/Board/lib/getCoordinate.ts +11 -0
- package/src/components/Board/lib/index.ts +1 -0
- package/src/components/Dictionary/Dictionary.tsx +17 -18
- package/src/components/EmptyState/EmptyState.tsx +1 -1
- package/src/components/Results/Results.module.scss +1 -0
- package/src/hooks/useAppLayout.ts +18 -4
- package/src/i18n/i18n.ts +15 -15
- package/src/i18n/{en.json → languages/english.json} +4 -0
- package/src/i18n/{fr.json → languages/french.json} +4 -0
- package/src/i18n/{de.json → languages/german.json} +4 -0
- package/src/i18n/{fa.json → languages/persian.json} +4 -0
- package/src/i18n/{pl.json → languages/polish.json} +4 -0
- package/src/i18n/{ro.json → languages/romanian.json} +4 -0
- package/src/i18n/{es.json → languages/spanish.json} +4 -0
- package/src/lib/extractCharacters.test.ts +3 -5
- package/src/lib/extractCharactersByCase.test.ts +3 -5
- package/src/modals/SettingsModal/SettingsModal.tsx +11 -1
- package/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.module.scss +12 -0
- package/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx +59 -0
- package/src/modals/SettingsModal/components/ShowCoordinatesSetting/index.ts +1 -0
- package/src/modals/SettingsModal/components/index.ts +1 -0
- package/src/parameters/index.ts +1 -0
- package/src/state/localStorage.ts +10 -1
- package/src/state/sagas.ts +6 -3
- package/src/state/selectors.ts +2 -0
- package/src/state/slices/settingsInitialState.ts +6 -4
- package/src/state/slices/settingsSlice.ts +6 -1
- package/src/state/store.ts +1 -1
- package/src/styles/mixins.scss +9 -2
- package/src/types/index.ts +4 -0
- package/tsconfig.json +1 -0
- package/.next/BUILD_ID +0 -1
- package/.next/export-marker.json +0 -1
- package/.next/images-manifest.json +0 -1
- package/.next/next-minimal-server.js.nft.json +0 -1
- package/.next/next-server.js.nft.json +0 -1
- package/.next/prerender-manifest.js +0 -1
- package/.next/prerender-manifest.json +0 -1
- package/.next/required-server-files.json +0 -1
- package/.next/routes-manifest.json +0 -1
- package/.next/server/InjectManifest.js.nft.json +0 -1
- package/.next/server/chunks/28.js +0 -1
- package/.next/server/chunks/331.js +0 -6
- package/.next/server/chunks/577.js +0 -1
- package/.next/server/chunks/911.js +0 -1
- package/.next/server/chunks/977.js +0 -1
- package/.next/server/chunks/font-manifest.json +0 -1
- package/.next/server/font-manifest.json +0 -1
- package/.next/server/functions-config-manifest.json +0 -1
- package/.next/server/pages/404.html +0 -1
- package/.next/server/pages/404.js.nft.json +0 -1
- package/.next/server/pages/500.html +0 -1
- package/.next/server/pages/_app.js.nft.json +0 -1
- package/.next/server/pages/_document.js.nft.json +0 -1
- package/.next/server/pages/_error.js.nft.json +0 -1
- package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +0 -1
- package/.next/server/pages/api/dictionary/[locale].js +0 -1
- package/.next/server/pages/api/dictionary/[locale].js.nft.json +0 -1
- package/.next/server/pages/api/solve.js.nft.json +0 -1
- package/.next/server/pages/api/verify.js.nft.json +0 -1
- package/.next/server/pages/api/visit.js.nft.json +0 -1
- package/.next/server/pages/index.html +0 -1
- package/.next/server/pages/index.js.nft.json +0 -1
- package/.next/server/pages/index.json +0 -1
- package/.next/static/chunks/framework-1728d40275bc359a.js +0 -49
- package/.next/static/chunks/main-5fb7abbfc135de15.js +0 -1
- package/.next/static/chunks/pages/404-b6e238bb4117d451.js +0 -1
- package/.next/static/chunks/pages/_app-b95404c40a0092e6.js +0 -17
- package/.next/static/chunks/pages/_error-db043fa3544f8809.js +0 -1
- package/.next/static/chunks/pages/index-59d569ef79bc2580.js +0 -1
- package/.next/static/chunks/webpack-6ef43a8d4a395f49.js +0 -1
- package/.next/static/css/8fa2fb99b90e109e.css +0 -1
- package/.next/static/css/c80ebc6fd13311f1.css +0 -2
- package/.next/static/jyVoCYlAT5PMzOeavr5AX/_buildManifest.js +0 -1
- package/.next/static/jyVoCYlAT5PMzOeavr5AX/_ssgManifest.js +0 -1
- /package/.next/static/chunks/{polyfills-c67a75d1b6f99dc8.js → polyfills.js} +0 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
3
|
+
* This devtool is neither made for production nor for readable output files.
|
|
4
|
+
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
5
|
+
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
6
|
+
* or disable the default devtool with "devtool: false".
|
|
7
|
+
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
8
|
+
*/
|
|
9
|
+
self["webpackHotUpdate_N_E"]("pages/_app",{
|
|
10
|
+
|
|
11
|
+
/***/ "../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[1]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[2]!../../node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[6].oneOf[9].use[3]!../../node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[6].oneOf[9].use[4]!./src/components/Board/Board.module.scss":
|
|
12
|
+
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
13
|
+
!*** ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[1]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[2]!../../node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[6].oneOf[9].use[3]!../../node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[6].oneOf[9].use[4]!./src/components/Board/Board.module.scss ***!
|
|
14
|
+
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
15
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
16
|
+
|
|
17
|
+
eval(__webpack_require__.ts("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"../../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes Board_hide__3Xn0K {\\n 0% {\\n opacity: 1;\\n }\\n 100% {\\n opacity: 0;\\n }\\n}\\n@keyframes Board_show__qgRUu {\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n}\\n@keyframes Board_rotate__dvty2 {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes Board_wave__YvFwO {\\n 0% {\\n transform: translateY(0px);\\n }\\n 25% {\\n transform: translateY(6px);\\n }\\n 75% {\\n transform: translateY(-6px);\\n }\\n 100% {\\n transform: translateY(0px);\\n }\\n}\\n/**\\n * It does not work when applied on input elements.\\n */\\n.Board_board__Xnuco {\\n display: grid;\\n grid-gap: var(--border--width);\\n gap: var(--border--width);\\n box-shadow: var(--box-shadow);\\n border: var(--border);\\n border-radius: var(--border--radius);\\n}\\n\\n.Board_floating__6BuCt {\\n position: absolute;\\n z-index: var(--z-index--actions);\\n width: max-content;\\n height: max-content;\\n animation: var(--transition--duration) var(--transition--easing) Board_show__qgRUu;\\n}\\n\\n.Board_focus__1plN1 {\\n --focus-effect--size: 6px;\\n position: relative;\\n cursor: text;\\n}\\n.Board_focus__1plN1::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: var(--z-index--focus-effect);\\n transition: var(--transition);\\n border-radius: var(--border--radius);\\n box-shadow: 0 0 0 var(--focus-effect--size) transparent;\\n pointer-events: none;\\n}\\n.Board_focus__1plN1:focus-within,\\n.Board_focus__1plN1:focus-within * {\\n outline: none;\\n}\\n.Board_focus__1plN1:focus-within::after {\\n content: \\\"\\\";\\n box-shadow: 0 0 0 var(--focus-effect--size) var(--color--focus);\\n}\\n.Board_focus__1plN1::after {\\n content: \\\"\\\";\\n box-shadow: 0 0 0 var(--focus-effect--size) var(--color--focus);\\n}\\n\\n.Board_hidden__HUigM {\\n pointer-events: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n animation: var(--transition--duration) var(--transition--easing) Board_hide__3Xn0K;\\n}\\n\\n.Board_iconContainer__YELP8 {\\n position: absolute;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n pointer-events: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n}\\n\\n.Board_iconBackground__u0tVi,\\n.Board_icon__0J1Ig {\\n position: absolute;\\n top: calc((100% - var(--size)) / 2);\\n right: calc((100% - var(--size)) / 2);\\n bottom: calc((100% - var(--size)) / 2);\\n left: calc((100% - var(--size)) / 2);\\n width: var(--size);\\n height: var(--size);\\n}\\n\\n.Board_iconBackground__u0tVi {\\n --size: 80%;\\n border-radius: var(--border--radius);\\n background-color: var(--color--foreground--secondary);\\n}\\n\\n.Board_icon__0J1Ig {\\n --size: 40%;\\n color: var(--color--white);\\n}\\n\\n.Board_coordinateColumn__asn6p {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font-size: var(--font--size--h2);\\n}\\n\\n.Board_coordinateRow__hsGA_ {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font-size: var(--font--size--h2);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://src/styles/animations.scss\",\"webpack://src/components/Board/Board.module.scss\",\"webpack://src/styles/mixins.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE;IACE,UAAA;ECCF;EDEA;IACE,UAAA;ECAF;AACF;ADGA;EACE;IACE,UAAA;ECDF;EDIA;IACE,UAAA;ECFF;AACF;ADKA;EACE;IACE,uBAAA;ECHF;EDMA;IACE,yBAAA;ECJF;AACF;ADOA;EAGE;IACE,0BAAA;ECPF;EDUA;IACE,0BAAA;ECRF;EDWA;IACE,2BAAA;ECTF;EDYA;IACE,0BAAA;ECVF;AACF;ACDA;;EAAA;ADjCA;EACE,aAAA;EACA,8BAAA;EAAA,yBAAA;EACA,6BAAA;EACA,qBAAA;EACA,oCAAA;AAuCF;;AApCA;EACE,kBAAA;EACA,gCAAA;EACA,kBAAA;EACA,mBAAA;EACA,kFAAA;AAuCF;;AApCA;ECqBE,yBAAA;EAEA,kBAAA;EDpBA,YAAA;AAuCF;ACjBE;EACE,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,qCAAA;EACA,6BAAA;EACA,oCAAA;EACA,uDAAA;EACA,oBAAA;ADmBJ;ACfI;;EAEE,aAAA;ADiBN;ACdI;EACE,WAAA;EACA,+DAAA;ADgBN;AAzDE;EACE,WAAA;EACA,+DAAA;AA2DJ;;AAvDA;EACE,oBAAA;EACA,yBAAA;KAAA,sBAAA;UAAA,iBAAA;EACA,kFAAA;AA0DF;;AAvDA;EACE,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,oBAAA;EACA,yBAAA;KAAA,sBAAA;UAAA,iBAAA;AA0DF;;AAvDA;;EAEE,kBAAA;EACA,mCAAA;EACA,qCAAA;EACA,sCAAA;EACA,oCAAA;EACA,kBAAA;EACA,mBAAA;AA0DF;;AAvDA;EACE,WAAA;EAEA,oCAAA;EACA,qDAAA;AAyDF;;AAtDA;EACE,WAAA;EAEA,0BAAA;AAwDF;;AArDA;EACE,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,gCAAA;AAwDF;;AArDA;EACE,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,gCAAA;AAwDF\",\"sourcesContent\":[\"@keyframes hide {\\n 0% {\\n opacity: 1;\\n }\\n\\n 100% {\\n opacity: 0;\\n }\\n}\\n\\n@keyframes show {\\n 0% {\\n opacity: 0;\\n }\\n\\n 100% {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes rotate {\\n 0% {\\n transform: rotate(0deg);\\n }\\n\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes wave {\\n $offset: 6px;\\n\\n 0% {\\n transform: translateY(0px);\\n }\\n\\n 25% {\\n transform: translateY($offset);\\n }\\n\\n 75% {\\n transform: translateY(-$offset);\\n }\\n\\n 100% {\\n transform: translateY(0px);\\n }\\n}\\n\",\"@import 'styles/animations';\\n@import 'styles/mixins';\\n\\n.board {\\n display: grid;\\n gap: var(--border--width);\\n box-shadow: var(--box-shadow);\\n border: var(--border);\\n border-radius: var(--border--radius);\\n}\\n\\n.floating {\\n position: absolute;\\n z-index: var(--z-index--actions);\\n width: max-content;\\n height: max-content;\\n animation: var(--transition--duration) var(--transition--easing) show;\\n}\\n\\n.focus {\\n @include focus-effect;\\n\\n cursor: text;\\n\\n &::after {\\n content: '';\\n box-shadow: 0 0 0 var(--focus-effect--size) var(--color--focus);\\n }\\n}\\n\\n.hidden {\\n pointer-events: none;\\n user-select: none;\\n animation: var(--transition--duration) var(--transition--easing) hide;\\n}\\n\\n.iconContainer {\\n position: absolute;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n pointer-events: none;\\n user-select: none;\\n}\\n\\n.iconBackground,\\n.icon {\\n position: absolute;\\n top: calc((100% - var(--size)) / 2);\\n right: calc((100% - var(--size)) / 2);\\n bottom: calc((100% - var(--size)) / 2);\\n left: calc((100% - var(--size)) / 2);\\n width: var(--size);\\n height: var(--size);\\n}\\n\\n.iconBackground {\\n --size: 80%;\\n\\n border-radius: var(--border--radius);\\n background-color: var(--color--foreground--secondary);\\n}\\n\\n.icon {\\n --size: 40%;\\n\\n color: var(--color--white);\\n}\\n\\n.coordinateColumn {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font-size: var(--font--size--h2);\\n}\\n\\n.coordinateRow {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font-size: var(--font--size--h2);\\n}\\n\",\"@import 'include-media';\\n\\n$breakpoints: (\\n xs: 480px,\\n s: 768px,\\n m: 992px,\\n l: 1200px,\\n xl: 1400px,\\n);\\n\\n$media-expressions: (\\n touch: '(hover: none)',\\n);\\n\\n@mixin scrollbars {\\n scrollbar-color: var(--scrollbar--thumb--color) var(--scrollbar--thumb--track);\\n scrollbar-width: auto;\\n\\n &::-webkit-scrollbar {\\n width: var(--scrollbar--size);\\n background-color: var(--scrollbar--track--color);\\n }\\n\\n &::-webkit-scrollbar-thumb {\\n background-color: var(--scrollbar--thumb--color);\\n }\\n\\n &:hover {\\n scrollbar-color: var(--scrollbar--thumb--color--highlight) var(--scrollbar--track--color);\\n\\n &::-webkit-scrollbar-thumb {\\n background-color: var(--scrollbar--thumb--color--highlight);\\n }\\n }\\n}\\n\\n/**\\n * It does not work when applied on input elements.\\n */\\n@mixin focus-effect {\\n --focus-effect--size: 6px;\\n\\n position: relative;\\n\\n &::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: var(--z-index--focus-effect);\\n transition: var(--transition);\\n border-radius: var(--border--radius);\\n box-shadow: 0 0 0 var(--focus-effect--size) transparent;\\n pointer-events: none;\\n }\\n\\n &:focus-within {\\n &,\\n * {\\n outline: none;\\n }\\n\\n &::after {\\n content: '';\\n box-shadow: 0 0 0 var(--focus-effect--size) var(--color--focus);\\n }\\n }\\n}\\n\\n@mixin disabled {\\n opacity: var(--opacity--disabled);\\n box-shadow: none;\\n cursor: not-allowed;\\n}\\n\\n@mixin ellipsis {\\n display: block;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n\\n@mixin button-reset {\\n padding: 0;\\n border: none;\\n outline: none;\\n font: inherit;\\n color: inherit;\\n background: none;\\n}\\n\\n@mixin list-reset {\\n padding: 0;\\n margin-block-start: 0;\\n margin-block-end: 0;\\n list-style-type: none;\\n}\\n\\n@mixin text-input {\\n width: 100%;\\n height: var(--text-input--height);\\n padding: 0 var(--spacing--l);\\n transition: var(--transition);\\n font-size: var(--font--size--m);\\n outline: none;\\n}\\n\\n@mixin text-stroke($color, $size: 1px) {\\n text-shadow:\\n $size 0 $color,\\n (-$size) 0 $color,\\n 0 $size $color,\\n 0 (-$size) $color,\\n (-$size) (-$size) $color,\\n (-$size) $size $color,\\n $size (-$size) $color,\\n $size $size $color;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"board\": \"Board_board__Xnuco\",\n\t\"floating\": \"Board_floating__6BuCt\",\n\t\"show\": \"Board_show__qgRUu\",\n\t\"focus\": \"Board_focus__1plN1\",\n\t\"hidden\": \"Board_hidden__HUigM\",\n\t\"hide\": \"Board_hide__3Xn0K\",\n\t\"iconContainer\": \"Board_iconContainer__YELP8\",\n\t\"iconBackground\": \"Board_iconBackground__u0tVi\",\n\t\"icon\": \"Board_icon__0J1Ig\",\n\t\"coordinateColumn\": \"Board_coordinateColumn__asn6p\",\n\t\"coordinateRow\": \"Board_coordinateRow__hsGA_\",\n\t\"rotate\": \"Board_rotate__dvty2\",\n\t\"wave\": \"Board_wave__YvFwO\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3J1bGVTZXRbMV0ucnVsZXNbNl0ub25lT2ZbOV0udXNlWzFdIS4uLy4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1s2XS5vbmVPZls5XS51c2VbMl0hLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzZdLm9uZU9mWzldLnVzZVszXSEuLi8uLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Nhc3MtbG9hZGVyL2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s2XS5vbmVPZls5XS51c2VbNF0hLi9zcmMvY29tcG9uZW50cy9Cb2FyZC9Cb2FyZC5tb2R1bGUuc2NzcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGtDQUFrQyxtQkFBTyxDQUFDLG1MQUEyRjtBQUNySTtBQUNBO0FBQ0Esd0VBQXdFLFFBQVEsaUJBQWlCLEtBQUssVUFBVSxpQkFBaUIsS0FBSyxHQUFHLGdDQUFnQyxRQUFRLGlCQUFpQixLQUFLLFVBQVUsaUJBQWlCLEtBQUssR0FBRyxrQ0FBa0MsUUFBUSw4QkFBOEIsS0FBSyxVQUFVLGdDQUFnQyxLQUFLLEdBQUcsZ0NBQWdDLFFBQVEsaUNBQWlDLEtBQUssU0FBUyxpQ0FBaUMsS0FBSyxTQUFTLGtDQUFrQyxLQUFLLFVBQVUsaUNBQWlDLEtBQUssR0FBRyxzRkFBc0Ysa0JBQWtCLG1DQUFtQyw4QkFBOEIsa0NBQWtDLDBCQUEwQix5Q0FBeUMsR0FBRyw0QkFBNEIsdUJBQXVCLHFDQUFxQyx1QkFBdUIsd0JBQXdCLHVGQUF1RixHQUFHLHlCQUF5Qiw4QkFBOEIsdUJB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QTRGLHdEQUF3RCx1QkFBdUIsbUZBQW1GLDBCQUEwQiw0QkFBNEIsb0NBQW9DLHVEQUF1RCxLQUFLLGtDQUFrQyx1REFBdUQsS0FBSyxlQUFlLGdHQUFnRyxvQ0FBb0Msb0VBQW9FLE9BQU8sS0FBSyxHQUFHLHdGQUF3Riw4QkFBOEIseUJBQXlCLGdCQUFnQix5QkFBeUIsYUFBYSxlQUFlLGdCQUFnQixjQUFjLDRDQUE0QyxvQ0FBb0MsMkNBQTJDLDhEQUE4RCwyQkFBMkIsS0FBSyxzQkFBc0IsaUJBQWlCLHNCQUFzQixPQUFPLGtCQUFrQixvQkFBb0Isd0VBQXdFLE9BQU8sS0FBSyxHQUFHLHFCQUFxQixzQ0FBc0MscUJBQXFCLHdCQUF3QixHQUFHLHFCQUFxQixtQkFBbUIsNEJBQTRCLHdCQUF3QixxQkFBcUIsR0FBRyx5QkFBeUIsZUFBZSxpQkFBaUIsa0JBQWtCLGtCQUFrQixtQkFBbUIscUJBQXFCLEdBQUcsdUJBQXVCLGVBQWUsMEJBQTBCLHdCQUF3QiwwQkFBMEIsR0FBRyx1QkFBdUIsZ0JBQWdCLHNDQUFzQyxpQ0FBaUMsa0NBQWtDLG9DQUFvQyxrQkFBa0IsR0FBRyw0Q0FBNEMsME5BQTBOLEdBQUcscUJBQXFCO0FBQzN2UjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0JvYXJkL0JvYXJkLm1vZHVsZS5zY3NzPzBmNmIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xudmFyIF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiKTtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBrZXlmcmFtZXMgQm9hcmRfaGlkZV9fM1huMEsge1xcbiAgMCUge1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgQm9hcmRfc2hvd19fcWdSVXUge1xcbiAgMCUge1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgQm9hcmRfcm90YXRlX19kdnR5MiB7XFxuICAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgQm9hcmRfd2F2ZV9fWXZGd08ge1xcbiAgMCUge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcXG4gIH1cXG4gIDI1JSB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xcbiAgfVxcbiAgNzUlIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBJdCBkb2VzIG5vdCB3b3JrIHdoZW4gYXBwbGllZCBvbiBpbnB1dCBlbGVtZW50cy5cXG4gKi9cXG4uQm9hcmRfYm9hcmRfX1hudWNvIHtcXG4gIGRpc3BsYXk6IGdyaWQ7XFxuICBncmlkLWdhcDogdmFyKC0tYm9yZGVyLS13aWR0aCk7XFxuICBnYXA6IHZhcigtLWJvcmRlci0td2lkdGgpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdyk7XFxuICBib3JkZXI6IHZhcigtLWJvcmRlcik7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItLXJhZGl1cyk7XFxufVxcblxcbi5Cb2FyZF9mbG9hdGluZ19fNkJ1Q3Qge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogdmFyKC0tei1pbmRleC0tYWN0aW9ucyk7XFxuICB3aWR0aDogbWF4LWNvbnRlbnQ7XFxuICBoZWlnaHQ6IG1heC1jb250ZW50O1xcbiAgYW5pbWF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLS1kdXJhdGlvbikgdmFyKC0tdHJhbnNpdGlvbi0tZWFzaW5nKSBCb2FyZF9zaG93X19xZ1JVdTtcXG59XFxuXFxuLkJvYXJkX2ZvY3VzX18xcGxOMSB7XFxuICAtLWZvY3VzLWVmZmVjdC0tc2l6ZTogNnB4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgY3Vyc29yOiB0ZXh0O1xcbn1cXG4uQm9hcmRfZm9jdXNfXzFwbE4xOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiB2YXIoLS16LWluZGV4LS1mb2N1cy1lZmZlY3QpO1xcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItLXJhZGl1cyk7XFxuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1mb2N1cy1lZmZlY3QtLXNpemUpIHRyYW5zcGFyZW50O1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxufVxcbi5Cb2FyZF9mb2N1c19fMXBsTjE6Zm9jdXMtd2l0aGluLFxcbi5Cb2FyZF9mb2N1c19fMXBsTjE6Zm9jdXMtd2l0aGluICoge1xcbiAgb3V0bGluZTogbm9uZTtcXG59XFxuLkJvYXJkX2ZvY3VzX18xcGxOMTpmb2N1cy13aXRoaW46OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tZm9jdXMtZWZmZWN0LS1zaXplKSB2YXIoLS1jb2xvci0tZm9jdXMpO1xcbn1cXG4uQm9hcmRfZm9jdXNfXzFwbE4xOjphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWZvY3VzLWVmZmVjdC0tc2l6ZSkgdmFyKC0tY29sb3ItLWZvY3VzKTtcXG59XFxuXFxuLkJvYXJkX2hpZGRlbl9fSFVpZ00ge1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICBhbmltYXRpb246IHZhcigtLXRyYW5zaXRpb24tLWR1cmF0aW9uKSB2YXIoLS10cmFuc2l0aW9uLS1lYXNpbmcpIEJvYXJkX2hpZGVfXzNYbjBLO1xcbn1cXG5cXG4uQm9hcmRfaWNvbkNvbnRhaW5lcl9fWUVMUDgge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xcbn1cXG5cXG4uQm9hcmRfaWNvbkJhY2tncm91bmRfX3UwdFZpLFxcbi5Cb2FyZF9pY29uX18wSjFJZyB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IGNhbGMoKDEwMCUgLSB2YXIoLS1zaXplKSkgLyAyKTtcXG4gIHJpZ2h0OiBjYWxjKCgxMDAlIC0gdmFyKC0tc2l6ZSkpIC8gMik7XFxuICBib3R0b206IGNhbGMoKDEwMCUgLSB2YXIoLS1zaXplKSkgLyAyKTtcXG4gIGxlZnQ6IGNhbGMoKDEwMCUgLSB2YXIoLS1zaXplKSkgLyAyKTtcXG4gIHdpZHRoOiB2YXIoLS1zaXplKTtcXG4gIGhlaWdodDogdmFyKC0tc2l6ZSk7XFxufVxcblxcbi5Cb2FyZF9pY29uQmFja2dyb3VuZF9fdTB0Vmkge1xcbiAgLS1zaXplOiA4MCU7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItLXJhZGl1cyk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0tZm9yZWdyb3VuZC0tc2Vjb25kYXJ5KTtcXG59XFxuXFxuLkJvYXJkX2ljb25fXzBKMUlnIHtcXG4gIC0tc2l6ZTogNDAlO1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLS13aGl0ZSk7XFxufVxcblxcbi5Cb2FyZF9jb29yZGluYXRlQ29sdW1uX19hc242cCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LS1zaXplLS1oMik7XFxufVxcblxcbi5Cb2FyZF9jb29yZGluYXRlUm93X19oc0dBXyB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LS1zaXplLS1oMik7XFxufVwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zcmMvc3R5bGVzL2FuaW1hdGlvbnMuc2Nzc1wiLFwid2VicGFjazovL3NyYy9jb21wb25lbnRzL0JvYXJkL0JvYXJkLm1vZHVsZS5zY3NzXCIsXCJ3ZWJwYWNrOi8vc3JjL3N0eWxlcy9taXhpbnMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTtFQUNFO0lBQ0UsVUFBQTtFQ0NGO0VERUE7SUFDRSxVQUFBO0VDQUY7QUFDRjtBREdBO0VBQ0U7SUFDRSxVQUFBO0VDREY7RURJQTtJQUNFLFVBQUE7RUNGRjtBQUNGO0FES0E7RUFDRTtJQUNFLHVCQUFBO0VDSEY7RURNQTtJQUNFLHlCQUFBO0VDSkY7QUFDRjtBRE9BO0VBR0U7SUFDRSwwQkFBQTtFQ1BGO0VEVUE7SUFDRSwwQkFBQTtFQ1JGO0VEV0E7SUFDRSwyQkFBQTtFQ1RGO0VEWUE7SUFDRSwwQkFBQTtFQ1ZGO0FBQ0Y7QUNEQTs7RUFBQTtBRGpDQTtFQUNFLGFBQUE7RUFDQSw4QkFBQTtFQUFBLHlCQUFBO0VBQ0EsNkJBQUE7RUFDQSxxQkFBQTtFQUNBLG9DQUFBO0FBdUNGOztBQXBDQTtFQUNFLGtCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0ZBQUE7QUF1Q0Y7O0FBcENBO0VDcUJFLHlCQUFBO0VBRUEsa0JBQUE7RURwQkEsWUFBQTtBQXVDRjtBQ2pCRTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLHFDQUFBO0VBQ0EsNkJBQUE7RUFDQSxvQ0FBQTtFQUNBLHVEQUFBO0VBQ0Esb0JBQUE7QURtQko7QUNmSTs7RUFFRSxhQUFBO0FEaUJOO0FDZEk7RUFDRSxXQUFBO0VBQ0EsK0RBQUE7QURnQk47QUF6REU7RUFDRSxXQUFBO0VBQ0EsK0RBQUE7QUEyREo7O0FBdkRBO0VBQ0Usb0JBQUE7RUFDQSx5QkFBQTtLQUFBLHNCQUFBO1VBQUEsaUJBQUE7RUFDQSxrRkFBQTtBQTBERjs7QUF2REE7RUFDRSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0Esb0JBQUE7RUFDQSx5QkFBQTtLQUFBLHNCQUFBO1VBQUEsaUJBQUE7QUEwREY7O0FBdkRBOztFQUVFLGtCQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0FBMERGOztBQXZEQTtFQUNFLFdBQUE7RUFFQSxvQ0FBQTtFQUNBLHFEQUFBO0FBeURGOztBQXREQTtFQUNFLFdBQUE7RUFFQSwwQkFBQTtBQXdERjs7QUFyREE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGdDQUFBO0FBd0RGOztBQXJEQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0NBQUE7QUF3REZcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQGtleWZyYW1lcyBoaWRlIHtcXG4gIDAlIHtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG5cXG4gIDEwMCUge1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5cXG5Aa2V5ZnJhbWVzIHNob3cge1xcbiAgMCUge1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcblxcbiAgMTAwJSB7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxufVxcblxcbkBrZXlmcmFtZXMgcm90YXRlIHtcXG4gIDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICB9XFxuXFxuICAxMDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gIH1cXG59XFxuXFxuQGtleWZyYW1lcyB3YXZlIHtcXG4gICRvZmZzZXQ6IDZweDtcXG5cXG4gIDAlIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XFxuICB9XFxuXFxuICAyNSUge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJG9mZnNldCk7XFxuICB9XFxuXFxuICA3NSUge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRvZmZzZXQpO1xcbiAgfVxcblxcbiAgMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xcbiAgfVxcbn1cXG5cIixcIkBpbXBvcnQgJ3N0eWxlcy9hbmltYXRpb25zJztcXG5AaW1wb3J0ICdzdHlsZXMvbWl4aW5zJztcXG5cXG4uYm9hcmQge1xcbiAgZGlzcGxheTogZ3JpZDtcXG4gIGdhcDogdmFyKC0tYm9yZGVyLS13aWR0aCk7XFxuICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93KTtcXG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyKTtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci0tcmFkaXVzKTtcXG59XFxuXFxuLmZsb2F0aW5nIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHotaW5kZXg6IHZhcigtLXotaW5kZXgtLWFjdGlvbnMpO1xcbiAgd2lkdGg6IG1heC1jb250ZW50O1xcbiAgaGVpZ2h0OiBtYXgtY29udGVudDtcXG4gIGFuaW1hdGlvbjogdmFyKC0tdHJhbnNpdGlvbi0tZHVyYXRpb24pIHZhcigtLXRyYW5zaXRpb24tLWVhc2luZykgc2hvdztcXG59XFxuXFxuLmZvY3VzIHtcXG4gIEBpbmNsdWRlIGZvY3VzLWVmZmVjdDtcXG5cXG4gIGN1cnNvcjogdGV4dDtcXG5cXG4gICY6OmFmdGVyIHtcXG4gICAgY29udGVudDogJyc7XFxuICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWZvY3VzLWVmZmVjdC0tc2l6ZSkgdmFyKC0tY29sb3ItLWZvY3VzKTtcXG4gIH1cXG59XFxuXFxuLmhpZGRlbiB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgYW5pbWF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLS1kdXJhdGlvbikgdmFyKC0tdHJhbnNpdGlvbi0tZWFzaW5nKSBoaWRlO1xcbn1cXG5cXG4uaWNvbkNvbnRhaW5lciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG59XFxuXFxuLmljb25CYWNrZ3JvdW5kLFxcbi5pY29uIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogY2FsYygoMTAwJSAtIHZhcigtLXNpemUpKSAvIDIpO1xcbiAgcmlnaHQ6IGNhbGMoKDEwMCUgLSB2YXIoLS1zaXplKSkgLyAyKTtcXG4gIGJvdHRvbTogY2FsYygoMTAwJSAtIHZhcigtLXNpemUpKSAvIDIpO1xcbiAgbGVmdDogY2FsYygoMTAwJSAtIHZhcigtLXNpemUpKSAvIDIpO1xcbiAgd2lkdGg6IHZhcigtLXNpemUpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcXG59XFxuXFxuLmljb25CYWNrZ3JvdW5kIHtcXG4gIC0tc2l6ZTogODAlO1xcblxcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLS1yYWRpdXMpO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItLWZvcmVncm91bmQtLXNlY29uZGFyeSk7XFxufVxcblxcbi5pY29uIHtcXG4gIC0tc2l6ZTogNDAlO1xcblxcbiAgY29sb3I6IHZhcigtLWNvbG9yLS13aGl0ZSk7XFxufVxcblxcbi5jb29yZGluYXRlQ29sdW1uIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBmb250LXNpemU6IHZhcigtLWZvbnQtLXNpemUtLWgyKTtcXG59XFxuXFxuLmNvb3JkaW5hdGVSb3cge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0tc2l6ZS0taDIpO1xcbn1cXG5cIixcIkBpbXBvcnQgJ2luY2x1ZGUtbWVkaWEnO1xcblxcbiRicmVha3BvaW50czogKFxcbiAgeHM6IDQ4MHB4LFxcbiAgczogNzY4cHgsXFxuICBtOiA5OTJweCxcXG4gIGw6IDEyMDBweCxcXG4gIHhsOiAxNDAwcHgsXFxuKTtcXG5cXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcXG4gIHRvdWNoOiAnKGhvdmVyOiBub25lKScsXFxuKTtcXG5cXG5AbWl4aW4gc2Nyb2xsYmFycyB7XFxuICBzY3JvbGxiYXItY29sb3I6IHZhcigtLXNjcm9sbGJhci0tdGh1bWItLWNvbG9yKSB2YXIoLS1zY3JvbGxiYXItLXRodW1iLS10cmFjayk7XFxuICBzY3JvbGxiYXItd2lkdGg6IGF1dG87XFxuXFxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XFxuICAgIHdpZHRoOiB2YXIoLS1zY3JvbGxiYXItLXNpemUpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItLXRyYWNrLS1jb2xvcik7XFxuICB9XFxuXFxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNjcm9sbGJhci0tdGh1bWItLWNvbG9yKTtcXG4gIH1cXG5cXG4gICY6aG92ZXIge1xcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLXNjcm9sbGJhci0tdGh1bWItLWNvbG9yLS1oaWdobGlnaHQpIHZhcigtLXNjcm9sbGJhci0tdHJhY2stLWNvbG9yKTtcXG5cXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNjcm9sbGJhci0tdGh1bWItLWNvbG9yLS1oaWdobGlnaHQpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbi8qKlxcbiAqIEl0IGRvZXMgbm90IHdvcmsgd2hlbiBhcHBsaWVkIG9uIGlucHV0IGVsZW1lbnRzLlxcbiAqL1xcbkBtaXhpbiBmb2N1cy1lZmZlY3Qge1xcbiAgLS1mb2N1cy1lZmZlY3QtLXNpemU6IDZweDtcXG5cXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXG4gICY6OmFmdGVyIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3R0b206IDA7XFxuICAgIGxlZnQ6IDA7XFxuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtLWZvY3VzLWVmZmVjdCk7XFxuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItLXJhZGl1cyk7XFxuICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWZvY3VzLWVmZmVjdC0tc2l6ZSkgdHJhbnNwYXJlbnQ7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgfVxcblxcbiAgJjpmb2N1cy13aXRoaW4ge1xcbiAgICAmLFxcbiAgICAqIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICB9XFxuXFxuICAgICY6OmFmdGVyIHtcXG4gICAgICBjb250ZW50OiAnJztcXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1mb2N1cy1lZmZlY3QtLXNpemUpIHZhcigtLWNvbG9yLS1mb2N1cyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuQG1peGluIGRpc2FibGVkIHtcXG4gIG9wYWNpdHk6IHZhcigtLW9wYWNpdHktLWRpc2FibGVkKTtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xcbn1cXG5cXG5AbWl4aW4gZWxsaXBzaXMge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG5AbWl4aW4gYnV0dG9uLXJlc2V0IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBib3JkZXI6IG5vbmU7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgZm9udDogaW5oZXJpdDtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgYmFja2dyb3VuZDogbm9uZTtcXG59XFxuXFxuQG1peGluIGxpc3QtcmVzZXQge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbi1ibG9jay1zdGFydDogMDtcXG4gIG1hcmdpbi1ibG9jay1lbmQ6IDA7XFxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XFxufVxcblxcbkBtaXhpbiB0ZXh0LWlucHV0IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiB2YXIoLS10ZXh0LWlucHV0LS1oZWlnaHQpO1xcbiAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLS1sKTtcXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LS1zaXplLS1tKTtcXG4gIG91dGxpbmU6IG5vbmU7XFxufVxcblxcbkBtaXhpbiB0ZXh0LXN0cm9rZSgkY29sb3IsICRzaXplOiAxcHgpIHtcXG4gIHRleHQtc2hhZG93OlxcbiAgICAkc2l6ZSAwICRjb2xvcixcXG4gICAgKC0kc2l6ZSkgMCAkY29sb3IsXFxuICAgIDAgJHNpemUgJGNvbG9yLFxcbiAgICAwICgtJHNpemUpICRjb2xvcixcXG4gICAgKC0kc2l6ZSkgKC0kc2l6ZSkgJGNvbG9yLFxcbiAgICAoLSRzaXplKSAkc2l6ZSAkY29sb3IsXFxuICAgICRzaXplICgtJHNpemUpICRjb2xvcixcXG4gICAgJHNpemUgJHNpemUgJGNvbG9yO1xcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLmxvY2FscyA9IHtcblx0XCJib2FyZFwiOiBcIkJvYXJkX2JvYXJkX19YbnVjb1wiLFxuXHRcImZsb2F0aW5nXCI6IFwiQm9hcmRfZmxvYXRpbmdfXzZCdUN0XCIsXG5cdFwic2hvd1wiOiBcIkJvYXJkX3Nob3dfX3FnUlV1XCIsXG5cdFwiZm9jdXNcIjogXCJCb2FyZF9mb2N1c19fMXBsTjFcIixcblx0XCJoaWRkZW5cIjogXCJCb2FyZF9oaWRkZW5fX0hVaWdNXCIsXG5cdFwiaGlkZVwiOiBcIkJvYXJkX2hpZGVfXzNYbjBLXCIsXG5cdFwiaWNvbkNvbnRhaW5lclwiOiBcIkJvYXJkX2ljb25Db250YWluZXJfX1lFTFA4XCIsXG5cdFwiaWNvbkJhY2tncm91bmRcIjogXCJCb2FyZF9pY29uQmFja2dyb3VuZF9fdTB0VmlcIixcblx0XCJpY29uXCI6IFwiQm9hcmRfaWNvbl9fMEoxSWdcIixcblx0XCJjb29yZGluYXRlQ29sdW1uXCI6IFwiQm9hcmRfY29vcmRpbmF0ZUNvbHVtbl9fYXNuNnBcIixcblx0XCJjb29yZGluYXRlUm93XCI6IFwiQm9hcmRfY29vcmRpbmF0ZVJvd19faHNHQV9cIixcblx0XCJyb3RhdGVcIjogXCJCb2FyZF9yb3RhdGVfX2R2dHkyXCIsXG5cdFwid2F2ZVwiOiBcIkJvYXJkX3dhdmVfX1l2RndPXCJcbn07XG5tb2R1bGUuZXhwb3J0cyA9IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[1]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[2]!../../node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[6].oneOf[9].use[3]!../../node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[6].oneOf[9].use[4]!./src/components/Board/Board.module.scss\n"));
|
|
18
|
+
|
|
19
|
+
/***/ }),
|
|
20
|
+
|
|
21
|
+
/***/ "../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[1]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[2]!../../node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[6].oneOf[9].use[3]!../../node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[6].oneOf[9].use[4]!./src/components/Results/Results.module.scss":
|
|
22
|
+
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
23
|
+
!*** ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[1]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[2]!../../node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[6].oneOf[9].use[3]!../../node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[6].oneOf[9].use[4]!./src/components/Results/Results.module.scss ***!
|
|
24
|
+
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
25
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
26
|
+
|
|
27
|
+
eval(__webpack_require__.ts("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"../../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/**\\n * It does not work when applied on input elements.\\n */\\n.Results_results__RAvy9 {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n background: var(--color--background--element);\\n border: var(--border);\\n border-radius: var(--border--radius);\\n}\\n\\n.Results_emptyState__HkpYj {\\n flex: 1 1;\\n}\\n\\n.Results_content__eBfb2 {\\n flex: 1 1;\\n position: relative;\\n height: 100%;\\n}\\n\\n.Results_listContainer__y4jAK {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n}\\n\\n.Results_list__ep2TB {\\n scrollbar-color: var(--scrollbar--thumb--color) var(--scrollbar--thumb--track);\\n scrollbar-width: auto;\\n scrollbar-gutter: stable;\\n transition: var(--transition);\\n}\\n.Results_list__ep2TB::-webkit-scrollbar {\\n width: var(--scrollbar--size);\\n background-color: var(--scrollbar--track--color);\\n}\\n.Results_list__ep2TB::-webkit-scrollbar-thumb {\\n background-color: var(--scrollbar--thumb--color);\\n}\\n.Results_list__ep2TB:hover {\\n scrollbar-color: var(--scrollbar--thumb--color--highlight) var(--scrollbar--track--color);\\n}\\n.Results_list__ep2TB:hover::-webkit-scrollbar-thumb {\\n background-color: var(--scrollbar--thumb--color--highlight);\\n}\\n.Results_list__ep2TB.Results_outdated__xbp6D {\\n filter: blur(2px);\\n}\\n\\n.Results_header__f0CUM {\\n position: relative;\\n z-index: 1;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n font-weight: 700;\\n border-bottom: var(--border);\\n border-top-left-radius: inherit;\\n border-top-right-radius: inherit;\\n}\\n\\n.Results_headerButton__Cl1_U {\\n padding: 0;\\n border: none;\\n outline: none;\\n font: inherit;\\n color: inherit;\\n background: none;\\n --focus-effect--size: 6px;\\n position: relative;\\n cursor: pointer;\\n text-transform: uppercase;\\n transition: var(--transition);\\n background-color: var(--color--background);\\n}\\n.Results_headerButton__Cl1_U::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: var(--z-index--focus-effect);\\n transition: var(--transition);\\n border-radius: var(--border--radius);\\n box-shadow: 0 0 0 var(--focus-effect--size) transparent;\\n pointer-events: none;\\n}\\n.Results_headerButton__Cl1_U:focus-within,\\n.Results_headerButton__Cl1_U:focus-within * {\\n outline: none;\\n}\\n.Results_headerButton__Cl1_U:focus-within::after {\\n content: \\\"\\\";\\n box-shadow: 0 0 0 var(--focus-effect--size) var(--color--focus);\\n}\\n.Results_headerButton__Cl1_U:focus, .Results_headerButton__Cl1_U:hover {\\n background-color: var(--color--primary);\\n color: var(--color--primary--opposite);\\n}\\n[dir=ltr] .Results_headerButton__Cl1_U:first-child {\\n border-top-left-radius: inherit;\\n}\\n[dir=rtl] .Results_headerButton__Cl1_U:first-child {\\n border-top-right-radius: inherit;\\n}\\n[dir=ltr] .Results_headerButton__Cl1_U:last-child {\\n border-top-right-radius: inherit;\\n}\\n[dir=rtl] .Results_headerButton__Cl1_U:last-child {\\n border-top-left-radius: inherit;\\n}\\n\\n.Results_headerButtonLabel__OxgLh {\\n display: block;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n flex: 0 1 auto;\\n text-align: left;\\n}\\n[dir=rtl] .Results_headerButtonLabel__OxgLh {\\n text-align: right;\\n}\\n\\n.Results_result__S0y54 {\\n padding: 0;\\n border: none;\\n outline: none;\\n font: inherit;\\n color: inherit;\\n background: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n transition: var(--transition);\\n cursor: pointer;\\n font-weight: 400;\\n}\\n.Results_result__S0y54:focus:not(:disabled), .Results_result__S0y54:hover:not(:disabled), .Results_result__S0y54.Results_highlighted__LM8tL:not(:disabled) {\\n background-color: var(--color--primary);\\n color: var(--color--primary--opposite);\\n}\\n.Results_result__S0y54.Results_notMatching__aGO21 {\\n color: var(--color--inactive);\\n}\\n.Results_result__S0y54.Results_notMatching__aGO21:focus:not(:disabled), .Results_result__S0y54.Results_notMatching__aGO21:hover:not(:disabled), .Results_result__S0y54.Results_notMatching__aGO21.Results_highlighted__LM8tL:not(:disabled) {\\n background-color: var(--color--primary--light);\\n color: var(--color--primary--opposite);\\n}\\n\\n.Results_resultContent__QZg6c {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n height: 100%;\\n}\\n.Results_resultContent__QZg6c .Results_word__vw_0W {\\n display: block;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n\\n.Results_cell__OQlhc {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n height: 100%;\\n padding: 0 var(--spacing--s);\\n gap: var(--spacing--s);\\n line-height: var(--results--item--height);\\n}\\n.Results_result__S0y54 .Results_cell__OQlhc:first-child, .Results_headerButton__Cl1_U:first-child .Results_cell__OQlhc {\\n justify-content: flex-start;\\n}\\n[dir=ltr] .Results_result__S0y54 .Results_cell__OQlhc:first-child, [dir=ltr] .Results_headerButton__Cl1_U:first-child .Results_cell__OQlhc {\\n padding-left: calc(var(--spacing--m) + var(--spacing--s));\\n text-align: left;\\n}\\n[dir=rtl] .Results_result__S0y54 .Results_cell__OQlhc:first-child, [dir=rtl] .Results_headerButton__Cl1_U:first-child .Results_cell__OQlhc {\\n padding-right: calc(var(--spacing--m) + var(--spacing--s));\\n text-align: right;\\n}\\n[dir=ltr] .Results_result__S0y54 .Results_cell__OQlhc:last-child, [dir=ltr] .Results_headerButton__Cl1_U:last-child .Results_cell__OQlhc {\\n padding-right: calc(var(--spacing--m) + var(--spacing--s));\\n}\\n[dir=rtl] .Results_result__S0y54 .Results_cell__OQlhc:last-child, [dir=rtl] .Results_headerButton__Cl1_U:last-child .Results_cell__OQlhc {\\n padding-left: calc(var(--spacing--m) + var(--spacing--s));\\n}\\n.Results_cell__OQlhc:last-child {\\n flex: 1 1;\\n}\\n\\n.Results_word__vw_0W {\\n flex: 1 0;\\n text-transform: uppercase;\\n}\\n\\n.Results_stat__zl_Bp {\\n flex: 0 0 55px;\\n max-width: 55px;\\n justify-content: center;\\n}\\n\\n.Results_points__vyk3z {\\n flex: 1 0 80px;\\n max-width: 80px;\\n font-weight: bold;\\n}\\n\\n.Results_solveButton__V3YrS {\\n display: block;\\n margin: var(--spacing--xl) auto 0;\\n}\\n\\n.Results_sortIcon__W8p9d {\\n flex: 0 0 auto;\\n width: 19px;\\n height: 19px;\\n}\\n\\n.Results_input__4Te0e {\\n border-top: var(--border);\\n border-bottom-left-radius: var(--border--radius);\\n border-bottom-right-radius: var(--border--radius);\\n}\\n\\n.Results_highlight__RIiBE {\\n background-color: var(--color--mark);\\n color: var(--color--foreground);\\n border-radius: var(--border--radius);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://src/styles/mixins.scss\",\"webpack://src/components/Results/Results.module.scss\"],\"names\":[],\"mappings\":\"AAoCA;;EAAA;AChCA;EACE,kBAAA;EACA,aAAA;EACA,sBAAA;EACA,YAAA;EACA,6CAAA;EACA,qBAAA;EACA,oCAAA;AAAF;;AAGA;EACE,SAAA;AAAF;;AAGA;EACE,SAAA;EACA,kBAAA;EACA,YAAA;AAAF;;AAGA;EACE,kBAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;AAAF;;AAGA;EDjBE,8EAAA;EACA,qBAAA;ECmBA,wBAAA;EACA,6BAAA;AAAF;ADlBE;EACE,6BAAA;EACA,gDAAA;ACoBJ;ADjBE;EACE,gDAAA;ACmBJ;ADhBE;EACE,yFAAA;ACkBJ;ADhBI;EACE,2DAAA;ACkBN;AAXE;EACE,iBAAA;AAaJ;;AATA;EACE,kBAAA;EACA,UAAA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,gBAAA;EACA,4BAAA;EACA,+BAAA;EACA,gCAAA;AAYF;;AATA;ED6BE,UAAA;EACA,YAAA;EACA,aAAA;EACA,aAAA;EACA,cAAA;EACA,gBAAA;EAjDA,yBAAA;EAEA,kBAAA;ECiBA,eAAA;EACA,yBAAA;EACA,6BAAA;EACA,0CAAA;AAiBF;ADnCE;EACE,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,qCAAA;EACA,6BAAA;EACA,oCAAA;EACA,uDAAA;EACA,oBAAA;ACqCJ;ADjCI;;EAEE,aAAA;ACmCN;ADhCI;EACE,WAAA;EACA,+DAAA;ACkCN;AAnCE;EAEE,uCAAA;EACA,sCAAA;AAoCJ;AAhCI;EACE,+BAAA;AAkCN;AA/BI;EACE,gCAAA;AAiCN;AA5BI;EACE,gCAAA;AA8BN;AA3BI;EACE,+BAAA;AA6BN;;AAxBA;EDdE,cAAA;EACA,uBAAA;EACA,mBAAA;EACA,gBAAA;ECcA,cAAA;EACA,gBAAA;AA6BF;AA3BE;EACE,iBAAA;AA6BJ;;AAzBA;EDlBE,UAAA;EACA,YAAA;EACA,aAAA;EACA,aAAA;EACA,cAAA;EACA,gBAAA;ECgBA,yBAAA;KAAA,sBAAA;UAAA,iBAAA;EACA,6BAAA;EACA,eAAA;EACA,gBAAA;AAgCF;AA3BI;EACE,uCAAA;EACA,sCAAA;AA6BN;AAzBE;EACE,6BAAA;AA2BJ;AAtBM;EACE,8CAAA;EACA,sCAAA;AAwBR;;AAlBA;EACE,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,YAAA;AAqBF;AAnBE;ED9DA,cAAA;EACA,uBAAA;EACA,mBAAA;EACA,gBAAA;ACoFF;;AApBA;EACE,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,YAAA;EACA,4BAAA;EACA,sBAAA;EACA,yCAAA;AAuBF;AArBE;EAEE,2BAAA;AAsBJ;AApBI;EACE,yDA5JmB;EA6JnB,gBAAA;AAsBN;AAnBI;EACE,0DAjKmB;EAkKnB,iBAAA;AAqBN;AAfI;EACE,0DAzKmB;AA0LzB;AAdI;EACE,yDA7KmB;AA6LzB;AAZE;EACE,SAAA;AAcJ;;AAVA;EACE,SAAA;EACA,yBAAA;AAaF;;AAVA;EAGE,cAAA;EACA,eAHQ;EAIR,uBAAA;AAWF;;AARA;EAGE,cAAA;EACA,eAHQ;EAIR,iBAAA;AASF;;AANA;EACE,cAAA;EACA,iCAAA;AASF;;AANA;EAGE,cAAA;EACA,WAHO;EAIP,YAJO;AAWT;;AAJA;EACE,yBAAA;EACA,gDAAA;EACA,iDAAA;AAOF;;AAJA;EACE,oCAAA;EACA,+BAAA;EACA,oCAAA;AAOF\",\"sourcesContent\":[\"@import 'include-media';\\n\\n$breakpoints: (\\n xs: 480px,\\n s: 768px,\\n m: 992px,\\n l: 1200px,\\n xl: 1400px,\\n);\\n\\n$media-expressions: (\\n touch: '(hover: none)',\\n);\\n\\n@mixin scrollbars {\\n scrollbar-color: var(--scrollbar--thumb--color) var(--scrollbar--thumb--track);\\n scrollbar-width: auto;\\n\\n &::-webkit-scrollbar {\\n width: var(--scrollbar--size);\\n background-color: var(--scrollbar--track--color);\\n }\\n\\n &::-webkit-scrollbar-thumb {\\n background-color: var(--scrollbar--thumb--color);\\n }\\n\\n &:hover {\\n scrollbar-color: var(--scrollbar--thumb--color--highlight) var(--scrollbar--track--color);\\n\\n &::-webkit-scrollbar-thumb {\\n background-color: var(--scrollbar--thumb--color--highlight);\\n }\\n }\\n}\\n\\n/**\\n * It does not work when applied on input elements.\\n */\\n@mixin focus-effect {\\n --focus-effect--size: 6px;\\n\\n position: relative;\\n\\n &::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: var(--z-index--focus-effect);\\n transition: var(--transition);\\n border-radius: var(--border--radius);\\n box-shadow: 0 0 0 var(--focus-effect--size) transparent;\\n pointer-events: none;\\n }\\n\\n &:focus-within {\\n &,\\n * {\\n outline: none;\\n }\\n\\n &::after {\\n content: '';\\n box-shadow: 0 0 0 var(--focus-effect--size) var(--color--focus);\\n }\\n }\\n}\\n\\n@mixin disabled {\\n opacity: var(--opacity--disabled);\\n box-shadow: none;\\n cursor: not-allowed;\\n}\\n\\n@mixin ellipsis {\\n display: block;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n\\n@mixin button-reset {\\n padding: 0;\\n border: none;\\n outline: none;\\n font: inherit;\\n color: inherit;\\n background: none;\\n}\\n\\n@mixin list-reset {\\n padding: 0;\\n margin-block-start: 0;\\n margin-block-end: 0;\\n list-style-type: none;\\n}\\n\\n@mixin text-input {\\n width: 100%;\\n height: var(--text-input--height);\\n padding: 0 var(--spacing--l);\\n transition: var(--transition);\\n font-size: var(--font--size--m);\\n outline: none;\\n}\\n\\n@mixin text-stroke($color, $size: 1px) {\\n text-shadow:\\n $size 0 $color,\\n (-$size) 0 $color,\\n 0 $size $color,\\n 0 (-$size) $color,\\n (-$size) (-$size) $color,\\n (-$size) $size $color,\\n $size (-$size) $color,\\n $size $size $color;\\n}\\n\",\"@import 'styles/mixins';\\n\\n$row-padding-horizontal: calc(var(--spacing--m) + var(--spacing--s));\\n\\n.results {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n background: var(--color--background--element);\\n border: var(--border);\\n border-radius: var(--border--radius);\\n}\\n\\n.emptyState {\\n flex: 1;\\n}\\n\\n.content {\\n flex: 1;\\n position: relative;\\n height: 100%;\\n}\\n\\n.listContainer {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n}\\n\\n.list {\\n @include scrollbars;\\n\\n scrollbar-gutter: stable;\\n transition: var(--transition);\\n\\n &.outdated {\\n filter: blur(2px);\\n }\\n}\\n\\n.header {\\n position: relative;\\n z-index: 1;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n font-weight: 700;\\n border-bottom: var(--border);\\n border-top-left-radius: inherit;\\n border-top-right-radius: inherit;\\n}\\n\\n.headerButton {\\n @include button-reset;\\n @include focus-effect;\\n\\n cursor: pointer;\\n text-transform: uppercase;\\n transition: var(--transition);\\n background-color: var(--color--background);\\n\\n &:focus,\\n &:hover {\\n background-color: var(--color--primary);\\n color: var(--color--primary--opposite);\\n }\\n\\n &:first-child {\\n [dir='ltr'] & {\\n border-top-left-radius: inherit;\\n }\\n\\n [dir='rtl'] & {\\n border-top-right-radius: inherit;\\n }\\n }\\n\\n &:last-child {\\n [dir='ltr'] & {\\n border-top-right-radius: inherit;\\n }\\n\\n [dir='rtl'] & {\\n border-top-left-radius: inherit;\\n }\\n }\\n}\\n\\n.headerButtonLabel {\\n @include ellipsis;\\n\\n flex: 0 1 auto;\\n text-align: left;\\n\\n [dir='rtl'] & {\\n text-align: right;\\n }\\n}\\n\\n.result {\\n @include button-reset;\\n\\n user-select: none;\\n transition: var(--transition);\\n cursor: pointer;\\n font-weight: 400;\\n\\n &:focus,\\n &:hover,\\n &.highlighted {\\n &:not(:disabled) {\\n background-color: var(--color--primary);\\n color: var(--color--primary--opposite);\\n }\\n }\\n\\n &.notMatching {\\n color: var(--color--inactive);\\n\\n &:focus,\\n &:hover,\\n &.highlighted {\\n &:not(:disabled) {\\n background-color: var(--color--primary--light);\\n color: var(--color--primary--opposite);\\n }\\n }\\n }\\n}\\n\\n.resultContent {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n height: 100%;\\n\\n .word {\\n @include ellipsis;\\n }\\n}\\n\\n.cell {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n height: 100%;\\n padding: 0 var(--spacing--s);\\n gap: var(--spacing--s);\\n line-height: var(--results--item--height);\\n\\n .result &:first-child,\\n .headerButton:first-child & {\\n justify-content: flex-start;\\n\\n [dir='ltr'] & {\\n padding-left: $row-padding-horizontal;\\n text-align: left;\\n }\\n\\n [dir='rtl'] & {\\n padding-right: $row-padding-horizontal;\\n text-align: right;\\n }\\n }\\n\\n .result &:last-child,\\n .headerButton:last-child & {\\n [dir='ltr'] & {\\n padding-right: $row-padding-horizontal;\\n }\\n\\n [dir='rtl'] & {\\n padding-left: $row-padding-horizontal;\\n }\\n }\\n\\n &:last-child {\\n flex: 1;\\n }\\n}\\n\\n.word {\\n flex: 1 0;\\n text-transform: uppercase;\\n}\\n\\n.stat {\\n $width: 55px;\\n\\n flex: 0 0 $width;\\n max-width: $width;\\n justify-content: center;\\n}\\n\\n.points {\\n $width: 80px;\\n\\n flex: 1 0 $width;\\n max-width: $width;\\n font-weight: bold;\\n}\\n\\n.solveButton {\\n display: block;\\n margin: var(--spacing--xl) auto 0;\\n}\\n\\n.sortIcon {\\n $size: 19px;\\n\\n flex: 0 0 auto;\\n width: $size;\\n height: $size;\\n}\\n\\n.input {\\n border-top: var(--border);\\n border-bottom-left-radius: var(--border--radius);\\n border-bottom-right-radius: var(--border--radius);\\n}\\n\\n.highlight {\\n background-color: var(--color--mark);\\n color: var(--color--foreground);\\n border-radius: var(--border--radius);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"results\": \"Results_results__RAvy9\",\n\t\"emptyState\": \"Results_emptyState__HkpYj\",\n\t\"content\": \"Results_content__eBfb2\",\n\t\"listContainer\": \"Results_listContainer__y4jAK\",\n\t\"list\": \"Results_list__ep2TB\",\n\t\"outdated\": \"Results_outdated__xbp6D\",\n\t\"header\": \"Results_header__f0CUM\",\n\t\"headerButton\": \"Results_headerButton__Cl1_U\",\n\t\"headerButtonLabel\": \"Results_headerButtonLabel__OxgLh\",\n\t\"result\": \"Results_result__S0y54\",\n\t\"highlighted\": \"Results_highlighted__LM8tL\",\n\t\"notMatching\": \"Results_notMatching__aGO21\",\n\t\"resultContent\": \"Results_resultContent__QZg6c\",\n\t\"word\": \"Results_word__vw_0W\",\n\t\"cell\": \"Results_cell__OQlhc\",\n\t\"stat\": \"Results_stat__zl_Bp\",\n\t\"points\": \"Results_points__vyk3z\",\n\t\"solveButton\": \"Results_solveButton__V3YrS\",\n\t\"sortIcon\": \"Results_sortIcon__W8p9d\",\n\t\"input\": \"Results_input__4Te0e\",\n\t\"highlight\": \"Results_highlight__RIiBE\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3J1bGVTZXRbMV0ucnVsZXNbNl0ub25lT2ZbOV0udXNlWzFdIS4uLy4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1s2XS5vbmVPZls5XS51c2VbMl0hLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzZdLm9uZU9mWzldLnVzZVszXSEuLi8uLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Nhc3MtbG9hZGVyL2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s2XS5vbmVPZls5XS51c2VbNF0hLi9zcmMvY29tcG9uZW50cy9SZXN1bHRzL1Jlc3VsdHMubW9kdWxlLnNjc3MiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxrQ0FBa0MsbUJBQU8sQ0FBQyxtTEFBMkY7QUFDckk7QUFDQTtBQUNBLGtJQUFrSSx1QkFBdUIsa0JBQWtCLDJCQUEyQixpQkFBaUIsa0RBQWtELDBCQUEwQix5Q0FBeUMsR0FBRyxnQ0FBZ0MsY0FBYyxHQUFHLDZCQUE2QixjQUFjLHVCQUF1QixpQkFBaUIsR0FBRyxtQ0FBbUMsdUJBQXVCLFdBQVcsWUFBWSxhQUFhLGNBQWMsR0FBRywwQkFBMEIsbUZBQW1GLDBCQUEwQiw2QkFBNkIsa0NBQWtDLEdBQUcsMkNBQTJDLGtDQUFrQyxxREFBcUQsR0FBRyxpREFBaUQscURBQXFELEdBQUcsOEJBQThCLDhGQUE4RixHQUFHLHVEQUF1RCxnRUFBZ0UsR0FBRyxnREFBZ0Qsc0JBQXNCLEdBQUcsNEJBQTRCLHVCQUF1QixlQUFlLGtCQUFrQix3QkFBd0IsbUNBQW1DLHFC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OEIsR0FBRyxXQUFXLGlCQUFpQix1QkFBdUIsc0JBQXNCLDRCQUE0QixHQUFHLGFBQWEsaUJBQWlCLHVCQUF1QixzQkFBc0Isc0JBQXNCLEdBQUcsa0JBQWtCLG1CQUFtQixzQ0FBc0MsR0FBRyxlQUFlLGdCQUFnQixxQkFBcUIsaUJBQWlCLGtCQUFrQixHQUFHLFlBQVksOEJBQThCLHFEQUFxRCxzREFBc0QsR0FBRyxnQkFBZ0IseUNBQXlDLG9DQUFvQyx5Q0FBeUMsR0FBRyxxQkFBcUI7QUFDN3FkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL1Jlc3VsdHMvUmVzdWx0cy5tb2R1bGUuc2Nzcz81ZjFiIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbnZhciBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIik7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKipcXG4gKiBJdCBkb2VzIG5vdCB3b3JrIHdoZW4gYXBwbGllZCBvbiBpbnB1dCBlbGVtZW50cy5cXG4gKi9cXG4uUmVzdWx0c19yZXN1bHRzX19SQXZ5OSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLS1iYWNrZ3JvdW5kLS1lbGVtZW50KTtcXG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyKTtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci0tcmFkaXVzKTtcXG59XFxuXFxuLlJlc3VsdHNfZW1wdHlTdGF0ZV9fSGtwWWoge1xcbiAgZmxleDogMSAxO1xcbn1cXG5cXG4uUmVzdWx0c19jb250ZW50X19lQmZiMiB7XFxuICBmbGV4OiAxIDE7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBoZWlnaHQ6IDEwMCU7XFxufVxcblxcbi5SZXN1bHRzX2xpc3RDb250YWluZXJfX3k0akFLIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMDtcXG59XFxuXFxuLlJlc3VsdHNfbGlzdF9fZXAyVEIge1xcbiAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItLXRodW1iLS1jb2xvcikgdmFyKC0tc2Nyb2xsYmFyLS10aHVtYi0tdHJhY2spO1xcbiAgc2Nyb2xsYmFyLXdpZHRoOiBhdXRvO1xcbiAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XFxufVxcbi5SZXN1bHRzX2xpc3RfX2VwMlRCOjotd2Via2l0LXNjcm9sbGJhciB7XFxuICB3aWR0aDogdmFyKC0tc2Nyb2xsYmFyLS1zaXplKTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNjcm9sbGJhci0tdHJhY2stLWNvbG9yKTtcXG59XFxuLlJlc3VsdHNfbGlzdF9fZXAyVEI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNjcm9sbGJhci0tdGh1bWItLWNvbG9yKTtcXG59XFxuLlJlc3VsdHNfbGlzdF9fZXAyVEI6aG92ZXIge1xcbiAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItLXRodW1iLS1jb2xvci0taGlnaGxpZ2h0KSB2YXIoLS1zY3JvbGxiYXItLXRyYWNrLS1jb2xvcik7XFxufVxcbi5SZXN1bHRzX2xpc3RfX2VwMlRCOmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItLXRodW1iLS1jb2xvci0taGlnaGxpZ2h0KTtcXG59XFxuLlJlc3VsdHNfbGlzdF9fZXAyVEIuUmVzdWx0c19vdXRkYXRlZF9feGJwNkQge1xcbiAgZmlsdGVyOiBibHVyKDJweCk7XFxufVxcblxcbi5SZXN1bHRzX2hlYWRlcl9fZjBDVU0ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgei1pbmRleDogMTtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlcik7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XFxufVxcblxcbi5SZXN1bHRzX2hlYWRlckJ1dHRvbl9fQ2wxX1Uge1xcbiAgcGFkZGluZzogMDtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIG91dGxpbmU6IG5vbmU7XFxuICBmb250OiBpbmhlcml0O1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICBiYWNrZ3JvdW5kOiBub25lO1xcbiAgLS1mb2N1cy1lZmZlY3QtLXNpemU6IDZweDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XFxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLS1iYWNrZ3JvdW5kKTtcXG59XFxuLlJlc3VsdHNfaGVhZGVyQnV0dG9uX19DbDFfVTo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBib3R0b206IDA7XFxuICBsZWZ0OiAwO1xcbiAgei1pbmRleDogdmFyKC0tei1pbmRleC0tZm9jdXMtZWZmZWN0KTtcXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLS1yYWRpdXMpO1xcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tZm9jdXMtZWZmZWN0LS1zaXplKSB0cmFuc3BhcmVudDtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbn1cXG4uUmVzdWx0c19oZWFkZXJCdXR0b25fX0NsMV9VOmZvY3VzLXdpdGhpbixcXG4uUmVzdWx0c19oZWFkZXJCdXR0b25fX0NsMV9VOmZvY3VzLXdpdGhpbiAqIHtcXG4gIG91dGxpbmU6IG5vbmU7XFxufVxcbi5SZXN1bHRzX2hlYWRlckJ1dHRvbl9fQ2wxX1U6Zm9jdXMtd2l0aGluOjphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWZvY3VzLWVmZmVjdC0tc2l6ZSkgdmFyKC0tY29sb3ItLWZvY3VzKTtcXG59XFxuLlJlc3VsdHNfaGVhZGVyQnV0dG9uX19DbDFfVTpmb2N1cywgLlJlc3VsdHNfaGVhZGVyQnV0dG9uX19DbDFfVTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0tcHJpbWFyeSk7XFxuICBjb2xvcjogdmFyKC0tY29sb3ItLXByaW1hcnktLW9wcG9zaXRlKTtcXG59XFxuW2Rpcj1sdHJdIC5SZXN1bHRzX2hlYWRlckJ1dHRvbl9fQ2wxX1U6Zmlyc3QtY2hpbGQge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcXG59XFxuW2Rpcj1ydGxdIC5SZXN1bHRzX2hlYWRlckJ1dHRvbl9fQ2wxX1U6Zmlyc3QtY2hpbGQge1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XFxufVxcbltkaXI9bHRyXSAuUmVzdWx0c19oZWFkZXJCdXR0b25fX0NsMV9VOmxhc3QtY2hpbGQge1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XFxufVxcbltkaXI9cnRsXSAuUmVzdWx0c19oZWFkZXJCdXR0b25fX0NsMV9VOmxhc3QtY2hpbGQge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcXG59XFxuXFxuLlJlc3VsdHNfaGVhZGVyQnV0dG9uTGFiZWxfX094Z0xoIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGZsZXg6IDAgMSBhdXRvO1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuW2Rpcj1ydGxdIC5SZXN1bHRzX2hlYWRlckJ1dHRvbkxhYmVsX19PeGdMaCB7XFxuICB0ZXh0LWFsaWduOiByaWdodDtcXG59XFxuXFxuLlJlc3VsdHNfcmVzdWx0X19TMHk1NCB7XFxuICBwYWRkaW5nOiAwO1xcbiAgYm9yZGVyOiBub25lO1xcbiAgb3V0bGluZTogbm9uZTtcXG4gIGZvbnQ6IGluaGVyaXQ7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIGJhY2tncm91bmQ6IG5vbmU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi5SZXN1bHRzX3Jlc3VsdF9fUzB5NTQ6Zm9jdXM6bm90KDpkaXNhYmxlZCksIC5SZXN1bHRzX3Jlc3VsdF9fUzB5NTQ6aG92ZXI6bm90KDpkaXNhYmxlZCksIC5SZXN1bHRzX3Jlc3VsdF9fUzB5NTQuUmVzdWx0c19oaWdobGlnaHRlZF9fTE04dEw6bm90KDpkaXNhYmxlZCkge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItLXByaW1hcnkpO1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLS1wcmltYXJ5LS1vcHBvc2l0ZSk7XFxufVxcbi5SZXN1bHRzX3Jlc3VsdF9fUzB5NTQuUmVzdWx0c19ub3RNYXRjaGluZ19fYUdPMjEge1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLS1pbmFjdGl2ZSk7XFxufVxcbi5SZXN1bHRzX3Jlc3VsdF9fUzB5NTQuUmVzdWx0c19ub3RNYXRjaGluZ19fYUdPMjE6Zm9jdXM6bm90KDpkaXNhYmxlZCksIC5SZXN1bHRzX3Jlc3VsdF9fUzB5NTQuUmVzdWx0c19ub3RNYXRjaGluZ19fYUdPMjE6aG92ZXI6bm90KDpkaXNhYmxlZCksIC5SZXN1bHRzX3Jlc3VsdF9fUzB5NTQuUmVzdWx0c19ub3RNYXRjaGluZ19fYUdPMjEuUmVzdWx0c19oaWdobGlnaHRlZF9fTE04dEw6bm90KDpkaXNhYmxlZCkge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItLXByaW1hcnktLWxpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1jb2xvci0tcHJpbWFyeS0tb3Bwb3NpdGUpO1xcbn1cXG5cXG4uUmVzdWx0c19yZXN1bHRDb250ZW50X19RWmc2YyB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuLlJlc3VsdHNfcmVzdWx0Q29udGVudF9fUVpnNmMgLlJlc3VsdHNfd29yZF9fdndfMFcge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4uUmVzdWx0c19jZWxsX19PUWxoYyB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLS1zKTtcXG4gIGdhcDogdmFyKC0tc3BhY2luZy0tcyk7XFxuICBsaW5lLWhlaWdodDogdmFyKC0tcmVzdWx0cy0taXRlbS0taGVpZ2h0KTtcXG59XFxuLlJlc3VsdHNfcmVzdWx0X19TMHk1NCAuUmVzdWx0c19jZWxsX19PUWxoYzpmaXJzdC1jaGlsZCwgLlJlc3VsdHNfaGVhZGVyQnV0dG9uX19DbDFfVTpmaXJzdC1jaGlsZCAuUmVzdWx0c19jZWxsX19PUWxoYyB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XFxufVxcbltkaXI9bHRyXSAuUmVzdWx0c19yZXN1bHRfX1MweTU0IC5SZXN1bHRzX2NlbGxfX09RbGhjOmZpcnN0LWNoaWxkLCBbZGlyPWx0cl0gLlJlc3VsdHNfaGVhZGVyQnV0dG9uX19DbDFfVTpmaXJzdC1jaGlsZCAuUmVzdWx0c19jZWxsX19PUWxoYyB7XFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy0tbSkgKyB2YXIoLS1zcGFjaW5nLS1zKSk7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG5bZGlyPXJ0bF0gLlJlc3VsdHNfcmVzdWx0X19TMHk1NCAuUmVzdWx0c19jZWxsX19PUWxoYzpmaXJzdC1jaGlsZCwgW2Rpcj1ydGxdIC5SZXN1bHRzX2hlYWRlckJ1dHRvbl9fQ2wxX1U6Zmlyc3QtY2hpbGQgLlJlc3VsdHNfY2VsbF9fT1FsaGMge1xcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLS1tKSArIHZhcigtLXNwYWNpbmctLXMpKTtcXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xcbn1cXG5bZGlyPWx0cl0gLlJlc3VsdHNfcmVzdWx0X19TMHk1NCAuUmVzdWx0c19jZWxsX19PUWxoYzpsYXN0LWNoaWxkLCBbZGlyPWx0cl0gLlJlc3VsdHNfaGVhZGVyQnV0dG9uX19DbDFfVTpsYXN0LWNoaWxkIC5SZXN1bHRzX2NlbGxfX09RbGhjIHtcXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tc3BhY2luZy0tbSkgKyB2YXIoLS1zcGFjaW5nLS1zKSk7XFxufVxcbltkaXI9cnRsXSAuUmVzdWx0c19yZXN1bHRfX1MweTU0IC5SZXN1bHRzX2NlbGxfX09RbGhjOmxhc3QtY2hpbGQsIFtkaXI9cnRsXSAuUmVzdWx0c19oZWFkZXJCdXR0b25fX0NsMV9VOmxhc3QtY2hpbGQgLlJlc3VsdHNfY2VsbF9fT1FsaGMge1xcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNpbmctLW0pICsgdmFyKC0tc3BhY2luZy0tcykpO1xcbn1cXG4uUmVzdWx0c19jZWxsX19PUWxoYzpsYXN0LWNoaWxkIHtcXG4gIGZsZXg6IDEgMTtcXG59XFxuXFxuLlJlc3VsdHNfd29yZF9fdndfMFcge1xcbiAgZmxleDogMSAwO1xcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcXG59XFxuXFxuLlJlc3VsdHNfc3RhdF9femxfQnAge1xcbiAgZmxleDogMCAwIDU1cHg7XFxuICBtYXgtd2lkdGg6IDU1cHg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuXFxuLlJlc3VsdHNfcG9pbnRzX192eWszeiB7XFxuICBmbGV4OiAxIDAgODBweDtcXG4gIG1heC13aWR0aDogODBweDtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xcbn1cXG5cXG4uUmVzdWx0c19zb2x2ZUJ1dHRvbl9fVjNZclMge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW46IHZhcigtLXNwYWNpbmctLXhsKSBhdXRvIDA7XFxufVxcblxcbi5SZXN1bHRzX3NvcnRJY29uX19XOHA5ZCB7XFxuICBmbGV4OiAwIDAgYXV0bztcXG4gIHdpZHRoOiAxOXB4O1xcbiAgaGVpZ2h0OiAxOXB4O1xcbn1cXG5cXG4uUmVzdWx0c19pbnB1dF9fNFRlMGUge1xcbiAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyKTtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci0tcmFkaXVzKTtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItLXJhZGl1cyk7XFxufVxcblxcbi5SZXN1bHRzX2hpZ2hsaWdodF9fUklpQkUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItLW1hcmspO1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLS1mb3JlZ3JvdW5kKTtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci0tcmFkaXVzKTtcXG59XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3NyYy9zdHlsZXMvbWl4aW5zLnNjc3NcIixcIndlYnBhY2s6Ly9zcmMvY29tcG9uZW50cy9SZXN1bHRzL1Jlc3VsdHMubW9kdWxlLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBb0NBOztFQUFBO0FDaENBO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0VBQ0EsNkNBQUE7RUFDQSxxQkFBQTtFQUNBLG9DQUFBO0FBQUY7O0FBR0E7RUFDRSxTQUFBO0FBQUY7O0FBR0E7RUFDRSxTQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0FBQUY7O0FBR0E7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7QUFBRjs7QUFHQTtFRGpCRSw4RUFBQTtFQUNBLHFCQUFBO0VDbUJBLHdCQUFBO0VBQ0EsNkJBQUE7QUFBRjtBRGxCRTtFQUNFLDZCQUFBO0VBQ0EsZ0RBQUE7QUNvQko7QURqQkU7RUFDRSxnREFBQTtBQ21CSjtBRGhCRTtFQUNFLHlGQUFBO0FDa0JKO0FEaEJJO0VBQ0UsMkRBQUE7QUNrQk47QUFYRTtFQUNFLGlCQUFBO0FBYUo7O0FBVEE7RUFDRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSw4QkFBQTtFQUNBLGdCQUFBO0VBQ0EsNEJBQUE7RUFDQSwrQkFBQTtFQUNBLGdDQUFBO0FBWUY7O0FBVEE7RUQ2QkUsVUFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQWpEQSx5QkFBQTtFQUVBLGtCQUFBO0VDaUJBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0VBQ0EsMENBQUE7QUFpQkY7QURuQ0U7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxxQ0FBQTtFQUNBLDZCQUFBO0VBQ0Esb0NBQUE7RUFDQSx1REFBQTtFQUNBLG9CQUFBO0FDcUNKO0FEakNJOztFQUVFLGFBQUE7QUNtQ047QURoQ0k7RUFDRSxXQUFBO0VBQ0EsK0RBQUE7QUNrQ047QUFuQ0U7RUFFRSx1Q0FBQTtFQUNBLHNDQUFBO0FBb0NKO0FBaENJO0VBQ0UsK0JBQUE7QUFrQ047QUEvQkk7RUFDRSxnQ0FBQTtBQWlDTjtBQTVCSTtFQUNFLGdDQUFBO0FBOEJOO0FBM0JJO0VBQ0UsK0JBQUE7QUE2Qk47O0FBeEJBO0VEZEUsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQ2NBLGNBQUE7RUFDQSxnQkFBQTtBQTZCRjtBQTNCRTtFQUNFLGlCQUFBO0FBNkJKOztBQXpCQTtFRGxCRSxVQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VDZ0JBLHlCQUFBO0tBQUEsc0JBQUE7VUFBQSxpQkFBQTtFQUNBLDZCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FBZ0NGO0FBM0JJO0VBQ0UsdUNBQUE7RUFDQSxzQ0FBQTtBQTZCTjtBQXpCRTtFQUNFLDZCQUFBO0FBMkJKO0FBdEJNO0VBQ0UsOENBQUE7RUFDQSxzQ0FBQTtBQXdCUjs7QUFsQkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSw4QkFBQTtFQUNBLFlBQUE7QUFxQkY7QUFuQkU7RUQ5REEsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBQ29GRjs7QUFwQkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLFlBQUE7RUFDQSw0QkFBQTtFQUNBLHNCQUFBO0VBQ0EseUNBQUE7QUF1QkY7QUFyQkU7RUFFRSwyQkFBQTtBQXNCSjtBQXBCSTtFQUNFLHlEQTVKbUI7RUE2Sm5CLGdCQUFBO0FBc0JOO0FBbkJJO0VBQ0UsMERBakttQjtFQWtLbkIsaUJBQUE7QUFxQk47QUFmSTtFQUNFLDBEQXpLbUI7QUEwTHpCO0FBZEk7RUFDRSx5REE3S21CO0FBNkx6QjtBQVpFO0VBQ0UsU0FBQTtBQWNKOztBQVZBO0VBQ0UsU0FBQTtFQUNBLHlCQUFBO0FBYUY7O0FBVkE7RUFHRSxjQUFBO0VBQ0EsZUFIUTtFQUlSLHVCQUFBO0FBV0Y7O0FBUkE7RUFHRSxjQUFBO0VBQ0EsZUFIUTtFQUlSLGlCQUFBO0FBU0Y7O0FBTkE7RUFDRSxjQUFBO0VBQ0EsaUNBQUE7QUFTRjs7QUFOQTtFQUdFLGNBQUE7RUFDQSxXQUhPO0VBSVAsWUFKTztBQVdUOztBQUpBO0VBQ0UseUJBQUE7RUFDQSxnREFBQTtFQUNBLGlEQUFBO0FBT0Y7O0FBSkE7RUFDRSxvQ0FBQTtFQUNBLCtCQUFBO0VBQ0Esb0NBQUE7QUFPRlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAaW1wb3J0ICdpbmNsdWRlLW1lZGlhJztcXG5cXG4kYnJlYWtwb2ludHM6IChcXG4gIHhzOiA0ODBweCxcXG4gIHM6IDc2OHB4LFxcbiAgbTogOTkycHgsXFxuICBsOiAxMjAwcHgsXFxuICB4bDogMTQwMHB4LFxcbik7XFxuXFxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXFxuICB0b3VjaDogJyhob3Zlcjogbm9uZSknLFxcbik7XFxuXFxuQG1peGluIHNjcm9sbGJhcnMge1xcbiAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItLXRodW1iLS1jb2xvcikgdmFyKC0tc2Nyb2xsYmFyLS10aHVtYi0tdHJhY2spO1xcbiAgc2Nyb2xsYmFyLXdpZHRoOiBhdXRvO1xcblxcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xcbiAgICB3aWR0aDogdmFyKC0tc2Nyb2xsYmFyLS1zaXplKTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Nyb2xsYmFyLS10cmFjay0tY29sb3IpO1xcbiAgfVxcblxcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItLXRodW1iLS1jb2xvcik7XFxuICB9XFxuXFxuICAmOmhvdmVyIHtcXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItLXRodW1iLS1jb2xvci0taGlnaGxpZ2h0KSB2YXIoLS1zY3JvbGxiYXItLXRyYWNrLS1jb2xvcik7XFxuXFxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItLXRodW1iLS1jb2xvci0taGlnaGxpZ2h0KTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4vKipcXG4gKiBJdCBkb2VzIG5vdCB3b3JrIHdoZW4gYXBwbGllZCBvbiBpbnB1dCBlbGVtZW50cy5cXG4gKi9cXG5AbWl4aW4gZm9jdXMtZWZmZWN0IHtcXG4gIC0tZm9jdXMtZWZmZWN0LS1zaXplOiA2cHg7XFxuXFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFxuICAmOjphZnRlciB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAwO1xcbiAgICByaWdodDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwO1xcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LS1mb2N1cy1lZmZlY3QpO1xcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLS1yYWRpdXMpO1xcbiAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1mb2N1cy1lZmZlY3QtLXNpemUpIHRyYW5zcGFyZW50O1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIH1cXG5cXG4gICY6Zm9jdXMtd2l0aGluIHtcXG4gICAgJixcXG4gICAgKiB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgfVxcblxcbiAgICAmOjphZnRlciB7XFxuICAgICAgY29udGVudDogJyc7XFxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tZm9jdXMtZWZmZWN0LS1zaXplKSB2YXIoLS1jb2xvci0tZm9jdXMpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbkBtaXhpbiBkaXNhYmxlZCB7XFxuICBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LS1kaXNhYmxlZCk7XFxuICBib3gtc2hhZG93OiBub25lO1xcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG59XFxuXFxuQG1peGluIGVsbGlwc2lzIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuQG1peGluIGJ1dHRvbi1yZXNldCB7XFxuICBwYWRkaW5nOiAwO1xcbiAgYm9yZGVyOiBub25lO1xcbiAgb3V0bGluZTogbm9uZTtcXG4gIGZvbnQ6IGluaGVyaXQ7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIGJhY2tncm91bmQ6IG5vbmU7XFxufVxcblxcbkBtaXhpbiBsaXN0LXJlc2V0IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XFxuICBtYXJnaW4tYmxvY2stZW5kOiAwO1xcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xcbn1cXG5cXG5AbWl4aW4gdGV4dC1pbnB1dCB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogdmFyKC0tdGV4dC1pbnB1dC0taGVpZ2h0KTtcXG4gIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy0tbCk7XFxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0tc2l6ZS0tbSk7XFxuICBvdXRsaW5lOiBub25lO1xcbn1cXG5cXG5AbWl4aW4gdGV4dC1zdHJva2UoJGNvbG9yLCAkc2l6ZTogMXB4KSB7XFxuICB0ZXh0LXNoYWRvdzpcXG4gICAgJHNpemUgMCAkY29sb3IsXFxuICAgICgtJHNpemUpIDAgJGNvbG9yLFxcbiAgICAwICRzaXplICRjb2xvcixcXG4gICAgMCAoLSRzaXplKSAkY29sb3IsXFxuICAgICgtJHNpemUpICgtJHNpemUpICRjb2xvcixcXG4gICAgKC0kc2l6ZSkgJHNpemUgJGNvbG9yLFxcbiAgICAkc2l6ZSAoLSRzaXplKSAkY29sb3IsXFxuICAgICRzaXplICRzaXplICRjb2xvcjtcXG59XFxuXCIsXCJAaW1wb3J0ICdzdHlsZXMvbWl4aW5zJztcXG5cXG4kcm93LXBhZGRpbmctaG9yaXpvbnRhbDogY2FsYyh2YXIoLS1zcGFjaW5nLS1tKSArIHZhcigtLXNwYWNpbmctLXMpKTtcXG5cXG4ucmVzdWx0cyB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLS1iYWNrZ3JvdW5kLS1lbGVtZW50KTtcXG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyKTtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci0tcmFkaXVzKTtcXG59XFxuXFxuLmVtcHR5U3RhdGUge1xcbiAgZmxleDogMTtcXG59XFxuXFxuLmNvbnRlbnQge1xcbiAgZmxleDogMTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuXFxuLmxpc3RDb250YWluZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHJpZ2h0OiAwO1xcbiAgYm90dG9tOiAwO1xcbn1cXG5cXG4ubGlzdCB7XFxuICBAaW5jbHVkZSBzY3JvbGxiYXJzO1xcblxcbiAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XFxuXFxuICAmLm91dGRhdGVkIHtcXG4gICAgZmlsdGVyOiBibHVyKDJweCk7XFxuICB9XFxufVxcblxcbi5oZWFkZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgei1pbmRleDogMTtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlcik7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XFxufVxcblxcbi5oZWFkZXJCdXR0b24ge1xcbiAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xcbiAgQGluY2x1ZGUgZm9jdXMtZWZmZWN0O1xcblxcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItLWJhY2tncm91bmQpO1xcblxcbiAgJjpmb2N1cyxcXG4gICY6aG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0tcHJpbWFyeSk7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci0tcHJpbWFyeS0tb3Bwb3NpdGUpO1xcbiAgfVxcblxcbiAgJjpmaXJzdC1jaGlsZCB7XFxuICAgIFtkaXI9J2x0ciddICYge1xcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XFxuICAgIH1cXG5cXG4gICAgW2Rpcj0ncnRsJ10gJiB7XFxuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XFxuICAgIH1cXG4gIH1cXG5cXG4gICY6bGFzdC1jaGlsZCB7XFxuICAgIFtkaXI9J2x0ciddICYge1xcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xcbiAgICB9XFxuXFxuICAgIFtkaXI9J3J0bCddICYge1xcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLmhlYWRlckJ1dHRvbkxhYmVsIHtcXG4gIEBpbmNsdWRlIGVsbGlwc2lzO1xcblxcbiAgZmxleDogMCAxIGF1dG87XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcblxcbiAgW2Rpcj0ncnRsJ10gJiB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgfVxcbn1cXG5cXG4ucmVzdWx0IHtcXG4gIEBpbmNsdWRlIGJ1dHRvbi1yZXNldDtcXG5cXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBmb250LXdlaWdodDogNDAwO1xcblxcbiAgJjpmb2N1cyxcXG4gICY6aG92ZXIsXFxuICAmLmhpZ2hsaWdodGVkIHtcXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItLXByaW1hcnkpO1xcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci0tcHJpbWFyeS0tb3Bwb3NpdGUpO1xcbiAgICB9XFxuICB9XFxuXFxuICAmLm5vdE1hdGNoaW5nIHtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLS1pbmFjdGl2ZSk7XFxuXFxuICAgICY6Zm9jdXMsXFxuICAgICY6aG92ZXIsXFxuICAgICYuaGlnaGxpZ2h0ZWQge1xcbiAgICAgICY6bm90KDpkaXNhYmxlZCkge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItLXByaW1hcnktLWxpZ2h0KTtcXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci0tcHJpbWFyeS0tb3Bwb3NpdGUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4ucmVzdWx0Q29udGVudCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIGhlaWdodDogMTAwJTtcXG5cXG4gIC53b3JkIHtcXG4gICAgQGluY2x1ZGUgZWxsaXBzaXM7XFxuICB9XFxufVxcblxcbi5jZWxsIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctLXMpO1xcbiAgZ2FwOiB2YXIoLS1zcGFjaW5nLS1zKTtcXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1yZXN1bHRzLS1pdGVtLS1oZWlnaHQpO1xcblxcbiAgLnJlc3VsdCAmOmZpcnN0LWNoaWxkLFxcbiAgLmhlYWRlckJ1dHRvbjpmaXJzdC1jaGlsZCAmIHtcXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xcblxcbiAgICBbZGlyPSdsdHInXSAmIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRyb3ctcGFkZGluZy1ob3Jpem9udGFsO1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XFxuICAgIH1cXG5cXG4gICAgW2Rpcj0ncnRsJ10gJiB7XFxuICAgICAgcGFkZGluZy1yaWdodDogJHJvdy1wYWRkaW5nLWhvcml6b250YWw7XFxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5yZXN1bHQgJjpsYXN0LWNoaWxkLFxcbiAgLmhlYWRlckJ1dHRvbjpsYXN0LWNoaWxkICYge1xcbiAgICBbZGlyPSdsdHInXSAmIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcm93LXBhZGRpbmctaG9yaXpvbnRhbDtcXG4gICAgfVxcblxcbiAgICBbZGlyPSdydGwnXSAmIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRyb3ctcGFkZGluZy1ob3Jpem9udGFsO1xcbiAgICB9XFxuICB9XFxuXFxuICAmOmxhc3QtY2hpbGQge1xcbiAgICBmbGV4OiAxO1xcbiAgfVxcbn1cXG5cXG4ud29yZCB7XFxuICBmbGV4OiAxIDA7XFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xcbn1cXG5cXG4uc3RhdCB7XFxuICAkd2lkdGg6IDU1cHg7XFxuXFxuICBmbGV4OiAwIDAgJHdpZHRoO1xcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuXFxuLnBvaW50cyB7XFxuICAkd2lkdGg6IDgwcHg7XFxuXFxuICBmbGV4OiAxIDAgJHdpZHRoO1xcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XFxuICBmb250LXdlaWdodDogYm9sZDtcXG59XFxuXFxuLnNvbHZlQnV0dG9uIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLS14bCkgYXV0byAwO1xcbn1cXG5cXG4uc29ydEljb24ge1xcbiAgJHNpemU6IDE5cHg7XFxuXFxuICBmbGV4OiAwIDAgYXV0bztcXG4gIHdpZHRoOiAkc2l6ZTtcXG4gIGhlaWdodDogJHNpemU7XFxufVxcblxcbi5pbnB1dCB7XFxuICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXIpO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLS1yYWRpdXMpO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci0tcmFkaXVzKTtcXG59XFxuXFxuLmhpZ2hsaWdodCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0tbWFyayk7XFxuICBjb2xvcjogdmFyKC0tY29sb3ItLWZvcmVncm91bmQpO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLS1yYWRpdXMpO1xcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLmxvY2FscyA9IHtcblx0XCJyZXN1bHRzXCI6IFwiUmVzdWx0c19yZXN1bHRzX19SQXZ5OVwiLFxuXHRcImVtcHR5U3RhdGVcIjogXCJSZXN1bHRzX2VtcHR5U3RhdGVfX0hrcFlqXCIsXG5cdFwiY29udGVudFwiOiBcIlJlc3VsdHNfY29udGVudF9fZUJmYjJcIixcblx0XCJsaXN0Q29udGFpbmVyXCI6IFwiUmVzdWx0c19saXN0Q29udGFpbmVyX195NGpBS1wiLFxuXHRcImxpc3RcIjogXCJSZXN1bHRzX2xpc3RfX2VwMlRCXCIsXG5cdFwib3V0ZGF0ZWRcIjogXCJSZXN1bHRzX291dGRhdGVkX194YnA2RFwiLFxuXHRcImhlYWRlclwiOiBcIlJlc3VsdHNfaGVhZGVyX19mMENVTVwiLFxuXHRcImhlYWRlckJ1dHRvblwiOiBcIlJlc3VsdHNfaGVhZGVyQnV0dG9uX19DbDFfVVwiLFxuXHRcImhlYWRlckJ1dHRvbkxhYmVsXCI6IFwiUmVzdWx0c19oZWFkZXJCdXR0b25MYWJlbF9fT3hnTGhcIixcblx0XCJyZXN1bHRcIjogXCJSZXN1bHRzX3Jlc3VsdF9fUzB5NTRcIixcblx0XCJoaWdobGlnaHRlZFwiOiBcIlJlc3VsdHNfaGlnaGxpZ2h0ZWRfX0xNOHRMXCIsXG5cdFwibm90TWF0Y2hpbmdcIjogXCJSZXN1bHRzX25vdE1hdGNoaW5nX19hR08yMVwiLFxuXHRcInJlc3VsdENvbnRlbnRcIjogXCJSZXN1bHRzX3Jlc3VsdENvbnRlbnRfX1FaZzZjXCIsXG5cdFwid29yZFwiOiBcIlJlc3VsdHNfd29yZF9fdndfMFdcIixcblx0XCJjZWxsXCI6IFwiUmVzdWx0c19jZWxsX19PUWxoY1wiLFxuXHRcInN0YXRcIjogXCJSZXN1bHRzX3N0YXRfX3psX0JwXCIsXG5cdFwicG9pbnRzXCI6IFwiUmVzdWx0c19wb2ludHNfX3Z5azN6XCIsXG5cdFwic29sdmVCdXR0b25cIjogXCJSZXN1bHRzX3NvbHZlQnV0dG9uX19WM1lyU1wiLFxuXHRcInNvcnRJY29uXCI6IFwiUmVzdWx0c19zb3J0SWNvbl9fVzhwOWRcIixcblx0XCJpbnB1dFwiOiBcIlJlc3VsdHNfaW5wdXRfXzRUZTBlXCIsXG5cdFwiaGlnaGxpZ2h0XCI6IFwiUmVzdWx0c19oaWdobGlnaHRfX1JJaUJFXCJcbn07XG5tb2R1bGUuZXhwb3J0cyA9IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[1]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[6].oneOf[9].use[2]!../../node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[6].oneOf[9].use[3]!../../node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[6].oneOf[9].use[4]!./src/components/Results/Results.module.scss\n"));
|
|
28
|
+
|
|
29
|
+
/***/ }),
|
|
30
|
+
|
|
31
|
+
/***/ "./src/components/Board/Board.tsx":
|
|
32
|
+
/*!****************************************!*\
|
|
33
|
+
!*** ./src/components/Board/Board.tsx ***!
|
|
34
|
+
\****************************************/
|
|
35
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
36
|
+
|
|
37
|
+
"use strict";
|
|
38
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @floating-ui/react */ \"../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs\");\n/* harmony import */ var _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @scrabble-solver/constants */ \"../constants/build/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! classnames */ \"../../node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react_cool_onclickoutside__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-cool-onclickoutside */ \"../../node_modules/react-cool-onclickoutside/dist/index.esm.js\");\n/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react-redux */ \"../../node_modules/react-redux/dist/react-redux.mjs\");\n/* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! hooks */ \"./src/hooks/index.ts\");\n/* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! i18n */ \"./src/i18n/index.ts\");\n/* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! parameters */ \"./src/parameters/index.ts\");\n/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! state */ \"./src/state/index.ts\");\n/* harmony import */ var _Board_module_scss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Board.module.scss */ \"./src/components/Board/Board.module.scss\");\n/* harmony import */ var _Board_module_scss__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_Board_module_scss__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var _BoardPure__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./BoardPure */ \"./src/components/Board/BoardPure.tsx\");\n/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components */ \"./src/components/Board/components/index.ts\");\n/* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./hooks */ \"./src/components/Board/hooks/index.ts\");\n/* eslint-disable max-lines, max-statements */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst Board = (param)=>{\n let { className } = param;\n _s();\n const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_12__.useDispatch)();\n const locale = (0,state__WEBPACK_IMPORTED_MODULE_8__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_8__.selectLocale);\n const rows = (0,state__WEBPACK_IMPORTED_MODULE_8__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_8__.selectRowsWithCandidate);\n const inputMode = (0,state__WEBPACK_IMPORTED_MODULE_8__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_8__.selectInputMode);\n const filteredCells = (0,state__WEBPACK_IMPORTED_MODULE_8__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_8__.selectFilteredCells);\n const showCoordinates = (0,state__WEBPACK_IMPORTED_MODULE_8__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_8__.selectShowCoordinates);\n const { cellSize, coordinatesFontSize, coordinatesSize } = (0,hooks__WEBPACK_IMPORTED_MODULE_5__.useAppLayout)();\n const [{ activeIndex, direction, inputRefs }, { insertValue, onChange, onDirectionToggle, onFocus, onKeyDown, onPaste }] = (0,_hooks__WEBPACK_IMPORTED_MODULE_11__.useGrid)(rows);\n const boardStyle = (0,_hooks__WEBPACK_IMPORTED_MODULE_11__.useBoardStyle)();\n const [hasFocus, setHasFocus] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false);\n const [showInputPrompt, setShowInputPrompt] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false);\n const [transition, setTransition] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(parameters__WEBPACK_IMPORTED_MODULE_7__.TRANSITION);\n const inputRef = inputRefs[activeIndex.y][activeIndex.x];\n const cell = rows[activeIndex.y][activeIndex.x];\n const floatingActions = (0,_hooks__WEBPACK_IMPORTED_MODULE_11__.useFloatingActions)();\n const floatingInputPrompt = (0,_hooks__WEBPACK_IMPORTED_MODULE_11__.useFloatingInputPrompt)();\n const floatingFocus = (0,_hooks__WEBPACK_IMPORTED_MODULE_11__.useFloatingFocus)();\n const handleBlur = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((event)=>{\n var _floatingActions_refs_floating_current, _floatingFocus_refs_floating_current, _floatingInputPrompt_refs_floating_current;\n const comesFromActions = (_floatingActions_refs_floating_current = floatingActions.refs.floating.current) === null || _floatingActions_refs_floating_current === void 0 ? void 0 : _floatingActions_refs_floating_current.contains(event.relatedTarget);\n const comesFromBoard = event.currentTarget.contains(event.relatedTarget);\n const comesFromFocus = (_floatingFocus_refs_floating_current = floatingFocus.refs.floating.current) === null || _floatingFocus_refs_floating_current === void 0 ? void 0 : _floatingFocus_refs_floating_current.contains(event.relatedTarget);\n const comesFromInputPrompt = (_floatingInputPrompt_refs_floating_current = floatingInputPrompt.refs.floating.current) === null || _floatingInputPrompt_refs_floating_current === void 0 ? void 0 : _floatingInputPrompt_refs_floating_current.contains(event.relatedTarget);\n const isLocalEvent = comesFromActions || comesFromBoard || comesFromFocus || comesFromInputPrompt;\n if (!isLocalEvent) {\n setHasFocus(false);\n }\n }, [\n floatingActions.refs.floating,\n floatingFocus.refs.floating,\n floatingInputPrompt.refs.floating\n ]);\n const updateFloatingReference = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((newReference)=>{\n floatingActions.refs.setReference(newReference);\n floatingFocus.refs.setReference(newReference);\n floatingInputPrompt.refs.setReference(newReference);\n }, [\n floatingActions.refs,\n floatingFocus.refs,\n floatingInputPrompt.refs\n ]);\n const handleFocus = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((newX, newY)=>{\n var _floatingActions_refs_floating_current;\n const isFirstFocus = !hasFocus;\n const originalTransition = ((_floatingActions_refs_floating_current = floatingActions.refs.floating.current) === null || _floatingActions_refs_floating_current === void 0 ? void 0 : _floatingActions_refs_floating_current.style.transition) || \"\";\n const newInputRef = inputRefs[newY][newX].current;\n const newTileElement = (newInputRef === null || newInputRef === void 0 ? void 0 : newInputRef.parentElement) || null;\n updateFloatingReference(newTileElement);\n onFocus(newX, newY);\n setHasFocus(true);\n setShowInputPrompt(false);\n if (isFirstFocus) {\n setTransition(\"none\");\n globalThis.setTimeout(()=>{\n setTransition(originalTransition);\n }, 0);\n }\n }, [\n floatingActions.refs.floating,\n hasFocus,\n inputRefs,\n onFocus,\n updateFloatingReference\n ]);\n const handleEnterWord = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(()=>{\n setShowInputPrompt(true);\n }, []);\n const handleInsertWord = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((word)=>{\n if (word.trim().length === 0) {\n dispatch(state__WEBPACK_IMPORTED_MODULE_8__.boardSlice.actions.changeCellValue({\n ...activeIndex,\n value: _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.EMPTY_CELL\n }));\n } else {\n insertValue(activeIndex, word.toLocaleLowerCase(locale));\n }\n setShowInputPrompt(false);\n dispatch(state__WEBPACK_IMPORTED_MODULE_8__.solveSlice.actions.submit());\n setHasFocus(false);\n }, [\n activeIndex,\n dispatch,\n locale\n ]);\n const handleToggleBlank = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(()=>{\n if (inputMode === \"keyboard\") {\n var _inputRef_current;\n (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();\n }\n dispatch(state__WEBPACK_IMPORTED_MODULE_8__.boardSlice.actions.toggleCellIsBlank(cell));\n }, [\n cell,\n dispatch,\n inputMode,\n inputRef\n ]);\n const handleToggleDirection = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(()=>{\n if (inputMode === \"keyboard\") {\n var _inputRef_current;\n (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();\n }\n onDirectionToggle();\n }, [\n inputMode,\n inputRef,\n onDirectionToggle\n ]);\n const handleToggleFilterCell = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(()=>{\n if (inputMode === \"keyboard\") {\n var _inputRef_current;\n (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();\n }\n dispatch(state__WEBPACK_IMPORTED_MODULE_8__.cellFilterSlice.actions.toggle(cell));\n }, [\n cell,\n dispatch,\n inputMode,\n inputRef\n ]);\n const ref = (0,react_cool_onclickoutside__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(()=>setHasFocus(false), {\n ignoreClass: [\n (_Board_module_scss__WEBPACK_IMPORTED_MODULE_13___default().floating)\n ]\n });\n var _floatingFocus_x, _floatingActions_y, _floatingActions_x, _floatingInputPrompt_y, _floatingInputPrompt_x;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_BoardPure__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: className,\n cellSize: cellSize,\n coordinatesFontSize: coordinatesFontSize,\n coordinatesSize: coordinatesSize,\n direction: i18n__WEBPACK_IMPORTED_MODULE_6__.LOCALE_FEATURES[locale].direction,\n filteredCells: filteredCells,\n inputRefs: inputRefs,\n ref: ref,\n rows: rows,\n showCoordinates: showCoordinates,\n style: boardStyle,\n onBlur: handleBlur,\n onChange: onChange,\n onFocus: handleFocus,\n onKeyDown: onKeyDown,\n onPaste: onPaste\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/Board.tsx\",\n lineNumber: 152,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_floating_ui_react__WEBPACK_IMPORTED_MODULE_14__.FloatingPortal, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Board_module_scss__WEBPACK_IMPORTED_MODULE_13___default().floating), (_Board_module_scss__WEBPACK_IMPORTED_MODULE_13___default().focus), {\n [(_Board_module_scss__WEBPACK_IMPORTED_MODULE_13___default().hidden)]: !hasFocus\n }),\n ref: floatingFocus.refs.setFloating,\n style: {\n position: floatingFocus.strategy,\n top: floatingFocus.y ? floatingFocus.y + cellSize : 0,\n left: (_floatingFocus_x = floatingFocus.x) !== null && _floatingFocus_x !== void 0 ? _floatingFocus_x : 0,\n width: cellSize,\n height: cellSize,\n opacity: hasFocus ? 1 : 0,\n visibility: floatingFocus.x === null || floatingFocus.y === null ? \"hidden\" : \"visible\",\n transition\n },\n tabIndex: 0\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/Board.tsx\",\n lineNumber: 172,\n columnNumber: 9\n }, undefined),\n hasFocus && !showInputPrompt && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components__WEBPACK_IMPORTED_MODULE_10__.Actions, {\n cell: cell,\n className: (_Board_module_scss__WEBPACK_IMPORTED_MODULE_13___default().floating),\n direction: direction,\n ref: floatingActions.refs.setFloating,\n style: {\n position: floatingActions.strategy,\n top: (_floatingActions_y = floatingActions.y) !== null && _floatingActions_y !== void 0 ? _floatingActions_y : 0,\n left: (_floatingActions_x = floatingActions.x) !== null && _floatingActions_x !== void 0 ? _floatingActions_x : 0,\n transition\n },\n onDirectionToggle: handleToggleDirection,\n onEnterWord: handleEnterWord,\n onToggleBlank: handleToggleBlank,\n onToggleFilterCell: handleToggleFilterCell\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/Board.tsx\",\n lineNumber: 191,\n columnNumber: 11\n }, undefined),\n hasFocus && showInputPrompt && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components__WEBPACK_IMPORTED_MODULE_10__.InputPrompt, {\n className: (_Board_module_scss__WEBPACK_IMPORTED_MODULE_13___default().floating),\n direction: direction,\n initialValue: cell.tile.character,\n ref: floatingInputPrompt.refs.setFloating,\n style: {\n position: floatingInputPrompt.strategy,\n top: (_floatingInputPrompt_y = floatingInputPrompt.y) !== null && _floatingInputPrompt_y !== void 0 ? _floatingInputPrompt_y : 0,\n left: (_floatingInputPrompt_x = floatingInputPrompt.x) !== null && _floatingInputPrompt_x !== void 0 ? _floatingInputPrompt_x : 0,\n transition\n },\n onDirectionToggle: handleToggleDirection,\n onSubmit: handleInsertWord\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/Board.tsx\",\n lineNumber: 210,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/Board.tsx\",\n lineNumber: 171,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true);\n};\n_s(Board, \"v4stRRYsjDKfIIUaUZeCu/s53zk=\", false, function() {\n return [\n react_redux__WEBPACK_IMPORTED_MODULE_12__.useDispatch,\n state__WEBPACK_IMPORTED_MODULE_8__.useTypedSelector,\n state__WEBPACK_IMPORTED_MODULE_8__.useTypedSelector,\n state__WEBPACK_IMPORTED_MODULE_8__.useTypedSelector,\n state__WEBPACK_IMPORTED_MODULE_8__.useTypedSelector,\n state__WEBPACK_IMPORTED_MODULE_8__.useTypedSelector,\n hooks__WEBPACK_IMPORTED_MODULE_5__.useAppLayout,\n _hooks__WEBPACK_IMPORTED_MODULE_11__.useGrid,\n _hooks__WEBPACK_IMPORTED_MODULE_11__.useBoardStyle,\n _hooks__WEBPACK_IMPORTED_MODULE_11__.useFloatingActions,\n _hooks__WEBPACK_IMPORTED_MODULE_11__.useFloatingInputPrompt,\n _hooks__WEBPACK_IMPORTED_MODULE_11__.useFloatingFocus,\n react_cool_onclickoutside__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n ];\n});\n_c = Board;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Board);\nvar _c;\n$RefreshReg$(_c, \"Board\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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cmMvY29tcG9uZW50cy9Cb2FyZC9Cb2FyZC50c3g/ZDM1NSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGluZXMsIG1heC1zdGF0ZW1lbnRzICovXG5cbmltcG9ydCB7IEZsb2F0aW5nUG9ydGFsLCBSZWZlcmVuY2VUeXBlIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IEVNUFRZX0NFTEwgfSBmcm9tICdAc2NyYWJibGUtc29sdmVyL2NvbnN0YW50cyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IENTU1Byb3BlcnRpZXMsIEZvY3VzRXZlbnRIYW5kbGVyLCBGdW5jdGlvbkNvbXBvbmVudCwgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZU9uY2xpY2tPdXRzaWRlIGZyb20gJ3JlYWN0LWNvb2wtb25jbGlja291dHNpZGUnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCB7IHVzZUFwcExheW91dCB9IGZyb20gJ2hvb2tzJztcbmltcG9ydCB7IExPQ0FMRV9GRUFUVVJFUyB9IGZyb20gJ2kxOG4nO1xuaW1wb3J0IHsgVFJBTlNJVElPTiB9IGZyb20gJ3BhcmFtZXRlcnMnO1xuaW1wb3J0IHtcbiAgYm9hcmRTbGljZSxcbiAgY2VsbEZpbHRlclNsaWNlLFxuICBzZWxlY3RGaWx0ZXJlZENlbGxzLFxuICBzZWxlY3RJbnB1dE1vZGUsXG4gIHNlbGVjdExvY2FsZSxcbiAgc2VsZWN0Um93c1dpdGhDYW5kaWRhdGUsXG4gIHNlbGVjdFNob3dDb29yZGluYXRlcyxcbiAgc29sdmVTbGljZSxcbiAgdXNlVHlwZWRTZWxlY3Rvcixcbn0gZnJvbSAnc3RhdGUnO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vQm9hcmQubW9kdWxlLnNjc3MnO1xuaW1wb3J0IEJvYXJkUHVyZSBmcm9tICcuL0JvYXJkUHVyZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBJbnB1dFByb21wdCB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyB1c2VCb2FyZFN0eWxlLCB1c2VGbG9hdGluZ0FjdGlvbnMsIHVzZUZsb2F0aW5nRm9jdXMsIHVzZUZsb2F0aW5nSW5wdXRQcm9tcHQsIHVzZUdyaWQgfSBmcm9tICcuL2hvb2tzJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5jb25zdCBCb2FyZDogRnVuY3Rpb25Db21wb25lbnQ8UHJvcHM+ID0gKHsgY2xhc3NOYW1lIH0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBsb2NhbGUgPSB1c2VUeXBlZFNlbGVjdG9yKHNlbGVjdExvY2FsZSk7XG4gIGNvbnN0IHJvd3MgPSB1c2VUeXBlZFNlbGVjdG9yKHNlbGVjdFJvd3NXaXRoQ2FuZGlkYXRlKTtcbiAgY29uc3QgaW5wdXRNb2RlID0gdXNlVHlwZWRTZWxlY3RvcihzZWxlY3RJbnB1dE1vZGUpO1xuICBjb25zdCBmaWx0ZXJlZENlbGxzID0gdXNlVHlwZWRTZWxlY3RvcihzZWxlY3RGaWx0ZXJlZENlbGxzKTtcbiAgY29uc3Qgc2hvd0Nvb3JkaW5hdGVzID0gdXNlVHlwZWRTZWxlY3RvcihzZWxlY3RTaG93Q29vcmRpbmF0ZXMpO1xuICBjb25zdCB7IGNlbGxTaXplLCBjb29yZGluYXRlc0ZvbnRTaXplLCBjb29yZGluYXRlc1NpemUgfSA9IHVzZUFwcExheW91dCgpO1xuICBjb25zdCBbXG4gICAgeyBhY3RpdmVJbmRleCwgZGlyZWN0aW9uLCBpbnB1dFJlZnMgfSxcbiAgICB7IGluc2VydFZhbHVlLCBvbkNoYW5nZSwgb25EaXJlY3Rpb25Ub2dnbGUsIG9uRm9jdXMsIG9uS2V5RG93biwgb25QYXN0ZSB9LFxuICBdID0gdXNlR3JpZChyb3dzKTtcbiAgY29uc3QgYm9hcmRTdHlsZSA9IHVzZUJvYXJkU3R5bGUoKTtcbiAgY29uc3QgW2hhc0ZvY3VzLCBzZXRIYXNGb2N1c10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzaG93SW5wdXRQcm9tcHQsIHNldFNob3dJbnB1dFByb21wdF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFt0cmFuc2l0aW9uLCBzZXRUcmFuc2l0aW9uXSA9IHVzZVN0YXRlPENTU1Byb3BlcnRpZXNbJ3RyYW5zaXRpb24nXT4oVFJBTlNJVElPTik7XG4gIGNvbnN0IGlucHV0UmVmID0gaW5wdXRSZWZzW2FjdGl2ZUluZGV4LnldW2FjdGl2ZUluZGV4LnhdO1xuICBjb25zdCBjZWxsID0gcm93c1thY3RpdmVJbmRleC55XVthY3RpdmVJbmRleC54XTtcbiAgY29uc3QgZmxvYXRpbmdBY3Rpb25zID0gdXNlRmxvYXRpbmdBY3Rpb25zKCk7XG4gIGNvbnN0IGZsb2F0aW5nSW5wdXRQcm9tcHQgPSB1c2VGbG9hdGluZ0lucHV0UHJvbXB0KCk7XG4gIGNvbnN0IGZsb2F0aW5nRm9jdXMgPSB1c2VGbG9hdGluZ0ZvY3VzKCk7XG5cbiAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbWVzRnJvbUFjdGlvbnMgPSBmbG9hdGluZ0FjdGlvbnMucmVmcy5mbG9hdGluZy5jdXJyZW50Py5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KTtcbiAgICAgIGNvbnN0IGNvbWVzRnJvbUJvYXJkID0gZXZlbnQuY3VycmVudFRhcmdldC5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KTtcbiAgICAgIGNvbnN0IGNvbWVzRnJvbUZvY3VzID0gZmxvYXRpbmdGb2N1cy5yZWZzLmZsb2F0aW5nLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpO1xuICAgICAgY29uc3QgY29tZXNGcm9tSW5wdXRQcm9tcHQgPSBmbG9hdGluZ0lucHV0UHJvbXB0LnJlZnMuZmxvYXRpbmcuY3VycmVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCk7XG4gICAgICBjb25zdCBpc0xvY2FsRXZlbnQgPSBjb21lc0Zyb21BY3Rpb25zIHx8IGNvbWVzRnJvbUJvYXJkIHx8IGNvbWVzRnJvbUZvY3VzIHx8IGNvbWVzRnJvbUlucHV0UHJvbXB0O1xuXG4gICAgICBpZiAoIWlzTG9jYWxFdmVudCkge1xuICAgICAgICBzZXRIYXNGb2N1cyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZmxvYXRpbmdBY3Rpb25zLnJlZnMuZmxvYXRpbmcsIGZsb2F0aW5nRm9jdXMucmVmcy5mbG9hdGluZywgZmxvYXRpbmdJbnB1dFByb21wdC5yZWZzLmZsb2F0aW5nXSxcbiAgKTtcblxuICBjb25zdCB1cGRhdGVGbG9hdGluZ1JlZmVyZW5jZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdSZWZlcmVuY2U6IFJlZmVyZW5jZVR5cGUgfCBudWxsKSA9PiB7XG4gICAgICBmbG9hdGluZ0FjdGlvbnMucmVmcy5zZXRSZWZlcmVuY2UobmV3UmVmZXJlbmNlKTtcbiAgICAgIGZsb2F0aW5nRm9jdXMucmVmcy5zZXRSZWZlcmVuY2UobmV3UmVmZXJlbmNlKTtcbiAgICAgIGZsb2F0aW5nSW5wdXRQcm9tcHQucmVmcy5zZXRSZWZlcmVuY2UobmV3UmVmZXJlbmNlKTtcbiAgICB9LFxuICAgIFtmbG9hdGluZ0FjdGlvbnMucmVmcywgZmxvYXRpbmdGb2N1cy5yZWZzLCBmbG9hdGluZ0lucHV0UHJvbXB0LnJlZnNdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUZvY3VzOiB0eXBlb2Ygb25Gb2N1cyA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdYLCBuZXdZKSA9PiB7XG4gICAgICBjb25zdCBpc0ZpcnN0Rm9jdXMgPSAhaGFzRm9jdXM7XG4gICAgICBjb25zdCBvcmlnaW5hbFRyYW5zaXRpb24gPSBmbG9hdGluZ0FjdGlvbnMucmVmcy5mbG9hdGluZy5jdXJyZW50Py5zdHlsZS50cmFuc2l0aW9uIHx8ICcnO1xuICAgICAgY29uc3QgbmV3SW5wdXRSZWYgPSBpbnB1dFJlZnNbbmV3WV1bbmV3WF0uY3VycmVudDtcbiAgICAgIGNvbnN0IG5ld1RpbGVFbGVtZW50ID0gbmV3SW5wdXRSZWY/LnBhcmVudEVsZW1lbnQgfHwgbnVsbDtcblxuICAgICAgdXBkYXRlRmxvYXRpbmdSZWZlcmVuY2UobmV3VGlsZUVsZW1lbnQpO1xuICAgICAgb25Gb2N1cyhuZXdYLCBuZXdZKTtcbiAgICAgIHNldEhhc0ZvY3VzKHRydWUpO1xuICAgICAgc2V0U2hvd0lucHV0UHJvbXB0KGZhbHNlKTtcblxuICAgICAgaWYgKGlzRmlyc3RGb2N1cykge1xuICAgICAgICBzZXRUcmFuc2l0aW9uKCdub25lJyk7XG5cbiAgICAgICAgZ2xvYmFsVGhpcy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBzZXRUcmFuc2l0aW9uKG9yaWdpbmFsVHJhbnNpdGlvbik7XG4gICAgICAgIH0sIDApO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2Zsb2F0aW5nQWN0aW9ucy5yZWZzLmZsb2F0aW5nLCBoYXNGb2N1cywgaW5wdXRSZWZzLCBvbkZvY3VzLCB1cGRhdGVGbG9hdGluZ1JlZmVyZW5jZV0sXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRW50ZXJXb3JkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNob3dJbnB1dFByb21wdCh0cnVlKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGhhbmRsZUluc2VydFdvcmQgPSB1c2VDYWxsYmFjayhcbiAgICAod29yZDogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAod29yZC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGRpc3BhdGNoKGJvYXJkU2xpY2UuYWN0aW9ucy5jaGFuZ2VDZWxsVmFsdWUoeyAuLi5hY3RpdmVJbmRleCwgdmFsdWU6IEVNUFRZX0NFTEwgfSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5zZXJ0VmFsdWUoYWN0aXZlSW5kZXgsIHdvcmQudG9Mb2NhbGVMb3dlckNhc2UobG9jYWxlKSk7XG4gICAgICB9XG5cbiAgICAgIHNldFNob3dJbnB1dFByb21wdChmYWxzZSk7XG4gICAgICBkaXNwYXRjaChzb2x2ZVNsaWNlLmFjdGlvbnMuc3VibWl0KCkpO1xuICAgICAgc2V0SGFzRm9jdXMoZmFsc2UpO1xuICAgIH0sXG4gICAgW2FjdGl2ZUluZGV4LCBkaXNwYXRjaCwgbG9jYWxlXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVUb2dnbGVCbGFuayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoaW5wdXRNb2RlID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICBpbnB1dFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIGRpc3BhdGNoKGJvYXJkU2xpY2UuYWN0aW9ucy50b2dnbGVDZWxsSXNCbGFuayhjZWxsKSk7XG4gIH0sIFtjZWxsLCBkaXNwYXRjaCwgaW5wdXRNb2RlLCBpbnB1dFJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZURpcmVjdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoaW5wdXRNb2RlID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICBpbnB1dFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uRGlyZWN0aW9uVG9nZ2xlKCk7XG4gIH0sIFtpbnB1dE1vZGUsIGlucHV0UmVmLCBvbkRpcmVjdGlvblRvZ2dsZV0pO1xuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZUZpbHRlckNlbGwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKGlucHV0TW9kZSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgaW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBkaXNwYXRjaChjZWxsRmlsdGVyU2xpY2UuYWN0aW9ucy50b2dnbGUoY2VsbCkpO1xuICB9LCBbY2VsbCwgZGlzcGF0Y2gsIGlucHV0TW9kZSwgaW5wdXRSZWZdKTtcblxuICBjb25zdCByZWYgPSB1c2VPbmNsaWNrT3V0c2lkZSgoKSA9PiBzZXRIYXNGb2N1cyhmYWxzZSksIHtcbiAgICBpZ25vcmVDbGFzczogW3N0eWxlcy5mbG9hdGluZ10sXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxCb2FyZFB1cmVcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgIGNlbGxTaXplPXtjZWxsU2l6ZX1cbiAgICAgICAgY29vcmRpbmF0ZXNGb250U2l6ZT17Y29vcmRpbmF0ZXNGb250U2l6ZX1cbiAgICAgICAgY29vcmRpbmF0ZXNTaXplPXtjb29yZGluYXRlc1NpemV9XG4gICAgICAgIGRpcmVjdGlvbj17TE9DQUxFX0ZFQVRVUkVTW2xvY2FsZV0uZGlyZWN0aW9ufVxuICAgICAgICBmaWx0ZXJlZENlbGxzPXtmaWx0ZXJlZENlbGxzfVxuICAgICAgICBpbnB1dFJlZnM9e2lucHV0UmVmc31cbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgIHNob3dDb29yZGluYXRlcz17c2hvd0Nvb3JkaW5hdGVzfVxuICAgICAgICBzdHlsZT17Ym9hcmRTdHlsZX1cbiAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgb25QYXN0ZT17b25QYXN0ZX1cbiAgICAgIC8+XG5cbiAgICAgIDxGbG9hdGluZ1BvcnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhzdHlsZXMuZmxvYXRpbmcsIHN0eWxlcy5mb2N1cywge1xuICAgICAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhaGFzRm9jdXMsXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgcmVmPXtmbG9hdGluZ0ZvY3VzLnJlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmbG9hdGluZ0ZvY3VzLnN0cmF0ZWd5LFxuICAgICAgICAgICAgdG9wOiBmbG9hdGluZ0ZvY3VzLnkgPyBmbG9hdGluZ0ZvY3VzLnkgKyBjZWxsU2l6ZSA6IDAsXG4gICAgICAgICAgICBsZWZ0OiBmbG9hdGluZ0ZvY3VzLnggPz8gMCxcbiAgICAgICAgICAgIHdpZHRoOiBjZWxsU2l6ZSxcbiAgICAgICAgICAgIGhlaWdodDogY2VsbFNpemUsXG4gICAgICAgICAgICBvcGFjaXR5OiBoYXNGb2N1cyA/IDEgOiAwLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogZmxvYXRpbmdGb2N1cy54ID09PSBudWxsIHx8IGZsb2F0aW5nRm9jdXMueSA9PT0gbnVsbCA/ICdoaWRkZW4nIDogJ3Zpc2libGUnLFxuICAgICAgICAgICAgdHJhbnNpdGlvbixcbiAgICAgICAgICB9fVxuICAgICAgICAgIHRhYkluZGV4PXswfVxuICAgICAgICAvPlxuXG4gICAgICAgIHtoYXNGb2N1cyAmJiAhc2hvd0lucHV0UHJvbXB0ICYmIChcbiAgICAgICAgICA8QWN0aW9uc1xuICAgICAgICAgICAgY2VsbD17Y2VsbH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmZsb2F0aW5nfVxuICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgICByZWY9e2Zsb2F0aW5nQWN0aW9ucy5yZWZzLnNldEZsb2F0aW5nfVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246IGZsb2F0aW5nQWN0aW9ucy5zdHJhdGVneSxcbiAgICAgICAgICAgICAgdG9wOiBmbG9hdGluZ0FjdGlvbnMueSA/PyAwLFxuICAgICAgICAgICAgICBsZWZ0OiBmbG9hdGluZ0FjdGlvbnMueCA/PyAwLFxuICAgICAgICAgICAgICB0cmFuc2l0aW9uLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uRGlyZWN0aW9uVG9nZ2xlPXtoYW5kbGVUb2dnbGVEaXJlY3Rpb259XG4gICAgICAgICAgICBvbkVudGVyV29yZD17aGFuZGxlRW50ZXJXb3JkfVxuICAgICAgICAgICAgb25Ub2dnbGVCbGFuaz17aGFuZGxlVG9nZ2xlQmxhbmt9XG4gICAgICAgICAgICBvblRvZ2dsZUZpbHRlckNlbGw9e2hhbmRsZVRvZ2dsZUZpbHRlckNlbGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cblxuICAgICAgICB7aGFzRm9jdXMgJiYgc2hvd0lucHV0UHJvbXB0ICYmIChcbiAgICAgICAgICA8SW5wdXRQcm9tcHRcbiAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmZsb2F0aW5nfVxuICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgICBpbml0aWFsVmFsdWU9e2NlbGwudGlsZS5jaGFyYWN0ZXJ9XG4gICAgICAgICAgICByZWY9e2Zsb2F0aW5nSW5wdXRQcm9tcHQucmVmcy5zZXRGbG9hdGluZ31cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBmbG9hdGluZ0lucHV0UHJvbXB0LnN0cmF0ZWd5LFxuICAgICAgICAgICAgICB0b3A6IGZsb2F0aW5nSW5wdXRQcm9tcHQueSA/PyAwLFxuICAgICAgICAgICAgICBsZWZ0OiBmbG9hdGluZ0lucHV0UHJvbXB0LnggPz8gMCxcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkRpcmVjdGlvblRvZ2dsZT17aGFuZGxlVG9nZ2xlRGlyZWN0aW9ufVxuICAgICAgICAgICAgb25TdWJtaXQ9e2hhbmRsZUluc2VydFdvcmR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvRmxvYXRpbmdQb3J0YWw+XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBCb2FyZDtcbiJdLCJuYW1lcyI6WyJGbG9hdGluZ1BvcnRhbCIsIkVNUFRZX0NFTEwiLCJjbGFzc05hbWVzIiwidXNlQ2FsbGJhY2siLCJ1c2VTdGF0ZSIsInVzZU9uY2xpY2tPdXRzaWRlIiwidXNlRGlzcGF0Y2giLCJ1c2VBcHBMYXlvdXQiLCJMT0NBTEVfRkVBVFVSRVMiLCJUUkFOU0lUSU9OIiwiYm9hcmRTbGljZSIsImNlbGxGaWx0ZXJTbGljZSIsInNlbGVjdEZpbHRlcmVkQ2VsbHMiLCJzZWxlY3RJbnB1dE1vZGUiLCJzZWxlY3RMb2NhbGUiLCJzZWxlY3RSb3dzV2l0aENhbmRpZGF0ZSIsInNlbGVjdFNob3dDb29yZGluYXRlcyIsInNvbHZlU2xpY2UiLCJ1c2VUeXBlZFNlbGVjdG9yIiwic3R5bGVzIiwiQm9hcmRQdXJlIiwiQWN0aW9ucyIsIklucHV0UHJvbXB0IiwidXNlQm9hcmRTdHlsZSIsInVzZUZsb2F0aW5nQWN0aW9ucyIsInVzZUZsb2F0aW5nRm9jdXMiLCJ1c2VGbG9hdGluZ0lucHV0UHJvbXB0IiwidXNlR3JpZCIsIkJvYXJkIiwiY2xhc3NOYW1lIiwiZGlzcGF0Y2giLCJsb2NhbGUiLCJyb3dzIiwiaW5wdXRNb2RlIiwiZmlsdGVyZWRDZWxscyIsInNob3dDb29yZGluYXRlcyIsImNlbGxTaXplIiwiY29vcmRpbmF0ZXNGb250U2l6ZSIsImNvb3JkaW5hdGVzU2l6ZSIsImFjdGl2ZUluZGV4IiwiZGlyZWN0aW9uIiwiaW5wdXRSZWZzIiwiaW5zZXJ0VmFsdWUiLCJvbkNoYW5nZSIsIm9uRGlyZWN0aW9uVG9nZ2xlIiwib25Gb2N1cyIsIm9uS2V5RG93biIsIm9uUGFzdGUiLCJib2FyZFN0eWxlIiwiaGFzRm9jdXMiLCJzZXRIYXNGb2N1cyIsInNob3dJbnB1dFByb21wdCIsInNldFNob3dJbnB1dFByb21wdCIsInRyYW5zaXRpb24iLCJzZXRUcmFuc2l0aW9uIiwiaW5wdXRSZWYiLCJ5IiwieCIsImNlbGwiLCJmbG9hdGluZ0FjdGlvbnMiLCJmbG9hdGluZ0lucHV0UHJvbXB0IiwiZmxvYXRpbmdGb2N1cyIsImhhbmRsZUJsdXIiLCJldmVudCIsImNvbWVzRnJvbUFjdGlvbnMiLCJyZWZzIiwiZmxvYXRpbmciLCJjdXJyZW50IiwiY29udGFpbnMiLCJyZWxhdGVkVGFyZ2V0IiwiY29tZXNGcm9tQm9hcmQiLCJjdXJyZW50VGFyZ2V0IiwiY29tZXNGcm9tRm9jdXMiLCJjb21lc0Zyb21JbnB1dFByb21wdCIsImlzTG9jYWxFdmVudCIsInVwZGF0ZUZsb2F0aW5nUmVmZXJlbmNlIiwibmV3UmVmZXJlbmNlIiwic2V0UmVmZXJlbmNlIiwiaGFuZGxlRm9jdXMiLCJuZXdYIiwibmV3WSIsImlzRmlyc3RGb2N1cyIsIm9yaWdpbmFsVHJhbnNpdGlvbiIsInN0eWxlIiwibmV3SW5wdXRSZWYiLCJuZXdUaWxlRWxlbWVudCIsInBhcmVudEVsZW1lbnQiLCJnbG9iYWxUaGlzIiwic2V0VGltZW91dCIsImhhbmRsZUVudGVyV29yZCIsImhhbmRsZUluc2VydFdvcmQiLCJ3b3JkIiwidHJpbSIsImxlbmd0aCIsImFjdGlvbnMiLCJjaGFuZ2VDZWxsVmFsdWUiLCJ2YWx1ZSIsInRvTG9jYWxlTG93ZXJDYXNlIiwic3VibWl0IiwiaGFuZGxlVG9nZ2xlQmxhbmsiLCJmb2N1cyIsInRvZ2dsZUNlbGxJc0JsYW5rIiwiaGFuZGxlVG9nZ2xlRGlyZWN0aW9uIiwiaGFuZGxlVG9nZ2xlRmlsdGVyQ2VsbCIsInRvZ2dsZSIsInJlZiIsImlnbm9yZUNsYXNzIiwib25CbHVyIiwiZGl2IiwiaGlkZGVuIiwic2V0RmxvYXRpbmciLCJwb3NpdGlvbiIsInN0cmF0ZWd5IiwidG9wIiwibGVmdCIsIndpZHRoIiwiaGVpZ2h0Iiwib3BhY2l0eSIsInZpc2liaWxpdHkiLCJ0YWJJbmRleCIsIm9uRW50ZXJXb3JkIiwib25Ub2dnbGVCbGFuayIsIm9uVG9nZ2xlRmlsdGVyQ2VsbCIsImluaXRpYWxWYWx1ZSIsInRpbGUiLCJjaGFyYWN0ZXIiLCJvblN1Ym1pdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/Board/Board.tsx\n"));
|
|
39
|
+
|
|
40
|
+
/***/ }),
|
|
41
|
+
|
|
42
|
+
/***/ "./src/components/Board/BoardPure.tsx":
|
|
43
|
+
/*!********************************************!*\
|
|
44
|
+
!*** ./src/components/Board/BoardPure.tsx ***!
|
|
45
|
+
\********************************************/
|
|
46
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
47
|
+
|
|
48
|
+
"use strict";
|
|
49
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ \"../../node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! icons */ \"./src/icons/index.ts\");\n/* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! parameters */ \"./src/parameters/index.ts\");\n/* harmony import */ var _Board_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Board.module.scss */ \"./src/components/Board/Board.module.scss\");\n/* harmony import */ var _Board_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Board_module_scss__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components */ \"./src/components/Board/components/index.ts\");\n/* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib */ \"./src/components/Board/lib/index.ts\");\n\n\n\n\n\n\n\n\nconst BoardPure = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_2__.forwardRef)(_c = (param, ref)=>{\n let { className, cellSize, coordinatesFontSize, coordinatesSize, direction, filteredCells, inputRefs, rows, showCoordinates, style, onBlur, onChange, onFocus, onKeyDown, onPaste } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Board_module_scss__WEBPACK_IMPORTED_MODULE_7___default().board), className),\n ref: ref,\n style: style,\n onBlur: onBlur,\n onKeyDown: onKeyDown,\n onPaste: onPaste,\n children: [\n showCoordinates !== \"hidden\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: coordinatesSize,\n height: coordinatesSize\n }\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/BoardPure.tsx\",\n lineNumber: 72,\n columnNumber: 11\n }, undefined),\n rows[0].map((_column, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_Board_module_scss__WEBPACK_IMPORTED_MODULE_7___default().coordinateColumn),\n style: {\n width: cellSize,\n height: coordinatesSize,\n fontSize: coordinatesFontSize\n },\n children: (0,_lib__WEBPACK_IMPORTED_MODULE_6__.getCoordinate)(index, showCoordinates === \"original\" ? \"letter\" : \"number\")\n }, index, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/BoardPure.tsx\",\n lineNumber: 75,\n columnNumber: 13\n }, undefined))\n ]\n }, void 0, true),\n filteredCells.map((param)=>{\n let { x, y } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_Board_module_scss__WEBPACK_IMPORTED_MODULE_7___default().iconContainer),\n style: {\n height: cellSize,\n width: cellSize,\n left: direction === \"ltr\" ? coordinatesSize + x * (cellSize + parameters__WEBPACK_IMPORTED_MODULE_4__.BORDER_WIDTH) : undefined,\n right: direction === \"rtl\" ? coordinatesSize + x * (cellSize + parameters__WEBPACK_IMPORTED_MODULE_4__.BORDER_WIDTH) : undefined,\n top: coordinatesSize + y * (cellSize + parameters__WEBPACK_IMPORTED_MODULE_4__.BORDER_WIDTH)\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_Board_module_scss__WEBPACK_IMPORTED_MODULE_7___default().iconBackground)\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/BoardPure.tsx\",\n lineNumber: 102,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(icons__WEBPACK_IMPORTED_MODULE_3__.FlagFill, {\n className: (_Board_module_scss__WEBPACK_IMPORTED_MODULE_7___default().icon)\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/BoardPure.tsx\",\n lineNumber: 103,\n columnNumber: 11\n }, undefined)\n ]\n }, [\n x,\n y\n ].join(\"-\"), true, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/BoardPure.tsx\",\n lineNumber: 91,\n columnNumber: 9\n }, undefined);\n }),\n rows.map((cells, y)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n children: [\n showCoordinates !== \"hidden\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_Board_module_scss__WEBPACK_IMPORTED_MODULE_7___default().coordinateRow),\n style: {\n width: coordinatesSize,\n height: cellSize,\n fontSize: coordinatesFontSize\n },\n children: (0,_lib__WEBPACK_IMPORTED_MODULE_6__.getCoordinate)(y, showCoordinates === \"original\" ? \"number\" : \"letter\")\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/BoardPure.tsx\",\n lineNumber: 110,\n columnNumber: 13\n }, undefined),\n cells.map((cell, x)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components__WEBPACK_IMPORTED_MODULE_5__.Cell, {\n className: (_Board_module_scss__WEBPACK_IMPORTED_MODULE_7___default().cell),\n cell: cell,\n cellBottom: y < rows.length - 1 ? rows[y + 1][x] : undefined,\n cellLeft: x > 0 ? rows[y][x - 1] : undefined,\n cellRight: x < rows.length - 1 ? rows[y][x + 1] : undefined,\n cellTop: y > 0 ? rows[y - 1][x] : undefined,\n inputRef: inputRefs[y][x],\n size: cellSize,\n onChange: onChange,\n onFocus: onFocus\n }, x, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/BoardPure.tsx\",\n lineNumber: 123,\n columnNumber: 13\n }, undefined))\n ]\n }, y, true, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/BoardPure.tsx\",\n lineNumber: 108,\n columnNumber: 9\n }, undefined))\n ]\n }, void 0, true, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/BoardPure.tsx\",\n lineNumber: 62,\n columnNumber: 5\n }, undefined);\n});\n_c1 = BoardPure;\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*#__PURE__*/_c2 = (0,react__WEBPACK_IMPORTED_MODULE_2__.memo)(BoardPure));\nvar _c, _c1, _c2;\n$RefreshReg$(_c, \"BoardPure$forwardRef\");\n$RefreshReg$(_c1, \"BoardPure\");\n$RefreshReg$(_c2, \"%default%\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RCxFQUFFLEdBQUdJO2dDQUNsQ2MsVUFBVXBDLFNBQVMsQ0FBQ21CLEVBQUUsQ0FBQ0QsRUFBRTtnQ0FFekJtQixNQUFNMUM7Z0NBQ05VLFVBQVVBO2dDQUNWQyxTQUFTQTsrQkFISlk7Ozs7OzttQkF2QklDOzs7Ozs7Ozs7Ozs7O0FBbUN2QixrRkFBZWpDLDJDQUFJQSxDQUFDTSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0JvYXJkL0JvYXJkUHVyZS50c3g/MDMzNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZWxsIGFzIENlbGxNb2RlbCwgU2hvd0Nvb3JkaW5hdGVzIH0gZnJvbSAnQHNjcmFiYmxlLXNvbHZlci90eXBlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7XG4gIENTU1Byb3BlcnRpZXMsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgQ2xpcGJvYXJkRXZlbnRIYW5kbGVyLFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgRnJhZ21lbnQsXG4gIEtleWJvYXJkRXZlbnRIYW5kbGVyLFxuICBSZWZPYmplY3QsXG4gIGZvcndhcmRSZWYsXG4gIG1lbW8sXG59IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgRmxhZ0ZpbGwgfSBmcm9tICdpY29ucyc7XG5pbXBvcnQgeyBCT1JERVJfV0lEVEggfSBmcm9tICdwYXJhbWV0ZXJzJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAndHlwZXMnO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vQm9hcmQubW9kdWxlLnNjc3MnO1xuaW1wb3J0IHsgQ2VsbCB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBnZXRDb29yZGluYXRlIH0gZnJvbSAnLi9saWInO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGNlbGxTaXplOiBudW1iZXI7XG4gIGNvb3JkaW5hdGVzRm9udFNpemU6IG51bWJlcjtcbiAgY29vcmRpbmF0ZXNTaXplOiBudW1iZXI7XG4gIGRpcmVjdGlvbjogJ2x0cicgfCAncnRsJztcbiAgZmlsdGVyZWRDZWxsczogUG9pbnRbXTtcbiAgaW5wdXRSZWZzOiBSZWZPYmplY3Q8SFRNTElucHV0RWxlbWVudD5bXVtdO1xuICByb3dzOiBDZWxsTW9kZWxbXVtdO1xuICBzaG93Q29vcmRpbmF0ZXM6IFNob3dDb29yZGluYXRlcztcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xuICBvbkJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyO1xuICBvbkNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBvbkZvY3VzOiAoeDogbnVtYmVyLCB5OiBudW1iZXIpID0+IHZvaWQ7XG4gIG9uS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD47XG4gIG9uUGFzdGU6IENsaXBib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50Pjtcbn1cblxuY29uc3QgQm9hcmRQdXJlID0gZm9yd2FyZFJlZjxIVE1MRGl2RWxlbWVudCwgUHJvcHM+KFxuICAoXG4gICAge1xuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY2VsbFNpemUsXG4gICAgICBjb29yZGluYXRlc0ZvbnRTaXplLFxuICAgICAgY29vcmRpbmF0ZXNTaXplLFxuICAgICAgZGlyZWN0aW9uLFxuICAgICAgZmlsdGVyZWRDZWxscyxcbiAgICAgIGlucHV0UmVmcyxcbiAgICAgIHJvd3MsXG4gICAgICBzaG93Q29vcmRpbmF0ZXMsXG4gICAgICBzdHlsZSxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIG9uUGFzdGUsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhzdHlsZXMuYm9hcmQsIGNsYXNzTmFtZSl9XG4gICAgICByZWY9e3JlZn1cbiAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25LZXlEb3duPXtvbktleURvd259XG4gICAgICBvblBhc3RlPXtvblBhc3RlfVxuICAgID5cbiAgICAgIHtzaG93Q29vcmRpbmF0ZXMgIT09ICdoaWRkZW4nICYmIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiBjb29yZGluYXRlc1NpemUsIGhlaWdodDogY29vcmRpbmF0ZXNTaXplIH19IC8+XG5cbiAgICAgICAgICB7cm93c1swXS5tYXAoKF9jb2x1bW4sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmNvb3JkaW5hdGVDb2x1bW59XG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNlbGxTaXplLFxuICAgICAgICAgICAgICAgIGhlaWdodDogY29vcmRpbmF0ZXNTaXplLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiBjb29yZGluYXRlc0ZvbnRTaXplLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Z2V0Q29vcmRpbmF0ZShpbmRleCwgc2hvd0Nvb3JkaW5hdGVzID09PSAnb3JpZ2luYWwnID8gJ2xldHRlcicgOiAnbnVtYmVyJyl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC8+XG4gICAgICApfVxuXG4gICAgICB7ZmlsdGVyZWRDZWxscy5tYXAoKHsgeCwgeSB9KSA9PiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5pY29uQ29udGFpbmVyfVxuICAgICAgICAgIGtleT17W3gsIHldLmpvaW4oJy0nKX1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgaGVpZ2h0OiBjZWxsU2l6ZSxcbiAgICAgICAgICAgIHdpZHRoOiBjZWxsU2l6ZSxcbiAgICAgICAgICAgIGxlZnQ6IGRpcmVjdGlvbiA9PT0gJ2x0cicgPyBjb29yZGluYXRlc1NpemUgKyB4ICogKGNlbGxTaXplICsgQk9SREVSX1dJRFRIKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHJpZ2h0OiBkaXJlY3Rpb24gPT09ICdydGwnID8gY29vcmRpbmF0ZXNTaXplICsgeCAqIChjZWxsU2l6ZSArIEJPUkRFUl9XSURUSCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB0b3A6IGNvb3JkaW5hdGVzU2l6ZSArIHkgKiAoY2VsbFNpemUgKyBCT1JERVJfV0lEVEgpLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb25CYWNrZ3JvdW5kfSAvPlxuICAgICAgICAgIDxGbGFnRmlsbCBjbGFzc05hbWU9e3N0eWxlcy5pY29ufSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkpfVxuXG4gICAgICB7cm93cy5tYXAoKGNlbGxzLCB5KSA9PiAoXG4gICAgICAgIDxGcmFnbWVudCBrZXk9e3l9PlxuICAgICAgICAgIHtzaG93Q29vcmRpbmF0ZXMgIT09ICdoaWRkZW4nICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuY29vcmRpbmF0ZVJvd31cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogY29vcmRpbmF0ZXNTaXplLFxuICAgICAgICAgICAgICAgIGhlaWdodDogY2VsbFNpemUsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6IGNvb3JkaW5hdGVzRm9udFNpemUsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtnZXRDb29yZGluYXRlKHksIHNob3dDb29yZGluYXRlcyA9PT0gJ29yaWdpbmFsJyA/ICdudW1iZXInIDogJ2xldHRlcicpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtjZWxscy5tYXAoKGNlbGwsIHgpID0+IChcbiAgICAgICAgICAgIDxDZWxsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmNlbGx9XG4gICAgICAgICAgICAgIGNlbGw9e2NlbGx9XG4gICAgICAgICAgICAgIGNlbGxCb3R0b209e3kgPCByb3dzLmxlbmd0aCAtIDEgPyByb3dzW3kgKyAxXVt4XSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgY2VsbExlZnQ9e3ggPiAwID8gcm93c1t5XVt4IC0gMV0gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgIGNlbGxSaWdodD17eCA8IHJvd3MubGVuZ3RoIC0gMSA/IHJvd3NbeV1beCArIDFdIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICBjZWxsVG9wPXt5ID4gMCA/IHJvd3NbeSAtIDFdW3hdIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICBpbnB1dFJlZj17aW5wdXRSZWZzW3ldW3hdfVxuICAgICAgICAgICAgICBrZXk9e3h9XG4gICAgICAgICAgICAgIHNpemU9e2NlbGxTaXplfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgKSl9XG4gICAgPC9kaXY+XG4gICksXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBtZW1vKEJvYXJkUHVyZSk7XG4iXSwibmFtZXMiOlsiY2xhc3NOYW1lcyIsIkZyYWdtZW50IiwiZm9yd2FyZFJlZiIsIm1lbW8iLCJGbGFnRmlsbCIsIkJPUkRFUl9XSURUSCIsInN0eWxlcyIsIkNlbGwiLCJnZXRDb29yZGluYXRlIiwiQm9hcmRQdXJlIiwicmVmIiwiY2xhc3NOYW1lIiwiY2VsbFNpemUiLCJjb29yZGluYXRlc0ZvbnRTaXplIiwiY29vcmRpbmF0ZXNTaXplIiwiZGlyZWN0aW9uIiwiZmlsdGVyZWRDZWxscyIsImlucHV0UmVmcyIsInJvd3MiLCJzaG93Q29vcmRpbmF0ZXMiLCJzdHlsZSIsIm9uQmx1ciIsIm9uQ2hhbmdlIiwib25Gb2N1cyIsIm9uS2V5RG93biIsIm9uUGFzdGUiLCJkaXYiLCJib2FyZCIsIndpZHRoIiwiaGVpZ2h0IiwibWFwIiwiX2NvbHVtbiIsImluZGV4IiwiY29vcmRpbmF0ZUNvbHVtbiIsImZvbnRTaXplIiwieCIsInkiLCJpY29uQ29udGFpbmVyIiwibGVmdCIsInVuZGVmaW5lZCIsInJpZ2h0IiwidG9wIiwiaWNvbkJhY2tncm91bmQiLCJpY29uIiwiam9pbiIsImNlbGxzIiwiY29vcmRpbmF0ZVJvdyIsImNlbGwiLCJjZWxsQm90dG9tIiwibGVuZ3RoIiwiY2VsbExlZnQiLCJjZWxsUmlnaHQiLCJjZWxsVG9wIiwiaW5wdXRSZWYiLCJzaXplIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/Board/BoardPure.tsx\n"));
|
|
50
|
+
|
|
51
|
+
/***/ }),
|
|
52
|
+
|
|
53
|
+
/***/ "./src/components/Board/hooks/useBackgroundImage.tsx":
|
|
54
|
+
/*!***********************************************************!*\
|
|
55
|
+
!*** ./src/components/Board/hooks/useBackgroundImage.tsx ***!
|
|
56
|
+
\***********************************************************/
|
|
57
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
58
|
+
|
|
59
|
+
"use strict";
|
|
60
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @scrabble-solver/constants */ \"../constants/build/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_dom_server__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-dom/server */ \"../../node_modules/react-dom/server.browser.js\");\n/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-redux */ \"../../node_modules/react-redux/dist/react-redux.mjs\");\n/* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! hooks */ \"./src/hooks/index.ts\");\n/* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! i18n */ \"./src/i18n/index.ts\");\n/* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! icons */ \"./src/icons/index.ts\");\n/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lib */ \"./src/lib/index.ts\");\n/* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! parameters */ \"./src/parameters/index.ts\");\n/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! state */ \"./src/state/index.ts\");\n/* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../lib */ \"./src/components/Board/lib/index.ts\");\n/* eslint-disable max-statements */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\nconst BORDER_RADIUS_XS = 3;\nconst GRID_LINE_SIZE = 1;\nconst HORIZONTAL_LINE = \"h\";\nconst VERTICAL_LINE = \"v\";\nconst BONUS = \"b\";\nconst BONUS_WORD_2 = \"b2\";\nconst BONUS_WORD_3 = \"b3\";\nconst BONUS_WORD_4 = \"b4\";\nconst CELL_FILTER = \"c\";\nconst useBackgroundImage = ()=>{\n _s();\n const { boardSize, cellSize, coordinatesSize } = (0,hooks__WEBPACK_IMPORTED_MODULE_4__.useAppLayout)();\n const locale = (0,state__WEBPACK_IMPORTED_MODULE_9__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_9__.selectLocale);\n const { direction } = i18n__WEBPACK_IMPORTED_MODULE_5__.LOCALE_FEATURES[locale];\n const showCoordinates = (0,state__WEBPACK_IMPORTED_MODULE_9__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_9__.selectShowCoordinates);\n const { isLessThanXs } = (0,hooks__WEBPACK_IMPORTED_MODULE_4__.useMediaQueries)();\n const borderRadius = isLessThanXs ? BORDER_RADIUS_XS : parameters__WEBPACK_IMPORTED_MODULE_8__.BORDER_RADIUS;\n const config = (0,state__WEBPACK_IMPORTED_MODULE_9__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_9__.selectConfig);\n const center = {\n x: Math.floor(config.boardWidth / 2),\n y: Math.floor(config.boardHeight / 2)\n };\n const viewBoxHeight = boardSize;\n const viewBoxWidth = boardSize;\n const bonusSize = cellSize * 0.8;\n const bonusOffset = cellSize * 0.1;\n const iconSize = cellSize * 0.4;\n const iconOffset = (cellSize - iconSize) / 2;\n const { tileFontSize } = (0,lib__WEBPACK_IMPORTED_MODULE_7__.getTileSizes)(cellSize);\n const fontSize = tileFontSize * 0.6;\n const fontOffset = cellSize / 2;\n const characterBonuses = config.bonuses.filter((bonus)=>bonus.type === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.BONUS_CHARACTER);\n const word2Bonuses = config.bonuses.filter((bonus)=>bonus.type === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.BONUS_WORD && bonus.multiplier === 2);\n const word3Bonuses = config.bonuses.filter((bonus)=>bonus.type === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.BONUS_WORD && bonus.multiplier === 3);\n const word4Bonuses = config.bonuses.filter((bonus)=>bonus.type === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.BONUS_WORD && bonus.multiplier === 4);\n const getX = (point)=>(direction === \"ltr\" ? coordinatesSize : 0) + point.x * (cellSize + parameters__WEBPACK_IMPORTED_MODULE_8__.BORDER_WIDTH);\n const getY = (point)=>coordinatesSize + point.y * (cellSize + parameters__WEBPACK_IMPORTED_MODULE_8__.BORDER_WIDTH);\n const backgroundSvg = (0,react_dom_server__WEBPACK_IMPORTED_MODULE_3__.renderToString)(/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_redux__WEBPACK_IMPORTED_MODULE_11__.Provider, {\n store: state__WEBPACK_IMPORTED_MODULE_9__.store,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n height: viewBoxHeight,\n viewBox: \"0 0 \".concat(viewBoxWidth, \" \").concat(viewBoxHeight),\n width: viewBoxWidth,\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"defs\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"symbol\", {\n id: HORIZONTAL_LINE,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n fill: parameters__WEBPACK_IMPORTED_MODULE_8__.BORDER_COLOR_LIGHT,\n height: GRID_LINE_SIZE,\n width: viewBoxWidth\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 73,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 72,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"symbol\", {\n id: VERTICAL_LINE,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n fill: parameters__WEBPACK_IMPORTED_MODULE_8__.BORDER_COLOR_LIGHT,\n height: viewBoxHeight,\n width: GRID_LINE_SIZE\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 77,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 76,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"symbol\", {\n id: BONUS,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n height: bonusSize,\n rx: borderRadius,\n width: bonusSize,\n x: bonusOffset,\n y: bonusOffset\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 81,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 80,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"symbol\", {\n id: BONUS_WORD_2,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n height: bonusSize,\n rx: borderRadius,\n width: bonusSize,\n x: bonusOffset,\n y: bonusOffset\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 85,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"text\", {\n dominantBaseline: \"central\",\n fill: \"white\",\n fontFamily: \"system-ui, sans-serif\",\n fontSize: fontSize,\n fontWeight: \"bold\",\n textAnchor: \"middle\",\n x: fontOffset,\n y: fontOffset,\n children: \"x2\"\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 87,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 84,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"symbol\", {\n id: BONUS_WORD_3,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n height: bonusSize,\n rx: borderRadius,\n width: bonusSize,\n x: bonusOffset,\n y: bonusOffset\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 102,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"text\", {\n dominantBaseline: \"central\",\n fill: \"white\",\n fontFamily: \"system-ui, sans-serif\",\n fontSize: fontSize,\n fontWeight: \"bold\",\n textAnchor: \"middle\",\n x: fontOffset,\n y: fontOffset,\n children: \"x3\"\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 104,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 101,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"symbol\", {\n id: BONUS_WORD_4,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n height: bonusSize,\n rx: borderRadius,\n width: bonusSize,\n x: bonusOffset,\n y: bonusOffset\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 119,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"text\", {\n dominantBaseline: \"central\",\n fill: \"white\",\n fontFamily: \"system-ui, sans-serif\",\n fontSize: fontSize,\n fontWeight: \"bold\",\n textAnchor: \"middle\",\n x: fontOffset,\n y: fontOffset,\n children: \"x4\"\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 121,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 118,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"symbol\", {\n id: CELL_FILTER,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n fill: parameters__WEBPACK_IMPORTED_MODULE_8__.COLOR_FILTERED,\n height: bonusSize,\n rx: borderRadius,\n width: bonusSize,\n x: bonusOffset,\n y: bonusOffset\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 136,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(icons__WEBPACK_IMPORTED_MODULE_6__.FlagFill, {\n color: \"white\",\n height: iconSize,\n width: iconSize,\n x: iconOffset,\n y: iconOffset\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 145,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 135,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 71,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n fill: \"white\",\n height: viewBoxHeight,\n rx: borderRadius,\n width: viewBoxWidth,\n x: \"0\",\n y: \"0\"\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 149,\n columnNumber: 9\n }, undefined),\n showCoordinates !== \"hidden\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n fill: parameters__WEBPACK_IMPORTED_MODULE_8__.COLOR_BACKGROUND,\n height: coordinatesSize,\n rx: borderRadius,\n width: viewBoxWidth,\n x: \"0\",\n y: \"0\"\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 153,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n fill: parameters__WEBPACK_IMPORTED_MODULE_8__.COLOR_BACKGROUND,\n height: viewBoxHeight,\n rx: borderRadius,\n x: direction === \"ltr\" ? 0 : viewBoxWidth - coordinatesSize,\n y: \"0\",\n width: coordinatesSize\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 154,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"use\", {\n href: \"#\".concat(HORIZONTAL_LINE),\n y: coordinatesSize\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 162,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"use\", {\n href: \"#\".concat(VERTICAL_LINE),\n x: direction === \"ltr\" ? coordinatesSize : viewBoxWidth - coordinatesSize - parameters__WEBPACK_IMPORTED_MODULE_8__.BORDER_WIDTH\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 163,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true),\n Array.from({\n length: config.boardHeight - 1\n }).map((_value, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"use\", {\n href: \"#\".concat(HORIZONTAL_LINE),\n y: coordinatesSize + (index + 1) * (cellSize + parameters__WEBPACK_IMPORTED_MODULE_8__.BORDER_WIDTH) - parameters__WEBPACK_IMPORTED_MODULE_8__.BORDER_WIDTH\n }, index, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 171,\n columnNumber: 11\n }, undefined)),\n Array.from({\n length: config.boardWidth - 1\n }).map((_value, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"use\", {\n href: \"#\".concat(VERTICAL_LINE),\n x: (direction === \"ltr\" ? coordinatesSize : 0) + (index + 1) * (cellSize + parameters__WEBPACK_IMPORTED_MODULE_8__.BORDER_WIDTH) - parameters__WEBPACK_IMPORTED_MODULE_8__.BORDER_WIDTH\n }, index, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 179,\n columnNumber: 11\n }, undefined)),\n characterBonuses.map((bonus, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"use\", {\n fill: (0,_lib__WEBPACK_IMPORTED_MODULE_10__.getBonusColor)(bonus),\n href: \"#\".concat(BONUS),\n x: getX(bonus),\n y: getY(bonus)\n }, index, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 187,\n columnNumber: 11\n }, undefined)),\n word2Bonuses.map((bonus, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"use\", {\n fill: (0,_lib__WEBPACK_IMPORTED_MODULE_10__.getBonusColor)(bonus),\n href: \"#\".concat(BONUS_WORD_2),\n x: getX(bonus),\n y: getY(bonus)\n }, index, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 191,\n columnNumber: 11\n }, undefined)),\n word3Bonuses.map((bonus, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"use\", {\n fill: (0,_lib__WEBPACK_IMPORTED_MODULE_10__.getBonusColor)(bonus),\n href: \"#\".concat(BONUS_WORD_3),\n x: getX(bonus),\n y: getY(bonus)\n }, index, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 195,\n columnNumber: 11\n }, undefined)),\n word4Bonuses.map((bonus, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"use\", {\n fill: (0,_lib__WEBPACK_IMPORTED_MODULE_10__.getBonusColor)(bonus),\n href: \"#\".concat(BONUS_WORD_4),\n x: getX(bonus),\n y: getY(bonus)\n }, index, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 199,\n columnNumber: 11\n }, undefined)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n fill: parameters__WEBPACK_IMPORTED_MODULE_8__.COLOR_BONUS_START,\n height: bonusSize,\n rx: borderRadius,\n width: bonusSize,\n x: getX(center) + bonusOffset,\n y: getY(center) + bonusOffset\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 202,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(icons__WEBPACK_IMPORTED_MODULE_6__.Star, {\n color: \"white\",\n height: iconSize,\n width: iconSize,\n x: getX(center) + iconOffset,\n y: getY(center) + iconOffset\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 211,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 65,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx\",\n lineNumber: 64,\n columnNumber: 5\n }, undefined));\n const encodedSvg = globalThis.btoa(backgroundSvg);\n const dataUrl = \"data:image/svg+xml;base64,\".concat(encodedSvg);\n const blob = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>(0,lib__WEBPACK_IMPORTED_MODULE_7__.dataUrlToBlob)(dataUrl), [\n dataUrl\n ]);\n const blobUrl = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>URL.createObjectURL(blob), [\n blob\n ]);\n const url = \"url(\".concat(blobUrl, \")\");\n return url;\n};\n_s(useBackgroundImage, \"nV4WroklzlYR2xIfq99JfS2JnV8=\", false, function() {\n return [\n hooks__WEBPACK_IMPORTED_MODULE_4__.useAppLayout,\n state__WEBPACK_IMPORTED_MODULE_9__.useTypedSelector,\n state__WEBPACK_IMPORTED_MODULE_9__.useTypedSelector,\n hooks__WEBPACK_IMPORTED_MODULE_4__.useMediaQueries,\n state__WEBPACK_IMPORTED_MODULE_9__.useTypedSelector\n ];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (useBackgroundImage);\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9Cb2FyZC9ob29rcy91c2VCYWNrZ3JvdW5kSW1hZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlDQUFpQzs7QUFFd0M7QUFDekM7QUFDa0I7QUFDWDtBQUVlO0FBQ2Y7QUFDQTtBQUNXO0FBUTlCO0FBQytFO0FBRzVEO0FBRXZDLE1BQU13QixtQkFBbUI7QUFDekIsTUFBTUMsaUJBQWlCO0FBQ3ZCLE1BQU1DLGtCQUFrQjtBQUN4QixNQUFNQyxnQkFBZ0I7QUFDdEIsTUFBTUMsUUFBUTtBQUNkLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsZUFBZTtBQUNyQixNQUFNQyxlQUFlO0FBQ3JCLE1BQU1DLGNBQWM7QUFFcEIsTUFBTUMscUJBQXFCOztJQUN6QixNQUFNLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxFQUFFQyxlQUFlLEVBQUUsR0FBRy9CLG1EQUFZQTtJQUM3RCxNQUFNZ0MsU0FBU2YsdURBQWdCQSxDQUFDSCwrQ0FBWUE7SUFDNUMsTUFBTSxFQUFFbUIsU0FBUyxFQUFFLEdBQUcvQixpREFBZSxDQUFDOEIsT0FBTztJQUM3QyxNQUFNRSxrQkFBa0JqQix1REFBZ0JBLENBQUNGLHdEQUFxQkE7SUFDOUQsTUFBTSxFQUFFb0IsWUFBWSxFQUFFLEdBQUdsQyxzREFBZUE7SUFDeEMsTUFBTW1DLGVBQWVELGVBQWVoQixtQkFBbUJYLHFEQUFhQTtJQUNwRSxNQUFNNkIsU0FBU3BCLHVEQUFnQkEsQ0FBQ0osK0NBQVlBO0lBQzVDLE1BQU15QixTQUFTO1FBQUVDLEdBQUdDLEtBQUtDLEtBQUssQ0FBQ0osT0FBT0ssVUFBVSxHQUFHO1FBQUlDLEdBQUdILEtBQUtDLEtBQUssQ0FBQ0osT0FBT08sV0FBVyxHQUFHO0lBQUc7SUFDN0YsTUFBTUMsZ0JBQWdCaEI7SUFDdEIsTUFBTWlCLGVBQWVqQjtJQUNyQixNQUFNa0IsWUFBWWpCLFdBQVc7SUFDN0IsTUFBTWtCLGNBQWNsQixXQUFXO0lBQy9CLE1BQU1tQixXQUFX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bURBQWdCQTs7O0FBNkxqQywrREFBZVcsa0JBQWtCQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0JvYXJkL2hvb2tzL3VzZUJhY2tncm91bmRJbWFnZS50c3g/NjhkOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtc3RhdGVtZW50cyAqL1xuXG5pbXBvcnQgeyBCT05VU19DSEFSQUNURVIsIEJPTlVTX1dPUkQgfSBmcm9tICdAc2NyYWJibGUtc29sdmVyL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyVG9TdHJpbmcgfSBmcm9tICdyZWFjdC1kb20vc2VydmVyJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgeyB1c2VBcHBMYXlvdXQsIHVzZU1lZGlhUXVlcmllcyB9IGZyb20gJ2hvb2tzJztcbmltcG9ydCB7IExPQ0FMRV9GRUFUVVJFUyB9IGZyb20gJ2kxOG4nO1xuaW1wb3J0IHsgRmxhZ0ZpbGwsIFN0YXIgfSBmcm9tICdpY29ucyc7XG5pbXBvcnQgeyBkYXRhVXJsVG9CbG9iLCBnZXRUaWxlU2l6ZXMgfSBmcm9tICdsaWInO1xuaW1wb3J0IHtcbiAgQk9SREVSX0NPTE9SX0xJR0hULFxuICBCT1JERVJfUkFESVVTLFxuICBCT1JERVJfV0lEVEgsXG4gIENPTE9SX0JBQ0tHUk9VTkQsXG4gIENPTE9SX0JPTlVTX1NUQVJULFxuICBDT0xPUl9GSUxURVJFRCxcbn0gZnJvbSAncGFyYW1ldGVycyc7XG5pbXBvcnQgeyBzZWxlY3RDb25maWcsIHNlbGVjdExvY2FsZSwgc2VsZWN0U2hvd0Nvb3JkaW5hdGVzLCBzdG9yZSwgdXNlVHlwZWRTZWxlY3RvciB9IGZyb20gJ3N0YXRlJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAndHlwZXMnO1xuXG5pbXBvcnQgeyBnZXRCb251c0NvbG9yIH0gZnJvbSAnLi4vbGliJztcblxuY29uc3QgQk9SREVSX1JBRElVU19YUyA9IDM7XG5jb25zdCBHUklEX0xJTkVfU0laRSA9IDE7XG5jb25zdCBIT1JJWk9OVEFMX0xJTkUgPSAnaCc7XG5jb25zdCBWRVJUSUNBTF9MSU5FID0gJ3YnO1xuY29uc3QgQk9OVVMgPSAnYic7XG5jb25zdCBCT05VU19XT1JEXzIgPSAnYjInO1xuY29uc3QgQk9OVVNfV09SRF8zID0gJ2IzJztcbmNvbnN0IEJPTlVTX1dPUkRfNCA9ICdiNCc7XG5jb25zdCBDRUxMX0ZJTFRFUiA9ICdjJztcblxuY29uc3QgdXNlQmFja2dyb3VuZEltYWdlID0gKCkgPT4ge1xuICBjb25zdCB7IGJvYXJkU2l6ZSwgY2VsbFNpemUsIGNvb3JkaW5hdGVzU2l6ZSB9ID0gdXNlQXBwTGF5b3V0KCk7XG4gIGNvbnN0IGxvY2FsZSA9IHVzZVR5cGVkU2VsZWN0b3Ioc2VsZWN0TG9jYWxlKTtcbiAgY29uc3QgeyBkaXJlY3Rpb24gfSA9IExPQ0FMRV9GRUFUVVJFU1tsb2NhbGVdO1xuICBjb25zdCBzaG93Q29vcmRpbmF0ZXMgPSB1c2VUeXBlZFNlbGVjdG9yKHNlbGVjdFNob3dDb29yZGluYXRlcyk7XG4gIGNvbnN0IHsgaXNMZXNzVGhhblhzIH0gPSB1c2VNZWRpYVF1ZXJpZXMoKTtcbiAgY29uc3QgYm9yZGVyUmFkaXVzID0gaXNMZXNzVGhhblhzID8gQk9SREVSX1JBRElVU19YUyA6IEJPUkRFUl9SQURJVVM7XG4gIGNvbnN0IGNvbmZpZyA9IHVzZVR5cGVkU2VsZWN0b3Ioc2VsZWN0Q29uZmlnKTtcbiAgY29uc3QgY2VudGVyID0geyB4OiBNYXRoLmZsb29yKGNvbmZpZy5ib2FyZFdpZHRoIC8gMiksIHk6IE1hdGguZmxvb3IoY29uZmlnLmJvYXJkSGVpZ2h0IC8gMikgfTtcbiAgY29uc3Qgdmlld0JveEhlaWdodCA9IGJvYXJkU2l6ZTtcbiAgY29uc3Qgdmlld0JveFdpZHRoID0gYm9hcmRTaXplO1xuICBjb25zdCBib251c1NpemUgPSBjZWxsU2l6ZSAqIDAuODtcbiAgY29uc3QgYm9udXNPZmZzZXQgPSBjZWxsU2l6ZSAqIDAuMTtcbiAgY29uc3QgaWNvblNpemUgPSBjZWxsU2l6ZSAqIDAuNDtcbiAgY29uc3QgaWNvbk9mZnNldCA9IChjZWxsU2l6ZSAtIGljb25TaXplKSAvIDI7XG4gIGNvbnN0IHsgdGlsZUZvbnRTaXplIH0gPSBnZXRUaWxlU2l6ZXMoY2VsbFNpemUpO1xuICBjb25zdCBmb250U2l6ZSA9IHRpbGVGb250U2l6ZSAqIDAuNjtcbiAgY29uc3QgZm9udE9mZnNldCA9IGNlbGxTaXplIC8gMjtcbiAgY29uc3QgY2hhcmFjdGVyQm9udXNlcyA9IGNvbmZpZy5ib251c2VzLmZpbHRlcigoYm9udXMpID0+IGJvbnVzLnR5cGUgPT09IEJPTlVTX0NIQVJBQ1RFUik7XG4gIGNvbnN0IHdvcmQyQm9udXNlcyA9IGNvbmZpZy5ib251c2VzLmZpbHRlcigoYm9udXMpID0+IGJvbnVzLnR5cGUgPT09IEJPTlVTX1dPUkQgJiYgYm9udXMubXVsdGlwbGllciA9PT0gMik7XG4gIGNvbnN0IHdvcmQzQm9udXNlcyA9IGNvbmZpZy5ib251c2VzLmZpbHRlcigoYm9udXMpID0+IGJvbnVzLnR5cGUgPT09IEJPTlVTX1dPUkQgJiYgYm9udXMubXVsdGlwbGllciA9PT0gMyk7XG4gIGNvbnN0IHdvcmQ0Qm9udXNlcyA9IGNvbmZpZy5ib251c2VzLmZpbHRlcigoYm9udXMpID0+IGJvbnVzLnR5cGUgPT09IEJPTlVTX1dPUkQgJiYgYm9udXMubXVsdGlwbGllciA9PT0gNCk7XG5cbiAgY29uc3QgZ2V0WCA9IChwb2ludDogUG9pbnQpOiBudW1iZXIgPT5cbiAgICAoZGlyZWN0aW9uID09PSAnbHRyJyA/IGNvb3JkaW5hdGVzU2l6ZSA6IDApICsgcG9pbnQueCAqIChjZWxsU2l6ZSArIEJPUkRFUl9XSURUSCk7XG5cbiAgY29uc3QgZ2V0WSA9IChwb2ludDogUG9pbnQpOiBudW1iZXIgPT4gY29vcmRpbmF0ZXNTaXplICsgcG9pbnQueSAqIChjZWxsU2l6ZSArIEJPUkRFUl9XSURUSCk7XG5cbiAgY29uc3QgYmFja2dyb3VuZFN2ZyA9IHJlbmRlclRvU3RyaW5nKFxuICAgIDxQcm92aWRlciBzdG9yZT17c3RvcmV9PlxuICAgICAgPHN2Z1xuICAgICAgICBoZWlnaHQ9e3ZpZXdCb3hIZWlnaHR9XG4gICAgICAgIHZpZXdCb3g9e2AwIDAgJHt2aWV3Qm94V2lkdGh9ICR7dmlld0JveEhlaWdodH1gfVxuICAgICAgICB3aWR0aD17dmlld0JveFdpZHRofVxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgID5cbiAgICAgICAgPGRlZnM+XG4gICAgICAgICAgPHN5bWJvbCBpZD17SE9SSVpPTlRBTF9MSU5FfT5cbiAgICAgICAgICAgIDxyZWN0IGZpbGw9e0JPUkRFUl9DT0xPUl9MSUdIVH0gaGVpZ2h0PXtHUklEX0xJTkVfU0laRX0gd2lkdGg9e3ZpZXdCb3hXaWR0aH0gLz5cbiAgICAgICAgICA8L3N5bWJvbD5cblxuICAgICAgICAgIDxzeW1ib2wgaWQ9e1ZFUlRJQ0FMX0xJTkV9PlxuICAgICAgICAgICAgPHJlY3QgZmlsbD17Qk9SREVSX0NPTE9SX0xJR0hUfSBoZWlnaHQ9e3ZpZXdCb3hIZWlnaHR9IHdpZHRoPXtHUklEX0xJTkVfU0laRX0gLz5cbiAgICAgICAgICA8L3N5bWJvbD5cblxuICAgICAgICAgIDxzeW1ib2wgaWQ9e0JPTlVTfT5cbiAgICAgICAgICAgIDxyZWN0IGhlaWdodD17Ym9udXNTaXplfSByeD17Ym9yZGVyUmFkaXVzfSB3aWR0aD17Ym9udXNTaXplfSB4PXtib251c09mZnNldH0geT17Ym9udXNPZmZzZXR9IC8+XG4gICAgICAgICAgPC9zeW1ib2w+XG5cbiAgICAgICAgICA8c3ltYm9sIGlkPXtCT05VU19XT1JEXzJ9PlxuICAgICAgICAgICAgPHJlY3QgaGVpZ2h0PXtib251c1NpemV9IHJ4PXtib3JkZXJSYWRpdXN9IHdpZHRoPXtib251c1NpemV9IHg9e2JvbnVzT2Zmc2V0fSB5PXtib251c09mZnNldH0gLz5cblxuICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgZG9taW5hbnRCYXNlbGluZT1cImNlbnRyYWxcIlxuICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgICAgICBmb250RmFtaWx5PVwic3lzdGVtLXVpLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgZm9udFNpemU9e2ZvbnRTaXplfVxuICAgICAgICAgICAgICBmb250V2VpZ2h0PVwiYm9sZFwiXG4gICAgICAgICAgICAgIHRleHRBbmNob3I9XCJtaWRkbGVcIlxuICAgICAgICAgICAgICB4PXtmb250T2Zmc2V0fVxuICAgICAgICAgICAgICB5PXtmb250T2Zmc2V0fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB4MlxuICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgIDwvc3ltYm9sPlxuXG4gICAgICAgICAgPHN5bWJvbCBpZD17Qk9OVVNfV09SRF8zfT5cbiAgICAgICAgICAgIDxyZWN0IGhlaWdodD17Ym9udXNTaXplfSByeD17Ym9yZGVyUmFkaXVzfSB3aWR0aD17Ym9udXNTaXplfSB4PXtib251c09mZnNldH0geT17Ym9udXNPZmZzZXR9IC8+XG5cbiAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgIGRvbWluYW50QmFzZWxpbmU9XCJjZW50cmFsXCJcbiAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCJcbiAgICAgICAgICAgICAgZm9udEZhbWlseT1cInN5c3RlbS11aSwgc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgIGZvbnRTaXplPXtmb250U2l6ZX1cbiAgICAgICAgICAgICAgZm9udFdlaWdodD1cImJvbGRcIlxuICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwibWlkZGxlXCJcbiAgICAgICAgICAgICAgeD17Zm9udE9mZnNldH1cbiAgICAgICAgICAgICAgeT17Zm9udE9mZnNldH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeDNcbiAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICA8L3N5bWJvbD5cblxuICAgICAgICAgIDxzeW1ib2wgaWQ9e0JPTlVTX1dPUkRfNH0+XG4gICAgICAgICAgICA8cmVjdCBoZWlnaHQ9e2JvbnVzU2l6ZX0gcng9e2JvcmRlclJhZGl1c30gd2lkdGg9e2JvbnVzU2l6ZX0geD17Ym9udXNPZmZzZXR9IHk9e2JvbnVzT2Zmc2V0fSAvPlxuXG4gICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICBkb21pbmFudEJhc2VsaW5lPVwiY2VudHJhbFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJzeXN0ZW0tdWksIHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICBmb250U2l6ZT17Zm9udFNpemV9XG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ9XCJib2xkXCJcbiAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cIm1pZGRsZVwiXG4gICAgICAgICAgICAgIHg9e2ZvbnRPZmZzZXR9XG4gICAgICAgICAgICAgIHk9e2ZvbnRPZmZzZXR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHg0XG4gICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgPC9zeW1ib2w+XG5cbiAgICAgICAgICA8c3ltYm9sIGlkPXtDRUxMX0ZJTFRFUn0+XG4gICAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgICBmaWxsPXtDT0xPUl9GSUxURVJFRH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtib251c1NpemV9XG4gICAgICAgICAgICAgIHJ4PXtib3JkZXJSYWRpdXN9XG4gICAgICAgICAgICAgIHdpZHRoPXtib251c1NpemV9XG4gICAgICAgICAgICAgIHg9e2JvbnVzT2Zmc2V0fVxuICAgICAgICAgICAgICB5PXtib251c09mZnNldH1cbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDxGbGFnRmlsbCBjb2xvcj1cIndoaXRlXCIgaGVpZ2h0PXtpY29uU2l6ZX0gd2lkdGg9e2ljb25TaXplfSB4PXtpY29uT2Zmc2V0fSB5PXtpY29uT2Zmc2V0fSAvPlxuICAgICAgICAgIDwvc3ltYm9sPlxuICAgICAgICA8L2RlZnM+XG5cbiAgICAgICAgPHJlY3QgZmlsbD1cIndoaXRlXCIgaGVpZ2h0PXt2aWV3Qm94SGVpZ2h0fSByeD17Ym9yZGVyUmFkaXVzfSB3aWR0aD17dmlld0JveFdpZHRofSB4PVwiMFwiIHk9XCIwXCIgLz5cblxuICAgICAgICB7c2hvd0Nvb3JkaW5hdGVzICE9PSAnaGlkZGVuJyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxyZWN0IGZpbGw9e0NPTE9SX0JBQ0tHUk9VTkR9IGhlaWdodD17Y29vcmRpbmF0ZXNTaXplfSByeD17Ym9yZGVyUmFkaXVzfSB3aWR0aD17dmlld0JveFdpZHRofSB4PVwiMFwiIHk9XCIwXCIgLz5cbiAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgIGZpbGw9e0NPTE9SX0JBQ0tHUk9VTkR9XG4gICAgICAgICAgICAgIGhlaWdodD17dmlld0JveEhlaWdodH1cbiAgICAgICAgICAgICAgcng9e2JvcmRlclJhZGl1c31cbiAgICAgICAgICAgICAgeD17ZGlyZWN0aW9uID09PSAnbHRyJyA/IDAgOiB2aWV3Qm94V2lkdGggLSBjb29yZGluYXRlc1NpemV9XG4gICAgICAgICAgICAgIHk9XCIwXCJcbiAgICAgICAgICAgICAgd2lkdGg9e2Nvb3JkaW5hdGVzU2l6ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8dXNlIGhyZWY9e2AjJHtIT1JJWk9OVEFMX0xJTkV9YH0geT17Y29vcmRpbmF0ZXNTaXplfSAvPlxuICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICBocmVmPXtgIyR7VkVSVElDQUxfTElORX1gfVxuICAgICAgICAgICAgICB4PXtkaXJlY3Rpb24gPT09ICdsdHInID8gY29vcmRpbmF0ZXNTaXplIDogdmlld0JveFdpZHRoIC0gY29vcmRpbmF0ZXNTaXplIC0gQk9SREVSX1dJRFRIfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cblxuICAgICAgICB7QXJyYXkuZnJvbSh7IGxlbmd0aDogY29uZmlnLmJvYXJkSGVpZ2h0IC0gMSB9KS5tYXAoKF92YWx1ZSwgaW5kZXgpID0+IChcbiAgICAgICAgICA8dXNlXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgaHJlZj17YCMke0hPUklaT05UQUxfTElORX1gfVxuICAgICAgICAgICAgeT17Y29vcmRpbmF0ZXNTaXplICsgKGluZGV4ICsgMSkgKiAoY2VsbFNpemUgKyBCT1JERVJfV0lEVEgpIC0gQk9SREVSX1dJRFRIfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuXG4gICAgICAgIHtBcnJheS5mcm9tKHsgbGVuZ3RoOiBjb25maWcuYm9hcmRXaWR0aCAtIDEgfSkubWFwKChfdmFsdWUsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPHVzZVxuICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgIGhyZWY9e2AjJHtWRVJUSUNBTF9MSU5FfWB9XG4gICAgICAgICAgICB4PXsoZGlyZWN0aW9uID09PSAnbHRyJyA/IGNvb3JkaW5hdGVzU2l6ZSA6IDApICsgKGluZGV4ICsgMSkgKiAoY2VsbFNpemUgKyBCT1JERVJfV0lEVEgpIC0gQk9SREVSX1dJRFRIfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuXG4gICAgICAgIHtjaGFyYWN0ZXJCb251c2VzLm1hcCgoYm9udXMsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPHVzZSBmaWxsPXtnZXRCb251c0NvbG9yKGJvbnVzKX0ga2V5PXtpbmRleH0gaHJlZj17YCMke0JPTlVTfWB9IHg9e2dldFgoYm9udXMpfSB5PXtnZXRZKGJvbnVzKX0gLz5cbiAgICAgICAgKSl9XG5cbiAgICAgICAge3dvcmQyQm9udXNlcy5tYXAoKGJvbnVzLCBpbmRleCkgPT4gKFxuICAgICAgICAgIDx1c2UgZmlsbD17Z2V0Qm9udXNDb2xvcihib251cyl9IGtleT17aW5kZXh9IGhyZWY9e2AjJHtCT05VU19XT1JEXzJ9YH0geD17Z2V0WChib251cyl9IHk9e2dldFkoYm9udXMpfSAvPlxuICAgICAgICApKX1cblxuICAgICAgICB7d29yZDNCb251c2VzLm1hcCgoYm9udXMsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPHVzZSBmaWxsPXtnZXRCb251c0NvbG9yKGJvbnVzKX0ga2V5PXtpbmRleH0gaHJlZj17YCMke0JPTlVTX1dPUkRfM31gfSB4PXtnZXRYKGJvbnVzKX0geT17Z2V0WShib251cyl9IC8+XG4gICAgICAgICkpfVxuXG4gICAgICAgIHt3b3JkNEJvbnVzZXMubWFwKChib251cywgaW5kZXgpID0+IChcbiAgICAgICAgICA8dXNlIGZpbGw9e2dldEJvbnVzQ29sb3IoYm9udXMpfSBrZXk9e2luZGV4fSBocmVmPXtgIyR7Qk9OVVNfV09SRF80fWB9IHg9e2dldFgoYm9udXMpfSB5PXtnZXRZKGJvbnVzKX0gLz5cbiAgICAgICAgKSl9XG5cbiAgICAgICAgPHJlY3RcbiAgICAgICAgICBmaWxsPXtDT0xPUl9CT05VU19TVEFSVH1cbiAgICAgICAgICBoZWlnaHQ9e2JvbnVzU2l6ZX1cbiAgICAgICAgICByeD17Ym9yZGVyUmFkaXVzfVxuICAgICAgICAgIHdpZHRoPXtib251c1NpemV9XG4gICAgICAgICAgeD17Z2V0WChjZW50ZXIpICsgYm9udXNPZmZzZXR9XG4gICAgICAgICAgeT17Z2V0WShjZW50ZXIpICsgYm9udXNPZmZzZXR9XG4gICAgICAgIC8+XG5cbiAgICAgICAgPFN0YXJcbiAgICAgICAgICBjb2xvcj1cIndoaXRlXCJcbiAgICAgICAgICBoZWlnaHQ9e2ljb25TaXplfVxuICAgICAgICAgIHdpZHRoPXtpY29uU2l6ZX1cbiAgICAgICAgICB4PXtnZXRYKGNlbnRlcikgKyBpY29uT2Zmc2V0fVxuICAgICAgICAgIHk9e2dldFkoY2VudGVyKSArIGljb25PZmZzZXR9XG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L1Byb3ZpZGVyPixcbiAgKTtcblxuICBjb25zdCBlbmNvZGVkU3ZnID0gZ2xvYmFsVGhpcy5idG9hKGJhY2tncm91bmRTdmcpO1xuICBjb25zdCBkYXRhVXJsID0gYGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsJHtlbmNvZGVkU3ZnfWA7XG4gIGNvbnN0IGJsb2IgPSB1c2VNZW1vKCgpID0+IGRhdGFVcmxUb0Jsb2IoZGF0YVVybCksIFtkYXRhVXJsXSk7XG4gIGNvbnN0IGJsb2JVcmwgPSB1c2VNZW1vKCgpID0+IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYiksIFtibG9iXSk7XG4gIGNvbnN0IHVybCA9IGB1cmwoJHtibG9iVXJsfSlgO1xuXG4gIHJldHVybiB1cmw7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB1c2VCYWNrZ3JvdW5kSW1hZ2U7XG4iXSwibmFtZXMiOlsiQk9OVVNfQ0hBUkFDVEVSIiwiQk9OVVNfV09SRCIsInVzZU1lbW8iLCJyZW5kZXJUb1N0cmluZyIsIlByb3ZpZGVyIiwidXNlQXBwTGF5b3V0IiwidXNlTWVkaWFRdWVyaWVzIiwiTE9DQUxFX0ZFQVRVUkVTIiwiRmxhZ0ZpbGwiLCJTdGFyIiwiZGF0YVVybFRvQmxvYiIsImdldFRpbGVTaXplcyIsIkJPUkRFUl9DT0xPUl9MSUdIVCIsIkJPUkRFUl9SQURJVVMiLCJCT1JERVJfV0lEVEgiLCJDT0xPUl9CQUNLR1JPVU5EIiwiQ09MT1JfQk9OVVNfU1RBUlQiLCJDT0xPUl9GSUxURVJFRCIsInNlbGVjdENvbmZpZyIsInNlbGVjdExvY2FsZSIsInNlbGVjdFNob3dDb29yZGluYXRlcyIsInN0b3JlIiwidXNlVHlwZWRTZWxlY3RvciIsImdldEJvbnVzQ29sb3IiLCJCT1JERVJfUkFESVVTX1hTIiwiR1JJRF9MSU5FX1NJWkUiLCJIT1JJWk9OVEFMX0xJTkUiLCJWRVJUSUNBTF9MSU5FIiwiQk9OVVMiLCJCT05VU19XT1JEXzIiLCJCT05VU19XT1JEXzMiLCJCT05VU19XT1JEXzQiLCJDRUxMX0ZJTFRFUiIsInVzZUJhY2tncm91bmRJbWFnZSIsImJvYXJkU2l6ZSIsImNlbGxTaXplIiwiY29vcmRpbmF0ZXNTaXplIiwibG9jYWxlIiwiZGlyZWN0aW9uIiwic2hvd0Nvb3JkaW5hdGVzIiwiaXNMZXNzVGhhblhzIiwiYm9yZGVyUmFkaXVzIiwiY29uZmlnIiwiY2VudGVyIiwieCIsIk1hdGgiLCJmbG9vciIsImJvYXJkV2lkdGgiLCJ5IiwiYm9hcmRIZWlnaHQiLCJ2aWV3Qm94SGVpZ2h0Iiwidmlld0JveFdpZHRoIiwiYm9udXNTaXplIiwiYm9udXNPZmZzZXQiLCJpY29uU2l6ZSIsImljb25PZmZzZXQiLCJ0aWxlRm9udFNpemUiLCJmb250U2l6ZSIsImZvbnRPZmZzZXQiLCJjaGFyYWN0ZXJCb251c2VzIiwiYm9udXNlcyIsImZpbHRlciIsImJvbnVzIiwidHlwZSIsIndvcmQyQm9udXNlcyIsIm11bHRpcGxpZXIiLCJ3b3JkM0JvbnVzZXMiLCJ3b3JkNEJvbnVzZXMiLCJnZXRYIiwicG9pbnQiLCJnZXRZIiwiYmFja2dyb3VuZFN2ZyIsInN2ZyIsImhlaWdodCIsInZpZXdCb3giLCJ3aWR0aCIsInhtbG5zIiwiZGVmcyIsInN5bWJvbCIsImlkIiwicmVjdCIsImZpbGwiLCJyeCIsInRleHQiLCJkb21pbmFudEJhc2VsaW5lIiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJ0ZXh0QW5jaG9yIiwiY29sb3IiLCJ1c2UiLCJocmVmIiwiQXJyYXkiLCJmcm9tIiwibGVuZ3RoIiwibWFwIiwiX3ZhbHVlIiwiaW5kZXgiLCJlbmNvZGVkU3ZnIiwiZ2xvYmFsVGhpcyIsImJ0b2EiLCJkYXRhVXJsIiwiYmxvYiIsImJsb2JVcmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJ1cmwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/Board/hooks/useBackgroundImage.tsx\n"));
|
|
61
|
+
|
|
62
|
+
/***/ }),
|
|
63
|
+
|
|
64
|
+
/***/ "./src/components/Board/hooks/useBoardStyle.ts":
|
|
65
|
+
/*!*****************************************************!*\
|
|
66
|
+
!*** ./src/components/Board/hooks/useBoardStyle.ts ***!
|
|
67
|
+
\*****************************************************/
|
|
68
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
69
|
+
|
|
70
|
+
"use strict";
|
|
71
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! hooks */ \"./src/hooks/index.ts\");\n/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lib */ \"./src/lib/index.ts\");\n/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! state */ \"./src/state/index.ts\");\n/* harmony import */ var _useBackgroundImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useBackgroundImage */ \"./src/components/Board/hooks/useBackgroundImage.tsx\");\n\n\n\n\n\nconst useBoardStyle = ()=>{\n const config = (0,state__WEBPACK_IMPORTED_MODULE_3__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_3__.selectConfig);\n const { cellSize } = (0,hooks__WEBPACK_IMPORTED_MODULE_1__.useAppLayout)();\n const { tileFontSize } = (0,lib__WEBPACK_IMPORTED_MODULE_2__.getTileSizes)(cellSize);\n const backgroundImage = (0,_useBackgroundImage__WEBPACK_IMPORTED_MODULE_4__[\"default\"])();\n const showCoordinates = (0,state__WEBPACK_IMPORTED_MODULE_3__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_3__.selectShowCoordinates);\n const boardStyle = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n backgroundImage,\n fontSize: tileFontSize,\n gridTemplateColumns: showCoordinates === \"hidden\" ? \"repeat(\".concat(config.boardWidth, \", 1fr)\") : \"0.5fr repeat(\".concat(config.boardWidth, \", 1fr)\"),\n gridTemplateRows: showCoordinates === \"hidden\" ? \"repeat(\".concat(config.boardHeight, \", 1fr)\") : \"0.5fr repeat(\".concat(config.boardHeight, \", 1fr)\")\n }), [\n backgroundImage,\n config.boardHeight,\n config.boardWidth,\n tileFontSize\n ]);\n return boardStyle;\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (useBoardStyle);\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9Cb2FyZC9ob29rcy91c2VCb2FyZFN0eWxlLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBK0M7QUFFVjtBQUNGO0FBQzJDO0FBRXhCO0FBRXRELE1BQU1PLGdCQUFnQjtJQUNwQixNQUFNQyxTQUFTSCx1REFBZ0JBLENBQUNGLCtDQUFZQTtJQUM1QyxNQUFNLEVBQUVNLFFBQVEsRUFBRSxHQUFHUixtREFBWUE7SUFDakMsTUFBTSxFQUFFUyxZQUFZLEVBQUUsR0FBR1IsaURBQVlBLENBQUNPO0lBQ3RDLE1BQU1FLGtCQUFrQkwsK0RBQWtCQTtJQUMxQyxNQUFNTSxrQkFBa0JQLHVEQUFnQkEsQ0FBQ0Qsd0RBQXFCQTtJQUM5RCxNQUFNUyxhQUFhYiw4Q0FBT0EsQ0FDeEIsSUFBTztZQUNMVztZQUNBRyxVQUFVSjtZQUNWSyxxQkFDRUgsb0JBQW9CLFdBQVcsVUFBNEIsT0FBbEJKLE9BQU9RLFVBQVUsRUFBQyxZQUFVLGdCQUFrQyxPQUFsQlIsT0FBT1EsVUFBVSxFQUFDO1lBQ3pHQyxrQkFDRUwsb0JBQW9CLFdBQ2hCLFVBQTZCLE9BQW5CSixPQUFPVSxXQUFXLEVBQUMsWUFDN0IsZ0JBQW1DLE9BQW5CVixPQUFPVSxXQUFXLEVBQUM7UUFDM0MsSUFDQTtRQUFDUDtRQUFpQkgsT0FBT1UsV0FBVztRQUFFVixPQUFPUSxVQUFVO1FBQUVOO0tBQWE7SUFHeEUsT0FBT0c7QUFDVDtBQUVBLCtEQUFlTixhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0JvYXJkL2hvb2tzL3VzZUJvYXJkU3R5bGUudHM/Yjc2NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDU1NQcm9wZXJ0aWVzLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyB1c2VBcHBMYXlvdXQgfSBmcm9tICdob29rcyc7XG5pbXBvcnQgeyBnZXRUaWxlU2l6ZXMgfSBmcm9tICdsaWInO1xuaW1wb3J0IHsgc2VsZWN0Q29uZmlnLCBzZWxlY3RTaG93Q29vcmRpbmF0ZXMsIHVzZVR5cGVkU2VsZWN0b3IgfSBmcm9tICdzdGF0ZSc7XG5cbmltcG9ydCB1c2VCYWNrZ3JvdW5kSW1hZ2UgZnJvbSAnLi91c2VCYWNrZ3JvdW5kSW1hZ2UnO1xuXG5jb25zdCB1c2VCb2FyZFN0eWxlID0gKCkgPT4ge1xuICBjb25zdCBjb25maWcgPSB1c2VUeXBlZFNlbGVjdG9yKHNlbGVjdENvbmZpZyk7XG4gIGNvbnN0IHsgY2VsbFNpemUgfSA9IHVzZUFwcExheW91dCgpO1xuICBjb25zdCB7IHRpbGVGb250U2l6ZSB9ID0gZ2V0VGlsZVNpemVzKGNlbGxTaXplKTtcbiAgY29uc3QgYmFja2dyb3VuZEltYWdlID0gdXNlQmFja2dyb3VuZEltYWdlKCk7XG4gIGNvbnN0IHNob3dDb29yZGluYXRlcyA9IHVzZVR5cGVkU2VsZWN0b3Ioc2VsZWN0U2hvd0Nvb3JkaW5hdGVzKTtcbiAgY29uc3QgYm9hcmRTdHlsZSA9IHVzZU1lbW88Q1NTUHJvcGVydGllcz4oXG4gICAgKCkgPT4gKHtcbiAgICAgIGJhY2tncm91bmRJbWFnZSxcbiAgICAgIGZvbnRTaXplOiB0aWxlRm9udFNpemUsXG4gICAgICBncmlkVGVtcGxhdGVDb2x1bW5zOlxuICAgICAgICBzaG93Q29vcmRpbmF0ZXMgPT09ICdoaWRkZW4nID8gYHJlcGVhdCgke2NvbmZpZy5ib2FyZFdpZHRofSwgMWZyKWAgOiBgMC41ZnIgcmVwZWF0KCR7Y29uZmlnLmJvYXJkV2lkdGh9LCAxZnIpYCxcbiAgICAgIGdyaWRUZW1wbGF0ZVJvd3M6XG4gICAgICAgIHNob3dDb29yZGluYXRlcyA9PT0gJ2hpZGRlbidcbiAgICAgICAgICA/IGByZXBlYXQoJHtjb25maWcuYm9hcmRIZWlnaHR9LCAxZnIpYFxuICAgICAgICAgIDogYDAuNWZyIHJlcGVhdCgke2NvbmZpZy5ib2FyZEhlaWdodH0sIDFmcilgLFxuICAgIH0pLFxuICAgIFtiYWNrZ3JvdW5kSW1hZ2UsIGNvbmZpZy5ib2FyZEhlaWdodCwgY29uZmlnLmJvYXJkV2lkdGgsIHRpbGVGb250U2l6ZV0sXG4gICk7XG5cbiAgcmV0dXJuIGJvYXJkU3R5bGU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB1c2VCb2FyZFN0eWxlO1xuIl0sIm5hbWVzIjpbInVzZU1lbW8iLCJ1c2VBcHBMYXlvdXQiLCJnZXRUaWxlU2l6ZXMiLCJzZWxlY3RDb25maWciLCJzZWxlY3RTaG93Q29vcmRpbmF0ZXMiLCJ1c2VUeXBlZFNlbGVjdG9yIiwidXNlQmFja2dyb3VuZEltYWdlIiwidXNlQm9hcmRTdHlsZSIsImNvbmZpZyIsImNlbGxTaXplIiwidGlsZUZvbnRTaXplIiwiYmFja2dyb3VuZEltYWdlIiwic2hvd0Nvb3JkaW5hdGVzIiwiYm9hcmRTdHlsZSIsImZvbnRTaXplIiwiZ3JpZFRlbXBsYXRlQ29sdW1ucyIsImJvYXJkV2lkdGgiLCJncmlkVGVtcGxhdGVSb3dzIiwiYm9hcmRIZWlnaHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/Board/hooks/useBoardStyle.ts\n"));
|
|
72
|
+
|
|
73
|
+
/***/ }),
|
|
74
|
+
|
|
75
|
+
/***/ "./src/components/Board/lib/getCoordinate.ts":
|
|
76
|
+
/*!***************************************************!*\
|
|
77
|
+
!*** ./src/components/Board/lib/getCoordinate.ts ***!
|
|
78
|
+
\***************************************************/
|
|
79
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
80
|
+
|
|
81
|
+
"use strict";
|
|
82
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\nconst alphabet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\nconst getCoordinate = (index, type)=>{\n if (type === \"number\") {\n return String(index + 1);\n }\n return alphabet[index];\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (getCoordinate);\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9Cb2FyZC9saWIvZ2V0Q29vcmRpbmF0ZS50cyIsIm1hcHBpbmdzIjoiO0FBQUEsTUFBTUEsV0FBVztBQUVqQixNQUFNQyxnQkFBZ0IsQ0FBQ0MsT0FBZUM7SUFDcEMsSUFBSUEsU0FBUyxVQUFVO1FBQ3JCLE9BQU9DLE9BQU9GLFFBQVE7SUFDeEI7SUFFQSxPQUFPRixRQUFRLENBQUNFLE1BQU07QUFDeEI7QUFFQSwrREFBZUQsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Cb2FyZC9saWIvZ2V0Q29vcmRpbmF0ZS50cz8yYTFhIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFscGhhYmV0ID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJztcblxuY29uc3QgZ2V0Q29vcmRpbmF0ZSA9IChpbmRleDogbnVtYmVyLCB0eXBlOiAnbGV0dGVyJyB8ICdudW1iZXInKTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIFN0cmluZyhpbmRleCArIDEpO1xuICB9XG5cbiAgcmV0dXJuIGFscGhhYmV0W2luZGV4XTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGdldENvb3JkaW5hdGU7XG4iXSwibmFtZXMiOlsiYWxwaGFiZXQiLCJnZXRDb29yZGluYXRlIiwiaW5kZXgiLCJ0eXBlIiwiU3RyaW5nIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/Board/lib/getCoordinate.ts\n"));
|
|
83
|
+
|
|
84
|
+
/***/ }),
|
|
85
|
+
|
|
86
|
+
/***/ "./src/components/Board/lib/index.ts":
|
|
87
|
+
/*!*******************************************!*\
|
|
88
|
+
!*** ./src/components/Board/lib/index.ts ***!
|
|
89
|
+
\*******************************************/
|
|
90
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
91
|
+
|
|
92
|
+
"use strict";
|
|
93
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBonusColor: function() { return /* reexport safe */ _getBonusColor__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; },\n/* harmony export */ getCoordinate: function() { return /* reexport safe */ _getCoordinate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; },\n/* harmony export */ getPositionInGrid: function() { return /* reexport safe */ _getPositionInGrid__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; }\n/* harmony export */ });\n/* harmony import */ var _getBonusColor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBonusColor */ \"./src/components/Board/lib/getBonusColor.ts\");\n/* harmony import */ var _getCoordinate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getCoordinate */ \"./src/components/Board/lib/getCoordinate.ts\");\n/* harmony import */ var _getPositionInGrid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getPositionInGrid */ \"./src/components/Board/lib/getPositionInGrid.ts\");\n\n\n\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9Cb2FyZC9saWIvaW5kZXgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTJEO0FBQ0E7QUFDUSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9Cb2FyZC9saWIvaW5kZXgudHM/NTZiNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIGdldEJvbnVzQ29sb3IgfSBmcm9tICcuL2dldEJvbnVzQ29sb3InO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRDb29yZGluYXRlIH0gZnJvbSAnLi9nZXRDb29yZGluYXRlJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0UG9zaXRpb25JbkdyaWQgfSBmcm9tICcuL2dldFBvc2l0aW9uSW5HcmlkJztcbiJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiZ2V0Qm9udXNDb2xvciIsImdldENvb3JkaW5hdGUiLCJnZXRQb3NpdGlvbkluR3JpZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/Board/lib/index.ts\n"));
|
|
94
|
+
|
|
95
|
+
/***/ }),
|
|
96
|
+
|
|
97
|
+
/***/ "./src/hooks/useAppLayout.ts":
|
|
98
|
+
/*!***********************************!*\
|
|
99
|
+
!*** ./src/hooks/useAppLayout.ts ***!
|
|
100
|
+
\***********************************/
|
|
101
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
102
|
+
|
|
103
|
+
"use strict";
|
|
104
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parameters */ \"./src/parameters/index.ts\");\n/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! state */ \"./src/state/index.ts\");\n/* harmony import */ var _useIsTouchDevice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useIsTouchDevice */ \"./src/hooks/useIsTouchDevice.ts\");\n/* harmony import */ var _useMediaQueries__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useMediaQueries */ \"./src/hooks/useMediaQueries.ts\");\n/* harmony import */ var _useViewportSize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useViewportSize */ \"./src/hooks/useViewportSize.ts\");\n/* eslint-disable max-statements */ \n\n\n\n\nconst useAppLayout = ()=>{\n const { viewportHeight, viewportWidth } = (0,_useViewportSize__WEBPACK_IMPORTED_MODULE_4__[\"default\"])();\n const config = (0,state__WEBPACK_IMPORTED_MODULE_1__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_1__.selectConfig);\n const showCoordinates = (0,state__WEBPACK_IMPORTED_MODULE_1__.useTypedSelector)(state__WEBPACK_IMPORTED_MODULE_1__.selectShowCoordinates);\n const isTouchDevice = (0,_useIsTouchDevice__WEBPACK_IMPORTED_MODULE_2__[\"default\"])();\n const { isLessThanXs, isLessThanS, isLessThanM, isLessThanL, isLessThanXl } = (0,_useMediaQueries__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n const isBoardFullWidth = isLessThanM;\n const showResultCandidatePicker = isLessThanL;\n const componentsSpacing = isLessThanXl ? parameters__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_SPACING_SMALL : parameters__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_SPACING;\n const showColumn = !isLessThanL;\n const columnWidth = showColumn ? parameters__WEBPACK_IMPORTED_MODULE_0__.SOLVER_COLUMN_WIDTH : 0;\n const logoHeight = isLessThanL ? parameters__WEBPACK_IMPORTED_MODULE_0__.LOGO_HEIGHT_SMALL : parameters__WEBPACK_IMPORTED_MODULE_0__.LOGO_HEIGHT;\n const navHeight = 2 * parameters__WEBPACK_IMPORTED_MODULE_0__.NAV_PADDING + logoHeight;\n const solverHeight = viewportHeight - navHeight;\n const solverWidth = viewportWidth;\n const maxBoardWidth = solverWidth - columnWidth - (showColumn ? componentsSpacing : 0) - 2 * componentsSpacing;\n const tileSize = Math.min((maxBoardWidth - 2 * parameters__WEBPACK_IMPORTED_MODULE_0__.BORDER_WIDTH) / config.maximumCharactersCount, parameters__WEBPACK_IMPORTED_MODULE_0__.RACK_TILE_SIZE_MAX);\n const candidatePickerHeight = showResultCandidatePicker ? parameters__WEBPACK_IMPORTED_MODULE_0__.BUTTON_HEIGHT + componentsSpacing : 0;\n const bottomContainerHeight = candidatePickerHeight + tileSize + 2 * componentsSpacing;\n const maxBoardHeight = isBoardFullWidth ? Number.POSITIVE_INFINITY : Math.max(solverHeight - bottomContainerHeight, 0);\n const coordinatesSizeRatio = showCoordinates === \"hidden\" ? 0 : 0.5;\n const coordinatesBorderWidth = showCoordinates === \"hidden\" ? 0 : 1;\n const cellWidth = (maxBoardWidth - (config.boardWidth + 1 + coordinatesBorderWidth) * parameters__WEBPACK_IMPORTED_MODULE_0__.BORDER_WIDTH) / (config.boardWidth + coordinatesSizeRatio);\n const cellHeight = (maxBoardHeight - (config.boardHeight + 1 + coordinatesBorderWidth) * parameters__WEBPACK_IMPORTED_MODULE_0__.BORDER_WIDTH) / (config.boardHeight + coordinatesSizeRatio);\n const cellSize = Math.min(Math.min(cellWidth, cellHeight), parameters__WEBPACK_IMPORTED_MODULE_0__.BOARD_TILE_SIZE_MAX);\n const coordinatesSize = coordinatesSizeRatio * cellSize;\n const boardSize = (cellSize + parameters__WEBPACK_IMPORTED_MODULE_0__.BORDER_WIDTH) * config.boardWidth + parameters__WEBPACK_IMPORTED_MODULE_0__.BORDER_WIDTH + (showCoordinates === \"hidden\" ? 0 : coordinatesSize + parameters__WEBPACK_IMPORTED_MODULE_0__.BORDER_WIDTH);\n const maxControlsWidth = tileSize * config.maximumCharactersCount + 2 * parameters__WEBPACK_IMPORTED_MODULE_0__.BORDER_WIDTH;\n const showResultsInModal = isLessThanL;\n const dictionaryHeight = showResultsInModal ? parameters__WEBPACK_IMPORTED_MODULE_0__.DICTIONARY_HEIGHT_MOBILE : parameters__WEBPACK_IMPORTED_MODULE_0__.DICTIONARY_HEIGHT;\n const modalWidth = isLessThanS ? viewportWidth : parameters__WEBPACK_IMPORTED_MODULE_0__.MODAL_WIDTH;\n const resultsHeight = isLessThanL ? viewportHeight - dictionaryHeight - parameters__WEBPACK_IMPORTED_MODULE_0__.BUTTON_HEIGHT - parameters__WEBPACK_IMPORTED_MODULE_0__.MODAL_HEADER_HEIGHT - 5 * componentsSpacing : boardSize - componentsSpacing - dictionaryHeight;\n const rackWidth = tileSize * config.maximumCharactersCount;\n return {\n actionsWidth: 2 * parameters__WEBPACK_IMPORTED_MODULE_0__.BUTTON_HEIGHT - parameters__WEBPACK_IMPORTED_MODULE_0__.BORDER_WIDTH,\n animateTile: !isLessThanXs,\n boardSize,\n cellSize,\n coordinatesFontSize: coordinatesSize * 0.6,\n coordinatesSize,\n dictionaryHeight,\n isModalFullWidth: isLessThanS,\n logoHeight,\n logoWidth: logoHeight * parameters__WEBPACK_IMPORTED_MODULE_0__.LOGO_ASPECT_RATIO,\n maxControlsWidth,\n rackHeight: tileSize,\n rackWidth,\n resultsHeight,\n resultsWidth: isLessThanL ? modalWidth - 2 * componentsSpacing : parameters__WEBPACK_IMPORTED_MODULE_0__.SOLVER_COLUMN_WIDTH,\n showCompactControls: !showColumn,\n showKeyMap: !isTouchDevice,\n showResultsInModal,\n showShortNav: isLessThanS,\n showTilePoints: !isLessThanXs,\n tileSize\n };\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (useAppLayout);\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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SUFDcEMsTUFBTUcsWUFBWXhCLFdBQVdsQixPQUFPcUIsc0JBQXNCO0lBRTFELE9BQU87UUFDTHNCLGNBQWMsSUFBSWpFLHFEQUFhQSxHQUFHRCxvREFBWUE7UUFDOUNtRSxhQUFhLENBQUN6QztRQUNkaUM7UUFDQUY7UUFDQVcscUJBQXFCVixrQkFBa0I7UUFDdkNBO1FBQ0FJO1FBQ0FPLGtCQUFrQjFDO1FBQ2xCUztRQUNBa0MsV0FBV2xDLGFBQWE5Qix5REFBaUJBO1FBQ3pDc0Q7UUFDQVcsWUFBWTlCO1FBQ1p3QjtRQUNBRDtRQUNBUSxjQUFjM0MsY0FBY2tDLGFBQWEsSUFBSTlCLG9CQUFvQnBCLDJEQUFtQkE7UUFDcEY0RCxxQkFBcUIsQ0FBQ3ZDO1FBQ3RCd0MsWUFBWSxDQUFDakQ7UUFDYm9DO1FBQ0FjLGNBQWNoRDtRQUNkaUQsZ0JBQWdCLENBQUNsRDtRQUNqQmU7SUFDRjtBQUNGO0FBRUEsK0RBQWVyQixZQUFZQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9ob29rcy91c2VBcHBMYXlvdXQudHM/ZTY5MCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtc3RhdGVtZW50cyAqL1xuXG5pbXBvcnQge1xuICBCT0FSRF9USUxFX1NJWkVfTUFYLFxuICBCT1JERVJfV0lEVEgsXG4gIEJVVFRPTl9IRUlHSFQsXG4gIENPTVBPTkVOVFNfU1BBQ0lORyxcbiAgQ09NUE9ORU5UU19TUEFDSU5HX1NNQUxMLFxuICBESUNUSU9OQVJZX0hFSUdIVCxcbiAgRElDVElPTkFSWV9IRUlHSFRfTU9CSUxFLFxuICBMT0dPX0FTUEVDVF9SQVRJTyxcbiAgTE9HT19IRUlHSFQsXG4gIExPR09fSEVJR0hUX1NNQUxMLFxuICBNT0RBTF9IRUFERVJfSEVJR0hULFxuICBNT0RBTF9XSURUSCxcbiAgTkFWX1BBRERJTkcsXG4gIFJBQ0tfVElMRV9TSVpFX01BWCxcbiAgU09MVkVSX0NPTFVNTl9XSURUSCxcbn0gZnJvbSAncGFyYW1ldGVycyc7XG5pbXBvcnQgeyBzZWxlY3RDb25maWcsIHNlbGVjdFNob3dDb29yZGluYXRlcywgdXNlVHlwZWRTZWxlY3RvciB9IGZyb20gJ3N0YXRlJztcblxuaW1wb3J0IHVzZUlzVG91Y2hEZXZpY2UgZnJvbSAnLi91c2VJc1RvdWNoRGV2aWNlJztcbmltcG9ydCB1c2VNZWRpYVF1ZXJpZXMgZnJvbSAnLi91c2VNZWRpYVF1ZXJpZXMnO1xuaW1wb3J0IHVzZVZpZXdwb3J0U2l6ZSBmcm9tICcuL3VzZVZpZXdwb3J0U2l6ZSc7XG5cbmNvbnN0IHVzZUFwcExheW91dCA9ICgpID0+IHtcbiAgY29uc3QgeyB2aWV3cG9ydEhlaWdodCwgdmlld3BvcnRXaWR0aCB9ID0gdXNlVmlld3BvcnRTaXplKCk7XG4gIGNvbnN0IGNvbmZpZyA9IHVzZVR5cGVkU2VsZWN0b3Ioc2VsZWN0Q29uZmlnKTtcbiAgY29uc3Qgc2hvd0Nvb3JkaW5hdGVzID0gdXNlVHlwZWRTZWxlY3RvcihzZWxlY3RTaG93Q29vcmRpbmF0ZXMpO1xuICBjb25zdCBpc1RvdWNoRGV2aWNlID0gdXNlSXNUb3VjaERldmljZSgpO1xuICBjb25zdCB7IGlzTGVzc1RoYW5YcywgaXNMZXNzVGhhblMsIGlzTGVzc1RoYW5NLCBpc0xlc3NUaGFuTCwgaXNMZXNzVGhhblhsIH0gPSB1c2VNZWRpYVF1ZXJpZXMoKTtcbiAgY29uc3QgaXNCb2FyZEZ1bGxXaWR0aCA9IGlzTGVzc1RoYW5NO1xuICBjb25zdCBzaG93UmVzdWx0Q2FuZGlkYXRlUGlja2VyID0gaXNMZXNzVGhhbkw7XG4gIGNvbnN0IGNvbXBvbmVudHNTcGFjaW5nID0gaXNMZXNzVGhhblhsID8gQ09NUE9ORU5UU19TUEFDSU5HX1NNQUxMIDogQ09NUE9ORU5UU19TUEFDSU5HO1xuICBjb25zdCBzaG93Q29sdW1uID0gIWlzTGVzc1RoYW5MO1xuICBjb25zdCBjb2x1bW5XaWR0aCA9IHNob3dDb2x1bW4gPyBTT0xWRVJfQ09MVU1OX1dJRFRIIDogMDtcbiAgY29uc3QgbG9nb0hlaWdodCA9IGlzTGVzc1RoYW5MID8gTE9HT19IRUlHSFRfU01BTEwgOiBMT0dPX0hFSUdIVDtcbiAgY29uc3QgbmF2SGVpZ2h0ID0gMiAqIE5BVl9QQURESU5HICsgbG9nb0hlaWdodDtcbiAgY29uc3Qgc29sdmVySGVpZ2h0ID0gdmlld3BvcnRIZWlnaHQgLSBuYXZIZWlnaHQ7XG4gIGNvbnN0IHNvbHZlcldpZHRoID0gdmlld3BvcnRXaWR0aDtcbiAgY29uc3QgbWF4Qm9hcmRXaWR0aCA9IHNvbHZlcldpZHRoIC0gY29sdW1uV2lkdGggLSAoc2hvd0NvbHVtbiA/IGNvbXBvbmVudHNTcGFjaW5nIDogMCkgLSAyICogY29tcG9uZW50c1NwYWNpbmc7XG4gIGNvbnN0IHRpbGVTaXplID0gTWF0aC5taW4oKG1heEJvYXJkV2lkdGggLSAyICogQk9SREVSX1dJRFRIKSAvIGNvbmZpZy5tYXhpbXVtQ2hhcmFjdGVyc0NvdW50LCBSQUNLX1RJTEVfU0laRV9NQVgpO1xuICBjb25zdCBjYW5kaWRhdGVQaWNrZXJIZWlnaHQgPSBzaG93UmVzdWx0Q2FuZGlkYXRlUGlja2VyID8gQlVUVE9OX0hFSUdIVCArIGNvbXBvbmVudHNTcGFjaW5nIDogMDtcbiAgY29uc3QgYm90dG9tQ29udGFpbmVySGVpZ2h0ID0gY2FuZGlkYXRlUGlja2VySGVpZ2h0ICsgdGlsZVNpemUgKyAyICogY29tcG9uZW50c1NwYWNpbmc7XG4gIGNvbnN0IG1heEJvYXJkSGVpZ2h0ID0gaXNCb2FyZEZ1bGxXaWR0aFxuICAgID8gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXG4gICAgOiBNYXRoLm1heChzb2x2ZXJIZWlnaHQgLSBib3R0b21Db250YWluZXJIZWlnaHQsIDApO1xuXG4gIGNvbnN0IGNvb3JkaW5hdGVzU2l6ZVJhdGlvID0gc2hvd0Nvb3JkaW5hdGVzID09PSAnaGlkZGVuJyA/IDAgOiAwLjU7XG4gIGNvbnN0IGNvb3JkaW5hdGVzQm9yZGVyV2lkdGggPSBzaG93Q29vcmRpbmF0ZXMgPT09ICdoaWRkZW4nID8gMCA6IDE7XG4gIGNvbnN0IGNlbGxXaWR0aCA9XG4gICAgKG1heEJvYXJkV2lkdGggLSAoY29uZmlnLmJvYXJkV2lkdGggKyAxICsgY29vcmRpbmF0ZXNCb3JkZXJXaWR0aCkgKiBCT1JERVJfV0lEVEgpIC9cbiAgICAoY29uZmlnLmJvYXJkV2lkdGggKyBjb29yZGluYXRlc1NpemVSYXRpbyk7XG4gIGNvbnN0IGNlbGxIZWlnaHQgPVxuICAgIChtYXhCb2FyZEhlaWdodCAtIChjb25maWcuYm9hcmRIZWlnaHQgKyAxICsgY29vcmRpbmF0ZXNCb3JkZXJXaWR0aCkgKiBCT1JERVJfV0lEVEgpIC9cbiAgICAoY29uZmlnLmJvYXJkSGVpZ2h0ICsgY29vcmRpbmF0ZXNTaXplUmF0aW8pO1xuICBjb25zdCBjZWxsU2l6ZSA9IE1hdGgubWluKE1hdGgubWluKGNlbGxXaWR0aCwgY2VsbEhlaWdodCksIEJPQVJEX1RJTEVfU0laRV9NQVgpO1xuICBjb25zdCBjb29yZGluYXRlc1NpemUgPSBjb29yZGluYXRlc1NpemVSYXRpbyAqIGNlbGxTaXplO1xuICBjb25zdCBib2FyZFNpemUgPVxuICAgIChjZWxsU2l6ZSArIEJPUkRFUl9XSURUSCkgKiBjb25maWcuYm9hcmRXaWR0aCArXG4gICAgQk9SREVSX1dJRFRIICtcbiAgICAoc2hvd0Nvb3JkaW5hdGVzID09PSAnaGlkZGVuJyA/IDAgOiBjb29yZGluYXRlc1NpemUgKyBCT1JERVJfV0lEVEgpO1xuICBjb25zdCBtYXhDb250cm9sc1dpZHRoID0gdGlsZVNpemUgKiBjb25maWcubWF4aW11bUNoYXJhY3RlcnNDb3VudCArIDIgKiBCT1JERVJfV0lEVEg7XG4gIGNvbnN0IHNob3dSZXN1bHRzSW5Nb2RhbCA9IGlzTGVzc1RoYW5MO1xuICBjb25zdCBkaWN0aW9uYXJ5SGVpZ2h0ID0gc2hvd1Jlc3VsdHNJbk1vZGFsID8gRElDVElPTkFSWV9IRUlHSFRfTU9CSUxFIDogRElDVElPTkFSWV9IRUlHSFQ7XG4gIGNvbnN0IG1vZGFsV2lkdGggPSBpc0xlc3NUaGFuUyA/IHZpZXdwb3J0V2lkdGggOiBNT0RBTF9XSURUSDtcbiAgY29uc3QgcmVzdWx0c0hlaWdodCA9IGlzTGVzc1RoYW5MXG4gICAgPyB2aWV3cG9ydEhlaWdodCAtIGRpY3Rpb25hcnlIZWlnaHQgLSBCVVRUT05fSEVJR0hUIC0gTU9EQUxfSEVBREVSX0hFSUdIVCAtIDUgKiBjb21wb25lbnRzU3BhY2luZ1xuICAgIDogYm9hcmRTaXplIC0gY29tcG9uZW50c1NwYWNpbmcgLSBkaWN0aW9uYXJ5SGVpZ2h0O1xuICBjb25zdCByYWNrV2lkdGggPSB0aWxlU2l6ZSAqIGNvbmZpZy5tYXhpbXVtQ2hhcmFjdGVyc0NvdW50O1xuXG4gIHJldHVybiB7XG4gICAgYWN0aW9uc1dpZHRoOiAyICogQlVUVE9OX0hFSUdIVCAtIEJPUkRFUl9XSURUSCxcbiAgICBhbmltYXRlVGlsZTogIWlzTGVzc1RoYW5YcyxcbiAgICBib2FyZFNpemUsXG4gICAgY2VsbFNpemUsXG4gICAgY29vcmRpbmF0ZXNGb250U2l6ZTogY29vcmRpbmF0ZXNTaXplICogMC42LFxuICAgIGNvb3JkaW5hdGVzU2l6ZSxcbiAgICBkaWN0aW9uYXJ5SGVpZ2h0LFxuICAgIGlzTW9kYWxGdWxsV2lkdGg6IGlzTGVzc1RoYW5TLFxuICAgIGxvZ29IZWlnaHQsXG4gICAgbG9nb1dpZHRoOiBsb2dvSGVpZ2h0ICogTE9HT19BU1BFQ1RfUkFUSU8sXG4gICAgbWF4Q29udHJvbHNXaWR0aCxcbiAgICByYWNrSGVpZ2h0OiB0aWxlU2l6ZSxcbiAgICByYWNrV2lkdGgsXG4gICAgcmVzdWx0c0hlaWdodCxcbiAgICByZXN1bHRzV2lkdGg6IGlzTGVzc1RoYW5MID8gbW9kYWxXaWR0aCAtIDIgKiBjb21wb25lbnRzU3BhY2luZyA6IFNPTFZFUl9DT0xVTU5fV0lEVEgsXG4gICAgc2hvd0NvbXBhY3RDb250cm9sczogIXNob3dDb2x1bW4sXG4gICAgc2hvd0tleU1hcDogIWlzVG91Y2hEZXZpY2UsXG4gICAgc2hvd1Jlc3VsdHNJbk1vZGFsLFxuICAgIHNob3dTaG9ydE5hdjogaXNMZXNzVGhhblMsXG4gICAgc2hvd1RpbGVQb2ludHM6ICFpc0xlc3NUaGFuWHMsXG4gICAgdGlsZVNpemUsXG4gIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCB1c2VBcHBMYXlvdXQ7XG4iXSwibmFtZXMiOlsiQk9BUkRfVElMRV9TSVpFX01BWCIsIkJPUkRFUl9XSURUSCIsIkJVVFRPTl9IRUlHSFQiLCJDT01QT05FTlRTX1NQQUNJTkciLCJDT01QT05FTlRTX1NQQUNJTkdfU01BTEwiLCJESUNUSU9OQVJZX0hFSUdIVCIsIkRJQ1RJT05BUllfSEVJR0hUX01PQklMRSIsIkxPR09fQVNQRUNUX1JBVElPIiwiTE9HT19IRUlHSFQiLCJMT0dPX0hFSUdIVF9TTUFMTCIsIk1PREFMX0hFQURFUl9IRUlHSFQiLCJNT0RBTF9XSURUSCIsIk5BVl9QQURESU5HIiwiUkFDS19USUxFX1NJWkVfTUFYIiwiU09MVkVSX0NPTFVNTl9XSURUSCIsInNlbGVjdENvbmZpZyIsInNlbGVjdFNob3dDb29yZGluYXRlcyIsInVzZVR5cGVkU2VsZWN0b3IiLCJ1c2VJc1RvdWNoRGV2aWNlIiwidXNlTWVkaWFRdWVyaWVzIiwidXNlVmlld3BvcnRTaXplIiwidXNlQXBwTGF5b3V0Iiwidmlld3BvcnRIZWlnaHQiLCJ2aWV3cG9ydFdpZHRoIiwiY29uZmlnIiwic2hvd0Nvb3JkaW5hdGVzIiwiaXNUb3VjaERldmljZSIsImlzTGVzc1RoYW5YcyIsImlzTGVzc1RoYW5TIiwiaXNMZXNzVGhhbk0iLCJpc0xlc3NUaGFuTCIsImlzTGVzc1RoYW5YbCIsImlzQm9hcmRGdWxsV2lkdGgiLCJzaG93UmVzdWx0Q2FuZGlkYXRlUGlja2VyIiwiY29tcG9uZW50c1NwYWNpbmciLCJzaG93Q29sdW1uIiwiY29sdW1uV2lkdGgiLCJsb2dvSGVpZ2h0IiwibmF2SGVpZ2h0Iiwic29sdmVySGVpZ2h0Iiwic29sdmVyV2lkdGgiLCJtYXhCb2FyZFdpZHRoIiwidGlsZVNpemUiLCJNYXRoIiwibWluIiwibWF4aW11bUNoYXJhY3RlcnNDb3VudCIsImNhbmRpZGF0ZVBpY2tlckhlaWdodCIsImJvdHRvbUNvbnRhaW5lckhlaWdodCIsIm1heEJvYXJkSGVpZ2h0IiwiTnVtYmVyIiwiUE9TSVRJVkVfSU5GSU5JVFkiLCJtYXgiLCJjb29yZGluYXRlc1NpemVSYXRpbyIsImNvb3JkaW5hdGVzQm9yZGVyV2lkdGgiLCJjZWxsV2lkdGgiLCJib2FyZFdpZHRoIiwiY2VsbEhlaWdodCIsImJvYXJkSGVpZ2h0IiwiY2VsbFNpemUiLCJjb29yZGluYXRlc1NpemUiLCJib2FyZFNpemUiLCJtYXhDb250cm9sc1dpZHRoIiwic2hvd1Jlc3VsdHNJbk1vZGFsIiwiZGljdGlvbmFyeUhlaWdodCIsIm1vZGFsV2lkdGgiLCJyZXN1bHRzSGVpZ2h0IiwicmFja1dpZHRoIiwiYWN0aW9uc1dpZHRoIiwiYW5pbWF0ZVRpbGUiLCJjb29yZGluYXRlc0ZvbnRTaXplIiwiaXNNb2RhbEZ1bGxXaWR0aCIsImxvZ29XaWR0aCIsInJhY2tIZWlnaHQiLCJyZXN1bHRzV2lkdGgiLCJzaG93Q29tcGFjdENvbnRyb2xzIiwic2hvd0tleU1hcCIsInNob3dTaG9ydE5hdiIsInNob3dUaWxlUG9pbnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/hooks/useAppLayout.ts\n"));
|
|
105
|
+
|
|
106
|
+
/***/ }),
|
|
107
|
+
|
|
108
|
+
/***/ "./src/parameters/index.ts":
|
|
109
|
+
/*!*********************************!*\
|
|
110
|
+
!*** ./src/parameters/index.ts ***!
|
|
111
|
+
\*********************************/
|
|
112
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
113
|
+
|
|
114
|
+
"use strict";
|
|
115
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BOARD_CELL_ACTIONS_OFFSET: function() { return /* binding */ BOARD_CELL_ACTIONS_OFFSET; },\n/* harmony export */ BOARD_CELL_BORDER_WIDTH: function() { return /* binding */ BOARD_CELL_BORDER_WIDTH; },\n/* harmony export */ BOARD_TILE_FONT_SIZE_MIN: function() { return /* binding */ BOARD_TILE_FONT_SIZE_MIN; },\n/* harmony export */ BOARD_TILE_FONT_SIZE_POINTS_MIN: function() { return /* binding */ BOARD_TILE_FONT_SIZE_POINTS_MIN; },\n/* harmony export */ BOARD_TILE_SIZE_MAX: function() { return /* binding */ BOARD_TILE_SIZE_MAX; },\n/* harmony export */ BORDER_COLOR: function() { return /* binding */ BORDER_COLOR; },\n/* harmony export */ BORDER_COLOR_LIGHT: function() { return /* binding */ BORDER_COLOR_LIGHT; },\n/* harmony export */ BORDER_RADIUS: function() { return /* binding */ BORDER_RADIUS; },\n/* harmony export */ BORDER_WIDTH: function() { return /* binding */ BORDER_WIDTH; },\n/* harmony export */ BREAKPOINTS: function() { return /* binding */ BREAKPOINTS; },\n/* harmony export */ BUTTON_HEIGHT: function() { return /* binding */ BUTTON_HEIGHT; },\n/* harmony export */ BUTTON_ICON_SIZE: function() { return /* binding */ BUTTON_ICON_SIZE; },\n/* harmony export */ BUTTON_PADDING_VERTICAL: function() { return /* binding */ BUTTON_PADDING_VERTICAL; },\n/* harmony export */ COLOR_BACKGROUND: function() { return /* binding */ COLOR_BACKGROUND; },\n/* harmony export */ COLOR_BLUE: function() { return /* binding */ COLOR_BLUE; },\n/* harmony export */ COLOR_BONUS_CHARACTER: function() { return /* binding */ COLOR_BONUS_CHARACTER; },\n/* harmony export */ COLOR_BONUS_CHARACTER_1: function() { return /* binding */ COLOR_BONUS_CHARACTER_1; },\n/* harmony export */ COLOR_BONUS_CHARACTER_2: function() { return /* binding */ COLOR_BONUS_CHARACTER_2; },\n/* harmony export */ COLOR_BONUS_CHARACTER_3: function() { return /* binding */ COLOR_BONUS_CHARACTER_3; },\n/* harmony export */ COLOR_BONUS_CHARACTER_5: function() { return /* binding */ COLOR_BONUS_CHARACTER_5; },\n/* harmony export */ COLOR_BONUS_CHARACTER_MULTIPLIER: function() { return /* binding */ COLOR_BONUS_CHARACTER_MULTIPLIER; },\n/* harmony export */ COLOR_BONUS_CHARACTER_MULTIPLIER_2: function() { return /* binding */ COLOR_BONUS_CHARACTER_MULTIPLIER_2; },\n/* harmony export */ COLOR_BONUS_CHARACTER_MULTIPLIER_3: function() { return /* binding */ COLOR_BONUS_CHARACTER_MULTIPLIER_3; },\n/* harmony export */ COLOR_BONUS_CHARACTER_MULTIPLIER_4: function() { return /* binding */ COLOR_BONUS_CHARACTER_MULTIPLIER_4; },\n/* harmony export */ COLOR_BONUS_START: function() { return /* binding */ COLOR_BONUS_START; },\n/* harmony export */ COLOR_BONUS_WORD: function() { return /* binding */ COLOR_BONUS_WORD; },\n/* harmony export */ COLOR_BONUS_WORD_MULTIPLIER_2: function() { return /* binding */ COLOR_BONUS_WORD_MULTIPLIER_2; },\n/* harmony export */ COLOR_BONUS_WORD_MULTIPLIER_3: function() { return /* binding */ COLOR_BONUS_WORD_MULTIPLIER_3; },\n/* harmony export */ COLOR_BONUS_WORD_MULTIPLIER_4: function() { return /* binding */ COLOR_BONUS_WORD_MULTIPLIER_4; },\n/* harmony export */ COLOR_FILTERED: function() { return /* binding */ COLOR_FILTERED; },\n/* harmony export */ COLOR_GREEN: function() { return /* binding */ COLOR_GREEN; },\n/* harmony export */ COLOR_RED: function() { return /* binding */ COLOR_RED; },\n/* harmony export */ COLOR_YELLOW: function() { return /* binding */ COLOR_YELLOW; },\n/* harmony export */ COMPONENTS_SPACING: function() { return /* binding */ COMPONENTS_SPACING; },\n/* harmony export */ COMPONENTS_SPACING_SMALL: function() { return /* binding */ COMPONENTS_SPACING_SMALL; },\n/* harmony export */ DICTIONARY_HEIGHT: function() { return /* binding */ DICTIONARY_HEIGHT; },\n/* harmony export */ DICTIONARY_HEIGHT_MOBILE: function() { return /* binding */ DICTIONARY_HEIGHT_MOBILE; },\n/* harmony export */ EASE_OUT_CUBIC: function() { return /* binding */ EASE_OUT_CUBIC; },\n/* harmony export */ GITHUB_PROJECT_URL: function() { return /* binding */ GITHUB_PROJECT_URL; },\n/* harmony export */ LOGO_ASPECT_RATIO: function() { return /* binding */ LOGO_ASPECT_RATIO; },\n/* harmony export */ LOGO_HEIGHT: function() { return /* binding */ LOGO_HEIGHT; },\n/* harmony export */ LOGO_HEIGHT_SMALL: function() { return /* binding */ LOGO_HEIGHT_SMALL; },\n/* harmony export */ LOGO_SRC: function() { return /* binding */ LOGO_SRC; },\n/* harmony export */ MODAL_HEADER_HEIGHT: function() { return /* binding */ MODAL_HEADER_HEIGHT; },\n/* harmony export */ MODAL_WIDTH: function() { return /* binding */ MODAL_WIDTH; },\n/* harmony export */ NAV_PADDING: function() { return /* binding */ NAV_PADDING; },\n/* harmony export */ PLAIN_TILES_COLOR_DEFAULT: function() { return /* binding */ PLAIN_TILES_COLOR_DEFAULT; },\n/* harmony export */ PLAIN_TILES_PADDING_HORIZONTAL: function() { return /* binding */ PLAIN_TILES_PADDING_HORIZONTAL; },\n/* harmony export */ PLAIN_TILES_PADDING_VERTICAL: function() { return /* binding */ PLAIN_TILES_PADDING_VERTICAL; },\n/* harmony export */ PLAIN_TILES_POINTS_COLORS: function() { return /* binding */ PLAIN_TILES_POINTS_COLORS; },\n/* harmony export */ PLAIN_TILES_TILE_MARGIN: function() { return /* binding */ PLAIN_TILES_TILE_MARGIN; },\n/* harmony export */ PLAIN_TILES_TILE_MAX_ROTATE: function() { return /* binding */ PLAIN_TILES_TILE_MAX_ROTATE; },\n/* harmony export */ PLAIN_TILES_TILE_MAX_SCATTER: function() { return /* binding */ PLAIN_TILES_TILE_MAX_SCATTER; },\n/* harmony export */ PLAIN_TILES_TILE_SIZE: function() { return /* binding */ PLAIN_TILES_TILE_SIZE; },\n/* harmony export */ PLAIN_TILES_VERSION_TILE_COLOR: function() { return /* binding */ PLAIN_TILES_VERSION_TILE_COLOR; },\n/* harmony export */ PLAIN_TILES_VERSION_TILE_SIZE: function() { return /* binding */ PLAIN_TILES_VERSION_TILE_SIZE; },\n/* harmony export */ PROGRESS_COLOR_BACKGROUND: function() { return /* binding */ PROGRESS_COLOR_BACKGROUND; },\n/* harmony export */ PROGRESS_COLOR_VALUE: function() { return /* binding */ PROGRESS_COLOR_VALUE; },\n/* harmony export */ RACK_TILE_SIZE_MAX: function() { return /* binding */ RACK_TILE_SIZE_MAX; },\n/* harmony export */ REMAINING_TILES_TILE_SIZE: function() { return /* binding */ REMAINING_TILES_TILE_SIZE; },\n/* harmony export */ RESULTS_HEADER_HEIGHT: function() { return /* binding */ RESULTS_HEADER_HEIGHT; },\n/* harmony export */ RESULTS_ITEM_HEIGHT: function() { return /* binding */ RESULTS_ITEM_HEIGHT; },\n/* harmony export */ SOLVER_COLUMN_WIDTH: function() { return /* binding */ SOLVER_COLUMN_WIDTH; },\n/* harmony export */ SPACING_L: function() { return /* binding */ SPACING_L; },\n/* harmony export */ SPACING_M: function() { return /* binding */ SPACING_M; },\n/* harmony export */ SPACING_S: function() { return /* binding */ SPACING_S; },\n/* harmony export */ SPACING_XL: function() { return /* binding */ SPACING_XL; },\n/* harmony export */ SPACING_XS: function() { return /* binding */ SPACING_XS; },\n/* harmony export */ TEXT_INPUT_HEIGHT: function() { return /* binding */ TEXT_INPUT_HEIGHT; },\n/* harmony export */ TILE_APPEAR_DURATION: function() { return /* binding */ TILE_APPEAR_DURATION; },\n/* harmony export */ TILE_APPEAR_KEYFRAMES: function() { return /* binding */ TILE_APPEAR_KEYFRAMES; },\n/* harmony export */ TILE_SIZE: function() { return /* binding */ TILE_SIZE; },\n/* harmony export */ TRANSITION: function() { return /* binding */ TRANSITION; },\n/* harmony export */ TRANSITION_DURATION: function() { return /* binding */ TRANSITION_DURATION; },\n/* harmony export */ TRANSITION_DURATION_LONG: function() { return /* binding */ TRANSITION_DURATION_LONG; }\n/* harmony export */ });\nconst BREAKPOINTS = {\n xs: 480,\n s: 768,\n m: 992,\n l: 1200,\n xl: 1400\n};\nconst EASE_OUT_CUBIC = \"cubic-bezier(0.33, 1, 0.68, 1)\"; // https://easings.net/#easeOutCubic\nconst TRANSITION = \"var(--transition)\";\nconst GITHUB_PROJECT_URL = \"https://github.com/kamilmielnik/scrabble-solver\";\nconst TRANSITION_DURATION = 100;\nconst TRANSITION_DURATION_LONG = 250;\nconst COLOR_BLUE = \"#c7d8f9\";\nconst COLOR_GREEN = \"#bae3ba\";\nconst COLOR_RED = \"#f7c2aa\";\nconst COLOR_YELLOW = \"#efe3ae\";\nconst COLOR_BONUS_CHARACTER_1 = \"#f7f1d6\";\nconst COLOR_BONUS_CHARACTER_2 = \"#d6ebd6\";\nconst COLOR_BONUS_CHARACTER_3 = \"#dde4f6\";\nconst COLOR_BONUS_CHARACTER_5 = \"#fbe0d4\";\nconst COLOR_BONUS_CHARACTER_MULTIPLIER_2 = \"#b8d5ed\";\nconst COLOR_BONUS_CHARACTER_MULTIPLIER_3 = \"#86aed1\";\nconst COLOR_BONUS_CHARACTER_MULTIPLIER_4 = \"#3477b2\";\nconst COLOR_BONUS_START = \"#b284b8\";\nconst COLOR_BONUS_WORD_MULTIPLIER_2 = \"#fbc997\";\nconst COLOR_BONUS_WORD_MULTIPLIER_3 = \"#f19393\";\nconst COLOR_BONUS_WORD_MULTIPLIER_4 = \"#ed5e5e\";\nconst COLOR_FILTERED = \"#444\";\nconst COLOR_BACKGROUND = \"#f4f4f4\";\nconst COLOR_BONUS_CHARACTER = {\n 1: COLOR_BONUS_CHARACTER_1,\n 2: COLOR_BONUS_CHARACTER_2,\n 3: COLOR_BONUS_CHARACTER_3,\n 5: COLOR_BONUS_CHARACTER_5\n};\nconst COLOR_BONUS_CHARACTER_MULTIPLIER = {\n 2: COLOR_BONUS_CHARACTER_MULTIPLIER_2,\n 3: COLOR_BONUS_CHARACTER_MULTIPLIER_3,\n 4: COLOR_BONUS_CHARACTER_MULTIPLIER_4\n};\nconst COLOR_BONUS_WORD = {\n 2: COLOR_BONUS_WORD_MULTIPLIER_2,\n 3: COLOR_BONUS_WORD_MULTIPLIER_3,\n 4: COLOR_BONUS_WORD_MULTIPLIER_4\n};\nconst SPACING_XS = 2;\nconst SPACING_S = 5;\nconst SPACING_M = 10;\nconst SPACING_L = 20;\nconst SPACING_XL = 40;\nconst COMPONENTS_SPACING = SPACING_XL;\nconst COMPONENTS_SPACING_SMALL = SPACING_L;\nconst BOARD_CELL_ACTIONS_OFFSET = 3;\nconst BOARD_CELL_BORDER_WIDTH = 1;\nconst BOARD_TILE_FONT_SIZE_MIN = 14;\nconst BOARD_TILE_FONT_SIZE_POINTS_MIN = 10;\nconst BOARD_TILE_SIZE_MAX = 64;\nconst BORDER_COLOR = \"#cdcdcd\";\nconst BORDER_COLOR_LIGHT = \"#d9d9d9\";\nconst BORDER_RADIUS = 5;\nconst BORDER_WIDTH = 1;\nconst BUTTON_ICON_SIZE = 24;\nconst BUTTON_PADDING_VERTICAL = SPACING_M;\nconst BUTTON_HEIGHT = BUTTON_ICON_SIZE + 2 * BUTTON_PADDING_VERTICAL + 2 * BORDER_WIDTH;\nconst DICTIONARY_HEIGHT = 260;\nconst DICTIONARY_HEIGHT_MOBILE = 110;\nconst LOGO_ASPECT_RATIO = 682 / 166;\nconst LOGO_HEIGHT = 60;\nconst LOGO_HEIGHT_SMALL = 48;\nconst LOGO_SRC = \"/logo.svg\";\nconst MODAL_WIDTH = 370;\nconst MODAL_HEADER_HEIGHT = 45;\nconst NAV_PADDING = SPACING_L;\nconst TILE_SIZE = 80;\nconst PLAIN_TILES_COLOR_DEFAULT = COLOR_GREEN;\nconst PLAIN_TILES_PADDING_HORIZONTAL = 0;\nconst PLAIN_TILES_PADDING_VERTICAL = 0;\nconst PLAIN_TILES_POINTS_COLORS = {\n 1: COLOR_YELLOW,\n 2: COLOR_GREEN,\n 3: COLOR_BLUE,\n 4: COLOR_RED,\n 5: COLOR_RED,\n 6: COLOR_RED,\n 7: COLOR_RED,\n 8: COLOR_RED,\n 9: COLOR_RED,\n 10: COLOR_RED\n};\nconst PLAIN_TILES_TILE_MARGIN = 6;\nconst PLAIN_TILES_TILE_MAX_ROTATE = 0;\nconst PLAIN_TILES_TILE_MAX_SCATTER = 0;\nconst PLAIN_TILES_TILE_SIZE = 80;\nconst PLAIN_TILES_VERSION_TILE_COLOR = COLOR_GREEN;\nconst PLAIN_TILES_VERSION_TILE_SIZE = TILE_SIZE;\nconst PROGRESS_COLOR_VALUE = \"var(--color--violet--light)\";\nconst PROGRESS_COLOR_BACKGROUND = \"var(--color--inactive)\";\nconst RACK_TILE_SIZE_MAX = 80;\nconst REMAINING_TILES_TILE_SIZE = 50;\nconst RESULTS_ITEM_HEIGHT = 40;\nconst RESULTS_HEADER_HEIGHT = RESULTS_ITEM_HEIGHT;\nconst SOLVER_COLUMN_WIDTH = 580;\nconst TEXT_INPUT_HEIGHT = 40;\nconst TILE_APPEAR_DURATION = 200;\nconst TILE_APPEAR_KEYFRAMES = [\n {\n transform: \"translateY(0)\"\n },\n {\n transform: \"translateY(10%)\",\n offset: 0.5\n },\n {\n transform: \"translateY(0)\"\n }\n];\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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R0U7SUFDSCxHQUFHQTtJQUNILEdBQUdBO0lBQ0gsR0FBR0E7SUFDSCxHQUFHQTtJQUNILEdBQUdBO0lBQ0gsSUFBSUE7QUFDTixFQUFFO0FBQ0ssTUFBTW1ELDBCQUEwQixFQUFFO0FBQ2xDLE1BQU1DLDhCQUE4QixFQUFFO0FBQ3RDLE1BQU1DLCtCQUErQixFQUFFO0FBQ3ZDLE1BQU1DLHdCQUF3QixHQUFHO0FBQ2pDLE1BQU1DLGlDQUFpQ3hELFlBQVk7QUFDbkQsTUFBTXlELGdDQUFnQ1YsVUFBVTtBQUVoRCxNQUFNVyx1QkFBdUIsOEJBQThCO0FBQzNELE1BQU1DLDRCQUE0Qix5QkFBeUI7QUFFM0QsTUFBTUMscUJBQXFCLEdBQUc7QUFFOUIsTUFBTUMsNEJBQTRCLEdBQUc7QUFFckMsTUFBTUMsc0JBQXNCLEdBQUc7QUFFL0IsTUFBTUMsd0JBQXdCRCxvQkFBb0I7QUFFbEQsTUFBTUUsc0JBQXNCLElBQUk7QUFFaEMsTUFBTUMsb0JBQW9CLEdBQUc7QUFFN0IsTUFBTUMsdUJBQXVCLElBQUk7QUFFakMsTUFBTUMsd0JBQXdCO0lBQ25DO1FBQUVDLFdBQVc7SUFBZ0I7SUFDN0I7UUFBRUEsV0FBVztRQUFtQkMsUUFBUTtJQUFJO0lBQzVDO1FBQUVELFdBQVc7SUFBZ0I7Q0FDOUIsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvcGFyYW1ldGVycy9pbmRleC50cz8zNzA5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBCUkVBS1BPSU5UUyA9IHtcbiAgeHM6IDQ4MCxcbiAgczogNzY4LFxuICBtOiA5OTIsXG4gIGw6IDEyMDAsXG4gIHhsOiAxNDAwLFxufTtcblxuZXhwb3J0IGNvbnN0IEVBU0VfT1VUX0NVQklDID0gJ2N1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKSc7IC8vIGh0dHBzOi8vZWFzaW5ncy5uZXQvI2Vhc2VPdXRDdWJpY1xuZXhwb3J0IGNvbnN0IFRSQU5TSVRJT04gPSAndmFyKC0tdHJhbnNpdGlvbiknO1xuXG5leHBvcnQgY29uc3QgR0lUSFVCX1BST0pFQ1RfVVJMID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9rYW1pbG1pZWxuaWsvc2NyYWJibGUtc29sdmVyJztcblxuZXhwb3J0IGNvbnN0IFRSQU5TSVRJT05fRFVSQVRJT04gPSAxMDA7XG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9EVVJBVElPTl9MT05HID0gMjUwO1xuXG5leHBvcnQgY29uc3QgQ09MT1JfQkxVRSA9ICcjYzdkOGY5JztcbmV4cG9ydCBjb25zdCBDT0xPUl9HUkVFTiA9ICcjYmFlM2JhJztcbmV4cG9ydCBjb25zdCBDT0xPUl9SRUQgPSAnI2Y3YzJhYSc7XG5leHBvcnQgY29uc3QgQ09MT1JfWUVMTE9XID0gJyNlZmUzYWUnO1xuXG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfQ0hBUkFDVEVSXzEgPSAnI2Y3ZjFkNic7XG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfQ0hBUkFDVEVSXzIgPSAnI2Q2ZWJkNic7XG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfQ0hBUkFDVEVSXzMgPSAnI2RkZTRmNic7XG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfQ0hBUkFDVEVSXzUgPSAnI2ZiZTBkNCc7XG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfQ0hBUkFDVEVSX01VTFRJUExJRVJfMiA9ICcjYjhkNWVkJztcbmV4cG9ydCBjb25zdCBDT0xPUl9CT05VU19DSEFSQUNURVJfTVVMVElQTElFUl8zID0gJyM4NmFlZDEnO1xuZXhwb3J0IGNvbnN0IENPTE9SX0JPTlVTX0NIQVJBQ1RFUl9NVUxUSVBMSUVSXzQgPSAnIzM0NzdiMic7XG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfU1RBUlQgPSAnI2IyODRiOCc7XG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfV09SRF9NVUxUSVBMSUVSXzIgPSAnI2ZiYzk5Nyc7XG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfV09SRF9NVUxUSVBMSUVSXzMgPSAnI2YxOTM5Myc7XG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfV09SRF9NVUxUSVBMSUVSXzQgPSAnI2VkNWU1ZSc7XG5leHBvcnQgY29uc3QgQ09MT1JfRklMVEVSRUQgPSAnIzQ0NCc7XG5leHBvcnQgY29uc3QgQ09MT1JfQkFDS0dST1VORCA9ICcjZjRmNGY0JztcblxuZXhwb3J0IGNvbnN0IENPTE9SX0JPTlVTX0NIQVJBQ1RFUjogUmVjb3JkPG51bWJlciwgc3RyaW5nPiA9IHtcbiAgMTogQ09MT1JfQk9OVVNfQ0hBUkFDVEVSXzEsXG4gIDI6IENPTE9SX0JPTlVTX0NIQVJBQ1RFUl8yLFxuICAzOiBDT0xPUl9CT05VU19DSEFSQUNURVJfMyxcbiAgNTogQ09MT1JfQk9OVVNfQ0hBUkFDVEVSXzUsXG59O1xuXG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfQ0hBUkFDVEVSX01VTFRJUExJRVI6IFJlY29yZDxudW1iZXIsIHN0cmluZz4gPSB7XG4gIDI6IENPTE9SX0JPTlVTX0NIQVJBQ1RFUl9NVUxUSVBMSUVSXzIsXG4gIDM6IENPTE9SX0JPTlVTX0NIQVJBQ1RFUl9NVUxUSVBMSUVSXzMsXG4gIDQ6IENPTE9SX0JPTlVTX0NIQVJBQ1RFUl9NVUxUSVBMSUVSXzQsXG59O1xuXG5leHBvcnQgY29uc3QgQ09MT1JfQk9OVVNfV09SRDogUmVjb3JkPG51bWJlciwgc3RyaW5nPiA9IHtcbiAgMjogQ09MT1JfQk9OVVNfV09SRF9NVUxUSVBMSUVSXzIsXG4gIDM6IENPTE9SX0JPTlVTX1dPUkRfTVVMVElQTElFUl8zLFxuICA0OiBDT0xPUl9CT05VU19XT1JEX01VTFRJUExJRVJfNCxcbn07XG5cbmV4cG9ydCBjb25zdCBTUEFDSU5HX1hTID0gMjtcbmV4cG9ydCBjb25zdCBTUEFDSU5HX1MgPSA1O1xuZXhwb3J0IGNvbnN0IFNQQUNJTkdfTSA9IDEwO1xuZXhwb3J0IGNvbnN0IFNQQUNJTkdfTCA9IDIwO1xuZXhwb3J0IGNvbnN0IFNQQUNJTkdfWEwgPSA0MDtcblxuZXhwb3J0IGNvbnN0IENPTVBPTkVOVFNfU1BBQ0lORyA9IFNQQUNJTkdfWEw7XG5leHBvcnQgY29uc3QgQ09NUE9ORU5UU19TUEFDSU5HX1NNQUxMID0gU1BBQ0lOR19MO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfQ0VMTF9BQ1RJT05TX09GRlNFVCA9IDM7XG5leHBvcnQgY29uc3QgQk9BUkRfQ0VMTF9CT1JERVJfV0lEVEggPSAxO1xuZXhwb3J0IGNvbnN0IEJPQVJEX1RJTEVfRk9OVF9TSVpFX01JTiA9IDE0O1xuZXhwb3J0IGNvbnN0IEJPQVJEX1RJTEVfRk9OVF9TSVpFX1BPSU5UU19NSU4gPSAxMDtcbmV4cG9ydCBjb25zdCBCT0FSRF9USUxFX1NJWkVfTUFYID0gNjQ7XG5cbmV4cG9ydCBjb25zdCBCT1JERVJfQ09MT1IgPSAnI2NkY2RjZCc7XG5leHBvcnQgY29uc3QgQk9SREVSX0NPTE9SX0xJR0hUID0gJyNkOWQ5ZDknO1xuZXhwb3J0IGNvbnN0IEJPUkRFUl9SQURJVVMgPSA1O1xuZXhwb3J0IGNvbnN0IEJPUkRFUl9XSURUSCA9IDE7XG5cbmV4cG9ydCBjb25zdCBCVVRUT05fSUNPTl9TSVpFID0gMjQ7XG5leHBvcnQgY29uc3QgQlVUVE9OX1BBRERJTkdfVkVSVElDQUwgPSBTUEFDSU5HX007XG5leHBvcnQgY29uc3QgQlVUVE9OX0hFSUdIVCA9IEJVVFRPTl9JQ09OX1NJWkUgKyAyICogQlVUVE9OX1BBRERJTkdfVkVSVElDQUwgKyAyICogQk9SREVSX1dJRFRIO1xuXG5leHBvcnQgY29uc3QgRElDVElPTkFSWV9IRUlHSFQgPSAyNjA7XG5leHBvcnQgY29uc3QgRElDVElPTkFSWV9IRUlHSFRfTU9CSUxFID0gMTEwO1xuXG5leHBvcnQgY29uc3QgTE9HT19BU1BFQ1RfUkFUSU8gPSA2ODIgLyAxNjY7XG5leHBvcnQgY29uc3QgTE9HT19IRUlHSFQgPSA2MDtcbmV4cG9ydCBjb25zdCBMT0dPX0hFSUdIVF9TTUFMTCA9IDQ4O1xuZXhwb3J0IGNvbnN0IExPR09fU1JDID0gJy9sb2dvLnN2Zyc7XG5cbmV4cG9ydCBjb25zdCBNT0RBTF9XSURUSCA9IDM3MDtcbmV4cG9ydCBjb25zdCBNT0RBTF9IRUFERVJfSEVJR0hUID0gNDU7XG5cbmV4cG9ydCBjb25zdCBOQVZfUEFERElORyA9IFNQQUNJTkdfTDtcblxuZXhwb3J0IGNvbnN0IFRJTEVfU0laRSA9IDgwO1xuXG5leHBvcnQgY29uc3QgUExBSU5fVElMRVNfQ09MT1JfREVGQVVMVCA9IENPTE9SX0dSRUVOO1xuZXhwb3J0IGNvbnN0IFBMQUlOX1RJTEVTX1BBRERJTkdfSE9SSVpPTlRBTCA9IDA7XG5leHBvcnQgY29uc3QgUExBSU5fVElMRVNfUEFERElOR19WRVJUSUNBTCA9IDA7XG5leHBvcnQgY29uc3QgUExBSU5fVElMRVNfUE9JTlRTX0NPTE9SUzogUmVjb3JkPG51bWJlciwgc3RyaW5nPiA9IHtcbiAgMTogQ09MT1JfWUVMTE9XLFxuICAyOiBDT0xPUl9HUkVFTixcbiAgMzogQ09MT1JfQkxVRSxcbiAgNDogQ09MT1JfUkVELFxuICA1OiBDT0xPUl9SRUQsXG4gIDY6IENPTE9SX1JFRCxcbiAgNzogQ09MT1JfUkVELFxuICA4OiBDT0xPUl9SRUQsXG4gIDk6IENPTE9SX1JFRCxcbiAgMTA6IENPTE9SX1JFRCxcbn07XG5leHBvcnQgY29uc3QgUExBSU5fVElMRVNfVElMRV9NQVJHSU4gPSA2O1xuZXhwb3J0IGNvbnN0IFBMQUlOX1RJTEVTX1RJTEVfTUFYX1JPVEFURSA9IDA7XG5leHBvcnQgY29uc3QgUExBSU5fVElMRVNfVElMRV9NQVhfU0NBVFRFUiA9IDA7XG5leHBvcnQgY29uc3QgUExBSU5fVElMRVNfVElMRV9TSVpFID0gODA7XG5leHBvcnQgY29uc3QgUExBSU5fVElMRVNfVkVSU0lPTl9USUxFX0NPTE9SID0gQ09MT1JfR1JFRU47XG5leHBvcnQgY29uc3QgUExBSU5fVElMRVNfVkVSU0lPTl9USUxFX1NJWkUgPSBUSUxFX1NJWkU7XG5cbmV4cG9ydCBjb25zdCBQUk9HUkVTU19DT0xPUl9WQUxVRSA9ICd2YXIoLS1jb2xvci0tdmlvbGV0LS1saWdodCknO1xuZXhwb3J0IGNvbnN0IFBST0dSRVNTX0NPTE9SX0JBQ0tHUk9VTkQgPSAndmFyKC0tY29sb3ItLWluYWN0aXZlKSc7XG5cbmV4cG9ydCBjb25zdCBSQUNLX1RJTEVfU0laRV9NQVggPSA4MDtcblxuZXhwb3J0IGNvbnN0IFJFTUFJTklOR19USUxFU19USUxFX1NJWkUgPSA1MDtcblxuZXhwb3J0IGNvbnN0IFJFU1VMVFNfSVRFTV9IRUlHSFQgPSA0MDtcblxuZXhwb3J0IGNvbnN0IFJFU1VMVFNfSEVBREVSX0hFSUdIVCA9IFJFU1VMVFNfSVRFTV9IRUlHSFQ7XG5cbmV4cG9ydCBjb25zdCBTT0xWRVJfQ09MVU1OX1dJRFRIID0gNTgwO1xuXG5leHBvcnQgY29uc3QgVEVYVF9JTlBVVF9IRUlHSFQgPSA0MDtcblxuZXhwb3J0IGNvbnN0IFRJTEVfQVBQRUFSX0RVUkFUSU9OID0gMjAwO1xuXG5leHBvcnQgY29uc3QgVElMRV9BUFBFQVJfS0VZRlJBTUVTID0gW1xuICB7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0sXG4gIHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMCUpJywgb2Zmc2V0OiAwLjUgfSxcbiAgeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyB9LFxuXTtcbiJdLCJuYW1lcyI6WyJCUkVBS1BPSU5UUyIsInhzIiwicyIsIm0iLCJsIiwieGwiLCJFQVNFX09VVF9DVUJJQyIsIlRSQU5TSVRJT04iLCJHSVRIVUJfUFJPSkVDVF9VUkwiLCJUUkFOU0lUSU9OX0RVUkFUSU9OIiwiVFJBTlNJVElPTl9EVVJBVElPTl9MT05HIiwiQ09MT1JfQkxVRSIsIkNPTE9SX0dSRUVOIiwiQ09MT1JfUkVEIiwiQ09MT1JfWUVMTE9XIiwiQ09MT1JfQk9OVVNfQ0hBUkFDVEVSXzEiLCJDT0xPUl9CT05VU19DSEFSQUNURVJfMiIsIkNPTE9SX0JPTlVTX0NIQVJBQ1RFUl8zIiwiQ09MT1JfQk9OVVNfQ0hBUkFDVEVSXzUiLCJDT0xPUl9CT05VU19DSEFSQUNURVJfTVVMVElQTElFUl8yIiwiQ09MT1JfQk9OVVNfQ0hBUkFDVEVSX01VTFRJUExJRVJfMyIsIkNPTE9SX0JPTlVTX0NIQVJBQ1RFUl9NVUxUSVBMSUVSXzQiLCJDT0xPUl9CT05VU19TVEFSVCIsIkNPTE9SX0JPTlVTX1dPUkRfTVVMVElQTElFUl8yIiwiQ09MT1JfQk9OVVNfV09SRF9NVUxUSVBMSUVSXzMiLCJDT0xPUl9CT05VU19XT1JEX01VTFRJUExJRVJfNCIsIkNPTE9SX0ZJTFRFUkVEIiwiQ09MT1JfQkFDS0dST1VORCIsIkNPTE9SX0JPTlVTX0NIQVJBQ1RFUiIsIkNPTE9SX0JPTlVTX0NIQVJBQ1RFUl9NVUxUSVBMSUVSIiwiQ09MT1JfQk9OVVNfV09SRCIsIlNQQUNJTkdfWFMiLCJTUEFDSU5HX1MiLCJTUEFDSU5HX00iLCJTUEFDSU5HX0wiLCJTUEFDSU5HX1hMIiwiQ09NUE9ORU5UU19TUEFDSU5HIiwiQ09NUE9ORU5UU19TUEFDSU5HX1NNQUxMIiwiQk9BUkRfQ0VMTF9BQ1RJT05TX09GRlNFVCIsIkJPQVJEX0NFTExfQk9SREVSX1dJRFRIIiwiQk9BUkRfVElMRV9GT05UX1NJWkVfTUlOIiwiQk9BUkRfVElMRV9GT05UX1NJWkVfUE9JTlRTX01JTiIsIkJPQVJEX1RJTEVfU0laRV9NQVgiLCJCT1JERVJfQ09MT1IiLCJCT1JERVJfQ09MT1JfTElHSFQiLCJCT1JERVJfUkFESVVTIiwiQk9SREVSX1dJRFRIIiwiQlVUVE9OX0lDT05fU0laRSIsIkJVVFRPTl9QQURESU5HX1ZFUlRJQ0FMIiwiQlVUVE9OX0hFSUdIVCIsIkRJQ1RJT05BUllfSEVJR0hUIiwiRElDVElPTkFSWV9IRUlHSFRfTU9CSUxFIiwiTE9HT19BU1BFQ1RfUkFUSU8iLCJMT0dPX0hFSUdIVCIsIkxPR09fSEVJR0hUX1NNQUxMIiwiTE9HT19TUkMiLCJNT0RBTF9XSURUSCIsIk1PREFMX0hFQURFUl9IRUlHSFQiLCJOQVZfUEFERElORyIsIlRJTEVfU0laRSIsIlBMQUlOX1RJTEVTX0NPTE9SX0RFRkFVTFQiLCJQTEFJTl9USUxFU19QQURESU5HX0hPUklaT05UQUwiLCJQTEFJTl9USUxFU19QQURESU5HX1ZFUlRJQ0FMIiwiUExBSU5fVElMRVNfUE9JTlRTX0NPTE9SUyIsIlBMQUlOX1RJTEVTX1RJTEVfTUFSR0lOIiwiUExBSU5fVElMRVNfVElMRV9NQVhfUk9UQVRFIiwiUExBSU5fVElMRVNfVElMRV9NQVhfU0NBVFRFUiIsIlBMQUlOX1RJTEVTX1RJTEVfU0laRSIsIlBMQUlOX1RJTEVTX1ZFUlNJT05fVElMRV9DT0xPUiIsIlBMQUlOX1RJTEVTX1ZFUlNJT05fVElMRV9TSVpFIiwiUFJPR1JFU1NfQ09MT1JfVkFMVUUiLCJQUk9HUkVTU19DT0xPUl9CQUNLR1JPVU5EIiwiUkFDS19USUxFX1NJWkVfTUFYIiwiUkVNQUlOSU5HX1RJTEVTX1RJTEVfU0laRSIsIlJFU1VMVFNfSVRFTV9IRUlHSFQiLCJSRVNVTFRTX0hFQURFUl9IRUlHSFQiLCJTT0xWRVJfQ09MVU1OX1dJRFRIIiwiVEVYVF9JTlBVVF9IRUlHSFQiLCJUSUxFX0FQUEVBUl9EVVJBVElPTiIsIlRJTEVfQVBQRUFSX0tFWUZSQU1FUyIsInRyYW5zZm9ybSIsIm9mZnNldCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/parameters/index.ts\n"));
|
|
116
|
+
|
|
117
|
+
/***/ }),
|
|
118
|
+
|
|
119
|
+
/***/ "./src/state/localStorage.ts":
|
|
120
|
+
/*!***********************************!*\
|
|
121
|
+
!*** ./src/state/localStorage.ts ***!
|
|
122
|
+
\***********************************/
|
|
123
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
124
|
+
|
|
125
|
+
"use strict";
|
|
126
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @scrabble-solver/types */ \"../types/build/index.js\");\n/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var store2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! store2 */ \"../../node_modules/store2/dist/store2.js\");\n/* harmony import */ var store2__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(store2__WEBPACK_IMPORTED_MODULE_1__);\n\n\nconst AUTO_GROUP_TILES = \"auto-group-tiles\";\nconst BOARD = \"board\";\nconst GAME_ID = \"config-id\";\nconst INPUT_MODE = \"input-mode\";\nconst LOCALE = \"locale\";\nconst RACK = \"rack\";\nconst SHOW_COORDINATES = \"show-coordinates\";\nconst store = store2__WEBPACK_IMPORTED_MODULE_1___default().namespace(\"scrabble-solver\");\nconst localStorage = {\n getAutoGroupTiles () {\n return store.get(AUTO_GROUP_TILES);\n },\n setAutoGroupTiles (autoGroupTiles) {\n store.set(AUTO_GROUP_TILES, autoGroupTiles, true);\n },\n getBoard () {\n const serialized = store.get(BOARD);\n return serialized ? _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0__.Board.fromJson(JSON.parse(serialized)) : serialized;\n },\n setBoard (board) {\n const serialized = board ? JSON.stringify(board.toJson()) : board;\n store.set(BOARD, serialized, true);\n },\n getGame () {\n return store.get(GAME_ID);\n },\n setGame (game) {\n store.set(GAME_ID, game, true);\n },\n getInputMode () {\n return store.get(INPUT_MODE);\n },\n setInputMode (inputMode) {\n store.set(INPUT_MODE, inputMode, true);\n },\n getLocale () {\n return store.get(LOCALE);\n },\n setLocale (locale) {\n store.set(LOCALE, locale, true);\n },\n getRack () {\n return store.get(RACK);\n },\n setRack (rack) {\n store.set(RACK, rack, true);\n },\n getShowCoordinates () {\n return store.get(SHOW_COORDINATES);\n },\n setShowCoordinates (showCoordinates) {\n store.set(SHOW_COORDINATES, showCoordinates, true);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (localStorage);\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc3RhdGUvbG9jYWxTdG9yYWdlLnRzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQThFO0FBQ2xEO0FBSTVCLE1BQU1FLG1CQUFtQjtBQUN6QixNQUFNQyxRQUFRO0FBQ2QsTUFBTUMsVUFBVTtBQUNoQixNQUFNQyxhQUFhO0FBQ25CLE1BQU1DLFNBQVM7QUFDZixNQUFNQyxPQUFPO0FBQ2IsTUFBTUMsbUJBQW1CO0FBRXpCLE1BQU1DLFFBQVFSLHVEQUFnQixDQUFDO0FBRS9CLE1BQU1VLGVBQWU7SUFDbkJDO1FBQ0UsT0FBT0gsTUFBTUksR0FBRyxDQUFDWDtJQUNuQjtJQUVBWSxtQkFBa0JDLGNBQTBDO1FBQzFETixNQUFNTyxHQUFHLENBQUNkLGtCQUFrQmEsZ0JBQWdCO0lBQzlDO0lBRUFFO1FBQ0UsTUFBTUMsYUFBYVQsTUFBTUksR0FBRyxDQUFDVjtRQUM3QixPQUFPZSxhQUFhbEIseURBQUtBLENBQUNtQixRQUFRLENBQUNDLEtBQUtDLEtBQUssQ0FBQ0gsZUFBZUE7SUFDL0Q7SUFFQUksVUFBU0MsS0FBd0I7UUFDL0IsTUFBTUwsYUFBYUssUUFBUUgsS0FBS0ksU0FBUyxDQUFDRCxNQUFNRSxNQUFNLE1BQU1GO1FBQzVEZCxNQUFNTyxHQUFHLENBQUNiLE9BQU9lLFlBQVk7SUFDL0I7SUFFQVE7UUFDRSxPQUFPakIsTUFBTUksR0FBRyxDQUFDVDtJQUNuQjtJQUVBdUIsU0FBUUMsSUFBc0I7UUFDNUJuQixNQUFNTyxHQUFHLENBQUNaLFNBQVN3QixNQUFNO0lBQzNCO0lBRUFDO1FBQ0UsT0FBT3BCLE1BQU1JLEdBQUcsQ0FBQ1I7SUFDbkI7SUFFQXlCLGNBQWFDLFNBQWdDO1FBQzNDdEIsTUFBTU8sR0FBRyxDQUFDWCxZQUFZMEIsV0FBVztJQUNuQztJQUVBQztRQUNFLE9BQU92QixNQUFNSSxHQUFHLENBQUNQO0lBQ25CO0lBRUEyQixXQUFVQyxNQUEwQjtRQUNsQ3pCLE1BQU1PLEdBQUcsQ0FBQ1YsUUFBUTRCLFFBQVE7SUFDNUI7SUFFQUM7UUFDRSxPQUFPMUIsTUFBTUksR0FBRyxDQUFDTjtJQUNuQjtJQUVBNkIsU0FBUUMsSUFBc0I7UUFDNUI1QixNQUFNTyxHQUFHLENBQUNULE1BQU04QixNQUFNO0lBQ3hCO0lBRUFDO1FBQ0UsT0FBTzdCLE1BQU1JLEdBQUcsQ0FBQ0w7SUFDbkI7SUFFQStCLG9CQUFtQkMsZUFBNEM7UUFDN0QvQixNQUFNTyxHQUFHLENBQUNSLGtCQUFrQmdDLGlCQUFpQjtJQUMvQztBQUNGO0FBRUEsK0RBQWU3QixZQUFZQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9zdGF0ZS9sb2NhbFN0b3JhZ2UudHM/NjIxOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb2FyZCwgR2FtZSwgTG9jYWxlLCBTaG93Q29vcmRpbmF0ZXMgfSBmcm9tICdAc2NyYWJibGUtc29sdmVyL3R5cGVzJztcbmltcG9ydCBzdG9yZTIgZnJvbSAnc3RvcmUyJztcblxuaW1wb3J0IHsgQXV0b0dyb3VwVGlsZXMsIElucHV0TW9kZSwgUmFjayB9IGZyb20gJ3R5cGVzJztcblxuY29uc3QgQVVUT19HUk9VUF9USUxFUyA9ICdhdXRvLWdyb3VwLXRpbGVzJztcbmNvbnN0IEJPQVJEID0gJ2JvYXJkJztcbmNvbnN0IEdBTUVfSUQgPSAnY29uZmlnLWlkJztcbmNvbnN0IElOUFVUX01PREUgPSAnaW5wdXQtbW9kZSc7XG5jb25zdCBMT0NBTEUgPSAnbG9jYWxlJztcbmNvbnN0IFJBQ0sgPSAncmFjayc7XG5jb25zdCBTSE9XX0NPT1JESU5BVEVTID0gJ3Nob3ctY29vcmRpbmF0ZXMnO1xuXG5jb25zdCBzdG9yZSA9IHN0b3JlMi5uYW1lc3BhY2UoJ3NjcmFiYmxlLXNvbHZlcicpO1xuXG5jb25zdCBsb2NhbFN0b3JhZ2UgPSB7XG4gIGdldEF1dG9Hcm91cFRpbGVzKCk6IEF1dG9Hcm91cFRpbGVzIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc3RvcmUuZ2V0KEFVVE9fR1JPVVBfVElMRVMpO1xuICB9LFxuXG4gIHNldEF1dG9Hcm91cFRpbGVzKGF1dG9Hcm91cFRpbGVzOiBBdXRvR3JvdXBUaWxlcyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHN0b3JlLnNldChBVVRPX0dST1VQX1RJTEVTLCBhdXRvR3JvdXBUaWxlcywgdHJ1ZSk7XG4gIH0sXG5cbiAgZ2V0Qm9hcmQoKTogQm9hcmQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBzdG9yZS5nZXQoQk9BUkQpO1xuICAgIHJldHVybiBzZXJpYWxpemVkID8gQm9hcmQuZnJvbUpzb24oSlNPTi5wYXJzZShzZXJpYWxpemVkKSkgOiBzZXJpYWxpemVkO1xuICB9LFxuXG4gIHNldEJvYXJkKGJvYXJkOiBCb2FyZCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBib2FyZCA/IEpTT04uc3RyaW5naWZ5KGJvYXJkLnRvSnNvbigpKSA6IGJvYXJkO1xuICAgIHN0b3JlLnNldChCT0FSRCwgc2VyaWFsaXplZCwgdHJ1ZSk7XG4gIH0sXG5cbiAgZ2V0R2FtZSgpOiBHYW1lIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc3RvcmUuZ2V0KEdBTUVfSUQpO1xuICB9LFxuXG4gIHNldEdhbWUoZ2FtZTogR2FtZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHN0b3JlLnNldChHQU1FX0lELCBnYW1lLCB0cnVlKTtcbiAgfSxcblxuICBnZXRJbnB1dE1vZGUoKTogSW5wdXRNb2RlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc3RvcmUuZ2V0KElOUFVUX01PREUpO1xuICB9LFxuXG4gIHNldElucHV0TW9kZShpbnB1dE1vZGU6IElucHV0TW9kZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHN0b3JlLnNldChJTlBVVF9NT0RFLCBpbnB1dE1vZGUsIHRydWUpO1xuICB9LFxuXG4gIGdldExvY2FsZSgpOiBMb2NhbGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdG9yZS5nZXQoTE9DQUxFKTtcbiAgfSxcblxuICBzZXRMb2NhbGUobG9jYWxlOiBMb2NhbGUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBzdG9yZS5zZXQoTE9DQUxFLCBsb2NhbGUsIHRydWUpO1xuICB9LFxuXG4gIGdldFJhY2soKTogUmFjayB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHN0b3JlLmdldChSQUNLKTtcbiAgfSxcblxuICBzZXRSYWNrKHJhY2s6IFJhY2sgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBzdG9yZS5zZXQoUkFDSywgcmFjaywgdHJ1ZSk7XG4gIH0sXG5cbiAgZ2V0U2hvd0Nvb3JkaW5hdGVzKCk6IFNob3dDb29yZGluYXRlcyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHN0b3JlLmdldChTSE9XX0NPT1JESU5BVEVTKTtcbiAgfSxcblxuICBzZXRTaG93Q29vcmRpbmF0ZXMoc2hvd0Nvb3JkaW5hdGVzOiBTaG93Q29vcmRpbmF0ZXMgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBzdG9yZS5zZXQoU0hPV19DT09SRElOQVRFUywgc2hvd0Nvb3JkaW5hdGVzLCB0cnVlKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGxvY2FsU3RvcmFnZTtcbiJdLCJuYW1lcyI6WyJCb2FyZCIsInN0b3JlMiIsIkFVVE9fR1JPVVBfVElMRVMiLCJCT0FSRCIsIkdBTUVfSUQiLCJJTlBVVF9NT0RFIiwiTE9DQUxFIiwiUkFDSyIsIlNIT1dfQ09PUkRJTkFURVMiLCJzdG9yZSIsIm5hbWVzcGFjZSIsImxvY2FsU3RvcmFnZSIsImdldEF1dG9Hcm91cFRpbGVzIiwiZ2V0Iiwic2V0QXV0b0dyb3VwVGlsZXMiLCJhdXRvR3JvdXBUaWxlcyIsInNldCIsImdldEJvYXJkIiwic2VyaWFsaXplZCIsImZyb21Kc29uIiwiSlNPTiIsInBhcnNlIiwic2V0Qm9hcmQiLCJib2FyZCIsInN0cmluZ2lmeSIsInRvSnNvbiIsImdldEdhbWUiLCJzZXRHYW1lIiwiZ2FtZSIsImdldElucHV0TW9kZSIsInNldElucHV0TW9kZSIsImlucHV0TW9kZSIsImdldExvY2FsZSIsInNldExvY2FsZSIsImxvY2FsZSIsImdldFJhY2siLCJzZXRSYWNrIiwicmFjayIsImdldFNob3dDb29yZGluYXRlcyIsInNldFNob3dDb29yZGluYXRlcyIsInNob3dDb29yZGluYXRlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/state/localStorage.ts\n"));
|
|
127
|
+
|
|
128
|
+
/***/ }),
|
|
129
|
+
|
|
130
|
+
/***/ "./src/state/selectors.ts":
|
|
131
|
+
/*!********************************!*\
|
|
132
|
+
!*** ./src/state/selectors.ts ***!
|
|
133
|
+
\********************************/
|
|
134
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
135
|
+
|
|
136
|
+
"use strict";
|
|
137
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ selectAreResultsOutdated: function() { return /* binding */ selectAreResultsOutdated; },\n/* harmony export */ selectAutoGroupTiles: function() { return /* binding */ selectAutoGroupTiles; },\n/* harmony export */ selectBoard: function() { return /* binding */ selectBoard; },\n/* harmony export */ selectCellBonus: function() { return /* binding */ selectCellBonus; },\n/* harmony export */ selectCellIsFiltered: function() { return /* binding */ selectCellIsFiltered; },\n/* harmony export */ selectCellIsValid: function() { return /* binding */ selectCellIsValid; },\n/* harmony export */ selectCharacterIsValid: function() { return /* binding */ selectCharacterIsValid; },\n/* harmony export */ selectCharacterPoints: function() { return /* binding */ selectCharacterPoints; },\n/* harmony export */ selectCharacters: function() { return /* binding */ selectCharacters; },\n/* harmony export */ selectConfig: function() { return /* binding */ selectConfig; },\n/* harmony export */ selectDictionary: function() { return /* binding */ selectDictionary; },\n/* harmony export */ selectDictionaryError: function() { return /* binding */ selectDictionaryError; },\n/* harmony export */ selectFilteredCells: function() { return /* binding */ selectFilteredCells; },\n/* harmony export */ selectGame: function() { return /* binding */ selectGame; },\n/* harmony export */ selectGroupedResults: function() { return /* binding */ selectGroupedResults; },\n/* harmony export */ selectHasBoardChanged: function() { return /* binding */ selectHasBoardChanged; },\n/* harmony export */ selectHasInvalidWords: function() { return /* binding */ selectHasInvalidWords; },\n/* harmony export */ selectHasOverusedTiles: function() { return /* binding */ selectHasOverusedTiles; },\n/* harmony export */ selectHaveCharactersChanged: function() { return /* binding */ selectHaveCharactersChanged; },\n/* harmony export */ selectInputMode: function() { return /* binding */ selectInputMode; },\n/* harmony export */ selectIsLoading: function() { return /* binding */ selectIsLoading; },\n/* harmony export */ selectIsResultMatching: function() { return /* binding */ selectIsResultMatching; },\n/* harmony export */ selectLastSolvedParameters: function() { return /* binding */ selectLastSolvedParameters; },\n/* harmony export */ selectLocale: function() { return /* binding */ selectLocale; },\n/* harmony export */ selectLocaleAutoGroupTiles: function() { return /* binding */ selectLocaleAutoGroupTiles; },\n/* harmony export */ selectRack: function() { return /* binding */ selectRack; },\n/* harmony export */ selectRemainingTiles: function() { return /* binding */ selectRemainingTiles; },\n/* harmony export */ selectRemainingTilesGroups: function() { return /* binding */ selectRemainingTilesGroups; },\n/* harmony export */ selectResultCandidate: function() { return /* binding */ selectResultCandidate; },\n/* harmony export */ selectResultCandidateCells: function() { return /* binding */ selectResultCandidateCells; },\n/* harmony export */ selectResultCandidateTiles: function() { return /* binding */ selectResultCandidateTiles; },\n/* harmony export */ selectResults: function() { return /* binding */ selectResults; },\n/* harmony export */ selectResultsQuery: function() { return /* binding */ selectResultsQuery; },\n/* harmony export */ selectResultsRaw: function() { return /* binding */ selectResultsRaw; },\n/* harmony export */ selectResultsSort: function() { return /* binding */ selectResultsSort; },\n/* harmony export */ selectRowsWithCandidate: function() { return /* binding */ selectRowsWithCandidate; },\n/* harmony export */ selectShowCoordinates: function() { return /* binding */ selectShowCoordinates; },\n/* harmony export */ selectSolveError: function() { return /* binding */ selectSolveError; },\n/* harmony export */ selectSortedResults: function() { return /* binding */ selectSortedResults; },\n/* harmony export */ selectTilePoints: function() { return /* binding */ selectTilePoints; },\n/* harmony export */ selectTranslation: function() { return /* binding */ selectTranslation; },\n/* harmony export */ selectTranslations: function() { return /* binding */ selectTranslations; },\n/* harmony export */ selectVerify: function() { return /* binding */ selectVerify; }\n/* harmony export */ });\n/* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @reduxjs/toolkit */ \"../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs\");\n/* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @scrabble-solver/configs */ \"../configs/build/index.js\");\n/* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @scrabble-solver/constants */ \"../constants/build/index.js\");\n/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @scrabble-solver/types */ \"../types/build/index.js\");\n/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! i18n */ \"./src/i18n/index.ts\");\n/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lib */ \"./src/lib/index.ts\");\n/* eslint-disable max-lines */ \n\n\n\n\n\nconst selectCell = (_, cell)=>cell;\nconst selectPoint = (_, point)=>point;\nconst selectResultIndex = (_, index)=>index;\nconst selectCharacter = (_, character)=>character;\nconst selectTile = (_, tile)=>tile;\nconst selectBoardRoot = (state)=>state.board;\nconst selectDictionaryRoot = (state)=>state.dictionary;\nconst selectCellFilterRoot = (state)=>state.cellFilter;\nconst selectRackRoot = (state)=>state.rack;\nconst selectResultsRoot = (state)=>state.results;\nconst selectSettingsRoot = (state)=>state.settings;\nconst selectSolveRoot = (state)=>state.solve;\nconst selectVerifyRoot = (state)=>state.verify;\nconst selectDictionary = selectDictionaryRoot;\nconst selectDictionaryError = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectDictionaryRoot\n], (dictionary)=>{\n return (0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__.isError)(dictionary.error) ? dictionary.error : undefined;\n});\nconst selectLocale = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectSettingsRoot\n], (settings)=>settings.locale);\nconst selectAutoGroupTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectSettingsRoot\n], (settings)=>settings.autoGroupTiles);\nconst selectLocaleAutoGroupTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectLocale,\n selectSettingsRoot\n], (locale, settings)=>{\n if (i18n__WEBPACK_IMPORTED_MODULE_3__.LOCALE_FEATURES[locale].direction === \"ltr\" || settings.autoGroupTiles === null) {\n return settings.autoGroupTiles;\n }\n return settings.autoGroupTiles === \"left\" ? \"right\" : \"left\";\n});\nconst selectBoard = selectBoardRoot;\nconst selectInputMode = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectSettingsRoot\n], (settings)=>settings.inputMode);\nconst selectShowCoordinates = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectSettingsRoot\n], (settings)=>settings.showCoordinates);\nconst selectGame = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectSettingsRoot\n], (settings)=>settings.game);\nconst selectConfig = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectGame,\n selectLocale\n], _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.getConfig);\nconst selectFilteredCells = selectCellFilterRoot;\nconst selectCellIsFiltered = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectFilteredCells,\n selectPoint\n], (cellFilter, param)=>{\n let { x, y } = param;\n return cellFilter.some((cell)=>cell.x === x && cell.y === y);\n});\nconst selectCellIsValid = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectConfig,\n selectCell\n], (config, cell)=>{\n if (!cell.hasTile()) {\n return true;\n }\n return config.tiles.some((tile)=>tile.character === cell.tile.character);\n});\nconst selectResultsRaw = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectResultsRoot\n], (results)=>results.results);\nconst selectResultsQuery = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectResultsRoot\n], (results)=>results.query);\nconst selectResultsSort = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectResultsRoot\n], (results)=>results.sort);\nconst selectSortedResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectResultsRaw,\n selectResultsSort,\n selectLocale\n], lib__WEBPACK_IMPORTED_MODULE_4__.sortResults);\nconst selectGroupedResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectSortedResults,\n selectResultsQuery,\n selectFilteredCells\n], lib__WEBPACK_IMPORTED_MODULE_4__.groupResults);\nconst selectResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectGroupedResults\n], (groupedResults)=>{\n return groupedResults ? [\n ...groupedResults.matching,\n ...groupedResults.other\n ] : groupedResults;\n});\nconst selectIsResultMatching = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectResults,\n selectResultsQuery,\n selectFilteredCells,\n selectResultIndex\n], (results, query, filteredCells, index)=>{\n if (!results) {\n return false;\n }\n const result = results[index];\n const regExp = (0,lib__WEBPACK_IMPORTED_MODULE_4__.createRegExp)(query);\n if (!regExp.test(result.word)) {\n return false;\n }\n if (filteredCells) {\n return filteredCells.every((param)=>{\n let { x, y } = param;\n return result.cells.some((cell)=>cell.x === x && cell.y === y);\n });\n }\n return true;\n});\nconst selectResultCandidate = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectResultsRoot\n], (results)=>results.candidate);\nconst selectResultCandidateCells = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectResultCandidate\n], (resultCandidate)=>(resultCandidate === null || resultCandidate === void 0 ? void 0 : resultCandidate.cells) || []);\nconst selectResultCandidateTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectResultCandidate\n], (resultCandidate)=>(resultCandidate === null || resultCandidate === void 0 ? void 0 : resultCandidate.tiles) || []);\nconst selectRowsWithCandidate = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectBoardRoot,\n selectResultCandidateCells\n], (board, cells)=>{\n return board.rows.map((row, y)=>row.map((cell, x)=>(0,lib__WEBPACK_IMPORTED_MODULE_4__.findCell)(cells, x, y) || cell));\n});\nconst selectCellBonus = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectConfig,\n selectCell\n], (config, cell)=>{\n return config.getCellBonus(cell);\n});\nconst selectCharacterPoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectConfig,\n selectCharacter\n], (config, character)=>{\n return config.getCharacterPoints(character);\n});\nconst selectCharacterIsValid = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectConfig,\n selectCharacter\n], (config, character)=>{\n if (character === null || character === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.BLANK) {\n return true;\n }\n return config.tiles.some((tile)=>tile.character === character);\n});\nconst selectTilePoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectConfig,\n selectTile\n], (config, tile)=>{\n return config.getTilePoints(tile);\n});\nconst selectTranslations = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectLocale\n], (locale)=>i18n__WEBPACK_IMPORTED_MODULE_3__[\"default\"][locale]);\nconst selectTranslation = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectTranslations,\n selectLocale,\n (_, id)=>id\n], (translations, locale, id)=>{\n const translation = translations[id];\n if (typeof translation === \"undefined\") {\n throw new Error('Untranslated key \"'.concat(id, '\" in locale \"').concat(locale, '\"'));\n }\n return translation;\n});\nconst selectRack = selectRackRoot;\nconst selectCharacters = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)(selectRackRoot, (rack)=>rack.filter((tile)=>tile !== null));\nconst selectLastSolvedParameters = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectSolveRoot\n], (solve)=>solve.lastSolvedParameters);\nconst selectIsLoading = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectSolveRoot\n], (solve)=>solve.isLoading);\nconst selectSolveError = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectSolveRoot\n], (solve)=>{\n return (0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__.isError)(solve.error) ? solve.error : undefined;\n});\nconst selectHaveCharactersChanged = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectLastSolvedParameters,\n selectCharacters,\n selectLocale\n], (lastSolvedParameters, characters, locale)=>{\n return !(0,lib__WEBPACK_IMPORTED_MODULE_4__.unorderedArraysEqual)(lastSolvedParameters.characters, characters, locale);\n});\nconst selectHasBoardChanged = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectLastSolvedParameters,\n selectBoardRoot\n], (lastSolvedParameters, board)=>!lastSolvedParameters.board.equals(board));\nconst selectAreResultsOutdated = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectHasBoardChanged,\n selectHaveCharactersChanged\n], (hasBoardChanged, haveCharactersChanged)=>hasBoardChanged || haveCharactersChanged);\nconst selectRemainingTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectConfig,\n selectBoardRoot,\n selectCharacters,\n selectLocale\n], lib__WEBPACK_IMPORTED_MODULE_4__.getRemainingTiles);\nconst selectHasOverusedTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectRemainingTiles\n], (remainingTiles)=>{\n return remainingTiles.some((param)=>{\n let { count, usedCount } = param;\n return usedCount > count;\n });\n});\nconst selectRemainingTilesGroups = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectRemainingTiles\n], lib__WEBPACK_IMPORTED_MODULE_4__.getRemainingTilesGroups);\nconst selectVerify = selectVerifyRoot;\nconst selectHasInvalidWords = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__.createSelector)([\n selectVerify\n], (param)=>{\n let { invalidWords } = param;\n return invalidWords.length > 0;\n});\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUM7WUFBQyxFQUFFZ0UsS0FBSyxFQUFFQyxTQUFTLEVBQUU7ZUFBS0EsWUFBWUQ7O0FBQ25FLEdBQUc7QUFFSSxNQUFNRSw2QkFBNkJqSSxnRUFBY0EsQ0FBQztJQUFDNEg7Q0FBcUIsRUFBRW5ILHdEQUF1QkEsRUFBRTtBQUVuRyxNQUFNeUgsZUFBZTNGLGlCQUFpQjtBQUV0QyxNQUFNNEYsd0JBQXdCbkksZ0VBQWNBLENBQUM7SUFBQ2tJO0NBQWEsRUFBRTtRQUFDLEVBQUVFLFlBQVksRUFBRTtJQUNuRixPQUFPQSxhQUFhQyxNQUFNLEdBQUc7QUFDL0IsR0FBRyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3RhdGUvc2VsZWN0b3JzLnRzP2ZlNTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxpbmVzICovXG5cbmltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tICdAc2NyYWJibGUtc29sdmVyL2NvbmZpZ3MnO1xuaW1wb3J0IHsgQkxBTksgfSBmcm9tICdAc2NyYWJibGUtc29sdmVyL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDZWxsLCBDb25maWcsIGlzRXJyb3IsIFRpbGUgfSBmcm9tICdAc2NyYWJibGUtc29sdmVyL3R5cGVzJztcblxuaW1wb3J0IGkxOG4sIHsgTE9DQUxFX0ZFQVRVUkVTIH0gZnJvbSAnaTE4bic7XG5pbXBvcnQge1xuICBjcmVhdGVSZWdFeHAsXG4gIGZpbmRDZWxsLFxuICBnZXRSZW1haW5pbmdUaWxlcyxcbiAgZ2V0UmVtYWluaW5nVGlsZXNHcm91cHMsXG4gIGdyb3VwUmVzdWx0cyxcbiAgc29ydFJlc3VsdHMsXG4gIHVub3JkZXJlZEFycmF5c0VxdWFsLFxufSBmcm9tICdsaWInO1xuaW1wb3J0IHsgUG9pbnQsIFRyYW5zbGF0aW9ucyB9IGZyb20gJ3R5cGVzJztcblxuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IHNlbGVjdENlbGwgPSAoXzogdW5rbm93biwgY2VsbDogQ2VsbCk6IENlbGwgPT4gY2VsbDtcblxuY29uc3Qgc2VsZWN0UG9pbnQgPSAoXzogdW5rbm93biwgcG9pbnQ6IFBvaW50KTogUG9pbnQgPT4gcG9pbnQ7XG5cbmNvbnN0IHNlbGVjdFJlc3VsdEluZGV4ID0gKF86IHVua25vd24sIGluZGV4OiBudW1iZXIpOiBudW1iZXIgPT4gaW5kZXg7XG5cbmNvbnN0IHNlbGVjdENoYXJhY3RlciA9IChfOiB1bmtub3duLCBjaGFyYWN0ZXI6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsID0+IGNoYXJhY3RlcjtcblxuY29uc3Qgc2VsZWN0VGlsZSA9IChfOiB1bmtub3duLCB0aWxlOiBUaWxlIHwgbnVsbCk6IFRpbGUgfCBudWxsID0+IHRpbGU7XG5cbmNvbnN0IHNlbGVjdEJvYXJkUm9vdCA9IChzdGF0ZTogUm9vdFN0YXRlKTogUm9vdFN0YXRlWydib2FyZCddID0+IHN0YXRlLmJvYXJkO1xuXG5jb25zdCBzZWxlY3REaWN0aW9uYXJ5Um9vdCA9IChzdGF0ZTogUm9vdFN0YXRlKTogUm9vdFN0YXRlWydkaWN0aW9uYXJ5J10gPT4gc3RhdGUuZGljdGlvbmFyeTtcblxuY29uc3Qgc2VsZWN0Q2VsbEZpbHRlclJvb3QgPSAoc3RhdGU6IFJvb3RTdGF0ZSk6IFJvb3RTdGF0ZVsnY2VsbEZpbHRlciddID0+IHN0YXRlLmNlbGxGaWx0ZXI7XG5cbmNvbnN0IHNlbGVjdFJhY2tSb290ID0gKHN0YXRlOiBSb290U3RhdGUpOiBSb290U3RhdGVbJ3JhY2snXSA9PiBzdGF0ZS5yYWNrO1xuXG5jb25zdCBzZWxlY3RSZXN1bHRzUm9vdCA9IChzdGF0ZTogUm9vdFN0YXRlKTogUm9vdFN0YXRlWydyZXN1bHRzJ10gPT4gc3RhdGUucmVzdWx0cztcblxuY29uc3Qgc2VsZWN0U2V0dGluZ3NSb290ID0gKHN0YXRlOiBSb290U3RhdGUpOiBSb290U3RhdGVbJ3NldHRpbmdzJ10gPT4gc3RhdGUuc2V0dGluZ3M7XG5cbmNvbnN0IHNlbGVjdFNvbHZlUm9vdCA9IChzdGF0ZTogUm9vdFN0YXRlKTogUm9vdFN0YXRlWydzb2x2ZSddID0+IHN0YXRlLnNvbHZlO1xuXG5jb25zdCBzZWxlY3RWZXJpZnlSb290ID0gKHN0YXRlOiBSb290U3RhdGUpOiBSb290U3RhdGVbJ3ZlcmlmeSddID0+IHN0YXRlLnZlcmlmeTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdERpY3Rpb25hcnkgPSBzZWxlY3REaWN0aW9uYXJ5Um9vdDtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdERpY3Rpb25hcnlFcnJvciA9IGNyZWF0ZVNlbGVjdG9yKFtzZWxlY3REaWN0aW9uYXJ5Um9vdF0sIChkaWN0aW9uYXJ5KSA9PiB7XG4gIHJldHVybiBpc0Vycm9yKGRpY3Rpb25hcnkuZXJyb3IpID8gZGljdGlvbmFyeS5lcnJvciA6IHVuZGVmaW5lZDtcbn0pO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0TG9jYWxlID0gY3JlYXRlU2VsZWN0b3IoW3NlbGVjdFNldHRpbmdzUm9vdF0sIChzZXR0aW5ncykgPT4gc2V0dGluZ3MubG9jYWxlKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEF1dG9Hcm91cFRpbGVzID0gY3JlYXRlU2VsZWN0b3IoW3NlbGVjdFNldHRpbmdzUm9vdF0sIChzZXR0aW5ncykgPT4gc2V0dGluZ3MuYXV0b0dyb3VwVGlsZXMpO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0TG9jYWxlQXV0b0dyb3VwVGlsZXMgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0TG9jYWxlLCBzZWxlY3RTZXR0aW5nc1Jvb3RdLCAobG9jYWxlLCBzZXR0aW5ncykgPT4ge1xuICBpZiAoTE9DQUxFX0ZFQVRVUkVTW2xvY2FsZV0uZGlyZWN0aW9uID09PSAnbHRyJyB8fCBzZXR0aW5ncy5hdXRvR3JvdXBUaWxlcyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBzZXR0aW5ncy5hdXRvR3JvdXBUaWxlcztcbiAgfVxuXG4gIHJldHVybiBzZXR0aW5ncy5hdXRvR3JvdXBUaWxlcyA9PT0gJ2xlZnQnID8gJ3JpZ2h0JyA6ICdsZWZ0Jztcbn0pO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0Qm9hcmQgPSBzZWxlY3RCb2FyZFJvb3Q7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RJbnB1dE1vZGUgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0U2V0dGluZ3NSb290XSwgKHNldHRpbmdzKSA9PiBzZXR0aW5ncy5pbnB1dE1vZGUpO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0U2hvd0Nvb3JkaW5hdGVzID0gY3JlYXRlU2VsZWN0b3IoW3NlbGVjdFNldHRpbmdzUm9vdF0sIChzZXR0aW5ncykgPT4gc2V0dGluZ3Muc2hvd0Nvb3JkaW5hdGVzKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEdhbWUgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0U2V0dGluZ3NSb290XSwgKHNldHRpbmdzKSA9PiBzZXR0aW5ncy5nYW1lKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdENvbmZpZyA9IGNyZWF0ZVNlbGVjdG9yKFtzZWxlY3RHYW1lLCBzZWxlY3RMb2NhbGVdLCBnZXRDb25maWcpO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0RmlsdGVyZWRDZWxscyA9IHNlbGVjdENlbGxGaWx0ZXJSb290O1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0Q2VsbElzRmlsdGVyZWQgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0RmlsdGVyZWRDZWxscywgc2VsZWN0UG9pbnRdLCAoY2VsbEZpbHRlciwgeyB4LCB5IH0pID0+IHtcbiAgcmV0dXJuIGNlbGxGaWx0ZXIuc29tZSgoY2VsbCkgPT4gY2VsbC54ID09PSB4ICYmIGNlbGwueSA9PT0geSk7XG59KTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdENlbGxJc1ZhbGlkID0gY3JlYXRlU2VsZWN0b3IoW3NlbGVjdENvbmZpZywgc2VsZWN0Q2VsbF0sIChjb25maWcsIGNlbGwpID0+IHtcbiAgaWYgKCFjZWxsLmhhc1RpbGUoKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy50aWxlcy5zb21lKCh0aWxlKSA9PiB0aWxlLmNoYXJhY3RlciA9PT0gY2VsbC50aWxlLmNoYXJhY3Rlcik7XG59KTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlc3VsdHNSYXcgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0UmVzdWx0c1Jvb3RdLCAocmVzdWx0cykgPT4gcmVzdWx0cy5yZXN1bHRzKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlc3VsdHNRdWVyeSA9IGNyZWF0ZVNlbGVjdG9yKFtzZWxlY3RSZXN1bHRzUm9vdF0sIChyZXN1bHRzKSA9PiByZXN1bHRzLnF1ZXJ5KTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlc3VsdHNTb3J0ID0gY3JlYXRlU2VsZWN0b3IoW3NlbGVjdFJlc3VsdHNSb290XSwgKHJlc3VsdHMpID0+IHJlc3VsdHMuc29ydCk7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RTb3J0ZWRSZXN1bHRzID0gY3JlYXRlU2VsZWN0b3IoW3NlbGVjdFJlc3VsdHNSYXcsIHNlbGVjdFJlc3VsdHNTb3J0LCBzZWxlY3RMb2NhbGVdLCBzb3J0UmVzdWx0cyk7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RHcm91cGVkUmVzdWx0cyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBbc2VsZWN0U29ydGVkUmVzdWx0cywgc2VsZWN0UmVzdWx0c1F1ZXJ5LCBzZWxlY3RGaWx0ZXJlZENlbGxzXSxcbiAgZ3JvdXBSZXN1bHRzLFxuKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlc3VsdHMgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0R3JvdXBlZFJlc3VsdHNdLCAoZ3JvdXBlZFJlc3VsdHMpID0+IHtcbiAgcmV0dXJuIGdyb3VwZWRSZXN1bHRzID8gWy4uLmdyb3VwZWRSZXN1bHRzLm1hdGNoaW5nLCAuLi5ncm91cGVkUmVzdWx0cy5vdGhlcl0gOiBncm91cGVkUmVzdWx0cztcbn0pO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0SXNSZXN1bHRNYXRjaGluZyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBbc2VsZWN0UmVzdWx0cywgc2VsZWN0UmVzdWx0c1F1ZXJ5LCBzZWxlY3RGaWx0ZXJlZENlbGxzLCBzZWxlY3RSZXN1bHRJbmRleF0sXG4gIChyZXN1bHRzLCBxdWVyeSwgZmlsdGVyZWRDZWxscywgaW5kZXgpID0+IHtcbiAgICBpZiAoIXJlc3VsdHMpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSByZXN1bHRzW2luZGV4XTtcbiAgICBjb25zdCByZWdFeHAgPSBjcmVhdGVSZWdFeHAocXVlcnkpO1xuXG4gICAgaWYgKCFyZWdFeHAudGVzdChyZXN1bHQud29yZCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyZWRDZWxscykge1xuICAgICAgcmV0dXJuIGZpbHRlcmVkQ2VsbHMuZXZlcnkoKHsgeCwgeSB9KSA9PiByZXN1bHQuY2VsbHMuc29tZSgoY2VsbCkgPT4gY2VsbC54ID09PSB4ICYmIGNlbGwueSA9PT0geSkpO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlc3VsdENhbmRpZGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFtzZWxlY3RSZXN1bHRzUm9vdF0sIChyZXN1bHRzKSA9PiByZXN1bHRzLmNhbmRpZGF0ZSk7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSZXN1bHRDYW5kaWRhdGVDZWxscyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBbc2VsZWN0UmVzdWx0Q2FuZGlkYXRlXSxcbiAgKHJlc3VsdENhbmRpZGF0ZSk6IENlbGxbXSA9PiByZXN1bHRDYW5kaWRhdGU/LmNlbGxzIHx8IFtdLFxuKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlc3VsdENhbmRpZGF0ZVRpbGVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIFtzZWxlY3RSZXN1bHRDYW5kaWRhdGVdLFxuICAocmVzdWx0Q2FuZGlkYXRlKTogVGlsZVtdID0+IHJlc3VsdENhbmRpZGF0ZT8udGlsZXMgfHwgW10sXG4pO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0Um93c1dpdGhDYW5kaWRhdGUgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0Qm9hcmRSb290LCBzZWxlY3RSZXN1bHRDYW5kaWRhdGVDZWxsc10sIChib2FyZCwgY2VsbHMpID0+IHtcbiAgcmV0dXJuIGJvYXJkLnJvd3MubWFwKChyb3c6IENlbGxbXSwgeTogbnVtYmVyKSA9PiByb3cubWFwKChjZWxsOiBDZWxsLCB4OiBudW1iZXIpID0+IGZpbmRDZWxsKGNlbGxzLCB4LCB5KSB8fCBjZWxsKSk7XG59KTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdENlbGxCb251cyA9IGNyZWF0ZVNlbGVjdG9yKFtzZWxlY3RDb25maWcsIHNlbGVjdENlbGxdLCAoY29uZmlnOiBDb25maWcsIGNlbGw6IENlbGwpID0+IHtcbiAgcmV0dXJuIGNvbmZpZy5nZXRDZWxsQm9udXMoY2VsbCk7XG59KTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdENoYXJhY3RlclBvaW50cyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBbc2VsZWN0Q29uZmlnLCBzZWxlY3RDaGFyYWN0ZXJdLFxuICAoY29uZmlnOiBDb25maWcsIGNoYXJhY3Rlcjogc3RyaW5nIHwgbnVsbCkgPT4ge1xuICAgIHJldHVybiBjb25maWcuZ2V0Q2hhcmFjdGVyUG9pbnRzKGNoYXJhY3Rlcik7XG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0Q2hhcmFjdGVySXNWYWxpZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBbc2VsZWN0Q29uZmlnLCBzZWxlY3RDaGFyYWN0ZXJdLFxuICAoY29uZmlnOiBDb25maWcsIGNoYXJhY3Rlcjogc3RyaW5nIHwgbnVsbCkgPT4ge1xuICAgIGlmIChjaGFyYWN0ZXIgPT09IG51bGwgfHwgY2hhcmFjdGVyID09PSBCTEFOSykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmZpZy50aWxlcy5zb21lKCh0aWxlKSA9PiB0aWxlLmNoYXJhY3RlciA9PT0gY2hhcmFjdGVyKTtcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RUaWxlUG9pbnRzID0gY3JlYXRlU2VsZWN0b3IoW3NlbGVjdENvbmZpZywgc2VsZWN0VGlsZV0sIChjb25maWc6IENvbmZpZywgdGlsZTogVGlsZSB8IG51bGwpID0+IHtcbiAgcmV0dXJuIGNvbmZpZy5nZXRUaWxlUG9pbnRzKHRpbGUpO1xufSk7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RUcmFuc2xhdGlvbnMgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0TG9jYWxlXSwgKGxvY2FsZSkgPT4gaTE4bltsb2NhbGVdKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFRyYW5zbGF0aW9uID0gY3JlYXRlU2VsZWN0b3IoXG4gIFtzZWxlY3RUcmFuc2xhdGlvbnMsIHNlbGVjdExvY2FsZSwgKF86IHVua25vd24sIGlkOiBrZXlvZiBUcmFuc2xhdGlvbnMpID0+IGlkXSxcbiAgKHRyYW5zbGF0aW9ucywgbG9jYWxlLCBpZCk6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgdHJhbnNsYXRpb24gPSB0cmFuc2xhdGlvbnNbaWRdO1xuXG4gICAgaWYgKHR5cGVvZiB0cmFuc2xhdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW50cmFuc2xhdGVkIGtleSBcIiR7aWR9XCIgaW4gbG9jYWxlIFwiJHtsb2NhbGV9XCJgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNsYXRpb247XG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0UmFjayA9IHNlbGVjdFJhY2tSb290O1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0Q2hhcmFjdGVycyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RSYWNrUm9vdCxcbiAgKHJhY2spOiBzdHJpbmdbXSA9PiByYWNrLmZpbHRlcigodGlsZSkgPT4gdGlsZSAhPT0gbnVsbCkgYXMgc3RyaW5nW10sXG4pO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0TGFzdFNvbHZlZFBhcmFtZXRlcnMgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0U29sdmVSb290XSwgKHNvbHZlKSA9PiBzb2x2ZS5sYXN0U29sdmVkUGFyYW1ldGVycyk7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RJc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0U29sdmVSb290XSwgKHNvbHZlKSA9PiBzb2x2ZS5pc0xvYWRpbmcpO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0U29sdmVFcnJvciA9IGNyZWF0ZVNlbGVjdG9yKFtzZWxlY3RTb2x2ZVJvb3RdLCAoc29sdmUpID0+IHtcbiAgcmV0dXJuIGlzRXJyb3Ioc29sdmUuZXJyb3IpID8gc29sdmUuZXJyb3IgOiB1bmRlZmluZWQ7XG59KTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEhhdmVDaGFyYWN0ZXJzQ2hhbmdlZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBbc2VsZWN0TGFzdFNvbHZlZFBhcmFtZXRlcnMsIHNlbGVjdENoYXJhY3RlcnMsIHNlbGVjdExvY2FsZV0sXG4gIChsYXN0U29sdmVkUGFyYW1ldGVycywgY2hhcmFjdGVycywgbG9jYWxlKSA9PiB7XG4gICAgcmV0dXJuICF1bm9yZGVyZWRBcnJheXNFcXVhbChsYXN0U29sdmVkUGFyYW1ldGVycy5jaGFyYWN0ZXJzLCBjaGFyYWN0ZXJzLCBsb2NhbGUpO1xuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEhhc0JvYXJkQ2hhbmdlZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBbc2VsZWN0TGFzdFNvbHZlZFBhcmFtZXRlcnMsIHNlbGVjdEJvYXJkUm9vdF0sXG4gIChsYXN0U29sdmVkUGFyYW1ldGVycywgYm9hcmQpID0+ICFsYXN0U29sdmVkUGFyYW1ldGVycy5ib2FyZC5lcXVhbHMoYm9hcmQpLFxuKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEFyZVJlc3VsdHNPdXRkYXRlZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBbc2VsZWN0SGFzQm9hcmRDaGFuZ2VkLCBzZWxlY3RIYXZlQ2hhcmFjdGVyc0NoYW5nZWRdLFxuICAoaGFzQm9hcmRDaGFuZ2VkLCBoYXZlQ2hhcmFjdGVyc0NoYW5nZWQpID0+IGhhc0JvYXJkQ2hhbmdlZCB8fCBoYXZlQ2hhcmFjdGVyc0NoYW5nZWQsXG4pO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0UmVtYWluaW5nVGlsZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgW3NlbGVjdENvbmZpZywgc2VsZWN0Qm9hcmRSb290LCBzZWxlY3RDaGFyYWN0ZXJzLCBzZWxlY3RMb2NhbGVdLFxuICBnZXRSZW1haW5pbmdUaWxlcyxcbik7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RIYXNPdmVydXNlZFRpbGVzID0gY3JlYXRlU2VsZWN0b3IoW3NlbGVjdFJlbWFpbmluZ1RpbGVzXSwgKHJlbWFpbmluZ1RpbGVzKSA9PiB7XG4gIHJldHVybiByZW1haW5pbmdUaWxlcy5zb21lKCh7IGNvdW50LCB1c2VkQ291bnQgfSkgPT4gdXNlZENvdW50ID4gY291bnQpO1xufSk7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSZW1haW5pbmdUaWxlc0dyb3VwcyA9IGNyZWF0ZVNlbGVjdG9yKFtzZWxlY3RSZW1haW5pbmdUaWxlc10sIGdldFJlbWFpbmluZ1RpbGVzR3JvdXBzKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFZlcmlmeSA9IHNlbGVjdFZlcmlmeVJvb3Q7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RIYXNJbnZhbGlkV29yZHMgPSBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0VmVyaWZ5XSwgKHsgaW52YWxpZFdvcmRzIH0pID0+IHtcbiAgcmV0dXJuIGludmFsaWRXb3Jkcy5sZW5ndGggPiAwO1xufSk7XG4iXSwibmFtZXMiOlsiY3JlYXRlU2VsZWN0b3IiLCJnZXRDb25maWciLCJCTEFOSyIsImlzRXJyb3IiLCJpMThuIiwiTE9DQUxFX0ZFQVRVUkVTIiwiY3JlYXRlUmVnRXhwIiwiZmluZENlbGwiLCJnZXRSZW1haW5pbmdUaWxlcyIsImdldFJlbWFpbmluZ1RpbGVzR3JvdXBzIiwiZ3JvdXBSZXN1bHRzIiwic29ydFJlc3VsdHMiLCJ1bm9yZGVyZWRBcnJheXNFcXVhbCIsInNlbGVjdENlbGwiLCJfIiwiY2VsbCIsInNlbGVjdFBvaW50IiwicG9pbnQiLCJzZWxlY3RSZXN1bHRJbmRleCIsImluZGV4Iiwic2VsZWN0Q2hhcmFjdGVyIiwiY2hhcmFjdGVyIiwic2VsZWN0VGlsZSIsInRpbGUiLCJzZWxlY3RCb2FyZFJvb3QiLCJzdGF0ZSIsImJvYXJkIiwic2VsZWN0RGljdGlvbmFyeVJvb3QiLCJkaWN0aW9uYXJ5Iiwic2VsZWN0Q2VsbEZpbHRlclJvb3QiLCJjZWxsRmlsdGVyIiwic2VsZWN0UmFja1Jvb3QiLCJyYWNrIiwic2VsZWN0UmVzdWx0c1Jvb3QiLCJyZXN1bHRzIiwic2VsZWN0U2V0dGluZ3NSb290Iiwic2V0dGluZ3MiLCJzZWxlY3RTb2x2ZVJvb3QiLCJzb2x2ZSIsInNlbGVjdFZlcmlmeVJvb3QiLCJ2ZXJpZnkiLCJzZWxlY3REaWN0aW9uYXJ5Iiwic2VsZWN0RGljdGlvbmFyeUVycm9yIiwiZXJyb3IiLCJ1bmRlZmluZWQiLCJzZWxlY3RMb2NhbGUiLCJsb2NhbGUiLCJzZWxlY3RBdXRvR3JvdXBUaWxlcyIsImF1dG9Hcm91cFRpbGVzIiwic2VsZWN0TG9jYWxlQXV0b0dyb3VwVGlsZXMiLCJkaXJlY3Rpb24iLCJzZWxlY3RCb2FyZCIsInNlbGVjdElucHV0TW9kZSIsImlucHV0TW9kZSIsInNlbGVjdFNob3dDb29yZGluYXRlcyIsInNob3dDb29yZGluYXRlcyIsInNlbGVjdEdhbWUiLCJnYW1lIiwic2VsZWN0Q29uZmlnIiwic2VsZWN0RmlsdGVyZWRDZWxscyIsInNlbGVjdENlbGxJc0ZpbHRlcmVkIiwieCIsInkiLCJzb21lIiwic2VsZWN0Q2VsbElzVmFsaWQiLCJjb25maWciLCJoYXNUaWxlIiwidGlsZXMiLCJzZWxlY3RSZXN1bHRzUmF3Iiwic2VsZWN0UmVzdWx0c1F1ZXJ5IiwicXVlcnkiLCJzZWxlY3RSZXN1bHRzU29ydCIsInNvcnQiLCJzZWxlY3RTb3J0ZWRSZXN1bHRzIiwic2VsZWN0R3JvdXBlZFJlc3VsdHMiLCJzZWxlY3RSZXN1bHRzIiwiZ3JvdXBlZFJlc3VsdHMiLCJtYXRjaGluZyIsIm90aGVyIiwic2VsZWN0SXNSZXN1bHRNYXRjaGluZyIsImZpbHRlcmVkQ2VsbHMiLCJyZXN1bHQiLCJyZWdFeHAiLCJ0ZXN0Iiwid29yZCIsImV2ZXJ5IiwiY2VsbHMiLCJzZWxlY3RSZXN1bHRDYW5kaWRhdGUiLCJjYW5kaWRhdGUiLCJzZWxlY3RSZXN1bHRDYW5kaWRhdGVDZWxscyIsInJlc3VsdENhbmRpZGF0ZSIsInNlbGVjdFJlc3VsdENhbmRpZGF0ZVRpbGVzIiwic2VsZWN0Um93c1dpdGhDYW5kaWRhdGUiLCJyb3dzIiwibWFwIiwicm93Iiwic2VsZWN0Q2VsbEJvbnVzIiwiZ2V0Q2VsbEJvbnVzIiwic2VsZWN0Q2hhcmFjdGVyUG9pbnRzIiwiZ2V0Q2hhcmFjdGVyUG9pbnRzIiwic2VsZWN0Q2hhcmFjdGVySXNWYWxpZCIsInNlbGVjdFRpbGVQb2ludHMiLCJnZXRUaWxlUG9pbnRzIiwic2VsZWN0VHJhbnNsYXRpb25zIiwic2VsZWN0VHJhbnNsYXRpb24iLCJpZCIsInRyYW5zbGF0aW9ucyIsInRyYW5zbGF0aW9uIiwiRXJyb3IiLCJzZWxlY3RSYWNrIiwic2VsZWN0Q2hhcmFjdGVycyIsImZpbHRlciIsInNlbGVjdExhc3RTb2x2ZWRQYXJhbWV0ZXJzIiwibGFzdFNvbHZlZFBhcmFtZXRlcnMiLCJzZWxlY3RJc0xvYWRpbmciLCJpc0xvYWRpbmciLCJzZWxlY3RTb2x2ZUVycm9yIiwic2VsZWN0SGF2ZUNoYXJhY3RlcnNDaGFuZ2VkIiwiY2hhcmFjdGVycyIsInNlbGVjdEhhc0JvYXJkQ2hhbmdlZCIsImVxdWFscyIsInNlbGVjdEFyZVJlc3VsdHNPdXRkYXRlZCIsImhhc0JvYXJkQ2hhbmdlZCIsImhhdmVDaGFyYWN0ZXJzQ2hhbmdlZCIsInNlbGVjdFJlbWFpbmluZ1RpbGVzIiwic2VsZWN0SGFzT3ZlcnVzZWRUaWxlcyIsInJlbWFpbmluZ1RpbGVzIiwiY291bnQiLCJ1c2VkQ291bnQiLCJzZWxlY3RSZW1haW5pbmdUaWxlc0dyb3VwcyIsInNlbGVjdFZlcmlmeSIsInNlbGVjdEhhc0ludmFsaWRXb3JkcyIsImludmFsaWRXb3JkcyIsImxlbmd0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/state/selectors.ts\n"));
|
|
138
|
+
|
|
139
|
+
/***/ }),
|
|
140
|
+
|
|
141
|
+
/***/ "./src/state/slices/settingsInitialState.ts":
|
|
142
|
+
/*!**************************************************!*\
|
|
143
|
+
!*** ./src/state/slices/settingsInitialState.ts ***!
|
|
144
|
+
\**************************************************/
|
|
145
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
146
|
+
|
|
147
|
+
"use strict";
|
|
148
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @scrabble-solver/types */ \"../types/build/index.js\");\n/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lib */ \"./src/lib/index.ts\");\n/* harmony import */ var _localStorage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../localStorage */ \"./src/state/localStorage.ts\");\n\n\n\nconst localStorageAutoGroupTiles = _localStorage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getAutoGroupTiles();\nconst isTouchScreen = typeof globalThis.matchMedia !== \"undefined\" && globalThis.matchMedia(\"(hover: none)\").matches;\nvar _localStorage_getGame, _localStorage_getInputMode, _localStorage_getLocale, _localStorage_getShowCoordinates;\nconst settingsInitialState = {\n autoGroupTiles: typeof localStorageAutoGroupTiles === \"undefined\" ? \"left\" : localStorageAutoGroupTiles,\n game: (_localStorage_getGame = _localStorage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getGame()) !== null && _localStorage_getGame !== void 0 ? _localStorage_getGame : _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0__.Game.Scrabble,\n inputMode: (_localStorage_getInputMode = _localStorage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getInputMode()) !== null && _localStorage_getInputMode !== void 0 ? _localStorage_getInputMode : isTouchScreen ? \"touchscreen\" : \"keyboard\",\n locale: (_localStorage_getLocale = _localStorage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getLocale()) !== null && _localStorage_getLocale !== void 0 ? _localStorage_getLocale : (0,lib__WEBPACK_IMPORTED_MODULE_1__.guessLocale)(),\n showCoordinates: (_localStorage_getShowCoordinates = _localStorage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getShowCoordinates()) !== null && _localStorage_getShowCoordinates !== void 0 ? _localStorage_getShowCoordinates : \"hidden\"\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (settingsInitialState);\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc3RhdGUvc2xpY2VzL3NldHRpbmdzSW5pdGlhbFN0YXRlLnRzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVFO0FBRXJDO0FBR1M7QUFVM0MsTUFBTUcsNkJBQTZCRCx1RUFBOEI7QUFDakUsTUFBTUcsZ0JBQWdCLE9BQU9DLFdBQVdDLFVBQVUsS0FBSyxlQUFlRCxXQUFXQyxVQUFVLENBQUMsaUJBQWlCQyxPQUFPO0lBSTVHTix1QkFDS0EsNEJBQ0hBLHlCQUNTQTtBQUxuQixNQUFNTyx1QkFBc0M7SUFDMUNDLGdCQUFnQixPQUFPUCwrQkFBK0IsY0FBYyxTQUFTQTtJQUM3RVEsTUFBTVQsQ0FBQUEsd0JBQUFBLDZEQUFvQixnQkFBcEJBLG1DQUFBQSx3QkFBMEJGLHdEQUFJQSxDQUFDYSxRQUFRO0lBQzdDQyxXQUFXWixDQUFBQSw2QkFBQUEsa0VBQXlCLGdCQUF6QkEsd0NBQUFBLDZCQUFnQ0csZ0JBQWdCLGdCQUFnQjtJQUMzRVcsUUFBUWQsQ0FBQUEsMEJBQUFBLCtEQUFzQixnQkFBdEJBLHFDQUFBQSwwQkFBNEJELGdEQUFXQTtJQUMvQ2lCLGlCQUFpQmhCLENBQUFBLG1DQUFBQSx3RUFBK0IsZ0JBQS9CQSw4Q0FBQUEsbUNBQXFDO0FBQ3hEO0FBRUEsK0RBQWVPLG9CQUFvQkEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3RhdGUvc2xpY2VzL3NldHRpbmdzSW5pdGlhbFN0YXRlLnRzPzA2ZWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FtZSwgTG9jYWxlLCBTaG93Q29vcmRpbmF0ZXMgfSBmcm9tICdAc2NyYWJibGUtc29sdmVyL3R5cGVzJztcblxuaW1wb3J0IHsgZ3Vlc3NMb2NhbGUgfSBmcm9tICdsaWInO1xuaW1wb3J0IHsgQXV0b0dyb3VwVGlsZXMsIElucHV0TW9kZSB9IGZyb20gJ3R5cGVzJztcblxuaW1wb3J0IGxvY2FsU3RvcmFnZSBmcm9tICcuLi9sb2NhbFN0b3JhZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNldHRpbmdzU3RhdGUge1xuICBhdXRvR3JvdXBUaWxlczogQXV0b0dyb3VwVGlsZXM7XG4gIGdhbWU6IEdhbWU7XG4gIGlucHV0TW9kZTogSW5wdXRNb2RlO1xuICBsb2NhbGU6IExvY2FsZTtcbiAgc2hvd0Nvb3JkaW5hdGVzOiBTaG93Q29vcmRpbmF0ZXM7XG59XG5cbmNvbnN0IGxvY2FsU3RvcmFnZUF1dG9Hcm91cFRpbGVzID0gbG9jYWxTdG9yYWdlLmdldEF1dG9Hcm91cFRpbGVzKCk7XG5jb25zdCBpc1RvdWNoU2NyZWVuID0gdHlwZW9mIGdsb2JhbFRoaXMubWF0Y2hNZWRpYSAhPT0gJ3VuZGVmaW5lZCcgJiYgZ2xvYmFsVGhpcy5tYXRjaE1lZGlhKCcoaG92ZXI6IG5vbmUpJykubWF0Y2hlcztcblxuY29uc3Qgc2V0dGluZ3NJbml0aWFsU3RhdGU6IFNldHRpbmdzU3RhdGUgPSB7XG4gIGF1dG9Hcm91cFRpbGVzOiB0eXBlb2YgbG9jYWxTdG9yYWdlQXV0b0dyb3VwVGlsZXMgPT09ICd1bmRlZmluZWQnID8gJ2xlZnQnIDogbG9jYWxTdG9yYWdlQXV0b0dyb3VwVGlsZXMsXG4gIGdhbWU6IGxvY2FsU3RvcmFnZS5nZXRHYW1lKCkgPz8gR2FtZS5TY3JhYmJsZSxcbiAgaW5wdXRNb2RlOiBsb2NhbFN0b3JhZ2UuZ2V0SW5wdXRNb2RlKCkgPz8gKGlzVG91Y2hTY3JlZW4gPyAndG91Y2hzY3JlZW4nIDogJ2tleWJvYXJkJyksXG4gIGxvY2FsZTogbG9jYWxTdG9yYWdlLmdldExvY2FsZSgpID8/IGd1ZXNzTG9jYWxlKCksXG4gIHNob3dDb29yZGluYXRlczogbG9jYWxTdG9yYWdlLmdldFNob3dDb29yZGluYXRlcygpID8/ICdoaWRkZW4nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgc2V0dGluZ3NJbml0aWFsU3RhdGU7XG4iXSwibmFtZXMiOlsiR2FtZSIsImd1ZXNzTG9jYWxlIiwibG9jYWxTdG9yYWdlIiwibG9jYWxTdG9yYWdlQXV0b0dyb3VwVGlsZXMiLCJnZXRBdXRvR3JvdXBUaWxlcyIsImlzVG91Y2hTY3JlZW4iLCJnbG9iYWxUaGlzIiwibWF0Y2hNZWRpYSIsIm1hdGNoZXMiLCJzZXR0aW5nc0luaXRpYWxTdGF0ZSIsImF1dG9Hcm91cFRpbGVzIiwiZ2FtZSIsImdldEdhbWUiLCJTY3JhYmJsZSIsImlucHV0TW9kZSIsImdldElucHV0TW9kZSIsImxvY2FsZSIsImdldExvY2FsZSIsInNob3dDb29yZGluYXRlcyIsImdldFNob3dDb29yZGluYXRlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/state/slices/settingsInitialState.ts\n"));
|
|
149
|
+
|
|
150
|
+
/***/ }),
|
|
151
|
+
|
|
152
|
+
/***/ "./src/state/slices/settingsSlice.ts":
|
|
153
|
+
/*!*******************************************!*\
|
|
154
|
+
!*** ./src/state/slices/settingsSlice.ts ***!
|
|
155
|
+
\*******************************************/
|
|
156
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
157
|
+
|
|
158
|
+
"use strict";
|
|
159
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @reduxjs/toolkit */ \"../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs\");\n/* harmony import */ var _settingsInitialState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settingsInitialState */ \"./src/state/slices/settingsInitialState.ts\");\n\n\nconst settingsSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_1__.createSlice)({\n initialState: _settingsInitialState__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n name: \"settings\",\n reducers: {\n changeAutoGroupTiles: (state, action)=>{\n const autoGroupTiles = action.payload;\n return {\n ...state,\n autoGroupTiles\n };\n },\n changeGame: (state, action)=>{\n const game = action.payload;\n return {\n ...state,\n game\n };\n },\n changeInputMode: (state, action)=>{\n const inputMode = action.payload;\n return {\n ...state,\n inputMode\n };\n },\n changeLocale: (state, action)=>{\n const locale = action.payload;\n return {\n ...state,\n locale\n };\n },\n changeShowCoordinates: (state, action)=>{\n const showCoordinates = action.payload;\n return {\n ...state,\n showCoordinates\n };\n },\n init: (state, action)=>{\n return {\n ...state,\n ...action.payload\n };\n }\n }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (settingsSlice);\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc3RhdGUvc2xpY2VzL3NldHRpbmdzU2xpY2UudHMiLCJtYXBwaW5ncyI6Ijs7O0FBQThEO0FBS0o7QUFFMUQsTUFBTUUsZ0JBQWdCRiw2REFBV0EsQ0FBQztJQUNoQ0csY0FBY0YsNkRBQW9CQTtJQUNsQ0csTUFBTTtJQUNOQyxVQUFVO1FBQ1JDLHNCQUFzQixDQUFDQyxPQUFPQztZQUM1QixNQUFNQyxpQkFBaUJELE9BQU9FLE9BQU87WUFDckMsT0FBTztnQkFBRSxHQUFHSCxLQUFLO2dCQUFFRTtZQUFlO1FBQ3BDO1FBRUFFLFlBQVksQ0FBQ0osT0FBT0M7WUFDbEIsTUFBTUksT0FBT0osT0FBT0UsT0FBTztZQUMzQixPQUFPO2dCQUFFLEdBQUdILEtBQUs7Z0JBQUVLO1lBQUs7UUFDMUI7UUFFQUMsaUJBQWlCLENBQUNOLE9BQU9DO1lBQ3ZCLE1BQU1NLFlBQVlOLE9BQU9FLE9BQU87WUFDaEMsT0FBTztnQkFBRSxHQUFHSCxLQUFLO2dCQUFFTztZQUFVO1FBQy9CO1FBRUFDLGNBQWMsQ0FBQ1IsT0FBT0M7WUFDcEIsTUFBTVEsU0FBU1IsT0FBT0UsT0FBTztZQUM3QixPQUFPO2dCQUFFLEdBQUdILEtBQUs7Z0JBQUVTO1lBQU87UUFDNUI7UUFFQUMsdUJBQXVCLENBQUNWLE9BQU9DO1lBQzdCLE1BQU1VLGtCQUFrQlYsT0FBT0UsT0FBTztZQUN0QyxPQUFPO2dCQUFFLEdBQUdILEtBQUs7Z0JBQUVXO1lBQWdCO1FBQ3JDO1FBRUFDLE1BQU0sQ0FBQ1osT0FBT0M7WUFDWixPQUFPO2dCQUFFLEdBQUdELEtBQUs7Z0JBQUUsR0FBR0MsT0FBT0UsT0FBTztZQUFDO1FBQ3ZDO0lBQ0Y7QUFDRjtBQUVBLCtEQUFlUixhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9zdGF0ZS9zbGljZXMvc2V0dGluZ3NTbGljZS50cz8wMDdmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBHYW1lLCBMb2NhbGUsIFNob3dDb29yZGluYXRlcyB9IGZyb20gJ0BzY3JhYmJsZS1zb2x2ZXIvdHlwZXMnO1xuXG5pbXBvcnQgeyBBdXRvR3JvdXBUaWxlcywgSW5wdXRNb2RlIH0gZnJvbSAndHlwZXMnO1xuXG5pbXBvcnQgc2V0dGluZ3NJbml0aWFsU3RhdGUgZnJvbSAnLi9zZXR0aW5nc0luaXRpYWxTdGF0ZSc7XG5cbmNvbnN0IHNldHRpbmdzU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIGluaXRpYWxTdGF0ZTogc2V0dGluZ3NJbml0aWFsU3RhdGUsXG4gIG5hbWU6ICdzZXR0aW5ncycsXG4gIHJlZHVjZXJzOiB7XG4gICAgY2hhbmdlQXV0b0dyb3VwVGlsZXM6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPEF1dG9Hcm91cFRpbGVzPikgPT4ge1xuICAgICAgY29uc3QgYXV0b0dyb3VwVGlsZXMgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBhdXRvR3JvdXBUaWxlcyB9O1xuICAgIH0sXG5cbiAgICBjaGFuZ2VHYW1lOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxHYW1lPikgPT4ge1xuICAgICAgY29uc3QgZ2FtZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIGdhbWUgfTtcbiAgICB9LFxuXG4gICAgY2hhbmdlSW5wdXRNb2RlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxJbnB1dE1vZGU+KSA9PiB7XG4gICAgICBjb25zdCBpbnB1dE1vZGUgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBpbnB1dE1vZGUgfTtcbiAgICB9LFxuXG4gICAgY2hhbmdlTG9jYWxlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxMb2NhbGU+KSA9PiB7XG4gICAgICBjb25zdCBsb2NhbGUgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBsb2NhbGUgfTtcbiAgICB9LFxuXG4gICAgY2hhbmdlU2hvd0Nvb3JkaW5hdGVzOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxTaG93Q29vcmRpbmF0ZXM+KSA9PiB7XG4gICAgICBjb25zdCBzaG93Q29vcmRpbmF0ZXMgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBzaG93Q29vcmRpbmF0ZXMgfTtcbiAgICB9LFxuXG4gICAgaW5pdDogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248UGFydGlhbDxQaWNrPHR5cGVvZiBzZXR0aW5nc0luaXRpYWxTdGF0ZSwgJ2dhbWUnIHwgJ2xvY2FsZSc+Pj4pID0+IHtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCAuLi5hY3Rpb24ucGF5bG9hZCB9O1xuICAgIH0sXG4gIH0sXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgc2V0dGluZ3NTbGljZTtcbiJdLCJuYW1lcyI6WyJjcmVhdGVTbGljZSIsInNldHRpbmdzSW5pdGlhbFN0YXRlIiwic2V0dGluZ3NTbGljZSIsImluaXRpYWxTdGF0ZSIsIm5hbWUiLCJyZWR1Y2VycyIsImNoYW5nZUF1dG9Hcm91cFRpbGVzIiwic3RhdGUiLCJhY3Rpb24iLCJhdXRvR3JvdXBUaWxlcyIsInBheWxvYWQiLCJjaGFuZ2VHYW1lIiwiZ2FtZSIsImNoYW5nZUlucHV0TW9kZSIsImlucHV0TW9kZSIsImNoYW5nZUxvY2FsZSIsImxvY2FsZSIsImNoYW5nZVNob3dDb29yZGluYXRlcyIsInNob3dDb29yZGluYXRlcyIsImluaXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/state/slices/settingsSlice.ts\n"));
|
|
160
|
+
|
|
161
|
+
/***/ }),
|
|
162
|
+
|
|
163
|
+
/***/ "./src/state/store.ts":
|
|
164
|
+
/*!****************************!*\
|
|
165
|
+
!*** ./src/state/store.ts ***!
|
|
166
|
+
\****************************/
|
|
167
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
168
|
+
|
|
169
|
+
"use strict";
|
|
170
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @reduxjs/toolkit */ \"../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs\");\n/* harmony import */ var redux_saga__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux-saga */ \"../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.esm.js\");\n/* harmony import */ var _sagas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sagas */ \"./src/state/sagas.ts\");\n/* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slices */ \"./src/state/slices/index.ts\");\n\n\n\n\nconst sagaMiddleware = (0,redux_saga__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\nconst store = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_3__.configureStore)({\n reducer: {\n board: _slices__WEBPACK_IMPORTED_MODULE_2__.boardSlice.reducer,\n cellFilter: _slices__WEBPACK_IMPORTED_MODULE_2__.cellFilterSlice.reducer,\n dictionary: _slices__WEBPACK_IMPORTED_MODULE_2__.dictionarySlice.reducer,\n rack: _slices__WEBPACK_IMPORTED_MODULE_2__.rackSlice.reducer,\n results: _slices__WEBPACK_IMPORTED_MODULE_2__.resultsSlice.reducer,\n settings: _slices__WEBPACK_IMPORTED_MODULE_2__.settingsSlice.reducer,\n solve: _slices__WEBPACK_IMPORTED_MODULE_2__.solveSlice.reducer,\n verify: _slices__WEBPACK_IMPORTED_MODULE_2__.verifySlice.reducer\n },\n middleware: (getDefaultMiddleware)=>getDefaultMiddleware({\n serializableCheck: false\n }).concat([\n sagaMiddleware\n ])\n});\nsagaMiddleware.run(_sagas__WEBPACK_IMPORTED_MODULE_1__.rootSaga);\n/* harmony default export */ __webpack_exports__[\"default\"] = (store);\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc3RhdGUvc3RvcmUudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBa0Q7QUFDZjtBQUVBO0FBVWpCO0FBRWxCLE1BQU1XLGlCQUFpQlYsc0RBQVNBO0FBRWhDLE1BQU1XLFFBQVFaLGdFQUFjQSxDQUFDO0lBQzNCYSxTQUFTO1FBQ1BDLE9BQU9YLCtDQUFVQSxDQUFDVSxPQUFPO1FBQ3pCRSxZQUFZWCxvREFBZUEsQ0FBQ1MsT0FBTztRQUNuQ0csWUFBWVgsb0RBQWVBLENBQUNRLE9BQU87UUFDbkNJLE1BQU1YLDhDQUFTQSxDQUFDTyxPQUFPO1FBQ3ZCSyxTQUFTWCxpREFBWUEsQ0FBQ00sT0FBTztRQUM3Qk0sVUFBVVgsa0RBQWFBLENBQUNLLE9BQU87UUFDL0JPLE9BQU9YLCtDQUFVQSxDQUFDSSxPQUFPO1FBQ3pCUSxRQUFRWCxnREFBV0EsQ0FBQ0csT0FBTztJQUM3QjtJQUNBUyxZQUFZLENBQUNDLHVCQUF5QkEscUJBQXFCO1lBQUVDLG1CQUFtQjtRQUFNLEdBQUdDLE1BQU0sQ0FBQztZQUFDZDtTQUFlO0FBQ2xIO0FBRUFBLGVBQWVlLEdBQUcsQ0FBQ3hCLDRDQUFRQTtBQUUzQiwrREFBZVUsS0FBS0EsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3RhdGUvc3RvcmUudHM/NDk2YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWd1cmVTdG9yZSB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHJlZHV4U2FnYSBmcm9tICdyZWR1eC1zYWdhJztcblxuaW1wb3J0IHsgcm9vdFNhZ2EgfSBmcm9tICcuL3NhZ2FzJztcbmltcG9ydCB7XG4gIGJvYXJkU2xpY2UsXG4gIGNlbGxGaWx0ZXJTbGljZSxcbiAgZGljdGlvbmFyeVNsaWNlLFxuICByYWNrU2xpY2UsXG4gIHJlc3VsdHNTbGljZSxcbiAgc2V0dGluZ3NTbGljZSxcbiAgc29sdmVTbGljZSxcbiAgdmVyaWZ5U2xpY2UsXG59IGZyb20gJy4vc2xpY2VzJztcblxuY29uc3Qgc2FnYU1pZGRsZXdhcmUgPSByZWR1eFNhZ2EoKTtcblxuY29uc3Qgc3RvcmUgPSBjb25maWd1cmVTdG9yZSh7XG4gIHJlZHVjZXI6IHtcbiAgICBib2FyZDogYm9hcmRTbGljZS5yZWR1Y2VyLFxuICAgIGNlbGxGaWx0ZXI6IGNlbGxGaWx0ZXJTbGljZS5yZWR1Y2VyLFxuICAgIGRpY3Rpb25hcnk6IGRpY3Rpb25hcnlTbGljZS5yZWR1Y2VyLFxuICAgIHJhY2s6IHJhY2tTbGljZS5yZWR1Y2VyLFxuICAgIHJlc3VsdHM6IHJlc3VsdHNTbGljZS5yZWR1Y2VyLFxuICAgIHNldHRpbmdzOiBzZXR0aW5nc1NsaWNlLnJlZHVjZXIsXG4gICAgc29sdmU6IHNvbHZlU2xpY2UucmVkdWNlcixcbiAgICB2ZXJpZnk6IHZlcmlmeVNsaWNlLnJlZHVjZXIsXG4gIH0sXG4gIG1pZGRsZXdhcmU6IChnZXREZWZhdWx0TWlkZGxld2FyZSkgPT4gZ2V0RGVmYXVsdE1pZGRsZXdhcmUoeyBzZXJpYWxpemFibGVDaGVjazogZmFsc2UgfSkuY29uY2F0KFtzYWdhTWlkZGxld2FyZV0pLFxufSk7XG5cbnNhZ2FNaWRkbGV3YXJlLnJ1bihyb290U2FnYSk7XG5cbmV4cG9ydCBkZWZhdWx0IHN0b3JlO1xuIl0sIm5hbWVzIjpbImNvbmZpZ3VyZVN0b3JlIiwicmVkdXhTYWdhIiwicm9vdFNhZ2EiLCJib2FyZFNsaWNlIiwiY2VsbEZpbHRlclNsaWNlIiwiZGljdGlvbmFyeVNsaWNlIiwicmFja1NsaWNlIiwicmVzdWx0c1NsaWNlIiwic2V0dGluZ3NTbGljZSIsInNvbHZlU2xpY2UiLCJ2ZXJpZnlTbGljZSIsInNhZ2FNaWRkbGV3YXJlIiwic3RvcmUiLCJyZWR1Y2VyIiwiYm9hcmQiLCJjZWxsRmlsdGVyIiwiZGljdGlvbmFyeSIsInJhY2siLCJyZXN1bHRzIiwic2V0dGluZ3MiLCJzb2x2ZSIsInZlcmlmeSIsIm1pZGRsZXdhcmUiLCJnZXREZWZhdWx0TWlkZGxld2FyZSIsInNlcmlhbGl6YWJsZUNoZWNrIiwiY29uY2F0IiwicnVuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/state/store.ts\n"));
|
|
171
|
+
|
|
172
|
+
/***/ }),
|
|
173
|
+
|
|
174
|
+
/***/ "./src/types/index.ts":
|
|
175
|
+
/*!****************************!*\
|
|
176
|
+
!*** ./src/types/index.ts ***!
|
|
177
|
+
\****************************/
|
|
178
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
179
|
+
|
|
180
|
+
"use strict";
|
|
181
|
+
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ResultColumn: function() { return /* binding */ ResultColumn; },\n/* harmony export */ SortDirection: function() { return /* binding */ SortDirection; }\n/* harmony export */ });\nvar SortDirection;\n(function(SortDirection) {\n SortDirection[\"Ascending\"] = \"ascending\";\n SortDirection[\"Descending\"] = \"descending\";\n})(SortDirection || (SortDirection = {}));\nvar ResultColumn;\n(function(ResultColumn) {\n ResultColumn[\"BlanksCount\"] = \"blanks-count\";\n ResultColumn[\"ConsonantsCount\"] = \"consonants-count\";\n ResultColumn[\"Points\"] = \"points\";\n ResultColumn[\"TilesCount\"] = \"tiles-count\";\n ResultColumn[\"VowelsCount\"] = \"vowels-count\";\n ResultColumn[\"Word\"] = \"word\";\n ResultColumn[\"WordsCount\"] = \"words-count\";\n})(ResultColumn || (ResultColumn = {}));\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvdHlwZXMvaW5kZXgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O1VBb0JZQTs7O0dBQUFBLGtCQUFBQTs7VUFtQkFDOzs7Ozs7OztHQUFBQSxpQkFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL3R5cGVzL2luZGV4LnRzPzQ0MTciXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ29tcGFyYXRvcjxUPiA9IChhOiBULCBCOiBUKSA9PiBudW1iZXI7XG5cbmV4cG9ydCB0eXBlIEF1dG9Hcm91cFRpbGVzID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIERpcmVjdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cbmV4cG9ydCB0eXBlIElucHV0TW9kZSA9ICdrZXlib2FyZCcgfCAndG91Y2hzY3JlZW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50IHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFJhY2sgPSAoc3RyaW5nIHwgbnVsbClbXTtcblxuZXhwb3J0IGludGVyZmFjZSBTb3J0IHtcbiAgY29sdW1uOiBSZXN1bHRDb2x1bW47XG4gIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbn1cblxuZXhwb3J0IGVudW0gU29ydERpcmVjdGlvbiB7XG4gIEFzY2VuZGluZyA9ICdhc2NlbmRpbmcnLFxuICBEZXNjZW5kaW5nID0gJ2Rlc2NlbmRpbmcnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbWFpbmluZ1RpbGUge1xuICBjaGFyYWN0ZXI6IHN0cmluZztcbiAgY291bnQ6IG51bWJlcjtcbiAgc2NvcmU6IG51bWJlcjtcbiAgdXNlZENvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtYWluaW5nVGlsZXNHcm91cCB7XG4gIHJlbWFpbmluZ0NvdW50OiBudW1iZXI7XG4gIHRpbGVzOiBSZW1haW5pbmdUaWxlW107XG4gIHRyYW5zbGF0aW9uS2V5OiBUcmFuc2xhdGlvbktleTtcbiAgdG90YWxDb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgZW51bSBSZXN1bHRDb2x1bW4ge1xuICBCbGFua3NDb3VudCA9ICdibGFua3MtY291bnQnLFxuICBDb25zb25hbnRzQ291bnQgPSAnY29uc29uYW50cy1jb3VudCcsXG4gIFBvaW50cyA9ICdwb2ludHMnLFxuICBUaWxlc0NvdW50ID0gJ3RpbGVzLWNvdW50JyxcbiAgVm93ZWxzQ291bnQgPSAndm93ZWxzLWNvdW50JyxcbiAgV29yZCA9ICd3b3JkJyxcbiAgV29yZHNDb3VudCA9ICd3b3Jkcy1jb3VudCcsXG59XG5leHBvcnQgdHlwZSBUcmFuc2xhdGlvbktleSA9XG4gIHwgJ2NlbGwuZW50ZXItd29yZCdcbiAgfCAnY2VsbC5maWx0ZXItY2VsbCdcbiAgfCAnY2VsbC5zZXQtYmxhbmsnXG4gIHwgJ2NlbGwuc2V0LW5vdC1ibGFuaydcbiAgfCAnY2VsbC50b2dnbGUtZGlyZWN0aW9uJ1xuICB8ICdjZWxsLnRpbGUubG9jYXRpb24nXG4gIHwgJ2NvbW1vbi5jbGVhcidcbiAgfCAnY29tbW9uLmNsb3NlJ1xuICB8ICdjb21tb24ubG9hZGluZydcbiAgfCAnY29tbW9uLmJsYW5rcydcbiAgfCAnY29tbW9uLmNvbnNvbmFudHMnXG4gIHwgJ2NvbW1vbi5uZXh0J1xuICB8ICdjb21tb24ucG9pbnRzJ1xuICB8ICdjb21tb24ucHJldmlvdXMnXG4gIHwgJ2NvbW1vbi50aWxlcydcbiAgfCAnY29tbW9uLnR3by1sZXR0ZXItdGlsZXMnXG4gIHwgJ2NvbW1vbi52b3dlbHMnXG4gIHwgJ2NvbW1vbi53b3JkJ1xuICB8ICdjb21tb24ud29yZHMnXG4gIHwgJ2RpY3Rpb25hcnknXG4gIHwgJ2RpY3Rpb25hcnkuZW1wdHktc3RhdGUubm8tZGVmaW5pdGlvbnMnXG4gIHwgJ2RpY3Rpb25hcnkuZW1wdHktc3RhdGUubm8tcmVzdWx0cydcbiAgfCAnZGljdGlvbmFyeS5lbXB0eS1zdGF0ZS5ub3QtYWxsb3dlZCdcbiAgfCAnZGljdGlvbmFyeS5lbXB0eS1zdGF0ZS51bmluaXRpYWxpemVkJ1xuICB8ICdkaWN0aW9uYXJ5LmlucHV0LnBsYWNlaG9sZGVyJ1xuICB8ICdkaWN0aW9uYXJ5LmlucHV0LnRpdGxlJ1xuICB8ICdlbXB0eS1zdGF0ZS5lcnJvcidcbiAgfCAnZW1wdHktc3RhdGUuaW5mbydcbiAgfCAnZW1wdHktc3RhdGUuc3VjY2VzcydcbiAgfCAnZW1wdHktc3RhdGUud2FybmluZydcbiAgfCAnZ2l0aHViJ1xuICB8ICdrZXlNYXAnXG4gIHwgJ2tleU1hcC5ib2FyZCdcbiAgfCAna2V5TWFwLmJvYXJkLnRvZ2dsZS1ibGFuaydcbiAgfCAna2V5TWFwLmJvYXJkLnRvZ2dsZS1kaXJlY3Rpb24nXG4gIHwgJ2tleU1hcC5ib2FyZC1hbmQtcmFjaydcbiAgfCAna2V5TWFwLmJvYXJkLWFuZC1yYWNrLmluc2VydC10d28tbGV0dGVyLXRpbGUnXG4gIHwgJ2tleU1hcC5ib2FyZC1hbmQtcmFjay5uYXZpZ2F0ZSdcbiAgfCAna2V5TWFwLmJvYXJkLWFuZC1yYWNrLnJlbW92ZS10aWxlJ1xuICB8ICdrZXlNYXAuYm9hcmQtYW5kLXJhY2suc3VibWl0J1xuICB8ICdrZXlNYXAucmFjaydcbiAgfCAna2V5TWFwLnJhY2suaW5zZXJ0LWJsYW5rJ1xuICB8ICdtZW51J1xuICB8ICdyYWNrLnBsYWNlaG9sZGVyJ1xuICB8ICdyYWNrLnRpbGUubG9jYXRpb24nXG4gIHwgJ3JhY2sudG91Y2hzY3JlZW4ucGxhY2Vob2xkZXInXG4gIHwgJ3JlbWFpbmluZy10aWxlcydcbiAgfCAncmVzdWx0cydcbiAgfCAncmVzdWx0cy5lbXB0eS1zdGF0ZS5uby1yZXN1bHRzJ1xuICB8ICdyZXN1bHRzLmVtcHR5LXN0YXRlLm91dGRhdGVkJ1xuICB8ICdyZXN1bHRzLmVtcHR5LXN0YXRlLnVuaW5pdGlhbGl6ZWQnXG4gIHwgJ3Jlc3VsdHMuaW5wdXQucGxhY2Vob2xkZXInXG4gIHwgJ3Jlc3VsdHMuaW5zZXJ0J1xuICB8ICdyZXN1bHRzLnByZXZpZXcnXG4gIHwgJ3Jlc3VsdHMuc29sdmUnXG4gIHwgJ3NldHRpbmdzJ1xuICB8ICdzZXR0aW5ncy5hdXRvR3JvdXBUaWxlcydcbiAgfCAnc2V0dGluZ3MuYXV0b0dyb3VwVGlsZXMubGVmdCdcbiAgfCAnc2V0dGluZ3MuYXV0b0dyb3VwVGlsZXMucmlnaHQnXG4gIHwgJ3NldHRpbmdzLmF1dG9Hcm91cFRpbGVzLm51bGwnXG4gIHwgJ3NldHRpbmdzLmdhbWUnXG4gIHwgJ3NldHRpbmdzLmlucHV0TW9kZSdcbiAgfCAnc2V0dGluZ3MuaW5wdXRNb2RlLmtleWJvYXJkJ1xuICB8ICdzZXR0aW5ncy5pbnB1dE1vZGUudG91Y2hzY3JlZW4nXG4gIHwgJ3NldHRpbmdzLmxhbmd1YWdlJ1xuICB8ICdzZXR0aW5ncy5zaG93Q29vcmRpbmF0ZXMnXG4gIHwgJ3NldHRpbmdzLnNob3dDb29yZGluYXRlcy5hbHRlcm5hdGl2ZSdcbiAgfCAnc2V0dGluZ3Muc2hvd0Nvb3JkaW5hdGVzLmhpZGRlbidcbiAgfCAnc2V0dGluZ3Muc2hvd0Nvb3JkaW5hdGVzLm9yaWdpbmFsJ1xuICB8ICd3b3JkcydcbiAgfCAnd29yZHMuaW52YWxpZCdcbiAgfCAnd29yZHMudmFsaWQnO1xuXG5leHBvcnQgdHlwZSBUcmFuc2xhdGUgPSAoa2V5OiBUcmFuc2xhdGlvbktleSwgcmVwbGFjZW1lbnRzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT4gc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBUcmFuc2xhdGlvbnMgPSBSZWNvcmQ8VHJhbnNsYXRpb25LZXksIHN0cmluZz47XG4iXSwibmFtZXMiOlsiU29ydERpcmVjdGlvbiIsIlJlc3VsdENvbHVtbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/types/index.ts\n"));
|
|
182
|
+
|
|
183
|
+
/***/ }),
|
|
184
|
+
|
|
185
|
+
/***/ "./src/i18n/languages/english.json":
|
|
186
|
+
/*!*****************************************!*\
|
|
187
|
+
!*** ./src/i18n/languages/english.json ***!
|
|
188
|
+
\*****************************************/
|
|
189
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
190
|
+
|
|
191
|
+
"use strict";
|
|
192
|
+
module.exports = JSON.parse('{"cell.enter-word":"Enter word","cell.filter-cell":"Target destination","cell.set-blank":"Mark it a blank","cell.set-not-blank":"Mark it not a blank","cell.tile.location":"Board: tile ({{x}}, {{y}})","cell.toggle-direction":"Typing direction","common.blanks":"Blanks","common.clear":"Clear","common.close":"Close","common.consonants":"Consonants","common.loading":"Loading","common.next":"Next","common.points":"Points","common.previous":"Previous","common.tiles":"Tiles","common.two-letter-tiles":"Two-letter","common.vowels":"Vowels","common.word":"Word","common.words":"Words","dictionary":"Dictionary","dictionary.empty-state.no-definitions":"Word exists in the dictionary but it does not have a definition.","dictionary.empty-state.no-results":"Unable to find word definition in the dictionary.","dictionary.empty-state.not-allowed":"This word is not allowed.","dictionary.empty-state.uninitialized":"Word definition will be shown here.","dictionary.input.placeholder":"Search dictionary…","dictionary.input.title":"Comma-separated words","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Yeah!","empty-state.warning":"Oops!","github":"See this project on GitHub","keyMap":"Keyboard shortcuts","keyMap.board":"Board","keyMap.board.toggle-blank":"Mark/unmark tile as a blank","keyMap.board.toggle-direction":"Toggle typing direction","keyMap.board-and-rack":"Board & rack","keyMap.board-and-rack.insert-two-letter-tile":"Insert two-letter tile","keyMap.board-and-rack.navigate":"Navigate","keyMap.board-and-rack.remove-tile":"Remove tile","keyMap.board-and-rack.submit":"Start solving","keyMap.rack":"Rack","keyMap.rack.insert-blank":"Insert blank (spacebar)","menu":"Menu","rack.placeholder":"Letters","rack.tile.location":"Rack: tile ({{index}})","rack.touchscreen.placeholder":"Letters…","remaining-tiles":"Remaining tiles","results":"Results","results.empty-state.no-results":"No results - unable to generate any words.","results.empty-state.outdated":"Results are outdated.","results.empty-state.uninitialized":"Words generated from your letters will be shown here.","results.input.placeholder":"Search results... (RegExp)","results.insert":"Insert","results.preview":"Preview","results.solve":"Solve","settings":"Settings","settings.autoGroupTiles":"Group remaining tiles","settings.autoGroupTiles.left":"On the left","settings.autoGroupTiles.right":"On the right","settings.autoGroupTiles.null":"Do not group","settings.game":"Game","settings.inputMode":"Input mode","settings.inputMode.keyboard":"Keyboard","settings.inputMode.touchscreen":"Touchscreen","settings.language":"Language","settings.showCoordinates":"Coordinates","settings.showCoordinates.alternative":"Alternative","settings.showCoordinates.hidden":"Hidden","settings.showCoordinates.original":"Original","words":"Created words","words.invalid":"Invalid","words.valid":"Valid"}');
|
|
193
|
+
|
|
194
|
+
/***/ }),
|
|
195
|
+
|
|
196
|
+
/***/ "./src/i18n/languages/french.json":
|
|
197
|
+
/*!****************************************!*\
|
|
198
|
+
!*** ./src/i18n/languages/french.json ***!
|
|
199
|
+
\****************************************/
|
|
200
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
201
|
+
|
|
202
|
+
"use strict";
|
|
203
|
+
module.exports = JSON.parse('{"cell.enter-word":"Entrez un mot","cell.filter-cell":"Destination cible","cell.set-blank":"Marquer comme vide","cell.set-not-blank":"Marquer comme non vide","cell.tile.location":"Plateau: la case ({{x}}, {{y}})","cell.toggle-direction":"Direction d\'écriture","common.blanks":"Cases vides","common.clear":"Effacer","common.close":"Fermer","common.consonants":"Consonnes","common.loading":"Chargement","common.next":"Suivant","common.points":"Points","common.previous":"Précédent","common.tiles":"Cases","common.two-letter-tiles":"Deux lettres","common.vowels":"Voyelles","common.word":"Mot","common.words":"Mots","dictionary":"Dictionnaire","dictionary.empty-state.no-definitions":"Le mot existe dans le dictionary mais n\'a pas de définition.","dictionary.empty-state.no-results":"Impossible de trouver une définition pour ce mot dans le dictionaire.","dictionary.empty-state.not-allowed":"Ce mot n\'est pas pas acceptable.","dictionary.empty-state.uninitialized":"La définition dictionaire sera affichée ici.","dictionary.input.placeholder":"Rechercher dans le dictionnaire…","dictionary.input.title":"Mots séparées par des virgules","empty-state.error":"Erreur","empty-state.info":"Info","empty-state.success":"Ouais!","empty-state.warning":"Oups!","github":"Voir ce projet sur GitHub","keyMap":"Raccourcis clavier","keyMap.board":"Plateau","keyMap.board.toggle-blank":"Marqué/Démarqué la case en tant que vide","keyMap.board.toggle-direction":"Faire basculer la direction d\'écriture","keyMap.board-and-rack":"Plateau & chevalet","keyMap.board-and-rack.insert-two-letter-tile":"Insérer une tuile de deux lettres","keyMap.board-and-rack.navigate":"Naviguer","keyMap.board-and-rack.remove-tile":"Supprimer une case","keyMap.board-and-rack.submit":"Commencer la résolution","keyMap.rack":"Chevalet","keyMap.rack.insert-blank":"Inserer une case vide (spacebar)","menu":"Menu","rack.placeholder":"Lettres","rack.tile.location":"Chevalet: la case ({{index}})","rack.touchscreen.placeholder":"Lettres…","remaining-tiles":"Cases restantes","results":"Résultats","results.empty-state.no-results":"Pas de résultats - impossible de générer des mots.","results.empty-state.outdated":"Les résultats sont dépassé.","results.empty-state.uninitialized":"Les mots générés à partir de vos lettres seront affichés ici.","results.input.placeholder":"Rechercher les résultats... (RegExp)","results.insert":"Inserer","results.preview":"Prévisualisation","results.solve":"Résoudre","settings":"Options","settings.autoGroupTiles":"Grouper les cases restantes","settings.autoGroupTiles.left":"Vers la droite","settings.autoGroupTiles.right":"Vers la gauche","settings.autoGroupTiles.null":"Ne pas grouper","settings.game":"Jeu","settings.inputMode":"Mode de saisie","settings.inputMode.keyboard":"Clavier","settings.inputMode.touchscreen":"Écran tactile","settings.language":"Langue","settings.showCoordinates":"Coordonnés","settings.showCoordinates.alternative":"Alternative","settings.showCoordinates.hidden":"Caché","settings.showCoordinates.original":"Original","words":"Mots créés","words.invalid":"Incorrect","words.valid":"Corriger"}');
|
|
204
|
+
|
|
205
|
+
/***/ }),
|
|
206
|
+
|
|
207
|
+
/***/ "./src/i18n/languages/german.json":
|
|
208
|
+
/*!****************************************!*\
|
|
209
|
+
!*** ./src/i18n/languages/german.json ***!
|
|
210
|
+
\****************************************/
|
|
211
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
212
|
+
|
|
213
|
+
"use strict";
|
|
214
|
+
module.exports = JSON.parse('{"cell.enter-word":"Wort eingeben","cell.filter-cell":"Zielort","cell.set-blank":"Als Blanko markieren","cell.set-not-blank":"Nicht als Blanko markieren","cell.tile.location":"Brett: Stein ({{x}}, {{y}})","cell.toggle-direction":"Schreibrichtung","common.blanks":"Blankos","common.clear":"Löschen","common.close":"Schließen","common.consonants":"Konsonanten","common.loading":"Laden","common.next":"Weiter","common.points":"Punkte","common.previous":"Zurück","common.tiles":"Steine","common.two-letter-tiles":"Zwei-Buchstaben","common.vowels":"Vokale","common.word":"Wort","common.words":"Wörter","dictionary":"Wörterbuch","dictionary.empty-state.no-definitions":"Wort existiert im Wörterbuch aber hat keine Definition.","dictionary.empty-state.no-results":"Wort kann nicht im Wörterbuch gefunden werden.","dictionary.empty-state.not-allowed":"Dieses Wort ist nicht erlaubt.","dictionary.empty-state.uninitialized":"Die Wörterbuchdéfinition wird hier angezeigt.","dictionary.input.placeholder":"Durchsuche Wörterbuch…","dictionary.input.title":"Durch Kommas getrennte Wörter","empty-state.error":"Fehler","empty-state.info":"Info","empty-state.success":"Juhuu!","empty-state.warning":"Oje!","github":"Schau dieses Projekt auf GitHub an","keyMap":"Tastaturkürzel","keyMap.board":"Brett","keyMap.board.toggle-blank":"Als Blanko markieren / aufheben","keyMap.board.toggle-direction":"Schreibrichtung umschalten","keyMap.board-and-rack":"Brett & Ablage","keyMap.board-and-rack.insert-two-letter-tile":"Zwei-Buchstaben Stein hinzufügen","keyMap.board-and-rack.navigate":"Navigieren","keyMap.board-and-rack.remove-tile":"Stein entfernen","keyMap.board-and-rack.submit":"Lösen starten","keyMap.rack":"Ablage","keyMap.rack.insert-blank":"Blanko hinzufügen (Leertaste)","menu":"Menü","rack.placeholder":"Steine…","rack.tile.location":"Ablage: Stein ({{index}})","rack.touchscreen.placeholder":"Steine…","remaining-tiles":"Restliche Steine","results":"Ergebnisse","results.empty-state.no-results":"Keine Ergebnisse - kein Wort konnte generiert werden.","results.empty-state.outdated":"Ergebnisse sind alt.","results.empty-state.uninitialized":"Wörter die aus deinen Buchstaben generiert wurden erscheinen hier.","results.input.placeholder":"Suchergebnisse... (RegExp)","results.insert":"Hinzufügen","results.preview":"Vorschau","results.solve":"Lösen","settings":"Einstellungen","settings.autoGroupTiles":"Restliche Steine gruppieren","settings.autoGroupTiles.left":"Linke Seite","settings.autoGroupTiles.right":"Rechte Seite","settings.autoGroupTiles.null":"Nicht gruppieren","settings.game":"Spiel","settings.inputMode":"Eingabemodus","settings.inputMode.keyboard":"Tastatur","settings.inputMode.touchscreen":"Touchscreen","settings.language":"Sprache","settings.showCoordinates":"Koordinaten","settings.showCoordinates.alternative":"Alternative","settings.showCoordinates.hidden":"Versteckt","settings.showCoordinates.original":"Original","words":"Gebildete Wörter","words.invalid":"Falsch","words.valid":"Korrekt"}');
|
|
215
|
+
|
|
216
|
+
/***/ }),
|
|
217
|
+
|
|
218
|
+
/***/ "./src/i18n/languages/persian.json":
|
|
219
|
+
/*!*****************************************!*\
|
|
220
|
+
!*** ./src/i18n/languages/persian.json ***!
|
|
221
|
+
\*****************************************/
|
|
222
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
223
|
+
|
|
224
|
+
"use strict";
|
|
225
|
+
module.exports = JSON.parse('{"cell.enter-word":"کلمه را وارد کنید","cell.filter-cell":"مقصد","cell.set-blank":"علامت گذاری به عنوان خالی","cell.set-not-blank":"علامت گذاری به عنوان غیر خالی","cell.tile.location":"({{x}}، {{y}}) کاشی: صفحه","cell.toggle-direction":"جهت تایپ","common.blanks":"خالی","common.clear":"پاک کردن","common.close":"بستن","common.consonants":"حروف صامت","common.loading":"در حال بارگزاری","common.next":"بعدی","common.points":"امتیازات","common.previous":"قبلی","common.tiles":"کاشی ها","common.two-letter-tiles":"دو حرفی","common.vowels":"حروف مصوت","common.word":"کلمه","common.words":"کلمات","dictionary":"فرهنگ لغت","dictionary.empty-state.no-definitions":"کلمه در فرهنگ لغت وجود دارد، ولی معنایی برای آن ثبت نشده است.","dictionary.empty-state.no-results":"کلمه در فرهنگ لغت یافت نشد.","dictionary.empty-state.not-allowed":"این کلمه مجاز نیست.","dictionary.empty-state.uninitialized":"معنی لغت اینجا نمایش داده خواهد شد.","dictionary.input.placeholder":"جستجو در فرهنگ لغت …","dictionary.input.title":"کلمات جدا شده با کاما","empty-state.error":"خطا","empty-state.info":"اطلاعات","empty-state.success":"حله!","empty-state.warning":"اوووخ!","github":"به این پروژه در گیتهاب سر بزنید","keyMap":"میانبر های کیبورد","keyMap.board":"صفحه","keyMap.board.toggle-blank":"علامت/عدم علامت گذاری کاشی به عنوان خالی","keyMap.board.toggle-direction":"تغییر جهت تایپ","keyMap.board-and-rack":"صفحه و طاقچه","keyMap.board-and-rack.insert-two-letter-tile":"وارد کردن کاشی دو حرفی","keyMap.board-and-rack.navigate":"حرکت","keyMap.board-and-rack.remove-tile":"حذف کاشی","keyMap.board-and-rack.submit":"حل کردن","keyMap.rack":"طاقچه","keyMap.rack.insert-blank":"وارد کردن کاشی خالی (دکمه اسپیس)","menu":"منو","rack.placeholder":"لیستحرف","rack.tile.location":"({{index}}) کاشی: طاقچه","rack.touchscreen.placeholder":"لیستحرف…","remaining-tiles":"کاشی های باقی مانده","results":"نتایج","results.empty-state.no-results":"کلمه قابل استفاده پیدا نشد.","results.empty-state.outdated":"نتایج به روز نیستند، برای بروز.","results.empty-state.uninitialized":"کلمات تولید شده از حروف شما اینجا نمایش داده خواهد شد.","results.input.placeholder":"جستجو در نتایج (RegExp)","results.insert":"وارد کردن","results.preview":"پیش نمایش","results.solve":"حل کن","settings":"تنظیمات","settings.autoGroupTiles":"کاشی های باقی مانده ی طاقچه را کنار هم قرار بده","settings.autoGroupTiles.left":"در سمت چپ","settings.autoGroupTiles.right":"در سمت راست","settings.autoGroupTiles.null":"کنار هم قرار نده","settings.game":"بازی","settings.inputMode":"حالت ورودی","settings.inputMode.keyboard":"صفحه کلید","settings.inputMode.touchscreen":"صفحه لمسی","settings.language":"زبان","settings.showCoordinates":"مختصات","settings.showCoordinates.alternative":"بديل","settings.showCoordinates.hidden":"مختفي","settings.showCoordinates.original":"إبداعي","words":"کلمات ساخته شده","words.invalid":"نا معتبر","words.valid":"معتبر"}');
|
|
226
|
+
|
|
227
|
+
/***/ }),
|
|
228
|
+
|
|
229
|
+
/***/ "./src/i18n/languages/polish.json":
|
|
230
|
+
/*!****************************************!*\
|
|
231
|
+
!*** ./src/i18n/languages/polish.json ***!
|
|
232
|
+
\****************************************/
|
|
233
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
234
|
+
|
|
235
|
+
"use strict";
|
|
236
|
+
module.exports = JSON.parse('{"cell.enter-word":"Wprowadź słowo","cell.filter-cell":"Miejsce docelowe","cell.set-blank":"Oznacz jako blank","cell.set-not-blank":"Oznacz jako nie blank","cell.tile.location":"Plansza: płytka ({{x}}, {{y}})","cell.toggle-direction":"Kierunek wpisywania","common.blanks":"Blanki","common.clear":"Wyczyść","common.close":"Zamknij","common.consonants":"Spółgłoski","common.loading":"Ładowanie","common.next":"Następne","common.points":"Punkty","common.previous":"Poprzednie","common.tiles":"Płytki","common.two-letter-tiles":"Dwuliterowe","common.vowels":"Samogłoski","common.word":"Słowo","common.words":"Słowa","dictionary":"Słownik","dictionary.empty-state.no-definitions":"Słowo istnieje w słowniku ale nie posiada definicji.","dictionary.empty-state.no-results":"Nie udało się znaleźć definicji słowa w słowniku.","dictionary.empty-state.not-allowed":"To słowo nie jest dopuszczalne w grach.","dictionary.empty-state.uninitialized":"Tu zostanie wyświetlona definicja słowa.","dictionary.input.placeholder":"Szukaj w słowniku…","dictionary.input.title":"Słowa rozdzielone przecinkiem","empty-state.error":"Błąd","empty-state.info":"Info","empty-state.success":"Hurra!","empty-state.warning":"Ups!","github":"Zobacz ten projekt na GitHubie","keyMap":"Skróty klawiszowe","keyMap.board":"Plansza","keyMap.board.toggle-blank":"Oznacz/odznacz płytkę jako blank","keyMap.board.toggle-direction":"Zmień kierunek wpisywania","keyMap.board-and-rack":"Plansza i stojak","keyMap.board-and-rack.insert-two-letter-tile":"Wstaw dwuliterową płytkę","keyMap.board-and-rack.navigate":"Nawigacja","keyMap.board-and-rack.remove-tile":"Zdejmij płytkę","keyMap.board-and-rack.submit":"Rozpocznij wyszukiwanie","keyMap.rack":"Stojak","keyMap.rack.insert-blank":"Wstaw blanka (spacja)","menu":"Menu","rack.placeholder":"Literki","rack.tile.location":"Stojak: płytka ({{index}})","rack.touchscreen.placeholder":"Literki…","remaining-tiles":"Pozostałe płytki","results":"Wyniki","results.empty-state.no-results":"Brak wyników - nie można wygenerować żadnego słowa.","results.empty-state.outdated":"Wyniki są nieaktualne.","results.empty-state.uninitialized":"Tu zostaną wyświetlone słowa wygenerowane z Twoich liter.","results.input.placeholder":"Szukaj rozwiązania... (RegExp)","results.insert":"Wstaw","results.preview":"Podgląd","results.solve":"Rozwiąż","settings":"Opcje","settings.autoGroupTiles":"Grupuj pozostałe płytki","settings.autoGroupTiles.left":"Po lewej","settings.autoGroupTiles.right":"Po prawej","settings.autoGroupTiles.null":"Nie grupuj","settings.game":"Gra","settings.inputMode":"Tryb wpisywania","settings.inputMode.keyboard":"Klawiatura","settings.inputMode.touchscreen":"Ekran dotykowy","settings.language":"Język","settings.showCoordinates":"Współrzędne","settings.showCoordinates.alternative":"Alternatywne","settings.showCoordinates.hidden":"Ukryte","settings.showCoordinates.original":"Oryginalne","words":"Utworzone słowa","words.invalid":"Niepoprawne","words.valid":"Poprawne"}');
|
|
237
|
+
|
|
238
|
+
/***/ }),
|
|
239
|
+
|
|
240
|
+
/***/ "./src/i18n/languages/romanian.json":
|
|
241
|
+
/*!******************************************!*\
|
|
242
|
+
!*** ./src/i18n/languages/romanian.json ***!
|
|
243
|
+
\******************************************/
|
|
244
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
245
|
+
|
|
246
|
+
"use strict";
|
|
247
|
+
module.exports = JSON.parse('{"cell.enter-word":"Introducere cuvant","cell.filter-cell":"Destinatia","cell.set-blank":"Marcare camp liber","cell.set-not-blank":"Marcare camp ocupat ","cell.tile.location":"Tabla: camp ({{x}}, {{y}})","cell.toggle-direction":"Directie scriere","common.blanks":"Jokeri","common.clear":"Stergere","common.close":"Inchidere","common.consonants":"Consoane","common.loading":"Incarcare","common.next":"Pasul urmator","common.points":"Puncte","common.previous":"Pasul anterior","common.tiles":"Litere","common.two-letter-tiles":"2 litere","common.vowels":"Vocale","common.word":"Cuvant","common.words":"Cuvinte","dictionary":"Dictionar","dictionary.empty-state.no-definitions":"Cuvantul exista in dictionar dar nu are o definitie.","dictionary.empty-state.no-results":"Definitia nu a fost gasita in dictionar","dictionary.empty-state.not-allowed":"Cuvantul nu apare in dictionar","dictionary.empty-state.uninitialized":"Aici va fi definitia cuvantului.","dictionary.input.placeholder":"Cautare dictionar…","dictionary.input.title":"Cuvinte separate prin virgula","empty-state.error":"Eroare","empty-state.info":"Spatiu date","empty-state.success":"Succes","empty-state.warning":"Atentionare","github":"Vezi acest proiect pe GitHub","keyMap":"Comanda rapida la tastatura","keyMap.board":"Tabla joc","keyMap.board.toggle-blank":"Marcheaza/Deselecteaza campul ca liber","keyMap.board.toggle-direction":"Schimbati directia de tastare","keyMap.board-and-rack":"Tabla si literele extrase","keyMap.board-and-rack.insert-two-letter-tile":"Introducere piesa 2 litere","keyMap.board-and-rack.navigate":"Navigare","keyMap.board-and-rack.remove-tile":"Indeparteaza piesa","keyMap.board-and-rack.submit":"Pornire cautare","keyMap.rack":"Grupa litere","keyMap.rack.insert-blank":"Introducere joker","menu":"Meniu","rack.placeholder":"Litere…","rack.tile.location":"Grupa litere: piesa ({{index}})","rack.touchscreen.placeholder":"Litere…","remaining-tiles":"Litere ramase","results":"Rezultate","results.empty-state.no-results":"Nu a fost gasit nici un rezultat.","results.empty-state.outdated":"Rezultatele nu sunt actuale.","results.empty-state.uninitialized":"Cuvintele formate din literele tale vor fi afisate aici.","results.input.placeholder":"Cautare solutii... (RegExp)","results.insert":"Introducere","results.preview":"Previzualizare","results.solve":"Gasire solutii","settings":"Setari","settings.autoGroupTiles":"Litere ramase","settings.autoGroupTiles.left":"In partea stanga","settings.autoGroupTiles.right":"In partea dreapta","settings.autoGroupTiles.null":"Nu se grupeaza","settings.game":"Joc","settings.inputMode":"Mod introducere","settings.inputMode.keyboard":"Tastatura","settings.inputMode.touchscreen":"Ecran","settings.language":"Limba","settings.showCoordinates":"Coordonate","settings.showCoordinates.alternative":"Alternativă","settings.showCoordinates.hidden":"Ascuns","settings.showCoordinates.original":"Original","words":"Cuvinte create","words.invalid":"Invalid","words.valid":"Valid"}');
|
|
248
|
+
|
|
249
|
+
/***/ }),
|
|
250
|
+
|
|
251
|
+
/***/ "./src/i18n/languages/spanish.json":
|
|
252
|
+
/*!*****************************************!*\
|
|
253
|
+
!*** ./src/i18n/languages/spanish.json ***!
|
|
254
|
+
\*****************************************/
|
|
255
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
256
|
+
|
|
257
|
+
"use strict";
|
|
258
|
+
module.exports = JSON.parse('{"cell.enter-word":"Ingresar palabra","cell.filter-cell":"Destino objetivo","cell.set-blank":"Marcar como en blanco","cell.set-not-blank":"Marcar como no en blanco","cell.tile.location":"Tablero: espacio ({{x}}, {{y}})","cell.toggle-direction":"Dirección de escritura","common.blanks":"Blancos","common.clear":"Borrar","common.close":"Cerrar","common.consonants":"Consonantes","common.loading":"Cargando","common.next":"Siguiente","common.points":"Puntos","common.previous":"Anterior","common.tiles":"Longitud","common.two-letter-tiles":"Dos letras","common.vowels":"Vocales","common.word":"Palabra","common.words":"Palabras","dictionary":"Diccionario","dictionary.empty-state.no-definitions":"La palabra existe en el diccionario pero no tiene una definición.","dictionary.empty-state.no-results":"No se puede encontrar la definición de palabra en el diccionario.","dictionary.empty-state.not-allowed":"Esta palabra no es aceptable.","dictionary.empty-state.uninitialized":"Aquí se mostrará la definición del diccionario.","dictionary.input.placeholder":"Busca el diccionario…","dictionary.input.title":"Palabras separadas por comas","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Sí!","empty-state.warning":"Vaya!","github":"Ver este proyecto en GitHub","keyMap":"Atajos de teclado","keyMap.board":"Tablero","keyMap.board.toggle-blank":"Marcar / desmarcar un espacio en blanco","keyMap.board.toggle-direction":"Alternar dirección de escritura","keyMap.board-and-rack":"Tablero y estante","keyMap.board-and-rack.insert-two-letter-tile":"Insertar mosaico de dos letras","keyMap.board-and-rack.navigate":"Navegar","keyMap.board-and-rack.remove-tile":"Quitar Letra","keyMap.board-and-rack.submit":"Empezar a resolver","keyMap.rack":"Estante","keyMap.rack.insert-blank":"Insertar espacio en blanco (barra espaciadora)","menu":"Menú","rack.placeholder":"Letras…","rack.tile.location":"Estante: espacio ({{index}})","rack.touchscreen.placeholder":"Letras… (p.ej. LLabcCHhRR)","remaining-tiles":"Casillas restantes","results":"Resultados","results.empty-state.no-results":"No hay resultados; no se pueden generar palabras","results.empty-state.outdated":"Los resultados están desactualizados.","results.empty-state.uninitialized":"Aquí se mostrarán las palabras generadas a partir de sus letras.","results.input.placeholder":"Busque una solución... (RegExp)","results.insert":"Insertar","results.preview":"Vista previa","results.solve":"Resolver","settings":"Configuración","settings.autoGroupTiles":"Agrupar casillas restantes","settings.autoGroupTiles.left":"A la izquierda","settings.autoGroupTiles.right":"A la derecha","settings.autoGroupTiles.null":"No agrupar","settings.game":"Juego","settings.inputMode":"Modo de entrada","settings.inputMode.keyboard":"Teclado","settings.inputMode.touchscreen":"Pantalla táctil","settings.language":"Idioma","settings.showCoordinates":"Coordenadas","settings.showCoordinates.alternative":"Alternativa","settings.showCoordinates.hidden":"Oculto","settings.showCoordinates.original":"Original","words":"Palabras creadas","words.invalid":"Incorrecto","words.valid":"Correcto"}');
|
|
259
|
+
|
|
260
|
+
/***/ })
|
|
261
|
+
|
|
262
|
+
});
|