{"version":3,"file":"static/js/main-e8ee3528-271584cb32bc24510e66.js","mappings":"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","sources":["webpack://leadsbridge/./node_modules/react-icons/lib/esm/iconBase.js","webpack://leadsbridge/./node_modules/react-icons/lib/esm/iconContext.js","webpack://leadsbridge/./node_modules/react-input-verification-code/src/styles.ts","webpack://leadsbridge/./node_modules/react-input-verification-code/src/index.tsx","webpack://leadsbridge/./node_modules/react-is/cjs/react-is.production.min.js","webpack://leadsbridge/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://leadsbridge/./node_modules/react-modal/lib/components/Modal.js","webpack://leadsbridge/./node_modules/react-modal/lib/components/ModalPortal.js","webpack://leadsbridge/./node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack://leadsbridge/./node_modules/react-modal/lib/helpers/bodyTrap.js","webpack://leadsbridge/./node_modules/react-modal/lib/helpers/classList.js","webpack://leadsbridge/./node_modules/react-modal/lib/helpers/focusManager.js","webpack://leadsbridge/./node_modules/react-modal/lib/helpers/portalOpenInstances.js","webpack://leadsbridge/./node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack://leadsbridge/./node_modules/react-modal/lib/helpers/scopeTab.js","webpack://leadsbridge/./node_modules/react-modal/lib/helpers/tabbable.js","webpack://leadsbridge/./node_modules/react-player/lib/Player.js","webpack://leadsbridge/./node_modules/react-player/lib/Preview.js","webpack://leadsbridge/./node_modules/react-player/lib/ReactPlayer.js","webpack://leadsbridge/./node_modules/react-player/lib/patterns.js","webpack://leadsbridge/./node_modules/react-player/lib/players/DailyMotion.js","webpack://leadsbridge/./node_modules/react-player/lib/players/Facebook.js","webpack://leadsbridge/./node_modules/react-player/lib/players/FilePlayer.js","webpack://leadsbridge/./node_modules/react-player/lib/players/Kaltura.js","webpack://leadsbridge/./node_modules/react-player/lib/players/Mixcloud.js","webpack://leadsbridge/./node_modules/react-player/lib/players/SoundCloud.js","webpack://leadsbridge/./node_modules/react-player/lib/players/Streamable.js","webpack://leadsbridge/./node_modules/react-player/lib/players/Twitch.js","webpack://leadsbridge/./node_modules/react-player/lib/players/Vidyard.js","webpack://leadsbridge/./node_modules/react-player/lib/players/Vimeo.js","webpack://leadsbridge/./node_modules/react-player/lib/players/Wistia.js","webpack://leadsbridge/./node_modules/react-player/lib/players/YouTube.js","webpack://leadsbridge/./node_modules/react-player/lib/props.js","webpack://leadsbridge/./node_modules/react-query/es/core/focusManager.js","webpack://leadsbridge/./node_modules/react-query/es/core/logger.js","webpack://leadsbridge/./node_modules/react-query/es/core/mutation.js","webpack://leadsbridge/./node_modules/react-query/es/core/notifyManager.js","webpack://leadsbridge/./node_modules/react-query/es/core/onlineManager.js","webpack://leadsbridge/./node_modules/react-query/es/core/query.js","webpack://leadsbridge/./node_modules/react-query/es/core/queryCache.js","webpack://leadsbridge/./node_modules/react-query/es/core/mutationCache.js","webpack://leadsbridge/./node_modules/react-query/es/core/infiniteQueryBehavior.js","webpack://leadsbridge/./node_modules/react-query/es/core/queryClient.js","webpack://leadsbridge/./node_modules/react-query/es/core/retryer.js","webpack://leadsbridge/./node_modules/react-query/es/core/subscribable.js","webpack://leadsbridge/./node_modules/react-query/es/react/QueryClientProvider.js","webpack://leadsbridge/./node_modules/react-query/es/react/setBatchUpdatesFn.js","webpack://leadsbridge/./node_modules/react-query/es/react/reactBatchedUpdates.js","webpack://leadsbridge/./node_modules/react-query/es/react/logger.js","webpack://leadsbridge/./node_modules/react-query/es/react/setLogger.js","webpack://leadsbridge/./node_modules/react-query/es/core/mutationObserver.js","webpack://leadsbridge/./node_modules/react-query/es/react/useMutation.js","webpack://leadsbridge/./node_modules/react-query/es/core/queryObserver.js","webpack://leadsbridge/./node_modules/react-query/es/react/QueryErrorResetBoundary.js","webpack://leadsbridge/./node_modules/react-query/es/react/useBaseQuery.js","webpack://leadsbridge/./node_modules/react-query/es/react/useQuery.js","webpack://leadsbridge/./node_modules/react-redux/es/components/Context.js","webpack://leadsbridge/./node_modules/react-redux/es/components/Provider.js","webpack://leadsbridge/./node_modules/react-redux/es/hooks/useDispatch.js","webpack://leadsbridge/./node_modules/react-redux/es/hooks/useReduxContext.js","webpack://leadsbridge/./node_modules/react-redux/es/hooks/useSelector.js","webpack://leadsbridge/./node_modules/react-redux/es/hooks/useStore.js","webpack://leadsbridge/./node_modules/react-redux/es/utils/Subscription.js","webpack://leadsbridge/./node_modules/react-redux/es/utils/batch.js","webpack://leadsbridge/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://leadsbridge/./node_modules/react-query/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://leadsbridge/./node_modules/react-query/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://leadsbridge/./node_modules/react-query/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"],"sourcesContent":["var __assign = this && this.__assign || function () {\n  __assign = Object.assign || function (t) {\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\n      s = arguments[i];\n\n      for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n    }\n\n    return t;\n  };\n\n  return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n  var t = {};\n\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\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 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n  }\n  return t;\n};\n\nimport React from 'react';\nimport { IconContext, DefaultContext } from './iconContext';\n\nfunction Tree2Element(tree) {\n  return tree && tree.map(function (node, i) {\n    return React.createElement(node.tag, __assign({\n      key: i\n    }, node.attr), Tree2Element(node.child));\n  });\n}\n\nexport function GenIcon(data) {\n  return function (props) {\n    return React.createElement(IconBase, __assign({\n      attr: __assign({}, data.attr)\n    }, props), Tree2Element(data.child));\n  };\n}\nexport function IconBase(props) {\n  var elem = function (conf) {\n    var attr = props.attr,\n        size = props.size,\n        title = props.title,\n        svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n\n    var computedSize = size || conf.size || \"1em\";\n    var className;\n    if (conf.className) className = conf.className;\n    if (props.className) className = (className ? className + ' ' : '') + props.className;\n    return React.createElement(\"svg\", __assign({\n      stroke: \"currentColor\",\n      fill: \"currentColor\",\n      strokeWidth: \"0\"\n    }, conf.attr, attr, svgProps, {\n      className: className,\n      style: __assign(__assign({\n        color: props.color || conf.color\n      }, conf.style), props.style),\n      height: computedSize,\n      width: computedSize,\n      xmlns: \"http://www.w3.org/2000/svg\"\n    }), title && React.createElement(\"title\", null, title), props.children);\n  };\n\n  return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n    return elem(conf);\n  }) : elem(DefaultContext);\n}","import React from 'react';\nexport var DefaultContext = {\n  color: undefined,\n  size: undefined,\n  className: undefined,\n  style: undefined,\n  attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","import styled, { createGlobalStyle } from 'styled-components';\n\nexport const GlobalStyle = createGlobalStyle`\n  :root {\n    --ReactInputVerificationCode-itemWidth: 4.5rem;\n    --ReactInputVerificationCode-itemHeight: 5rem;\n    --ReactInputVerificationCode-itemSpacing: 1rem;\n  }\n`;\n\ninterface ContainerProps {\n  itemsCount: number;\n}\n\nexport const Container = styled.div<ContainerProps>`\n  display: flex;\n  position: relative;\n  justify-content: space-between;\n  width: ${({ itemsCount }) =>\n    `calc(\n      var(--ReactInputVerificationCode-itemWidth) * ${itemsCount}\n      + var(--ReactInputVerificationCode-itemSpacing) * (${itemsCount} - 1)\n    )`};\n`;\n\ninterface InputProps {\n  activeIndex: number;\n}\n\nexport const Input = styled.input<InputProps>`\n  position: absolute;\n  top: 0;\n  left: ${({ activeIndex }) =>\n    `calc(\n      var(--ReactInputVerificationCode-itemWidth) * ${activeIndex}\n      + var(--ReactInputVerificationCode-itemSpacing) * ${activeIndex}\n    )`};\n  opacity: 0;\n  width: var(--ReactInputVerificationCode-itemWidth);\n  height: var(--ReactInputVerificationCode-itemHeight);\n`;\n\nexport const Item = styled.div`\n  width: var(--ReactInputVerificationCode-itemWidth);\n  height: var(--ReactInputVerificationCode-itemHeight);\n  padding: 0;\n  border-radius: 4px;\n  font-size: 1.5rem;\n  font-weight: 800;\n  line-height: var(--ReactInputVerificationCode-itemHeight);\n  text-align: center;\n  border: 0;\n  box-shadow: inset 0 0 0 1px #ccc;\n  transition: box-shadow 0.2s ease-out;\n\n  &.is-active {\n    box-shadow: inset 0 0 0 2px #888;\n  }\n`;\n","import * as React from 'react';\nimport * as S from './styles';\n\nconst KEY_CODE = {\n  BACKSPACE: 8,\n  ARROW_LEFT: 37,\n  ARROW_RIGHT: 39,\n  DELETE: 46,\n};\n\nexport interface ReactInputVerificationCodeProps {\n  autoFocus?: boolean;\n  length?: number;\n  onChange?: (data: string) => void;\n  onCompleted?: (data: string) => void;\n  placeholder?: string;\n  value?: string;\n  dataCy?: string;\n  type?: 'text' | 'password';\n  passwordMask?: string;\n}\n\nconst ReactInputVerificationCode = ({\n  autoFocus = false,\n  length = 4,\n  onChange = () => {},\n  onCompleted = () => {},\n  placeholder = '·',\n  value: pValue,\n  dataCy = 'verification-code',\n  type = 'text',\n  passwordMask = '•',\n}: ReactInputVerificationCodeProps) => {\n  const emptyValue = new Array(length).fill(placeholder);\n\n  const [activeIndex, setActiveIndex] = React.useState<number>(-1);\n  const [value, setValue] = React.useState<string[]>(\n    pValue ? pValue.split('') : emptyValue\n  );\n\n  const codeInputRef = React.createRef<HTMLInputElement>();\n  const itemsRef = React.useMemo(\n    () =>\n      new Array(length).fill(null).map(() => React.createRef<HTMLDivElement>()),\n    [length]\n  );\n\n  const isCodeRegex = new RegExp(`^[0-9]{${length}}$`);\n\n  const getItem = (index: number) => itemsRef[index]?.current;\n  const focusItem = (index: number): void => getItem(index)?.focus();\n  const blurItem = (index: number): void => getItem(index)?.blur();\n\n  const onItemFocus = (index: number) => () => {\n    setActiveIndex(index);\n    if (codeInputRef.current) codeInputRef.current.focus();\n  };\n\n  const onInputKeyUp = ({ key, keyCode }: React.KeyboardEvent) => {\n    const newValue = [...value];\n    const nextIndex = activeIndex + 1;\n    const prevIndex = activeIndex - 1;\n\n    const codeInput = codeInputRef.current;\n    const currentItem = getItem(activeIndex);\n\n    const isLast = nextIndex === length;\n    const isDeleting =\n      keyCode === KEY_CODE.DELETE || keyCode === KEY_CODE.BACKSPACE;\n\n    // keep items focus in sync\n    onItemFocus(activeIndex);\n\n    // on delete, replace the current value\n    // and focus on the previous item\n    if (isDeleting) {\n      newValue[activeIndex] = placeholder;\n      setValue(newValue);\n\n      if (activeIndex > 0) {\n        setActiveIndex(prevIndex);\n        focusItem(prevIndex);\n      }\n\n      return;\n    }\n\n    // if the key pressed is not a number\n    // don't do anything\n    if (Number.isNaN(+key)) return;\n\n    // reset the current value\n    // and set the new one\n    if (codeInput) codeInput.value = '';\n    newValue[activeIndex] = key;\n    setValue(newValue);\n\n    if (!isLast) {\n      setActiveIndex(nextIndex);\n      focusItem(nextIndex);\n      return;\n    }\n\n    if (codeInput) codeInput.blur();\n    if (currentItem) currentItem.blur();\n\n    setActiveIndex(-1);\n  };\n\n  // handle mobile autocompletion\n  const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    const { value: changeValue } = e.target;\n    const isCode = isCodeRegex.test(changeValue);\n\n    if (!isCode) return;\n\n    setValue(changeValue.split(''));\n    blurItem(activeIndex);\n  };\n\n  const onInputBlur = () => {\n    // https://github.com/ugogo/react-input-verification-code/issues/1\n    if (activeIndex === -1) return;\n\n    blurItem(activeIndex);\n    setActiveIndex(-1);\n  };\n\n  // autoFocus\n  React.useEffect(() => {\n    if (autoFocus && itemsRef[0].current) {\n      itemsRef[0].current.focus();\n    }\n  }, []);\n\n  // handle pasting\n  React.useEffect(() => {\n    const codeInput = codeInputRef.current;\n    if (!codeInput) return;\n\n    const onPaste = (e: ClipboardEvent) => {\n      e.preventDefault();\n\n      const pastedString = e.clipboardData?.getData('text');\n      if (!pastedString) return;\n\n      const isNumber = /^\\d+$/.test(pastedString);\n      if (isNumber) setValue(pastedString.split('').slice(0, length));\n    };\n\n    codeInput.addEventListener('paste', onPaste);\n    return () => codeInput.removeEventListener('paste', onPaste);\n  }, []);\n\n  React.useEffect(() => {\n    const stringValue = value.join('');\n    const isCompleted = stringValue.length === length;\n\n    if (isCompleted && stringValue !== emptyValue.join(''))\n      onCompleted(stringValue);\n    onChange(stringValue);\n  }, [value, length]);\n\n  React.useEffect(() => {\n    if (typeof pValue !== 'string') return;\n\n    // avoid infinite loop\n    if (pValue === '' && value.join('') === emptyValue.join('')) return;\n\n    // keep internal and external states in sync\n    if (pValue !== value.join('')) setValue(pValue.split(''));\n  }, [pValue]);\n\n  const renderItemText = (itemValue: string) => {\n    if (itemValue === placeholder) return placeholder;\n    return type === 'password' ? passwordMask : itemValue;\n  };\n\n  return (\n    <React.Fragment>\n      <S.GlobalStyle />\n\n      <S.Container\n        className='ReactInputVerificationCode__container'\n        // needed for styling\n        itemsCount={length}\n      >\n        <S.Input\n          ref={codeInputRef}\n          className='ReactInputVerificationCode__input'\n          autoComplete='one-time-code'\n          type='text'\n          inputMode='decimal'\n          id='one-time-code'\n          // use onKeyUp rather than onChange for a better control\n          // onChange is still needed to handle the autocompletion\n          // when receiving a code by SMS\n          onChange={onInputChange}\n          onKeyUp={onInputKeyUp}\n          onBlur={onInputBlur}\n          // needed for styling\n          activeIndex={activeIndex}\n          data-cy={`${dataCy}-otc-input`}\n        />\n\n        {itemsRef.map((ref, i) => (\n          <S.Item\n            key={i}\n            ref={ref}\n            role='button'\n            tabIndex={0}\n            className={`ReactInputVerificationCode__item ${\n              value[i] !== placeholder ? 'is-filled' : ''\n            } ${i === activeIndex ? 'is-active' : ''}`}\n            onFocus={onItemFocus(i)}\n            data-cy={`${dataCy}-${i}-item`}\n          >\n            {renderItemText(value[i])}\n          </S.Item>\n        ))}\n      </S.Container>\n    </React.Fragment>\n  );\n};\n\nexport default ReactInputVerificationCode;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n  // Call this.constructor.gDSFP to support sub-classes.\n  var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n  if (state !== null && state !== undefined) {\n    this.setState(state);\n  }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n  // Call this.constructor.gDSFP to support sub-classes.\n  // Use the setState() updater to ensure state isn't stale in certain edge cases.\n  function updater(prevState) {\n    var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n    return state !== null && state !== undefined ? state : null;\n  }\n  // Binding \"this\" is important for shallow renderer support.\n  this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n  try {\n    var prevProps = this.props;\n    var prevState = this.state;\n    this.props = nextProps;\n    this.state = nextState;\n    this.__reactInternalSnapshotFlag = true;\n    this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n      prevProps,\n      prevState\n    );\n  } finally {\n    this.props = prevProps;\n    this.state = prevState;\n  }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n  var prototype = Component.prototype;\n\n  if (!prototype || !prototype.isReactComponent) {\n    throw new Error('Can only polyfill class components');\n  }\n\n  if (\n    typeof Component.getDerivedStateFromProps !== 'function' &&\n    typeof prototype.getSnapshotBeforeUpdate !== 'function'\n  ) {\n    return Component;\n  }\n\n  // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n  // Error if any of these lifecycles are present,\n  // Because they would work differently between older and newer (16.3+) versions of React.\n  var foundWillMountName = null;\n  var foundWillReceivePropsName = null;\n  var foundWillUpdateName = null;\n  if (typeof prototype.componentWillMount === 'function') {\n    foundWillMountName = 'componentWillMount';\n  } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n    foundWillMountName = 'UNSAFE_componentWillMount';\n  }\n  if (typeof prototype.componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'componentWillReceiveProps';\n  } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n  }\n  if (typeof prototype.componentWillUpdate === 'function') {\n    foundWillUpdateName = 'componentWillUpdate';\n  } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n    foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n  }\n  if (\n    foundWillMountName !== null ||\n    foundWillReceivePropsName !== null ||\n    foundWillUpdateName !== null\n  ) {\n    var componentName = Component.displayName || Component.name;\n    var newApiName =\n      typeof Component.getDerivedStateFromProps === 'function'\n        ? 'getDerivedStateFromProps()'\n        : 'getSnapshotBeforeUpdate()';\n\n    throw Error(\n      'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n        componentName +\n        ' uses ' +\n        newApiName +\n        ' but also contains the following legacy lifecycles:' +\n        (foundWillMountName !== null ? '\\n  ' + foundWillMountName : '') +\n        (foundWillReceivePropsName !== null\n          ? '\\n  ' + foundWillReceivePropsName\n          : '') +\n        (foundWillUpdateName !== null ? '\\n  ' + foundWillUpdateName : '') +\n        '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n        'https://fb.me/react-async-component-lifecycle-hooks'\n    );\n  }\n\n  // React <= 16.2 does not support static getDerivedStateFromProps.\n  // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n  // Newer versions of React will ignore these lifecycles if gDSFP exists.\n  if (typeof Component.getDerivedStateFromProps === 'function') {\n    prototype.componentWillMount = componentWillMount;\n    prototype.componentWillReceiveProps = componentWillReceiveProps;\n  }\n\n  // React <= 16.2 does not support getSnapshotBeforeUpdate.\n  // As a workaround, use cWU to invoke the new lifecycle.\n  // Newer versions of React will ignore that lifecycle if gSBU exists.\n  if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n    if (typeof prototype.componentDidUpdate !== 'function') {\n      throw new Error(\n        'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n      );\n    }\n\n    prototype.componentWillUpdate = componentWillUpdate;\n\n    var componentDidUpdate = prototype.componentDidUpdate;\n\n    prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n      prevProps,\n      prevState,\n      maybeSnapshot\n    ) {\n      // 16.3+ will not execute our will-update method;\n      // It will pass a snapshot value to did-update though.\n      // Older versions will require our polyfilled will-update value.\n      // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n      // Because for <= 15.x versions this might be a \"prevContext\" object.\n      // We also can't just check \"__reactInternalSnapshot\",\n      // Because get-snapshot might return a falsy value.\n      // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n      var snapshot = this.__reactInternalSnapshotFlag\n        ? this.__reactInternalSnapshot\n        : maybeSnapshot;\n\n      componentDidUpdate.call(this, prevProps, prevState, snapshot);\n    };\n  }\n\n  return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar createHTMLElement = function createHTMLElement(name) {\n  return document.createElement(name);\n};\n\nvar getCreatePortal = function getCreatePortal() {\n  return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n  return parentSelector();\n}\n\nvar Modal = function (_Component) {\n  _inherits(Modal, _Component);\n\n  function Modal() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    _classCallCheck(this, Modal);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n      !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n      var parent = getParentElement(_this.props.parentSelector);\n      if (parent && parent.contains(_this.node)) {\n        parent.removeChild(_this.node);\n      } else {\n        // eslint-disable-next-line no-console\n        console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n      }\n    }, _this.portalRef = function (ref) {\n      _this.portal = ref;\n    }, _this.renderPortal = function (props) {\n      var createPortal = getCreatePortal();\n      var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n      _this.portalRef(portal);\n    }, _temp), _possibleConstructorReturn(_this, _ret);\n  }\n\n  _createClass(Modal, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      if (!_safeHTMLElement.canUseDOM) return;\n\n      if (!isReact16) {\n        this.node = createHTMLElement(\"div\");\n      }\n      this.node.className = this.props.portalClassName;\n\n      var parent = getParentElement(this.props.parentSelector);\n      parent.appendChild(this.node);\n\n      !isReact16 && this.renderPortal(this.props);\n    }\n  }, {\n    key: \"getSnapshotBeforeUpdate\",\n    value: function getSnapshotBeforeUpdate(prevProps) {\n      var prevParent = getParentElement(prevProps.parentSelector);\n      var nextParent = getParentElement(this.props.parentSelector);\n      return { prevParent: prevParent, nextParent: nextParent };\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps, _, snapshot) {\n      if (!_safeHTMLElement.canUseDOM) return;\n      var _props = this.props,\n          isOpen = _props.isOpen,\n          portalClassName = _props.portalClassName;\n\n\n      if (prevProps.portalClassName !== portalClassName) {\n        this.node.className = portalClassName;\n      }\n\n      var prevParent = snapshot.prevParent,\n          nextParent = snapshot.nextParent;\n\n      if (nextParent !== prevParent) {\n        prevParent.removeChild(this.node);\n        nextParent.appendChild(this.node);\n      }\n\n      // Stop unnecessary renders if modal is remaining closed\n      if (!prevProps.isOpen && !isOpen) return;\n\n      !isReact16 && this.renderPortal(this.props);\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n      var state = this.portal.state;\n      var now = Date.now();\n      var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n      if (closesAt) {\n        if (!state.beforeClose) {\n          this.portal.closeWithTimeout();\n        }\n\n        setTimeout(this.removePortal, closesAt - now);\n      } else {\n        this.removePortal();\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      if (!_safeHTMLElement.canUseDOM || !isReact16) {\n        return null;\n      }\n\n      if (!this.node && isReact16) {\n        this.node = createHTMLElement(\"div\");\n      }\n\n      var createPortal = getCreatePortal();\n      return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n        ref: this.portalRef,\n        defaultStyles: Modal.defaultStyles\n      }, this.props)), this.node);\n    }\n  }], [{\n    key: \"setAppElement\",\n    value: function setAppElement(element) {\n      ariaAppHider.setElement(element);\n    }\n\n    /* eslint-disable react/no-unused-prop-types */\n\n    /* eslint-enable react/no-unused-prop-types */\n\n  }]);\n\n  return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n  isOpen: _propTypes2.default.bool.isRequired,\n  style: _propTypes2.default.shape({\n    content: _propTypes2.default.object,\n    overlay: _propTypes2.default.object\n  }),\n  portalClassName: _propTypes2.default.string,\n  bodyOpenClassName: _propTypes2.default.string,\n  htmlOpenClassName: _propTypes2.default.string,\n  className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n    base: _propTypes2.default.string.isRequired,\n    afterOpen: _propTypes2.default.string.isRequired,\n    beforeClose: _propTypes2.default.string.isRequired\n  })]),\n  overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n    base: _propTypes2.default.string.isRequired,\n    afterOpen: _propTypes2.default.string.isRequired,\n    beforeClose: _propTypes2.default.string.isRequired\n  })]),\n  appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n  onAfterOpen: _propTypes2.default.func,\n  onRequestClose: _propTypes2.default.func,\n  closeTimeoutMS: _propTypes2.default.number,\n  ariaHideApp: _propTypes2.default.bool,\n  shouldFocusAfterRender: _propTypes2.default.bool,\n  shouldCloseOnOverlayClick: _propTypes2.default.bool,\n  shouldReturnFocusAfterClose: _propTypes2.default.bool,\n  preventScroll: _propTypes2.default.bool,\n  parentSelector: _propTypes2.default.func,\n  aria: _propTypes2.default.object,\n  data: _propTypes2.default.object,\n  role: _propTypes2.default.string,\n  contentLabel: _propTypes2.default.string,\n  shouldCloseOnEsc: _propTypes2.default.bool,\n  overlayRef: _propTypes2.default.func,\n  contentRef: _propTypes2.default.func,\n  id: _propTypes2.default.string,\n  overlayElement: _propTypes2.default.func,\n  contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n  isOpen: false,\n  portalClassName: portalClassName,\n  bodyOpenClassName: bodyOpenClassName,\n  role: \"dialog\",\n  ariaHideApp: true,\n  closeTimeoutMS: 0,\n  shouldFocusAfterRender: true,\n  shouldCloseOnEsc: true,\n  shouldCloseOnOverlayClick: true,\n  shouldReturnFocusAfterClose: true,\n  preventScroll: false,\n  parentSelector: function parentSelector() {\n    return document.body;\n  },\n  overlayElement: function overlayElement(props, contentEl) {\n    return _react2.default.createElement(\n      \"div\",\n      props,\n      contentEl\n    );\n  },\n  contentElement: function contentElement(props, children) {\n    return _react2.default.createElement(\n      \"div\",\n      props,\n      children\n    );\n  }\n};\nModal.defaultStyles = {\n  overlay: {\n    position: \"fixed\",\n    top: 0,\n    left: 0,\n    right: 0,\n    bottom: 0,\n    backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n  },\n  content: {\n    position: \"absolute\",\n    top: \"40px\",\n    left: \"40px\",\n    right: \"40px\",\n    bottom: \"40px\",\n    border: \"1px solid #ccc\",\n    background: \"#fff\",\n    overflow: \"auto\",\n    WebkitOverflowScrolling: \"touch\",\n    borderRadius: \"4px\",\n    outline: \"none\",\n    padding: \"20px\"\n  }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nif (process.env.NODE_ENV !== \"production\") {\n  Modal.setCreateHTMLElement = function (fn) {\n    return createHTMLElement = fn;\n  };\n}\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n  overlay: \"ReactModal__Overlay\",\n  content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n  _inherits(ModalPortal, _Component);\n\n  function ModalPortal(props) {\n    _classCallCheck(this, ModalPortal);\n\n    var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n    _this.setOverlayRef = function (overlay) {\n      _this.overlay = overlay;\n      _this.props.overlayRef && _this.props.overlayRef(overlay);\n    };\n\n    _this.setContentRef = function (content) {\n      _this.content = content;\n      _this.props.contentRef && _this.props.contentRef(content);\n    };\n\n    _this.afterClose = function () {\n      var _this$props = _this.props,\n          appElement = _this$props.appElement,\n          ariaHideApp = _this$props.ariaHideApp,\n          htmlOpenClassName = _this$props.htmlOpenClassName,\n          bodyOpenClassName = _this$props.bodyOpenClassName;\n\n      // Remove classes.\n\n      bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n      htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n      // Reset aria-hidden attribute if all modals have been removed\n      if (ariaHideApp && ariaHiddenInstances > 0) {\n        ariaHiddenInstances -= 1;\n\n        if (ariaHiddenInstances === 0) {\n          ariaAppHider.show(appElement);\n        }\n      }\n\n      if (_this.props.shouldFocusAfterRender) {\n        if (_this.props.shouldReturnFocusAfterClose) {\n          focusManager.returnFocus(_this.props.preventScroll);\n          focusManager.teardownScopedFocus();\n        } else {\n          focusManager.popWithoutFocus();\n        }\n      }\n\n      if (_this.props.onAfterClose) {\n        _this.props.onAfterClose();\n      }\n\n      _portalOpenInstances2.default.deregister(_this);\n    };\n\n    _this.open = function () {\n      _this.beforeOpen();\n      if (_this.state.afterOpen && _this.state.beforeClose) {\n        clearTimeout(_this.closeTimer);\n        _this.setState({ beforeClose: false });\n      } else {\n        if (_this.props.shouldFocusAfterRender) {\n          focusManager.setupScopedFocus(_this.node);\n          focusManager.markForFocusLater();\n        }\n\n        _this.setState({ isOpen: true }, function () {\n          _this.openAnimationFrame = requestAnimationFrame(function () {\n            _this.setState({ afterOpen: true });\n\n            if (_this.props.isOpen && _this.props.onAfterOpen) {\n              _this.props.onAfterOpen({\n                overlayEl: _this.overlay,\n                contentEl: _this.content\n              });\n            }\n          });\n        });\n      }\n    };\n\n    _this.close = function () {\n      if (_this.props.closeTimeoutMS > 0) {\n        _this.closeWithTimeout();\n      } else {\n        _this.closeWithoutTimeout();\n      }\n    };\n\n    _this.focusContent = function () {\n      return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n    };\n\n    _this.closeWithTimeout = function () {\n      var closesAt = Date.now() + _this.props.closeTimeoutMS;\n      _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n        _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n      });\n    };\n\n    _this.closeWithoutTimeout = function () {\n      _this.setState({\n        beforeClose: false,\n        isOpen: false,\n        afterOpen: false,\n        closesAt: null\n      }, _this.afterClose);\n    };\n\n    _this.handleKeyDown = function (event) {\n      if (event.keyCode === TAB_KEY) {\n        (0, _scopeTab2.default)(_this.content, event);\n      }\n\n      if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n        event.stopPropagation();\n        _this.requestClose(event);\n      }\n    };\n\n    _this.handleOverlayOnClick = function (event) {\n      if (_this.shouldClose === null) {\n        _this.shouldClose = true;\n      }\n\n      if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n        if (_this.ownerHandlesClose()) {\n          _this.requestClose(event);\n        } else {\n          _this.focusContent();\n        }\n      }\n      _this.shouldClose = null;\n    };\n\n    _this.handleContentOnMouseUp = function () {\n      _this.shouldClose = false;\n    };\n\n    _this.handleOverlayOnMouseDown = function (event) {\n      if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n        event.preventDefault();\n      }\n    };\n\n    _this.handleContentOnClick = function () {\n      _this.shouldClose = false;\n    };\n\n    _this.handleContentOnMouseDown = function () {\n      _this.shouldClose = false;\n    };\n\n    _this.requestClose = function (event) {\n      return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n    };\n\n    _this.ownerHandlesClose = function () {\n      return _this.props.onRequestClose;\n    };\n\n    _this.shouldBeClosed = function () {\n      return !_this.state.isOpen && !_this.state.beforeClose;\n    };\n\n    _this.contentHasFocus = function () {\n      return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n    };\n\n    _this.buildClassName = function (which, additional) {\n      var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n        base: CLASS_NAMES[which],\n        afterOpen: CLASS_NAMES[which] + \"--after-open\",\n        beforeClose: CLASS_NAMES[which] + \"--before-close\"\n      };\n      var className = classNames.base;\n      if (_this.state.afterOpen) {\n        className = className + \" \" + classNames.afterOpen;\n      }\n      if (_this.state.beforeClose) {\n        className = className + \" \" + classNames.beforeClose;\n      }\n      return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n    };\n\n    _this.attributesFromObject = function (prefix, items) {\n      return Object.keys(items).reduce(function (acc, name) {\n        acc[prefix + \"-\" + name] = items[name];\n        return acc;\n      }, {});\n    };\n\n    _this.state = {\n      afterOpen: false,\n      beforeClose: false\n    };\n\n    _this.shouldClose = null;\n    _this.moveFromContentToOverlay = null;\n    return _this;\n  }\n\n  _createClass(ModalPortal, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      if (this.props.isOpen) {\n        this.open();\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps, prevState) {\n      if (process.env.NODE_ENV !== \"production\") {\n        if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n          // eslint-disable-next-line no-console\n          console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n        }\n        if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n          // eslint-disable-next-line no-console\n          console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n        }\n      }\n\n      if (this.props.isOpen && !prevProps.isOpen) {\n        this.open();\n      } else if (!this.props.isOpen && prevProps.isOpen) {\n        this.close();\n      }\n\n      // Focus only needs to be set once when the modal is being opened\n      if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n        this.focusContent();\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.state.isOpen) {\n        this.afterClose();\n      }\n      clearTimeout(this.closeTimer);\n      cancelAnimationFrame(this.openAnimationFrame);\n    }\n  }, {\n    key: \"beforeOpen\",\n    value: function beforeOpen() {\n      var _props = this.props,\n          appElement = _props.appElement,\n          ariaHideApp = _props.ariaHideApp,\n          htmlOpenClassName = _props.htmlOpenClassName,\n          bodyOpenClassName = _props.bodyOpenClassName;\n\n      // Add classes.\n\n      bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n      htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n      if (ariaHideApp) {\n        ariaHiddenInstances += 1;\n        ariaAppHider.hide(appElement);\n      }\n\n      _portalOpenInstances2.default.register(this);\n    }\n\n    // Don't steal focus from inner elements\n\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _props2 = this.props,\n          id = _props2.id,\n          className = _props2.className,\n          overlayClassName = _props2.overlayClassName,\n          defaultStyles = _props2.defaultStyles,\n          children = _props2.children;\n\n      var contentStyles = className ? {} : defaultStyles.content;\n      var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n      if (this.shouldBeClosed()) {\n        return null;\n      }\n\n      var overlayProps = {\n        ref: this.setOverlayRef,\n        className: this.buildClassName(\"overlay\", overlayClassName),\n        style: _extends({}, overlayStyles, this.props.style.overlay),\n        onClick: this.handleOverlayOnClick,\n        onMouseDown: this.handleOverlayOnMouseDown\n      };\n\n      var contentProps = _extends({\n        id: id,\n        ref: this.setContentRef,\n        style: _extends({}, contentStyles, this.props.style.content),\n        className: this.buildClassName(\"content\", className),\n        tabIndex: \"-1\",\n        onKeyDown: this.handleKeyDown,\n        onMouseDown: this.handleContentOnMouseDown,\n        onMouseUp: this.handleContentOnMouseUp,\n        onClick: this.handleContentOnClick,\n        role: this.props.role,\n        \"aria-label\": this.props.contentLabel\n      }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n        \"data-testid\": this.props.testId\n      });\n\n      var contentElement = this.props.contentElement(contentProps, children);\n      return this.props.overlayElement(overlayProps, contentElement);\n    }\n  }]);\n\n  return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n  style: {\n    overlay: {},\n    content: {}\n  },\n  defaultStyles: {}\n};\nModalPortal.propTypes = {\n  isOpen: _propTypes2.default.bool.isRequired,\n  defaultStyles: _propTypes2.default.shape({\n    content: _propTypes2.default.object,\n    overlay: _propTypes2.default.object\n  }),\n  style: _propTypes2.default.shape({\n    content: _propTypes2.default.object,\n    overlay: _propTypes2.default.object\n  }),\n  className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n  overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n  bodyOpenClassName: _propTypes2.default.string,\n  htmlOpenClassName: _propTypes2.default.string,\n  ariaHideApp: _propTypes2.default.bool,\n  appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n  onAfterOpen: _propTypes2.default.func,\n  onAfterClose: _propTypes2.default.func,\n  onRequestClose: _propTypes2.default.func,\n  closeTimeoutMS: _propTypes2.default.number,\n  shouldFocusAfterRender: _propTypes2.default.bool,\n  shouldCloseOnOverlayClick: _propTypes2.default.bool,\n  shouldReturnFocusAfterClose: _propTypes2.default.bool,\n  preventScroll: _propTypes2.default.bool,\n  role: _propTypes2.default.string,\n  contentLabel: _propTypes2.default.string,\n  aria: _propTypes2.default.object,\n  data: _propTypes2.default.object,\n  children: _propTypes2.default.node,\n  shouldCloseOnEsc: _propTypes2.default.bool,\n  overlayRef: _propTypes2.default.func,\n  contentRef: _propTypes2.default.func,\n  id: _propTypes2.default.string,\n  overlayElement: _propTypes2.default.func,\n  contentElement: _propTypes2.default.func,\n  testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n  if (globalElement) {\n    if (globalElement.removeAttribute) {\n      globalElement.removeAttribute(\"aria-hidden\");\n    } else if (globalElement.length != null) {\n      globalElement.forEach(function (element) {\n        return element.removeAttribute(\"aria-hidden\");\n      });\n    } else {\n      document.querySelectorAll(globalElement).forEach(function (element) {\n        return element.removeAttribute(\"aria-hidden\");\n      });\n    }\n  }\n  globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n  if (process.env.NODE_ENV !== \"production\") {\n    var check = globalElement || {};\n    console.log(\"ariaAppHider ----------\");\n    console.log(check.nodeName, check.className, check.id);\n    console.log(\"end ariaAppHider ----------\");\n  }\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n  if (!nodeList || !nodeList.length) {\n    throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n  }\n}\n\nfunction setElement(element) {\n  var useElement = element;\n  if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n    var el = document.querySelectorAll(useElement);\n    assertNodeList(el, useElement);\n    useElement = el;\n  }\n  globalElement = useElement || globalElement;\n  return globalElement;\n}\n\nfunction validateElement(appElement) {\n  var el = appElement || globalElement;\n  if (el) {\n    return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n  } else {\n    (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n    return [];\n  }\n}\n\nfunction hide(appElement) {\n  var _iteratorNormalCompletion = true;\n  var _didIteratorError = false;\n  var _iteratorError = undefined;\n\n  try {\n    for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n      var el = _step.value;\n\n      el.setAttribute(\"aria-hidden\", \"true\");\n    }\n  } catch (err) {\n    _didIteratorError = true;\n    _iteratorError = err;\n  } finally {\n    try {\n      if (!_iteratorNormalCompletion && _iterator.return) {\n        _iterator.return();\n      }\n    } finally {\n      if (_didIteratorError) {\n        throw _iteratorError;\n      }\n    }\n  }\n}\n\nfunction show(appElement) {\n  var _iteratorNormalCompletion2 = true;\n  var _didIteratorError2 = false;\n  var _iteratorError2 = undefined;\n\n  try {\n    for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n      var el = _step2.value;\n\n      el.removeAttribute(\"aria-hidden\");\n    }\n  } catch (err) {\n    _didIteratorError2 = true;\n    _iteratorError2 = err;\n  } finally {\n    try {\n      if (!_iteratorNormalCompletion2 && _iterator2.return) {\n        _iterator2.return();\n      }\n    } finally {\n      if (_didIteratorError2) {\n        throw _iteratorError2;\n      }\n    }\n  }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n  globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.resetState = resetState;\nexports.log = log;\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n    after = void 0,\n    instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n  var _arr = [before, after];\n\n  for (var _i = 0; _i < _arr.length; _i++) {\n    var item = _arr[_i];\n    if (!item) continue;\n    item.parentNode && item.parentNode.removeChild(item);\n  }\n  before = after = null;\n  instances = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n  console.log(\"bodyTrap ----------\");\n  console.log(instances.length);\n  var _arr2 = [before, after];\n  for (var _i2 = 0; _i2 < _arr2.length; _i2++) {\n    var item = _arr2[_i2];\n    var check = item || {};\n    console.log(check.nodeName, check.className, check.id);\n  }\n  console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n  if (instances.length === 0) {\n    if (process.env.NODE_ENV !== \"production\") {\n      // eslint-disable-next-line no-console\n      console.warn(\"React-Modal: Open instances > 0 expected\");\n    }\n    return;\n  }\n  instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n  if (!before && !after) {\n    before = document.createElement(\"div\");\n    before.setAttribute(\"data-react-modal-body-trap\", \"\");\n    before.style.position = \"absolute\";\n    before.style.opacity = \"0\";\n    before.setAttribute(\"tabindex\", \"0\");\n    before.addEventListener(\"focus\", focusContent);\n    after = before.cloneNode();\n    after.addEventListener(\"focus\", focusContent);\n  }\n\n  instances = openInstances;\n\n  if (instances.length > 0) {\n    // Add focus trap\n    if (document.body.firstChild !== before) {\n      document.body.insertBefore(before, document.body.firstChild);\n    }\n    if (document.body.lastChild !== after) {\n      document.body.appendChild(after);\n    }\n  } else {\n    // Remove focus trap\n    if (before.parentElement) {\n      before.parentElement.removeChild(before);\n    }\n    if (after.parentElement) {\n      after.parentElement.removeChild(after);\n    }\n  }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n  at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n  var htmlElement = document.getElementsByTagName(\"html\")[0];\n  for (var cls in htmlClassList) {\n    removeClass(htmlElement, htmlClassList[cls]);\n  }\n\n  var body = document.body;\n  for (var _cls in docBodyClassList) {\n    removeClass(body, docBodyClassList[_cls]);\n  }\n\n  htmlClassList = {};\n  docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nfunction log() {\n  if (process.env.NODE_ENV !== \"production\") {\n    var classes = document.getElementsByTagName(\"html\")[0].className;\n    var buffer = \"Show tracked classes:\\n\\n\";\n\n    buffer += \"<html /> (\" + classes + \"):\\n  \";\n    for (var x in htmlClassList) {\n      buffer += \"  \" + x + \" \" + htmlClassList[x] + \"\\n  \";\n    }\n\n    classes = document.body.className;\n\n    buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n  \";\n    for (var _x in docBodyClassList) {\n      buffer += \"  \" + _x + \" \" + docBodyClassList[_x] + \"\\n  \";\n    }\n\n    buffer += \"\\n\";\n\n    console.log(buffer);\n  }\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n  if (!poll[className]) {\n    poll[className] = 0;\n  }\n  poll[className] += 1;\n  return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n  if (poll[className]) {\n    poll[className] -= 1;\n  }\n  return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll         The poll to be used.\n * @param {Array}  classes      The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n  classes.forEach(function (className) {\n    incrementReference(poll, className);\n    classListRef.add(className);\n  });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll         The poll to be used.\n * @param {Array}  classes      The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n  classes.forEach(function (className) {\n    decrementReference(poll, className);\n    poll[className] === 0 && classListRef.remove(className);\n  });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n *                           It may contain more then one class\n *                           with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n  return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n *                           It may contain more then one class\n *                           with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n  return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n  focusLaterElements = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n  if (process.env.NODE_ENV !== \"production\") {\n    console.log(\"focusManager ----------\");\n    focusLaterElements.forEach(function (f) {\n      var check = f || {};\n      console.log(check.nodeName, check.className, check.id);\n    });\n    console.log(\"end focusManager ----------\");\n  }\n}\n/* eslint-enable no-console */\n\nfunction handleBlur() {\n  needToFocus = true;\n}\n\nfunction handleFocus() {\n  if (needToFocus) {\n    needToFocus = false;\n    if (!modalElement) {\n      return;\n    }\n    // need to see how jQuery shims document.on('focusin') so we don't need the\n    // setTimeout, firefox doesn't support focusin, if it did, we could focus\n    // the element outside of a setTimeout. Side-effect of this implementation\n    // is that the document.body gets focus, and then we focus our element right\n    // after, seems fine.\n    setTimeout(function () {\n      if (modalElement.contains(document.activeElement)) {\n        return;\n      }\n      var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n      el.focus();\n    }, 0);\n  }\n}\n\nfunction markForFocusLater() {\n  focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n  var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n  var toFocus = null;\n  try {\n    if (focusLaterElements.length !== 0) {\n      toFocus = focusLaterElements.pop();\n      toFocus.focus({ preventScroll: preventScroll });\n    }\n    return;\n  } catch (e) {\n    console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n  }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n  focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n  modalElement = element;\n\n  if (window.addEventListener) {\n    window.addEventListener(\"blur\", handleBlur, false);\n    document.addEventListener(\"focus\", handleFocus, true);\n  } else {\n    window.attachEvent(\"onBlur\", handleBlur);\n    document.attachEvent(\"onFocus\", handleFocus);\n  }\n}\n\nfunction teardownScopedFocus() {\n  modalElement = null;\n\n  if (window.addEventListener) {\n    window.removeEventListener(\"blur\", handleBlur);\n    document.removeEventListener(\"focus\", handleFocus);\n  } else {\n    window.detachEvent(\"onBlur\", handleBlur);\n    document.detachEvent(\"onFocus\", handleFocus);\n  }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n  var _this = this;\n\n  _classCallCheck(this, PortalOpenInstances);\n\n  this.register = function (openInstance) {\n    if (_this.openInstances.indexOf(openInstance) !== -1) {\n      if (process.env.NODE_ENV !== \"production\") {\n        // eslint-disable-next-line no-console\n        console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n      }\n      return;\n    }\n    _this.openInstances.push(openInstance);\n    _this.emit(\"register\");\n  };\n\n  this.deregister = function (openInstance) {\n    var index = _this.openInstances.indexOf(openInstance);\n    if (index === -1) {\n      if (process.env.NODE_ENV !== \"production\") {\n        // eslint-disable-next-line no-console\n        console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n      }\n      return;\n    }\n    _this.openInstances.splice(index, 1);\n    _this.emit(\"deregister\");\n  };\n\n  this.subscribe = function (callback) {\n    _this.subscribers.push(callback);\n  };\n\n  this.emit = function (eventType) {\n    _this.subscribers.forEach(function (subscriber) {\n      return subscriber(eventType,\n      // shallow copy to avoid accidental mutation\n      _this.openInstances.slice());\n    });\n  };\n\n  this.openInstances = [];\n  this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n  console.log(\"portalOpenInstances ----------\");\n  console.log(portalOpenInstances.openInstances.length);\n  portalOpenInstances.openInstances.forEach(function (p) {\n    return console.log(p);\n  });\n  console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n  portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getActiveElement() {\n  var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n  return el.activeElement.shadowRoot ? getActiveElement(el.activeElement.shadowRoot) : el.activeElement;\n}\n\nfunction scopeTab(node, event) {\n  var tabbable = (0, _tabbable2.default)(node);\n\n  if (!tabbable.length) {\n    // Do nothing, since there are no elements that can receive focus.\n    event.preventDefault();\n    return;\n  }\n\n  var target = void 0;\n\n  var shiftKey = event.shiftKey;\n  var head = tabbable[0];\n  var tail = tabbable[tabbable.length - 1];\n  var activeElement = getActiveElement();\n\n  // proceed with default browser behavior on tab.\n  // Focus on last element on shift + tab.\n  if (node === activeElement) {\n    if (!shiftKey) return;\n    target = tail;\n  }\n\n  if (tail === activeElement && !shiftKey) {\n    target = head;\n  }\n\n  if (head === activeElement && shiftKey) {\n    target = tail;\n  }\n\n  if (target) {\n    event.preventDefault();\n    target.focus();\n    return;\n  }\n\n  // Safari radio issue.\n  //\n  // Safari does not move the focus to the radio button,\n  // so we need to force it to really walk through all elements.\n  //\n  // This is very error prone, since we are trying to guess\n  // if it is a safari browser from the first occurence between\n  // chrome or safari.\n  //\n  // The chrome user agent contains the first ocurrence\n  // as the 'chrome/version' and later the 'safari/version'.\n  var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n  var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n  // If we are not in safari desktop, let the browser control\n  // the focus\n  if (!isSafariDesktop) return;\n\n  var x = tabbable.indexOf(activeElement);\n\n  if (x > -1) {\n    x += shiftKey ? -1 : 1;\n  }\n\n  target = tabbable[x];\n\n  // If the tabbable element does not exist,\n  // focus head/tail based on shiftKey\n  if (typeof target === \"undefined\") {\n    event.preventDefault();\n    target = shiftKey ? tail : head;\n    target.focus();\n    return;\n  }\n\n  event.preventDefault();\n\n  target.focus();\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n  var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n  // If the node is empty, this is good enough\n  if (zeroSize && !element.innerHTML) return true;\n\n  try {\n    // Otherwise we need to check some styles\n    var style = window.getComputedStyle(element);\n    return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n    // if 'overflow: visible' set, check if there is actually any overflow\n    element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n  } catch (exception) {\n    // eslint-disable-next-line no-console\n    console.warn(\"Failed to inspect element style\");\n    return false;\n  }\n}\n\nfunction visible(element) {\n  var parentElement = element;\n  var rootNode = element.getRootNode && element.getRootNode();\n  while (parentElement) {\n    if (parentElement === document.body) break;\n\n    // if we are not hidden yet, skip to checking outside the Web Component\n    if (rootNode && parentElement === rootNode) parentElement = rootNode.host.parentNode;\n\n    if (hidesContents(parentElement)) return false;\n    parentElement = parentElement.parentNode;\n  }\n  return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n  var nodeName = element.nodeName.toLowerCase();\n  var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n  return res && visible(element);\n}\n\nfunction tabbable(element) {\n  var tabIndex = element.getAttribute(\"tabindex\");\n  if (tabIndex === null) tabIndex = undefined;\n  var isTabIndexNaN = isNaN(tabIndex);\n  return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n  var descendants = [].slice.call(element.querySelectorAll(\"*\"), 0).reduce(function (finished, el) {\n    return finished.concat(!el.shadowRoot ? [el] : findTabbableDescendants(el.shadowRoot));\n  }, []);\n  return descendants.filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactFastCompare = _interopRequireDefault(require(\"react-fast-compare\"));\n\nvar _props = require(\"./props\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SEEK_ON_PLAY_EXPIRY = 5000;\n\nvar Player = /*#__PURE__*/function (_Component) {\n  _inherits(Player, _Component);\n\n  var _super = _createSuper(Player);\n\n  function Player() {\n    var _this;\n\n    _classCallCheck(this, Player);\n\n    for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n      _args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(_args));\n\n    _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"isReady\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"isPlaying\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"isLoading\", true);\n\n    _defineProperty(_assertThisInitialized(_this), \"loadOnReady\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"startOnPlay\", true);\n\n    _defineProperty(_assertThisInitialized(_this), \"seekOnPlay\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"onDurationCalled\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"handlePlayerMount\", function (player) {\n      _this.player = player;\n\n      _this.player.load(_this.props.url);\n\n      _this.progress();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function (key) {\n      if (!_this.player) return null;\n      return _this.player[key];\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"progress\", function () {\n      if (_this.props.url && _this.player && _this.isReady) {\n        var playedSeconds = _this.getCurrentTime() || 0;\n\n        var loadedSeconds = _this.getSecondsLoaded();\n\n        var duration = _this.getDuration();\n\n        if (duration) {\n          var progress = {\n            playedSeconds: playedSeconds,\n            played: playedSeconds / duration\n          };\n\n          if (loadedSeconds !== null) {\n            progress.loadedSeconds = loadedSeconds;\n            progress.loaded = loadedSeconds / duration;\n          } // Only call onProgress if values have changed\n\n\n          if (progress.playedSeconds !== _this.prevPlayed || progress.loadedSeconds !== _this.prevLoaded) {\n            _this.props.onProgress(progress);\n          }\n\n          _this.prevPlayed = progress.playedSeconds;\n          _this.prevLoaded = progress.loadedSeconds;\n        }\n      }\n\n      _this.progressTimeout = setTimeout(_this.progress, _this.props.progressFrequency || _this.props.progressInterval);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleReady\", function () {\n      if (!_this.mounted) return;\n      _this.isReady = true;\n      _this.isLoading = false;\n      var _this$props = _this.props,\n          onReady = _this$props.onReady,\n          playing = _this$props.playing,\n          volume = _this$props.volume,\n          muted = _this$props.muted;\n      onReady();\n\n      if (!muted && volume !== null) {\n        _this.player.setVolume(volume);\n      }\n\n      if (_this.loadOnReady) {\n        _this.player.load(_this.loadOnReady, true);\n\n        _this.loadOnReady = null;\n      } else if (playing) {\n        _this.player.play();\n      }\n\n      _this.handleDurationCheck();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handlePlay\", function () {\n      _this.isPlaying = true;\n      _this.isLoading = false;\n      var _this$props2 = _this.props,\n          onStart = _this$props2.onStart,\n          onPlay = _this$props2.onPlay,\n          playbackRate = _this$props2.playbackRate;\n\n      if (_this.startOnPlay) {\n        if (_this.player.setPlaybackRate && playbackRate !== 1) {\n          _this.player.setPlaybackRate(playbackRate);\n        }\n\n        onStart();\n        _this.startOnPlay = false;\n      }\n\n      onPlay();\n\n      if (_this.seekOnPlay) {\n        _this.seekTo(_this.seekOnPlay);\n\n        _this.seekOnPlay = null;\n      }\n\n      _this.handleDurationCheck();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handlePause\", function (e) {\n      _this.isPlaying = false;\n\n      if (!_this.isLoading) {\n        _this.props.onPause(e);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleEnded\", function () {\n      var _this$props3 = _this.props,\n          activePlayer = _this$props3.activePlayer,\n          loop = _this$props3.loop,\n          onEnded = _this$props3.onEnded;\n\n      if (activePlayer.loopOnEnded && loop) {\n        _this.seekTo(0);\n      }\n\n      if (!loop) {\n        _this.isPlaying = false;\n        onEnded();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleError\", function () {\n      var _this$props4;\n\n      _this.isLoading = false;\n\n      (_this$props4 = _this.props).onError.apply(_this$props4, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleDurationCheck\", function () {\n      clearTimeout(_this.durationCheckTimeout);\n\n      var duration = _this.getDuration();\n\n      if (duration) {\n        if (!_this.onDurationCalled) {\n          _this.props.onDuration(duration);\n\n          _this.onDurationCalled = true;\n        }\n      } else {\n        _this.durationCheckTimeout = setTimeout(_this.handleDurationCheck, 100);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleLoaded\", function () {\n      // Sometimes we know loading has stopped but onReady/onPlay are never called\n      // so this provides a way for players to avoid getting stuck\n      _this.isLoading = false;\n    });\n\n    return _this;\n  }\n\n  _createClass(Player, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.mounted = true;\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      clearTimeout(this.progressTimeout);\n      clearTimeout(this.durationCheckTimeout);\n\n      if (this.isReady && this.props.stopOnUnmount) {\n        this.player.stop();\n\n        if (this.player.disablePIP) {\n          this.player.disablePIP();\n        }\n      }\n\n      this.mounted = false;\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var _this2 = this;\n\n      // If there isn’t a player available, don’t do anything\n      if (!this.player) {\n        return;\n      } // Invoke player methods based on changed props\n\n\n      var _this$props5 = this.props,\n          url = _this$props5.url,\n          playing = _this$props5.playing,\n          volume = _this$props5.volume,\n          muted = _this$props5.muted,\n          playbackRate = _this$props5.playbackRate,\n          pip = _this$props5.pip,\n          loop = _this$props5.loop,\n          activePlayer = _this$props5.activePlayer;\n\n      if (!(0, _reactFastCompare[\"default\"])(prevProps.url, url)) {\n        if (this.isLoading && !activePlayer.forceLoad) {\n          console.warn(\"ReactPlayer: the attempt to load \".concat(url, \" is being deferred until the player has loaded\"));\n          this.loadOnReady = url;\n          return;\n        }\n\n        this.isLoading = true;\n        this.startOnPlay = true;\n        this.onDurationCalled = false;\n        this.player.load(url, this.isReady);\n      }\n\n      if (!prevProps.playing && playing && !this.isPlaying) {\n        this.player.play();\n      }\n\n      if (prevProps.playing && !playing && this.isPlaying) {\n        this.player.pause();\n      }\n\n      if (!prevProps.pip && pip && this.player.enablePIP) {\n        this.player.enablePIP();\n      }\n\n      if (prevProps.pip && !pip && this.player.disablePIP) {\n        this.player.disablePIP();\n      }\n\n      if (prevProps.volume !== volume && volume !== null) {\n        this.player.setVolume(volume);\n      }\n\n      if (prevProps.muted !== muted) {\n        if (muted) {\n          this.player.mute();\n        } else {\n          this.player.unmute();\n\n          if (volume !== null) {\n            // Set volume next tick to fix a bug with DailyMotion\n            setTimeout(function () {\n              return _this2.player.setVolume(volume);\n            });\n          }\n        }\n      }\n\n      if (prevProps.playbackRate !== playbackRate && this.player.setPlaybackRate) {\n        this.player.setPlaybackRate(playbackRate);\n      }\n\n      if (prevProps.loop !== loop && this.player.setLoop) {\n        this.player.setLoop(loop);\n      }\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      if (!this.isReady) return null;\n      return this.player.getDuration();\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      if (!this.isReady) return null;\n      return this.player.getCurrentTime();\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      if (!this.isReady) return null;\n      return this.player.getSecondsLoaded();\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(amount, type) {\n      var _this3 = this;\n\n      // When seeking before player is ready, store value and seek later\n      if (!this.isReady && amount !== 0) {\n        this.seekOnPlay = amount;\n        setTimeout(function () {\n          _this3.seekOnPlay = null;\n        }, SEEK_ON_PLAY_EXPIRY);\n        return;\n      }\n\n      var isFraction = !type ? amount > 0 && amount < 1 : type === 'fraction';\n\n      if (isFraction) {\n        // Convert fraction to seconds based on duration\n        var duration = this.player.getDuration();\n\n        if (!duration) {\n          console.warn('ReactPlayer: could not seek using fraction – duration not yet available');\n          return;\n        }\n\n        this.player.seekTo(duration * amount);\n        return;\n      }\n\n      this.player.seekTo(amount);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var Player = this.props.activePlayer;\n\n      if (!Player) {\n        return null;\n      }\n\n      return /*#__PURE__*/_react[\"default\"].createElement(Player, _extends({}, this.props, {\n        onMount: this.handlePlayerMount,\n        onReady: this.handleReady,\n        onPlay: this.handlePlay,\n        onPause: this.handlePause,\n        onEnded: this.handleEnded,\n        onLoaded: this.handleLoaded,\n        onError: this.handleError\n      }));\n    }\n  }]);\n\n  return Player;\n}(_react.Component);\n\nexports[\"default\"] = Player;\n\n_defineProperty(Player, \"displayName\", 'Player');\n\n_defineProperty(Player, \"propTypes\", _props.propTypes);\n\n_defineProperty(Player, \"defaultProps\", _props.defaultProps);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ICON_SIZE = '64px';\nvar cache = {};\n\nvar Preview = /*#__PURE__*/function (_Component) {\n  _inherits(Preview, _Component);\n\n  var _super = _createSuper(Preview);\n\n  function Preview() {\n    var _this;\n\n    _classCallCheck(this, Preview);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      image: null\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleKeyPress\", function (e) {\n      if (e.key === 'Enter' || e.key === ' ') {\n        _this.props.onClick();\n      }\n    });\n\n    return _this;\n  }\n\n  _createClass(Preview, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.mounted = true;\n      this.fetchImage(this.props);\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var _this$props = this.props,\n          url = _this$props.url,\n          light = _this$props.light;\n\n      if (prevProps.url !== url || prevProps.light !== light) {\n        this.fetchImage(this.props);\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.mounted = false;\n    }\n  }, {\n    key: \"fetchImage\",\n    value: function fetchImage(_ref) {\n      var _this2 = this;\n\n      var url = _ref.url,\n          light = _ref.light;\n\n      if (typeof light === 'string') {\n        this.setState({\n          image: light\n        });\n        return;\n      }\n\n      if (cache[url]) {\n        this.setState({\n          image: cache[url]\n        });\n        return;\n      }\n\n      this.setState({\n        image: null\n      });\n      return window.fetch(\"https://noembed.com/embed?url=\".concat(url)).then(function (response) {\n        return response.json();\n      }).then(function (data) {\n        if (data.thumbnail_url && _this2.mounted) {\n          var image = data.thumbnail_url.replace('height=100', 'height=480');\n\n          _this2.setState({\n            image: image\n          });\n\n          cache[url] = image;\n        }\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props2 = this.props,\n          onClick = _this$props2.onClick,\n          playIcon = _this$props2.playIcon,\n          previewTabIndex = _this$props2.previewTabIndex;\n      var image = this.state.image;\n      var flexCenter = {\n        display: 'flex',\n        alignItems: 'center',\n        justifyContent: 'center'\n      };\n      var styles = {\n        preview: _objectSpread({\n          width: '100%',\n          height: '100%',\n          backgroundImage: image ? \"url(\".concat(image, \")\") : undefined,\n          backgroundSize: 'cover',\n          backgroundPosition: 'center',\n          cursor: 'pointer'\n        }, flexCenter),\n        shadow: _objectSpread({\n          background: 'radial-gradient(rgb(0, 0, 0, 0.3), rgba(0, 0, 0, 0) 60%)',\n          borderRadius: ICON_SIZE,\n          width: ICON_SIZE,\n          height: ICON_SIZE\n        }, flexCenter),\n        playIcon: {\n          borderStyle: 'solid',\n          borderWidth: '16px 0 16px 26px',\n          borderColor: 'transparent transparent transparent white',\n          marginLeft: '7px'\n        }\n      };\n\n      var defaultPlayIcon = /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: styles.shadow,\n        className: \"react-player__shadow\"\n      }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: styles.playIcon,\n        className: \"react-player__play-icon\"\n      }));\n\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: styles.preview,\n        className: \"react-player__preview\",\n        onClick: onClick,\n        tabIndex: previewTabIndex,\n        onKeyPress: this.handleKeyPress\n      }, playIcon || defaultPlayIcon);\n    }\n  }]);\n\n  return Preview;\n}(_react.Component);\n\nexports[\"default\"] = Preview;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.createReactPlayer = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _deepmerge = _interopRequireDefault(require(\"deepmerge\"));\n\nvar _memoizeOne = _interopRequireDefault(require(\"memoize-one\"));\n\nvar _reactFastCompare = _interopRequireDefault(require(\"react-fast-compare\"));\n\nvar _props = require(\"./props\");\n\nvar _utils = require(\"./utils\");\n\nvar _Player3 = _interopRequireDefault(require(\"./Player\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar Preview = /*#__PURE__*/(0, _react.lazy)(function () {\n  return Promise.resolve().then(function () {\n    return _interopRequireWildcard(require('./Preview'));\n  });\n});\nvar IS_BROWSER = typeof window !== 'undefined' && window.document;\nvar IS_GLOBAL = typeof global !== 'undefined' && global.window && global.window.document;\nvar SUPPORTED_PROPS = Object.keys(_props.propTypes); // Return null when rendering on the server\n// as Suspense is not supported yet\n\nvar UniversalSuspense = IS_BROWSER || IS_GLOBAL ? _react.Suspense : function () {\n  return null;\n};\nvar customPlayers = [];\n\nvar createReactPlayer = function createReactPlayer(players, fallback) {\n  var _class, _temp;\n\n  return _temp = _class = /*#__PURE__*/function (_Component) {\n    _inherits(ReactPlayer, _Component);\n\n    var _super = _createSuper(ReactPlayer);\n\n    function ReactPlayer() {\n      var _this;\n\n      _classCallCheck(this, ReactPlayer);\n\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      _this = _super.call.apply(_super, [this].concat(args));\n\n      _defineProperty(_assertThisInitialized(_this), \"state\", {\n        showPreview: !!_this.props.light\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"references\", {\n        wrapper: function wrapper(_wrapper) {\n          _this.wrapper = _wrapper;\n        },\n        player: function player(_player) {\n          _this.player = _player;\n        }\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"handleClickPreview\", function (e) {\n        _this.setState({\n          showPreview: false\n        });\n\n        _this.props.onClickPreview(e);\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"showPreview\", function () {\n        _this.setState({\n          showPreview: true\n        });\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"getDuration\", function () {\n        if (!_this.player) return null;\n        return _this.player.getDuration();\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"getCurrentTime\", function () {\n        if (!_this.player) return null;\n        return _this.player.getCurrentTime();\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"getSecondsLoaded\", function () {\n        if (!_this.player) return null;\n        return _this.player.getSecondsLoaded();\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function () {\n        var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'player';\n        if (!_this.player) return null;\n        return _this.player.getInternalPlayer(key);\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"seekTo\", function (fraction, type) {\n        if (!_this.player) return null;\n\n        _this.player.seekTo(fraction, type);\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"handleReady\", function () {\n        _this.props.onReady(_assertThisInitialized(_this));\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"getActivePlayer\", (0, _memoizeOne[\"default\"])(function (url) {\n        for (var _i = 0, _arr = [].concat(customPlayers, _toConsumableArray(players)); _i < _arr.length; _i++) {\n          var player = _arr[_i];\n\n          if (player.canPlay(url)) {\n            return player;\n          }\n        }\n\n        if (fallback) {\n          return fallback;\n        }\n\n        return null;\n      }));\n\n      _defineProperty(_assertThisInitialized(_this), \"getConfig\", (0, _memoizeOne[\"default\"])(function (url, key) {\n        var config = _this.props.config;\n        return _deepmerge[\"default\"].all([_props.defaultProps.config, _props.defaultProps.config[key] || {}, config, config[key] || {}]);\n      }));\n\n      _defineProperty(_assertThisInitialized(_this), \"getAttributes\", (0, _memoizeOne[\"default\"])(function (url) {\n        return (0, _utils.omit)(_this.props, SUPPORTED_PROPS);\n      }));\n\n      _defineProperty(_assertThisInitialized(_this), \"renderActivePlayer\", function (url) {\n        if (!url) return null;\n\n        var player = _this.getActivePlayer(url);\n\n        if (!player) return null;\n\n        var config = _this.getConfig(url, player.key);\n\n        return /*#__PURE__*/_react[\"default\"].createElement(_Player3[\"default\"], _extends({}, _this.props, {\n          key: player.key,\n          ref: _this.references.player,\n          config: config,\n          activePlayer: player.lazyPlayer || player,\n          onReady: _this.handleReady\n        }));\n      });\n\n      return _this;\n    }\n\n    _createClass(ReactPlayer, [{\n      key: \"shouldComponentUpdate\",\n      value: function shouldComponentUpdate(nextProps, nextState) {\n        return !(0, _reactFastCompare[\"default\"])(this.props, nextProps) || !(0, _reactFastCompare[\"default\"])(this.state, nextState);\n      }\n    }, {\n      key: \"componentDidUpdate\",\n      value: function componentDidUpdate(prevProps) {\n        var light = this.props.light;\n\n        if (!prevProps.light && light) {\n          this.setState({\n            showPreview: true\n          });\n        }\n\n        if (prevProps.light && !light) {\n          this.setState({\n            showPreview: false\n          });\n        }\n      }\n    }, {\n      key: \"renderPreview\",\n      value: function renderPreview(url) {\n        if (!url) return null;\n        var _this$props = this.props,\n            light = _this$props.light,\n            playIcon = _this$props.playIcon,\n            previewTabIndex = _this$props.previewTabIndex;\n        return /*#__PURE__*/_react[\"default\"].createElement(Preview, {\n          url: url,\n          light: light,\n          playIcon: playIcon,\n          previewTabIndex: previewTabIndex,\n          onClick: this.handleClickPreview\n        });\n      }\n    }, {\n      key: \"render\",\n      value: function render() {\n        var _this$props2 = this.props,\n            url = _this$props2.url,\n            style = _this$props2.style,\n            width = _this$props2.width,\n            height = _this$props2.height,\n            fallback = _this$props2.fallback,\n            Wrapper = _this$props2.wrapper;\n        var showPreview = this.state.showPreview;\n        var attributes = this.getAttributes(url);\n        return /*#__PURE__*/_react[\"default\"].createElement(Wrapper, _extends({\n          ref: this.references.wrapper,\n          style: _objectSpread(_objectSpread({}, style), {}, {\n            width: width,\n            height: height\n          })\n        }, attributes), /*#__PURE__*/_react[\"default\"].createElement(UniversalSuspense, {\n          fallback: fallback\n        }, showPreview ? this.renderPreview(url) : this.renderActivePlayer(url)));\n      }\n    }]);\n\n    return ReactPlayer;\n  }(_react.Component), _defineProperty(_class, \"displayName\", 'ReactPlayer'), _defineProperty(_class, \"propTypes\", _props.propTypes), _defineProperty(_class, \"defaultProps\", _props.defaultProps), _defineProperty(_class, \"addCustomPlayer\", function (player) {\n    customPlayers.push(player);\n  }), _defineProperty(_class, \"removeCustomPlayers\", function () {\n    customPlayers.length = 0;\n  }), _defineProperty(_class, \"canPlay\", function (url) {\n    for (var _i2 = 0, _arr2 = [].concat(customPlayers, _toConsumableArray(players)); _i2 < _arr2.length; _i2++) {\n      var _Player = _arr2[_i2];\n\n      if (_Player.canPlay(url)) {\n        return true;\n      }\n    }\n\n    return false;\n  }), _defineProperty(_class, \"canEnablePIP\", function (url) {\n    for (var _i3 = 0, _arr3 = [].concat(customPlayers, _toConsumableArray(players)); _i3 < _arr3.length; _i3++) {\n      var _Player2 = _arr3[_i3];\n\n      if (_Player2.canEnablePIP && _Player2.canEnablePIP(url)) {\n        return true;\n      }\n    }\n\n    return false;\n  }), _temp;\n};\n\nexports.createReactPlayer = createReactPlayer;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.canPlay = exports.FLV_EXTENSIONS = exports.DASH_EXTENSIONS = exports.HLS_EXTENSIONS = exports.VIDEO_EXTENSIONS = exports.AUDIO_EXTENSIONS = exports.MATCH_URL_KALTURA = exports.MATCH_URL_VIDYARD = exports.MATCH_URL_MIXCLOUD = exports.MATCH_URL_DAILYMOTION = exports.MATCH_URL_TWITCH_CHANNEL = exports.MATCH_URL_TWITCH_VIDEO = exports.MATCH_URL_WISTIA = exports.MATCH_URL_STREAMABLE = exports.MATCH_URL_FACEBOOK_WATCH = exports.MATCH_URL_FACEBOOK = exports.MATCH_URL_VIMEO = exports.MATCH_URL_SOUNDCLOUD = exports.MATCH_URL_YOUTUBE = void 0;\n\nvar _utils = require(\"./utils\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar MATCH_URL_YOUTUBE = /(?:youtu\\.be\\/|youtube(?:-nocookie)?\\.com\\/(?:embed\\/|v\\/|watch\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})|youtube\\.com\\/playlist\\?list=|youtube\\.com\\/user\\//;\nexports.MATCH_URL_YOUTUBE = MATCH_URL_YOUTUBE;\nvar MATCH_URL_SOUNDCLOUD = /(?:soundcloud\\.com|snd\\.sc)\\/[^.]+$/;\nexports.MATCH_URL_SOUNDCLOUD = MATCH_URL_SOUNDCLOUD;\nvar MATCH_URL_VIMEO = /vimeo\\.com\\/.+/;\nexports.MATCH_URL_VIMEO = MATCH_URL_VIMEO;\nvar MATCH_URL_FACEBOOK = /^https?:\\/\\/(www\\.)?facebook\\.com.*\\/(video(s)?|watch|story)(\\.php?|\\/).+$/;\nexports.MATCH_URL_FACEBOOK = MATCH_URL_FACEBOOK;\nvar MATCH_URL_FACEBOOK_WATCH = /^https?:\\/\\/fb\\.watch\\/.+$/;\nexports.MATCH_URL_FACEBOOK_WATCH = MATCH_URL_FACEBOOK_WATCH;\nvar MATCH_URL_STREAMABLE = /streamable\\.com\\/([a-z0-9]+)$/;\nexports.MATCH_URL_STREAMABLE = MATCH_URL_STREAMABLE;\nvar MATCH_URL_WISTIA = /(?:wistia\\.(?:com|net)|wi\\.st)\\/(?:medias|embed)\\/(?:iframe\\/)?(.*)$/;\nexports.MATCH_URL_WISTIA = MATCH_URL_WISTIA;\nvar MATCH_URL_TWITCH_VIDEO = /(?:www\\.|go\\.)?twitch\\.tv\\/videos\\/(\\d+)($|\\?)/;\nexports.MATCH_URL_TWITCH_VIDEO = MATCH_URL_TWITCH_VIDEO;\nvar MATCH_URL_TWITCH_CHANNEL = /(?:www\\.|go\\.)?twitch\\.tv\\/([a-zA-Z0-9_]+)($|\\?)/;\nexports.MATCH_URL_TWITCH_CHANNEL = MATCH_URL_TWITCH_CHANNEL;\nvar MATCH_URL_DAILYMOTION = /^(?:(?:https?):)?(?:\\/\\/)?(?:www\\.)?(?:(?:dailymotion\\.com(?:\\/embed)?\\/video)|dai\\.ly)\\/([a-zA-Z0-9]+)(?:_[\\w_-]+)?$/;\nexports.MATCH_URL_DAILYMOTION = MATCH_URL_DAILYMOTION;\nvar MATCH_URL_MIXCLOUD = /mixcloud\\.com\\/([^/]+\\/[^/]+)/;\nexports.MATCH_URL_MIXCLOUD = MATCH_URL_MIXCLOUD;\nvar MATCH_URL_VIDYARD = /vidyard.com\\/(?:watch\\/)?([a-zA-Z0-9-]+)/;\nexports.MATCH_URL_VIDYARD = MATCH_URL_VIDYARD;\nvar MATCH_URL_KALTURA = /^https?:\\/\\/[a-zA-Z]+\\.kaltura.(com|org)\\/p\\/([0-9]+)\\/sp\\/([0-9]+)00\\/embedIframeJs\\/uiconf_id\\/([0-9]+)\\/partner_id\\/([0-9]+)(.*)entry_id.([a-zA-Z0-9-_]+)$/;\nexports.MATCH_URL_KALTURA = MATCH_URL_KALTURA;\nvar AUDIO_EXTENSIONS = /\\.(m4a|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\\?)/i;\nexports.AUDIO_EXTENSIONS = AUDIO_EXTENSIONS;\nvar VIDEO_EXTENSIONS = /\\.(mp4|og[gv]|webm|mov|m4v)($|\\?)/i;\nexports.VIDEO_EXTENSIONS = VIDEO_EXTENSIONS;\nvar HLS_EXTENSIONS = /\\.(m3u8)($|\\?)/i;\nexports.HLS_EXTENSIONS = HLS_EXTENSIONS;\nvar DASH_EXTENSIONS = /\\.(mpd)($|\\?)/i;\nexports.DASH_EXTENSIONS = DASH_EXTENSIONS;\nvar FLV_EXTENSIONS = /\\.(flv)($|\\?)/i;\nexports.FLV_EXTENSIONS = FLV_EXTENSIONS;\n\nvar canPlayFile = function canPlayFile(url) {\n  if (url instanceof Array) {\n    var _iterator = _createForOfIteratorHelper(url),\n        _step;\n\n    try {\n      for (_iterator.s(); !(_step = _iterator.n()).done;) {\n        var item = _step.value;\n\n        if (typeof item === 'string' && canPlayFile(item)) {\n          return true;\n        }\n\n        if (canPlayFile(item.src)) {\n          return true;\n        }\n      }\n    } catch (err) {\n      _iterator.e(err);\n    } finally {\n      _iterator.f();\n    }\n\n    return false;\n  }\n\n  if ((0, _utils.isMediaStream)(url) || (0, _utils.isBlobUrl)(url)) {\n    return true;\n  }\n\n  return AUDIO_EXTENSIONS.test(url) || VIDEO_EXTENSIONS.test(url) || HLS_EXTENSIONS.test(url) || DASH_EXTENSIONS.test(url) || FLV_EXTENSIONS.test(url);\n};\n\nvar canPlay = {\n  youtube: function youtube(url) {\n    if (url instanceof Array) {\n      return url.every(function (item) {\n        return MATCH_URL_YOUTUBE.test(item);\n      });\n    }\n\n    return MATCH_URL_YOUTUBE.test(url);\n  },\n  soundcloud: function soundcloud(url) {\n    return MATCH_URL_SOUNDCLOUD.test(url) && !AUDIO_EXTENSIONS.test(url);\n  },\n  vimeo: function vimeo(url) {\n    return MATCH_URL_VIMEO.test(url) && !VIDEO_EXTENSIONS.test(url) && !HLS_EXTENSIONS.test(url);\n  },\n  facebook: function facebook(url) {\n    return MATCH_URL_FACEBOOK.test(url) || MATCH_URL_FACEBOOK_WATCH.test(url);\n  },\n  streamable: function streamable(url) {\n    return MATCH_URL_STREAMABLE.test(url);\n  },\n  wistia: function wistia(url) {\n    return MATCH_URL_WISTIA.test(url);\n  },\n  twitch: function twitch(url) {\n    return MATCH_URL_TWITCH_VIDEO.test(url) || MATCH_URL_TWITCH_CHANNEL.test(url);\n  },\n  dailymotion: function dailymotion(url) {\n    return MATCH_URL_DAILYMOTION.test(url);\n  },\n  mixcloud: function mixcloud(url) {\n    return MATCH_URL_MIXCLOUD.test(url);\n  },\n  vidyard: function vidyard(url) {\n    return MATCH_URL_VIDYARD.test(url);\n  },\n  kaltura: function kaltura(url) {\n    return MATCH_URL_KALTURA.test(url);\n  },\n  file: canPlayFile\n};\nexports.canPlay = canPlay;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://api.dmcdn.net/all.js';\nvar SDK_GLOBAL = 'DM';\nvar SDK_GLOBAL_READY = 'dmAsyncInit';\n\nvar DailyMotion = /*#__PURE__*/function (_Component) {\n  _inherits(DailyMotion, _Component);\n\n  var _super = _createSuper(DailyMotion);\n\n  function DailyMotion() {\n    var _this;\n\n    _classCallCheck(this, DailyMotion);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"onDurationChange\", function () {\n      var duration = _this.getDuration();\n\n      _this.props.onDuration(duration);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('setMuted', true);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('setMuted', false);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n      _this.container = container;\n    });\n\n    return _this;\n  }\n\n  _createClass(DailyMotion, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          controls = _this$props.controls,\n          config = _this$props.config,\n          onError = _this$props.onError,\n          playing = _this$props.playing;\n\n      var _url$match = url.match(_patterns.MATCH_URL_DAILYMOTION),\n          _url$match2 = _slicedToArray(_url$match, 2),\n          id = _url$match2[1];\n\n      if (this.player) {\n        this.player.load(id, {\n          start: (0, _utils.parseStartTime)(url),\n          autoplay: playing\n        });\n        return;\n      }\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY, function (DM) {\n        return DM.player;\n      }).then(function (DM) {\n        if (!_this2.container) return;\n        var Player = DM.player;\n        _this2.player = new Player(_this2.container, {\n          width: '100%',\n          height: '100%',\n          video: id,\n          params: _objectSpread({\n            controls: controls,\n            autoplay: _this2.props.playing,\n            mute: _this2.props.muted,\n            start: (0, _utils.parseStartTime)(url),\n            origin: window.location.origin\n          }, config.params),\n          events: {\n            apiready: _this2.props.onReady,\n            seeked: function seeked() {\n              return _this2.props.onSeek(_this2.player.currentTime);\n            },\n            video_end: _this2.props.onEnded,\n            durationchange: _this2.onDurationChange,\n            pause: _this2.props.onPause,\n            playing: _this2.props.onPlay,\n            waiting: _this2.props.onBuffer,\n            error: function error(event) {\n              return onError(event);\n            }\n          }\n        });\n      }, onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('seek', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.player.duration || null;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.player.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.player.bufferedTime;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var display = this.props.display;\n      var style = {\n        width: '100%',\n        height: '100%',\n        display: display\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: style\n      }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        ref: this.ref\n      }));\n    }\n  }]);\n\n  return DailyMotion;\n}(_react.Component);\n\nexports[\"default\"] = DailyMotion;\n\n_defineProperty(DailyMotion, \"displayName\", 'DailyMotion');\n\n_defineProperty(DailyMotion, \"canPlay\", _patterns.canPlay.dailymotion);\n\n_defineProperty(DailyMotion, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://connect.facebook.net/en_US/sdk.js';\nvar SDK_GLOBAL = 'FB';\nvar SDK_GLOBAL_READY = 'fbAsyncInit';\nvar PLAYER_ID_PREFIX = 'facebook-player-';\n\nvar Facebook = /*#__PURE__*/function (_Component) {\n  _inherits(Facebook, _Component);\n\n  var _super = _createSuper(Facebook);\n\n  function Facebook() {\n    var _this;\n\n    _classCallCheck(this, Facebook);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"playerID\", _this.props.config.playerId || \"\".concat(PLAYER_ID_PREFIX).concat((0, _utils.randomString)()));\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('mute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('unmute');\n    });\n\n    return _this;\n  }\n\n  _createClass(Facebook, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url, isReady) {\n      var _this2 = this;\n\n      if (isReady) {\n        (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (FB) {\n          return FB.XFBML.parse();\n        });\n        return;\n      }\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (FB) {\n        FB.init({\n          appId: _this2.props.config.appId,\n          xfbml: true,\n          version: _this2.props.config.version\n        });\n        FB.Event.subscribe('xfbml.render', function (msg) {\n          // Here we know the SDK has loaded, even if onReady/onPlay\n          // is not called due to a video that cannot be embedded\n          _this2.props.onLoaded();\n        });\n        FB.Event.subscribe('xfbml.ready', function (msg) {\n          if (msg.type === 'video' && msg.id === _this2.playerID) {\n            _this2.player = msg.instance;\n\n            _this2.player.subscribe('startedPlaying', _this2.props.onPlay);\n\n            _this2.player.subscribe('paused', _this2.props.onPause);\n\n            _this2.player.subscribe('finishedPlaying', _this2.props.onEnded);\n\n            _this2.player.subscribe('startedBuffering', _this2.props.onBuffer);\n\n            _this2.player.subscribe('finishedBuffering', _this2.props.onBufferEnd);\n\n            _this2.player.subscribe('error', _this2.props.onError);\n\n            if (_this2.props.muted) {\n              _this2.callPlayer('mute');\n            } else {\n              _this2.callPlayer('unmute');\n            }\n\n            _this2.props.onReady(); // For some reason Facebook have added `visibility: hidden`\n            // to the iframe when autoplay fails, so here we set it back\n\n\n            document.getElementById(_this2.playerID).querySelector('iframe').style.visibility = 'visible';\n          }\n        });\n      });\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('seek', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.callPlayer('getDuration');\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.callPlayer('getCurrentPosition');\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return null;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var attributes = this.props.config.attributes;\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n        style: style,\n        id: this.playerID,\n        className: \"fb-video\",\n        \"data-href\": this.props.url,\n        \"data-autoplay\": this.props.playing ? 'true' : 'false',\n        \"data-allowfullscreen\": \"true\",\n        \"data-controls\": this.props.controls ? 'true' : 'false'\n      }, attributes));\n    }\n  }]);\n\n  return Facebook;\n}(_react.Component);\n\nexports[\"default\"] = Facebook;\n\n_defineProperty(Facebook, \"displayName\", 'Facebook');\n\n_defineProperty(Facebook, \"canPlay\", _patterns.canPlay.facebook);\n\n_defineProperty(Facebook, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar HAS_NAVIGATOR = typeof navigator !== 'undefined';\nvar IS_IPAD_PRO = HAS_NAVIGATOR && navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1;\nvar IS_IOS = HAS_NAVIGATOR && (/iPad|iPhone|iPod/.test(navigator.userAgent) || IS_IPAD_PRO) && !window.MSStream;\nvar HLS_SDK_URL = 'https://cdn.jsdelivr.net/npm/hls.js@VERSION/dist/hls.min.js';\nvar HLS_GLOBAL = 'Hls';\nvar DASH_SDK_URL = 'https://cdnjs.cloudflare.com/ajax/libs/dashjs/VERSION/dash.all.min.js';\nvar DASH_GLOBAL = 'dashjs';\nvar FLV_SDK_URL = 'https://cdn.jsdelivr.net/npm/flv.js@VERSION/dist/flv.min.js';\nvar FLV_GLOBAL = 'flvjs';\nvar MATCH_DROPBOX_URL = /www\\.dropbox\\.com\\/.+/;\nvar MATCH_CLOUDFLARE_STREAM = /https:\\/\\/watch\\.cloudflarestream\\.com\\/([a-z0-9]+)/;\nvar REPLACE_CLOUDFLARE_STREAM = 'https://videodelivery.net/{id}/manifest/video.m3u8';\n\nvar FilePlayer = /*#__PURE__*/function (_Component) {\n  _inherits(FilePlayer, _Component);\n\n  var _super = _createSuper(FilePlayer);\n\n  function FilePlayer() {\n    var _this;\n\n    _classCallCheck(this, FilePlayer);\n\n    for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n      _args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(_args));\n\n    _defineProperty(_assertThisInitialized(_this), \"onReady\", function () {\n      var _this$props;\n\n      return (_this$props = _this.props).onReady.apply(_this$props, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onPlay\", function () {\n      var _this$props2;\n\n      return (_this$props2 = _this.props).onPlay.apply(_this$props2, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onBuffer\", function () {\n      var _this$props3;\n\n      return (_this$props3 = _this.props).onBuffer.apply(_this$props3, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onBufferEnd\", function () {\n      var _this$props4;\n\n      return (_this$props4 = _this.props).onBufferEnd.apply(_this$props4, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onPause\", function () {\n      var _this$props5;\n\n      return (_this$props5 = _this.props).onPause.apply(_this$props5, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onEnded\", function () {\n      var _this$props6;\n\n      return (_this$props6 = _this.props).onEnded.apply(_this$props6, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onError\", function () {\n      var _this$props7;\n\n      return (_this$props7 = _this.props).onError.apply(_this$props7, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onEnablePIP\", function () {\n      var _this$props8;\n\n      return (_this$props8 = _this.props).onEnablePIP.apply(_this$props8, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onDisablePIP\", function (e) {\n      var _this$props9 = _this.props,\n          onDisablePIP = _this$props9.onDisablePIP,\n          playing = _this$props9.playing;\n      onDisablePIP(e);\n\n      if (playing) {\n        _this.play();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onPresentationModeChange\", function (e) {\n      if (_this.player && (0, _utils.supportsWebKitPresentationMode)(_this.player)) {\n        var webkitPresentationMode = _this.player.webkitPresentationMode;\n\n        if (webkitPresentationMode === 'picture-in-picture') {\n          _this.onEnablePIP(e);\n        } else if (webkitPresentationMode === 'inline') {\n          _this.onDisablePIP(e);\n        }\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onSeek\", function (e) {\n      _this.props.onSeek(e.target.currentTime);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.player.muted = true;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.player.muted = false;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderSourceElement\", function (source, index) {\n      if (typeof source === 'string') {\n        return /*#__PURE__*/_react[\"default\"].createElement(\"source\", {\n          key: index,\n          src: source\n        });\n      }\n\n      return /*#__PURE__*/_react[\"default\"].createElement(\"source\", _extends({\n        key: index\n      }, source));\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderTrack\", function (track, index) {\n      return /*#__PURE__*/_react[\"default\"].createElement(\"track\", _extends({\n        key: index\n      }, track));\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (player) {\n      if (_this.player) {\n        // Store previous player to be used by removeListeners()\n        _this.prevPlayer = _this.player;\n      }\n\n      _this.player = player;\n    });\n\n    return _this;\n  }\n\n  _createClass(FilePlayer, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n      this.addListeners(this.player);\n\n      if (IS_IOS) {\n        this.player.load();\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      if (this.shouldUseAudio(this.props) !== this.shouldUseAudio(prevProps)) {\n        this.removeListeners(this.prevPlayer, prevProps.url);\n        this.addListeners(this.player);\n      }\n\n      if (this.props.url !== prevProps.url && !(0, _utils.isMediaStream)(this.props.url)) {\n        this.player.srcObject = null;\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.removeListeners(this.player);\n\n      if (this.hls) {\n        this.hls.destroy();\n      }\n    }\n  }, {\n    key: \"addListeners\",\n    value: function addListeners(player) {\n      var _this$props10 = this.props,\n          url = _this$props10.url,\n          playsinline = _this$props10.playsinline;\n      player.addEventListener('play', this.onPlay);\n      player.addEventListener('waiting', this.onBuffer);\n      player.addEventListener('playing', this.onBufferEnd);\n      player.addEventListener('pause', this.onPause);\n      player.addEventListener('seeked', this.onSeek);\n      player.addEventListener('ended', this.onEnded);\n      player.addEventListener('error', this.onError);\n      player.addEventListener('enterpictureinpicture', this.onEnablePIP);\n      player.addEventListener('leavepictureinpicture', this.onDisablePIP);\n      player.addEventListener('webkitpresentationmodechanged', this.onPresentationModeChange);\n\n      if (!this.shouldUseHLS(url)) {\n        // onReady is handled by hls.js\n        player.addEventListener('canplay', this.onReady);\n      }\n\n      if (playsinline) {\n        player.setAttribute('playsinline', '');\n        player.setAttribute('webkit-playsinline', '');\n        player.setAttribute('x5-playsinline', '');\n      }\n    }\n  }, {\n    key: \"removeListeners\",\n    value: function removeListeners(player, url) {\n      player.removeEventListener('canplay', this.onReady);\n      player.removeEventListener('play', this.onPlay);\n      player.removeEventListener('waiting', this.onBuffer);\n      player.removeEventListener('playing', this.onBufferEnd);\n      player.removeEventListener('pause', this.onPause);\n      player.removeEventListener('seeked', this.onSeek);\n      player.removeEventListener('ended', this.onEnded);\n      player.removeEventListener('error', this.onError);\n      player.removeEventListener('enterpictureinpicture', this.onEnablePIP);\n      player.removeEventListener('leavepictureinpicture', this.onDisablePIP);\n      player.removeEventListener('webkitpresentationmodechanged', this.onPresentationModeChange);\n\n      if (!this.shouldUseHLS(url)) {\n        // onReady is handled by hls.js\n        player.removeEventListener('canplay', this.onReady);\n      }\n    } // Proxy methods to prevent listener leaks\n\n  }, {\n    key: \"shouldUseAudio\",\n    value: function shouldUseAudio(props) {\n      if (props.config.forceVideo) {\n        return false;\n      }\n\n      if (props.config.attributes.poster) {\n        return false; // Use <video> so that poster is shown\n      }\n\n      return _patterns.AUDIO_EXTENSIONS.test(props.url) || props.config.forceAudio;\n    }\n  }, {\n    key: \"shouldUseHLS\",\n    value: function shouldUseHLS(url) {\n      if (this.props.config.forceHLS) {\n        return true;\n      }\n\n      if (IS_IOS) {\n        return false;\n      }\n\n      return _patterns.HLS_EXTENSIONS.test(url) || MATCH_CLOUDFLARE_STREAM.test(url);\n    }\n  }, {\n    key: \"shouldUseDASH\",\n    value: function shouldUseDASH(url) {\n      return _patterns.DASH_EXTENSIONS.test(url) || this.props.config.forceDASH;\n    }\n  }, {\n    key: \"shouldUseFLV\",\n    value: function shouldUseFLV(url) {\n      return _patterns.FLV_EXTENSIONS.test(url) || this.props.config.forceFLV;\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      var _this$props$config = this.props.config,\n          hlsVersion = _this$props$config.hlsVersion,\n          hlsOptions = _this$props$config.hlsOptions,\n          dashVersion = _this$props$config.dashVersion,\n          flvVersion = _this$props$config.flvVersion;\n\n      if (this.hls) {\n        this.hls.destroy();\n      }\n\n      if (this.dash) {\n        this.dash.reset();\n      }\n\n      if (this.shouldUseHLS(url)) {\n        (0, _utils.getSDK)(HLS_SDK_URL.replace('VERSION', hlsVersion), HLS_GLOBAL).then(function (Hls) {\n          _this2.hls = new Hls(hlsOptions);\n\n          _this2.hls.on(Hls.Events.MANIFEST_PARSED, function () {\n            _this2.props.onReady();\n          });\n\n          _this2.hls.on(Hls.Events.ERROR, function (e, data) {\n            _this2.props.onError(e, data, _this2.hls, Hls);\n          });\n\n          if (MATCH_CLOUDFLARE_STREAM.test(url)) {\n            var id = url.match(MATCH_CLOUDFLARE_STREAM)[1];\n\n            _this2.hls.loadSource(REPLACE_CLOUDFLARE_STREAM.replace('{id}', id));\n          } else {\n            _this2.hls.loadSource(url);\n          }\n\n          _this2.hls.attachMedia(_this2.player);\n\n          _this2.props.onLoaded();\n        });\n      }\n\n      if (this.shouldUseDASH(url)) {\n        (0, _utils.getSDK)(DASH_SDK_URL.replace('VERSION', dashVersion), DASH_GLOBAL).then(function (dashjs) {\n          _this2.dash = dashjs.MediaPlayer().create();\n\n          _this2.dash.initialize(_this2.player, url, _this2.props.playing);\n\n          _this2.dash.on('error', _this2.props.onError);\n\n          if (parseInt(dashVersion) < 3) {\n            _this2.dash.getDebug().setLogToBrowserConsole(false);\n          } else {\n            _this2.dash.updateSettings({\n              debug: {\n                logLevel: dashjs.Debug.LOG_LEVEL_NONE\n              }\n            });\n          }\n\n          _this2.props.onLoaded();\n        });\n      }\n\n      if (this.shouldUseFLV(url)) {\n        (0, _utils.getSDK)(FLV_SDK_URL.replace('VERSION', flvVersion), FLV_GLOBAL).then(function (flvjs) {\n          _this2.flv = flvjs.createPlayer({\n            type: 'flv',\n            url: url\n          });\n\n          _this2.flv.attachMediaElement(_this2.player);\n\n          _this2.flv.load();\n\n          _this2.props.onLoaded();\n        });\n      }\n\n      if (url instanceof Array) {\n        // When setting new urls (<source>) on an already loaded video,\n        // HTMLMediaElement.load() is needed to reset the media element\n        // and restart the media resource. Just replacing children source\n        // dom nodes is not enough\n        this.player.load();\n      } else if ((0, _utils.isMediaStream)(url)) {\n        try {\n          this.player.srcObject = url;\n        } catch (e) {\n          this.player.src = window.URL.createObjectURL(url);\n        }\n      }\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      var promise = this.player.play();\n\n      if (promise) {\n        promise[\"catch\"](this.props.onError);\n      }\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.player.pause();\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      this.player.removeAttribute('src');\n\n      if (this.dash) {\n        this.dash.reset();\n      }\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.player.currentTime = seconds;\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.player.volume = fraction;\n    }\n  }, {\n    key: \"enablePIP\",\n    value: function enablePIP() {\n      if (this.player.requestPictureInPicture && document.pictureInPictureElement !== this.player) {\n        this.player.requestPictureInPicture();\n      } else if ((0, _utils.supportsWebKitPresentationMode)(this.player) && this.player.webkitPresentationMode !== 'picture-in-picture') {\n        this.player.webkitSetPresentationMode('picture-in-picture');\n      }\n    }\n  }, {\n    key: \"disablePIP\",\n    value: function disablePIP() {\n      if (document.exitPictureInPicture && document.pictureInPictureElement === this.player) {\n        document.exitPictureInPicture();\n      } else if ((0, _utils.supportsWebKitPresentationMode)(this.player) && this.player.webkitPresentationMode !== 'inline') {\n        this.player.webkitSetPresentationMode('inline');\n      }\n    }\n  }, {\n    key: \"setPlaybackRate\",\n    value: function setPlaybackRate(rate) {\n      this.player.playbackRate = rate;\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      if (!this.player) return null;\n      var _this$player = this.player,\n          duration = _this$player.duration,\n          seekable = _this$player.seekable; // on iOS, live streams return Infinity for the duration\n      // so instead we use the end of the seekable timerange\n\n      if (duration === Infinity && seekable.length > 0) {\n        return seekable.end(seekable.length - 1);\n      }\n\n      return duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      if (!this.player) return null;\n      return this.player.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      if (!this.player) return null;\n      var buffered = this.player.buffered;\n\n      if (buffered.length === 0) {\n        return 0;\n      }\n\n      var end = buffered.end(buffered.length - 1);\n      var duration = this.getDuration();\n\n      if (end > duration) {\n        return duration;\n      }\n\n      return end;\n    }\n  }, {\n    key: \"getSource\",\n    value: function getSource(url) {\n      var useHLS = this.shouldUseHLS(url);\n      var useDASH = this.shouldUseDASH(url);\n      var useFLV = this.shouldUseFLV(url);\n\n      if (url instanceof Array || (0, _utils.isMediaStream)(url) || useHLS || useDASH || useFLV) {\n        return undefined;\n      }\n\n      if (MATCH_DROPBOX_URL.test(url)) {\n        return url.replace('www.dropbox.com', 'dl.dropboxusercontent.com');\n      }\n\n      return url;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props11 = this.props,\n          url = _this$props11.url,\n          playing = _this$props11.playing,\n          loop = _this$props11.loop,\n          controls = _this$props11.controls,\n          muted = _this$props11.muted,\n          config = _this$props11.config,\n          width = _this$props11.width,\n          height = _this$props11.height;\n      var useAudio = this.shouldUseAudio(this.props);\n      var Element = useAudio ? 'audio' : 'video';\n      var style = {\n        width: width === 'auto' ? width : '100%',\n        height: height === 'auto' ? height : '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(Element, _extends({\n        ref: this.ref,\n        src: this.getSource(url),\n        style: style,\n        preload: \"auto\",\n        autoPlay: playing || undefined,\n        controls: controls,\n        muted: muted,\n        loop: loop\n      }, config.attributes), url instanceof Array && url.map(this.renderSourceElement), config.tracks.map(this.renderTrack));\n    }\n  }]);\n\n  return FilePlayer;\n}(_react.Component);\n\nexports[\"default\"] = FilePlayer;\n\n_defineProperty(FilePlayer, \"displayName\", 'FilePlayer');\n\n_defineProperty(FilePlayer, \"canPlay\", _patterns.canPlay.file);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://cdn.embed.ly/player-0.1.0.min.js';\nvar SDK_GLOBAL = 'playerjs';\n\nvar Kaltura = /*#__PURE__*/function (_Component) {\n  _inherits(Kaltura, _Component);\n\n  var _super = _createSuper(Kaltura);\n\n  function Kaltura() {\n    var _this;\n\n    _classCallCheck(this, Kaltura);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('mute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('unmute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n      _this.iframe = iframe;\n    });\n\n    return _this;\n  }\n\n  _createClass(Kaltura, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (playerjs) {\n        if (!_this2.iframe) return;\n        _this2.player = new playerjs.Player(_this2.iframe);\n\n        _this2.player.on('ready', function () {\n          _this2.player.isReady = true;\n\n          _this2.player.on('play', _this2.props.onPlay);\n\n          _this2.player.on('pause', _this2.props.onPause);\n\n          _this2.player.on('seeked', _this2.props.onSeek);\n\n          _this2.player.on('ended', _this2.props.onEnded);\n\n          _this2.player.on('error', _this2.props.onError);\n\n          _this2.player.on('timeupdate', function (_ref) {\n            var duration = _ref.duration,\n                seconds = _ref.seconds;\n            _this2.duration = duration;\n            _this2.currentTime = seconds;\n          });\n\n          _this2.player.on('buffered', function (_ref2) {\n            var percent = _ref2.percent;\n\n            if (_this2.duration) {\n              _this2.secondsLoaded = _this2.duration * percent;\n            }\n          });\n\n          _this2.player.setLoop(_this2.props.loop);\n\n          if (_this2.props.muted) {\n            _this2.player.mute();\n          }\n\n          setTimeout(function () {\n            _this2.props.onReady();\n          });\n        });\n      }, this.props.onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('setCurrentTime', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"setLoop\",\n    value: function setLoop(loop) {\n      this.callPlayer('setLoop', loop);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.secondsLoaded;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n        ref: this.ref,\n        src: this.props.url,\n        frameBorder: \"0\",\n        scrolling: \"no\",\n        style: style,\n        allowFullScreen: true,\n        allow: \"encrypted-media\",\n        referrerPolicy: \"no-referrer-when-downgrade\"\n      });\n    }\n  }]);\n\n  return Kaltura;\n}(_react.Component);\n\nexports[\"default\"] = Kaltura;\n\n_defineProperty(Kaltura, \"displayName\", 'Kaltura');\n\n_defineProperty(Kaltura, \"canPlay\", _patterns.canPlay.kaltura);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://widget.mixcloud.com/media/js/widgetApi.js';\nvar SDK_GLOBAL = 'Mixcloud';\n\nvar Mixcloud = /*#__PURE__*/function (_Component) {\n  _inherits(Mixcloud, _Component);\n\n  var _super = _createSuper(Mixcloud);\n\n  function Mixcloud() {\n    var _this;\n\n    _classCallCheck(this, Mixcloud);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {// No volume support\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {// No volume support\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n      _this.iframe = iframe;\n    });\n\n    return _this;\n  }\n\n  _createClass(Mixcloud, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Mixcloud) {\n        _this2.player = Mixcloud.PlayerWidget(_this2.iframe);\n\n        _this2.player.ready.then(function () {\n          _this2.player.events.play.on(_this2.props.onPlay);\n\n          _this2.player.events.pause.on(_this2.props.onPause);\n\n          _this2.player.events.ended.on(_this2.props.onEnded);\n\n          _this2.player.events.error.on(_this2.props.error);\n\n          _this2.player.events.progress.on(function (seconds, duration) {\n            _this2.currentTime = seconds;\n            _this2.duration = duration;\n          });\n\n          _this2.props.onReady();\n        });\n      }, this.props.onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('seek', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {// No volume support\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return null;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          url = _this$props.url,\n          config = _this$props.config;\n      var id = url.match(_patterns.MATCH_URL_MIXCLOUD)[1];\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      var query = (0, _utils.queryString)(_objectSpread(_objectSpread({}, config.options), {}, {\n        feed: \"/\".concat(id, \"/\")\n      })); // We have to give the iframe a key here to prevent a\n      // weird dialog appearing when loading a new track\n\n      return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n        key: id,\n        ref: this.ref,\n        style: style,\n        src: \"https://www.mixcloud.com/widget/iframe/?\".concat(query),\n        frameBorder: \"0\"\n      });\n    }\n  }]);\n\n  return Mixcloud;\n}(_react.Component);\n\nexports[\"default\"] = Mixcloud;\n\n_defineProperty(Mixcloud, \"displayName\", 'Mixcloud');\n\n_defineProperty(Mixcloud, \"canPlay\", _patterns.canPlay.mixcloud);\n\n_defineProperty(Mixcloud, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://w.soundcloud.com/player/api.js';\nvar SDK_GLOBAL = 'SC';\n\nvar SoundCloud = /*#__PURE__*/function (_Component) {\n  _inherits(SoundCloud, _Component);\n\n  var _super = _createSuper(SoundCloud);\n\n  function SoundCloud() {\n    var _this;\n\n    _classCallCheck(this, SoundCloud);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"fractionLoaded\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.setVolume(0);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      if (_this.props.volume !== null) {\n        _this.setVolume(_this.props.volume);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n      _this.iframe = iframe;\n    });\n\n    return _this;\n  }\n\n  _createClass(SoundCloud, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url, isReady) {\n      var _this2 = this;\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (SC) {\n        if (!_this2.iframe) return;\n        var _SC$Widget$Events = SC.Widget.Events,\n            PLAY = _SC$Widget$Events.PLAY,\n            PLAY_PROGRESS = _SC$Widget$Events.PLAY_PROGRESS,\n            PAUSE = _SC$Widget$Events.PAUSE,\n            FINISH = _SC$Widget$Events.FINISH,\n            ERROR = _SC$Widget$Events.ERROR;\n\n        if (!isReady) {\n          _this2.player = SC.Widget(_this2.iframe);\n\n          _this2.player.bind(PLAY, _this2.props.onPlay);\n\n          _this2.player.bind(PAUSE, function () {\n            var remaining = _this2.duration - _this2.currentTime;\n\n            if (remaining < 0.05) {\n              // Prevent onPause firing right before onEnded\n              return;\n            }\n\n            _this2.props.onPause();\n          });\n\n          _this2.player.bind(PLAY_PROGRESS, function (e) {\n            _this2.currentTime = e.currentPosition / 1000;\n            _this2.fractionLoaded = e.loadedProgress;\n          });\n\n          _this2.player.bind(FINISH, function () {\n            return _this2.props.onEnded();\n          });\n\n          _this2.player.bind(ERROR, function (e) {\n            return _this2.props.onError(e);\n          });\n        }\n\n        _this2.player.load(url, _objectSpread(_objectSpread({}, _this2.props.config.options), {}, {\n          callback: function callback() {\n            _this2.player.getDuration(function (duration) {\n              _this2.duration = duration / 1000;\n\n              _this2.props.onReady();\n            });\n          }\n        }));\n      });\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('seekTo', seconds * 1000);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction * 100);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.fractionLoaded * this.duration;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var display = this.props.display;\n      var style = {\n        width: '100%',\n        height: '100%',\n        display: display\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n        ref: this.ref,\n        src: \"https://w.soundcloud.com/player/?url=\".concat(encodeURIComponent(this.props.url)),\n        style: style,\n        frameBorder: 0,\n        allow: \"autoplay\"\n      });\n    }\n  }]);\n\n  return SoundCloud;\n}(_react.Component);\n\nexports[\"default\"] = SoundCloud;\n\n_defineProperty(SoundCloud, \"displayName\", 'SoundCloud');\n\n_defineProperty(SoundCloud, \"canPlay\", _patterns.canPlay.soundcloud);\n\n_defineProperty(SoundCloud, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://cdn.embed.ly/player-0.1.0.min.js';\nvar SDK_GLOBAL = 'playerjs';\n\nvar Streamable = /*#__PURE__*/function (_Component) {\n  _inherits(Streamable, _Component);\n\n  var _super = _createSuper(Streamable);\n\n  function Streamable() {\n    var _this;\n\n    _classCallCheck(this, Streamable);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('mute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('unmute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n      _this.iframe = iframe;\n    });\n\n    return _this;\n  }\n\n  _createClass(Streamable, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (playerjs) {\n        if (!_this2.iframe) return;\n        _this2.player = new playerjs.Player(_this2.iframe);\n\n        _this2.player.setLoop(_this2.props.loop);\n\n        _this2.player.on('ready', _this2.props.onReady);\n\n        _this2.player.on('play', _this2.props.onPlay);\n\n        _this2.player.on('pause', _this2.props.onPause);\n\n        _this2.player.on('seeked', _this2.props.onSeek);\n\n        _this2.player.on('ended', _this2.props.onEnded);\n\n        _this2.player.on('error', _this2.props.onError);\n\n        _this2.player.on('timeupdate', function (_ref) {\n          var duration = _ref.duration,\n              seconds = _ref.seconds;\n          _this2.duration = duration;\n          _this2.currentTime = seconds;\n        });\n\n        _this2.player.on('buffered', function (_ref2) {\n          var percent = _ref2.percent;\n\n          if (_this2.duration) {\n            _this2.secondsLoaded = _this2.duration * percent;\n          }\n        });\n\n        if (_this2.props.muted) {\n          _this2.player.mute();\n        }\n      }, this.props.onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('setCurrentTime', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction * 100);\n    }\n  }, {\n    key: \"setLoop\",\n    value: function setLoop(loop) {\n      this.callPlayer('setLoop', loop);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.secondsLoaded;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var id = this.props.url.match(_patterns.MATCH_URL_STREAMABLE)[1];\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n        ref: this.ref,\n        src: \"https://streamable.com/o/\".concat(id),\n        frameBorder: \"0\",\n        scrolling: \"no\",\n        style: style,\n        allowFullScreen: true\n      });\n    }\n  }]);\n\n  return Streamable;\n}(_react.Component);\n\nexports[\"default\"] = Streamable;\n\n_defineProperty(Streamable, \"displayName\", 'Streamable');\n\n_defineProperty(Streamable, \"canPlay\", _patterns.canPlay.streamable);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://player.twitch.tv/js/embed/v1.js';\nvar SDK_GLOBAL = 'Twitch';\nvar PLAYER_ID_PREFIX = 'twitch-player-';\n\nvar Twitch = /*#__PURE__*/function (_Component) {\n  _inherits(Twitch, _Component);\n\n  var _super = _createSuper(Twitch);\n\n  function Twitch() {\n    var _this;\n\n    _classCallCheck(this, Twitch);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"playerID\", _this.props.config.playerId || \"\".concat(PLAYER_ID_PREFIX).concat((0, _utils.randomString)()));\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('setMuted', true);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('setMuted', false);\n    });\n\n    return _this;\n  }\n\n  _createClass(Twitch, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url, isReady) {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          playsinline = _this$props.playsinline,\n          onError = _this$props.onError,\n          config = _this$props.config,\n          controls = _this$props.controls;\n\n      var isChannel = _patterns.MATCH_URL_TWITCH_CHANNEL.test(url);\n\n      var id = isChannel ? url.match(_patterns.MATCH_URL_TWITCH_CHANNEL)[1] : url.match(_patterns.MATCH_URL_TWITCH_VIDEO)[1];\n\n      if (isReady) {\n        if (isChannel) {\n          this.player.setChannel(id);\n        } else {\n          this.player.setVideo('v' + id);\n        }\n\n        return;\n      }\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Twitch) {\n        _this2.player = new Twitch.Player(_this2.playerID, _objectSpread({\n          video: isChannel ? '' : id,\n          channel: isChannel ? id : '',\n          height: '100%',\n          width: '100%',\n          playsinline: playsinline,\n          autoplay: _this2.props.playing,\n          muted: _this2.props.muted,\n          // https://github.com/CookPete/react-player/issues/733#issuecomment-549085859\n          controls: isChannel ? true : controls,\n          time: (0, _utils.parseStartTime)(url)\n        }, config.options));\n        var _Twitch$Player = Twitch.Player,\n            READY = _Twitch$Player.READY,\n            PLAYING = _Twitch$Player.PLAYING,\n            PAUSE = _Twitch$Player.PAUSE,\n            ENDED = _Twitch$Player.ENDED,\n            ONLINE = _Twitch$Player.ONLINE,\n            OFFLINE = _Twitch$Player.OFFLINE;\n\n        _this2.player.addEventListener(READY, _this2.props.onReady);\n\n        _this2.player.addEventListener(PLAYING, _this2.props.onPlay);\n\n        _this2.player.addEventListener(PAUSE, _this2.props.onPause);\n\n        _this2.player.addEventListener(ENDED, _this2.props.onEnded); // Prevent weird isLoading behaviour when streams are offline\n\n\n        _this2.player.addEventListener(ONLINE, _this2.props.onLoaded);\n\n        _this2.player.addEventListener(OFFLINE, _this2.props.onLoaded);\n      }, onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('seek', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.callPlayer('getDuration');\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.callPlayer('getCurrentTime');\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return null;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: style,\n        id: this.playerID\n      });\n    }\n  }]);\n\n  return Twitch;\n}(_react.Component);\n\nexports[\"default\"] = Twitch;\n\n_defineProperty(Twitch, \"displayName\", 'Twitch');\n\n_defineProperty(Twitch, \"canPlay\", _patterns.canPlay.twitch);\n\n_defineProperty(Twitch, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://play.vidyard.com/embed/v4.js';\nvar SDK_GLOBAL = 'VidyardV4';\nvar SDK_GLOBAL_READY = 'onVidyardAPI';\n\nvar Vidyard = /*#__PURE__*/function (_Component) {\n  _inherits(Vidyard, _Component);\n\n  var _super = _createSuper(Vidyard);\n\n  function Vidyard() {\n    var _this;\n\n    _classCallCheck(this, Vidyard);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.setVolume(0);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      if (_this.props.volume !== null) {\n        _this.setVolume(_this.props.volume);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n      _this.container = container;\n    });\n\n    return _this;\n  }\n\n  _createClass(Vidyard, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          playing = _this$props.playing,\n          config = _this$props.config,\n          onError = _this$props.onError,\n          onDuration = _this$props.onDuration;\n      var id = url && url.match(_patterns.MATCH_URL_VIDYARD)[1];\n\n      if (this.player) {\n        this.stop();\n      }\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (Vidyard) {\n        if (!_this2.container) return;\n        Vidyard.api.addReadyListener(function (data, player) {\n          _this2.player = player;\n\n          _this2.player.on('ready', _this2.props.onReady);\n\n          _this2.player.on('play', _this2.props.onPlay);\n\n          _this2.player.on('pause', _this2.props.onPause);\n\n          _this2.player.on('seek', _this2.props.onSeek);\n\n          _this2.player.on('playerComplete', _this2.props.onEnded);\n        }, id);\n        Vidyard.api.renderPlayer(_objectSpread({\n          uuid: id,\n          container: _this2.container,\n          autoplay: playing ? 1 : 0\n        }, config.options));\n        Vidyard.api.getPlayerMetadata(id).then(function (meta) {\n          _this2.duration = meta.length_in_seconds;\n          onDuration(meta.length_in_seconds);\n        });\n      }, onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      window.VidyardV4.api.destroyPlayer(this.player);\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(amount) {\n      this.callPlayer('seek', amount);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"setPlaybackRate\",\n    value: function setPlaybackRate(rate) {\n      this.callPlayer('setPlaybackSpeed', rate);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.callPlayer('currentTime');\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return null;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var display = this.props.display;\n      var style = {\n        width: '100%',\n        height: '100%',\n        display: display\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: style\n      }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        ref: this.ref\n      }));\n    }\n  }]);\n\n  return Vidyard;\n}(_react.Component);\n\nexports[\"default\"] = Vidyard;\n\n_defineProperty(Vidyard, \"displayName\", 'Vidyard');\n\n_defineProperty(Vidyard, \"canPlay\", _patterns.canPlay.vidyard);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://player.vimeo.com/api/player.js';\nvar SDK_GLOBAL = 'Vimeo';\n\nvar Vimeo = /*#__PURE__*/function (_Component) {\n  _inherits(Vimeo, _Component);\n\n  var _super = _createSuper(Vimeo);\n\n  function Vimeo() {\n    var _this;\n\n    _classCallCheck(this, Vimeo);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.setVolume(0);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      if (_this.props.volume !== null) {\n        _this.setVolume(_this.props.volume);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n      _this.container = container;\n    });\n\n    return _this;\n  }\n\n  _createClass(Vimeo, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      this.duration = null;\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Vimeo) {\n        if (!_this2.container) return;\n        _this2.player = new Vimeo.Player(_this2.container, _objectSpread({\n          url: url,\n          autoplay: _this2.props.playing,\n          muted: _this2.props.muted,\n          loop: _this2.props.loop,\n          playsinline: _this2.props.playsinline,\n          controls: _this2.props.controls\n        }, _this2.props.config.playerOptions));\n\n        _this2.player.ready().then(function () {\n          var iframe = _this2.container.querySelector('iframe');\n\n          iframe.style.width = '100%';\n          iframe.style.height = '100%';\n        })[\"catch\"](_this2.props.onError);\n\n        _this2.player.on('loaded', function () {\n          _this2.props.onReady();\n\n          _this2.refreshDuration();\n        });\n\n        _this2.player.on('play', function () {\n          _this2.props.onPlay();\n\n          _this2.refreshDuration();\n        });\n\n        _this2.player.on('pause', _this2.props.onPause);\n\n        _this2.player.on('seeked', function (e) {\n          return _this2.props.onSeek(e.seconds);\n        });\n\n        _this2.player.on('ended', _this2.props.onEnded);\n\n        _this2.player.on('error', _this2.props.onError);\n\n        _this2.player.on('timeupdate', function (_ref) {\n          var seconds = _ref.seconds;\n          _this2.currentTime = seconds;\n        });\n\n        _this2.player.on('progress', function (_ref2) {\n          var seconds = _ref2.seconds;\n          _this2.secondsLoaded = seconds;\n        });\n\n        _this2.player.on('bufferstart', _this2.props.onBuffer);\n\n        _this2.player.on('bufferend', _this2.props.onBufferEnd);\n      }, this.props.onError);\n    }\n  }, {\n    key: \"refreshDuration\",\n    value: function refreshDuration() {\n      var _this3 = this;\n\n      this.player.getDuration().then(function (duration) {\n        _this3.duration = duration;\n      });\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      var promise = this.callPlayer('play');\n\n      if (promise) {\n        promise[\"catch\"](this.props.onError);\n      }\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      this.callPlayer('unload');\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('setCurrentTime', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"setLoop\",\n    value: function setLoop(loop) {\n      this.callPlayer('setLoop', loop);\n    }\n  }, {\n    key: \"setPlaybackRate\",\n    value: function setPlaybackRate(rate) {\n      this.callPlayer('setPlaybackRate', rate);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.secondsLoaded;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var display = this.props.display;\n      var style = {\n        width: '100%',\n        height: '100%',\n        overflow: 'hidden',\n        display: display\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        key: this.props.url,\n        ref: this.ref,\n        style: style\n      });\n    }\n  }]);\n\n  return Vimeo;\n}(_react.Component);\n\nexports[\"default\"] = Vimeo;\n\n_defineProperty(Vimeo, \"displayName\", 'Vimeo');\n\n_defineProperty(Vimeo, \"canPlay\", _patterns.canPlay.vimeo);\n\n_defineProperty(Vimeo, \"forceLoad\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://fast.wistia.com/assets/external/E-v1.js';\nvar SDK_GLOBAL = 'Wistia';\nvar PLAYER_ID_PREFIX = 'wistia-player-';\n\nvar Wistia = /*#__PURE__*/function (_Component) {\n  _inherits(Wistia, _Component);\n\n  var _super = _createSuper(Wistia);\n\n  function Wistia() {\n    var _this;\n\n    _classCallCheck(this, Wistia);\n\n    for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n      _args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(_args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"playerID\", _this.props.config.playerId || \"\".concat(PLAYER_ID_PREFIX).concat((0, _utils.randomString)()));\n\n    _defineProperty(_assertThisInitialized(_this), \"onPlay\", function () {\n      var _this$props;\n\n      return (_this$props = _this.props).onPlay.apply(_this$props, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onPause\", function () {\n      var _this$props2;\n\n      return (_this$props2 = _this.props).onPause.apply(_this$props2, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onSeek\", function () {\n      var _this$props3;\n\n      return (_this$props3 = _this.props).onSeek.apply(_this$props3, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onEnded\", function () {\n      var _this$props4;\n\n      return (_this$props4 = _this.props).onEnded.apply(_this$props4, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('mute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('unmute');\n    });\n\n    return _this;\n  }\n\n  _createClass(Wistia, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      var _this$props5 = this.props,\n          playing = _this$props5.playing,\n          muted = _this$props5.muted,\n          controls = _this$props5.controls,\n          _onReady = _this$props5.onReady,\n          config = _this$props5.config,\n          onError = _this$props5.onError;\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Wistia) {\n        if (config.customControls) {\n          config.customControls.forEach(function (control) {\n            return Wistia.defineControl(control);\n          });\n        }\n\n        window._wq = window._wq || [];\n\n        window._wq.push({\n          id: _this2.playerID,\n          options: _objectSpread({\n            autoPlay: playing,\n            silentAutoPlay: 'allow',\n            muted: muted,\n            controlsVisibleOnLoad: controls,\n            fullscreenButton: controls,\n            playbar: controls,\n            playbackRateControl: controls,\n            qualityControl: controls,\n            volumeControl: controls,\n            settingsControl: controls,\n            smallPlayButton: controls\n          }, config.options),\n          onReady: function onReady(player) {\n            _this2.player = player;\n\n            _this2.unbind();\n\n            _this2.player.bind('play', _this2.onPlay);\n\n            _this2.player.bind('pause', _this2.onPause);\n\n            _this2.player.bind('seek', _this2.onSeek);\n\n            _this2.player.bind('end', _this2.onEnded);\n\n            _onReady();\n          }\n        });\n      }, onError);\n    }\n  }, {\n    key: \"unbind\",\n    value: function unbind() {\n      this.player.unbind('play', this.onPlay);\n      this.player.unbind('pause', this.onPause);\n      this.player.unbind('seek', this.onSeek);\n      this.player.unbind('end', this.onEnded);\n    } // Proxy methods to prevent listener leaks\n\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      this.unbind();\n      this.callPlayer('remove');\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('time', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('volume', fraction);\n    }\n  }, {\n    key: \"setPlaybackRate\",\n    value: function setPlaybackRate(rate) {\n      this.callPlayer('playbackRate', rate);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.callPlayer('duration');\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.callPlayer('time');\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return null;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var url = this.props.url;\n      var videoID = url && url.match(_patterns.MATCH_URL_WISTIA)[1];\n      var className = \"wistia_embed wistia_async_\".concat(videoID);\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        id: this.playerID,\n        key: videoID,\n        className: className,\n        style: style\n      });\n    }\n  }]);\n\n  return Wistia;\n}(_react.Component);\n\nexports[\"default\"] = Wistia;\n\n_defineProperty(Wistia, \"displayName\", 'Wistia');\n\n_defineProperty(Wistia, \"canPlay\", _patterns.canPlay.wistia);\n\n_defineProperty(Wistia, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://www.youtube.com/iframe_api';\nvar SDK_GLOBAL = 'YT';\nvar SDK_GLOBAL_READY = 'onYouTubeIframeAPIReady';\nvar MATCH_PLAYLIST = /[?&](?:list|channel)=([a-zA-Z0-9_-]+)/;\nvar MATCH_USER_UPLOADS = /user\\/([a-zA-Z0-9_-]+)\\/?/;\nvar MATCH_NOCOOKIE = /youtube-nocookie\\.com/;\nvar NOCOOKIE_HOST = 'https://www.youtube-nocookie.com';\n\nvar YouTube = /*#__PURE__*/function (_Component) {\n  _inherits(YouTube, _Component);\n\n  var _super = _createSuper(YouTube);\n\n  function YouTube() {\n    var _this;\n\n    _classCallCheck(this, YouTube);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"parsePlaylist\", function (url) {\n      if (url instanceof Array) {\n        return {\n          listType: 'playlist',\n          playlist: url.map(_this.getID).join(',')\n        };\n      }\n\n      if (MATCH_PLAYLIST.test(url)) {\n        var _url$match = url.match(MATCH_PLAYLIST),\n            _url$match2 = _slicedToArray(_url$match, 2),\n            playlistId = _url$match2[1];\n\n        return {\n          listType: 'playlist',\n          list: playlistId.replace(/^UC/, 'UU')\n        };\n      }\n\n      if (MATCH_USER_UPLOADS.test(url)) {\n        var _url$match3 = url.match(MATCH_USER_UPLOADS),\n            _url$match4 = _slicedToArray(_url$match3, 2),\n            username = _url$match4[1];\n\n        return {\n          listType: 'user_uploads',\n          list: username\n        };\n      }\n\n      return {};\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onStateChange\", function (event) {\n      var data = event.data;\n      var _this$props = _this.props,\n          onPlay = _this$props.onPlay,\n          onPause = _this$props.onPause,\n          onBuffer = _this$props.onBuffer,\n          onBufferEnd = _this$props.onBufferEnd,\n          onEnded = _this$props.onEnded,\n          onReady = _this$props.onReady,\n          loop = _this$props.loop,\n          _this$props$config = _this$props.config,\n          playerVars = _this$props$config.playerVars,\n          onUnstarted = _this$props$config.onUnstarted;\n      var _window$SDK_GLOBAL$Pl = window[SDK_GLOBAL].PlayerState,\n          UNSTARTED = _window$SDK_GLOBAL$Pl.UNSTARTED,\n          PLAYING = _window$SDK_GLOBAL$Pl.PLAYING,\n          PAUSED = _window$SDK_GLOBAL$Pl.PAUSED,\n          BUFFERING = _window$SDK_GLOBAL$Pl.BUFFERING,\n          ENDED = _window$SDK_GLOBAL$Pl.ENDED,\n          CUED = _window$SDK_GLOBAL$Pl.CUED;\n      if (data === UNSTARTED) onUnstarted();\n\n      if (data === PLAYING) {\n        onPlay();\n        onBufferEnd();\n      }\n\n      if (data === PAUSED) onPause();\n      if (data === BUFFERING) onBuffer();\n\n      if (data === ENDED) {\n        var isPlaylist = !!_this.callPlayer('getPlaylist'); // Only loop manually if not playing a playlist\n\n        if (loop && !isPlaylist) {\n          if (playerVars.start) {\n            _this.seekTo(playerVars.start);\n          } else {\n            _this.play();\n          }\n        }\n\n        onEnded();\n      }\n\n      if (data === CUED) onReady();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('mute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('unMute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n      _this.container = container;\n    });\n\n    return _this;\n  }\n\n  _createClass(YouTube, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"getID\",\n    value: function getID(url) {\n      if (!url || url instanceof Array || MATCH_PLAYLIST.test(url)) {\n        return null;\n      }\n\n      return url.match(_patterns.MATCH_URL_YOUTUBE)[1];\n    }\n  }, {\n    key: \"load\",\n    value: function load(url, isReady) {\n      var _this2 = this;\n\n      var _this$props2 = this.props,\n          playing = _this$props2.playing,\n          muted = _this$props2.muted,\n          playsinline = _this$props2.playsinline,\n          controls = _this$props2.controls,\n          loop = _this$props2.loop,\n          config = _this$props2.config,\n          _onError = _this$props2.onError;\n      var playerVars = config.playerVars,\n          embedOptions = config.embedOptions;\n      var id = this.getID(url);\n\n      if (isReady) {\n        if (MATCH_PLAYLIST.test(url) || MATCH_USER_UPLOADS.test(url) || url instanceof Array) {\n          this.player.loadPlaylist(this.parsePlaylist(url));\n          return;\n        }\n\n        this.player.cueVideoById({\n          videoId: id,\n          startSeconds: (0, _utils.parseStartTime)(url) || playerVars.start,\n          endSeconds: (0, _utils.parseEndTime)(url) || playerVars.end\n        });\n        return;\n      }\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY, function (YT) {\n        return YT.loaded;\n      }).then(function (YT) {\n        if (!_this2.container) return;\n        _this2.player = new YT.Player(_this2.container, _objectSpread({\n          width: '100%',\n          height: '100%',\n          videoId: id,\n          playerVars: _objectSpread(_objectSpread({\n            autoplay: playing ? 1 : 0,\n            mute: muted ? 1 : 0,\n            controls: controls ? 1 : 0,\n            start: (0, _utils.parseStartTime)(url),\n            end: (0, _utils.parseEndTime)(url),\n            origin: window.location.origin,\n            playsinline: playsinline ? 1 : 0\n          }, _this2.parsePlaylist(url)), playerVars),\n          events: {\n            onReady: function onReady() {\n              if (loop) {\n                _this2.player.setLoop(true); // Enable playlist looping\n\n              }\n\n              _this2.props.onReady();\n            },\n            onStateChange: _this2.onStateChange,\n            onError: function onError(event) {\n              return _onError(event.data);\n            }\n          },\n          host: MATCH_NOCOOKIE.test(url) ? NOCOOKIE_HOST : undefined\n        }, embedOptions));\n      }, _onError);\n\n      if (embedOptions.events) {\n        console.warn('Using `embedOptions.events` will likely break things. Use ReactPlayer’s callback props instead, eg onReady, onPlay, onPause');\n      }\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('playVideo');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pauseVideo');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      if (!document.body.contains(this.callPlayer('getIframe'))) return;\n      this.callPlayer('stopVideo');\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(amount) {\n      this.callPlayer('seekTo', amount);\n\n      if (!this.props.playing) {\n        this.pause();\n      }\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction * 100);\n    }\n  }, {\n    key: \"setPlaybackRate\",\n    value: function setPlaybackRate(rate) {\n      this.callPlayer('setPlaybackRate', rate);\n    }\n  }, {\n    key: \"setLoop\",\n    value: function setLoop(loop) {\n      this.callPlayer('setLoop', loop);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.callPlayer('getDuration');\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.callPlayer('getCurrentTime');\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.callPlayer('getVideoLoadedFraction') * this.getDuration();\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var display = this.props.display;\n      var style = {\n        width: '100%',\n        height: '100%',\n        display: display\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: style\n      }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        ref: this.ref\n      }));\n    }\n  }]);\n\n  return YouTube;\n}(_react.Component);\n\nexports[\"default\"] = YouTube;\n\n_defineProperty(YouTube, \"displayName\", 'YouTube');\n\n_defineProperty(YouTube, \"canPlay\", _patterns.canPlay.youtube);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.defaultProps = exports.propTypes = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar string = _propTypes[\"default\"].string,\n    bool = _propTypes[\"default\"].bool,\n    number = _propTypes[\"default\"].number,\n    array = _propTypes[\"default\"].array,\n    oneOfType = _propTypes[\"default\"].oneOfType,\n    shape = _propTypes[\"default\"].shape,\n    object = _propTypes[\"default\"].object,\n    func = _propTypes[\"default\"].func,\n    node = _propTypes[\"default\"].node;\nvar propTypes = {\n  url: oneOfType([string, array, object]),\n  playing: bool,\n  loop: bool,\n  controls: bool,\n  volume: number,\n  muted: bool,\n  playbackRate: number,\n  width: oneOfType([string, number]),\n  height: oneOfType([string, number]),\n  style: object,\n  progressInterval: number,\n  playsinline: bool,\n  pip: bool,\n  stopOnUnmount: bool,\n  light: oneOfType([bool, string]),\n  playIcon: node,\n  previewTabIndex: number,\n  fallback: node,\n  wrapper: oneOfType([string, func, shape({\n    render: func.isRequired\n  })]),\n  config: shape({\n    soundcloud: shape({\n      options: object\n    }),\n    youtube: shape({\n      playerVars: object,\n      embedOptions: object,\n      onUnstarted: func\n    }),\n    facebook: shape({\n      appId: string,\n      version: string,\n      playerId: string,\n      attributes: object\n    }),\n    dailymotion: shape({\n      params: object\n    }),\n    vimeo: shape({\n      playerOptions: object\n    }),\n    file: shape({\n      attributes: object,\n      tracks: array,\n      forceVideo: bool,\n      forceAudio: bool,\n      forceHLS: bool,\n      forceDASH: bool,\n      forceFLV: bool,\n      hlsOptions: object,\n      hlsVersion: string,\n      dashVersion: string,\n      flvVersion: string\n    }),\n    wistia: shape({\n      options: object,\n      playerId: string,\n      customControls: array\n    }),\n    mixcloud: shape({\n      options: object\n    }),\n    twitch: shape({\n      options: object,\n      playerId: string\n    }),\n    vidyard: shape({\n      options: object\n    })\n  }),\n  onReady: func,\n  onStart: func,\n  onPlay: func,\n  onPause: func,\n  onBuffer: func,\n  onBufferEnd: func,\n  onEnded: func,\n  onError: func,\n  onDuration: func,\n  onSeek: func,\n  onProgress: func,\n  onClickPreview: func,\n  onEnablePIP: func,\n  onDisablePIP: func\n};\nexports.propTypes = propTypes;\n\nvar noop = function noop() {};\n\nvar defaultProps = {\n  playing: false,\n  loop: false,\n  controls: false,\n  volume: null,\n  muted: false,\n  playbackRate: 1,\n  width: '640px',\n  height: '360px',\n  style: {},\n  progressInterval: 1000,\n  playsinline: false,\n  pip: false,\n  stopOnUnmount: true,\n  light: false,\n  fallback: null,\n  wrapper: 'div',\n  previewTabIndex: 0,\n  config: {\n    soundcloud: {\n      options: {\n        visual: true,\n        // Undocumented, but makes player fill container and look better\n        buying: false,\n        liking: false,\n        download: false,\n        sharing: false,\n        show_comments: false,\n        show_playcount: false\n      }\n    },\n    youtube: {\n      playerVars: {\n        playsinline: 1,\n        showinfo: 0,\n        rel: 0,\n        iv_load_policy: 3,\n        modestbranding: 1\n      },\n      embedOptions: {},\n      onUnstarted: noop\n    },\n    facebook: {\n      appId: '1309697205772819',\n      version: 'v3.3',\n      playerId: null,\n      attributes: {}\n    },\n    dailymotion: {\n      params: {\n        api: 1,\n        'endscreen-enable': false\n      }\n    },\n    vimeo: {\n      playerOptions: {\n        autopause: false,\n        byline: false,\n        portrait: false,\n        title: false\n      }\n    },\n    file: {\n      attributes: {},\n      tracks: [],\n      forceVideo: false,\n      forceAudio: false,\n      forceHLS: false,\n      forceDASH: false,\n      forceFLV: false,\n      hlsOptions: {},\n      hlsVersion: '0.14.16',\n      dashVersion: '3.1.3',\n      flvVersion: '1.5.0'\n    },\n    wistia: {\n      options: {},\n      playerId: null,\n      customControls: null\n    },\n    mixcloud: {\n      options: {\n        hide_cover: 1\n      }\n    },\n    twitch: {\n      options: {},\n      playerId: null\n    },\n    vidyard: {\n      options: {}\n    }\n  },\n  onReady: noop,\n  onStart: noop,\n  onPlay: noop,\n  onPause: noop,\n  onBuffer: noop,\n  onBufferEnd: noop,\n  onEnded: noop,\n  onError: noop,\n  onDuration: noop,\n  onSeek: noop,\n  onProgress: noop,\n  onClickPreview: noop,\n  onEnablePIP: noop,\n  onDisablePIP: noop\n};\nexports.defaultProps = defaultProps;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { Subscribable } from './subscribable';\nimport { isServer } from './utils';\nexport var FocusManager = /*#__PURE__*/function (_Subscribable) {\n  _inheritsLoose(FocusManager, _Subscribable);\n\n  function FocusManager() {\n    var _this;\n\n    _this = _Subscribable.call(this) || this;\n\n    _this.setup = function (onFocus) {\n      var _window;\n\n      if (!isServer && ((_window = window) == null ? void 0 : _window.addEventListener)) {\n        var listener = function listener() {\n          return onFocus();\n        }; // Listen to visibillitychange and focus\n\n\n        window.addEventListener('visibilitychange', listener, false);\n        window.addEventListener('focus', listener, false);\n        return function () {\n          // Be sure to unsubscribe if a new handler is set\n          window.removeEventListener('visibilitychange', listener);\n          window.removeEventListener('focus', listener);\n        };\n      }\n    };\n\n    return _this;\n  }\n\n  var _proto = FocusManager.prototype;\n\n  _proto.onSubscribe = function onSubscribe() {\n    if (!this.cleanup) {\n      this.setEventListener(this.setup);\n    }\n  };\n\n  _proto.onUnsubscribe = function onUnsubscribe() {\n    if (!this.hasListeners()) {\n      var _this$cleanup;\n\n      (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n      this.cleanup = undefined;\n    }\n  };\n\n  _proto.setEventListener = function setEventListener(setup) {\n    var _this$cleanup2,\n        _this2 = this;\n\n    this.setup = setup;\n    (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n    this.cleanup = setup(function (focused) {\n      if (typeof focused === 'boolean') {\n        _this2.setFocused(focused);\n      } else {\n        _this2.onFocus();\n      }\n    });\n  };\n\n  _proto.setFocused = function setFocused(focused) {\n    this.focused = focused;\n\n    if (focused) {\n      this.onFocus();\n    }\n  };\n\n  _proto.onFocus = function onFocus() {\n    this.listeners.forEach(function (listener) {\n      listener();\n    });\n  };\n\n  _proto.isFocused = function isFocused() {\n    if (typeof this.focused === 'boolean') {\n      return this.focused;\n    } // document global can be unavailable in react native\n\n\n    if (typeof document === 'undefined') {\n      return true;\n    }\n\n    return [undefined, 'visible', 'prerender'].includes(document.visibilityState);\n  };\n\n  return FocusManager;\n}(Subscribable);\nexport var focusManager = new FocusManager();","// TYPES\n// FUNCTIONS\nvar logger = console;\nexport function getLogger() {\n  return logger;\n}\nexport function setLogger(newLogger) {\n  logger = newLogger;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getLogger } from './logger';\nimport { notifyManager } from './notifyManager';\nimport { Retryer } from './retryer';\nimport { noop } from './utils'; // TYPES\n\n// CLASS\nexport var Mutation = /*#__PURE__*/function () {\n  function Mutation(config) {\n    this.options = _extends({}, config.defaultOptions, config.options);\n    this.mutationId = config.mutationId;\n    this.mutationCache = config.mutationCache;\n    this.observers = [];\n    this.state = config.state || getDefaultState();\n    this.meta = config.meta;\n  }\n\n  var _proto = Mutation.prototype;\n\n  _proto.setState = function setState(state) {\n    this.dispatch({\n      type: 'setState',\n      state: state\n    });\n  };\n\n  _proto.addObserver = function addObserver(observer) {\n    if (this.observers.indexOf(observer) === -1) {\n      this.observers.push(observer);\n    }\n  };\n\n  _proto.removeObserver = function removeObserver(observer) {\n    this.observers = this.observers.filter(function (x) {\n      return x !== observer;\n    });\n  };\n\n  _proto.cancel = function cancel() {\n    if (this.retryer) {\n      this.retryer.cancel();\n      return this.retryer.promise.then(noop).catch(noop);\n    }\n\n    return Promise.resolve();\n  };\n\n  _proto.continue = function _continue() {\n    if (this.retryer) {\n      this.retryer.continue();\n      return this.retryer.promise;\n    }\n\n    return this.execute();\n  };\n\n  _proto.execute = function execute() {\n    var _this = this;\n\n    var data;\n    var restored = this.state.status === 'loading';\n    var promise = Promise.resolve();\n\n    if (!restored) {\n      this.dispatch({\n        type: 'loading',\n        variables: this.options.variables\n      });\n      promise = promise.then(function () {\n        // Notify cache callback\n        _this.mutationCache.config.onMutate == null ? void 0 : _this.mutationCache.config.onMutate(_this.state.variables, _this);\n      }).then(function () {\n        return _this.options.onMutate == null ? void 0 : _this.options.onMutate(_this.state.variables);\n      }).then(function (context) {\n        if (context !== _this.state.context) {\n          _this.dispatch({\n            type: 'loading',\n            context: context,\n            variables: _this.state.variables\n          });\n        }\n      });\n    }\n\n    return promise.then(function () {\n      return _this.executeMutation();\n    }).then(function (result) {\n      data = result; // Notify cache callback\n\n      _this.mutationCache.config.onSuccess == null ? void 0 : _this.mutationCache.config.onSuccess(data, _this.state.variables, _this.state.context, _this);\n    }).then(function () {\n      return _this.options.onSuccess == null ? void 0 : _this.options.onSuccess(data, _this.state.variables, _this.state.context);\n    }).then(function () {\n      return _this.options.onSettled == null ? void 0 : _this.options.onSettled(data, null, _this.state.variables, _this.state.context);\n    }).then(function () {\n      _this.dispatch({\n        type: 'success',\n        data: data\n      });\n\n      return data;\n    }).catch(function (error) {\n      // Notify cache callback\n      _this.mutationCache.config.onError == null ? void 0 : _this.mutationCache.config.onError(error, _this.state.variables, _this.state.context, _this); // Log error\n\n      getLogger().error(error);\n      return Promise.resolve().then(function () {\n        return _this.options.onError == null ? void 0 : _this.options.onError(error, _this.state.variables, _this.state.context);\n      }).then(function () {\n        return _this.options.onSettled == null ? void 0 : _this.options.onSettled(undefined, error, _this.state.variables, _this.state.context);\n      }).then(function () {\n        _this.dispatch({\n          type: 'error',\n          error: error\n        });\n\n        throw error;\n      });\n    });\n  };\n\n  _proto.executeMutation = function executeMutation() {\n    var _this2 = this,\n        _this$options$retry;\n\n    this.retryer = new Retryer({\n      fn: function fn() {\n        if (!_this2.options.mutationFn) {\n          return Promise.reject('No mutationFn found');\n        }\n\n        return _this2.options.mutationFn(_this2.state.variables);\n      },\n      onFail: function onFail() {\n        _this2.dispatch({\n          type: 'failed'\n        });\n      },\n      onPause: function onPause() {\n        _this2.dispatch({\n          type: 'pause'\n        });\n      },\n      onContinue: function onContinue() {\n        _this2.dispatch({\n          type: 'continue'\n        });\n      },\n      retry: (_this$options$retry = this.options.retry) != null ? _this$options$retry : 0,\n      retryDelay: this.options.retryDelay\n    });\n    return this.retryer.promise;\n  };\n\n  _proto.dispatch = function dispatch(action) {\n    var _this3 = this;\n\n    this.state = reducer(this.state, action);\n    notifyManager.batch(function () {\n      _this3.observers.forEach(function (observer) {\n        observer.onMutationUpdate(action);\n      });\n\n      _this3.mutationCache.notify(_this3);\n    });\n  };\n\n  return Mutation;\n}();\nexport function getDefaultState() {\n  return {\n    context: undefined,\n    data: undefined,\n    error: null,\n    failureCount: 0,\n    isPaused: false,\n    status: 'idle',\n    variables: undefined\n  };\n}\n\nfunction reducer(state, action) {\n  switch (action.type) {\n    case 'failed':\n      return _extends({}, state, {\n        failureCount: state.failureCount + 1\n      });\n\n    case 'pause':\n      return _extends({}, state, {\n        isPaused: true\n      });\n\n    case 'continue':\n      return _extends({}, state, {\n        isPaused: false\n      });\n\n    case 'loading':\n      return _extends({}, state, {\n        context: action.context,\n        data: undefined,\n        error: null,\n        isPaused: false,\n        status: 'loading',\n        variables: action.variables\n      });\n\n    case 'success':\n      return _extends({}, state, {\n        data: action.data,\n        error: null,\n        status: 'success',\n        isPaused: false\n      });\n\n    case 'error':\n      return _extends({}, state, {\n        data: undefined,\n        error: action.error,\n        failureCount: state.failureCount + 1,\n        isPaused: false,\n        status: 'error'\n      });\n\n    case 'setState':\n      return _extends({}, state, action.state);\n\n    default:\n      return state;\n  }\n}","import { scheduleMicrotask } from './utils'; // TYPES\n\n// CLASS\nexport var NotifyManager = /*#__PURE__*/function () {\n  function NotifyManager() {\n    this.queue = [];\n    this.transactions = 0;\n\n    this.notifyFn = function (callback) {\n      callback();\n    };\n\n    this.batchNotifyFn = function (callback) {\n      callback();\n    };\n  }\n\n  var _proto = NotifyManager.prototype;\n\n  _proto.batch = function batch(callback) {\n    var result;\n    this.transactions++;\n\n    try {\n      result = callback();\n    } finally {\n      this.transactions--;\n\n      if (!this.transactions) {\n        this.flush();\n      }\n    }\n\n    return result;\n  };\n\n  _proto.schedule = function schedule(callback) {\n    var _this = this;\n\n    if (this.transactions) {\n      this.queue.push(callback);\n    } else {\n      scheduleMicrotask(function () {\n        _this.notifyFn(callback);\n      });\n    }\n  }\n  /**\n   * All calls to the wrapped function will be batched.\n   */\n  ;\n\n  _proto.batchCalls = function batchCalls(callback) {\n    var _this2 = this;\n\n    return function () {\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      _this2.schedule(function () {\n        callback.apply(void 0, args);\n      });\n    };\n  };\n\n  _proto.flush = function flush() {\n    var _this3 = this;\n\n    var queue = this.queue;\n    this.queue = [];\n\n    if (queue.length) {\n      scheduleMicrotask(function () {\n        _this3.batchNotifyFn(function () {\n          queue.forEach(function (callback) {\n            _this3.notifyFn(callback);\n          });\n        });\n      });\n    }\n  }\n  /**\n   * Use this method to set a custom notify function.\n   * This can be used to for example wrap notifications with `React.act` while running tests.\n   */\n  ;\n\n  _proto.setNotifyFunction = function setNotifyFunction(fn) {\n    this.notifyFn = fn;\n  }\n  /**\n   * Use this method to set a custom function to batch notifications together into a single tick.\n   * By default React Query will use the batch function provided by ReactDOM or React Native.\n   */\n  ;\n\n  _proto.setBatchNotifyFunction = function setBatchNotifyFunction(fn) {\n    this.batchNotifyFn = fn;\n  };\n\n  return NotifyManager;\n}(); // SINGLETON\n\nexport var notifyManager = new NotifyManager();","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { Subscribable } from './subscribable';\nimport { isServer } from './utils';\nexport var OnlineManager = /*#__PURE__*/function (_Subscribable) {\n  _inheritsLoose(OnlineManager, _Subscribable);\n\n  function OnlineManager() {\n    var _this;\n\n    _this = _Subscribable.call(this) || this;\n\n    _this.setup = function (onOnline) {\n      var _window;\n\n      if (!isServer && ((_window = window) == null ? void 0 : _window.addEventListener)) {\n        var listener = function listener() {\n          return onOnline();\n        }; // Listen to online\n\n\n        window.addEventListener('online', listener, false);\n        window.addEventListener('offline', listener, false);\n        return function () {\n          // Be sure to unsubscribe if a new handler is set\n          window.removeEventListener('online', listener);\n          window.removeEventListener('offline', listener);\n        };\n      }\n    };\n\n    return _this;\n  }\n\n  var _proto = OnlineManager.prototype;\n\n  _proto.onSubscribe = function onSubscribe() {\n    if (!this.cleanup) {\n      this.setEventListener(this.setup);\n    }\n  };\n\n  _proto.onUnsubscribe = function onUnsubscribe() {\n    if (!this.hasListeners()) {\n      var _this$cleanup;\n\n      (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n      this.cleanup = undefined;\n    }\n  };\n\n  _proto.setEventListener = function setEventListener(setup) {\n    var _this$cleanup2,\n        _this2 = this;\n\n    this.setup = setup;\n    (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n    this.cleanup = setup(function (online) {\n      if (typeof online === 'boolean') {\n        _this2.setOnline(online);\n      } else {\n        _this2.onOnline();\n      }\n    });\n  };\n\n  _proto.setOnline = function setOnline(online) {\n    this.online = online;\n\n    if (online) {\n      this.onOnline();\n    }\n  };\n\n  _proto.onOnline = function onOnline() {\n    this.listeners.forEach(function (listener) {\n      listener();\n    });\n  };\n\n  _proto.isOnline = function isOnline() {\n    if (typeof this.online === 'boolean') {\n      return this.online;\n    }\n\n    if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n      return true;\n    }\n\n    return navigator.onLine;\n  };\n\n  return OnlineManager;\n}(Subscribable);\nexport var onlineManager = new OnlineManager();","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getAbortController, functionalUpdate, isValidTimeout, noop, replaceEqualDeep, timeUntilStale, ensureQueryKeyArray } from './utils';\nimport { notifyManager } from './notifyManager';\nimport { getLogger } from './logger';\nimport { Retryer, isCancelledError } from './retryer'; // TYPES\n\n// CLASS\nexport var Query = /*#__PURE__*/function () {\n  function Query(config) {\n    this.abortSignalConsumed = false;\n    this.hadObservers = false;\n    this.defaultOptions = config.defaultOptions;\n    this.setOptions(config.options);\n    this.observers = [];\n    this.cache = config.cache;\n    this.queryKey = config.queryKey;\n    this.queryHash = config.queryHash;\n    this.initialState = config.state || this.getDefaultState(this.options);\n    this.state = this.initialState;\n    this.meta = config.meta;\n    this.scheduleGc();\n  }\n\n  var _proto = Query.prototype;\n\n  _proto.setOptions = function setOptions(options) {\n    var _this$options$cacheTi;\n\n    this.options = _extends({}, this.defaultOptions, options);\n    this.meta = options == null ? void 0 : options.meta; // Default to 5 minutes if not cache time is set\n\n    this.cacheTime = Math.max(this.cacheTime || 0, (_this$options$cacheTi = this.options.cacheTime) != null ? _this$options$cacheTi : 5 * 60 * 1000);\n  };\n\n  _proto.setDefaultOptions = function setDefaultOptions(options) {\n    this.defaultOptions = options;\n  };\n\n  _proto.scheduleGc = function scheduleGc() {\n    var _this = this;\n\n    this.clearGcTimeout();\n\n    if (isValidTimeout(this.cacheTime)) {\n      this.gcTimeout = setTimeout(function () {\n        _this.optionalRemove();\n      }, this.cacheTime);\n    }\n  };\n\n  _proto.clearGcTimeout = function clearGcTimeout() {\n    clearTimeout(this.gcTimeout);\n    this.gcTimeout = undefined;\n  };\n\n  _proto.optionalRemove = function optionalRemove() {\n    if (!this.observers.length) {\n      if (this.state.isFetching) {\n        if (this.hadObservers) {\n          this.scheduleGc();\n        }\n      } else {\n        this.cache.remove(this);\n      }\n    }\n  };\n\n  _proto.setData = function setData(updater, options) {\n    var _this$options$isDataE, _this$options;\n\n    var prevData = this.state.data; // Get the new data\n\n    var data = functionalUpdate(updater, prevData); // Use prev data if an isDataEqual function is defined and returns `true`\n\n    if ((_this$options$isDataE = (_this$options = this.options).isDataEqual) == null ? void 0 : _this$options$isDataE.call(_this$options, prevData, data)) {\n      data = prevData;\n    } else if (this.options.structuralSharing !== false) {\n      // Structurally share data between prev and new data if needed\n      data = replaceEqualDeep(prevData, data);\n    } // Set data and mark it as cached\n\n\n    this.dispatch({\n      data: data,\n      type: 'success',\n      dataUpdatedAt: options == null ? void 0 : options.updatedAt\n    });\n    return data;\n  };\n\n  _proto.setState = function setState(state, setStateOptions) {\n    this.dispatch({\n      type: 'setState',\n      state: state,\n      setStateOptions: setStateOptions\n    });\n  };\n\n  _proto.cancel = function cancel(options) {\n    var _this$retryer;\n\n    var promise = this.promise;\n    (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.cancel(options);\n    return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n  };\n\n  _proto.destroy = function destroy() {\n    this.clearGcTimeout();\n    this.cancel({\n      silent: true\n    });\n  };\n\n  _proto.reset = function reset() {\n    this.destroy();\n    this.setState(this.initialState);\n  };\n\n  _proto.isActive = function isActive() {\n    return this.observers.some(function (observer) {\n      return observer.options.enabled !== false;\n    });\n  };\n\n  _proto.isFetching = function isFetching() {\n    return this.state.isFetching;\n  };\n\n  _proto.isStale = function isStale() {\n    return this.state.isInvalidated || !this.state.dataUpdatedAt || this.observers.some(function (observer) {\n      return observer.getCurrentResult().isStale;\n    });\n  };\n\n  _proto.isStaleByTime = function isStaleByTime(staleTime) {\n    if (staleTime === void 0) {\n      staleTime = 0;\n    }\n\n    return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n  };\n\n  _proto.onFocus = function onFocus() {\n    var _this$retryer2;\n\n    var observer = this.observers.find(function (x) {\n      return x.shouldFetchOnWindowFocus();\n    });\n\n    if (observer) {\n      observer.refetch();\n    } // Continue fetch if currently paused\n\n\n    (_this$retryer2 = this.retryer) == null ? void 0 : _this$retryer2.continue();\n  };\n\n  _proto.onOnline = function onOnline() {\n    var _this$retryer3;\n\n    var observer = this.observers.find(function (x) {\n      return x.shouldFetchOnReconnect();\n    });\n\n    if (observer) {\n      observer.refetch();\n    } // Continue fetch if currently paused\n\n\n    (_this$retryer3 = this.retryer) == null ? void 0 : _this$retryer3.continue();\n  };\n\n  _proto.addObserver = function addObserver(observer) {\n    if (this.observers.indexOf(observer) === -1) {\n      this.observers.push(observer);\n      this.hadObservers = true; // Stop the query from being garbage collected\n\n      this.clearGcTimeout();\n      this.cache.notify({\n        type: 'observerAdded',\n        query: this,\n        observer: observer\n      });\n    }\n  };\n\n  _proto.removeObserver = function removeObserver(observer) {\n    if (this.observers.indexOf(observer) !== -1) {\n      this.observers = this.observers.filter(function (x) {\n        return x !== observer;\n      });\n\n      if (!this.observers.length) {\n        // If the transport layer does not support cancellation\n        // we'll let the query continue so the result can be cached\n        if (this.retryer) {\n          if (this.retryer.isTransportCancelable || this.abortSignalConsumed) {\n            this.retryer.cancel({\n              revert: true\n            });\n          } else {\n            this.retryer.cancelRetry();\n          }\n        }\n\n        if (this.cacheTime) {\n          this.scheduleGc();\n        } else {\n          this.cache.remove(this);\n        }\n      }\n\n      this.cache.notify({\n        type: 'observerRemoved',\n        query: this,\n        observer: observer\n      });\n    }\n  };\n\n  _proto.getObserversCount = function getObserversCount() {\n    return this.observers.length;\n  };\n\n  _proto.invalidate = function invalidate() {\n    if (!this.state.isInvalidated) {\n      this.dispatch({\n        type: 'invalidate'\n      });\n    }\n  };\n\n  _proto.fetch = function fetch(options, fetchOptions) {\n    var _this2 = this,\n        _this$options$behavio,\n        _context$fetchOptions,\n        _abortController$abor;\n\n    if (this.state.isFetching) {\n      if (this.state.dataUpdatedAt && (fetchOptions == null ? void 0 : fetchOptions.cancelRefetch)) {\n        // Silently cancel current fetch if the user wants to cancel refetches\n        this.cancel({\n          silent: true\n        });\n      } else if (this.promise) {\n        var _this$retryer4;\n\n        // make sure that retries that were potentially cancelled due to unmounts can continue\n        (_this$retryer4 = this.retryer) == null ? void 0 : _this$retryer4.continueRetry(); // Return current promise if we are already fetching\n\n        return this.promise;\n      }\n    } // Update config if passed, otherwise the config from the last execution is used\n\n\n    if (options) {\n      this.setOptions(options);\n    } // Use the options from the first observer with a query function if no function is found.\n    // This can happen when the query is hydrated or created with setQueryData.\n\n\n    if (!this.options.queryFn) {\n      var observer = this.observers.find(function (x) {\n        return x.options.queryFn;\n      });\n\n      if (observer) {\n        this.setOptions(observer.options);\n      }\n    }\n\n    var queryKey = ensureQueryKeyArray(this.queryKey);\n    var abortController = getAbortController(); // Create query function context\n\n    var queryFnContext = {\n      queryKey: queryKey,\n      pageParam: undefined,\n      meta: this.meta\n    };\n    Object.defineProperty(queryFnContext, 'signal', {\n      enumerable: true,\n      get: function get() {\n        if (abortController) {\n          _this2.abortSignalConsumed = true;\n          return abortController.signal;\n        }\n\n        return undefined;\n      }\n    }); // Create fetch function\n\n    var fetchFn = function fetchFn() {\n      if (!_this2.options.queryFn) {\n        return Promise.reject('Missing queryFn');\n      }\n\n      _this2.abortSignalConsumed = false;\n      return _this2.options.queryFn(queryFnContext);\n    }; // Trigger behavior hook\n\n\n    var context = {\n      fetchOptions: fetchOptions,\n      options: this.options,\n      queryKey: queryKey,\n      state: this.state,\n      fetchFn: fetchFn,\n      meta: this.meta\n    };\n\n    if ((_this$options$behavio = this.options.behavior) == null ? void 0 : _this$options$behavio.onFetch) {\n      var _this$options$behavio2;\n\n      (_this$options$behavio2 = this.options.behavior) == null ? void 0 : _this$options$behavio2.onFetch(context);\n    } // Store state in case the current fetch needs to be reverted\n\n\n    this.revertState = this.state; // Set to fetching state if not already in it\n\n    if (!this.state.isFetching || this.state.fetchMeta !== ((_context$fetchOptions = context.fetchOptions) == null ? void 0 : _context$fetchOptions.meta)) {\n      var _context$fetchOptions2;\n\n      this.dispatch({\n        type: 'fetch',\n        meta: (_context$fetchOptions2 = context.fetchOptions) == null ? void 0 : _context$fetchOptions2.meta\n      });\n    } // Try to fetch the data\n\n\n    this.retryer = new Retryer({\n      fn: context.fetchFn,\n      abort: abortController == null ? void 0 : (_abortController$abor = abortController.abort) == null ? void 0 : _abortController$abor.bind(abortController),\n      onSuccess: function onSuccess(data) {\n        _this2.setData(data); // Notify cache callback\n\n\n        _this2.cache.config.onSuccess == null ? void 0 : _this2.cache.config.onSuccess(data, _this2); // Remove query after fetching if cache time is 0\n\n        if (_this2.cacheTime === 0) {\n          _this2.optionalRemove();\n        }\n      },\n      onError: function onError(error) {\n        // Optimistically update state if needed\n        if (!(isCancelledError(error) && error.silent)) {\n          _this2.dispatch({\n            type: 'error',\n            error: error\n          });\n        }\n\n        if (!isCancelledError(error)) {\n          // Notify cache callback\n          _this2.cache.config.onError == null ? void 0 : _this2.cache.config.onError(error, _this2); // Log error\n\n          getLogger().error(error);\n        } // Remove query after fetching if cache time is 0\n\n\n        if (_this2.cacheTime === 0) {\n          _this2.optionalRemove();\n        }\n      },\n      onFail: function onFail() {\n        _this2.dispatch({\n          type: 'failed'\n        });\n      },\n      onPause: function onPause() {\n        _this2.dispatch({\n          type: 'pause'\n        });\n      },\n      onContinue: function onContinue() {\n        _this2.dispatch({\n          type: 'continue'\n        });\n      },\n      retry: context.options.retry,\n      retryDelay: context.options.retryDelay\n    });\n    this.promise = this.retryer.promise;\n    return this.promise;\n  };\n\n  _proto.dispatch = function dispatch(action) {\n    var _this3 = this;\n\n    this.state = this.reducer(this.state, action);\n    notifyManager.batch(function () {\n      _this3.observers.forEach(function (observer) {\n        observer.onQueryUpdate(action);\n      });\n\n      _this3.cache.notify({\n        query: _this3,\n        type: 'queryUpdated',\n        action: action\n      });\n    });\n  };\n\n  _proto.getDefaultState = function getDefaultState(options) {\n    var data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;\n    var hasInitialData = typeof options.initialData !== 'undefined';\n    var initialDataUpdatedAt = hasInitialData ? typeof options.initialDataUpdatedAt === 'function' ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n    var hasData = typeof data !== 'undefined';\n    return {\n      data: data,\n      dataUpdateCount: 0,\n      dataUpdatedAt: hasData ? initialDataUpdatedAt != null ? initialDataUpdatedAt : Date.now() : 0,\n      error: null,\n      errorUpdateCount: 0,\n      errorUpdatedAt: 0,\n      fetchFailureCount: 0,\n      fetchMeta: null,\n      isFetching: false,\n      isInvalidated: false,\n      isPaused: false,\n      status: hasData ? 'success' : 'idle'\n    };\n  };\n\n  _proto.reducer = function reducer(state, action) {\n    var _action$meta, _action$dataUpdatedAt;\n\n    switch (action.type) {\n      case 'failed':\n        return _extends({}, state, {\n          fetchFailureCount: state.fetchFailureCount + 1\n        });\n\n      case 'pause':\n        return _extends({}, state, {\n          isPaused: true\n        });\n\n      case 'continue':\n        return _extends({}, state, {\n          isPaused: false\n        });\n\n      case 'fetch':\n        return _extends({}, state, {\n          fetchFailureCount: 0,\n          fetchMeta: (_action$meta = action.meta) != null ? _action$meta : null,\n          isFetching: true,\n          isPaused: false\n        }, !state.dataUpdatedAt && {\n          error: null,\n          status: 'loading'\n        });\n\n      case 'success':\n        return _extends({}, state, {\n          data: action.data,\n          dataUpdateCount: state.dataUpdateCount + 1,\n          dataUpdatedAt: (_action$dataUpdatedAt = action.dataUpdatedAt) != null ? _action$dataUpdatedAt : Date.now(),\n          error: null,\n          fetchFailureCount: 0,\n          isFetching: false,\n          isInvalidated: false,\n          isPaused: false,\n          status: 'success'\n        });\n\n      case 'error':\n        var error = action.error;\n\n        if (isCancelledError(error) && error.revert && this.revertState) {\n          return _extends({}, this.revertState);\n        }\n\n        return _extends({}, state, {\n          error: error,\n          errorUpdateCount: state.errorUpdateCount + 1,\n          errorUpdatedAt: Date.now(),\n          fetchFailureCount: state.fetchFailureCount + 1,\n          isFetching: false,\n          isPaused: false,\n          status: 'error'\n        });\n\n      case 'invalidate':\n        return _extends({}, state, {\n          isInvalidated: true\n        });\n\n      case 'setState':\n        return _extends({}, state, action.state);\n\n      default:\n        return state;\n    }\n  };\n\n  return Query;\n}();","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { hashQueryKeyByOptions, matchQuery, parseFilterArgs } from './utils';\nimport { Query } from './query';\nimport { notifyManager } from './notifyManager';\nimport { Subscribable } from './subscribable';\n// CLASS\nexport var QueryCache = /*#__PURE__*/function (_Subscribable) {\n  _inheritsLoose(QueryCache, _Subscribable);\n\n  function QueryCache(config) {\n    var _this;\n\n    _this = _Subscribable.call(this) || this;\n    _this.config = config || {};\n    _this.queries = [];\n    _this.queriesMap = {};\n    return _this;\n  }\n\n  var _proto = QueryCache.prototype;\n\n  _proto.build = function build(client, options, state) {\n    var _options$queryHash;\n\n    var queryKey = options.queryKey;\n    var queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : hashQueryKeyByOptions(queryKey, options);\n    var query = this.get(queryHash);\n\n    if (!query) {\n      query = new Query({\n        cache: this,\n        queryKey: queryKey,\n        queryHash: queryHash,\n        options: client.defaultQueryOptions(options),\n        state: state,\n        defaultOptions: client.getQueryDefaults(queryKey),\n        meta: options.meta\n      });\n      this.add(query);\n    }\n\n    return query;\n  };\n\n  _proto.add = function add(query) {\n    if (!this.queriesMap[query.queryHash]) {\n      this.queriesMap[query.queryHash] = query;\n      this.queries.push(query);\n      this.notify({\n        type: 'queryAdded',\n        query: query\n      });\n    }\n  };\n\n  _proto.remove = function remove(query) {\n    var queryInMap = this.queriesMap[query.queryHash];\n\n    if (queryInMap) {\n      query.destroy();\n      this.queries = this.queries.filter(function (x) {\n        return x !== query;\n      });\n\n      if (queryInMap === query) {\n        delete this.queriesMap[query.queryHash];\n      }\n\n      this.notify({\n        type: 'queryRemoved',\n        query: query\n      });\n    }\n  };\n\n  _proto.clear = function clear() {\n    var _this2 = this;\n\n    notifyManager.batch(function () {\n      _this2.queries.forEach(function (query) {\n        _this2.remove(query);\n      });\n    });\n  };\n\n  _proto.get = function get(queryHash) {\n    return this.queriesMap[queryHash];\n  };\n\n  _proto.getAll = function getAll() {\n    return this.queries;\n  };\n\n  _proto.find = function find(arg1, arg2) {\n    var _parseFilterArgs = parseFilterArgs(arg1, arg2),\n        filters = _parseFilterArgs[0];\n\n    if (typeof filters.exact === 'undefined') {\n      filters.exact = true;\n    }\n\n    return this.queries.find(function (query) {\n      return matchQuery(filters, query);\n    });\n  };\n\n  _proto.findAll = function findAll(arg1, arg2) {\n    var _parseFilterArgs2 = parseFilterArgs(arg1, arg2),\n        filters = _parseFilterArgs2[0];\n\n    return Object.keys(filters).length > 0 ? this.queries.filter(function (query) {\n      return matchQuery(filters, query);\n    }) : this.queries;\n  };\n\n  _proto.notify = function notify(event) {\n    var _this3 = this;\n\n    notifyManager.batch(function () {\n      _this3.listeners.forEach(function (listener) {\n        listener(event);\n      });\n    });\n  };\n\n  _proto.onFocus = function onFocus() {\n    var _this4 = this;\n\n    notifyManager.batch(function () {\n      _this4.queries.forEach(function (query) {\n        query.onFocus();\n      });\n    });\n  };\n\n  _proto.onOnline = function onOnline() {\n    var _this5 = this;\n\n    notifyManager.batch(function () {\n      _this5.queries.forEach(function (query) {\n        query.onOnline();\n      });\n    });\n  };\n\n  return QueryCache;\n}(Subscribable);","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { notifyManager } from './notifyManager';\nimport { Mutation } from './mutation';\nimport { matchMutation, noop } from './utils';\nimport { Subscribable } from './subscribable'; // TYPES\n\n// CLASS\nexport var MutationCache = /*#__PURE__*/function (_Subscribable) {\n  _inheritsLoose(MutationCache, _Subscribable);\n\n  function MutationCache(config) {\n    var _this;\n\n    _this = _Subscribable.call(this) || this;\n    _this.config = config || {};\n    _this.mutations = [];\n    _this.mutationId = 0;\n    return _this;\n  }\n\n  var _proto = MutationCache.prototype;\n\n  _proto.build = function build(client, options, state) {\n    var mutation = new Mutation({\n      mutationCache: this,\n      mutationId: ++this.mutationId,\n      options: client.defaultMutationOptions(options),\n      state: state,\n      defaultOptions: options.mutationKey ? client.getMutationDefaults(options.mutationKey) : undefined,\n      meta: options.meta\n    });\n    this.add(mutation);\n    return mutation;\n  };\n\n  _proto.add = function add(mutation) {\n    this.mutations.push(mutation);\n    this.notify(mutation);\n  };\n\n  _proto.remove = function remove(mutation) {\n    this.mutations = this.mutations.filter(function (x) {\n      return x !== mutation;\n    });\n    mutation.cancel();\n    this.notify(mutation);\n  };\n\n  _proto.clear = function clear() {\n    var _this2 = this;\n\n    notifyManager.batch(function () {\n      _this2.mutations.forEach(function (mutation) {\n        _this2.remove(mutation);\n      });\n    });\n  };\n\n  _proto.getAll = function getAll() {\n    return this.mutations;\n  };\n\n  _proto.find = function find(filters) {\n    if (typeof filters.exact === 'undefined') {\n      filters.exact = true;\n    }\n\n    return this.mutations.find(function (mutation) {\n      return matchMutation(filters, mutation);\n    });\n  };\n\n  _proto.findAll = function findAll(filters) {\n    return this.mutations.filter(function (mutation) {\n      return matchMutation(filters, mutation);\n    });\n  };\n\n  _proto.notify = function notify(mutation) {\n    var _this3 = this;\n\n    notifyManager.batch(function () {\n      _this3.listeners.forEach(function (listener) {\n        listener(mutation);\n      });\n    });\n  };\n\n  _proto.onFocus = function onFocus() {\n    this.resumePausedMutations();\n  };\n\n  _proto.onOnline = function onOnline() {\n    this.resumePausedMutations();\n  };\n\n  _proto.resumePausedMutations = function resumePausedMutations() {\n    var pausedMutations = this.mutations.filter(function (x) {\n      return x.state.isPaused;\n    });\n    return notifyManager.batch(function () {\n      return pausedMutations.reduce(function (promise, mutation) {\n        return promise.then(function () {\n          return mutation.continue().catch(noop);\n        });\n      }, Promise.resolve());\n    });\n  };\n\n  return MutationCache;\n}(Subscribable);","import { isCancelable } from './retryer';\nimport { getAbortController } from './utils';\nexport function infiniteQueryBehavior() {\n  return {\n    onFetch: function onFetch(context) {\n      context.fetchFn = function () {\n        var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$fetchOptions4, _context$state$data, _context$state$data2;\n\n        var refetchPage = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : _context$fetchOptions2.refetchPage;\n        var fetchMore = (_context$fetchOptions3 = context.fetchOptions) == null ? void 0 : (_context$fetchOptions4 = _context$fetchOptions3.meta) == null ? void 0 : _context$fetchOptions4.fetchMore;\n        var pageParam = fetchMore == null ? void 0 : fetchMore.pageParam;\n        var isFetchingNextPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'forward';\n        var isFetchingPreviousPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'backward';\n        var oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];\n        var oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];\n        var abortController = getAbortController();\n        var abortSignal = abortController == null ? void 0 : abortController.signal;\n        var newPageParams = oldPageParams;\n        var cancelled = false; // Get query function\n\n        var queryFn = context.options.queryFn || function () {\n          return Promise.reject('Missing queryFn');\n        };\n\n        var buildNewPages = function buildNewPages(pages, param, page, previous) {\n          newPageParams = previous ? [param].concat(newPageParams) : [].concat(newPageParams, [param]);\n          return previous ? [page].concat(pages) : [].concat(pages, [page]);\n        }; // Create function to fetch a page\n\n\n        var fetchPage = function fetchPage(pages, manual, param, previous) {\n          if (cancelled) {\n            return Promise.reject('Cancelled');\n          }\n\n          if (typeof param === 'undefined' && !manual && pages.length) {\n            return Promise.resolve(pages);\n          }\n\n          var queryFnContext = {\n            queryKey: context.queryKey,\n            signal: abortSignal,\n            pageParam: param,\n            meta: context.meta\n          };\n          var queryFnResult = queryFn(queryFnContext);\n          var promise = Promise.resolve(queryFnResult).then(function (page) {\n            return buildNewPages(pages, param, page, previous);\n          });\n\n          if (isCancelable(queryFnResult)) {\n            var promiseAsAny = promise;\n            promiseAsAny.cancel = queryFnResult.cancel;\n          }\n\n          return promise;\n        };\n\n        var promise; // Fetch first page?\n\n        if (!oldPages.length) {\n          promise = fetchPage([]);\n        } // Fetch next page?\n        else if (isFetchingNextPage) {\n            var manual = typeof pageParam !== 'undefined';\n            var param = manual ? pageParam : getNextPageParam(context.options, oldPages);\n            promise = fetchPage(oldPages, manual, param);\n          } // Fetch previous page?\n          else if (isFetchingPreviousPage) {\n              var _manual = typeof pageParam !== 'undefined';\n\n              var _param = _manual ? pageParam : getPreviousPageParam(context.options, oldPages);\n\n              promise = fetchPage(oldPages, _manual, _param, true);\n            } // Refetch pages\n            else {\n                (function () {\n                  newPageParams = [];\n                  var manual = typeof context.options.getNextPageParam === 'undefined';\n                  var shouldFetchFirstPage = refetchPage && oldPages[0] ? refetchPage(oldPages[0], 0, oldPages) : true; // Fetch first page\n\n                  promise = shouldFetchFirstPage ? fetchPage([], manual, oldPageParams[0]) : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0])); // Fetch remaining pages\n\n                  var _loop = function _loop(i) {\n                    promise = promise.then(function (pages) {\n                      var shouldFetchNextPage = refetchPage && oldPages[i] ? refetchPage(oldPages[i], i, oldPages) : true;\n\n                      if (shouldFetchNextPage) {\n                        var _param2 = manual ? oldPageParams[i] : getNextPageParam(context.options, pages);\n\n                        return fetchPage(pages, manual, _param2);\n                      }\n\n                      return Promise.resolve(buildNewPages(pages, oldPageParams[i], oldPages[i]));\n                    });\n                  };\n\n                  for (var i = 1; i < oldPages.length; i++) {\n                    _loop(i);\n                  }\n                })();\n              }\n\n        var finalPromise = promise.then(function (pages) {\n          return {\n            pages: pages,\n            pageParams: newPageParams\n          };\n        });\n        var finalPromiseAsAny = finalPromise;\n\n        finalPromiseAsAny.cancel = function () {\n          cancelled = true;\n          abortController == null ? void 0 : abortController.abort();\n\n          if (isCancelable(promise)) {\n            promise.cancel();\n          }\n        };\n\n        return finalPromise;\n      };\n    }\n  };\n}\nexport function getNextPageParam(options, pages) {\n  return options.getNextPageParam == null ? void 0 : options.getNextPageParam(pages[pages.length - 1], pages);\n}\nexport function getPreviousPageParam(options, pages) {\n  return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages);\n}\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\n\nexport function hasNextPage(options, pages) {\n  if (options.getNextPageParam && Array.isArray(pages)) {\n    var nextPageParam = getNextPageParam(options, pages);\n    return typeof nextPageParam !== 'undefined' && nextPageParam !== null && nextPageParam !== false;\n  }\n}\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\n\nexport function hasPreviousPage(options, pages) {\n  if (options.getPreviousPageParam && Array.isArray(pages)) {\n    var previousPageParam = getPreviousPageParam(options, pages);\n    return typeof previousPageParam !== 'undefined' && previousPageParam !== null && previousPageParam !== false;\n  }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { hashQueryKey, noop, parseFilterArgs, parseQueryArgs, partialMatchKey, hashQueryKeyByOptions } from './utils';\nimport { QueryCache } from './queryCache';\nimport { MutationCache } from './mutationCache';\nimport { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { notifyManager } from './notifyManager';\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior';\n// CLASS\nexport var QueryClient = /*#__PURE__*/function () {\n  function QueryClient(config) {\n    if (config === void 0) {\n      config = {};\n    }\n\n    this.queryCache = config.queryCache || new QueryCache();\n    this.mutationCache = config.mutationCache || new MutationCache();\n    this.defaultOptions = config.defaultOptions || {};\n    this.queryDefaults = [];\n    this.mutationDefaults = [];\n  }\n\n  var _proto = QueryClient.prototype;\n\n  _proto.mount = function mount() {\n    var _this = this;\n\n    this.unsubscribeFocus = focusManager.subscribe(function () {\n      if (focusManager.isFocused() && onlineManager.isOnline()) {\n        _this.mutationCache.onFocus();\n\n        _this.queryCache.onFocus();\n      }\n    });\n    this.unsubscribeOnline = onlineManager.subscribe(function () {\n      if (focusManager.isFocused() && onlineManager.isOnline()) {\n        _this.mutationCache.onOnline();\n\n        _this.queryCache.onOnline();\n      }\n    });\n  };\n\n  _proto.unmount = function unmount() {\n    var _this$unsubscribeFocu, _this$unsubscribeOnli;\n\n    (_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);\n    (_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);\n  };\n\n  _proto.isFetching = function isFetching(arg1, arg2) {\n    var _parseFilterArgs = parseFilterArgs(arg1, arg2),\n        filters = _parseFilterArgs[0];\n\n    filters.fetching = true;\n    return this.queryCache.findAll(filters).length;\n  };\n\n  _proto.isMutating = function isMutating(filters) {\n    return this.mutationCache.findAll(_extends({}, filters, {\n      fetching: true\n    })).length;\n  };\n\n  _proto.getQueryData = function getQueryData(queryKey, filters) {\n    var _this$queryCache$find;\n\n    return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;\n  };\n\n  _proto.getQueriesData = function getQueriesData(queryKeyOrFilters) {\n    return this.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref) {\n      var queryKey = _ref.queryKey,\n          state = _ref.state;\n      var data = state.data;\n      return [queryKey, data];\n    });\n  };\n\n  _proto.setQueryData = function setQueryData(queryKey, updater, options) {\n    var parsedOptions = parseQueryArgs(queryKey);\n    var defaultedOptions = this.defaultQueryOptions(parsedOptions);\n    return this.queryCache.build(this, defaultedOptions).setData(updater, options);\n  };\n\n  _proto.setQueriesData = function setQueriesData(queryKeyOrFilters, updater, options) {\n    var _this2 = this;\n\n    return notifyManager.batch(function () {\n      return _this2.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref2) {\n        var queryKey = _ref2.queryKey;\n        return [queryKey, _this2.setQueryData(queryKey, updater, options)];\n      });\n    });\n  };\n\n  _proto.getQueryState = function getQueryState(queryKey, filters) {\n    var _this$queryCache$find2;\n\n    return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;\n  };\n\n  _proto.removeQueries = function removeQueries(arg1, arg2) {\n    var _parseFilterArgs2 = parseFilterArgs(arg1, arg2),\n        filters = _parseFilterArgs2[0];\n\n    var queryCache = this.queryCache;\n    notifyManager.batch(function () {\n      queryCache.findAll(filters).forEach(function (query) {\n        queryCache.remove(query);\n      });\n    });\n  };\n\n  _proto.resetQueries = function resetQueries(arg1, arg2, arg3) {\n    var _this3 = this;\n\n    var _parseFilterArgs3 = parseFilterArgs(arg1, arg2, arg3),\n        filters = _parseFilterArgs3[0],\n        options = _parseFilterArgs3[1];\n\n    var queryCache = this.queryCache;\n\n    var refetchFilters = _extends({}, filters, {\n      active: true\n    });\n\n    return notifyManager.batch(function () {\n      queryCache.findAll(filters).forEach(function (query) {\n        query.reset();\n      });\n      return _this3.refetchQueries(refetchFilters, options);\n    });\n  };\n\n  _proto.cancelQueries = function cancelQueries(arg1, arg2, arg3) {\n    var _this4 = this;\n\n    var _parseFilterArgs4 = parseFilterArgs(arg1, arg2, arg3),\n        filters = _parseFilterArgs4[0],\n        _parseFilterArgs4$ = _parseFilterArgs4[1],\n        cancelOptions = _parseFilterArgs4$ === void 0 ? {} : _parseFilterArgs4$;\n\n    if (typeof cancelOptions.revert === 'undefined') {\n      cancelOptions.revert = true;\n    }\n\n    var promises = notifyManager.batch(function () {\n      return _this4.queryCache.findAll(filters).map(function (query) {\n        return query.cancel(cancelOptions);\n      });\n    });\n    return Promise.all(promises).then(noop).catch(noop);\n  };\n\n  _proto.invalidateQueries = function invalidateQueries(arg1, arg2, arg3) {\n    var _ref3,\n        _filters$refetchActiv,\n        _filters$refetchInact,\n        _this5 = this;\n\n    var _parseFilterArgs5 = parseFilterArgs(arg1, arg2, arg3),\n        filters = _parseFilterArgs5[0],\n        options = _parseFilterArgs5[1];\n\n    var refetchFilters = _extends({}, filters, {\n      // if filters.refetchActive is not provided and filters.active is explicitly false,\n      // e.g. invalidateQueries({ active: false }), we don't want to refetch active queries\n      active: (_ref3 = (_filters$refetchActiv = filters.refetchActive) != null ? _filters$refetchActiv : filters.active) != null ? _ref3 : true,\n      inactive: (_filters$refetchInact = filters.refetchInactive) != null ? _filters$refetchInact : false\n    });\n\n    return notifyManager.batch(function () {\n      _this5.queryCache.findAll(filters).forEach(function (query) {\n        query.invalidate();\n      });\n\n      return _this5.refetchQueries(refetchFilters, options);\n    });\n  };\n\n  _proto.refetchQueries = function refetchQueries(arg1, arg2, arg3) {\n    var _this6 = this;\n\n    var _parseFilterArgs6 = parseFilterArgs(arg1, arg2, arg3),\n        filters = _parseFilterArgs6[0],\n        options = _parseFilterArgs6[1];\n\n    var promises = notifyManager.batch(function () {\n      return _this6.queryCache.findAll(filters).map(function (query) {\n        return query.fetch(undefined, _extends({}, options, {\n          meta: {\n            refetchPage: filters == null ? void 0 : filters.refetchPage\n          }\n        }));\n      });\n    });\n    var promise = Promise.all(promises).then(noop);\n\n    if (!(options == null ? void 0 : options.throwOnError)) {\n      promise = promise.catch(noop);\n    }\n\n    return promise;\n  };\n\n  _proto.fetchQuery = function fetchQuery(arg1, arg2, arg3) {\n    var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n    var defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652\n\n    if (typeof defaultedOptions.retry === 'undefined') {\n      defaultedOptions.retry = false;\n    }\n\n    var query = this.queryCache.build(this, defaultedOptions);\n    return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n  };\n\n  _proto.prefetchQuery = function prefetchQuery(arg1, arg2, arg3) {\n    return this.fetchQuery(arg1, arg2, arg3).then(noop).catch(noop);\n  };\n\n  _proto.fetchInfiniteQuery = function fetchInfiniteQuery(arg1, arg2, arg3) {\n    var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n    parsedOptions.behavior = infiniteQueryBehavior();\n    return this.fetchQuery(parsedOptions);\n  };\n\n  _proto.prefetchInfiniteQuery = function prefetchInfiniteQuery(arg1, arg2, arg3) {\n    return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop).catch(noop);\n  };\n\n  _proto.cancelMutations = function cancelMutations() {\n    var _this7 = this;\n\n    var promises = notifyManager.batch(function () {\n      return _this7.mutationCache.getAll().map(function (mutation) {\n        return mutation.cancel();\n      });\n    });\n    return Promise.all(promises).then(noop).catch(noop);\n  };\n\n  _proto.resumePausedMutations = function resumePausedMutations() {\n    return this.getMutationCache().resumePausedMutations();\n  };\n\n  _proto.executeMutation = function executeMutation(options) {\n    return this.mutationCache.build(this, options).execute();\n  };\n\n  _proto.getQueryCache = function getQueryCache() {\n    return this.queryCache;\n  };\n\n  _proto.getMutationCache = function getMutationCache() {\n    return this.mutationCache;\n  };\n\n  _proto.getDefaultOptions = function getDefaultOptions() {\n    return this.defaultOptions;\n  };\n\n  _proto.setDefaultOptions = function setDefaultOptions(options) {\n    this.defaultOptions = options;\n  };\n\n  _proto.setQueryDefaults = function setQueryDefaults(queryKey, options) {\n    var result = this.queryDefaults.find(function (x) {\n      return hashQueryKey(queryKey) === hashQueryKey(x.queryKey);\n    });\n\n    if (result) {\n      result.defaultOptions = options;\n    } else {\n      this.queryDefaults.push({\n        queryKey: queryKey,\n        defaultOptions: options\n      });\n    }\n  };\n\n  _proto.getQueryDefaults = function getQueryDefaults(queryKey) {\n    var _this$queryDefaults$f;\n\n    return queryKey ? (_this$queryDefaults$f = this.queryDefaults.find(function (x) {\n      return partialMatchKey(queryKey, x.queryKey);\n    })) == null ? void 0 : _this$queryDefaults$f.defaultOptions : undefined;\n  };\n\n  _proto.setMutationDefaults = function setMutationDefaults(mutationKey, options) {\n    var result = this.mutationDefaults.find(function (x) {\n      return hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey);\n    });\n\n    if (result) {\n      result.defaultOptions = options;\n    } else {\n      this.mutationDefaults.push({\n        mutationKey: mutationKey,\n        defaultOptions: options\n      });\n    }\n  };\n\n  _proto.getMutationDefaults = function getMutationDefaults(mutationKey) {\n    var _this$mutationDefault;\n\n    return mutationKey ? (_this$mutationDefault = this.mutationDefaults.find(function (x) {\n      return partialMatchKey(mutationKey, x.mutationKey);\n    })) == null ? void 0 : _this$mutationDefault.defaultOptions : undefined;\n  };\n\n  _proto.defaultQueryOptions = function defaultQueryOptions(options) {\n    if (options == null ? void 0 : options._defaulted) {\n      return options;\n    }\n\n    var defaultedOptions = _extends({}, this.defaultOptions.queries, this.getQueryDefaults(options == null ? void 0 : options.queryKey), options, {\n      _defaulted: true\n    });\n\n    if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n      defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n    }\n\n    return defaultedOptions;\n  };\n\n  _proto.defaultQueryObserverOptions = function defaultQueryObserverOptions(options) {\n    return this.defaultQueryOptions(options);\n  };\n\n  _proto.defaultMutationOptions = function defaultMutationOptions(options) {\n    if (options == null ? void 0 : options._defaulted) {\n      return options;\n    }\n\n    return _extends({}, this.defaultOptions.mutations, this.getMutationDefaults(options == null ? void 0 : options.mutationKey), options, {\n      _defaulted: true\n    });\n  };\n\n  _proto.clear = function clear() {\n    this.queryCache.clear();\n    this.mutationCache.clear();\n  };\n\n  return QueryClient;\n}();","import { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { sleep } from './utils';\n\nfunction defaultRetryDelay(failureCount) {\n  return Math.min(1000 * Math.pow(2, failureCount), 30000);\n}\n\nexport function isCancelable(value) {\n  return typeof (value == null ? void 0 : value.cancel) === 'function';\n}\nexport var CancelledError = function CancelledError(options) {\n  this.revert = options == null ? void 0 : options.revert;\n  this.silent = options == null ? void 0 : options.silent;\n};\nexport function isCancelledError(value) {\n  return value instanceof CancelledError;\n} // CLASS\n\nexport var Retryer = function Retryer(config) {\n  var _this = this;\n\n  var cancelRetry = false;\n  var cancelFn;\n  var continueFn;\n  var promiseResolve;\n  var promiseReject;\n  this.abort = config.abort;\n\n  this.cancel = function (cancelOptions) {\n    return cancelFn == null ? void 0 : cancelFn(cancelOptions);\n  };\n\n  this.cancelRetry = function () {\n    cancelRetry = true;\n  };\n\n  this.continueRetry = function () {\n    cancelRetry = false;\n  };\n\n  this.continue = function () {\n    return continueFn == null ? void 0 : continueFn();\n  };\n\n  this.failureCount = 0;\n  this.isPaused = false;\n  this.isResolved = false;\n  this.isTransportCancelable = false;\n  this.promise = new Promise(function (outerResolve, outerReject) {\n    promiseResolve = outerResolve;\n    promiseReject = outerReject;\n  });\n\n  var resolve = function resolve(value) {\n    if (!_this.isResolved) {\n      _this.isResolved = true;\n      config.onSuccess == null ? void 0 : config.onSuccess(value);\n      continueFn == null ? void 0 : continueFn();\n      promiseResolve(value);\n    }\n  };\n\n  var reject = function reject(value) {\n    if (!_this.isResolved) {\n      _this.isResolved = true;\n      config.onError == null ? void 0 : config.onError(value);\n      continueFn == null ? void 0 : continueFn();\n      promiseReject(value);\n    }\n  };\n\n  var pause = function pause() {\n    return new Promise(function (continueResolve) {\n      continueFn = continueResolve;\n      _this.isPaused = true;\n      config.onPause == null ? void 0 : config.onPause();\n    }).then(function () {\n      continueFn = undefined;\n      _this.isPaused = false;\n      config.onContinue == null ? void 0 : config.onContinue();\n    });\n  }; // Create loop function\n\n\n  var run = function run() {\n    // Do nothing if already resolved\n    if (_this.isResolved) {\n      return;\n    }\n\n    var promiseOrValue; // Execute query\n\n    try {\n      promiseOrValue = config.fn();\n    } catch (error) {\n      promiseOrValue = Promise.reject(error);\n    } // Create callback to cancel this fetch\n\n\n    cancelFn = function cancelFn(cancelOptions) {\n      if (!_this.isResolved) {\n        reject(new CancelledError(cancelOptions));\n        _this.abort == null ? void 0 : _this.abort(); // Cancel transport if supported\n\n        if (isCancelable(promiseOrValue)) {\n          try {\n            promiseOrValue.cancel();\n          } catch (_unused) {}\n        }\n      }\n    }; // Check if the transport layer support cancellation\n\n\n    _this.isTransportCancelable = isCancelable(promiseOrValue);\n    Promise.resolve(promiseOrValue).then(resolve).catch(function (error) {\n      var _config$retry, _config$retryDelay;\n\n      // Stop if the fetch is already resolved\n      if (_this.isResolved) {\n        return;\n      } // Do we need to retry the request?\n\n\n      var retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n      var retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n      var delay = typeof retryDelay === 'function' ? retryDelay(_this.failureCount, error) : retryDelay;\n      var shouldRetry = retry === true || typeof retry === 'number' && _this.failureCount < retry || typeof retry === 'function' && retry(_this.failureCount, error);\n\n      if (cancelRetry || !shouldRetry) {\n        // We are done if the query does not need to be retried\n        reject(error);\n        return;\n      }\n\n      _this.failureCount++; // Notify on fail\n\n      config.onFail == null ? void 0 : config.onFail(_this.failureCount, error); // Delay\n\n      sleep(delay) // Pause if the document is not visible or when the device is offline\n      .then(function () {\n        if (!focusManager.isFocused() || !onlineManager.isOnline()) {\n          return pause();\n        }\n      }).then(function () {\n        if (cancelRetry) {\n          reject(error);\n        } else {\n          run();\n        }\n      });\n    });\n  }; // Start loop\n\n\n  run();\n};","export var Subscribable = /*#__PURE__*/function () {\n  function Subscribable() {\n    this.listeners = [];\n  }\n\n  var _proto = Subscribable.prototype;\n\n  _proto.subscribe = function subscribe(listener) {\n    var _this = this;\n\n    var callback = listener || function () {\n      return undefined;\n    };\n\n    this.listeners.push(callback);\n    this.onSubscribe();\n    return function () {\n      _this.listeners = _this.listeners.filter(function (x) {\n        return x !== callback;\n      });\n\n      _this.onUnsubscribe();\n    };\n  };\n\n  _proto.hasListeners = function hasListeners() {\n    return this.listeners.length > 0;\n  };\n\n  _proto.onSubscribe = function onSubscribe() {// Do nothing\n  };\n\n  _proto.onUnsubscribe = function onUnsubscribe() {// Do nothing\n  };\n\n  return Subscribable;\n}();","import React from 'react';\nvar defaultContext = /*#__PURE__*/React.createContext(undefined);\nvar QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\n\nfunction getQueryClientContext(contextSharing) {\n  if (contextSharing && typeof window !== 'undefined') {\n    if (!window.ReactQueryClientContext) {\n      window.ReactQueryClientContext = defaultContext;\n    }\n\n    return window.ReactQueryClientContext;\n  }\n\n  return defaultContext;\n}\n\nexport var useQueryClient = function useQueryClient() {\n  var queryClient = React.useContext(getQueryClientContext(React.useContext(QueryClientSharingContext)));\n\n  if (!queryClient) {\n    throw new Error('No QueryClient set, use QueryClientProvider to set one');\n  }\n\n  return queryClient;\n};\nexport var QueryClientProvider = function QueryClientProvider(_ref) {\n  var client = _ref.client,\n      _ref$contextSharing = _ref.contextSharing,\n      contextSharing = _ref$contextSharing === void 0 ? false : _ref$contextSharing,\n      children = _ref.children;\n  React.useEffect(function () {\n    client.mount();\n    return function () {\n      client.unmount();\n    };\n  }, [client]);\n  var Context = getQueryClientContext(contextSharing);\n  return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {\n    value: contextSharing\n  }, /*#__PURE__*/React.createElement(Context.Provider, {\n    value: client\n  }, children));\n};","import { notifyManager } from '../core';\nimport { unstable_batchedUpdates } from './reactBatchedUpdates';\nnotifyManager.setBatchNotifyFunction(unstable_batchedUpdates);","import ReactDOM from 'react-dom';\nexport var unstable_batchedUpdates = ReactDOM.unstable_batchedUpdates;","export var logger = console;","import { setLogger } from '../core';\nimport { logger } from './logger';\nsetLogger(logger);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { getDefaultState } from './mutation';\nimport { notifyManager } from './notifyManager';\nimport { Subscribable } from './subscribable';\n// CLASS\nexport var MutationObserver = /*#__PURE__*/function (_Subscribable) {\n  _inheritsLoose(MutationObserver, _Subscribable);\n\n  function MutationObserver(client, options) {\n    var _this;\n\n    _this = _Subscribable.call(this) || this;\n    _this.client = client;\n\n    _this.setOptions(options);\n\n    _this.bindMethods();\n\n    _this.updateResult();\n\n    return _this;\n  }\n\n  var _proto = MutationObserver.prototype;\n\n  _proto.bindMethods = function bindMethods() {\n    this.mutate = this.mutate.bind(this);\n    this.reset = this.reset.bind(this);\n  };\n\n  _proto.setOptions = function setOptions(options) {\n    this.options = this.client.defaultMutationOptions(options);\n  };\n\n  _proto.onUnsubscribe = function onUnsubscribe() {\n    if (!this.listeners.length) {\n      var _this$currentMutation;\n\n      (_this$currentMutation = this.currentMutation) == null ? void 0 : _this$currentMutation.removeObserver(this);\n    }\n  };\n\n  _proto.onMutationUpdate = function onMutationUpdate(action) {\n    this.updateResult(); // Determine which callbacks to trigger\n\n    var notifyOptions = {\n      listeners: true\n    };\n\n    if (action.type === 'success') {\n      notifyOptions.onSuccess = true;\n    } else if (action.type === 'error') {\n      notifyOptions.onError = true;\n    }\n\n    this.notify(notifyOptions);\n  };\n\n  _proto.getCurrentResult = function getCurrentResult() {\n    return this.currentResult;\n  };\n\n  _proto.reset = function reset() {\n    this.currentMutation = undefined;\n    this.updateResult();\n    this.notify({\n      listeners: true\n    });\n  };\n\n  _proto.mutate = function mutate(variables, options) {\n    this.mutateOptions = options;\n\n    if (this.currentMutation) {\n      this.currentMutation.removeObserver(this);\n    }\n\n    this.currentMutation = this.client.getMutationCache().build(this.client, _extends({}, this.options, {\n      variables: typeof variables !== 'undefined' ? variables : this.options.variables\n    }));\n    this.currentMutation.addObserver(this);\n    return this.currentMutation.execute();\n  };\n\n  _proto.updateResult = function updateResult() {\n    var state = this.currentMutation ? this.currentMutation.state : getDefaultState();\n\n    var result = _extends({}, state, {\n      isLoading: state.status === 'loading',\n      isSuccess: state.status === 'success',\n      isError: state.status === 'error',\n      isIdle: state.status === 'idle',\n      mutate: this.mutate,\n      reset: this.reset\n    });\n\n    this.currentResult = result;\n  };\n\n  _proto.notify = function notify(options) {\n    var _this2 = this;\n\n    notifyManager.batch(function () {\n      // First trigger the mutate callbacks\n      if (_this2.mutateOptions) {\n        if (options.onSuccess) {\n          _this2.mutateOptions.onSuccess == null ? void 0 : _this2.mutateOptions.onSuccess(_this2.currentResult.data, _this2.currentResult.variables, _this2.currentResult.context);\n          _this2.mutateOptions.onSettled == null ? void 0 : _this2.mutateOptions.onSettled(_this2.currentResult.data, null, _this2.currentResult.variables, _this2.currentResult.context);\n        } else if (options.onError) {\n          _this2.mutateOptions.onError == null ? void 0 : _this2.mutateOptions.onError(_this2.currentResult.error, _this2.currentResult.variables, _this2.currentResult.context);\n          _this2.mutateOptions.onSettled == null ? void 0 : _this2.mutateOptions.onSettled(undefined, _this2.currentResult.error, _this2.currentResult.variables, _this2.currentResult.context);\n        }\n      } // Then trigger the listeners\n\n\n      if (options.listeners) {\n        _this2.listeners.forEach(function (listener) {\n          listener(_this2.currentResult);\n        });\n      }\n    });\n  };\n\n  return MutationObserver;\n}(Subscribable);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { notifyManager } from '../core/notifyManager';\nimport { noop, parseMutationArgs } from '../core/utils';\nimport { MutationObserver } from '../core/mutationObserver';\nimport { useQueryClient } from './QueryClientProvider';\nimport { shouldThrowError } from './utils'; // HOOK\n\nexport function useMutation(arg1, arg2, arg3) {\n  var mountedRef = React.useRef(false);\n\n  var _React$useState = React.useState(0),\n      forceUpdate = _React$useState[1];\n\n  var options = parseMutationArgs(arg1, arg2, arg3);\n  var queryClient = useQueryClient();\n  var obsRef = React.useRef();\n\n  if (!obsRef.current) {\n    obsRef.current = new MutationObserver(queryClient, options);\n  } else {\n    obsRef.current.setOptions(options);\n  }\n\n  var currentResult = obsRef.current.getCurrentResult();\n  React.useEffect(function () {\n    mountedRef.current = true;\n    var unsubscribe = obsRef.current.subscribe(notifyManager.batchCalls(function () {\n      if (mountedRef.current) {\n        forceUpdate(function (x) {\n          return x + 1;\n        });\n      }\n    }));\n    return function () {\n      mountedRef.current = false;\n      unsubscribe();\n    };\n  }, []);\n  var mutate = React.useCallback(function (variables, mutateOptions) {\n    obsRef.current.mutate(variables, mutateOptions).catch(noop);\n  }, []);\n\n  if (currentResult.error && shouldThrowError(undefined, obsRef.current.options.useErrorBoundary, [currentResult.error])) {\n    throw currentResult.error;\n  }\n\n  return _extends({}, currentResult, {\n    mutate: mutate,\n    mutateAsync: currentResult.mutate\n  });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { isServer, isValidTimeout, noop, replaceEqualDeep, shallowEqualObjects, timeUntilStale } from './utils';\nimport { notifyManager } from './notifyManager';\nimport { focusManager } from './focusManager';\nimport { Subscribable } from './subscribable';\nimport { getLogger } from './logger';\nimport { isCancelledError } from './retryer';\nexport var QueryObserver = /*#__PURE__*/function (_Subscribable) {\n  _inheritsLoose(QueryObserver, _Subscribable);\n\n  function QueryObserver(client, options) {\n    var _this;\n\n    _this = _Subscribable.call(this) || this;\n    _this.client = client;\n    _this.options = options;\n    _this.trackedProps = [];\n    _this.previousSelectError = null;\n\n    _this.bindMethods();\n\n    _this.setOptions(options);\n\n    return _this;\n  }\n\n  var _proto = QueryObserver.prototype;\n\n  _proto.bindMethods = function bindMethods() {\n    this.remove = this.remove.bind(this);\n    this.refetch = this.refetch.bind(this);\n  };\n\n  _proto.onSubscribe = function onSubscribe() {\n    if (this.listeners.length === 1) {\n      this.currentQuery.addObserver(this);\n\n      if (shouldFetchOnMount(this.currentQuery, this.options)) {\n        this.executeFetch();\n      }\n\n      this.updateTimers();\n    }\n  };\n\n  _proto.onUnsubscribe = function onUnsubscribe() {\n    if (!this.listeners.length) {\n      this.destroy();\n    }\n  };\n\n  _proto.shouldFetchOnReconnect = function shouldFetchOnReconnect() {\n    return _shouldFetchOnReconnect(this.currentQuery, this.options);\n  };\n\n  _proto.shouldFetchOnWindowFocus = function shouldFetchOnWindowFocus() {\n    return _shouldFetchOnWindowFocus(this.currentQuery, this.options);\n  };\n\n  _proto.destroy = function destroy() {\n    this.listeners = [];\n    this.clearTimers();\n    this.currentQuery.removeObserver(this);\n  };\n\n  _proto.setOptions = function setOptions(options, notifyOptions) {\n    var prevOptions = this.options;\n    var prevQuery = this.currentQuery;\n    this.options = this.client.defaultQueryObserverOptions(options);\n\n    if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n      throw new Error('Expected enabled to be a boolean');\n    } // Keep previous query key if the user does not supply one\n\n\n    if (!this.options.queryKey) {\n      this.options.queryKey = prevOptions.queryKey;\n    }\n\n    this.updateQuery();\n    var mounted = this.hasListeners(); // Fetch if there are subscribers\n\n    if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n      this.executeFetch();\n    } // Update result\n\n\n    this.updateResult(notifyOptions); // Update stale interval if needed\n\n    if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n      this.updateStaleTimeout();\n    }\n\n    var nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n    if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n      this.updateRefetchInterval(nextRefetchInterval);\n    }\n  };\n\n  _proto.getOptimisticResult = function getOptimisticResult(options) {\n    var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n    var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n    return this.createResult(query, defaultedOptions);\n  };\n\n  _proto.getCurrentResult = function getCurrentResult() {\n    return this.currentResult;\n  };\n\n  _proto.trackResult = function trackResult(result, defaultedOptions) {\n    var _this2 = this;\n\n    var trackedResult = {};\n\n    var trackProp = function trackProp(key) {\n      if (!_this2.trackedProps.includes(key)) {\n        _this2.trackedProps.push(key);\n      }\n    };\n\n    Object.keys(result).forEach(function (key) {\n      Object.defineProperty(trackedResult, key, {\n        configurable: false,\n        enumerable: true,\n        get: function get() {\n          trackProp(key);\n          return result[key];\n        }\n      });\n    });\n\n    if (defaultedOptions.useErrorBoundary || defaultedOptions.suspense) {\n      trackProp('error');\n    }\n\n    return trackedResult;\n  };\n\n  _proto.getNextResult = function getNextResult(options) {\n    var _this3 = this;\n\n    return new Promise(function (resolve, reject) {\n      var unsubscribe = _this3.subscribe(function (result) {\n        if (!result.isFetching) {\n          unsubscribe();\n\n          if (result.isError && (options == null ? void 0 : options.throwOnError)) {\n            reject(result.error);\n          } else {\n            resolve(result);\n          }\n        }\n      });\n    });\n  };\n\n  _proto.getCurrentQuery = function getCurrentQuery() {\n    return this.currentQuery;\n  };\n\n  _proto.remove = function remove() {\n    this.client.getQueryCache().remove(this.currentQuery);\n  };\n\n  _proto.refetch = function refetch(options) {\n    return this.fetch(_extends({}, options, {\n      meta: {\n        refetchPage: options == null ? void 0 : options.refetchPage\n      }\n    }));\n  };\n\n  _proto.fetchOptimistic = function fetchOptimistic(options) {\n    var _this4 = this;\n\n    var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n    var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n    return query.fetch().then(function () {\n      return _this4.createResult(query, defaultedOptions);\n    });\n  };\n\n  _proto.fetch = function fetch(fetchOptions) {\n    var _this5 = this;\n\n    return this.executeFetch(fetchOptions).then(function () {\n      _this5.updateResult();\n\n      return _this5.currentResult;\n    });\n  };\n\n  _proto.executeFetch = function executeFetch(fetchOptions) {\n    // Make sure we reference the latest query as the current one might have been removed\n    this.updateQuery(); // Fetch\n\n    var promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n    if (!(fetchOptions == null ? void 0 : fetchOptions.throwOnError)) {\n      promise = promise.catch(noop);\n    }\n\n    return promise;\n  };\n\n  _proto.updateStaleTimeout = function updateStaleTimeout() {\n    var _this6 = this;\n\n    this.clearStaleTimeout();\n\n    if (isServer || this.currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n      return;\n    }\n\n    var time = timeUntilStale(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n    // To mitigate this issue we always add 1 ms to the timeout.\n\n    var timeout = time + 1;\n    this.staleTimeoutId = setTimeout(function () {\n      if (!_this6.currentResult.isStale) {\n        _this6.updateResult();\n      }\n    }, timeout);\n  };\n\n  _proto.computeRefetchInterval = function computeRefetchInterval() {\n    var _this$options$refetch;\n\n    return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n  };\n\n  _proto.updateRefetchInterval = function updateRefetchInterval(nextInterval) {\n    var _this7 = this;\n\n    this.clearRefetchInterval();\n    this.currentRefetchInterval = nextInterval;\n\n    if (isServer || this.options.enabled === false || !isValidTimeout(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n      return;\n    }\n\n    this.refetchIntervalId = setInterval(function () {\n      if (_this7.options.refetchIntervalInBackground || focusManager.isFocused()) {\n        _this7.executeFetch();\n      }\n    }, this.currentRefetchInterval);\n  };\n\n  _proto.updateTimers = function updateTimers() {\n    this.updateStaleTimeout();\n    this.updateRefetchInterval(this.computeRefetchInterval());\n  };\n\n  _proto.clearTimers = function clearTimers() {\n    this.clearStaleTimeout();\n    this.clearRefetchInterval();\n  };\n\n  _proto.clearStaleTimeout = function clearStaleTimeout() {\n    clearTimeout(this.staleTimeoutId);\n    this.staleTimeoutId = undefined;\n  };\n\n  _proto.clearRefetchInterval = function clearRefetchInterval() {\n    clearInterval(this.refetchIntervalId);\n    this.refetchIntervalId = undefined;\n  };\n\n  _proto.createResult = function createResult(query, options) {\n    var prevQuery = this.currentQuery;\n    var prevOptions = this.options;\n    var prevResult = this.currentResult;\n    var prevResultState = this.currentResultState;\n    var prevResultOptions = this.currentResultOptions;\n    var queryChange = query !== prevQuery;\n    var queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n    var prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n    var state = query.state;\n    var dataUpdatedAt = state.dataUpdatedAt,\n        error = state.error,\n        errorUpdatedAt = state.errorUpdatedAt,\n        isFetching = state.isFetching,\n        status = state.status;\n    var isPreviousData = false;\n    var isPlaceholderData = false;\n    var data; // Optimistically set result in fetching state if needed\n\n    if (options.optimisticResults) {\n      var mounted = this.hasListeners();\n      var fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n      var fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n      if (fetchOnMount || fetchOptionally) {\n        isFetching = true;\n\n        if (!dataUpdatedAt) {\n          status = 'loading';\n        }\n      }\n    } // Keep previous data if needed\n\n\n    if (options.keepPreviousData && !state.dataUpdateCount && (prevQueryResult == null ? void 0 : prevQueryResult.isSuccess) && status !== 'error') {\n      data = prevQueryResult.data;\n      dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n      status = prevQueryResult.status;\n      isPreviousData = true;\n    } // Select data if needed\n    else if (options.select && typeof state.data !== 'undefined') {\n        var _this$previousSelect;\n\n        // Memoize select result\n        if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === ((_this$previousSelect = this.previousSelect) == null ? void 0 : _this$previousSelect.fn) && !this.previousSelectError) {\n          data = this.previousSelect.result;\n        } else {\n          try {\n            data = options.select(state.data);\n\n            if (options.structuralSharing !== false) {\n              data = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, data);\n            }\n\n            this.previousSelect = {\n              fn: options.select,\n              result: data\n            };\n            this.previousSelectError = null;\n          } catch (selectError) {\n            getLogger().error(selectError);\n            error = selectError;\n            this.previousSelectError = selectError;\n            errorUpdatedAt = Date.now();\n            status = 'error';\n          }\n        }\n      } // Use query data\n      else {\n          data = state.data;\n        } // Show placeholder data if needed\n\n\n    if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && (status === 'loading' || status === 'idle')) {\n      var placeholderData; // Memoize placeholder data\n\n      if ((prevResult == null ? void 0 : prevResult.isPlaceholderData) && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n        placeholderData = prevResult.data;\n      } else {\n        placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n        if (options.select && typeof placeholderData !== 'undefined') {\n          try {\n            placeholderData = options.select(placeholderData);\n\n            if (options.structuralSharing !== false) {\n              placeholderData = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, placeholderData);\n            }\n\n            this.previousSelectError = null;\n          } catch (selectError) {\n            getLogger().error(selectError);\n            error = selectError;\n            this.previousSelectError = selectError;\n            errorUpdatedAt = Date.now();\n            status = 'error';\n          }\n        }\n      }\n\n      if (typeof placeholderData !== 'undefined') {\n        status = 'success';\n        data = placeholderData;\n        isPlaceholderData = true;\n      }\n    }\n\n    var result = {\n      status: status,\n      isLoading: status === 'loading',\n      isSuccess: status === 'success',\n      isError: status === 'error',\n      isIdle: status === 'idle',\n      data: data,\n      dataUpdatedAt: dataUpdatedAt,\n      error: error,\n      errorUpdatedAt: errorUpdatedAt,\n      failureCount: state.fetchFailureCount,\n      isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n      isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n      isFetching: isFetching,\n      isRefetching: isFetching && status !== 'loading',\n      isLoadingError: status === 'error' && state.dataUpdatedAt === 0,\n      isPlaceholderData: isPlaceholderData,\n      isPreviousData: isPreviousData,\n      isRefetchError: status === 'error' && state.dataUpdatedAt !== 0,\n      isStale: isStale(query, options),\n      refetch: this.refetch,\n      remove: this.remove\n    };\n    return result;\n  };\n\n  _proto.shouldNotifyListeners = function shouldNotifyListeners(result, prevResult) {\n    if (!prevResult) {\n      return true;\n    }\n\n    var _this$options = this.options,\n        notifyOnChangeProps = _this$options.notifyOnChangeProps,\n        notifyOnChangePropsExclusions = _this$options.notifyOnChangePropsExclusions;\n\n    if (!notifyOnChangeProps && !notifyOnChangePropsExclusions) {\n      return true;\n    }\n\n    if (notifyOnChangeProps === 'tracked' && !this.trackedProps.length) {\n      return true;\n    }\n\n    var includedProps = notifyOnChangeProps === 'tracked' ? this.trackedProps : notifyOnChangeProps;\n    return Object.keys(result).some(function (key) {\n      var typedKey = key;\n      var changed = result[typedKey] !== prevResult[typedKey];\n      var isIncluded = includedProps == null ? void 0 : includedProps.some(function (x) {\n        return x === key;\n      });\n      var isExcluded = notifyOnChangePropsExclusions == null ? void 0 : notifyOnChangePropsExclusions.some(function (x) {\n        return x === key;\n      });\n      return changed && !isExcluded && (!includedProps || isIncluded);\n    });\n  };\n\n  _proto.updateResult = function updateResult(notifyOptions) {\n    var prevResult = this.currentResult;\n    this.currentResult = this.createResult(this.currentQuery, this.options);\n    this.currentResultState = this.currentQuery.state;\n    this.currentResultOptions = this.options; // Only notify if something has changed\n\n    if (shallowEqualObjects(this.currentResult, prevResult)) {\n      return;\n    } // Determine which callbacks to trigger\n\n\n    var defaultNotifyOptions = {\n      cache: true\n    };\n\n    if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && this.shouldNotifyListeners(this.currentResult, prevResult)) {\n      defaultNotifyOptions.listeners = true;\n    }\n\n    this.notify(_extends({}, defaultNotifyOptions, notifyOptions));\n  };\n\n  _proto.updateQuery = function updateQuery() {\n    var query = this.client.getQueryCache().build(this.client, this.options);\n\n    if (query === this.currentQuery) {\n      return;\n    }\n\n    var prevQuery = this.currentQuery;\n    this.currentQuery = query;\n    this.currentQueryInitialState = query.state;\n    this.previousQueryResult = this.currentResult;\n\n    if (this.hasListeners()) {\n      prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n      query.addObserver(this);\n    }\n  };\n\n  _proto.onQueryUpdate = function onQueryUpdate(action) {\n    var notifyOptions = {};\n\n    if (action.type === 'success') {\n      notifyOptions.onSuccess = true;\n    } else if (action.type === 'error' && !isCancelledError(action.error)) {\n      notifyOptions.onError = true;\n    }\n\n    this.updateResult(notifyOptions);\n\n    if (this.hasListeners()) {\n      this.updateTimers();\n    }\n  };\n\n  _proto.notify = function notify(notifyOptions) {\n    var _this8 = this;\n\n    notifyManager.batch(function () {\n      // First trigger the configuration callbacks\n      if (notifyOptions.onSuccess) {\n        _this8.options.onSuccess == null ? void 0 : _this8.options.onSuccess(_this8.currentResult.data);\n        _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(_this8.currentResult.data, null);\n      } else if (notifyOptions.onError) {\n        _this8.options.onError == null ? void 0 : _this8.options.onError(_this8.currentResult.error);\n        _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(undefined, _this8.currentResult.error);\n      } // Then trigger the listeners\n\n\n      if (notifyOptions.listeners) {\n        _this8.listeners.forEach(function (listener) {\n          listener(_this8.currentResult);\n        });\n      } // Then the cache listeners\n\n\n      if (notifyOptions.cache) {\n        _this8.client.getQueryCache().notify({\n          query: _this8.currentQuery,\n          type: 'observerResultsUpdated'\n        });\n      }\n    });\n  };\n\n  return QueryObserver;\n}(Subscribable);\n\nfunction shouldLoadOnMount(query, options) {\n  return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldRefetchOnMount(query, options) {\n  return options.enabled !== false && query.state.dataUpdatedAt > 0 && (options.refetchOnMount === 'always' || options.refetchOnMount !== false && isStale(query, options));\n}\n\nfunction shouldFetchOnMount(query, options) {\n  return shouldLoadOnMount(query, options) || shouldRefetchOnMount(query, options);\n}\n\nfunction _shouldFetchOnReconnect(query, options) {\n  return options.enabled !== false && (options.refetchOnReconnect === 'always' || options.refetchOnReconnect !== false && isStale(query, options));\n}\n\nfunction _shouldFetchOnWindowFocus(query, options) {\n  return options.enabled !== false && (options.refetchOnWindowFocus === 'always' || options.refetchOnWindowFocus !== false && isStale(query, options));\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n  return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n  return query.isStaleByTime(options.staleTime);\n}","import React from 'react'; // CONTEXT\n\nfunction createValue() {\n  var _isReset = false;\n  return {\n    clearReset: function clearReset() {\n      _isReset = false;\n    },\n    reset: function reset() {\n      _isReset = true;\n    },\n    isReset: function isReset() {\n      return _isReset;\n    }\n  };\n}\n\nvar QueryErrorResetBoundaryContext = /*#__PURE__*/React.createContext(createValue()); // HOOK\n\nexport var useQueryErrorResetBoundary = function useQueryErrorResetBoundary() {\n  return React.useContext(QueryErrorResetBoundaryContext);\n}; // COMPONENT\n\nexport var QueryErrorResetBoundary = function QueryErrorResetBoundary(_ref) {\n  var children = _ref.children;\n  var value = React.useMemo(function () {\n    return createValue();\n  }, []);\n  return /*#__PURE__*/React.createElement(QueryErrorResetBoundaryContext.Provider, {\n    value: value\n  }, typeof children === 'function' ? children(value) : children);\n};","import React from 'react';\nimport { notifyManager } from '../core/notifyManager';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary';\nimport { useQueryClient } from './QueryClientProvider';\nimport { shouldThrowError } from './utils';\nexport function useBaseQuery(options, Observer) {\n  var mountedRef = React.useRef(false);\n\n  var _React$useState = React.useState(0),\n      forceUpdate = _React$useState[1];\n\n  var queryClient = useQueryClient();\n  var errorResetBoundary = useQueryErrorResetBoundary();\n  var defaultedOptions = queryClient.defaultQueryObserverOptions(options); // Make sure results are optimistically set in fetching state before subscribing or updating options\n\n  defaultedOptions.optimisticResults = true; // Include callbacks in batch renders\n\n  if (defaultedOptions.onError) {\n    defaultedOptions.onError = notifyManager.batchCalls(defaultedOptions.onError);\n  }\n\n  if (defaultedOptions.onSuccess) {\n    defaultedOptions.onSuccess = notifyManager.batchCalls(defaultedOptions.onSuccess);\n  }\n\n  if (defaultedOptions.onSettled) {\n    defaultedOptions.onSettled = notifyManager.batchCalls(defaultedOptions.onSettled);\n  }\n\n  if (defaultedOptions.suspense) {\n    // Always set stale time when using suspense to prevent\n    // fetching again when directly mounting after suspending\n    if (typeof defaultedOptions.staleTime !== 'number') {\n      defaultedOptions.staleTime = 1000;\n    } // Set cache time to 1 if the option has been set to 0\n    // when using suspense to prevent infinite loop of fetches\n\n\n    if (defaultedOptions.cacheTime === 0) {\n      defaultedOptions.cacheTime = 1;\n    }\n  }\n\n  if (defaultedOptions.suspense || defaultedOptions.useErrorBoundary) {\n    // Prevent retrying failed query if the error boundary has not been reset yet\n    if (!errorResetBoundary.isReset()) {\n      defaultedOptions.retryOnMount = false;\n    }\n  }\n\n  var _React$useState2 = React.useState(function () {\n    return new Observer(queryClient, defaultedOptions);\n  }),\n      observer = _React$useState2[0];\n\n  var result = observer.getOptimisticResult(defaultedOptions);\n  React.useEffect(function () {\n    mountedRef.current = true;\n    errorResetBoundary.clearReset();\n    var unsubscribe = observer.subscribe(notifyManager.batchCalls(function () {\n      if (mountedRef.current) {\n        forceUpdate(function (x) {\n          return x + 1;\n        });\n      }\n    })); // Update result to make sure we did not miss any query updates\n    // between creating the observer and subscribing to it.\n\n    observer.updateResult();\n    return function () {\n      mountedRef.current = false;\n      unsubscribe();\n    };\n  }, [errorResetBoundary, observer]);\n  React.useEffect(function () {\n    // Do not notify on updates because of changes in the options because\n    // these changes should already be reflected in the optimistic result.\n    observer.setOptions(defaultedOptions, {\n      listeners: false\n    });\n  }, [defaultedOptions, observer]); // Handle suspense\n\n  if (defaultedOptions.suspense && result.isLoading) {\n    throw observer.fetchOptimistic(defaultedOptions).then(function (_ref) {\n      var data = _ref.data;\n      defaultedOptions.onSuccess == null ? void 0 : defaultedOptions.onSuccess(data);\n      defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(data, null);\n    }).catch(function (error) {\n      errorResetBoundary.clearReset();\n      defaultedOptions.onError == null ? void 0 : defaultedOptions.onError(error);\n      defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(undefined, error);\n    });\n  } // Handle error boundary\n\n\n  if (result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(defaultedOptions.suspense, defaultedOptions.useErrorBoundary, [result.error, observer.getCurrentQuery()])) {\n    throw result.error;\n  } // Handle result property usage tracking\n\n\n  if (defaultedOptions.notifyOnChangeProps === 'tracked') {\n    result = observer.trackResult(result, defaultedOptions);\n  }\n\n  return result;\n}","import { QueryObserver } from '../core';\nimport { parseQueryArgs } from '../core/utils';\nimport { useBaseQuery } from './useBaseQuery'; // HOOK\n\nexport function useQuery(arg1, arg2, arg3) {\n  var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n  return useBaseQuery(parsedOptions, QueryObserver);\n}","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n  ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","import React, { useMemo, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport Subscription from '../utils/Subscription';\n\nfunction Provider(_ref) {\n  var store = _ref.store,\n      context = _ref.context,\n      children = _ref.children;\n  var contextValue = useMemo(function () {\n    var subscription = new Subscription(store);\n    subscription.onStateChange = subscription.notifyNestedSubs;\n    return {\n      store: store,\n      subscription: subscription\n    };\n  }, [store]);\n  var previousState = useMemo(function () {\n    return store.getState();\n  }, [store]);\n  useEffect(function () {\n    var subscription = contextValue.subscription;\n    subscription.trySubscribe();\n\n    if (previousState !== store.getState()) {\n      subscription.notifyNestedSubs();\n    }\n\n    return function () {\n      subscription.tryUnsubscribe();\n      subscription.onStateChange = null;\n    };\n  }, [contextValue, previousState]);\n  var Context = context || ReactReduxContext;\n  return /*#__PURE__*/React.createElement(Context.Provider, {\n    value: contextValue\n  }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  Provider.propTypes = {\n    store: PropTypes.shape({\n      subscribe: PropTypes.func.isRequired,\n      dispatch: PropTypes.func.isRequired,\n      getState: PropTypes.func.isRequired\n    }),\n    context: PropTypes.object,\n    children: PropTypes.any\n  };\n}\n\nexport default Provider;","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\n * @returns {Function} A `useDispatch` hook bound to the specified context.\n */\n\nexport function createDispatchHook(context) {\n  if (context === void 0) {\n    context = ReactReduxContext;\n  }\n\n  var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n  return function useDispatch() {\n    var store = useStore();\n    return store.dispatch;\n  };\n}\n/**\n * A hook to access the redux `dispatch` function.\n *\n * @returns {any|function} redux store's `dispatch` function\n *\n * @example\n *\n * import React, { useCallback } from 'react'\n * import { useDispatch } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n *   const dispatch = useDispatch()\n *   const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\n *   return (\n *     <div>\n *       <span>{value}</span>\n *       <button onClick={increaseCounter}>Increase counter</button>\n *     </div>\n *   )\n * }\n */\n\nexport var useDispatch = /*#__PURE__*/createDispatchHook();","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\n * hook that you should usually not need to call directly.\n *\n * @returns {any} the value of the `ReactReduxContext`\n *\n * @example\n *\n * import React from 'react'\n * import { useReduxContext } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n *   const { store } = useReduxContext()\n *   return <div>{store.getState()}</div>\n * }\n */\n\nexport function useReduxContext() {\n  var contextValue = useContext(ReactReduxContext);\n\n  if (process.env.NODE_ENV !== 'production' && !contextValue) {\n    throw new Error('could not find react-redux context value; please ensure the component is wrapped in a <Provider>');\n  }\n\n  return contextValue;\n}","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n  return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n  var _useReducer = useReducer(function (s) {\n    return s + 1;\n  }, 0),\n      forceRender = _useReducer[1];\n\n  var subscription = useMemo(function () {\n    return new Subscription(store, contextSub);\n  }, [store, contextSub]);\n  var latestSubscriptionCallbackError = useRef();\n  var latestSelector = useRef();\n  var latestStoreState = useRef();\n  var latestSelectedState = useRef();\n  var storeState = store.getState();\n  var selectedState;\n\n  try {\n    if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n      selectedState = selector(storeState);\n    } else {\n      selectedState = latestSelectedState.current;\n    }\n  } catch (err) {\n    if (latestSubscriptionCallbackError.current) {\n      err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n    }\n\n    throw err;\n  }\n\n  useIsomorphicLayoutEffect(function () {\n    latestSelector.current = selector;\n    latestStoreState.current = storeState;\n    latestSelectedState.current = selectedState;\n    latestSubscriptionCallbackError.current = undefined;\n  });\n  useIsomorphicLayoutEffect(function () {\n    function checkForUpdates() {\n      try {\n        var newSelectedState = latestSelector.current(store.getState());\n\n        if (equalityFn(newSelectedState, latestSelectedState.current)) {\n          return;\n        }\n\n        latestSelectedState.current = newSelectedState;\n      } catch (err) {\n        // we ignore all errors here, since when the component\n        // is re-rendered, the selectors are called again, and\n        // will throw again, if neither props nor store state\n        // changed\n        latestSubscriptionCallbackError.current = err;\n      }\n\n      forceRender();\n    }\n\n    subscription.onStateChange = checkForUpdates;\n    subscription.trySubscribe();\n    checkForUpdates();\n    return function () {\n      return subscription.tryUnsubscribe();\n    };\n  }, [store, subscription]);\n  return selectedState;\n}\n/**\n * Hook factory, which creates a `useSelector` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\n * @returns {Function} A `useSelector` hook bound to the specified context.\n */\n\n\nexport function createSelectorHook(context) {\n  if (context === void 0) {\n    context = ReactReduxContext;\n  }\n\n  var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n    return useContext(context);\n  };\n  return function useSelector(selector, equalityFn) {\n    if (equalityFn === void 0) {\n      equalityFn = refEquality;\n    }\n\n    if (process.env.NODE_ENV !== 'production' && !selector) {\n      throw new Error(\"You must pass a selector to useSelector\");\n    }\n\n    var _useReduxContext = useReduxContext(),\n        store = _useReduxContext.store,\n        contextSub = _useReduxContext.subscription;\n\n    var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n    useDebugValue(selectedState);\n    return selectedState;\n  };\n}\n/**\n * A hook to access the redux store's state. This hook takes a selector function\n * as an argument. The selector is called with the store state.\n *\n * This hook takes an optional equality comparison function as the second parameter\n * that allows you to customize the way the selected state is compared to determine\n * whether the component needs to be re-rendered.\n *\n * @param {Function} selector the selector function\n * @param {Function=} equalityFn the function that will be used to determine equality\n *\n * @returns {any} the selected state\n *\n * @example\n *\n * import React from 'react'\n * import { useSelector } from 'react-redux'\n *\n * export const CounterComponent = () => {\n *   const counter = useSelector(state => state.counter)\n *   return <div>{counter}</div>\n * }\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\n * Hook factory, which creates a `useStore` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\n * @returns {Function} A `useStore` hook bound to the specified context.\n */\n\nexport function createStoreHook(context) {\n  if (context === void 0) {\n    context = ReactReduxContext;\n  }\n\n  var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n    return useContext(context);\n  };\n  return function useStore() {\n    var _useReduxContext = useReduxContext(),\n        store = _useReduxContext.store;\n\n    return store;\n  };\n}\n/**\n * A hook to access the redux store.\n *\n * @returns {any} the redux store\n *\n * @example\n *\n * import React from 'react'\n * import { useStore } from 'react-redux'\n *\n * export const ExampleComponent = () => {\n *   const store = useStore()\n *   return <div>{store.getState()}</div>\n * }\n */\n\nexport var useStore = /*#__PURE__*/createStoreHook();","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nvar nullListeners = {\n  notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n  var batch = getBatch();\n  var first = null;\n  var last = null;\n  return {\n    clear: function clear() {\n      first = null;\n      last = null;\n    },\n    notify: function notify() {\n      batch(function () {\n        var listener = first;\n\n        while (listener) {\n          listener.callback();\n          listener = listener.next;\n        }\n      });\n    },\n    get: function get() {\n      var listeners = [];\n      var listener = first;\n\n      while (listener) {\n        listeners.push(listener);\n        listener = listener.next;\n      }\n\n      return listeners;\n    },\n    subscribe: function subscribe(callback) {\n      var isSubscribed = true;\n      var listener = last = {\n        callback: callback,\n        next: null,\n        prev: last\n      };\n\n      if (listener.prev) {\n        listener.prev.next = listener;\n      } else {\n        first = listener;\n      }\n\n      return function unsubscribe() {\n        if (!isSubscribed || first === null) return;\n        isSubscribed = false;\n\n        if (listener.next) {\n          listener.next.prev = listener.prev;\n        } else {\n          last = listener.prev;\n        }\n\n        if (listener.prev) {\n          listener.prev.next = listener.next;\n        } else {\n          first = listener.next;\n        }\n      };\n    }\n  };\n}\n\nvar Subscription = /*#__PURE__*/function () {\n  function Subscription(store, parentSub) {\n    this.store = store;\n    this.parentSub = parentSub;\n    this.unsubscribe = null;\n    this.listeners = nullListeners;\n    this.handleChangeWrapper = this.handleChangeWrapper.bind(this);\n  }\n\n  var _proto = Subscription.prototype;\n\n  _proto.addNestedSub = function addNestedSub(listener) {\n    this.trySubscribe();\n    return this.listeners.subscribe(listener);\n  };\n\n  _proto.notifyNestedSubs = function notifyNestedSubs() {\n    this.listeners.notify();\n  };\n\n  _proto.handleChangeWrapper = function handleChangeWrapper() {\n    if (this.onStateChange) {\n      this.onStateChange();\n    }\n  };\n\n  _proto.isSubscribed = function isSubscribed() {\n    return Boolean(this.unsubscribe);\n  };\n\n  _proto.trySubscribe = function trySubscribe() {\n    if (!this.unsubscribe) {\n      this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper);\n      this.listeners = createListenerCollection();\n    }\n  };\n\n  _proto.tryUnsubscribe = function tryUnsubscribe() {\n    if (this.unsubscribe) {\n      this.unsubscribe();\n      this.unsubscribe = null;\n      this.listeners.clear();\n      this.listeners = nullListeners;\n    }\n  };\n\n  return Subscription;\n}();\n\nexport { Subscription as default };","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n  callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n  return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n  return batch;\n};","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","export default function _extends() {\n  _extends = Object.assign || 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  };\n\n  return _extends.apply(this, arguments);\n}","export default function _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  setPrototypeOf(subClass, superClass);\n}"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","Tree2Element","tree","map","node","tag","key","attr","child","GenIcon","data","props","IconBase","elem","conf","className","size","title","svgProps","computedSize","stroke","fill","strokeWidth","style","color","height","width","xmlns","children","undefined","DefaultContext","IconContext","GlobalStyle","createGlobalStyle","Container","styled","itemsCount","Input","activeIndex","Item","KEY_CODE","autoFocus","onChange","onCompleted","placeholder","pValue","value","dataCy","type","passwordMask","emptyValue","Array","React","setActiveIndex","split","setValue","codeInputRef","itemsRef","isCodeRegex","RegExp","getItem","index","current","focusItem","focus","blurItem","blur","codeInput","onPaste","preventDefault","pastedString","clipboardData","getData","test","slice","addEventListener","removeEventListener","stringValue","join","S","ref","autoComplete","inputMode","id","changeValue","target","onKeyUp","keyCode","newValue","nextIndex","prevIndex","currentItem","isLast","Number","isNaN","onBlur","role","tabIndex","onFocus","itemValue","b","Symbol","for","c","d","f","g","h","k","l","m","q","r","v","w","x","y","z","a","u","$$typeof","A","exports","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","componentWillMount","state","constructor","getDerivedStateFromProps","setState","componentWillReceiveProps","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","Component","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","displayName","name","componentDidUpdate","maybeSnapshot","__suppressDeprecationWarning","defineProperty","bodyOpenClassName","portalClassName","_extends","source","_createClass","defineProperties","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_react","_react2","_interopRequireDefault","_reactDom2","_propTypes2","_ModalPortal2","ariaAppHider","obj","__esModule","newObj","default","_interopRequireWildcard","_safeHTMLElement","_safeHTMLElement2","_reactLifecyclesCompat","_classCallCheck","instance","TypeError","_possibleConstructorReturn","self","ReferenceError","isReact16","canUseDOM","createPortal","createHTMLElement","document","createElement","getCreatePortal","unstable_renderSubtreeIntoContainer","getParentElement","parentSelector","Modal","_Component","_ref","_temp","_this","_len","args","_key","__proto__","getPrototypeOf","concat","removePortal","unmountComponentAtNode","parent","contains","removeChild","portalRef","portal","renderPortal","defaultStyles","subClass","superClass","create","setPrototypeOf","_inherits","appendChild","prevParent","nextParent","_","snapshot","_props","isOpen","now","Date","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","setTimeout","element","setElement","propTypes","bool","isRequired","shape","content","object","overlay","string","htmlOpenClassName","oneOfType","base","afterOpen","overlayClassName","appElement","instanceOf","SafeHTMLCollection","SafeNodeList","arrayOf","onAfterOpen","func","onRequestClose","number","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","preventScroll","aria","contentLabel","shouldCloseOnEsc","overlayRef","contentRef","overlayElement","contentElement","defaultProps","body","contentEl","position","top","left","right","bottom","backgroundColor","border","background","overflow","WebkitOverflowScrolling","borderRadius","outline","padding","_typeof","iterator","focusManager","_scopeTab2","classList","_portalOpenInstances2","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","_this$props","remove","getElementsByTagName","show","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","deregister","open","beforeOpen","clearTimeout","closeTimer","setupScopedFocus","markForFocusLater","openAnimationFrame","requestAnimationFrame","overlayEl","close","closeWithoutTimeout","focusContent","contentHasFocus","handleKeyDown","event","stopPropagation","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","activeElement","buildClassName","which","additional","classNames","attributesFromObject","prefix","items","keys","reduce","acc","moveFromContentToOverlay","cancelAnimationFrame","add","hide","register","_props2","contentStyles","overlayStyles","overlayProps","onClick","onMouseDown","contentProps","onKeyDown","onMouseUp","modal","testId","module","resetState","globalElement","removeAttribute","forEach","querySelectorAll","log","assertNodeList","useElement","el","validateElement","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","setAttribute","err","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","documentNotReadyOrSSRTesting","_warning","_warning2","nodeList","selector","isArray","HTMLCollection","NodeList","_arr","before","after","_i","item","parentNode","instances","_arr2","_i2","_portalOpenInstances","subscribe","eventType","openInstances","opacity","cloneNode","firstChild","insertBefore","lastChild","parentElement","htmlElement","cls","htmlClassList","removeClass","_cls","docBodyClassList","at","classString","classListRef","poll","nodeName","toLowerCase","incrementReference","decrementReference","focusLaterElements","handleBlur","handleFocus","push","pop","modalElement","window","attachEvent","detachEvent","_tabbable","_tabbable2","needToFocus","portalOpenInstances","PortalOpenInstances","openInstance","emit","splice","callback","subscribers","subscriber","_exenv","EE","SafeHTMLElement","HTMLElement","tabbable","shiftKey","head","tail","getActiveElement","checkSafari","exec","navigator","userAgent","shadowRoot","findTabbableDescendants","descendants","finished","filter","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","innerHTML","getComputedStyle","getPropertyValue","scrollWidth","scrollHeight","exception","focusable","isTabIndexNotNaN","disabled","href","rootNode","getRootNode","host","visible","getAttribute","isTabIndexNaN","cache","_getRequireWildcardCache","has","get","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_reactFastCompare","WeakMap","_defineProperties","_setPrototypeOf","o","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","toString","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","_assertThisInitialized","_defineProperty","Player","_super","_args","player","load","url","progress","isReady","playedSeconds","getCurrentTime","loadedSeconds","getSecondsLoaded","duration","getDuration","played","loaded","prevPlayed","prevLoaded","onProgress","progressTimeout","progressFrequency","progressInterval","mounted","isLoading","playing","volume","muted","onReady","setVolume","loadOnReady","play","handleDurationCheck","isPlaying","_this$props2","onStart","onPlay","playbackRate","startOnPlay","setPlaybackRate","seekOnPlay","seekTo","onPause","_this$props3","loop","onEnded","activePlayer","loopOnEnded","_this$props4","onError","durationCheckTimeout","onDurationCalled","onDuration","stopOnUnmount","stop","disablePIP","_this2","_this$props5","pip","forceLoad","pause","enablePIP","mute","unmute","setLoop","amount","_this3","onMount","handlePlayerMount","handleReady","handlePlay","handlePause","handleEnded","onLoaded","handleLoaded","handleError","ownKeys","enumerableOnly","symbols","sym","_objectSpread","getOwnPropertyDescriptors","ICON_SIZE","Preview","image","fetchImage","light","fetch","then","response","json","thumbnail_url","replace","playIcon","previewTabIndex","flexCenter","display","alignItems","justifyContent","styles","preview","backgroundImage","backgroundSize","backgroundPosition","cursor","shadow","borderStyle","borderWidth","borderColor","marginLeft","onKeyPress","handleKeyPress","createReactPlayer","_deepmerge","_memoizeOne","_utils","_Player3","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","lazy","Promise","resolve","IS_BROWSER","IS_GLOBAL","SUPPORTED_PROPS","UniversalSuspense","customPlayers","players","fallback","_class","ReactPlayer","showPreview","wrapper","_wrapper","_player","onClickPreview","getInternalPlayer","fraction","canPlay","config","all","omit","getActivePlayer","getConfig","references","lazyPlayer","handleClickPreview","Wrapper","attributes","getAttributes","renderPreview","renderActivePlayer","_i3","_arr3","_Player2","canEnablePIP","FLV_EXTENSIONS","DASH_EXTENSIONS","HLS_EXTENSIONS","VIDEO_EXTENSIONS","AUDIO_EXTENSIONS","MATCH_URL_KALTURA","MATCH_URL_VIDYARD","MATCH_URL_MIXCLOUD","MATCH_URL_DAILYMOTION","MATCH_URL_TWITCH_CHANNEL","MATCH_URL_TWITCH_VIDEO","MATCH_URL_WISTIA","MATCH_URL_STREAMABLE","MATCH_URL_FACEBOOK_WATCH","MATCH_URL_FACEBOOK","MATCH_URL_VIMEO","MATCH_URL_SOUNDCLOUD","MATCH_URL_YOUTUBE","_createForOfIteratorHelper","allowArrayLike","it","F","_e","normalCompletion","didErr","step","_e2","youtube","every","soundcloud","vimeo","facebook","streamable","wistia","twitch","dailymotion","mixcloud","vidyard","kaltura","file","canPlayFile","src","isMediaStream","isBlobUrl","_patterns","_slicedToArray","_arrayWithHoles","_n","_d","_s","_iterableToArrayLimit","_nonIterableRest","DailyMotion","callPlayer","container","controls","match","start","parseStartTime","autoplay","getSDK","DM","video","params","origin","location","events","apiready","seeked","onSeek","currentTime","video_end","durationchange","onDurationChange","waiting","onBuffer","error","seconds","bufferedTime","SDK_URL","SDK_GLOBAL_READY","PLAYER_ID_PREFIX","Facebook","playerId","randomString","FB","XFBML","parse","init","appId","xfbml","version","Event","msg","playerID","onBufferEnd","getElementById","querySelector","visibility","HAS_NAVIGATOR","IS_IPAD_PRO","platform","maxTouchPoints","IS_IOS","MSStream","MATCH_DROPBOX_URL","MATCH_CLOUDFLARE_STREAM","FilePlayer","_this$props6","_this$props7","_this$props8","onEnablePIP","_this$props9","onDisablePIP","supportsWebKitPresentationMode","webkitPresentationMode","track","prevPlayer","addListeners","shouldUseAudio","removeListeners","srcObject","hls","destroy","_this$props10","playsinline","onPresentationModeChange","shouldUseHLS","forceVideo","poster","forceAudio","forceHLS","forceDASH","forceFLV","_this$props$config","hlsVersion","hlsOptions","dashVersion","flvVersion","dash","reset","Hls","on","Events","MANIFEST_PARSED","ERROR","loadSource","attachMedia","shouldUseDASH","dashjs","MediaPlayer","initialize","parseInt","getDebug","setLogToBrowserConsole","updateSettings","debug","logLevel","Debug","LOG_LEVEL_NONE","shouldUseFLV","flvjs","flv","createPlayer","attachMediaElement","URL","createObjectURL","promise","requestPictureInPicture","pictureInPictureElement","webkitSetPresentationMode","exitPictureInPicture","rate","_this$player","seekable","Infinity","end","buffered","useHLS","useDASH","useFLV","_this$props11","useAudio","getSource","preload","autoPlay","renderSourceElement","tracks","renderTrack","Kaltura","iframe","playerjs","_ref2","secondsLoaded","percent","frameBorder","scrolling","allowFullScreen","allow","referrerPolicy","Mixcloud","PlayerWidget","ready","ended","query","queryString","options","feed","SoundCloud","SC","_SC$Widget$Events","Widget","PLAY","PLAY_PROGRESS","PAUSE","FINISH","currentPosition","fractionLoaded","loadedProgress","encodeURIComponent","Streamable","Twitch","isChannel","setChannel","setVideo","channel","time","_Twitch$Player","PLAYING","ENDED","ONLINE","OFFLINE","READY","Vidyard","api","addReadyListener","renderPlayer","uuid","getPlayerMetadata","meta","length_in_seconds","VidyardV4","destroyPlayer","Vimeo","playerOptions","refreshDuration","Wistia","_onReady","customControls","control","defineControl","_wq","silentAutoPlay","controlsVisibleOnLoad","fullscreenButton","playbar","playbackRateControl","qualityControl","volumeControl","settingsControl","smallPlayButton","unbind","videoID","SDK_GLOBAL","MATCH_PLAYLIST","MATCH_USER_UPLOADS","MATCH_NOCOOKIE","YouTube","listType","playlist","getID","list","playerVars","_window$SDK_GLOBAL$Pl","PlayerState","PAUSED","BUFFERING","CUED","UNSTARTED","onUnstarted","isPlaylist","_onError","embedOptions","loadPlaylist","parsePlaylist","cueVideoById","videoId","startSeconds","endSeconds","parseEndTime","YT","onStateChange","_propTypes","array","render","noop","visual","buying","liking","download","sharing","show_comments","show_playcount","showinfo","rel","iv_load_policy","modestbranding","autopause","byline","portrait","hide_cover","_Subscribable","FocusManager","setup","_window","listener","_proto","onSubscribe","cleanup","setEventListener","onUnsubscribe","_this$cleanup","hasListeners","_this$cleanup2","focused","setFocused","listeners","isFocused","includes","visibilityState","logger","console","getLogger","setLogger","newLogger","Mutation","defaultOptions","mutationId","mutationCache","observers","getDefaultState","dispatch","addObserver","observer","removeObserver","cancel","retryer","catch","continue","execute","restored","status","variables","onMutate","context","executeMutation","onSuccess","onSettled","_this$options$retry","fn","mutationFn","reject","onFail","onContinue","retry","retryDelay","action","failureCount","isPaused","reducer","onMutationUpdate","notify","notifyManager","NotifyManager","queue","transactions","notifyFn","batchNotifyFn","batch","flush","schedule","batchCalls","setNotifyFunction","setBatchNotifyFunction","onlineManager","OnlineManager","onOnline","online","setOnline","isOnline","onLine","Query","abortSignalConsumed","hadObservers","setOptions","queryKey","queryHash","initialState","scheduleGc","_this$options$cacheTi","cacheTime","Math","max","setDefaultOptions","clearGcTimeout","gcTimeout","optionalRemove","isFetching","setData","updater","_this$options$isDataE","_this$options","prevData","isDataEqual","structuralSharing","dataUpdatedAt","updatedAt","setStateOptions","_this$retryer","silent","isActive","some","enabled","isStale","isInvalidated","getCurrentResult","isStaleByTime","staleTime","_this$retryer2","find","shouldFetchOnWindowFocus","refetch","_this$retryer3","shouldFetchOnReconnect","isTransportCancelable","revert","cancelRetry","getObserversCount","invalidate","fetchOptions","_this$options$behavio","_context$fetchOptions","_abortController$abor","cancelRefetch","_this$retryer4","continueRetry","queryFn","abortController","queryFnContext","pageParam","signal","_this$options$behavio2","_context$fetchOptions2","fetchFn","behavior","onFetch","revertState","fetchMeta","abort","onQueryUpdate","initialData","initialDataUpdatedAt","hasData","dataUpdateCount","errorUpdateCount","errorUpdatedAt","fetchFailureCount","_action$meta","_action$dataUpdatedAt","QueryCache","queries","queriesMap","build","client","_options$queryHash","defaultQueryOptions","getQueryDefaults","queryInMap","clear","getAll","arg1","arg2","filters","exact","findAll","_this4","_this5","MutationCache","mutations","mutation","defaultMutationOptions","mutationKey","getMutationDefaults","resumePausedMutations","pausedMutations","getNextPageParam","pages","getPreviousPageParam","QueryClient","queryCache","queryDefaults","mutationDefaults","mount","unsubscribeFocus","unsubscribeOnline","unmount","_this$unsubscribeFocu","_this$unsubscribeOnli","fetching","isMutating","getQueryData","_this$queryCache$find","getQueriesData","queryKeyOrFilters","getQueryCache","setQueryData","parsedOptions","defaultedOptions","setQueriesData","getQueryState","_this$queryCache$find2","removeQueries","resetQueries","arg3","_parseFilterArgs3","refetchFilters","active","refetchQueries","cancelQueries","_parseFilterArgs4","_parseFilterArgs4$","cancelOptions","promises","invalidateQueries","_ref3","_filters$refetchActiv","_filters$refetchInact","_parseFilterArgs5","refetchActive","inactive","refetchInactive","_this6","_parseFilterArgs6","refetchPage","throwOnError","fetchQuery","prefetchQuery","fetchInfiniteQuery","_context$fetchOptions3","_context$fetchOptions4","_context$state$data","_context$state$data2","fetchMore","isFetchingNextPage","direction","isFetchingPreviousPage","oldPages","oldPageParams","pageParams","abortSignal","newPageParams","cancelled","buildNewPages","param","page","previous","fetchPage","manual","queryFnResult","_manual","_param","shouldFetchFirstPage","_loop","_param2","finalPromise","prefetchInfiniteQuery","cancelMutations","_this7","getMutationCache","getDefaultOptions","setQueryDefaults","_this$queryDefaults$f","setMutationDefaults","_this$mutationDefault","_defaulted","defaultQueryObserverOptions","defaultRetryDelay","min","pow","isCancelable","CancelledError","isCancelledError","Retryer","cancelFn","continueFn","promiseResolve","promiseReject","isResolved","outerResolve","outerReject","run","promiseOrValue","_unused","_config$retry","_config$retryDelay","delay","shouldRetry","continueResolve","Subscribable","defaultContext","QueryClientSharingContext","getQueryClientContext","contextSharing","ReactQueryClientContext","useQueryClient","queryClient","QueryClientProvider","_ref$contextSharing","Context","Provider","MutationObserver","bindMethods","updateResult","mutate","_this$currentMutation","currentMutation","notifyOptions","currentResult","mutateOptions","isSuccess","isError","isIdle","useMutation","mountedRef","forceUpdate","obsRef","unsubscribe","useErrorBoundary","mutateAsync","QueryObserver","trackedProps","previousSelectError","currentQuery","shouldFetchOnMount","executeFetch","updateTimers","refetchOnReconnect","refetchOnWindowFocus","clearTimers","prevOptions","prevQuery","updateQuery","shouldFetchOptionally","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","getOptimisticResult","createResult","trackResult","trackedResult","trackProp","suspense","getNextResult","getCurrentQuery","fetchOptimistic","clearStaleTimeout","staleTimeoutId","_this$options$refetch","refetchInterval","nextInterval","clearRefetchInterval","refetchIntervalId","setInterval","refetchIntervalInBackground","clearInterval","prevResult","prevResultState","currentResultState","prevResultOptions","currentResultOptions","queryChange","queryInitialState","currentQueryInitialState","prevQueryResult","previousQueryResult","isPreviousData","isPlaceholderData","optimisticResults","fetchOnMount","fetchOptionally","keepPreviousData","select","_this$previousSelect","previousSelect","selectError","placeholderData","isFetched","isFetchedAfterMount","isRefetching","isLoadingError","isRefetchError","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsExclusions","includedProps","changed","isIncluded","isExcluded","defaultNotifyOptions","_this8","retryOnMount","shouldLoadOnMount","refetchOnMount","shouldRefetchOnMount","createValue","_isReset","clearReset","isReset","QueryErrorResetBoundaryContext","useBaseQuery","Observer","errorResetBoundary","useQuery","ReactReduxContext","store","contextValue","useMemo","subscription","notifyNestedSubs","previousState","getState","useEffect","trySubscribe","tryUnsubscribe","createDispatchHook","useStore","useDispatch","useReduxContext","useContext","refEquality","createSelectorHook","equalityFn","_useReduxContext","selectedState","contextSub","forceRender","useReducer","latestSubscriptionCallbackError","useRef","latestSelector","latestStoreState","latestSelectedState","storeState","message","stack","checkForUpdates","newSelectedState","useSelectorWithStoreAndSubscription","useDebugValue","useSelector","createStoreHook","nullListeners","Subscription","parentSub","handleChangeWrapper","addNestedSub","isSubscribed","Boolean","first","last","prev","setBatch","newBatch","getBatch","useIsomorphicLayoutEffect","useLayoutEffect","_inheritsLoose"],"sourceRoot":""}