{"version":3,"file":"static/chunks/55954-419ac4621f3c9551.js","sources":["webpack://_N_E/./src/common/icons/game/autobet-icon.tsx","webpack://_N_E/./src/common/icons/game/strategy-icon.tsx","webpack://_N_E/./src/common/selectors/loader.selector.ts","webpack://_N_E/./src/modules/games/DiceGame/components/BetValue/betValue.constants.ts","webpack://_N_E/./src/modules/games/Game/components/Autobet/Autobet.tsx","webpack://_N_E/./src/modules/games/Game/components/Autobet/rollCounter/rollsCounter.styled.ts","webpack://_N_E/./src/modules/games/Game/components/Autobet/Autobet.styled.tsx","webpack://_N_E/./src/modules/games/Game/components/Autobet/rollCounter/RollsCounter.tsx","webpack://_N_E/./src/common/components/default/PrefetchLoadableComponent/PrefetchLoadebleComponent.tsx","webpack://_N_E/./src/modules/games/Game/components/Autobet/FlashBetAnimation.tsx","webpack://_N_E/./public/img/flashbet/mock.png","webpack://_N_E/./src/modules/games/Game/components/Autobet/AutobetLayout/index.tsx","webpack://_N_E/./src/modules/games/Game/components/Autobet/AutobetSessionSwitch/AutoBetSessionSwitch.tsx","webpack://_N_E/./src/modules/games/Game/components/Game.components/GamePanel/GamePanel.tsx","webpack://_N_E/./src/modules/games/Game/methods/checkIsDoubleValue.ts","webpack://_N_E/./src/modules/games/Game/methods/checkIsQuadrupleValue.ts","webpack://_N_E/./src/modules/games/Game/methods/getBetValueMaxMin.ts","webpack://_N_E/./src/modules/games/Game/methods/getRuleBetValuesBetConfig.ts","webpack://_N_E/./src/modules/games/Game/methods/getWinChanceFromBetValues.ts","webpack://_N_E/./src/modules/games/Game/store/game/thunks/handleBet.thunk.ts"],"sourceRoot":"","sourcesContent":["import { FC } from 'react';\nimport { IconProps } from '@icons/all-bets';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\nimport { useId } from '../../hooks/useId';\n\nexport const AutobetIcon: FC<IconProps> = ({ fill, height, width }) => {\n\tconst fill_ = fill || 'white';\n\tconst width_ = width || 16;\n\tconst height_ = height || 17;\n\tconst { get } = useId({ id: 'autobet-icon' });\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<g clipPath={get().url}>\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M7.96667 16.1406C8.12 16.1406 8.26 16.1273 8.40667 16.1206L5.86667 13.574L4.98 14.4673C2.8 13.4273 1.24 11.314 1 8.80729H0C0.34 12.914 3.77333 16.1406 7.96667 16.1406ZM8.03333 0.140625C7.88 0.140625 7.74 0.153958 7.59333 0.167292L10.1333 2.70729L11.02 1.82063C13.2 2.85396 14.76 4.96729 15 7.47396H16C15.66 3.36729 12.2267 0.140625 8.03333 0.140625Z\"\n\t\t\t\t\t\t\tfill={fill_}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M4 11.4736L7.03158 3.47363H9.1609L12 11.4736H10.003L7.4406 3.92941L8.39098 3.84545L5.8406 11.4736H4ZM5.70827 9.7465L6.10526 8.31921H9.75038L9.93083 9.7465H5.70827Z\"\n\t\t\t\t\t\t\tfill={fill_}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</g>\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<clipPath id={get().id}>\n\t\t\t\t\t\t\t<rect\n\t\t\t\t\t\t\t\twidth={width_}\n\t\t\t\t\t\t\t\theight={width_}\n\t\t\t\t\t\t\t\tfill={fill_}\n\t\t\t\t\t\t\t\ttransform=\"translate(0 0.140625)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</clipPath>\n\t\t\t\t\t</defs>\n\t\t\t\t</>\n\t\t\t}\n\t\t\twidth={width_}\n\t\t\theight={height_}\n\t\t/>\n\t);\n};\n","import { FC } from 'react';\nimport { IconProps } from '@icons/all-bets';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const StrategyIcon: FC<IconProps> = ({ fill, height, width }) => {\n\tconst fill_ = fill || 'white';\n\tconst width_ = width || 16;\n\tconst height_ = height || 16;\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<path d=\"M6 10L14 2\" stroke={fill_} strokeMiterlimit=\"10\" />\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M4.5 14C5.88071 14 7 12.8807 7 11.5C7 10.1193 5.88071 9 4.5 9C3.11929 9 2 10.1193 2 11.5C2 12.8807 3.11929 14 4.5 14Z\"\n\t\t\t\t\t\tstroke={fill_}\n\t\t\t\t\t\tstrokeMiterlimit=\"10\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 2H14V6\"\n\t\t\t\t\t\tstroke={fill_}\n\t\t\t\t\t\tstrokeMiterlimit=\"10\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M2 2L6 6\"\n\t\t\t\t\t\tstroke={fill_}\n\t\t\t\t\t\tstrokeMiterlimit=\"10\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M2 6L6 2\"\n\t\t\t\t\t\tstroke={fill_}\n\t\t\t\t\t\tstrokeMiterlimit=\"10\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 10L14 14\"\n\t\t\t\t\t\tstroke={fill_}\n\t\t\t\t\t\tstrokeMiterlimit=\"10\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 14L14 10\"\n\t\t\t\t\t\tstroke={fill_}\n\t\t\t\t\t\tstrokeMiterlimit=\"10\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t}\n\t\t\twidth={width_}\n\t\t\theight={height_}\n\t\t\twrapperFill=\"none\"\n\t\t\tviewBox=\"0 0 16 16\"\n\t\t/>\n\t);\n};\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { LOADING_IDS } from '../constants/fetch/loading.ids';\n\nexport const useLoader = (id) =>\n\tuseAppSelector<boolean>((state) => state.loader[id], shallowEqual);\nexport const useLoaderModule = (id: LOADING_IDS | string) =>\n\tuseAppSelector<boolean>((state) => state.loader.modules[id], shallowEqual);\n","import { config } from '@legacyApp/client/config';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { GameType } from '../../../Game/constants/availableGames';\n\nexport const GAME = GameType.DICE;\nexport const ID = `${GAME}-value`;\nexport const roundBetValue = (value: number): number => {\n\treturn roundNumber(value, config.decimals.betValue);\n};\n","import { faChartLine } from '@fortawesome/free-solid-svg-icons';\nimport React, { FC } from 'react';\n\nimport { ToggleOption } from '@common/components/options/toggleOption/ToggleOption';\nimport { useOptionEnabled } from '@common/selectors/options.selectors';\nimport { OPTIONS } from '@legacyApp/client/store/options/options.constants';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { useGameAutoBetStats } from '@modules/games/Game/store/gameAutobet/gameAutobet.selectors';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { Size } from '@uiTypes/Size';\n\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport {\n\tStyledAutobetLayout,\n\tStyledAutobetLayoutTop,\n} from '@modules/games/Game/components/Autobet/Autobet.styled';\nimport { AutoBetSessionSwitch } from '@modules/games/Game/components/Autobet/AutobetSessionSwitch/AutoBetSessionSwitch';\nimport { RollsCounter } from '@modules/games/Game/components/Autobet/rollCounter/RollsCounter';\nimport { GameChartContainer } from '@modules/games/Game/components/Game.components/GameChart';\n\nexport enum StatsType {\n\tAUTOBET = 'autobet',\n\tSESSION = 'session',\n}\n\nexport const Autobet: FC<{\n\tgame: GameType;\n}> = ({ game }) => {\n\tconst chartEnabled = useOptionEnabled(OPTIONS.AUTOBET_CHART);\n\n\tconst autoStats = useGameAutoBetStats();\n\n\treturn (\n\t\t<StyledAutobetLayout $chartEnabled={chartEnabled}>\n\t\t\t<StyledAutobetLayoutTop>\n\t\t\t\t<AutoBetSessionSwitch />\n\n\t\t\t\t<ToggleOption\n\t\t\t\t\tid={OPTIONS.AUTOBET_CHART}\n\t\t\t\t\tbuttonProps={{\n\t\t\t\t\t\tsize: Size.LARGE,\n\t\t\t\t\t\ticonBefore: <AwesomeIcon icon={faChartLine} />,\n\t\t\t\t\t\tstyleType: ButtonStyleType.SECONDARY,\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"text-uppercase margin-left\"\n\t\t\t\t/>\n\t\t\t</StyledAutobetLayoutTop>\n\n\t\t\t<RollsCounter game={game} />\n\n\t\t\t{chartEnabled ? (\n\t\t\t\t<GameChartContainer\n\t\t\t\t\tthemeColors={{\n\t\t\t\t\t\tblueGrey50: '#4D5D76',\n\t\t\t\t\t\tblueGrey300: '#6D7D97',\n\t\t\t\t\t\tblueGrey500: '#B8C6DC',\n\t\t\t\t\t}}\n\t\t\t\t\tenabled={chartEnabled}\n\t\t\t\t\tgame={game}\n\t\t\t\t\tauto={autoStats}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div className=\"box-no-height margin-bottom-36\" />\n\t\t\t)}\n\t\t</StyledAutobetLayout>\n\t);\n};\n","import classname from 'classnames';\nimport styled from 'styled-components';\n\nimport { borderRadius } from '@legacyApp/client/modules/style/defaults';\n\nexport const StyledRollsCounter = styled.div.attrs((props) => ({\n\tclassName: classname('text-style-md-semibold', props.className),\n}))`\n\talign-items: center;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\tbackground-color: var(--color-dark-500);\n\tpadding: 5px 7px;\n\t${borderRadius};\n\tgap: 12px;\n\tz-index: 100 !important;\n\tcolor: var(--color-dark-100);\n`;\n\nexport const StyledRollsCounterValue = styled.span`\n\tcolor: var(--color-white);\n`;\n","import classNames from 'classnames';\nimport styled from 'styled-components';\n\nimport { boxNoHeight } from '@legacyApp/client/modules/style/defaults';\n\nimport { CSSClassNameLineChart } from '@legacyApp/client/components/lineChart/victoryChart';\nimport { StyledRollsCounter } from '@modules/games/Game/components/Autobet/rollCounter/rollsCounter.styled';\n\ninterface StylesAutobetLayoutProps {\n\t$chartEnabled: boolean;\n\tclassName?: string;\n}\n\nexport const StyledAutobetLayout = styled.div.attrs<StylesAutobetLayoutProps>(\n\t(props) => ({\n\t\tclassName: classNames('styled-autobet-layout', props.className),\n\t}),\n)<StylesAutobetLayoutProps>`\n\t${boxNoHeight};\n\tpadding-bottom: 12px;\n\tposition: relative;\n\n\t${StyledRollsCounter} {\n\t\tbottom: 0;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tz-index: 0;\n\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\tmargin-top: -${(props) => (props.$chartEnabled ? '15' : '35')}px;\n\t\t}\n\t}\n\n\t.${CSSClassNameLineChart} {\n\t\tpadding: 0 40px 0 30px;\n\t\tz-index: -1;\n\n\t\t.victory-chart {\n\t\t\tleft: -85px;\n\t\t\tmargin: -115px 0 -65px;\n\t\t\twidth: calc(100% + 270px);\n\n\t\t\t&--no-data {\n\t\t\t\tleft: -120px;\n\t\t\t}\n\t\t}\n\n\t\t@media (min-width: ${(props) => props.theme.media.minWidthBigDesktop}) {\n\t\t\t.victory-chart {\n\t\t\t\tmargin: -135px 0 -65px;\n\t\t\t}\n\t\t}\n\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthMobile}) {\n\t\t\t.victory-chart {\n\t\t\t\twidth: 123% !important;\n\t\t\t\tleft: -8% !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t[class*='page-'].chat-visible &,\n\t[class*='page-'].left-menu-visible & {\n\t\t.${CSSClassNameLineChart} {\n\t\t\t.victory-chart {\n\t\t\t\t@media (max-width: ${(props) =>\n\t\t\t\t\t\tprops.theme.media.maxWidthDesktop}) and (min-width: ${(props) =>\n\t\t\t\t\t\tprops.theme.media.minWidthDesktop}) {\n\t\t\t\t\tleft: -5% !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport const StyledAutobetLayoutTop = styled.div`\n\t${boxNoHeight};\n\talign-items: center;\n\tdisplay: flex;\n\theight: 50px;\n\tjustify-content: flex-start;\n\tmargin-bottom: -30px;\n\tposition: relative;\n\ttop: -47px;\n\tz-index: 1;\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\tposition: fixed;\n\t\ttop: 105px;\n\t\theight: 35px;\n\t\tmargin-bottom: 0;\n\t}\n\n\t@media (max-height: 575px) {\n\t\ttop: 65px;\n\t}\n`;\n","import { faInfinity } from '@fortawesome/free-solid-svg-icons';\nimport React, { FC } from 'react';\n\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { Trans } from '@legacyApp/client/modules/translation/translate';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { useGameAutoBetRollsCounter } from '@modules/games/Game/store/gameAutobet/gameAutobet.selectors';\n\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport {\n\tStyledRollsCounter,\n\tStyledRollsCounterValue,\n} from '@modules/games/Game/components/Autobet/rollCounter/rollsCounter.styled';\n\nexport const RollsCounter: FC<{\n\tclassName?: string;\n\tvalue?: number;\n\tgame: GameType;\n}> = ({ className, value, game }) => {\n\tconst rollsCounter = useGameAutoBetRollsCounter(game);\n\n\tconst value_ = isTrueOrZero(Number(value)) ? value : rollsCounter;\n\n\tif (!isTrueOrZero(Number(value_))) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyledRollsCounter className={className}>\n\t\t\t<span>\n\t\t\t\t<Trans label=\"Rolls left\" />\n\t\t\t</span>{' '}\n\t\t\t<StyledRollsCounterValue>\n\t\t\t\t{value_ <= 0 ? <AwesomeIcon icon={faInfinity} /> : value_ || '-'}\n\t\t\t</StyledRollsCounterValue>\n\t\t</StyledRollsCounter>\n\t);\n};\n","import { FC } from 'react';\nimport { ReactComponentLike } from 'prop-types';\n\nexport const PrefetchLoadebleComponent: FC<{\n\tComponent: ReactComponentLike;\n}> = ({ Component }) => {\n\treturn (\n\t\t<div className=\"display-none\">\n\t\t\t<Component />\n\t\t</div>\n\t);\n};\n","import { FC, useCallback, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { Image } from '@common/components/default/Image/Image';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { StyledLottie } from '@common/components/LottieWrapper/Lottie.styled';\nimport { LottieIds } from '@common/components/LottieWrapper/Lottie.ids';\nimport { LottieWrapper } from '@common/components/LottieWrapper';\n// @ts-expect-error invalid type\nimport mock from '../../../../../../public/img/flashbet/mock.png';\nimport animation from '../../../../../../public/img/flashbet/bodymovin/mag.json';\n\nexport const FlashBetAnimation: FC = () => {\n\tconst timeout = useRef(null);\n\tconst [active, setActive] = useState(false);\n\n\tconst checkAnimation = useCallback(() => {\n\t\tconst element = document.querySelector(\n\t\t\t`[dataname=\"${LottieIds.FLASH_BET_ANIMATION}\"]`,\n\t\t);\n\t\tif (element) {\n\t\t\tconst svg = element.querySelector(\n\t\t\t\t'g[clip-path=\"url(#__lottie_element_2)\"]',\n\t\t\t);\n\t\t\tif (svg) {\n\t\t\t\tif (timeout.current) {\n\t\t\t\t\tclearTimeout(timeout.current);\n\t\t\t\t}\n\t\t\t\ttimeout.current = setTimeout(() => setActive(true), 5000);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (timeout.current) {\n\t\t\tclearTimeout(timeout.current);\n\t\t}\n\t\ttimeout.current = setTimeout(() => checkAnimation(), 300);\n\t}, []);\n\n\tuseOnMount(() => {\n\t\tcheckAnimation();\n\n\t\treturn () => {\n\t\t\tif (timeout.current) {\n\t\t\t\tclearTimeout(timeout.current);\n\t\t\t}\n\t\t};\n\t});\n\n\treturn (\n\t\t<StyledFlashBetAnimation>\n\t\t\t{!active && (\n\t\t\t\t<StyledFlashBetMock>\n\t\t\t\t\t<Image src={mock} alt=\"Flash bet animation\" />\n\t\t\t\t</StyledFlashBetMock>\n\t\t\t)}\n\t\t\t<LottieWrapper\n\t\t\t\tdataname={LottieIds.FLASH_BET_ANIMATION}\n\t\t\t\theight={450}\n\t\t\t\tjson={animation}\n\t\t\t/>\n\t\t</StyledFlashBetAnimation>\n\t);\n};\n\nexport const StyledFlashBetMock = styled.div`\n\toutline: none;\n\toverflow: hidden;\n\tposition: absolute;\n\tz-index: 3;\n\n\timg {\n\t\tmax-height: 450px;\n\t\tmax-width: 450px;\n\t\twidth: 100%;\n\t}\n`;\n\nexport const StyledFlashBetAnimation = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\theight: 450px;\n\tjustify-content: center;\n\twidth: 100%;\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\tmax-width: 900px;\n\t}\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthBigDesktop}) {\n\t\tmax-width: 1080px;\n\t}\n\n\t${StyledFlashBetMock} {\n\t\tmargin-bottom: -144px !important;\n\t}\n\n\t${StyledLottie}[dataname=\"${LottieIds.FLASH_BET_ANIMATION}\"] {\n\t\theight: 100%;\n\t\tmargin-bottom: -140px !important;\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tz-index: 3;\n\t}\n`;\n","export default \"data:image/png;base64,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\"","import classnames from 'classnames';\nimport { FC, PropsWithChildren } from 'react';\nimport styled from 'styled-components';\n\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { preventDefault } from '@common/methods/preventDefault';\nimport { useUserActiveCurrency } from '@common/selectors/user.selectors';\nimport {\n\tCSSClassNameVictoryChart,\n\tCSSClassNameLineChart,\n} from '@legacyApp/client/components/lineChart/victoryChart';\nimport { modalService } from '@modules/modals/modalService';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport {\n\tuseGameAutoBetActive,\n\tuseGameAutoBetCurrency,\n\tuseGameAutoBetStats,\n} from '@modules/games/Game/store/gameAutobet/gameAutobet.selectors';\nimport { useGameActiveGame } from '@modules/games/Game/store/game/game.selectors';\n\nimport { PrefetchLoadebleComponent } from '@common/components/default/PrefetchLoadableComponent/PrefetchLoadebleComponent';\nimport { BetAmountInputContainer } from '@legacyApp/client/components/betAmountInput';\nimport {\n\tCSSClassNameLastBetsWrapper,\n\tLastBets,\n} from '@legacyApp/client/components/lastBets/LastBets';\nimport { ProfitInputContainer } from '@legacyApp/client/components/profitInput';\nimport { StyledGameForm } from '@legacyApp/client/modules/style/components/GameForm.styled';\nimport { Autobet } from '@modules/games/Game/components/Autobet/Autobet';\nimport { FlashBetAnimation } from '@modules/games/Game/components/Autobet/FlashBetAnimation';\nimport { GamePanel } from '@modules/games/Game/components/Game.components/GamePanel/GamePanel';\nimport { GameStats } from '@modules/games/Game/components/Game.components/GameStats/index';\nimport { GameLoaded } from '@modules/games/Game/components/GameLoaded';\n\nexport const AutoBetLayout: FC<\n\tPropsWithChildren<{\n\t\tgame: GameType;\n\t\tclassName?: string;\n\t\tdisableProfit?: boolean;\n\t\tsettingsAsList?: boolean;\n\t}>\n> = ({ game, className, children, disableProfit, settingsAsList }) => {\n\tconst activeGame = useGameActiveGame();\n\n\tconst game_ = game || activeGame;\n\n\tconst mode = useGameAutoBetActive(game_);\n\n\tconst currencyAutoBet = useGameAutoBetCurrency(game_);\n\n\tconst currency = useUserActiveCurrency();\n\n\tconst currency_ = currencyAutoBet || currency;\n\n\tconst autoStats = useGameAutoBetStats();\n\n\treturn (\n\t\t<GameLoaded loaded={true}>\n\t\t\t<AutobetLayoutStyled\n\t\t\t\tclassName={classnames('game', [`game--${game_}`], className)}\n\t\t\t>\n\t\t\t\t{/*\n\t\t\t\t\twe need to prefetch session modal,\n\t\t\t\t\tdue to long duration of autobet sessions,\n\t\t\t\t\tif connection issue will happen then\n\t\t\t\t\tsession modal with result and error message won't fetch\n\t\t\t\t*/}\n\n\t\t\t\t<PrefetchLoadebleComponent\n\t\t\t\t\tComponent={modalService.getModal(MODAL_ID.SESSION)}\n\t\t\t\t/>\n\n\t\t\t\t{mode === 'flash' ? (\n\t\t\t\t\t<FlashBetAnimation />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<LastBets noAnimation={true} game={game_} />\n\t\t\t\t\t\t<Autobet game={game_} />\n\t\t\t\t\t</>\n\t\t\t\t)}\n\n\t\t\t\t<StyledGameForm noValidate={true} onSubmit={preventDefault}>\n\t\t\t\t\t<BetAmountInputContainer\n\t\t\t\t\t\tgame={game_}\n\t\t\t\t\t\tcurrency={currency_}\n\t\t\t\t\t\tlocalTheme={{\n\t\t\t\t\t\t\twidth: disableProfit && !children ? 100 : 45,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{children}\n\n\t\t\t\t\t{!disableProfit && (\n\t\t\t\t\t\t<ProfitInputContainer\n\t\t\t\t\t\t\tgame={game_}\n\t\t\t\t\t\t\tcurrency={currency_}\n\t\t\t\t\t\t\tlocalTheme={{\n\t\t\t\t\t\t\t\twidth: 30,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</StyledGameForm>\n\n\t\t\t\t<GamePanel game={game_} settingsAsList={settingsAsList} />\n\n\t\t\t\t<GameStats\n\t\t\t\t\tgame={game_}\n\t\t\t\t\tauto={autoStats}\n\t\t\t\t\tnoChart={true}\n\t\t\t\t\tnoToggleLayout\n\t\t\t\t/>\n\t\t\t</AutobetLayoutStyled>\n\t\t</GameLoaded>\n\t);\n};\n\nexport const AutobetLayoutStyled = styled.div`\n\tbackground: linear-gradient(\n\t\t180deg,\n\t\trgba(17, 26, 41, 0.8) 0%,\n\t\trgba(17, 26, 41, 0) 91.22%\n\t);\n\tborder-radius: 16px;\n\tpadding: 16px 22px;\n\twidth: 100%;\n\n\t.${CSSClassNameLastBetsWrapper} {\n\t\theight: 40px;\n\t\tmargin: 0;\n\t\twidth: 100%;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\tpadding: 0;\n\t\tbackground: unset;\n\n\t\t.${CSSClassNameLineChart} {\n\t\t\tpadding: 16px 0;\n\n\t\t\t.${CSSClassNameVictoryChart} {\n\t\t\t\twidth: 135% !important;\n\t\t\t\tmargin: -15% 0 -8% !important;\n\t\t\t\tleft: -16% !important;\n\t\t\t}\n\t\t}\n\t}\n`;\n","import React, { FC, useCallback } from 'react';\nimport { TabGroup } from '@ui/tab-group';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { StatsType } from '../Autobet';\nimport { useGameAutoBetStats } from '../../../store/gameAutobet/gameAutobet.selectors';\nimport { autobetSetAutoStats } from '../../../store/gameAutobet/gameAutobet.actions';\n\nexport const AutoBetSessionSwitch: FC = () => {\n\tconst autoStats = useGameAutoBetStats();\n\tconst dispatch = useAppDispatch();\n\tconst toggleChart = useCallback(\n\t\t() => dispatch(autobetSetAutoStats(!autoStats)),\n\t\t[autoStats, dispatch],\n\t);\n\treturn (\n\t\t<TabGroup\n\t\t\tactiveTabId={autoStats ? StatsType.AUTOBET : StatsType.SESSION}\n\t\t\ttabs={Object.keys(StatsType).map((key) => ({\n\t\t\t\tid: StatsType[key],\n\t\t\t\tclassName: 'text-capitalize',\n\t\t\t\tlabel: {\n\t\t\t\t\tlabel: StatsType[key].toLowerCase(),\n\t\t\t\t},\n\t\t\t\tonClick: toggleChart,\n\t\t\t}))}\n\t\t/>\n\t);\n};\n","import {\n\tFC,\n\tPropsWithChildren,\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { faBolt } from '@fortawesome/free-solid-svg-icons';\n\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport {\n\tMODAL_ID,\n\tModalIdType,\n} from '@common/constants/modal/ids.modal.constants';\nimport { useWindowEventListener } from '@common/hooks/useEventListener';\nimport { useStateEffect } from '@common/hooks/useStateEffect';\nimport { useAppMobile } from '@common/selectors/app.selectors';\nimport { useLoaderModule } from '@common/selectors/loader.selector';\nimport { useOptionEnabled } from '@common/selectors/options.selectors';\nimport { useUserIsLogged } from '@common/selectors/user.selectors';\nimport { AutobetIcon } from '@icons/game/autobet-icon';\nimport { StrategyIcon } from '@icons/game/strategy-icon';\nimport { Wallet } from '@icons/wallet';\nimport { RepeatAnimationClass } from '@legacyApp/client/modules/app/animationService';\nimport { checkHotkeysAllowed } from '@legacyApp/client/modules/app/checkHotkeysAllowed';\nimport { Trans, trans } from '@legacyApp/client/modules/translation/translate';\nimport { OPTIONS } from '@legacyApp/client/store/options/options.constants';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\nimport {\n\tuseAppDispatch,\n\tuseDispatchCallback,\n} from '@legacyApp/hooks/store/useAppDispatch';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { useGameFormLock } from '@modules/games/Game/store/game/game.selectors';\nimport { getHotkeyThunk } from '@modules/games/Game/store/game/thunks/getHotkey.thunk';\nimport {\n\tAutoBetMode,\n\thandleBetThunk,\n} from '@modules/games/Game/store/game/thunks/handleBet.thunk';\nimport { autobetSetActive } from '@modules/games/Game/store/gameAutobet/gameAutobet.actions';\nimport {\n\tuseGameAutoBetActive,\n\tuseGameAutoBetIsRolling,\n} from '@modules/games/Game/store/gameAutobet/gameAutobet.selectors';\nimport { autobetOpenModalThunk } from '@modules/games/Game/store/gameAutobet/thunks/autoBetOpenModalThunk';\nimport { useGameValidationFormError } from '@modules/games/Game/store/gameValidation/gameValidation.selectors';\nimport { openModal } from '@modules/modals/store/modal.actions';\n\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport { LoadingLogo } from '@legacyApp/client/components/loadingLogo/loading';\nimport { Tooltip } from '@legacyApp/client/components/tooltip';\nimport { GameSettingsContainer } from '@modules/games/Game/components/Game.components/gameSettings';\n\nconst GamePanel: FC<\n\tPropsWithChildren<{\n\t\tgame: GameType;\n\t\tloading?: boolean;\n\t\tsettingsAsList?: boolean;\n\t\tdisabled?: boolean;\n\t}>\n> = ({ game, loading, settingsAsList, disabled = false }) => {\n\tconst elementRef = useRef(null);\n\n\tconst buttonAnimationRef = useRef(new RepeatAnimationClass(1500));\n\n\tconst dispatch = useAppDispatch();\n\n\tconst autoBetRolling = useGameAutoBetIsRolling(game);\n\n\tconst mode = useGameAutoBetActive(game);\n\n\tconst isLogged = useUserIsLogged();\n\n\tconst isBetLoading = useLoaderModule(LOADING_IDS.PLACE_BET);\n\n\tconst isMobile = useAppMobile();\n\n\tconst isFormError = useGameValidationFormError(game);\n\n\tconst disableHotkeys = !useOptionEnabled(OPTIONS.HOTKEYS);\n\n\tconst animation = useOptionEnabled(OPTIONS.ANIMATION);\n\n\tconst formLocked = useGameFormLock(game);\n\n\tconst prevAutoBetRolling = usePrevious(autoBetRolling);\n\n\tconst updateAutoMode_ = useCallback(\n\t\t(payload) =>\n\t\t\tdispatch(\n\t\t\t\tautobetSetActive({\n\t\t\t\t\tvalue: payload,\n\t\t\t\t\tgame: game,\n\t\t\t\t}),\n\t\t\t),\n\t\t[dispatch, game],\n\t);\n\n\tconst autobetOpenModal_ = useDispatchCallback(autobetOpenModalThunk);\n\n\tconst openModal_ = useCallback(\n\t\t(id: ModalIdType, props?: any) =>\n\t\t\tdispatch(openModal(id, 'gamePanel', props)),\n\t\t[dispatch],\n\t);\n\n\tconst handleBet_ = useDispatchCallback(handleBetThunk);\n\n\tconst getHotkey_ = useDispatchCallback(getHotkeyThunk);\n\n\tconst [clickedStop, setClickedStop] = useState(false);\n\n\tconst [clicked, setClicked] = useState(false);\n\n\tconst checkFormValid = useCallback(() => {\n\t\tif (!isLogged || autoBetRolling) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !isFormError;\n\t}, [isLogged, isFormError, autoBetRolling]);\n\n\tconst isFormValid = useStateEffect(checkFormValid);\n\n\tconst enableClicked = useCallback(() => {\n\t\tif (!animation || !checkFormValid()) {\n\t\t\treturn;\n\t\t}\n\n\t\tbuttonAnimationRef.current.trigger(clicked, (bool) => setClicked(bool));\n\t}, [animation, checkFormValid, clicked]);\n\n\tconst handleBet = useCallback(() => {\n\t\tif (autoBetRolling) {\n\t\t\tif (mode === AutoBetMode.FLASH) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tenableClicked();\n\t\t\tsetClickedStop(true);\n\t\t} else if (loading || formLocked || disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tenableClicked();\n\n\t\thandleBet_(false, game);\n\t}, [\n\t\tautoBetRolling,\n\t\tdisabled,\n\t\tenableClicked,\n\t\tformLocked,\n\t\tgame,\n\t\thandleBet_,\n\t\tloading,\n\t\tmode,\n\t]);\n\n\tconst handleAutobetOptions = useCallback(() => {\n\t\tautobetOpenModal_(game);\n\t}, [autobetOpenModal_, game]);\n\n\tconst onAutoClick = useCallback(() => {\n\t\tif (autoBetRolling) {\n\t\t\treturn openModal_(MODAL_ID.STRATEGY);\n\t\t}\n\n\t\tif (disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tupdateAutoMode_(true);\n\n\t\thandleAutobetOptions();\n\t}, [\n\t\tautoBetRolling,\n\t\thandleAutobetOptions,\n\t\topenModal_,\n\t\tupdateAutoMode_,\n\t\tdisabled,\n\t]);\n\n\tconst onDeposit = useCallback(() => {\n\t\tif (isLogged) {\n\t\t\treturn;\n\t\t}\n\n\t\topenModal_(MODAL_ID.NEW_ACCOUNT);\n\t}, [isLogged, openModal_]);\n\n\tconst handleKeyboard = useCallback(\n\t\t(obj) => {\n\t\t\tif (!elementRef.current || !checkHotkeysAllowed(disableHotkeys)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (obj.keyCode === getHotkey_('roll', game).keyCode) {\n\t\t\t\tobj.preventDefault();\n\n\t\t\t\thandleBet();\n\t\t\t}\n\t\t},\n\t\t[disableHotkeys, game, getHotkey_, handleBet],\n\t);\n\n\tconst isBetLoading_ = loading ? true : isBetLoading;\n\n\tuseEffect(() => {\n\t\tif (prevAutoBetRolling !== autoBetRolling) {\n\t\t\tsetClickedStop(false);\n\t\t}\n\t}, [autoBetRolling, prevAutoBetRolling]);\n\n\tuseWindowEventListener('keydown', handleKeyboard);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`${CSSClassNameGamePanel} relative float-left flex justify-center flex-col items-center w-full h-full gap-6`}\n\t\t\tref={elementRef}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={`${CSSClassNameGamePanelButtons} float-left w-full h-full items-center flex h-auto justify-center relative mt-2.5 mb-0 mx-0 minWidthDesktop:mt-[15px] minWidthBigDesktop:mt-[30px]`}\n\t\t\t>\n\t\t\t\t<Tooltip content={trans({ label: 'Deposit' })}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\tisLogged\n\t\t\t\t\t\t\t\t? () => openModal_(MODAL_ID.WALLET, 'gamePanel')\n\t\t\t\t\t\t\t\t: onDeposit\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={`${CSSClassNameGamePanelWallet} flex cursor-pointer items-center justify-center bg-[var(--color-dark-400)] w-[23vw] h-[11.5vw] max-h-[45px] max-w-[95px] opacity-100 relative z-[1] mr-[-2vw] rounded-[28px_0_0_28px] [&_svg]:min-w-[30%] [&_svg]:mb-[3px] [&_svg]:h-4/5 [&_svg]:absolute [&_svg]:-translate-y-2/4 [&_svg]:top-2/4 minWidthDesktop:max-h-[50px] minWidthDesktop:max-w-[110px] minWidthBigDesktop:max-h-[60px] minWidthBigDesktop:max-w-[130px] minWidthDesktop:mr-[-18px] minWidthBigDesktop:-mr-5 max_tablet_small:mr-[-3vw]`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Wallet />\n\t\t\t\t\t</div>\n\t\t\t\t</Tooltip>\n\n\t\t\t\t<div\n\t\t\t\t\tclassName={`${CSSClassNameGamePanelBet} relative flex justify-center items-center cursor-pointer h-[15vw] tracking-[0.3px] leading-[30px] max-h-[55px] max-w-[150px] w-[40vw] z-[2] rounded-[64px] bg-[linear-gradient(55deg,_#4dca77_6.79%,_#18d458_94.06%)] border border-solid border-[color:var(--misc-border,#406aa3)] font-maven text-[color:var(--White,#fff)] text-xl font-bold text-center uppercase minWidthDesktop:max-h-[64px] minWidthDesktop:max-w-[175px] minWidthBigDesktop:max-h-[75px] minWidthBigDesktop:max-w-[205px] ${\n\t\t\t\t\t\t!isFormValid\n\t\t\t\t\t\t\t? 'bg-[linear-gradient(55deg,_#3b9b5b_6.79%,_#11963e_94.06%)] text-[color:var(--color-white-white-50)] cursor-default'\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t} ${mode === 'flash' ? 'pointer-events-none' : ''}`}\n\t\t\t\t\tonClick={handleBet}\n\t\t\t\t>\n\t\t\t\t\t<LoadingLogo\n\t\t\t\t\t\tclassName={`${\n\t\t\t\t\t\t\t(isBetLoading_ && autoBetRolling) ||\n\t\t\t\t\t\t\t(!isBetLoading_ && !(clickedStop && autoBetRolling))\n\t\t\t\t\t\t\t\t? 'hidden'\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t}`}\n\t\t\t\t\t\theight={isMobile ? 28 : 39}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`uppercase ${\n\t\t\t\t\t\t\t(isBetLoading_ && !autoBetRolling) ||\n\t\t\t\t\t\t\t(clickedStop && autoBetRolling)\n\t\t\t\t\t\t\t\t? 'hidden'\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tautoBetRolling ? (\n\t\t\t\t\t\t\t\t\tmode === 'flash' ? (\n\t\t\t\t\t\t\t\t\t\t<AwesomeIcon icon={faBolt} />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t'Stop'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t'Bet'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\tcontent={!!autoBetRolling && trans({ label: 'Strategy details' })}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tonClick={onAutoClick}\n\t\t\t\t\t\tclassName={`${CSSClassNameGamePanelAutoBet} flex cursor-pointer items-center justify-center bg-[var(--color-dark-400)] w-[23vw] h-[11.5vw] max-h-[45px] max-w-[95px] opacity-100 relative z-[1] ml-[-2vw] rounded-[0_28px_28px_0] [&_svg]:mb-[3px] [&_svg]:min-w-[25%] [&_svg]:h-4/5 [&_svg]:absolute [&_svg]:-translate-y-2/4 [&_svg]:top-2/4 minWidthDesktop:max-h-[50px] minWidthDesktop:max-w-[110px] minWidthBigDesktop:max-h-[60px] minWidthBigDesktop:max-w-[130px] minWidthDesktop:ml-[-18px] minWidthBigDesktop:-ml-5 max_tablet_small:ml-[-3vw]`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{autoBetRolling ? <StrategyIcon /> : <AutobetIcon />}\n\t\t\t\t\t</div>\n\t\t\t\t</Tooltip>\n\t\t\t</div>\n\n\t\t\t{!isMobile && (\n\t\t\t\t<GameSettingsContainer\n\t\t\t\t\tgame={game}\n\t\t\t\t\tlist={settingsAsList}\n\t\t\t\t\thorizontal={settingsAsList}\n\t\t\t\t\tclassName=\"max_tablet_large:side-menu-open:hidden\"\n\t\t\t\t\tdisabled={!!loading}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const CSSClassNameGamePanel = 'game-panel';\n\nexport const CSSClassNameGamePanelButtons = 'game-panel-buttons';\n\nexport const CSSClassNameGamePanelWallet = 'game-panel-wallet';\n\nexport const CSSClassNameGamePanelBet = 'game-panel-bet';\n\nexport const CSSClassNameGamePanelAutoBet = 'game-panel-autobet';\n\nexport { GamePanel };\n","import { RollRule } from '../types/RollRule';\n\nexport const checkIsDoubleValue = (rule: RollRule): boolean => {\n\treturn [RollRule.BETWEEN, RollRule.OUTSIDE].indexOf(rule) > -1;\n};\n","import { RollRule } from '../types/RollRule';\n\nexport const checkIsQuadrupleValue = (rule: RollRule): boolean => {\n\treturn [RollRule.TWO_RANGE].indexOf(rule) > -1;\n};\n","import { config } from '@legacyApp/client/config';\nimport { mathService } from '@legacyApp/client/modules/math/mathService';\nimport {\n\tgetMaxWinChance,\n\tgetMinWinChance,\n} from '@legacyApp/client/modules/app/validateService';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { roundBetValue } from '@modules/games/DiceGame/components/BetValue/betValue.constants';\nimport {\n\tGetBetValueMaxMin,\n\tGetBetValueMaxMinProps,\n\tGetBetValueMaxMinResult,\n} from '../types/GetBetValueMaxMin';\nimport { RollRule } from '../types/RollRule';\nimport { GameType } from '../constants/availableGames';\nimport { checkIsSingleValue } from './checkIsSingleValue';\n\nexport const MAX_WIN_CHANCE = getMaxWinChance();\nexport const MIN_WIN_CHANCE = getMinWinChance(GameType.DICE);\n\nexport const MAX_BET_RESULT = config.games.dice.maxBetResult;\nexport const MIN_BET_RESULT = config.games.dice.minBetResult;\nexport const MIN_BET_VALUE_UNIT = mathService.getMinValueByPrecision(\n\tconfig.decimals.betValue,\n);\nexport const GUARANTEED_LOST_VALUES_WIN_CHANCE = roundBetValue(\n\tMAX_BET_RESULT - config.games.maxWinChance,\n);\nexport const MAX_RANGE_VALUE = roundBetValue(\n\tMAX_BET_RESULT + MIN_BET_VALUE_UNIT,\n);\n\nexport const getPrevAndNextBetValue = (props: GetBetValueMaxMinProps) => {\n\tif (!isTrueOrZero(props.index)) {\n\t\treturn {};\n\t}\n\tconst prevBetValue = props.betValues?.[props.index - 1];\n\tconst nextBetValue = props.betValues?.[props.index + 1];\n\treturn {\n\t\tprevBetValue,\n\t\tnextBetValue,\n\t};\n};\n\nexport const getSingleBetValueMaxMin = (\n\tprops: GetBetValueMaxMinProps,\n): GetBetValueMaxMinResult => {\n\tif (props.rule === RollRule.DIRECT) {\n\t\treturn {\n\t\t\tmin: roundBetValue(MIN_BET_RESULT),\n\t\t\tmax: roundBetValue(MAX_BET_RESULT),\n\t\t};\n\t}\n\tif (props.rule === RollRule.OVER) {\n\t\treturn {\n\t\t\tmin: roundBetValue(MIN_BET_RESULT + GUARANTEED_LOST_VALUES_WIN_CHANCE),\n\t\t\tmax: roundBetValue(MAX_BET_RESULT - MIN_BET_VALUE_UNIT),\n\t\t};\n\t}\n\treturn {\n\t\tmin: roundBetValue(MIN_BET_RESULT + MIN_BET_VALUE_UNIT),\n\t\tmax: roundBetValue(MAX_BET_RESULT - GUARANTEED_LOST_VALUES_WIN_CHANCE),\n\t};\n};\n\nexport const getBetweenBetValueMaxMin = (\n\tprops: GetBetValueMaxMinProps,\n): GetBetValueMaxMinResult => {\n\tconst { prevBetValue, nextBetValue } = getPrevAndNextBetValue(props);\n\n\tlet min = MIN_BET_RESULT;\n\tlet max = MAX_RANGE_VALUE;\n\n\tif (isTrueOrZero(nextBetValue)) {\n\t\tmin = nextBetValue - (MAX_WIN_CHANCE + MIN_BET_VALUE_UNIT);\n\t\tmax = nextBetValue - (MIN_WIN_CHANCE + MIN_BET_VALUE_UNIT);\n\t}\n\n\tif (isTrueOrZero(prevBetValue)) {\n\t\tmin = MIN_WIN_CHANCE + (prevBetValue + MIN_BET_VALUE_UNIT);\n\t\tmax = MAX_WIN_CHANCE + (prevBetValue + MIN_BET_VALUE_UNIT);\n\t}\n\n\treturn {\n\t\tmin: roundBetValue(min < MIN_BET_RESULT ? MIN_BET_RESULT : min),\n\t\tmax: roundBetValue(max > MAX_RANGE_VALUE ? MAX_RANGE_VALUE : max),\n\t};\n};\n\nexport const getOutsideBetValueMaxMin = (\n\tprops: GetBetValueMaxMinProps,\n): GetBetValueMaxMinResult => {\n\tconst { prevBetValue, nextBetValue } = getPrevAndNextBetValue(props);\n\n\tlet min = MIN_BET_RESULT;\n\tlet max = MAX_BET_RESULT;\n\n\tif (isTrueOrZero(nextBetValue)) {\n\t\tmin = nextBetValue + MIN_WIN_CHANCE - MAX_BET_RESULT;\n\t\tmax = nextBetValue + MAX_WIN_CHANCE - MAX_BET_RESULT;\n\t}\n\n\tif (isTrueOrZero(prevBetValue)) {\n\t\tmin = prevBetValue - MAX_WIN_CHANCE + MAX_BET_RESULT;\n\t\tmax = prevBetValue - MIN_WIN_CHANCE + MAX_BET_RESULT;\n\t}\n\n\treturn {\n\t\tmin: roundBetValue(min < MIN_BET_RESULT ? MIN_BET_RESULT : min),\n\t\tmax: roundBetValue(max > MAX_BET_RESULT ? MAX_BET_RESULT : max),\n\t};\n};\n\nexport const getTwoRangeBetValueMaxMin = (\n\tprops: GetBetValueMaxMinProps,\n): GetBetValueMaxMinResult => {\n\tconst { index, betValues } = props;\n\n\tconst minResult = isTrueOrZero(betValues?.[index - 1])\n\t\t? betValues?.[index - 1] < MIN_BET_RESULT\n\t\t\t? MIN_BET_RESULT\n\t\t\t: betValues?.[index - 1] +\n\t\t\t (index % 2 === 1 ? 2 * MIN_BET_VALUE_UNIT : MIN_BET_VALUE_UNIT)\n\t\t: MIN_BET_RESULT;\n\tconst maxResult = isTrueOrZero(betValues?.[index + 1])\n\t\t? betValues?.[index + 1] > MAX_RANGE_VALUE\n\t\t\t? MAX_RANGE_VALUE\n\t\t\t: betValues?.[index + 1] -\n\t\t\t (index % 2 === 1 ? MIN_BET_VALUE_UNIT : 2 * MIN_BET_VALUE_UNIT)\n\t\t: MAX_RANGE_VALUE;\n\n\tlet min = minResult;\n\tlet max = maxResult;\n\n\tconst MIN_WIN_CHANCE_ = MIN_WIN_CHANCE + MIN_BET_VALUE_UNIT;\n\n\tif (index === 0) {\n\t\tmin =\n\t\t\tbetValues[3] +\n\t\t\tbetValues[1] -\n\t\t\tbetValues[2] -\n\t\t\t(MAX_WIN_CHANCE + 2 * MIN_BET_VALUE_UNIT);\n\t\tmax =\n\t\t\tbetValues[3] +\n\t\t\tbetValues[1] -\n\t\t\tbetValues[2] -\n\t\t\t(MIN_WIN_CHANCE_ + 2 * MIN_BET_VALUE_UNIT);\n\t}\n\n\tif (index === 1) {\n\t\tmin =\n\t\t\tMIN_WIN_CHANCE_ +\n\t\t\t2 * MIN_BET_VALUE_UNIT -\n\t\t\tbetValues[3] +\n\t\t\tbetValues[2] +\n\t\t\tbetValues[0];\n\t\tmax =\n\t\t\tMAX_WIN_CHANCE +\n\t\t\t2 * MIN_BET_VALUE_UNIT -\n\t\t\tbetValues[3] +\n\t\t\tbetValues[2] +\n\t\t\tbetValues[0];\n\t}\n\n\tif (index === 2) {\n\t\tmin =\n\t\t\tbetValues[3] +\n\t\t\tbetValues[1] -\n\t\t\tbetValues[0] -\n\t\t\t(MAX_WIN_CHANCE + 2 * MIN_BET_VALUE_UNIT);\n\t\tmax =\n\t\t\tbetValues[3] +\n\t\t\tbetValues[1] -\n\t\t\tbetValues[0] -\n\t\t\t(MIN_WIN_CHANCE_ + 2 * MIN_BET_VALUE_UNIT);\n\t}\n\n\tif (index === 3) {\n\t\tmin =\n\t\t\tMIN_WIN_CHANCE_ +\n\t\t\t2 * MIN_BET_VALUE_UNIT -\n\t\t\tbetValues[1] +\n\t\t\tbetValues[2] +\n\t\t\tbetValues[0];\n\t\tmax =\n\t\t\tMAX_WIN_CHANCE +\n\t\t\t2 * MIN_BET_VALUE_UNIT -\n\t\t\tbetValues[1] +\n\t\t\tbetValues[2] +\n\t\t\tbetValues[0];\n\t}\n\n\treturn {\n\t\tmin: roundBetValue(min < minResult ? minResult : min),\n\t\tmax: roundBetValue(max > maxResult ? maxResult : max),\n\t};\n};\n\nexport const getBetValueMaxMin: GetBetValueMaxMin = (props) => {\n\tif (checkIsSingleValue(props.rule)) {\n\t\treturn getSingleBetValueMaxMin(props);\n\t}\n\n\tif (props.rule === RollRule.BETWEEN) {\n\t\treturn getBetweenBetValueMaxMin(props);\n\t}\n\n\tif (props.rule === RollRule.OUTSIDE) {\n\t\treturn getOutsideBetValueMaxMin(props);\n\t}\n\n\tif (props.rule === RollRule.TWO_RANGE) {\n\t\treturn getTwoRangeBetValueMaxMin(props);\n\t}\n\n\treturn {\n\t\tmin: null,\n\t\tmax: null,\n\t};\n};\n","import { RootState } from '@legacyApp/client/store/configure.store';\nimport { scientificToDecimal } from '@legacyApp/methods/math/scientificToDecimal';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { RollRule } from '../types/RollRule';\nimport { checkIsSingleValue } from './checkIsSingleValue';\nimport { getWinChangeFromSingleBetValue } from './getWinChanceFromBetValues';\nimport { checkIsDoubleValue } from './checkIsDoubleValue';\nimport { checkIsQuadrupleValue } from './checkIsQuadrupleValue';\nimport { BetValuesDTO } from './mapBetValuesDTO';\n\nconst parseValue = (value: number): string => {\n\treturn scientificToDecimal(roundNumber(value, 2)).toString();\n};\n\ninterface BetValuesBetConfig extends BetValuesDTO {\n\trule?: RollRule;\n}\n\nexport const getRuleBetValuesBetConfig = (\n\trule: RollRule,\n\tbetValue: RootState['dice']['betValue'],\n): BetValuesBetConfig => {\n\tif (rule === RollRule.DIRECT) {\n\t\treturn {\n\t\t\tbet_value: parseValue(betValue.singleUnder),\n\t\t};\n\t}\n\tif (checkIsSingleValue(rule)) {\n\t\treturn {\n\t\t\tbet_value: parseValue(\n\t\t\t\tgetWinChangeFromSingleBetValue(betValue.singleUnder, rule),\n\t\t\t),\n\t\t};\n\t}\n\tif (checkIsDoubleValue(rule)) {\n\t\treturn {\n\t\t\tbet_value_first: parseValue(betValue.double[0]),\n\t\t\tbet_value_second: parseValue(betValue.double[1]),\n\t\t};\n\t}\n\tif (checkIsQuadrupleValue(rule)) {\n\t\treturn {\n\t\t\tbet_value_first: parseValue(betValue.quadruple[0]),\n\t\t\tbet_value_second: parseValue(betValue.quadruple[1]),\n\t\t\tbet_value_third: parseValue(betValue.quadruple[2]),\n\t\t\tbet_value_fourth: parseValue(betValue.quadruple[3]),\n\t\t};\n\t}\n\treturn null;\n};\n","import { getWinChanceDecimal } from '@legacyApp/client/modules/app/gameService';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { GameType } from '../constants/availableGames';\nimport { RollRule } from '../types/RollRule';\nimport { MAX_BET_RESULT, MIN_BET_VALUE_UNIT } from './getBetValueMaxMin';\n\nexport const parseSingleBetValue = (betValue: number, rule: RollRule) => {\n\tif (rule === RollRule.DIRECT) {\n\t\treturn betValue;\n\t}\n\n\treturn getWinChangeFromSingleBetValue(betValue, rule);\n};\n\nexport const getWinChangeFromSingleBetValue = (\n\tbetValue: number,\n\trule: RollRule,\n): number => {\n\tif (!isTrueOrZero(betValue)) {\n\t\treturn null;\n\t}\n\tif (rule === RollRule.OVER) {\n\t\treturn roundNumber(\n\t\t\tMAX_BET_RESULT - betValue,\n\t\t\tgetWinChanceDecimal(GameType.DICE),\n\t\t);\n\t}\n\tif (rule === RollRule.DIRECT) {\n\t\treturn roundNumber(MIN_BET_VALUE_UNIT, getWinChanceDecimal(GameType.DICE));\n\t}\n\treturn betValue;\n};\n\nexport const getWinChanceFromMultipleBetValues = (\n\tbetValue: ReadonlyArray<number>,\n\trule: RollRule,\n): number => {\n\tif (!betValue?.length) {\n\t\treturn null;\n\t}\n\tif (rule === RollRule.OUTSIDE) {\n\t\treturn roundNumber(\n\t\t\tMAX_BET_RESULT - roundNumber(betValue[1] - betValue[0]),\n\t\t\tgetWinChanceDecimal(GameType.DICE),\n\t\t);\n\t}\n\tif (rule === RollRule.BETWEEN) {\n\t\treturn roundNumber(\n\t\t\troundNumber(betValue[1] - (betValue[0] + MIN_BET_VALUE_UNIT)),\n\t\t\tgetWinChanceDecimal(GameType.DICE),\n\t\t);\n\t}\n\tif (rule === RollRule.TWO_RANGE) {\n\t\treturn roundNumber(\n\t\t\troundNumber(betValue[1] - (betValue[0] + MIN_BET_VALUE_UNIT)) +\n\t\t\t\troundNumber(betValue[3] - (betValue[2] + MIN_BET_VALUE_UNIT)),\n\t\t\tgetWinChanceDecimal(GameType.DICE),\n\t\t);\n\t}\n\treturn null;\n};\n","import { isLoadingThunk } from '@legacyApp/client/store/loader/loader.actions';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { isFormError } from '@legacyApp/client/modules/app/validateService';\nimport { scientificToDecimal } from '@legacyApp/methods/math/scientificToDecimal';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { Sounds } from '@common/constants/config/sounds';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { Risk } from '@modules/games/Game/types/GameRisk';\nimport { kenoActions } from '@modules/games/Game/store/keno/keno.actions';\nimport { checkGameForm } from '../../gameValidation/gameValidation.actions';\nimport audioService from '../../../../../../LegacyApp/client/modules/app/audioService';\nimport { bet } from '../game.actions';\nimport { GameType } from '../../../constants/availableGames';\nimport { getRuleBetValuesBetConfig } from '../../../methods/getRuleBetValuesBetConfig';\nimport { BetConfig } from '../@types/BetConfig';\nimport {\n\tautobetSetActive,\n\tautobetSetDefaults,\n\tautobetStop,\n} from '../../gameAutobet/gameAutobet.actions';\n\nexport enum AutoBetMode {\n\tFLASH = 'flash',\n\tAUTO = 'auto',\n}\n\nexport const handleBetThunk = (\n\tautoBetMode: AutoBetMode | false,\n\tgame?: GameType,\n\tforceAutoBet?: boolean,\n): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tif (!game) {\n\t\t\tgame = state.game?.activeGame;\n\t\t}\n\t\tif (state.gameAutobet?.autoBetRolling[game] && !forceAutoBet) {\n\t\t\treturn dispatch(\n\t\t\t\tautobetSetActive({\n\t\t\t\t\tvalue: false,\n\t\t\t\t\tgame,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\tdispatch(\n\t\t\t\tisLoadingThunk([LOADING_IDS.PLACE_BET, LOADING_IDS.FLASH_BET]),\n\t\t\t) ||\n\t\t\tstate.game.formLock?.[game]\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif (!state.user.isLogged) {\n\t\t\treturn dispatch(openModal(MODAL_ID.NEW_ACCOUNT, 'roll_button'));\n\t\t}\n\t\tconst isFormErrorResult = isFormError(state, game, autoBetMode);\n\t\tif (isFormErrorResult?.error) {\n\t\t\treturn dispatch(checkGameForm(game));\n\t\t}\n\n\t\tlet result: BetConfig = {\n\t\t\tcurrency: state.user.activeCurrency.toLowerCase(),\n\t\t\tgame,\n\t\t\tamount: scientificToDecimal(\n\t\t\t\tparseFloat(state.game?.betAmount[game]),\n\t\t\t).toString(),\n\t\t\tmultiplier: scientificToDecimal(\n\t\t\t\troundNumber(state.game?.payoutValue[game], 4),\n\t\t\t).toString(),\n\t\t};\n\n\t\tif (game === GameType.DICE) {\n\t\t\tconst rule = state.dice?.rollDirection;\n\t\t\tresult = {\n\t\t\t\t...result,\n\t\t\t\trule,\n\t\t\t\t...(getRuleBetValuesBetConfig(rule, state.dice?.betValue) || {}),\n\t\t\t};\n\t\t}\n\n\t\tif (game === GameType.PLINKO) {\n\t\t\tdelete result.multiplier;\n\t\t\tresult = {\n\t\t\t\t...result,\n\t\t\t\trisk: state?.plinko?.risk || Risk.LOW,\n\t\t\t\trows: state?.plinko?.lines || 8,\n\t\t\t};\n\t\t}\n\n\t\tif (game === GameType.KENO) {\n\t\t\tdispatch(kenoActions.drawnNumbersUpdate([]));\n\n\t\t\tresult = {\n\t\t\t\t...result,\n\t\t\t\trisk: state?.keno?.risk || Risk.LOW,\n\t\t\t\tselected: state?.keno?.selectedNumbers || [],\n\t\t\t};\n\t\t}\n\n\t\tif (autoBetMode) {\n\t\t\tresult[autoBetMode] = true;\n\t\t}\n\n\t\taudioService.play(Sounds.roll);\n\t\tconst actions = autoBetMode ? [autobetSetDefaults(game)] : [];\n\t\tif (state.gameAutobet?.active[game] !== autoBetMode) {\n\t\t\tactions.push(\n\t\t\t\tautobetSetActive({\n\t\t\t\t\tvalue: autoBetMode,\n\t\t\t\t\tgame,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\tactions.push(\n\t\t\tstate.gameAutobet?.id[game]\n\t\t\t\t? autobetStop({ game, actions: [bet(result, 'autoBetCallback')] })\n\t\t\t\t: bet(result, 'handleBetAction'),\n\t\t);\n\n\t\tfor (const action of actions) {\n\t\t\tdispatch(action);\n\t\t}\n\t};\n};\n"],"names":["AutobetIcon","fill","height","fill_","width_","width","height_","get","useId","id","content","clipPath","url","d","transform","StrategyIcon","stroke","strokeMiterlimit","strokeLinecap","wrapperFill","viewBox","useLoader","useAppSelector","state","loader","shallowEqual","useLoaderModule","modules","GAME","GameType","ID","roundBetValue","value","roundNumber","config","StatsType","StyledRollsCounter","styled","props","className","classname","borderRadius","StyledRollsCounterValue","StyledAutobetLayout","classNames","boxNoHeight","theme","media","maxWidthTablet","$chartEnabled","CSSClassNameLineChart","minWidthBigDesktop","maxWidthMobile","maxWidthDesktop","minWidthDesktop","StyledAutobetLayoutTop","RollsCounter","game","rollsCounter","useGameAutoBetRollsCounter","value_","isTrueOrZero","Number","label","AwesomeIcon","icon","faInfinity","Autobet","chartEnabled","useOptionEnabled","OPTIONS","autoStats","useGameAutoBetStats","AutoBetSessionSwitch","ToggleOption","buttonProps","size","Size","iconBefore","faChartLine","styleType","ButtonStyleType","themeColors","blueGrey50","blueGrey300","blueGrey500","enabled","auto","PrefetchLoadebleComponent","Component","FlashBetAnimation","timeout","useRef","useState","active","setActive","checkAnimation","useCallback","element","document","querySelector","LottieIds","current","clearTimeout","setTimeout","useOnMount","StyledFlashBetAnimation","StyledFlashBetMock","Image","src","alt","LottieWrapper","dataname","json","animation","StyledLottie","AutoBetLayout","children","disableProfit","settingsAsList","activeGame","useGameActiveGame","game_","mode","useGameAutoBetActive","currencyAutoBet","useGameAutoBetCurrency","currency","useUserActiveCurrency","currency_","GameLoaded","loaded","AutobetLayoutStyled","classnames","modalService","MODAL_ID","LastBets","noAnimation","noValidate","onSubmit","preventDefault","localTheme","GamePanel","GameStats","noChart","noToggleLayout","CSSClassNameLastBetsWrapper","CSSClassNameVictoryChart","dispatch","useAppDispatch","toggleChart","autobetSetAutoStats","activeTabId","tabs","Object","keys","map","key","toLowerCase","onClick","loading","disabled","elementRef","buttonAnimationRef","RepeatAnimationClass","autoBetRolling","useGameAutoBetIsRolling","isLogged","useUserIsLogged","isBetLoading","LOADING_IDS","isMobile","useAppMobile","isFormError","useGameValidationFormError","disableHotkeys","formLocked","useGameFormLock","prevAutoBetRolling","usePrevious","updateAutoMode_","payload","autobetSetActive","autobetOpenModal_","useDispatchCallback","autobetOpenModalThunk","openModal_","openModal","handleBet_","handleBetThunk","getHotkey_","getHotkeyThunk","clickedStop","setClickedStop","clicked","setClicked","checkFormValid","isFormValid","useStateEffect","enableClicked","trigger","bool","handleBet","AutoBetMode","handleAutobetOptions","onAutoClick","onDeposit","handleKeyboard","obj","checkHotkeysAllowed","keyCode","isBetLoading_","useEffect","useWindowEventListener","CSSClassNameGamePanel","ref","CSSClassNameGamePanelButtons","trans","CSSClassNameGamePanelWallet","Wallet","CSSClassNameGamePanelBet","faBolt","CSSClassNameGamePanelAutoBet","list","horizontal","checkIsDoubleValue","rule","RollRule","indexOf","checkIsQuadrupleValue","MAX_WIN_CHANCE","getMaxWinChance","MIN_WIN_CHANCE","getMinWinChance","MAX_BET_RESULT","MIN_BET_RESULT","MIN_BET_VALUE_UNIT","mathService","GUARANTEED_LOST_VALUES_WIN_CHANCE","MAX_RANGE_VALUE","getPrevAndNextBetValue","index","prevBetValue","betValues","nextBetValue","getBetValueMaxMin","checkIsSingleValue","min","max","getSingleBetValueMaxMin","getBetweenBetValueMaxMin","getOutsideBetValueMaxMin","minResult","maxResult","MIN_WIN_CHANCE_","getTwoRangeBetValueMaxMin","parseValue","scientificToDecimal","toString","getRuleBetValuesBetConfig","betValue","bet_value","singleUnder","getWinChangeFromSingleBetValue","bet_value_first","bet_value_second","quadruple","bet_value_third","bet_value_fourth","parseSingleBetValue","getWinChanceDecimal","getWinChanceFromMultipleBetValues","length","autoBetMode","forceAutoBet","getState","gameAutobet","isLoadingThunk","formLock","user","isFormErrorResult","error","checkGameForm","result","activeCurrency","amount","parseFloat","betAmount","multiplier","payoutValue","dice","rollDirection","risk","plinko","Risk","rows","lines","kenoActions","keno","selected","selectedNumbers","audioService","Sounds","actions","autobetSetDefaults","push","autobetStop","bet"],"mappings":"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","debug_id":"8f32a8a1-ea3c-5d23-97cd-ba8b4c8039ec"}