{"version":3,"sources":["webpack:///../node_modules/react-player/lib/utils.js","webpack:///../node_modules/react-player/lib/patterns.js","webpack:///../node_modules/deepmerge/dist/cjs.js","webpack:///../node_modules/react-fast-compare/index.js","webpack:///../node_modules/react-player/lib/props.js","webpack:///../node_modules/react-player/lib/index.js","webpack:///../node_modules/react-player/lib/players/index.js","webpack:///../node_modules/load-script/index.js","webpack:///../node_modules/react-player/lib/players/YouTube.js","webpack:///../node_modules/react-player/lib/players/SoundCloud.js","webpack:///../node_modules/react-player/lib/players/Vimeo.js","webpack:///../node_modules/react-player/lib/players/Facebook.js","webpack:///../node_modules/react-player/lib/players/Streamable.js","webpack:///../node_modules/react-player/lib/players/Wistia.js","webpack:///../node_modules/react-player/lib/players/Twitch.js","webpack:///../node_modules/react-player/lib/players/DailyMotion.js","webpack:///../node_modules/react-player/lib/players/Mixcloud.js","webpack:///../node_modules/react-player/lib/players/Vidyard.js","webpack:///../node_modules/react-player/lib/players/Kaltura.js","webpack:///../node_modules/react-player/lib/players/FilePlayer.js","webpack:///../node_modules/react-player/lib/ReactPlayer.js","webpack:///../node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///../node_modules/react-player/lib/Player.js","webpack:///../node_modules/react-player/lib/Preview.js","webpack:///../node_modules/keen-slider/react.js"],"names":["Object","defineProperty","exports","value","parseStartTime","url","parseTimeParam","MATCH_START_QUERY","parseEndTime","MATCH_END_QUERY","randomString","Math","random","toString","substr","queryString","object","keys","map","key","concat","join","getSDK","sdkGlobal","sdkReady","arguments","length","undefined","isLoaded","fetchScript","_loadScript","existingGlobal","getGlobal","Promise","resolve","reject","requests","push","onLoaded","sdk","forEach","request","previousOnReady","window","err","getConfig","props","defaultProps","_deepmerge","config","omit","_ref","_len","arrays","Array","_key","omitKeys","apply","output","_i2","_keys","indexOf","callPlayer","method","_this$player","this","player","message","constructor","displayName","console","warn","_len2","args","_key2","isMediaStream","MediaStream","isBlobUrl","test","supportsWebKitPresentationMode","video","document","createElement","notMobile","navigator","userAgent","webkitSupportsPresentationMode","webkitSetPresentationMode","_interopRequireDefault","require","obj","__esModule","_slicedToArray","arr","i","isArray","_arrayWithHoles","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","_iterableToArrayLimit","o","minLen","_arrayLikeToArray","n","prototype","call","slice","name","from","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","MATCH_START_STAMP","MATCH_NUMERIC","pattern","match","stamp","seconds","array","exec","_array2","count","period","parseInt","parseTimeString","module","canPlay","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","_utils","_createForOfIteratorHelper","allowArrayLike","it","F","s","e","f","normalCompletion","didErr","step","_e2","youtube","every","item","soundcloud","vimeo","facebook","streamable","wistia","twitch","dailymotion","mixcloud","vidyard","kaltura","file","canPlayFile","_step","_iterator","src","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","options","clone","deepmerge","val","defaultArrayMerge","target","source","element","getKeys","getOwnPropertySymbols","filter","symbol","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","property","_","mergeObject","destination","hasOwnProperty","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","all","Error","reduce","prev","deepmerge_1","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","a","b","equal","size","entries","has","get","RegExp","flags","valueOf","error","propTypes","_propTypes","string","bool","number","oneOfType","shape","func","node","playing","loop","controls","volume","muted","playbackRate","width","height","style","progressInterval","playsinline","pip","stopOnUnmount","light","playIcon","previewTabIndex","fallback","oEmbedUrl","wrapper","render","isRequired","playerVars","embedOptions","onUnstarted","appId","version","playerId","attributes","params","playerOptions","title","tracks","forceVideo","forceAudio","forceHLS","forceDASH","forceFLV","hlsOptions","hlsVersion","dashVersion","flvVersion","customControls","onReady","onStart","onPlay","onPause","onBuffer","onBufferEnd","onEnded","onError","onDuration","onSeek","onPlaybackRateChange","onProgress","onClickPreview","onEnablePIP","onDisablePIP","noop","visual","buying","liking","download","sharing","show_comments","show_playcount","showinfo","rel","iv_load_policy","modestbranding","api","autopause","byline","portrait","hide_cover","_players","_ReactPlayer","_default","createReactPlayer","_react","_patterns","_typeof","_getRequireWildcardCache","WeakMap","cache","_interopRequireWildcard","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","lazyPlayer","lazy","then","canEnablePIP","pictureInPictureEnabled","stdOnEnd","script","cb","onload","onerror","ieOnEnd","onreadystatechange","readyState","opts","head","getElementsByTagName","type","charset","async","attrs","attr","setAttribute","setAttributes","text","appendChild","ownKeys","enumerableOnly","symbols","sym","enumerable","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_classCallCheck","instance","Constructor","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","getPrototypeOf","MATCH_PLAYLIST","MATCH_USER_UPLOADS","MATCH_NOCOOKIE","YouTube","_Component","subClass","superClass","create","_inherits","protoProps","staticProps","_super","_this","listType","playlist","getID","list","replace","event","data","_this$props","_this$props$config","_window$SDK_GLOBAL$Pl","PlayerState","UNSTARTED","PLAYING","PAUSED","BUFFERING","ENDED","CUED","isPlaylist","start","seekTo","play","container","onMount","isReady","_this2","_this$props2","_onError","id","loadPlaylist","parsePlaylist","cueVideoById","videoId","startSeconds","endSeconds","end","YT","loaded","Player","autoplay","mute","origin","location","events","setLoop","onStateChange","host","body","contains","amount","pause","fraction","rate","getDuration","display","ref","Component","SoundCloud","setVolume","iframe","SC","_SC$Widget$Events","Widget","Events","PLAY","PLAY_PROGRESS","PAUSE","FINISH","ERROR","bind","duration","currentTime","currentPosition","fractionLoaded","loadedProgress","load","callback","encodeURIComponent","frameBorder","allow","Vimeo","_this2$props$config","ready","querySelector","on","refreshDuration","_ref2","secondsLoaded","_this3","promise","overflow","_extends","assign","SDK_URL","Facebook","FB","XFBML","parse","init","xfbml","Event","subscribe","msg","playerID","getElementById","visibility","className","Streamable","playerjs","percent","scrolling","Wistia","_args","_this$props3","_this$props4","_this$props5","_this$props6","_onReady","control","defineControl","_wq","autoPlay","silentAutoPlay","controlsVisibleOnLoad","fullscreenButton","playbar","playbackRateControl","qualityControl","volumeControl","settingsControl","smallPlayButton","unbind","videoID","Twitch","isChannel","setChannel","setVideo","channel","time","_Twitch$Player","READY","ONLINE","OFFLINE","SEEK","addEventListener","DailyMotion","DM","apiready","seeked","video_end","durationchange","onDurationChange","waiting","bufferedTime","Mixcloud","PlayerWidget","ended","progress","query","feed","Vidyard","stop","addReadyListener","renderPlayer","uuid","getPlayerMetadata","meta","length_in_seconds","VidyardV4","destroyPlayer","Kaltura","setTimeout","addListeners","referrerPolicy","HAS_NAVIGATOR","IS_IPAD_PRO","platform","maxTouchPoints","IS_IOS","MSStream","MATCH_DROPBOX_URL","MATCH_CLOUDFLARE_STREAM","FilePlayer","_this$props7","_this$props8","_this$props9","webkitPresentationMode","index","track","prevPlayer","prevProps","shouldUseAudio","removeListeners","srcObject","hls","destroy","_this$props10","onPlayBackRateChange","onPresentationModeChange","shouldUseHLS","removeEventListener","poster","dash","reset","Hls","MANIFEST_PARSED","loadSource","attachMedia","shouldUseDASH","dashjs","MediaPlayer","initialize","getDebug","setLogToBrowserConsole","updateSettings","debug","logLevel","Debug","LOG_LEVEL_NONE","shouldUseFLV","flvjs","flv","createPlayer","attachMediaElement","URL","createObjectURL","removeAttribute","requestPictureInPicture","pictureInPictureElement","exitPictureInPicture","seekable","Infinity","buffered","useHLS","useDASH","useFLV","_this$props11","getSource","preload","renderSourceElement","renderTrack","_memoizeOne","_reactFastCompare","_props","_Player3","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","Preview","IS_BROWSER","IS_GLOBAL","global","SUPPORTED_PROPS","UniversalSuspense","Suspense","customPlayers","players","_class","_temp","ReactPlayer","showPreview","_wrapper","_player","setState","getCurrentTime","getSecondsLoaded","getInternalPlayer","getActivePlayer","references","activePlayer","handleReady","nextProps","nextState","state","onClick","handleClickPreview","Wrapper","getAttributes","wrapperRef","renderPreview","renderActivePlayer","_arr2","_i3","_arr3","_Player2","safeIsNaN","Number","isNaN","areInputsEqual","newInputs","lastInputs","first","second","memoizeOne","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","playedSeconds","loadedSeconds","played","prevPlayed","prevLoaded","progressTimeout","progressFrequency","mounted","isLoading","loadOnReady","handleDurationCheck","isPlaying","startOnPlay","setPlaybackRate","seekOnPlay","loopOnEnded","clearTimeout","durationCheckTimeout","onDurationCalled","disablePIP","disableDeferredLoading","forceLoad","enablePIP","unmute","handlePlayerMount","handlePlay","handlePause","handleEnded","handleLoaded","handleError","image","fetchImage","isValidElement","fetch","response","json","thumbnail_url","isElement","flexCenter","alignItems","justifyContent","styles","preview","backgroundImage","backgroundSize","backgroundPosition","cursor","shadow","background","borderRadius","position","borderStyle","borderWidth","borderColor","marginLeft","defaultPlayIcon","tabIndex","onKeyPress","handleKeyPress","t","floor","now","r","querySelectorAll","HTMLElement","NodeList","raw","cancelable","defaultPrevented","preventDefault","u","stopPropagation","c","add","addListener","input","nativeEvent","changedTouches","targetTouches","detail","x","identifier","idChanged","screenX","pageX","y","screenY","pageY","purge","removeListener","min","max","d","l","getBoundingClientRect","offsetHeight","offsetWidth","round","h","m","v","g","w","M","T","C","P","E","z","abs","O","I","S","A","L","D","distance","timestamp","emit","k","rtl","portion","maxIdx","minIdx","slides","slidesLength","details","absToRel","distToIdx","idxToDist","trackConfig","range","to","velocity","lastTimestamp","pow","dist","dur","animator","mode","easing","earlyExit","rubberband","moveToIdx","vertical","innerHeight","innerWidth","drag","disabled","dragSpeed","capture","passive","scrollHeight","clientHeight","scrollWidth","clientWidth","scrollTop","scrollLeft","overflowY","overflowX","active","requestAnimationFrame","renderMode","transform","getComputedStyle","getPropertyValue","matches","__media","breakpoints","matchMedia","spacing","selector","update","defaultAnimation","targetIdx","cancelAnimationFrame","initial","useKeenSlider","useRef","useCallback","current","useEffect","getOwnPropertyNames"],"mappings":"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","file":"4.js?id=d8b5754f1f16e69d2639","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.parseStartTime = parseStartTime;\nexports.parseEndTime = parseEndTime;\nexports.randomString = randomString;\nexports.queryString = queryString;\nexports.getSDK = getSDK;\nexports.getConfig = getConfig;\nexports.omit = omit;\nexports.callPlayer = callPlayer;\nexports.isMediaStream = isMediaStream;\nexports.isBlobUrl = isBlobUrl;\nexports.supportsWebKitPresentationMode = supportsWebKitPresentationMode;\n\nvar _loadScript = _interopRequireDefault(require(\"load-script\"));\n\nvar _deepmerge = _interopRequireDefault(require(\"deepmerge\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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\nvar MATCH_START_QUERY = /[?&#](?:start|t)=([0-9hms]+)/;\nvar MATCH_END_QUERY = /[?&#]end=([0-9hms]+)/;\nvar MATCH_START_STAMP = /(\\d+)(h|m|s)/g;\nvar MATCH_NUMERIC = /^\\d+$/; // Parse YouTube URL for a start time param, ie ?t=1h14m30s\n// and return the start time in seconds\n\nfunction parseTimeParam(url, pattern) {\n  if (url instanceof Array) {\n    return undefined;\n  }\n\n  var match = url.match(pattern);\n\n  if (match) {\n    var stamp = match[1];\n\n    if (stamp.match(MATCH_START_STAMP)) {\n      return parseTimeString(stamp);\n    }\n\n    if (MATCH_NUMERIC.test(stamp)) {\n      return parseInt(stamp);\n    }\n  }\n\n  return undefined;\n}\n\nfunction parseTimeString(stamp) {\n  var seconds = 0;\n  var array = MATCH_START_STAMP.exec(stamp);\n\n  while (array !== null) {\n    var _array = array,\n        _array2 = _slicedToArray(_array, 3),\n        count = _array2[1],\n        period = _array2[2];\n\n    if (period === 'h') seconds += parseInt(count, 10) * 60 * 60;\n    if (period === 'm') seconds += parseInt(count, 10) * 60;\n    if (period === 's') seconds += parseInt(count, 10);\n    array = MATCH_START_STAMP.exec(stamp);\n  }\n\n  return seconds;\n}\n\nfunction parseStartTime(url) {\n  return parseTimeParam(url, MATCH_START_QUERY);\n}\n\nfunction parseEndTime(url) {\n  return parseTimeParam(url, MATCH_END_QUERY);\n} // http://stackoverflow.com/a/38622545\n\n\nfunction randomString() {\n  return Math.random().toString(36).substr(2, 5);\n}\n\nfunction queryString(object) {\n  return Object.keys(object).map(function (key) {\n    return \"\".concat(key, \"=\").concat(object[key]);\n  }).join('&');\n}\n\nfunction getGlobal(key) {\n  if (window[key]) {\n    return window[key];\n  }\n\n  if (window.exports && window.exports[key]) {\n    return window.exports[key];\n  }\n\n  if (window.module && window.module.exports && window.module.exports[key]) {\n    return window.module.exports[key];\n  }\n\n  return null;\n} // Util function to load an external SDK\n// or return the SDK if it is already loaded\n\n\nvar requests = {};\n\nfunction getSDK(url, sdkGlobal) {\n  var sdkReady = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n  var isLoaded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {\n    return true;\n  };\n  var fetchScript = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _loadScript[\"default\"];\n  var existingGlobal = getGlobal(sdkGlobal);\n\n  if (existingGlobal && isLoaded(existingGlobal)) {\n    return Promise.resolve(existingGlobal);\n  }\n\n  return new Promise(function (resolve, reject) {\n    // If we are already loading the SDK, add the resolve and reject\n    // functions to the existing array of requests\n    if (requests[url]) {\n      requests[url].push({\n        resolve: resolve,\n        reject: reject\n      });\n      return;\n    }\n\n    requests[url] = [{\n      resolve: resolve,\n      reject: reject\n    }];\n\n    var onLoaded = function onLoaded(sdk) {\n      // When loaded, resolve all pending request promises\n      requests[url].forEach(function (request) {\n        return request.resolve(sdk);\n      });\n    };\n\n    if (sdkReady) {\n      var previousOnReady = window[sdkReady];\n\n      window[sdkReady] = function () {\n        if (previousOnReady) previousOnReady();\n        onLoaded(getGlobal(sdkGlobal));\n      };\n    }\n\n    fetchScript(url, function (err) {\n      if (err) {\n        // Loading the SDK failed – reject all requests and\n        // reset the array of requests for this SDK\n        requests[url].forEach(function (request) {\n          return request.reject(err);\n        });\n        requests[url] = null;\n      } else if (!sdkReady) {\n        onLoaded(getGlobal(sdkGlobal));\n      }\n    });\n  });\n}\n\nfunction getConfig(props, defaultProps) {\n  return (0, _deepmerge[\"default\"])(defaultProps.config, props.config);\n}\n\nfunction omit(object) {\n  var _ref;\n\n  for (var _len = arguments.length, arrays = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    arrays[_key - 1] = arguments[_key];\n  }\n\n  var omitKeys = (_ref = []).concat.apply(_ref, arrays);\n\n  var output = {};\n  var keys = Object.keys(object);\n\n  for (var _i2 = 0, _keys = keys; _i2 < _keys.length; _i2++) {\n    var key = _keys[_i2];\n\n    if (omitKeys.indexOf(key) === -1) {\n      output[key] = object[key];\n    }\n  }\n\n  return output;\n}\n\nfunction callPlayer(method) {\n  var _this$player;\n\n  // Util method for calling a method on this.player\n  // but guard against errors and console.warn instead\n  if (!this.player || !this.player[method]) {\n    var message = \"ReactPlayer: \".concat(this.constructor.displayName, \" player could not call %c\").concat(method, \"%c \\u2013 \");\n\n    if (!this.player) {\n      message += 'The player was not available';\n    } else if (!this.player[method]) {\n      message += 'The method was not available';\n    }\n\n    console.warn(message, 'font-weight: bold', '');\n    return null;\n  }\n\n  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n    args[_key2 - 1] = arguments[_key2];\n  }\n\n  return (_this$player = this.player)[method].apply(_this$player, args);\n}\n\nfunction isMediaStream(url) {\n  return typeof window !== 'undefined' && typeof window.MediaStream !== 'undefined' && url instanceof window.MediaStream;\n}\n\nfunction isBlobUrl(url) {\n  return /^blob:/.test(url);\n}\n\nfunction supportsWebKitPresentationMode() {\n  var video = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.createElement('video');\n  // Check if Safari supports PiP, and is not on mobile (other than iPad)\n  // iPhone safari appears to \"support\" PiP through the check, however PiP does not function\n  var notMobile = /iPhone|iPod/.test(navigator.userAgent) === false;\n  return video.webkitSupportsPresentationMode && typeof video.webkitSetPresentationMode === 'function' && notMobile;\n}","\"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=|shorts\\/))((\\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\\/(?!progressive_redirect).+/;\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|m4b|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)(#t=[,\\d+]+)?($|\\?)/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\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n  // START: fast-deep-equal es6/index.js 3.1.1\n  if (a === b) return true;\n\n  if (a && b && typeof a == 'object' && typeof b == 'object') {\n    if (a.constructor !== b.constructor) return false;\n\n    var length, i, keys;\n    if (Array.isArray(a)) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;)\n        if (!equal(a[i], b[i])) return false;\n      return true;\n    }\n\n    // START: Modifications:\n    // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n    //    to co-exist with es5.\n    // 2. Replace `for of` with es5 compliant iteration using `for`.\n    //    Basically, take:\n    //\n    //    ```js\n    //    for (i of a.entries())\n    //      if (!b.has(i[0])) return false;\n    //    ```\n    //\n    //    ... and convert to:\n    //\n    //    ```js\n    //    it = a.entries();\n    //    while (!(i = it.next()).done)\n    //      if (!b.has(i.value[0])) return false;\n    //    ```\n    //\n    //    **Note**: `i` access switches to `i.value`.\n    var it;\n    if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n      if (a.size !== b.size) return false;\n      it = a.entries();\n      while (!(i = it.next()).done)\n        if (!b.has(i.value[0])) return false;\n      it = a.entries();\n      while (!(i = it.next()).done)\n        if (!equal(i.value[1], b.get(i.value[0]))) return false;\n      return true;\n    }\n\n    if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n      if (a.size !== b.size) return false;\n      it = a.entries();\n      while (!(i = it.next()).done)\n        if (!b.has(i.value[0])) return false;\n      return true;\n    }\n    // END: Modifications\n\n    if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;)\n        if (a[i] !== b[i]) return false;\n      return true;\n    }\n\n    if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n    if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n    if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n    keys = Object.keys(a);\n    length = keys.length;\n    if (length !== Object.keys(b).length) return false;\n\n    for (i = length; i-- !== 0;)\n      if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n    // END: fast-deep-equal\n\n    // START: react-fast-compare\n    // custom handling for DOM elements\n    if (hasElementType && a instanceof Element) return false;\n\n    // custom handling for React/Preact\n    for (i = length; i-- !== 0;) {\n      if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n        // React-specific: avoid traversing React elements' _owner\n        // Preact-specific: avoid traversing Preact elements' __v and __o\n        //    __v = $_original / $_vnode\n        //    __o = $_owner\n        // These properties contain circular references and are not needed when\n        // comparing the actual elements (and not their owners)\n        // .$$typeof and ._store on just reasonable markers of elements\n\n        continue;\n      }\n\n      // all other properties should be traversed as usual\n      if (!equal(a[keys[i]], b[keys[i]])) return false;\n    }\n    // END: react-fast-compare\n\n    // START: fast-deep-equal\n    return true;\n  }\n\n  return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n  try {\n    return equal(a, b);\n  } catch (error) {\n    if (((error.message || '').match(/stack|recursion/i))) {\n      // warn on circular references, don't crash\n      // browsers give this different errors name and messages:\n      // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n      // firefox: \"InternalError\", too much recursion\"\n      // edge: \"Error\", \"Out of stack space\"\n      console.warn('react-fast-compare cannot handle circular refs');\n      return false;\n    }\n    // some other error. we should definitely know about these\n    throw error;\n  }\n};\n","\"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, object]),\n  playIcon: node,\n  previewTabIndex: number,\n  fallback: node,\n  oEmbedUrl: string,\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      title: string\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  onPlaybackRateChange: 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  oEmbedUrl: 'https://noembed.com/embed?url={url}',\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      title: null\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: '1.1.4',\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  onPlaybackRateChange: noop,\n  onProgress: noop,\n  onClickPreview: noop,\n  onEnablePIP: noop,\n  onDisablePIP: noop\n};\nexports.defaultProps = defaultProps;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _players = _interopRequireDefault(require(\"./players\"));\n\nvar _ReactPlayer = require(\"./ReactPlayer\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// Fall back to FilePlayer if nothing else can play the URL\nvar fallback = _players[\"default\"][_players[\"default\"].length - 1];\n\nvar _default = (0, _ReactPlayer.createReactPlayer)(_players[\"default\"], fallback);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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 _default = [{\n  key: 'youtube',\n  name: 'YouTube',\n  canPlay: _patterns.canPlay.youtube,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./YouTube'));\n    });\n  })\n}, {\n  key: 'soundcloud',\n  name: 'SoundCloud',\n  canPlay: _patterns.canPlay.soundcloud,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./SoundCloud'));\n    });\n  })\n}, {\n  key: 'vimeo',\n  name: 'Vimeo',\n  canPlay: _patterns.canPlay.vimeo,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Vimeo'));\n    });\n  })\n}, {\n  key: 'facebook',\n  name: 'Facebook',\n  canPlay: _patterns.canPlay.facebook,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Facebook'));\n    });\n  })\n}, {\n  key: 'streamable',\n  name: 'Streamable',\n  canPlay: _patterns.canPlay.streamable,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Streamable'));\n    });\n  })\n}, {\n  key: 'wistia',\n  name: 'Wistia',\n  canPlay: _patterns.canPlay.wistia,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Wistia'));\n    });\n  })\n}, {\n  key: 'twitch',\n  name: 'Twitch',\n  canPlay: _patterns.canPlay.twitch,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Twitch'));\n    });\n  })\n}, {\n  key: 'dailymotion',\n  name: 'DailyMotion',\n  canPlay: _patterns.canPlay.dailymotion,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./DailyMotion'));\n    });\n  })\n}, {\n  key: 'mixcloud',\n  name: 'Mixcloud',\n  canPlay: _patterns.canPlay.mixcloud,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Mixcloud'));\n    });\n  })\n}, {\n  key: 'vidyard',\n  name: 'Vidyard',\n  canPlay: _patterns.canPlay.vidyard,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Vidyard'));\n    });\n  })\n}, {\n  key: 'kaltura',\n  name: 'Kaltura',\n  canPlay: _patterns.canPlay.kaltura,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Kaltura'));\n    });\n  })\n}, {\n  key: 'file',\n  name: 'FilePlayer',\n  canPlay: _patterns.canPlay.file,\n  canEnablePIP: function canEnablePIP(url) {\n    return _patterns.canPlay.file(url) && (document.pictureInPictureEnabled || (0, _utils.supportsWebKitPresentationMode)()) && !_patterns.AUDIO_EXTENSIONS.test(url);\n  },\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./FilePlayer'));\n    });\n  })\n}];\nexports[\"default\"] = _default;","\nmodule.exports = function load (src, opts, cb) {\n  var head = document.head || document.getElementsByTagName('head')[0]\n  var script = document.createElement('script')\n\n  if (typeof opts === 'function') {\n    cb = opts\n    opts = {}\n  }\n\n  opts = opts || {}\n  cb = cb || function() {}\n\n  script.type = opts.type || 'text/javascript'\n  script.charset = opts.charset || 'utf8';\n  script.async = 'async' in opts ? !!opts.async : true\n  script.src = src\n\n  if (opts.attrs) {\n    setAttributes(script, opts.attrs)\n  }\n\n  if (opts.text) {\n    script.text = '' + opts.text\n  }\n\n  var onend = 'onload' in script ? stdOnEnd : ieOnEnd\n  onend(script, cb)\n\n  // some good legacy browsers (firefox) fail the 'in' detection above\n  // so as a fallback we always set onload\n  // old IE will ignore this and new IE will set onload\n  if (!script.onload) {\n    stdOnEnd(script, cb);\n  }\n\n  head.appendChild(script)\n}\n\nfunction setAttributes(script, attrs) {\n  for (var attr in attrs) {\n    script.setAttribute(attr, attrs[attr]);\n  }\n}\n\nfunction stdOnEnd (script, cb) {\n  script.onload = function () {\n    this.onerror = this.onload = null\n    cb(null, script)\n  }\n  script.onerror = function () {\n    // this.onload = null here is necessary\n    // because even IE9 works not like others\n    this.onerror = this.onload = null\n    cb(new Error('Failed to load ' + this.src), script)\n  }\n}\n\nfunction ieOnEnd (script, cb) {\n  script.onreadystatechange = function () {\n    if (this.readyState != 'complete' && this.readyState != 'loaded') return\n    this.onreadystatechange = null\n    cb(null, script) // there is no way to catch loading errors in IE8\n  }\n}\n","\"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            onPlaybackRateChange: function onPlaybackRateChange(event) {\n              return _this2.props.onPlaybackRateChange(event.data);\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\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 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        var _this2$props$config = _this2.props.config,\n            playerOptions = _this2$props$config.playerOptions,\n            title = _this2$props$config.title;\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        }, 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\n          if (title) {\n            iframe.title = title;\n          }\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\n        _this2.player.on('playbackratechange', function (e) {\n          return _this2.props.onPlaybackRateChange(e.playbackRate);\n        });\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 _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 _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        allow: \"encrypted-media; autoplay; fullscreen;\"\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://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), \"onPlaybackRateChange\", function () {\n      var _this$props5;\n\n      return (_this$props5 = _this.props).onPlaybackRateChange.apply(_this$props5, 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$props6 = this.props,\n          playing = _this$props6.playing,\n          muted = _this$props6.muted,\n          controls = _this$props6.controls,\n          _onReady = _this$props6.onReady,\n          config = _this$props6.config,\n          onError = _this$props6.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            _this2.player.bind('playbackratechange', _this2.onPlaybackRateChange);\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      this.player.unbind('playbackratechange', this.onPlaybackRateChange);\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 _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            SEEK = _Twitch$Player.SEEK;\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);\n\n        _this2.player.addEventListener(SEEK, _this2.props.onSeek); // 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 _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 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        allow: \"autoplay\"\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://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          if (_this2.player) {\n            return;\n          }\n\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 _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          // An arbitrary timeout is required otherwise\n          // the event listeners won’t work\n          setTimeout(function () {\n            _this2.player.isReady = true;\n\n            _this2.player.setLoop(_this2.props.loop);\n\n            if (_this2.props.muted) {\n              _this2.player.mute();\n            }\n\n            _this2.addListeners(_this2.player, _this2.props);\n\n            _this2.props.onReady();\n          }, 500);\n        });\n      }, this.props.onError);\n    }\n  }, {\n    key: \"addListeners\",\n    value: function addListeners(player, props) {\n      var _this3 = this;\n\n      player.on('play', props.onPlay);\n      player.on('pause', props.onPause);\n      player.on('ended', props.onEnded);\n      player.on('error', props.onError);\n      player.on('timeupdate', function (_ref) {\n        var duration = _ref.duration,\n            seconds = _ref.seconds;\n        _this3.duration = duration;\n        _this3.currentTime = seconds;\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('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        allow: \"encrypted-media; autoplay; fullscreen;\",\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 _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), \"onPlayBackRateChange\", function (event) {\n      return _this.props.onPlaybackRateChange(event.target.playbackRate);\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.player.src = '';\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('ratechange', this.onPlayBackRateChange);\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('ratechange', this.onPlayBackRateChange);\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.on(flvjs.Events.ERROR, function (e, data) {\n            _this2.props.onError(e, data, _this2.flv, flvjs);\n          });\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      try {\n        this.player.playbackRate = rate;\n      } catch (error) {\n        this.props.onError(error);\n      }\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\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            oEmbedUrl = _this$props.oEmbedUrl;\n        return /*#__PURE__*/_react[\"default\"].createElement(Preview, {\n          url: url,\n          light: light,\n          playIcon: playIcon,\n          previewTabIndex: previewTabIndex,\n          oEmbedUrl: oEmbedUrl,\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        var wrapperRef = typeof Wrapper === 'string' ? this.references.wrapper : undefined;\n        return /*#__PURE__*/_react[\"default\"].createElement(Wrapper, _extends({\n          ref: wrapperRef,\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;","var safeIsNaN = Number.isNaN ||\n    function ponyfill(value) {\n        return typeof value === 'number' && value !== value;\n    };\nfunction isEqual(first, second) {\n    if (first === second) {\n        return true;\n    }\n    if (safeIsNaN(first) && safeIsNaN(second)) {\n        return true;\n    }\n    return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (!isEqual(newInputs[i], lastInputs[i])) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n    if (isEqual === void 0) { isEqual = areInputsEqual; }\n    var lastThis;\n    var lastArgs = [];\n    var lastResult;\n    var calledOnce = false;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n            return lastResult;\n        }\n        lastResult = resultFn.apply(this, newArgs);\n        calledOnce = true;\n        lastThis = this;\n        lastArgs = newArgs;\n        return lastResult;\n    }\n    return memoized;\n}\n\nexport default memoizeOne;\n","\"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\nvar _utils = require(\"./utils\");\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      if (_this.player) {\n        _this.progress(); // Ensure onProgress is still called in strict mode\n\n\n        return; // Return here to prevent loading twice in strict mode\n      }\n\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          disableDeferredLoading = _this$props5.disableDeferredLoading;\n\n      if (!(0, _reactFastCompare[\"default\"])(prevProps.url, url)) {\n        if (this.isLoading && !activePlayer.forceLoad && !disableDeferredLoading && !(0, _utils.isMediaStream)(url)) {\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) {\n        if (amount !== 0) {\n          this.seekOnPlay = amount;\n          setTimeout(function () {\n            _this3.seekOnPlay = null;\n          }, SEEK_ON_PLAY_EXPIRY);\n        }\n\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          oEmbedUrl = _ref.oEmbedUrl;\n\n      if ( /*#__PURE__*/_react[\"default\"].isValidElement(light)) {\n        return;\n      }\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(oEmbedUrl.replace('{url}', 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          light = _this$props2.light,\n          onClick = _this$props2.onClick,\n          playIcon = _this$props2.playIcon,\n          previewTabIndex = _this$props2.previewTabIndex;\n      var image = this.state.image;\n\n      var isElement = /*#__PURE__*/_react[\"default\"].isValidElement(light);\n\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 && !isElement ? \"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          position: isElement ? 'absolute' : undefined\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      }, isElement ? light : null, playIcon || defaultPlayIcon);\n    }\n  }]);\n\n  return Preview;\n}(_react.Component);\n\nexports[\"default\"] = Preview;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var n=require(\"react\");function t(n){return Array.prototype.slice.call(n)}function e(n,t){var e=Math.floor(n);return e===t||e+1===t?n:t}function i(){return Date.now()}function r(n,t,e){if(t=\"data-keen-slider-\"+t,null===e)return n.removeAttribute(t);n.setAttribute(t,e||\"\")}function a(n,e){return e=e||document,\"function\"==typeof n&&(n=n(e)),Array.isArray(n)?n:\"string\"==typeof n?t(e.querySelectorAll(n)):n instanceof HTMLElement?[n]:n instanceof NodeList?t(n):[]}function o(n){n.raw&&(n=n.raw),n.cancelable&&!n.defaultPrevented&&n.preventDefault()}function u(n){n.raw&&(n=n.raw),n.stopPropagation&&n.stopPropagation()}function c(){var n=[];return{add:function(t,e,i,r){t.addListener?t.addListener(i):t.addEventListener(e,i,r),n.push([t,e,i,r])},input:function(n,t,e,i){this.add(n,t,function(n){return function(t){t.nativeEvent&&(t=t.nativeEvent);var e=t.changedTouches||[],i=t.targetTouches||[],r=t.detail&&t.detail.x?t.detail:null;return n({id:r?r.identifier?r.identifier:\"i\":i[0]?i[0]?i[0].identifier:\"e\":\"d\",idChanged:r?r.identifier?r.identifier:\"i\":e[0]?e[0]?e[0].identifier:\"e\":\"d\",raw:t,x:r&&r.x?r.x:i[0]?i[0].screenX:r?r.x:t.pageX,y:r&&r.y?r.y:i[0]?i[0].screenY:r?r.y:t.pageY})}}(e),i)},purge:function(){n.forEach((function(n){n[0].removeListener?n[0].removeListener(n[2]):n[0].removeEventListener(n[1],n[2],n[3])})),n=[]}}}function s(n,t,e){return Math.min(Math.max(n,t),e)}function d(n){return(n>0?1:0)-(n<0?1:0)||+n}function l(n){var t=n.getBoundingClientRect();return{height:e(t.height,n.offsetHeight),width:e(t.width,n.offsetWidth)}}function f(n,t,e,i){var r=n&&n[t];return null==r?e:i&&\"function\"==typeof r?r():r}function p(n){return Math.round(1e6*n)/1e6}function v(n,t){if(n===t)return!0;var e=typeof n;if(e!==typeof t)return!1;if(\"object\"!==e||null===n||null===t)return\"function\"===e&&n.toString()===t.toString();if(n.length!==t.length||Object.getOwnPropertyNames(n).length!==Object.getOwnPropertyNames(t).length)return!1;for(var i in n)if(!v(n[i],t[i]))return!1;return!0}var h=function(){return h=Object.assign||function(n){for(var t,e=1,i=arguments.length;e<i;e++)for(var r in t=arguments[e])Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n},h.apply(this,arguments)};function m(n,t,e){if(e||2===arguments.length)for(var i,r=0,a=t.length;r<a;r++)!i&&r in t||(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return n.concat(i||Array.prototype.slice.call(t))}function g(n){var t,e,i,r,a,o;function u(t){o||(o=t),c(!0);var a=t-o;a>i&&(a=i);var l=r[e];if(l[3]<a)return e++,u(t);var f=l[2],p=l[4],v=l[0],h=l[1]*(0,l[5])(0===p?1:(a-f)/p);if(h&&n.track.to(v+h),a<i)return d();o=null,c(!1),s(null),n.emit(\"animationEnded\")}function c(n){t.active=n}function s(n){t.targetIdx=n}function d(){var n;n=u,a=window.requestAnimationFrame(n)}function l(){var t;t=a,window.cancelAnimationFrame(t),c(!1),s(null),o&&n.emit(\"animationStopped\"),o=null}return t={active:!1,start:function(t){if(l(),n.track.details){var a=0,o=n.track.details.position;e=0,i=0,r=t.map((function(n){var t,e=Number(o),r=null!==(t=n.earlyExit)&&void 0!==t?t:n.duration,u=n.easing,c=n.distance*u(r/n.duration)||0;o+=c;var s=i;return i+=r,a+=c,[e,n.distance,s,i,n.duration,u]})),s(n.track.distToIdx(a)),d(),n.emit(\"animationStarted\")}},stop:l,targetIdx:null}}function b(n){var t,e,r,a,o,u,c,l,v,h,g,b,y,x,k=1/0,w=[],M=null,T=0;function C(n){P(T+n)}function E(n){var t=z(T+n).abs;return O(t)?t:null}function z(n){var t=Math.floor(Math.abs(p(n/e))),i=p((n%e+e)%e);i===e&&(i=0);var r=d(n),a=c.indexOf(m([],c,!0).reduce((function(n,t){return Math.abs(t-i)<Math.abs(n-i)?t:n}))),o=a;return r<0&&t++,a===u&&(o=0,t+=r>0?1:-1),{abs:o+t*u*r,origin:a,rel:o}}function I(n,t,e){var i;if(t||!S())return A(n,e);if(!O(n))return null;var r=z(null!=e?e:T),a=r.abs,o=n-r.rel,c=a+o;i=A(c);var s=A(c-u*d(o));return(null!==s&&Math.abs(s)<Math.abs(i)||null===i)&&(i=s),p(i)}function A(n,t){if(null==t&&(t=p(T)),!O(n)||null===n)return null;n=Math.round(n);var i=z(t),r=i.abs,a=i.rel,o=i.origin,s=L(n),d=(t%e+e)%e,l=c[o],f=Math.floor((n-(r-a))/u)*e;return p(l-d-l+c[s]+f+(o===u?e:0))}function O(n){return D(n)===n}function D(n){return s(n,v,h)}function S(){return a.loop}function L(n){return(n%u+u)%u}function P(t){var e;e=t-T,w.push({distance:e,timestamp:i()}),w.length>6&&(w=w.slice(-6)),T=p(t);var r=_().abs;if(r!==M){var a=null!==M;M=r,a&&n.emit(\"slideChanged\")}}function _(i){var c=i?null:function(){if(u){var n=S(),t=n?(T%e+e)%e:T,i=(n?T%e:T)-o[0][2],c=0-(i<0&&n?e-Math.abs(i):i),s=0,l=z(T),f=l.abs,p=l.rel,m=o[p][2],k=o.map((function(t,i){var r=c+s;(r<0-t[0]||r>1)&&(r+=(Math.abs(r)>e-1&&n?e:0)*d(-r));var o=i-p,l=d(o),v=o+f;n&&(-1===l&&r>m&&(v+=u),1===l&&r<m&&(v-=u),null!==g&&v<g&&(r+=e),null!==b&&v>b&&(r-=e));var h=r+t[0]+t[1],y=Math.max(r>=0&&h<=1?1:h<0||r>1?0:r<0?Math.min(1,(t[0]+r)/t[0]):(1-r)/t[0],0);return s+=t[0]+t[1],{abs:v,distance:a.rtl?-1*r+1-t[0]:r,portion:y,size:t[0]}}));return f=D(f),p=L(f),{abs:D(f),length:r,max:x,maxIdx:h,min:y,minIdx:v,position:T,progress:n?t/e:T/r,rel:p,slides:k,slidesLength:e}}}();return t.details=c,n.emit(\"detailsChanged\"),c}return t={absToRel:L,add:C,details:null,distToIdx:E,idxToDist:I,init:function(t){if(function(){if(a=n.options,o=(a.trackConfig||[]).map((function(n){return[f(n,\"size\",1),f(n,\"spacing\",0),f(n,\"origin\",0)]})),u=o.length){e=p(o.reduce((function(n,t){return n+t[0]+t[1]}),0));var t,i=u-1;r=p(e+o[0][2]-o[i][0]-o[i][2]-o[i][1]),c=o.reduce((function(n,e){if(!n)return[0];var i=o[n.length-1],r=n[n.length-1]+(i[0]+i[2])+i[1];return r-=e[2],n[n.length-1]>r&&(r=n[n.length-1]),r=p(r),n.push(r),(!t||t<r)&&(l=n.length-1),t=r,n}),null),0===r&&(l=0),c.push(p(e))}}(),!u)return _(!0);var i;!function(){var t=n.options.range,e=n.options.loop;g=v=e?f(e,\"min\",-1/0):0,b=h=e?f(e,\"max\",k):l;var i=f(t,\"min\",null),r=f(t,\"max\",null);i&&(v=i),r&&(h=r),y=v===-1/0?v:n.track.idxToDist(v||0,!0,0),x=h===k?h:I(h,!0,0),null===r&&(b=h),f(t,\"align\",!1)&&h!==k&&0===o[L(h)][2]&&(x-=1-o[L(h)][0],h=E(x-T)),y=p(y),x=p(x)}(),i=t,Number(i)===i?C(A(D(t))):_()},to:P,velocity:function(){var n=i(),t=w.reduce((function(t,e){var i=e.distance,r=e.timestamp;return n-r>200||(d(i)!==d(t.distance)&&t.distance&&(t={distance:0,lastTimestamp:0,time:0}),t.time&&(t.distance+=i),t.lastTimestamp&&(t.time+=r-t.lastTimestamp),t.lastTimestamp=r),t}),{distance:0,lastTimestamp:0,time:0});return t.distance/t.time||0}}}function y(n){var t,e,i,r,a,o,u,c;function l(n){return 2*n}function f(n){return s(n,u,c)}function p(n){return 1-Math.pow(1-n,3)}function v(){return i?n.track.velocity():0}function h(){b();var t=\"free-snap\"===n.options.mode,e=n.track,i=v();r=d(i);var u=n.track.details,c=[];if(i||!t){var s=m(i),h=s.dist,g=s.dur;if(g=l(g),h*=r,t){var y=e.idxToDist(e.distToIdx(h),!0);y&&(h=y)}c.push({distance:h,duration:g,easing:p});var x=u.position,k=x+h;if(k<a||k>o){var w=k<a?a-x:o-x,M=0,T=i;if(d(w)===r){var C=Math.min(Math.abs(w)/Math.abs(h),1),E=function(n){return 1-Math.pow(1-n,1/3)}(C)*g;c[0].earlyExit=E,T=i*(1-C)}else c[0].earlyExit=0,M+=w;var z=m(T,100),I=z.dist*r;n.options.rubberband&&(c.push({distance:I,duration:l(z.dur),easing:p}),c.push({distance:-I+M,duration:500,easing:p}))}n.animator.start(c)}else n.moveToIdx(f(u.abs),!0,{duration:500,easing:function(n){return 1+--n*n*n*n*n}})}function m(n,t){void 0===t&&(t=1e3);var e=147e-9+(n=Math.abs(n))/t;return{dist:Math.pow(n,2)/e,dur:n/e}}function g(){var t=n.track.details;t&&(a=t.min,o=t.max,u=t.minIdx,c=t.maxIdx)}function b(){n.animator.stop()}n.on(\"updated\",g),n.on(\"optionsChanged\",g),n.on(\"created\",g),n.on(\"dragStarted\",(function(){i=!1,b(),t=e=n.track.details.abs})),n.on(\"dragChecked\",(function(){i=!0})),n.on(\"dragEnded\",(function(){var i=n.options.mode;\"snap\"===i&&function(){var i=n.track,r=n.track.details,u=r.position,c=d(v());(u>o||u<a)&&(c=0);var s=t+c;0===r.slides[i.absToRel(s)].portion&&(s-=c),t!==e&&(s=e),d(i.idxToDist(s,!0))!==c&&(s+=c),s=f(s);var l=i.idxToDist(s,!0);n.animator.start([{distance:l,duration:500,easing:function(n){return 1+--n*n*n*n*n}}])}(),\"free\"!==i&&\"free-snap\"!==i||h()})),n.on(\"dragged\",(function(){e=n.track.details.abs}))}function x(n){var t,e,i,r,l,f,p,v,h,m,g,b,y,x,k,w,M,T,C=c();function E(t){if(f&&v===t.id){var a=O(t);if(h){if(!A(t))return I(t);m=a,h=!1,n.emit(\"dragChecked\")}if(w)return m=a;o(t);var c=function(t){if(M===-1/0&&T===1/0)return t;var i=n.track.details,a=i.length,o=i.position,u=s(t,M-o,T-o);if(0===a)return 0;if(!n.options.rubberband)return u;if(o<=T&&o>=M)return t;if(o<M&&e>0||o>T&&e<0)return t;var c=(o<M?o-M:o-T)/a,d=r*a,f=Math.abs(c*d),p=Math.max(0,1-f/l*2);return p*p*t}(p(m-a)/r*i);e=d(c);var y=n.track.details.position;(y>M&&y<T||y===M&&e>0||y===T&&e<0)&&u(t),g+=c,!b&&Math.abs(g*r)>5&&(b=!0),n.track.add(c),m=a,n.emit(\"dragged\")}}function z(t){!f&&n.track.details&&n.track.details.length&&(g=0,f=!0,b=!1,h=!0,v=t.id,A(t),m=O(t),n.emit(\"dragStarted\"))}function I(t){f&&v===t.idChanged&&(f=!1,n.emit(\"dragEnded\"))}function A(n){var t=D(),e=t?n.y:n.x,i=t?n.x:n.y,r=void 0!==y&&void 0!==x&&Math.abs(x-i)<=Math.abs(y-e);return y=e,x=i,r}function O(n){return D()?n.y:n.x}function D(){return n.options.vertical}function S(){r=n.size,l=D()?window.innerHeight:window.innerWidth;var t=n.track.details;t&&(M=t.min,T=t.max)}function L(n){b&&(u(n),o(n))}function P(){if(C.purge(),n.options.drag&&!n.options.disabled){var e;e=n.options.dragSpeed||1,p=\"function\"==typeof e?e:function(n){return n*e},i=n.options.rtl?-1:1,S(),t=n.container,function(){var n=\"data-keen-slider-clickable\";a(\"[\".concat(n,\"]:not([\").concat(n,\"=false])\"),t).map((function(n){C.add(n,\"dragstart\",u),C.add(n,\"mousedown\",u),C.add(n,\"touchstart\",u)}))}(),C.add(t,\"dragstart\",(function(n){o(n)})),C.add(t,\"click\",L,{capture:!0}),C.input(t,\"ksDragStart\",z),C.input(t,\"ksDrag\",E),C.input(t,\"ksDragEnd\",I),C.input(t,\"mousedown\",z),C.input(t,\"mousemove\",E),C.input(t,\"mouseleave\",I),C.input(t,\"mouseup\",I),C.input(t,\"touchstart\",z,{passive:!0}),C.input(t,\"touchmove\",E,{passive:!1}),C.input(t,\"touchend\",I),C.input(t,\"touchcancel\",I),C.add(window,\"wheel\",(function(n){f&&o(n)}));var r=\"data-keen-slider-scrollable\";a(\"[\".concat(r,\"]:not([\").concat(r,\"=false])\"),n.container).map((function(n){return function(n){var t;C.input(n,\"touchstart\",(function(n){t=O(n),w=!0,k=!0}),{passive:!0}),C.input(n,\"touchmove\",(function(e){var i=D(),r=i?n.scrollHeight-n.clientHeight:n.scrollWidth-n.clientWidth,a=t-O(e),u=i?n.scrollTop:n.scrollLeft,c=i&&\"scroll\"===n.style.overflowY||!i&&\"scroll\"===n.style.overflowX;if(t=O(e),(a<0&&u>0||a>0&&u<r)&&k&&c)return w=!0;k=!1,o(e),w=!1})),C.input(n,\"touchend\",(function(){w=!1}))}(n)}))}}n.on(\"updated\",S),n.on(\"optionsChanged\",P),n.on(\"created\",P),n.on(\"destroyed\",C.purge)}function k(n){var t,e,i=null;function r(t,e,i){n.animator.active?o(t,e,i):requestAnimationFrame((function(){return o(t,e,i)}))}function a(){r(!1,!1,e)}function o(e,r,a){var o=0,u=n.size,d=n.track.details;if(d&&t){var l=d.slides;t.forEach((function(n,t){if(e)!i&&r&&c(n,null,a),s(n,null,a);else{if(!l[t])return;var d=l[t].size*u;!i&&r&&c(n,d,a),s(n,l[t].distance*u-o,a),o+=d}}))}}function u(t){return\"performance\"===n.options.renderMode?Math.round(t):t}function c(n,t,e){var i=e?\"height\":\"width\";null!==t&&(t=u(t)+\"px\"),n.style[\"min-\"+i]=t,n.style[\"max-\"+i]=t}function s(n,t,e){if(null!==t){t=u(t);var i=e?t:0;t=\"translate3d(\".concat(e?0:t,\"px, \").concat(i,\"px, 0)\")}n.style.transform=t,n.style[\"-webkit-transform\"]=t}function d(){t&&(o(!0,!0,e),t=null),n.on(\"detailsChanged\",a,!0)}function l(){r(!1,!0,e)}function p(){d(),e=n.options.vertical,n.options.disabled||\"custom\"===n.options.renderMode||(i=\"auto\"===f(n.options.slides,\"perView\",null),n.on(\"detailsChanged\",a),(t=n.slides).length&&l())}n.on(\"created\",p),n.on(\"optionsChanged\",p),n.on(\"beforeOptionsChanged\",(function(){d()})),n.on(\"updated\",l),n.on(\"destroyed\",d)}function w(n,t){return function(e){var i,o,u,s,d,p,v=c();function m(n){var t;r(e.container,\"reverse\",\"rtl\"!==(t=e.container,window.getComputedStyle(t,null).getPropertyValue(\"direction\"))||n?null:\"\"),r(e.container,\"v\",e.options.vertical&&!n?\"\":null),r(e.container,\"disabled\",e.options.disabled&&!n?\"\":null)}function g(){b()&&M()}function b(){var n=null;if(s.forEach((function(t){t.matches&&(n=t.__media)})),n===i)return!1;i||e.emit(\"beforeOptionsChanged\"),i=n;var t=n?u.breakpoints[n]:u;return e.options=h(h({},u),t),m(),I(),A(),C(),!0}function y(n){var t=l(n);return(e.options.vertical?t.height:t.width)/e.size||1}function x(){return e.options.trackConfig.length}function k(n){for(var r in i=!1,u=h(h({},t),n),v.purge(),o=e.size,s=[],u.breakpoints||[]){var a=window.matchMedia(r);a.__media=r,s.push(a),v.add(a,\"change\",g)}v.add(window,\"orientationchange\",z),v.add(window,\"resize\",E),b()}function w(n){e.animator.stop();var t=e.track.details;e.track.init(null!=n?n:t?t.abs:0)}function M(n){w(n),e.emit(\"optionsChanged\")}function T(n,t){if(n)return k(n),void M(t);I(),A();var i=x();C(),x()!==i?M(t):w(t),e.emit(\"updated\")}function C(){var n=e.options.slides;if(\"function\"==typeof n)return e.options.trackConfig=n(e.size,e.slides);for(var t=e.slides,i=t.length,r=\"number\"==typeof n?n:f(n,\"number\",i,!0),a=[],o=f(n,\"perView\",1,!0),u=f(n,\"spacing\",0,!0)/e.size||0,c=\"auto\"===o?u:u/o,s=f(n,\"origin\",\"auto\"),d=0,l=0;l<r;l++){var p=\"auto\"===o?y(t[l]):1/o-u+c,v=\"center\"===s?.5-p/2:\"auto\"===s?0:s;a.push({origin:v,size:p,spacing:u}),d+=p}if(d+=u*(r-1),\"auto\"===s&&!e.options.loop&&1!==o){var h=0;a.map((function(n){var t=d-h;return h+=n.size+u,t>=1||(n.origin=1-t-(d>1?0:1-d)),n}))}e.options.trackConfig=a}function E(){I();var n=e.size;e.options.disabled||n===o||(o=n,T())}function z(){E(),setTimeout(E,500),setTimeout(E,2e3)}function I(){var n=l(e.container);e.size=(e.options.vertical?n.height:n.width)||1}function A(){e.slides=a(e.options.selector,e.container)}e.container=(p=a(n,d||document)).length?p[0]:null,e.destroy=function(){v.purge(),e.emit(\"destroyed\"),m(!0)},e.prev=function(){e.moveToIdx(e.track.details.abs-1,!0)},e.next=function(){e.moveToIdx(e.track.details.abs+1,!0)},e.update=T,k(e.options)}}var M=function(n,t,e){try{return function(n,t){var e,i={};return e={emit:function(n){i[n]&&i[n].forEach((function(n){n(e)}));var t=e.options&&e.options[n];t&&t(e)},moveToIdx:function(n,t,i){var r=e.track.idxToDist(n,t);if(r){var a=e.options.defaultAnimation;e.animator.start([{distance:r,duration:f(i||a,\"duration\",500),easing:f(i||a,\"easing\",(function(n){return 1+--n*n*n*n*n}))}])}},on:function(n,t,e){void 0===e&&(e=!1),i[n]||(i[n]=[]);var r=i[n].indexOf(t);r>-1?e&&delete i[n][r]:e||i[n].push(t)},options:n},function(){if(e.track=b(e),e.animator=g(e),t)for(var n=0,i=t;n<i.length;n++)(0,i[n])(e);e.track.init(e.options.initial||0),e.emit(\"created\")}(),e}(t,m([w(n,{drag:!0,mode:\"snap\",renderMode:\"precision\",rubberband:!0,selector:\".keen-slider__slide\"}),k,x,y],e||[],!0))}catch(n){console.error(n)}};exports.useKeenSlider=function(t,e){var i=n.useRef(null),r=n.useRef(!1),a=n.useRef(t),o=n.useCallback((function(n){n?(a.current=t,i.current=new M(n,t,e),r.current=!1):(i.current&&i.current.destroy&&i.current.destroy(),i.current=null)}),[]);return n.useEffect((function(){v(a.current,t)||(a.current=t,i.current&&i.current.update(a.current))}),[t]),[o,i]};\n"],"sourceRoot":""}