{"version":3,"file":"d6e1aeb5-d781cb47086c83908741.js","mappings":"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","sources":["webpack://waxcarvers-fe/./node_modules/video.js/dist/video.es.js"],"sourcesContent":["/**\n * @license\n * Video.js 7.20.2 \n * Copyright Brightcove, Inc. \n * Available under Apache License Version 2.0\n * \n *\n * Includes vtt.js \n * Available under Apache License Version 2.0\n * \n */\nimport window$1 from 'global/window';\nimport document from 'global/document';\nimport _extends from '@babel/runtime/helpers/extends';\nimport keycode from 'keycode';\nimport _assertThisInitialized from '@babel/runtime/helpers/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport safeParseTuple from 'safe-json-parse/tuple';\nimport XHR from '@videojs/xhr';\nimport vtt from 'videojs-vtt.js';\nimport _construct from '@babel/runtime/helpers/construct';\nimport _inherits from '@babel/runtime/helpers/inherits';\nimport _resolveUrl from '@videojs/vhs-utils/es/resolve-url.js';\nimport { Parser } from 'm3u8-parser';\nimport { browserSupportsCodec, DEFAULT_VIDEO_CODEC, DEFAULT_AUDIO_CODEC, muxerSupportsCodec, parseCodecs, translateLegacyCodec, codecsFromDefault, getMimeForCodec, isAudioCodec } from '@videojs/vhs-utils/es/codecs.js';\nimport { simpleTypeFromSourceType } from '@videojs/vhs-utils/es/media-types.js';\nimport { isArrayBufferView, concatTypedArrays, stringToBytes, toUint8 } from '@videojs/vhs-utils/es/byte-helpers';\nimport { generateSidxKey, parseUTCTiming, parse, addSidxSegmentsToPlaylist } from 'mpd-parser';\nimport parseSidx from 'mux.js/lib/tools/parse-sidx';\nimport { getId3Offset } from '@videojs/vhs-utils/es/id3-helpers';\nimport { detectContainerForBytes, isLikelyFmp4MediaSegment } from '@videojs/vhs-utils/es/containers';\nimport { ONE_SECOND_IN_TS } from 'mux.js/lib/utils/clock';\nvar version$5 = \"7.20.2\";\n/**\n * An Object that contains lifecycle hooks as keys which point to an array\n * of functions that are run when a lifecycle is triggered\n *\n * @private\n */\n\nvar hooks_ = {};\n/**\n * Get a list of hooks for a specific lifecycle\n *\n * @param {string} type\n * the lifecyle to get hooks from\n *\n * @param {Function|Function[]} [fn]\n * Optionally add a hook (or hooks) to the lifecycle that your are getting.\n *\n * @return {Array}\n * an array of hooks, or an empty array if there are none.\n */\n\nvar hooks = function hooks(type, fn) {\n hooks_[type] = hooks_[type] || [];\n\n if (fn) {\n hooks_[type] = hooks_[type].concat(fn);\n }\n\n return hooks_[type];\n};\n/**\n * Add a function hook to a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle to hook the function to.\n *\n * @param {Function|Function[]}\n * The function or array of functions to attach.\n */\n\n\nvar hook = function hook(type, fn) {\n hooks(type, fn);\n};\n/**\n * Remove a hook from a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle that the function hooked to\n *\n * @param {Function} fn\n * The hooked function to remove\n *\n * @return {boolean}\n * The function that was removed or undef\n */\n\n\nvar removeHook = function removeHook(type, fn) {\n var index = hooks(type).indexOf(fn);\n\n if (index <= -1) {\n return false;\n }\n\n hooks_[type] = hooks_[type].slice();\n hooks_[type].splice(index, 1);\n return true;\n};\n/**\n * Add a function hook that will only run once to a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle to hook the function to.\n *\n * @param {Function|Function[]}\n * The function or array of functions to attach.\n */\n\n\nvar hookOnce = function hookOnce(type, fn) {\n hooks(type, [].concat(fn).map(function (original) {\n var wrapper = function wrapper() {\n removeHook(type, wrapper);\n return original.apply(void 0, arguments);\n };\n\n return wrapper;\n }));\n};\n/**\n * @file fullscreen-api.js\n * @module fullscreen-api\n * @private\n */\n\n/**\n * Store the browser-specific methods for the fullscreen API.\n *\n * @type {Object}\n * @see [Specification]{@link https://fullscreen.spec.whatwg.org}\n * @see [Map Approach From Screenfull.js]{@link https://github.com/sindresorhus/screenfull.js}\n */\n\n\nvar FullscreenApi = {\n prefixed: true\n}; // browser API methods\n\nvar apiMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror', 'fullscreen'], // WebKit\n['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror', '-webkit-full-screen'], // Mozilla\n['mozRequestFullScreen', 'mozCancelFullScreen', 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', 'mozfullscreenerror', '-moz-full-screen'], // Microsoft\n['msRequestFullscreen', 'msExitFullscreen', 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', 'MSFullscreenError', '-ms-fullscreen']];\nvar specApi = apiMap[0];\nvar browserApi; // determine the supported set of functions\n\nfor (var i = 0; i < apiMap.length; i++) {\n // check for exitFullscreen function\n if (apiMap[i][1] in document) {\n browserApi = apiMap[i];\n break;\n }\n} // map the browser API names to the spec API names\n\n\nif (browserApi) {\n for (var _i = 0; _i < browserApi.length; _i++) {\n FullscreenApi[specApi[_i]] = browserApi[_i];\n }\n\n FullscreenApi.prefixed = browserApi[0] !== specApi[0];\n}\n/**\n * @file create-logger.js\n * @module create-logger\n */\n\n\nvar history = [];\n/**\n * Log messages to the console and history based on the type of message\n *\n * @private\n * @param {string} type\n * The name of the console method to use.\n *\n * @param {Array} args\n * The arguments to be passed to the matching console method.\n */\n\nvar LogByTypeFactory = function LogByTypeFactory(name, log) {\n return function (type, level, args) {\n var lvl = log.levels[level];\n var lvlRegExp = new RegExp(\"^(\" + lvl + \")$\");\n\n if (type !== 'log') {\n // Add the type to the front of the message when it's not \"log\".\n args.unshift(type.toUpperCase() + ':');\n } // Add console prefix after adding to history.\n\n\n args.unshift(name + ':'); // Add a clone of the args at this point to history.\n\n if (history) {\n history.push([].concat(args)); // only store 1000 history entries\n\n var splice = history.length - 1000;\n history.splice(0, splice > 0 ? splice : 0);\n } // If there's no console then don't try to output messages, but they will\n // still be stored in history.\n\n\n if (!window$1.console) {\n return;\n } // Was setting these once outside of this function, but containing them\n // in the function makes it easier to test cases where console doesn't exist\n // when the module is executed.\n\n\n var fn = window$1.console[type];\n\n if (!fn && type === 'debug') {\n // Certain browsers don't have support for console.debug. For those, we\n // should default to the closest comparable log.\n fn = window$1.console.info || window$1.console.log;\n } // Bail out if there's no console or if this type is not allowed by the\n // current logging level.\n\n\n if (!fn || !lvl || !lvlRegExp.test(type)) {\n return;\n }\n\n fn[Array.isArray(args) ? 'apply' : 'call'](window$1.console, args);\n };\n};\n\nfunction createLogger$1(name) {\n // This is the private tracking variable for logging level.\n var level = 'info'; // the curried logByType bound to the specific log and history\n\n var logByType;\n /**\n * Logs plain debug messages. Similar to `console.log`.\n *\n * Due to [limitations](https://github.com/jsdoc3/jsdoc/issues/955#issuecomment-313829149)\n * of our JSDoc template, we cannot properly document this as both a function\n * and a namespace, so its function signature is documented here.\n *\n * #### Arguments\n * ##### *args\n * Mixed[]\n *\n * Any combination of values that could be passed to `console.log()`.\n *\n * #### Return Value\n *\n * `undefined`\n *\n * @namespace\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged.\n */\n\n var log = function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n logByType('log', level, args);\n }; // This is the logByType helper that the logging methods below use\n\n\n logByType = LogByTypeFactory(name, log);\n /**\n * Create a new sublogger which chains the old name to the new name.\n *\n * For example, doing `videojs.log.createLogger('player')` and then using that logger will log the following:\n * ```js\n * mylogger('foo');\n * // > VIDEOJS: player: foo\n * ```\n *\n * @param {string} name\n * The name to add call the new logger\n * @return {Object}\n */\n\n log.createLogger = function (subname) {\n return createLogger$1(name + ': ' + subname);\n };\n /**\n * Enumeration of available logging levels, where the keys are the level names\n * and the values are `|`-separated strings containing logging methods allowed\n * in that logging level. These strings are used to create a regular expression\n * matching the function name being called.\n *\n * Levels provided by Video.js are:\n *\n * - `off`: Matches no calls. Any value that can be cast to `false` will have\n * this effect. The most restrictive.\n * - `all`: Matches only Video.js-provided functions (`debug`, `log`,\n * `log.warn`, and `log.error`).\n * - `debug`: Matches `log.debug`, `log`, `log.warn`, and `log.error` calls.\n * - `info` (default): Matches `log`, `log.warn`, and `log.error` calls.\n * - `warn`: Matches `log.warn` and `log.error` calls.\n * - `error`: Matches only `log.error` calls.\n *\n * @type {Object}\n */\n\n\n log.levels = {\n all: 'debug|log|warn|error',\n off: '',\n debug: 'debug|log|warn|error',\n info: 'log|warn|error',\n warn: 'warn|error',\n error: 'error',\n DEFAULT: level\n };\n /**\n * Get or set the current logging level.\n *\n * If a string matching a key from {@link module:log.levels} is provided, acts\n * as a setter.\n *\n * @param {string} [lvl]\n * Pass a valid level to set a new logging level.\n *\n * @return {string}\n * The current logging level.\n */\n\n log.level = function (lvl) {\n if (typeof lvl === 'string') {\n if (!log.levels.hasOwnProperty(lvl)) {\n throw new Error(\"\\\"\" + lvl + \"\\\" in not a valid log level\");\n }\n\n level = lvl;\n }\n\n return level;\n };\n /**\n * Returns an array containing everything that has been logged to the history.\n *\n * This array is a shallow clone of the internal history record. However, its\n * contents are _not_ cloned; so, mutating objects inside this array will\n * mutate them in history.\n *\n * @return {Array}\n */\n\n\n log.history = function () {\n return history ? [].concat(history) : [];\n };\n /**\n * Allows you to filter the history by the given logger name\n *\n * @param {string} fname\n * The name to filter by\n *\n * @return {Array}\n * The filtered list to return\n */\n\n\n log.history.filter = function (fname) {\n return (history || []).filter(function (historyItem) {\n // if the first item in each historyItem includes `fname`, then it's a match\n return new RegExp(\".*\" + fname + \".*\").test(historyItem[0]);\n });\n };\n /**\n * Clears the internal history tracking, but does not prevent further history\n * tracking.\n */\n\n\n log.history.clear = function () {\n if (history) {\n history.length = 0;\n }\n };\n /**\n * Disable history tracking if it is currently enabled.\n */\n\n\n log.history.disable = function () {\n if (history !== null) {\n history.length = 0;\n history = null;\n }\n };\n /**\n * Enable history tracking if it is currently disabled.\n */\n\n\n log.history.enable = function () {\n if (history === null) {\n history = [];\n }\n };\n /**\n * Logs error messages. Similar to `console.error`.\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as an error\n */\n\n\n log.error = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return logByType('error', level, args);\n };\n /**\n * Logs warning messages. Similar to `console.warn`.\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as a warning.\n */\n\n\n log.warn = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return logByType('warn', level, args);\n };\n /**\n * Logs debug messages. Similar to `console.debug`, but may also act as a comparable\n * log if `console.debug` is not available\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as debug.\n */\n\n\n log.debug = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return logByType('debug', level, args);\n };\n\n return log;\n}\n/**\n * @file log.js\n * @module log\n */\n\n\nvar log$1 = createLogger$1('VIDEOJS');\nvar createLogger = log$1.createLogger;\n/**\n * @file obj.js\n * @module obj\n */\n\n/**\n * @callback obj:EachCallback\n *\n * @param {Mixed} value\n * The current key for the object that is being iterated over.\n *\n * @param {string} key\n * The current key-value for object that is being iterated over\n */\n\n/**\n * @callback obj:ReduceCallback\n *\n * @param {Mixed} accum\n * The value that is accumulating over the reduce loop.\n *\n * @param {Mixed} value\n * The current key for the object that is being iterated over.\n *\n * @param {string} key\n * The current key-value for object that is being iterated over\n *\n * @return {Mixed}\n * The new accumulated value.\n */\n\nvar toString = Object.prototype.toString;\n/**\n * Get the keys of an Object\n *\n * @param {Object}\n * The Object to get the keys from\n *\n * @return {string[]}\n * An array of the keys from the object. Returns an empty array if the\n * object passed in was invalid or had no keys.\n *\n * @private\n */\n\nvar keys = function keys(object) {\n return isObject(object) ? Object.keys(object) : [];\n};\n/**\n * Array-like iteration for objects.\n *\n * @param {Object} object\n * The object to iterate over\n *\n * @param {obj:EachCallback} fn\n * The callback function which is called for each key in the object.\n */\n\n\nfunction each(object, fn) {\n keys(object).forEach(function (key) {\n return fn(object[key], key);\n });\n}\n/**\n * Array-like reduce for objects.\n *\n * @param {Object} object\n * The Object that you want to reduce.\n *\n * @param {Function} fn\n * A callback function which is called for each key in the object. It\n * receives the accumulated value and the per-iteration value and key\n * as arguments.\n *\n * @param {Mixed} [initial = 0]\n * Starting value\n *\n * @return {Mixed}\n * The final accumulated value.\n */\n\n\nfunction reduce(object, fn, initial) {\n if (initial === void 0) {\n initial = 0;\n }\n\n return keys(object).reduce(function (accum, key) {\n return fn(accum, object[key], key);\n }, initial);\n}\n/**\n * Object.assign-style object shallow merge/extend.\n *\n * @param {Object} target\n * @param {Object} ...sources\n * @return {Object}\n */\n\n\nfunction assign(target) {\n for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n\n if (Object.assign) {\n return _extends.apply(void 0, [target].concat(sources));\n }\n\n sources.forEach(function (source) {\n if (!source) {\n return;\n }\n\n each(source, function (value, key) {\n target[key] = value;\n });\n });\n return target;\n}\n/**\n * Returns whether a value is an object of any kind - including DOM nodes,\n * arrays, regular expressions, etc. Not functions, though.\n *\n * This avoids the gotcha where using `typeof` on a `null` value\n * results in `'object'`.\n *\n * @param {Object} value\n * @return {boolean}\n */\n\n\nfunction isObject(value) {\n return !!value && typeof value === 'object';\n}\n/**\n * Returns whether an object appears to be a \"plain\" object - that is, a\n * direct instance of `Object`.\n *\n * @param {Object} value\n * @return {boolean}\n */\n\n\nfunction isPlain(value) {\n return isObject(value) && toString.call(value) === '[object Object]' && value.constructor === Object;\n}\n/**\n * @file computed-style.js\n * @module computed-style\n */\n\n/**\n * A safe getComputedStyle.\n *\n * This is needed because in Firefox, if the player is loaded in an iframe with\n * `display:none`, then `getComputedStyle` returns `null`, so, we do a\n * null-check to make sure that the player doesn't break in these cases.\n *\n * @function\n * @param {Element} el\n * The element you want the computed style of\n *\n * @param {string} prop\n * The property name you want\n *\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\n\n\nfunction computedStyle(el, prop) {\n if (!el || !prop) {\n return '';\n }\n\n if (typeof window$1.getComputedStyle === 'function') {\n var computedStyleValue;\n\n try {\n computedStyleValue = window$1.getComputedStyle(el);\n } catch (e) {\n return '';\n }\n\n return computedStyleValue ? computedStyleValue.getPropertyValue(prop) || computedStyleValue[prop] : '';\n }\n\n return '';\n}\n/**\n * @file browser.js\n * @module browser\n */\n\n\nvar USER_AGENT = window$1.navigator && window$1.navigator.userAgent || '';\nvar webkitVersionMap = /AppleWebKit\\/([\\d.]+)/i.exec(USER_AGENT);\nvar appleWebkitVersion = webkitVersionMap ? parseFloat(webkitVersionMap.pop()) : null;\n/**\n * Whether or not this device is an iPod.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_IPOD = /iPod/i.test(USER_AGENT);\n/**\n * The detected iOS version - or `null`.\n *\n * @static\n * @const\n * @type {string|null}\n */\n\nvar IOS_VERSION = function () {\n var match = USER_AGENT.match(/OS (\\d+)_/i);\n\n if (match && match[1]) {\n return match[1];\n }\n\n return null;\n}();\n/**\n * Whether or not this is an Android device.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\n\nvar IS_ANDROID = /Android/i.test(USER_AGENT);\n/**\n * The detected Android version - or `null`.\n *\n * @static\n * @const\n * @type {number|string|null}\n */\n\nvar ANDROID_VERSION = function () {\n // This matches Android Major.Minor.Patch versions\n // ANDROID_VERSION is Major.Minor as a Number, if Minor isn't available, then only Major is returned\n var match = USER_AGENT.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);\n\n if (!match) {\n return null;\n }\n\n var major = match[1] && parseFloat(match[1]);\n var minor = match[2] && parseFloat(match[2]);\n\n if (major && minor) {\n return parseFloat(match[1] + '.' + match[2]);\n } else if (major) {\n return major;\n }\n\n return null;\n}();\n/**\n * Whether or not this is a native Android browser.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\n\nvar IS_NATIVE_ANDROID = IS_ANDROID && ANDROID_VERSION < 5 && appleWebkitVersion < 537;\n/**\n * Whether or not this is Mozilla Firefox.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_FIREFOX = /Firefox/i.test(USER_AGENT);\n/**\n * Whether or not this is Microsoft Edge.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_EDGE = /Edg/i.test(USER_AGENT);\n/**\n * Whether or not this is Google Chrome.\n *\n * This will also be `true` for Chrome on iOS, which will have different support\n * as it is actually Safari under the hood.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_CHROME = !IS_EDGE && (/Chrome/i.test(USER_AGENT) || /CriOS/i.test(USER_AGENT));\n/**\n * The detected Google Chrome version - or `null`.\n *\n * @static\n * @const\n * @type {number|null}\n */\n\nvar CHROME_VERSION = function () {\n var match = USER_AGENT.match(/(Chrome|CriOS)\\/(\\d+)/);\n\n if (match && match[2]) {\n return parseFloat(match[2]);\n }\n\n return null;\n}();\n/**\n * The detected Internet Explorer version - or `null`.\n *\n * @static\n * @const\n * @type {number|null}\n */\n\n\nvar IE_VERSION = function () {\n var result = /MSIE\\s(\\d+)\\.\\d/.exec(USER_AGENT);\n var version = result && parseFloat(result[1]);\n\n if (!version && /Trident\\/7.0/i.test(USER_AGENT) && /rv:11.0/.test(USER_AGENT)) {\n // IE 11 has a different user agent string than other IE versions\n version = 11.0;\n }\n\n return version;\n}();\n/**\n * Whether or not this is desktop Safari.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\n\nvar IS_SAFARI = /Safari/i.test(USER_AGENT) && !IS_CHROME && !IS_ANDROID && !IS_EDGE;\n/**\n * Whether or not this is a Windows machine.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_WINDOWS = /Windows/i.test(USER_AGENT);\n/**\n * Whether or not this device is touch-enabled.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar TOUCH_ENABLED = Boolean(isReal() && ('ontouchstart' in window$1 || window$1.navigator.maxTouchPoints || window$1.DocumentTouch && window$1.document instanceof window$1.DocumentTouch));\n/**\n * Whether or not this device is an iPad.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_IPAD = /iPad/i.test(USER_AGENT) || IS_SAFARI && TOUCH_ENABLED && !/iPhone/i.test(USER_AGENT);\n/**\n * Whether or not this device is an iPhone.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n// The Facebook app's UIWebView identifies as both an iPhone and iPad, so\n// to identify iPhones, we need to exclude iPads.\n// http://artsy.github.io/blog/2012/10/18/the-perils-of-ios-user-agent-sniffing/\n\nvar IS_IPHONE = /iPhone/i.test(USER_AGENT) && !IS_IPAD;\n/**\n * Whether or not this is an iOS device.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;\n/**\n * Whether or not this is any flavor of Safari - including iOS.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_ANY_SAFARI = (IS_SAFARI || IS_IOS) && !IS_CHROME;\nvar browser = /*#__PURE__*/Object.freeze({\n __proto__: null,\n IS_IPOD: IS_IPOD,\n IOS_VERSION: IOS_VERSION,\n IS_ANDROID: IS_ANDROID,\n ANDROID_VERSION: ANDROID_VERSION,\n IS_NATIVE_ANDROID: IS_NATIVE_ANDROID,\n IS_FIREFOX: IS_FIREFOX,\n IS_EDGE: IS_EDGE,\n IS_CHROME: IS_CHROME,\n CHROME_VERSION: CHROME_VERSION,\n IE_VERSION: IE_VERSION,\n IS_SAFARI: IS_SAFARI,\n IS_WINDOWS: IS_WINDOWS,\n TOUCH_ENABLED: TOUCH_ENABLED,\n IS_IPAD: IS_IPAD,\n IS_IPHONE: IS_IPHONE,\n IS_IOS: IS_IOS,\n IS_ANY_SAFARI: IS_ANY_SAFARI\n});\n/**\n * @file dom.js\n * @module dom\n */\n\n/**\n * Detect if a value is a string with any non-whitespace characters.\n *\n * @private\n * @param {string} str\n * The string to check\n *\n * @return {boolean}\n * Will be `true` if the string is non-blank, `false` otherwise.\n *\n */\n\nfunction isNonBlankString(str) {\n // we use str.trim as it will trim any whitespace characters\n // from the front or back of non-whitespace characters. aka\n // Any string that contains non-whitespace characters will\n // still contain them after `trim` but whitespace only strings\n // will have a length of 0, failing this check.\n return typeof str === 'string' && Boolean(str.trim());\n}\n/**\n * Throws an error if the passed string has whitespace. This is used by\n * class methods to be relatively consistent with the classList API.\n *\n * @private\n * @param {string} str\n * The string to check for whitespace.\n *\n * @throws {Error}\n * Throws an error if there is whitespace in the string.\n */\n\n\nfunction throwIfWhitespace(str) {\n // str.indexOf instead of regex because str.indexOf is faster performance wise.\n if (str.indexOf(' ') >= 0) {\n throw new Error('class has illegal whitespace characters');\n }\n}\n/**\n * Produce a regular expression for matching a className within an elements className.\n *\n * @private\n * @param {string} className\n * The className to generate the RegExp for.\n *\n * @return {RegExp}\n * The RegExp that will check for a specific `className` in an elements\n * className.\n */\n\n\nfunction classRegExp(className) {\n return new RegExp('(^|\\\\s)' + className + '($|\\\\s)');\n}\n/**\n * Whether the current DOM interface appears to be real (i.e. not simulated).\n *\n * @return {boolean}\n * Will be `true` if the DOM appears to be real, `false` otherwise.\n */\n\n\nfunction isReal() {\n // Both document and window will never be undefined thanks to `global`.\n return document === window$1.document;\n}\n/**\n * Determines, via duck typing, whether or not a value is a DOM element.\n *\n * @param {Mixed} value\n * The value to check.\n *\n * @return {boolean}\n * Will be `true` if the value is a DOM element, `false` otherwise.\n */\n\n\nfunction isEl(value) {\n return isObject(value) && value.nodeType === 1;\n}\n/**\n * Determines if the current DOM is embedded in an iframe.\n *\n * @return {boolean}\n * Will be `true` if the DOM is embedded in an iframe, `false`\n * otherwise.\n */\n\n\nfunction isInFrame() {\n // We need a try/catch here because Safari will throw errors when attempting\n // to get either `parent` or `self`\n try {\n return window$1.parent !== window$1.self;\n } catch (x) {\n return true;\n }\n}\n/**\n * Creates functions to query the DOM using a given method.\n *\n * @private\n * @param {string} method\n * The method to create the query with.\n *\n * @return {Function}\n * The query method\n */\n\n\nfunction createQuerier(method) {\n return function (selector, context) {\n if (!isNonBlankString(selector)) {\n return document[method](null);\n }\n\n if (isNonBlankString(context)) {\n context = document.querySelector(context);\n }\n\n var ctx = isEl(context) ? context : document;\n return ctx[method] && ctx[method](selector);\n };\n}\n/**\n * Creates an element and applies properties, attributes, and inserts content.\n *\n * @param {string} [tagName='div']\n * Name of tag to be created.\n *\n * @param {Object} [properties={}]\n * Element properties to be applied.\n *\n * @param {Object} [attributes={}]\n * Element attributes to be applied.\n *\n * @param {module:dom~ContentDescriptor} content\n * A content descriptor object.\n *\n * @return {Element}\n * The element that was created.\n */\n\n\nfunction createEl(tagName, properties, attributes, content) {\n if (tagName === void 0) {\n tagName = 'div';\n }\n\n if (properties === void 0) {\n properties = {};\n }\n\n if (attributes === void 0) {\n attributes = {};\n }\n\n var el = document.createElement(tagName);\n Object.getOwnPropertyNames(properties).forEach(function (propName) {\n var val = properties[propName]; // See #2176\n // We originally were accepting both properties and attributes in the\n // same object, but that doesn't work so well.\n\n if (propName.indexOf('aria-') !== -1 || propName === 'role' || propName === 'type') {\n log$1.warn('Setting attributes in the second argument of createEl()\\n' + 'has been deprecated. Use the third argument instead.\\n' + (\"createEl(type, properties, attributes). Attempting to set \" + propName + \" to \" + val + \".\"));\n el.setAttribute(propName, val); // Handle textContent since it's not supported everywhere and we have a\n // method for it.\n } else if (propName === 'textContent') {\n textContent(el, val);\n } else if (el[propName] !== val || propName === 'tabIndex') {\n el[propName] = val;\n }\n });\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n el.setAttribute(attrName, attributes[attrName]);\n });\n\n if (content) {\n appendContent(el, content);\n }\n\n return el;\n}\n/**\n * Injects text into an element, replacing any existing contents entirely.\n *\n * @param {Element} el\n * The element to add text content into\n *\n * @param {string} text\n * The text content to add.\n *\n * @return {Element}\n * The element with added text content.\n */\n\n\nfunction textContent(el, text) {\n if (typeof el.textContent === 'undefined') {\n el.innerText = text;\n } else {\n el.textContent = text;\n }\n\n return el;\n}\n/**\n * Insert an element as the first child node of another\n *\n * @param {Element} child\n * Element to insert\n *\n * @param {Element} parent\n * Element to insert child into\n */\n\n\nfunction prependTo(child, parent) {\n if (parent.firstChild) {\n parent.insertBefore(child, parent.firstChild);\n } else {\n parent.appendChild(child);\n }\n}\n/**\n * Check if an element has a class name.\n *\n * @param {Element} element\n * Element to check\n *\n * @param {string} classToCheck\n * Class name to check for\n *\n * @return {boolean}\n * Will be `true` if the element has a class, `false` otherwise.\n *\n * @throws {Error}\n * Throws an error if `classToCheck` has white space.\n */\n\n\nfunction hasClass(element, classToCheck) {\n throwIfWhitespace(classToCheck);\n\n if (element.classList) {\n return element.classList.contains(classToCheck);\n }\n\n return classRegExp(classToCheck).test(element.className);\n}\n/**\n * Add a class name to an element.\n *\n * @param {Element} element\n * Element to add class name to.\n *\n * @param {string} classToAdd\n * Class name to add.\n *\n * @return {Element}\n * The DOM element with the added class name.\n */\n\n\nfunction addClass(element, classToAdd) {\n if (element.classList) {\n element.classList.add(classToAdd); // Don't need to `throwIfWhitespace` here because `hasElClass` will do it\n // in the case of classList not being supported.\n } else if (!hasClass(element, classToAdd)) {\n element.className = (element.className + ' ' + classToAdd).trim();\n }\n\n return element;\n}\n/**\n * Remove a class name from an element.\n *\n * @param {Element} element\n * Element to remove a class name from.\n *\n * @param {string} classToRemove\n * Class name to remove\n *\n * @return {Element}\n * The DOM element with class name removed.\n */\n\n\nfunction removeClass(element, classToRemove) {\n // Protect in case the player gets disposed\n if (!element) {\n log$1.warn(\"removeClass was called with an element that doesn't exist\");\n return null;\n }\n\n if (element.classList) {\n element.classList.remove(classToRemove);\n } else {\n throwIfWhitespace(classToRemove);\n element.className = element.className.split(/\\s+/).filter(function (c) {\n return c !== classToRemove;\n }).join(' ');\n }\n\n return element;\n}\n/**\n * The callback definition for toggleClass.\n *\n * @callback module:dom~PredicateCallback\n * @param {Element} element\n * The DOM element of the Component.\n *\n * @param {string} classToToggle\n * The `className` that wants to be toggled\n *\n * @return {boolean|undefined}\n * If `true` is returned, the `classToToggle` will be added to the\n * `element`. If `false`, the `classToToggle` will be removed from\n * the `element`. If `undefined`, the callback will be ignored.\n */\n\n/**\n * Adds or removes a class name to/from an element depending on an optional\n * condition or the presence/absence of the class name.\n *\n * @param {Element} element\n * The element to toggle a class name on.\n *\n * @param {string} classToToggle\n * The class that should be toggled.\n *\n * @param {boolean|module:dom~PredicateCallback} [predicate]\n * See the return value for {@link module:dom~PredicateCallback}\n *\n * @return {Element}\n * The element with a class that has been toggled.\n */\n\n\nfunction toggleClass(element, classToToggle, predicate) {\n // This CANNOT use `classList` internally because IE11 does not support the\n // second parameter to the `classList.toggle()` method! Which is fine because\n // `classList` will be used by the add/remove functions.\n var has = hasClass(element, classToToggle);\n\n if (typeof predicate === 'function') {\n predicate = predicate(element, classToToggle);\n }\n\n if (typeof predicate !== 'boolean') {\n predicate = !has;\n } // If the necessary class operation matches the current state of the\n // element, no action is required.\n\n\n if (predicate === has) {\n return;\n }\n\n if (predicate) {\n addClass(element, classToToggle);\n } else {\n removeClass(element, classToToggle);\n }\n\n return element;\n}\n/**\n * Apply attributes to an HTML element.\n *\n * @param {Element} el\n * Element to add attributes to.\n *\n * @param {Object} [attributes]\n * Attributes to be applied.\n */\n\n\nfunction setAttributes(el, attributes) {\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n var attrValue = attributes[attrName];\n\n if (attrValue === null || typeof attrValue === 'undefined' || attrValue === false) {\n el.removeAttribute(attrName);\n } else {\n el.setAttribute(attrName, attrValue === true ? '' : attrValue);\n }\n });\n}\n/**\n * Get an element's attribute values, as defined on the HTML tag.\n *\n * Attributes are not the same as properties. They're defined on the tag\n * or with setAttribute.\n *\n * @param {Element} tag\n * Element from which to get tag attributes.\n *\n * @return {Object}\n * All attributes of the element. Boolean attributes will be `true` or\n * `false`, others will be strings.\n */\n\n\nfunction getAttributes(tag) {\n var obj = {}; // known boolean attributes\n // we can check for matching boolean properties, but not all browsers\n // and not all tags know about these attributes, so, we still want to check them manually\n\n var knownBooleans = ',' + 'autoplay,controls,playsinline,loop,muted,default,defaultMuted' + ',';\n\n if (tag && tag.attributes && tag.attributes.length > 0) {\n var attrs = tag.attributes;\n\n for (var i = attrs.length - 1; i >= 0; i--) {\n var attrName = attrs[i].name;\n var attrVal = attrs[i].value; // check for known booleans\n // the matching element property will return a value for typeof\n\n if (typeof tag[attrName] === 'boolean' || knownBooleans.indexOf(',' + attrName + ',') !== -1) {\n // the value of an included boolean attribute is typically an empty\n // string ('') which would equal false if we just check for a false value.\n // we also don't want support bad code like autoplay='false'\n attrVal = attrVal !== null ? true : false;\n }\n\n obj[attrName] = attrVal;\n }\n }\n\n return obj;\n}\n/**\n * Get the value of an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to get the value of.\n *\n * @return {string}\n * The value of the attribute.\n */\n\n\nfunction getAttribute(el, attribute) {\n return el.getAttribute(attribute);\n}\n/**\n * Set the value of an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to set.\n *\n * @param {string} value\n * Value to set the attribute to.\n */\n\n\nfunction setAttribute(el, attribute, value) {\n el.setAttribute(attribute, value);\n}\n/**\n * Remove an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to remove.\n */\n\n\nfunction removeAttribute(el, attribute) {\n el.removeAttribute(attribute);\n}\n/**\n * Attempt to block the ability to select text.\n */\n\n\nfunction blockTextSelection() {\n document.body.focus();\n\n document.onselectstart = function () {\n return false;\n };\n}\n/**\n * Turn off text selection blocking.\n */\n\n\nfunction unblockTextSelection() {\n document.onselectstart = function () {\n return true;\n };\n}\n/**\n * Identical to the native `getBoundingClientRect` function, but ensures that\n * the method is supported at all (it is in all browsers we claim to support)\n * and that the element is in the DOM before continuing.\n *\n * This wrapper function also shims properties which are not provided by some\n * older browsers (namely, IE8).\n *\n * Additionally, some browsers do not support adding properties to a\n * `ClientRect`/`DOMRect` object; so, we shallow-copy it with the standard\n * properties (except `x` and `y` which are not widely supported). This helps\n * avoid implementations where keys are non-enumerable.\n *\n * @param {Element} el\n * Element whose `ClientRect` we want to calculate.\n *\n * @return {Object|undefined}\n * Always returns a plain object - or `undefined` if it cannot.\n */\n\n\nfunction getBoundingClientRect(el) {\n if (el && el.getBoundingClientRect && el.parentNode) {\n var rect = el.getBoundingClientRect();\n var result = {};\n ['bottom', 'height', 'left', 'right', 'top', 'width'].forEach(function (k) {\n if (rect[k] !== undefined) {\n result[k] = rect[k];\n }\n });\n\n if (!result.height) {\n result.height = parseFloat(computedStyle(el, 'height'));\n }\n\n if (!result.width) {\n result.width = parseFloat(computedStyle(el, 'width'));\n }\n\n return result;\n }\n}\n/**\n * Represents the position of a DOM element on the page.\n *\n * @typedef {Object} module:dom~Position\n *\n * @property {number} left\n * Pixels to the left.\n *\n * @property {number} top\n * Pixels from the top.\n */\n\n/**\n * Get the position of an element in the DOM.\n *\n * Uses `getBoundingClientRect` technique from John Resig.\n *\n * @see http://ejohn.org/blog/getboundingclientrect-is-awesome/\n *\n * @param {Element} el\n * Element from which to get offset.\n *\n * @return {module:dom~Position}\n * The position of the element that was passed in.\n */\n\n\nfunction findPosition(el) {\n if (!el || el && !el.offsetParent) {\n return {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n };\n }\n\n var width = el.offsetWidth;\n var height = el.offsetHeight;\n var left = 0;\n var top = 0;\n\n while (el.offsetParent && el !== document[FullscreenApi.fullscreenElement]) {\n left += el.offsetLeft;\n top += el.offsetTop;\n el = el.offsetParent;\n }\n\n return {\n left: left,\n top: top,\n width: width,\n height: height\n };\n}\n/**\n * Represents x and y coordinates for a DOM element or mouse pointer.\n *\n * @typedef {Object} module:dom~Coordinates\n *\n * @property {number} x\n * x coordinate in pixels\n *\n * @property {number} y\n * y coordinate in pixels\n */\n\n/**\n * Get the pointer position within an element.\n *\n * The base on the coordinates are the bottom left of the element.\n *\n * @param {Element} el\n * Element on which to get the pointer position on.\n *\n * @param {EventTarget~Event} event\n * Event object.\n *\n * @return {module:dom~Coordinates}\n * A coordinates object corresponding to the mouse position.\n *\n */\n\n\nfunction getPointerPosition(el, event) {\n var translated = {\n x: 0,\n y: 0\n };\n\n if (IS_IOS) {\n var item = el;\n\n while (item && item.nodeName.toLowerCase() !== 'html') {\n var transform = computedStyle(item, 'transform');\n\n if (/^matrix/.test(transform)) {\n var values = transform.slice(7, -1).split(/,\\s/).map(Number);\n translated.x += values[4];\n translated.y += values[5];\n } else if (/^matrix3d/.test(transform)) {\n var _values = transform.slice(9, -1).split(/,\\s/).map(Number);\n\n translated.x += _values[12];\n translated.y += _values[13];\n }\n\n item = item.parentNode;\n }\n }\n\n var position = {};\n var boxTarget = findPosition(event.target);\n var box = findPosition(el);\n var boxW = box.width;\n var boxH = box.height;\n var offsetY = event.offsetY - (box.top - boxTarget.top);\n var offsetX = event.offsetX - (box.left - boxTarget.left);\n\n if (event.changedTouches) {\n offsetX = event.changedTouches[0].pageX - box.left;\n offsetY = event.changedTouches[0].pageY + box.top;\n\n if (IS_IOS) {\n offsetX -= translated.x;\n offsetY -= translated.y;\n }\n }\n\n position.y = 1 - Math.max(0, Math.min(1, offsetY / boxH));\n position.x = Math.max(0, Math.min(1, offsetX / boxW));\n return position;\n}\n/**\n * Determines, via duck typing, whether or not a value is a text node.\n *\n * @param {Mixed} value\n * Check if this value is a text node.\n *\n * @return {boolean}\n * Will be `true` if the value is a text node, `false` otherwise.\n */\n\n\nfunction isTextNode(value) {\n return isObject(value) && value.nodeType === 3;\n}\n/**\n * Empties the contents of an element.\n *\n * @param {Element} el\n * The element to empty children from\n *\n * @return {Element}\n * The element with no children\n */\n\n\nfunction emptyEl(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n\n return el;\n}\n/**\n * This is a mixed value that describes content to be injected into the DOM\n * via some method. It can be of the following types:\n *\n * Type | Description\n * -----------|-------------\n * `string` | The value will be normalized into a text node.\n * `Element` | The value will be accepted as-is.\n * `TextNode` | The value will be accepted as-is.\n * `Array` | A one-dimensional array of strings, elements, text nodes, or functions. These functions should return a string, element, or text node (any other return value, like an array, will be ignored).\n * `Function` | A function, which is expected to return a string, element, text node, or array - any of the other possible values described above. This means that a content descriptor could be a function that returns an array of functions, but those second-level functions must return strings, elements, or text nodes.\n *\n * @typedef {string|Element|TextNode|Array|Function} module:dom~ContentDescriptor\n */\n\n/**\n * Normalizes content for eventual insertion into the DOM.\n *\n * This allows a wide range of content definition methods, but helps protect\n * from falling into the trap of simply writing to `innerHTML`, which could\n * be an XSS concern.\n *\n * The content for an element can be passed in multiple types and\n * combinations, whose behavior is as follows:\n *\n * @param {module:dom~ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Array}\n * All of the content that was passed in, normalized to an array of\n * elements or text nodes.\n */\n\n\nfunction normalizeContent(content) {\n // First, invoke content if it is a function. If it produces an array,\n // that needs to happen before normalization.\n if (typeof content === 'function') {\n content = content();\n } // Next up, normalize to an array, so one or many items can be normalized,\n // filtered, and returned.\n\n\n return (Array.isArray(content) ? content : [content]).map(function (value) {\n // First, invoke value if it is a function to produce a new value,\n // which will be subsequently normalized to a Node of some kind.\n if (typeof value === 'function') {\n value = value();\n }\n\n if (isEl(value) || isTextNode(value)) {\n return value;\n }\n\n if (typeof value === 'string' && /\\S/.test(value)) {\n return document.createTextNode(value);\n }\n }).filter(function (value) {\n return value;\n });\n}\n/**\n * Normalizes and appends content to an element.\n *\n * @param {Element} el\n * Element to append normalized content to.\n *\n * @param {module:dom~ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Element}\n * The element with appended normalized content.\n */\n\n\nfunction appendContent(el, content) {\n normalizeContent(content).forEach(function (node) {\n return el.appendChild(node);\n });\n return el;\n}\n/**\n * Normalizes and inserts content into an element; this is identical to\n * `appendContent()`, except it empties the element first.\n *\n * @param {Element} el\n * Element to insert normalized content into.\n *\n * @param {module:dom~ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Element}\n * The element with inserted normalized content.\n */\n\n\nfunction insertContent(el, content) {\n return appendContent(emptyEl(el), content);\n}\n/**\n * Check if an event was a single left click.\n *\n * @param {EventTarget~Event} event\n * Event object.\n *\n * @return {boolean}\n * Will be `true` if a single left click, `false` otherwise.\n */\n\n\nfunction isSingleLeftClick(event) {\n // Note: if you create something draggable, be sure to\n // call it on both `mousedown` and `mousemove` event,\n // otherwise `mousedown` should be enough for a button\n if (event.button === undefined && event.buttons === undefined) {\n // Why do we need `buttons` ?\n // Because, middle mouse sometimes have this:\n // e.button === 0 and e.buttons === 4\n // Furthermore, we want to prevent combination click, something like\n // HOLD middlemouse then left click, that would be\n // e.button === 0, e.buttons === 5\n // just `button` is not gonna work\n // Alright, then what this block does ?\n // this is for chrome `simulate mobile devices`\n // I want to support this as well\n return true;\n }\n\n if (event.button === 0 && event.buttons === undefined) {\n // Touch screen, sometimes on some specific device, `buttons`\n // doesn't have anything (safari on ios, blackberry...)\n return true;\n } // `mouseup` event on a single left click has\n // `button` and `buttons` equal to 0\n\n\n if (event.type === 'mouseup' && event.button === 0 && event.buttons === 0) {\n return true;\n }\n\n if (event.button !== 0 || event.buttons !== 1) {\n // This is the reason we have those if else block above\n // if any special case we can catch and let it slide\n // we do it above, when get to here, this definitely\n // is-not-left-click\n return false;\n }\n\n return true;\n}\n/**\n * Finds a single DOM element matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {Element|null}\n * The element that was found or null.\n */\n\n\nvar $ = createQuerier('querySelector');\n/**\n * Finds a all DOM elements matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {NodeList}\n * A element list of elements that were found. Will be empty if none\n * were found.\n *\n */\n\nvar $$ = createQuerier('querySelectorAll');\nvar Dom = /*#__PURE__*/Object.freeze({\n __proto__: null,\n isReal: isReal,\n isEl: isEl,\n isInFrame: isInFrame,\n createEl: createEl,\n textContent: textContent,\n prependTo: prependTo,\n hasClass: hasClass,\n addClass: addClass,\n removeClass: removeClass,\n toggleClass: toggleClass,\n setAttributes: setAttributes,\n getAttributes: getAttributes,\n getAttribute: getAttribute,\n setAttribute: setAttribute,\n removeAttribute: removeAttribute,\n blockTextSelection: blockTextSelection,\n unblockTextSelection: unblockTextSelection,\n getBoundingClientRect: getBoundingClientRect,\n findPosition: findPosition,\n getPointerPosition: getPointerPosition,\n isTextNode: isTextNode,\n emptyEl: emptyEl,\n normalizeContent: normalizeContent,\n appendContent: appendContent,\n insertContent: insertContent,\n isSingleLeftClick: isSingleLeftClick,\n $: $,\n $$: $$\n});\n/**\n * @file setup.js - Functions for setting up a player without\n * user interaction based on the data-setup `attribute` of the video tag.\n *\n * @module setup\n */\n\nvar _windowLoaded = false;\nvar videojs$1;\n/**\n * Set up any tags that have a data-setup `attribute` when the player is started.\n */\n\nvar autoSetup = function autoSetup() {\n if (videojs$1.options.autoSetup === false) {\n return;\n }\n\n var vids = Array.prototype.slice.call(document.getElementsByTagName('video'));\n var audios = Array.prototype.slice.call(document.getElementsByTagName('audio'));\n var divs = Array.prototype.slice.call(document.getElementsByTagName('video-js'));\n var mediaEls = vids.concat(audios, divs); // Check if any media elements exist\n\n if (mediaEls && mediaEls.length > 0) {\n for (var i = 0, e = mediaEls.length; i < e; i++) {\n var mediaEl = mediaEls[i]; // Check if element exists, has getAttribute func.\n\n if (mediaEl && mediaEl.getAttribute) {\n // Make sure this player hasn't already been set up.\n if (mediaEl.player === undefined) {\n var options = mediaEl.getAttribute('data-setup'); // Check if data-setup attr exists.\n // We only auto-setup if they've added the data-setup attr.\n\n if (options !== null) {\n // Create new video.js instance.\n videojs$1(mediaEl);\n }\n } // If getAttribute isn't defined, we need to wait for the DOM.\n\n } else {\n autoSetupTimeout(1);\n break;\n }\n } // No videos were found, so keep looping unless page is finished loading.\n\n } else if (!_windowLoaded) {\n autoSetupTimeout(1);\n }\n};\n/**\n * Wait until the page is loaded before running autoSetup. This will be called in\n * autoSetup if `hasLoaded` returns false.\n *\n * @param {number} wait\n * How long to wait in ms\n *\n * @param {module:videojs} [vjs]\n * The videojs library function\n */\n\n\nfunction autoSetupTimeout(wait, vjs) {\n // Protect against breakage in non-browser environments\n if (!isReal()) {\n return;\n }\n\n if (vjs) {\n videojs$1 = vjs;\n }\n\n window$1.setTimeout(autoSetup, wait);\n}\n/**\n * Used to set the internal tracking of window loaded state to true.\n *\n * @private\n */\n\n\nfunction setWindowLoaded() {\n _windowLoaded = true;\n window$1.removeEventListener('load', setWindowLoaded);\n}\n\nif (isReal()) {\n if (document.readyState === 'complete') {\n setWindowLoaded();\n } else {\n /**\n * Listen for the load event on window, and set _windowLoaded to true.\n *\n * We use a standard event listener here to avoid incrementing the GUID\n * before any players are created.\n *\n * @listens load\n */\n window$1.addEventListener('load', setWindowLoaded);\n }\n}\n/**\n * @file stylesheet.js\n * @module stylesheet\n */\n\n/**\n * Create a DOM syle element given a className for it.\n *\n * @param {string} className\n * The className to add to the created style element.\n *\n * @return {Element}\n * The element that was created.\n */\n\n\nvar createStyleElement = function createStyleElement(className) {\n var style = document.createElement('style');\n style.className = className;\n return style;\n};\n/**\n * Add text to a DOM element.\n *\n * @param {Element} el\n * The Element to add text content to.\n *\n * @param {string} content\n * The text to add to the element.\n */\n\n\nvar setTextContent = function setTextContent(el, content) {\n if (el.styleSheet) {\n el.styleSheet.cssText = content;\n } else {\n el.textContent = content;\n }\n};\n/**\n * @file guid.js\n * @module guid\n */\n// Default value for GUIDs. This allows us to reset the GUID counter in tests.\n//\n// The initial GUID is 3 because some users have come to rely on the first\n// default player ID ending up as `vjs_video_3`.\n//\n// See: https://github.com/videojs/video.js/pull/6216\n\n\nvar _initialGuid = 3;\n/**\n * Unique ID for an element or function\n *\n * @type {Number}\n */\n\nvar _guid = _initialGuid;\n/**\n * Get a unique auto-incrementing ID by number that has not been returned before.\n *\n * @return {number}\n * A new unique ID.\n */\n\nfunction newGUID() {\n return _guid++;\n}\n/**\n * @file dom-data.js\n * @module dom-data\n */\n\n\nvar FakeWeakMap;\n\nif (!window$1.WeakMap) {\n FakeWeakMap = /*#__PURE__*/function () {\n function FakeWeakMap() {\n this.vdata = 'vdata' + Math.floor(window$1.performance && window$1.performance.now() || Date.now());\n this.data = {};\n }\n\n var _proto = FakeWeakMap.prototype;\n\n _proto.set = function set(key, value) {\n var access = key[this.vdata] || newGUID();\n\n if (!key[this.vdata]) {\n key[this.vdata] = access;\n }\n\n this.data[access] = value;\n return this;\n };\n\n _proto.get = function get(key) {\n var access = key[this.vdata]; // we have data, return it\n\n if (access) {\n return this.data[access];\n } // we don't have data, return nothing.\n // return undefined explicitly as that's the contract for this method\n\n\n log$1('We have no data for this element', key);\n return undefined;\n };\n\n _proto.has = function has(key) {\n var access = key[this.vdata];\n return access in this.data;\n };\n\n _proto[\"delete\"] = function _delete(key) {\n var access = key[this.vdata];\n\n if (access) {\n delete this.data[access];\n delete key[this.vdata];\n }\n };\n\n return FakeWeakMap;\n }();\n}\n/**\n * Element Data Store.\n *\n * Allows for binding data to an element without putting it directly on the\n * element. Ex. Event listeners are stored here.\n * (also from jsninja.com, slightly modified and updated for closure compiler)\n *\n * @type {Object}\n * @private\n */\n\n\nvar DomData = window$1.WeakMap ? new WeakMap() : new FakeWeakMap();\n/**\n * @file events.js. An Event System (John Resig - Secrets of a JS Ninja http://jsninja.com/)\n * (Original book version wasn't completely usable, so fixed some things and made Closure Compiler compatible)\n * This should work very similarly to jQuery's events, however it's based off the book version which isn't as\n * robust as jquery's, so there's probably some differences.\n *\n * @file events.js\n * @module events\n */\n\n/**\n * Clean up the listener cache and dispatchers\n *\n * @param {Element|Object} elem\n * Element to clean up\n *\n * @param {string} type\n * Type of event to clean up\n */\n\nfunction _cleanUpEvents(elem, type) {\n if (!DomData.has(elem)) {\n return;\n }\n\n var data = DomData.get(elem); // Remove the events of a particular type if there are none left\n\n if (data.handlers[type].length === 0) {\n delete data.handlers[type]; // data.handlers[type] = null;\n // Setting to null was causing an error with data.handlers\n // Remove the meta-handler from the element\n\n if (elem.removeEventListener) {\n elem.removeEventListener(type, data.dispatcher, false);\n } else if (elem.detachEvent) {\n elem.detachEvent('on' + type, data.dispatcher);\n }\n } // Remove the events object if there are no types left\n\n\n if (Object.getOwnPropertyNames(data.handlers).length <= 0) {\n delete data.handlers;\n delete data.dispatcher;\n delete data.disabled;\n } // Finally remove the element data if there is no data left\n\n\n if (Object.getOwnPropertyNames(data).length === 0) {\n DomData[\"delete\"](elem);\n }\n}\n/**\n * Loops through an array of event types and calls the requested method for each type.\n *\n * @param {Function} fn\n * The event method we want to use.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string} type\n * Type of event to bind to.\n *\n * @param {EventTarget~EventListener} callback\n * Event listener.\n */\n\n\nfunction _handleMultipleEvents(fn, elem, types, callback) {\n types.forEach(function (type) {\n // Call the event method for each one of the types\n fn(elem, type, callback);\n });\n}\n/**\n * Fix a native event to have standard property values\n *\n * @param {Object} event\n * Event object to fix.\n *\n * @return {Object}\n * Fixed event object.\n */\n\n\nfunction fixEvent(event) {\n if (event.fixed_) {\n return event;\n }\n\n function returnTrue() {\n return true;\n }\n\n function returnFalse() {\n return false;\n } // Test if fixing up is needed\n // Used to check if !event.stopPropagation instead of isPropagationStopped\n // But native events return true for stopPropagation, but don't have\n // other expected methods like isPropagationStopped. Seems to be a problem\n // with the Javascript Ninja code. So we're just overriding all events now.\n\n\n if (!event || !event.isPropagationStopped || !event.isImmediatePropagationStopped) {\n var old = event || window$1.event;\n event = {}; // Clone the old object so that we can modify the values event = {};\n // IE8 Doesn't like when you mess with native event properties\n // Firefox returns false for event.hasOwnProperty('type') and other props\n // which makes copying more difficult.\n // TODO: Probably best to create a whitelist of event props\n\n for (var key in old) {\n // Safari 6.0.3 warns you if you try to copy deprecated layerX/Y\n // Chrome warns you if you try to copy deprecated keyboardEvent.keyLocation\n // and webkitMovementX/Y\n // Lighthouse complains if Event.path is copied\n if (key !== 'layerX' && key !== 'layerY' && key !== 'keyLocation' && key !== 'webkitMovementX' && key !== 'webkitMovementY' && key !== 'path') {\n // Chrome 32+ warns if you try to copy deprecated returnValue, but\n // we still want to if preventDefault isn't supported (IE8).\n if (!(key === 'returnValue' && old.preventDefault)) {\n event[key] = old[key];\n }\n }\n } // The event occurred on this element\n\n\n if (!event.target) {\n event.target = event.srcElement || document;\n } // Handle which other element the event is related to\n\n\n if (!event.relatedTarget) {\n event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;\n } // Stop the default browser action\n\n\n event.preventDefault = function () {\n if (old.preventDefault) {\n old.preventDefault();\n }\n\n event.returnValue = false;\n old.returnValue = false;\n event.defaultPrevented = true;\n };\n\n event.defaultPrevented = false; // Stop the event from bubbling\n\n event.stopPropagation = function () {\n if (old.stopPropagation) {\n old.stopPropagation();\n }\n\n event.cancelBubble = true;\n old.cancelBubble = true;\n event.isPropagationStopped = returnTrue;\n };\n\n event.isPropagationStopped = returnFalse; // Stop the event from bubbling and executing other handlers\n\n event.stopImmediatePropagation = function () {\n if (old.stopImmediatePropagation) {\n old.stopImmediatePropagation();\n }\n\n event.isImmediatePropagationStopped = returnTrue;\n event.stopPropagation();\n };\n\n event.isImmediatePropagationStopped = returnFalse; // Handle mouse position\n\n if (event.clientX !== null && event.clientX !== undefined) {\n var doc = document.documentElement;\n var body = document.body;\n event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n } // Handle key presses\n\n\n event.which = event.charCode || event.keyCode; // Fix button for mouse clicks:\n // 0 == left; 1 == middle; 2 == right\n\n if (event.button !== null && event.button !== undefined) {\n // The following is disabled because it does not pass videojs-standard\n // and... yikes.\n\n /* eslint-disable */\n event.button = event.button & 1 ? 0 : event.button & 4 ? 1 : event.button & 2 ? 2 : 0;\n /* eslint-enable */\n }\n }\n\n event.fixed_ = true; // Returns fixed-up instance\n\n return event;\n}\n/**\n * Whether passive event listeners are supported\n */\n\n\nvar _supportsPassive;\n\nvar supportsPassive = function supportsPassive() {\n if (typeof _supportsPassive !== 'boolean') {\n _supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n _supportsPassive = true;\n }\n });\n window$1.addEventListener('test', null, opts);\n window$1.removeEventListener('test', null, opts);\n } catch (e) {// disregard\n }\n }\n\n return _supportsPassive;\n};\n/**\n * Touch events Chrome expects to be passive\n */\n\n\nvar passiveEvents = ['touchstart', 'touchmove'];\n/**\n * Add an event listener to element\n * It stores the handler function in a separate cache object\n * and adds a generic handler to the element's event,\n * along with a unique id (guid) to the element.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string|string[]} type\n * Type of event to bind to.\n *\n * @param {EventTarget~EventListener} fn\n * Event listener.\n */\n\nfunction on(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(on, elem, type, fn);\n }\n\n if (!DomData.has(elem)) {\n DomData.set(elem, {});\n }\n\n var data = DomData.get(elem); // We need a place to store all our handler data\n\n if (!data.handlers) {\n data.handlers = {};\n }\n\n if (!data.handlers[type]) {\n data.handlers[type] = [];\n }\n\n if (!fn.guid) {\n fn.guid = newGUID();\n }\n\n data.handlers[type].push(fn);\n\n if (!data.dispatcher) {\n data.disabled = false;\n\n data.dispatcher = function (event, hash) {\n if (data.disabled) {\n return;\n }\n\n event = fixEvent(event);\n var handlers = data.handlers[event.type];\n\n if (handlers) {\n // Copy handlers so if handlers are added/removed during the process it doesn't throw everything off.\n var handlersCopy = handlers.slice(0);\n\n for (var m = 0, n = handlersCopy.length; m < n; m++) {\n if (event.isImmediatePropagationStopped()) {\n break;\n } else {\n try {\n handlersCopy[m].call(elem, event, hash);\n } catch (e) {\n log$1.error(e);\n }\n }\n }\n }\n };\n }\n\n if (data.handlers[type].length === 1) {\n if (elem.addEventListener) {\n var options = false;\n\n if (supportsPassive() && passiveEvents.indexOf(type) > -1) {\n options = {\n passive: true\n };\n }\n\n elem.addEventListener(type, data.dispatcher, options);\n } else if (elem.attachEvent) {\n elem.attachEvent('on' + type, data.dispatcher);\n }\n }\n}\n/**\n * Removes event listeners from an element\n *\n * @param {Element|Object} elem\n * Object to remove listeners from.\n *\n * @param {string|string[]} [type]\n * Type of listener to remove. Don't include to remove all events from element.\n *\n * @param {EventTarget~EventListener} [fn]\n * Specific listener to remove. Don't include to remove listeners for an event\n * type.\n */\n\n\nfunction off(elem, type, fn) {\n // Don't want to add a cache object through getElData if not needed\n if (!DomData.has(elem)) {\n return;\n }\n\n var data = DomData.get(elem); // If no events exist, nothing to unbind\n\n if (!data.handlers) {\n return;\n }\n\n if (Array.isArray(type)) {\n return _handleMultipleEvents(off, elem, type, fn);\n } // Utility function\n\n\n var removeType = function removeType(el, t) {\n data.handlers[t] = [];\n\n _cleanUpEvents(el, t);\n }; // Are we removing all bound events?\n\n\n if (type === undefined) {\n for (var t in data.handlers) {\n if (Object.prototype.hasOwnProperty.call(data.handlers || {}, t)) {\n removeType(elem, t);\n }\n }\n\n return;\n }\n\n var handlers = data.handlers[type]; // If no handlers exist, nothing to unbind\n\n if (!handlers) {\n return;\n } // If no listener was provided, remove all listeners for type\n\n\n if (!fn) {\n removeType(elem, type);\n return;\n } // We're only removing a single handler\n\n\n if (fn.guid) {\n for (var n = 0; n < handlers.length; n++) {\n if (handlers[n].guid === fn.guid) {\n handlers.splice(n--, 1);\n }\n }\n }\n\n _cleanUpEvents(elem, type);\n}\n/**\n * Trigger an event for an element\n *\n * @param {Element|Object} elem\n * Element to trigger an event on\n *\n * @param {EventTarget~Event|string} event\n * A string (the type) or an event object with a type attribute\n *\n * @param {Object} [hash]\n * data hash to pass along with the event\n *\n * @return {boolean|undefined}\n * Returns the opposite of `defaultPrevented` if default was\n * prevented. Otherwise, returns `undefined`\n */\n\n\nfunction trigger(elem, event, hash) {\n // Fetches element data and a reference to the parent (for bubbling).\n // Don't want to add a data object to cache for every parent,\n // so checking hasElData first.\n var elemData = DomData.has(elem) ? DomData.get(elem) : {};\n var parent = elem.parentNode || elem.ownerDocument; // type = event.type || event,\n // handler;\n // If an event name was passed as a string, creates an event out of it\n\n if (typeof event === 'string') {\n event = {\n type: event,\n target: elem\n };\n } else if (!event.target) {\n event.target = elem;\n } // Normalizes the event properties.\n\n\n event = fixEvent(event); // If the passed element has a dispatcher, executes the established handlers.\n\n if (elemData.dispatcher) {\n elemData.dispatcher.call(elem, event, hash);\n } // Unless explicitly stopped or the event does not bubble (e.g. media events)\n // recursively calls this function to bubble the event up the DOM.\n\n\n if (parent && !event.isPropagationStopped() && event.bubbles === true) {\n trigger.call(null, parent, event, hash); // If at the top of the DOM, triggers the default action unless disabled.\n } else if (!parent && !event.defaultPrevented && event.target && event.target[event.type]) {\n if (!DomData.has(event.target)) {\n DomData.set(event.target, {});\n }\n\n var targetData = DomData.get(event.target); // Checks if the target has a default action for this event.\n\n if (event.target[event.type]) {\n // Temporarily disables event dispatching on the target as we have already executed the handler.\n targetData.disabled = true; // Executes the default action.\n\n if (typeof event.target[event.type] === 'function') {\n event.target[event.type]();\n } // Re-enables event dispatching.\n\n\n targetData.disabled = false;\n }\n } // Inform the triggerer if the default was prevented by returning false\n\n\n return !event.defaultPrevented;\n}\n/**\n * Trigger a listener only once for an event.\n *\n * @param {Element|Object} elem\n * Element or object to bind to.\n *\n * @param {string|string[]} type\n * Name/type of event\n *\n * @param {Event~EventListener} fn\n * Event listener function\n */\n\n\nfunction one(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(one, elem, type, fn);\n }\n\n var func = function func() {\n off(elem, type, func);\n fn.apply(this, arguments);\n }; // copy the guid to the new function so it can removed using the original function's ID\n\n\n func.guid = fn.guid = fn.guid || newGUID();\n on(elem, type, func);\n}\n/**\n * Trigger a listener only once and then turn if off for all\n * configured events\n *\n * @param {Element|Object} elem\n * Element or object to bind to.\n *\n * @param {string|string[]} type\n * Name/type of event\n *\n * @param {Event~EventListener} fn\n * Event listener function\n */\n\n\nfunction any(elem, type, fn) {\n var func = function func() {\n off(elem, type, func);\n fn.apply(this, arguments);\n }; // copy the guid to the new function so it can removed using the original function's ID\n\n\n func.guid = fn.guid = fn.guid || newGUID(); // multiple ons, but one off for everything\n\n on(elem, type, func);\n}\n\nvar Events = /*#__PURE__*/Object.freeze({\n __proto__: null,\n fixEvent: fixEvent,\n on: on,\n off: off,\n trigger: trigger,\n one: one,\n any: any\n});\n/**\n * @file fn.js\n * @module fn\n */\n\nvar UPDATE_REFRESH_INTERVAL = 30;\n/**\n * Bind (a.k.a proxy or context). A simple method for changing the context of\n * a function.\n *\n * It also stores a unique id on the function so it can be easily removed from\n * events.\n *\n * @function\n * @param {Mixed} context\n * The object to bind as scope.\n *\n * @param {Function} fn\n * The function to be bound to a scope.\n *\n * @param {number} [uid]\n * An optional unique ID for the function to be set\n *\n * @return {Function}\n * The new function that will be bound into the context given\n */\n\nvar bind = function bind(context, fn, uid) {\n // Make sure the function has a unique ID\n if (!fn.guid) {\n fn.guid = newGUID();\n } // Create the new function that changes the context\n\n\n var bound = fn.bind(context); // Allow for the ability to individualize this function\n // Needed in the case where multiple objects might share the same prototype\n // IF both items add an event listener with the same function, then you try to remove just one\n // it will remove both because they both have the same guid.\n // when using this, you need to use the bind method when you remove the listener as well.\n // currently used in text tracks\n\n bound.guid = uid ? uid + '_' + fn.guid : fn.guid;\n return bound;\n};\n/**\n * Wraps the given function, `fn`, with a new function that only invokes `fn`\n * at most once per every `wait` milliseconds.\n *\n * @function\n * @param {Function} fn\n * The function to be throttled.\n *\n * @param {number} wait\n * The number of milliseconds by which to throttle.\n *\n * @return {Function}\n */\n\n\nvar throttle = function throttle(fn, wait) {\n var last = window$1.performance.now();\n\n var throttled = function throttled() {\n var now = window$1.performance.now();\n\n if (now - last >= wait) {\n fn.apply(void 0, arguments);\n last = now;\n }\n };\n\n return throttled;\n};\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked.\n *\n * Inspired by lodash and underscore implementations.\n *\n * @function\n * @param {Function} func\n * The function to wrap with debounce behavior.\n *\n * @param {number} wait\n * The number of milliseconds to wait after the last invocation.\n *\n * @param {boolean} [immediate]\n * Whether or not to invoke the function immediately upon creation.\n *\n * @param {Object} [context=window]\n * The \"context\" in which the debounced function should debounce. For\n * example, if this function should be tied to a Video.js player,\n * the player can be passed here. Alternatively, defaults to the\n * global `window` object.\n *\n * @return {Function}\n * A debounced function.\n */\n\n\nvar debounce = function debounce(func, wait, immediate, context) {\n if (context === void 0) {\n context = window$1;\n }\n\n var timeout;\n\n var cancel = function cancel() {\n context.clearTimeout(timeout);\n timeout = null;\n };\n /* eslint-disable consistent-this */\n\n\n var debounced = function debounced() {\n var self = this;\n var args = arguments;\n\n var _later = function later() {\n timeout = null;\n _later = null;\n\n if (!immediate) {\n func.apply(self, args);\n }\n };\n\n if (!timeout && immediate) {\n func.apply(self, args);\n }\n\n context.clearTimeout(timeout);\n timeout = context.setTimeout(_later, wait);\n };\n /* eslint-enable consistent-this */\n\n\n debounced.cancel = cancel;\n return debounced;\n};\n/**\n * @file src/js/event-target.js\n */\n\n/**\n * `EventTarget` is a class that can have the same API as the DOM `EventTarget`. It\n * adds shorthand functions that wrap around lengthy functions. For example:\n * the `on` function is a wrapper around `addEventListener`.\n *\n * @see [EventTarget Spec]{@link https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget}\n * @class EventTarget\n */\n\n\nvar EventTarget$2 = function EventTarget() {};\n/**\n * A Custom DOM event.\n *\n * @typedef {Object} EventTarget~Event\n * @see [Properties]{@link https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent}\n */\n\n/**\n * All event listeners should follow the following format.\n *\n * @callback EventTarget~EventListener\n * @this {EventTarget}\n *\n * @param {EventTarget~Event} event\n * the event that triggered this function\n *\n * @param {Object} [hash]\n * hash of data sent during the event\n */\n\n/**\n * An object containing event names as keys and booleans as values.\n *\n * > NOTE: If an event name is set to a true value here {@link EventTarget#trigger}\n * will have extra functionality. See that function for more information.\n *\n * @property EventTarget.prototype.allowedEvents_\n * @private\n */\n\n\nEventTarget$2.prototype.allowedEvents_ = {};\n/**\n * Adds an `event listener` to an instance of an `EventTarget`. An `event listener` is a\n * function that will get called when an event with a certain name gets triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to call with `EventTarget`s\n */\n\nEventTarget$2.prototype.on = function (type, fn) {\n // Remove the addEventListener alias before calling Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n\n on(this, type, fn);\n this.addEventListener = ael;\n};\n/**\n * An alias of {@link EventTarget#on}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#on}\n */\n\n\nEventTarget$2.prototype.addEventListener = EventTarget$2.prototype.on;\n/**\n * Removes an `event listener` for a specific event from an instance of `EventTarget`.\n * This makes it so that the `event listener` will no longer get called when the\n * named event happens.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to remove.\n */\n\nEventTarget$2.prototype.off = function (type, fn) {\n off(this, type, fn);\n};\n/**\n * An alias of {@link EventTarget#off}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#off}\n */\n\n\nEventTarget$2.prototype.removeEventListener = EventTarget$2.prototype.off;\n/**\n * This function will add an `event listener` that gets triggered only once. After the\n * first trigger it will get removed. This is like adding an `event listener`\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on itself.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to be called once for each event name.\n */\n\nEventTarget$2.prototype.one = function (type, fn) {\n // Remove the addEventListener aliasing Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n\n one(this, type, fn);\n this.addEventListener = ael;\n};\n\nEventTarget$2.prototype.any = function (type, fn) {\n // Remove the addEventListener aliasing Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n\n any(this, type, fn);\n this.addEventListener = ael;\n};\n/**\n * This function causes an event to happen. This will then cause any `event listeners`\n * that are waiting for that event, to get called. If there are no `event listeners`\n * for an event then nothing will happen.\n *\n * If the name of the `Event` that is being triggered is in `EventTarget.allowedEvents_`.\n * Trigger will also call the `on` + `uppercaseEventName` function.\n *\n * Example:\n * 'click' is in `EventTarget.allowedEvents_`, so, trigger will attempt to call\n * `onClick` if it exists.\n *\n * @param {string|EventTarget~Event|Object} event\n * The name of the event, an `Event`, or an object with a key of type set to\n * an event name.\n */\n\n\nEventTarget$2.prototype.trigger = function (event) {\n var type = event.type || event; // deprecation\n // In a future version we should default target to `this`\n // similar to how we default the target to `elem` in\n // `Events.trigger`. Right now the default `target` will be\n // `document` due to the `Event.fixEvent` call.\n\n if (typeof event === 'string') {\n event = {\n type: type\n };\n }\n\n event = fixEvent(event);\n\n if (this.allowedEvents_[type] && this['on' + type]) {\n this['on' + type](event);\n }\n\n trigger(this, event);\n};\n/**\n * An alias of {@link EventTarget#trigger}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#trigger}\n */\n\n\nEventTarget$2.prototype.dispatchEvent = EventTarget$2.prototype.trigger;\nvar EVENT_MAP;\n\nEventTarget$2.prototype.queueTrigger = function (event) {\n var _this = this; // only set up EVENT_MAP if it'll be used\n\n\n if (!EVENT_MAP) {\n EVENT_MAP = new Map();\n }\n\n var type = event.type || event;\n var map = EVENT_MAP.get(this);\n\n if (!map) {\n map = new Map();\n EVENT_MAP.set(this, map);\n }\n\n var oldTimeout = map.get(type);\n map[\"delete\"](type);\n window$1.clearTimeout(oldTimeout);\n var timeout = window$1.setTimeout(function () {\n // if we cleared out all timeouts for the current target, delete its map\n if (map.size === 0) {\n map = null;\n EVENT_MAP[\"delete\"](_this);\n }\n\n _this.trigger(event);\n }, 0);\n map.set(type, timeout);\n};\n/**\n * @file mixins/evented.js\n * @module evented\n */\n\n\nvar objName = function objName(obj) {\n if (typeof obj.name === 'function') {\n return obj.name();\n }\n\n if (typeof obj.name === 'string') {\n return obj.name;\n }\n\n if (obj.name_) {\n return obj.name_;\n }\n\n if (obj.constructor && obj.constructor.name) {\n return obj.constructor.name;\n }\n\n return typeof obj;\n};\n/**\n * Returns whether or not an object has had the evented mixin applied.\n *\n * @param {Object} object\n * An object to test.\n *\n * @return {boolean}\n * Whether or not the object appears to be evented.\n */\n\n\nvar isEvented = function isEvented(object) {\n return object instanceof EventTarget$2 || !!object.eventBusEl_ && ['on', 'one', 'off', 'trigger'].every(function (k) {\n return typeof object[k] === 'function';\n });\n};\n/**\n * Adds a callback to run after the evented mixin applied.\n *\n * @param {Object} object\n * An object to Add\n * @param {Function} callback\n * The callback to run.\n */\n\n\nvar addEventedCallback = function addEventedCallback(target, callback) {\n if (isEvented(target)) {\n callback();\n } else {\n if (!target.eventedCallbacks) {\n target.eventedCallbacks = [];\n }\n\n target.eventedCallbacks.push(callback);\n }\n};\n/**\n * Whether a value is a valid event type - non-empty string or array.\n *\n * @private\n * @param {string|Array} type\n * The type value to test.\n *\n * @return {boolean}\n * Whether or not the type is a valid event type.\n */\n\n\nvar isValidEventType = function isValidEventType(type) {\n return (// The regex here verifies that the `type` contains at least one non-\n // whitespace character.\n typeof type === 'string' && /\\S/.test(type) || Array.isArray(type) && !!type.length\n );\n};\n/**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the target does not appear to be a valid event target.\n *\n * @param {Object} target\n * The object to test.\n *\n * @param {Object} obj\n * The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\n\n\nvar validateTarget = function validateTarget(target, obj, fnName) {\n if (!target || !target.nodeName && !isEvented(target)) {\n throw new Error(\"Invalid target for \" + objName(obj) + \"#\" + fnName + \"; must be a DOM node or evented object.\");\n }\n};\n/**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the type does not appear to be a valid event type.\n *\n * @param {string|Array} type\n * The type to test.\n *\n * @param {Object} obj\n* The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\n\n\nvar validateEventType = function validateEventType(type, obj, fnName) {\n if (!isValidEventType(type)) {\n throw new Error(\"Invalid event type for \" + objName(obj) + \"#\" + fnName + \"; must be a non-empty string or array.\");\n }\n};\n/**\n * Validates a value to determine if it is a valid listener. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the listener is not a function.\n *\n * @param {Function} listener\n * The listener to test.\n *\n * @param {Object} obj\n * The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\n\n\nvar validateListener = function validateListener(listener, obj, fnName) {\n if (typeof listener !== 'function') {\n throw new Error(\"Invalid listener for \" + objName(obj) + \"#\" + fnName + \"; must be a function.\");\n }\n};\n/**\n * Takes an array of arguments given to `on()` or `one()`, validates them, and\n * normalizes them into an object.\n *\n * @private\n * @param {Object} self\n * The evented object on which `on()` or `one()` was called. This\n * object will be bound as the `this` value for the listener.\n *\n * @param {Array} args\n * An array of arguments passed to `on()` or `one()`.\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n *\n * @return {Object}\n * An object containing useful values for `on()` or `one()` calls.\n */\n\n\nvar normalizeListenArgs = function normalizeListenArgs(self, args, fnName) {\n // If the number of arguments is less than 3, the target is always the\n // evented object itself.\n var isTargetingSelf = args.length < 3 || args[0] === self || args[0] === self.eventBusEl_;\n var target;\n var type;\n var listener;\n\n if (isTargetingSelf) {\n target = self.eventBusEl_; // Deal with cases where we got 3 arguments, but we are still listening to\n // the evented object itself.\n\n if (args.length >= 3) {\n args.shift();\n }\n\n type = args[0];\n listener = args[1];\n } else {\n target = args[0];\n type = args[1];\n listener = args[2];\n }\n\n validateTarget(target, self, fnName);\n validateEventType(type, self, fnName);\n validateListener(listener, self, fnName);\n listener = bind(self, listener);\n return {\n isTargetingSelf: isTargetingSelf,\n target: target,\n type: type,\n listener: listener\n };\n};\n/**\n * Adds the listener to the event type(s) on the target, normalizing for\n * the type of target.\n *\n * @private\n * @param {Element|Object} target\n * A DOM node or evented object.\n *\n * @param {string} method\n * The event binding method to use (\"on\" or \"one\").\n *\n * @param {string|Array} type\n * One or more event type(s).\n *\n * @param {Function} listener\n * A listener function.\n */\n\n\nvar listen = function listen(target, method, type, listener) {\n validateTarget(target, target, method);\n\n if (target.nodeName) {\n Events[method](target, type, listener);\n } else {\n target[method](type, listener);\n }\n};\n/**\n * Contains methods that provide event capabilities to an object which is passed\n * to {@link module:evented|evented}.\n *\n * @mixin EventedMixin\n */\n\n\nvar EventedMixin = {\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n on: function on() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _normalizeListenArgs = normalizeListenArgs(this, args, 'on'),\n isTargetingSelf = _normalizeListenArgs.isTargetingSelf,\n target = _normalizeListenArgs.target,\n type = _normalizeListenArgs.type,\n listener = _normalizeListenArgs.listener;\n\n listen(target, 'on', type, listener); // If this object is listening to another evented object.\n\n if (!isTargetingSelf) {\n // If this object is disposed, remove the listener.\n var removeListenerOnDispose = function removeListenerOnDispose() {\n return _this.off(target, type, listener);\n }; // Use the same function ID as the listener so we can remove it later it\n // using the ID of the original listener.\n\n\n removeListenerOnDispose.guid = listener.guid; // Add a listener to the target's dispose event as well. This ensures\n // that if the target is disposed BEFORE this object, we remove the\n // removal listener that was just added. Otherwise, we create a memory leak.\n\n var removeRemoverOnTargetDispose = function removeRemoverOnTargetDispose() {\n return _this.off('dispose', removeListenerOnDispose);\n }; // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n\n\n removeRemoverOnTargetDispose.guid = listener.guid;\n listen(this, 'on', 'dispose', removeListenerOnDispose);\n listen(target, 'on', 'dispose', removeRemoverOnTargetDispose);\n }\n },\n\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object. The listener will be called once per event and then removed.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n one: function one() {\n var _this2 = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var _normalizeListenArgs2 = normalizeListenArgs(this, args, 'one'),\n isTargetingSelf = _normalizeListenArgs2.isTargetingSelf,\n target = _normalizeListenArgs2.target,\n type = _normalizeListenArgs2.type,\n listener = _normalizeListenArgs2.listener; // Targeting this evented object.\n\n\n if (isTargetingSelf) {\n listen(target, 'one', type, listener); // Targeting another evented object.\n } else {\n // TODO: This wrapper is incorrect! It should only\n // remove the wrapper for the event type that called it.\n // Instead all listners are removed on the first trigger!\n // see https://github.com/videojs/video.js/issues/5962\n var wrapper = function wrapper() {\n _this2.off(target, type, wrapper);\n\n for (var _len3 = arguments.length, largs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n largs[_key3] = arguments[_key3];\n }\n\n listener.apply(null, largs);\n }; // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n\n\n wrapper.guid = listener.guid;\n listen(target, 'one', type, wrapper);\n }\n },\n\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object. The listener will only be called once for the first event that is triggered\n * then removed.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n any: function any() {\n var _this3 = this;\n\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n var _normalizeListenArgs3 = normalizeListenArgs(this, args, 'any'),\n isTargetingSelf = _normalizeListenArgs3.isTargetingSelf,\n target = _normalizeListenArgs3.target,\n type = _normalizeListenArgs3.type,\n listener = _normalizeListenArgs3.listener; // Targeting this evented object.\n\n\n if (isTargetingSelf) {\n listen(target, 'any', type, listener); // Targeting another evented object.\n } else {\n var wrapper = function wrapper() {\n _this3.off(target, type, wrapper);\n\n for (var _len5 = arguments.length, largs = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n largs[_key5] = arguments[_key5];\n }\n\n listener.apply(null, largs);\n }; // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n\n\n wrapper.guid = listener.guid;\n listen(target, 'any', type, wrapper);\n }\n },\n\n /**\n * Removes listener(s) from event(s) on an evented object.\n *\n * @param {string|Array|Element|Object} [targetOrType]\n * If this is a string or array, it represents the event type(s).\n *\n * Another evented object can be passed here instead, in which case\n * ALL 3 arguments are _required_.\n *\n * @param {string|Array|Function} [typeOrListener]\n * If the first argument was a string or array, this may be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function; otherwise, _all_ listeners bound to the\n * event type(s) will be removed.\n */\n off: function off$1(targetOrType, typeOrListener, listener) {\n // Targeting this evented object.\n if (!targetOrType || isValidEventType(targetOrType)) {\n off(this.eventBusEl_, targetOrType, typeOrListener); // Targeting another evented object.\n } else {\n var target = targetOrType;\n var type = typeOrListener; // Fail fast and in a meaningful way!\n\n validateTarget(target, this, 'off');\n validateEventType(type, this, 'off');\n validateListener(listener, this, 'off'); // Ensure there's at least a guid, even if the function hasn't been used\n\n listener = bind(this, listener); // Remove the dispose listener on this evented object, which was given\n // the same guid as the event listener in on().\n\n this.off('dispose', listener);\n\n if (target.nodeName) {\n off(target, type, listener);\n off(target, 'dispose', listener);\n } else if (isEvented(target)) {\n target.off(type, listener);\n target.off('dispose', listener);\n }\n }\n },\n\n /**\n * Fire an event on this evented object, causing its listeners to be called.\n *\n * @param {string|Object} event\n * An event type or an object with a type property.\n *\n * @param {Object} [hash]\n * An additional object to pass along to listeners.\n *\n * @return {boolean}\n * Whether or not the default behavior was prevented.\n */\n trigger: function trigger$1(event, hash) {\n validateTarget(this.eventBusEl_, this, 'trigger');\n var type = event && typeof event !== 'string' ? event.type : event;\n\n if (!isValidEventType(type)) {\n var error = \"Invalid event type for \" + objName(this) + \"#trigger; \" + 'must be a non-empty string or object with a type key that has a non-empty value.';\n\n if (event) {\n (this.log || log$1).error(error);\n } else {\n throw new Error(error);\n }\n }\n\n return trigger(this.eventBusEl_, event, hash);\n }\n};\n/**\n * Applies {@link module:evented~EventedMixin|EventedMixin} to a target object.\n *\n * @param {Object} target\n * The object to which to add event methods.\n *\n * @param {Object} [options={}]\n * Options for customizing the mixin behavior.\n *\n * @param {string} [options.eventBusKey]\n * By default, adds a `eventBusEl_` DOM element to the target object,\n * which is used as an event bus. If the target object already has a\n * DOM element that should be used, pass its key here.\n *\n * @return {Object}\n * The target object.\n */\n\nfunction evented(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n eventBusKey = _options.eventBusKey; // Set or create the eventBusEl_.\n\n if (eventBusKey) {\n if (!target[eventBusKey].nodeName) {\n throw new Error(\"The eventBusKey \\\"\" + eventBusKey + \"\\\" does not refer to an element.\");\n }\n\n target.eventBusEl_ = target[eventBusKey];\n } else {\n target.eventBusEl_ = createEl('span', {\n className: 'vjs-event-bus'\n });\n }\n\n assign(target, EventedMixin);\n\n if (target.eventedCallbacks) {\n target.eventedCallbacks.forEach(function (callback) {\n callback();\n });\n } // When any evented object is disposed, it removes all its listeners.\n\n\n target.on('dispose', function () {\n target.off();\n [target, target.el_, target.eventBusEl_].forEach(function (val) {\n if (val && DomData.has(val)) {\n DomData[\"delete\"](val);\n }\n });\n window$1.setTimeout(function () {\n target.eventBusEl_ = null;\n }, 0);\n });\n return target;\n}\n/**\n * @file mixins/stateful.js\n * @module stateful\n */\n\n/**\n * Contains methods that provide statefulness to an object which is passed\n * to {@link module:stateful}.\n *\n * @mixin StatefulMixin\n */\n\n\nvar StatefulMixin = {\n /**\n * A hash containing arbitrary keys and values representing the state of\n * the object.\n *\n * @type {Object}\n */\n state: {},\n\n /**\n * Set the state of an object by mutating its\n * {@link module:stateful~StatefulMixin.state|state} object in place.\n *\n * @fires module:stateful~StatefulMixin#statechanged\n * @param {Object|Function} stateUpdates\n * A new set of properties to shallow-merge into the plugin state.\n * Can be a plain object or a function returning a plain object.\n *\n * @return {Object|undefined}\n * An object containing changes that occurred. If no changes\n * occurred, returns `undefined`.\n */\n setState: function setState(stateUpdates) {\n var _this = this; // Support providing the `stateUpdates` state as a function.\n\n\n if (typeof stateUpdates === 'function') {\n stateUpdates = stateUpdates();\n }\n\n var changes;\n each(stateUpdates, function (value, key) {\n // Record the change if the value is different from what's in the\n // current state.\n if (_this.state[key] !== value) {\n changes = changes || {};\n changes[key] = {\n from: _this.state[key],\n to: value\n };\n }\n\n _this.state[key] = value;\n }); // Only trigger \"statechange\" if there were changes AND we have a trigger\n // function. This allows us to not require that the target object be an\n // evented object.\n\n if (changes && isEvented(this)) {\n /**\n * An event triggered on an object that is both\n * {@link module:stateful|stateful} and {@link module:evented|evented}\n * indicating that its state has changed.\n *\n * @event module:stateful~StatefulMixin#statechanged\n * @type {Object}\n * @property {Object} changes\n * A hash containing the properties that were changed and\n * the values they were changed `from` and `to`.\n */\n this.trigger({\n changes: changes,\n type: 'statechanged'\n });\n }\n\n return changes;\n }\n};\n/**\n * Applies {@link module:stateful~StatefulMixin|StatefulMixin} to a target\n * object.\n *\n * If the target object is {@link module:evented|evented} and has a\n * `handleStateChanged` method, that method will be automatically bound to the\n * `statechanged` event on itself.\n *\n * @param {Object} target\n * The object to be made stateful.\n *\n * @param {Object} [defaultState]\n * A default set of properties to populate the newly-stateful object's\n * `state` property.\n *\n * @return {Object}\n * Returns the `target`.\n */\n\nfunction stateful(target, defaultState) {\n assign(target, StatefulMixin); // This happens after the mixing-in because we need to replace the `state`\n // added in that step.\n\n target.state = assign({}, target.state, defaultState); // Auto-bind the `handleStateChanged` method of the target object if it exists.\n\n if (typeof target.handleStateChanged === 'function' && isEvented(target)) {\n target.on('statechanged', target.handleStateChanged);\n }\n\n return target;\n}\n/**\n * @file string-cases.js\n * @module to-lower-case\n */\n\n/**\n * Lowercase the first letter of a string.\n *\n * @param {string} string\n * String to be lowercased\n *\n * @return {string}\n * The string with a lowercased first letter\n */\n\n\nvar toLowerCase = function toLowerCase(string) {\n if (typeof string !== 'string') {\n return string;\n }\n\n return string.replace(/./, function (w) {\n return w.toLowerCase();\n });\n};\n/**\n * Uppercase the first letter of a string.\n *\n * @param {string} string\n * String to be uppercased\n *\n * @return {string}\n * The string with an uppercased first letter\n */\n\n\nvar toTitleCase$1 = function toTitleCase(string) {\n if (typeof string !== 'string') {\n return string;\n }\n\n return string.replace(/./, function (w) {\n return w.toUpperCase();\n });\n};\n/**\n * Compares the TitleCase versions of the two strings for equality.\n *\n * @param {string} str1\n * The first string to compare\n *\n * @param {string} str2\n * The second string to compare\n *\n * @return {boolean}\n * Whether the TitleCase versions of the strings are equal\n */\n\n\nvar titleCaseEquals = function titleCaseEquals(str1, str2) {\n return toTitleCase$1(str1) === toTitleCase$1(str2);\n};\n/**\n * @file merge-options.js\n * @module merge-options\n */\n\n/**\n * Merge two objects recursively.\n *\n * Performs a deep merge like\n * {@link https://lodash.com/docs/4.17.10#merge|lodash.merge}, but only merges\n * plain objects (not arrays, elements, or anything else).\n *\n * Non-plain object values will be copied directly from the right-most\n * argument.\n *\n * @static\n * @param {Object[]} sources\n * One or more objects to merge into a new object.\n *\n * @return {Object}\n * A new object that is the merged result of all sources.\n */\n\n\nfunction mergeOptions$3() {\n var result = {};\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n sources.forEach(function (source) {\n if (!source) {\n return;\n }\n\n each(source, function (value, key) {\n if (!isPlain(value)) {\n result[key] = value;\n return;\n }\n\n if (!isPlain(result[key])) {\n result[key] = {};\n }\n\n result[key] = mergeOptions$3(result[key], value);\n });\n });\n return result;\n}\n\nvar MapSham = /*#__PURE__*/function () {\n function MapSham() {\n this.map_ = {};\n }\n\n var _proto = MapSham.prototype;\n\n _proto.has = function has(key) {\n return key in this.map_;\n };\n\n _proto[\"delete\"] = function _delete(key) {\n var has = this.has(key);\n delete this.map_[key];\n return has;\n };\n\n _proto.set = function set(key, value) {\n this.map_[key] = value;\n return this;\n };\n\n _proto.forEach = function forEach(callback, thisArg) {\n for (var key in this.map_) {\n callback.call(thisArg, this.map_[key], key, this);\n }\n };\n\n return MapSham;\n}();\n\nvar Map$1 = window$1.Map ? window$1.Map : MapSham;\n\nvar SetSham = /*#__PURE__*/function () {\n function SetSham() {\n this.set_ = {};\n }\n\n var _proto = SetSham.prototype;\n\n _proto.has = function has(key) {\n return key in this.set_;\n };\n\n _proto[\"delete\"] = function _delete(key) {\n var has = this.has(key);\n delete this.set_[key];\n return has;\n };\n\n _proto.add = function add(key) {\n this.set_[key] = 1;\n return this;\n };\n\n _proto.forEach = function forEach(callback, thisArg) {\n for (var key in this.set_) {\n callback.call(thisArg, key, key, this);\n }\n };\n\n return SetSham;\n}();\n\nvar Set$1 = window$1.Set ? window$1.Set : SetSham;\n/**\n * Player Component - Base class for all UI objects\n *\n * @file component.js\n */\n\n/**\n * Base class for all UI Components.\n * Components are UI objects which represent both a javascript object and an element\n * in the DOM. They can be children of other components, and can have\n * children themselves.\n *\n * Components can also use methods from {@link EventTarget}\n */\n\nvar Component$1 = /*#__PURE__*/function () {\n /**\n * A callback that is called when a component is ready. Does not have any\n * paramters and any callback value will be ignored.\n *\n * @callback Component~ReadyCallback\n * @this Component\n */\n\n /**\n * Creates an instance of this class.\n *\n * @param {Player} player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of component options.\n *\n * @param {Object[]} [options.children]\n * An array of children objects to intialize this component with. Children objects have\n * a name property that will be used if more than one component of the same type needs to be\n * added.\n *\n * @param {string} [options.className]\n * A class or space separated list of classes to add the component\n *\n * @param {Component~ReadyCallback} [ready]\n * Function that gets called when the `Component` is ready.\n */\n function Component(player, options, ready) {\n var _this = this; // The component might be the player itself and we can't pass `this` to super\n\n\n if (!player && this.play) {\n this.player_ = player = this; // eslint-disable-line\n } else {\n this.player_ = player;\n }\n\n this.isDisposed_ = false; // Hold the reference to the parent component via `addChild` method\n\n this.parentComponent_ = null; // Make a copy of prototype.options_ to protect against overriding defaults\n\n this.options_ = mergeOptions$3({}, this.options_); // Updated options with supplied options\n\n options = this.options_ = mergeOptions$3(this.options_, options); // Get ID from options or options element if one is supplied\n\n this.id_ = options.id || options.el && options.el.id; // If there was no ID from the options, generate one\n\n if (!this.id_) {\n // Don't require the player ID function in the case of mock players\n var id = player && player.id && player.id() || 'no_player';\n this.id_ = id + \"_component_\" + newGUID();\n }\n\n this.name_ = options.name || null; // Create element if one wasn't provided in options\n\n if (options.el) {\n this.el_ = options.el;\n } else if (options.createEl !== false) {\n this.el_ = this.createEl();\n }\n\n if (options.className && this.el_) {\n options.className.split(' ').forEach(function (c) {\n return _this.addClass(c);\n });\n } // if evented is anything except false, we want to mixin in evented\n\n\n if (options.evented !== false) {\n // Make this an evented object and use `el_`, if available, as its event bus\n evented(this, {\n eventBusKey: this.el_ ? 'el_' : null\n });\n this.handleLanguagechange = this.handleLanguagechange.bind(this);\n this.on(this.player_, 'languagechange', this.handleLanguagechange);\n }\n\n stateful(this, this.constructor.defaultState);\n this.children_ = [];\n this.childIndex_ = {};\n this.childNameIndex_ = {};\n this.setTimeoutIds_ = new Set$1();\n this.setIntervalIds_ = new Set$1();\n this.rafIds_ = new Set$1();\n this.namedRafs_ = new Map$1();\n this.clearingTimersOnDispose_ = false; // Add any child components in options\n\n if (options.initChildren !== false) {\n this.initChildren();\n } // Don't want to trigger ready here or it will go before init is actually\n // finished for all children that run this constructor\n\n\n this.ready(ready);\n\n if (options.reportTouchActivity !== false) {\n this.enableTouchActivity();\n }\n }\n /**\n * Dispose of the `Component` and all child components.\n *\n * @fires Component#dispose\n *\n * @param {Object} options\n * @param {Element} options.originalEl element with which to replace player element\n */\n\n\n var _proto = Component.prototype;\n\n _proto.dispose = function dispose(options) {\n if (options === void 0) {\n options = {};\n } // Bail out if the component has already been disposed.\n\n\n if (this.isDisposed_) {\n return;\n }\n\n if (this.readyQueue_) {\n this.readyQueue_.length = 0;\n }\n /**\n * Triggered when a `Component` is disposed.\n *\n * @event Component#dispose\n * @type {EventTarget~Event}\n *\n * @property {boolean} [bubbles=false]\n * set to false so that the dispose event does not\n * bubble up\n */\n\n\n this.trigger({\n type: 'dispose',\n bubbles: false\n });\n this.isDisposed_ = true; // Dispose all children.\n\n if (this.children_) {\n for (var i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i].dispose) {\n this.children_[i].dispose();\n }\n }\n } // Delete child references\n\n\n this.children_ = null;\n this.childIndex_ = null;\n this.childNameIndex_ = null;\n this.parentComponent_ = null;\n\n if (this.el_) {\n // Remove element from DOM\n if (this.el_.parentNode) {\n if (options.restoreEl) {\n this.el_.parentNode.replaceChild(options.restoreEl, this.el_);\n } else {\n this.el_.parentNode.removeChild(this.el_);\n }\n }\n\n this.el_ = null;\n } // remove reference to the player after disposing of the element\n\n\n this.player_ = null;\n }\n /**\n * Determine whether or not this component has been disposed.\n *\n * @return {boolean}\n * If the component has been disposed, will be `true`. Otherwise, `false`.\n */\n ;\n\n _proto.isDisposed = function isDisposed() {\n return Boolean(this.isDisposed_);\n }\n /**\n * Return the {@link Player} that the `Component` has attached to.\n *\n * @return {Player}\n * The player that this `Component` has attached to.\n */\n ;\n\n _proto.player = function player() {\n return this.player_;\n }\n /**\n * Deep merge of options objects with new options.\n * > Note: When both `obj` and `options` contain properties whose values are objects.\n * The two properties get merged using {@link module:mergeOptions}\n *\n * @param {Object} obj\n * The object that contains new options.\n *\n * @return {Object}\n * A new object of `this.options_` and `obj` merged together.\n */\n ;\n\n _proto.options = function options(obj) {\n if (!obj) {\n return this.options_;\n }\n\n this.options_ = mergeOptions$3(this.options_, obj);\n return this.options_;\n }\n /**\n * Get the `Component`s DOM element\n *\n * @return {Element}\n * The DOM element for this `Component`.\n */\n ;\n\n _proto.el = function el() {\n return this.el_;\n }\n /**\n * Create the `Component`s DOM element.\n *\n * @param {string} [tagName]\n * Element's DOM node type. e.g. 'div'\n *\n * @param {Object} [properties]\n * An object of properties that should be set.\n *\n * @param {Object} [attributes]\n * An object of attributes that should be set.\n *\n * @return {Element}\n * The element that gets created.\n */\n ;\n\n _proto.createEl = function createEl$1(tagName, properties, attributes) {\n return createEl(tagName, properties, attributes);\n }\n /**\n * Localize a string given the string in english.\n *\n * If tokens are provided, it'll try and run a simple token replacement on the provided string.\n * The tokens it looks for look like `{1}` with the index being 1-indexed into the tokens array.\n *\n * If a `defaultValue` is provided, it'll use that over `string`,\n * if a value isn't found in provided language files.\n * This is useful if you want to have a descriptive key for token replacement\n * but have a succinct localized string and not require `en.json` to be included.\n *\n * Currently, it is used for the progress bar timing.\n * ```js\n * {\n * \"progress bar timing: currentTime={1} duration={2}\": \"{1} of {2}\"\n * }\n * ```\n * It is then used like so:\n * ```js\n * this.localize('progress bar timing: currentTime={1} duration{2}',\n * [this.player_.currentTime(), this.player_.duration()],\n * '{1} of {2}');\n * ```\n *\n * Which outputs something like: `01:23 of 24:56`.\n *\n *\n * @param {string} string\n * The string to localize and the key to lookup in the language files.\n * @param {string[]} [tokens]\n * If the current item has token replacements, provide the tokens here.\n * @param {string} [defaultValue]\n * Defaults to `string`. Can be a default value to use for token replacement\n * if the lookup key is needed to be separate.\n *\n * @return {string}\n * The localized string or if no localization exists the english string.\n */\n ;\n\n _proto.localize = function localize(string, tokens, defaultValue) {\n if (defaultValue === void 0) {\n defaultValue = string;\n }\n\n var code = this.player_.language && this.player_.language();\n var languages = this.player_.languages && this.player_.languages();\n var language = languages && languages[code];\n var primaryCode = code && code.split('-')[0];\n var primaryLang = languages && languages[primaryCode];\n var localizedString = defaultValue;\n\n if (language && language[string]) {\n localizedString = language[string];\n } else if (primaryLang && primaryLang[string]) {\n localizedString = primaryLang[string];\n }\n\n if (tokens) {\n localizedString = localizedString.replace(/\\{(\\d+)\\}/g, function (match, index) {\n var value = tokens[index - 1];\n var ret = value;\n\n if (typeof value === 'undefined') {\n ret = match;\n }\n\n return ret;\n });\n }\n\n return localizedString;\n }\n /**\n * Handles language change for the player in components. Should be overriden by sub-components.\n *\n * @abstract\n */\n ;\n\n _proto.handleLanguagechange = function handleLanguagechange() {}\n /**\n * Return the `Component`s DOM element. This is where children get inserted.\n * This will usually be the the same as the element returned in {@link Component#el}.\n *\n * @return {Element}\n * The content element for this `Component`.\n */\n ;\n\n _proto.contentEl = function contentEl() {\n return this.contentEl_ || this.el_;\n }\n /**\n * Get this `Component`s ID\n *\n * @return {string}\n * The id of this `Component`\n */\n ;\n\n _proto.id = function id() {\n return this.id_;\n }\n /**\n * Get the `Component`s name. The name gets used to reference the `Component`\n * and is set during registration.\n *\n * @return {string}\n * The name of this `Component`.\n */\n ;\n\n _proto.name = function name() {\n return this.name_;\n }\n /**\n * Get an array of all child components\n *\n * @return {Array}\n * The children\n */\n ;\n\n _proto.children = function children() {\n return this.children_;\n }\n /**\n * Returns the child `Component` with the given `id`.\n *\n * @param {string} id\n * The id of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `id` or undefined.\n */\n ;\n\n _proto.getChildById = function getChildById(id) {\n return this.childIndex_[id];\n }\n /**\n * Returns the child `Component` with the given `name`.\n *\n * @param {string} name\n * The name of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `name` or undefined.\n */\n ;\n\n _proto.getChild = function getChild(name) {\n if (!name) {\n return;\n }\n\n return this.childNameIndex_[name];\n }\n /**\n * Returns the descendant `Component` following the givent\n * descendant `names`. For instance ['foo', 'bar', 'baz'] would\n * try to get 'foo' on the current component, 'bar' on the 'foo'\n * component and 'baz' on the 'bar' component and return undefined\n * if any of those don't exist.\n *\n * @param {...string[]|...string} names\n * The name of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The descendant `Component` following the given descendant\n * `names` or undefined.\n */\n ;\n\n _proto.getDescendant = function getDescendant() {\n for (var _len = arguments.length, names = new Array(_len), _key = 0; _key < _len; _key++) {\n names[_key] = arguments[_key];\n } // flatten array argument into the main array\n\n\n names = names.reduce(function (acc, n) {\n return acc.concat(n);\n }, []);\n var currentChild = this;\n\n for (var i = 0; i < names.length; i++) {\n currentChild = currentChild.getChild(names[i]);\n\n if (!currentChild || !currentChild.getChild) {\n return;\n }\n }\n\n return currentChild;\n }\n /**\n * Add a child `Component` inside the current `Component`.\n *\n *\n * @param {string|Component} child\n * The name or instance of a child to add.\n *\n * @param {Object} [options={}]\n * The key/value store of options that will get passed to children of\n * the child.\n *\n * @param {number} [index=this.children_.length]\n * The index to attempt to add a child into.\n *\n * @return {Component}\n * The `Component` that gets added as a child. When using a string the\n * `Component` will get created by this process.\n */\n ;\n\n _proto.addChild = function addChild(child, options, index) {\n if (options === void 0) {\n options = {};\n }\n\n if (index === void 0) {\n index = this.children_.length;\n }\n\n var component;\n var componentName; // If child is a string, create component with options\n\n if (typeof child === 'string') {\n componentName = toTitleCase$1(child);\n var componentClassName = options.componentClass || componentName; // Set name through options\n\n options.name = componentName; // Create a new object & element for this controls set\n // If there's no .player_, this is a player\n\n var ComponentClass = Component.getComponent(componentClassName);\n\n if (!ComponentClass) {\n throw new Error(\"Component \" + componentClassName + \" does not exist\");\n } // data stored directly on the videojs object may be\n // misidentified as a component to retain\n // backwards-compatibility with 4.x. check to make sure the\n // component class can be instantiated.\n\n\n if (typeof ComponentClass !== 'function') {\n return null;\n }\n\n component = new ComponentClass(this.player_ || this, options); // child is a component instance\n } else {\n component = child;\n }\n\n if (component.parentComponent_) {\n component.parentComponent_.removeChild(component);\n }\n\n this.children_.splice(index, 0, component);\n component.parentComponent_ = this;\n\n if (typeof component.id === 'function') {\n this.childIndex_[component.id()] = component;\n } // If a name wasn't used to create the component, check if we can use the\n // name function of the component\n\n\n componentName = componentName || component.name && toTitleCase$1(component.name());\n\n if (componentName) {\n this.childNameIndex_[componentName] = component;\n this.childNameIndex_[toLowerCase(componentName)] = component;\n } // Add the UI object's element to the container div (box)\n // Having an element is not required\n\n\n if (typeof component.el === 'function' && component.el()) {\n // If inserting before a component, insert before that component's element\n var refNode = null;\n\n if (this.children_[index + 1]) {\n // Most children are components, but the video tech is an HTML element\n if (this.children_[index + 1].el_) {\n refNode = this.children_[index + 1].el_;\n } else if (isEl(this.children_[index + 1])) {\n refNode = this.children_[index + 1];\n }\n }\n\n this.contentEl().insertBefore(component.el(), refNode);\n } // Return so it can stored on parent object if desired.\n\n\n return component;\n }\n /**\n * Remove a child `Component` from this `Component`s list of children. Also removes\n * the child `Component`s element from this `Component`s element.\n *\n * @param {Component} component\n * The child `Component` to remove.\n */\n ;\n\n _proto.removeChild = function removeChild(component) {\n if (typeof component === 'string') {\n component = this.getChild(component);\n }\n\n if (!component || !this.children_) {\n return;\n }\n\n var childFound = false;\n\n for (var i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i] === component) {\n childFound = true;\n this.children_.splice(i, 1);\n break;\n }\n }\n\n if (!childFound) {\n return;\n }\n\n component.parentComponent_ = null;\n this.childIndex_[component.id()] = null;\n this.childNameIndex_[toTitleCase$1(component.name())] = null;\n this.childNameIndex_[toLowerCase(component.name())] = null;\n var compEl = component.el();\n\n if (compEl && compEl.parentNode === this.contentEl()) {\n this.contentEl().removeChild(component.el());\n }\n }\n /**\n * Add and initialize default child `Component`s based upon options.\n */\n ;\n\n _proto.initChildren = function initChildren() {\n var _this2 = this;\n\n var children = this.options_.children;\n\n if (children) {\n // `this` is `parent`\n var parentOptions = this.options_;\n\n var handleAdd = function handleAdd(child) {\n var name = child.name;\n var opts = child.opts; // Allow options for children to be set at the parent options\n // e.g. videojs(id, { controlBar: false });\n // instead of videojs(id, { children: { controlBar: false });\n\n if (parentOptions[name] !== undefined) {\n opts = parentOptions[name];\n } // Allow for disabling default components\n // e.g. options['children']['posterImage'] = false\n\n\n if (opts === false) {\n return;\n } // Allow options to be passed as a simple boolean if no configuration\n // is necessary.\n\n\n if (opts === true) {\n opts = {};\n } // We also want to pass the original player options\n // to each component as well so they don't need to\n // reach back into the player for options later.\n\n\n opts.playerOptions = _this2.options_.playerOptions; // Create and add the child component.\n // Add a direct reference to the child by name on the parent instance.\n // If two of the same component are used, different names should be supplied\n // for each\n\n var newChild = _this2.addChild(name, opts);\n\n if (newChild) {\n _this2[name] = newChild;\n }\n }; // Allow for an array of children details to passed in the options\n\n\n var workingChildren;\n var Tech = Component.getComponent('Tech');\n\n if (Array.isArray(children)) {\n workingChildren = children;\n } else {\n workingChildren = Object.keys(children);\n }\n\n workingChildren // children that are in this.options_ but also in workingChildren would\n // give us extra children we do not want. So, we want to filter them out.\n .concat(Object.keys(this.options_).filter(function (child) {\n return !workingChildren.some(function (wchild) {\n if (typeof wchild === 'string') {\n return child === wchild;\n }\n\n return child === wchild.name;\n });\n })).map(function (child) {\n var name;\n var opts;\n\n if (typeof child === 'string') {\n name = child;\n opts = children[name] || _this2.options_[name] || {};\n } else {\n name = child.name;\n opts = child;\n }\n\n return {\n name: name,\n opts: opts\n };\n }).filter(function (child) {\n // we have to make sure that child.name isn't in the techOrder since\n // techs are registerd as Components but can't aren't compatible\n // See https://github.com/videojs/video.js/issues/2772\n var c = Component.getComponent(child.opts.componentClass || toTitleCase$1(child.name));\n return c && !Tech.isTech(c);\n }).forEach(handleAdd);\n }\n }\n /**\n * Builds the default DOM class name. Should be overriden by sub-components.\n *\n * @return {string}\n * The DOM class name for this object.\n *\n * @abstract\n */\n ;\n\n _proto.buildCSSClass = function buildCSSClass() {\n // Child classes can include a function that does:\n // return 'CLASS NAME' + this._super();\n return '';\n }\n /**\n * Bind a listener to the component's ready state.\n * Different from event listeners in that if the ready event has already happened\n * it will trigger the function immediately.\n *\n * @return {Component}\n * Returns itself; method can be chained.\n */\n ;\n\n _proto.ready = function ready(fn, sync) {\n if (sync === void 0) {\n sync = false;\n }\n\n if (!fn) {\n return;\n }\n\n if (!this.isReady_) {\n this.readyQueue_ = this.readyQueue_ || [];\n this.readyQueue_.push(fn);\n return;\n }\n\n if (sync) {\n fn.call(this);\n } else {\n // Call the function asynchronously by default for consistency\n this.setTimeout(fn, 1);\n }\n }\n /**\n * Trigger all the ready listeners for this `Component`.\n *\n * @fires Component#ready\n */\n ;\n\n _proto.triggerReady = function triggerReady() {\n this.isReady_ = true; // Ensure ready is triggered asynchronously\n\n this.setTimeout(function () {\n var readyQueue = this.readyQueue_; // Reset Ready Queue\n\n this.readyQueue_ = [];\n\n if (readyQueue && readyQueue.length > 0) {\n readyQueue.forEach(function (fn) {\n fn.call(this);\n }, this);\n } // Allow for using event listeners also\n\n /**\n * Triggered when a `Component` is ready.\n *\n * @event Component#ready\n * @type {EventTarget~Event}\n */\n\n\n this.trigger('ready');\n }, 1);\n }\n /**\n * Find a single DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {Element|null}\n * the dom element that was found, or null\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n ;\n\n _proto.$ = function $$1(selector, context) {\n return $(selector, context || this.contentEl());\n }\n /**\n * Finds all DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {NodeList}\n * a list of dom elements that were found\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n ;\n\n _proto.$$ = function $$$1(selector, context) {\n return $$(selector, context || this.contentEl());\n }\n /**\n * Check if a component's element has a CSS class name.\n *\n * @param {string} classToCheck\n * CSS class name to check.\n *\n * @return {boolean}\n * - True if the `Component` has the class.\n * - False if the `Component` does not have the class`\n */\n ;\n\n _proto.hasClass = function hasClass$1(classToCheck) {\n return hasClass(this.el_, classToCheck);\n }\n /**\n * Add a CSS class name to the `Component`s element.\n *\n * @param {string} classToAdd\n * CSS class name to add\n */\n ;\n\n _proto.addClass = function addClass$1(classToAdd) {\n addClass(this.el_, classToAdd);\n }\n /**\n * Remove a CSS class name from the `Component`s element.\n *\n * @param {string} classToRemove\n * CSS class name to remove\n */\n ;\n\n _proto.removeClass = function removeClass$1(classToRemove) {\n removeClass(this.el_, classToRemove);\n }\n /**\n * Add or remove a CSS class name from the component's element.\n * - `classToToggle` gets added when {@link Component#hasClass} would return false.\n * - `classToToggle` gets removed when {@link Component#hasClass} would return true.\n *\n * @param {string} classToToggle\n * The class to add or remove based on (@link Component#hasClass}\n *\n * @param {boolean|Dom~predicate} [predicate]\n * An {@link Dom~predicate} function or a boolean\n */\n ;\n\n _proto.toggleClass = function toggleClass$1(classToToggle, predicate) {\n toggleClass(this.el_, classToToggle, predicate);\n }\n /**\n * Show the `Component`s element if it is hidden by removing the\n * 'vjs-hidden' class name from it.\n */\n ;\n\n _proto.show = function show() {\n this.removeClass('vjs-hidden');\n }\n /**\n * Hide the `Component`s element if it is currently showing by adding the\n * 'vjs-hidden` class name to it.\n */\n ;\n\n _proto.hide = function hide() {\n this.addClass('vjs-hidden');\n }\n /**\n * Lock a `Component`s element in its visible state by adding the 'vjs-lock-showing'\n * class name to it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n ;\n\n _proto.lockShowing = function lockShowing() {\n this.addClass('vjs-lock-showing');\n }\n /**\n * Unlock a `Component`s element from its visible state by removing the 'vjs-lock-showing'\n * class name from it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n ;\n\n _proto.unlockShowing = function unlockShowing() {\n this.removeClass('vjs-lock-showing');\n }\n /**\n * Get the value of an attribute on the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to get the value from.\n *\n * @return {string|null}\n * - The value of the attribute that was asked for.\n * - Can be an empty string on some browsers if the attribute does not exist\n * or has no value\n * - Most browsers will return null if the attibute does not exist or has\n * no value.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute}\n */\n ;\n\n _proto.getAttribute = function getAttribute$1(attribute) {\n return getAttribute(this.el_, attribute);\n }\n /**\n * Set the value of an attribute on the `Component`'s element\n *\n * @param {string} attribute\n * Name of the attribute to set.\n *\n * @param {string} value\n * Value to set the attribute to.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute}\n */\n ;\n\n _proto.setAttribute = function setAttribute$1(attribute, value) {\n setAttribute(this.el_, attribute, value);\n }\n /**\n * Remove an attribute from the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to remove.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute}\n */\n ;\n\n _proto.removeAttribute = function removeAttribute$1(attribute) {\n removeAttribute(this.el_, attribute);\n }\n /**\n * Get or set the width of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The width that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|string}\n * The width when getting, zero if there is no width. Can be a string\n * postpixed with '%' or 'px'.\n */\n ;\n\n _proto.width = function width(num, skipListeners) {\n return this.dimension('width', num, skipListeners);\n }\n /**\n * Get or set the height of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The height that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|string}\n * The width when getting, zero if there is no width. Can be a string\n * postpixed with '%' or 'px'.\n */\n ;\n\n _proto.height = function height(num, skipListeners) {\n return this.dimension('height', num, skipListeners);\n }\n /**\n * Set both the width and height of the `Component` element at the same time.\n *\n * @param {number|string} width\n * Width to set the `Component`s element to.\n *\n * @param {number|string} height\n * Height to set the `Component`s element to.\n */\n ;\n\n _proto.dimensions = function dimensions(width, height) {\n // Skip componentresize listeners on width for optimization\n this.width(width, true);\n this.height(height);\n }\n /**\n * Get or set width or height of the `Component` element. This is the shared code\n * for the {@link Component#width} and {@link Component#height}.\n *\n * Things to know:\n * - If the width or height in an number this will return the number postfixed with 'px'.\n * - If the width/height is a percent this will return the percent postfixed with '%'\n * - Hidden elements have a width of 0 with `window.getComputedStyle`. This function\n * defaults to the `Component`s `style.width` and falls back to `window.getComputedStyle`.\n * See [this]{@link http://www.foliotek.com/devblog/getting-the-width-of-a-hidden-element-with-jquery-using-width/}\n * for more information\n * - If you want the computed style of the component, use {@link Component#currentWidth}\n * and {@link {Component#currentHeight}\n *\n * @fires Component#componentresize\n *\n * @param {string} widthOrHeight\n 8 'width' or 'height'\n *\n * @param {number|string} [num]\n 8 New dimension\n *\n * @param {boolean} [skipListeners]\n * Skip componentresize event trigger\n *\n * @return {number}\n * The dimension when getting or 0 if unset\n */\n ;\n\n _proto.dimension = function dimension(widthOrHeight, num, skipListeners) {\n if (num !== undefined) {\n // Set to zero if null or literally NaN (NaN !== NaN)\n if (num === null || num !== num) {\n num = 0;\n } // Check if using css width/height (% or px) and adjust\n\n\n if (('' + num).indexOf('%') !== -1 || ('' + num).indexOf('px') !== -1) {\n this.el_.style[widthOrHeight] = num;\n } else if (num === 'auto') {\n this.el_.style[widthOrHeight] = '';\n } else {\n this.el_.style[widthOrHeight] = num + 'px';\n } // skipListeners allows us to avoid triggering the resize event when setting both width and height\n\n\n if (!skipListeners) {\n /**\n * Triggered when a component is resized.\n *\n * @event Component#componentresize\n * @type {EventTarget~Event}\n */\n this.trigger('componentresize');\n }\n\n return;\n } // Not setting a value, so getting it\n // Make sure element exists\n\n\n if (!this.el_) {\n return 0;\n } // Get dimension value from style\n\n\n var val = this.el_.style[widthOrHeight];\n var pxIndex = val.indexOf('px');\n\n if (pxIndex !== -1) {\n // Return the pixel value with no 'px'\n return parseInt(val.slice(0, pxIndex), 10);\n } // No px so using % or no style was set, so falling back to offsetWidth/height\n // If component has display:none, offset will return 0\n // TODO: handle display:none and no dimension style using px\n\n\n return parseInt(this.el_['offset' + toTitleCase$1(widthOrHeight)], 10);\n }\n /**\n * Get the computed width or the height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @param {string} widthOrHeight\n * A string containing 'width' or 'height'. Whichever one you want to get.\n *\n * @return {number}\n * The dimension that gets asked for or 0 if nothing was set\n * for that dimension.\n */\n ;\n\n _proto.currentDimension = function currentDimension(widthOrHeight) {\n var computedWidthOrHeight = 0;\n\n if (widthOrHeight !== 'width' && widthOrHeight !== 'height') {\n throw new Error('currentDimension only accepts width or height value');\n }\n\n computedWidthOrHeight = computedStyle(this.el_, widthOrHeight); // remove 'px' from variable and parse as integer\n\n computedWidthOrHeight = parseFloat(computedWidthOrHeight); // if the computed value is still 0, it's possible that the browser is lying\n // and we want to check the offset values.\n // This code also runs wherever getComputedStyle doesn't exist.\n\n if (computedWidthOrHeight === 0 || isNaN(computedWidthOrHeight)) {\n var rule = \"offset\" + toTitleCase$1(widthOrHeight);\n computedWidthOrHeight = this.el_[rule];\n }\n\n return computedWidthOrHeight;\n }\n /**\n * An object that contains width and height values of the `Component`s\n * computed style. Uses `window.getComputedStyle`.\n *\n * @typedef {Object} Component~DimensionObject\n *\n * @property {number} width\n * The width of the `Component`s computed style.\n *\n * @property {number} height\n * The height of the `Component`s computed style.\n */\n\n /**\n * Get an object that contains computed width and height values of the\n * component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {Component~DimensionObject}\n * The computed dimensions of the component's element.\n */\n ;\n\n _proto.currentDimensions = function currentDimensions() {\n return {\n width: this.currentDimension('width'),\n height: this.currentDimension('height')\n };\n }\n /**\n * Get the computed width of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed width of the component's element.\n */\n ;\n\n _proto.currentWidth = function currentWidth() {\n return this.currentDimension('width');\n }\n /**\n * Get the computed height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed height of the component's element.\n */\n ;\n\n _proto.currentHeight = function currentHeight() {\n return this.currentDimension('height');\n }\n /**\n * Set the focus to this component\n */\n ;\n\n _proto.focus = function focus() {\n this.el_.focus();\n }\n /**\n * Remove the focus from this component\n */\n ;\n\n _proto.blur = function blur() {\n this.el_.blur();\n }\n /**\n * When this Component receives a `keydown` event which it does not process,\n * it passes the event to the Player for handling.\n *\n * @param {EventTarget~Event} event\n * The `keydown` event that caused this function to be called.\n */\n ;\n\n _proto.handleKeyDown = function handleKeyDown(event) {\n if (this.player_) {\n // We only stop propagation here because we want unhandled events to fall\n // back to the browser. Exclude Tab for focus trapping.\n if (!keycode.isEventKey(event, 'Tab')) {\n event.stopPropagation();\n }\n\n this.player_.handleKeyDown(event);\n }\n }\n /**\n * Many components used to have a `handleKeyPress` method, which was poorly\n * named because it listened to a `keydown` event. This method name now\n * delegates to `handleKeyDown`. This means anyone calling `handleKeyPress`\n * will not see their method calls stop working.\n *\n * @param {EventTarget~Event} event\n * The event that caused this function to be called.\n */\n ;\n\n _proto.handleKeyPress = function handleKeyPress(event) {\n this.handleKeyDown(event);\n }\n /**\n * Emit a 'tap' events when touch event support gets detected. This gets used to\n * support toggling the controls through a tap on the video. They get enabled\n * because every sub-component would have extra overhead otherwise.\n *\n * @private\n * @fires Component#tap\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchleave\n * @listens Component#touchcancel\n * @listens Component#touchend\n */\n ;\n\n _proto.emitTapEvents = function emitTapEvents() {\n // Track the start time so we can determine how long the touch lasted\n var touchStart = 0;\n var firstTouch = null; // Maximum movement allowed during a touch event to still be considered a tap\n // Other popular libs use anywhere from 2 (hammer.js) to 15,\n // so 10 seems like a nice, round number.\n\n var tapMovementThreshold = 10; // The maximum length a touch can be while still being considered a tap\n\n var touchTimeThreshold = 200;\n var couldBeTap;\n this.on('touchstart', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length === 1) {\n // Copy pageX/pageY from the object\n firstTouch = {\n pageX: event.touches[0].pageX,\n pageY: event.touches[0].pageY\n }; // Record start time so we can detect a tap vs. \"touch and hold\"\n\n touchStart = window$1.performance.now(); // Reset couldBeTap tracking\n\n couldBeTap = true;\n }\n });\n this.on('touchmove', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length > 1) {\n couldBeTap = false;\n } else if (firstTouch) {\n // Some devices will throw touchmoves for all but the slightest of taps.\n // So, if we moved only a small distance, this could still be a tap\n var xdiff = event.touches[0].pageX - firstTouch.pageX;\n var ydiff = event.touches[0].pageY - firstTouch.pageY;\n var touchDistance = Math.sqrt(xdiff * xdiff + ydiff * ydiff);\n\n if (touchDistance > tapMovementThreshold) {\n couldBeTap = false;\n }\n }\n });\n\n var noTap = function noTap() {\n couldBeTap = false;\n }; // TODO: Listen to the original target. http://youtu.be/DujfpXOKUp8?t=13m8s\n\n\n this.on('touchleave', noTap);\n this.on('touchcancel', noTap); // When the touch ends, measure how long it took and trigger the appropriate\n // event\n\n this.on('touchend', function (event) {\n firstTouch = null; // Proceed only if the touchmove/leave/cancel event didn't happen\n\n if (couldBeTap === true) {\n // Measure how long the touch lasted\n var touchTime = window$1.performance.now() - touchStart; // Make sure the touch was less than the threshold to be considered a tap\n\n if (touchTime < touchTimeThreshold) {\n // Don't let browser turn this into a click\n event.preventDefault();\n /**\n * Triggered when a `Component` is tapped.\n *\n * @event Component#tap\n * @type {EventTarget~Event}\n */\n\n this.trigger('tap'); // It may be good to copy the touchend event object and change the\n // type to tap, if the other event properties aren't exact after\n // Events.fixEvent runs (e.g. event.target)\n }\n }\n });\n }\n /**\n * This function reports user activity whenever touch events happen. This can get\n * turned off by any sub-components that wants touch events to act another way.\n *\n * Report user touch activity when touch events occur. User activity gets used to\n * determine when controls should show/hide. It is simple when it comes to mouse\n * events, because any mouse event should show the controls. So we capture mouse\n * events that bubble up to the player and report activity when that happens.\n * With touch events it isn't as easy as `touchstart` and `touchend` toggle player\n * controls. So touch events can't help us at the player level either.\n *\n * User activity gets checked asynchronously. So what could happen is a tap event\n * on the video turns the controls off. Then the `touchend` event bubbles up to\n * the player. Which, if it reported user activity, would turn the controls right\n * back on. We also don't want to completely block touch events from bubbling up.\n * Furthermore a `touchmove` event and anything other than a tap, should not turn\n * controls back on.\n *\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchend\n * @listens Component#touchcancel\n */\n ;\n\n _proto.enableTouchActivity = function enableTouchActivity() {\n // Don't continue if the root player doesn't support reporting user activity\n if (!this.player() || !this.player().reportUserActivity) {\n return;\n } // listener for reporting that the user is active\n\n\n var report = bind(this.player(), this.player().reportUserActivity);\n var touchHolding;\n this.on('touchstart', function () {\n report(); // For as long as the they are touching the device or have their mouse down,\n // we consider them active even if they're not moving their finger or mouse.\n // So we want to continue to update that they are active\n\n this.clearInterval(touchHolding); // report at the same interval as activityCheck\n\n touchHolding = this.setInterval(report, 250);\n });\n\n var touchEnd = function touchEnd(event) {\n report(); // stop the interval that maintains activity if the touch is holding\n\n this.clearInterval(touchHolding);\n };\n\n this.on('touchmove', report);\n this.on('touchend', touchEnd);\n this.on('touchcancel', touchEnd);\n }\n /**\n * A callback that has no parameters and is bound into `Component`s context.\n *\n * @callback Component~GenericCallback\n * @this Component\n */\n\n /**\n * Creates a function that runs after an `x` millisecond timeout. This function is a\n * wrapper around `window.setTimeout`. There are a few reasons to use this one\n * instead though:\n * 1. It gets cleared via {@link Component#clearTimeout} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will gets turned into a {@link Component~GenericCallback}\n *\n * > Note: You can't use `window.clearTimeout` on the id returned by this function. This\n * will cause its dispose listener not to get cleaned up! Please use\n * {@link Component#clearTimeout} or {@link Component#dispose} instead.\n *\n * @param {Component~GenericCallback} fn\n * The function that will be run after `timeout`.\n *\n * @param {number} timeout\n * Timeout in milliseconds to delay before executing the specified function.\n *\n * @return {number}\n * Returns a timeout ID that gets used to identify the timeout. It can also\n * get used in {@link Component#clearTimeout} to clear the timeout that\n * was set.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout}\n */\n ;\n\n _proto.setTimeout = function setTimeout(fn, timeout) {\n var _this3 = this; // declare as variables so they are properly available in timeout function\n // eslint-disable-next-line\n\n\n var timeoutId;\n fn = bind(this, fn);\n this.clearTimersOnDispose_();\n timeoutId = window$1.setTimeout(function () {\n if (_this3.setTimeoutIds_.has(timeoutId)) {\n _this3.setTimeoutIds_[\"delete\"](timeoutId);\n }\n\n fn();\n }, timeout);\n this.setTimeoutIds_.add(timeoutId);\n return timeoutId;\n }\n /**\n * Clears a timeout that gets created via `window.setTimeout` or\n * {@link Component#setTimeout}. If you set a timeout via {@link Component#setTimeout}\n * use this function instead of `window.clearTimout`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} timeoutId\n * The id of the timeout to clear. The return value of\n * {@link Component#setTimeout} or `window.setTimeout`.\n *\n * @return {number}\n * Returns the timeout id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearTimeout}\n */\n ;\n\n _proto.clearTimeout = function clearTimeout(timeoutId) {\n if (this.setTimeoutIds_.has(timeoutId)) {\n this.setTimeoutIds_[\"delete\"](timeoutId);\n window$1.clearTimeout(timeoutId);\n }\n\n return timeoutId;\n }\n /**\n * Creates a function that gets run every `x` milliseconds. This function is a wrapper\n * around `window.setInterval`. There are a few reasons to use this one instead though.\n * 1. It gets cleared via {@link Component#clearInterval} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will be a {@link Component~GenericCallback}\n *\n * @param {Component~GenericCallback} fn\n * The function to run every `x` seconds.\n *\n * @param {number} interval\n * Execute the specified function every `x` milliseconds.\n *\n * @return {number}\n * Returns an id that can be used to identify the interval. It can also be be used in\n * {@link Component#clearInterval} to clear the interval.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval}\n */\n ;\n\n _proto.setInterval = function setInterval(fn, interval) {\n fn = bind(this, fn);\n this.clearTimersOnDispose_();\n var intervalId = window$1.setInterval(fn, interval);\n this.setIntervalIds_.add(intervalId);\n return intervalId;\n }\n /**\n * Clears an interval that gets created via `window.setInterval` or\n * {@link Component#setInterval}. If you set an inteval via {@link Component#setInterval}\n * use this function instead of `window.clearInterval`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} intervalId\n * The id of the interval to clear. The return value of\n * {@link Component#setInterval} or `window.setInterval`.\n *\n * @return {number}\n * Returns the interval id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval}\n */\n ;\n\n _proto.clearInterval = function clearInterval(intervalId) {\n if (this.setIntervalIds_.has(intervalId)) {\n this.setIntervalIds_[\"delete\"](intervalId);\n window$1.clearInterval(intervalId);\n }\n\n return intervalId;\n }\n /**\n * Queues up a callback to be passed to requestAnimationFrame (rAF), but\n * with a few extra bonuses:\n *\n * - Supports browsers that do not support rAF by falling back to\n * {@link Component#setTimeout}.\n *\n * - The callback is turned into a {@link Component~GenericCallback} (i.e.\n * bound to the component).\n *\n * - Automatic cancellation of the rAF callback is handled if the component\n * is disposed before it is called.\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n *\n * @return {number}\n * Returns an rAF ID that gets used to identify the timeout. It can\n * also be used in {@link Component#cancelAnimationFrame} to cancel\n * the animation frame callback.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame}\n */\n ;\n\n _proto.requestAnimationFrame = function requestAnimationFrame(fn) {\n var _this4 = this; // Fall back to using a timer.\n\n\n if (!this.supportsRaf_) {\n return this.setTimeout(fn, 1000 / 60);\n }\n\n this.clearTimersOnDispose_(); // declare as variables so they are properly available in rAF function\n // eslint-disable-next-line\n\n var id;\n fn = bind(this, fn);\n id = window$1.requestAnimationFrame(function () {\n if (_this4.rafIds_.has(id)) {\n _this4.rafIds_[\"delete\"](id);\n }\n\n fn();\n });\n this.rafIds_.add(id);\n return id;\n }\n /**\n * Request an animation frame, but only one named animation\n * frame will be queued. Another will never be added until\n * the previous one finishes.\n *\n * @param {string} name\n * The name to give this requestAnimationFrame\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n */\n ;\n\n _proto.requestNamedAnimationFrame = function requestNamedAnimationFrame(name, fn) {\n var _this5 = this;\n\n if (this.namedRafs_.has(name)) {\n return;\n }\n\n this.clearTimersOnDispose_();\n fn = bind(this, fn);\n var id = this.requestAnimationFrame(function () {\n fn();\n\n if (_this5.namedRafs_.has(name)) {\n _this5.namedRafs_[\"delete\"](name);\n }\n });\n this.namedRafs_.set(name, id);\n return name;\n }\n /**\n * Cancels a current named animation frame if it exists.\n *\n * @param {string} name\n * The name of the requestAnimationFrame to cancel.\n */\n ;\n\n _proto.cancelNamedAnimationFrame = function cancelNamedAnimationFrame(name) {\n if (!this.namedRafs_.has(name)) {\n return;\n }\n\n this.cancelAnimationFrame(this.namedRafs_.get(name));\n this.namedRafs_[\"delete\"](name);\n }\n /**\n * Cancels a queued callback passed to {@link Component#requestAnimationFrame}\n * (rAF).\n *\n * If you queue an rAF callback via {@link Component#requestAnimationFrame},\n * use this function instead of `window.cancelAnimationFrame`. If you don't,\n * your dispose listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} id\n * The rAF ID to clear. The return value of {@link Component#requestAnimationFrame}.\n *\n * @return {number}\n * Returns the rAF ID that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/cancelAnimationFrame}\n */\n ;\n\n _proto.cancelAnimationFrame = function cancelAnimationFrame(id) {\n // Fall back to using a timer.\n if (!this.supportsRaf_) {\n return this.clearTimeout(id);\n }\n\n if (this.rafIds_.has(id)) {\n this.rafIds_[\"delete\"](id);\n window$1.cancelAnimationFrame(id);\n }\n\n return id;\n }\n /**\n * A function to setup `requestAnimationFrame`, `setTimeout`,\n * and `setInterval`, clearing on dispose.\n *\n * > Previously each timer added and removed dispose listeners on it's own.\n * For better performance it was decided to batch them all, and use `Set`s\n * to track outstanding timer ids.\n *\n * @private\n */\n ;\n\n _proto.clearTimersOnDispose_ = function clearTimersOnDispose_() {\n var _this6 = this;\n\n if (this.clearingTimersOnDispose_) {\n return;\n }\n\n this.clearingTimersOnDispose_ = true;\n this.one('dispose', function () {\n [['namedRafs_', 'cancelNamedAnimationFrame'], ['rafIds_', 'cancelAnimationFrame'], ['setTimeoutIds_', 'clearTimeout'], ['setIntervalIds_', 'clearInterval']].forEach(function (_ref) {\n var idName = _ref[0],\n cancelName = _ref[1]; // for a `Set` key will actually be the value again\n // so forEach((val, val) =>` but for maps we want to use\n // the key.\n\n _this6[idName].forEach(function (val, key) {\n return _this6[cancelName](key);\n });\n });\n _this6.clearingTimersOnDispose_ = false;\n });\n }\n /**\n * Register a `Component` with `videojs` given the name and the component.\n *\n * > NOTE: {@link Tech}s should not be registered as a `Component`. {@link Tech}s\n * should be registered using {@link Tech.registerTech} or\n * {@link videojs:videojs.registerTech}.\n *\n * > NOTE: This function can also be seen on videojs as\n * {@link videojs:videojs.registerComponent}.\n *\n * @param {string} name\n * The name of the `Component` to register.\n *\n * @param {Component} ComponentToRegister\n * The `Component` class to register.\n *\n * @return {Component}\n * The `Component` that was registered.\n */\n ;\n\n Component.registerComponent = function registerComponent(name, ComponentToRegister) {\n if (typeof name !== 'string' || !name) {\n throw new Error(\"Illegal component name, \\\"\" + name + \"\\\"; must be a non-empty string.\");\n }\n\n var Tech = Component.getComponent('Tech'); // We need to make sure this check is only done if Tech has been registered.\n\n var isTech = Tech && Tech.isTech(ComponentToRegister);\n var isComp = Component === ComponentToRegister || Component.prototype.isPrototypeOf(ComponentToRegister.prototype);\n\n if (isTech || !isComp) {\n var reason;\n\n if (isTech) {\n reason = 'techs must be registered using Tech.registerTech()';\n } else {\n reason = 'must be a Component subclass';\n }\n\n throw new Error(\"Illegal component, \\\"\" + name + \"\\\"; \" + reason + \".\");\n }\n\n name = toTitleCase$1(name);\n\n if (!Component.components_) {\n Component.components_ = {};\n }\n\n var Player = Component.getComponent('Player');\n\n if (name === 'Player' && Player && Player.players) {\n var players = Player.players;\n var playerNames = Object.keys(players); // If we have players that were disposed, then their name will still be\n // in Players.players. So, we must loop through and verify that the value\n // for each item is not null. This allows registration of the Player component\n // after all players have been disposed or before any were created.\n\n if (players && playerNames.length > 0 && playerNames.map(function (pname) {\n return players[pname];\n }).every(Boolean)) {\n throw new Error('Can not register Player component after player has been created.');\n }\n }\n\n Component.components_[name] = ComponentToRegister;\n Component.components_[toLowerCase(name)] = ComponentToRegister;\n return ComponentToRegister;\n }\n /**\n * Get a `Component` based on the name it was registered with.\n *\n * @param {string} name\n * The Name of the component to get.\n *\n * @return {Component}\n * The `Component` that got registered under the given name.\n */\n ;\n\n Component.getComponent = function getComponent(name) {\n if (!name || !Component.components_) {\n return;\n }\n\n return Component.components_[name];\n };\n\n return Component;\n}();\n/**\n * Whether or not this component supports `requestAnimationFrame`.\n *\n * This is exposed primarily for testing purposes.\n *\n * @private\n * @type {Boolean}\n */\n\n\nComponent$1.prototype.supportsRaf_ = typeof window$1.requestAnimationFrame === 'function' && typeof window$1.cancelAnimationFrame === 'function';\nComponent$1.registerComponent('Component', Component$1);\n/**\n * @file time-ranges.js\n * @module time-ranges\n */\n\n/**\n * Returns the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @typedef {Function} TimeRangeIndex\n *\n * @param {number} [index=0]\n * The range number to return the time for.\n *\n * @return {number}\n * The time offset at the specified index.\n *\n * @deprecated The index argument must be provided.\n * In the future, leaving it out will throw an error.\n */\n\n/**\n * An object that contains ranges of time.\n *\n * @typedef {Object} TimeRange\n *\n * @property {number} length\n * The number of time ranges represented by this object.\n *\n * @property {module:time-ranges~TimeRangeIndex} start\n * Returns the time offset at which a specified time range begins.\n *\n * @property {module:time-ranges~TimeRangeIndex} end\n * Returns the time offset at which a specified time range ends.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges\n */\n\n/**\n * Check if any of the time ranges are over the maximum index.\n *\n * @private\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {number} index\n * The index to check\n *\n * @param {number} maxIndex\n * The maximum possible index\n *\n * @throws {Error} if the timeRanges provided are over the maxIndex\n */\n\nfunction rangeCheck(fnName, index, maxIndex) {\n if (typeof index !== 'number' || index < 0 || index > maxIndex) {\n throw new Error(\"Failed to execute '\" + fnName + \"' on 'TimeRanges': The index provided (\" + index + \") is non-numeric or out of bounds (0-\" + maxIndex + \").\");\n }\n}\n/**\n * Get the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @private\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {string} valueIndex\n * The property that should be used to get the time. should be\n * 'start' or 'end'\n *\n * @param {Array} ranges\n * An array of time ranges\n *\n * @param {Array} [rangeIndex=0]\n * The index to start the search at\n *\n * @return {number}\n * The time that offset at the specified index.\n *\n * @deprecated rangeIndex must be set to a value, in the future this will throw an error.\n * @throws {Error} if rangeIndex is more than the length of ranges\n */\n\n\nfunction getRange(fnName, valueIndex, ranges, rangeIndex) {\n rangeCheck(fnName, rangeIndex, ranges.length - 1);\n return ranges[rangeIndex][valueIndex];\n}\n/**\n * Create a time range object given ranges of time.\n *\n * @private\n * @param {Array} [ranges]\n * An array of time ranges.\n */\n\n\nfunction createTimeRangesObj(ranges) {\n var timeRangesObj;\n\n if (ranges === undefined || ranges.length === 0) {\n timeRangesObj = {\n length: 0,\n start: function start() {\n throw new Error('This TimeRanges object is empty');\n },\n end: function end() {\n throw new Error('This TimeRanges object is empty');\n }\n };\n } else {\n timeRangesObj = {\n length: ranges.length,\n start: getRange.bind(null, 'start', 0, ranges),\n end: getRange.bind(null, 'end', 1, ranges)\n };\n }\n\n if (window$1.Symbol && window$1.Symbol.iterator) {\n timeRangesObj[window$1.Symbol.iterator] = function () {\n return (ranges || []).values();\n };\n }\n\n return timeRangesObj;\n}\n/**\n * Create a `TimeRange` object which mimics an\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges|HTML5 TimeRanges instance}.\n *\n * @param {number|Array[]} start\n * The start of a single range (a number) or an array of ranges (an\n * array of arrays of two numbers each).\n *\n * @param {number} end\n * The end of a single range. Cannot be used with the array form of\n * the `start` argument.\n */\n\n\nfunction createTimeRanges(start, end) {\n if (Array.isArray(start)) {\n return createTimeRangesObj(start);\n } else if (start === undefined || end === undefined) {\n return createTimeRangesObj();\n }\n\n return createTimeRangesObj([[start, end]]);\n}\n/**\n * @file buffer.js\n * @module buffer\n */\n\n/**\n * Compute the percentage of the media that has been buffered.\n *\n * @param {TimeRange} buffered\n * The current `TimeRange` object representing buffered time ranges\n *\n * @param {number} duration\n * Total duration of the media\n *\n * @return {number}\n * Percent buffered of the total duration in decimal form.\n */\n\n\nfunction bufferedPercent(buffered, duration) {\n var bufferedDuration = 0;\n var start;\n var end;\n\n if (!duration) {\n return 0;\n }\n\n if (!buffered || !buffered.length) {\n buffered = createTimeRanges(0, 0);\n }\n\n for (var i = 0; i < buffered.length; i++) {\n start = buffered.start(i);\n end = buffered.end(i); // buffered end can be bigger than duration by a very small fraction\n\n if (end > duration) {\n end = duration;\n }\n\n bufferedDuration += end - start;\n }\n\n return bufferedDuration / duration;\n}\n/**\n * @file media-error.js\n */\n\n/**\n * A Custom `MediaError` class which mimics the standard HTML5 `MediaError` class.\n *\n * @param {number|string|Object|MediaError} value\n * This can be of multiple types:\n * - number: should be a standard error code\n * - string: an error message (the code will be 0)\n * - Object: arbitrary properties\n * - `MediaError` (native): used to populate a video.js `MediaError` object\n * - `MediaError` (video.js): will return itself if it's already a\n * video.js `MediaError` object.\n *\n * @see [MediaError Spec]{@link https://dev.w3.org/html5/spec-author-view/video.html#mediaerror}\n * @see [Encrypted MediaError Spec]{@link https://www.w3.org/TR/2013/WD-encrypted-media-20130510/#error-codes}\n *\n * @class MediaError\n */\n\n\nfunction MediaError(value) {\n // Allow redundant calls to this constructor to avoid having `instanceof`\n // checks peppered around the code.\n if (value instanceof MediaError) {\n return value;\n }\n\n if (typeof value === 'number') {\n this.code = value;\n } else if (typeof value === 'string') {\n // default code is zero, so this is a custom error\n this.message = value;\n } else if (isObject(value)) {\n // We assign the `code` property manually because native `MediaError` objects\n // do not expose it as an own/enumerable property of the object.\n if (typeof value.code === 'number') {\n this.code = value.code;\n }\n\n assign(this, value);\n }\n\n if (!this.message) {\n this.message = MediaError.defaultMessages[this.code] || '';\n }\n}\n/**\n * The error code that refers two one of the defined `MediaError` types\n *\n * @type {Number}\n */\n\n\nMediaError.prototype.code = 0;\n/**\n * An optional message that to show with the error. Message is not part of the HTML5\n * video spec but allows for more informative custom errors.\n *\n * @type {String}\n */\n\nMediaError.prototype.message = '';\n/**\n * An optional status code that can be set by plugins to allow even more detail about\n * the error. For example a plugin might provide a specific HTTP status code and an\n * error message for that code. Then when the plugin gets that error this class will\n * know how to display an error message for it. This allows a custom message to show\n * up on the `Player` error overlay.\n *\n * @type {Array}\n */\n\nMediaError.prototype.status = null;\n/**\n * Errors indexed by the W3C standard. The order **CANNOT CHANGE**! See the\n * specification listed under {@link MediaError} for more information.\n *\n * @enum {array}\n * @readonly\n * @property {string} 0 - MEDIA_ERR_CUSTOM\n * @property {string} 1 - MEDIA_ERR_ABORTED\n * @property {string} 2 - MEDIA_ERR_NETWORK\n * @property {string} 3 - MEDIA_ERR_DECODE\n * @property {string} 4 - MEDIA_ERR_SRC_NOT_SUPPORTED\n * @property {string} 5 - MEDIA_ERR_ENCRYPTED\n */\n\nMediaError.errorTypes = ['MEDIA_ERR_CUSTOM', 'MEDIA_ERR_ABORTED', 'MEDIA_ERR_NETWORK', 'MEDIA_ERR_DECODE', 'MEDIA_ERR_SRC_NOT_SUPPORTED', 'MEDIA_ERR_ENCRYPTED'];\n/**\n * The default `MediaError` messages based on the {@link MediaError.errorTypes}.\n *\n * @type {Array}\n * @constant\n */\n\nMediaError.defaultMessages = {\n 1: 'You aborted the media playback',\n 2: 'A network error caused the media download to fail part-way.',\n 3: 'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.',\n 4: 'The media could not be loaded, either because the server or network failed or because the format is not supported.',\n 5: 'The media is encrypted and we do not have the keys to decrypt it.'\n}; // Add types as properties on MediaError\n// e.g. MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n\nfor (var errNum = 0; errNum < MediaError.errorTypes.length; errNum++) {\n MediaError[MediaError.errorTypes[errNum]] = errNum; // values should be accessible on both the class and instance\n\n MediaError.prototype[MediaError.errorTypes[errNum]] = errNum;\n} // jsdocs for instance/static members added above\n\n/**\n * Returns whether an object is `Promise`-like (i.e. has a `then` method).\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n *\n * @return {boolean}\n * Whether or not the object is `Promise`-like.\n */\n\n\nfunction isPromise(value) {\n return value !== undefined && value !== null && typeof value.then === 'function';\n}\n/**\n * Silence a Promise-like object.\n *\n * This is useful for avoiding non-harmful, but potentially confusing \"uncaught\n * play promise\" rejection error messages.\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n */\n\n\nfunction silencePromise(value) {\n if (isPromise(value)) {\n value.then(null, function (e) {});\n }\n}\n/**\n * @file text-track-list-converter.js Utilities for capturing text track state and\n * re-creating tracks based on a capture.\n *\n * @module text-track-list-converter\n */\n\n/**\n * Examine a single {@link TextTrack} and return a JSON-compatible javascript object that\n * represents the {@link TextTrack}'s state.\n *\n * @param {TextTrack} track\n * The text track to query.\n *\n * @return {Object}\n * A serializable javascript representation of the TextTrack.\n * @private\n */\n\n\nvar trackToJson_ = function trackToJson_(track) {\n var ret = ['kind', 'label', 'language', 'id', 'inBandMetadataTrackDispatchType', 'mode', 'src'].reduce(function (acc, prop, i) {\n if (track[prop]) {\n acc[prop] = track[prop];\n }\n\n return acc;\n }, {\n cues: track.cues && Array.prototype.map.call(track.cues, function (cue) {\n return {\n startTime: cue.startTime,\n endTime: cue.endTime,\n text: cue.text,\n id: cue.id\n };\n })\n });\n return ret;\n};\n/**\n * Examine a {@link Tech} and return a JSON-compatible javascript array that represents the\n * state of all {@link TextTrack}s currently configured. The return array is compatible with\n * {@link text-track-list-converter:jsonToTextTracks}.\n *\n * @param {Tech} tech\n * The tech object to query\n *\n * @return {Array}\n * A serializable javascript representation of the {@link Tech}s\n * {@link TextTrackList}.\n */\n\n\nvar textTracksToJson = function textTracksToJson(tech) {\n var trackEls = tech.$$('track');\n var trackObjs = Array.prototype.map.call(trackEls, function (t) {\n return t.track;\n });\n var tracks = Array.prototype.map.call(trackEls, function (trackEl) {\n var json = trackToJson_(trackEl.track);\n\n if (trackEl.src) {\n json.src = trackEl.src;\n }\n\n return json;\n });\n return tracks.concat(Array.prototype.filter.call(tech.textTracks(), function (track) {\n return trackObjs.indexOf(track) === -1;\n }).map(trackToJson_));\n};\n/**\n * Create a set of remote {@link TextTrack}s on a {@link Tech} based on an array of javascript\n * object {@link TextTrack} representations.\n *\n * @param {Array} json\n * An array of `TextTrack` representation objects, like those that would be\n * produced by `textTracksToJson`.\n *\n * @param {Tech} tech\n * The `Tech` to create the `TextTrack`s on.\n */\n\n\nvar jsonToTextTracks = function jsonToTextTracks(json, tech) {\n json.forEach(function (track) {\n var addedTrack = tech.addRemoteTextTrack(track).track;\n\n if (!track.src && track.cues) {\n track.cues.forEach(function (cue) {\n return addedTrack.addCue(cue);\n });\n }\n });\n return tech.textTracks();\n};\n\nvar textTrackConverter = {\n textTracksToJson: textTracksToJson,\n jsonToTextTracks: jsonToTextTracks,\n trackToJson_: trackToJson_\n};\nvar MODAL_CLASS_NAME = 'vjs-modal-dialog';\n/**\n * The `ModalDialog` displays over the video and its controls, which blocks\n * interaction with the player until it is closed.\n *\n * Modal dialogs include a \"Close\" button and will close when that button\n * is activated - or when ESC is pressed anywhere.\n *\n * @extends Component\n */\n\nvar ModalDialog = /*#__PURE__*/function (_Component) {\n _inheritsLoose(ModalDialog, _Component);\n /**\n * Create an instance of this class.\n *\n * @param {Player} player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Mixed} [options.content=undefined]\n * Provide customized content for this modal.\n *\n * @param {string} [options.description]\n * A text description for the modal, primarily for accessibility.\n *\n * @param {boolean} [options.fillAlways=false]\n * Normally, modals are automatically filled only the first time\n * they open. This tells the modal to refresh its content\n * every time it opens.\n *\n * @param {string} [options.label]\n * A text label for the modal, primarily for accessibility.\n *\n * @param {boolean} [options.pauseOnOpen=true]\n * If `true`, playback will will be paused if playing when\n * the modal opens, and resumed when it closes.\n *\n * @param {boolean} [options.temporary=true]\n * If `true`, the modal can only be opened once; it will be\n * disposed as soon as it's closed.\n *\n * @param {boolean} [options.uncloseable=false]\n * If `true`, the user will not be able to close the modal\n * through the UI in the normal ways. Programmatic closing is\n * still possible.\n */\n\n\n function ModalDialog(player, options) {\n var _this;\n\n _this = _Component.call(this, player, options) || this;\n\n _this.handleKeyDown_ = function (e) {\n return _this.handleKeyDown(e);\n };\n\n _this.close_ = function (e) {\n return _this.close(e);\n };\n\n _this.opened_ = _this.hasBeenOpened_ = _this.hasBeenFilled_ = false;\n\n _this.closeable(!_this.options_.uncloseable);\n\n _this.content(_this.options_.content); // Make sure the contentEl is defined AFTER any children are initialized\n // because we only want the contents of the modal in the contentEl\n // (not the UI elements like the close button).\n\n\n _this.contentEl_ = createEl('div', {\n className: MODAL_CLASS_NAME + \"-content\"\n }, {\n role: 'document'\n });\n _this.descEl_ = createEl('p', {\n className: MODAL_CLASS_NAME + \"-description vjs-control-text\",\n id: _this.el().getAttribute('aria-describedby')\n });\n textContent(_this.descEl_, _this.description());\n\n _this.el_.appendChild(_this.descEl_);\n\n _this.el_.appendChild(_this.contentEl_);\n\n return _this;\n }\n /**\n * Create the `ModalDialog`'s DOM element\n *\n * @return {Element}\n * The DOM element that gets created.\n */\n\n\n var _proto = ModalDialog.prototype;\n\n _proto.createEl = function createEl() {\n return _Component.prototype.createEl.call(this, 'div', {\n className: this.buildCSSClass(),\n tabIndex: -1\n }, {\n 'aria-describedby': this.id() + \"_description\",\n 'aria-hidden': 'true',\n 'aria-label': this.label(),\n 'role': 'dialog'\n });\n };\n\n _proto.dispose = function dispose() {\n this.contentEl_ = null;\n this.descEl_ = null;\n this.previouslyActiveEl_ = null;\n\n _Component.prototype.dispose.call(this);\n }\n /**\n * Builds the default DOM `className`.\n *\n * @return {string}\n * The DOM `className` for this object.\n */\n ;\n\n _proto.buildCSSClass = function buildCSSClass() {\n return MODAL_CLASS_NAME + \" vjs-hidden \" + _Component.prototype.buildCSSClass.call(this);\n }\n /**\n * Returns the label string for this modal. Primarily used for accessibility.\n *\n * @return {string}\n * the localized or raw label of this modal.\n */\n ;\n\n _proto.label = function label() {\n return this.localize(this.options_.label || 'Modal Window');\n }\n /**\n * Returns the description string for this modal. Primarily used for\n * accessibility.\n *\n * @return {string}\n * The localized or raw description of this modal.\n */\n ;\n\n _proto.description = function description() {\n var desc = this.options_.description || this.localize('This is a modal window.'); // Append a universal closeability message if the modal is closeable.\n\n if (this.closeable()) {\n desc += ' ' + this.localize('This modal can be closed by pressing the Escape key or activating the close button.');\n }\n\n return desc;\n }\n /**\n * Opens the modal.\n *\n * @fires ModalDialog#beforemodalopen\n * @fires ModalDialog#modalopen\n */\n ;\n\n _proto.open = function open() {\n if (!this.opened_) {\n var player = this.player();\n /**\n * Fired just before a `ModalDialog` is opened.\n *\n * @event ModalDialog#beforemodalopen\n * @type {EventTarget~Event}\n */\n\n this.trigger('beforemodalopen');\n this.opened_ = true; // Fill content if the modal has never opened before and\n // never been filled.\n\n if (this.options_.fillAlways || !this.hasBeenOpened_ && !this.hasBeenFilled_) {\n this.fill();\n } // If the player was playing, pause it and take note of its previously\n // playing state.\n\n\n this.wasPlaying_ = !player.paused();\n\n if (this.options_.pauseOnOpen && this.wasPlaying_) {\n player.pause();\n }\n\n this.on('keydown', this.handleKeyDown_); // Hide controls and note if they were enabled.\n\n this.hadControls_ = player.controls();\n player.controls(false);\n this.show();\n this.conditionalFocus_();\n this.el().setAttribute('aria-hidden', 'false');\n /**\n * Fired just after a `ModalDialog` is opened.\n *\n * @event ModalDialog#modalopen\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalopen');\n this.hasBeenOpened_ = true;\n }\n }\n /**\n * If the `ModalDialog` is currently open or closed.\n *\n * @param {boolean} [value]\n * If given, it will open (`true`) or close (`false`) the modal.\n *\n * @return {boolean}\n * the current open state of the modaldialog\n */\n ;\n\n _proto.opened = function opened(value) {\n if (typeof value === 'boolean') {\n this[value ? 'open' : 'close']();\n }\n\n return this.opened_;\n }\n /**\n * Closes the modal, does nothing if the `ModalDialog` is\n * not open.\n *\n * @fires ModalDialog#beforemodalclose\n * @fires ModalDialog#modalclose\n */\n ;\n\n _proto.close = function close() {\n if (!this.opened_) {\n return;\n }\n\n var player = this.player();\n /**\n * Fired just before a `ModalDialog` is closed.\n *\n * @event ModalDialog#beforemodalclose\n * @type {EventTarget~Event}\n */\n\n this.trigger('beforemodalclose');\n this.opened_ = false;\n\n if (this.wasPlaying_ && this.options_.pauseOnOpen) {\n player.play();\n }\n\n this.off('keydown', this.handleKeyDown_);\n\n if (this.hadControls_) {\n player.controls(true);\n }\n\n this.hide();\n this.el().setAttribute('aria-hidden', 'true');\n /**\n * Fired just after a `ModalDialog` is closed.\n *\n * @event ModalDialog#modalclose\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalclose');\n this.conditionalBlur_();\n\n if (this.options_.temporary) {\n this.dispose();\n }\n }\n /**\n * Check to see if the `ModalDialog` is closeable via the UI.\n *\n * @param {boolean} [value]\n * If given as a boolean, it will set the `closeable` option.\n *\n * @return {boolean}\n * Returns the final value of the closable option.\n */\n ;\n\n _proto.closeable = function closeable(value) {\n if (typeof value === 'boolean') {\n var closeable = this.closeable_ = !!value;\n var close = this.getChild('closeButton'); // If this is being made closeable and has no close button, add one.\n\n if (closeable && !close) {\n // The close button should be a child of the modal - not its\n // content element, so temporarily change the content element.\n var temp = this.contentEl_;\n this.contentEl_ = this.el_;\n close = this.addChild('closeButton', {\n controlText: 'Close Modal Dialog'\n });\n this.contentEl_ = temp;\n this.on(close, 'close', this.close_);\n } // If this is being made uncloseable and has a close button, remove it.\n\n\n if (!closeable && close) {\n this.off(close, 'close', this.close_);\n this.removeChild(close);\n close.dispose();\n }\n }\n\n return this.closeable_;\n }\n /**\n * Fill the modal's content element with the modal's \"content\" option.\n * The content element will be emptied before this change takes place.\n */\n ;\n\n _proto.fill = function fill() {\n this.fillWith(this.content());\n }\n /**\n * Fill the modal's content element with arbitrary content.\n * The content element will be emptied before this change takes place.\n *\n * @fires ModalDialog#beforemodalfill\n * @fires ModalDialog#modalfill\n *\n * @param {Mixed} [content]\n * The same rules apply to this as apply to the `content` option.\n */\n ;\n\n _proto.fillWith = function fillWith(content) {\n var contentEl = this.contentEl();\n var parentEl = contentEl.parentNode;\n var nextSiblingEl = contentEl.nextSibling;\n /**\n * Fired just before a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#beforemodalfill\n * @type {EventTarget~Event}\n */\n\n this.trigger('beforemodalfill');\n this.hasBeenFilled_ = true; // Detach the content element from the DOM before performing\n // manipulation to avoid modifying the live DOM multiple times.\n\n parentEl.removeChild(contentEl);\n this.empty();\n insertContent(contentEl, content);\n /**\n * Fired just after a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#modalfill\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalfill'); // Re-inject the re-filled content element.\n\n if (nextSiblingEl) {\n parentEl.insertBefore(contentEl, nextSiblingEl);\n } else {\n parentEl.appendChild(contentEl);\n } // make sure that the close button is last in the dialog DOM\n\n\n var closeButton = this.getChild('closeButton');\n\n if (closeButton) {\n parentEl.appendChild(closeButton.el_);\n }\n }\n /**\n * Empties the content element. This happens anytime the modal is filled.\n *\n * @fires ModalDialog#beforemodalempty\n * @fires ModalDialog#modalempty\n */\n ;\n\n _proto.empty = function empty() {\n /**\n * Fired just before a `ModalDialog` is emptied.\n *\n * @event ModalDialog#beforemodalempty\n * @type {EventTarget~Event}\n */\n this.trigger('beforemodalempty');\n emptyEl(this.contentEl());\n /**\n * Fired just after a `ModalDialog` is emptied.\n *\n * @event ModalDialog#modalempty\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalempty');\n }\n /**\n * Gets or sets the modal content, which gets normalized before being\n * rendered into the DOM.\n *\n * This does not update the DOM or fill the modal, but it is called during\n * that process.\n *\n * @param {Mixed} [value]\n * If defined, sets the internal content value to be used on the\n * next call(s) to `fill`. This value is normalized before being\n * inserted. To \"clear\" the internal content value, pass `null`.\n *\n * @return {Mixed}\n * The current content of the modal dialog\n */\n ;\n\n _proto.content = function content(value) {\n if (typeof value !== 'undefined') {\n this.content_ = value;\n }\n\n return this.content_;\n }\n /**\n * conditionally focus the modal dialog if focus was previously on the player.\n *\n * @private\n */\n ;\n\n _proto.conditionalFocus_ = function conditionalFocus_() {\n var activeEl = document.activeElement;\n var playerEl = this.player_.el_;\n this.previouslyActiveEl_ = null;\n\n if (playerEl.contains(activeEl) || playerEl === activeEl) {\n this.previouslyActiveEl_ = activeEl;\n this.focus();\n }\n }\n /**\n * conditionally blur the element and refocus the last focused element\n *\n * @private\n */\n ;\n\n _proto.conditionalBlur_ = function conditionalBlur_() {\n if (this.previouslyActiveEl_) {\n this.previouslyActiveEl_.focus();\n this.previouslyActiveEl_ = null;\n }\n }\n /**\n * Keydown handler. Attached when modal is focused.\n *\n * @listens keydown\n */\n ;\n\n _proto.handleKeyDown = function handleKeyDown(event) {\n // Do not allow keydowns to reach out of the modal dialog.\n event.stopPropagation();\n\n if (keycode.isEventKey(event, 'Escape') && this.closeable()) {\n event.preventDefault();\n this.close();\n return;\n } // exit early if it isn't a tab key\n\n\n if (!keycode.isEventKey(event, 'Tab')) {\n return;\n }\n\n var focusableEls = this.focusableEls_();\n var activeEl = this.el_.querySelector(':focus');\n var focusIndex;\n\n for (var i = 0; i < focusableEls.length; i++) {\n if (activeEl === focusableEls[i]) {\n focusIndex = i;\n break;\n }\n }\n\n if (document.activeElement === this.el_) {\n focusIndex = 0;\n }\n\n if (event.shiftKey && focusIndex === 0) {\n focusableEls[focusableEls.length - 1].focus();\n event.preventDefault();\n } else if (!event.shiftKey && focusIndex === focusableEls.length - 1) {\n focusableEls[0].focus();\n event.preventDefault();\n }\n }\n /**\n * get all focusable elements\n *\n * @private\n */\n ;\n\n _proto.focusableEls_ = function focusableEls_() {\n var allChildren = this.el_.querySelectorAll('*');\n return Array.prototype.filter.call(allChildren, function (child) {\n return (child instanceof window$1.HTMLAnchorElement || child instanceof window$1.HTMLAreaElement) && child.hasAttribute('href') || (child instanceof window$1.HTMLInputElement || child instanceof window$1.HTMLSelectElement || child instanceof window$1.HTMLTextAreaElement || child instanceof window$1.HTMLButtonElement) && !child.hasAttribute('disabled') || child instanceof window$1.HTMLIFrameElement || child instanceof window$1.HTMLObjectElement || child instanceof window$1.HTMLEmbedElement || child.hasAttribute('tabindex') && child.getAttribute('tabindex') !== -1 || child.hasAttribute('contenteditable');\n });\n };\n\n return ModalDialog;\n}(Component$1);\n/**\n * Default options for `ModalDialog` default options.\n *\n * @type {Object}\n * @private\n */\n\n\nModalDialog.prototype.options_ = {\n pauseOnOpen: true,\n temporary: true\n};\nComponent$1.registerComponent('ModalDialog', ModalDialog);\n/**\n * Common functionaliy between {@link TextTrackList}, {@link AudioTrackList}, and\n * {@link VideoTrackList}\n *\n * @extends EventTarget\n */\n\nvar TrackList = /*#__PURE__*/function (_EventTarget) {\n _inheritsLoose(TrackList, _EventTarget);\n /**\n * Create an instance of this class\n *\n * @param {Track[]} tracks\n * A list of tracks to initialize the list with.\n *\n * @abstract\n */\n\n\n function TrackList(tracks) {\n var _this;\n\n if (tracks === void 0) {\n tracks = [];\n }\n\n _this = _EventTarget.call(this) || this;\n _this.tracks_ = [];\n /**\n * @memberof TrackList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n\n Object.defineProperty(_assertThisInitialized(_this), 'length', {\n get: function get() {\n return this.tracks_.length;\n }\n });\n\n for (var i = 0; i < tracks.length; i++) {\n _this.addTrack(tracks[i]);\n }\n\n return _this;\n }\n /**\n * Add a {@link Track} to the `TrackList`\n *\n * @param {Track} track\n * The audio, video, or text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n\n\n var _proto = TrackList.prototype;\n\n _proto.addTrack = function addTrack(track) {\n var _this2 = this;\n\n var index = this.tracks_.length;\n\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get: function get() {\n return this.tracks_[index];\n }\n });\n } // Do not add duplicate tracks\n\n\n if (this.tracks_.indexOf(track) === -1) {\n this.tracks_.push(track);\n /**\n * Triggered when a track is added to a track list.\n *\n * @event TrackList#addtrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n\n this.trigger({\n track: track,\n type: 'addtrack',\n target: this\n });\n }\n /**\n * Triggered when a track label is changed.\n *\n * @event TrackList#addtrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n\n\n track.labelchange_ = function () {\n _this2.trigger({\n track: track,\n type: 'labelchange',\n target: _this2\n });\n };\n\n if (isEvented(track)) {\n track.addEventListener('labelchange', track.labelchange_);\n }\n }\n /**\n * Remove a {@link Track} from the `TrackList`\n *\n * @param {Track} rtrack\n * The audio, video, or text track to remove from the list.\n *\n * @fires TrackList#removetrack\n */\n ;\n\n _proto.removeTrack = function removeTrack(rtrack) {\n var track;\n\n for (var i = 0, l = this.length; i < l; i++) {\n if (this[i] === rtrack) {\n track = this[i];\n\n if (track.off) {\n track.off();\n }\n\n this.tracks_.splice(i, 1);\n break;\n }\n }\n\n if (!track) {\n return;\n }\n /**\n * Triggered when a track is removed from track list.\n *\n * @event TrackList#removetrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was removed.\n */\n\n\n this.trigger({\n track: track,\n type: 'removetrack',\n target: this\n });\n }\n /**\n * Get a Track from the TrackList by a tracks id\n *\n * @param {string} id - the id of the track to get\n * @method getTrackById\n * @return {Track}\n * @private\n */\n ;\n\n _proto.getTrackById = function getTrackById(id) {\n var result = null;\n\n for (var i = 0, l = this.length; i < l; i++) {\n var track = this[i];\n\n if (track.id === id) {\n result = track;\n break;\n }\n }\n\n return result;\n };\n\n return TrackList;\n}(EventTarget$2);\n/**\n * Triggered when a different track is selected/enabled.\n *\n * @event TrackList#change\n * @type {EventTarget~Event}\n */\n\n/**\n * Events that can be called with on + eventName. See {@link EventHandler}.\n *\n * @property {Object} TrackList#allowedEvents_\n * @private\n */\n\n\nTrackList.prototype.allowedEvents_ = {\n change: 'change',\n addtrack: 'addtrack',\n removetrack: 'removetrack',\n labelchange: 'labelchange'\n}; // emulate attribute EventHandler support to allow for feature detection\n\nfor (var event in TrackList.prototype.allowedEvents_) {\n TrackList.prototype['on' + event] = null;\n}\n/**\n * Anywhere we call this function we diverge from the spec\n * as we only support one enabled audiotrack at a time\n *\n * @param {AudioTrackList} list\n * list to work on\n *\n * @param {AudioTrack} track\n * The track to skip\n *\n * @private\n */\n\n\nvar disableOthers$1 = function disableOthers(list, track) {\n for (var i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n } // another audio track is enabled, disable it\n\n\n list[i].enabled = false;\n }\n};\n/**\n * The current list of {@link AudioTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist}\n * @extends TrackList\n */\n\n\nvar AudioTrackList = /*#__PURE__*/function (_TrackList) {\n _inheritsLoose(AudioTrackList, _TrackList);\n /**\n * Create an instance of this class.\n *\n * @param {AudioTrack[]} [tracks=[]]\n * A list of `AudioTrack` to instantiate the list with.\n */\n\n\n function AudioTrackList(tracks) {\n var _this;\n\n if (tracks === void 0) {\n tracks = [];\n } // make sure only 1 track is enabled\n // sorted from last index to first index\n\n\n for (var i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].enabled) {\n disableOthers$1(tracks, tracks[i]);\n break;\n }\n }\n\n _this = _TrackList.call(this, tracks) || this;\n _this.changing_ = false;\n return _this;\n }\n /**\n * Add an {@link AudioTrack} to the `AudioTrackList`.\n *\n * @param {AudioTrack} track\n * The AudioTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n\n\n var _proto = AudioTrackList.prototype;\n\n _proto.addTrack = function addTrack(track) {\n var _this2 = this;\n\n if (track.enabled) {\n disableOthers$1(this, track);\n }\n\n _TrackList.prototype.addTrack.call(this, track); // native tracks don't have this\n\n\n if (!track.addEventListener) {\n return;\n }\n\n track.enabledChange_ = function () {\n // when we are disabling other tracks (since we don't support\n // more than one track at a time) we will set changing_\n // to true so that we don't trigger additional change events\n if (_this2.changing_) {\n return;\n }\n\n _this2.changing_ = true;\n disableOthers$1(_this2, track);\n _this2.changing_ = false;\n\n _this2.trigger('change');\n };\n /**\n * @listens AudioTrack#enabledchange\n * @fires TrackList#change\n */\n\n\n track.addEventListener('enabledchange', track.enabledChange_);\n };\n\n _proto.removeTrack = function removeTrack(rtrack) {\n _TrackList.prototype.removeTrack.call(this, rtrack);\n\n if (rtrack.removeEventListener && rtrack.enabledChange_) {\n rtrack.removeEventListener('enabledchange', rtrack.enabledChange_);\n rtrack.enabledChange_ = null;\n }\n };\n\n return AudioTrackList;\n}(TrackList);\n/**\n * Un-select all other {@link VideoTrack}s that are selected.\n *\n * @param {VideoTrackList} list\n * list to work on\n *\n * @param {VideoTrack} track\n * The track to skip\n *\n * @private\n */\n\n\nvar disableOthers = function disableOthers(list, track) {\n for (var i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n } // another video track is enabled, disable it\n\n\n list[i].selected = false;\n }\n};\n/**\n * The current list of {@link VideoTrack} for a video.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotracklist}\n * @extends TrackList\n */\n\n\nvar VideoTrackList = /*#__PURE__*/function (_TrackList) {\n _inheritsLoose(VideoTrackList, _TrackList);\n /**\n * Create an instance of this class.\n *\n * @param {VideoTrack[]} [tracks=[]]\n * A list of `VideoTrack` to instantiate the list with.\n */\n\n\n function VideoTrackList(tracks) {\n var _this;\n\n if (tracks === void 0) {\n tracks = [];\n } // make sure only 1 track is enabled\n // sorted from last index to first index\n\n\n for (var i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].selected) {\n disableOthers(tracks, tracks[i]);\n break;\n }\n }\n\n _this = _TrackList.call(this, tracks) || this;\n _this.changing_ = false;\n /**\n * @member {number} VideoTrackList#selectedIndex\n * The current index of the selected {@link VideoTrack`}.\n */\n\n Object.defineProperty(_assertThisInitialized(_this), 'selectedIndex', {\n get: function get() {\n for (var _i = 0; _i < this.length; _i++) {\n if (this[_i].selected) {\n return _i;\n }\n }\n\n return -1;\n },\n set: function set() {}\n });\n return _this;\n }\n /**\n * Add a {@link VideoTrack} to the `VideoTrackList`.\n *\n * @param {VideoTrack} track\n * The VideoTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n\n\n var _proto = VideoTrackList.prototype;\n\n _proto.addTrack = function addTrack(track) {\n var _this2 = this;\n\n if (track.selected) {\n disableOthers(this, track);\n }\n\n _TrackList.prototype.addTrack.call(this, track); // native tracks don't have this\n\n\n if (!track.addEventListener) {\n return;\n }\n\n track.selectedChange_ = function () {\n if (_this2.changing_) {\n return;\n }\n\n _this2.changing_ = true;\n disableOthers(_this2, track);\n _this2.changing_ = false;\n\n _this2.trigger('change');\n };\n /**\n * @listens VideoTrack#selectedchange\n * @fires TrackList#change\n */\n\n\n track.addEventListener('selectedchange', track.selectedChange_);\n };\n\n _proto.removeTrack = function removeTrack(rtrack) {\n _TrackList.prototype.removeTrack.call(this, rtrack);\n\n if (rtrack.removeEventListener && rtrack.selectedChange_) {\n rtrack.removeEventListener('selectedchange', rtrack.selectedChange_);\n rtrack.selectedChange_ = null;\n }\n };\n\n return VideoTrackList;\n}(TrackList);\n/**\n * The current list of {@link TextTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttracklist}\n * @extends TrackList\n */\n\n\nvar TextTrackList = /*#__PURE__*/function (_TrackList) {\n _inheritsLoose(TextTrackList, _TrackList);\n\n function TextTrackList() {\n return _TrackList.apply(this, arguments) || this;\n }\n\n var _proto = TextTrackList.prototype;\n /**\n * Add a {@link TextTrack} to the `TextTrackList`\n *\n * @param {TextTrack} track\n * The text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n\n _proto.addTrack = function addTrack(track) {\n var _this = this;\n\n _TrackList.prototype.addTrack.call(this, track);\n\n if (!this.queueChange_) {\n this.queueChange_ = function () {\n return _this.queueTrigger('change');\n };\n }\n\n if (!this.triggerSelectedlanguagechange) {\n this.triggerSelectedlanguagechange_ = function () {\n return _this.trigger('selectedlanguagechange');\n };\n }\n /**\n * @listens TextTrack#modechange\n * @fires TrackList#change\n */\n\n\n track.addEventListener('modechange', this.queueChange_);\n var nonLanguageTextTrackKind = ['metadata', 'chapters'];\n\n if (nonLanguageTextTrackKind.indexOf(track.kind) === -1) {\n track.addEventListener('modechange', this.triggerSelectedlanguagechange_);\n }\n };\n\n _proto.removeTrack = function removeTrack(rtrack) {\n _TrackList.prototype.removeTrack.call(this, rtrack); // manually remove the event handlers we added\n\n\n if (rtrack.removeEventListener) {\n if (this.queueChange_) {\n rtrack.removeEventListener('modechange', this.queueChange_);\n }\n\n if (this.selectedlanguagechange_) {\n rtrack.removeEventListener('modechange', this.triggerSelectedlanguagechange_);\n }\n }\n };\n\n return TextTrackList;\n}(TrackList);\n/**\n * @file html-track-element-list.js\n */\n\n/**\n * The current list of {@link HtmlTrackElement}s.\n */\n\n\nvar HtmlTrackElementList = /*#__PURE__*/function () {\n /**\n * Create an instance of this class.\n *\n * @param {HtmlTrackElement[]} [tracks=[]]\n * A list of `HtmlTrackElement` to instantiate the list with.\n */\n function HtmlTrackElementList(trackElements) {\n if (trackElements === void 0) {\n trackElements = [];\n }\n\n this.trackElements_ = [];\n /**\n * @memberof HtmlTrackElementList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n\n Object.defineProperty(this, 'length', {\n get: function get() {\n return this.trackElements_.length;\n }\n });\n\n for (var i = 0, length = trackElements.length; i < length; i++) {\n this.addTrackElement_(trackElements[i]);\n }\n }\n /**\n * Add an {@link HtmlTrackElement} to the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to add to the list.\n *\n * @private\n */\n\n\n var _proto = HtmlTrackElementList.prototype;\n\n _proto.addTrackElement_ = function addTrackElement_(trackElement) {\n var index = this.trackElements_.length;\n\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get: function get() {\n return this.trackElements_[index];\n }\n });\n } // Do not add duplicate elements\n\n\n if (this.trackElements_.indexOf(trackElement) === -1) {\n this.trackElements_.push(trackElement);\n }\n }\n /**\n * Get an {@link HtmlTrackElement} from the `HtmlTrackElementList` given an\n * {@link TextTrack}.\n *\n * @param {TextTrack} track\n * The track associated with a track element.\n *\n * @return {HtmlTrackElement|undefined}\n * The track element that was found or undefined.\n *\n * @private\n */\n ;\n\n _proto.getTrackElementByTrack_ = function getTrackElementByTrack_(track) {\n var trackElement_;\n\n for (var i = 0, length = this.trackElements_.length; i < length; i++) {\n if (track === this.trackElements_[i].track) {\n trackElement_ = this.trackElements_[i];\n break;\n }\n }\n\n return trackElement_;\n }\n /**\n * Remove a {@link HtmlTrackElement} from the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to remove from the list.\n *\n * @private\n */\n ;\n\n _proto.removeTrackElement_ = function removeTrackElement_(trackElement) {\n for (var i = 0, length = this.trackElements_.length; i < length; i++) {\n if (trackElement === this.trackElements_[i]) {\n if (this.trackElements_[i].track && typeof this.trackElements_[i].track.off === 'function') {\n this.trackElements_[i].track.off();\n }\n\n if (typeof this.trackElements_[i].off === 'function') {\n this.trackElements_[i].off();\n }\n\n this.trackElements_.splice(i, 1);\n break;\n }\n }\n };\n\n return HtmlTrackElementList;\n}();\n/**\n * @file text-track-cue-list.js\n */\n\n/**\n * @typedef {Object} TextTrackCueList~TextTrackCue\n *\n * @property {string} id\n * The unique id for this text track cue\n *\n * @property {number} startTime\n * The start time for this text track cue\n *\n * @property {number} endTime\n * The end time for this text track cue\n *\n * @property {boolean} pauseOnExit\n * Pause when the end time is reached if true.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcue}\n */\n\n/**\n * A List of TextTrackCues.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcuelist}\n */\n\n\nvar TextTrackCueList = /*#__PURE__*/function () {\n /**\n * Create an instance of this class..\n *\n * @param {Array} cues\n * A list of cues to be initialized with\n */\n function TextTrackCueList(cues) {\n TextTrackCueList.prototype.setCues_.call(this, cues);\n /**\n * @memberof TextTrackCueList\n * @member {number} length\n * The current number of `TextTrackCue`s in the TextTrackCueList.\n * @instance\n */\n\n Object.defineProperty(this, 'length', {\n get: function get() {\n return this.length_;\n }\n });\n }\n /**\n * A setter for cues in this list. Creates getters\n * an an index for the cues.\n *\n * @param {Array} cues\n * An array of cues to set\n *\n * @private\n */\n\n\n var _proto = TextTrackCueList.prototype;\n\n _proto.setCues_ = function setCues_(cues) {\n var oldLength = this.length || 0;\n var i = 0;\n var l = cues.length;\n this.cues_ = cues;\n this.length_ = cues.length;\n\n var defineProp = function defineProp(index) {\n if (!('' + index in this)) {\n Object.defineProperty(this, '' + index, {\n get: function get() {\n return this.cues_[index];\n }\n });\n }\n };\n\n if (oldLength < l) {\n i = oldLength;\n\n for (; i < l; i++) {\n defineProp.call(this, i);\n }\n }\n }\n /**\n * Get a `TextTrackCue` that is currently in the `TextTrackCueList` by id.\n *\n * @param {string} id\n * The id of the cue that should be searched for.\n *\n * @return {TextTrackCueList~TextTrackCue|null}\n * A single cue or null if none was found.\n */\n ;\n\n _proto.getCueById = function getCueById(id) {\n var result = null;\n\n for (var i = 0, l = this.length; i < l; i++) {\n var cue = this[i];\n\n if (cue.id === id) {\n result = cue;\n break;\n }\n }\n\n return result;\n };\n\n return TextTrackCueList;\n}();\n/**\n * @file track-kinds.js\n */\n\n/**\n * All possible `VideoTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-videotrack-kind\n * @typedef VideoTrack~Kind\n * @enum\n */\n\n\nvar VideoTrackKind = {\n alternative: 'alternative',\n captions: 'captions',\n main: 'main',\n sign: 'sign',\n subtitles: 'subtitles',\n commentary: 'commentary'\n};\n/**\n * All possible `AudioTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-audiotrack-kind\n * @typedef AudioTrack~Kind\n * @enum\n */\n\nvar AudioTrackKind = {\n 'alternative': 'alternative',\n 'descriptions': 'descriptions',\n 'main': 'main',\n 'main-desc': 'main-desc',\n 'translation': 'translation',\n 'commentary': 'commentary'\n};\n/**\n * All possible `TextTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-texttrack-kind\n * @typedef TextTrack~Kind\n * @enum\n */\n\nvar TextTrackKind = {\n subtitles: 'subtitles',\n captions: 'captions',\n descriptions: 'descriptions',\n chapters: 'chapters',\n metadata: 'metadata'\n};\n/**\n * All possible `TextTrackMode`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackmode\n * @typedef TextTrack~Mode\n * @enum\n */\n\nvar TextTrackMode = {\n disabled: 'disabled',\n hidden: 'hidden',\n showing: 'showing'\n};\n/**\n * A Track class that contains all of the common functionality for {@link AudioTrack},\n * {@link VideoTrack}, and {@link TextTrack}.\n *\n * > Note: This class should not be used directly\n *\n * @see {@link https://html.spec.whatwg.org/multipage/embedded-content.html}\n * @extends EventTarget\n * @abstract\n */\n\nvar Track = /*#__PURE__*/function (_EventTarget) {\n _inheritsLoose(Track, _EventTarget);\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {string} [options.kind='']\n * A valid kind for the track type you are creating.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @abstract\n */\n\n\n function Track(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n _this = _EventTarget.call(this) || this;\n var trackProps = {\n id: options.id || 'vjs_track_' + newGUID(),\n kind: options.kind || '',\n language: options.language || ''\n };\n var label = options.label || '';\n /**\n * @memberof Track\n * @member {string} id\n * The id of this track. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} kind\n * The kind of track that this is. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} language\n * The two letter language code for this track. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n\n var _loop = function _loop(key) {\n Object.defineProperty(_assertThisInitialized(_this), key, {\n get: function get() {\n return trackProps[key];\n },\n set: function set() {}\n });\n };\n\n for (var key in trackProps) {\n _loop(key);\n }\n /**\n * @memberof Track\n * @member {string} label\n * The label of this track. Cannot be changed after creation.\n * @instance\n *\n * @fires Track#labelchange\n */\n\n\n Object.defineProperty(_assertThisInitialized(_this), 'label', {\n get: function get() {\n return label;\n },\n set: function set(newLabel) {\n if (newLabel !== label) {\n label = newLabel;\n /**\n * An event that fires when label changes on this track.\n *\n * > Note: This is not part of the spec!\n *\n * @event Track#labelchange\n * @type {EventTarget~Event}\n */\n\n this.trigger('labelchange');\n }\n }\n });\n return _this;\n }\n\n return Track;\n}(EventTarget$2);\n/**\n * @file url.js\n * @module url\n */\n\n/**\n * @typedef {Object} url:URLObject\n *\n * @property {string} protocol\n * The protocol of the url that was parsed.\n *\n * @property {string} hostname\n * The hostname of the url that was parsed.\n *\n * @property {string} port\n * The port of the url that was parsed.\n *\n * @property {string} pathname\n * The pathname of the url that was parsed.\n *\n * @property {string} search\n * The search query of the url that was parsed.\n *\n * @property {string} hash\n * The hash of the url that was parsed.\n *\n * @property {string} host\n * The host of the url that was parsed.\n */\n\n/**\n * Resolve and parse the elements of a URL.\n *\n * @function\n * @param {String} url\n * The url to parse\n *\n * @return {url:URLObject}\n * An object of url details\n */\n\n\nvar parseUrl = function parseUrl(url) {\n // This entire method can be replace with URL once we are able to drop IE11\n var props = ['protocol', 'hostname', 'port', 'pathname', 'search', 'hash', 'host']; // add the url to an anchor and let the browser parse the URL\n\n var a = document.createElement('a');\n a.href = url; // Copy the specific URL properties to a new object\n // This is also needed for IE because the anchor loses its\n // properties when it's removed from the dom\n\n var details = {};\n\n for (var i = 0; i < props.length; i++) {\n details[props[i]] = a[props[i]];\n } // IE adds the port to the host property unlike everyone else. If\n // a port identifier is added for standard ports, strip it.\n\n\n if (details.protocol === 'http:') {\n details.host = details.host.replace(/:80$/, '');\n }\n\n if (details.protocol === 'https:') {\n details.host = details.host.replace(/:443$/, '');\n }\n\n if (!details.protocol) {\n details.protocol = window$1.location.protocol;\n }\n /* istanbul ignore if */\n\n\n if (!details.host) {\n details.host = window$1.location.host;\n }\n\n return details;\n};\n/**\n * Get absolute version of relative URL. Used to tell Flash the correct URL.\n *\n * @function\n * @param {string} url\n * URL to make absolute\n *\n * @return {string}\n * Absolute URL\n *\n * @see http://stackoverflow.com/questions/470832/getting-an-absolute-url-from-a-relative-one-ie6-issue\n */\n\n\nvar getAbsoluteURL = function getAbsoluteURL(url) {\n // Check if absolute URL\n if (!url.match(/^https?:\\/\\//)) {\n // Convert to absolute URL. Flash hosted off-site needs an absolute URL.\n // add the url to an anchor and let the browser parse the URL\n var a = document.createElement('a');\n a.href = url;\n url = a.href;\n }\n\n return url;\n};\n/**\n * Returns the extension of the passed file name. It will return an empty string\n * if passed an invalid path.\n *\n * @function\n * @param {string} path\n * The fileName path like '/path/to/file.mp4'\n *\n * @return {string}\n * The extension in lower case or an empty string if no\n * extension could be found.\n */\n\n\nvar getFileExtension = function getFileExtension(path) {\n if (typeof path === 'string') {\n var splitPathRe = /^(\\/?)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?)(\\.([^\\.\\/\\?]+)))(?:[\\/]*|[\\?].*)$/;\n var pathParts = splitPathRe.exec(path);\n\n if (pathParts) {\n return pathParts.pop().toLowerCase();\n }\n }\n\n return '';\n};\n/**\n * Returns whether the url passed is a cross domain request or not.\n *\n * @function\n * @param {string} url\n * The url to check.\n *\n * @param {Object} [winLoc]\n * the domain to check the url against, defaults to window.location\n *\n * @param {string} [winLoc.protocol]\n * The window location protocol defaults to window.location.protocol\n *\n * @param {string} [winLoc.host]\n * The window location host defaults to window.location.host\n *\n * @return {boolean}\n * Whether it is a cross domain request or not.\n */\n\n\nvar isCrossOrigin = function isCrossOrigin(url, winLoc) {\n if (winLoc === void 0) {\n winLoc = window$1.location;\n }\n\n var urlInfo = parseUrl(url); // IE8 protocol relative urls will return ':' for protocol\n\n var srcProtocol = urlInfo.protocol === ':' ? winLoc.protocol : urlInfo.protocol; // Check if url is for another domain/origin\n // IE8 doesn't know location.origin, so we won't rely on it here\n\n var crossOrigin = srcProtocol + urlInfo.host !== winLoc.protocol + winLoc.host;\n return crossOrigin;\n};\n\nvar Url = /*#__PURE__*/Object.freeze({\n __proto__: null,\n parseUrl: parseUrl,\n getAbsoluteURL: getAbsoluteURL,\n getFileExtension: getFileExtension,\n isCrossOrigin: isCrossOrigin\n});\n/**\n * Takes a webvtt file contents and parses it into cues\n *\n * @param {string} srcContent\n * webVTT file contents\n *\n * @param {TextTrack} track\n * TextTrack to add cues to. Cues come from the srcContent.\n *\n * @private\n */\n\nvar parseCues = function parseCues(srcContent, track) {\n var parser = new window$1.WebVTT.Parser(window$1, window$1.vttjs, window$1.WebVTT.StringDecoder());\n var errors = [];\n\n parser.oncue = function (cue) {\n track.addCue(cue);\n };\n\n parser.onparsingerror = function (error) {\n errors.push(error);\n };\n\n parser.onflush = function () {\n track.trigger({\n type: 'loadeddata',\n target: track\n });\n };\n\n parser.parse(srcContent);\n\n if (errors.length > 0) {\n if (window$1.console && window$1.console.groupCollapsed) {\n window$1.console.groupCollapsed(\"Text Track parsing errors for \" + track.src);\n }\n\n errors.forEach(function (error) {\n return log$1.error(error);\n });\n\n if (window$1.console && window$1.console.groupEnd) {\n window$1.console.groupEnd();\n }\n }\n\n parser.flush();\n};\n/**\n * Load a `TextTrack` from a specified url.\n *\n * @param {string} src\n * Url to load track from.\n *\n * @param {TextTrack} track\n * Track to add cues to. Comes from the content at the end of `url`.\n *\n * @private\n */\n\n\nvar loadTrack = function loadTrack(src, track) {\n var opts = {\n uri: src\n };\n var crossOrigin = isCrossOrigin(src);\n\n if (crossOrigin) {\n opts.cors = crossOrigin;\n }\n\n var withCredentials = track.tech_.crossOrigin() === 'use-credentials';\n\n if (withCredentials) {\n opts.withCredentials = withCredentials;\n }\n\n XHR(opts, bind(this, function (err, response, responseBody) {\n if (err) {\n return log$1.error(err, response);\n }\n\n track.loaded_ = true; // Make sure that vttjs has loaded, otherwise, wait till it finished loading\n // NOTE: this is only used for the alt/video.novtt.js build\n\n if (typeof window$1.WebVTT !== 'function') {\n if (track.tech_) {\n // to prevent use before define eslint error, we define loadHandler\n // as a let here\n track.tech_.any(['vttjsloaded', 'vttjserror'], function (event) {\n if (event.type === 'vttjserror') {\n log$1.error(\"vttjs failed to load, stopping trying to process \" + track.src);\n return;\n }\n\n return parseCues(responseBody, track);\n });\n }\n } else {\n parseCues(responseBody, track);\n }\n }));\n};\n/**\n * A representation of a single `TextTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrack}\n * @extends Track\n */\n\n\nvar TextTrack = /*#__PURE__*/function (_Track) {\n _inheritsLoose(TextTrack, _Track);\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param {Tech} options.tech\n * A reference to the tech that owns this TextTrack.\n *\n * @param {TextTrack~Kind} [options.kind='subtitles']\n * A valid text track kind.\n *\n * @param {TextTrack~Mode} [options.mode='disabled']\n * A valid text track mode.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this TextTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {string} [options.srclang='']\n * A valid two character language code. An alternative, but deprioritized\n * version of `options.language`\n *\n * @param {string} [options.src]\n * A url to TextTrack cues.\n *\n * @param {boolean} [options.default]\n * If this track should default to on or off.\n */\n\n\n function TextTrack(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n if (!options.tech) {\n throw new Error('A tech was not provided.');\n }\n\n var settings = mergeOptions$3(options, {\n kind: TextTrackKind[options.kind] || 'subtitles',\n language: options.language || options.srclang || ''\n });\n var mode = TextTrackMode[settings.mode] || 'disabled';\n var default_ = settings[\"default\"];\n\n if (settings.kind === 'metadata' || settings.kind === 'chapters') {\n mode = 'hidden';\n }\n\n _this = _Track.call(this, settings) || this;\n _this.tech_ = settings.tech;\n _this.cues_ = [];\n _this.activeCues_ = [];\n _this.preload_ = _this.tech_.preloadTextTracks !== false;\n var cues = new TextTrackCueList(_this.cues_);\n var activeCues = new TextTrackCueList(_this.activeCues_);\n var changed = false;\n _this.timeupdateHandler = bind(_assertThisInitialized(_this), function () {\n if (this.tech_.isDisposed()) {\n return;\n }\n\n if (!this.tech_.isReady_) {\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n return;\n } // Accessing this.activeCues for the side-effects of updating itself\n // due to its nature as a getter function. Do not remove or cues will\n // stop updating!\n // Use the setter to prevent deletion from uglify (pure_getters rule)\n\n\n this.activeCues = this.activeCues;\n\n if (changed) {\n this.trigger('cuechange');\n changed = false;\n }\n\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n });\n\n var disposeHandler = function disposeHandler() {\n _this.stopTracking();\n };\n\n _this.tech_.one('dispose', disposeHandler);\n\n if (mode !== 'disabled') {\n _this.startTracking();\n }\n\n Object.defineProperties(_assertThisInitialized(_this), {\n /**\n * @memberof TextTrack\n * @member {boolean} default\n * If this track was set to be on or off by default. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n \"default\": {\n get: function get() {\n return default_;\n },\n set: function set() {}\n },\n\n /**\n * @memberof TextTrack\n * @member {string} mode\n * Set the mode of this TextTrack to a valid {@link TextTrack~Mode}. Will\n * not be set if setting to an invalid mode.\n * @instance\n *\n * @fires TextTrack#modechange\n */\n mode: {\n get: function get() {\n return mode;\n },\n set: function set(newMode) {\n if (!TextTrackMode[newMode]) {\n return;\n }\n\n if (mode === newMode) {\n return;\n }\n\n mode = newMode;\n\n if (!this.preload_ && mode !== 'disabled' && this.cues.length === 0) {\n // On-demand load.\n loadTrack(this.src, this);\n }\n\n this.stopTracking();\n\n if (mode !== 'disabled') {\n this.startTracking();\n }\n /**\n * An event that fires when mode changes on this track. This allows\n * the TextTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec!\n *\n * @event TextTrack#modechange\n * @type {EventTarget~Event}\n */\n\n\n this.trigger('modechange');\n }\n },\n\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} cues\n * The text track cue list for this TextTrack.\n * @instance\n */\n cues: {\n get: function get() {\n if (!this.loaded_) {\n return null;\n }\n\n return cues;\n },\n set: function set() {}\n },\n\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} activeCues\n * The list text track cues that are currently active for this TextTrack.\n * @instance\n */\n activeCues: {\n get: function get() {\n if (!this.loaded_) {\n return null;\n } // nothing to do\n\n\n if (this.cues.length === 0) {\n return activeCues;\n }\n\n var ct = this.tech_.currentTime();\n var active = [];\n\n for (var i = 0, l = this.cues.length; i < l; i++) {\n var cue = this.cues[i];\n\n if (cue.startTime <= ct && cue.endTime >= ct) {\n active.push(cue);\n } else if (cue.startTime === cue.endTime && cue.startTime <= ct && cue.startTime + 0.5 >= ct) {\n active.push(cue);\n }\n }\n\n changed = false;\n\n if (active.length !== this.activeCues_.length) {\n changed = true;\n } else {\n for (var _i = 0; _i < active.length; _i++) {\n if (this.activeCues_.indexOf(active[_i]) === -1) {\n changed = true;\n }\n }\n }\n\n this.activeCues_ = active;\n activeCues.setCues_(this.activeCues_);\n return activeCues;\n },\n // /!\\ Keep this setter empty (see the timeupdate handler above)\n set: function set() {}\n }\n });\n\n if (settings.src) {\n _this.src = settings.src;\n\n if (!_this.preload_) {\n // Tracks will load on-demand.\n // Act like we're loaded for other purposes.\n _this.loaded_ = true;\n }\n\n if (_this.preload_ || settings.kind !== 'subtitles' && settings.kind !== 'captions') {\n loadTrack(_this.src, _assertThisInitialized(_this));\n }\n } else {\n _this.loaded_ = true;\n }\n\n return _this;\n }\n\n var _proto = TextTrack.prototype;\n\n _proto.startTracking = function startTracking() {\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n };\n\n _proto.stopTracking = function stopTracking() {\n if (this.rvf_) {\n this.tech_.cancelVideoFrameCallback(this.rvf_);\n this.rvf_ = undefined;\n }\n }\n /**\n * Add a cue to the internal list of cues.\n *\n * @param {TextTrack~Cue} cue\n * The cue to add to our internal list\n */\n ;\n\n _proto.addCue = function addCue(originalCue) {\n var cue = originalCue;\n\n if (window$1.vttjs && !(originalCue instanceof window$1.vttjs.VTTCue)) {\n cue = new window$1.vttjs.VTTCue(originalCue.startTime, originalCue.endTime, originalCue.text);\n\n for (var prop in originalCue) {\n if (!(prop in cue)) {\n cue[prop] = originalCue[prop];\n }\n } // make sure that `id` is copied over\n\n\n cue.id = originalCue.id;\n cue.originalCue_ = originalCue;\n }\n\n var tracks = this.tech_.textTracks();\n\n for (var i = 0; i < tracks.length; i++) {\n if (tracks[i] !== this) {\n tracks[i].removeCue(cue);\n }\n }\n\n this.cues_.push(cue);\n this.cues.setCues_(this.cues_);\n }\n /**\n * Remove a cue from our internal list\n *\n * @param {TextTrack~Cue} removeCue\n * The cue to remove from our internal list\n */\n ;\n\n _proto.removeCue = function removeCue(_removeCue) {\n var i = this.cues_.length;\n\n while (i--) {\n var cue = this.cues_[i];\n\n if (cue === _removeCue || cue.originalCue_ && cue.originalCue_ === _removeCue) {\n this.cues_.splice(i, 1);\n this.cues.setCues_(this.cues_);\n break;\n }\n }\n };\n\n return TextTrack;\n}(Track);\n/**\n * cuechange - One or more cues in the track have become active or stopped being active.\n */\n\n\nTextTrack.prototype.allowedEvents_ = {\n cuechange: 'cuechange'\n};\n/**\n * A representation of a single `AudioTrack`. If it is part of an {@link AudioTrackList}\n * only one `AudioTrack` in the list will be enabled at a time.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotrack}\n * @extends Track\n */\n\nvar AudioTrack = /*#__PURE__*/function (_Track) {\n _inheritsLoose(AudioTrack, _Track);\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {AudioTrack~Kind} [options.kind='']\n * A valid audio track kind\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {boolean} [options.enabled]\n * If this track is the one that is currently playing. If this track is part of\n * an {@link AudioTrackList}, only one {@link AudioTrack} will be enabled.\n */\n\n\n function AudioTrack(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n var settings = mergeOptions$3(options, {\n kind: AudioTrackKind[options.kind] || ''\n });\n _this = _Track.call(this, settings) || this;\n var enabled = false;\n /**\n * @memberof AudioTrack\n * @member {boolean} enabled\n * If this `AudioTrack` is enabled or not. When setting this will\n * fire {@link AudioTrack#enabledchange} if the state of enabled is changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n\n Object.defineProperty(_assertThisInitialized(_this), 'enabled', {\n get: function get() {\n return enabled;\n },\n set: function set(newEnabled) {\n // an invalid or unchanged value\n if (typeof newEnabled !== 'boolean' || newEnabled === enabled) {\n return;\n }\n\n enabled = newEnabled;\n /**\n * An event that fires when enabled changes on this track. This allows\n * the AudioTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event AudioTrack#enabledchange\n * @type {EventTarget~Event}\n */\n\n this.trigger('enabledchange');\n }\n }); // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n\n if (settings.enabled) {\n _this.enabled = settings.enabled;\n }\n\n _this.loaded_ = true;\n return _this;\n }\n\n return AudioTrack;\n}(Track);\n/**\n * A representation of a single `VideoTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotrack}\n * @extends Track\n */\n\n\nvar VideoTrack = /*#__PURE__*/function (_Track) {\n _inheritsLoose(VideoTrack, _Track);\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {string} [options.kind='']\n * A valid {@link VideoTrack~Kind}\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {boolean} [options.selected]\n * If this track is the one that is currently playing.\n */\n\n\n function VideoTrack(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n var settings = mergeOptions$3(options, {\n kind: VideoTrackKind[options.kind] || ''\n });\n _this = _Track.call(this, settings) || this;\n var selected = false;\n /**\n * @memberof VideoTrack\n * @member {boolean} selected\n * If this `VideoTrack` is selected or not. When setting this will\n * fire {@link VideoTrack#selectedchange} if the state of selected changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n\n Object.defineProperty(_assertThisInitialized(_this), 'selected', {\n get: function get() {\n return selected;\n },\n set: function set(newSelected) {\n // an invalid or unchanged value\n if (typeof newSelected !== 'boolean' || newSelected === selected) {\n return;\n }\n\n selected = newSelected;\n /**\n * An event that fires when selected changes on this track. This allows\n * the VideoTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event VideoTrack#selectedchange\n * @type {EventTarget~Event}\n */\n\n this.trigger('selectedchange');\n }\n }); // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n\n if (settings.selected) {\n _this.selected = settings.selected;\n }\n\n return _this;\n }\n\n return VideoTrack;\n}(Track);\n/**\n * @memberof HTMLTrackElement\n * @typedef {HTMLTrackElement~ReadyState}\n * @enum {number}\n */\n\n\nvar NONE = 0;\nvar LOADING = 1;\nvar LOADED = 2;\nvar ERROR = 3;\n/**\n * A single track represented in the DOM.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#htmltrackelement}\n * @extends EventTarget\n */\n\nvar HTMLTrackElement = /*#__PURE__*/function (_EventTarget) {\n _inheritsLoose(HTMLTrackElement, _EventTarget);\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param {Tech} options.tech\n * A reference to the tech that owns this HTMLTrackElement.\n *\n * @param {TextTrack~Kind} [options.kind='subtitles']\n * A valid text track kind.\n *\n * @param {TextTrack~Mode} [options.mode='disabled']\n * A valid text track mode.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this TextTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {string} [options.srclang='']\n * A valid two character language code. An alternative, but deprioritized\n * version of `options.language`\n *\n * @param {string} [options.src]\n * A url to TextTrack cues.\n *\n * @param {boolean} [options.default]\n * If this track should default to on or off.\n */\n\n\n function HTMLTrackElement(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n _this = _EventTarget.call(this) || this;\n var readyState;\n var track = new TextTrack(options);\n _this.kind = track.kind;\n _this.src = track.src;\n _this.srclang = track.language;\n _this.label = track.label;\n _this[\"default\"] = track[\"default\"];\n Object.defineProperties(_assertThisInitialized(_this), {\n /**\n * @memberof HTMLTrackElement\n * @member {HTMLTrackElement~ReadyState} readyState\n * The current ready state of the track element.\n * @instance\n */\n readyState: {\n get: function get() {\n return readyState;\n }\n },\n\n /**\n * @memberof HTMLTrackElement\n * @member {TextTrack} track\n * The underlying TextTrack object.\n * @instance\n *\n */\n track: {\n get: function get() {\n return track;\n }\n }\n });\n readyState = NONE;\n /**\n * @listens TextTrack#loadeddata\n * @fires HTMLTrackElement#load\n */\n\n track.addEventListener('loadeddata', function () {\n readyState = LOADED;\n\n _this.trigger({\n type: 'load',\n target: _assertThisInitialized(_this)\n });\n });\n return _this;\n }\n\n return HTMLTrackElement;\n}(EventTarget$2);\n\nHTMLTrackElement.prototype.allowedEvents_ = {\n load: 'load'\n};\nHTMLTrackElement.NONE = NONE;\nHTMLTrackElement.LOADING = LOADING;\nHTMLTrackElement.LOADED = LOADED;\nHTMLTrackElement.ERROR = ERROR;\n/*\n * This file contains all track properties that are used in\n * player.js, tech.js, html5.js and possibly other techs in the future.\n */\n\nvar NORMAL = {\n audio: {\n ListClass: AudioTrackList,\n TrackClass: AudioTrack,\n capitalName: 'Audio'\n },\n video: {\n ListClass: VideoTrackList,\n TrackClass: VideoTrack,\n capitalName: 'Video'\n },\n text: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'Text'\n }\n};\nObject.keys(NORMAL).forEach(function (type) {\n NORMAL[type].getterName = type + \"Tracks\";\n NORMAL[type].privateName = type + \"Tracks_\";\n});\nvar REMOTE = {\n remoteText: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'RemoteText',\n getterName: 'remoteTextTracks',\n privateName: 'remoteTextTracks_'\n },\n remoteTextEl: {\n ListClass: HtmlTrackElementList,\n TrackClass: HTMLTrackElement,\n capitalName: 'RemoteTextTrackEls',\n getterName: 'remoteTextTrackEls',\n privateName: 'remoteTextTrackEls_'\n }\n};\n\nvar ALL = _extends({}, NORMAL, REMOTE);\n\nREMOTE.names = Object.keys(REMOTE);\nNORMAL.names = Object.keys(NORMAL);\nALL.names = [].concat(REMOTE.names).concat(NORMAL.names);\n/**\n * An Object containing a structure like: `{src: 'url', type: 'mimetype'}` or string\n * that just contains the src url alone.\n * * `var SourceObject = {src: 'http://ex.com/video.mp4', type: 'video/mp4'};`\n * `var SourceString = 'http://example.com/some-video.mp4';`\n *\n * @typedef {Object|string} Tech~SourceObject\n *\n * @property {string} src\n * The url to the source\n *\n * @property {string} type\n * The mime type of the source\n */\n\n/**\n * A function used by {@link Tech} to create a new {@link TextTrack}.\n *\n * @private\n *\n * @param {Tech} self\n * An instance of the Tech class.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @param {Object} [options={}]\n * An object with additional text track options\n *\n * @return {TextTrack}\n * The text track that was created.\n */\n\nfunction createTrackHelper(self, kind, label, language, options) {\n if (options === void 0) {\n options = {};\n }\n\n var tracks = self.textTracks();\n options.kind = kind;\n\n if (label) {\n options.label = label;\n }\n\n if (language) {\n options.language = language;\n }\n\n options.tech = self;\n var track = new ALL.text.TrackClass(options);\n tracks.addTrack(track);\n return track;\n}\n/**\n * This is the base class for media playback technology controllers, such as\n * {@link HTML5}\n *\n * @extends Component\n */\n\n\nvar Tech = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Tech, _Component);\n /**\n * Create an instance of this Tech.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Component~ReadyCallback} ready\n * Callback function to call when the `HTML5` Tech is ready.\n */\n\n\n function Tech(options, ready) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n if (ready === void 0) {\n ready = function ready() {};\n } // we don't want the tech to report user activity automatically.\n // This is done manually in addControlsListeners\n\n\n options.reportTouchActivity = false;\n _this = _Component.call(this, null, options, ready) || this;\n\n _this.onDurationChange_ = function (e) {\n return _this.onDurationChange(e);\n };\n\n _this.trackProgress_ = function (e) {\n return _this.trackProgress(e);\n };\n\n _this.trackCurrentTime_ = function (e) {\n return _this.trackCurrentTime(e);\n };\n\n _this.stopTrackingCurrentTime_ = function (e) {\n return _this.stopTrackingCurrentTime(e);\n };\n\n _this.disposeSourceHandler_ = function (e) {\n return _this.disposeSourceHandler(e);\n };\n\n _this.queuedHanders_ = new Set(); // keep track of whether the current source has played at all to\n // implement a very limited played()\n\n _this.hasStarted_ = false;\n\n _this.on('playing', function () {\n this.hasStarted_ = true;\n });\n\n _this.on('loadstart', function () {\n this.hasStarted_ = false;\n });\n\n ALL.names.forEach(function (name) {\n var props = ALL[name];\n\n if (options && options[props.getterName]) {\n _this[props.privateName] = options[props.getterName];\n }\n }); // Manually track progress in cases where the browser/tech doesn't report it.\n\n if (!_this.featuresProgressEvents) {\n _this.manualProgressOn();\n } // Manually track timeupdates in cases where the browser/tech doesn't report it.\n\n\n if (!_this.featuresTimeupdateEvents) {\n _this.manualTimeUpdatesOn();\n }\n\n ['Text', 'Audio', 'Video'].forEach(function (track) {\n if (options[\"native\" + track + \"Tracks\"] === false) {\n _this[\"featuresNative\" + track + \"Tracks\"] = false;\n }\n });\n\n if (options.nativeCaptions === false || options.nativeTextTracks === false) {\n _this.featuresNativeTextTracks = false;\n } else if (options.nativeCaptions === true || options.nativeTextTracks === true) {\n _this.featuresNativeTextTracks = true;\n }\n\n if (!_this.featuresNativeTextTracks) {\n _this.emulateTextTracks();\n }\n\n _this.preloadTextTracks = options.preloadTextTracks !== false;\n _this.autoRemoteTextTracks_ = new ALL.text.ListClass();\n\n _this.initTrackListeners(); // Turn on component tap events only if not using native controls\n\n\n if (!options.nativeControlsForTouch) {\n _this.emitTapEvents();\n }\n\n if (_this.constructor) {\n _this.name_ = _this.constructor.name || 'Unknown Tech';\n }\n\n return _this;\n }\n /**\n * A special function to trigger source set in a way that will allow player\n * to re-trigger if the player or tech are not ready yet.\n *\n * @fires Tech#sourceset\n * @param {string} src The source string at the time of the source changing.\n */\n\n\n var _proto = Tech.prototype;\n\n _proto.triggerSourceset = function triggerSourceset(src) {\n var _this2 = this;\n\n if (!this.isReady_) {\n // on initial ready we have to trigger source set\n // 1ms after ready so that player can watch for it.\n this.one('ready', function () {\n return _this2.setTimeout(function () {\n return _this2.triggerSourceset(src);\n }, 1);\n });\n }\n /**\n * Fired when the source is set on the tech causing the media element\n * to reload.\n *\n * @see {@link Player#event:sourceset}\n * @event Tech#sourceset\n * @type {EventTarget~Event}\n */\n\n\n this.trigger({\n src: src,\n type: 'sourceset'\n });\n }\n /* Fallbacks for unsupported event types\n ================================================================================ */\n\n /**\n * Polyfill the `progress` event for browsers that don't support it natively.\n *\n * @see {@link Tech#trackProgress}\n */\n ;\n\n _proto.manualProgressOn = function manualProgressOn() {\n this.on('durationchange', this.onDurationChange_);\n this.manualProgress = true; // Trigger progress watching when a source begins loading\n\n this.one('ready', this.trackProgress_);\n }\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n */\n ;\n\n _proto.manualProgressOff = function manualProgressOff() {\n this.manualProgress = false;\n this.stopTrackingProgress();\n this.off('durationchange', this.onDurationChange_);\n }\n /**\n * This is used to trigger a `progress` event when the buffered percent changes. It\n * sets an interval function that will be called every 500 milliseconds to check if the\n * buffer end percent has changed.\n *\n * > This function is called by {@link Tech#manualProgressOn}\n *\n * @param {EventTarget~Event} event\n * The `ready` event that caused this to run.\n *\n * @listens Tech#ready\n * @fires Tech#progress\n */\n ;\n\n _proto.trackProgress = function trackProgress(event) {\n this.stopTrackingProgress();\n this.progressInterval = this.setInterval(bind(this, function () {\n // Don't trigger unless buffered amount is greater than last time\n var numBufferedPercent = this.bufferedPercent();\n\n if (this.bufferedPercent_ !== numBufferedPercent) {\n /**\n * See {@link Player#progress}\n *\n * @event Tech#progress\n * @type {EventTarget~Event}\n */\n this.trigger('progress');\n }\n\n this.bufferedPercent_ = numBufferedPercent;\n\n if (numBufferedPercent === 1) {\n this.stopTrackingProgress();\n }\n }), 500);\n }\n /**\n * Update our internal duration on a `durationchange` event by calling\n * {@link Tech#duration}.\n *\n * @param {EventTarget~Event} event\n * The `durationchange` event that caused this to run.\n *\n * @listens Tech#durationchange\n */\n ;\n\n _proto.onDurationChange = function onDurationChange(event) {\n this.duration_ = this.duration();\n }\n /**\n * Get and create a `TimeRange` object for buffering.\n *\n * @return {TimeRange}\n * The time range object that was created.\n */\n ;\n\n _proto.buffered = function buffered() {\n return createTimeRanges(0, 0);\n }\n /**\n * Get the percentage of the current video that is currently buffered.\n *\n * @return {number}\n * A number from 0 to 1 that represents the decimal percentage of the\n * video that is buffered.\n *\n */\n ;\n\n _proto.bufferedPercent = function bufferedPercent$1() {\n return bufferedPercent(this.buffered(), this.duration_);\n }\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n * Stop manually tracking progress events by clearing the interval that was set in\n * {@link Tech#trackProgress}.\n */\n ;\n\n _proto.stopTrackingProgress = function stopTrackingProgress() {\n this.clearInterval(this.progressInterval);\n }\n /**\n * Polyfill the `timeupdate` event for browsers that don't support it.\n *\n * @see {@link Tech#trackCurrentTime}\n */\n ;\n\n _proto.manualTimeUpdatesOn = function manualTimeUpdatesOn() {\n this.manualTimeUpdates = true;\n this.on('play', this.trackCurrentTime_);\n this.on('pause', this.stopTrackingCurrentTime_);\n }\n /**\n * Turn off the polyfill for `timeupdate` events that was created in\n * {@link Tech#manualTimeUpdatesOn}\n */\n ;\n\n _proto.manualTimeUpdatesOff = function manualTimeUpdatesOff() {\n this.manualTimeUpdates = false;\n this.stopTrackingCurrentTime();\n this.off('play', this.trackCurrentTime_);\n this.off('pause', this.stopTrackingCurrentTime_);\n }\n /**\n * Sets up an interval function to track current time and trigger `timeupdate` every\n * 250 milliseconds.\n *\n * @listens Tech#play\n * @triggers Tech#timeupdate\n */\n ;\n\n _proto.trackCurrentTime = function trackCurrentTime() {\n if (this.currentTimeInterval) {\n this.stopTrackingCurrentTime();\n }\n\n this.currentTimeInterval = this.setInterval(function () {\n /**\n * Triggered at an interval of 250ms to indicated that time is passing in the video.\n *\n * @event Tech#timeupdate\n * @type {EventTarget~Event}\n */\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n }); // 42 = 24 fps // 250 is what Webkit uses // FF uses 15\n }, 250);\n }\n /**\n * Stop the interval function created in {@link Tech#trackCurrentTime} so that the\n * `timeupdate` event is no longer triggered.\n *\n * @listens {Tech#pause}\n */\n ;\n\n _proto.stopTrackingCurrentTime = function stopTrackingCurrentTime() {\n this.clearInterval(this.currentTimeInterval); // #1002 - if the video ends right before the next timeupdate would happen,\n // the progress bar won't make it all the way to the end\n\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n });\n }\n /**\n * Turn off all event polyfills, clear the `Tech`s {@link AudioTrackList},\n * {@link VideoTrackList}, and {@link TextTrackList}, and dispose of this Tech.\n *\n * @fires Component#dispose\n */\n ;\n\n _proto.dispose = function dispose() {\n // clear out all tracks because we can't reuse them between techs\n this.clearTracks(NORMAL.names); // Turn off any manual progress or timeupdate tracking\n\n if (this.manualProgress) {\n this.manualProgressOff();\n }\n\n if (this.manualTimeUpdates) {\n this.manualTimeUpdatesOff();\n }\n\n _Component.prototype.dispose.call(this);\n }\n /**\n * Clear out a single `TrackList` or an array of `TrackLists` given their names.\n *\n * > Note: Techs without source handlers should call this between sources for `video`\n * & `audio` tracks. You don't want to use them between tracks!\n *\n * @param {string[]|string} types\n * TrackList names to clear, valid names are `video`, `audio`, and\n * `text`.\n */\n ;\n\n _proto.clearTracks = function clearTracks(types) {\n var _this3 = this;\n\n types = [].concat(types); // clear out all tracks because we can't reuse them between techs\n\n types.forEach(function (type) {\n var list = _this3[type + \"Tracks\"]() || [];\n var i = list.length;\n\n while (i--) {\n var track = list[i];\n\n if (type === 'text') {\n _this3.removeRemoteTextTrack(track);\n }\n\n list.removeTrack(track);\n }\n });\n }\n /**\n * Remove any TextTracks added via addRemoteTextTrack that are\n * flagged for automatic garbage collection\n */\n ;\n\n _proto.cleanupAutoTextTracks = function cleanupAutoTextTracks() {\n var list = this.autoRemoteTextTracks_ || [];\n var i = list.length;\n\n while (i--) {\n var track = list[i];\n this.removeRemoteTextTrack(track);\n }\n }\n /**\n * Reset the tech, which will removes all sources and reset the internal readyState.\n *\n * @abstract\n */\n ;\n\n _proto.reset = function reset() {}\n /**\n * Get the value of `crossOrigin` from the tech.\n *\n * @abstract\n *\n * @see {Html5#crossOrigin}\n */\n ;\n\n _proto.crossOrigin = function crossOrigin() {}\n /**\n * Set the value of `crossOrigin` on the tech.\n *\n * @abstract\n *\n * @param {string} crossOrigin the crossOrigin value\n * @see {Html5#setCrossOrigin}\n */\n ;\n\n _proto.setCrossOrigin = function setCrossOrigin() {}\n /**\n * Get or set an error on the Tech.\n *\n * @param {MediaError} [err]\n * Error to set on the Tech\n *\n * @return {MediaError|null}\n * The current error object on the tech, or null if there isn't one.\n */\n ;\n\n _proto.error = function error(err) {\n if (err !== undefined) {\n this.error_ = new MediaError(err);\n this.trigger('error');\n }\n\n return this.error_;\n }\n /**\n * Returns the `TimeRange`s that have been played through for the current source.\n *\n * > NOTE: This implementation is incomplete. It does not track the played `TimeRange`.\n * It only checks whether the source has played at all or not.\n *\n * @return {TimeRange}\n * - A single time range if this video has played\n * - An empty set of ranges if not.\n */\n ;\n\n _proto.played = function played() {\n if (this.hasStarted_) {\n return createTimeRanges(0, 0);\n }\n\n return createTimeRanges();\n }\n /**\n * Start playback\n *\n * @abstract\n *\n * @see {Html5#play}\n */\n ;\n\n _proto.play = function play() {}\n /**\n * Set whether we are scrubbing or not\n *\n * @abstract\n *\n * @see {Html5#setScrubbing}\n */\n ;\n\n _proto.setScrubbing = function setScrubbing() {}\n /**\n * Get whether we are scrubbing or not\n *\n * @abstract\n *\n * @see {Html5#scrubbing}\n */\n ;\n\n _proto.scrubbing = function scrubbing() {}\n /**\n * Causes a manual time update to occur if {@link Tech#manualTimeUpdatesOn} was\n * previously called.\n *\n * @fires Tech#timeupdate\n */\n ;\n\n _proto.setCurrentTime = function setCurrentTime() {\n // improve the accuracy of manual timeupdates\n if (this.manualTimeUpdates) {\n /**\n * A manual `timeupdate` event.\n *\n * @event Tech#timeupdate\n * @type {EventTarget~Event}\n */\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n });\n }\n }\n /**\n * Turn on listeners for {@link VideoTrackList}, {@link {AudioTrackList}, and\n * {@link TextTrackList} events.\n *\n * This adds {@link EventTarget~EventListeners} for `addtrack`, and `removetrack`.\n *\n * @fires Tech#audiotrackchange\n * @fires Tech#videotrackchange\n * @fires Tech#texttrackchange\n */\n ;\n\n _proto.initTrackListeners = function initTrackListeners() {\n var _this4 = this;\n /**\n * Triggered when tracks are added or removed on the Tech {@link AudioTrackList}\n *\n * @event Tech#audiotrackchange\n * @type {EventTarget~Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link VideoTrackList}\n *\n * @event Tech#videotrackchange\n * @type {EventTarget~Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link TextTrackList}\n *\n * @event Tech#texttrackchange\n * @type {EventTarget~Event}\n */\n\n\n NORMAL.names.forEach(function (name) {\n var props = NORMAL[name];\n\n var trackListChanges = function trackListChanges() {\n _this4.trigger(name + \"trackchange\");\n };\n\n var tracks = _this4[props.getterName]();\n\n tracks.addEventListener('removetrack', trackListChanges);\n tracks.addEventListener('addtrack', trackListChanges);\n\n _this4.on('dispose', function () {\n tracks.removeEventListener('removetrack', trackListChanges);\n tracks.removeEventListener('addtrack', trackListChanges);\n });\n });\n }\n /**\n * Emulate TextTracks using vtt.js if necessary\n *\n * @fires Tech#vttjsloaded\n * @fires Tech#vttjserror\n */\n ;\n\n _proto.addWebVttScript_ = function addWebVttScript_() {\n var _this5 = this;\n\n if (window$1.WebVTT) {\n return;\n } // Initially, Tech.el_ is a child of a dummy-div wait until the Component system\n // signals that the Tech is ready at which point Tech.el_ is part of the DOM\n // before inserting the WebVTT script\n\n\n if (document.body.contains(this.el())) {\n // load via require if available and vtt.js script location was not passed in\n // as an option. novtt builds will turn the above require call into an empty object\n // which will cause this if check to always fail.\n if (!this.options_['vtt.js'] && isPlain(vtt) && Object.keys(vtt).length > 0) {\n this.trigger('vttjsloaded');\n return;\n } // load vtt.js via the script location option or the cdn of no location was\n // passed in\n\n\n var script = document.createElement('script');\n script.src = this.options_['vtt.js'] || 'https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js';\n\n script.onload = function () {\n /**\n * Fired when vtt.js is loaded.\n *\n * @event Tech#vttjsloaded\n * @type {EventTarget~Event}\n */\n _this5.trigger('vttjsloaded');\n };\n\n script.onerror = function () {\n /**\n * Fired when vtt.js was not loaded due to an error\n *\n * @event Tech#vttjsloaded\n * @type {EventTarget~Event}\n */\n _this5.trigger('vttjserror');\n };\n\n this.on('dispose', function () {\n script.onload = null;\n script.onerror = null;\n }); // but have not loaded yet and we set it to true before the inject so that\n // we don't overwrite the injected window.WebVTT if it loads right away\n\n window$1.WebVTT = true;\n this.el().parentNode.appendChild(script);\n } else {\n this.ready(this.addWebVttScript_);\n }\n }\n /**\n * Emulate texttracks\n *\n */\n ;\n\n _proto.emulateTextTracks = function emulateTextTracks() {\n var _this6 = this;\n\n var tracks = this.textTracks();\n var remoteTracks = this.remoteTextTracks();\n\n var handleAddTrack = function handleAddTrack(e) {\n return tracks.addTrack(e.track);\n };\n\n var handleRemoveTrack = function handleRemoveTrack(e) {\n return tracks.removeTrack(e.track);\n };\n\n remoteTracks.on('addtrack', handleAddTrack);\n remoteTracks.on('removetrack', handleRemoveTrack);\n this.addWebVttScript_();\n\n var updateDisplay = function updateDisplay() {\n return _this6.trigger('texttrackchange');\n };\n\n var textTracksChanges = function textTracksChanges() {\n updateDisplay();\n\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n track.removeEventListener('cuechange', updateDisplay);\n\n if (track.mode === 'showing') {\n track.addEventListener('cuechange', updateDisplay);\n }\n }\n };\n\n textTracksChanges();\n tracks.addEventListener('change', textTracksChanges);\n tracks.addEventListener('addtrack', textTracksChanges);\n tracks.addEventListener('removetrack', textTracksChanges);\n this.on('dispose', function () {\n remoteTracks.off('addtrack', handleAddTrack);\n remoteTracks.off('removetrack', handleRemoveTrack);\n tracks.removeEventListener('change', textTracksChanges);\n tracks.removeEventListener('addtrack', textTracksChanges);\n tracks.removeEventListener('removetrack', textTracksChanges);\n\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n track.removeEventListener('cuechange', updateDisplay);\n }\n });\n }\n /**\n * Create and returns a remote {@link TextTrack} object.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @return {TextTrack}\n * The TextTrack that gets created.\n */\n ;\n\n _proto.addTextTrack = function addTextTrack(kind, label, language) {\n if (!kind) {\n throw new Error('TextTrack kind is required but was not provided');\n }\n\n return createTrackHelper(this, kind, label, language);\n }\n /**\n * Create an emulated TextTrack for use by addRemoteTextTrack\n *\n * This is intended to be overridden by classes that inherit from\n * Tech in order to create native or custom TextTracks.\n *\n * @param {Object} options\n * The object should contain the options to initialize the TextTrack with.\n *\n * @param {string} [options.kind]\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata).\n *\n * @param {string} [options.label].\n * Label to identify the text track\n *\n * @param {string} [options.language]\n * Two letter language abbreviation.\n *\n * @return {HTMLTrackElement}\n * The track element that gets created.\n */\n ;\n\n _proto.createRemoteTextTrack = function createRemoteTextTrack(options) {\n var track = mergeOptions$3(options, {\n tech: this\n });\n return new REMOTE.remoteTextEl.TrackClass(track);\n }\n /**\n * Creates a remote text track object and returns an html track element.\n *\n * > Note: This can be an emulated {@link HTMLTrackElement} or a native one.\n *\n * @param {Object} options\n * See {@link Tech#createRemoteTextTrack} for more detailed properties.\n *\n * @param {boolean} [manualCleanup=true]\n * - When false: the TextTrack will be automatically removed from the video\n * element whenever the source changes\n * - When True: The TextTrack will have to be cleaned up manually\n *\n * @return {HTMLTrackElement}\n * An Html Track Element.\n *\n * @deprecated The default functionality for this function will be equivalent\n * to \"manualCleanup=false\" in the future. The manualCleanup parameter will\n * also be removed.\n */\n ;\n\n _proto.addRemoteTextTrack = function addRemoteTextTrack(options, manualCleanup) {\n var _this7 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var htmlTrackElement = this.createRemoteTextTrack(options);\n\n if (manualCleanup !== true && manualCleanup !== false) {\n // deprecation warning\n log$1.warn('Calling addRemoteTextTrack without explicitly setting the \"manualCleanup\" parameter to `true` is deprecated and default to `false` in future version of video.js');\n manualCleanup = true;\n } // store HTMLTrackElement and TextTrack to remote list\n\n\n this.remoteTextTrackEls().addTrackElement_(htmlTrackElement);\n this.remoteTextTracks().addTrack(htmlTrackElement.track);\n\n if (manualCleanup !== true) {\n // create the TextTrackList if it doesn't exist\n this.ready(function () {\n return _this7.autoRemoteTextTracks_.addTrack(htmlTrackElement.track);\n });\n }\n\n return htmlTrackElement;\n }\n /**\n * Remove a remote text track from the remote `TextTrackList`.\n *\n * @param {TextTrack} track\n * `TextTrack` to remove from the `TextTrackList`\n */\n ;\n\n _proto.removeRemoteTextTrack = function removeRemoteTextTrack(track) {\n var trackElement = this.remoteTextTrackEls().getTrackElementByTrack_(track); // remove HTMLTrackElement and TextTrack from remote list\n\n this.remoteTextTrackEls().removeTrackElement_(trackElement);\n this.remoteTextTracks().removeTrack(track);\n this.autoRemoteTextTracks_.removeTrack(track);\n }\n /**\n * Gets available media playback quality metrics as specified by the W3C's Media\n * Playback Quality API.\n *\n * @see [Spec]{@link https://wicg.github.io/media-playback-quality}\n *\n * @return {Object}\n * An object with supported media playback quality metrics\n *\n * @abstract\n */\n ;\n\n _proto.getVideoPlaybackQuality = function getVideoPlaybackQuality() {\n return {};\n }\n /**\n * Attempt to create a floating video window always on top of other windows\n * so that users may continue consuming media while they interact with other\n * content sites, or applications on their device.\n *\n * @see [Spec]{@link https://wicg.github.io/picture-in-picture}\n *\n * @return {Promise|undefined}\n * A promise with a Picture-in-Picture window if the browser supports\n * Promises (or one was passed in as an option). It returns undefined\n * otherwise.\n *\n * @abstract\n */\n ;\n\n _proto.requestPictureInPicture = function requestPictureInPicture() {\n var PromiseClass = this.options_.Promise || window$1.Promise;\n\n if (PromiseClass) {\n return PromiseClass.reject();\n }\n }\n /**\n * A method to check for the value of the 'disablePictureInPicture'