{"version":3,"file":"d6e1aeb5-507301fdce22df2623b0.js","mappings":"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","sources":["webpack://mch/./node_modules/video.js/dist/video.es.js"],"sourcesContent":["/**\n * @license\n * Video.js 7.17.0 \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 from 'global/window';\nimport document from 'global/document';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport safeParseTuple from 'safe-json-parse/tuple';\nimport keycode from 'keycode';\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 { 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 { concatTypedArrays, stringToBytes, toUint8 } from '@videojs/vhs-utils/es/byte-helpers';\nimport { ONE_SECOND_IN_TS } from 'mux.js/lib/utils/clock';\nvar version$5 = \"7.17.0\";\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.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.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.console.info || window.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.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.getComputedStyle === 'function') {\n var computedStyleValue;\n\n try {\n computedStyleValue = window.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.navigator && window.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 || window.navigator.maxTouchPoints || window.DocumentTouch && window.document instanceof window.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.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.parent !== window.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.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.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.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.WeakMap) {\n FakeWeakMap = /*#__PURE__*/function () {\n function FakeWeakMap() {\n this.vdata = 'vdata' + Math.floor(window.performance && window.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.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.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 if (key !== 'layerX' && key !== 'layerY' && key !== 'keyLocation' && key !== 'webkitMovementX' && key !== 'webkitMovementY') {\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.addEventListener('test', null, opts);\n window.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.performance.now();\n\n var throttled = function throttled() {\n var now = window.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;\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.clearTimeout(oldTimeout);\n var timeout = window.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.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.Map ? window.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 = window.Set ? window.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 player 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 {Component~ReadyCallback} [ready]\n * Function that gets called when the `Component` is ready.\n */\n function Component(player, options, ready) {\n // The component might be the player itself and we can't pass `this` to super\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 } // 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();\n this.setIntervalIds_ = new Set();\n this.rafIds_ = new Set();\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\n\n var _proto = Component.prototype;\n\n _proto.dispose = function dispose() {\n // Bail out if the component has already been disposed.\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 this.el_.parentNode.removeChild(this.el_);\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 _this = 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 = _this.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 = _this.addChild(name, opts);\n\n if (newChild) {\n _this[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] || _this.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.\n event.stopPropagation();\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.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.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 _this2 = 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.setTimeout(function () {\n if (_this2.setTimeoutIds_.has(timeoutId)) {\n _this2.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.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.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.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 _this3 = 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.requestAnimationFrame(function () {\n if (_this3.rafIds_.has(id)) {\n _this3.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 _this4 = 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 (_this4.namedRafs_.has(name)) {\n _this4.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.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 _this5 = 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 _this5[idName].forEach(function (val, key) {\n return _this5[cancelName](key);\n });\n });\n _this5.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.requestAnimationFrame === 'function' && typeof window.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.Symbol && window.Symbol.iterator) {\n timeRangesObj[window.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.HTMLAnchorElement || child instanceof window.HTMLAreaElement) && child.hasAttribute('href') || (child instanceof window.HTMLInputElement || child instanceof window.HTMLSelectElement || child instanceof window.HTMLTextAreaElement || child instanceof window.HTMLButtonElement) && !child.hasAttribute('disabled') || child instanceof window.HTMLIFrameElement || child instanceof window.HTMLObjectElement || child instanceof window.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.location.protocol;\n }\n /* istanbul ignore if */\n\n\n if (!details.host) {\n details.host = window.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.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.WebVTT.Parser(window, window.vttjs, window.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.console && window.console.groupCollapsed) {\n window.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.console && window.console.groupEnd) {\n window.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.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 var timeupdateHandler = bind(_assertThisInitialized(_this), function () {\n if (!this.tech_.isReady_ || this.tech_.isDisposed()) {\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\n var disposeHandler = function disposeHandler() {\n _this.tech_.off('timeupdate', timeupdateHandler);\n };\n\n _this.tech_.one('dispose', disposeHandler);\n\n if (mode !== 'disabled') {\n _this.tech_.on('timeupdate', timeupdateHandler);\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.tech_.off('timeupdate', timeupdateHandler);\n\n if (mode !== 'disabled') {\n this.tech_.on('timeupdate', timeupdateHandler);\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 * 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 var _proto = TextTrack.prototype;\n\n _proto.addCue = function addCue(originalCue) {\n var cue = originalCue;\n\n if (window.vttjs && !(originalCue instanceof window.vttjs.VTTCue)) {\n cue = new window.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 }; // keep track of whether the current source has played at all to\n // implement a very limited played()\n\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.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.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.Promise;\n\n if (PromiseClass) {\n return PromiseClass.reject();\n }\n }\n /**\n * A method to check for the value of the 'disablePictureInPicture'