{"version":3,"file":"static/js/betslip-element.92fdf16a.chunk.js","mappings":"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","sources":["components/BetslipFeatureSwitcher/index.tsx","elements/Betslip/components/PredefinedStakes/index.tsx","components/CustomKeyboard/index.tsx","utils/bom-dom-manipulation/get-scroll-parent.ts","components/StakeField/index.tsx","components/StakeField/style.ts","deviceactionmanager/DeviceActionManager.ts","hooks/useBalance.ts","hooks/useCheckIsAccountBalanceAvailable.ts","hooks/useCheckStakeBalance.ts","hooks/usePredefinedStakes.ts","hooks/usePrevious.ts","hooks/useRefValue.ts","newcomponents/Shared/account/PlayerActivityChecker/types.ts","newcomponents/Shared/betslip/BetWithBonusOrDepositBalance/index.tsx","hooks/useProfitBoost.ts","newcomponents/UI/Badge/index.tsx","newcomponents/UI/Input/index.tsx","newelements/_Betslip/Skeleton/index.tsx","newelements/_Betslip/components/containers/RootContainer.tsx","newelements/_Betslip/managers/ToggleManager/toggle-betslip-options.ts","components/CustomTabBar/style.ts","components/CustomTabBar/index.tsx","newelements/_Betslip/components/shared/BetslipTabs/index.tsx","newelements/_Betslip/components/shared/Features/QuickBet/QuickBet.tsx","newelements/_Betslip/views/LoadingInProcess.tsx","components/QuickbetToggle/index.tsx","newelements/_Betslip/components/shared/Features/QuickBet/index.tsx","newelements/_Betslip/layouts/Advanced/index.tsx","newelements/_Betslip/layouts/Basic/index.tsx","newelements/_Betslip/layouts/index.tsx","newelements/_Betslip/managers/BetsManager/index.tsx","services/sportsbook/sport-bonus-rules.ts","newelements/_Betslip/managers/ConfigManager/index.tsx","newelements/_Betslip/managers/CounterOfferManager/index.ts","newelements/_Betslip/managers/FreeBetManager/index.tsx","newelements/_Betslip/managers/OpenBetManager/index.tsx","newelements/_Betslip/managers/ProfitBoostManager/index.tsx","newelements/_Betslip/managers/QuickBetManager/index.ts","newelements/_Betslip/managers/SetupManager/index.tsx","newelements/_Betslip/managers/index.tsx","utils/constants/betslip/betslip-event-template.ts","utils/betslip/format-subscribed-data.ts","hooks/useBetSlipSubscription.ts","newelements/_Betslip/component.tsx","newelements/_Betslip/components/EachWay/index.tsx","newelements/_Betslip/components/shared/Switchers/BasicSwitcher/index.tsx","newelements/_Betslip/components/shared/Switchers/QuickBetSwitcher/BaseSwtcher.tsx","newelements/_Betslip/managers/ProfitBoostManager/actions.ts","newelements/_Betslip/managers/QuickBetManager/quickBetActions.ts","newelements/_Betslip/providers/configs-provider.tsx","newelements/_Betslip/types/configs.ts","newelements/_Betslip/types/quick-bet.ts","newelements/_Betslip/types/toggle.ts","newelements/_Betslip/views/style.ts","newhooks/generic/useHeaderVisibility.ts","services/bet-slip.ts","services/get-each-way.ts","store/selectors/new-casino.ts","utils/bom-dom-manipulation/wrapper-row-z-index.ts","utils/constants/sportsbook/magic-numbers.ts","utils/constants/sportsbook/pistol-and-archery-shootings.ts","utils/constants/sportsbook/private-competitions.ts","utils/helpers/debounce.ts","utils/helpers/fixed-header.ts","utils/constants/moba-games/dota-2.ts","utils/constants/moba-games/league-of-legends.ts","utils/helpers/moba-games-statistics-options.ts","utils/constants/sportsbook/period-names.ts","utils/sportsbook/game-current-state.ts","../node_modules/antd-mobile/lib/tabs/index.js","../node_modules/babel-runtime/core-js/object/assign.js","../node_modules/babel-runtime/core-js/object/create.js","../node_modules/babel-runtime/core-js/object/define-property.js","../node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js","../node_modules/babel-runtime/core-js/object/get-prototype-of.js","../node_modules/babel-runtime/core-js/object/set-prototype-of.js","../node_modules/babel-runtime/core-js/symbol.js","../node_modules/babel-runtime/core-js/symbol/iterator.js","../node_modules/babel-runtime/helpers/classCallCheck.js","../node_modules/babel-runtime/helpers/createClass.js","../node_modules/babel-runtime/helpers/extends.js","../node_modules/babel-runtime/helpers/get.js","../node_modules/babel-runtime/helpers/inherits.js","../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","../node_modules/babel-runtime/helpers/typeof.js","../node_modules/core-js/library/fn/object/assign.js","../node_modules/core-js/library/fn/object/create.js","../node_modules/core-js/library/fn/object/define-property.js","../node_modules/core-js/library/fn/object/get-own-property-descriptor.js","../node_modules/core-js/library/fn/object/get-prototype-of.js","../node_modules/core-js/library/fn/object/set-prototype-of.js","../node_modules/core-js/library/fn/symbol/index.js","../node_modules/core-js/library/fn/symbol/iterator.js","../node_modules/core-js/library/modules/_a-function.js","../node_modules/core-js/library/modules/_add-to-unscopables.js","../node_modules/core-js/library/modules/_an-object.js","../node_modules/core-js/library/modules/_array-includes.js","../node_modules/core-js/library/modules/_cof.js","../node_modules/core-js/library/modules/_core.js","../node_modules/core-js/library/modules/_ctx.js","../node_modules/core-js/library/modules/_defined.js","../node_modules/core-js/library/modules/_descriptors.js","../node_modules/core-js/library/modules/_dom-create.js","../node_modules/core-js/library/modules/_enum-bug-keys.js","../node_modules/core-js/library/modules/_enum-keys.js","../node_modules/core-js/library/modules/_export.js","../node_modules/core-js/library/modules/_fails.js","../node_modules/core-js/library/modules/_global.js","../node_modules/core-js/library/modules/_has.js","../node_modules/core-js/library/modules/_hide.js","../node_modules/core-js/library/modules/_html.js","../node_modules/core-js/library/modules/_ie8-dom-define.js","../node_modules/core-js/library/modules/_iobject.js","../node_modules/core-js/library/modules/_is-array.js","../node_modules/core-js/library/modules/_is-object.js","../node_modules/core-js/library/modules/_iter-create.js","../node_modules/core-js/library/modules/_iter-define.js","../node_modules/core-js/library/modules/_iter-step.js","../node_modules/core-js/library/modules/_iterators.js","../node_modules/core-js/library/modules/_library.js","../node_modules/core-js/library/modules/_meta.js","../node_modules/core-js/library/modules/_object-assign.js","../node_modules/core-js/library/modules/_object-create.js","../node_modules/core-js/library/modules/_object-dp.js","../node_modules/core-js/library/modules/_object-dps.js","../node_modules/core-js/library/modules/_object-gopd.js","../node_modules/core-js/library/modules/_object-gopn-ext.js","../node_modules/core-js/library/modules/_object-gopn.js","../node_modules/core-js/library/modules/_object-gops.js","../node_modules/core-js/library/modules/_object-gpo.js","../node_modules/core-js/library/modules/_object-keys-internal.js","../node_modules/core-js/library/modules/_object-keys.js","../node_modules/core-js/library/modules/_object-pie.js","../node_modules/core-js/library/modules/_object-sap.js","../node_modules/core-js/library/modules/_property-desc.js","../node_modules/core-js/library/modules/_redefine.js","../node_modules/core-js/library/modules/_set-proto.js","../node_modules/core-js/library/modules/_set-to-string-tag.js","../node_modules/core-js/library/modules/_shared-key.js","../node_modules/core-js/library/modules/_shared.js","../node_modules/core-js/library/modules/_string-at.js","../node_modules/core-js/library/modules/_to-absolute-index.js","../node_modules/core-js/library/modules/_to-integer.js","../node_modules/core-js/library/modules/_to-iobject.js","../node_modules/core-js/library/modules/_to-length.js","../node_modules/core-js/library/modules/_to-object.js","../node_modules/core-js/library/modules/_to-primitive.js","../node_modules/core-js/library/modules/_uid.js","../node_modules/core-js/library/modules/_wks-define.js","../node_modules/core-js/library/modules/_wks-ext.js","../node_modules/core-js/library/modules/_wks.js","../node_modules/core-js/library/modules/es6.array.iterator.js","../node_modules/core-js/library/modules/es6.object.assign.js","../node_modules/core-js/library/modules/es6.object.create.js","../node_modules/core-js/library/modules/es6.object.define-property.js","../node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js","../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../node_modules/core-js/library/modules/es6.string.iterator.js","../node_modules/core-js/library/modules/es6.symbol.js","../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../node_modules/core-js/library/modules/es7.symbol.observable.js","../node_modules/core-js/library/modules/web.dom.iterable.js","../node_modules/rc-gesture/es/config.js","../node_modules/rc-gesture/es/util.js","../node_modules/rc-gesture/es/index.js","../node_modules/rmc-tabs/es/util/index.js","../node_modules/rmc-tabs/es/TabPane.js","../node_modules/rmc-tabs/es/DefaultTabBar.js","../node_modules/rmc-tabs/es/Tabs.base.js","../node_modules/rmc-tabs/es/Tabs.js"],"sourcesContent":["import { FC } from 'react';\nimport { Switch } from 'antd';\nimport cc from 'classcat';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport { isMobile } from 'utils/is-mobile';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { CustomTooltip } from 'components/Tooltip';\nimport { EventAction } from '../EventAction';\nimport './index.less';\n\ntype Props = {\n  featureIsActive: boolean;\n  setFeatureIsActive: (val: boolean) => void;\n  tooltipText?: string;\n  featureName: string;\n  className?: string;\n  skipRowStyles?: boolean;\n};\n\nexport const BetslipFeatureSwitcher: FC<Props> = ({\n  featureIsActive,\n  setFeatureIsActive,\n  tooltipText,\n  featureName,\n  className,\n  skipRowStyles = false\n}) => {\n  return (\n    <div\n      data-testid={featureName.toLowerCase()}\n      className={cc([\n        'betslip-switcher__wrapper',\n        className,\n        {\n          'betslip-switcher__wrapper__active': featureIsActive && !skipRowStyles\n        }\n      ])}\n    >\n      <div className=\"betslip__switcher__container\">\n        {tooltipText ? (\n          <CustomTooltip\n            arrowPointAtCenter={true}\n            title={\n              <span style={{ color: 'var(--v3-text-color)', fontSize: '12px' }}>\n                {tooltipText}\n              </span>\n            }\n            overlayClassName={\n              isMobile() ? 'tooltipBetslipMob' : 'tooltipBetslip'\n            }\n            placement={isMobile() ? 'topLeft' : 'topRight'}\n            trigger={['click', 'hover']}\n            color=\"white\"\n            overlayStyle={{ color: 'red' }}\n          >\n            <EventAction\n              className=\"betslip__feature-info\"\n              icon={\n                <GlobalIcon\n                  lib=\"generic\"\n                  name=\"info\"\n                  theme=\"default\"\n                  size={EIconSize._16}\n                />\n              }\n              size=\"md\"\n            />\n          </CustomTooltip>\n        ) : null}\n\n        {featureName}\n      </div>\n      <Switch checked={featureIsActive} onChange={setFeatureIsActive} />\n    </div>\n  );\n};\n","import { FC, memo } from 'react';\nimport { useSelector } from 'react-redux';\nimport cc from 'classcat';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { add } from 'utils/generic/calculator';\nimport { isMobile } from 'utils/is-mobile';\nimport { formatPrice } from 'utils/string-manipulation/format-price';\nimport { Button } from 'newcomponents/UI/Button';\nimport { useCurrency } from 'hooks/useCurrency';\nimport { usePredefinedStakes } from 'hooks/usePredefinedStakes';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\nimport './index.less';\n\ntype Props = {\n  onChange: (value: string) => void;\n  changeCurrentStake?: (val: string) => void;\n  setSelected?: Function;\n  disabled?: boolean;\n  currentStake?: number | string;\n};\n// @Todo need to remove usage from CustomKeyboard (as we have task to update custom keyboard logic, we can replace this component with new one from newelemetns/_betslip folder during that task/)\nexport const PredefinedStakes: FC<Props> = memo(\n  ({ onChange, changeCurrentStake, setSelected, disabled, currentStake }) => {\n    const isLoggedIn = useSelector(getIsLoggedIn);\n    const { predefinedStakes } = usePredefinedStakes();\n\n    const onPredefinedInput = (value: string | number) => {\n      const stake = add(+value, currentStake ? +currentStake : 0);\n      const valueToUpdate = SpringConfigs.PREDEFINE_STAKES_ADDING\n        ? stake\n        : value;\n\n      if (changeCurrentStake) {\n        changeCurrentStake(valueToUpdate.toString());\n      }\n\n      onChange(valueToUpdate.toString());\n    };\n\n    const { formatAmount } = useCurrency();\n\n    const checkIsPredefinedStakesVisible = (): boolean => {\n      const { stake_1, stake_2, stake_3 } = predefinedStakes;\n\n      return !(!stake_1 || !stake_2 || !stake_3);\n    };\n\n    return (\n      <div\n        className={!isMobile() ? 'predefined--container' : 'predefined--mobile'}\n      >\n        {checkIsPredefinedStakesVisible() &&\n          Object.keys(predefinedStakes).map(key => {\n            const value =\n              predefinedStakes[key as keyof typeof predefinedStakes];\n\n            if (key === 'default_stake') {\n              return;\n            }\n\n            const regEx = new RegExp(SpringConfigs.PRICE_SEPARATOR, 'g');\n\n            return (\n              <Button\n                className={cc([\n                  'predefined--button',\n                  {\n                    'predefined--mobileButton': isMobile(),\n                    'predefined--buttonActive':\n                      +value?.replace(regEx, '') === +(currentStake || 0)\n                  }\n                ])}\n                disabled={disabled}\n                key={key}\n                size=\"large\"\n                type=\"cancel\"\n                fullwidth\n                onClick={() => {\n                  if (setSelected) {\n                    setSelected('general');\n                  }\n\n                  onPredefinedInput(\n                    typeof value === 'number' ? value : value.replace(regEx, '')\n                  );\n                }}\n              >\n                {SpringConfigs.PREDEFINE_STAKES_ADDING ? '+' : null}\n                {formatAmount(\n                  formatPrice(\n                    typeof value === 'number'\n                      ? value\n                      : value.replace(regEx, ''),\n                    SpringConfigs.PRICE_SEPARATOR\n                  ),\n                  isLoggedIn\n                )}\n              </Button>\n            );\n          })}\n      </div>\n    );\n  }\n);\n","import {\n  CSSProperties,\n  memo,\n  useCallback,\n  useEffect,\n  useMemo,\n  useRef\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport cc from 'classcat';\nimport { normalizeStake } from 'utils/betslip/betslip';\nimport { sliceLength } from 'utils/constants/app/magic-numbers-app';\nimport { ColSizes, EIconSize } from 'utils/constants/app/ui';\nimport { removeComma } from 'utils/helpers/validators';\nimport { PredefinedStakes } from 'elements/Betslip/components/PredefinedStakes';\nimport { Col } from 'newcomponents/UI/Col';\nimport { Row } from 'newcomponents/UI/Row';\nimport { GlobalIcon } from '../GlobalIcon';\nimport './index.less';\n\ntype Props = {\n  onChange: (value: string) => void;\n  value: string | number;\n  maxLength?: number;\n  size?: 'small' | 'middle';\n  onDestroy?: () => void;\n  selected?: string | number;\n  onCloseKeyboard?: Function;\n  toggleQuickBet?: Function;\n  predefinedStakesDisabled?: boolean;\n  scrollIntoView?: boolean;\n  predefinedStakesFree?: boolean;\n  advanced?: boolean;\n  style?: CSSProperties;\n  fieldName?: string;\n  disabledDot?: boolean;\n  allowZero?: boolean;\n};\n\nconst keys = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];\n\nconst CUSTOM_KEYBOARD_MAX_LENGTH = 11;\nconst CUSTOM_KEYBOASRD_MID_SIZE_FIRST_ELEMENT_ORDER = 11;\nexport const CustomKeyboard = memo(\n  ({\n    value,\n    onChange,\n    maxLength = CUSTOM_KEYBOARD_MAX_LENGTH,\n    size = 'middle',\n    onDestroy,\n    selected,\n    toggleQuickBet,\n    onCloseKeyboard,\n    predefinedStakesDisabled,\n    scrollIntoView,\n    predefinedStakesFree,\n    advanced,\n    style,\n    disabledDot,\n    allowZero\n  }: Props) => {\n    const ref = useRef<HTMLDivElement | null>(null);\n    const middleSize = useMemo(() => size === 'middle', [size]);\n    const { t } = useTranslation();\n\n    const onInput = (key: string, predefinedValue: string) => {\n      let stake = '';\n\n      if (key) {\n        stake = normalizeStake(\n          removeComma(value.toString()),\n          key,\n          maxLength,\n          allowZero\n        );\n      } else {\n        stake = normalizeStake(predefinedValue.toString(), '', 1, allowZero);\n      }\n\n      onChange(removeComma(stake));\n    };\n\n    const onBackspase = () => {\n      if (value) {\n        onChange(\n          removeComma(value.toString()).slice(0, sliceLength.SLICE_END_MINUS_1)\n        );\n      }\n    };\n\n    const doneButtonHandler = useCallback(() => {\n      if (toggleQuickBet) {\n        toggleQuickBet(false);\n      }\n\n      onCloseKeyboard?.(false);\n      onDestroy?.();\n    }, [toggleQuickBet, onCloseKeyboard, onDestroy]);\n\n    useEffect(() => {\n      return () => {\n        onDestroy?.();\n      };\n    }, []);\n\n    useEffect(() => {\n      if (scrollIntoView) {\n        ref?.current?.scrollIntoView({ block: 'center' });\n      }\n    }, [selected]);\n\n    return (\n      <div className=\"keyboard__container\" ref={ref} style={style}>\n        <Row>\n          <Col\n            span={\n              middleSize && !predefinedStakesFree\n                ? ColSizes.SIZE_17\n                : ColSizes.SIZE_24\n            }\n          >\n            <div className=\"keyboard__keys\">\n              <div className=\"keyboard__numberKeys\">\n                {keys.map((key, index) => (\n                  <div\n                    data-testid={key}\n                    className={cc([\n                      'keyboard__key',\n                      {\n                        'keyboard__key--grow': key === '0',\n                        'keyboard__key--size': size === 'small'\n                      }\n                    ])}\n                    key={key}\n                    onClick={() => onInput(key, '')}\n                    style={{\n                      order:\n                        key === '0' && size === 'middle'\n                          ? CUSTOM_KEYBOASRD_MID_SIZE_FIRST_ELEMENT_ORDER\n                          : index\n                    }}\n                  >\n                    {key}\n                  </div>\n                ))}\n                <div\n                  data-testid=\".\"\n                  className={cc([\n                    'keyboard__key',\n                    { 'keyboard__key--size': size === 'small' }\n                  ])}\n                  style={{ order: 10 }}\n                  onClick={() => (disabledDot ? () => {} : onInput('.', ''))}\n                  aria-disabled={disabledDot}\n                >\n                  <GlobalIcon\n                    lib=\"generic\"\n                    name=\"dot\"\n                    theme=\"default\"\n                    size={EIconSize._4}\n                  />\n                </div>\n                <div\n                  data-testid=\"backspace\"\n                  className={cc([\n                    'keyboard__key keyboard__key--grow',\n                    { 'keyboard__key--size': size === 'small' }\n                  ])}\n                  style={{ order: 12 }}\n                  onClick={onBackspase}\n                >\n                  <GlobalIcon\n                    lib=\"generic\"\n                    name=\"backspace\"\n                    theme=\"default\"\n                    size={EIconSize._16}\n                  />\n                </div>\n                {advanced && (\n                  <div\n                    data-testid=\"keyboard-done\"\n                    className={cc([\n                      'keyboard__key keyboard__key--grow keyboard__key--done',\n                      { 'keyboard__key--size': size === 'small' }\n                    ])}\n                    style={{ order: 13 }}\n                    onClick={doneButtonHandler}\n                  >\n                    <span>{t('sportsbook.done')}</span>\n                  </div>\n                )}\n              </div>\n            </div>\n          </Col>\n          {middleSize && (\n            <Col\n              span={predefinedStakesFree ? ColSizes.SIZE_24 : ColSizes.SIZE_7}\n            >\n              {!predefinedStakesFree && (\n                <PredefinedStakes\n                  onChange={predefinedValue => onInput('', predefinedValue)}\n                  disabled={predefinedStakesDisabled}\n                  currentStake={value}\n                />\n              )}\n              <div\n                data-testid=\"keyboard-done\"\n                className={cc([\n                  'keyboard__key keyboard__key--grow keyboard__key--done',\n                  { 'keyboard__key--size': size === 'small' }\n                ])}\n                onClick={doneButtonHandler}\n              >\n                <span>{t('sportsbook.done')}</span>\n              </div>\n            </Col>\n          )}\n        </Row>\n      </div>\n    );\n  }\n);\n","export const getScrollParent = (node: Node): Node | null | undefined => {\n  const regex = /(auto|scroll)/;\n\n  const parents = (\n    _node: Node | null | undefined,\n    ps: (Node | null | undefined)[]\n  ): (Node | null | undefined)[] => {\n    if (_node?.parentNode === null) {\n      return ps;\n    }\n\n    return parents(_node?.parentNode, ps.concat([_node]));\n  };\n\n  const style = (_node: Node | null | undefined, prop: string) =>\n    getComputedStyle(_node as Element, null).getPropertyValue(prop);\n\n  const overflow = (_node: Node | null | undefined) =>\n    style(_node, 'overflow') +\n    style(_node, 'overflow-y') +\n    style(_node, 'overflow-x');\n\n  const scroll = (_node: Node | null | undefined) =>\n    regex.test(overflow(_node));\n\n  const scrollParent = (_node: Node) => {\n    if (!(_node instanceof HTMLElement)) {\n      return;\n    }\n\n    const ps = parents(_node.parentNode, []);\n\n    for (let i = 0; i < ps.length; i += 1) {\n      if (scroll(ps[i])) {\n        return ps[i];\n      }\n    }\n\n    return document.scrollingElement || document.documentElement;\n  };\n\n  return scrollParent(node);\n};\n","import {\n  FormEventHandler,\n  MutableRefObject,\n  ReactElement,\n  MouseEvent as ReactMouseEvent,\n  Ref,\n  useEffect,\n  useLayoutEffect,\n  useRef,\n  useState\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { InputRef } from 'antd';\nimport classcat from 'classcat';\nimport { getType } from 'utils/betslip/betslip';\nimport { getScrollParent } from 'utils/bom-dom-manipulation/get-scroll-parent';\nimport { BETSLIP_STAKE_LIMIT, SEPARATOR } from 'utils/constants/betslip';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport {\n  getValidPositiveNumber,\n  thousandSeparator\n} from 'utils/helpers/validators';\nimport { isMobile } from 'utils/is-mobile';\nimport { EDecimalRoundTypes } from 'utils/string-manipulation/round-multiple-value';\nimport { EBetslipBetType } from 'interfaces/betslip';\nimport { Max, Placeholder, StakeWrapper, Value } from './style';\nimport { EachWay } from 'newelements/_Betslip/components/EachWay';\nimport {\n  roundAmount,\n  roundOdd\n} from 'newelements/_Betslip/utils/roundings/round-amount';\nimport { Input } from 'newcomponents/UI/Input';\nimport { useBalance } from 'hooks/useBalance';\nimport { useCurrency } from 'hooks/useCurrency';\nimport { useRefValue } from 'hooks/useRefValue';\nimport {\n  getAllLsBets,\n  getBetslipType,\n  getEditBet,\n  getSelectedSystem,\n  getType as getTypeSelector\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\nimport './index.less';\n\ntype Props = {\n  stake: number | string;\n  inputDefaultValue: number | string;\n  active: boolean;\n  eventIdForStakes?: string;\n  max?: boolean;\n  maxValue?: string;\n  placeholder?: string;\n  isLoading?: boolean;\n  onClick?: (event: ReactMouseEvent<HTMLDivElement, MouseEvent>) => void;\n  onChange?: (value: string, eventId?: string) => void;\n  onMaxClick?: (event: ReactMouseEvent) => void;\n  onPressEnter?: () => void;\n  onFocus?: Function;\n  changeCurrentStake?: Function;\n  currentStake?: string | number;\n  disabled?: boolean;\n  isLast?: boolean;\n  shouldUpdate?: string;\n  refItem?: MutableRefObject<HTMLInputElement | null>;\n  isOdd?: boolean;\n  checkCurrencyContent?: boolean;\n  dataTestIdPrefix?: string;\n  inMultipleOfTheDay?: boolean;\n  maxNotConvertedValue?: string;\n};\n\nconst STAKE_MAX_LENGTHS = {\n  withSeparator: 12,\n  withoutSeparator: 10\n};\n\nconst STAKE_MAX_LENGTH = SEPARATOR\n  ? STAKE_MAX_LENGTHS.withSeparator\n  : STAKE_MAX_LENGTHS.withoutSeparator;\n\nexport const StakeField = (props: Props): ReactElement => {\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const editBet = useSelector(getEditBet);\n  const allLsBets = useSelector(getAllLsBets);\n  const betslipType = useSelector(getBetslipType);\n  const system = useSelector(getSelectedSystem);\n  const { t } = useTranslation();\n  const { currency, currencyId, placement } = useCurrency();\n\n  const [focused, setFocused] = useState(false);\n  const [ewAllowed, setEwAllowed] = useState(false);\n  const inputRef =\n    useRef<HTMLInputElement>() as MutableRefObject<HTMLInputElement>;\n\n  const type = useSelector(getTypeSelector);\n  const currentType = getType(type);\n\n  const balance = useBalance();\n\n  const currentTypeRefValue = useRefValue(currentType);\n\n  const inputValue = props.stake ? props.stake.toString() : '';\n\n  const changeStake = (value: string) => {\n    props.onChange?.(value, props.eventIdForStakes);\n    props?.changeCurrentStake?.(value);\n  };\n\n  useEffect(() => {\n    if (props.changeCurrentStake && currentTypeRefValue !== 'single') {\n      props.changeCurrentStake(\n        props.stake ??\n          (props.inputDefaultValue !== '0' ? props.inputDefaultValue : '')\n      );\n    }\n  }, []);\n\n  useEffect(() => {\n    if (focused) {\n      props.onFocus?.();\n    }\n  }, [focused]);\n\n  useEffect(() => {\n    if (betslipType === 0 && currentType !== 'single' && allLsBets.length > 1) {\n      setEwAllowed(!allLsBets.find(bet => !bet.ewAllowed));\n    } else {\n      setEwAllowed(false);\n    }\n  }, [allLsBets, currentType, betslipType]);\n\n  useLayoutEffect(() => {\n    const { refItem } = props;\n    const currentRef = refItem ?? inputRef;\n\n    if (props.isLast && currentRef && currentRef?.current) {\n      const scrollParent = getScrollParent(currentRef.current) as HTMLElement;\n\n      scrollParent?.scrollTo(0, scrollParent.scrollHeight);\n      currentRef.current.focus?.({ preventScroll: true });\n    }\n  }, [props.shouldUpdate]);\n\n  const onInputHandler: FormEventHandler<HTMLInputElement> = ({ target }) => {\n    const { value } = target as HTMLInputElement;\n\n    const validPosNumber = getValidPositiveNumber(value, SEPARATOR) || '';\n\n    const roundFn = props.isOdd\n      ? (v: string) => roundOdd(v, EDecimalRoundTypes.Cut)\n      : roundAmount;\n\n    const formattedValue = roundFn(validPosNumber).toString();\n\n    if (\n      props.isOdd ||\n      (formattedValue && formattedValue.length < STAKE_MAX_LENGTH)\n    ) {\n      changeStake(formattedValue);\n    } else {\n      changeStake('');\n    }\n  };\n\n  const showCurrency: { left: boolean; right: boolean } = {\n    left:\n      props.checkCurrencyContent === false\n        ? false\n        : !!currencyId && placement === 'left' && !props.isOdd,\n    right:\n      props.checkCurrencyContent === false\n        ? false\n        : !!currencyId && placement === 'right' && !props.isOdd\n  };\n\n  const stakeInputValue =\n    (thousandSeparator(props.currentStake || '') ||\n      thousandSeparator(inputValue)) ??\n    thousandSeparator(props.inputDefaultValue);\n\n  const showCombinationCount =\n    currentType === EBetslipBetType.SYSTEM &&\n    !!system?.combinationCount &&\n    !props.inMultipleOfTheDay;\n\n  return (\n    <div\n      className={classcat([\n        'stakeField--row',\n        {\n          'stakeField--row--left': showCurrency.left\n        }\n      ])}\n      onClick={props.onClick}\n    >\n      {showCurrency.left && (\n        <div\n          className={classcat([\n            'stakeField--currency',\n            {\n              'stakeField--currency--focused':\n                focused || (isMobile() && props.active)\n            }\n          ])}\n        >\n          {currency}\n        </div>\n      )}\n      <StakeWrapper\n        $paddingLeft={showCurrency.left}\n        data-testid={`${props.dataTestIdPrefix || 'stake-'}input`}\n      >\n        {isMobile() ? (\n          <Value\n            className=\"betslip__placeholder\"\n            active={props.active && !props.disabled}\n          >\n            {stakeInputValue || (\n              <Placeholder $paddingLeft={showCurrency.left}>\n                {(!isMobile() && editBet?.amount) ||\n                  (props.active ? '' : props.placeholder)}\n              </Placeholder>\n            )}\n          </Value>\n        ) : (\n          <Input\n            className={classcat([\n              'stakeField--antdInput',\n              {\n                'stakeField--antdInput--left': showCurrency.left\n              }\n            ])}\n            style={{\n              width: 'calc(100% - 30px)',\n              ...(props.maxValue && { marginLeft: -11 })\n            }}\n            bordered={false}\n            value={stakeInputValue}\n            ref={(props.refItem ?? inputRef) as Ref<InputRef>}\n            placeholder={\n              (editBet?.active && t('betslip.editBetPlaceholder')) ||\n              props.placeholder\n            }\n            maxLength={\n              SEPARATOR ? BETSLIP_STAKE_LIMIT + 2 : BETSLIP_STAKE_LIMIT\n            }\n            onFocus={() => setFocused(true)}\n            onBlur={() => setFocused(false)}\n            onInput={onInputHandler}\n            onPressEnter={props.onPressEnter}\n            disabled={props.disabled}\n          />\n        )}\n      </StakeWrapper>\n      {showCombinationCount && (\n        <div\n          className={isMobile() ? 'combinationCountMob' : 'combinationCount'}\n        >\n          (x{system.combinationCount})\n        </div>\n      )}\n      {showCurrency.right && (\n        <div\n          className={classcat([\n            'stakeField--currency',\n            {\n              'stakeField--currency--focused':\n                focused || (isMobile() && props.active)\n            },\n            { 'stakeField--currency--left': isMobile() && showCurrency.left }\n          ])}\n        >\n          {currency}\n        </div>\n      )}\n      {isLoggedIn &&\n      (props.max || editBet?.active) &&\n      (SpringConfigs.BETSLIP_MAX_BTN || !!props.maxValue) ? (\n        <div className=\"stakeField--maxWrapper\">\n          <Max\n            type=\"text\"\n            size=\"middle\"\n            data-testid={`${props.dataTestIdPrefix || ''}max-button`}\n            loading={props.isLoading}\n            onClick={props.onMaxClick}\n            $oddOffer={!!props.maxValue}\n            disabled={\n              props.disabled ||\n              !!(SpringConfigs.BETSLIP_MAX_BTN_TYPE && !balance)\n            }\n            icon={\n              <>\n                <span>\n                  {t(\n                    `account.${\n                      !SpringConfigs.BETSLIP_MAX_BTN_TYPE ? 'max' : 'allIn'\n                    }`\n                  )}\n                </span>\n                {!!props.maxValue && (\n                  <div>\n                    &nbsp;{props.maxValue}{' '}\n                    {props.maxNotConvertedValue &&\n                      `(${props.maxNotConvertedValue})`}\n                  </div>\n                )}\n              </>\n            }\n          />\n        </div>\n      ) : null}\n      {ewAllowed && <EachWay type={2} />}\n    </div>\n  );\n};\n","import styled from 'styled-components';\nimport { Button } from 'newcomponents/UI/Button';\n\nexport const StakeWrapper = styled.div<{ $paddingLeft?: boolean }>`\n  flex: 1;\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  ${props => (props.$paddingLeft ? `padding: 0` : `padding: 0 12px`)}\n`;\n\nexport const Value = styled.div<{ active: boolean }>`\n  font-size: 14px;\n  min-width: 2px;\n  min-height: 20px;\n  line-height: 20px;\n  position: relative;\n  display: inline-block;\n  color: var(--v3-text-color);\n  ${props =>\n    props.active &&\n    ` &:after {\n        top: 10%;\n        right: 0;\n        content: '';\n        height: 80%;\n        position: absolute;\n        margin-left: 3px;\n        border-right: 1.5px solid #108ee9;\n        -webkit-animation: keyboard-cursor infinite 1s step-start;\n        animation: keyboard-cursor infinite 1s step-start;\n        right: 0;\n      }\n\n  `}\n`;\n\nexport const Placeholder = styled.div<{ $paddingLeft?: boolean }>`\n  color: var(--v3-text-color-secondary);\n  white-space: nowrap;\n  line-height: 20px;\n  font-size: 14px;\n  left: 2px;\n  top: 0;\n  ${props => (!props.$paddingLeft ? `padding-left: 0px` : `padding-left: 0`)}\n`;\n\nexport const Max: any = styled(Button)<{ $oddOffer?: boolean }>`\n  width: auto !important;\n  min-width: 52px;\n  height: 32px;\n  display: flex !important;\n  justify-content: center !important;\n  align-items: center !important;\n  flex-direction: row !important;\n  padding: 6px 12px !important;\n  border: none !important;\n  border-radius: 4px !important;\n  color: var(--v3-text-color) !important;\n  background-color: var(--v3-black-6) !important;\n  margin: 0 12px;\n  &:hover {\n    &:not([disabled]) {\n      color: var(--v3-primary-6) !important;\n      background-color: var(--v3-black-6) !important;\n    }\n  }\n\n  &[disabled] {\n    color: var(--v3-black-45) !important;\n  }\n\n  & span,\n  div {\n    font-size: ${props => (props.$oddOffer ? '12' : '14')}px;\n    line-height: ${props => (props.$oddOffer ? '16' : '20')}px;\n  }\n`;\n","import { iOSWrapperApp } from 'utils/constants/swarm/spring-configs';\n\nexport const deviceActionManager = {\n  vibrate: handleHapticFeedback\n  //Can add more managers here\n};\n\nfunction handleHapticFeedback(\n  message: 'impactLight' | 'impactMedium' | 'impactHeavy'\n) {\n  const hapticMessage = { type: message };\n\n  if (iOSWrapperApp) {\n    window?.webkit?.messageHandlers?.triggerHaptic.postMessage(hapticMessage);\n  } else {\n    if (window.triggerHaptic) {\n      window.triggerHaptic.postMessage(JSON.stringify(hapticMessage));\n    }\n  }\n}\n","import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useAccountBalanceAvailable } from './useCheckIsAccountBalanceAvailable';\nimport {\n  getIsFrenchFreeBetEnabled,\n  getUseBonusBalance\n} from 'store/selectors/betslip';\nimport { getUser } from 'store/selectors/user-data';\n\nexport function useBalance(): number {\n  const user = useSelector(getUser);\n  const useBonusBalance = useSelector(getUseBonusBalance);\n  const accountBalanceAvailable = useAccountBalanceAvailable();\n  const isFrenchFreeBetEnabled = useSelector(getIsFrenchFreeBetEnabled);\n\n  return useMemo(() => {\n    let balance = +user.balance;\n\n    if (\n      accountBalanceAvailable &&\n      useBonusBalance &&\n      (user?.bonus_balance ?? 0) >= 0\n    ) {\n      const winBalance = user?.bonus_win_balance ? user?.bonus_win_balance : 0;\n\n      const bonusBalance = user?.bonus_balance ? user?.bonus_balance : 0;\n      const frozenBalance = user?.frozen_balance ? user?.frozen_balance : 0;\n      balance = winBalance + bonusBalance + frozenBalance;\n    }\n\n    if (user.bonus_money && isFrenchFreeBetEnabled) {\n      balance = user.bonus_money;\n    }\n\n    balance = balance || +user.balance;\n\n    return balance;\n  }, [useBonusBalance, user, accountBalanceAvailable, isFrenchFreeBetEnabled]);\n}\n","import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\nimport { PartnerConfig } from 'interfaces/partner-config';\nimport { getAllLsBets, getQuickBetEnabled } from 'store/selectors/betslip';\nimport { getPartnerConfigs } from 'store/selectors/socket';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\n\nexport function useAccountBalanceAvailable(checker?: boolean): boolean {\n  const user = useSelector(getUser);\n  const allLsBets = useSelector(getAllLsBets);\n  const quickBetEnabled = useSelector(getQuickBetEnabled);\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const partnerConfig = useSelector(getPartnerConfigs) as PartnerConfig;\n\n  const accountBalanceAvailable = useMemo(() => {\n    if (\n      !isLoggedIn ||\n      (!allLsBets?.length && !quickBetEnabled && !checker) ||\n      !user\n    ) {\n      return false;\n    } else {\n      if (user.sport_bonus && isLoggedIn) {\n        return true;\n      }\n\n      if (user.bonus_money && isLoggedIn) {\n        return true;\n      }\n\n      return false;\n    }\n  }, [isLoggedIn, allLsBets?.length, partnerConfig, quickBetEnabled, checker]);\n\n  return accountBalanceAvailable;\n}\n","import { useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { timeoutDuration } from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { showToastError } from 'utils/generic/show-toast-error';\nimport { showToastWarning } from 'utils/generic/show-toast-warning';\nimport { debounce } from 'utils/helpers/debounce';\nimport { thousandSeparator } from 'utils/helpers/validators';\nimport { openParentPage } from 'utils/sportsbook/api-post-message-sender';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { useBalance } from './useBalance';\nimport { useCurrency } from './useCurrency';\nimport { addQuery } from 'components/QueryRoute';\nimport {\n  getEditBet,\n  getIsFreeBetEnabled,\n  getIsFrenchFreeBetEnabled,\n  getUseBonusBalance\n} from 'store/selectors/betslip';\nimport { getPartnerConfigs } from 'store/selectors/socket';\nimport { getUser } from 'store/selectors/user-data';\n\nexport function useCheckStakeBalance(\n  debounceDuration: number = timeoutDuration.DURATION_500\n): (\n  contextId: string | null,\n  stake: string | number,\n  callback?: (disable: boolean) => void\n) => void {\n  const history = useHistory();\n  const { t } = useTranslation();\n  const { currencyId } = useCurrency();\n  const balance = useBalance();\n  const user = useSelector(getUser);\n  const isFreeBetEnabled = useSelector(getIsFreeBetEnabled);\n  const partnerConfigs = useSelector(getPartnerConfigs);\n  const useBonusBalance = useSelector(getUseBonusBalance);\n  const useFrenchFreeBet = useSelector(getIsFrenchFreeBetEnabled);\n  const editBet = useSelector(getEditBet);\n  const debounceId = useRef(RidGenerator.rand());\n\n  const getToDeposit = () => {\n    if (useBonusBalance || useFrenchFreeBet) {\n      return;\n    }\n\n    if (SpringConfigs.IFRAME_SPORTSBOOK) {\n      openParentPage('deposit');\n    } else {\n      history.push(addQuery({ accounts: '*', wallet: '*', deposit: '*' }));\n    }\n  };\n\n  const checkMinBetStakeLimit = (\n    stake: string | number,\n    contextId: string | null\n  ) => {\n    const betLimitMinStakeForEditBet =\n      editBet?.active &&\n      editBet?.amount &&\n      +editBet.amount + +stake <\n        (partnerConfigs?.min_bet_stakes[currencyId] || 0);\n\n    const isBetMinLimitStake =\n      +stake !== 0 &&\n      ((!editBet?.active &&\n        +stake < (partnerConfigs?.min_bet_stakes[currencyId] || 0)) ||\n        betLimitMinStakeForEditBet);\n\n    if (isBetMinLimitStake) {\n      const minLimit = t('betslip.betStakeMinLimitErrors', {\n        min_bet: thousandSeparator(\n          partnerConfigs?.min_bet_stakes[currencyId] || ''\n        ),\n        currency: currencyId\n      });\n\n      showToastWarning(\n        minLimit,\n        contextId ? document.getElementById(contextId) : document.body\n      );\n    }\n\n    return isBetMinLimitStake;\n  };\n\n  const checkInsufficientBalance = (\n    stake: string | number,\n    contextId: string | null\n  ) => {\n    const isInsufficient = +stake > (balance || user.balance);\n\n    if (isInsufficient) {\n      let balanceError = '';\n\n      if (useBonusBalance && user?.bonus_balance) {\n        balanceError = t('betslip.insufficientBonusFundError');\n      } else if (useFrenchFreeBet) {\n        balanceError = t('betslip.insufficientAccountFundError');\n      } else {\n        balanceError = t('betslip.insufficientFundError');\n      }\n\n      showToastError(\n        `<span>${balanceError}</span>`,\n        contextId ? document.getElementById(contextId) : document.body,\n        null,\n        getToDeposit,\n        { cursor: 'pointer' }\n      );\n    }\n\n    return isInsufficient;\n  };\n\n  return debounce(\n    debounceId.current,\n    (\n      contextId: string | null,\n      stake: string | number,\n      callback?: (disable: boolean) => void\n    ): void => {\n      if (stake === '' || isFreeBetEnabled) {\n        return callback?.(false);\n      }\n\n      const isBetMinLimitStake = checkMinBetStakeLimit(stake, contextId);\n      const isInsufficient = checkInsufficientBalance(stake, contextId);\n\n      callback?.(isBetMinLimitStake || isInsufficient || !Number(stake));\n    },\n    debounceDuration\n  );\n}\n","import { useCallback, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n  minBetStakeType,\n  predefinedStakesType\n} from 'utils/constants/betslip/bet-types';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { thousandSeparator } from 'utils/helpers/validators';\nimport { roundAmount } from 'newelements/_Betslip/utils/roundings/round-amount';\nimport { useCurrency } from 'hooks/useCurrency';\nimport { setRSPredefinedStakes } from 'store/actions/betslip';\nimport { getPredefinedStakes } from 'store/selectors/betslip';\nimport { getPartnerConfigs } from 'store/selectors/socket';\n\ntype PredefinedStakes = {\n  [key: string]: string | number | undefined;\n};\n\ntype TUsePredefinedStakes = {\n  predefinedStakes: {\n    default_stake: any;\n    stake_1: any;\n    stake_2: any;\n    stake_3: any;\n  };\n  setPredefinedStakes: (values: PredefinedStakes) => void;\n};\n\nexport const usePredefinedStakes = (): TUsePredefinedStakes => {\n  const dispatch = useDispatch();\n  const partnerConfigs = useSelector(getPartnerConfigs);\n  const { currencyId } = useCurrency();\n\n  const storePredefinedStakes = useSelector(getPredefinedStakes);\n\n  const defaultStakes = useMemo(() => {\n    let predefinedStakes: PredefinedStakes = {};\n\n    if (SpringConfigs.PREDEFINE_STAKES_ENABLE) {\n      predefinedStakes = {\n        stake_1: +roundAmount(SpringConfigs.PREDEFINE_STAKE_1),\n        stake_2: +roundAmount(SpringConfigs.PREDEFINE_STAKE_2),\n        stake_3: +roundAmount(SpringConfigs.PREDEFINE_STAKE_3)\n      };\n    }\n\n    if (SpringConfigs.DEFAULT_STAKE_ENABLED) {\n      predefinedStakes.default_stake = +roundAmount(\n        SpringConfigs.DEFAULT_STAKE\n      );\n    }\n\n    if (partnerConfigs && currencyId) {\n      const minBetStake = partnerConfigs.min_bet_stakes[currencyId];\n\n      return {\n        stake_1: roundAmount(\n          predefinedStakes.stake_1 ||\n            minBetStake * minBetStakeType.MULTIPLIER_10 ||\n            predefinedStakesType.STAKE_TYPE_1\n        ),\n        stake_2: roundAmount(\n          predefinedStakes.stake_2 ||\n            minBetStake * minBetStakeType.MULTIPLIER_20 ||\n            predefinedStakesType.STAKE_TYPE_2\n        ),\n        stake_3: roundAmount(\n          predefinedStakes.stake_3 ||\n            minBetStake * minBetStakeType.MULTIPLIER_50 ||\n            predefinedStakesType.STAKE_TYPE_3\n        ),\n        default_stake: predefinedStakes.default_stake || ''\n      };\n    } else {\n      return {\n        default_stake: '',\n        stake_1: roundAmount(\n          predefinedStakes.stake_1 || predefinedStakesType.STAKE_TYPE_1\n        ),\n        stake_2: roundAmount(\n          predefinedStakes.stake_2 || predefinedStakesType.STAKE_TYPE_2\n        ),\n        stake_3: roundAmount(\n          predefinedStakes.stake_3 || predefinedStakesType.STAKE_TYPE_3\n        )\n      };\n    }\n  }, [partnerConfigs, currencyId]);\n\n  const predefinedStakes = useMemo(() => {\n    const { default_stake, stake_1, stake_2, stake_3 } =\n      storePredefinedStakes || {};\n\n    return {\n      default_stake: default_stake ?? defaultStakes.default_stake,\n      stake_1: thousandSeparator(stake_1 || defaultStakes.stake_1),\n      stake_2: thousandSeparator(stake_2 || defaultStakes.stake_2),\n      stake_3: thousandSeparator(stake_3 || defaultStakes.stake_3)\n    };\n  }, [defaultStakes, storePredefinedStakes]);\n\n  const setPredefinedStakes = useCallback((values: PredefinedStakes) => {\n    dispatch(setRSPredefinedStakes(values));\n  }, []);\n\n  return { predefinedStakes, setPredefinedStakes };\n};\n","import { useRef } from 'react';\n\nexport const usePrevious = <T>(value: T, initial?: T): T | undefined => {\n  const ref = useRef({ target: value, previous: initial });\n\n  if (JSON.stringify(ref.current.target) !== JSON.stringify(value)) {\n    // The value changed.\n    ref.current.previous = ref.current.target;\n    ref.current.target = value;\n  }\n\n  return ref.current.previous as T;\n};\n","import { useLayoutEffect, useRef } from 'react';\n\nexport const useRefValue = <T>(value: T): T => {\n  const refValue = useRef(value);\n  useLayoutEffect(() => {\n    refValue.current = value;\n  }, [value]);\n\n  return refValue.current;\n};\n","export enum EPlayerActivityCheckerActions {\n  checkPlayerActivity = 'checkPlayerActivity'\n}\n","import { ReactElement, useEffect, useMemo, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport i18n from 'i18next';\nimport { ONE_HUNDRED_PERCENT } from 'utils/constants/sportsbook/magic-numbers';\nimport { EBetBalanceType } from 'interfaces/betslip';\nimport { calculateAndDispatchUpdates } from 'newelements/_Betslip/utils/action-middlewares/store-actions-middlewares/calculateAndDispatchUpdates';\nimport { CustomMenu } from 'components/UI/CustomMenu';\nimport { useProfitBoost } from 'hooks/useProfitBoost';\nimport {\n  setIsFrenchFreeBetEnabled,\n  setUseBonusBalance\n} from 'store/actions/betslip';\nimport {\n  getCounterOfferActiveEventIds,\n  getIsFreeBetEnabled,\n  getIsFrenchFreeBetEnabled,\n  getProfitBoost,\n  getProfitBoostAdvanced,\n  getSuperBetActiveEventIds\n} from 'store/selectors/betslip';\nimport { getUser } from 'store/selectors/user-data';\nimport './index.less';\n\nexport const BetWithBonusOrDepositBalance = (): ReactElement => {\n  const [selectedType, setSelectedType] = useState<EBetBalanceType>(\n    EBetBalanceType.REAL\n  );\n\n  const superBetActiveEventIds = useSelector(getSuperBetActiveEventIds);\n  const counterOfferActiveEventIds = useSelector(getCounterOfferActiveEventIds);\n  const isFrenchFreeBetEnabled = useSelector(getIsFrenchFreeBetEnabled);\n  const profitBoost = useSelector(getProfitBoost);\n  const profitBoostAdvanced = useSelector(getProfitBoostAdvanced);\n  const user = useSelector(getUser);\n  const isFreeBetEnabled = useSelector(getIsFreeBetEnabled);\n\n  const dispatch = useDispatch();\n\n  const { setToggleProfitBoost } = useProfitBoost();\n\n  const isProfitBoostActive = !!(\n    profitBoost?.selected || profitBoostAdvanced?.single?.length\n  );\n\n  const isSuperBetActive = !!superBetActiveEventIds.length;\n  const isCounterOfferActive = !!counterOfferActiveEventIds.length;\n\n  const menuItems = useMemo(() => {\n    const result = [\n      {\n        value: i18n.t('betslip.realMode'),\n        key: EBetBalanceType.REAL\n      }\n    ];\n\n    if (user.sport_bonus) {\n      result.push({\n        value: i18n.t('betslip.bonusMode'),\n        key: EBetBalanceType.BONUS\n      });\n    }\n\n    if (user.bonus_money) {\n      result.push({\n        value: i18n.t('betslip.freebet'),\n        key: EBetBalanceType.FREE_BET\n      });\n    }\n\n    return result;\n  }, [user.sport_bonus, user.bonus_money]);\n\n  const handleSelectTab = (key: EBetBalanceType) => {\n    setSelectedType(key);\n\n    dispatch(setUseBonusBalance(key === EBetBalanceType.BONUS));\n    dispatch(setIsFrenchFreeBetEnabled(key === EBetBalanceType.FREE_BET));\n\n    // TODO: Nahepet-sb need to review this functionality\n    if (key === EBetBalanceType.FREE_BET) {\n      if (isProfitBoostActive) {\n        setToggleProfitBoost();\n      }\n\n      if (isCounterOfferActive) {\n        counterOfferActiveEventIds.forEach(id =>\n          calculateAndDispatchUpdates({ id, oddOffer: null })\n        );\n      }\n\n      if (isSuperBetActive) {\n        superBetActiveEventIds.forEach(id =>\n          calculateAndDispatchUpdates({ id, superBet: false })\n        );\n      }\n    }\n  };\n\n  useEffect(() => {\n    if (selectedType !== EBetBalanceType.BONUS) {\n      dispatch(setUseBonusBalance(false));\n    }\n\n    if (selectedType !== EBetBalanceType.FREE_BET) {\n      dispatch(setIsFrenchFreeBetEnabled(false));\n    }\n\n    return () => {\n      dispatch(setUseBonusBalance(false));\n      dispatch(setIsFrenchFreeBetEnabled(false));\n    };\n  }, []);\n\n  useEffect(() => {\n    if (isFrenchFreeBetEnabled) {\n      setSelectedType(EBetBalanceType.FREE_BET);\n    } else if (selectedType === EBetBalanceType.BONUS) {\n      setSelectedType(EBetBalanceType.BONUS);\n    } else {\n      setSelectedType(EBetBalanceType.REAL);\n    }\n  }, [isFrenchFreeBetEnabled]);\n\n  // TODO: @Nahept-sb need to review this functionality, this is for switch freebet tab on selecting other betslip feature\n  useEffect(() => {\n    if (\n      (isProfitBoostActive || isCounterOfferActive || isSuperBetActive) &&\n      isFrenchFreeBetEnabled\n    ) {\n      setSelectedType(EBetBalanceType.REAL);\n      dispatch(setIsFrenchFreeBetEnabled(false));\n    }\n  }, [isSuperBetActive, isCounterOfferActive, isProfitBoostActive]);\n\n  return (\n    <div className=\"user__balanceOrDeposit__balance\">\n      <CustomMenu\n        disabled={isFreeBetEnabled}\n        items={menuItems}\n        activeItem={selectedType}\n        setActiveItem={handleSelectTab}\n        itemStyles={{ width: `${ONE_HUNDRED_PERCENT / menuItems.length}%` }}\n      />\n    </div>\n  );\n};\n","import { useCallback } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { BetSlipEventObj, TProfitBoostItem } from 'interfaces/bet-data';\nimport { fireToggleProfitBoost } from 'newelements/_Betslip/managers/ProfitBoostManager/actions';\nimport {\n  cleanProfitBoostState,\n  setProfitBoost as setProfitBoostRedux,\n  setSelectedProfitBoostId\n} from 'store/actions/betslip';\nimport {\n  getIsProfitBoostAvailable,\n  getProfitBoost,\n  getProfitBoost_,\n  getSelectedProfitBoostItem\n} from 'store/selectors/betslip';\n\ntype ProfitBoostReturnType = {\n  isProfitBoostEnabled: boolean;\n  selectedProfitBoostEventId: number | string | undefined | null;\n  setSelectedProfitBoostEventId: Function;\n  setToggleProfitBoost: Function;\n  getSelectedItem: Function;\n  setSelectedItem: Function;\n  selectedProfitBoostItem: null | TProfitBoostItem | undefined;\n  isSingleEventSelected: Function;\n  getSelectedAdvancedSingleRule: Function;\n  getSelectedAdvancedMultipleRule: Function;\n  offAllSelected: () => void;\n  showBoostInfo: boolean;\n  removeProfitBoostItem: Function;\n};\n\nexport const useProfitBoost = (): ProfitBoostReturnType => {\n  const profitBoost = useSelector(getProfitBoost);\n  const selectedProfitBoostItem = useSelector(getSelectedProfitBoostItem);\n  const isProfitBoostEnabled = useSelector(getIsProfitBoostAvailable);\n  const profitBoostStore = useSelector(getProfitBoost_);\n\n  const dispatch = useDispatch();\n\n  const setToggleProfitBoost = (val = null, eventId: number | null = null) => {\n    fireToggleProfitBoost(eventId, val);\n  };\n\n  const getSelectedItem = () => selectedProfitBoostItem;\n\n  const setSelectedItem = (id: number) => {\n    dispatch(setSelectedProfitBoostId(id));\n  };\n\n  const isSingleEventSelected = (\n    event: BetSlipEventObj\n  ): boolean | undefined => {\n    return profitBoostStore.profitBoostSelectedEventId === event.eventId;\n  };\n\n  const offAllSelected = () => {\n    dispatch(cleanProfitBoostState());\n  };\n\n  const removeProfitBoostItem = useCallback(\n    (type: string, id: Number) => {\n      if (type === 'single' && profitBoost) {\n        const profitBoostData = JSON.parse(JSON.stringify(profitBoost));\n        profitBoostData.items = profitBoostData.items.map(\n          (item: TProfitBoostItem) => item.id !== id\n        );\n        dispatch(setProfitBoostRedux(profitBoostData));\n      }\n    },\n    [profitBoost]\n  );\n\n  return {\n    isProfitBoostEnabled,\n    selectedProfitBoostEventId: profitBoostStore.profitBoostSelectedEventId,\n    setSelectedProfitBoostEventId: (\n      eventId: Parameters<typeof setSelectedProfitBoostId>['0']\n    ) => dispatch(setSelectedProfitBoostId(eventId)),\n    setToggleProfitBoost,\n    getSelectedItem,\n    setSelectedItem,\n    selectedProfitBoostItem,\n    isSingleEventSelected,\n    getSelectedAdvancedSingleRule: getSelectedItem,\n    getSelectedAdvancedMultipleRule: getSelectedItem,\n    offAllSelected,\n    showBoostInfo:\n      !!profitBoostStore.profitBoostSelectedItemId &&\n      !!profitBoostStore.profitBoostSelectedEventId,\n    removeProfitBoostItem\n  };\n};\n","import { CSSProperties, ReactElement, ReactNode } from 'react';\nimport cc from 'classcat';\nimport './index.less';\n\ntype TBadgerops = {\n  color?: string;\n  count?: ReactNode | string;\n  className?: string;\n  dot?: boolean;\n  offset?: [number, number];\n  overflowCount?: number;\n  showZero?: boolean;\n  size?: 'default' | 'small';\n  style?: CSSProperties;\n  status?: 'success' | 'processing' | 'default' | 'error' | 'warning';\n  text?: ReactNode;\n  title?: string;\n  children?: ReactElement;\n};\n\nexport const Badge = ({\n  children,\n  color,\n  count,\n  className,\n  dot,\n  offset,\n  overflowCount,\n  showZero,\n  size,\n  status,\n  style,\n  text,\n  title\n}: TBadgerops) => {\n  let styleOBj = {};\n\n  if (offset?.length) {\n    styleOBj = { right: -offset[0], marginTop: offset[1] };\n  }\n\n  return (\n    <div\n      title={title}\n      style={style}\n      className={`${className ? className : ''} badge__container`}\n    >\n      {children ? children : null}\n      {status || dot ? (\n        <sup\n          style={{ ...styleOBj, background: color }}\n          className={cc([\n            'badge__dot',\n            {\n              [`badge__status--${status}`]: status,\n              badge__dot__status: status\n            }\n          ])}\n        ></sup>\n      ) : count || (showZero && count == 0) ? (\n        <sup\n          className={cc([\n            'badge__count',\n            {\n              'badge__count--sm': size === 'small'\n            }\n          ])}\n          style={{ ...styleOBj, background: color }}\n        >\n          {overflowCount && count && +overflowCount > +count\n            ? `${overflowCount}+`\n            : count}\n        </sup>\n      ) : null}\n      <span className=\"badge__text\">{text}</span>\n    </div>\n  );\n};\n","import { ForwardedRef, forwardRef, ReactElement } from 'react';\nimport { Input as AntInput, InputProps as AntInputProps, InputRef } from 'antd';\nimport cc from 'classcat';\nimport { createTestId } from 'utils/helpers/create-test-id';\nimport './index.less';\n\nexport type InputProps = AntInputProps & {\n  label?: string;\n};\n\nexport const Input = forwardRef(\n  (\n    { label, className, ...props }: InputProps,\n    ref: ForwardedRef<InputRef>\n  ): ReactElement => {\n    return (\n      <div className={cc(['x-input', className])} {...createTestId('x-input')}>\n        {!!label && <div className=\"x-input__label\">{label}</div>}\n        <AntInput {...props} className={className} ref={ref} />\n      </div>\n    );\n  }\n);\n","import { ReactElement } from 'react';\nimport { Loading } from 'components/Loading';\nimport './index.less';\n\nexport const BetslipPreloadState = (): ReactElement => {\n  return (\n    <div className=\"betslip__preloadState\">\n      <Loading />\n    </div>\n  );\n};\n","import { PropsWithChildren, ReactElement, useRef } from 'react';\nimport { useSelector } from 'react-redux';\nimport cc from 'classcat';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { isMobile } from 'utils/is-mobile';\nimport { useContentHeight } from 'hooks/useContentHeight';\nimport { getAllLsBets } from 'store/selectors/betslip';\n\ntype TBetslipRootContainerProps = PropsWithChildren & {\n  isHeightFixed?: boolean;\n  detectTopHeight?: number;\n};\n\nexport const BetslipRootContainer = ({\n  children,\n  isHeightFixed,\n  detectTopHeight\n}: TBetslipRootContainerProps): ReactElement => {\n  const betslipContainerRef = useRef<HTMLDivElement | null>(null);\n  const allLsBetsCount = useSelector(getAllLsBets).length;\n\n  const wrapperHeight = useContentHeight(\n    false,\n    !isMobile() && detectTopHeight ? detectTopHeight : undefined\n  );\n\n  const isBetslipEmpty = allLsBetsCount === 0;\n  const isScrollOnPage =\n    SpringConfigs.HOORY_ENABLED &&\n    SpringConfigs.HOORY_ENABLED_SPORTSBOOK_BETSLIP &&\n    !isMobile();\n\n  return (\n    <div\n      id=\"betslip-wrapper\"\n      data-id=\"betslip-root-container\"\n      className={cc([\n        {\n          'betslip__wrapper-fixed-height': isHeightFixed,\n          scrollOnPage: isScrollOnPage\n        }\n      ])}\n    >\n      <div\n        style={{\n          maxHeight: wrapperHeight,\n          height:\n            !betslipContainerRef.current?.closest('.sportsbookWrapper') &&\n            isHeightFixed\n              ? wrapperHeight\n              : '100%'\n        }}\n        className={cc([\n          'betslipWrapper',\n          {\n            'betslipWrapper--empty': isBetslipEmpty,\n            'betslipWrapper--scrollOnPage': isScrollOnPage\n          }\n        ])}\n        ref={betslipContainerRef}\n      >\n        {children}\n      </div>\n    </div>\n  );\n};\n","import { fireEvent } from 'utils/generic/event-bus';\nimport { EBetslipToggleActions } from 'newelements/_Betslip/types/toggle';\n\nexport const toggleBetslip = (payload?: boolean) => {\n  fireEvent({\n    key: EBetslipToggleActions.SET_OPEN,\n    payload\n  });\n};\n","import styled from 'styled-components';\n\nexport const Badge = styled.span`\n  padding: 0 5px;\n  font-size: 12px;\n  min-width: 20px;\n  font-weight: 400;\n  margin-left: 6px;\n  line-height: 20px;\n  border-radius: 20px;\n  display: inline-block;\n  vertical-align: middle;\n  color: var(--v3-color-on-primary);\n  background-color: var(--v3-primary-6);\n`;\n\nexport const Tab = styled.div<{\n  key: number;\n  active: boolean;\n  fullwidth: boolean;\n  onClick: Function;\n  tabsCount: number;\n  fromMenu?: boolean;\n}>`\n  cursor: pointer;\n  text-align: center;\n  color: var(--v3-text-color);\n  background-color: var(--v3-black-0);\n  ${props => props.fromMenu && 'border-bottom: 1px solid var(--v3-black-4)'};\n  ${props => props.fullwidth && 'flex: 1;'}\n  ${props =>\n    props.active\n      ? ` \n      font-weight: 600;\n      ${\n        props.tabsCount > 1 &&\n        `border-bottom: ${\n          props.fromMenu ? '1px' : '2px'\n        } solid var(--v3-primary-6)`\n      };\n  `\n      : `color: var(--v3-text-color-secondary);\n       & > span {\n        background-color: var(--v3-primary-4);\n       }`};\n`;\n\nexport const Wrapper = styled.div<{ bordered: boolean }>`\n  display: flex;\n  flex-direction: row;\n  flex-wrap: nowrap;\n  ${props =>\n    props.bordered &&\n    ` border-top: 1px solid var(--v3-black-4); \n    `}\n`;\n\nconst SUBTRACT_PADDING_TOP = 3;\n\nexport const Container = styled.div<{\n  fixedTop?: number;\n  size: 'default' | 'middle' | 'large';\n  fromMenu?: boolean;\n}>`\n  flex: 1;\n  ${props =>\n    props.fixedTop !== undefined &&\n    ` padding-top: ${props.fixedTop - SUBTRACT_PADDING_TOP}px;\n      ${Wrapper} {\n        position: fixed;\n        top: ${props.fixedTop}px;\n        left: 0;\n        right: 0;\n        z-index: 1;\n      }\n  `}\n  ${props => {\n    switch (props.size) {\n      case 'default':\n        return `\n          ${Tab} {\n            font-size: 12px;\n            ${!props.fromMenu && 'line-height: 38px'}\n          }\n        `;\n      case 'middle':\n        return `\n          ${Tab} {\n            font-size: 14px;\n            line-height: 42px;\n          }\n        `;\n      case 'large':\n        return `\n          ${Tab} {\n            padding: 0 20px;\n            font-size: 16px;\n            min-width: 190px;\n            line-height: 54px;\n          }\n        `;\n    }\n  }}\n`;\n","import { ReactElement, useEffect } from 'react';\nimport { TabBarPropsType } from 'rmc-tabs';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { Badge, Container, Tab, Wrapper } from './style';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n  import('./rtl.less');\n}\n\ninterface Props extends TabBarPropsType {\n  fixedTop?: number;\n  bordered?: boolean;\n  fullwidth?: boolean;\n  size?: 'default' | 'middle' | 'large';\n  editBet?: boolean;\n  allLsBetsCount?: number;\n  fromMenu?: boolean;\n}\n\nexport const CustomTabBar = (props: Props): ReactElement => {\n  const fullwidth = props.fullwidth == undefined ? true : props.fullwidth;\n\n  useEffect(() => {\n    if (props.editBet) {\n      props.goToTab(0);\n    }\n  }, [props.editBet, props.allLsBetsCount]);\n\n  return (\n    <Container\n      fixedTop={props.fixedTop}\n      size={props.size || 'default'}\n      fromMenu={props.fromMenu}\n    >\n      <Wrapper bordered={props.bordered || false}>\n        {props.tabs.map((tab, index) => (\n          <Tab\n            onClick={() => props.goToTab(index)}\n            active={props.activeTab === index}\n            fullwidth={fullwidth}\n            key={index}\n            tabsCount={props.tabs.length}\n            fromMenu={props.fromMenu}\n            className=\"customTab__tab-container\"\n          >\n            {tab.title}\n            {tab.badge !== undefined && (\n              <Badge className=\"customTab__badge\">{tab.badge}</Badge>\n            )}\n          </Tab>\n        ))}\n      </Wrapper>\n    </Container>\n  );\n};\n","import { FC, memo, ReactElement, Suspense, useCallback, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Tabs } from 'antd-mobile';\nimport TabsProps from 'antd-mobile/lib/tabs/PropsType';\nimport cc from 'classcat';\nimport { TabBarPropsType } from 'rmc-tabs';\nimport { getType } from 'utils/betslip/betslip';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { BetsProps, EBetslipBetType, EBetslipType } from 'interfaces/betslip';\nimport { toggleBetslip } from 'newelements/_Betslip/managers/ToggleManager/toggle-betslip-options';\nimport { useBetslipConfigsContext } from 'newelements/_Betslip/providers/configs-provider';\nimport { BetslipPreloadState } from 'newelements/_Betslip/Skeleton';\nimport { ConditionalWrapper } from 'components/ConditionalWrapper';\nimport { CustomTabBar } from 'components/CustomTabBar';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { Loading } from 'components/Loading';\nimport {\n  batchActions,\n  setActiveTabPage,\n  setMustClose,\n  setMustOpen,\n  setQuickSingleBetslipOpen\n} from 'store/actions';\nimport {\n  getActiveTabPage,\n  getAllLsBets,\n  getBetslipType,\n  getEditBet,\n  getIsCounterOfferActive,\n  getOpenBetsCount,\n  getSingleReturn,\n  getSubscribedEvents,\n  getTabs,\n  getType as getTypeSelector\n} from 'store/selectors/betslip';\n\nconst { Bets } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"betslip-bets\" */ 'newelements/_Betslip/components/shared/Bets'\n    )\n);\n\nconst { OpenBets } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"betslip-open-bets\" */ 'newelements/_Betslip/views/OpenBets'\n    )\n);\n\nconst { BetslipTabsWrapper } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"betslip-tabs-wrapper\" */ 'newelements/_Betslip/components/wrappers/BetslipTabsWrapper'\n    )\n);\n\n// @Todo move into types file betslip-types\ninterface CustomTabProps extends TabBarPropsType {\n  fixedTop?: number;\n  bordered?: boolean;\n  fullwidth?: boolean;\n  size?: 'default' | 'middle' | 'large';\n  editBet?: boolean;\n  allLsBetsCount?: number;\n  fromMenu?: boolean;\n}\n\nexport const BetslipTabs: FC = memo((): ReactElement => {\n  const dispatch = useDispatch();\n\n  const { floatingMode } = useBetslipConfigsContext().static;\n\n  const tabs = useSelector(getTabs);\n  const type = useSelector(getTypeSelector);\n  const page = useSelector(getActiveTabPage);\n  const betslipType = useSelector(getBetslipType);\n  const singleReturn = useSelector(getSingleReturn);\n  const openBetsCount = useSelector(getOpenBetsCount);\n  const allLsBetsCount = useSelector(getAllLsBets).length;\n  const isEditBEtActive = !!useSelector(getEditBet)?.active;\n  const subscribedEvents = useSelector(getSubscribedEvents);\n  const isCounterOfferActive = useSelector(getIsCounterOfferActive);\n\n  // @Todo move this into config provider after useEventBus changing\n  const currentType =\n    betslipType === EBetslipType.BASIC\n      ? getType(type, isCounterOfferActive)\n      : EBetslipBetType.SINGLE;\n\n  // @Todo need to minimize props\n  const renderTabBar = useCallback(\n    (props: CustomTabProps) => {\n      return (\n        <div\n          className={cc([\n            'betslipTabs__header',\n            {\n              'betslipTabs__header--paddingLeft':\n                isMobile() && props.tabs.length === 1\n            }\n          ])}\n        >\n          <Suspense fallback={null}>\n            <CustomTabBar\n              {...props}\n              editBet={isEditBEtActive}\n              allLsBetsCount={allLsBetsCount}\n              size=\"middle\"\n            />\n          </Suspense>\n          {(isMobile() || floatingMode) && (\n            <GlobalIcon\n              lib=\"generic\"\n              name=\"close\"\n              theme=\"default\"\n              size={12}\n              className=\"betslip__close-icon\"\n              onClick={() => {\n                toggleBetslip(false);\n                dispatch(\n                  batchActions(\n                    setMustOpen(false),\n                    setMustClose(true),\n                    setQuickSingleBetslipOpen(false)\n                  )\n                );\n              }}\n            />\n          )}\n        </div>\n      );\n    },\n    [isEditBEtActive, allLsBetsCount, openBetsCount, floatingMode]\n  );\n\n  // need to memorize\n  const tabProps = useMemo<TabsProps>(\n    () => ({\n      tabs,\n      prerenderingSiblingsNumber: 0,\n      destroyInactiveTab: false,\n      swipeable: false,\n      animated: false,\n      renderTabBar,\n      page,\n      initialPage: Number(!allLsBetsCount && !!openBetsCount),\n      onChange: tab => {\n        dispatch(setActiveTabPage(tab.id));\n      }\n    }),\n    [tabs, renderTabBar, allLsBetsCount, openBetsCount, page]\n  );\n\n  const isBetTypeMultipleOrChain = [\n    EBetslipBetType.MULTIPLE,\n    EBetslipBetType.CHAIN\n  ].includes(currentType);\n\n  const betsProps: BetsProps = useMemo(\n    () => ({\n      subscribedEvents,\n      toggleBetslipView: value => {\n        const timeout = 2500;\n\n        if (floatingMode) {\n          setTimeout(() => toggleBetslip(value), timeout);\n        } else {\n          toggleBetslip(value);\n        }\n      },\n      singleReturn,\n      currentType,\n      isBetTypeMultipleOrChain\n    }),\n    [subscribedEvents, singleReturn, currentType, isBetTypeMultipleOrChain]\n  );\n\n  const Fallback = useCallback(\n    () => (isMobile() ? <Loading /> : <BetslipPreloadState />),\n    []\n  );\n\n  return (\n    <ConditionalWrapper\n      condition={isMobile() && !SpringConfigs.MOCKED_DATA}\n      wrapper={children => (\n        <Suspense>\n          <BetslipTabsWrapper>{children}</BetslipTabsWrapper>\n        </Suspense>\n      )}\n    >\n      {/*@ts-ignore need to update package version or remove it*/}\n      <Tabs {...tabProps} key={tabProps.tabs.length}>\n        <Suspense fallback={<Fallback />}>\n          <Bets {...betsProps} />\n        </Suspense>\n        {/*@Todo change this logic after types fixing*/}\n        {(tabProps.page === 1 || tabProps.initialPage === 1) && (\n          <Suspense>\n            <OpenBets componentRid={''} />\n          </Suspense>\n        )}\n      </Tabs>\n    </ConditionalWrapper>\n  );\n});\n","import {\n  memo,\n  ReactElement,\n  Suspense,\n  useCallback,\n  useEffect,\n  useState\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Button, Form } from 'antd';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { QuickBetBaseSwitcher } from 'newelements/_Betslip/components/shared/Switchers/QuickBetSwitcher/BaseSwtcher';\nimport { toggleBetslip } from 'newelements/_Betslip/managers/ToggleManager/toggle-betslip-options';\nimport { FooterContainer, Header } from 'newelements/_Betslip/views/style';\nimport { CustomKeyboard } from 'components/CustomKeyboard';\nimport { Popup } from 'components/Popup';\nimport { StakeField } from 'components/StakeField';\nimport { BetWithBonusOrDepositBalance } from 'newcomponents/Shared/betslip/BetWithBonusOrDepositBalance';\nimport { useAccountBalanceAvailable } from 'hooks/useCheckIsAccountBalanceAvailable';\nimport { useCheckStakeBalance } from 'hooks/useCheckStakeBalance';\nimport { updateQuickBetStake } from 'store/actions/betslip';\nimport {\n  getBetslipOpen,\n  getQuickBetEnabled,\n  getQuickBetStake,\n  getUseBonusBalance\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\n\nconst { BonusBalanceSwitcher } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"betslip-bonus-balance-switcher\" */ 'newcomponents/Shared/betslip/BonusBalanceSwitcher'\n    )\n);\n\nexport const QuickBetComponent = memo((): ReactElement => {\n  const { t } = useTranslation();\n  const dispatch = useDispatch();\n\n  const isBetslipOpened = useSelector(getBetslipOpen);\n  const quickBetStake = useSelector(getQuickBetStake);\n  const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n  const useBonusBalance = useSelector(getUseBonusBalance);\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const user = useSelector(getUser);\n\n  const checkStakeBalance = useCheckStakeBalance();\n  const accountBalanceAvailable = useAccountBalanceAvailable();\n\n  const [stake, setStake] = useState(`${quickBetStake || ''}`);\n  const [form] = Form.useForm();\n  const [visible, setVisible] = useState(false);\n  const [isDisabled, setIsDisabled] = useState(true);\n\n  useEffect(() => {\n    checkStakeBalance('betslip-wrapper', stake || 0, (disable: boolean) =>\n      setIsDisabled(disable)\n    );\n  }, [stake, useBonusBalance]);\n\n  const showQuickBetslip = isBetslipOpened && isQuickBetEnabled;\n\n  const onSave = useCallback(() => {\n    toggleBetslip();\n    setVisible(false);\n\n    if (quickBetStake !== Number(stake)) {\n      dispatch(updateQuickBetStake(Number(stake)));\n    }\n  }, [quickBetStake, stake]);\n\n  return (\n    <Popup\n      animationType=\"toTop\"\n      open={showQuickBetslip}\n      className=\"quickBetPopup\"\n    >\n      <Header>\n        <QuickBetBaseSwitcher\n          tooltip\n          className=\"betslipFeatureSwitcher\"\n          isActive={showQuickBetslip}\n        />\n      </Header>\n      <Form form={form}>\n        <StakeField\n          checkCurrencyContent={isLoggedIn}\n          stake={stake}\n          inputDefaultValue={stake}\n          onClick={() => setVisible(true)}\n          placeholder={t('betslip.stake')}\n          onChange={value => setStake(value)}\n          active={visible}\n        />\n        {visible && (\n          <CustomKeyboard\n            onChange={setStake}\n            value={stake}\n            size=\"middle\"\n            toggleQuickBet={setVisible}\n            scrollIntoView\n            predefinedStakesFree={!SpringConfigs.PREDEFINE_STAKES_ENABLE}\n          />\n        )}\n\n        {accountBalanceAvailable ? (\n          SpringConfigs.BET_WITH_ONLY_BONUS_OR_DEPOSIT || user.bonus_money ? (\n            <Suspense>\n              <BetWithBonusOrDepositBalance />\n            </Suspense>\n          ) : (\n            <Suspense>\n              <BonusBalanceSwitcher />\n            </Suspense>\n          )\n        ) : null}\n\n        <FooterContainer style={{ background: 'var(--v3-black-0)' }}>\n          <Button\n            size=\"large\"\n            type=\"primary\"\n            disabled={isDisabled}\n            onClick={onSave}\n          >\n            {t('betslip.save')}\n          </Button>\n        </FooterContainer>\n      </Form>\n    </Popup>\n  );\n});\n","import { ReactElement, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport cc from 'classcat';\nimport { isMobile } from 'utils/is-mobile';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { Portal } from 'components/Shared/Portal';\n\ntype TProps = {\n  count: number;\n};\n\nexport const LoadingInProcess = ({ count }: TProps): ReactElement => {\n  const { t } = useTranslation();\n\n  const loadingPopup = useMemo(() => {\n    return (\n      <div\n        className={cc([\n          'loading__popup',\n          {\n            'loading__popup-mobile': isMobile()\n          }\n        ])}\n      >\n        <div className=\"loading__icon-container\">\n          <GlobalIcon\n            lib=\"generic\"\n            name=\"time\"\n            theme=\"default\"\n            size={20}\n            color=\"var(--v3-primary-6)\"\n          />\n          <span>\n            {t('betslip.betInProcess')} ({count})\n          </span>\n        </div>\n        <div className=\"betslip__few-seconds\">\n          {t('betslip.aFewSecondsLeft')}\n        </div>\n      </div>\n    );\n  }, [count]);\n\n  return isMobile() ? <Portal>{loadingPopup}</Portal> : loadingPopup;\n};\n","import { ReactElement, useEffect, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport cc from 'classcat';\nimport { changeWrapperRowZIndex } from 'utils/bom-dom-manipulation/wrapper-row-z-index';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { isMobile } from 'utils/is-mobile';\nimport { formatPrice } from 'utils/string-manipulation/format-price';\nimport { toggleQuickBet } from 'newelements/_Betslip/managers/QuickBetManager/quickBetActions';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { useCurrency } from 'hooks/useCurrency';\nimport { getQuickBetStake } from 'store/selectors/betslip';\nimport { BetslipFeatureSwitcher } from '../BetslipFeatureSwitcher';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n  import('./rtl.less');\n}\n\ntype Props = {\n  quickBet: boolean;\n  onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n};\n\nconst ROW_Z_INDEX_INCREASE_SIZE = -1;\n\nconst bottomNavigation = SpringConfigs.BOTTOM_NAVIGATION;\n\nexport const QuickbetToggle = ({\n  onClick,\n  quickBet\n}: Props): ReactElement | null => {\n  const quickBetStake = useSelector(getQuickBetStake);\n\n  const { formatAmount, currencyId } = useCurrency();\n  const { t } = useTranslation();\n  const safeAreaRef = useRef(null);\n\n  useEffect(() => {\n    let wrapperElem: HTMLElement | null = null;\n\n    if (quickBet && safeAreaRef.current) {\n      wrapperElem = changeWrapperRowZIndex(safeAreaRef.current, 1);\n    }\n\n    return () => {\n      if (quickBet && wrapperElem) {\n        changeWrapperRowZIndex(wrapperElem, ROW_Z_INDEX_INCREASE_SIZE, true);\n      }\n    };\n  }, [quickBet]);\n\n  return quickBet ? (\n    <div\n      className={cc([\n        'betslip__safe-area',\n        { 'betslip__bottom-nav': bottomNavigation }\n      ])}\n      ref={safeAreaRef}\n      onClick={onClick}\n      id=\"betslip-area\"\n    >\n      <div className=\"quickBetToggle__info\">\n        <div className=\"quickBetToggle__info-about\">\n          <GlobalIcon\n            lib=\"generic\"\n            name=\"info\"\n            theme=\"default\"\n            size={EIconSize._16}\n            className=\"quickBetToggle__info-icon\"\n          />\n          <span>{t('betslip.quickBetTooltip')}</span>\n        </div>\n        {currencyId ? (\n          <div>{formatAmount(formatPrice(quickBetStake))}</div>\n        ) : (\n          <Skeleton title={{ style: { width: 32 } }} paragraph={false} />\n        )}\n      </div>\n\n      <BetslipFeatureSwitcher\n        skipRowStyles={isMobile()}\n        featureIsActive={quickBet}\n        setFeatureIsActive={toggleQuickBet}\n        featureName={t('betslip.quickbet')}\n      />\n    </div>\n  ) : null;\n};\n","import { memo, ReactElement, Suspense } from 'react';\nimport { useSelector } from 'react-redux';\nimport { isMobile } from 'utils/is-mobile';\nimport { QuickBetComponent } from 'newelements/_Betslip/components/shared/Features/QuickBet/QuickBet';\nimport { toggleBetslip } from 'newelements/_Betslip/managers/ToggleManager/toggle-betslip-options';\nimport { LoadingInProcess } from 'newelements/_Betslip/views/LoadingInProcess';\nimport { QuickbetToggle } from 'components/QuickbetToggle';\nimport {\n  getQuickBetEnabled,\n  getQuickBetInProcessCount\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const QuickBet = memo((): ReactElement | null => {\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n  const quickBetInProcessCount = useSelector(getQuickBetInProcessCount);\n\n  const isQuickBetVisible = isQuickBetEnabled && isMobile() && isLoggedIn;\n\n  return (\n    <>\n      {isQuickBetVisible ? (\n        <Suspense>\n          <QuickBetComponent />\n        </Suspense>\n      ) : null}\n\n      {isMobile() && isLoggedIn && (\n        <Suspense>\n          <QuickbetToggle\n            quickBet={isQuickBetEnabled}\n            onClick={() => toggleBetslip()}\n          />\n        </Suspense>\n      )}\n      {/* @Todo lazy import */}\n      {isQuickBetEnabled && quickBetInProcessCount > 0 ? (\n        <LoadingInProcess count={quickBetInProcessCount} />\n      ) : null}\n    </>\n  );\n});\n","import { memo, ReactElement, Suspense } from 'react';\nimport { lazy } from 'utils/generic/lazy';\n\nconst { AdvancedBetslipLayoutComponent } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"advanced-betslip-layout\" */ 'newelements/_Betslip/layouts/Advanced/component'\n    )\n);\n\nexport const AdvancedBetslipLayout = memo((): ReactElement => {\n  return (\n    <Suspense>\n      <AdvancedBetslipLayoutComponent />\n    </Suspense>\n  );\n});\n","import { ReactElement, Suspense } from 'react';\nimport { lazy } from 'utils/generic/lazy';\n\nconst { BasicBetslipLayoutComponent } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"basic-betslip-layout\" */ 'newelements/_Betslip/layouts/Basic/component'\n    )\n);\n\nexport const BasicBetslipLayout = (): ReactElement => {\n  return (\n    <Suspense>\n      <BasicBetslipLayoutComponent />\n    </Suspense>\n  );\n};\n","import { useSelector } from 'react-redux';\nimport { EBetslipType } from 'interfaces/betslip';\nimport { AdvancedBetslipLayout } from 'newelements/_Betslip/layouts/Advanced';\nimport { BasicBetslipLayout } from 'newelements/_Betslip/layouts/Basic';\nimport { getBetslipType } from 'store/selectors/betslip';\n\nexport const BetslipTypeBasedLayout = () => {\n  const betslipType = useSelector(getBetslipType);\n\n  return betslipType === EBetslipType.BASIC ? (\n    <BasicBetslipLayout />\n  ) : (\n    <AdvancedBetslipLayout />\n  );\n};\n","import { useEffect, useLayoutEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n  checkConflicts,\n  getBetSlipFromLs,\n  updateBaseEventsData\n} from 'utils/betslip/betslip';\nimport LS from 'utils/bom-dom-manipulation/local-storage';\nimport { PRIVATE_COMPETITIONS } from 'utils/constants/sportsbook/private-competitions';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { betslipBetsCount } from 'utils/sportsbook/api-post-message-sender';\nimport { getGameStatus } from 'utils/sportsbook/game-current-state';\nimport { formatPrice } from 'utils/string-manipulation/format-price';\nimport { BetSlipEventObj } from 'interfaces/bet-data';\nimport {\n  BetslipEvents,\n  EBetslipBetType,\n  SportBonusResponce,\n  TSuspendReason\n} from 'interfaces/betslip';\nimport { getEachWay } from 'services/get-each-way';\nimport { getSportBonusRules } from 'services/sportsbook/sport-bonus-rules';\nimport { Event } from '../../../../interfaces/sportsbook-data-levels';\nimport { executeCommand } from '../../../../services/get-data-level';\nimport RidGenerator from '../../../../utils/swarm/rid-generator';\nimport { calculateAndDispatchUpdates } from 'newelements/_Betslip/utils/action-middlewares/store-actions-middlewares/calculateAndDispatchUpdates';\nimport { dispatchBetslipAllBets } from 'newelements/_Betslip/utils/action-middlewares/store-actions-middlewares/dispatchBetslipAllBets';\nimport { GENERAL_FIELD_KEY } from 'newelements/_Betslip/utils/constants/shared';\nimport { setSportBonusRules } from 'store/actions';\nimport {\n  getAllLsBets,\n  getComputedBetType,\n  getSportBonuses,\n  getSubscribedEvents\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const BetsManager = (): null => {\n  const dispatch = useDispatch();\n\n  const allLsBets = useSelector(getAllLsBets);\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const betType = useSelector(getComputedBetType);\n  const sportBonuses = useSelector(getSportBonuses);\n  const subscribedEvents = useSelector(getSubscribedEvents);\n\n  useLayoutEffect(() => {\n    getSportBonusRules((data: SportBonusResponce) => {\n      if (data?.details) {\n        dispatch(setSportBonusRules(data.details));\n      }\n    });\n\n    allLsBets.forEach(event => {\n      if (event.each_way) {\n        getEachWay({ market_id: event?.market?.id });\n      }\n    });\n  }, []);\n\n  useLayoutEffect(() => {\n    const isMultiples = betType !== EBetslipBetType.SINGLE;\n\n    if (sportBonuses.length && isMultiples) {\n      calculateAndDispatchUpdates({ id: GENERAL_FIELD_KEY, stake: '' });\n    }\n  }, [sportBonuses]);\n\n  useLayoutEffect(() => {\n    if (SpringConfigs.IFRAME_SPORTSBOOK && allLsBets) {\n      betslipBetsCount(allLsBets.length || 0);\n    }\n  }, [allLsBets.length]);\n\n  useEffect(() => {\n    const eventIds = Object.keys(subscribedEvents);\n\n    if (eventIds.length) {\n      const bets: BetSlipEventObj[] = [];\n      const suspendedEventsData: Record<string, TSuspendReason[]> = {};\n      getBetSlipFromLs().bets.forEach((bet: BetSlipEventObj) => {\n        const newEvent = subscribedEvents[\n          bet.eventId\n        ] as BetslipEvents['value'];\n\n        if (newEvent) {\n          if (\n            SpringConfigs.BETSLIP_BASE_UPDATE &&\n            newEvent.base &&\n            newEvent.suspendReasons &&\n            newEvent.suspendReasons[0] === 'market' &&\n            bet.sport_alias?.toLowerCase() === 'basketball'\n          ) {\n            const rid = RidGenerator.gForSubscribe();\n            executeCommand(\n              rid,\n              {\n                event: ['id', 'name', 'base', 'price']\n              },\n              {\n                game: {\n                  id: bet.gameId\n                },\n                market: {\n                  type: bet.marketType\n                },\n                event: {\n                  type_1: bet.type_1\n                }\n              },\n              (data: { event: Record<string, Event> }) => {\n                updateBaseEventsData(data, bet, false, false);\n              }\n            );\n          }\n\n          const shouldHidePrivateCompetitionGame =\n            !isLoggedIn &&\n            newEvent.competitionId &&\n            PRIVATE_COMPETITIONS[SpringConfigs.JURISDICTION]?.includes(\n              newEvent.competitionId\n            );\n\n          if (shouldHidePrivateCompetitionGame) {\n            bet.current_game_state = '';\n\n            if (bet.game_info) {\n              bet.game_info.score1 = '-';\n              bet.game_info.score2 = '-';\n            }\n          } else {\n            bet.current_game_state =\n              newEvent.game_state ?? bet.current_game_state;\n            bet.current_game_time = newEvent.game_time ?? bet.current_game_time;\n\n            if (bet.game_info && newEvent.score1 && newEvent.score2) {\n              bet.game_info.score1 = newEvent.score1;\n              bet.game_info.score2 = newEvent.score2;\n            }\n          }\n\n          if (newEvent.base !== undefined) {\n            bet.eventBase = newEvent.base;\n          }\n\n          bet.sport_alias = newEvent.sport_alias || '';\n\n          if (newEvent.sport_id) {\n            bet.sport_id = newEvent.sport_id;\n          }\n\n          bet.isSuspended = !!newEvent.suspendReasons;\n          bet.suspendReasons = newEvent.suspendReasons;\n\n          if (bet.isSuspended) {\n            calculateAndDispatchUpdates({ id: bet.eventId, stake: '' });\n          }\n\n          if (newEvent.suspendReasons) {\n            suspendedEventsData[bet.eventId] = newEvent.suspendReasons;\n          }\n\n          bet.coeficient =\n            (newEvent.price && formatPrice(newEvent.price, '')) ||\n            (bet.coeficient && formatPrice(bet.coeficient, ''));\n\n          bet.isLive = newEvent.isLive ?? bet.isLive;\n\n          if (bet.current_game_state) {\n            bet.game_status = getGameStatus(\n              bet.current_game_state ?? '',\n              bet.current_game_time ?? '',\n              bet.isLive,\n              bet.game_start_date,\n              bet.sport_index || ''\n            );\n          }\n\n          bets.push(bet);\n        }\n      });\n\n      LS.setItem(\n        storageKeyName('betslip', 'BETSLIP_SUSPENDED_EVENTS'),\n        JSON.stringify(suspendedEventsData)\n      );\n\n      if (!bets.length || SpringConfigs.MOCKED_DATA) {\n        return;\n      }\n\n      checkConflicts(bets);\n      dispatchBetslipAllBets(bets);\n      // dispatch(setAllLsBets(bets));\n    }\n  }, [subscribedEvents, isLoggedIn]);\n\n  return null;\n};\n","import { CommandNames } from 'utils/constants/swarm/swarm-command-names';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { WebsocketEnhanced } from 'interfaces/spring-websocket-interfaces';\nimport { connectingWS } from 'hooks/useSpringConnect';\n\nexport const getSportBonusRules = (callback: Function): void => {\n  const command = {\n    command: CommandNames.GET_SPORT_BONUS_RULES,\n    params: {},\n    rid: RidGenerator.gForCommand()\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) => {\n    socket.sendCommand(command, '', callback);\n  });\n};\n","import { useCallback, useEffect, useLayoutEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport {\n  betSlipInitRedux,\n  getAndRemoveMustOpenBetslipFromLS\n} from 'utils/betslip/betslip';\nimport { loadLadder } from 'utils/betslip/odd-formats-helper';\nimport LS from 'utils/bom-dom-manipulation/local-storage';\nimport { ODD_FORMATS } from 'utils/constants/betslip/odd-formats';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { GLOBALS } from 'utils/generic/global-variables';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { isMobile } from 'utils/is-mobile';\nimport { EBetslipPage } from 'interfaces/bet-data';\nimport { EBetslipBetType, EBetslipType } from 'interfaces/betslip';\nimport { toggleBetslip } from 'newelements/_Betslip/managers/ToggleManager/toggle-betslip-options';\nimport { useBetslipConfigsContext } from 'newelements/_Betslip/providers/configs-provider';\nimport {\n  setActiveTabPage,\n  setElementAbsent,\n  setElementPresent,\n  setFreezeTabChange,\n  setMustOpen,\n  setType\n} from 'store/actions';\nimport {\n  getAllLsBets,\n  getBetslipType,\n  getFreezeTabChange,\n  getLadderLoaded,\n  getOddFormat,\n  getOpenBetsCount\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nconst openBetsByDefault = SpringConfigs.OPEN_BETS_BY_DEFAULT;\n\nexport const BetslipConfigManager = (): null => {\n  const history = useHistory();\n  const dispatch = useDispatch();\n\n  const oddFormat = useSelector(getOddFormat);\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const betslipType = useSelector(getBetslipType);\n  const ladderLoaded = useSelector(getLadderLoaded);\n  const openBetsCount = useSelector(getOpenBetsCount);\n  const allBetsCount = useSelector(getAllLsBets).length;\n  const freezeTabChange = useSelector(getFreezeTabChange);\n\n  const { floatingMode } = useBetslipConfigsContext().static;\n\n  const selectBetslipTab = useCallback(\n    (index: EBetslipPage) => {\n      if (freezeTabChange) {\n        dispatch(setFreezeTabChange(false));\n      } else {\n        dispatch(setActiveTabPage(index));\n      }\n    },\n    [freezeTabChange]\n  );\n\n  useLayoutEffect(() => {\n    const initialOddFormat = {\n      ...ODD_FORMATS.find(format => format.id === oddFormat)\n    };\n\n    const { id, value } = initialOddFormat;\n\n    if (value === 'fractional' && !ladderLoaded) {\n      loadLadder(id);\n    }\n  }, [ladderLoaded, oddFormat]);\n\n  useEffect(() => {\n    betSlipInitRedux();\n    dispatch(setElementPresent('betslip'));\n\n    openBetsCount &&\n      allBetsCount === 0 &&\n      dispatch(setActiveTabPage(EBetslipPage.OPEN_BETS));\n\n    if (!floatingMode) {\n      GLOBALS.betslipElementsCount += 1;\n    }\n\n    const mustOpenLS = getAndRemoveMustOpenBetslipFromLS();\n\n    if (mustOpenLS) {\n      dispatch(setMustOpen(true));\n      isMobile() && LS.removeItem(storageKeyName('betslip', 'MUST_OPEN'));\n    }\n\n    return () => {\n      dispatch(setElementAbsent('betslip'));\n      dispatch(setMustOpen(false));\n\n      if (!floatingMode) {\n        GLOBALS.betslipElementsCount -= 1;\n      }\n    };\n  }, []);\n\n  useLayoutEffect(() => {\n    let search = '';\n\n    return history.listen(data => {\n      if (\n        search.includes('booking_id') &&\n        !data.search.includes('booking_id')\n      ) {\n        toggleBetslip(false);\n      }\n\n      search = data.search;\n    });\n  }, []);\n\n  useLayoutEffect(() => {\n    if (betslipType === EBetslipType.ADVANCED) {\n      dispatch(setType(EBetslipBetType.SINGLE));\n    }\n  }, [betslipType]);\n\n  useLayoutEffect(() => {\n    if (isLoggedIn) {\n      if (isMobile()) {\n        if (openBetsCount && !allBetsCount) {\n          selectBetslipTab(EBetslipPage.OPEN_BETS);\n        }\n      } else {\n        if (openBetsByDefault && openBetsCount && !allBetsCount) {\n          selectBetslipTab(EBetslipPage.OPEN_BETS);\n        }\n      }\n    }\n  }, [allBetsCount, isLoggedIn, openBetsCount]);\n\n  // useLayoutEffect(() => {\n  //   if (allBetsCount < 2 && !getBookBetIdFromLs()) {\n  //     dispatch(setType(''));\n  //   }\n  // }, [allBetsCount]);\n\n  return null;\n};\n","import { FC, useLayoutEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport { calculateAndDispatchUpdates } from 'newelements/_Betslip/utils/action-middlewares/store-actions-middlewares/calculateAndDispatchUpdates';\nimport { getAllBetIds } from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const CounterOfferManager: FC = () => {\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const allBetIds = useSelector(getAllBetIds);\n\n  useLayoutEffect(() => {\n    if (!isLoggedIn) {\n      allBetIds.forEach(id => {\n        calculateAndDispatchUpdates({ id, superBet: false, oddOffer: null });\n      });\n    }\n  }, [isLoggedIn, allBetIds]);\n\n  return null;\n};\n","import { ReactElement, Suspense } from 'react';\nimport { useSelector } from 'react-redux';\nimport { lazy } from 'utils/generic/lazy';\nimport { EBetslipType } from 'interfaces/betslip';\nimport { getBetslipType, getEditBet } from 'store/selectors/betslip';\nimport { getUser } from 'store/selectors/user-data';\n\nconst { _FreeBetManager } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"_FreeBetManager\" */ 'newelements/_Betslip/managers/FreeBetManager/manager'\n    )\n);\n\nconst { FreeBetManagerBetslipTypeBaseSlice } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"FreeBetManagerBetTypeBaseSlice\" */ 'newelements/_Betslip/managers/FreeBetManager/BetslipTypeBaseSlices'\n    )\n);\n\nconst PRELOAD_CACHE: Record<EBetslipType, boolean> = {\n  [EBetslipType.BASIC]: false,\n  [EBetslipType.ADVANCED]: false\n};\n\nexport const FreeBetManager = (): ReactElement | null => {\n  const editBet = useSelector(getEditBet);\n  const type = useSelector(getBetslipType);\n  const { has_free_bets } = useSelector(getUser);\n  const shouldFreeBetMount = !editBet?.active && has_free_bets;\n\n  if (shouldFreeBetMount && !PRELOAD_CACHE[type]) {\n    prefetchChunks(type);\n  }\n\n  if (shouldFreeBetMount) {\n    return (\n      <Suspense>\n        <_FreeBetManager />\n        <FreeBetManagerBetslipTypeBaseSlice />\n      </Suspense>\n    );\n  }\n\n  return null;\n};\n\nconst prefetchChunks = (type: EBetslipType) => {\n  PRELOAD_CACHE[type] = true;\n\n  if (type === EBetslipType.ADVANCED) {\n    import(\n      /* webpackChunkName: \"FreeBetBetslipTypeSliceAdvanced\" */ /* webpackPreload: true */ 'newelements/_Betslip/managers/FreeBetManager/BetslipTypeBaseSlices/advanced'\n    );\n  } else {\n    import(\n      /* webpackChunkName: \"FreeBetBetslipTypeSliceBasic\" */ /* webpackPreload: true */ 'newelements/_Betslip/managers/FreeBetManager/BetslipTypeBaseSlices/basic'\n    );\n  }\n};\n","import { useLayoutEffect, useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { EBetslipPage } from 'interfaces/bet-data';\nimport { getBetHistoryCount } from 'services/account-settings';\nimport { useBetslipConfigsContext } from 'newelements/_Betslip/providers/configs-provider';\nimport { setCashoutFrom, setOpenBetsCount } from 'store/actions';\nimport {\n  getActiveTabPage,\n  getBettedTrigger,\n  getCashoutFrom,\n  getOpenBetsCount,\n  getTabs,\n  getUpdateOpenBetsTrigger\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const OpenBetManager = (): null => {\n  const dispatch = useDispatch();\n\n  const { floatingMode } = useBetslipConfigsContext().static;\n\n  const tabs = useSelector(getTabs);\n  // @Todo change pages check\n  const page = useSelector(getActiveTabPage);\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const doBetDone = useSelector(getBettedTrigger);\n  const cashOutFrom = useSelector(getCashoutFrom);\n  const openBetsCount = useSelector(getOpenBetsCount);\n  const updateOpenBetsTrigger = useSelector(getUpdateOpenBetsTrigger);\n\n  const floatingFirstUpdateOpenBets = useRef(floatingMode);\n\n  const updateOpenBetsCount = (count: number) =>\n    dispatch(setOpenBetsCount(count));\n\n  const updateMyBets = () => getBetHistoryCount(updateOpenBetsCount);\n\n  useLayoutEffect(() => {\n    if (!isLoggedIn) {\n      updateOpenBetsCount(0);\n    }\n  }, [isLoggedIn]);\n\n  useLayoutEffect(() => {\n    if (\n      tabs.length > 1 &&\n      openBetsCount === 0 &&\n      cashOutFrom === 'betHistory'\n    ) {\n      dispatch(setCashoutFrom(''));\n    } else if (page === EBetslipPage.BETSLIP && cashOutFrom === 'betHistory') {\n      updateMyBets();\n    }\n  }, [cashOutFrom, openBetsCount]);\n\n  useLayoutEffect(() => {\n    if (floatingFirstUpdateOpenBets.current) {\n      floatingFirstUpdateOpenBets.current = false;\n\n      return;\n    }\n\n    if (isLoggedIn) {\n      updateMyBets();\n    } else {\n      updateOpenBetsCount(0);\n    }\n  }, [doBetDone, isLoggedIn, updateOpenBetsTrigger]);\n\n  return null;\n};\n","import { FC, Suspense } from 'react';\nimport { useSelector } from 'react-redux';\nimport { lazy } from 'utils/generic/lazy';\nimport { getUser } from 'store/selectors/user-data';\n\nconst { _ProfitBoostManager } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"_ProfitBoostManager\" */ 'newelements/_Betslip/managers/ProfitBoostManager/manager'\n    )\n);\n\n// @Todo need to handel here conditionally mounting\nexport const ProfitBoostManager: FC = () => {\n  const { has_free_bets } = useSelector(getUser);\n\n  const isProfitBoostAvailable = !!has_free_bets;\n\n  if (!isProfitBoostAvailable) {\n    return null;\n  }\n\n  return (\n    <Suspense>\n      <_ProfitBoostManager />\n    </Suspense>\n  );\n};\n","import { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { toggleQuickBet } from 'newelements/_Betslip/managers/QuickBetManager/quickBetActions';\nimport { EQuickBetManagerDispatchActions } from 'newelements/_Betslip/types/quick-bet';\nimport { useEventbus } from 'newhooks/generic/useEventbus';\nimport {\n  setQuickBetSelectedEventId,\n  toggleQuickBetInStore,\n  updateQuickBetStake\n} from 'store/actions';\nimport { getQuickBetEnabled } from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const QuickBetManager = () => {\n  const dispatch = useDispatch();\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n\n  useEventbus({\n    [EQuickBetManagerDispatchActions.TOGGLE_QUICK_BET]: (\n      _,\n      active?: boolean\n    ) => {\n      dispatch(toggleQuickBetInStore(active));\n\n      if (!active) {\n        dispatch(updateQuickBetStake(0));\n        dispatch(setQuickBetSelectedEventId(''));\n      }\n    }\n  });\n\n  useEffect(() => {\n    if (!isLoggedIn && isQuickBetEnabled) {\n      toggleQuickBet(false);\n    }\n  }, [isLoggedIn, isQuickBetEnabled]);\n\n  return null;\n};\n","import { memo, ReactElement, Suspense, useLayoutEffect, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport LS from 'utils/bom-dom-manipulation/local-storage';\nimport { ON_ACCEPT_BET_TYPES } from 'utils/constants/betslip/bet-types';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { isMobile } from 'utils/is-mobile';\nimport { EBetslipPage } from 'interfaces/bet-data';\nimport { EBetslipType, TabObject } from 'interfaces/betslip';\nimport { useBetslipConfigsContext } from 'newelements/_Betslip/providers/configs-provider';\nimport { useHeaderVisibility } from 'newhooks/generic/useHeaderVisibility';\nimport {\n  setActiveTabPage,\n  setBetslipTabs,\n  setSelectedBetType,\n  setSelectedStake as updateSelectedStake\n} from 'store/actions';\nimport {\n  getAllLsBets,\n  getOpenBetsCount,\n  getTabs\n} from 'store/selectors/betslip';\n\nconst { BetslipSetupManagerMobile } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"betslip-setup-manager-basic-mobile\" */ 'newelements/_Betslip/managers/SetupManager/Mobile'\n    )\n);\n\nexport const BetslipSetupManager = memo((): ReactElement | null => {\n  const {\n    computed: { betslipType }\n  } = useBetslipConfigsContext();\n\n  const { t } = useTranslation();\n  const dispatch = useDispatch();\n\n  const tabs = useSelector(getTabs);\n  const openBetsCount = useSelector(getOpenBetsCount);\n  const allBets = useSelector(getAllLsBets);\n  const allBetsCount = allBets.length;\n\n  useHeaderVisibility();\n  const betslipTab = useMemo(() => {\n    return {\n      id: 0,\n      title: t('betslip.betslip'),\n      badge: allBetsCount\n    };\n  }, [allBetsCount]);\n\n  const openBetsTab: TabObject = useMemo(() => {\n    return {\n      id: 1,\n      title: t('betslip.openBets'),\n      badge: openBetsCount\n    };\n  }, [openBetsCount]);\n\n  useLayoutEffect(() => {\n    !tabs && dispatch(setBetslipTabs([betslipTab]));\n  }, []);\n\n  useLayoutEffect(() => {\n    const onBlur = () => {\n      dispatch(updateSelectedStake(''));\n\n      if (betslipType === EBetslipType.ADVANCED) {\n        dispatch(setSelectedBetType(null));\n      }\n    };\n\n    window.addEventListener('blur', onBlur);\n\n    if (!JSON.parse(LS.getItem(storageKeyName('betslip', 'ACCEPT_BET')))) {\n      const oddAcceptType = SpringConfigs.DEFAULT_ODD_ACCEPT\n        ? ON_ACCEPT_BET_TYPES.find(elem => {\n            return elem.value === SpringConfigs.DEFAULT_ODD_ACCEPT;\n          })\n        : ON_ACCEPT_BET_TYPES[0];\n\n      LS.setItem(\n        storageKeyName('betslip', 'ACCEPT_BET'),\n        JSON.stringify(oddAcceptType)\n      );\n    }\n\n    return () => {\n      window.removeEventListener('blur', onBlur);\n    };\n  }, []);\n\n  // @Todo need to move \"page\" and \"tab\" logic and their changing logic into config provider\n  useLayoutEffect(() => {\n    if (openBetsCount) {\n      dispatch(setBetslipTabs([betslipTab, openBetsTab]));\n    } else {\n      dispatch(setBetslipTabs([betslipTab]));\n      dispatch(setActiveTabPage(EBetslipPage.BETSLIP));\n    }\n  }, [openBetsCount, allBetsCount]);\n\n  // useEffect(() => {\n  //   const isMultiples = betType !== EBetslipBetType.SINGLE;\n  //\n  //   console.log('calculateAndDispatchUpdates', isMultiples);\n  //\n  //   if (isMultiples) {\n  //     // alert('calculate');\n  //     calculateAndDispatchUpdates({ id: GENERAL_FIELD_KEY, stake: '' });\n  //   }\n  // }, []);\n\n  return isMobile() ? (\n    <Suspense>\n      <BetslipSetupManagerMobile />\n    </Suspense>\n  ) : null;\n});\n","import { ReactElement, Suspense, useCallback } from 'react';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { BetsManager } from 'newelements/_Betslip/managers/BetsManager';\nimport { BetslipConfigManager } from 'newelements/_Betslip/managers/ConfigManager';\nimport { CounterOfferManager } from 'newelements/_Betslip/managers/CounterOfferManager';\nimport { FreeBetManager } from 'newelements/_Betslip/managers/FreeBetManager';\nimport { OpenBetManager } from 'newelements/_Betslip/managers/OpenBetManager';\nimport { ProfitBoostManager } from 'newelements/_Betslip/managers/ProfitBoostManager';\nimport { QuickBetManager } from 'newelements/_Betslip/managers/QuickBetManager';\nimport { BetslipSetupManager } from 'newelements/_Betslip/managers/SetupManager';\nimport { useBetslipConfigsContext } from 'newelements/_Betslip/providers/configs-provider';\n\nconst { BetslipToggleManager: _BetslipToggleManager } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"betslip-setup-manager-basic\" */ 'newelements/_Betslip/managers/ToggleManager'\n    )\n);\n\nexport const RootManager = (): ReactElement => {\n  const {\n    static: { floatingMode }\n  } = useBetslipConfigsContext();\n\n  const BetslipToggleManager = useCallback((): ReactElement | null => {\n    const isToggleable = floatingMode || isMobile();\n\n    return isToggleable ? (\n      <Suspense>\n        <_BetslipToggleManager />\n      </Suspense>\n    ) : null;\n  }, [floatingMode]);\n\n  if (SpringConfigs.MOCKED_DATA) {\n    return <BetslipSetupManager />;\n  }\n\n  return (\n    <>\n      <OpenBetManager />\n      <QuickBetManager />\n      <CounterOfferManager />\n      <ProfitBoostManager />\n      <FreeBetManager />\n      <BetsManager />\n      <BetslipToggleManager />\n      <BetslipSetupManager />\n      <BetslipConfigManager />\n    </>\n  );\n};\n","import { TBetslipEvent } from 'interfaces/betslip';\n\nexport const BETSLIP_EVENT_TEMPLATE = {\n  competition_name: '',\n  current_game_state: '',\n  current_game_time: '',\n  eventBase: undefined,\n  eventId: 0,\n  event_name: '',\n  gameId: 0,\n  game_info: { horse_xml: { HorceBXml: '' } },\n  game_name: '',\n  game_start_date: 0,\n  isLive: false,\n  marketType: '',\n  market_name: '',\n  region_name: '',\n  sport_index: '',\n  sport_name: '',\n  team1: '',\n  team2: '',\n  coeficient: ''\n} as TBetslipEvent;\n","import LS from 'utils/bom-dom-manipulation/local-storage';\nimport { BETSLIP_EVENT_TEMPLATE } from 'utils/constants/betslip/betslip-event-template';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { TBetslipEvent, TSuspendReason } from 'interfaces/betslip';\nimport {\n  Competition,\n  Game,\n  Region,\n  Sport\n} from 'interfaces/sportsbook-data-levels';\n\ntype TData = {\n  game?: Record<string, Game>;\n  sport?: Record<string, Sport>;\n  region?: Record<string, Region>;\n  competition?: Record<string, Competition>;\n};\n\nexport const formatEventData = function (\n  data: TData,\n  eventIdToUpdate: number\n): Record<string, TBetslipEvent> | null {\n  const suspendedGamesReasons = JSON.parse(\n    LS.getItem(storageKeyName('betslip', 'BETSLIP_SUSPENDED_EVENTS'))\n  ) as Record<string, TSuspendReason[]>;\n\n  let modifiedEvent: TBetslipEvent | undefined;\n\n  const sport = data?.sport?.[Object.keys(data?.sport || {})[0]];\n  const region = sport?.region?.[Object.keys(sport.region || {})[0]];\n\n  const competition =\n    region?.competition?.[Object.keys(region?.competition || {})[0]];\n\n  const gameObj = competition?.game;\n\n  const suspendReasons: TSuspendReason[] = [];\n\n  if (eventIdToUpdate && suspendedGamesReasons?.[eventIdToUpdate]) {\n    suspendReasons.push(...suspendedGamesReasons?.[eventIdToUpdate]);\n  }\n\n  if (gameObj) {\n    const gameId = Object.keys(gameObj)[0];\n    const game = gameObj[gameId];\n\n    if (game === null) {\n      modifiedEvent = {\n        suspendReasons: [...suspendReasons, 'gameEnded']\n      } as TBetslipEvent;\n\n      return { [eventIdToUpdate]: modifiedEvent };\n    }\n\n    const type = game.type;\n    const info = game.info;\n    const market =\n      'market' in game\n        ? game.market === null\n          ? null\n          : Object.values(game.market || {})[0] || null\n        : undefined;\n\n    const eventObj = market?.event;\n    const sportAlias = game.sport_alias;\n\n    if (suspendReasons.includes('gameBlocked')) {\n      if (game.is_blocked === 0) {\n        suspendReasons.splice(suspendReasons.indexOf('gameBlocked'), 1);\n      }\n    } else {\n      if (game.is_blocked === 1) {\n        suspendReasons.push('gameBlocked');\n      }\n    }\n\n    if (market === null && !suspendReasons.includes('market')) {\n      suspendReasons.push('market');\n    }\n\n    if (market && suspendReasons.includes('market')) {\n      suspendReasons.splice(suspendReasons.indexOf('market'), 1);\n    }\n\n    if (eventObj) {\n      const event = eventObj[eventIdToUpdate];\n\n      if (event) {\n        modifiedEvent = {\n          ...BETSLIP_EVENT_TEMPLATE,\n          ...event\n        };\n\n        if (event === null || event.is_blocked) {\n          const reason =\n            event?.is_blocked === 1 ? 'eventBlocked' : 'eventRemoved';\n\n          if (!suspendReasons.includes(reason)) {\n            suspendReasons.push(reason);\n          }\n        }\n\n        if (suspendReasons.length) {\n          const itemsToRemove: TSuspendReason[] = [];\n\n          suspendReasons.forEach(suspendReason => {\n            let shouldRemove = false;\n\n            switch (suspendReason) {\n              case 'eventBlocked':\n                shouldRemove = event.is_blocked === 0;\n                break;\n\n              case 'eventRemoved':\n                shouldRemove = !!event;\n                break;\n\n              case 'other':\n                shouldRemove = true;\n                break;\n            }\n\n            if (shouldRemove) {\n              itemsToRemove.push(suspendReason);\n            }\n          });\n\n          itemsToRemove.forEach(item => {\n            suspendReasons.splice(suspendReasons.indexOf(item), 1);\n          });\n        }\n\n        modifiedEvent.suspendReasons = suspendReasons.length\n          ? suspendReasons\n          : null;\n\n        if (type !== undefined) {\n          modifiedEvent.isLive = type === 1;\n        } else {\n          delete modifiedEvent.isLive;\n        }\n\n        if (modifiedEvent.name) {\n          modifiedEvent.event_name = modifiedEvent.name;\n        }\n\n        if (info?.current_game_state) {\n          modifiedEvent.game_state = info.current_game_state;\n          modifiedEvent.score1 = info.score1;\n          modifiedEvent.score2 = info.score2;\n        }\n\n        if (info?.current_game_time) {\n          modifiedEvent.game_time = info.current_game_time;\n        }\n\n        if (game.start_ts) {\n          modifiedEvent.game_start_date = game.start_ts;\n        }\n\n        if (sport?.id) {\n          modifiedEvent.sport_id = Number(sport.id);\n        }\n\n        if (game.team1_name) {\n          modifiedEvent.game_name = `${game.team1_name}${\n            game.team2_name ? ` - ${game.team2_name}` : ''\n          }`;\n\n          modifiedEvent.team1 = game.team1_name;\n        }\n\n        if (game.team2_name) {\n          modifiedEvent.team2 = game.team2_name;\n        }\n\n        if (market?.name) {\n          modifiedEvent.market_name = market.name;\n        }\n\n        if (market?.express_id || market?.prematch_express_id) {\n          modifiedEvent.express_id =\n            market.prematch_express_id || market.express_id;\n        }\n\n        if (region?.name) {\n          modifiedEvent.region_name = region.name;\n          modifiedEvent.region_id = region.id;\n        }\n\n        if (competition?.name) {\n          modifiedEvent.competition_name = competition.name;\n          modifiedEvent.competitionId = competition.id;\n        }\n\n        if (sportAlias) {\n          modifiedEvent.sport_alias = sportAlias;\n          modifiedEvent.sport_index = sportAlias;\n        }\n\n        if (sport?.name) {\n          modifiedEvent.sport_name = sport.name;\n        }\n      }\n    } else {\n      modifiedEvent = {\n        ...BETSLIP_EVENT_TEMPLATE,\n        ...(modifiedEvent || {})\n      };\n\n      if (suspendReasons.length) {\n        const itemsToRemove: TSuspendReason[] = [];\n\n        suspendReasons.forEach(reason => {\n          if (reason === 'other') {\n            itemsToRemove.push(reason);\n          }\n        });\n\n        itemsToRemove.forEach(item => {\n          suspendReasons.splice(suspendReasons.indexOf(item), 1);\n        });\n      }\n\n      modifiedEvent.suspendReasons = suspendReasons?.length\n        ? suspendReasons\n        : null;\n\n      if (type !== undefined) {\n        modifiedEvent.isLive = type === 1;\n      } else {\n        delete modifiedEvent.isLive;\n      }\n\n      if (info?.current_game_state) {\n        modifiedEvent.game_state = info.current_game_state;\n        modifiedEvent.score1 = info.score1;\n        modifiedEvent.score2 = info.score2;\n      }\n\n      if (competition?.name) {\n        modifiedEvent.competitionId = competition.id;\n      }\n\n      if (info?.current_game_time && modifiedEvent) {\n        modifiedEvent.game_time = info.current_game_time;\n      }\n    }\n  } else {\n    modifiedEvent = {\n      ...BETSLIP_EVENT_TEMPLATE,\n      suspendReasons: [...suspendReasons, 'other']\n    } as TBetslipEvent;\n  }\n\n  if (modifiedEvent) {\n    return { [eventIdToUpdate]: modifiedEvent };\n  }\n\n  return null;\n};\n","import { useLayoutEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { removeBetSlipEvent, updateBetSlipEvent } from 'utils/betslip/betslip';\nimport { formatEventData } from 'utils/betslip/format-subscribed-data';\nimport { BETSLIP_EVENT_TEMPLATE } from 'utils/constants/betslip/betslip-event-template';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport {\n  CommandNames,\n  CommandSource\n} from 'utils/constants/swarm/swarm-command-names';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { BetslipEvents, TBetslipEvent } from 'interfaces/betslip';\nimport { Sport } from 'interfaces/sportsbook-data-levels';\nimport { betCommand } from 'services/bet-slip';\nimport { unsubscribeCommand } from 'services/get-data-level';\nimport { usePrevious } from 'hooks/usePrevious';\nimport {\n  removeSubscribedEvent,\n  updateSubscribedEvent\n} from 'store/actions/betslip';\nimport { getEventIds, getSubscriptions } from 'store/selectors/betslip';\n\ninterface IBetslipSubscriptionResponse {\n  sport: Record<string, Sport>;\n}\n\nexport const useBetSlipSubscription = (): null => {\n  const dispatch = useDispatch();\n  const eventIds = useSelector(getEventIds);\n  const subscriptions = useSelector(getSubscriptions);\n\n  const prevEventIds = usePrevious(eventIds);\n  const prevSubscriptions = usePrevious(subscriptions);\n  const [subscriptionIds, setSubscriptionIds] = useState<{\n    [key: string]: string;\n  }>({});\n\n  const removeSuspendedSelection = (\n    resp: IBetslipSubscriptionResponse,\n    eventId: number\n  ) => {\n    if (SpringConfigs.REMOVE_SUSPENDED_SELECTION) {\n      const sport = resp?.sport?.[Object.keys(resp.sport)[0]];\n      const region = sport?.region?.[Object.keys(sport.region)[0]];\n      const game =\n        region?.competition?.[Object.keys(region.competition)[0]]?.game;\n\n      if (!game?.[Object.keys(game || {})[0]]) {\n        removeBetSlipEvent(eventId);\n      }\n    }\n  };\n\n  const callback = (eventId: number, resp: IBetslipSubscriptionResponse) => {\n    removeSuspendedSelection(resp, eventId);\n\n    let eventFormattedData = formatEventData(resp, eventId);\n\n    if (!eventFormattedData) {\n      eventFormattedData = {\n        [eventId]: {\n          ...BETSLIP_EVENT_TEMPLATE,\n          suspendReasons: ['other']\n        } as TBetslipEvent\n      };\n    }\n\n    updateBetSlipEvent(eventFormattedData);\n    dispatch(updateSubscribedEvent({ eventId, eventData: eventFormattedData }));\n  };\n\n  const updateCallback = (\n    eventId: number,\n    resp: IBetslipSubscriptionResponse\n  ) => {\n    removeSuspendedSelection(resp, eventId);\n\n    const updatedEvent = formatEventData(resp, eventId);\n\n    dispatch(updateSubscribedEvent({ eventId, eventData: updatedEvent || {} }));\n  };\n\n  const checkForAddedEvents = () => {\n    const addedEvents = eventIds.filter(\n      eventId => !prevEventIds?.includes(eventId)\n    );\n\n    addedEvents.forEach(event => {\n      const rid = RidGenerator.gForSubscribe('BETSLIP_EVENT_SUBSCRIPTION_');\n\n      setSubscriptionIds(subscriptionIds => ({\n        ...subscriptionIds,\n        [event]: rid\n      }));\n\n      dispatch(updateSubscribedEvent({ eventId: event, eventData: {} }));\n\n      const currentSubscriptionEntity = subscriptions.find(\n        subscription => subscription.eventId === event\n      );\n\n      betCommand(\n        {\n          command: CommandNames.GET,\n          params: {\n            source: CommandSource.BETTING,\n            is_betslip: true,\n            subscribe: true,\n            what: {\n              sport: ['id', 'name'],\n              region: ['id', 'name'],\n              competition: ['id', 'name'],\n              game: [\n                [\n                  'info',\n                  'type',\n                  'sport_alias',\n                  'is_blocked',\n                  'team1_name',\n                  'team2_name'\n                ]\n              ],\n              market: [\n                'name',\n                'is_blocked',\n                'express_id',\n                'prematch_express_id'\n              ],\n              event: ['id', 'price', 'base', 'name', 'is_blocked']\n            },\n            where: {\n              event: {\n                id: Number(event)\n              },\n              game: {\n                id: Number(currentSubscriptionEntity?.gameId)\n              }\n            }\n          },\n          rid\n        },\n        rid,\n        (data: IBetslipSubscriptionResponse) => callback(event, data),\n        (data: IBetslipSubscriptionResponse) => updateCallback(event, data),\n        null\n      );\n    });\n  };\n\n  const removeEvent = <T extends BetslipEvents | typeof subscriptionIds>(\n    removedEvents: number[],\n    newEvents: T\n  ): T => {\n    removedEvents.forEach(event => {\n      unsubscribeCommand(subscriptionIds[event]);\n\n      if (subscriptionIds[`${event}base`]) {\n        unsubscribeCommand(subscriptionIds[`${event}base`]);\n      }\n\n      const baseRid = prevSubscriptions?.find(\n        sub => sub.eventId === event\n      )?.baseRid;\n\n      if (baseRid) {\n        unsubscribeCommand(baseRid);\n      }\n\n      delete newEvents[event];\n    });\n\n    return newEvents;\n  };\n\n  const checkForRemovedEvents = () => {\n    const removedEvents = prevEventIds?.filter(\n      prevEventId => !eventIds?.includes(prevEventId)\n    );\n\n    if (removedEvents?.length) {\n      removedEvents.forEach(id => {\n        dispatch(removeSubscribedEvent(id));\n      });\n      setSubscriptionIds(subscriptionIds => {\n        subscriptionIds = removeEvent(removedEvents, { ...subscriptionIds });\n\n        return subscriptionIds;\n      });\n    }\n  };\n\n  useLayoutEffect(() => {\n    checkForAddedEvents();\n    checkForRemovedEvents();\n  }, [eventIds.join('-')]);\n\n  return null;\n};\n","import { memo, ReactElement, Suspense, useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { fireEvent } from 'utils/generic/event-bus';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { BetslipRootContainer } from 'newelements/_Betslip/components/containers/RootContainer';\nimport { BetslipTabs } from 'newelements/_Betslip/components/shared/BetslipTabs';\nimport { QuickBet } from 'newelements/_Betslip/components/shared/Features/QuickBet';\nimport { BetslipTypeBasedLayout } from 'newelements/_Betslip/layouts';\nimport { RootManager } from 'newelements/_Betslip/managers';\nimport { EBetslipConfigsDispatchActions } from 'newelements/_Betslip/types/configs';\nimport { useBetSlipSubscription } from 'hooks/useBetSlipSubscription';\nimport { getCounterOffersUnderReviewModal } from 'store/selectors/betslip';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n  import('./rtl.less');\n}\n\nconst { CounterOfferUnderReviewModal } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"counter-offer-under-review-modal\" */ './components/CounterOfferUnderReviewModal'\n    )\n);\n\ntype TBetslipComponentProps = {\n  isFloating?: boolean;\n  componentRid?: string;\n  configs?: { betslipFixedHeight: boolean };\n  jackpotForSport?: boolean;\n  detectTopHeight?: number;\n};\n\nconst betslipComponentDefaultProps = {\n  isFloating: false\n} as TBetslipComponentProps;\n\nconst _BetslipComponent = ({\n  isFloating,\n  configs,\n  detectTopHeight\n}: TBetslipComponentProps = betslipComponentDefaultProps): ReactElement => {\n  // create SubscribedEventsManager\n  useBetSlipSubscription();\n  const counterOffersUnderReviewModal = useSelector(\n    getCounterOffersUnderReviewModal\n  );\n\n  // @Todo need to change useEffect into LayoutEffect after fixing issue of multiple component calling before mount\n  useEffect(() => {\n    fireEvent({\n      key: EBetslipConfigsDispatchActions.SET_STATIC_CONFIGS,\n      // @Todo change \"isFloating\" prop name into \"floatingMode\"\n      payload: { ...configs, floatingMode: !!isFloating }\n    });\n  }, []);\n\n  // @TODO create separate component for betslip switchers ang group all there\n  if (SpringConfigs.MOCKED_DATA && isMobile()) {\n    return (\n      <>\n        <RootManager />\n        <BetslipTabs />;\n      </>\n    );\n  }\n\n  return (\n    <BetslipRootContainer\n      isHeightFixed={configs?.betslipFixedHeight}\n      detectTopHeight={detectTopHeight}\n    >\n      <RootManager />\n      <BetslipTabs />\n\n      <QuickBet />\n\n      <BetslipTypeBasedLayout />\n      <Suspense>\n        {counterOffersUnderReviewModal && <CounterOfferUnderReviewModal />}\n      </Suspense>\n    </BetslipRootContainer>\n  );\n};\n\nexport const BetslipComponent = memo(_BetslipComponent);\n","import { ReactElement, Suspense } from 'react';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { BetSlipEventObj, UkBets } from 'interfaces/bet-data';\nimport './index.less';\n\nconst { Advanced } = lazy(\n  () => import(/* webpackChunkName: \"betslip-advanced-ew\" */ './advanced')\n);\n\nconst { Single } = lazy(\n  () => import(/* webpackChunkName: \"betslip-single-ew\" */ './single')\n);\n\nconst { Basic } = lazy(\n  () => import(/* webpackChunkName: \"betslip-Basic-ew\" */ './basic')\n);\n\nconst EW_TYPES = {\n  0: Single,\n  1: Advanced,\n  2: Basic\n};\n\n// @Todo make ui same and wrap with HObetTypePC with type based functional\n\nexport const EachWay = (props: {\n  type: 0 | 1 | 2;\n  event?: BetSlipEventObj | UkBets;\n  index?: number;\n}): ReactElement => {\n  const View = EW_TYPES[props.type];\n\n  return (\n    <div className={`${isMobile() && 'mobile-each-way '} each-way__contanier`}>\n      <Suspense fallback={null}>\n        <View event={props.event} index={props.index || null} />\n      </Suspense>\n    </div>\n  );\n};\n","import { FC, memo } from 'react';\nimport { Switch } from 'antd';\nimport cc from 'classcat';\nimport { isMobile } from 'utils/is-mobile';\nimport { EventAction } from 'components/EventAction';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { CustomTooltip } from 'components/Tooltip';\nimport './index.less';\n\ntype Props = {\n  featureIsActive: boolean;\n  setFeatureIsActive: (val: boolean) => void;\n  tooltipText?: string;\n  featureName: string;\n  className?: string;\n  skipRowStyles?: boolean;\n};\n\nexport const BasicSwitcher: FC<Props> = memo(\n  ({\n    featureIsActive,\n    setFeatureIsActive,\n    tooltipText,\n    featureName,\n    className,\n    skipRowStyles = false\n  }) => {\n    return (\n      <div\n        data-testid={featureName.toLowerCase()}\n        className={cc([\n          'betslip-switcher__wrapper',\n          className,\n          {\n            'betslip-switcher__wrapper__active':\n              featureIsActive && !skipRowStyles\n          }\n        ])}\n      >\n        <div className=\"betslip__switcher__container\">\n          {tooltipText ? (\n            <CustomTooltip\n              arrowPointAtCenter={true}\n              title={\n                <span\n                  style={{ color: 'var(--v3-text-color)', fontSize: '12px' }}\n                >\n                  {tooltipText}\n                </span>\n              }\n              overlayClassName={\n                isMobile() ? 'tooltipBetslipMob' : 'tooltipBetslip'\n              }\n              placement={isMobile() ? 'topLeft' : 'topRight'}\n              trigger={['click', 'hover']}\n              color=\"white\"\n              overlayStyle={{ color: 'red' }}\n            >\n              <EventAction\n                className=\"betslip__feature-info\"\n                icon={\n                  <GlobalIcon\n                    lib=\"generic\"\n                    name=\"info\"\n                    theme=\"default\"\n                    size={16}\n                  />\n                }\n                size=\"md\"\n              />\n            </CustomTooltip>\n          ) : null}\n\n          {featureName}\n        </div>\n        <Switch checked={featureIsActive} onChange={setFeatureIsActive} />\n      </div>\n    );\n  }\n);\n","import { ComponentProps, memo, ReactElement, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { isMobile } from 'utils/is-mobile';\nimport { BasicSwitcher } from 'newelements/_Betslip/components/shared/Switchers/BasicSwitcher';\nimport { toggleQuickBet } from 'newelements/_Betslip/managers/QuickBetManager/quickBetActions';\nimport { getQuickBetEnabled } from 'store/selectors/betslip';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n  import('./rtl.less');\n}\n\nexport type TQuickBetBaseSwitcherProps = {\n  tooltip?: boolean;\n  className?: string;\n  isActive?: boolean;\n};\nexport const QuickBetBaseSwitcher = memo(\n  ({\n    tooltip,\n    isActive,\n    className\n  }: TQuickBetBaseSwitcherProps): ReactElement | null => {\n    const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n\n    const { t } = useTranslation();\n\n    const computedProps = useMemo<\n      Pick<\n        ComponentProps<typeof BasicSwitcher>,\n        'className' | 'featureIsActive' | 'tooltipText'\n      >\n    >(\n      () => ({\n        className,\n        featureIsActive: isActive ?? isQuickBetEnabled,\n        ...(tooltip ? { tooltipText: t('betslip.quickbetModeMessage') } : {})\n      }),\n      [tooltip, className, isActive, isQuickBetEnabled]\n    );\n\n    return (\n      <BasicSwitcher\n        {...computedProps}\n        skipRowStyles={isMobile()}\n        setFeatureIsActive={() => {\n          toggleQuickBet();\n        }}\n        featureName={t('betslip.quickbet')}\n      />\n    );\n  }\n);\n","import { fireEvent } from 'utils/generic/event-bus';\nimport { TAdvancedFreebet } from 'interfaces/bet-data';\n\nexport enum EProfitBoostActions {\n  CHECK_PROFIT_BOOST = 'CHECK_PROFIT_BOOST',\n  TOGGLE_PROFIT_BOOST = 'TOGGLE_PROFIT_BOOST'\n}\n\nexport type TCheckProfitBoostPayload = {\n  data: TAdvancedFreebet[];\n  eventId: string | number | null;\n  isAdvancedMultiple: boolean;\n};\nexport type TToggleProfitBoostPayload = {\n  eventId: number | string | null;\n  isActive: boolean | null;\n};\n\nexport const fireCheckProfitBoost = (\n  data: TCheckProfitBoostPayload['data'],\n  eventId: TCheckProfitBoostPayload['eventId'] = null,\n  isAdvancedMultiple: TCheckProfitBoostPayload['isAdvancedMultiple'] = false\n) => {\n  fireEvent({\n    key: EProfitBoostActions.CHECK_PROFIT_BOOST,\n    payload: {\n      eventId,\n      data,\n      isAdvancedMultiple\n    }\n  });\n};\n\nexport const fireToggleProfitBoost = (\n  eventId: TToggleProfitBoostPayload['eventId'] = null,\n  isActive: TToggleProfitBoostPayload['isActive'] = null\n) => {\n  fireEvent({\n    key: EProfitBoostActions.TOGGLE_PROFIT_BOOST,\n    payload: { eventId, isActive }\n  });\n};\n","import { fireEvent } from 'utils/generic/event-bus';\nimport { EQuickBetManagerDispatchActions } from 'newelements/_Betslip/types/quick-bet';\n\nexport const toggleQuickBet = (payload?: boolean) => {\n  fireEvent({\n    key: EQuickBetManagerDispatchActions.TOGGLE_QUICK_BET,\n    payload\n  });\n};\n","import {\n  createContext,\n  PropsWithChildren,\n  ReactElement,\n  useContext,\n  useId,\n  useMemo,\n  useState\n} from 'react';\nimport { EBetslipType } from 'interfaces/betslip';\nimport {\n  EBetslipConfigsDispatchActions,\n  TBetslipComputedConfigs,\n  TBetslipStaticConfigs\n} from 'newelements/_Betslip/types/configs';\nimport { TBetslipConfigsContext } from 'newelements/_Betslip/types/context';\nimport { useEventbus } from 'newhooks/generic/useEventbus';\n\nconst staticConfigsInitialValue = {\n  betslipFixedHeight: false,\n  floatingMode: false,\n  betslipRootId: ''\n};\n\nconst computedConfigsInitialValue: TBetslipComputedConfigs = {\n  isOpened: false,\n  mustOpen: false,\n  mustClose: false,\n  betslipType: EBetslipType.BASIC\n};\n\nconst betslipConfigsContextInitialValue: TBetslipConfigsContext = {\n  static: staticConfigsInitialValue,\n  computed: computedConfigsInitialValue\n};\n\nexport const BetslipConfigsContext = createContext(\n  betslipConfigsContextInitialValue\n);\n\nexport const BetslipConfigsContextProvider = ({\n  children\n}: PropsWithChildren): ReactElement => {\n  const betslipRootId = useId();\n  const [staticConfigs, setStaticConfigs] = useState<TBetslipStaticConfigs>({\n    ...staticConfigsInitialValue,\n    betslipRootId\n  });\n\n  const [computedConfigs, setComputedConfigs] =\n    useState<TBetslipComputedConfigs>(computedConfigsInitialValue);\n\n  // const setOpen = useCallback(\n  //   (open: boolean) => {\n  //     dispatch(setBetslipOpen(open));\n  //\n  //     if (!open && isMobile()) {\n  //       dispatch(setFreezeTabChange(false));\n  //\n  //       if (!allLsBets.length && isLoggedIn) {\n  //         dispatch(setActiveTabPage(EBetslipPage.OPEN_BETS));\n  //       } else {\n  //         dispatch(setActiveTabPage(EBetslipPage.BETSLIP));\n  //       }\n  //     }\n  //   },\n  //   [allLsBets, isLoggedIn]\n  // );\n\n  useEventbus({\n    /* eslint-disable */\n    // [EBetslipConfigsDispatchActions.SET_IS_OPENED]: (_, v?: boolean) => changeComputedConfigByKey('isOpened', v),\n    // [EBetslipConfigsDispatchActions.SET_MUST_OPEN]: (_, v?: boolean) => changeComputedConfigByKey('mustOpen', v),\n    // [EBetslipConfigsDispatchActions.SET_MUST_CLOSE]: (_, v?: boolean) => changeComputedConfigByKey('mustClose', v),\n    [EBetslipConfigsDispatchActions.SET_BETSLIP_TYPE]: ({ payload }) =>\n      changeComputedConfigByKey('betslipType', payload),\n    [EBetslipConfigsDispatchActions.SET_STATIC_CONFIGS]: ({\n      payload\n    }: {\n      payload: TBetslipStaticConfigs;\n    }) => setStaticConfigs(p => ({ ...p, ...payload }))\n    /* eslint-enable */\n  });\n\n  const configsContextValue = useMemo<TBetslipConfigsContext>(\n    () => ({\n      static: staticConfigs,\n      computed: computedConfigs\n    }),\n    [staticConfigs, computedConfigs]\n  );\n\n  /**\n   * Competition ids that must hide game info\n   * @param  {key: keyof TBetslipComputedConfigs} key the key of property we want to change\n   * @param  {value: TBetslipComputedConfigs[k]} value updated value, if you do not pass the value then the function works like toggle\n   */\n  const changeComputedConfigByKey = <T extends keyof TBetslipComputedConfigs>(\n    key: T,\n    // value?: TBetslipStaticConfigs[T]\n    value?: any\n  ) => {\n    setComputedConfigs(prev => {\n      return {\n        ...prev,\n        [key]: value !== undefined ? value : !prev[key]\n      };\n    });\n  };\n\n  return (\n    <BetslipConfigsContext.Provider value={configsContextValue}>\n      {children}\n    </BetslipConfigsContext.Provider>\n  );\n};\n\nexport const useBetslipConfigsContext = (): TBetslipConfigsContext =>\n  useContext(BetslipConfigsContext);\n","import { EBetslipType } from 'interfaces/betslip';\n\nexport type TBetslipStaticConfigs = {\n  betslipFixedHeight: boolean;\n  floatingMode: boolean;\n  betslipRootId: string;\n};\nexport type TBetslipComputedConfigs = {\n  isOpened: boolean;\n  mustOpen: boolean;\n  mustClose: boolean;\n  betslipType: EBetslipType;\n};\n\nexport enum EBetslipConfigsDispatchActions {\n  SET_STATIC_CONFIGS = 'SET_STATIC_CONFIGS',\n  /*Toggle States start*/\n  SET_IS_OPENED = 'SET_IS_OPENED',\n  SET_MUST_OPEN = 'SET_MUST_OPEN',\n  SET_MUST_CLOSE = 'SET_MUST_CLOSE',\n  /*Toggle States end*/\n\n  SET_BETSLIP_TYPE = 'SET_BETSLIP_TYPE'\n}\n","export enum EQuickBetManagerDispatchActions {\n  TOGGLE_QUICK_BET = 'TOGGLE_QUICK_BET'\n}\n\nexport type TQuickBetState = {\n  active: boolean;\n  enabled: boolean;\n};\n","export enum EBetslipToggleActions {\n  /*Toggle States start*/\n  SET_OPEN = 'SET_OPEN',\n  SET_IS_OPENED = 'SET_IS_OPENED',\n  SET_MUST_OPEN = 'SET_MUST_OPEN',\n  SET_MUST_CLOSE = 'SET_MUST_CLOSE'\n  /*Toggle States end*/\n}\n","import styled from 'styled-components';\nimport { Badge } from 'newcomponents/UI/Badge';\n\nexport const Container = styled.div`\n  height: 100%;\n  display: flex;\n  text-align: left;\n  flex-direction: column;\n  position: relative;\n  background: var(--v3-black-2);\n\n  .loading__container {\n    z-index: 1;\n    background: #ffffff21;\n    backdrop-filter: blur(2px);\n  }\n\n  &.betslipBody {\n    overflow-y: auto;\n    overflow-x: hidden;\n    height: auto;\n    flex: 1;\n    max-height: 100%;\n    position: relative;\n  }\n`;\n\nexport const Header = styled.div<{\n  shadow?: boolean;\n  content?: 'flex-end' | 'space-between';\n  $isAdvanced?: boolean;\n}>`\n  top: 0;\n  z-index: 2;\n  height: 48px;\n  display: flex;\n  font-size: 14px;\n  position: sticky;\n  font-weight: 600;\n  align-items: center;\n  padding: 12px;\n  letter-spacing: 0.42px;\n  color: var(--v3-text-color);\n  justify-content: ${props => props.content || 'space-between'};\n  background-color: var(--v3-black-0);\n  ${props =>\n    props.shadow &&\n    ` margin-bottom: 1px;\n      box-shadow: var(--v3-shadow-1-down);\n    `}\n  ${props =>\n    props.$isAdvanced\n      ? `\n         padding: 8px 12px 0 0;\n         height: unset\n        `\n      : ''}\n  .betslipFeatureSwitcher {\n    padding: 0;\n  }\n`;\n\nexport const FooterContainer = styled.div`\n  flex-direction: column;\n  display: flex;\n  padding: 12px;\n  & > button {\n    flex: 1;\n  }\n`;\n\nexport const FooterLabel = styled.div`\n  color: var(--v3-text-color);\n  font-size: 12px;\n  line-height: 16px;\n`;\n\nexport const FooterItem = styled.div<{\n  isSingle?: boolean;\n  totalReturn?: boolean;\n}>`\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  ${props => (props.isSingle ? ` margin-bottom: 0;` : ` margin-bottom: 12px;`)}\n  ${props =>\n    props.totalReturn &&\n    `\n      padding: 12px 0;\n      border-top: 1px solid var(--v3-black-6);\n      border-bottom: 1px solid var(--v3-black-6);\n    `}\n`;\n\nexport const Link = styled.div`\n  font-size: 11px;\n  font-weight: 400;\n  letter-spacing: 0.33px;\n  color: var(--v3-text-color);\n  cursor: pointer;\n`;\n\nexport const BetButtonWrapper = styled.div`\n  display: flex;\n  padding: 0 8px 12px 8px;\n  border-bottom-left-radius: 4px;\n  border-bottom-right-radius: 4px;\n  background-color: var(--v3-black-0);\n  justify-content: flex-end;\n`;\n\nexport const BetBadge: typeof Badge = styled(Badge)`\n  display: flex;\n  flex: 1;\n`;\n\nexport const FreeBetAmountLabel = styled.div`\n  font-size: 14px;\n  color: var(--v3-text-color);\n  font-weight: 600;\n`;\n\nexport const FreeBetAmountWrapper = styled(FooterItem)`\n  border-bottom: 1px solid var(--v3-primary-2);\n  padding-bottom: 12px;\n`;\n\nexport const BetsWrapper = styled.div`\n  background-color: var(--v3-black-6);\n  text-align: left;\n`;\n\nexport const OpenBetsWrapper = styled.div`\n  margin-bottom: 4px;\n  border-radius: 4px;\n  box-shadow: var(--v3-shadow-2);\n`;\n\nexport const FooterValue = styled.div`\n  display: flex;\n  align-items: center;\n  font-size: 14px;\n  line-height: 20px;\n  font-weight: 600;\n  color: var(--v3-text-color);\n`;\n\nexport const ResultValue = styled.div`\n  font-size: 14px;\n  font-weight: 600;\n  letter-spacing: 0.42px;\n  color: var(--v3-primary-6);\n`;\n","import { useEffect, useLayoutEffect, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { timeoutDuration } from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport {\n  getHeader,\n  getHeaderHeight,\n  makeHeaderFixed,\n  removeFixedHeader\n} from 'utils/helpers/fixed-header';\nimport { isMobile } from 'utils/is-mobile';\nimport { ICasinoCachedGames } from 'interfaces/casino-data';\nimport { setHeaderState } from 'store/actions/app-data';\nimport { getHeaderState } from 'store/selectors/app-data';\nimport { getBetslipOpen, getQuickBetEnabled } from 'store/selectors/betslip';\nimport { getActiveGames } from 'store/selectors/new-casino';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\n\nexport const useHeaderVisibility = (): void => {\n  const dispatch = useDispatch();\n  const user = useSelector(getUser);\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n  const isBetslipOpened = useSelector(getBetslipOpen);\n  const activeGames = useSelector(getActiveGames) as ICasinoCachedGames;\n  const { isVisible, height: headerHeight } = useSelector(getHeaderState);\n\n  const isHeaderVisibleForCasino =\n    SpringConfigs.IS_HEADER_VISIBLE_IN_CASINO &&\n    isLoggedIn &&\n    Object.keys(activeGames).length > 0;\n\n  const isHeaderVisibleForBetslip = useMemo(\n    () => isMobile() && isLoggedIn && isBetslipOpened && !isQuickBetEnabled,\n    [isLoggedIn, isBetslipOpened, isQuickBetEnabled]\n  );\n\n  const removeHeader = () => {\n    if (getHeader()) {\n      removeFixedHeader();\n\n      setTimeout(() => {\n        dispatch(setHeaderState({ isVisible: false, height: 0 }));\n      }, timeoutDuration.DURATION_100);\n    }\n  };\n\n  useLayoutEffect(() => {\n    if (getHeader()) {\n      if (\n        (isHeaderVisibleForCasino || isHeaderVisibleForBetslip) &&\n        !isVisible\n      ) {\n        makeHeaderFixed();\n\n        const updateHeaderHeight = () => {\n          const height = getHeaderHeight();\n\n          if (headerHeight !== height) {\n            dispatch(setHeaderState({ height }));\n          }\n        };\n\n        updateHeaderHeight();\n        getHeader().addEventListener('resize', updateHeaderHeight);\n\n        dispatch(setHeaderState({ isVisible: true }));\n      }\n\n      if (!isHeaderVisibleForCasino && !isHeaderVisibleForBetslip) {\n        removeHeader();\n      }\n    }\n  }, [user, isHeaderVisibleForBetslip, isHeaderVisibleForCasino]);\n\n  useEffect(() => {\n    return removeHeader;\n  }, []);\n};\n","import i18n from 'i18next';\nimport qs from 'qs';\nimport { convert } from 'utils/betslip/odd-formats-helper';\nimport {\n  MODE_TYPES,\n  REPLACE_EDIT_BET_TRANSLATIONS\n} from 'utils/constants/betslip/bet-types';\nimport { ERROR_CODE_TIMEOUT_1800 } from 'utils/constants/dateInfo/time-numbers';\nimport { EAccount } from 'utils/constants/store/query-keys';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport {\n  CommandNames,\n  CommandSource\n} from 'utils/constants/swarm/swarm-command-names';\nimport { SwarmSuccessMessages } from 'utils/constants/swarm/swarm-success-messages';\nimport { fireEvent } from 'utils/generic/event-bus';\nimport { showToastError } from 'utils/generic/show-toast-error';\nimport { appendCustomCode } from 'utils/other/customCode';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { showToastSuccess } from 'utils/swarm/swarm-success-handler';\nimport { GetCurrencyConfigsResponse } from 'interfaces/account-settings';\nimport {\n  BookBetParamsType,\n  DoBetResponseType,\n  TCreateBets,\n  TV3FreebetParams,\n  TV3FreebetResponse\n} from 'interfaces/bet-data';\nimport { doBetProps, IEventsAndGameIds } from 'interfaces/betslip';\nimport { AccountParamsType, AppendCustomCodes } from 'interfaces/generic';\nimport {\n  CommandObj,\n  WebsocketEnhanced\n} from 'interfaces/spring-websocket-interfaces';\nimport { EPlayerActivityCheckerActions } from 'newcomponents/Shared/account/PlayerActivityChecker/types';\nimport { connectingWS } from 'hooks/useSpringConnect';\nimport Store from 'store';\nimport {\n  batchActions,\n  removeFreeBetItem,\n  setFreeBetSelectedEventId,\n  setSelectedProfitBoostEventId\n} from 'store/actions';\nimport { IBetslipRootStateInitialData } from 'store/reducers/betslip';\nimport { queryClient } from 'stores/query/query-client';\nimport { deviceActionManager } from '../deviceactionmanager/DeviceActionManager';\n\n// this is required for showing messages outside the betslip if it is closed\nconst getMessageContextBasedOnBetslipOpenState = (\n  messageContext: HTMLElement | null | undefined\n): HTMLElement | null | undefined => {\n  const isBetslipOpen = Store.getState().betSlip?.betslipOpen;\n  const isFloatingBetslipEnabled = SpringConfigs.IS_BETSLIP_FLOATING_ENABLED;\n\n  if (\n    !isFloatingBetslipEnabled ||\n    (isFloatingBetslipEnabled && isBetslipOpen)\n  ) {\n    return messageContext;\n  }\n\n  return null;\n};\n\n/* eslint-disable */\nexport const betCommand = async (\n  commandObj: any, //  command object must be of type any for generic purpose\n  rid: string,\n  callback: Function,\n  updateCallback: Function | null,\n  callbackError: Function | null\n): Promise<void> => {\n  /* eslint-enable */\n  connectingWS.then((socket: WebsocketEnhanced) => {\n    socket.sendCommand(\n      commandObj,\n      rid,\n      callback,\n      updateCallback,\n      callbackError\n    );\n  });\n};\n\nconst oddChangeHandlerCallbackWrapper = (\n  response: DoBetResponseType,\n  callback: Function | null,\n  oddFormat: number,\n  setAcceptBet?: Function,\n  messageContext?: HTMLElement | null\n): void => {\n  callback?.(response);\n  const { result, result_text, details, StatusCode, Data } = response;\n\n  const isStatusCode = StatusCode === REPLACE_EDIT_BET_TRANSLATIONS[0];\n\n  if (result === ERROR_CODE_TIMEOUT_1800 || isStatusCode) {\n    const changedOdd = isStatusCode\n      ? Data?.ErrorData\n        ? {\n            old_price: Data?.ErrorData?.OldPrice,\n            new_price: Data?.ErrorData?.ActualPrice\n          }\n        : null\n      : Array.isArray(details)\n      ? {\n          old_price: details[0].old_price,\n          new_price: details[0].new_price\n        }\n      : null;\n\n    if (setAcceptBet) {\n      setAcceptBet(true);\n    }\n\n    if (!changedOdd) {\n      return;\n    }\n\n    const oddsChangedText = i18n\n      .t('swarm.OddsIsChanged')\n      .replace('{oldPrice}', convert(changedOdd.old_price, oddFormat))\n      .replace('{newPrice}', convert(changedOdd.new_price, oddFormat));\n\n    showToastError(\n      oddsChangedText,\n      getMessageContextBasedOnBetslipOpenState(messageContext),\n      result_text\n    );\n  }\n};\n\n// DON'T use this function directly in project, instead use useDoBetHandler : doBetHandler function\nexport const doBet = (\n  data: doBetProps,\n  callback: Function,\n  callbackError: Function | null,\n  setAcceptBet?: Function,\n  messageContext?: HTMLElement | null\n): void => {\n  const editBet = Store.getState().betSlip?.editBet;\n\n  // @Todo add type for betslip do bet response\n  const _callback = (res: any) => {\n    callback(res);\n\n    if (SpringConfigs.WRAPPER_APP && window.median) {\n      deviceActionManager.vibrate('impactMedium');\n    }\n  };\n\n  if (editBet?.active) {\n    sendCreateBet(data, _callback, callbackError, setAcceptBet, messageContext);\n  } else {\n    sendDoBet(data, _callback, callbackError, setAcceptBet, messageContext);\n  }\n};\n\n/*eslint no-magic-numbers:*/\n// TODO check after betslip refactor\nconst sendDoBet = (\n  data: doBetProps,\n  callback: Function,\n  callbackError: Function | null,\n  setAcceptBet?: Function,\n  messageContext?: HTMLElement | null\n): void => {\n  const oddFormat = Store.getState().betSlip.oddFormat;\n  const editBet = Store.getState().betSlip.editBet;\n  const isBonusMoney = Store.getState().betSlip.useBonusBalance;\n  const user = Store.getState().userData.user;\n  const isFrenchFreeBetEnabled =\n    Store.getState().betSlip.isFrenchFreeBetEnabled;\n\n  const {\n    bets,\n    type,\n    mode,\n    sys_bet,\n    bonus_id,\n    predefined_multiple_id,\n    source,\n    each_way,\n    booking_id,\n    location_token\n  } = data;\n\n  const amount = editBet?.active ? editBet.amount : data.amount;\n\n  const additional_amount = data.amount;\n  const old_bet_id = editBet?.betId || null;\n\n  const command = {\n    command: CommandNames.DO_BET,\n    params: {\n      source,\n      each_way,\n      bonus_id,\n      amount,\n      bets,\n      mode: mode || MODE_TYPES.ODD_NOT_CHANGE,\n      odd_type: oddFormat,\n      type,\n      booking_id,\n      is_bonus_money: !!isBonusMoney,\n      ...(isFrenchFreeBetEnabled ? { is_free_bet_money: true } : {}),\n      ...(location_token ? { location_token } : {})\n    } as Record<string, any>,\n    rid: RidGenerator.gForCommand()\n  };\n\n  if (sys_bet) {\n    command.params.sys_bet = sys_bet;\n  }\n\n  if (predefined_multiple_id) {\n    command.params.predefined_multiple_id = predefined_multiple_id;\n  }\n\n  if (editBet?.active) {\n    command.params.additional_amount = additional_amount;\n    command.params.old_bet_id = old_bet_id;\n  }\n\n  betCommand(\n    command,\n    '',\n    (data: {\n      result: string;\n      details: {\n        bet_id: number;\n        k: number;\n        is_superbet: boolean;\n      };\n    }) => {\n      callback(data);\n      fireEvent({ key: EPlayerActivityCheckerActions.checkPlayerActivity });\n\n      const betslipStore: IBetslipRootStateInitialData =\n        Store.getState().betSlip;\n\n      const freeBetStore = betslipStore.freeBets;\n\n      Store.dispatch(\n        batchActions(\n          setSelectedProfitBoostEventId(null),\n          setFreeBetSelectedEventId(null)\n        )\n      );\n\n      if (freeBetStore.selectedFreeBetId) {\n        Store.dispatch(\n          batchActions(removeFreeBetItem(freeBetStore.selectedFreeBetId))\n        );\n      }\n\n      if (data && data.result === 'OK') {\n        if (data.details?.is_superbet) {\n          showToastSuccess(\n            i18n.t('betslip.superBetSuccess'),\n            getMessageContextBasedOnBetslipOpenState(messageContext)\n          );\n        } else {\n          showToastSuccess(\n            i18n.t(`betslip.${SwarmSuccessMessages.DO_BET}`),\n            getMessageContextBasedOnBetslipOpenState(messageContext)\n          );\n        }\n      }\n\n      const accountParams: AccountParamsType = queryClient.getQueryData([\n        EAccount['AccountParams']\n      ]);\n\n      if (\n        accountParams &&\n        +accountParams[AppendCustomCodes.APPEND_CUSTOM_CODE_BETSLIP]\n      ) {\n        appendCustomCode(accountParams[AppendCustomCodes.CUSTOM_CODE_BETSLIP], {\n          amount,\n          currency: user?.currency,\n          bet_id: data?.details?.bet_id,\n          k: data?.details?.k,\n          is_superbet: mode === -1,\n          bet_type: type,\n          name: user?.name,\n          first_name: user?.first_name,\n          last_name: user?.last_name,\n          email: user?.email,\n          username: user?.username,\n          btag: user?.btag,\n          userId: user?.id,\n          phone: user?.phone\n        });\n      }\n    },\n    () => undefined,\n    ({ data }: { data: DoBetResponseType }) => {\n      oddChangeHandlerCallbackWrapper(\n        data,\n        callbackError,\n        oddFormat,\n        setAcceptBet,\n        messageContext\n      );\n    }\n  );\n};\n\nconst sendCreateBet = (\n  data: doBetProps,\n  callback: Function,\n  callbackError: Function | null,\n  setAcceptBet?: Function,\n  messageContext?: HTMLElement | null\n): void => {\n  const oddFormat = Store.getState().betSlip.oddFormat;\n  const editBet = Store.getState().betSlip.editBet;\n  const user = Store.getState().userData.user;\n  const isFrenchFreeBetEnabled =\n    Store.getState().betSlip.isFrenchFreeBetEnabled;\n\n  const { bets, type, mode, source, each_way, location_token } = data;\n\n  const amount = editBet?.active ? editBet.amount : data.amount;\n\n  const additional_amount = data.amount;\n  const old_bet_id = editBet?.betId || null;\n\n  const command: TCreateBets = {\n    command: CommandNames.CREATE_BETS,\n    params: {\n      bets: [\n        {\n          Source: source,\n          EachWay: each_way,\n          Amount: amount,\n          Events: bets.map(bet => ({\n            SelectionId: bet.event_id,\n            Coeficient: bet.price\n          })),\n          OddType: oddFormat,\n          Type: type,\n          AdditionalAmount: undefined,\n          ...(isFrenchFreeBetEnabled ? { IsFreeBetMoney: true } : {})\n        }\n      ],\n      ...(location_token ? { GeoLocationToken: location_token } : {})\n    },\n    rid: RidGenerator.gForCommand()\n  };\n\n  if (editBet?.active) {\n    command.params.bets[0].AdditionalAmount = additional_amount;\n    command.params.bets[0].OldBetId = old_bet_id;\n  }\n\n  betCommand(\n    command,\n    '',\n    (data: {\n      result: string;\n      StatusCode: string;\n      Data: Array<{\n        bet_id: number;\n        k: number;\n        is_superbet?: boolean;\n      }>;\n    }) => {\n      if (data.StatusCode === '0') {\n        data.result = 'OK';\n\n        if (data.Data?.[0]?.is_superbet) {\n          showToastSuccess(\n            i18n.t('betslip.superBetSuccess'),\n            getMessageContextBasedOnBetslipOpenState(messageContext)\n          );\n        } else {\n          showToastSuccess(\n            i18n.t(`betslip.${SwarmSuccessMessages.DO_BET}`),\n            getMessageContextBasedOnBetslipOpenState(messageContext)\n          );\n        }\n      }\n\n      callback(data);\n      fireEvent({ key: EPlayerActivityCheckerActions.checkPlayerActivity });\n\n      const accountParams: AccountParamsType = queryClient.getQueryData([\n        EAccount['AccountParams']\n      ]);\n\n      if (\n        accountParams &&\n        +accountParams[AppendCustomCodes.APPEND_CUSTOM_CODE_BETSLIP]\n      ) {\n        appendCustomCode(accountParams[AppendCustomCodes.CUSTOM_CODE_BETSLIP], {\n          amount,\n          currency: user?.currency,\n          bet_id: data?.Data[0]?.bet_id,\n          k: data?.Data[0]?.k,\n          is_superbet: mode === -1,\n          bet_type: type,\n          name: user?.name,\n          first_name: user?.first_name,\n          last_name: user?.last_name,\n          email: user?.email,\n          username: user?.username,\n          btag: user?.btag,\n          userId: user?.id,\n          phone: user?.phone\n        });\n      }\n    },\n    () => undefined,\n    ({ data }: { data: DoBetResponseType }) => {\n      oddChangeHandlerCallbackWrapper(\n        data,\n        callbackError,\n        oddFormat,\n        setAcceptBet,\n        messageContext\n      );\n    }\n  );\n};\n\nexport const getV3Freebet = (\n  params: TV3FreebetParams,\n  callback: (data: TV3FreebetResponse) => void,\n  callbackError: ((err?: Record<string, string>) => void) | null = null\n): void => {\n  const command = {\n    command: CommandNames.GET_FREEBETS_FOR_BETSLIP_V3,\n    params,\n    rid: RidGenerator.gForCommand()\n  };\n\n  betCommand(command, '', callback, () => undefined, callbackError);\n};\n\nexport const getCurrencyConfigs = async (\n  currency: string,\n  callback: (data: GetCurrencyConfigsResponse) => void,\n  callbackError: Function | null\n): Promise<void> => {\n  const commandObj = {\n    command: CommandNames.GET,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      source: CommandSource.CURRENCY_CONFIG,\n      what: {\n        currency: []\n      },\n      where: {\n        currency: { name: currency }\n      },\n      subscribe: false\n    }\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) =>\n    socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n  );\n};\n\nexport const bookBet = async (\n  bets: BookBetParamsType,\n  callback: Function,\n  callbackError: Function\n): Promise<void> => {\n  const commandObj: CommandObj = {\n    command: CommandNames.BOOK_BET,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      bets\n    }\n  };\n\n  const tid = Number(\n    qs.parse(window.location.search, { ignoreQueryPrefix: true }).tid\n  );\n\n  tid && (commandObj.params.cashdesk_id = tid);\n\n  connectingWS.then((socket: WebsocketEnhanced) =>\n    socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n  );\n};\n\nexport const getEventsByBookingId = (\n  bookId: string,\n  callback: Function,\n  callbackError: Function\n): void => {\n  const commandObj: CommandObj = {\n    command: CommandNames.GET_EVENTS_BY_BOOKING_ID,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      booking_id: +bookId\n    }\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) =>\n    socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n  );\n};\n\nexport const getEventsReadyForBetslip = (\n  eventsAndGameIds: IEventsAndGameIds[] | null,\n  callback: Function,\n  callBackError?: Function,\n  getOnlyEventIds?: boolean,\n  gameIds?: number[],\n  eventIds?: number[]\n): void => {\n  const games = gameIds\n    ? gameIds\n    : eventsAndGameIds\n    ? eventsAndGameIds.map(entity => entity.gameId)\n    : [];\n\n  const events =\n    gameIds && eventIds\n      ? eventIds\n      : eventsAndGameIds\n      ? eventsAndGameIds.map(entity => entity.eventId)\n      : [];\n\n  const commandObj = {\n    command: CommandNames.GET,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      source: CommandSource.BETTING,\n      what: {\n        ...(!getOnlyEventIds && {\n          sport: ['alias', 'type'],\n          region: ['name', 'alias'],\n          competition: ['name', 'id'],\n          game: ['id', 'type', 'team1_name', 'team2_name', 'start_ts', 'info'],\n          market: ['name', 'type', 'extra_info']\n        }),\n        event: getOnlyEventIds\n          ? ['id']\n          : ['id', 'base', 'name', 'price', 'ew_allowed']\n      },\n      where: {\n        game: {\n          id: {\n            '@in': games\n          }\n        },\n        event: {\n          id: {\n            '@in': events\n          }\n        }\n      }\n    }\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) => {\n    socket.sendCommand(commandObj, '', callback, undefined, callBackError);\n  });\n};\n\nexport const counterCounterOfferAnswer = (\n  acceptOffer: boolean,\n  betId: number | string,\n  callback: Function,\n  callbackError?: Function\n): void => {\n  const commandObj: CommandObj = {\n    command: CommandNames.SUPER_BET_ANSWER,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      accept: acceptOffer,\n      bet_id: betId\n    }\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) =>\n    socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n  );\n};\n\nexport const checkBetStatus = (\n  betId: number | string,\n  callback: Function,\n  callbackError?: Function\n): void => {\n  const commandObj: CommandObj = {\n    command: CommandNames.CHECK_BET_STATUS,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      bet_id: betId\n    }\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) =>\n    socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n  );\n};\n","import { CommandNames } from 'utils/constants/swarm/swarm-command-names';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { EachWayPartnerTermsResponse } from 'interfaces/sportsbook-data-levels';\nimport { WebsocketEnhanced } from 'interfaces/spring-websocket-interfaces';\nimport { connectingWS } from 'hooks/useSpringConnect';\nimport Store from 'store';\nimport { setEachWayPartnerTerms } from 'store/actions';\n\nexport const getEachWay = (params: { market_id?: number }): void => {\n  connectingWS.then((socket: WebsocketEnhanced) => {\n    socket.sendCommand(\n      {\n        command: CommandNames.GET_EACH_WAY_PARTNER_TERMS,\n        params,\n        rid: RidGenerator.gForCommand()\n      },\n      '',\n      (data: EachWayPartnerTermsResponse) => {\n        if (data?.details && params.market_id) {\n          Store.dispatch(\n            setEachWayPartnerTerms(data.details, params.market_id)\n          );\n        }\n      }\n    );\n  });\n};\n","import { createSelector } from 'reselect';\nimport { getSelectorRoot } from 'utils/selectors';\nimport { ICasinoCachedGames } from 'interfaces/casino-data';\n\nconst getCasinoStore = getSelectorRoot('newCasinoStore');\n\nconst getCasinoCategories = getCasinoStore('categories');\nexport const getCasinoOriginalCategories = createSelector(\n  [getCasinoCategories],\n  categories => categories.original\n);\nexport const getEnhancedParams = getCasinoStore('enhancedParams');\n\nexport const getGamesConfigs = getCasinoStore('gamesConfigs');\nexport const getCasinoCustomCategories = createSelector(\n  [getCasinoCategories],\n  categories => categories.custom\n);\nexport const getCasinoOriginalCategoriesSet = createSelector(\n  [getCasinoCategories],\n  categories => categories.originalSet\n);\nexport const getCasinoOriginalCategoriesSetLeftSideBar = createSelector(\n  [getCasinoCategories],\n  categories => categories.originalSetLeftSideBar\n);\nexport const getCanRequestCategoriesNestedData = getCasinoStore(\n  'canRequestCategoriesNestedData'\n);\nexport const getCanRequestProvidersNestedData = getCasinoStore(\n  'canRequestProvidersNestedData'\n);\nexport const getLastPlayedCatSettings = getCasinoStore('lastPlayedCatSettings');\nexport const getCategoryCustomIds = getCasinoStore('categoryCustomIds');\nexport const getCachedGames = getCasinoStore('cachedGames');\nexport const getActiveGames = createSelector(\n  [getCachedGames],\n  (cachedGames: ICasinoCachedGames = {}) => {\n    return Object.values(cachedGames)\n      .filter(gameData => gameData.active)\n      .reduce((acc, gameData) => {\n        if (!gameData.data) {\n          return acc;\n        }\n\n        acc[gameData.data.extearnal_game_id] = gameData;\n\n        return acc;\n      }, {} as ICasinoCachedGames);\n  }\n);\n","export const changeWrapperRowZIndex = (\n  wrapper: HTMLElement | null,\n  increaseSize: number,\n  isWrapperRow = false,\n  selector = '.row-container',\n  fixedZindex?: boolean\n): HTMLElement | null => {\n  const wrapperElement = isWrapperRow\n    ? wrapper\n    : (wrapper?.closest(selector) as HTMLElement);\n\n  if (!wrapperElement) {\n    return null;\n  }\n\n  if (fixedZindex) {\n    wrapperElement.style.zIndex = '3';\n  }\n\n  let wrapperZIndex = +window\n    .getComputedStyle(wrapperElement, '')\n    .getPropertyValue('z-index');\n\n  if (wrapperZIndex) {\n    wrapperZIndex += increaseSize;\n\n    wrapperElement.style.zIndex = wrapperZIndex.toString();\n  }\n\n  return wrapperElement;\n};\n","export const HALF_SCORE_RESULT = 0.5;\nexport const ONE_HUNDRED_PERCENT = 100;\nexport const SCORE_INDEX = 10;\nexport const USA_LAYOUT_ICON_SIZE = 12;\nexport const DEFAULT_LAYOUT_ICON_SIZE = 5.2;\nexport const FAVORITE_BUTTON_CONTAINER_ICON_SIZE = 24;\nexport const ADVANCED_CONTAINER_SIZE = 20;\nexport const FavoritePerRow = 3;\nexport const FavoritePerRowMobile = 1;\n\nexport enum MULTIVIEW_CARDS_ROW {\n  COUNT_2 = 2,\n  // eslint-disable-next-line no-magic-numbers\n  COUNT_3 = 3\n}\nexport enum MULTIVIEW_CARDS_VIEW {\n  COUNT_2 = 2,\n  // eslint-disable-next-line no-magic-numbers\n  COUNT_3 = 3\n}\n","const COMPOUND_INDIVIDUAL_SHOOTS_NUMBER = 6;\nconst COMPOUND_MIXED_TEAM_SHOOTS_NUMBER = 5;\nconst COMPOUND_TEAM_SHOOTS_NUMBER = 5;\nconst ARCHERY_H2H_SHOOTS_NUMBER = 6;\nconst RECURVE_MIXED_TEAM_SHOOTS_NUMBER = 5;\nconst RECURVE_TEAM_SHOOTS_NUMBER = 5;\n\nexport const PISTOL_H2H_SHOOT_OFF_SET_NUMBER = 2;\nexport const ARCHERY_H2H_SHOOT_OFF_SET_NUMBER = 6;\nexport const COMPOUND_ARCHERY_SHOOT_OFF_SET_BY_TYPE = {\n  0: COMPOUND_INDIVIDUAL_SHOOTS_NUMBER,\n  1: COMPOUND_MIXED_TEAM_SHOOTS_NUMBER,\n  2: COMPOUND_TEAM_SHOOTS_NUMBER\n};\nexport const ARCHERY_H2H_SHOOT_OFF_SET_BY_TYPE = {\n  0: ARCHERY_H2H_SHOOTS_NUMBER,\n  1: RECURVE_MIXED_TEAM_SHOOTS_NUMBER,\n  2: RECURVE_TEAM_SHOOTS_NUMBER\n};\nexport const PISTOL_SHOOTING_SETS_COUNT = 3;\nexport const ARCHERY_SHOOTING_SETS_COUNT = 6;\nexport const PISTOL_SHOOTING_SHOOTS_COUNT = 10;\nexport const ARCHERY_SHOOTING_SHOOTS_COUNT = 6;\nexport const H2H_COMPOUND_ARCHERY_SHOOTS_COUNT = 3;\nexport const PISTOL_H2H_SHOOTS_COUNT = 10;\nexport const PISTOL_H2H_SHOOT_OFF_MAX_SHOOTS_COUNT = 3;\n\nexport const H2H_COMPOUND_ARCHERY_MATCH_STATE_NOT_STARTED = 0;\nexport const H2H_COMPOUND_ARCHERY_MATCH_STATE_IN_PLAY = 1;\nexport const H2H_COMPOUND_ARCHERY_MATCH_STATE_TIMEOUT = 2;\nexport const H2H_COMPOUND_ARCHERY_MATCH_STATE_FINISHED = 3;\n\nexport const ARCHERY_H2H_GAME_STATUSES: Record<number, string> = {\n  [H2H_COMPOUND_ARCHERY_MATCH_STATE_NOT_STARTED]: 'notstarted',\n  [H2H_COMPOUND_ARCHERY_MATCH_STATE_IN_PLAY]: 'inplay',\n  [H2H_COMPOUND_ARCHERY_MATCH_STATE_TIMEOUT]: 'timeout',\n  [H2H_COMPOUND_ARCHERY_MATCH_STATE_FINISHED]: 'finished'\n};\n","/**\n * Competition ids that must hide game info\n * @param  {Number} key   jurisdiction number\n * @param  {Number[]} value competition ids\n */\n\n/*eslint no-magic-numbers:*/\nexport const PRIVATE_COMPETITIONS: Record<string, number[]> = {\n  4: [\n    1368, 1369, 9647, 9648, 1366, 1367, 9645, 9646, 1222, 9501, 4736, 4737,\n    11424, 11425, 10149, 10150, 11589\n  ]\n};\n","import { timeoutDuration } from 'utils/constants/dateInfo/time-numbers';\n\nconst timers: Record<string, NodeJS.Timeout> = {};\n\nexport function debounce<T extends unknown[]>(\n  debounceId: string,\n  func: (...args: T) => void,\n  timeout = timeoutDuration.DURATION_300\n): (...args: T) => void {\n  return (...args: T) => {\n    clearTimeout(timers[debounceId]);\n    timers[debounceId] = setTimeout(() => {\n      func(...args);\n    }, timeout);\n  };\n}\n","import { isMobile } from '../is-mobile';\n\nexport const HEADER_CLASSNAME = isMobile()\n  ? 'fixed-header--mobile'\n  : 'fixed-header';\n\nexport const HEADER_GETTER_CLASSNAME =\n  process.env.NODE_ENV === 'development'\n    ? '.pageHeaderWrapper'\n    : 'header.header-rows';\n\nexport const getHeader = (): HTMLElement =>\n  document.querySelector(HEADER_GETTER_CLASSNAME) as HTMLElement;\n\ntype PrevStyle = {\n  margin?: string;\n  padding?: string;\n  paddingBottom?: string;\n} | null;\n\nlet prevStyles: PrevStyle = null;\n\nconst saveCurrentStyles = () => {\n  const header = getHeader();\n  const parent = header.parentElement;\n\n  const isHasStylesToSaveAndReset =\n    parent?.style?.paddingTop ||\n    header.style.marginTop ||\n    parent?.style?.paddingBottom;\n\n  if (isHasStylesToSaveAndReset && !prevStyles) {\n    prevStyles = {\n      margin: header.style.marginTop,\n      padding: parent?.style.paddingTop,\n      paddingBottom: parent?.style.paddingBottom\n    };\n  }\n};\n\nexport const getHeaderHeight = (): number => {\n  const header = getHeader();\n\n  if (header) {\n    return header.clientHeight || header.offsetHeight;\n  }\n\n  return 0;\n};\n\nexport const makeHeaderFixed = (): void => {\n  const header = getHeader();\n\n  if (header) {\n    if (!header.classList.contains(HEADER_CLASSNAME)) {\n      const headerHeight = header.clientHeight || header.offsetHeight;\n      saveCurrentStyles();\n      header.style.marginTop = `-${headerHeight}px`;\n\n      if (header.parentElement) {\n        const paddingTop = window\n          .getComputedStyle(header.parentElement, null)\n          .getPropertyValue('padding-top');\n\n        const paddingBottom = window\n          .getComputedStyle(header.parentElement, null)\n          .getPropertyValue('padding-bottom');\n\n        header.parentElement.style.paddingTop = `${\n          headerHeight + +paddingTop.replace('px', '')\n        }px`;\n\n        header.parentElement.style.paddingBottom = `${\n          headerHeight + +paddingBottom.replace('px', '')\n        }px`;\n      }\n\n      header.classList.add(HEADER_CLASSNAME);\n    }\n  }\n};\n\nexport const removeFixedHeader = (): void => {\n  const header = getHeader();\n\n  if (header) {\n    header.classList.remove(HEADER_CLASSNAME);\n    header.style.marginTop = prevStyles?.margin || '';\n\n    if (header.parentElement) {\n      header.parentElement.style.paddingTop = prevStyles?.padding || '';\n      header.parentElement.style.paddingBottom =\n        prevStyles?.paddingBottom || '';\n    }\n  }\n\n  prevStyles = null;\n};\n","import i18next from 'i18next';\nimport { STREAMING_ASPECT_RATIOS } from 'utils/helpers/moba-games-statistics-options';\nimport { isMobile } from 'utils/is-mobile';\nimport { GameInfoAdditionalDataMap } from 'interfaces/sportsbook-data-levels';\n\nexport const DOTA_2_SETTINGS = {\n  titles: {\n    0: null,\n    1: i18next.t('sportsbook.esportsKill'),\n    2: i18next.t('sportsbook.tormentor'),\n    3: i18next.t('sportsbook.tower'),\n    4: i18next.t('sportsbook.barrack'),\n    5: i18next.t('sportsbook.barrack')\n  },\n  icons: {\n    names: {\n      1: 'kill',\n      2: 'dragon',\n      3: 'tower',\n      4: 'inhibitor',\n      5: null\n    },\n    firstSanctuary: {\n      0: 'voidgrub-kill'\n    },\n    secondSanctuary: {},\n    positions: {\n      roshen: isMobile()\n        ? { top: '32%', left: '37.8%' }\n        : { top: '33%', left: '34.9%' },\n      tower: isMobile()\n        ? {\n            1: { top: '75.1%', left: '28%' },\n            2: { top: '77%', left: '29.5%' },\n            3: { top: '66.2%', left: '25.5%' },\n            4: { top: '70.2%', left: '32.2%' },\n            5: { top: '82.4%', left: '34.7%' },\n            6: { top: '50.5%', left: '26.7%' },\n            7: { top: '61.2%', left: '36.2%' },\n            8: { top: '83.4%', left: '47.5%' },\n            9: { top: '34.1%', left: '26.3%' },\n            10: { top: '54.2%', left: '42.5%' },\n            11: { top: '82.2%', left: '64.9%' },\n            12: { top: '9.2%', left: '32.1%' },\n            13: { top: '41.2%', left: '49.7%' },\n            14: { top: '56.2%', left: '69.5%' },\n            15: { top: '9.2%', left: '48%' },\n            16: { top: '32.2%', left: '56.8%' },\n            17: { top: '43.2%', left: '69.4%' },\n            18: { top: '10.2%', left: '60.1%' },\n            19: { top: '22.4%', left: '63%' },\n            20: { top: '26.9%', left: '69.5%' },\n            21: { top: '15.9%', left: '65%' },\n            22: { top: '17.9%', left: '66.3%' }\n          }\n        : {\n            1: { top: '75.1%', left: '21.9%' },\n            2: { top: '77%', left: '23.1%' },\n            3: { top: '66.2%', left: '18.5%' },\n            4: { top: '70.2%', left: '26.5%' },\n            5: { top: '82.4%', left: '29.7%' },\n            6: { top: '50.5%', left: '19.7%' },\n            7: { top: '61.2%', left: '32.2%' },\n            8: { top: '83.4%', left: '47.5%' },\n            9: { top: '34.1%', left: '19.3%' },\n            10: { top: '54.2%', left: '40.5%' },\n            11: { top: '82.2%', left: '69.7%' },\n            12: { top: '9.2%', left: '26.1%' },\n            13: { top: '41.2%', left: '49.7%' },\n            14: { top: '56.2%', left: '75.7%' },\n            15: { top: '9.2%', left: '48%' },\n            16: { top: '32.2%', left: '59%' },\n            17: { top: '43.2%', left: '75.4%' },\n            18: { top: '10.2%', left: '63.1%' },\n            19: { top: '23.4%', left: '67%' },\n            20: { top: '26.9%', left: '76%' },\n            21: { top: '15.9%', left: '70%' },\n            22: { top: '17.9%', left: '71.5%' }\n          },\n      kills: isMobile()\n        ? {\n            1: { top: '69.1%', left: '24.7%' },\n            2: { top: '68.7%', left: '26.3%' },\n            3: { top: '71.1%', left: '30.9%' },\n            4: { top: '74.1%', left: '31.9%' },\n            5: { top: '81.1%', left: '33.2%' },\n            6: { top: '85.1%', left: '33.3%' },\n            7: { top: '8%', left: '61.4%' },\n            8: { top: '12%', left: '61.4%' },\n            9: { top: '20%', left: '62.9%' },\n            10: { top: '23%', left: '63.9%' },\n            11: { top: '25%', left: '68.5%' },\n            12: { top: '25%', left: '70.5%' }\n          }\n        : {\n            1: { top: '69.1%', left: '16.7%' },\n            2: { top: '69.7%', left: '19%' },\n            3: { top: '72.1%', left: '24.9%' },\n            4: { top: '74.1%', left: '25.9%' },\n            5: { top: '81.1%', left: '27.9%' },\n            6: { top: '85.1%', left: '27.9%' },\n            7: { top: '8%', left: '64.9%' },\n            8: { top: '12%', left: '65.4%' },\n            9: { top: '20%', left: '66.9%' },\n            10: { top: '23%', left: '68.9%' },\n            11: { top: '25%', left: '74.9%' },\n            12: { top: '25%', left: '76.9%' }\n          }\n    },\n    getIconPositionsAndSizes: function (width: number) {\n      const size = {\n        width: width / STREAMING_ASPECT_RATIOS.desktop,\n        height: width / STREAMING_ASPECT_RATIOS.desktop\n      };\n\n      return {\n        0: {\n          position: this.positions.roshen,\n          size\n        },\n        1: {\n          position: this.positions.kills,\n          size\n        },\n        2: {\n          size: isMobile()\n            ? {\n                width: width / STREAMING_ASPECT_RATIOS.mobile,\n                height: width / STREAMING_ASPECT_RATIOS.mobile\n              }\n            : size,\n          position: this.positions || {}\n        }\n      };\n    }\n  }\n};\n\nexport const getDota2Statistics = (\n  additionalDataMap: GameInfoAdditionalDataMap | undefined\n) => {\n  const roshen =\n    (additionalDataMap?.timers || []).find(\n      roshen => roshen.codeValue === 'roshan_timer'\n    )?.value ?? -1;\n\n  return {\n    statistics: {\n      1: {\n        ...(isMobile() ? { 5: null } : { 0: null }),\n        1: additionalDataMap?.killScore?.team1 || 0,\n        2: additionalDataMap?.tormentorScore?.team1 || 0,\n        3: additionalDataMap?.towerScore?.team1 || 0,\n        4: additionalDataMap?.barrackScore?.team1 || 0\n      },\n      2: {\n        1: additionalDataMap?.killScore?.team2 || 0,\n        2: additionalDataMap?.tormentorScore?.team2 || 0,\n        3: additionalDataMap?.towerScore?.team2 || 0,\n        4: additionalDataMap?.barrackScore?.team2 || 0,\n        5: null\n      }\n    },\n    mapState: {\n      1:\n        additionalDataMap?.destroyedBarracks.map(barrack => barrack.number) ||\n        [],\n      2: additionalDataMap?.destroyedTowers.map(tower => tower.number) || [],\n      3: roshen,\n      4: -1\n    }\n  };\n};\n","import i18next from 'i18next';\nimport { STREAMING_ASPECT_RATIOS } from 'utils/helpers/moba-games-statistics-options';\nimport { isMobile } from 'utils/is-mobile';\nimport { GameInfoAdditionalDataMap } from 'interfaces/sportsbook-data-levels';\n\nexport const LEAGUE_OF_LEGENDS_SETTINGS = {\n  titles: {\n    1: i18next.t('sportsbook.esportsKill'),\n    2: i18next.t('sportsbook.baron'),\n    3: i18next.t('sportsbook.dragon'),\n    4: i18next.t('sportsbook.tower'),\n    5: i18next.t('sportsbook.inhibitor')\n  },\n  icons: {\n    names: {\n      1: 'kill',\n      2: 'baron',\n      3: 'dragon',\n      4: 'tower',\n      5: 'inhibitor'\n    },\n    firstSanctuary: {\n      0: 'unknown-drake',\n      1: 'chemtech-drake',\n      2: 'cloud-drake',\n      3: 'hexteck-drake',\n      4: 'infernal-drake',\n      5: 'mountain-drake',\n      6: 'ocean-drake',\n      7: 'elder-drake'\n    },\n    secondSanctuary: {\n      1: 'rift-herald',\n      2: 'baron-nashor-kill',\n      3: 'voidgrub-kill'\n    },\n    positions: {\n      dragons: isMobile()\n        ? { top: '67%', left: '61%' }\n        : { top: '65.5%', left: '61.2%' },\n      epicMonsters: isMobile()\n        ? { top: '23%', left: '34.8%' }\n        : { top: '29%', left: '34.9%' },\n      tower: isMobile()\n        ? {\n            1: { top: '82.1%', left: '18.5%' },\n            2: { top: '86%', left: '20.9%' },\n            3: { top: '66.1%', left: '15.5%' },\n            4: { top: '71%', left: '28.9%' },\n            5: { top: '90%', left: '31.9%' },\n            6: { top: '49%', left: '17.5%' },\n            7: { top: '62.8%', left: '36.5%' },\n            8: { top: '88.8%', left: '46.5%' },\n            9: { top: '23%', left: '15.5%' },\n            10: { top: '52%', left: '39.9%' },\n            11: { top: '92.8%', left: '65.5%' },\n            12: { top: '0.1%', left: '32.1%' },\n            13: { top: '38%', left: '55.9%' },\n            14: { top: '67%', left: '82.9%' },\n            15: { top: '4.1%', left: '50.4%' },\n            16: { top: '26%', left: '59.9%' },\n            17: { top: '40%', left: '78.9%' },\n            18: { top: '2%', left: '63%' },\n            19: { top: '19%', left: '66.9%' },\n            20: { top: '23.5%', left: '79.5%' },\n            21: { top: '6%', left: '74%' },\n            22: { top: '9.5%', left: '76.5%' }\n          }\n        : {\n            1: { top: '76.1%', left: '16.9%' },\n            2: { top: '80%', left: '19.1%' },\n            3: { top: '64.2%', left: '13.5%' },\n            4: { top: '68.2%', left: '27.5%' },\n            5: { top: '83.4%', left: '30.7%' },\n            6: { top: '49.5%', left: '15.7%' },\n            7: { top: '61.2%', left: '35.2%' },\n            8: { top: '83.2%', left: '45.5%' },\n            9: { top: '28.1%', left: '13.3%' },\n            10: { top: '52.2%', left: '39.5%' },\n            11: { top: '86.2%', left: '65.7%' },\n            12: { top: '9.2%', left: '31.1%' },\n            13: { top: '40.2%', left: '55.7%' },\n            14: { top: '64.2%', left: '83.7%' },\n            15: { top: '12.2%', left: '50%' },\n            16: { top: '31.2%', left: '60%' },\n            17: { top: '42.2%', left: '79.4%' },\n            18: { top: '10.2%', left: '63.1%' },\n            19: { top: '24.4%', left: '67%' },\n            20: { top: '27.9%', left: '80%' },\n            21: { top: '13.9%', left: '74%' },\n            22: { top: '16.9%', left: '76.5%' }\n          },\n      kills: isMobile()\n        ? {\n            1: { top: '72.1%', left: '15.5%' },\n            2: { top: '75.1%', left: '26.5%' },\n            3: { top: '90.1%', left: '27.9%' },\n            4: { top: '3%', left: '66.9%' },\n            5: { top: '16%', left: '69%' },\n            6: { top: '19%', left: '79%' }\n          }\n        : {\n            1: { top: '69.1%', left: '13.5%' },\n            2: { top: '71.1%', left: '24.8%' },\n            3: { top: '84.1%', left: '25.9%' },\n            4: { top: '11%', left: '66.9%' },\n            5: { top: '22%', left: '69%' },\n            6: { top: '24%', left: '80%' }\n          }\n    },\n    getIconPositionsAndSizes: function (width: number) {\n      const size = {\n        width: width / STREAMING_ASPECT_RATIOS.desktop,\n        height: width / STREAMING_ASPECT_RATIOS.desktop\n      };\n\n      return {\n        0: {\n          position: this.positions.dragons,\n          size\n        },\n        1: {\n          position: this.positions.epicMonsters,\n          size\n        },\n        2: {\n          size: isMobile()\n            ? {\n                width: width / STREAMING_ASPECT_RATIOS.mobile,\n                height: width / STREAMING_ASPECT_RATIOS.mobile\n              }\n            : size,\n          position: this.positions || {}\n        }\n      };\n    }\n  }\n};\n\nexport const getLeagueOfLegendsStatistics = (\n  additionalDataMap: GameInfoAdditionalDataMap | undefined\n) => {\n  return {\n    statistics: {\n      1: {\n        1: additionalDataMap?.killScore?.team1 || 0,\n        2: additionalDataMap?.baronScore?.team1 || 0,\n        3: additionalDataMap?.elementarDragonScore?.team1 || 0,\n        4: additionalDataMap?.towerScore?.team1 || 0,\n        5: additionalDataMap?.inhibitor?.team1 || 0\n      },\n      2: {\n        1: additionalDataMap?.killScore?.team2 || 0,\n        2: additionalDataMap?.baronScore?.team2 || 0,\n        3: additionalDataMap?.elementarDragonScore?.team2 || 0,\n        4: additionalDataMap?.towerScore?.team2 || 0,\n        5: additionalDataMap?.inhibitor?.team2 || 0\n      }\n    },\n    mapState: {\n      1: additionalDataMap?.mapState?.destroyedInhibitors || [],\n      2: additionalDataMap?.mapState?.destroyedTowers || [],\n      3: additionalDataMap?.mapState?.dragonType || null,\n      4: additionalDataMap?.mapState?.epicMonsterType || -1\n    }\n  };\n};\n","import {\n  DOTA_2_SETTINGS,\n  getDota2Statistics\n} from 'utils/constants/moba-games/dota-2';\nimport {\n  getLeagueOfLegendsStatistics,\n  LEAGUE_OF_LEGENDS_SETTINGS\n} from 'utils/constants/moba-games/league-of-legends';\nimport { GameInfoAdditionalDataMap } from 'interfaces/sportsbook-data-levels';\n\nconst COUNTER_STRIKE_ID = 75;\nconst LEAGUE_OF_LEGENDS_ID = 77;\nconst DOTA_2_ID = 76;\n\nexport const ESPORTS_ADDITIONAL_DATA_IDS = [\n  COUNTER_STRIKE_ID,\n  LEAGUE_OF_LEGENDS_ID,\n  DOTA_2_ID\n];\n\nexport const STREAMING_ASPECT_RATIOS = {\n  desktop: 20,\n  mobile: 26\n};\n\nexport interface T_ESPORTS_ADDITIONAL_DATA {\n  id: number;\n  name: 'mapName';\n  current: 'currentMap' | 'currentRound';\n  number: 'mapNumber' | 'roundNumber';\n  maps: 'maps' | 'rounds';\n  alias: string;\n  outcome: 'roundsOutcome' | 'killScore';\n}\n\ntype T_GET_MOBA_GAMES_SETTINGS_DATA = {\n  [key: string]: {\n    titles: { [key: number]: string | null };\n    icons: {\n      names: { [key: number]: string | null };\n      firstSanctuary: { [key: number]: string };\n      secondSanctuary: { [key: number]: string };\n      positions: {\n        [key: string]: {\n          [key: string | number]: string | { [key: string]: string };\n        };\n      };\n      getIconPositionsAndSizes: (width: number) => {\n        [key: string]: {\n          position: any;\n          size: { width: number; height: number };\n        };\n      };\n    };\n  };\n};\n\ntype T_GET_MOBA_GAMES_STATISTICS_DATA = {\n  [key: string]: (additionalDataMap: GameInfoAdditionalDataMap | undefined) => {\n    statistics: {\n      1: { [key: number]: number | null };\n      2: { [key: number]: number | null };\n    };\n    mapState: { [key: number]: any };\n  };\n};\n\nexport const ESPORTS_ADDITIONAL_DATA: {\n  [key: string]: T_ESPORTS_ADDITIONAL_DATA;\n} = {\n  CounterStrike: {\n    id: ESPORTS_ADDITIONAL_DATA_IDS[0],\n    name: 'mapName',\n    current: 'currentMap',\n    number: 'mapNumber',\n    maps: 'maps',\n    alias: 'CounterStrike',\n    outcome: 'roundsOutcome'\n  },\n  LeagueOfLegends: {\n    id: ESPORTS_ADDITIONAL_DATA_IDS[1],\n    name: 'mapName',\n    current: 'currentRound',\n    number: 'roundNumber',\n    maps: 'rounds',\n    alias: 'LeagueOfLegends',\n    outcome: 'killScore'\n  },\n  Dota2: {\n    id: ESPORTS_ADDITIONAL_DATA_IDS[2],\n    name: 'mapName',\n    current: 'currentRound',\n    number: 'roundNumber',\n    maps: 'rounds',\n    alias: 'Dota2',\n    outcome: 'killScore'\n  }\n};\n\nexport const GET_MOBA_GAMES_SETTINGS_DATA: T_GET_MOBA_GAMES_SETTINGS_DATA = {\n  [ESPORTS_ADDITIONAL_DATA.LeagueOfLegends.alias]: LEAGUE_OF_LEGENDS_SETTINGS,\n  [ESPORTS_ADDITIONAL_DATA.Dota2.alias]: DOTA_2_SETTINGS\n};\n\nexport const GET_MOBA_GAMES_STATISTICS_DATA: T_GET_MOBA_GAMES_STATISTICS_DATA =\n  {\n    [ESPORTS_ADDITIONAL_DATA.LeagueOfLegends.alias]:\n      getLeagueOfLegendsStatistics,\n    [ESPORTS_ADDITIONAL_DATA.Dota2.alias]: getDota2Statistics\n  };\n\nexport const isESportMOBAGames = (sportAlias: string) =>\n  [\n    ESPORTS_ADDITIONAL_DATA.LeagueOfLegends.alias,\n    ESPORTS_ADDITIONAL_DATA.Dota2.alias\n  ].includes(sportAlias);\n","export const PeriodNames: { [key: string]: string } = {\n  AmericanFootball: 'Quarter',\n  AustralianFootball: 'Quarter',\n  Badminton: 'Game',\n  BallHockey: 'Half',\n  Baseball: 'Inning',\n  Basketball: 'Quarter',\n  BeachFootball: 'Half',\n  BeachHandball: 'Half',\n  BeachVolleyball: 'Set',\n  Bowls: 'End',\n  Boxing: 'Round',\n  CounterStrike: 'Map',\n  Cricket: 'Inning',\n  Curling: 'End',\n  CyberFootball: 'Half',\n  Dota2: 'Game',\n  EBasketball: 'Quarter',\n  Floorball: 'Period',\n  Futsal: 'Half',\n  GaelicFootball: 'Half',\n  GearsOfWar: 'Game',\n  Handball: 'Half',\n  Hearthstone: 'Game',\n  HeroesOfTheStorm: 'Game',\n  Hockey: 'Period',\n  IceHockey: 'Period',\n  LeagueOfLegends: 'Game',\n  Mma: 'Round',\n  MortalKombatXL: 'Game',\n  Netball: 'Quarter',\n  Overwatch: 'Game',\n  RugbyLeague: 'Half',\n  RugbySevens: 'Half',\n  RugbyUnion: 'Half',\n  Smite: 'Game',\n  Snooker: 'Frame',\n  Soccer: 'Half',\n  StarCraft: 'Game',\n  StarCraft2: 'Game',\n  TableTennis: 'Set',\n  Tekken7: 'Game',\n  Tennis: 'Set',\n  Volleyball: 'Set',\n  WarcraftIII: 'Game',\n  WaterPolo: 'Quarter',\n  WorldOfTanks: 'Game',\n  WorldOfWarcraft: 'Game',\n  PistolShooting: 'Set',\n  PistolHead2Head: 'Set',\n  ArcheryH2H: 'Set',\n  CompoundArchery: 'Set',\n  Archery: 'Set',\n  BasketballShots: 'Shot',\n  Valorant: 'Map',\n  AgeofEmpires: 'Game',\n  ApexLegends: 'Game',\n  ArenaOfValor: 'Game',\n  Artifact: 'Game',\n  CallOfDuty: 'Game',\n  CounterStrike2: 'Map',\n  CrossFire: 'Map',\n  FreeFire: 'Round',\n  Halo: 'Map',\n  KingOfGlory: 'Game',\n  Overwatch2: 'Game',\n  Quake: 'Map',\n  RainbowSix: 'Map',\n  RocketLeague: 'Game',\n  Vaingloory: 'Game',\n  MobileLegends: 'Game'\n\n  // The list is not complete, we need period names for other sports as well\n};\n","import dayjs from 'dayjs';\nimport i18n from 'i18next';\nimport { MILLISECONDS_IN_SECOND } from 'utils/constants/dateInfo/time-numbers';\nimport { PeriodNames } from 'utils/constants/sportsbook/period-names';\nimport {\n  ARCHERY_H2H_GAME_STATUSES,\n  H2H_COMPOUND_ARCHERY_MATCH_STATE_IN_PLAY,\n  H2H_COMPOUND_ARCHERY_MATCH_STATE_NOT_STARTED,\n  PISTOL_H2H_SHOOT_OFF_SET_NUMBER\n} from 'utils/constants/sportsbook/pistol-and-archery-shootings';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { dateFormat } from 'utils/date-manipulation/date-format';\nimport { ESPORTS_ADDITIONAL_DATA } from 'utils/helpers/moba-games-statistics-options';\nimport {\n  GameInfo,\n  GameInfoAdditionalData\n} from 'interfaces/sportsbook-data-levels';\nimport {\n  ArcheryH2HSportAlias,\n  CompoundArcherySportAlias\n} from '../constants/sportsbook/sport-list';\n\ntype Props = {\n  current_game_state: string;\n  current_game_time: string;\n  additional_data?: GameInfoAdditionalData;\n};\n\nconst Leaderboards = {\n  Place1st: 1,\n  Place2nd: 2,\n  Place3rd: 3\n};\n\nconst TRASNSLATION_KEYS_BY_GAME_STATE: Record<string, string> = {\n  'Half End': 'halfEnd',\n  'Quarter End': 'quarterEnd'\n};\n\nconst gamesWithNewData = [ArcheryH2HSportAlias, CompoundArcherySportAlias];\n\nexport const getGameCurrentState = (\n  {\n    current_game_state: gState,\n    current_game_time: gTime,\n    additional_data: additionalData\n  }: Props | GameInfo,\n  currentSport = '',\n  compactView = false,\n  shootOffSet = 0\n): string => {\n  if (\n    gamesWithNewData.includes(currentSport) &&\n    (additionalData?.matchState ||\n      additionalData?.matchState ===\n        H2H_COMPOUND_ARCHERY_MATCH_STATE_NOT_STARTED)\n  ) {\n    if (\n      additionalData?.matchState === H2H_COMPOUND_ARCHERY_MATCH_STATE_IN_PLAY &&\n      additionalData?.currentSet\n    ) {\n      gState = `set${additionalData.currentSet}`;\n    } else {\n      gState = ARCHERY_H2H_GAME_STATUSES[additionalData?.matchState];\n    }\n  }\n\n  switch (true) {\n    case gState === 'Half Time':\n      return compactView\n        ? i18n.t(`sportsbook.halfTimeShort`)\n        : i18n.t(`sportsbook.halfTime`);\n\n    case ['Half End', 'Quarter End'].includes(gState as string) &&\n      currentSport === 'Basketball': {\n      return i18n.t(\n        `sportsbook.${TRASNSLATION_KEYS_BY_GAME_STATE[gState as string]}`\n      );\n    }\n\n    case gState === 'timeout':\n      return compactView\n        ? i18n.t(`sportsbook.timeoutShort`)\n        : i18n.t(`sportsbook.timeout`);\n\n    case gState === 'notstarted':\n      return compactView ? \"0'\" : i18n.t(`sportsbook.notStarted`);\n\n    case gState === 'finished':\n      return compactView\n        ? i18n.t(`sportsbook.finishedShort`)\n        : i18n.t(`sportsbook.finished`);\n\n    case gTime && !!gState && currentSport === 'Soccer' && compactView:\n      return `${gTime}'`;\n\n    case gTime && !!gState && compactView:\n      return `${getPeriodName(\n        currentSport,\n        gState as string,\n        compactView,\n        shootOffSet\n      )}`;\n\n    case gTime && !!gState:\n      return `${getPeriodName(\n        currentSport,\n        gState as string,\n        compactView,\n        shootOffSet\n      )} ${gTime}'`;\n\n    case !!gTime:\n      return `${gTime}'`;\n\n    case !!gState:\n      return getPeriodName(\n        currentSport,\n        gState as string,\n        compactView,\n        shootOffSet\n      );\n\n    case !gState && !gTime:\n      return compactView ? '-' : '';\n  }\n\n  return '';\n};\n\nexport function getPeriodName(\n  currentSport: string,\n  gState: string,\n  compactView?: boolean,\n  shootOffSet?: number\n): string {\n  const initialPeriodName = 'set';\n  const defaultPeriodName = 'Set';\n  const periodName: boolean | string = PeriodNames[currentSport]\n    ? PeriodNames[currentSport]\n    : defaultPeriodName;\n\n  const periodNumber = +gState.replace(initialPeriodName, '');\n\n  if (isNaN(periodNumber)) {\n    return gState.replace(initialPeriodName, '');\n  }\n\n  if (\n    (currentSport === 'PistolHead2Head' &&\n      periodNumber === PISTOL_H2H_SHOOT_OFF_SET_NUMBER) ||\n    ((currentSport === 'ArcheryH2H' || currentSport === 'CompoundArchery') &&\n      shootOffSet &&\n      periodNumber > shootOffSet)\n  ) {\n    return i18n.t(`sportsbook.shootOff`);\n  }\n\n  if (compactView) {\n    return `${i18n.t(`sportsbook.${periodName}`)[0]}${periodNumber}`;\n  }\n\n  return `${ordinal(periodNumber, periodName)} ${i18n.t(\n    `sportsbook.${periodName}`\n  )}`;\n}\n\nexport function ordinal(num: number, periodName: string | null = null): string {\n  const suf = [\n    'First',\n    'Second',\n    'Third',\n    'Fourth',\n    'Fifth',\n    'Sixth',\n    'Seventh',\n    'Eighth',\n    'Ninth',\n    'Tenth',\n    'Eleventh',\n    'Twelfth'\n  ];\n\n  if (num <= suf.length) {\n    return i18n.t(\n      `sportsbook.${\n        (periodName ? periodName.toLowerCase() : '') + suf[num - 1]\n      }`\n    );\n  } else {\n    return `${num}${i18n.t(\n      `sportsbook.${periodName ? periodName.toLowerCase() : ''}DefaultSuffix`\n    )}`;\n  }\n}\n\nexport function getGameStatus(\n  current_game_state: string,\n  current_game_time: string,\n  isLive: boolean,\n  start_ts: number,\n  sport_alias?: string,\n  shoot_off_set = 0\n): string {\n  return isLive\n    ? getGameCurrentState(\n        { current_game_state, current_game_time },\n        sport_alias,\n        false,\n        shoot_off_set\n      )\n    : start_ts\n    ? dayjs(start_ts * MILLISECONDS_IN_SECOND).format(\n        dateFormat({\n          date: SpringConfigs.DT.shortDate,\n          time: SpringConfigs.DT.time\n        })\n      )\n    : '--';\n}\n\nexport function checkGameState(item: string): boolean {\n  switch (item) {\n    case 'Half Time':\n      return true;\n    case 'timeout':\n      return true;\n    case 'notstarted':\n      return true;\n    case 'finished':\n      return true;\n\n    default:\n      return false;\n  }\n}\n\nexport const getEsportCurrentMapName = (\n  additionalInfoData: GameInfoAdditionalData,\n  sportAlias?: string\n): string => {\n  if (!sportAlias || !ESPORTS_ADDITIONAL_DATA[sportAlias]) {\n    return '';\n  }\n\n  const currentMapRule = ESPORTS_ADDITIONAL_DATA[sportAlias] || {};\n\n  const map = Object.values(additionalInfoData[currentMapRule.maps] || {}).find(\n    map =>\n      map[currentMapRule.number] === additionalInfoData[currentMapRule.current]\n  );\n\n  return map?.[currentMapRule.number]\n    ? getMapName(map?.[currentMapRule.number], map?.[currentMapRule.name], true)\n    : '';\n};\n\nexport function ordinalDefault(number: number): string {\n  return number === Leaderboards.Place1st\n    ? `${number}${i18n.t('sportsbook.st')}`\n    : number === Leaderboards.Place2nd\n    ? `${number}${i18n.t('sportsbook.nd')}`\n    : number == Leaderboards.Place3rd\n    ? `${number}${i18n.t('sportsbook.rd')}`\n    : `${number}${i18n.t('sportsbook.th')}`;\n}\n\nexport function getMapName(\n  mapNumber: number,\n  mapName?: string,\n  withoutNumber?: boolean\n) {\n  return mapName\n    ? withoutNumber\n      ? mapName\n      : `${mapNumber}. ${mapName}`\n    : `${ordinal(mapNumber)} ${i18n.t('sportsbook.Map')}`;\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nexports.DefaultTabBar = undefined;\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar React = _interopRequireWildcard(_react);\n\nvar _rmcTabs = require('rmc-tabs');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar DefaultTabBar = exports.DefaultTabBar = function (_RMCDefaultTabBar) {\n    (0, _inherits3['default'])(DefaultTabBar, _RMCDefaultTabBar);\n\n    function DefaultTabBar() {\n        (0, _classCallCheck3['default'])(this, DefaultTabBar);\n        return (0, _possibleConstructorReturn3['default'])(this, (DefaultTabBar.__proto__ || Object.getPrototypeOf(DefaultTabBar)).apply(this, arguments));\n    }\n\n    return DefaultTabBar;\n}(_rmcTabs.DefaultTabBar);\n\nDefaultTabBar.defaultProps = (0, _extends3['default'])({}, _rmcTabs.DefaultTabBar.defaultProps, { prefixCls: 'am-tabs-default-bar' });\n\nvar Tabs = function (_React$PureComponent) {\n    (0, _inherits3['default'])(Tabs, _React$PureComponent);\n\n    function Tabs() {\n        (0, _classCallCheck3['default'])(this, Tabs);\n\n        var _this2 = (0, _possibleConstructorReturn3['default'])(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).apply(this, arguments));\n\n        _this2.renderTabBar = function (props) {\n            var renderTab = _this2.props.renderTab;\n\n            return React.createElement(DefaultTabBar, (0, _extends3['default'])({}, props, { renderTab: renderTab }));\n        };\n        return _this2;\n    }\n\n    (0, _createClass3['default'])(Tabs, [{\n        key: 'render',\n        value: function render() {\n            return React.createElement(_rmcTabs.Tabs, (0, _extends3['default'])({ renderTabBar: this.renderTabBar }, this.props));\n        }\n    }]);\n    return Tabs;\n}(React.PureComponent);\n\nexports['default'] = Tabs;\n\nTabs.DefaultTabBar = DefaultTabBar;\nTabs.defaultProps = {\n    prefixCls: 'am-tabs'\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/get-own-property-descriptor\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _getPrototypeOf = require(\"../core-js/object/get-prototype-of\");\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _getOwnPropertyDescriptor = require(\"../core-js/object/get-own-property-descriptor\");\n\nvar _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function get(object, property, receiver) {\n  if (object === null) object = Function.prototype;\n  var desc = (0, _getOwnPropertyDescriptor2.default)(object, property);\n\n  if (desc === undefined) {\n    var parent = (0, _getPrototypeOf2.default)(object);\n\n    if (parent === null) {\n      return undefined;\n    } else {\n      return get(parent, property, receiver);\n    }\n  } else if (\"value\" in desc) {\n    return desc.value;\n  } else {\n    var getter = desc.get;\n\n    if (getter === undefined) {\n      return undefined;\n    }\n\n    return getter.call(receiver);\n  }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n  }\n\n  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n  return $Object.create(P, D);\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n","require('../../modules/es6.object.get-own-property-descriptor');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n  return $Object.getOwnPropertyDescriptor(it, key);\n};\n","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n","module.exports = function () { /* empty */ };\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n","module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = true;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","module.exports = require('./_hide');\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: require('./_library') ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = require('./_wks');\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n  return function getOwnPropertyDescriptor(it, key) {\n    return $getOwnPropertyDescriptor(toIObject(it), key);\n  };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\n});\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !require('./_library')) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n","/* tslint:disable:no-bitwise */\n// http://hammerjs.github.io/api/#directions\nexport var DIRECTION_NONE = 1; // 00001\nexport var DIRECTION_LEFT = 2; // 00010\nexport var DIRECTION_RIGHT = 4; // 00100\nexport var DIRECTION_UP = 8; // 01000\nexport var DIRECTION_DOWN = 16; // 10000\nexport var DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT; // 00110 6\nexport var DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN; // 11000 24\nexport var DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL; // 11110  30\n// http://hammerjs.github.io/recognizer-press/\nexport var PRESS = {\n    time: 251\n};\n// http://hammerjs.github.io/recognizer-swipe/\nexport var SWIPE = {\n    threshold: 10,\n    velocity: 0.3\n};","/* tslint:disable:no-bitwise */\nimport { SWIPE, DIRECTION_NONE, DIRECTION_LEFT, DIRECTION_RIGHT, DIRECTION_UP, DIRECTION_DOWN } from './config';\nfunction _calcTriangleDistance(x, y) {\n    return Math.sqrt(x * x + y * y);\n}\nfunction _calcAngle(x, y) {\n    var radian = Math.atan2(y, x);\n    return 180 / (Math.PI / radian);\n}\nexport function now() {\n    return Date.now();\n}\nexport function calcMutliFingerStatus(touches) {\n    if (touches.length < 2) {\n        return;\n    }\n    var _touches$ = touches[0],\n        x1 = _touches$.x,\n        y1 = _touches$.y;\n    var _touches$2 = touches[1],\n        x2 = _touches$2.x,\n        y2 = _touches$2.y;\n\n    var deltaX = x2 - x1;\n    var deltaY = y2 - y1;\n    return {\n        x: deltaX,\n        y: deltaY,\n        z: _calcTriangleDistance(deltaX, deltaY),\n        angle: _calcAngle(deltaX, deltaY)\n    };\n}\nexport function calcMoveStatus(startTouches, touches, time) {\n    var _startTouches$ = startTouches[0],\n        x1 = _startTouches$.x,\n        y1 = _startTouches$.y;\n    var _touches$3 = touches[0],\n        x2 = _touches$3.x,\n        y2 = _touches$3.y;\n\n    var deltaX = x2 - x1;\n    var deltaY = y2 - y1;\n    var deltaZ = _calcTriangleDistance(deltaX, deltaY);\n    return {\n        x: deltaX,\n        y: deltaY,\n        z: deltaZ,\n        time: time,\n        velocity: deltaZ / time,\n        angle: _calcAngle(deltaX, deltaY)\n    };\n}\nexport function calcRotation(startMutliFingerStatus, mutliFingerStatus) {\n    var startAngle = startMutliFingerStatus.angle;\n    var angle = mutliFingerStatus.angle;\n\n    return angle - startAngle;\n}\nexport function getEventName(prefix, status) {\n    return prefix + status[0].toUpperCase() + status.slice(1);\n}\nexport function shouldTriggerSwipe(delta, velocity) {\n    return Math.abs(delta) >= SWIPE.threshold && Math.abs(velocity) > SWIPE.velocity;\n}\nexport function shouldTriggerDirection(direction, directionSetting) {\n    if (directionSetting & direction) {\n        return true;\n    }\n    return false;\n}\n/**\n * @private\n * get the direction between two points\n * Note: will change next version\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nexport function getDirection(x, y) {\n    if (x === y) {\n        return DIRECTION_NONE;\n    }\n    if (Math.abs(x) >= Math.abs(y)) {\n        return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n    }\n    return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n/**\n * @private\n * get the direction between tow points when touch moving\n * Note: will change next version\n * @param {Object} point1 coordinate point, include x & y attributes\n * @param {Object} point2 coordinate point, include x & y attributes\n * @return {Number} direction\n */\nexport function getMovingDirection(point1, point2) {\n    var x1 = point1.x,\n        y1 = point1.y;\n    var x2 = point2.x,\n        y2 = point2.y;\n\n    var deltaX = x2 - x1;\n    var deltaY = y2 - y1;\n    if (deltaX === 0 && deltaY === 0) {\n        return DIRECTION_NONE;\n    }\n    if (Math.abs(deltaX) >= Math.abs(deltaY)) {\n        return deltaX < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n    }\n    return deltaY < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\nexport function getDirectionEventName(direction) {\n    var name = void 0;\n    switch (direction) {\n        case DIRECTION_NONE:\n            break;\n        case DIRECTION_LEFT:\n            name = 'left';\n            break;\n        case DIRECTION_RIGHT:\n            name = 'right';\n            break;\n        case DIRECTION_UP:\n            name = 'up';\n            break;\n        case DIRECTION_DOWN:\n            name = 'down';\n            break;\n        default:\n    }\n    return name;\n}","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n/* tslint:disable:no-console */\nimport React, { Component } from 'react';\nimport { calcRotation, getEventName, now, calcMutliFingerStatus, calcMoveStatus, shouldTriggerSwipe, shouldTriggerDirection, getMovingDirection, getDirectionEventName } from './util';\nimport { PRESS, DIRECTION_ALL, DIRECTION_VERTICAL, DIRECTION_HORIZONTAL } from './config';\n;\n;\nvar directionMap = {\n    all: DIRECTION_ALL,\n    vertical: DIRECTION_VERTICAL,\n    horizontal: DIRECTION_HORIZONTAL\n};\n\nvar Gesture = function (_Component) {\n    _inherits(Gesture, _Component);\n\n    function Gesture(props) {\n        _classCallCheck(this, Gesture);\n\n        var _this = _possibleConstructorReturn(this, (Gesture.__proto__ || Object.getPrototypeOf(Gesture)).call(this, props));\n\n        _this.state = {};\n        _this.triggerEvent = function (name) {\n            for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n                args[_key - 1] = arguments[_key];\n            }\n\n            var cb = _this.props[name];\n            if (typeof cb === 'function') {\n                // always give user gesture object as first params first\n                cb.apply(undefined, [_this.getGestureState()].concat(args));\n            }\n        };\n        _this.triggerCombineEvent = function (mainEventName, eventStatus) {\n            for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n                args[_key2 - 2] = arguments[_key2];\n            }\n\n            _this.triggerEvent.apply(_this, [mainEventName].concat(args));\n            _this.triggerSubEvent.apply(_this, [mainEventName, eventStatus].concat(args));\n        };\n        _this.triggerSubEvent = function (mainEventName, eventStatus) {\n            for (var _len3 = arguments.length, args = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n                args[_key3 - 2] = arguments[_key3];\n            }\n\n            if (eventStatus) {\n                var subEventName = getEventName(mainEventName, eventStatus);\n                _this.triggerEvent.apply(_this, [subEventName].concat(args));\n            }\n        };\n        _this.triggerPinchEvent = function (mainEventName, eventStatus) {\n            for (var _len4 = arguments.length, args = Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {\n                args[_key4 - 2] = arguments[_key4];\n            }\n\n            var scale = _this.gesture.scale;\n\n            if (eventStatus === 'move' && typeof scale === 'number') {\n                if (scale > 1) {\n                    _this.triggerEvent('onPinchOut');\n                }\n                if (scale < 1) {\n                    _this.triggerEvent('onPinchIn');\n                }\n            }\n            _this.triggerCombineEvent.apply(_this, [mainEventName, eventStatus].concat(args));\n        };\n        _this.initPressTimer = function () {\n            _this.cleanPressTimer();\n            _this.pressTimer = setTimeout(function () {\n                _this.setGestureState({\n                    press: true\n                });\n                _this.triggerEvent('onPress');\n            }, PRESS.time);\n        };\n        _this.cleanPressTimer = function () {\n            /* tslint:disable:no-unused-expression */\n            _this.pressTimer && clearTimeout(_this.pressTimer);\n        };\n        _this.setGestureState = function (params) {\n            if (!_this.gesture) {\n                _this.gesture = {};\n            }\n            // cache the previous touches\n            if (_this.gesture.touches) {\n                _this.gesture.preTouches = _this.gesture.touches;\n            }\n            _this.gesture = _extends({}, _this.gesture, params);\n        };\n        _this.getGestureState = function () {\n            if (!_this.gesture) {\n                return _this.gesture;\n            } else {\n                // shallow copy\n                return _extends({}, _this.gesture);\n            }\n        };\n        _this.cleanGestureState = function () {\n            delete _this.gesture;\n        };\n        _this.getTouches = function (e) {\n            return Array.prototype.slice.call(e.touches).map(function (item) {\n                return {\n                    x: item.screenX,\n                    y: item.screenY\n                };\n            });\n        };\n        _this.triggerUserCb = function (status, e) {\n            var cbName = getEventName('onTouch', status);\n            if (cbName in _this.props) {\n                _this.props[cbName](e);\n            }\n        };\n        _this._handleTouchStart = function (e) {\n            _this.triggerUserCb('start', e);\n            _this.event = e;\n            if (e.touches.length > 1) {\n                e.preventDefault();\n            }\n            _this.initGestureStatus(e);\n            _this.initPressTimer();\n            _this.checkIfMultiTouchStart();\n        };\n        _this.initGestureStatus = function (e) {\n            _this.cleanGestureState();\n            // store the gesture start state\n            var startTouches = _this.getTouches(e);\n            var startTime = now();\n            var startMutliFingerStatus = calcMutliFingerStatus(startTouches);\n            _this.setGestureState({\n                startTime: startTime,\n                startTouches: startTouches,\n                startMutliFingerStatus: startMutliFingerStatus,\n                /* copy for next time touch move cala convenient*/\n                time: startTime,\n                touches: startTouches,\n                mutliFingerStatus: startMutliFingerStatus,\n                srcEvent: _this.event\n            });\n        };\n        _this.checkIfMultiTouchStart = function () {\n            var _this$props = _this.props,\n                enablePinch = _this$props.enablePinch,\n                enableRotate = _this$props.enableRotate;\n            var touches = _this.gesture.touches;\n\n            if (touches.length > 1 && (enablePinch || enableRotate)) {\n                if (enablePinch) {\n                    var startMutliFingerStatus = calcMutliFingerStatus(touches);\n                    _this.setGestureState({\n                        startMutliFingerStatus: startMutliFingerStatus,\n                        /* init pinch status */\n                        pinch: true,\n                        scale: 1\n                    });\n                    _this.triggerCombineEvent('onPinch', 'start');\n                }\n                if (enableRotate) {\n                    _this.setGestureState({\n                        /* init rotate status */\n                        rotate: true,\n                        rotation: 0\n                    });\n                    _this.triggerCombineEvent('onRotate', 'start');\n                }\n            }\n        };\n        _this._handleTouchMove = function (e) {\n            _this.triggerUserCb('move', e);\n            _this.event = e;\n            if (!_this.gesture) {\n                // sometimes weird happen: touchstart -> touchmove..touchmove.. --> touchend --> touchmove --> touchend\n                // so we need to skip the unnormal event cycle after touchend\n                return;\n            }\n            // not a long press\n            _this.cleanPressTimer();\n            _this.updateGestureStatus(e);\n            _this.checkIfSingleTouchMove();\n            _this.checkIfMultiTouchMove();\n        };\n        _this.checkIfMultiTouchMove = function () {\n            var _this$gesture = _this.gesture,\n                pinch = _this$gesture.pinch,\n                rotate = _this$gesture.rotate,\n                touches = _this$gesture.touches,\n                startMutliFingerStatus = _this$gesture.startMutliFingerStatus,\n                mutliFingerStatus = _this$gesture.mutliFingerStatus;\n\n            if (!pinch && !rotate) {\n                return;\n            }\n            if (touches.length < 2) {\n                _this.setGestureState({\n                    pinch: false,\n                    rotate: false\n                });\n                // Todo: 2 finger -> 1 finger, wait to test this situation\n                pinch && _this.triggerCombineEvent('onPinch', 'cancel');\n                rotate && _this.triggerCombineEvent('onRotate', 'cancel');\n                return;\n            }\n            if (pinch) {\n                var scale = mutliFingerStatus.z / startMutliFingerStatus.z;\n                _this.setGestureState({\n                    scale: scale\n                });\n                _this.triggerPinchEvent('onPinch', 'move');\n            }\n            if (rotate) {\n                var rotation = calcRotation(startMutliFingerStatus, mutliFingerStatus);\n                _this.setGestureState({\n                    rotation: rotation\n                });\n                _this.triggerCombineEvent('onRotate', 'move');\n            }\n        };\n        _this.allowGesture = function () {\n            return shouldTriggerDirection(_this.gesture.direction, _this.directionSetting);\n        };\n        _this.checkIfSingleTouchMove = function () {\n            var _this$gesture2 = _this.gesture,\n                pan = _this$gesture2.pan,\n                touches = _this$gesture2.touches,\n                moveStatus = _this$gesture2.moveStatus,\n                preTouches = _this$gesture2.preTouches,\n                _this$gesture2$availa = _this$gesture2.availablePan,\n                availablePan = _this$gesture2$availa === undefined ? true : _this$gesture2$availa;\n\n            if (touches.length > 1) {\n                _this.setGestureState({\n                    pan: false\n                });\n                // Todo: 1 finger -> 2 finger, wait to test this situation\n                pan && _this.triggerCombineEvent('onPan', 'cancel');\n                return;\n            }\n            // add avilablePan condition to fix the case in scrolling, which will cause unavailable pan move.\n            if (moveStatus && availablePan) {\n                var direction = getMovingDirection(preTouches[0], touches[0]);\n                _this.setGestureState({ direction: direction });\n                var eventName = getDirectionEventName(direction);\n                if (!_this.allowGesture()) {\n                    // if the first move is unavailable, then judge all of remaining touch movings are also invalid.\n                    if (!pan) {\n                        _this.setGestureState({ availablePan: false });\n                    }\n                    return;\n                }\n                if (!pan) {\n                    _this.triggerCombineEvent('onPan', 'start');\n                    _this.setGestureState({\n                        pan: true,\n                        availablePan: true\n                    });\n                } else {\n                    _this.triggerCombineEvent('onPan', eventName);\n                    _this.triggerSubEvent('onPan', 'move');\n                }\n            }\n        };\n        _this.checkIfMultiTouchEnd = function (status) {\n            var _this$gesture3 = _this.gesture,\n                pinch = _this$gesture3.pinch,\n                rotate = _this$gesture3.rotate;\n\n            if (pinch) {\n                _this.triggerCombineEvent('onPinch', status);\n            }\n            if (rotate) {\n                _this.triggerCombineEvent('onRotate', status);\n            }\n        };\n        _this.updateGestureStatus = function (e) {\n            var time = now();\n            _this.setGestureState({\n                time: time\n            });\n            if (!e.touches || !e.touches.length) {\n                return;\n            }\n            var _this$gesture4 = _this.gesture,\n                startTime = _this$gesture4.startTime,\n                startTouches = _this$gesture4.startTouches,\n                pinch = _this$gesture4.pinch,\n                rotate = _this$gesture4.rotate;\n\n            var touches = _this.getTouches(e);\n            var moveStatus = calcMoveStatus(startTouches, touches, time - startTime);\n            var mutliFingerStatus = void 0;\n            if (pinch || rotate) {\n                mutliFingerStatus = calcMutliFingerStatus(touches);\n            }\n            _this.setGestureState({\n                /* update status snapshot */\n                touches: touches,\n                mutliFingerStatus: mutliFingerStatus,\n                /* update duration status */\n                moveStatus: moveStatus\n            });\n        };\n        _this._handleTouchEnd = function (e) {\n            _this.triggerUserCb('end', e);\n            _this.event = e;\n            if (!_this.gesture) {\n                return;\n            }\n            _this.cleanPressTimer();\n            _this.updateGestureStatus(e);\n            _this.doSingleTouchEnd('end');\n            _this.checkIfMultiTouchEnd('end');\n        };\n        _this._handleTouchCancel = function (e) {\n            _this.triggerUserCb('cancel', e);\n            _this.event = e;\n            // Todo: wait to test cancel case\n            if (!_this.gesture) {\n                return;\n            }\n            _this.cleanPressTimer();\n            _this.updateGestureStatus(e);\n            _this.doSingleTouchEnd('cancel');\n            _this.checkIfMultiTouchEnd('cancel');\n        };\n        _this.triggerAllowEvent = function (type, status) {\n            if (_this.allowGesture()) {\n                _this.triggerCombineEvent(type, status);\n            } else {\n                _this.triggerSubEvent(type, status);\n            }\n        };\n        _this.doSingleTouchEnd = function (status) {\n            var _this$gesture5 = _this.gesture,\n                moveStatus = _this$gesture5.moveStatus,\n                pinch = _this$gesture5.pinch,\n                rotate = _this$gesture5.rotate,\n                press = _this$gesture5.press,\n                pan = _this$gesture5.pan,\n                direction = _this$gesture5.direction;\n\n            if (pinch || rotate) {\n                return;\n            }\n            if (moveStatus) {\n                var z = moveStatus.z,\n                    velocity = moveStatus.velocity;\n\n                var swipe = shouldTriggerSwipe(z, velocity);\n                _this.setGestureState({\n                    swipe: swipe\n                });\n                if (pan) {\n                    // pan need end, it's a process\n                    // sometimes, start with pan left, but end with pan right....\n                    _this.triggerAllowEvent('onPan', status);\n                }\n                if (swipe) {\n                    var directionEvName = getDirectionEventName(direction);\n                    // swipe just need a direction, it's a endpoint\n                    _this.triggerAllowEvent('onSwipe', directionEvName);\n                    return;\n                }\n            }\n            if (press) {\n                _this.triggerEvent('onPressUp');\n                return;\n            }\n            _this.triggerEvent('onTap');\n        };\n        _this.getTouchAction = function () {\n            var _this$props2 = _this.props,\n                enablePinch = _this$props2.enablePinch,\n                enableRotate = _this$props2.enableRotate;\n            var directionSetting = _this.directionSetting;\n\n            if (enablePinch || enableRotate || directionSetting === DIRECTION_ALL) {\n                return 'pan-x pan-y';\n            }\n            if (directionSetting === DIRECTION_VERTICAL) {\n                return 'pan-x';\n            }\n            if (directionSetting === DIRECTION_HORIZONTAL) {\n                return 'pan-y';\n            }\n            return 'auto';\n        };\n        _this.directionSetting = directionMap[props.direction];\n        return _this;\n    }\n\n    _createClass(Gesture, [{\n        key: 'componentWillUnmount',\n        value: function componentWillUnmount() {\n            this.cleanPressTimer();\n        }\n    }, {\n        key: 'render',\n        value: function render() {\n            var children = this.props.children;\n\n            var child = React.Children.only(children);\n            var touchAction = this.getTouchAction();\n            var events = {\n                onTouchStart: this._handleTouchStart,\n                onTouchMove: this._handleTouchMove,\n                onTouchCancel: this._handleTouchCancel,\n                onTouchEnd: this._handleTouchEnd\n            };\n            return React.cloneElement(child, _extends({}, events, { style: _extends({ touchAction: touchAction }, child.props.style || {}) }));\n        }\n    }]);\n\n    return Gesture;\n}(Component);\n\nexport default Gesture;\n\nGesture.defaultProps = {\n    enableRotate: false,\n    enablePinch: false,\n    direction: 'all'\n};","export function getTransformPropValue(v) {\n    return {\n        transform: v,\n        WebkitTransform: v,\n        MozTransform: v\n    };\n}\nexport function getPxStyle(value) {\n    var unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';\n    var vertical = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    value = vertical ? '0px, ' + value + unit + ', 0px' : '' + value + unit + ', 0px, 0px';\n    return 'translate3d(' + value + ')';\n}\nexport function setPxStyle(el, value) {\n    var unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'px';\n    var vertical = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n    var useLeft = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n    if (useLeft) {\n        if (vertical) {\n            el.style.top = '' + value + unit;\n        } else {\n            el.style.left = '' + value + unit;\n        }\n    } else {\n        setTransform(el.style, getPxStyle(value, unit, vertical));\n    }\n}\nexport function setTransform(style, v) {\n    style.transform = v;\n    style.webkitTransform = v;\n    style.mozTransform = v;\n}","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nvar __rest = this && this.__rest || function (s, e) {\n    var t = {};\n    for (var p in s) {\n        if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n    }if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n        if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n    }return t;\n};\nimport React from 'react';\nimport { getPxStyle, getTransformPropValue } from './util';\nexport var TabPane = function (_React$PureComponent) {\n    _inherits(TabPane, _React$PureComponent);\n\n    function TabPane() {\n        _classCallCheck(this, TabPane);\n\n        var _this = _possibleConstructorReturn(this, (TabPane.__proto__ || Object.getPrototypeOf(TabPane)).apply(this, arguments));\n\n        _this.offsetX = 0;\n        _this.offsetY = 0;\n        _this.setLayout = function (div) {\n            _this.layout = div;\n        };\n        return _this;\n    }\n\n    _createClass(TabPane, [{\n        key: 'componentWillReceiveProps',\n        value: function componentWillReceiveProps(nextProps) {\n            if (this.props.active !== nextProps.active) {\n                if (nextProps.active) {\n                    this.offsetX = 0;\n                    this.offsetY = 0;\n                } else {\n                    this.offsetX = this.layout.scrollLeft;\n                    this.offsetY = this.layout.scrollTop;\n                }\n            }\n        }\n    }, {\n        key: 'render',\n        value: function render() {\n            var _a = this.props,\n                active = _a.active,\n                fixX = _a.fixX,\n                fixY = _a.fixY,\n                props = __rest(_a, [\"active\", \"fixX\", \"fixY\"]);\n            var style = _extends({}, fixX && this.offsetX ? getTransformPropValue(getPxStyle(-this.offsetX, 'px', false)) : {}, fixY && this.offsetY ? getTransformPropValue(getPxStyle(-this.offsetY, 'px', true)) : {});\n            return React.createElement(\n                'div',\n                _extends({}, props, { style: style, ref: this.setLayout }),\n                props.children\n            );\n        }\n    }]);\n\n    return TabPane;\n}(React.PureComponent);\nTabPane.defaultProps = {\n    fixX: true,\n    fixY: true\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nvar __rest = this && this.__rest || function (s, e) {\n    var t = {};\n    for (var p in s) {\n        if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n    }if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n        if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n    }return t;\n};\nimport React from 'react';\nimport Gesture from 'rc-gesture';\nimport { setPxStyle, getTransformPropValue, getPxStyle } from './util';\nexport var StateType = function StateType() {\n    _classCallCheck(this, StateType);\n\n    this.transform = '';\n    this.isMoving = false;\n    this.showPrev = false;\n    this.showNext = false;\n};\nexport var DefaultTabBar = function (_React$PureComponent) {\n    _inherits(DefaultTabBar, _React$PureComponent);\n\n    function DefaultTabBar(props) {\n        _classCallCheck(this, DefaultTabBar);\n\n        var _this = _possibleConstructorReturn(this, (DefaultTabBar.__proto__ || Object.getPrototypeOf(DefaultTabBar)).call(this, props));\n\n        _this.onPan = function () {\n            var lastOffset = 0;\n            var finalOffset = 0;\n            var getLastOffset = function getLastOffset() {\n                var isVertical = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.isTabBarVertical();\n\n                var offset = +('' + lastOffset).replace('%', '');\n                if (('' + lastOffset).indexOf('%') >= 0) {\n                    offset /= 100;\n                    offset *= isVertical ? _this.layout.clientHeight : _this.layout.clientWidth;\n                }\n                return offset;\n            };\n            return {\n                onPanStart: function onPanStart() {\n                    _this.setState({ isMoving: true });\n                },\n                onPanMove: function onPanMove(status) {\n                    if (!status.moveStatus || !_this.layout) return;\n                    var isVertical = _this.isTabBarVertical();\n                    var offset = getLastOffset() + (isVertical ? status.moveStatus.y : status.moveStatus.x);\n                    var canScrollOffset = isVertical ? -_this.layout.scrollHeight + _this.layout.clientHeight : -_this.layout.scrollWidth + _this.layout.clientWidth;\n                    offset = Math.min(offset, 0);\n                    offset = Math.max(offset, canScrollOffset);\n                    setPxStyle(_this.layout, offset, 'px', isVertical);\n                    finalOffset = offset;\n                    _this.setState({\n                        showPrev: -offset > 0,\n                        showNext: offset > canScrollOffset\n                    });\n                },\n                onPanEnd: function onPanEnd() {\n                    var isVertical = _this.isTabBarVertical();\n                    lastOffset = finalOffset;\n                    _this.setState({\n                        isMoving: false,\n                        transform: getPxStyle(finalOffset, 'px', isVertical)\n                    });\n                },\n                setCurrentOffset: function setCurrentOffset(offset) {\n                    return lastOffset = offset;\n                }\n            };\n        }();\n        _this.getTransformByIndex = function (props) {\n            var activeTab = props.activeTab,\n                tabs = props.tabs,\n                _props$page = props.page,\n                page = _props$page === undefined ? 0 : _props$page;\n\n            var isVertical = _this.isTabBarVertical();\n            var size = _this.getTabSize(page, tabs.length);\n            var center = page / 2;\n            var pos = Math.min(activeTab, tabs.length - center - .5);\n            var skipSize = Math.min(-(pos - center + .5) * size, 0);\n            _this.onPan.setCurrentOffset(skipSize + '%');\n            return {\n                transform: getPxStyle(skipSize, '%', isVertical),\n                showPrev: activeTab > center - .5 && tabs.length > page,\n                showNext: activeTab < tabs.length - center - .5 && tabs.length > page\n            };\n        };\n        _this.onPress = function (index) {\n            var _this$props = _this.props,\n                goToTab = _this$props.goToTab,\n                onTabClick = _this$props.onTabClick,\n                tabs = _this$props.tabs;\n\n            onTabClick && onTabClick(tabs[index], index);\n            goToTab && goToTab(index);\n        };\n        _this.isTabBarVertical = function () {\n            var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.tabBarPosition;\n            return position === 'left' || position === 'right';\n        };\n        _this.renderTab = function (t, i, size, isTabBarVertical) {\n            var _this$props2 = _this.props,\n                prefixCls = _this$props2.prefixCls,\n                renderTab = _this$props2.renderTab,\n                activeTab = _this$props2.activeTab,\n                tabBarTextStyle = _this$props2.tabBarTextStyle,\n                tabBarActiveTextColor = _this$props2.tabBarActiveTextColor,\n                tabBarInactiveTextColor = _this$props2.tabBarInactiveTextColor,\n                instanceId = _this$props2.instanceId;\n\n            var textStyle = _extends({}, tabBarTextStyle);\n            var cls = prefixCls + '-tab';\n            var ariaSelected = false;\n            if (activeTab === i) {\n                cls += ' ' + cls + '-active';\n                ariaSelected = true;\n                if (tabBarActiveTextColor) {\n                    textStyle.color = tabBarActiveTextColor;\n                }\n            } else if (tabBarInactiveTextColor) {\n                textStyle.color = tabBarInactiveTextColor;\n            }\n            return React.createElement(\n                'div',\n                { key: 't_' + i, style: _extends({}, textStyle, isTabBarVertical ? { height: size + '%' } : { width: size + '%' }), id: 'm-tabs-' + instanceId + '-' + i, role: 'tab', 'aria-selected': ariaSelected, className: cls, onClick: function onClick() {\n                        return _this.onPress(i);\n                    } },\n                renderTab ? renderTab(t) : t.title\n            );\n        };\n        _this.setContentLayout = function (div) {\n            _this.layout = div;\n        };\n        _this.getTabSize = function (page, tabLength) {\n            return 100 / Math.min(page, tabLength);\n        };\n        _this.state = _extends({}, new StateType(), _this.getTransformByIndex(props));\n        return _this;\n    }\n\n    _createClass(DefaultTabBar, [{\n        key: 'componentWillReceiveProps',\n        value: function componentWillReceiveProps(nextProps) {\n            if (this.props.activeTab !== nextProps.activeTab || this.props.tabs !== nextProps.tabs || this.props.tabs.length !== nextProps.tabs.length) {\n                this.setState(_extends({}, this.getTransformByIndex(nextProps)));\n            }\n        }\n    }, {\n        key: 'render',\n        value: function render() {\n            var _this2 = this;\n\n            var _props = this.props,\n                prefixCls = _props.prefixCls,\n                animated = _props.animated,\n                _props$tabs = _props.tabs,\n                tabs = _props$tabs === undefined ? [] : _props$tabs,\n                _props$page2 = _props.page,\n                page = _props$page2 === undefined ? 0 : _props$page2,\n                _props$activeTab = _props.activeTab,\n                activeTab = _props$activeTab === undefined ? 0 : _props$activeTab,\n                tabBarBackgroundColor = _props.tabBarBackgroundColor,\n                tabBarUnderlineStyle = _props.tabBarUnderlineStyle,\n                tabBarPosition = _props.tabBarPosition,\n                renderUnderline = _props.renderUnderline;\n            var _state = this.state,\n                isMoving = _state.isMoving,\n                transform = _state.transform,\n                showNext = _state.showNext,\n                showPrev = _state.showPrev;\n\n            var isTabBarVertical = this.isTabBarVertical();\n            var needScroll = tabs.length > page;\n            var size = this.getTabSize(page, tabs.length);\n            var Tabs = tabs.map(function (t, i) {\n                return _this2.renderTab(t, i, size, isTabBarVertical);\n            });\n            var cls = prefixCls;\n            if (animated && !isMoving) {\n                cls += ' ' + prefixCls + '-animated';\n            }\n            var style = {\n                backgroundColor: tabBarBackgroundColor || ''\n            };\n            var transformStyle = needScroll ? _extends({}, getTransformPropValue(transform)) : {};\n            var _a = this.onPan,\n                setCurrentOffset = _a.setCurrentOffset,\n                onPan = __rest(_a, [\"setCurrentOffset\"]);\n            var underlineProps = {\n                style: _extends({}, isTabBarVertical ? { height: size + '%' } : { width: size + '%' }, isTabBarVertical ? { top: size * activeTab + '%' } : { left: size * activeTab + '%' }, tabBarUnderlineStyle),\n                className: prefixCls + '-underline'\n            };\n            return React.createElement(\n                'div',\n                { className: cls + ' ' + prefixCls + '-' + tabBarPosition, style: style },\n                showPrev && React.createElement('div', { className: prefixCls + '-prevpage' }),\n                React.createElement(\n                    Gesture,\n                    _extends({}, onPan, { direction: isTabBarVertical ? 'vertical' : 'horizontal' }),\n                    React.createElement(\n                        'div',\n                        { role: 'tablist', className: prefixCls + '-content', style: transformStyle, ref: this.setContentLayout },\n                        Tabs,\n                        renderUnderline ? renderUnderline(underlineProps) : React.createElement('div', underlineProps)\n                    )\n                ),\n                showNext && React.createElement('div', { className: prefixCls + '-nextpage' })\n            );\n        }\n    }]);\n\n    return DefaultTabBar;\n}(React.PureComponent);\nDefaultTabBar.defaultProps = {\n    prefixCls: 'rmc-tabs-tab-bar',\n    animated: true,\n    tabs: [],\n    goToTab: function goToTab() {},\n    activeTab: 0,\n    page: 5,\n    tabBarUnderlineStyle: {},\n    tabBarBackgroundColor: '#fff',\n    tabBarActiveTextColor: '',\n    tabBarInactiveTextColor: '',\n    tabBarTextStyle: {}\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport React from 'react';\nexport var StateType = function StateType() {\n    _classCallCheck(this, StateType);\n};\nvar instanceId = 0;\nexport var Tabs = function (_React$PureComponent) {\n    _inherits(Tabs, _React$PureComponent);\n\n    function Tabs(props) {\n        _classCallCheck(this, Tabs);\n\n        var _this = _possibleConstructorReturn(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).call(this, props));\n\n        _this.tabCache = {};\n        _this.isTabVertical = function () {\n            var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.tabDirection;\n            return direction === 'vertical';\n        };\n        _this.shouldRenderTab = function (idx) {\n            var _this$props$prerender = _this.props.prerenderingSiblingsNumber,\n                prerenderingSiblingsNumber = _this$props$prerender === undefined ? 0 : _this$props$prerender;\n            var _this$state$currentTa = _this.state.currentTab,\n                currentTab = _this$state$currentTa === undefined ? 0 : _this$state$currentTa;\n\n            return currentTab - prerenderingSiblingsNumber <= idx && idx <= currentTab + prerenderingSiblingsNumber;\n        };\n        _this.getOffsetIndex = function (current, width) {\n            var threshold = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _this.props.distanceToChangeTab || 0;\n\n            var ratio = Math.abs(current / width);\n            var direction = ratio > _this.state.currentTab ? '<' : '>';\n            var index = Math.floor(ratio);\n            switch (direction) {\n                case '<':\n                    return ratio - index > threshold ? index + 1 : index;\n                case '>':\n                    return 1 - ratio + index > threshold ? index : index + 1;\n                default:\n                    return Math.round(ratio);\n            }\n        };\n        _this.getSubElements = function () {\n            var children = _this.props.children;\n\n            var subElements = {};\n            return function () {\n                var defaultPrefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '$i$-';\n                var allPrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '$ALL$';\n\n                if (Array.isArray(children)) {\n                    children.forEach(function (child, index) {\n                        if (child.key) {\n                            subElements[child.key] = child;\n                        }\n                        subElements['' + defaultPrefix + index] = child;\n                    });\n                } else if (children) {\n                    subElements[allPrefix] = children;\n                }\n                return subElements;\n            };\n        };\n        _this.state = {\n            currentTab: _this.getTabIndex(props)\n        };\n        _this.nextCurrentTab = _this.state.currentTab;\n        _this.instanceId = instanceId++;\n        return _this;\n    }\n\n    _createClass(Tabs, [{\n        key: 'getTabIndex',\n        value: function getTabIndex(props) {\n            var page = props.page,\n                initialPage = props.initialPage,\n                tabs = props.tabs;\n\n            var param = (page !== undefined ? page : initialPage) || 0;\n            var index = 0;\n            if (typeof param === 'string') {\n                tabs.forEach(function (t, i) {\n                    if (t.key === param) {\n                        index = i;\n                    }\n                });\n            } else {\n                index = param || 0;\n            }\n            return index < 0 ? 0 : index;\n        }\n    }, {\n        key: 'componentWillReceiveProps',\n        value: function componentWillReceiveProps(nextProps) {\n            if (this.props.page !== nextProps.page && nextProps.page !== undefined) {\n                this.goToTab(this.getTabIndex(nextProps), true, {}, nextProps);\n            }\n        }\n    }, {\n        key: 'componentDidMount',\n        value: function componentDidMount() {\n            this.prevCurrentTab = this.state.currentTab;\n        }\n    }, {\n        key: 'componentDidUpdate',\n        value: function componentDidUpdate() {\n            this.prevCurrentTab = this.state.currentTab;\n        }\n    }, {\n        key: 'goToTab',\n        value: function goToTab(index) {\n            var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n            var newState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n            var props = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.props;\n\n            if (!force && this.nextCurrentTab === index) {\n                return false;\n            }\n            this.nextCurrentTab = index;\n            var tabs = props.tabs,\n                onChange = props.onChange;\n\n            if (index >= 0 && index < tabs.length) {\n                if (!force) {\n                    onChange && onChange(tabs[index], index);\n                    if (props.page !== undefined) {\n                        return false;\n                    }\n                }\n                this.setState(_extends({ currentTab: index }, newState));\n            }\n            return true;\n        }\n    }, {\n        key: 'tabClickGoToTab',\n        value: function tabClickGoToTab(index) {\n            this.goToTab(index);\n        }\n    }, {\n        key: 'getTabBarBaseProps',\n        value: function getTabBarBaseProps() {\n            var currentTab = this.state.currentTab;\n            var _props = this.props,\n                animated = _props.animated,\n                onTabClick = _props.onTabClick,\n                tabBarActiveTextColor = _props.tabBarActiveTextColor,\n                tabBarBackgroundColor = _props.tabBarBackgroundColor,\n                tabBarInactiveTextColor = _props.tabBarInactiveTextColor,\n                tabBarPosition = _props.tabBarPosition,\n                tabBarTextStyle = _props.tabBarTextStyle,\n                tabBarUnderlineStyle = _props.tabBarUnderlineStyle,\n                tabs = _props.tabs;\n\n            return {\n                activeTab: currentTab,\n                animated: !!animated,\n                goToTab: this.tabClickGoToTab.bind(this),\n                onTabClick: onTabClick,\n                tabBarActiveTextColor: tabBarActiveTextColor,\n                tabBarBackgroundColor: tabBarBackgroundColor,\n                tabBarInactiveTextColor: tabBarInactiveTextColor,\n                tabBarPosition: tabBarPosition,\n                tabBarTextStyle: tabBarTextStyle,\n                tabBarUnderlineStyle: tabBarUnderlineStyle,\n                tabs: tabs,\n                instanceId: this.instanceId\n            };\n        }\n    }, {\n        key: 'renderTabBar',\n        value: function renderTabBar(tabBarProps, DefaultTabBar) {\n            var renderTabBar = this.props.renderTabBar;\n\n            if (renderTabBar === false) {\n                return null;\n            } else if (renderTabBar) {\n                // return React.cloneElement(this.props.renderTabBar(props), props);\n                return renderTabBar(tabBarProps);\n            } else {\n                return React.createElement(DefaultTabBar, tabBarProps);\n            }\n        }\n    }, {\n        key: 'getSubElement',\n        value: function getSubElement(tab, index, subElements) {\n            var defaultPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '$i$-';\n            var allPrefix = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '$ALL$';\n\n            var key = tab.key || '' + defaultPrefix + index;\n            var elements = subElements(defaultPrefix, allPrefix);\n            var component = elements[key] || elements[allPrefix];\n            if (component instanceof Function) {\n                component = component(tab, index);\n            }\n            return component || null;\n        }\n    }]);\n\n    return Tabs;\n}(React.PureComponent);\nTabs.defaultProps = {\n    tabBarPosition: 'top',\n    initialPage: 0,\n    swipeable: true,\n    animated: true,\n    prerenderingSiblingsNumber: 1,\n    tabs: [],\n    destroyInactiveTab: false,\n    usePaged: true,\n    tabDirection: 'horizontal',\n    distanceToChangeTab: .3\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _get from 'babel-runtime/helpers/get';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport Gesture from 'rc-gesture';\nimport { TabPane } from './TabPane';\nimport { DefaultTabBar } from './DefaultTabBar';\nimport { getTransformPropValue, setTransform, setPxStyle } from './util';\nimport { Tabs as Component, StateType as BaseStateType } from './Tabs.base';\nvar getPanDirection = function getPanDirection(direction) {\n    switch (direction) {\n        case 2:\n        case 4:\n            return 'horizontal';\n        case 8:\n        case 16:\n            return 'vertical';\n        default:\n            return 'none';\n    }\n};\nexport var StateType = function (_BaseStateType) {\n    _inherits(StateType, _BaseStateType);\n\n    function StateType() {\n        _classCallCheck(this, StateType);\n\n        var _this = _possibleConstructorReturn(this, (StateType.__proto__ || Object.getPrototypeOf(StateType)).apply(this, arguments));\n\n        _this.contentPos = '';\n        _this.isMoving = false;\n        return _this;\n    }\n\n    return StateType;\n}(BaseStateType);\nexport var Tabs = function (_Component) {\n    _inherits(Tabs, _Component);\n\n    function Tabs(props) {\n        _classCallCheck(this, Tabs);\n\n        var _this2 = _possibleConstructorReturn(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).call(this, props));\n\n        _this2.onPan = function () {\n            var lastOffset = 0;\n            var finalOffset = 0;\n            var panDirection = void 0;\n            var getLastOffset = function getLastOffset() {\n                var isVertical = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this2.isTabVertical();\n\n                var offset = +('' + lastOffset).replace('%', '');\n                if (('' + lastOffset).indexOf('%') >= 0) {\n                    offset /= 100;\n                    offset *= isVertical ? _this2.layout.clientHeight : _this2.layout.clientWidth;\n                }\n                return offset;\n            };\n            return {\n                onPanStart: function onPanStart(status) {\n                    if (!_this2.props.swipeable || !_this2.props.animated) return;\n                    panDirection = getPanDirection(status.direction);\n                    _this2.setState({\n                        isMoving: true\n                    });\n                },\n                onPanMove: function onPanMove(status) {\n                    var _this2$props = _this2.props,\n                        swipeable = _this2$props.swipeable,\n                        animated = _this2$props.animated,\n                        useLeftInsteadTransform = _this2$props.useLeftInsteadTransform;\n\n                    if (!status.moveStatus || !_this2.layout || !swipeable || !animated) return;\n                    var isVertical = _this2.isTabVertical();\n                    var offset = getLastOffset();\n                    if (isVertical) {\n                        offset += panDirection === 'horizontal' ? 0 : status.moveStatus.y;\n                    } else {\n                        offset += panDirection === 'vertical' ? 0 : status.moveStatus.x;\n                    }\n                    var canScrollOffset = isVertical ? -_this2.layout.scrollHeight + _this2.layout.clientHeight : -_this2.layout.scrollWidth + _this2.layout.clientWidth;\n                    offset = Math.min(offset, 0);\n                    offset = Math.max(offset, canScrollOffset);\n                    setPxStyle(_this2.layout, offset, 'px', isVertical, useLeftInsteadTransform);\n                    finalOffset = offset;\n                },\n                onPanEnd: function onPanEnd() {\n                    if (!_this2.props.swipeable || !_this2.props.animated) return;\n                    lastOffset = finalOffset;\n                    var isVertical = _this2.isTabVertical();\n                    var offsetIndex = _this2.getOffsetIndex(finalOffset, isVertical ? _this2.layout.clientHeight : _this2.layout.clientWidth);\n                    _this2.setState({\n                        isMoving: false\n                    });\n                    if (offsetIndex === _this2.state.currentTab) {\n                        if (_this2.props.usePaged) {\n                            setTransform(_this2.layout.style, _this2.getContentPosByIndex(offsetIndex, _this2.isTabVertical(), _this2.props.useLeftInsteadTransform));\n                        }\n                    } else {\n                        _this2.goToTab(offsetIndex);\n                    }\n                },\n                setCurrentOffset: function setCurrentOffset(offset) {\n                    return lastOffset = offset;\n                }\n            };\n        }();\n        _this2.onSwipe = function (status) {\n            var _this2$props2 = _this2.props,\n                tabBarPosition = _this2$props2.tabBarPosition,\n                swipeable = _this2$props2.swipeable,\n                usePaged = _this2$props2.usePaged;\n\n            if (!swipeable || !usePaged || _this2.isTabVertical()) return;\n            // DIRECTION_NONE\t1\n            // DIRECTION_LEFT\t2\n            // DIRECTION_RIGHT\t4\n            // DIRECTION_UP\t8\n            // DIRECTION_DOWN\t16\n            // DIRECTION_HORIZONTAL\t6\n            // DIRECTION_VERTICAL\t24\n            // DIRECTION_ALL\t30\n            switch (tabBarPosition) {\n                case 'top':\n                case 'bottom':\n                    switch (status.direction) {\n                        case 2:\n                            if (!_this2.isTabVertical()) {\n                                _this2.goToTab(_this2.prevCurrentTab + 1);\n                            }\n                        case 8:\n                            if (_this2.isTabVertical()) {\n                                _this2.goToTab(_this2.prevCurrentTab + 1);\n                            }\n                            break;\n                        case 4:\n                            if (!_this2.isTabVertical()) {\n                                _this2.goToTab(_this2.prevCurrentTab - 1);\n                            }\n                        case 16:\n                            if (_this2.isTabVertical()) {\n                                _this2.goToTab(_this2.prevCurrentTab - 1);\n                            }\n                            break;\n                    }\n                    break;\n            }\n        };\n        _this2.setContentLayout = function (div) {\n            _this2.layout = div;\n        };\n        _this2.state = _extends({}, _this2.state, new StateType(), { contentPos: _this2.getContentPosByIndex(_this2.getTabIndex(props), _this2.isTabVertical(props.tabDirection), props.useLeftInsteadTransform) });\n        return _this2;\n    }\n\n    _createClass(Tabs, [{\n        key: 'goToTab',\n        value: function goToTab(index) {\n            var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n            var usePaged = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.props.usePaged;\n            var props = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.props;\n            var tabDirection = props.tabDirection,\n                useLeftInsteadTransform = props.useLeftInsteadTransform;\n\n            var newState = {};\n            if (usePaged) {\n                newState = {\n                    contentPos: this.getContentPosByIndex(index, this.isTabVertical(tabDirection), useLeftInsteadTransform)\n                };\n            }\n            return _get(Tabs.prototype.__proto__ || Object.getPrototypeOf(Tabs.prototype), 'goToTab', this).call(this, index, force, newState, props);\n        }\n    }, {\n        key: 'tabClickGoToTab',\n        value: function tabClickGoToTab(index) {\n            this.goToTab(index, false, true);\n        }\n    }, {\n        key: 'getContentPosByIndex',\n        value: function getContentPosByIndex(index, isVertical) {\n            var useLeft = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n            var value = -index * 100 + '%';\n            this.onPan.setCurrentOffset(value);\n            if (useLeft) {\n                return '' + value;\n            } else {\n                var translate = isVertical ? '0px, ' + value : value + ', 0px';\n                // fix: content overlay TabBar on iOS 10. ( 0px -> 1px )\n                return 'translate3d(' + translate + ', 1px)';\n            }\n        }\n    }, {\n        key: 'renderContent',\n        value: function renderContent() {\n            var _this3 = this;\n\n            var getSubElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSubElements();\n            var _props = this.props,\n                prefixCls = _props.prefixCls,\n                tabs = _props.tabs,\n                animated = _props.animated,\n                destroyInactiveTab = _props.destroyInactiveTab,\n                useLeftInsteadTransform = _props.useLeftInsteadTransform;\n            var _state = this.state,\n                currentTab = _state.currentTab,\n                isMoving = _state.isMoving,\n                contentPos = _state.contentPos;\n\n            var isTabVertical = this.isTabVertical();\n            var contentCls = prefixCls + '-content-wrap';\n            if (animated && !isMoving) {\n                contentCls += ' ' + contentCls + '-animated';\n            }\n            var contentStyle = animated ? useLeftInsteadTransform ? _extends({ position: 'relative' }, this.isTabVertical() ? { top: contentPos } : { left: contentPos }) : getTransformPropValue(contentPos) : _extends({ position: 'relative' }, this.isTabVertical() ? { top: -currentTab * 100 + '%' } : { left: -currentTab * 100 + '%' });\n\n            var _getTabBarBaseProps = this.getTabBarBaseProps(),\n                instanceId = _getTabBarBaseProps.instanceId;\n\n            return React.createElement(\n                'div',\n                { className: contentCls, style: contentStyle, ref: this.setContentLayout },\n                tabs.map(function (tab, index) {\n                    var cls = prefixCls + '-pane-wrap';\n                    if (_this3.state.currentTab === index) {\n                        cls += ' ' + cls + '-active';\n                    } else {\n                        cls += ' ' + cls + '-inactive';\n                    }\n                    var key = tab.key || 'tab_' + index;\n                    // update tab cache\n                    if (_this3.shouldRenderTab(index)) {\n                        _this3.tabCache[index] = _this3.getSubElement(tab, index, getSubElements);\n                    } else if (destroyInactiveTab) {\n                        _this3.tabCache[index] = undefined;\n                    }\n                    return React.createElement(\n                        TabPane,\n                        { key: key, className: cls, active: currentTab === index, role: 'tabpanel', 'aria-hidden': currentTab !== index, 'aria-labelledby': 'm-tabs-' + instanceId + '-' + index, fixX: isTabVertical, fixY: !isTabVertical },\n                        _this3.tabCache[index]\n                    );\n                })\n            );\n        }\n    }, {\n        key: 'render',\n        value: function render() {\n            var _props2 = this.props,\n                prefixCls = _props2.prefixCls,\n                tabBarPosition = _props2.tabBarPosition,\n                tabDirection = _props2.tabDirection,\n                useOnPan = _props2.useOnPan,\n                noRenderContent = _props2.noRenderContent;\n\n            var isTabVertical = this.isTabVertical(tabDirection);\n            var tabBarProps = _extends({}, this.getTabBarBaseProps());\n            var onPan = !isTabVertical && useOnPan ? this.onPan : {};\n            var content = [React.createElement(\n                'div',\n                { key: 'tabBar', className: prefixCls + '-tab-bar-wrap' },\n                this.renderTabBar(tabBarProps, DefaultTabBar)\n            ), !noRenderContent && React.createElement(\n                Gesture,\n                _extends({ key: '$content', onSwipe: this.onSwipe }, onPan),\n                this.renderContent()\n            )];\n            return React.createElement(\n                'div',\n                { className: prefixCls + ' ' + prefixCls + '-' + tabDirection + ' ' + prefixCls + '-' + tabBarPosition },\n                tabBarPosition === 'top' || tabBarPosition === 'left' ? content : content.reverse()\n            );\n        }\n    }]);\n\n    return Tabs;\n}(Component);\nTabs.DefaultTabBar = DefaultTabBar;\nTabs.defaultProps = _extends({}, Component.defaultProps, { prefixCls: 'rmc-tabs', useOnPan: true });"],"names":["BetslipFeatureSwitcher","_ref","featureIsActive","setFeatureIsActive","tooltipText","featureName","className","skipRowStyles","_jsxs","toLowerCase","cc","children","_jsx","CustomTooltip","arrowPointAtCenter","title","style","color","fontSize","overlayClassName","isMobile","placement","trigger","overlayStyle","EventAction","icon","GlobalIcon","lib","name","theme","size","EIconSize","_16","_Switch","checked","onChange","PredefinedStakes","memo","changeCurrentStake","setSelected","disabled","currentStake","isLoggedIn","useSelector","getIsLoggedIn","predefinedStakes","usePredefinedStakes","formatAmount","useCurrency","checkIsPredefinedStakesVisible","stake_1","stake_2","stake_3","Object","keys","map","key","value","regEx","RegExp","SpringConfigs","PRICE_SEPARATOR","Button","replace","type","fullwidth","onClick","stake","add","valueToUpdate","PREDEFINE_STAKES_ADDING","toString","onPredefinedInput","formatPrice","CUSTOM_KEYBOARD_MAX_LENGTH","CustomKeyboard","maxLength","onDestroy","selected","toggleQuickBet","onCloseKeyboard","predefinedStakesDisabled","scrollIntoView","predefinedStakesFree","advanced","disabledDot","allowZero","ref","useRef","middleSize","useMemo","t","useTranslation","onInput","predefinedValue","normalizeStake","removeComma","doneButtonHandler","useCallback","useEffect","_ref$current","current","block","Row","Col","span","ColSizes","SIZE_17","SIZE_24","index","order","_4","onBackspase","slice","sliceLength","SLICE_END_MINUS_1","SIZE_7","getScrollParent","node","regex","parents","_node","ps","parentNode","concat","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","i","length","document","scrollingElement","documentElement","scrollParent","STAKE_MAX_LENGTHS","STAKE_MAX_LENGTH","SEPARATOR","StakeField","props","_ref2","_props$refItem","editBet","getEditBet","allLsBets","getAllLsBets","betslipType","getBetslipType","system","getSelectedSystem","currency","currencyId","focused","setFocused","useState","ewAllowed","setEwAllowed","inputRef","getTypeSelector","currentType","getType","balance","useBalance","currentTypeRefValue","useRefValue","inputValue","changeStake","_props$onChange","_props$changeCurrentS","call","eventIdForStakes","_props$stake","inputDefaultValue","_props$onFocus","onFocus","find","bet","useLayoutEffect","refItem","currentRef","isLast","_currentRef$current$f","_currentRef$current","scrollTo","scrollHeight","focus","preventScroll","shouldUpdate","showCurrency","left","checkCurrencyContent","isOdd","right","stakeInputValue","thousandSeparator","showCombinationCount","EBetslipBetType","SYSTEM","combinationCount","inMultipleOfTheDay","classcat","active","StakeWrapper","$paddingLeft","dataTestIdPrefix","Value","Placeholder","amount","placeholder","Input","width","maxValue","marginLeft","bordered","BETSLIP_STAKE_LIMIT","onBlur","target","validPosNumber","getValidPositiveNumber","formattedValue","v","roundOdd","EDecimalRoundTypes","Cut","roundAmount","onPressEnter","max","BETSLIP_MAX_BTN","Max","loading","isLoading","onMaxClick","$oddOffer","BETSLIP_MAX_BTN_TYPE","_Fragment","maxNotConvertedValue","EachWay","styled","div","withConfig","displayName","componentId","deviceActionManager","vibrate","message","hapticMessage","_window","_window$webkit","_window$webkit$messag","iOSWrapperApp","window","webkit","messageHandlers","triggerHaptic","postMessage","JSON","stringify","user","getUser","useBonusBalance","getUseBonusBalance","accountBalanceAvailable","useAccountBalanceAvailable","isFrenchFreeBetEnabled","getIsFrenchFreeBetEnabled","_user$bonus_balance","bonus_balance","bonus_win_balance","frozen_balance","bonus_money","checker","quickBetEnabled","getQuickBetEnabled","partnerConfig","getPartnerConfigs","sport_bonus","useCheckStakeBalance","debounceDuration","arguments","undefined","timeoutDuration","DURATION_500","history","useHistory","isFreeBetEnabled","getIsFreeBetEnabled","partnerConfigs","useFrenchFreeBet","debounceId","RidGenerator","getToDeposit","IFRAME_SPORTSBOOK","openParentPage","push","addQuery","accounts","wallet","deposit","debounce","contextId","callback","isBetMinLimitStake","checkMinBetStakeLimit","betLimitMinStakeForEditBet","min_bet_stakes","minLimit","min_bet","showToastWarning","getElementById","body","isInsufficient","checkInsufficientBalance","balanceError","showToastError","cursor","Number","dispatch","useDispatch","storePredefinedStakes","getPredefinedStakes","defaultStakes","PREDEFINE_STAKES_ENABLE","PREDEFINE_STAKE_1","PREDEFINE_STAKE_2","PREDEFINE_STAKE_3","DEFAULT_STAKE_ENABLED","default_stake","DEFAULT_STAKE","minBetStake","minBetStakeType","MULTIPLIER_10","predefinedStakesType","STAKE_TYPE_1","MULTIPLIER_20","STAKE_TYPE_2","MULTIPLIER_50","STAKE_TYPE_3","setPredefinedStakes","values","setRSPredefinedStakes","usePrevious","initial","previous","refValue","EPlayerActivityCheckerActions","BetWithBonusOrDepositBalance","_profitBoostAdvanced$","selectedType","setSelectedType","EBetBalanceType","REAL","superBetActiveEventIds","getSuperBetActiveEventIds","counterOfferActiveEventIds","getCounterOfferActiveEventIds","profitBoost","getProfitBoost","profitBoostAdvanced","getProfitBoostAdvanced","setToggleProfitBoost","useProfitBoost","selectedProfitBoostItem","getSelectedProfitBoostItem","isProfitBoostEnabled","getIsProfitBoostAvailable","profitBoostStore","getProfitBoost_","getSelectedItem","removeProfitBoostItem","id","profitBoostData","parse","items","item","setProfitBoostRedux","selectedProfitBoostEventId","profitBoostSelectedEventId","setSelectedProfitBoostEventId","eventId","setSelectedProfitBoostId","val","fireToggleProfitBoost","setSelectedItem","isSingleEventSelected","event","getSelectedAdvancedSingleRule","getSelectedAdvancedMultipleRule","offAllSelected","cleanProfitBoostState","showBoostInfo","profitBoostSelectedItemId","isProfitBoostActive","single","isSuperBetActive","isCounterOfferActive","menuItems","result","i18n","BONUS","FREE_BET","setUseBonusBalance","setIsFrenchFreeBetEnabled","CustomMenu","activeItem","setActiveItem","forEach","calculateAndDispatchUpdates","oddOffer","superBet","itemStyles","ONE_HUNDRED_PERCENT","Badge","count","dot","offset","overflowCount","showZero","status","text","styleOBj","marginTop","background","badge__dot__status","forwardRef","label","createTestId","_Input","BetslipPreloadState","Loading","BetslipRootContainer","_betslipContainerRef$","isHeightFixed","detectTopHeight","betslipContainerRef","allLsBetsCount","wrapperHeight","useContentHeight","isBetslipEmpty","isScrollOnPage","HOORY_ENABLED","HOORY_ENABLED_SPORTSBOOK_BETSLIP","scrollOnPage","maxHeight","height","closest","toggleBetslip","payload","fireEvent","EBetslipToggleActions","SET_OPEN","Tab","fromMenu","tabsCount","Wrapper","Container","fixedTop","IS_RTL","CustomTabBar","goToTab","tabs","tab","activeTab","badge","Bets","lazy","OpenBets","BetslipTabsWrapper","BetslipTabs","_useSelector","floatingMode","useBetslipConfigsContext","static","getTabs","page","getActiveTabPage","singleReturn","getSingleReturn","openBetsCount","getOpenBetsCount","isEditBEtActive","subscribedEvents","getSubscribedEvents","getIsCounterOfferActive","EBetslipType","BASIC","SINGLE","renderTabBar","Suspense","fallback","batchActions","setMustOpen","setMustClose","setQuickSingleBetslipOpen","tabProps","prerenderingSiblingsNumber","destroyInactiveTab","swipeable","animated","initialPage","setActiveTabPage","isBetTypeMultipleOrChain","MULTIPLE","CHAIN","includes","betsProps","toggleBetslipView","setTimeout","Fallback","ConditionalWrapper","condition","MOCKED_DATA","wrapper","_createElement","_Tabs","componentRid","BonusBalanceSwitcher","QuickBetComponent","isBetslipOpened","getBetslipOpen","quickBetStake","getQuickBetStake","isQuickBetEnabled","checkStakeBalance","setStake","form","_Form","useForm","visible","setVisible","isDisabled","setIsDisabled","disable","showQuickBetslip","onSave","updateQuickBetStake","Popup","animationType","open","Header","QuickBetBaseSwitcher","tooltip","isActive","BET_WITH_ONLY_BONUS_OR_DEPOSIT","FooterContainer","_Button","LoadingInProcess","loadingPopup","Portal","bottomNavigation","BOTTOM_NAVIGATION","QuickbetToggle","quickBet","safeAreaRef","wrapperElem","changeWrapperRowZIndex","Skeleton","paragraph","QuickBet","quickBetInProcessCount","getQuickBetInProcessCount","isQuickBetVisible","AdvancedBetslipLayoutComponent","AdvancedBetslipLayout","BasicBetslipLayoutComponent","BasicBetslipLayout","BetslipTypeBasedLayout","BetsManager","betType","getComputedBetType","sportBonuses","getSportBonuses","command","CommandNames","GET_SPORT_BONUS_RULES","params","rid","gForCommand","connectingWS","then","socket","sendCommand","getSportBonusRules","data","details","setSportBonusRules","_event$market","each_way","getEachWay","market_id","market","isMultiples","GENERAL_FIELD_KEY","betslipBetsCount","bets","suspendedEventsData","getBetSlipFromLs","newEvent","_bet$sport_alias","_PRIVATE_COMPETITIONS","_newEvent$isLive","BETSLIP_BASE_UPDATE","base","suspendReasons","sport_alias","gForSubscribe","executeCommand","game","gameId","marketType","type_1","updateBaseEventsData","_newEvent$game_state","_newEvent$game_time","_bet$current_game_sta","_bet$current_game_tim","competitionId","PRIVATE_COMPETITIONS","JURISDICTION","current_game_state","game_info","score1","score2","game_state","current_game_time","game_time","eventBase","sport_id","isSuspended","coeficient","price","isLive","game_status","getGameStatus","game_start_date","sport_index","LS","setItem","storageKeyName","checkConflicts","dispatchBetslipAllBets","openBetsByDefault","OPEN_BETS_BY_DEFAULT","BetslipConfigManager","oddFormat","getOddFormat","ladderLoaded","getLadderLoaded","allBetsCount","freezeTabChange","getFreezeTabChange","selectBetslipTab","setFreezeTabChange","initialOddFormat","ODD_FORMATS","format","loadLadder","betSlipInitRedux","setElementPresent","EBetslipPage","OPEN_BETS","GLOBALS","betslipElementsCount","getAndRemoveMustOpenBetslipFromLS","removeItem","setElementAbsent","search","listen","ADVANCED","setType","CounterOfferManager","allBetIds","getAllBetIds","_FreeBetManager","FreeBetManagerBetslipTypeBaseSlice","PRELOAD_CACHE","FreeBetManager","has_free_bets","shouldFreeBetMount","prefetchChunks","OpenBetManager","doBetDone","getBettedTrigger","cashOutFrom","getCashoutFrom","updateOpenBetsTrigger","getUpdateOpenBetsTrigger","floatingFirstUpdateOpenBets","updateOpenBetsCount","setOpenBetsCount","updateMyBets","getBetHistoryCount","setCashoutFrom","BETSLIP","_ProfitBoostManager","ProfitBoostManager","QuickBetManager","useEventbus","EQuickBetManagerDispatchActions","TOGGLE_QUICK_BET","_","toggleQuickBetInStore","setQuickBetSelectedEventId","BetslipSetupManagerMobile","BetslipSetupManager","computed","useHeaderVisibility","betslipTab","openBetsTab","setBetslipTabs","updateSelectedStake","setSelectedBetType","addEventListener","getItem","oddAcceptType","DEFAULT_ODD_ACCEPT","ON_ACCEPT_BET_TYPES","elem","removeEventListener","BetslipToggleManager","_BetslipToggleManager","RootManager","BETSLIP_EVENT_TEMPLATE","competition_name","event_name","horse_xml","HorceBXml","game_name","market_name","region_name","sport_name","team1","team2","formatEventData","eventIdToUpdate","_data$sport","_sport$region","_region$competition","suspendedGamesReasons","modifiedEvent","sport","region","competition","gameObj","info","eventObj","sportAlias","is_blocked","splice","indexOf","reason","itemsToRemove","suspendReason","shouldRemove","start_ts","team1_name","team2_name","express_id","prematch_express_id","region_id","useBetSlipSubscription","eventIds","getEventIds","subscriptions","getSubscriptions","prevEventIds","prevSubscriptions","subscriptionIds","setSubscriptionIds","removeSuspendedSelection","resp","REMOVE_SUSPENDED_SELECTION","_resp$sport","_region$competition$O","removeBetSlipEvent","checkForAddedEvents","filter","updateSubscribedEvent","eventData","currentSubscriptionEntity","subscription","betCommand","GET","source","CommandSource","BETTING","is_betslip","subscribe","what","where","eventFormattedData","updateBetSlipEvent","updateCallback","updatedEvent","removeEvent","removedEvents","newEvents","_prevSubscriptions$fi","unsubscribeCommand","baseRid","sub","checkForRemovedEvents","prevEventId","removeSubscribedEvent","join","CounterOfferUnderReviewModal","betslipComponentDefaultProps","isFloating","_BetslipComponent","configs","counterOffersUnderReviewModal","getCounterOffersUnderReviewModal","EBetslipConfigsDispatchActions","SET_STATIC_CONFIGS","betslipFixedHeight","BetslipComponent","Advanced","Single","Basic","EW_TYPES","View","BasicSwitcher","computedProps","EProfitBoostActions","fireCheckProfitBoost","isAdvancedMultiple","CHECK_PROFIT_BOOST","TOGGLE_PROFIT_BOOST","staticConfigsInitialValue","betslipRootId","computedConfigsInitialValue","isOpened","mustOpen","mustClose","betslipConfigsContextInitialValue","BetslipConfigsContext","createContext","BetslipConfigsContextProvider","useId","staticConfigs","setStaticConfigs","computedConfigs","setComputedConfigs","SET_BETSLIP_TYPE","changeComputedConfigByKey","_ref3","p","configsContextValue","prev","Provider","useContext","content","shadow","$isAdvanced","FooterLabel","FooterItem","isSingle","totalReturn","Link","BetButtonWrapper","BetBadge","FreeBetAmountLabel","FreeBetAmountWrapper","BetsWrapper","OpenBetsWrapper","FooterValue","ResultValue","activeGames","getActiveGames","isVisible","headerHeight","getHeaderState","isHeaderVisibleForCasino","IS_HEADER_VISIBLE_IN_CASINO","isHeaderVisibleForBetslip","removeHeader","getHeader","removeFixedHeader","setHeaderState","DURATION_100","makeHeaderFixed","updateHeaderHeight","getHeaderHeight","getMessageContextBasedOnBetslipOpenState","messageContext","_Store$getState$betSl","isBetslipOpen","Store","getState","betSlip","betslipOpen","isFloatingBetslipEnabled","IS_BETSLIP_FLOATING_ENABLED","async","commandObj","callbackError","oddChangeHandlerCallbackWrapper","response","setAcceptBet","result_text","StatusCode","Data","isStatusCode","REPLACE_EDIT_BET_TRANSLATIONS","ERROR_CODE_TIMEOUT_1800","_Data$ErrorData","_Data$ErrorData2","changedOdd","ErrorData","old_price","OldPrice","new_price","ActualPrice","Array","isArray","oddsChangedText","convert","doBet","_Store$getState$betSl2","_callback","res","WRAPPER_APP","median","sendCreateBet","sendDoBet","isBonusMoney","userData","mode","sys_bet","bonus_id","predefined_multiple_id","booking_id","location_token","additional_amount","old_bet_id","betId","DO_BET","MODE_TYPES","ODD_NOT_CHANGE","odd_type","is_bonus_money","is_free_bet_money","checkPlayerActivity","freeBetStore","freeBets","_data$details","setFreeBetSelectedEventId","selectedFreeBetId","removeFreeBetItem","is_superbet","showToastSuccess","SwarmSuccessMessages","accountParams","queryClient","getQueryData","EAccount","_data$details2","_data$details3","AppendCustomCodes","APPEND_CUSTOM_CODE_BETSLIP","appendCustomCode","CUSTOM_CODE_BETSLIP","bet_id","k","bet_type","first_name","last_name","email","username","btag","userId","phone","CREATE_BETS","Source","Amount","Events","SelectionId","event_id","Coeficient","OddType","Type","AdditionalAmount","IsFreeBetMoney","GeoLocationToken","OldBetId","_data$Data","_data$Data$","_data$Data$2","_data$Data$3","getV3Freebet","GET_FREEBETS_FOR_BETSLIP_V3","getCurrencyConfigs","CURRENCY_CONFIG","bookBet","BOOK_BET","tid","qs","location","ignoreQueryPrefix","cashdesk_id","getEventsByBookingId","bookId","GET_EVENTS_BY_BOOKING_ID","getEventsReadyForBetslip","eventsAndGameIds","callBackError","getOnlyEventIds","gameIds","games","entity","events","counterCounterOfferAnswer","acceptOffer","SUPER_BET_ANSWER","accept","checkBetStatus","CHECK_BET_STATUS","GET_EACH_WAY_PARTNER_TERMS","setEachWayPartnerTerms","getCasinoStore","getSelectorRoot","getCasinoCategories","getCasinoOriginalCategories","createSelector","categories","original","getEnhancedParams","getGamesConfigs","getCasinoCustomCategories","custom","getCasinoOriginalCategoriesSet","originalSet","getCasinoOriginalCategoriesSetLeftSideBar","originalSetLeftSideBar","getCanRequestCategoriesNestedData","getCanRequestProvidersNestedData","getLastPlayedCatSettings","getCategoryCustomIds","getCachedGames","cachedGames","gameData","reduce","acc","extearnal_game_id","increaseSize","selector","fixedZindex","wrapperElement","zIndex","wrapperZIndex","HALF_SCORE_RESULT","SCORE_INDEX","USA_LAYOUT_ICON_SIZE","DEFAULT_LAYOUT_ICON_SIZE","FAVORITE_BUTTON_CONTAINER_ICON_SIZE","ADVANCED_CONTAINER_SIZE","FavoritePerRow","FavoritePerRowMobile","MULTIVIEW_CARDS_ROW","PISTOL_H2H_SHOOT_OFF_SET_NUMBER","ARCHERY_H2H_SHOOT_OFF_SET_NUMBER","PISTOL_SHOOTING_SETS_COUNT","ARCHERY_SHOOTING_SETS_COUNT","PISTOL_SHOOTING_SHOOTS_COUNT","ARCHERY_SHOOTING_SHOOTS_COUNT","H2H_COMPOUND_ARCHERY_SHOOTS_COUNT","PISTOL_H2H_SHOOTS_COUNT","PISTOL_H2H_SHOOT_OFF_MAX_SHOOTS_COUNT","H2H_COMPOUND_ARCHERY_MATCH_STATE_NOT_STARTED","H2H_COMPOUND_ARCHERY_MATCH_STATE_IN_PLAY","H2H_COMPOUND_ARCHERY_MATCH_STATE_TIMEOUT","H2H_COMPOUND_ARCHERY_MATCH_STATE_FINISHED","ARCHERY_H2H_GAME_STATUSES","timers","func","timeout","DURATION_300","_len","args","_key","clearTimeout","HEADER_CLASSNAME","HEADER_GETTER_CLASSNAME","querySelector","prevStyles","header","clientHeight","offsetHeight","classList","contains","saveCurrentStyles","_parent$style","_parent$style2","parent","parentElement","paddingTop","paddingBottom","margin","padding","_prevStyles","_prevStyles2","_prevStyles3","remove","DOTA_2_SETTINGS","titles","i18next","icons","names","firstSanctuary","secondSanctuary","positions","roshen","top","tower","kills","getIconPositionsAndSizes","STREAMING_ASPECT_RATIOS","desktop","position","this","mobile","LEAGUE_OF_LEGENDS_SETTINGS","dragons","epicMonsters","ESPORTS_ADDITIONAL_DATA_IDS","ESPORTS_ADDITIONAL_DATA","CounterStrike","number","maps","alias","outcome","LeagueOfLegends","Dota2","GET_MOBA_GAMES_SETTINGS_DATA","GET_MOBA_GAMES_STATISTICS_DATA","additionalDataMap","_additionalDataMap$ki","_additionalDataMap$ba","_additionalDataMap$el","_additionalDataMap$to","_additionalDataMap$in","_additionalDataMap$ki2","_additionalDataMap$ba2","_additionalDataMap$el2","_additionalDataMap$to2","_additionalDataMap$in2","_additionalDataMap$ma","_additionalDataMap$ma2","_additionalDataMap$ma3","_additionalDataMap$ma4","statistics","killScore","baronScore","elementarDragonScore","towerScore","inhibitor","mapState","destroyedInhibitors","destroyedTowers","dragonType","epicMonsterType","_find$value","_find","_additionalDataMap$to3","_additionalDataMap$to4","codeValue","tormentorScore","barrackScore","destroyedBarracks","barrack","isESportMOBAGames","PeriodNames","AmericanFootball","AustralianFootball","Badminton","BallHockey","Baseball","Basketball","BeachFootball","BeachHandball","BeachVolleyball","Bowls","Boxing","Cricket","Curling","CyberFootball","EBasketball","Floorball","Futsal","GaelicFootball","GearsOfWar","Handball","Hearthstone","HeroesOfTheStorm","Hockey","IceHockey","Mma","MortalKombatXL","Netball","Overwatch","RugbyLeague","RugbySevens","RugbyUnion","Smite","Snooker","Soccer","StarCraft","StarCraft2","TableTennis","Tekken7","Tennis","Volleyball","WarcraftIII","WaterPolo","WorldOfTanks","WorldOfWarcraft","PistolShooting","PistolHead2Head","ArcheryH2H","CompoundArchery","Archery","BasketballShots","Valorant","AgeofEmpires","ApexLegends","ArenaOfValor","Artifact","CallOfDuty","CounterStrike2","CrossFire","FreeFire","Halo","KingOfGlory","Overwatch2","Quake","RainbowSix","RocketLeague","Vaingloory","MobileLegends","Leaderboards","Place1st","Place2nd","Place3rd","TRASNSLATION_KEYS_BY_GAME_STATE","gamesWithNewData","ArcheryH2HSportAlias","CompoundArcherySportAlias","getGameCurrentState","gState","gTime","additional_data","additionalData","currentSport","compactView","shootOffSet","matchState","currentSet","getPeriodName","periodName","periodNumber","isNaN","ordinal","num","suf","dayjs","MILLISECONDS_IN_SECOND","dateFormat","date","DT","shortDate","time","checkGameState","getEsportCurrentMapName","additionalInfoData","currentMapRule","getMapName","ordinalDefault","mapNumber","mapName","withoutNumber","_createClass3","_interopRequireDefault","require","_extends3","_classCallCheck3","_possibleConstructorReturn3","_inherits3","React","obj","__esModule","newObj","prototype","hasOwnProperty","_interopRequireWildcard","_rmcTabs","DefaultTabBar","_RMCDefaultTabBar","__proto__","getPrototypeOf","apply","defaultProps","prefixCls","Tabs","_React$PureComponent","_this2","renderTab","createElement","PureComponent","exports","module","instance","Constructor","TypeError","_defineProperty","_defineProperty2","default","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_assign","_assign2","_getPrototypeOf2","_getOwnPropertyDescriptor2","get","object","property","receiver","Function","desc","getter","_setPrototypeOf2","_create2","_typeof3","subClass","superClass","constructor","_typeof2","self","ReferenceError","_iterator2","_symbol2","_typeof","$Object","P","D","create","it","defineProperty","getOwnPropertyDescriptor","isObject","toIObject","toLength","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","O","core","version","__e","aFunction","fn","that","a","b","c","is","split","getKeys","gOPS","pIE","getSymbols","f","symbols","isEnum","global","ctx","hide","has","PROTOTYPE","$export","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","virtual","R","U","exec","e","Math","__g","dP","createDesc","cof","propertyIsEnumerable","arg","setToStringTag","IteratorPrototype","NAME","next","LIBRARY","redefine","Iterators","$iterCreate","ITERATOR","BUGGY","KEYS","VALUES","returnThis","Base","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","done","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","KEY","NEED","fastKey","getWeak","onFreeze","DESCRIPTORS","toObject","IObject","$assign","assign","A","Symbol","K","T","aLen","j","anObject","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","src","contentWindow","write","lt","close","Properties","IE8_DOM_DEFINE","toPrimitive","Attributes","gOPD","gOPN","windowNames","getOwnPropertyNames","getWindowNames","$keys","hiddenKeys","getOwnPropertySymbols","ObjectProto","arrayIndexOf","fails","exp","bitmap","check","set","setPrototypeOf","buggy","def","tag","stat","shared","uid","SHARED","store","copyright","toInteger","defined","TO_STRING","pos","s","String","l","charCodeAt","charAt","min","ceil","floor","valueOf","px","random","wksExt","$Symbol","USE_SYMBOL","addToUnscopables","step","iterated","_t","_i","_k","Arguments","$getOwnPropertyDescriptor","$getPrototypeOf","$at","point","$fails","wks","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","TO_STRING_TAG","DOMIterables","Collection","PRESS","SWIPE","_calcTriangleDistance","x","y","sqrt","_calcAngle","radian","atan2","PI","now","Date","calcMutliFingerStatus","touches","_touches$","x1","y1","_touches$2","deltaX","deltaY","z","angle","getEventName","prefix","toUpperCase","getDirectionEventName","direction","directionMap","all","DIRECTION_HORIZONTAL","vertical","DIRECTION_UP","horizontal","DIRECTION_LEFT","Gesture","_Component","_classCallCheck","_this","_possibleConstructorReturn","state","triggerEvent","cb","getGestureState","triggerCombineEvent","mainEventName","eventStatus","_len2","_key2","triggerSubEvent","_len3","_key3","subEventName","triggerPinchEvent","_len4","_key4","scale","gesture","initPressTimer","cleanPressTimer","pressTimer","setGestureState","press","preTouches","_extends","cleanGestureState","getTouches","screenX","screenY","triggerUserCb","cbName","_handleTouchStart","preventDefault","initGestureStatus","checkIfMultiTouchStart","startTouches","startTime","startMutliFingerStatus","mutliFingerStatus","srcEvent","_this$props","enablePinch","enableRotate","pinch","rotate","rotation","_handleTouchMove","updateGestureStatus","checkIfSingleTouchMove","checkIfMultiTouchMove","_this$gesture","startAngle","calcRotation","allowGesture","directionSetting","_this$gesture2","pan","moveStatus","_this$gesture2$availa","availablePan","point1","point2","abs","getMovingDirection","eventName","checkIfMultiTouchEnd","_this$gesture3","_this$gesture4","_startTouches$","_touches$3","deltaZ","velocity","calcMoveStatus","_handleTouchEnd","doSingleTouchEnd","_handleTouchCancel","triggerAllowEvent","_this$gesture5","swipe","delta","shouldTriggerSwipe","directionEvName","getTouchAction","_this$props2","_inherits","_createClass","child","only","touchAction","onTouchStart","onTouchMove","onTouchCancel","onTouchEnd","Component","getTransformPropValue","transform","WebkitTransform","MozTransform","getPxStyle","unit","setPxStyle","setTransform","webkitTransform","mozTransform","__rest","TabPane","offsetX","offsetY","setLayout","layout","nextProps","scrollLeft","scrollTop","_a","fixX","fixY","StateType","isMoving","showPrev","showNext","onPan","lastOffset","finalOffset","onPanStart","setState","onPanMove","isVertical","isTabBarVertical","clientWidth","getLastOffset","canScrollOffset","scrollWidth","onPanEnd","setCurrentOffset","getTransformByIndex","_props$page","getTabSize","center","skipSize","onPress","onTabClick","tabBarPosition","tabBarTextStyle","tabBarActiveTextColor","tabBarInactiveTextColor","instanceId","textStyle","cls","ariaSelected","role","setContentLayout","tabLength","_props","_props$tabs","_props$page2","_props$activeTab","tabBarBackgroundColor","tabBarUnderlineStyle","renderUnderline","_state","needScroll","backgroundColor","transformStyle","underlineProps","tabCache","isTabVertical","tabDirection","shouldRenderTab","idx","_this$props$prerender","_this$state$currentTa","currentTab","getOffsetIndex","threshold","distanceToChangeTab","ratio","round","getSubElements","subElements","defaultPrefix","allPrefix","getTabIndex","nextCurrentTab","param","prevCurrentTab","force","newState","tabClickGoToTab","bind","tabBarProps","elements","component","usePaged","_BaseStateType","contentPos","panDirection","getPanDirection","_this2$props","useLeftInsteadTransform","offsetIndex","getContentPosByIndex","onSwipe","_this2$props2","_get","useLeft","_this3","contentCls","contentStyle","getTabBarBaseProps","getSubElement","_props2","useOnPan","noRenderContent","renderContent","reverse"],"sourceRoot":""}