From 9a2cd8b03fe81f3e44c4e992d00e32cc4d5d7c83 Mon Sep 17 00:00:00 2001 From: dsilhavy Date: Fri, 24 Sep 2021 09:04:51 +0200 Subject: [PATCH] Add version 4.1.0 dist files --- dist/dash.all.debug.js | 1992 +++++++++++++++++++++------- dist/dash.all.debug.js.map | 2 +- dist/dash.all.min.js | 10 +- dist/dash.all.min.js.map | 2 +- dist/dash.mediaplayer.debug.js | 1987 ++++++++++++++++++++------- dist/dash.mediaplayer.debug.js.map | 2 +- dist/dash.mediaplayer.min.js | 10 +- dist/dash.mediaplayer.min.js.map | 2 +- dist/dash.mss.debug.js | 6 +- dist/dash.mss.debug.js.map | 2 +- dist/dash.mss.min.js | 2 +- dist/dash.mss.min.js.map | 2 +- dist/dash.offline.debug.js | 1188 ++++++++++++++--- dist/dash.offline.debug.js.map | 2 +- dist/dash.offline.min.js | 4 +- dist/dash.offline.min.js.map | 2 +- dist/dash.protection.debug.js | 559 +++++++- dist/dash.protection.debug.js.map | 2 +- dist/dash.protection.min.js | 2 +- dist/dash.protection.min.js.map | 2 +- dist/dash.reporting.debug.js | 8 + dist/dash.reporting.debug.js.map | 2 +- dist/dash.reporting.min.js | 2 +- dist/dash.reporting.min.js.map | 2 +- 24 files changed, 4570 insertions(+), 1224 deletions(-) diff --git a/dist/dash.all.debug.js b/dist/dash.all.debug.js index 24010c37bc..027f606cd9 100644 --- a/dist/dash.all.debug.js +++ b/dist/dash.all.debug.js @@ -12409,6 +12409,320 @@ exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) || /***/ }), +/***/ "./node_modules/path-browserify/index.js": +/*!***********************************************!*\ + !*** ./node_modules/path-browserify/index.js ***! + \***********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(process) {// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1, +// backported and transplited with Babel, with backwards-compat fixes + +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// resolves . and .. elements in a path array with directory names there +// must be no slashes, empty elements, or device names (c:\) in the array +// (so also no leading and trailing slashes - it does not distinguish +// relative and absolute paths) +function normalizeArray(parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + + return parts; +} + +// path.resolve([from ...], to) +// posix version +exports.resolve = function() { + var resolvedPath = '', + resolvedAbsolute = false; + + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : process.cwd(); + + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + continue; + } + + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + + // Normalize the path + resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; +}; + +// path.normalize(path) +// posix version +exports.normalize = function(path) { + var isAbsolute = exports.isAbsolute(path), + trailingSlash = substr(path, -1) === '/'; + + // Normalize the path + path = normalizeArray(filter(path.split('/'), function(p) { + return !!p; + }), !isAbsolute).join('/'); + + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + + return (isAbsolute ? '/' : '') + path; +}; + +// posix version +exports.isAbsolute = function(path) { + return path.charAt(0) === '/'; +}; + +// posix version +exports.join = function() { + var paths = Array.prototype.slice.call(arguments, 0); + return exports.normalize(filter(paths, function(p, index) { + if (typeof p !== 'string') { + throw new TypeError('Arguments to path.join must be strings'); + } + return p; + }).join('/')); +}; + + +// path.relative(from, to) +// posix version +exports.relative = function(from, to) { + from = exports.resolve(from).substr(1); + to = exports.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + + return outputParts.join('/'); +}; + +exports.sep = '/'; +exports.delimiter = ':'; + +exports.dirname = function (path) { + if (typeof path !== 'string') path = path + ''; + if (path.length === 0) return '.'; + var code = path.charCodeAt(0); + var hasRoot = code === 47 /*/*/; + var end = -1; + var matchedSlash = true; + for (var i = path.length - 1; i >= 1; --i) { + code = path.charCodeAt(i); + if (code === 47 /*/*/) { + if (!matchedSlash) { + end = i; + break; + } + } else { + // We saw the first non-path separator + matchedSlash = false; + } + } + + if (end === -1) return hasRoot ? '/' : '.'; + if (hasRoot && end === 1) { + // return '//'; + // Backwards-compat fix: + return '/'; + } + return path.slice(0, end); +}; + +function basename(path) { + if (typeof path !== 'string') path = path + ''; + + var start = 0; + var end = -1; + var matchedSlash = true; + var i; + + for (i = path.length - 1; i >= 0; --i) { + if (path.charCodeAt(i) === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + start = i + 1; + break; + } + } else if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // path component + matchedSlash = false; + end = i + 1; + } + } + + if (end === -1) return ''; + return path.slice(start, end); +} + +// Uses a mixed approach for backwards-compatibility, as ext behavior changed +// in new Node.js versions, so only basename() above is backported here +exports.basename = function (path, ext) { + var f = basename(path); + if (ext && f.substr(-1 * ext.length) === ext) { + f = f.substr(0, f.length - ext.length); + } + return f; +}; + +exports.extname = function (path) { + if (typeof path !== 'string') path = path + ''; + var startDot = -1; + var startPart = 0; + var end = -1; + var matchedSlash = true; + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + var preDotState = 0; + for (var i = path.length - 1; i >= 0; --i) { + var code = path.charCodeAt(i); + if (code === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === 46 /*.*/) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) + startDot = i; + else if (preDotState !== 1) + preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if (startDot === -1 || end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { + return ''; + } + return path.slice(startDot, end); +}; + +function filter (xs, f) { + if (xs.filter) return xs.filter(f); + var res = []; + for (var i = 0; i < xs.length; i++) { + if (f(xs[i], i, xs)) res.push(xs[i]); + } + return res; +} + +// String.prototype.substr - negative index don't work in IE8 +var substr = 'ab'.substr(-1) === 'b' + ? function (str, start, len) { return str.substr(start, len) } + : function (str, start, len) { + if (start < 0) start = str.length + start; + return str.substr(start, len); + } +; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ "./node_modules/process/browser.js"))) + +/***/ }), + /***/ "./node_modules/process-nextick-args/index.js": /*!****************************************************!*\ !*** ./node_modules/process-nextick-args/index.js ***! @@ -18246,13 +18560,15 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * @typedef {Object} PlayerSettings * @property {module:Settings~DebugSettings} [debug] * Debug related settings. + * @property {module:Settings~ErrorSettings} [errors] + * Error related settings * @property {module:Settings~StreamingSettings} [streaming] * Streaming related settings. * @example * * // Full settings object * settings = { - * debug: { + * debug: { * logLevel: Debug.LOG_LEVEL_WARNING, * dispatchEvent: false * }, @@ -18260,6 +18576,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * abandonLoadTimeout: 10000, * wallclockTimeUpdateInterval: 100, * lowLatencyEnabled: false, + * lowLatencyEnabledByManifest: true, * manifestUpdateRetryInterval: 100, * cacheInitSegments: true, * eventControllerRefreshDelay: 100, @@ -18284,6 +18601,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * keepProtectionMediaKeys: false * }, * buffer: { + * enableSeekDecorrelationFix: true, * fastSwitchEnabled: true, * flushBufferAtTrackSwitch: false, * reuseExistingSourceBuffers: true, @@ -18302,7 +18620,8 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * jumpGaps: true, * jumpLargeGaps: true, * smallGapLimit: 1.5, - * threshold: 0.3 + * threshold: 0.3, + * enableSeekFix: false * }, * utcSynchronization: { * useManifestDateHeaderTimeSource: true, @@ -18328,7 +18647,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * }, * liveCatchup: { * minDrift: 0.02, - * maxDrift: 0, + * maxDrift: 12, * playbackRate: 0.5, * latencyThreshold: 60, * playbackBufferMin: 0.5, @@ -18342,7 +18661,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * audio: Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE, * video: Constants.TRACK_SWITCH_MODE_NEVER_REPLACE * }, - * selectionModeForInitialTrack: Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE, + * selectionModeForInitialTrack: Constants.TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY, * fragmentRequestTimeout: 0, * retryIntervals: { * [HTTPRequest.MPD_TYPE]: 500, @@ -18398,7 +18717,12 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * rtpSafetyFactor: 5, * mode: Constants.CMCD_MODE_QUERY * } - * } + * }, + * errors: { + * recoverAttempts: { + * mediaErrorDecode: 5 + * } + * } * } */ @@ -18434,7 +18758,13 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope /** * @typedef {Object} Buffer - * @property {boolean} [fastSwitchEnabled=false] + * @property {boolean} [enableSeekDecorrelationFix=false] + * Enables a workaround for playback start on some devices, e.g. WebOS 4.9. + * It is necessary because some browsers do not support setting currentTime on video element to a value that is outside of current buffer. + * + * If you experience unexpected seeking triggered by BufferController, you can try setting this value to false. + + * @property {boolean} [fastSwitchEnabled=true] * When enabled, after an ABR up-switch in quality, instead of requesting and appending the next fragment at the end of the current buffer range it is requested and appended closer to the current time. * * When enabled, The maximum time to render a higher quality is current time + (1.5 * fragment duration). @@ -18528,6 +18858,14 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * Note this will be dispatched regardless of log level. */ +/** + * @typedef {Object} module:Settings~ErrorSettings + * @property {object} [recoverAttempts={mediaErrorDecode: 5}] + * Defines the maximum number of recover attempts for specific media errors. + * + * For mediaErrorDecode the player will reset the MSE and skip the blacklisted segment that caused the decode error. The resulting gap will be handled by the GapController. + */ + /** * @typedef {Object} CachingInfoSettings * @property {boolean} [enable] @@ -18544,12 +18882,14 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * Sets whether player should jump small gaps (discontinuities) in the buffer. * @property {boolean} [jumpLargeGaps=true] * Sets whether player should jump large gaps (discontinuities) in the buffer. - * @property {number} [smallGapLimit=1.8] + * @property {number} [smallGapLimit=1.5] * Time in seconds for a gap to be considered small. * @property {number} [threshold=0.3] * Threshold at which the gap handling is executed. If currentRangeEnd - currentTime < threshold the gap jump will be triggered. * For live stream the jump might be delayed to keep a consistent live edge. * Note that the amount of buffer at which platforms automatically stall might differ. + * @property {boolean} [enableSeekFix=false] + * Enables the adjustment of the seek target once no valid segment request could be generated for a specific seek time. This can happen if the user seeks to a position for which there is a gap in the timeline. */ /** @@ -18558,6 +18898,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * @property {boolean} [useManifestDateHeaderTimeSource=true] * Allows you to enable the use of the Date Header, if exposed with CORS, as a timing source for live edge detection. * + * The use of the date header will happen only after the other timing source that take precedence fail or are omitted as described. * @property {number} [backgroundAttempts=2] * Number of synchronization attempts to perform in the background after an initial synchronization request has been done. This is used to verify that the derived client-server offset is correct. * @@ -18615,7 +18956,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * LowLatencyMinDrift should be provided in seconds, and it uses values between 0.0 and 0.5. * * Note: Catch-up mechanism is only applied when playing low latency live streams. - * @property {number} [maxDrift=0] + * @property {number} [maxDrift=12] * Use this method to set the maximum latency deviation allowed before dash.js to do a seeking to live position. * * In low latency mode, when the difference between the measured latency and the target one, as an absolute number, is higher than the one sets with this method, then dash.js does a seek to live edge position minus the target live delay. @@ -18825,9 +19166,11 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * @property {number} [wallclockTimeUpdateInterval=50] * How frequently the wallclockTimeUpdated internal event is triggered (in milliseconds). * @property {boolean} [lowLatencyEnabled=false] - * Enable or disable low latency mode. + * Manually enable or disable low latency mode. + * + * @property {boolean} [lowLatencyEnabledByManifest=true] + * If this value is set to true we enable the low latency mode based on MPD attributes: Specifically in case "availabilityTimeComplete" of the current representation is set to false. * - * The use of the date header will happen only after the other timing source that take precedence fail or are omitted as described. * @property {number} [manifestUpdateRetryInterval=100] * For live streams, set the interval-frequency in milliseconds at which dash.js will check if the current manifest is still processed before downloading the next manifest once the minimumUpdatePeriod time has. * @property {boolean} [cacheInitSegments=true] @@ -18869,8 +19212,11 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope * * Possible values * + * - Constants.TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY + * This mode makes the player select the track with the highest selectionPriority as defined in the manifest. If not selectionPriority is given we fallback to TRACK_SELECTION_MODE_HIGHEST_BITRATE. This mode is a default mode. + * * - Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE - * This mode makes the player select the track with a highest bitrate. This mode is a default mode. + * This mode makes the player select the track with a highest bitrate. * * - Constants.TRACK_SELECTION_MODE_FIRST_TRACK * This mode makes the player select the first track found in the manifest. @@ -18923,6 +19269,7 @@ function Settings() { abandonLoadTimeout: 10000, wallclockTimeUpdateInterval: 100, lowLatencyEnabled: false, + lowLatencyEnabledByManifest: true, manifestUpdateRetryInterval: 100, cacheInitSegments: false, eventControllerRefreshDelay: 150, @@ -18947,6 +19294,7 @@ function Settings() { keepProtectionMediaKeys: false }, buffer: { + enableSeekDecorrelationFix: false, fastSwitchEnabled: true, flushBufferAtTrackSwitch: false, reuseExistingSourceBuffers: true, @@ -18965,7 +19313,8 @@ function Settings() { jumpGaps: true, jumpLargeGaps: true, smallGapLimit: 1.5, - threshold: 0.3 + threshold: 0.3, + enableSeekFix: false }, utcSynchronization: { useManifestDateHeaderTimeSource: true, @@ -18991,7 +19340,7 @@ function Settings() { }, liveCatchup: { minDrift: 0.02, - maxDrift: 0, + maxDrift: 12, playbackRate: 0.5, latencyThreshold: 60, playbackBufferMin: 0.5, @@ -19014,7 +19363,7 @@ function Settings() { audio: _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_3__["default"].TRACK_SWITCH_MODE_ALWAYS_REPLACE, video: _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_3__["default"].TRACK_SWITCH_MODE_NEVER_REPLACE }, - selectionModeForInitialTrack: _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_3__["default"].TRACK_SELECTION_MODE_HIGHEST_BITRATE, + selectionModeForInitialTrack: _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_3__["default"].TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY, fragmentRequestTimeout: 0, retryIntervals: (_retryIntervals = {}, _defineProperty(_retryIntervals, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].MPD_TYPE, 500), _defineProperty(_retryIntervals, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].XLINK_EXPANSION_TYPE, 500), _defineProperty(_retryIntervals, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].MEDIA_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].INIT_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].BITSTREAM_SWITCHING_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].INDEX_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].MSS_FRAGMENT_INFO_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].LICENSE, 1000), _defineProperty(_retryIntervals, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].OTHER_TYPE, 1000), _defineProperty(_retryIntervals, "lowLatencyReductionFactor", 10), _retryIntervals), retryAttempts: (_retryAttempts = {}, _defineProperty(_retryAttempts, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].MPD_TYPE, 3), _defineProperty(_retryAttempts, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].XLINK_EXPANSION_TYPE, 1), _defineProperty(_retryAttempts, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].MEDIA_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].INIT_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].BITSTREAM_SWITCHING_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].INDEX_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].MSS_FRAGMENT_INFO_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].LICENSE, 3), _defineProperty(_retryAttempts, _streaming_vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_4__["HTTPRequest"].OTHER_TYPE, 3), _defineProperty(_retryAttempts, "lowLatencyMultiplyFactor", 5), _retryAttempts), @@ -19066,6 +19415,11 @@ function Settings() { rtpSafetyFactor: 5, mode: _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_3__["default"].CMCD_MODE_QUERY } + }, + errors: { + recoverAttempts: { + mediaErrorDecode: 5 + } } }; var settings = _Utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].clone(defaultSettings); //Merge in the settings. If something exists in the new config that doesn't match the schema of the default config, @@ -19147,6 +19501,8 @@ var factory = _FactoryMaker__WEBPACK_IMPORTED_MODULE_0__["default"].getSingleton "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony import */ var path_browserify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! path-browserify */ "./node_modules/path-browserify/index.js"); +/* harmony import */ var path_browserify__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path_browserify__WEBPACK_IMPORTED_MODULE_0__); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -19190,6 +19546,8 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d * @class * @ignore */ + + var Utils = /*#__PURE__*/function () { function Utils() { _classCallCheck(this, Utils); @@ -19314,6 +19672,41 @@ var Utils = /*#__PURE__*/function () { return hash; } + /** + * Compares both urls and returns a relative url (target relative to original) + * @param {string} original + * @param {string} target + * @return {string|*} + */ + + }, { + key: "getRelativeUrl", + value: function getRelativeUrl(originalUrl, targetUrl) { + try { + var original = new URL(originalUrl); + var target = new URL(targetUrl); // Unify the protocol to compare the origins + + original.protocol = target.protocol; + + if (original.origin !== target.origin) { + return targetUrl; + } // Use the relative path implementation of the path library. We need to cut off the actual filename in the end to get the relative path + + + var relativePath = path_browserify__WEBPACK_IMPORTED_MODULE_0___default.a.relative(original.pathname.substr(0, original.pathname.lastIndexOf('/')), target.pathname.substr(0, target.pathname.lastIndexOf('/'))); // In case the relative path is empty (both path are equal) return the filename only. Otherwise add a slash in front of the filename + + var startIndexOffset = relativePath.length === 0 ? 1 : 0; + relativePath += target.pathname.substr(target.pathname.lastIndexOf('/') + startIndexOffset, target.pathname.length - 1); // Build the other candidate, e.g. the 'host relative' path that starts with "/", and return the shortest of the two candidates. + + if (target.pathname.length < relativePath.length) { + return target.pathname; + } + + return relativePath; + } catch (e) { + return targetUrl; + } + } }]); return Utils; @@ -19333,7 +19726,7 @@ var Utils = /*#__PURE__*/function () { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getVersionString", function() { return getVersionString; }); -var VERSION = '4.0.1'; +var VERSION = '4.1.0'; function getVersionString() { return VERSION; } @@ -19734,10 +20127,13 @@ var CoreEvents = /*#__PURE__*/function (_EventsBase) { _this.MEDIA_FRAGMENT_LOADED = 'mediaFragmentLoaded'; _this.MEDIA_FRAGMENT_NEEDED = 'mediaFragmentNeeded'; _this.QUOTA_EXCEEDED = 'quotaExceeded'; + _this.SEGMENT_LOCATION_BLACKLIST_ADD = 'segmentLocationBlacklistAdd'; + _this.SEGMENT_LOCATION_BLACKLIST_CHANGED = 'segmentLocationBlacklistChanged'; _this.SERVICE_LOCATION_BLACKLIST_ADD = 'serviceLocationBlacklistAdd'; _this.SERVICE_LOCATION_BLACKLIST_CHANGED = 'serviceLocationBlacklistChanged'; _this.SET_FRAGMENTED_TEXT_AFTER_DISABLED = 'setFragmentedTextAfterDisabled'; _this.SET_NON_FRAGMENTED_TEXT = 'setNonFragmentedText'; + _this.SOURCE_BUFFER_ERROR = 'sourceBufferError'; _this.STREAMS_COMPOSED = 'streamsComposed'; _this.STREAM_BUFFERING_COMPLETED = 'streamBufferingCompleted'; _this.STREAM_REQUESTING_COMPLETED = 'streamRequestingCompleted'; @@ -20974,6 +21370,7 @@ function DashAdapter() { mediaInfo.mimeType = dashManifestModel.getMimeType(realAdaptation); mediaInfo.contentProtection = dashManifestModel.getContentProtectionData(realAdaptation); mediaInfo.bitrateList = dashManifestModel.getBitrateListForAdaptation(realAdaptation); + mediaInfo.selectionPriority = dashManifestModel.getSelectionPriority(realAdaptation); if (mediaInfo.contentProtection) { mediaInfo.contentProtection.forEach(function (item) { @@ -21018,7 +21415,7 @@ function DashAdapter() { function convertMpdToManifestInfo(mpd) { var manifestInfo = new _vo_ManifestInfo__WEBPACK_IMPORTED_MODULE_4__["default"](); - manifestInfo.DVRWindowSize = mpd.timeShiftBufferDepth; + manifestInfo.dvrWindowSize = mpd.timeShiftBufferDepth; manifestInfo.loadedTime = mpd.manifest.loadedTime; manifestInfo.availableFrom = mpd.availabilityStartTime; manifestInfo.minBufferTime = mpd.manifest.minBufferTime; @@ -21155,6 +21552,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _core_FactoryMaker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/FactoryMaker */ "./src/core/FactoryMaker.js"); /* harmony import */ var _streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../streaming/MediaPlayerEvents */ "./src/streaming/MediaPlayerEvents.js"); /* harmony import */ var _utils_SegmentsUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/SegmentsUtils */ "./src/dash/utils/SegmentsUtils.js"); +/* harmony import */ var _constants_DashConstants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./constants/DashConstants */ "./src/dash/constants/DashConstants.js"); /** * The copyright in this software is being made available under the BSD License, * included below. This software may be subject to other third party and contributor @@ -21191,6 +21589,8 @@ __webpack_require__.r(__webpack_exports__); +var DEFAULT_ADJUST_SEEK_TIME_THRESHOLD = 0.5; + function DashHandler(config) { config = config || {}; var eventBus = config.eventBus; @@ -21201,17 +21601,17 @@ function DashHandler(config) { var segmentsController = config.segmentsController; var timelineConverter = config.timelineConverter; var baseURLController = config.baseURLController; - var instance, logger, segmentIndex, lastSegment, requestedTime, isDynamicManifest, dynamicStreamCompleted; + var instance, logger, lastSegment, isDynamicManifest, mediaHasFinished; function setup() { logger = debug.getLogger(instance); resetInitialSettings(); - eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_3__["default"].DYNAMIC_TO_STATIC, onDynamicToStatic, instance); + eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_3__["default"].DYNAMIC_TO_STATIC, _onDynamicToStatic, instance); } function initialize(isDynamic) { isDynamicManifest = isDynamic; - dynamicStreamCompleted = false; + mediaHasFinished = false; segmentsController.initialize(isDynamic); } @@ -21227,30 +21627,16 @@ function DashHandler(config) { return streamInfo; } - function setCurrentIndex(value) { - segmentIndex = value; - } - - function getCurrentIndex() { - return segmentIndex; - } - - function resetIndex() { - segmentIndex = -1; - lastSegment = null; - } - function resetInitialSettings() { - resetIndex(); - requestedTime = null; + lastSegment = null; } function reset() { resetInitialSettings(); - eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_3__["default"].DYNAMIC_TO_STATIC, onDynamicToStatic, instance); + eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_3__["default"].DYNAMIC_TO_STATIC, _onDynamicToStatic, instance); } - function setRequestUrl(request, destination, representation) { + function _setRequestUrl(request, destination, representation) { var baseURL = baseURLController.resolve(representation.path); var url, serviceLocation; @@ -21292,7 +21678,7 @@ function DashHandler(config) { request.mediaInfo = mediaInfo; request.representationId = representation.id; - if (setRequestUrl(request, representation.initialization, representation)) { + if (_setRequestUrl(request, representation.initialization, representation)) { request.url = Object(_utils_SegmentsUtils__WEBPACK_IMPORTED_MODULE_4__["replaceTokenForTemplate"])(request.url, 'Bandwidth', representation.bandwidth); return request; } @@ -21323,35 +21709,56 @@ function DashHandler(config) { request.availabilityEndTime = segment.availabilityEndTime; request.wallStartTime = segment.wallStartTime; request.quality = representation.index; - request.index = segment.availabilityIdx; + request.index = segment.index; request.mediaInfo = mediaInfo; request.adaptationIndex = representation.adaptation.index; request.representationId = representation.id; - if (setRequestUrl(request, url, representation)) { + if (_setRequestUrl(request, url, representation)) { return request; } } - function isMediaFinished(representation, bufferingTime) { - var isFinished = false; - if (!representation || !lastSegment) return isFinished; // if the buffer is filled up we are done - // we are replacing existing stuff. + function isLastSegmentRequested(representation, bufferingTime) { + if (!representation || !lastSegment) { + return false; + } // Either transition from dynamic to static was done or no next static segment found + + + if (mediaHasFinished) { + return true; + } // Period is endless + + + if (!isFinite(representation.adaptation.period.duration)) { + return false; + } // we are replacing existing stuff in the buffer for instance after a track switch + if (lastSegment.presentationStartTime + lastSegment.duration > bufferingTime) { return false; - } + } // Additional segment references may be added to the last period. + // Additional periods may be added to the end of the MPD. + // Segment references SHALL NOT be added to any period other than the last period. + // An MPD update MAY combine adding segment references to the last period with adding of new periods. An MPD update that adds content MAY be combined with an MPD update that removes content. + // The index of the last requested segment is higher than the number of available segments. + // For SegmentTimeline and SegmentTemplate the index does not include the startNumber. + // For SegmentList the index includes the startnumber which is why the numberOfSegments includes this as well + + + if (representation.mediaFinishedInformation && !isNaN(representation.mediaFinishedInformation.numberOfSegments) && !isNaN(lastSegment.index) && lastSegment.index >= representation.mediaFinishedInformation.numberOfSegments - 1) { + // For static manifests and Template addressing we can compare the index against the number of available segments + if (!isDynamicManifest || representation.segmentInfoType === _constants_DashConstants__WEBPACK_IMPORTED_MODULE_5__["default"].SEGMENT_TEMPLATE) { + return true; + } // For SegmentList we need to check if the next period is signaled + else if (isDynamicManifest && representation.segmentInfoType === _constants_DashConstants__WEBPACK_IMPORTED_MODULE_5__["default"].SEGMENT_LIST && representation.adaptation.period.nextPeriodId) { + return true; + } + } // For dynamic SegmentTimeline manifests we need to check if the next period is already signaled and the segment we fetched before is the last one that is signaled. + // We can not simply use the index, as numberOfSegments might have decreased after an MPD update - if (isDynamicManifest && dynamicStreamCompleted) { - isFinished = true; - } else if (lastSegment) { - var time = parseFloat((lastSegment.presentationStartTime - representation.adaptation.period.start).toFixed(5)); - var endTime = lastSegment.duration > 0 ? time + lastSegment.duration : time; - var duration = representation.adaptation.period.duration; - return isFinite(duration) && endTime >= duration - 0.05; - } - return isFinished; + return !!(isDynamicManifest && representation.adaptation.period.nextPeriodId && representation.segmentInfoType === _constants_DashConstants__WEBPACK_IMPORTED_MODULE_5__["default"].SEGMENT_TIMELINE && representation.mediaFinishedInformation && !isNaN(representation.mediaFinishedInformation.mediaTimeOfLastSignaledSegment) && lastSegment && !isNaN(lastSegment.mediaStartTime) && !isNaN(lastSegment.duration) && lastSegment.mediaStartTime + lastSegment.duration >= representation.mediaFinishedInformation.mediaTimeOfLastSignaledSegment - 0.05); } function getSegmentRequestForTime(mediaInfo, representation, time) { @@ -21361,18 +21768,11 @@ function DashHandler(config) { return request; } - if (requestedTime !== time) { - // When playing at live edge with 0 delay we may loop back with same time and index until it is available. Reduces verboseness of logs. - requestedTime = time; - logger.debug('Getting the request for time : ' + time); - } - var segment = segmentsController.getSegmentByTime(representation, time); if (segment) { - segmentIndex = segment.availabilityIdx; lastSegment = segment; - logger.debug('Index for time ' + time + ' is ' + segmentIndex); + logger.debug('Index for time ' + time + ' is ' + segment.index); request = _getRequestForSegment(mediaInfo, segment); } @@ -21388,7 +21788,7 @@ function DashHandler(config) { function getNextSegmentRequestIdempotent(mediaInfo, representation) { var request = null; - var indexToRequest = segmentIndex + 1; + var indexToRequest = lastSegment ? lastSegment.index + 1 : 0; var segment = segmentsController.getSegmentByIndex(representation, indexToRequest, lastSegment ? lastSegment.mediaStartTime : -1); if (!segment) return null; request = _getRequestForSegment(mediaInfo, segment); @@ -21409,41 +21809,113 @@ function DashHandler(config) { return null; } - requestedTime = null; - var indexToRequest = segmentIndex + 1; // check that there is a segment in this index - - var segment = segmentsController.getSegmentByIndex(representation, indexToRequest, lastSegment ? lastSegment.mediaStartTime : -1); + var indexToRequest = lastSegment ? lastSegment.index + 1 : 0; + var segment = segmentsController.getSegmentByIndex(representation, indexToRequest, lastSegment ? lastSegment.mediaStartTime : -1); // No segment found - if (!segment && isEndlessMedia(representation) && !dynamicStreamCompleted) { - logger.debug(getType() + ' No segment found at index: ' + indexToRequest + '. Wait for next loop'); - return null; - } else { - if (segment) { - request = _getRequestForSegment(mediaInfo, segment); - segmentIndex = segment.availabilityIdx; + if (!segment) { + // Dynamic manifest there might be something available in the next iteration + if (isDynamicManifest && !mediaHasFinished) { + logger.debug(getType() + ' No segment found at index: ' + indexToRequest + '. Wait for next loop'); + return null; } else { - if (isDynamicManifest) { - segmentIndex = indexToRequest - 1; - } else { - segmentIndex = indexToRequest; - } + mediaHasFinished = true; } - } - - if (segment) { + } else { + request = _getRequestForSegment(mediaInfo, segment); lastSegment = segment; } return request; } + /** + * This function returns a time for which we can generate a request. It is supposed to be as close as possible to the target time. + * This is useful in scenarios in which the user seeks into a gap. We will not find a valid request then and need to adjust the seektime. + * @param {number} time + * @param {object} mediaInfo + * @param {object} representation + * @param {number} targetThreshold + */ + + + function getValidSeekTimeCloseToTargetTime(time, mediaInfo, representation, targetThreshold) { + try { + if (isNaN(time) || !mediaInfo || !representation) { + return NaN; + } + + if (time < 0) { + time = 0; + } + + if (isNaN(targetThreshold)) { + targetThreshold = DEFAULT_ADJUST_SEEK_TIME_THRESHOLD; + } + + if (getSegmentRequestForTime(mediaInfo, representation, time)) { + return time; + } + + var start = representation.adaptation.period.start; + var end = representation.adaptation.period.start + representation.adaptation.period.duration; + var currentUpperTime = Math.min(time + targetThreshold, end); + var currentLowerTime = Math.max(time - targetThreshold, start); + var adjustedTime = NaN; + var targetRequest = null; + + while (currentUpperTime <= end || currentLowerTime >= start) { + var upperRequest = null; + var lowerRequest = null; + + if (currentUpperTime <= end) { + upperRequest = getSegmentRequestForTime(mediaInfo, representation, currentUpperTime); + } + + if (currentLowerTime >= start) { + lowerRequest = getSegmentRequestForTime(mediaInfo, representation, currentLowerTime); + } + + if (lowerRequest) { + adjustedTime = currentLowerTime; + targetRequest = lowerRequest; + break; + } else if (upperRequest) { + adjustedTime = currentUpperTime; + targetRequest = upperRequest; + break; + } + + currentUpperTime += targetThreshold; + currentLowerTime -= targetThreshold; + } + + if (targetRequest) { + var requestEndTime = targetRequest.startTime + targetRequest.duration; // Keep the original start time in case it is covered by a segment + + if (time >= targetRequest.startTime && requestEndTime - time > targetThreshold) { + return time; + } // If target time is before the start of the request use request starttime + + + if (time < targetRequest.startTime) { + return targetRequest.startTime; + } + + return Math.min(requestEndTime - targetThreshold, adjustedTime); + } + + return adjustedTime; + } catch (e) { + return NaN; + } + } - function isEndlessMedia(representation) { - return !isFinite(representation.adaptation.period.duration); + function getCurrentIndex() { + return lastSegment ? lastSegment.index : -1; } - function onDynamicToStatic() { + function _onDynamicToStatic() { logger.debug('Dynamic stream complete'); - dynamicStreamCompleted = true; + mediaHasFinished = true; } instance = { @@ -21453,13 +21925,12 @@ function DashHandler(config) { getStreamInfo: getStreamInfo, getInitRequest: getInitRequest, getSegmentRequestForTime: getSegmentRequestForTime, - getNextSegmentRequest: getNextSegmentRequest, - setCurrentIndex: setCurrentIndex, getCurrentIndex: getCurrentIndex, - isMediaFinished: isMediaFinished, + getNextSegmentRequest: getNextSegmentRequest, + isLastSegmentRequested: isLastSegmentRequested, reset: reset, - resetIndex: resetIndex, - getNextSegmentRequestIdempotent: getNextSegmentRequestIdempotent + getNextSegmentRequestIdempotent: getNextSegmentRequestIdempotent, + getValidSeekTimeCloseToTargetTime: getValidSeekTimeCloseToTargetTime }; setup(); return instance; @@ -22123,7 +22594,7 @@ __webpack_require__.r(__webpack_exports__); function SegmentBaseLoader() { var context = this.context; - var instance, logger, errHandler, boxParser, requestModifier, dashMetrics, settings, mediaPlayerModel, urlLoader, errors, constants, dashConstants, urlUtils, baseURLController; + var instance, logger, errHandler, boxParser, requestModifier, dashMetrics, mediaPlayerModel, urlLoader, errors, constants, dashConstants, urlUtils, baseURLController; function setup() {} @@ -22133,7 +22604,6 @@ function SegmentBaseLoader() { dashMetrics: dashMetrics, mediaPlayerModel: mediaPlayerModel, requestModifier: requestModifier, - useFetch: settings ? settings.get().streaming.lowLatencyEnabled : null, boxParser: boxParser, errors: errors, urlUtils: urlUtils, @@ -22159,10 +22629,6 @@ function SegmentBaseLoader() { errHandler = config.errHandler; } - if (config.settings) { - settings = config.settings; - } - if (config.boxParser) { boxParser = config.boxParser; } @@ -22381,10 +22847,6 @@ function SegmentBaseLoader() { urlLoader.abort(); urlLoader = null; } - - errHandler = null; - boxParser = null; - requestModifier = null; } function getSegmentsForSidx(sidx, info) { @@ -22467,7 +22929,7 @@ __webpack_require__.r(__webpack_exports__); function WebmSegmentBaseLoader() { var context = this.context; - var instance, logger, WebM, errHandler, requestModifier, dashMetrics, mediaPlayerModel, urlLoader, settings, errors, baseURLController; + var instance, logger, WebM, errHandler, requestModifier, dashMetrics, mediaPlayerModel, urlLoader, errors, baseURLController; function setup() { WebM = { @@ -22541,7 +23003,6 @@ function WebmSegmentBaseLoader() { dashMetrics: dashMetrics, mediaPlayerModel: mediaPlayerModel, requestModifier: requestModifier, - useFetch: settings ? settings.get().streaming.lowLatencyEnabled : null, errors: errors }); } @@ -22555,7 +23016,6 @@ function WebmSegmentBaseLoader() { dashMetrics = config.dashMetrics; mediaPlayerModel = config.mediaPlayerModel; errHandler = config.errHandler; - settings = config.settings; errors = config.errors; logger = config.debug.getLogger(instance); requestModifier = config.requestModifier; @@ -22809,8 +23269,10 @@ function WebmSegmentBaseLoader() { } function reset() { - errHandler = null; - requestModifier = null; + if (urlLoader) { + urlLoader.abort(); + urlLoader = null; + } } instance = { @@ -23108,7 +23570,10 @@ function RepresentationController(config) { checkConfig(); updating = true; voAvailableRepresentations = availableRepresentations; - currentVoRepresentation = getRepresentationForQuality(quality); + var rep = getRepresentationForQuality(quality); + + _setCurrentVoRepresentation(rep); + realAdaptation = newRealAdaptation; if (type !== _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].VIDEO && type !== _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].AUDIO && (type !== _streaming_constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TEXT || !isFragmented)) { @@ -23144,6 +23609,8 @@ function RepresentationController(config) { currentRep = _onSegmentsLoaded(currentRep, data[1]); } + _setMediaFinishedInformation(currentRep); + _onRepresentationUpdated(currentRep); resolve(); @@ -23153,6 +23620,10 @@ function RepresentationController(config) { }); } + function _setMediaFinishedInformation(representation) { + representation.mediaFinishedInformation = segmentsController.getMediaFinishedInformation(representation); + } + function _onInitLoaded(representation, e) { if (!e || e.error || !e.representation) { return representation; @@ -23180,14 +23651,13 @@ function RepresentationController(config) { } if (segments.length > 0) { - representation.availableSegmentsNumber = segments.length; representation.segments = segments; } return representation; } - function addRepresentationSwitch() { + function _addRepresentationSwitch() { checkConfig(); var now = new Date(); var currentRepresentation = getCurrentRepresentation(); @@ -23199,8 +23669,12 @@ function RepresentationController(config) { eventBus.trigger(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_2__["default"].REPRESENTATION_SWITCH, { mediaType: type, + streamId: streamInfo.id, currentRepresentation: currentRepresentation, numberOfRepresentations: voAvailableRepresentations.length + }, { + streamId: streamInfo.id, + mediaType: type }); } @@ -23270,7 +23744,7 @@ function RepresentationController(config) { repSwitch = dashMetrics.getCurrentRepresentationSwitch(getCurrentRepresentation().adaptation.type); if (!repSwitch) { - addRepresentationSwitch(); + _addRepresentationSwitch(); } endDataUpdate(); @@ -23278,8 +23752,15 @@ function RepresentationController(config) { } function prepareQualityChange(newQuality) { - currentVoRepresentation = getRepresentationForQuality(newQuality); - addRepresentationSwitch(); + var newRep = getRepresentationForQuality(newQuality); + + _setCurrentVoRepresentation(newRep); + + _addRepresentationSwitch(); + } + + function _setCurrentVoRepresentation(value) { + currentVoRepresentation = value; } function onManifestValidityChanged(e) { @@ -23555,12 +24036,21 @@ function SegmentsController(config) { return getter ? getter.getSegmentByTime(representation, time) : null; } + function getMediaFinishedInformation(representation) { + var getter = getSegmentsGetter(representation); + return getter ? getter.getMediaFinishedInformation(representation) : { + numberOfSegments: 0, + mediaTimeOfLastSignaledSegment: NaN + }; + } + instance = { initialize: initialize, updateInitData: updateInitData, updateSegmentData: updateSegmentData, getSegmentByIndex: getSegmentByIndex, - getSegmentByTime: getSegmentByTime + getSegmentByTime: getSegmentByTime, + getMediaFinishedInformation: getMediaFinishedInformation }; setup(); return instance; @@ -24017,6 +24507,15 @@ function DashManifestModel() { }); } + function getSelectionPriority(realAdaption) { + try { + var priority = realAdaption && typeof realAdaption.selectionPriority !== 'undefined' ? parseInt(realAdaption.selectionPriority) : 1; + return isNaN(priority) ? 1 : priority; + } catch (e) { + return 1; + } + } + function getEssentialPropertiesForRepresentation(realRepresentation) { if (!realRepresentation || !realRepresentation.EssentialProperty_asArray || !realRepresentation.EssentialProperty_asArray.length) return null; return realRepresentation.EssentialProperty_asArray.map(function (prop) { @@ -24203,6 +24702,10 @@ function DashManifestModel() { } function calcSegmentDuration(segmentTimeline) { + if (!segmentTimeline || !segmentTimeline.S_asArray) { + return NaN; + } + var s0 = segmentTimeline.S_asArray[0]; var s1 = segmentTimeline.S_asArray[1]; return s0.hasOwnProperty('d') ? s0.d : s1.t - s0.t; @@ -24307,6 +24810,10 @@ function DashManifestModel() { voPeriod.duration = realPeriod.duration; } + if (voPreviousPeriod) { + voPreviousPeriod.nextPeriodId = voPeriod.id; + } + voPeriods.push(voPeriod); realPreviousPeriod = realPeriod; voPreviousPeriod = voPeriod; @@ -24804,6 +25311,7 @@ function DashManifestModel() { getRealPeriods: getRealPeriods, getRealPeriodForIndex: getRealPeriodForIndex, getCodec: getCodec, + getSelectionPriority: getSelectionPriority, getMimeType: getMimeType, getKID: getKID, getLabelsForAdaptation: getLabelsForAdaptation, @@ -26171,6 +26679,23 @@ function ListSegmentsGetter(config, isDynamic) { } } + function getMediaFinishedInformation(representation) { + var mediaFinishedInformation = { + numberOfSegments: 0, + mediaTimeOfLastSignaledSegment: NaN + }; + + if (!representation) { + return mediaFinishedInformation; + } + + var list = representation.adaptation.period.mpd.manifest.Period_asArray[representation.adaptation.period.index].AdaptationSet_asArray[representation.adaptation.index].Representation_asArray[representation.index].SegmentList; + var startNumber = representation && !isNaN(representation.startNumber) ? representation.startNumber : 1; + var offset = Math.max(startNumber - 1, 0); + mediaFinishedInformation.numberOfSegments = offset + list.SegmentURL_asArray.length; + return mediaFinishedInformation; + } + function getSegmentByIndex(representation, index) { checkConfig(); @@ -26193,12 +26718,10 @@ function ListSegmentsGetter(config, isDynamic) { segment.replacementTime = (startNumber + index - 1) * representation.segmentDuration; segment.media = s.media ? s.media : ''; segment.mediaRange = s.mediaRange; - segment.index = index; segment.indexRange = s.indexRange; } } - representation.availableSegmentsNumber = len; return segment; } @@ -26222,7 +26745,8 @@ function ListSegmentsGetter(config, isDynamic) { instance = { getSegmentByIndex: getSegmentByIndex, - getSegmentByTime: getSegmentByTime + getSegmentByTime: getSegmentByTime, + getMediaFinishedInformation: getMediaFinishedInformation }; return instance; } @@ -26404,6 +26928,20 @@ function SegmentBaseGetter(config) { } } + function getMediaFinishedInformation(representation) { + var mediaFinishedInformation = { + numberOfSegments: 0, + mediaTimeOfLastSignaledSegment: NaN + }; + + if (!representation || !representation.segments) { + return mediaFinishedInformation; + } + + mediaFinishedInformation.numberOfSegments = representation.segments.length; + return mediaFinishedInformation; + } + function getSegmentByIndex(representation, index) { checkConfig(); @@ -26417,7 +26955,7 @@ function SegmentBaseGetter(config) { if (index < len) { seg = representation.segments[index]; - if (seg && seg.availabilityIdx === index) { + if (seg && seg.index === index) { return seg; } } @@ -26425,7 +26963,7 @@ function SegmentBaseGetter(config) { for (var i = 0; i < len; i++) { seg = representation.segments[i]; - if (seg && seg.availabilityIdx === index) { + if (seg && seg.index === index) { return seg; } } @@ -26447,17 +26985,17 @@ function SegmentBaseGetter(config) { var segments = representation.segments; var ln = segments ? segments.length : null; var idx = -1; - var epsilon, frag, ft, fd, i; + var epsilon, seg, ft, fd, i; if (segments && ln > 0) { for (i = 0; i < ln; i++) { - frag = segments[i]; - ft = frag.presentationStartTime; - fd = frag.duration; + seg = segments[i]; + ft = seg.presentationStartTime; + fd = seg.duration; epsilon = fd / 2; if (time + epsilon >= ft && time - epsilon < ft + fd) { - idx = frag.availabilityIdx; + idx = seg.index; break; } } @@ -26468,7 +27006,8 @@ function SegmentBaseGetter(config) { instance = { getSegmentByIndex: getSegmentByIndex, - getSegmentByTime: getSegmentByTime + getSegmentByTime: getSegmentByTime, + getMediaFinishedInformation: getMediaFinishedInformation }; return instance; } @@ -26620,17 +27159,17 @@ function replaceTokenForTemplate(url, token, value) { } } -function getSegment(representation, duration, presentationStartTime, mediaStartTime, availabilityStartTime, timelineConverter, presentationEndTime, isDynamic, index) { +function getSegment(representation, duration, presentationStartTime, mediaStartTime, timelineConverter, presentationEndTime, isDynamic, index) { var seg = new _vo_Segment__WEBPACK_IMPORTED_MODULE_0__["default"](); seg.representation = representation; seg.duration = duration; seg.presentationStartTime = presentationStartTime; seg.mediaStartTime = mediaStartTime; - seg.availabilityStartTime = availabilityStartTime; + seg.availabilityStartTime = timelineConverter.calcAvailabilityStartTimeFromPresentationTime(presentationEndTime, representation, isDynamic); seg.availabilityEndTime = timelineConverter.calcAvailabilityEndTimeFromPresentationTime(presentationEndTime + duration, representation, isDynamic); seg.wallStartTime = timelineConverter.calcWallTimeForSegment(seg, isDynamic); seg.replacementNumber = getNumberForSegment(seg, index); - seg.availabilityIdx = index; + seg.index = index; return seg; } @@ -26648,9 +27187,10 @@ function isSegmentAvailable(timelineConverter, representation, segment, isDynami // SAST = Period@start + seg@presentationStartTime + seg@duration // ASAST = SAST - ATO // SAET = SAST + TSBD + seg@duration + // refTime serves as an anchor time to compare the availability time of the segments against. - var refTime = timelineConverter.getAvailabilityWindowAnchorTime(); + var refTime = timelineConverter.getClientReferenceTime(); return segment.availabilityStartTime.getTime() <= refTime && (!isFinite(segment.availabilityEndTime) || segment.availabilityEndTime.getTime() >= refTime); } @@ -26673,8 +27213,7 @@ function getIndexBasedSegment(timelineConverter, isDynamic, representation, inde presentationStartTime = parseFloat((representation.adaptation.period.start + index * duration).toFixed(5)); presentationEndTime = parseFloat((presentationStartTime + duration).toFixed(5)); var mediaTime = timelineConverter.calcMediaTimeFromPresentationTime(presentationStartTime, representation); - var availabilityStartTime = timelineConverter.calcAvailabilityStartTimeFromPresentationTime(presentationEndTime, representation, isDynamic); - var segment = getSegment(representation, duration, presentationStartTime, mediaTime, availabilityStartTime, timelineConverter, presentationEndTime, isDynamic, index); + var segment = getSegment(representation, duration, presentationStartTime, mediaTime, timelineConverter, presentationEndTime, isDynamic, index); if (!isSegmentAvailable(timelineConverter, representation, segment, isDynamic)) { return null; @@ -26688,8 +27227,7 @@ function getTimeBasedSegment(timelineConverter, isDynamic, representation, time, var presentationStartTime, presentationEndTime, seg; presentationStartTime = timelineConverter.calcPresentationTimeFromMediaTime(scaledTime, representation); presentationEndTime = presentationStartTime + scaledDuration; - var availabilityStartTime = timelineConverter.calcAvailabilityStartTimeFromPresentationTime(presentationEndTime, representation, isDynamic); - seg = getSegment(representation, scaledDuration, presentationStartTime, scaledTime, availabilityStartTime, timelineConverter, presentationEndTime, isDynamic, index); + seg = getSegment(representation, scaledDuration, presentationStartTime, scaledTime, timelineConverter, presentationEndTime, isDynamic, index); if (!isSegmentAvailable(timelineConverter, representation, seg, isDynamic)) { return null; @@ -26762,6 +27300,27 @@ function TemplateSegmentsGetter(config, isDynamic) { } } + function getMediaFinishedInformation(representation) { + var mediaFinishedInformation = { + numberOfSegments: 0, + mediaTimeOfLastSignaledSegment: NaN + }; + + if (!representation) { + return mediaFinishedInformation; + } + + var duration = representation.segmentDuration; + + if (isNaN(duration)) { + mediaFinishedInformation.numberOfSegments = 1; + } else { + mediaFinishedInformation.numberOfSegments = Math.ceil(representation.adaptation.period.duration / duration); + } + + return mediaFinishedInformation; + } + function getSegmentByIndex(representation, index) { checkConfig(); @@ -26769,7 +27328,8 @@ function TemplateSegmentsGetter(config, isDynamic) { return null; } - var template = representation.adaptation.period.mpd.manifest.Period_asArray[representation.adaptation.period.index].AdaptationSet_asArray[representation.adaptation.index].Representation_asArray[representation.index].SegmentTemplate; + var template = representation.adaptation.period.mpd.manifest.Period_asArray[representation.adaptation.period.index].AdaptationSet_asArray[representation.adaptation.index].Representation_asArray[representation.index].SegmentTemplate; // This is the index without @startNumber + index = Math.max(index, 0); var seg = Object(_SegmentsUtils__WEBPACK_IMPORTED_MODULE_2__["getIndexBasedSegment"])(timelineConverter, isDynamic, representation, index); @@ -26781,14 +27341,6 @@ function TemplateSegmentsGetter(config, isDynamic) { seg.media = url; } - var duration = representation.segmentDuration; - - if (isNaN(duration)) { - representation.availableSegmentsNumber = 1; - } else { - representation.availableSegmentsNumber = Math.ceil(representation.adaptation.period.duration / duration); - } - return seg; } @@ -26803,7 +27355,8 @@ function TemplateSegmentsGetter(config, isDynamic) { if (isNaN(duration)) { return null; - } + } // Calculate the relative time for the requested time in this period + var periodTime = timelineConverter.calcPeriodRelativeTimeFromMpdRelativeTime(representation, requestedTime); var index = Math.floor(periodTime / duration); @@ -26812,7 +27365,8 @@ function TemplateSegmentsGetter(config, isDynamic) { instance = { getSegmentByIndex: getSegmentByIndex, - getSegmentByTime: getSegmentByTime + getSegmentByTime: getSegmentByTime, + getMediaFinishedInformation: getMediaFinishedInformation }; return instance; } @@ -26905,8 +27459,17 @@ function TimelineConverter() { function setClientTimeOffset(value) { clientServerTimeShift = value; } + /** + * Returns a "now" reference time for the client to compare the availability time of a segment against. + * Takes the client/server drift into account + */ + + + function getClientReferenceTime() { + return Date.now() - timelineAnchorAvailabilityOffset * 1000 + clientServerTimeShift * 1000; + } - function calcAvailabilityTimeFromPresentationTime(presentationEndTime, representation, isDynamic, calculateAvailabilityEndTime) { + function _calcAvailabilityTimeFromPresentationTime(presentationEndTime, representation, isDynamic, calculateAvailabilityEndTime) { var availabilityTime; var mpd = representation.adaptation.period.mpd; var availabilityStartTime = mpd.availabilityStartTime; @@ -26917,7 +27480,7 @@ function TimelineConverter() { // When not present, the value is infinite. if (isDynamic && mpd.timeShiftBufferDepth !== Number.POSITIVE_INFINITY) { // SAET = SAST + TSBD + seg@duration - availabilityTime = new Date(availabilityStartTime.getTime() + (presentationEndTime - clientServerTimeShift + mpd.timeShiftBufferDepth) * 1000); + availabilityTime = new Date(availabilityStartTime.getTime() + (presentationEndTime + mpd.timeShiftBufferDepth) * 1000); } else { availabilityTime = mpd.availabilityEndTime; } @@ -26927,7 +27490,7 @@ function TimelineConverter() { // ASAST = SAST - ATO var availabilityTimeOffset = representation.availabilityTimeOffset; // presentationEndTime = Period@start + seg@presentationStartTime + Segment@duration - availabilityTime = new Date(availabilityStartTime.getTime() + (presentationEndTime - clientServerTimeShift - availabilityTimeOffset) * 1000); + availabilityTime = new Date(availabilityStartTime.getTime() + (presentationEndTime - availabilityTimeOffset) * 1000); } else { // in static mpd, all segments are available at the same time availabilityTime = availabilityStartTime; @@ -26938,15 +27501,15 @@ function TimelineConverter() { } function calcAvailabilityStartTimeFromPresentationTime(presentationEndTime, representation, isDynamic) { - return calcAvailabilityTimeFromPresentationTime.call(this, presentationEndTime, representation, isDynamic); + return _calcAvailabilityTimeFromPresentationTime(presentationEndTime, representation, isDynamic); } function calcAvailabilityEndTimeFromPresentationTime(presentationEndTime, representation, isDynamic) { - return calcAvailabilityTimeFromPresentationTime.call(this, presentationEndTime, representation, isDynamic, true); + return _calcAvailabilityTimeFromPresentationTime(presentationEndTime, representation, isDynamic, true); } function calcPresentationTimeFromWallTime(wallTime, period) { - return (wallTime.getTime() - period.mpd.availabilityStartTime.getTime() - clientServerTimeShift * 1000) / 1000; + return (wallTime.getTime() - period.mpd.availabilityStartTime.getTime() + clientServerTimeShift * 1000) / 1000; } function calcPresentationTimeFromMediaTime(mediaTime, representation) { @@ -26972,10 +27535,6 @@ function TimelineConverter() { return wallTime; } - - function getAvailabilityWindowAnchorTime() { - return Date.now() - (timelineAnchorAvailabilityOffset + clientServerTimeShift) * 1000; - } /** * Calculates the timeshiftbuffer range. This range might overlap multiple periods and is not limited to period boundaries. However, we make sure that the range is potentially covered by period. * @param {Array} streams @@ -27211,7 +27770,7 @@ function TimelineConverter() { initialize: initialize, getClientTimeOffset: getClientTimeOffset, setClientTimeOffset: setClientTimeOffset, - getAvailabilityWindowAnchorTime: getAvailabilityWindowAnchorTime, + getClientReferenceTime: getClientReferenceTime, calcAvailabilityStartTimeFromPresentationTime: calcAvailabilityStartTimeFromPresentationTime, calcAvailabilityEndTimeFromPresentationTime: calcAvailabilityEndTimeFromPresentationTime, calcPresentationTimeFromWallTime: calcPresentationTimeFromWallTime, @@ -27289,14 +27848,64 @@ function TimelineSegmentsGetter(config, isDynamic) { } } + function getMediaFinishedInformation(representation) { + if (!representation) { + return 0; + } + + var base = representation.adaptation.period.mpd.manifest.Period_asArray[representation.adaptation.period.index].AdaptationSet_asArray[representation.adaptation.index].Representation_asArray[representation.index].SegmentTemplate || representation.adaptation.period.mpd.manifest.Period_asArray[representation.adaptation.period.index].AdaptationSet_asArray[representation.adaptation.index].Representation_asArray[representation.index].SegmentList; + var timeline = base.SegmentTimeline; + var time = 0; + var scaledTime = 0; + var availableSegments = 0; + var fragments, frag, i, len, j, repeat, fTimescale; + fTimescale = representation.timescale; + fragments = timeline.S_asArray; + len = fragments.length; + + for (i = 0; i < len; i++) { + frag = fragments[i]; + repeat = 0; + + if (frag.hasOwnProperty('r')) { + repeat = frag.r; + } // For a repeated S element, t belongs only to the first segment + + + if (frag.hasOwnProperty('t')) { + time = frag.t; + scaledTime = time / fTimescale; + } // This is a special case: "A negative value of the @r attribute of the S element indicates that the duration indicated in @d attribute repeats until the start of the next S element, the end of the Period or until the + // next MPD update." + + + if (repeat < 0) { + var nextFrag = fragments[i + 1]; + repeat = _calculateRepeatCountForNegativeR(representation, nextFrag, frag, fTimescale, scaledTime); + } + + for (j = 0; j <= repeat; j++) { + availableSegments++; + time += frag.d; + scaledTime = time / fTimescale; + } + } // We need to account for the index of the segments starting at 0. We subtract 1 + + + return { + numberOfSegments: availableSegments, + mediaTimeOfLastSignaledSegment: scaledTime + }; + } + function iterateSegments(representation, iterFunc) { var base = representation.adaptation.period.mpd.manifest.Period_asArray[representation.adaptation.period.index].AdaptationSet_asArray[representation.adaptation.index].Representation_asArray[representation.index].SegmentTemplate || representation.adaptation.period.mpd.manifest.Period_asArray[representation.adaptation.period.index].AdaptationSet_asArray[representation.adaptation.index].Representation_asArray[representation.index].SegmentList; var timeline = base.SegmentTimeline; var list = base.SegmentURL_asArray; var time = 0; var scaledTime = 0; - var availabilityIdx = -1; - var fragments, frag, i, len, j, repeat, repeatEndTime, nextFrag, fTimescale; + var relativeIdx = -1; + var fragments, frag, i, len, j, repeat, fTimescale; fTimescale = representation.timescale; fragments = timeline.S_asArray; var breakIterator = false; @@ -27318,51 +27927,50 @@ function TimelineSegmentsGetter(config, isDynamic) { if (repeat < 0) { - nextFrag = fragments[i + 1]; - - if (nextFrag && nextFrag.hasOwnProperty('t')) { - repeatEndTime = nextFrag.t / fTimescale; - } else { - try { - var availabilityEnd = 0; + var nextFrag = fragments[i + 1]; + repeat = _calculateRepeatCountForNegativeR(representation, nextFrag, frag, fTimescale, scaledTime); + } - if (!isNaN(representation.adaptation.period.start) && !isNaN(representation.adaptation.period.duration) && isFinite(representation.adaptation.period.duration)) { - // use end of the Period - availabilityEnd = representation.adaptation.period.start + representation.adaptation.period.duration; - } else { - // use DVR window - var dvrWindow = dashMetrics.getCurrentDVRInfo(); - availabilityEnd = !isNaN(dvrWindow.end) ? dvrWindow.end : 0; - } + for (j = 0; j <= repeat && !breakIterator; j++) { + relativeIdx++; + breakIterator = iterFunc(time, scaledTime, base, list, frag, fTimescale, relativeIdx, i); - repeatEndTime = timelineConverter.calcMediaTimeFromPresentationTime(availabilityEnd, representation); - representation.segmentDuration = frag.d / fTimescale; - } catch (e) { - repeatEndTime = 0; - } + if (breakIterator) { + representation.segmentDuration = frag.d / fTimescale; } - repeat = Math.max(Math.ceil((repeatEndTime - scaledTime) / (frag.d / fTimescale)) - 1, 0); + time += frag.d; + scaledTime = time / fTimescale; } + } + } - for (j = 0; j <= repeat && !breakIterator; j++) { - availabilityIdx++; - breakIterator = iterFunc(time, scaledTime, base, list, frag, fTimescale, availabilityIdx, i); + function _calculateRepeatCountForNegativeR(representation, nextFrag, frag, fTimescale, scaledTime) { + var repeatEndTime; - if (breakIterator) { - representation.segmentDuration = frag.d / fTimescale; // check if there is at least one more segment + if (nextFrag && nextFrag.hasOwnProperty('t')) { + repeatEndTime = nextFrag.t / fTimescale; + } else { + try { + var availabilityEnd = 0; - if (j < repeat - 1 || i < len - 1) { - availabilityIdx++; - } + if (!isNaN(representation.adaptation.period.start) && !isNaN(representation.adaptation.period.duration) && isFinite(representation.adaptation.period.duration)) { + // use end of the Period + availabilityEnd = representation.adaptation.period.start + representation.adaptation.period.duration; + } else { + // use DVR window + var dvrWindow = dashMetrics.getCurrentDVRInfo(); + availabilityEnd = !isNaN(dvrWindow.end) ? dvrWindow.end : 0; } - time += frag.d; - scaledTime = time / fTimescale; + repeatEndTime = timelineConverter.calcMediaTimeFromPresentationTime(availabilityEnd, representation); + representation.segmentDuration = frag.d / fTimescale; + } catch (e) { + repeatEndTime = 0; } } - representation.availableSegmentsNumber = availabilityIdx; + return Math.max(Math.ceil((repeatEndTime - scaledTime) / (frag.d / fTimescale)) - 1, 0); } function getSegmentByIndex(representation, index, lastSegmentTime) { @@ -27374,7 +27982,7 @@ function TimelineSegmentsGetter(config, isDynamic) { var segment = null; var found = false; - iterateSegments(representation, function (time, scaledTime, base, list, frag, fTimescale, availabilityIdx, i) { + iterateSegments(representation, function (time, scaledTime, base, list, frag, fTimescale, relativeIdx, i) { if (found || lastSegmentTime < 0) { var media = base.media; var mediaRange = frag.mediaRange; @@ -27384,7 +27992,7 @@ function TimelineSegmentsGetter(config, isDynamic) { mediaRange = list[i].mediaRange; } - segment = Object(_SegmentsUtils__WEBPACK_IMPORTED_MODULE_2__["getTimeBasedSegment"])(timelineConverter, isDynamic, representation, time, frag.d, fTimescale, media, mediaRange, availabilityIdx, frag.tManifest); + segment = Object(_SegmentsUtils__WEBPACK_IMPORTED_MODULE_2__["getTimeBasedSegment"])(timelineConverter, isDynamic, representation, time, frag.d, fTimescale, media, mediaRange, relativeIdx, frag.tManifest); return true; } else if (scaledTime >= lastSegmentTime - frag.d * 0.5 / fTimescale) { // same logic, if deviation is @@ -27410,7 +28018,7 @@ function TimelineSegmentsGetter(config, isDynamic) { var segment = null; var requiredMediaTime = timelineConverter.calcMediaTimeFromPresentationTime(requestedTime, representation); - iterateSegments(representation, function (time, scaledTime, base, list, frag, fTimescale, availabilityIdx, i) { + iterateSegments(representation, function (time, scaledTime, base, list, frag, fTimescale, relativeIdx, i) { // In some cases when requiredMediaTime = actual end time of the last segment // it is possible that this time a bit exceeds the declared end time of the last segment. // in this case we still need to include the last segment in the segment list. @@ -27423,7 +28031,7 @@ function TimelineSegmentsGetter(config, isDynamic) { mediaRange = list[i].mediaRange; } - segment = Object(_SegmentsUtils__WEBPACK_IMPORTED_MODULE_2__["getTimeBasedSegment"])(timelineConverter, isDynamic, representation, time, frag.d, fTimescale, media, mediaRange, availabilityIdx, frag.tManifest); + segment = Object(_SegmentsUtils__WEBPACK_IMPORTED_MODULE_2__["getTimeBasedSegment"])(timelineConverter, isDynamic, representation, time, frag.d, fTimescale, media, mediaRange, relativeIdx, frag.tManifest); return true; } @@ -27434,7 +28042,8 @@ function TimelineSegmentsGetter(config, isDynamic) { instance = { getSegmentByIndex: getSegmentByIndex, - getSegmentByTime: getSegmentByTime + getSegmentByTime: getSegmentByTime, + getMediaFinishedInformation: getMediaFinishedInformation }; return instance; } @@ -27745,7 +28354,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons var ManifestInfo = function ManifestInfo() { _classCallCheck(this, ManifestInfo); - this.DVRWindowSize = NaN; + this.dvrWindowSize = NaN; this.loadedTime = null; this.availableFrom = null; this.minBufferTime = NaN; @@ -27825,6 +28434,7 @@ var MediaInfo = function MediaInfo() { this.bitrateList = null; this.isFragmented = null; this.isEmbedded = null; + this.selectionPriority = 1; }; /* harmony default export */ __webpack_exports__["default"] = (MediaInfo); @@ -28024,6 +28634,7 @@ var Period = function Period() { this.duration = NaN; this.start = NaN; this.mpd = null; + this.nextPeriodId = null; }; Period.DEFAULT_ID = 'defaultId'; @@ -28103,8 +28714,12 @@ var Representation = /*#__PURE__*/function () { this.range = null; this.presentationTimeOffset = 0; // Set the source buffer timeOffset to this - this.MSETimeOffset = NaN; - this.availableSegmentsNumber = 0; + this.MSETimeOffset = NaN; // The information we need in the DashHandler to determine whether the last segment has been loaded + + this.mediaFinishedInformation = { + numberOfSegments: 0, + mediaTimeOfLastSignaledSegment: NaN + }; this.bandwidth = NaN; this.width = NaN; this.height = NaN; @@ -28242,7 +28857,8 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons var Segment = function Segment() { _classCallCheck(this, Segment); - this.indexRange = null; + this.indexRange = null; // The index of the segment in the list of segments. We start at 0 + this.index = null; this.mediaRange = null; this.media = null; @@ -28259,9 +28875,7 @@ var Segment = function Segment() { this.availabilityStartTime = NaN; // Ignore and discard this segment after - this.availabilityEndTime = NaN; // The index of the segment inside the availability window - - this.availabilityIdx = NaN; // For dynamic mpd's, this is the wall clock time that the video + this.availabilityEndTime = NaN; // For dynamic mpd's, this is the wall clock time that the video // element currentTime should be presentationStartTime this.wallStartTime = NaN; @@ -28642,7 +29256,6 @@ function FragmentLoader(config) { dashMetrics: config.dashMetrics, mediaPlayerModel: config.mediaPlayerModel, requestModifier: config.requestModifier, - useFetch: config.settings.get().streaming.lowLatencyEnabled, urlUtils: urlUtils, constants: _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"], boxParser: config.boxParser, @@ -28837,7 +29450,6 @@ function ManifestLoader(config) { dashMetrics: config.dashMetrics, mediaPlayerModel: config.mediaPlayerModel, requestModifier: config.requestModifier, - useFetch: config.settings.get().streaming.lowLatencyEnabled, urlUtils: urlUtils, constants: _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"], dashConstants: _dash_constants_DashConstants__WEBPACK_IMPORTED_MODULE_1__["default"], @@ -29586,94 +30198,100 @@ function MediaPlayer() { }); } - errHandler = Object(_utils_ErrorHandler__WEBPACK_IMPORTED_MODULE_10__["default"])(context).getInstance(); + if (!errHandler) { + errHandler = Object(_utils_ErrorHandler__WEBPACK_IMPORTED_MODULE_10__["default"])(context).getInstance(); + } if (!capabilities.supportsMediaSource()) { errHandler.error(new _vo_DashJSError__WEBPACK_IMPORTED_MODULE_37__["default"](_core_errors_Errors__WEBPACK_IMPORTED_MODULE_23__["default"].CAPABILITY_MEDIASOURCE_ERROR_CODE, _core_errors_Errors__WEBPACK_IMPORTED_MODULE_23__["default"].CAPABILITY_MEDIASOURCE_ERROR_MESSAGE)); return; } - if (mediaPlayerInitialized) return; - mediaPlayerInitialized = true; // init some controllers and models + if (!mediaPlayerInitialized) { + mediaPlayerInitialized = true; // init some controllers and models - timelineConverter = Object(_dash_utils_TimelineConverter__WEBPACK_IMPORTED_MODULE_33__["default"])(context).getInstance(); + timelineConverter = Object(_dash_utils_TimelineConverter__WEBPACK_IMPORTED_MODULE_33__["default"])(context).getInstance(); - if (!abrController) { - abrController = Object(_controllers_AbrController__WEBPACK_IMPORTED_MODULE_17__["default"])(context).getInstance(); - abrController.setConfig({ - settings: settings - }); - } + if (!abrController) { + abrController = Object(_controllers_AbrController__WEBPACK_IMPORTED_MODULE_17__["default"])(context).getInstance(); + abrController.setConfig({ + settings: settings + }); + } - if (!schemeLoaderFactory) { - schemeLoaderFactory = Object(_net_SchemeLoaderFactory__WEBPACK_IMPORTED_MODULE_18__["default"])(context).getInstance(); - } + if (!schemeLoaderFactory) { + schemeLoaderFactory = Object(_net_SchemeLoaderFactory__WEBPACK_IMPORTED_MODULE_18__["default"])(context).getInstance(); + } - if (!playbackController) { - playbackController = Object(_controllers_PlaybackController__WEBPACK_IMPORTED_MODULE_4__["default"])(context).getInstance(); - } + if (!playbackController) { + playbackController = Object(_controllers_PlaybackController__WEBPACK_IMPORTED_MODULE_4__["default"])(context).getInstance(); + } - if (!mediaController) { - mediaController = Object(_controllers_MediaController__WEBPACK_IMPORTED_MODULE_7__["default"])(context).getInstance(); - } + if (!mediaController) { + mediaController = Object(_controllers_MediaController__WEBPACK_IMPORTED_MODULE_7__["default"])(context).getInstance(); + } - if (!streamController) { - streamController = Object(_controllers_StreamController__WEBPACK_IMPORTED_MODULE_5__["default"])(context).getInstance(); - } + if (!streamController) { + streamController = Object(_controllers_StreamController__WEBPACK_IMPORTED_MODULE_5__["default"])(context).getInstance(); + } - if (!gapController) { - gapController = Object(_controllers_GapController__WEBPACK_IMPORTED_MODULE_6__["default"])(context).getInstance(); - } + if (!gapController) { + gapController = Object(_controllers_GapController__WEBPACK_IMPORTED_MODULE_6__["default"])(context).getInstance(); + } - if (!capabilitiesFilter) { - capabilitiesFilter = Object(_utils_CapabilitiesFilter__WEBPACK_IMPORTED_MODULE_12__["default"])(context).getInstance(); - } + if (!capabilitiesFilter) { + capabilitiesFilter = Object(_utils_CapabilitiesFilter__WEBPACK_IMPORTED_MODULE_12__["default"])(context).getInstance(); + } - adapter = Object(_dash_DashAdapter__WEBPACK_IMPORTED_MODULE_31__["default"])(context).getInstance(); - manifestModel = Object(_models_ManifestModel__WEBPACK_IMPORTED_MODULE_15__["default"])(context).getInstance(); - cmcdModel = Object(_models_CmcdModel__WEBPACK_IMPORTED_MODULE_20__["default"])(context).getInstance(); - dashMetrics = Object(_dash_DashMetrics__WEBPACK_IMPORTED_MODULE_32__["default"])(context).getInstance({ - settings: settings - }); - domStorage = Object(_utils_DOMStorage__WEBPACK_IMPORTED_MODULE_21__["default"])(context).getInstance({ - settings: settings - }); - adapter.setConfig({ - constants: _constants_Constants__WEBPACK_IMPORTED_MODULE_1__["default"], - cea608parser: _externals_cea608_parser__WEBPACK_IMPORTED_MODULE_0___default.a, - errHandler: errHandler, - BASE64: _externals_base64__WEBPACK_IMPORTED_MODULE_35___default.a - }); + adapter = Object(_dash_DashAdapter__WEBPACK_IMPORTED_MODULE_31__["default"])(context).getInstance(); + manifestModel = Object(_models_ManifestModel__WEBPACK_IMPORTED_MODULE_15__["default"])(context).getInstance(); + cmcdModel = Object(_models_CmcdModel__WEBPACK_IMPORTED_MODULE_20__["default"])(context).getInstance(); + dashMetrics = Object(_dash_DashMetrics__WEBPACK_IMPORTED_MODULE_32__["default"])(context).getInstance({ + settings: settings + }); + domStorage = Object(_utils_DOMStorage__WEBPACK_IMPORTED_MODULE_21__["default"])(context).getInstance({ + settings: settings + }); + adapter.setConfig({ + constants: _constants_Constants__WEBPACK_IMPORTED_MODULE_1__["default"], + cea608parser: _externals_cea608_parser__WEBPACK_IMPORTED_MODULE_0___default.a, + errHandler: errHandler, + BASE64: _externals_base64__WEBPACK_IMPORTED_MODULE_35___default.a + }); - if (!baseURLController) { - baseURLController = Object(_controllers_BaseURLController__WEBPACK_IMPORTED_MODULE_8__["default"])(context).create(); - } + if (!baseURLController) { + baseURLController = Object(_controllers_BaseURLController__WEBPACK_IMPORTED_MODULE_8__["default"])(context).create(); + } - baseURLController.setConfig({ - adapter: adapter - }); - segmentBaseController = Object(_dash_controllers_SegmentBaseController__WEBPACK_IMPORTED_MODULE_30__["default"])(context).getInstance({ - dashMetrics: dashMetrics, - mediaPlayerModel: mediaPlayerModel, - errHandler: errHandler, - baseURLController: baseURLController, - events: _core_events_Events__WEBPACK_IMPORTED_MODULE_25__["default"], - eventBus: eventBus, - debug: debug, - boxParser: Object(_utils_BoxParser__WEBPACK_IMPORTED_MODULE_41__["default"])(context).getInstance(), - requestModifier: Object(_utils_RequestModifier__WEBPACK_IMPORTED_MODULE_13__["default"])(context).getInstance(), - errors: _core_errors_Errors__WEBPACK_IMPORTED_MODULE_23__["default"] - }); - segmentBaseController.initialize(); // configure controllers + baseURLController.setConfig({ + adapter: adapter + }); - mediaController.setConfig({ - domStorage: domStorage, - settings: settings - }); - restoreDefaultUTCTimingSources(); - setAutoPlay(AutoPlay !== undefined ? AutoPlay : true); // Detect and initialize offline module to support offline contents playback + if (!segmentBaseController) { + segmentBaseController = Object(_dash_controllers_SegmentBaseController__WEBPACK_IMPORTED_MODULE_30__["default"])(context).getInstance({ + dashMetrics: dashMetrics, + mediaPlayerModel: mediaPlayerModel, + errHandler: errHandler, + baseURLController: baseURLController, + events: _core_events_Events__WEBPACK_IMPORTED_MODULE_25__["default"], + eventBus: eventBus, + debug: debug, + boxParser: Object(_utils_BoxParser__WEBPACK_IMPORTED_MODULE_41__["default"])(context).getInstance(), + requestModifier: Object(_utils_RequestModifier__WEBPACK_IMPORTED_MODULE_13__["default"])(context).getInstance(), + errors: _core_errors_Errors__WEBPACK_IMPORTED_MODULE_23__["default"] + }); + } // configure controllers - _detectOffline(); + + mediaController.setConfig({ + domStorage: domStorage, + settings: settings + }); + restoreDefaultUTCTimingSources(); + setAutoPlay(AutoPlay !== undefined ? AutoPlay : true); // Detect and initialize offline module to support offline contents playback + + _detectOffline(); + } if (view) { attachView(view); @@ -29712,7 +30330,6 @@ function MediaPlayer() { metricsReportingController = null; } - segmentBaseController.reset(); settings.reset(); if (offlineController) { @@ -30046,7 +30663,7 @@ function MediaPlayer() { return 0; } - return metric.manifestInfo.DVRWindowSize; + return metric.manifestInfo.dvrWindowSize; } /** * This method should only be used with a live stream that has a valid timeShiftBufferLength (DVR Window). @@ -30201,13 +30818,12 @@ function MediaPlayer() { } /** * Gets the current download quality for media type video, audio or images. For video and audio types the ABR - * rules update this value before every new download unless setAutoSwitchQualityFor(type, false) is called. For 'image' + * rules update this value before every new download unless autoSwitchBitrate is set to false. For 'image' * type, thumbnails, there is no ABR algorithm and quality is set manually. * * @param {MediaType} type - 'video', 'audio' or 'image' (thumbnails) * @returns {number} the quality index, 0 corresponding to the lowest bitrate * @memberof module:MediaPlayer - * @see {@link module:MediaPlayer#setAutoSwitchQualityFor setAutoSwitchQualityFor()} * @see {@link module:MediaPlayer#setQualityFor setQualityFor()} * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function * @instance @@ -30234,13 +30850,12 @@ function MediaPlayer() { } /** * Sets the current quality for media type instead of letting the ABR Heuristics automatically selecting it. - * This value will be overwritten by the ABR rules unless setAutoSwitchQualityFor(type, false) is called. + * This value will be overwritten by the ABR rules unless autoSwitchBitrate is set to false. * * @param {MediaType} type - 'video', 'audio' or 'image' * @param {number} value - the quality index, 0 corresponding to the lowest bitrate * @param {boolean} forceReplace - true if segments have to be replaced by segments of the new quality * @memberof module:MediaPlayer - * @see {@link module:MediaPlayer#setAutoSwitchQualityFor setAutoSwitchQualityFor()} * @see {@link module:MediaPlayer#getQualityFor getQualityFor()} * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function * @instance @@ -30581,7 +31196,7 @@ function MediaPlayer() { return false; } - return textController.enableForcedTextStreaming(activeStreamInfo.id, enable); + return textController.enableForcedTextStreaming(enable); } /** * Return if text is enabled @@ -31043,6 +31658,27 @@ function MediaPlayer() { if (index < 0) return; filters.splice(index, 1); } + /** + * Registers a custom initial track selection function. Only one function is allowed. Calling this method will overwrite a potentially existing function. + * @param {function} customFunc - the custom function that returns the initial track + */ + + + function setCustomInitialTrackSelectionFunction(customFunc) { + if (mediaController) { + mediaController.setCustomInitialTrackSelectionFunction(customFunc); + } + } + /** + * Resets the custom initial track selection + */ + + + function resetCustomInitialTrackSelectionFunction() { + if (mediaController) { + mediaController.setCustomInitialTrackSelectionFunction(null); + } + } /* --------------------------------------------------------------------------- THUMBNAILS MANAGEMENT @@ -31335,6 +31971,7 @@ function MediaPlayer() { playbackController.reset(); abrController.reset(); mediaController.reset(); + segmentBaseController.reset(); if (protectionController) { if (settings.get().streaming.protection.keepProtectionMediaKeys) { @@ -31436,6 +32073,7 @@ function MediaPlayer() { textController.initialize(); gapController.initialize(); cmcdModel.initialize(); + segmentBaseController.initialize(); } function _createManifestLoader() { @@ -31727,6 +32365,8 @@ function MediaPlayer() { unregisterLicenseResponseFilter: unregisterLicenseResponseFilter, registerCustomCapabilitiesFilter: registerCustomCapabilitiesFilter, unregisterCustomCapabilitiesFilter: unregisterCustomCapabilitiesFilter, + setCustomInitialTrackSelectionFunction: setCustomInitialTrackSelectionFunction, + resetCustomInitialTrackSelectionFunction: resetCustomInitialTrackSelectionFunction, attachTTMLRenderingDiv: attachTTMLRenderingDiv, getCurrentTextTrackIndex: getCurrentTextTrackIndex, provideThumbnail: provideThumbnail, @@ -32359,6 +32999,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _core_Settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/Settings */ "./src/core/Settings.js"); /* harmony import */ var _constants_Constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./constants/Constants */ "./src/streaming/constants/Constants.js"); /* harmony import */ var _vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./vo/metrics/HTTPRequest */ "./src/streaming/vo/metrics/HTTPRequest.js"); +/* harmony import */ var _core_events_Events__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/events/Events */ "./src/core/events/Events.js"); /** * The copyright in this software is being made available under the BSD License, * included below. This software may be subject to other third party and contributor @@ -32396,6 +33037,7 @@ __webpack_require__.r(__webpack_exports__); + var APPEND_WINDOW_START_OFFSET = 0.1; var APPEND_WINDOW_END_OFFSET = 0.01; /** @@ -32410,11 +33052,13 @@ function SourceBufferSink(config) { var context = this.context; var settings = Object(_core_Settings__WEBPACK_IMPORTED_MODULE_4__["default"])(context).getInstance(); var textController = config.textController; + var eventBus = config.eventBus; var instance, type, logger, buffer, mediaInfo, intervalId; var callbacks = []; var appendQueue = []; var isAppendingInProgress = false; var mediaSource = config.mediaSource; + var lastRequestAppended = null; function setup() { logger = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_0__["default"])(context).getInstance().getLogger(instance); @@ -32443,7 +33087,7 @@ function SourceBufferSink(config) { function changeType(codec) { return new Promise(function (resolve) { - waitForUpdateEnd(function () { + _waitForUpdateEnd(function () { if (buffer.changeType) { buffer.changeType(codec); } @@ -32502,16 +33146,16 @@ function SourceBufferSink(config) { // use updateend event if possible if (typeof buffer.addEventListener === 'function') { try { - buffer.addEventListener('updateend', updateEndHandler, false); - buffer.addEventListener('error', errHandler, false); - buffer.addEventListener('abort', errHandler, false); + buffer.addEventListener('updateend', _updateEndHandler, false); + buffer.addEventListener('error', _errHandler, false); + buffer.addEventListener('abort', _errHandler, false); } catch (err) { // use setInterval to periodically check if updating has been completed - intervalId = setInterval(updateEndHandler, CHECK_INTERVAL); + intervalId = setInterval(_updateEndHandler, CHECK_INTERVAL); } } else { // use setInterval to periodically check if updating has been completed - intervalId = setInterval(updateEndHandler, CHECK_INTERVAL); + intervalId = setInterval(_updateEndHandler, CHECK_INTERVAL); } } @@ -32522,9 +33166,9 @@ function SourceBufferSink(config) { function _removeEventListeners() { try { if (typeof buffer.removeEventListener === 'function') { - buffer.removeEventListener('updateend', updateEndHandler, false); - buffer.removeEventListener('error', errHandler, false); - buffer.removeEventListener('abort', errHandler, false); + buffer.removeEventListener('updateend', _updateEndHandler, false); + buffer.removeEventListener('error', _errHandler, false); + buffer.removeEventListener('abort', _errHandler, false); } clearInterval(intervalId); @@ -32540,7 +33184,7 @@ function SourceBufferSink(config) { return; } - waitForUpdateEnd(function () { + _waitForUpdateEnd(function () { try { if (!buffer) { resolve(); @@ -32581,7 +33225,7 @@ function SourceBufferSink(config) { return; } - waitForUpdateEnd(function () { + _waitForUpdateEnd(function () { try { if (buffer.timestampOffset !== MSETimeOffset && !isNaN(MSETimeOffset)) { buffer.timestampOffset = MSETimeOffset; @@ -32614,6 +33258,8 @@ function SourceBufferSink(config) { buffer = null; } + + lastRequestAppended = null; } function getBuffer() { @@ -32632,6 +33278,7 @@ function SourceBufferSink(config) { function append(chunk) { var _this = this; + var request = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; return new Promise(function (resolve, reject) { if (!chunk) { reject({ @@ -32646,21 +33293,27 @@ function SourceBufferSink(config) { promise: { resolve: resolve, reject: reject - } + }, + request: request }); - waitForUpdateEnd(appendNextInQueue.bind(_this)); + + _waitForUpdateEnd(_appendNextInQueue.bind(_this)); }); } function _abortBeforeAppend() { return new Promise(function (resolve) { - waitForUpdateEnd(function () { + _waitForUpdateEnd(function () { // Save the append window, which is reset on abort(). var appendWindowStart = buffer.appendWindowStart; var appendWindowEnd = buffer.appendWindowEnd; - buffer.abort(); - buffer.appendWindowStart = appendWindowStart; - buffer.appendWindowEnd = appendWindowEnd; + + if (buffer) { + buffer.abort(); + buffer.appendWindowStart = appendWindowStart; + buffer.appendWindowEnd = appendWindowEnd; + } + resolve(); }); }); @@ -32676,11 +33329,11 @@ function SourceBufferSink(config) { return; } - waitForUpdateEnd(function () { + _waitForUpdateEnd(function () { try { buffer.remove(start, end); // updating is in progress, we should wait for it to complete before signaling that this operation is done - waitForUpdateEnd(function () { + _waitForUpdateEnd(function () { resolve({ from: start, to: end, @@ -32707,7 +33360,7 @@ function SourceBufferSink(config) { }); } - function appendNextInQueue() { + function _appendNextInQueue() { if (isAppendingInProgress) { return; } @@ -32721,7 +33374,7 @@ function SourceBufferSink(config) { isAppendingInProgress = false; if (appendQueue.length > 0) { - appendNextInQueue.call(this); + _appendNextInQueue.call(this); } // Init segments are cached. In any other case we dont need the chunk bytes anymore and can free the memory @@ -32735,6 +33388,8 @@ function SourceBufferSink(config) { }; try { + lastRequestAppended = nextChunk.request; + if (nextChunk.data.bytes.byteLength === 0) { afterSuccess.call(this); } else { @@ -32745,13 +33400,13 @@ function SourceBufferSink(config) { } // updating is in progress, we should wait for it to complete before signaling that this operation is done - waitForUpdateEnd(afterSuccess.bind(this)); + _waitForUpdateEnd(afterSuccess.bind(this)); } } catch (err) { logger.fatal('SourceBuffer append failed "' + err + '"'); if (appendQueue.length > 0) { - appendNextInQueue(); + _appendNextInQueue(); } else { isAppendingInProgress = false; } @@ -32771,8 +33426,11 @@ function SourceBufferSink(config) { appendQueue = []; if (mediaSource.readyState === 'open') { - waitForUpdateEnd(function () { - buffer.abort(); + _waitForUpdateEnd(function () { + if (buffer) { + buffer.abort(); + } + resolve(); }); } else if (buffer && buffer.setTextTrack && mediaSource.readyState === 'ended') { @@ -32788,36 +33446,49 @@ function SourceBufferSink(config) { }); } - function executeCallback() { + function _executeCallback() { if (callbacks.length > 0) { if (!buffer.updating) { var cb = callbacks.shift(); cb(); // Try to execute next callback if still not updating - executeCallback(); + _executeCallback(); } } } - function updateEndHandler() { + function _updateEndHandler() { // if updating is still in progress do nothing and wait for the next check again. if (buffer.updating) { return; } // updating is completed, now we can stop checking and resolve the promise - executeCallback(); + _executeCallback(); } - function errHandler() { - logger.error('SourceBufferSink error'); + function _errHandler(e) { + var error = e.target || {}; + + _triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_7__["default"].SOURCE_BUFFER_ERROR, { + error: error, + lastRequestAppended: lastRequestAppended + }); } - function waitForUpdateEnd(callback) { + function _triggerEvent(eventType, data) { + var payload = data || {}; + eventBus.trigger(eventType, payload, { + streamId: mediaInfo.streamInfo.id, + mediaType: type + }); + } + + function _waitForUpdateEnd(callback) { callbacks.push(callback); if (!buffer.updating) { - executeCallback(); + _executeCallback(); } } @@ -32830,7 +33501,6 @@ function SourceBufferSink(config) { abort: abort, reset: reset, updateTimestampOffset: updateTimestampOffset, - waitForUpdateEnd: waitForUpdateEnd, initializeForStreamSwitch: initializeForStreamSwitch, initializeForFirstUse: initializeForFirstUse, updateAppendWindow: updateAppendWindow, @@ -32868,6 +33538,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _vo_DashJSError__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./vo/DashJSError */ "./src/streaming/vo/DashJSError.js"); /* harmony import */ var _utils_BoxParser__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/BoxParser */ "./src/streaming/utils/BoxParser.js"); /* harmony import */ var _utils_URLUtils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/URLUtils */ "./src/streaming/utils/URLUtils.js"); +/* harmony import */ var _controllers_BlacklistController__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./controllers/BlacklistController */ "./src/streaming/controllers/BlacklistController.js"); /** * The copyright in this software is being made available under the BSD License, * included below. This software may be subject to other third party and contributor @@ -32911,6 +33582,7 @@ __webpack_require__.r(__webpack_exports__); + var MEDIA_TYPES = [_constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].VIDEO, _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].AUDIO, _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TEXT, _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].MUXED, _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].IMAGE]; function Stream(config) { @@ -32935,7 +33607,7 @@ function Stream(config) { var videoModel = config.videoModel; var streamInfo = config.streamInfo; var settings = config.settings; - var instance, logger, streamProcessors, isInitialized, isActive, hasFinishedBuffering, hasVideoTrack, hasAudioTrack, updateError, isUpdating, fragmentController, thumbnailController, preloaded, boxParser, debug, isEndedEventSignaled, trackChangedEvent; + var instance, logger, streamProcessors, isInitialized, isActive, hasFinishedBuffering, hasVideoTrack, hasAudioTrack, updateError, isUpdating, fragmentController, thumbnailController, segmentBlacklistController, preloaded, boxParser, debug, isEndedEventSignaled, trackChangedEvents; /** * Setup the stream */ @@ -32946,6 +33618,10 @@ function Stream(config) { logger = debug.getLogger(instance); resetInitialSettings(); boxParser = Object(_utils_BoxParser__WEBPACK_IMPORTED_MODULE_11__["default"])(context).getInstance(); + segmentBlacklistController = Object(_controllers_BlacklistController__WEBPACK_IMPORTED_MODULE_13__["default"])(context).create({ + updateEventName: _core_events_Events__WEBPACK_IMPORTED_MODULE_6__["default"].SEGMENT_LOCATION_BLACKLIST_CHANGED, + addBlacklistEventName: _core_events_Events__WEBPACK_IMPORTED_MODULE_6__["default"].SEGMENT_LOCATION_BLACKLIST_ADD + }); fragmentController = Object(_controllers_FragmentController__WEBPACK_IMPORTED_MODULE_3__["default"])(context).create({ streamInfo: streamInfo, mediaPlayerModel: mediaPlayerModel, @@ -33287,7 +33963,8 @@ function Stream(config) { textController: textController, errHandler: errHandler, settings: settings, - boxParser: boxParser + boxParser: boxParser, + segmentBlacklistController: segmentBlacklistController }); streamProcessor.initialize(mediaSource, hasVideoTrack, isFragmented); streamProcessors.push(streamProcessor); @@ -33390,6 +34067,7 @@ function Stream(config) { updateError = {}; isUpdating = false; isEndedEventSignaled = false; + trackChangedEvents = []; } function reset(keepBuffers) { @@ -33402,6 +34080,11 @@ function Stream(config) { abrController.clearDataForStream(streamInfo.id); } + if (segmentBlacklistController) { + segmentBlacklistController.reset(); + segmentBlacklistController = null; + } + resetInitialSettings(keepBuffers); streamInfo = null; unRegisterEvents(); @@ -33475,7 +34158,6 @@ function Stream(config) { if (event.error) { errHandler.error(event.error); logger.fatal(event.error.message); - reset(); } } @@ -33495,7 +34177,7 @@ function Stream(config) { if (manifest.refreshManifestOnSwitchTrack) { logger.debug('Stream - Refreshing manifest for switch track'); - trackChangedEvent = e; + trackChangedEvents.push(e); manifestUpdater.refreshManifest(); } else { processor.selectMediaInfo(mediaInfo).then(function () { @@ -33696,13 +34378,13 @@ function Stream(config) { Promise.all(promises).then(function () { promises = []; - if (trackChangedEvent) { + while (trackChangedEvents.length > 0) { + var trackChangedEvent = trackChangedEvents.pop(); var mediaInfo = trackChangedEvent.newMediaInfo; var processor = getProcessorForMediaInfo(trackChangedEvent.oldMediaInfo); if (!processor) return; promises.push(processor.prepareTrackSwitch()); processor.selectMediaInfo(mediaInfo); - trackChangedEvent = undefined; } return Promise.all(promises); @@ -33962,6 +34644,7 @@ function StreamProcessor(config) { var dashMetrics = config.dashMetrics; var settings = config.settings; var boxParser = config.boxParser; + var segmentBlacklistController = config.segmentBlacklistController; var instance, logger, isDynamic, mediaInfo, mediaInfoArr, bufferController, scheduleController, representationController, shouldUseExplicitTimeForRequest, qualityChangeInProgress, manifestUpdateInProgress, dashHandler, segmentsController, bufferingTime; function setup() { @@ -33984,6 +34667,7 @@ function StreamProcessor(config) { eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_11__["default"].SET_NON_FRAGMENTED_TEXT, _onSetNonFragmentedText, instance); eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_11__["default"].MANIFEST_UPDATED, _onManifestUpdated, instance); eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_11__["default"].STREAMS_COMPOSED, _onStreamsComposed, instance); + eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_11__["default"].SOURCE_BUFFER_ERROR, _onSourceBufferError, instance); } function initialize(mediaSource, hasVideoTrack, isFragmented) { @@ -34123,6 +34807,7 @@ function StreamProcessor(config) { eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_11__["default"].QUOTA_EXCEEDED, _onQuotaExceeded, instance); eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_11__["default"].MANIFEST_UPDATED, _onManifestUpdated, instance); eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_11__["default"].STREAMS_COMPOSED, _onStreamsComposed, instance); + eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_11__["default"].SOURCE_BUFFER_ERROR, _onSourceBufferError, instance); resetInitialSettings(); type = null; streamInfo = null; @@ -34236,7 +34921,7 @@ function StreamProcessor(config) { } // Init segment not in cache, send new request - var request = dashHandler ? dashHandler.getInitRequest(getMediaInfo(), rep) : null; + var request = dashHandler ? dashHandler.getInitRequest(mediaInfo, rep) : null; if (request) { fragmentModel.executeRequest(request); @@ -34258,17 +34943,71 @@ function StreamProcessor(config) { function _onMediaFragmentNeeded(e) { var rescheduleIfNoRequest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - if (manifestUpdateInProgress) { + // Don't schedule next fragments while updating manifest or pruning to avoid buffer inconsistencies + if (manifestUpdateInProgress || bufferController.getIsPruningInProgress()) { _noValidRequest(); return; } - var request = null; - var representation = representationController.getCurrentRepresentation(); - var isMediaFinished = dashHandler.isMediaFinished(representation, bufferingTime); // Check if the media is finished. If so, no need to schedule another request + var request = _getFragmentRequest(); + + if (request) { + shouldUseExplicitTimeForRequest = false; + + _mediaRequestGenerated(request); + } else { + _noMediaRequestGenerated(rescheduleIfNoRequest); + } + } + /** + * If we generated a valid media request we can execute the request. In some cases the segment might be blacklisted. + * @param {object} request + * @private + */ + + + function _mediaRequestGenerated(request) { + if (!isNaN(request.startTime + request.duration)) { + bufferingTime = request.startTime + request.duration; + } + + request.delayLoadingTime = new Date().getTime() + scheduleController.getTimeToLoadDelay(); + scheduleController.setTimeToLoadDelay(0); + + if (!_shouldIgnoreRequest(request)) { + logger.debug("Next fragment request url for stream id ".concat(streamInfo.id, " and media type ").concat(type, " is ").concat(request.url)); + fragmentModel.executeRequest(request); + } else { + logger.warn("Fragment request url ".concat(request.url, " for stream id ").concat(streamInfo.id, " and media type ").concat(type, " is on the ignore list and will be skipped")); + + _noValidRequest(); + } + } + /** + * We could not generate a valid request. Check if the media is finished, we are stuck in a gap or simply need to wait for the next segment to be available. + * @param {boolean} rescheduleIfNoRequest + * @private + */ + - if (isMediaFinished) { + function _noMediaRequestGenerated(rescheduleIfNoRequest) { + var representation = representationController.getCurrentRepresentation(); // If this statement is true we are stuck. A static manifest does not change and we did not find a valid request for the target time + // There is no point in trying again. We need to adjust the time in order to find a valid request. This can happen if the user/app seeked into a gap. + + if (settings.get().streaming.gaps.enableSeekFix && !isDynamic && shouldUseExplicitTimeForRequest && playbackController.isSeeking()) { + var adjustedTime = dashHandler.getValidSeekTimeCloseToTargetTime(bufferingTime, mediaInfo, representation, settings.get().streaming.gaps.threshold); + + if (!isNaN(adjustedTime)) { + playbackController.seek(adjustedTime, false, false); + return; + } + } // Check if the media is finished. If so, no need to schedule another request + + + var isLastSegmentRequested = dashHandler.isLastSegmentRequested(representation, bufferingTime); + + if (isLastSegmentRequested) { var segmentIndex = dashHandler.getCurrentIndex(); logger.debug("Segment requesting for stream ".concat(streamInfo.id, " has finished")); eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_11__["default"].STREAM_REQUESTING_COMPLETED, { @@ -34277,33 +35016,29 @@ function StreamProcessor(config) { streamId: streamInfo.id, mediaType: type }); + bufferController.segmentRequestingCompleted(segmentIndex); scheduleController.clearScheduleTimer(); return; - } // Don't schedule next fragments while pruning to avoid buffer inconsistencies + } + if (rescheduleIfNoRequest) { + _noValidRequest(); + } + } + /** + * In certain situations we need to ignore a request. For instance, if a segment is blacklisted because it caused an MSE error. + * @private + */ - if (!bufferController.getIsPruningInProgress()) { - request = _getFragmentRequest(); - if (request) { - shouldUseExplicitTimeForRequest = false; + function _shouldIgnoreRequest(request) { + var blacklistUrl = request.url; - if (!isNaN(request.startTime + request.duration)) { - bufferingTime = request.startTime + request.duration; - } - - request.delayLoadingTime = new Date().getTime() + scheduleController.getTimeToLoadDelay(); - scheduleController.setTimeToLoadDelay(0); - } + if (request.range) { + blacklistUrl = blacklistUrl.concat('_', request.range); } - if (request) { - logger.debug("Next fragment request url for stream id ".concat(streamInfo.id, " and media type ").concat(type, " is ").concat(request.url)); - fragmentModel.executeRequest(request); - } else if (rescheduleIfNoRequest) { - // Use case - Playing at the bleeding live edge and frag is not available yet. Cycle back around. - _noValidRequest(); - } + return segmentBlacklistController.contains(blacklistUrl); } /** * Get the init or media segment request using the DashHandler. @@ -34327,9 +35062,9 @@ function StreamProcessor(config) { var representation = representationController && representationInfo ? representationController.getRepresentationForQuality(representationInfo.quality) : null; if (useTime) { - request = dashHandler.getSegmentRequestForTime(getMediaInfo(), representation, bufferingTime); + request = dashHandler.getSegmentRequestForTime(mediaInfo, representation, bufferingTime); } else { - request = dashHandler.getNextSegmentRequest(getMediaInfo(), representation); + request = dashHandler.getNextSegmentRequest(mediaInfo, representation); } } @@ -34392,6 +35127,28 @@ function StreamProcessor(config) { scheduleController.startScheduleTimer(); } } + /** + * This function is called when the corresponding SourceBuffer encountered an error. + * We blacklist the last segment assuming it caused the error + * @param {object} e + * @private + */ + + + function _onSourceBufferError(e) { + if (!e || !e.lastRequestAppended || !e.lastRequestAppended.url) { + return; + } + + var blacklistUrl = e.lastRequestAppended.url; + + if (e.lastRequestAppended.range) { + blacklistUrl = blacklistUrl.concat('_', e.lastRequestAppended.range); + } + + logger.warn("Blacklisting segment with url ".concat(blacklistUrl)); + segmentBlacklistController.add(blacklistUrl); + } /** * The quality has changed which means we have switched to a different representation. * If we want to aggressively replace existing parts in the buffer we need to make sure that the new quality is higher than the already buffered one. @@ -34732,7 +35489,7 @@ function StreamProcessor(config) { function probeNextRequest() { var representationInfo = getRepresentationInfo(); var representation = representationController && representationInfo ? representationController.getRepresentationForQuality(representationInfo.quality) : null; - var request = dashHandler.getNextSegmentRequestIdempotent(getMediaInfo(), representation); + var request = dashHandler.getNextSegmentRequestIdempotent(mediaInfo, representation); return request; } @@ -35067,7 +35824,6 @@ function XlinkLoader(config) { dashMetrics: config.dashMetrics, mediaPlayerModel: config.mediaPlayerModel, requestModifier: config.requestModifier, - useFetch: config.settings ? config.settings.get().streaming.lowLatencyEnabled : null, errors: _core_errors_Errors__WEBPACK_IMPORTED_MODULE_7__["default"] }); var instance; @@ -35452,6 +36208,13 @@ var Constants = /*#__PURE__*/function () { */ this.TRACK_SELECTION_MODE_WIDEST_RANGE = 'widestRange'; + /** + * @constant {string} TRACK_SELECTION_MODE_WIDEST_RANGE makes the player select the track with the highest selectionPriority as defined in the manifest + * @memberof Constants# + * @static + */ + + this.TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY = 'highestSelectionPriority'; /** * @constant {string} CMCD_MODE_QUERY specifies to attach CMCD metrics as query parameters. * @memberof Constants# @@ -36968,7 +37731,6 @@ function BufferController(config) { setMediaSource(mediaSource); eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].INIT_FRAGMENT_LOADED, _onInitFragmentLoaded, instance); eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].MEDIA_FRAGMENT_LOADED, _onMediaFragmentLoaded, instance); - eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].STREAM_REQUESTING_COMPLETED, _onStreamRequestingCompleted, instance); eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].WALLCLOCK_TIME_UPDATED, _onWallclockTimeUpdated, instance); eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_12__["default"].PLAYBACK_PLAYING, _onPlaybackPlaying, instance); eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_12__["default"].PLAYBACK_PROGRESS, _onPlaybackProgression, instance); @@ -37042,7 +37804,8 @@ function BufferController(config) { var requiredQuality = abrController.getQualityFor(type, streamInfo.id); sourceBufferSink = Object(_SourceBufferSink__WEBPACK_IMPORTED_MODULE_3__["default"])(context).create({ mediaSource: mediaSource, - textController: textController + textController: textController, + eventBus: eventBus }); _initializeSink(mediaInfo, oldBufferSinks, requiredQuality).then(function () { @@ -37113,7 +37876,7 @@ function BufferController(config) { function _onMediaFragmentLoaded(e) { - _appendToBuffer(e.chunk); + _appendToBuffer(e.chunk, e.request); } /** * Append data to the MSE buffer using the SourceBufferSink @@ -37123,14 +37886,15 @@ function BufferController(config) { function _appendToBuffer(chunk) { - sourceBufferSink.append(chunk).then(function (e) { + var request = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + sourceBufferSink.append(chunk, request).then(function (e) { _onAppended(e); })["catch"](function (e) { _onAppended(e); }); if (chunk.mediaInfo.type === _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].VIDEO) { - triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].VIDEO_CHUNK_RECEIVED, { + _triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].VIDEO_CHUNK_RECEIVED, { chunk: chunk }); } @@ -37154,22 +37918,26 @@ function BufferController(config) { if (e.error.code === QUOTA_EXCEEDED_ERROR_CODE || !hasEnoughSpaceToAppend()) { logger.warn('Clearing playback buffer to overcome quota exceed situation'); // Notify ScheduleController to stop scheduling until buffer has been pruned - triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].QUOTA_EXCEEDED, { + _triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].QUOTA_EXCEEDED, { criticalBufferLevel: criticalBufferLevel, quotaExceededTime: e.chunk.start }); + clearBuffers(getClearRanges()); } return; - } + } // Check if session has not been stopped in the meantime (while last segment was being appended) + + + if (!sourceBufferSink) return; _updateBufferLevel(); isQuotaExceeded = false; appendedBytesInfo = e.chunk; - if (!appendedBytesInfo.endFragment) { + if (!appendedBytesInfo || !appendedBytesInfo.endFragment) { return; } @@ -37190,7 +37958,7 @@ function BufferController(config) { } if (appendedBytesInfo) { - triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BYTES_APPENDED_END_FRAGMENT, { + _triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BYTES_APPENDED_END_FRAGMENT, { quality: appendedBytesInfo.quality, startTime: appendedBytesInfo.start, index: appendedBytesInfo.index, @@ -37229,7 +37997,16 @@ function BufferController(config) { range = getRangeAt(seekTarget, segmentDuration); if (!range) return; - if (currentTime < range.start) { + if (settings.get().streaming.buffer.enableSeekDecorrelationFix && Math.abs(currentTime - seekTarget) > segmentDuration) { + // If current video model time is decorrelated from seek target (and appended buffer) then seek video element + // (in case of live streams on some browsers/devices for which we can't set video element time at unavalaible range) + // Check if appended segment is not anterior from seek target (segments timeline/template tolerance) + if (seekTarget <= range.end) { + // Seek video element to seek target or range start if appended buffer starts after seek target (segments timeline/template tolerance) + playbackController.seek(Math.max(seekTarget, range.start), false, true); + seekTarget = NaN; + } + } else if (currentTime < range.start) { // If appended buffer starts after seek target (segments timeline/template tolerance) then seek to range start playbackController.seek(range.start, false, true); seekTarget = NaN; @@ -37515,10 +38292,12 @@ function BufferController(config) { if (playbackController) { var tolerance = settings.get().streaming.gaps.jumpGaps && !isNaN(settings.get().streaming.gaps.smallGapLimit) ? settings.get().streaming.gaps.smallGapLimit : NaN; bufferLevel = Math.max(getBufferLength(playbackController.getTime() || 0, tolerance), 0); - triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFER_LEVEL_UPDATED, { + + _triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFER_LEVEL_UPDATED, { mediaType: type, bufferLevel: bufferLevel }); + checkIfSufficientBuffer(); } } @@ -37556,10 +38335,13 @@ function BufferController(config) { } bufferState = state; - triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFER_LEVEL_STATE_CHANGED, { + + _triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFER_LEVEL_STATE_CHANGED, { state: state }); - triggerEvent(state === _constants_MetricsConstants__WEBPACK_IMPORTED_MODULE_1__["default"].BUFFER_LOADED ? _core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFER_LOADED : _core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFER_EMPTY); + + _triggerEvent(state === _constants_MetricsConstants__WEBPACK_IMPORTED_MODULE_1__["default"].BUFFER_LOADED ? _core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFER_LOADED : _core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFER_EMPTY); + logger.debug(state === _constants_MetricsConstants__WEBPACK_IMPORTED_MODULE_1__["default"].BUFFER_LOADED ? 'Got enough buffer to start' : 'Waiting for more buffer before starting playback'); } /* prune buffer on our own in background to avoid browsers pruning buffer silently */ @@ -37701,7 +38483,8 @@ function BufferController(config) { if (e.unintended) { logger.warn('Detected unintended removal from:', e.from, 'to', e.to, 'setting streamprocessor time to', e.from); - triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].SEEK_TARGET, { + + _triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].SEEK_TARGET, { time: e.from }); } @@ -37715,7 +38498,7 @@ function BufferController(config) { replacingBuffer = false; } - triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFER_CLEARED, { + _triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFER_CLEARED, { from: e.from, to: e.to, unintended: e.unintended, @@ -37750,9 +38533,9 @@ function BufferController(config) { return Promise.resolve(); } - function _onStreamRequestingCompleted(e) { - if (!isNaN(e.segmentIndex)) { - maximumIndex = e.segmentIndex; + function segmentRequestingCompleted(segmentIndex) { + if (!isNaN(segmentIndex)) { + maximumIndex = segmentIndex; _checkIfBufferingCompleted(); } @@ -37796,7 +38579,7 @@ function BufferController(config) { isBufferingCompleted = value; if (isBufferingCompleted) { - triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFERING_COMPLETED); + _triggerEvent(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].BUFFERING_COMPLETED); } else { maximumIndex = Number.POSITIVE_INFINITY; } @@ -37864,7 +38647,7 @@ function BufferController(config) { seekTarget = value; } - function triggerEvent(eventType, data) { + function _triggerEvent(eventType, data) { var payload = data || {}; eventBus.trigger(eventType, payload, { streamId: streamInfo.id, @@ -37904,7 +38687,6 @@ function BufferController(config) { eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].INIT_FRAGMENT_LOADED, _onInitFragmentLoaded, this); eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].MEDIA_FRAGMENT_LOADED, _onMediaFragmentLoaded, this); eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].WALLCLOCK_TIME_UPDATED, _onWallclockTimeUpdated, this); - eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_5__["default"].STREAM_REQUESTING_COMPLETED, _onStreamRequestingCompleted, this); eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_12__["default"].PLAYBACK_PLAYING, _onPlaybackPlaying, this); eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_12__["default"].PLAYBACK_PROGRESS, _onPlaybackProgression, this); eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_12__["default"].PLAYBACK_TIME_UPDATED, _onPlaybackProgression, this); @@ -37939,7 +38721,8 @@ function BufferController(config) { clearBuffers: clearBuffers, pruneAllSafely: pruneAllSafely, updateBufferTimestampOffset: updateBufferTimestampOffset, - setSeekTarget: setSeekTarget + setSeekTarget: setSeekTarget, + segmentRequestingCompleted: segmentRequestingCompleted }; setup(); return instance; @@ -38314,7 +39097,7 @@ function EventController() { } }; - _iterateAndTriggerCallback(events, callback()); + _iterateAndTriggerCallback(events, callback); } catch (e) {} } /** @@ -38808,7 +39591,7 @@ function GapController() { var instance, lastPlaybackTime, settings, wallclockTicked, gapHandlerInterval, lastGapJumpPosition, playbackController, streamController, videoModel, jumpTimeoutHandler, trackSwitchByMediaType, logger; function initialize() { - registerEvents(); + _registerEvents(); } function setup() { @@ -38817,8 +39600,10 @@ function GapController() { } function reset() { - stopGapHandler(); - unregisterEvents(); + _stopGapHandler(); + + _unregisterEvents(); + resetInitialSettings(); } @@ -38852,7 +39637,7 @@ function GapController() { } } - function registerEvents() { + function _registerEvents() { eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].WALLCLOCK_TIME_UPDATED, _onWallclockTimeUpdated, this); eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].INITIAL_STREAM_SWITCH, _onInitialStreamSwitch, this); eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].PLAYBACK_SEEKING, _onPlaybackSeeking, this); @@ -38860,13 +39645,18 @@ function GapController() { eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].TRACK_CHANGE_RENDERED, _onBufferReplacementEnded, instance); } - function unregisterEvents() { + function _unregisterEvents() { eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].WALLCLOCK_TIME_UPDATED, _onWallclockTimeUpdated, this); eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].INITIAL_STREAM_SWITCH, _onInitialStreamSwitch, this); eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].PLAYBACK_SEEKING, _onPlaybackSeeking, this); eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].BUFFER_REPLACEMENT_STARTED, _onBufferReplacementStarted, instance); - eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].BYTES_APPENDED_END_FRAGMENT, _onBufferReplacementEnded, instance); + eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_2__["default"].TRACK_CHANGE_RENDERED, _onBufferReplacementEnded, instance); } + /** + * Clear scheduled gap jump when seeking + * @private + */ + function _onPlaybackSeeking() { if (jumpTimeoutHandler) { @@ -38895,6 +39685,12 @@ function GapController() { logger.error(e); } } + /** + * Activate gap jumping again once segment of target type has been appended + * @param {object} e + * @private + */ + function _onBufferReplacementEnded(e) { if (!e || !e.mediaType) { @@ -38903,17 +39699,27 @@ function GapController() { trackSwitchByMediaType[e.mediaType] = false; } + /** + * Activate the gap handler after the first stream switch + * @private + */ + function _onInitialStreamSwitch() { if (!gapHandlerInterval) { - startGapHandler(); + _startGapHandler(); } } + /** + * Callback handler for when the wallclock time has been updated + * @private + */ + function _onWallclockTimeUpdated() /*e*/ { - if (!_shouldCheckForGaps()) { + if (!_shouldCheckForGaps(settings.get().streaming.gaps.enableSeekFix)) { return; } @@ -38923,7 +39729,7 @@ function GapController() { var currentTime = playbackController.getTime(); if (lastPlaybackTime === currentTime) { - jumpGap(currentTime, true); + _jumpGap(currentTime, true); } else { lastPlaybackTime = currentTime; lastGapJumpPosition = NaN; @@ -38932,15 +39738,44 @@ function GapController() { wallclockTicked = 0; } } + /** + * Returns if we are supposed to check for gaps + * @param {boolean} checkSeekingState - Usually we are not checking for gaps in the videolement is in seeking state. If this flag is set to true we check for a potential exceptions of this rule. + * @return {boolean} + * @private + */ + function _shouldCheckForGaps() { + var checkSeekingState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var trackSwitchInProgress = Object.keys(trackSwitchByMediaType).some(function (key) { return trackSwitchByMediaType[key]; }); - return !trackSwitchInProgress && settings.get().streaming.gaps.jumpGaps && streamController.getActiveStreamProcessors().length > 0 && !playbackController.isSeeking() && !playbackController.isPaused() && !streamController.getIsStreamSwitchInProgress() && !streamController.getHasMediaOrInitialisationError(); + var shouldIgnoreSeekingState = checkSeekingState ? _shouldIgnoreSeekingState() : false; + return !trackSwitchInProgress && settings.get().streaming.gaps.jumpGaps && streamController.getActiveStreamProcessors().length > 0 && (!playbackController.isSeeking() || shouldIgnoreSeekingState) && !playbackController.isPaused() && !streamController.getIsStreamSwitchInProgress() && !streamController.getHasMediaOrInitialisationError(); } + /** + * There are cases in which we never transition out of the seeking state and still need to jump a gap. For instance if the user seeks right before a gap and video element will not transition out of the seeking state. + * For now limit this to period boundaries. In this case the current period is completely buffered and we are right before the end of the period. + * @private + */ + - function getNextRangeIndex(ranges, currentTime) { + function _shouldIgnoreSeekingState() { + var activeStream = streamController.getActiveStream(); + var streamEnd = parseFloat((activeStream.getStartTime().toFixed(5) + activeStream.getDuration()).toFixed(5)); + return playbackController.getTime() + settings.get().streaming.gaps.threshold >= streamEnd; + } + /** + * Returns the index of the range object that comes after the current time + * @param {object} ranges + * @param {number} currentTime + * @private + * @return {null|number} + */ + + + function _getNextRangeIndex(ranges, currentTime) { try { if (!ranges || ranges.length <= 1 && currentTime > 0) { return NaN; @@ -38964,8 +39799,13 @@ function GapController() { return null; } } + /** + * Starts the interval that checks for gaps + * @private + */ + - function startGapHandler() { + function _startGapHandler() { try { if (!gapHandlerInterval) { logger.debug('Starting the gap controller'); @@ -38975,13 +39815,19 @@ function GapController() { } var currentTime = playbackController.getTime(); - jumpGap(currentTime); + + _jumpGap(currentTime); }, GAP_HANDLER_INTERVAL); } } catch (e) {} } + /** + * Clears the gap interval handler + * @private + */ + - function stopGapHandler() { + function _stopGapHandler() { logger.debug('Stopping the gap controller'); if (gapHandlerInterval) { @@ -38989,8 +39835,15 @@ function GapController() { gapHandlerInterval = null; } } + /** + * Jump a gap + * @param {number} currentTime + * @param {boolean} playbackStalled + * @private + */ + - function jumpGap(currentTime) { + function _jumpGap(currentTime) { var playbackStalled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var smallGapLimit = settings.get().streaming.gaps.smallGapLimit; var jumpLargeGaps = settings.get().streaming.gaps.jumpLargeGaps; @@ -38999,7 +39852,7 @@ function GapController() { var seekToPosition = NaN; var jumpToStreamEnd = false; // Get the range just after current time position - nextRangeIndex = getNextRangeIndex(ranges, currentTime); + nextRangeIndex = _getNextRangeIndex(ranges, currentTime); if (!isNaN(nextRangeIndex)) { var start = ranges.start(nextRangeIndex); @@ -39110,7 +39963,7 @@ __webpack_require__.r(__webpack_exports__); function MediaController() { var context = this.context; var eventBus = Object(_core_EventBus__WEBPACK_IMPORTED_MODULE_2__["default"])(context).getInstance(); - var instance, logger, tracks, settings, initialSettings, lastSelectedTracks, domStorage; + var instance, logger, tracks, settings, initialSettings, lastSelectedTracks, domStorage, customInitialTrackSelectionFunction; function setup() { logger = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_4__["default"])(context).getInstance().getLogger(instance); @@ -39356,6 +40209,7 @@ function MediaController() { function reset() { tracks = {}; lastSelectedTracks = {}; + customInitialTrackSelectionFunction = null; resetInitialSettings(); } @@ -39396,6 +40250,24 @@ function MediaController() { }; } + function getTracksWithHighestSelectionPriority(trackArr) { + var max = 0; + var result = []; + trackArr.forEach(function (track) { + if (!isNaN(track.selectionPriority)) { + // Higher max value. Reset list and add new entry + if (track.selectionPriority > max) { + max = track.selectionPriority; + result = [track]; + } // Same max value add to list + else if (track.selectionPriority === max) { + result.push(track); + } + } + }); + return result; + } + function getTracksWithHighestBitrate(trackArr) { var max = 0; var result = []; @@ -39454,49 +40326,95 @@ function MediaController() { return result; } + function setCustomInitialTrackSelectionFunction(customFunc) { + customInitialTrackSelectionFunction = customFunc; + } + function selectInitialTrack(type, tracks) { if (type === _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TEXT) return tracks[0]; var mode = settings.get().streaming.selectionModeForInitialTrack; - var tmpArr = []; + var tmpArr; - switch (mode) { - case _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TRACK_SELECTION_MODE_HIGHEST_BITRATE: - tmpArr = getTracksWithHighestBitrate(tracks); + if (customInitialTrackSelectionFunction && typeof customInitialTrackSelectionFunction === 'function') { + tmpArr = customInitialTrackSelectionFunction(tracks); + } else { + switch (mode) { + case _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY: + tmpArr = _trackSelectionModeHighestSelectionPriority(tracks); + break; - if (tmpArr.length > 1) { - tmpArr = getTracksWithWidestRange(tmpArr); - } + case _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TRACK_SELECTION_MODE_HIGHEST_BITRATE: + tmpArr = _trackSelectionModeHighestBitrate(tracks); + break; - break; + case _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TRACK_SELECTION_MODE_FIRST_TRACK: + tmpArr = _trackSelectionModeFirstTrack(tracks); + break; - case _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TRACK_SELECTION_MODE_FIRST_TRACK: - tmpArr.push(tracks[0]); - break; + case _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY: + tmpArr = _trackSelectionModeHighestEfficiency(tracks); + break; - case _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY: - tmpArr = getTracksWithHighestEfficiency(tracks); + case _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TRACK_SELECTION_MODE_WIDEST_RANGE: + tmpArr = _trackSelectionModeWidestRange(tracks); + break; - if (tmpArr.length > 1) { - tmpArr = getTracksWithHighestBitrate(tmpArr); - } + default: + logger.warn("Track selection mode ".concat(mode, " is not supported. Falling back to TRACK_SELECTION_MODE_FIRST_TRACK")); + tmpArr = _trackSelectionModeFirstTrack(tracks); + break; + } + } - break; + return tmpArr.length > 0 ? tmpArr[0] : tracks[0]; + } - case _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].TRACK_SELECTION_MODE_WIDEST_RANGE: - tmpArr = getTracksWithWidestRange(tracks); + function _trackSelectionModeHighestSelectionPriority(tracks) { + var tmpArr = getTracksWithHighestSelectionPriority(tracks); - if (tmpArr.length > 1) { - tmpArr = getTracksWithHighestBitrate(tracks); - } + if (tmpArr.length > 1) { + tmpArr = getTracksWithHighestBitrate(tmpArr); + } - break; + if (tmpArr.length > 1) { + tmpArr = getTracksWithWidestRange(tmpArr); + } - default: - logger.warn('Track selection mode is not supported: ' + mode); - break; + return tmpArr; + } + + function _trackSelectionModeHighestBitrate(tracks) { + var tmpArr = getTracksWithHighestBitrate(tracks); + + if (tmpArr.length > 1) { + tmpArr = getTracksWithWidestRange(tmpArr); } - return tmpArr[0]; + return tmpArr; + } + + function _trackSelectionModeFirstTrack(tracks) { + return tracks[0]; + } + + function _trackSelectionModeHighestEfficiency(tracks) { + var tmpArr = getTracksWithHighestEfficiency(tracks); + + if (tmpArr.length > 1) { + tmpArr = getTracksWithHighestBitrate(tmpArr); + } + + return tmpArr; + } + + function _trackSelectionModeWidestRange(tracks) { + var tmpArr = getTracksWithWidestRange(tracks); + + if (tmpArr.length > 1) { + tmpArr = getTracksWithHighestBitrate(tracks); + } + + return tmpArr; } function createTrackInfo() { @@ -39532,6 +40450,7 @@ function MediaController() { isCurrentTrack: isCurrentTrack, setTrack: setTrack, selectInitialTrack: selectInitialTrack, + setCustomInitialTrackSelectionFunction: setCustomInitialTrackSelectionFunction, setInitialSettings: setInitialSettings, getInitialSettings: getInitialSettings, getTracksWithHighestBitrate: getTracksWithHighestBitrate, @@ -39795,15 +40714,16 @@ function PlaybackController() { var ua = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase() : ''; var isSafari = /safari/.test(ua) && !/chrome/.test(ua); minPlaybackRateChange = isSafari ? 0.25 : 0.02; - eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].DATA_UPDATE_COMPLETED, onDataUpdateCompleted, this); - eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].LOADING_PROGRESS, onFragmentLoadProgress, this); - eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].BUFFER_LEVEL_STATE_CHANGED, onBufferLevelStateChanged, this); + eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].DATA_UPDATE_COMPLETED, _onDataUpdateCompleted, this); + eventBus.on(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].LOADING_PROGRESS, _onFragmentLoadProgress, this); + eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].BUFFER_LEVEL_STATE_CHANGED, _onBufferLevelStateChanged, this); eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].PLAYBACK_PROGRESS, _onPlaybackProgression, this); eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].PLAYBACK_TIME_UPDATED, _onPlaybackProgression, this); eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].PLAYBACK_ENDED, _onPlaybackEnded, this, { priority: _core_EventBus__WEBPACK_IMPORTED_MODULE_2__["default"].EVENT_PRIORITY_HIGH }); eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].STREAM_INITIALIZING, _onStreamInitializing, this); + eventBus.on(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].REPRESENTATION_SWITCH, _onRepresentationSwitch, this); if (playOnceInitialized) { playOnceInitialized = false; @@ -40042,14 +40962,15 @@ function PlaybackController() { seekTarget = NaN; if (videoModel) { - eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].DATA_UPDATE_COMPLETED, onDataUpdateCompleted, this); - eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].LOADING_PROGRESS, onFragmentLoadProgress, this); - eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].BUFFER_LEVEL_STATE_CHANGED, onBufferLevelStateChanged, this); + eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].DATA_UPDATE_COMPLETED, _onDataUpdateCompleted, this); + eventBus.off(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].LOADING_PROGRESS, _onFragmentLoadProgress, this); + eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].BUFFER_LEVEL_STATE_CHANGED, _onBufferLevelStateChanged, this); eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].PLAYBACK_PROGRESS, _onPlaybackProgression, this); eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].PLAYBACK_TIME_UPDATED, _onPlaybackProgression, this); eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].PLAYBACK_ENDED, _onPlaybackEnded, this); eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].STREAM_INITIALIZING, _onStreamInitializing, this); - stopPlaybackCatchUp(); + eventBus.off(_streaming_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_6__["default"].REPRESENTATION_SWITCH, _onRepresentationSwitch, this); + videoModel.setPlaybackRate(1.0, true); stopUpdatingWallclockTime(); removeAllListeners(); } @@ -40125,7 +41046,7 @@ function PlaybackController() { if (wallclockTimeIntervalId !== null) return; var tick = function tick() { - onWallclockTime(); + _onWallclockTime(); }; wallclockTimeIntervalId = setInterval(tick, settings.get().streaming.wallclockTimeUpdateInterval); @@ -40161,22 +41082,22 @@ function PlaybackController() { } } - function onDataUpdateCompleted(e) { + function _onDataUpdateCompleted(e) { var representationInfo = adapter.convertRepresentationToRepresentationInfo(e.currentRepresentation); var info = representationInfo ? representationInfo.mediaInfo.streamInfo : null; if (info === null || streamInfo.id !== info.id) return; streamInfo = info; } - function onCanPlay() { + function _onCanPlay() { eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].CAN_PLAY); } - function onCanPlayThrough() { + function _onCanPlayThrough() { eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].CAN_PLAY_THROUGH); } - function onPlaybackStart() { + function _onPlaybackStart() { logger.info('Native video element event: play'); updateCurrentTime(); startUpdatingWallclockTime(); @@ -40185,28 +41106,28 @@ function PlaybackController() { }); } - function onPlaybackWaiting() { + function _onPlaybackWaiting() { logger.info('Native video element event: waiting'); eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].PLAYBACK_WAITING, { playingTime: getTime() }); } - function onPlaybackPlaying() { + function _onPlaybackPlaying() { logger.info('Native video element event: playing'); eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].PLAYBACK_PLAYING, { playingTime: getTime() }); } - function onPlaybackPaused() { + function _onPlaybackPaused() { logger.info('Native video element event: pause'); eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].PLAYBACK_PAUSED, { ended: getEnded() }); } - function onPlaybackSeeking() { + function _onPlaybackSeeking() { // Check if internal seeking to be ignored if (internalSeek) { internalSeek = false; @@ -40229,12 +41150,12 @@ function PlaybackController() { }); } - function onPlaybackSeeked() { + function _onPlaybackSeeked() { logger.info('Native video element event: seeked'); eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].PLAYBACK_SEEKED); } - function onPlaybackTimeUpdated() { + function _onPlaybackTimeUpdated() { if (streamInfo) { eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].PLAYBACK_TIME_UPDATED, { timeToEnd: getTimeToStreamEnd(), @@ -40244,22 +41165,13 @@ function PlaybackController() { } } - function updateLivePlaybackTime() { - var now = Date.now(); - - if (!lastLivePlaybackTime || now > lastLivePlaybackTime + LIVE_UPDATE_PLAYBACK_TIME_INTERVAL_MS) { - lastLivePlaybackTime = now; - onPlaybackTimeUpdated(); - } - } - - function onPlaybackProgress() { + function _onPlaybackProgress() { eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].PLAYBACK_PROGRESS, { streamId: streamInfo.id }); } - function onPlaybackRateChanged() { + function _onPlaybackRateChanged() { var rate = getPlaybackRate(); logger.info('Native video element event: ratechange: ', rate); eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].PLAYBACK_RATE_CHANGED, { @@ -40267,19 +41179,19 @@ function PlaybackController() { }); } - function onPlaybackMetaDataLoaded() { + function _onPlaybackMetaDataLoaded() { logger.info('Native video element event: loadedmetadata'); eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].PLAYBACK_METADATA_LOADED); startUpdatingWallclockTime(); } - function onPlaybackLoadedData() { + function _onPlaybackLoadedData() { logger.info('Native video element event: loadeddata'); eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].PLAYBACK_LOADED_DATA); } // Event to handle the native video element ended event - function onNativePlaybackEnded() { + function _onNativePlaybackEnded() { logger.info('Native video element event: ended'); pause(); stopUpdatingWallclockTime(); @@ -40302,14 +41214,14 @@ function PlaybackController() { } } - function onPlaybackError(event) { + function _onPlaybackError(event) { var target = event.target || event.srcElement; eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].PLAYBACK_ERROR, { error: target.error }); } - function onWallclockTime() { + function _onWallclockTime() { eventBus.trigger(_core_events_Events__WEBPACK_IMPORTED_MODULE_3__["default"].WALLCLOCK_TIME_UPDATED, { isDynamic: isDynamic, time: new Date() @@ -40318,13 +41230,23 @@ function PlaybackController() { if (getIsDynamic()) { if (isPaused()) { - updateLivePlaybackTime(); + _updateLivePlaybackTime(); } else { updateCurrentTime(); } } } + function _updateLivePlaybackTime() { + var now = Date.now(); + + if (!lastLivePlaybackTime || now > lastLivePlaybackTime + LIVE_UPDATE_PLAYBACK_TIME_INTERVAL_MS) { + lastLivePlaybackTime = now; + + _onPlaybackTimeUpdated(); + } + } + function _onPlaybackProgression() { if (isDynamic && _isCatchupEnabled() && settings.get().streaming.liveCatchup.playbackRate > 0 && !isPaused() && !isSeeking()) { if (_needToCatchUp()) { @@ -40592,7 +41514,7 @@ function PlaybackController() { } } - function onFragmentLoadProgress(e) { + function _onFragmentLoadProgress(e) { // If using fetch and stream mode is not available, readjust live latency so it is 20% higher than segment duration if (e.stream === false && settings.get().streaming.lowLatencyEnabled && !isNaN(e.request.duration)) { var minDelay = 1.2 * e.request.duration; @@ -40610,7 +41532,7 @@ function PlaybackController() { } } - function onBufferLevelStateChanged(e) { + function _onBufferLevelStateChanged(e) { // do not stall playback when get an event from Stream that is not active if (e.streamId !== streamInfo.id) return; @@ -40637,6 +41559,30 @@ function PlaybackController() { function _onStreamInitializing(e) { _checkEnableLowLatency(e.mediaInfo); } + /** + * We enable low latency playback if for the current representation availabilityTimeComplete is set to false + * @param e + * @private + */ + + + function _onRepresentationSwitch(e) { + var activeStreamInfo = streamController.getActiveStreamInfo(); + + if (!settings.get().streaming.lowLatencyEnabledByManifest || !e || !activeStreamInfo || !e.currentRepresentation || !e.streamId || e.streamId !== activeStreamInfo.id || !e.mediaType || e.mediaType !== _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].VIDEO && e.mediaType !== _constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].AUDIO) { + return; + } + + var lowLatencyEnabled = !e.currentRepresentation.availabilityTimeComplete; + + if (lowLatencyEnabled) { + settings.update({ + streaming: { + lowLatencyEnabled: lowLatencyEnabled + } + }); + } + } function _checkEnableLowLatency(mediaInfo) { if (mediaInfo && mediaInfo.supplementalProperties && mediaInfo.supplementalProperties[_constants_Constants__WEBPACK_IMPORTED_MODULE_0__["default"].SUPPLEMENTAL_PROPERTY_LL_SCHEME] === 'true') { @@ -40650,41 +41596,41 @@ function PlaybackController() { } function addAllListeners() { - videoModel.addEventListener('canplay', onCanPlay); - videoModel.addEventListener('canplaythrough', onCanPlayThrough); - videoModel.addEventListener('play', onPlaybackStart); - videoModel.addEventListener('waiting', onPlaybackWaiting); - videoModel.addEventListener('playing', onPlaybackPlaying); - videoModel.addEventListener('pause', onPlaybackPaused); - videoModel.addEventListener('error', onPlaybackError); - videoModel.addEventListener('seeking', onPlaybackSeeking); - videoModel.addEventListener('seeked', onPlaybackSeeked); - videoModel.addEventListener('timeupdate', onPlaybackTimeUpdated); - videoModel.addEventListener('progress', onPlaybackProgress); - videoModel.addEventListener('ratechange', onPlaybackRateChanged); - videoModel.addEventListener('loadedmetadata', onPlaybackMetaDataLoaded); - videoModel.addEventListener('loadeddata', onPlaybackLoadedData); + videoModel.addEventListener('canplay', _onCanPlay); + videoModel.addEventListener('canplaythrough', _onCanPlayThrough); + videoModel.addEventListener('play', _onPlaybackStart); + videoModel.addEventListener('waiting', _onPlaybackWaiting); + videoModel.addEventListener('playing', _onPlaybackPlaying); + videoModel.addEventListener('pause', _onPlaybackPaused); + videoModel.addEventListener('error', _onPlaybackError); + videoModel.addEventListener('seeking', _onPlaybackSeeking); + videoModel.addEventListener('seeked', _onPlaybackSeeked); + videoModel.addEventListener('timeupdate', _onPlaybackTimeUpdated); + videoModel.addEventListener('progress', _onPlaybackProgress); + videoModel.addEventListener('ratechange', _onPlaybackRateChanged); + videoModel.addEventListener('loadedmetadata', _onPlaybackMetaDataLoaded); + videoModel.addEventListener('loadeddata', _onPlaybackLoadedData); videoModel.addEventListener('stalled', onPlaybackStalled); - videoModel.addEventListener('ended', onNativePlaybackEnded); + videoModel.addEventListener('ended', _onNativePlaybackEnded); } function removeAllListeners() { - videoModel.removeEventListener('canplay', onCanPlay); - videoModel.removeEventListener('canplaythrough', onCanPlayThrough); - videoModel.removeEventListener('play', onPlaybackStart); - videoModel.removeEventListener('waiting', onPlaybackWaiting); - videoModel.removeEventListener('playing', onPlaybackPlaying); - videoModel.removeEventListener('pause', onPlaybackPaused); - videoModel.removeEventListener('error', onPlaybackError); - videoModel.removeEventListener('seeking', onPlaybackSeeking); - videoModel.removeEventListener('seeked', onPlaybackSeeked); - videoModel.removeEventListener('timeupdate', onPlaybackTimeUpdated); - videoModel.removeEventListener('progress', onPlaybackProgress); - videoModel.removeEventListener('ratechange', onPlaybackRateChanged); - videoModel.removeEventListener('loadedmetadata', onPlaybackMetaDataLoaded); - videoModel.removeEventListener('loadeddata', onPlaybackLoadedData); + videoModel.removeEventListener('canplay', _onCanPlay); + videoModel.removeEventListener('canplaythrough', _onCanPlayThrough); + videoModel.removeEventListener('play', _onPlaybackStart); + videoModel.removeEventListener('waiting', _onPlaybackWaiting); + videoModel.removeEventListener('playing', _onPlaybackPlaying); + videoModel.removeEventListener('pause', _onPlaybackPaused); + videoModel.removeEventListener('error', _onPlaybackError); + videoModel.removeEventListener('seeking', _onPlaybackSeeking); + videoModel.removeEventListener('seeked', _onPlaybackSeeked); + videoModel.removeEventListener('timeupdate', _onPlaybackTimeUpdated); + videoModel.removeEventListener('progress', _onPlaybackProgress); + videoModel.removeEventListener('ratechange', _onPlaybackRateChanged); + videoModel.removeEventListener('loadedmetadata', _onPlaybackMetaDataLoaded); + videoModel.removeEventListener('loadeddata', _onPlaybackLoadedData); videoModel.removeEventListener('stalled', onPlaybackStalled); - videoModel.removeEventListener('ended', onNativePlaybackEnded); + videoModel.removeEventListener('ended', _onNativePlaybackEnded); } instance = { @@ -41294,7 +42240,7 @@ var DVR_WAITING_OFFSET = 2; function StreamController() { var context = this.context; var eventBus = Object(_core_EventBus__WEBPACK_IMPORTED_MODULE_4__["default"])(context).getInstance(); - var instance, logger, capabilities, capabilitiesFilter, manifestUpdater, manifestLoader, manifestModel, adapter, dashMetrics, mediaSourceController, timeSyncController, baseURLController, segmentBaseController, uriFragmentModel, abrController, mediaController, eventController, initCache, urlUtils, errHandler, timelineConverter, streams, activeStream, protectionController, textController, protectionData, autoPlay, isStreamSwitchingInProgress, hasMediaError, hasInitialisationError, mediaSource, videoModel, playbackController, mediaPlayerModel, isPaused, initialPlayback, playbackEndedTimerInterval, bufferSinks, preloadingStreams, supportsChangeType, settings, firstLicenseIsFetched, waitForPlaybackStartTimeout; + var instance, logger, capabilities, capabilitiesFilter, manifestUpdater, manifestLoader, manifestModel, adapter, dashMetrics, mediaSourceController, timeSyncController, baseURLController, segmentBaseController, uriFragmentModel, abrController, mediaController, eventController, initCache, urlUtils, errHandler, timelineConverter, streams, activeStream, protectionController, textController, protectionData, autoPlay, isStreamSwitchingInProgress, hasMediaError, hasInitialisationError, mediaSource, videoModel, playbackController, mediaPlayerModel, isPaused, initialPlayback, playbackEndedTimerInterval, bufferSinks, preloadingStreams, supportsChangeType, settings, firstLicenseIsFetched, waitForPlaybackStartTimeout, errorInformation; function setup() { logger = Object(_core_Debug__WEBPACK_IMPORTED_MODULE_8__["default"])(context).getInstance().getLogger(instance); @@ -41351,7 +42297,7 @@ function StreamController() { function registerEvents() { eventBus.on(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_TIME_UPDATED, _onPlaybackTimeUpdated, instance); eventBus.on(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_SEEKING, _onPlaybackSeeking, instance); - eventBus.on(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_ERROR, onPlaybackError, instance); + eventBus.on(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_ERROR, _onPlaybackError, instance); eventBus.on(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_STARTED, _onPlaybackStarted, instance); eventBus.on(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_PAUSED, _onPlaybackPaused, instance); eventBus.on(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_ENDED, _onPlaybackEnded, instance); @@ -41374,7 +42320,7 @@ function StreamController() { function unRegisterEvents() { eventBus.off(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_TIME_UPDATED, _onPlaybackTimeUpdated, instance); eventBus.off(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_SEEKING, _onPlaybackSeeking, instance); - eventBus.off(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_ERROR, onPlaybackError, instance); + eventBus.off(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_ERROR, _onPlaybackError, instance); eventBus.off(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_STARTED, _onPlaybackStarted, instance); eventBus.off(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_PAUSED, _onPlaybackPaused, instance); eventBus.off(_MediaPlayerEvents__WEBPACK_IMPORTED_MODULE_11__["default"].PLAYBACK_ENDED, _onPlaybackEnded, instance); @@ -41776,7 +42722,7 @@ function StreamController() { function _handleOuterPeriodSeek(e, seekToStream) { // Stop segment requests - var seekTime = e && e.seekTime && !isNaN(e.seekTime) ? e.seekTime : NaN; + var seekTime = e && !isNaN(e.seekTime) ? e.seekTime : NaN; var streamProcessors = activeStream.getProcessors(); var promises = streamProcessors.map(function (sp) { // Cancel everything in case the active stream is still buffering @@ -42202,9 +43148,10 @@ function StreamController() { var refStream = stream ? stream : activeStream ? activeStream : null; if (refStream) { - var start = refStream.getStreamInfo().start; + var refStreamInfo = refStream.getStreamInfo(); return streams.filter(function (stream) { - return stream.getStreamInfo().start > start; + var sInfo = stream.getStreamInfo(); + return sInfo.start > refStreamInfo.start && refStreamInfo.id !== sInfo.id; }); } } catch (e) { @@ -42468,7 +43415,7 @@ function StreamController() { dashMetrics.createPlaylistMetrics(playbackController.getTime() * 1000, startReason); } - function onPlaybackError(e) { + function _onPlaybackError(e) { if (!e.error) return; var msg = ''; @@ -42483,6 +43430,7 @@ function StreamController() { case 3: msg = 'MEDIA_ERR_DECODE'; + errorInformation.counts.mediaErrorDecode += 1; break; case 4: @@ -42498,6 +43446,12 @@ function StreamController() { break; } + if (msg === 'MEDIA_ERR_DECODE' && settings.get().errors.recoverAttempts.mediaErrorDecode >= errorInformation.counts.mediaErrorDecode) { + _handleMediaErrorDecode(); + + return; + } + hasMediaError = true; if (e.error.message) { @@ -42517,6 +43471,22 @@ function StreamController() { errHandler.error(new _vo_DashJSError__WEBPACK_IMPORTED_MODULE_14__["default"](e.error.code, msg)); reset(); } + /** + * Handles mediaError + * @private + */ + + + function _handleMediaErrorDecode() { + logger.warn('A MEDIA_ERR_DECODE occured: Resetting the MediaSource'); + var time = playbackController.getTime(); // Deactivate the current stream. + + activeStream.deactivate(false); // Reset MSE + + logger.warn("MediaSource has been resetted. Resuming playback from time ".concat(time)); + + _openMediaSource(time, false); + } function getActiveStreamInfo() { return activeStream ? activeStream.getStreamInfo() : null; @@ -42671,6 +43641,11 @@ function StreamController() { supportsChangeType = false; preloadingStreams = []; waitForPlaybackStartTimeout = null; + errorInformation = { + counts: { + mediaErrorDecode: 0 + } + }; } function reset() { @@ -45339,6 +46314,7 @@ function DVBErrorsTranslator(config) { function handleHttpMetric(vo) { if (vo.responsecode === 0 || // connection failure - unknown + vo.responsecode == null || // Generated on .catch() and when uninitialised vo.responsecode >= 400 || // HTTP error status code vo.responsecode < 100 || // unknown status codes vo.responsecode >= 600) { @@ -46540,7 +47516,8 @@ function CmcdModel() { eventBus.trigger(_metrics_MetricsReportingEvents__WEBPACK_IMPORTED_MODULE_2__["default"].CMCD_DATA_GENERATED, { url: request.url, mediaType: request.mediaType, - cmcdData: cmcdData + cmcdData: cmcdData, + headers: headers }); return headers; } @@ -46585,7 +47562,7 @@ function CmcdModel() { function _getCmcdDataForMpd() { var data = _getGenericCmcdData(); - data.ot = "".concat(OBJECT_TYPES.MANIFEST); + data.ot = OBJECT_TYPES.MANIFEST; return data; } @@ -46630,8 +47607,7 @@ function CmcdModel() { if (nextRequest) { if (request.url !== nextRequest.url) { - var url = new URL(nextRequest.url); - data.nor = url.pathname; + data.nor = encodeURIComponent(_core_Utils__WEBPACK_IMPORTED_MODULE_8__["default"].getRelativeUrl(request.url, nextRequest.url)); } else if (nextRequest.range) { data.nrr = nextRequest.range; } @@ -46700,7 +47676,7 @@ function CmcdModel() { function _getCmcdDataForInitSegment() { var data = _getGenericCmcdData(); - data.ot = "".concat(OBJECT_TYPES.INIT); + data.ot = OBJECT_TYPES.INIT; data.su = true; return data; } @@ -46708,7 +47684,7 @@ function CmcdModel() { function _getCmcdDataForOther() { var data = _getGenericCmcdData(); - data.ot = "".concat(OBJECT_TYPES.OTHER); + data.ot = OBJECT_TYPES.OTHER; return data; } @@ -46811,8 +47787,8 @@ function CmcdModel() { function _onManifestLoaded(data) { try { var isDynamic = dashManifestModel.getIsDynamic(data.data); - var st = isDynamic ? "".concat(STREAM_TYPES.LIVE) : "".concat(STREAM_TYPES.VOD); - var sf = data.protocol && data.protocol === 'MSS' ? "".concat(STREAMING_FORMATS.MSS) : "".concat(STREAMING_FORMATS.DASH); + var st = isDynamic ? STREAM_TYPES.LIVE : STREAM_TYPES.VOD; + var sf = data.protocol && data.protocol === 'MSS' ? STREAMING_FORMATS.MSS : STREAMING_FORMATS.DASH; internalData.st = "".concat(st); internalData.sf = "".concat(sf); } catch (e) {} @@ -46861,7 +47837,7 @@ function CmcdModel() { var cmcdString = keys.reduce(function (acc, key, index) { if (key === 'v' && cmcdData[key] === 1) return acc; // Version key should only be reported if it is != 1 - if (typeof cmcdData[key] === 'string' && (key !== 'ot' || key !== 'sf' || key !== 'st')) { + if (typeof cmcdData[key] === 'string' && key !== 'ot' && key !== 'sf' && key !== 'st') { var string = cmcdData[key].replace(/"/g, '\"'); acc += "".concat(key, "=\"").concat(string, "\""); } else { @@ -46874,7 +47850,9 @@ function CmcdModel() { return acc; }, ''); - cmcdString = cmcdString.replace(/=true/g, ''); + cmcdString = cmcdString.replace(/=true/g, ''); // Remove last comma at the end + + cmcdString = cmcdString.replace(/,\s*$/, ''); return cmcdString; } catch (e) { return null; @@ -48544,9 +49522,10 @@ function VideoModel() { } function setPlaybackRate(value) { + var ignoreReadyState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; if (!element) return; - if (element.readyState <= 2 && value > 0) { + if (!ignoreReadyState && element.readyState <= 2 && value > 0) { // If media element hasn't loaded enough data to play yet, wait until it has element.addEventListener('canplay', onPlaybackCanPlay); } else { @@ -49548,7 +50527,6 @@ function HTTPLoader(cfg) { var mediaPlayerModel = cfg.mediaPlayerModel; var requestModifier = cfg.requestModifier; var boxParser = cfg.boxParser; - var useFetch = cfg.useFetch || false; var errors = cfg.errors; var requestTimeout = cfg.requestTimeout || 0; var eventBus = Object(_core_EventBus__WEBPACK_IMPORTED_MODULE_8__["default"])(context).getInstance(); @@ -49724,7 +50702,7 @@ function HTTPLoader(cfg) { var loader; - if (useFetch && window.fetch && request.responseType === 'arraybuffer' && request.type === _vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_2__["HTTPRequest"].MEDIA_SEGMENT_TYPE) { + if (settings.get().streaming.lowLatencyEnabled && window.fetch && request.responseType === 'arraybuffer' && request.type === _vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_2__["HTTPRequest"].MEDIA_SEGMENT_TYPE) { loader = Object(_FetchLoader__WEBPACK_IMPORTED_MODULE_1__["default"])(context).create({ requestModifier: requestModifier, lowLatencyThroughputModel: lowLatencyThroughputModel, @@ -49754,6 +50732,7 @@ function HTTPLoader(cfg) { } } + request.url = modifiedUrl; var verb = request.checkExistenceOnly ? _vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_2__["HTTPRequest"].HEAD : _vo_metrics_HTTPRequest__WEBPACK_IMPORTED_MODULE_2__["HTTPRequest"].GET; var withCredentials = mediaPlayerModel.getXHRWithCredentialsForType(request.type); httpRequest = { @@ -50048,7 +51027,6 @@ function URLLoader(cfg) { errHandler: cfg.errHandler, mediaPlayerModel: cfg.mediaPlayerModel, requestModifier: cfg.requestModifier, - useFetch: cfg.useFetch || null, dashMetrics: cfg.dashMetrics, boxParser: cfg.boxParser ? cfg.boxParser : null, constants: cfg.constants ? cfg.constants : null, @@ -51703,7 +52681,7 @@ function ProtectionController(config) { return; } - if (xhr.status === 200) { + if (xhr.status >= 200 && xhr.status <= 299) { var licenseResponse = new _vo_LicenseResponse__WEBPACK_IMPORTED_MODULE_6__["default"](xhr.responseURL, _core_Utils__WEBPACK_IMPORTED_MODULE_8__["default"].parseHttpHeaders(xhr.getAllResponseHeaders ? xhr.getAllResponseHeaders() : null), xhr.response); applyFilters(licenseResponseFilters, licenseResponse).then(function () { var licenseMessage = licenseServerData.getLicenseMessage(licenseResponse.data, keySystemString, messageType); @@ -51802,7 +52780,7 @@ function ProtectionController(config) { }; xhr.onload = function () { - if (this.status === 200 || retriesCount <= 0) { + if (this.status >= 200 && this.status <= 299 || retriesCount <= 0) { onLoad(this); } else { logger.warn('License request failed (' + this.status + '). Retrying it... Pending retries: ' + retriesCount); @@ -60462,7 +61440,8 @@ function NotFragmentedTextBufferController(config) { try { sourceBufferSink = Object(_SourceBufferSink__WEBPACK_IMPORTED_MODULE_4__["default"])(context).create({ mediaSource: mediaSource, - textController: textController + textController: textController, + eventBus: eventBus }); sourceBufferSink.initializeForFirstUse(streamInfo, mediaInfo); @@ -60583,6 +61562,8 @@ function NotFragmentedTextBufferController(config) { function setSeekTarget() {} + function segmentRequestingCompleted() {} + function pruneAllSafely() { return Promise.resolve(); } @@ -60619,7 +61600,8 @@ function NotFragmentedTextBufferController(config) { setSeekTarget: setSeekTarget, updateAppendWindow: updateAppendWindow, pruneAllSafely: pruneAllSafely, - updateBufferTimestampOffset: updateBufferTimestampOffset + updateBufferTimestampOffset: updateBufferTimestampOffset, + segmentRequestingCompleted: segmentRequestingCompleted }; setup(); return instance; diff --git a/dist/dash.all.debug.js.map b/dist/dash.all.debug.js.map index 6de3f7d488..f8ba1c561c 100644 --- a/dist/dash.all.debug.js.map +++ b/dist/dash.all.debug.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://dashjs/webpack/universalModuleDefinition","webpack://dashjs/webpack/bootstrap","webpack://dashjs/./externals/base64.js","webpack://dashjs/./externals/cea608-parser.js","webpack://dashjs/./externals/xml2json.js","webpack://dashjs/./index.js","webpack://dashjs/./index_mediaplayerOnly.js","webpack://dashjs/./node_modules/base64-js/index.js","webpack://dashjs/./node_modules/codem-isoboxer/dist/iso_boxer.js","webpack://dashjs/./node_modules/core-util-is/lib/util.js","webpack://dashjs/./node_modules/es6-promise/auto.js","webpack://dashjs/./node_modules/es6-promise/dist/es6-promise.js","webpack://dashjs/./node_modules/fast-deep-equal/index.js","webpack://dashjs/./node_modules/ieee754/index.js","webpack://dashjs/./node_modules/imsc/src/main/js/doc.js","webpack://dashjs/./node_modules/imsc/src/main/js/html.js","webpack://dashjs/./node_modules/imsc/src/main/js/isd.js","webpack://dashjs/./node_modules/imsc/src/main/js/main.js","webpack://dashjs/./node_modules/imsc/src/main/js/names.js","webpack://dashjs/./node_modules/imsc/src/main/js/styles.js","webpack://dashjs/./node_modules/imsc/src/main/js/utils.js","webpack://dashjs/./node_modules/inherits/inherits_browser.js","webpack://dashjs/./node_modules/isarray/index.js","webpack://dashjs/./node_modules/node-libs-browser/node_modules/buffer/index.js","webpack://dashjs/./node_modules/node-libs-browser/node_modules/events/events.js","webpack://dashjs/./node_modules/node-libs-browser/node_modules/timers-browserify/main.js","webpack://dashjs/./node_modules/process-nextick-args/index.js","webpack://dashjs/./node_modules/process/browser.js","webpack://dashjs/./node_modules/readable-stream/duplex-browser.js","webpack://dashjs/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://dashjs/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://dashjs/./node_modules/readable-stream/lib/_stream_readable.js","webpack://dashjs/./node_modules/readable-stream/lib/_stream_transform.js","webpack://dashjs/./node_modules/readable-stream/lib/_stream_writable.js","webpack://dashjs/./node_modules/readable-stream/lib/internal/streams/BufferList.js","webpack://dashjs/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://dashjs/./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://dashjs/./node_modules/readable-stream/passthrough.js","webpack://dashjs/./node_modules/readable-stream/readable-browser.js","webpack://dashjs/./node_modules/readable-stream/transform.js","webpack://dashjs/./node_modules/readable-stream/writable-browser.js","webpack://dashjs/./node_modules/safe-buffer/index.js","webpack://dashjs/./node_modules/sax/lib/sax.js","webpack://dashjs/./node_modules/setimmediate/setImmediate.js","webpack://dashjs/./node_modules/stream-browserify/index.js","webpack://dashjs/./node_modules/string_decoder/lib/string_decoder.js","webpack://dashjs/./node_modules/util-deprecate/browser.js","webpack://dashjs/(webpack)/buildin/global.js","webpack://dashjs/./src/core/Debug.js","webpack://dashjs/./src/core/EventBus.js","webpack://dashjs/./src/core/FactoryMaker.js","webpack://dashjs/./src/core/Settings.js","webpack://dashjs/./src/core/Utils.js","webpack://dashjs/./src/core/Version.js","webpack://dashjs/./src/core/errors/Errors.js","webpack://dashjs/./src/core/errors/ErrorsBase.js","webpack://dashjs/./src/core/events/CoreEvents.js","webpack://dashjs/./src/core/events/Events.js","webpack://dashjs/./src/core/events/EventsBase.js","webpack://dashjs/./src/dash/DashAdapter.js","webpack://dashjs/./src/dash/DashHandler.js","webpack://dashjs/./src/dash/DashMetrics.js","webpack://dashjs/./src/dash/SegmentBaseLoader.js","webpack://dashjs/./src/dash/WebmSegmentBaseLoader.js","webpack://dashjs/./src/dash/constants/DashConstants.js","webpack://dashjs/./src/dash/controllers/RepresentationController.js","webpack://dashjs/./src/dash/controllers/SegmentBaseController.js","webpack://dashjs/./src/dash/controllers/SegmentsController.js","webpack://dashjs/./src/dash/models/DashManifestModel.js","webpack://dashjs/./src/dash/models/PatchManifestModel.js","webpack://dashjs/./src/dash/parser/DashParser.js","webpack://dashjs/./src/dash/parser/maps/CommonProperty.js","webpack://dashjs/./src/dash/parser/maps/MapNode.js","webpack://dashjs/./src/dash/parser/maps/RepresentationBaseValuesMap.js","webpack://dashjs/./src/dash/parser/maps/SegmentValuesMap.js","webpack://dashjs/./src/dash/parser/matchers/BaseMatcher.js","webpack://dashjs/./src/dash/parser/matchers/DateTimeMatcher.js","webpack://dashjs/./src/dash/parser/matchers/DurationMatcher.js","webpack://dashjs/./src/dash/parser/matchers/NumericMatcher.js","webpack://dashjs/./src/dash/parser/matchers/StringMatcher.js","webpack://dashjs/./src/dash/parser/objectiron.js","webpack://dashjs/./src/dash/utils/ListSegmentsGetter.js","webpack://dashjs/./src/dash/utils/Round10.js","webpack://dashjs/./src/dash/utils/SegmentBaseGetter.js","webpack://dashjs/./src/dash/utils/SegmentsUtils.js","webpack://dashjs/./src/dash/utils/TemplateSegmentsGetter.js","webpack://dashjs/./src/dash/utils/TimelineConverter.js","webpack://dashjs/./src/dash/utils/TimelineSegmentsGetter.js","webpack://dashjs/./src/dash/vo/AdaptationSet.js","webpack://dashjs/./src/dash/vo/BaseURL.js","webpack://dashjs/./src/dash/vo/Event.js","webpack://dashjs/./src/dash/vo/EventStream.js","webpack://dashjs/./src/dash/vo/ManifestInfo.js","webpack://dashjs/./src/dash/vo/MediaInfo.js","webpack://dashjs/./src/dash/vo/Mpd.js","webpack://dashjs/./src/dash/vo/PatchOperation.js","webpack://dashjs/./src/dash/vo/Period.js","webpack://dashjs/./src/dash/vo/Representation.js","webpack://dashjs/./src/dash/vo/RepresentationInfo.js","webpack://dashjs/./src/dash/vo/Segment.js","webpack://dashjs/./src/dash/vo/SimpleXPath.js","webpack://dashjs/./src/dash/vo/StreamInfo.js","webpack://dashjs/./src/dash/vo/UTCTiming.js","webpack://dashjs/./src/streaming/FragmentLoader.js","webpack://dashjs/./src/streaming/ManifestLoader.js","webpack://dashjs/./src/streaming/ManifestUpdater.js","webpack://dashjs/./src/streaming/MediaPlayer.js","webpack://dashjs/./src/streaming/MediaPlayerEvents.js","webpack://dashjs/./src/streaming/MediaPlayerFactory.js","webpack://dashjs/./src/streaming/SourceBufferSink.js","webpack://dashjs/./src/streaming/Stream.js","webpack://dashjs/./src/streaming/StreamProcessor.js","webpack://dashjs/./src/streaming/XlinkLoader.js","webpack://dashjs/./src/streaming/constants/ConformanceViolationConstants.js","webpack://dashjs/./src/streaming/constants/Constants.js","webpack://dashjs/./src/streaming/constants/MetricsConstants.js","webpack://dashjs/./src/streaming/constants/ProtectionConstants.js","webpack://dashjs/./src/streaming/controllers/AbrController.js","webpack://dashjs/./src/streaming/controllers/BaseURLController.js","webpack://dashjs/./src/streaming/controllers/BlacklistController.js","webpack://dashjs/./src/streaming/controllers/BufferController.js","webpack://dashjs/./src/streaming/controllers/EventController.js","webpack://dashjs/./src/streaming/controllers/FragmentController.js","webpack://dashjs/./src/streaming/controllers/GapController.js","webpack://dashjs/./src/streaming/controllers/MediaController.js","webpack://dashjs/./src/streaming/controllers/MediaSourceController.js","webpack://dashjs/./src/streaming/controllers/PlaybackController.js","webpack://dashjs/./src/streaming/controllers/ScheduleController.js","webpack://dashjs/./src/streaming/controllers/StreamController.js","webpack://dashjs/./src/streaming/controllers/TimeSyncController.js","webpack://dashjs/./src/streaming/controllers/XlinkController.js","webpack://dashjs/./src/streaming/metrics/MetricsReporting.js","webpack://dashjs/./src/streaming/metrics/MetricsReportingEvents.js","webpack://dashjs/./src/streaming/metrics/controllers/MetricsCollectionController.js","webpack://dashjs/./src/streaming/metrics/controllers/MetricsController.js","webpack://dashjs/./src/streaming/metrics/controllers/MetricsHandlersController.js","webpack://dashjs/./src/streaming/metrics/controllers/RangeController.js","webpack://dashjs/./src/streaming/metrics/controllers/ReportingController.js","webpack://dashjs/./src/streaming/metrics/metrics/MetricsHandlerFactory.js","webpack://dashjs/./src/streaming/metrics/metrics/handlers/BufferLevelHandler.js","webpack://dashjs/./src/streaming/metrics/metrics/handlers/DVBErrorsHandler.js","webpack://dashjs/./src/streaming/metrics/metrics/handlers/GenericMetricHandler.js","webpack://dashjs/./src/streaming/metrics/metrics/handlers/HttpListHandler.js","webpack://dashjs/./src/streaming/metrics/reporting/ReportingFactory.js","webpack://dashjs/./src/streaming/metrics/reporting/reporters/DVBReporting.js","webpack://dashjs/./src/streaming/metrics/utils/DVBErrorsTranslator.js","webpack://dashjs/./src/streaming/metrics/utils/HandlerHelpers.js","webpack://dashjs/./src/streaming/metrics/utils/ManifestParsing.js","webpack://dashjs/./src/streaming/metrics/utils/MetricSerialiser.js","webpack://dashjs/./src/streaming/metrics/utils/RNG.js","webpack://dashjs/./src/streaming/metrics/vo/DVBErrors.js","webpack://dashjs/./src/streaming/metrics/vo/Metrics.js","webpack://dashjs/./src/streaming/metrics/vo/Range.js","webpack://dashjs/./src/streaming/metrics/vo/Reporting.js","webpack://dashjs/./src/streaming/models/BaseURLTreeModel.js","webpack://dashjs/./src/streaming/models/CmcdModel.js","webpack://dashjs/./src/streaming/models/FragmentModel.js","webpack://dashjs/./src/streaming/models/LowLatencyThroughputModel.js","webpack://dashjs/./src/streaming/models/ManifestModel.js","webpack://dashjs/./src/streaming/models/MediaPlayerModel.js","webpack://dashjs/./src/streaming/models/MetricsModel.js","webpack://dashjs/./src/streaming/models/URIFragmentModel.js","webpack://dashjs/./src/streaming/models/VideoModel.js","webpack://dashjs/./src/streaming/net/FetchLoader.js","webpack://dashjs/./src/streaming/net/HTTPLoader.js","webpack://dashjs/./src/streaming/net/SchemeLoaderFactory.js","webpack://dashjs/./src/streaming/net/URLLoader.js","webpack://dashjs/./src/streaming/net/XHRLoader.js","webpack://dashjs/./src/streaming/protection/CommonEncryption.js","webpack://dashjs/./src/streaming/protection/Protection.js","webpack://dashjs/./src/streaming/protection/ProtectionEvents.js","webpack://dashjs/./src/streaming/protection/controllers/ProtectionController.js","webpack://dashjs/./src/streaming/protection/controllers/ProtectionKeyController.js","webpack://dashjs/./src/streaming/protection/drm/KeySystemClearKey.js","webpack://dashjs/./src/streaming/protection/drm/KeySystemPlayReady.js","webpack://dashjs/./src/streaming/protection/drm/KeySystemW3CClearKey.js","webpack://dashjs/./src/streaming/protection/drm/KeySystemWidevine.js","webpack://dashjs/./src/streaming/protection/errors/ProtectionErrors.js","webpack://dashjs/./src/streaming/protection/models/ProtectionModel_01b.js","webpack://dashjs/./src/streaming/protection/models/ProtectionModel_21Jan2015.js","webpack://dashjs/./src/streaming/protection/models/ProtectionModel_3Feb2014.js","webpack://dashjs/./src/streaming/protection/servers/ClearKey.js","webpack://dashjs/./src/streaming/protection/servers/DRMToday.js","webpack://dashjs/./src/streaming/protection/servers/PlayReady.js","webpack://dashjs/./src/streaming/protection/servers/Widevine.js","webpack://dashjs/./src/streaming/protection/vo/ClearKeyKeySet.js","webpack://dashjs/./src/streaming/protection/vo/KeyMessage.js","webpack://dashjs/./src/streaming/protection/vo/KeyPair.js","webpack://dashjs/./src/streaming/protection/vo/KeySystemAccess.js","webpack://dashjs/./src/streaming/protection/vo/KeySystemConfiguration.js","webpack://dashjs/./src/streaming/protection/vo/LicenseRequest.js","webpack://dashjs/./src/streaming/protection/vo/LicenseResponse.js","webpack://dashjs/./src/streaming/protection/vo/MediaCapability.js","webpack://dashjs/./src/streaming/protection/vo/NeedKey.js","webpack://dashjs/./src/streaming/rules/DroppedFramesHistory.js","webpack://dashjs/./src/streaming/rules/RulesContext.js","webpack://dashjs/./src/streaming/rules/SwitchRequest.js","webpack://dashjs/./src/streaming/rules/SwitchRequestHistory.js","webpack://dashjs/./src/streaming/rules/ThroughputHistory.js","webpack://dashjs/./src/streaming/rules/abr/ABRRulesCollection.js","webpack://dashjs/./src/streaming/rules/abr/AbandonRequestsRule.js","webpack://dashjs/./src/streaming/rules/abr/BolaRule.js","webpack://dashjs/./src/streaming/rules/abr/DroppedFramesRule.js","webpack://dashjs/./src/streaming/rules/abr/InsufficientBufferRule.js","webpack://dashjs/./src/streaming/rules/abr/L2ARule.js","webpack://dashjs/./src/streaming/rules/abr/SwitchHistoryRule.js","webpack://dashjs/./src/streaming/rules/abr/ThroughputRule.js","webpack://dashjs/./src/streaming/rules/abr/lolp/LearningAbrController.js","webpack://dashjs/./src/streaming/rules/abr/lolp/LoLpQoEEvaluator.js","webpack://dashjs/./src/streaming/rules/abr/lolp/LoLpRule.js","webpack://dashjs/./src/streaming/rules/abr/lolp/LoLpWeightSelector.js","webpack://dashjs/./src/streaming/rules/abr/lolp/QoeInfo.js","webpack://dashjs/./src/streaming/text/EmbeddedTextHtmlRender.js","webpack://dashjs/./src/streaming/text/NotFragmentedTextBufferController.js","webpack://dashjs/./src/streaming/text/TextController.js","webpack://dashjs/./src/streaming/text/TextSourceBuffer.js","webpack://dashjs/./src/streaming/text/TextTracks.js","webpack://dashjs/./src/streaming/thumbnail/ThumbnailController.js","webpack://dashjs/./src/streaming/thumbnail/ThumbnailTracks.js","webpack://dashjs/./src/streaming/utils/BaseURLSelector.js","webpack://dashjs/./src/streaming/utils/BoxParser.js","webpack://dashjs/./src/streaming/utils/Capabilities.js","webpack://dashjs/./src/streaming/utils/CapabilitiesFilter.js","webpack://dashjs/./src/streaming/utils/CustomTimeRanges.js","webpack://dashjs/./src/streaming/utils/DOMStorage.js","webpack://dashjs/./src/streaming/utils/DefaultURLUtils.js","webpack://dashjs/./src/streaming/utils/EBMLParser.js","webpack://dashjs/./src/streaming/utils/ErrorHandler.js","webpack://dashjs/./src/streaming/utils/InitCache.js","webpack://dashjs/./src/streaming/utils/IsoFile.js","webpack://dashjs/./src/streaming/utils/ObjectUtils.js","webpack://dashjs/./src/streaming/utils/RequestModifier.js","webpack://dashjs/./src/streaming/utils/SupervisorTools.js","webpack://dashjs/./src/streaming/utils/TTMLParser.js","webpack://dashjs/./src/streaming/utils/URLUtils.js","webpack://dashjs/./src/streaming/utils/VTTParser.js","webpack://dashjs/./src/streaming/utils/baseUrlResolution/BasicSelector.js","webpack://dashjs/./src/streaming/utils/baseUrlResolution/DVBSelector.js","webpack://dashjs/./src/streaming/vo/BitrateInfo.js","webpack://dashjs/./src/streaming/vo/DashJSError.js","webpack://dashjs/./src/streaming/vo/DataChunk.js","webpack://dashjs/./src/streaming/vo/FragmentRequest.js","webpack://dashjs/./src/streaming/vo/HeadRequest.js","webpack://dashjs/./src/streaming/vo/IsoBox.js","webpack://dashjs/./src/streaming/vo/IsoBoxSearchInfo.js","webpack://dashjs/./src/streaming/vo/MetricsList.js","webpack://dashjs/./src/streaming/vo/TextRequest.js","webpack://dashjs/./src/streaming/vo/TextTrackInfo.js","webpack://dashjs/./src/streaming/vo/Thumbnail.js","webpack://dashjs/./src/streaming/vo/ThumbnailTrackInfo.js","webpack://dashjs/./src/streaming/vo/URIFragmentData.js","webpack://dashjs/./src/streaming/vo/metrics/BufferLevel.js","webpack://dashjs/./src/streaming/vo/metrics/BufferState.js","webpack://dashjs/./src/streaming/vo/metrics/DVRInfo.js","webpack://dashjs/./src/streaming/vo/metrics/DroppedFrames.js","webpack://dashjs/./src/streaming/vo/metrics/HTTPRequest.js","webpack://dashjs/./src/streaming/vo/metrics/ManifestUpdate.js","webpack://dashjs/./src/streaming/vo/metrics/PlayList.js","webpack://dashjs/./src/streaming/vo/metrics/RepresentationSwitch.js","webpack://dashjs/./src/streaming/vo/metrics/RequestsQueue.js","webpack://dashjs/./src/streaming/vo/metrics/SchedulingInfo.js","webpack://dashjs/util (ignored)","webpack://dashjs/util (ignored)?a5d2"],"names":["UTF8","encode","s","u","i","length","c","charCodeAt","push","decode","a","v","String","fromCharCode","join","BASE64","T","encodeArray","n","charAt","R","decodeArray","pop","ASCII","Uint8Array","encodeASCII","decodeASCII","exports","specialCea608CharsCodes","getCharForByte","byte","charCode","hasOwnProperty","NR_ROWS","NR_COLS","rowsLowCh1","rowsHighCh1","rowsLowCh2","rowsHighCh2","backgroundColors","logger","verboseFilter","time","verboseLevel","setTime","newTime","log","severity","msg","minLevel","console","numArrayToHexArray","numArray","hexArray","j","toString","PenState","foreground","underline","italics","background","flash","prototype","reset","setStyles","styles","attribs","style","isDefault","equals","other","copy","newPenState","StyledUnicodeChar","uchar","penState","setChar","setPenState","newChar","isEmpty","Row","chars","pos","currPenState","equal","empty","setCursor","absPos","moveCursor","relPos","newPos","backSpace","insertChar","char","clearFromPos","startPos","clear","clearToEndOfRow","getTextString","setPenStyles","currChar","CaptionScreen","rows","currRow","nrRollUpRows","row","setPen","setPAC","pacData","JSON","stringify","newRow","indent","prevPos","Math","max","color","setBkgData","bkgData","setRollUpRows","nrRows","rollUp","getDisplayText","topRowIndex","topRow","splice","asOneRow","displayText","text","rowNr","rowText","trim","getTextAndFormat","Cea608Channel","channelNumber","outputFilter","chNr","mode","verbose","displayedMemory","nonDisplayedMemory","lastOutputScreen","currRollUpRow","writeScreen","cueStartTime","modes","lastCueEndTime","getHandler","setHandler","newHandler","setMode","newMode","insertChars","screen","outputDataUpdate","cc_RCL","cc_BS","cc_AOF","cc_AON","cc_DER","cc_RU","cc_FON","cc_RDC","cc_TR","cc_RTD","cc_EDM","cc_CR","cc_ENM","cc_EOC","tmp","cc_TO","nrCols","cc_MIDROW","secondByte","colorIndex","floor","colors","t","updateData","newCue","cueSplitAtTime","Cea608Parser","field","out1","out2","outputs","channels","currChNr","lastCmdA","lastCmdB","bufferedData","startTime","lastTime","dataCounters","index","addData","byteList","cmdFound","b","charsFound","padding","parseCmd","parseMidrow","parsePAC","parseBackgroundAttributes","parseChars","channel","cmd","cond1","cond2","case1","case2","interpretPAC","pacIndex","channelNr","charCodes","charCode1","charCode2","oneCode","hexCodes","findCea608Nalus","raw","size","nalSize","cursor","nalType","cea608NaluRanges","isCEA608SEI","payloadType","payloadSize","countryCode","getUint8","providerCode","getUint16","userIdentifier","getUint32","userDataTypeCode","extractCea608DataFromRange","cea608Range","fieldData","ccCount","ccValid","ccType","ccData1","ccData2","X2JS","config","VERSION","initConfigDefaults","initRequiredPolyfills","escapeMode","undefined","attributePrefix","arrayAccessForm","emptyNodeForm","enableToStringFunc","arrayAccessFormPaths","skipEmptyTextNodesForObj","stripWhitespaces","datetimeAccessFormPaths","useDoubleQuotes","xmlElementsFilter","jsonPropertiesFilter","keepCData","ignoreRoot","DOMNodeTypes","ELEMENT_NODE","TEXT_NODE","CDATA_SECTION_NODE","COMMENT_NODE","DOCUMENT_NODE","getNodeLocalName","node","nodeLocalName","localName","baseName","nodeName","getNodePrefix","prefix","escapeXmlChars","str","replace","unescapeXmlChars","checkInStdFiltersArrayForm","stdFiltersArrayForm","obj","name","path","idx","filterPath","RegExp","test","toArrayAccessForm","childName","Array","fromXmlDateTime","prop","bits","split","d","Date","secondBits","setHours","setMilliseconds","offsetMinutes","Number","sign","setMinutes","getMinutes","getTimezoneOffset","indexOf","UTC","getFullYear","getMonth","getDate","getHours","getSeconds","getMilliseconds","checkFromXmlDateTimePaths","value","fullPath","checkXmlElementsFilter","childType","childPath","parseDOMChildren","nodeType","result","Object","nodeChildren","childNodes","cidx","child","__cnt","children","o","__children","aidx","attributes","attr","value2","m","ml","matchers","matchobj","converter","nodePrefix","__prefix","__text","__cdata","nodeValue","startTag","jsonObj","element","attrList","closed","resultStr","attrName","attrVal","substr","endTag","elementName","endsWith","suffix","jsonXmlSpecialElem","jsonObjField","Function","jsonXmlElemCount","elementsCnt","it","checkJsonObjPropertiesFilter","propertyName","jsonObjPath","parseJSONAttributes","ait","parseJSONTextAttrs","jsonTxtObj","parseJSONTextObject","getJsonPropertyPath","jsonPropName","parseJSONArray","jsonArrRoot","jsonArrObj","arIdx","parseJSONObject","subObj","toISOString","subObjElementsCnt","parseXmlString","xmlDocStr","isIEParser","window","ActiveXObject","xmlDoc","DOMParser","parser","parsererrorNS","parseFromString","getElementsByTagNameNS","err","async","loadXML","asArray","toXmlDateTime","dt","asDateTime","xml2json","xml_str2json","json2xml_str","json2xml","getVersion","dashjs","Protection","MetricsReporting","MediaPlayerFactory","Debug","supportsMediaSource","context","global","MediaPlayer","FactoryMaker","Version","getVersionString","LOG_LEVEL_NONE","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARNING","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG","eventBus","EventBus","getInstance","settings","logFn","instance","showLogTimestamp","showCalleeName","setup","getTime","getLogFn","error","warn","info","debug","fn","bind","getLogger","fatal","setLogTimestampVisible","setCalleeNameVisible","params","doLog","level","_this","message","logTime","getClassName","getType","apply","forEach","item","get","logLevel","dispatchEvent","trigger","Events","LOG","__dashjs_factory_name","factory","getSingletonFactory","updateSingletonFactory","EVENT_PRIORITY_LOW","EVENT_PRIORITY_HIGH","handlers","on","type","listener","scope","options","Error","priority","getHandlerIdx","handler","callback","getStreamId","streamId","mediaType","inserted","some","off","payload","filters","filter","MediaPlayerEvents","EVENT_MODE_ON_RECEIVE","call","singletonContexts","singletonFactories","classFactories","extend","childInstance","override","getSingletonInstance","className","setSingletonInstance","deleteSingletonInstances","x","getFactoryByName","factoriesArray","updateFactory","updateClassFactory","getClassFactoryByName","getClassFactory","classConstructor","create","merge","arguments","getSingletonFactoryByName","args","classInstance","extensionObject","extension","parent","Settings","defaultSettings","streaming","abandonLoadTimeout","wallclockTimeUpdateInterval","lowLatencyEnabled","manifestUpdateRetryInterval","cacheInitSegments","eventControllerRefreshDelay","capabilities","filterUnsupportedEssentialProperties","useMediaCapabilitiesApi","timeShiftBuffer","calcFromSegmentTimeline","fallbackToSegmentTimeline","metrics","maxListDepth","delay","liveDelayFragmentCount","NaN","liveDelay","useSuggestedPresentationDelay","applyServiceDescription","protection","keepProtectionMediaKeys","buffer","fastSwitchEnabled","flushBufferAtTrackSwitch","reuseExistingSourceBuffers","bufferPruningInterval","bufferToKeep","bufferTimeAtTopQuality","bufferTimeAtTopQualityLongForm","initialBufferLevel","stableBufferTime","longFormContentDurationThreshold","stallThreshold","useAppendWindow","setStallState","gaps","jumpGaps","jumpLargeGaps","smallGapLimit","threshold","utcSynchronization","useManifestDateHeaderTimeSource","backgroundAttempts","timeBetweenSyncAttempts","maximumTimeBetweenSyncAttempts","minimumTimeBetweenSyncAttempts","timeBetweenSyncAttemptsAdjustmentFactor","maximumAllowedDrift","enableBackgroundSyncAfterSegmentDownloadError","defaultTimingSource","scheme","scheduling","defaultTimeout","lowLatencyTimeout","scheduleWhilePaused","defaultEnabled","liveCatchup","minDrift","maxDrift","playbackRate","latencyThreshold","playbackBufferMin","enabled","Constants","LIVE_CATCHUP_MODE_DEFAULT","lastBitrateCachingInfo","ttl","lastMediaSettingsCachingInfo","cacheLoadThresholds","video","audio","trackSwitchMode","TRACK_SWITCH_MODE_ALWAYS_REPLACE","TRACK_SWITCH_MODE_NEVER_REPLACE","selectionModeForInitialTrack","TRACK_SELECTION_MODE_HIGHEST_BITRATE","fragmentRequestTimeout","retryIntervals","HTTPRequest","MPD_TYPE","XLINK_EXPANSION_TYPE","MEDIA_SEGMENT_TYPE","INIT_SEGMENT_TYPE","BITSTREAM_SWITCHING_SEGMENT_TYPE","INDEX_SEGMENT_TYPE","MSS_FRAGMENT_INFO_SEGMENT_TYPE","LICENSE","OTHER_TYPE","retryAttempts","abr","movingAverageMethod","MOVING_AVERAGE_SLIDING_WINDOW","ABRStrategy","ABR_STRATEGY_DYNAMIC","additionalAbrRules","insufficientBufferRule","switchHistoryRule","droppedFramesRule","abandonRequestsRule","bandwidthSafetyFactor","useDefaultABRRules","useDeadTimeLatency","limitBitrateByPortal","usePixelRatioInLimitBitrateByPortal","maxBitrate","minBitrate","maxRepresentationRatio","initialBitrate","initialRepresentationRatio","autoSwitchBitrate","fetchThroughputCalculationMode","ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING","cmcd","sid","cid","rtp","rtpSafetyFactor","CMCD_MODE_QUERY","Utils","clone","mixinSettings","source","dest","slice","update","settingsObj","mixin","src","r","l","url","modifiedUrl","URL","param","key","searchParams","set","href","e","headerStr","headers","headerPairs","ilen","headerPair","substring","uuid","random","string","hash","chr","Errors","MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE","MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE","XLINK_LOADER_LOADING_FAILURE_ERROR_CODE","SEGMENT_BASE_LOADER_ERROR_CODE","TIME_SYNC_FAILED_ERROR_CODE","FRAGMENT_LOADER_LOADING_FAILURE_ERROR_CODE","FRAGMENT_LOADER_NULL_REQUEST_ERROR_CODE","URL_RESOLUTION_FAILED_GENERIC_ERROR_CODE","APPEND_ERROR_CODE","REMOVE_ERROR_CODE","DATA_UPDATE_FAILED_ERROR_CODE","CAPABILITY_MEDIASOURCE_ERROR_CODE","CAPABILITY_MEDIAKEYS_ERROR_CODE","DOWNLOAD_ERROR_ID_MANIFEST_CODE","DOWNLOAD_ERROR_ID_SIDX_CODE","DOWNLOAD_ERROR_ID_CONTENT_CODE","DOWNLOAD_ERROR_ID_INITIALIZATION_CODE","DOWNLOAD_ERROR_ID_XLINK_CODE","MANIFEST_ERROR_ID_PARSE_CODE","MANIFEST_ERROR_ID_NOSTREAMS_CODE","TIMED_TEXT_ERROR_ID_PARSE_CODE","MANIFEST_ERROR_ID_MULTIPLEXED_CODE","MEDIASOURCE_TYPE_UNSUPPORTED_CODE","MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE","MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE","XLINK_LOADER_LOADING_FAILURE_ERROR_MESSAGE","SEGMENTS_UPDATE_FAILED_ERROR_MESSAGE","SEGMENTS_UNAVAILABLE_ERROR_MESSAGE","SEGMENT_BASE_LOADER_ERROR_MESSAGE","TIME_SYNC_FAILED_ERROR_MESSAGE","FRAGMENT_LOADER_NULL_REQUEST_ERROR_MESSAGE","URL_RESOLUTION_FAILED_GENERIC_ERROR_MESSAGE","APPEND_ERROR_MESSAGE","REMOVE_ERROR_MESSAGE","DATA_UPDATE_FAILED_ERROR_MESSAGE","CAPABILITY_MEDIASOURCE_ERROR_MESSAGE","CAPABILITY_MEDIAKEYS_ERROR_MESSAGE","TIMED_TEXT_ERROR_MESSAGE_PARSE","MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE","ErrorsBase","errors","publicOnly","CoreEvents","ATTEMPT_BACKGROUND_SYNC","BUFFERING_COMPLETED","BUFFER_CLEARED","BYTES_APPENDED_END_FRAGMENT","BUFFER_REPLACEMENT_STARTED","CHECK_FOR_EXISTENCE_COMPLETED","CURRENT_TRACK_CHANGED","DATA_UPDATE_COMPLETED","INBAND_EVENTS","INITIAL_STREAM_SWITCH","INIT_FRAGMENT_LOADED","INIT_FRAGMENT_NEEDED","INTERNAL_MANIFEST_LOADED","ORIGINAL_MANIFEST_LOADED","LOADING_COMPLETED","LOADING_PROGRESS","LOADING_DATA_PROGRESS","LOADING_ABANDONED","MANIFEST_UPDATED","MEDIA_FRAGMENT_LOADED","MEDIA_FRAGMENT_NEEDED","QUOTA_EXCEEDED","SERVICE_LOCATION_BLACKLIST_ADD","SERVICE_LOCATION_BLACKLIST_CHANGED","SET_FRAGMENTED_TEXT_AFTER_DISABLED","SET_NON_FRAGMENTED_TEXT","STREAMS_COMPOSED","STREAM_BUFFERING_COMPLETED","STREAM_REQUESTING_COMPLETED","TEXT_TRACKS_QUEUE_INITIALIZED","TIME_SYNCHRONIZATION_COMPLETED","UPDATE_TIME_SYNC_OFFSET","URL_RESOLUTION_FAILED","VIDEO_CHUNK_RECEIVED","WALLCLOCK_TIME_UPDATED","XLINK_ELEMENT_LOADED","XLINK_READY","SEEK_TARGET","EventsBase","events","evt","DashAdapter","dashManifestModel","patchManifestModel","voPeriods","currentMediaInfo","constants","cea608parser","PROFILE_DVB","DashManifestModel","PatchManifestModel","setConfig","errHandler","convertRepresentationToRepresentationInfo","voRepresentation","representationInfo","RepresentationInfo","realAdaptation","adaptation","period","mpd","manifest","Period_asArray","AdaptationSet_asArray","realRepresentation","getRepresentationFor","id","quality","bandwidth","getBandwidth","fragmentDuration","segmentDuration","segments","duration","MSETimeOffset","mediaInfo","convertAdaptationToMediaInfo","getMediaInfoForType","streamInfo","selectedVoPeriod","getPeriodForStreamInfo","voAdaptations","getAdaptationsForPeriod","getAdaptationForType","getIndexForAdaptation","getIsMain","getRolesForAdaptation","role","DashConstants","MAIN","periodIndex","adaptations","getAdaptationsForType","allMediaInfoForType","getAllMediaInfoForType","ln","areMediaInfosEqual","mInfoOne","mInfoTwo","sameId","sameCodec","codec","sameViewpoint","viewpoint","sameLang","lang","sameRoles","roles","sameAccessibility","accessibility","sameAudioChannelConfiguration","audioChannelConfiguration","_getAllMediaInfo","embeddedText","mediaArr","data","media","accessibilityLength","parts","convertVideoInfoToEmbeddedTextInfo","CC1","IMAGE","convertVideoInfoToThumbnailInfo","externalManifest","voLocalPeriods","checkConfig","getRegularPeriods","adaptationsForType","TEXT","VIDEO","concat","updatePeriods","newManifest","getStreamsInfo","maxStreamsInfo","streams","convertPeriodToStreamInfo","getRealAdaptation","getAdaptationForId","getAdaptationForIndex","getEssentialPropertiesForRepresentation","representation","getRealPeriodByIndex","getRealPeriodForIndex","getVoRepresentations","voReps","voAdaptation","getAdaptationForMediaInfo","getRepresentationsForAdaptation","getEvent","eventBox","eventStreams","mediaStartTime","isNaN","schemeIdUri","scheme_id_uri","event","Event","timescale","periodStart","start","eventStream","presentationTimeOffset","presentationTimeDelta","presentation_time_delta","calculatedPresentationTime","version","event_duration","messageData","message_data","getEventsFor","StreamInfo","getEventsForPeriod","MediaInfo","getEventStreamForAdaptationSet","getEventStreamForRepresentation","setCurrentMediaInfo","getIsTextTrack","getIsText","getUTCTimingSources","getManifest","getSuggestedPresentationDelay","getAvailabilityStartTime","getMpd","getIsDynamic","getDuration","getLocation","getManifestUpdatePeriod","latencyOfLastUpdate","getPublishTime","getPatchLocation","patchLocation","publishTime","parseFloat","getIsDVB","hasProfile","getIsPatch","getBaseURLsFromElement","getRepresentationSortFunction","getCodec","representationId","addResolutionInfo","getBandwidthForRepresentation","periodIdx","getPeriod","findRepresentation","getIndexForRepresentation","findRepresentationIndex","getMaxIndexForBufferType","bufferType","findMaxBufferIndex","getPeriodById","periods","p","getIsTypeOf","isPatchValid","patch","manifestId","getId","patchManifestId","getMpdId","manifestPublishTime","patchPublishTime","originalManifestPublishTime","getOriginalPublishTime","applyPatchToManifest","getPatchOperations","operation","getMpdTarget","target","leaf","xpath","findsAttribute","action","relativePosition","insertBefore","position","targetArray","keys","insert","insertNodes","updatedNodes","voPeriodsArray","voPeriod","representationCount","getRepresentationCount","labels","getLabelsForAdaptation","getLanguageForAdaptation","getViewpointForAdaptation","getAccessibilityForAdaptation","map","accessibilityValue","accessibilityData","search","embeddedCaptions","getAudioChannelConfigurationForAdaptation","isArray","Representation_asArray","getAudioChannelConfigurationForRepresentation","mimeType","getMimeType","contentProtection","getContentProtectionData","bitrateList","getBitrateListForAdaptation","KID","getKID","isText","supplementalProperties","getSupplementalProperties","isFragmented","getIsFragmented","isEmbedded","parseInt","THRESHOLD","manifestInfo","convertMpdToManifestInfo","isLast","abs","ManifestInfo","DVRWindowSize","timeShiftBufferDepth","loadedTime","availableFrom","availabilityStartTime","minBufferTime","maxFragmentDuration","maxSegmentDuration","isDynamic","serviceDescriptions","getServiceDescriptions","protocol","returnIndex","adaptationSet","adaptationSetArray","representationArray","adaptationSetArrayIndex","representationArrayIndex","DashHandler","urlUtils","segmentsController","timelineConverter","baseURLController","segmentIndex","lastSegment","requestedTime","isDynamicManifest","dynamicStreamCompleted","resetInitialSettings","DYNAMIC_TO_STATIC","onDynamicToStatic","initialize","getStreamInfo","setCurrentIndex","getCurrentIndex","resetIndex","setRequestUrl","request","destination","baseURL","resolve","serviceLocation","isRelative","getInitRequest","_generateInitRequest","FragmentRequest","presentationStartTime","range","calcAvailabilityStartTimeFromPresentationTime","availabilityEndTime","calcAvailabilityEndTimeFromPresentationTime","initialization","replaceTokenForTemplate","_getRequestForSegment","segment","replacementNumber","replacementTime","replaceIDForTemplate","unescapeDollarsInTemplate","mediaRange","wallStartTime","availabilityIdx","adaptationIndex","isMediaFinished","bufferingTime","isFinished","toFixed","endTime","isFinite","getSegmentRequestForTime","segmentInfoType","getSegmentByTime","getNextSegmentRequestIdempotent","indexToRequest","getSegmentByIndex","getNextSegmentRequest","isEndlessMedia","DashMetrics","playListTraceMetricsClosed","playListTraceMetrics","playListMetrics","metricsModel","MetricsModel","getCurrentRepresentationSwitch","getMetricsFor","getCurrent","MetricsConstants","TRACK_SWITCH","addRepresentationSwitch","mt","to","lto","getCurrentBufferState","BUFFER_STATE","getCurrentBufferLevel","metric","BUFFER_LEVEL","Round10","round10","addBufferLevel","addBufferState","state","clearAllCurrentMetrics","getCurrentHttpRequest","httpList","HttpList","currentHttpList","httpListLastIndex","responsecode","getHttpRequests","addRequestsQueue","loadingRequests","executedRequests","metricName","list","getCurrentDroppedFrames","DROPPED_FRAMES","addDroppedFrames","getCurrentSchedulingInfo","SCHEDULING_INFO","addSchedulingInfo","getCurrentManifestUpdate","streamMetrics","STREAM","MANIFEST_UPDATE","updateManifestUpdateInfo","updatedFields","manifestUpdate","addManifestUpdateStreamInfo","addManifestUpdate","requestStartDate","requestEndDate","addHttpRequest","responseURL","responseStatus","responseHeaders","traces","firstByteDate","addManifestUpdateRepresentationInfo","manifestUpdateInfo","streamIndex","startNumber","fragmentInfoType","getCurrentDVRInfo","AUDIO","DVR_INFO","addDVRInfo","currentTime","getLatestMPDRequestHeaderValueByID","httpRequestList","httpRequest","parseHttpHeaders","_responseHeaders","toLowerCase","getLatestFragmentRequestHeaderValueByID","addPlayList","createPlaylistMetrics","startReason","PlayList","mstart","starttype","createPlaylistTraceMetrics","speed","PlayListTrace","representationid","playbackspeed","updatePlayListTraceMetrics","traceToUpdate","pushPlayListTraceMetrics","reason","stopreason","trace","addDVBErrors","SegmentBaseLoader","boxParser","requestModifier","dashMetrics","mediaPlayerModel","urlLoader","dashConstants","URLLoader","useFetch","loadInitialization","Promise","_loadInitializationRecursively","loadingInfo","initRange","baseUrl","init","end","searching","bytesLoaded","bytesToLoad","getFragmentRequest","onload","response","findInitRange","onerror","load","success","loadSegments","_loadSegmentsRecursively","onLoaded","isoFile","sidx","hasRange","extraBytes","loadedLength","byteLength","parse","getBox","isComplete","offset","lastBox","getLastBox","ref","references","loadMultiSidx","reference_type","len","ss","se","segs","count","tmpCallback","sort","referenced_size","getSegmentsForSidx","DashJSError","abort","refs","earliest_presentation_time","first_offset","subsegment_duration","Segment","setInfo","WebmSegmentBaseLoader","WebM","EBML","tag","required","SeekHead","Info","TimecodeScale","Duration","Tracks","Cues","CuePoint","CueTime","CueTrackPositions","CueTrack","CueClusterPosition","Void","MISSING_CONFIG_ERROR","parseCues","ab","cues","ebmlParser","EBMLParser","cue","cueTrack","consumeTagAndSize","moreData","parseTag","CueTracks","consumeTag","cueTrackPositionSize","getMatroskaCodedNum","getPos","Track","ClusterPosition","setPos","parseSegments","segmentStart","segmentEnd","parsed","parseEbmlHeader","theRange","skipOverElement","infoTag","infoElementSize","_getFragmentRequest","onloadend","BASE_URL","SEGMENT_BASE","SEGMENT_TEMPLATE","SEGMENT_LIST","SEGMENT_URL","SEGMENT_TIMELINE","SEGMENT_PROFILES","ADAPTATION_SET","REPRESENTATION","REPRESENTATION_INDEX","SUB_REPRESENTATION","INITIALIZATION","INITIALIZATION_MINUS","MPD","PERIOD","ASSET_IDENTIFIER","EVENT_STREAM","ID","PROFILES","SERVICE_LOCATION","RANGE","INDEX","MEDIA","BYTE_RANGE","INDEX_RANGE","MEDIA_RANGE","VALUE","CONTENT_TYPE","MIME_TYPE","BITSTREAM_SWITCHING","BITSTREAM_SWITCHING_MINUS","CODECS","DEPENDENCY_ID","MEDIA_STREAM_STRUCTURE_ID","METRICS","METRICS_MINUS","REPORTING","WIDTH","HEIGHT","SAR","FRAMERATE","AUDIO_SAMPLING_RATE","MAXIMUM_SAP_PERIOD","START_WITH_SAP","MAX_PLAYOUT_RATE","CODING_DEPENDENCY","SCAN_TYPE","FRAME_PACKING","AUDIO_CHANNEL_CONFIGURATION","CONTENT_PROTECTION","ESSENTIAL_PROPERTY","SUPPLEMENTAL_PROPERTY","INBAND_EVENT_STREAM","ACCESSIBILITY","ROLE","RATING","CONTENT_COMPONENT","SUBSET","LANG","VIEWPOINT","ROLE_ASARRAY","ACCESSIBILITY_ASARRAY","AUDIOCHANNELCONFIGURATION_ASARRAY","CONTENTPROTECTION_ASARRAY","DYNAMIC","STATIC","MEDIA_PRESENTATION_DURATION","MINIMUM_UPDATE_PERIOD","CODEC_PRIVATE_DATA","BANDWITH","SOURCE_URL","TIMESCALE","DURATION","START_NUMBER","PRESENTATION_TIME_OFFSET","AVAILABILITY_START_TIME","AVAILABILITY_END_TIME","TIMESHIFT_BUFFER_DEPTH","MAX_SEGMENT_DURATION","PRESENTATION_TIME","MIN_BUFFER_TIME","MAX_SUBSEGMENT_DURATION","START","AVAILABILITY_TIME_OFFSET","AVAILABILITY_TIME_COMPLETE","CENC_DEFAULT_KID","DVB_PRIORITY","DVB_WEIGHT","SUGGESTED_PRESENTATION_DELAY","SERVICE_DESCRIPTION","SERVICE_DESCRIPTION_SCOPE","SERVICE_DESCRIPTION_LATENCY","SERVICE_DESCRIPTION_PLAYBACK_RATE","PATCH_LOCATION","PUBLISH_TIME","ORIGINAL_PUBLISH_TIME","ORIGINAL_MPD_ID","RepresentationController","abrController","playbackController","updating","voAvailableRepresentations","currentVoRepresentation","MANIFEST_VALIDITY_CHANGED","onManifestValidityChanged","getData","isUpdating","getCurrentRepresentation","newRealAdaptation","availableRepresentations","getRepresentationForQuality","endDataUpdate","promises","currentRep","_updateRepresentation","all","reject","hasInitialization","hasSegments","updateInitData","updateSegmentData","then","_onInitLoaded","_onSegmentsLoaded","_onRepresentationUpdated","fragments","seg","getTimeBasedSegment","availableSegmentsNumber","now","currentRepresentation","currentVideoTimeMs","REPRESENTATION_SWITCH","numberOfRepresentations","getQualityForRepresentation","isAllRepresentationsUpdated","alreadyAdded","repInfo","repSwitch","setPlaybackQuality","dvrInfo","latency","prepareQualityChange","newQuality","newDuration","SegmentBaseController","segmentBaseLoader","webmSegmentBaseLoader","isWebM","getSegmentBaseInitSegment","getSegmentList","indexRange","SegmentsController","segmentBaseController","getters","TimelineSegmentsGetter","TemplateSegmentsGetter","ListSegmentsGetter","SegmentBaseGetter","getSegmentsGetter","lastSegmentTime","getter","URLUtils","isInteger","essentialProperties","THUMBNAILS_SCHEME_ID_URIS","ContentComponent_asArray","MUXED","contentType","mimeTypeRegEx","codecs","getIsAudio","getIsVideo","getIsMuxed","getIsImage","Viewpoint","Role_asArray","Accessibility_asArray","AudioChannelConfiguration_asArray","processAdaptation","getRealAdaptations","getRealPeriods","realPeriods","realAdaptations","objectUtils","ObjectUtils","areEqual","width","height","Label_asArray","labelArray","ContentProtection_asArray","profile","has","profiles","mpdDuration","mediaPresentationDuration","POSITIVE_INFINITY","MAX_SAFE_INTEGER","MAX_VALUE","minimumUpdatePeriod","processedRealAdaptation","realRepresentations","scanType","EssentialProperty_asArray","getRealAdaptationFor","periodArray","voRepresentations","segmentInfo","baseUrls","Representation","codecPrivateData","maxPlayoutRate","SegmentBase","SegmentList","SegmentTemplate","Initialization","sourceURL","calcSegmentDuration","SegmentTimeline","availabilityTimeOffset","availabilityTimeComplete","calcMSETimeOffset","segmentTimeline","s0","S_asArray","s1","presentationOffset","realPeriod","voAdaptationSet","realAdaptationSet","AdaptationSet","realPreviousPeriod","voPreviousPeriod","Period","getPeriodId","getEndTimeForLastPeriod","DEFAULT_ID","Mpd","suggestedPresentationDelay","periodEnd","EventStream_asArray","EventStream","SCHEME_ID_URI","Event_asArray","currentMpdEvent","presentationTime","Signal","Binary","getEventStreams","inbandStreams","adaptationArray","InbandEventStream_asArray","hasAST","utcTimingsArray","UTCTiming_asArray","utcTimingEntries","utcTiming","entry","UTCTiming","entries","BaseURL_asArray","baseUri","earlyReturn","BaseURL","dvb_priority","dvb_weight","LOCATION","Location","Location_asArray","PatchLocation","PatchLocation_asArray","ServiceDescription_asArray","sd","min","SERVICE_DESCRIPTION_LL_SCHEME","SupplementalProperty_asArray","sp","nodeContainer","selector","sel","startsWith","SimpleXPath","isValid","reduce","groups","PatchOperation","DashParser","objectIron","DurationMatcher","DateTimeMatcher","NumericMatcher","StringMatcher","ObjectIron","adaptationset","RepresentationBaseValuesMap","SegmentValuesMap","getMatchers","getIron","performance","jsonTime","Patch","add_asArray","operand","run","replace_asArray","ironedTime","toPrecision","CommonProperty","getDefaultMergeForName","toUpperCase","_name","_merge","MapNode","properties","_properties","_children","commonProperties","BaseMatcher","_test","_converter","SECONDS_IN_MIN","MINUTES_IN_HOUR","MILLISECONDS_IN_SECONDS","datetimeRegex","match","exec","utcDate","timezoneOffset","durationRegex","SECONDS_IN_YEAR","SECONDS_IN_MONTH","SECONDS_IN_DAY","SECONDS_IN_HOUR","attributeList","START_TIME","numericRegex","stringAttrsInElements","attrNames","mappers","mergeValues","parentItem","childItem","mapProperties","property","parentValue","childValue","mapItem","array","len2","childNode","periodMapper","adaptationSets","adaptationSetMapper","SegmentURL_asArray","offsetToSubtract","relativeIndex","getIndexBasedSegment","periodTime","calcPeriodRelativeTimeFromMpdRelativeTime","exp","_decimalAdjust","getIndexByTime","epsilon","frag","ft","fd","zeroPadToLength","numStr","minStrLength","getNumberForSegment","token","formatTag","endPos","formatTagPos","specifier","paddedValue","tokenLen","formatTagLen","getSegment","presentationEndTime","calcWallTimeForSegment","isSegmentAvailable","refTime","getAvailabilityWindowAnchorTime","mediaTime","calcMediaTimeFromPresentationTime","fTimescale","tManifest","scaledTime","scaledDuration","calcPresentationTimeFromMediaTime","template","round","ceil","TimelineConverter","timelineAnchorAvailabilityOffset","clientServerTimeShift","_onUpdateTimeSyncOffset","getClientTimeOffset","setClientTimeOffset","calcAvailabilityTimeFromPresentationTime","calculateAvailabilityEndTime","availabilityTime","calcPresentationTimeFromWallTime","wallTime","displayStartTime","calcTimeShiftBufferWindow","_calcTimeshiftBufferForStaticManifest","_calcTimeShiftBufferWindowForDynamicTimelineManifest","_adjustTimelineAnchorAvailabilityOffset","_calcTimeShiftBufferWindowForDynamicManifest","stream","getAdapter","_adjustTimeBasedOnPeriodRanges","timelineRefData","CONFORMANCE_VIOLATION","ConformanceViolationConstants","LEVELS","WARNING","EVENTS","INVALID_DVR_WINDOW","adapter","periodRange","_calcRangeForTimeline","currentVoPeriod","adjustedEndTime","isEndOfDvrWindow","found","adjustedTime","timeline","repeat","mpdRelativeTime","periodStartTime","iterateSegments","iterFunc","base","repeatEndTime","nextFrag","breakIterator","availabilityEnd","dvrWindow","requiredMediaTime","DEFAULT_DVB_PRIORITY","DEFAULT_DVB_WEIGHT","weight","adaptionSet","root","isSiblingOperation","valid","component","qualifierPoint","qualifier","equalityPoint","attribute","elm","FragmentLoader","requestTimeout","checkForExistence","report","exists","headRequest","HeadRequest","sender","progress","statusText","errorText","ManifestLoader","xlinkController","mssHandler","onXlinkReady","XlinkController","createParser","createMssParser","registerEvents","TextRequest","textStatus","actualUrl","parseBaseUrl","location","setMatchers","setIron","originalUrl","resolveManifestOnLoad","originalManifest","ManifestUpdater","refreshDelay","refreshTimer","isPaused","isStopped","manifestLoader","manifestModel","onStreamsComposed","PLAYBACK_STARTED","onPlaybackStarted","PLAYBACK_PAUSED","onPlaybackPaused","onManifestLoaded","setManifest","stopManifestRefreshTimer","clearTimeout","startManifestRefreshTimer","setTimeout","onRefreshTimer","refreshManifest","ignorePatch","getValue","patchSuccessful","updatedPublishTime","setValue","date","code","STREAMING_NOT_INITIALIZED_ERROR","PLAYBACK_NOT_INITIALIZED_ERROR","ELEMENT_NOT_ATTACHED_ERROR","SOURCE_NOT_ATTACHED_ERROR","MEDIA_PLAYER_NOT_INITIALIZED_ERROR","protectionData","mediaPlayerInitialized","streamingInitialized","playbackInitialized","autoPlay","schemeLoaderFactory","mediaController","protectionController","metricsReportingController","offlineController","capabilitiesFilter","streamController","textController","gapController","cmcdModel","videoModel","uriFragmentModel","domStorage","licenseRequestFilters","licenseResponseFilters","customCapabilitiesFilters","MediaPlayerModel","VideoModel","URIFragmentModel","view","AutoPlay","Capabilities","ErrorHandler","AbrController","SchemeLoaderFactory","PlaybackController","MediaController","StreamController","GapController","CapabilitiesFilter","ManifestModel","CmcdModel","DOMStorage","BaseURLController","BoxParser","RequestModifier","restoreDefaultUTCTimingSources","setAutoPlay","_detectOffline","attachView","attachSource","destroy","isReady","getElement","getDebug","play","pause","seek","checkParameterType","BAD_ARGUMENT_ERROR","getDVRSeekOffset","isSeeking","setPlaybackRate","getVideoElement","getPlaybackRate","setMute","muted","isMuted","setVolume","volume","getVolume","getBufferLength","types","getTracksFor","getDashMetrics","getDVRWindowSize","hasVideoTrack","getLiveDelay","val","getTimeRelativeToStreamId","timeAsUTC","_getAsUTC","durationAsUTC","getTopBitrateInfoFor","getQualityFor","activeStream","getActiveStream","thumbnailController","getThumbnailController","getCurrentTrackIndex","setQualityFor","forceReplace","setTrackByIndex","getActiveStreamInfo","updatePortalSize","setElementSize","setWindowResizeEventCalled","getAutoPlay","getCurrentLiveLatency","addABRCustomRule","rulename","rule","removeABRCustomRule","removeAllABRCustomRule","addUTCTimingSource","removeUTCTimingSource","clearDefaultUTCTimingSources","getAverageThroughput","throughputHistory","getThroughputHistory","setXHRWithCredentialsForType","getXHRWithCredentialsForType","getOfflineController","enableText","enable","activeStreamInfo","enableForcedTextStreaming","isTextEnabled","setTextTrack","getCurrentTextTrackIndex","getCurrentTrackIdx","setElement","_detectProtection","_detectMetricsReporting","_detectMss","switchToVideoElement","_resetPlaybackControllers","_initializePlayback","getTTMLRenderingDiv","attachTTMLRenderingDiv","div","setTTMLRenderingDiv","getBitrateInfoListFor","getBitrateListFor","getStreamsFromManifest","getTracksForTypeFromManifest","getCurrentTrackFor","setInitialMediaSettingsFor","setInitialSettings","getInitialMediaSettingsFor","getInitialSettings","setCurrentTrack","track","setTrack","getProtectionController","attachProtectionController","setProtectionData","registerLicenseRequestFilter","setLicenseRequestFilters","registerLicenseResponseFilter","setLicenseResponseFilters","unregisterLicenseRequestFilter","unregisterFilter","unregisterLicenseResponseFilter","registerCustomCapabilitiesFilter","setCustomCapabilitiesFilters","unregisterCustomCapabilitiesFilter","provideThumbnail","getStreamForTime","timeInPeriod","provide","retrieveManifest","_createManifestLoader","self","getSource","urlOrManifest","getSettings","updateSettings","resetSettings","formatUTC","locales","hour12","withDate","toLocaleDateString","toLocaleTimeString","convertToTimeCode","h","parentNameString","getStreamById","getDashAdapter","stop","_createPlaybackControllers","TextController","createProtectionSystem","metricsReporting","createMetricsReporting","mediaElement","metricsConstants","MssHandler","initSegmentType","ISOBoxer","OfflineController","manifestUpdater","valToConvert","utcValue","resetRecords","loadWithManifest","AST_IN_FUTURE","BUFFER_EMPTY","BUFFER_LOADED","BUFFER_LEVEL_STATE_CHANGED","BUFFER_LEVEL_UPDATED","ERROR","FRAGMENT_LOADING_COMPLETED","FRAGMENT_LOADING_PROGRESS","FRAGMENT_LOADING_STARTED","FRAGMENT_LOADING_ABANDONED","MANIFEST_LOADED","METRICS_CHANGED","METRIC_CHANGED","METRIC_ADDED","METRIC_UPDATED","PERIOD_SWITCH_COMPLETED","STREAM_SWITCH_STARTED","QUALITY_CHANGE_REQUESTED","QUALITY_CHANGE_RENDERED","TRACK_CHANGE_RENDERED","STREAM_INITIALIZING","STREAM_UPDATED","STREAM_ACTIVATED","STREAM_DEACTIVATED","STREAM_INITIALIZED","STREAM_TEARDOWN_COMPLETE","TEXT_TRACKS_ADDED","TEXT_TRACK_ADDED","TTML_PARSED","TTML_TO_PARSE","CAPTION_RENDERED","CAPTION_CONTAINER_RESIZE","CAN_PLAY","CAN_PLAY_THROUGH","PLAYBACK_ENDED","PLAYBACK_ERROR","PLAYBACK_NOT_ALLOWED","PLAYBACK_METADATA_LOADED","PLAYBACK_LOADED_DATA","PLAYBACK_PLAYING","PLAYBACK_PROGRESS","PLAYBACK_RATE_CHANGED","PLAYBACK_SEEKED","PLAYBACK_SEEKING","PLAYBACK_SEEK_ASKED","PLAYBACK_STALLED","PLAYBACK_TIME_UPDATED","PLAYBACK_WAITING","EVENT_MODE_ON_START","mediaPlayerEvents","SUPPORTED_MIME_TYPE","_dashjs_player","player","videoID","querySelectorAll","document","createElement","autoplay","createAll","aPlayers","videos","sources","findVideo","el","parentNode","loadInterval","loadHandler","removeEventListener","loadIntervalHandler","clearInterval","avoidAutoCreate","skipAutoCreate","addEventListener","readyState","setInterval","APPEND_WINDOW_START_OFFSET","APPEND_WINDOW_END_OFFSET","CHECK_INTERVAL","SourceBufferSink","intervalId","callbacks","appendQueue","isAppendingInProgress","mediaSource","initializeForStreamSwitch","mInfo","selectedRepresentation","oldSourceBufferSink","_copyPreviousSinkData","_addEventListeners","_abortBeforeAppend","updateAppendWindow","changeType","updateTimestampOffset","waitForUpdateEnd","getBuffer","initializeForFirstUse","_initializeForText","addSourceBuffer","getTextSourceBuffer","updateEndHandler","_removeEventListeners","sInfo","appendWindowEnd","appendWindowStart","timestampOffset","removeSourceBuffer","getAllBufferRanges","buffered","append","chunk","promise","appendNextInQueue","remove","from","unintended","nextChunk","afterSuccess","segmentType","bytes","appendBuffer","executeCallback","cb","shift","MEDIA_TYPES","Stream","eventController","streamProcessors","isInitialized","isActive","hasFinishedBuffering","hasAudioTrack","updateError","fragmentController","preloaded","isEndedEventSignaled","trackChangedEvent","FragmentController","registerProtectionEvents","initializeForStream","onBufferingCompleted","onDataUpdateCompleted","onInbandEvents","unRegisterEvents","KEY_ERROR","onProtectionError","SERVER_CERTIFICATE_UPDATED","LICENSE_REQUEST_COMPLETE","KEY_SYSTEM_SELECTED","KEY_SESSION_CREATED","KEY_STATUSES_CHANGED","unRegisterProtectionEvents","activate","previousBufferSinks","getPreloaded","_initializeMedia","bufferSinks","_commonMediaInitialization","startPreloading","previousBuffers","setPreloaded","setExplicitBufferingTime","getStartTime","getScheduleController","startScheduleTimer","addInlineEvents","_initializeMediaForType","_createBufferSinks","_checkIfInitializationCompleted","createTracks","allMediaForType","embeddedMediaInfos","initialMediaInfo","addEmbeddedTrack","_isMediaSupported","addTrack","setInitialMediaSettingsForType","addMediaInfosToBuffer","ThumbnailController","streamProcessor","_createStreamProcessor","updateTopQualityIndex","selectMediaInfo","supportsEncryptedMedia","fragmentModel","getModel","StreamProcessor","addMediaInfo","previousBuffersSinks","buffers","createBufferSinks","sink","deactivate","keepBuffers","errored","getFragmentModel","abortRequests","deactivateStream","setIsEndedEventSignaled","getIsActive","setMediaSource","getMediaInfo","clearDataForStream","getIsEndedEventSignaled","getHasAudioTrack","getHasVideoTrack","getBitrateList","prepareTrackChange","newMediaInfo","processor","getProcessorForMediaInfo","refreshManifestOnSwitchTrack","prepareTrackSwitch","_getProcessorByType","hasError","clearMediaInfoArrayByStreamId","initializeForMedia","processors","getProcessors","isBufferingCompleted","addInbandEvents","arr","startScheduleControllers","updatedStreamInfo","updateStreamInfo","clearMediaInfoArray","oldMediaInfo","isMediaCodecCompatible","newStream","previousStream","compareCodecs","isProtectionCompatible","_compareProtectionConfig","currentStreamInfo","newStreamInfo","newAdaptation","currentAdaptation","_isAdaptationDrmProtected","ContentProtection","sameMimeType","oldCodecs","newCodecs","codecMatch","newCodec","partialCodecMatch","oldCodec","codecRootCompatibleWithCodec","getHasFinishedBuffering","mediaInfoArr","bufferController","scheduleController","representationController","shouldUseExplicitTimeForRequest","qualityChangeInProgress","manifestUpdateInProgress","dashHandler","_onDataUpdateCompleted","_onInitFragmentNeeded","_onMediaFragmentNeeded","_onMediaFragmentLoaded","_onBufferLevelStateChanged","_onBufferCleared","_onSeekTarget","_onFragmentLoadingAbandoned","_onFragmentLoadingCompleted","_onQuotaExceeded","_onSetFragmentedTextAfterDisabled","_onSetNonFragmentedText","_onManifestUpdated","_onStreamsComposed","registerStreamType","_createBufferControllerForType","ScheduleController","unRegisterStreamType","prepareInnerPeriodPlaybackSeeking","clearScheduleTimer","prepareForPlaybackSeek","clearRanges","getAllRangesWithSafetyFactor","seekTime","clearBuffers","targetTime","getContinuousBufferTimeForTargetTime","setIsBufferingCompleted","setSeekTarget","getRepresentationInfo","updateBufferTimestampOffset","setInitSegmentRequired","setCheckPlaybackQuality","prepareOuterPeriodPlaybackSeeking","pruneAllSafely","rescheduleIfNoRequest","_noValidRequest","appendInitSegmentFromCache","rep","executeRequest","getIsPruningInProgress","delayLoadingTime","getTimeToLoadDelay","setTimeToLoadDelay","useTime","setCurrentRepresentation","getIsBufferingCompleted","getBufferTarget","REBUFFERING_REASON","syncExecutedRequestsWithBufferedRange","quotaExceeded","hasEnoughSpaceToAppend","_prepareReplacementQualitySwitch","_prepareForFastQualitySwitch","_prepareForDefaultQualitySwitch","REPRESENTATION_SWITCH_STOP_REASON","prepareForReplacementQualitySwitch","_bufferClearedForReplacement","safeBufferLevel","getRequests","FragmentModel","FRAGMENT_MODEL_EXECUTED","bufferLevel","getBufferLevel","abandonmentState","getAbandonmentStateFor","ABANDON_LOAD","_bufferClearedForNonReplacement","getSwitchStrack","isInitializationRequest","_handleFragmentLoadingError","currentTrackInfo","find","quotaExceededTime","getRepresentationController","getBufferController","maxQuality","getMaxAllowedIndexFor","minIdx","getMinAllowedIndexFor","averageThroughput","bitrate","getInitialBitrateFor","getQualityForBitrate","getMediaSource","checkInteger","probeNextRequest","eventStreamMedia","eventStreamTrack","_handleInbandEvents","mediaInbandEvents","trackInbandEvents","inbandEvents","eventBoxes","getBoxes","mediaAnchorTime","fragmentMediaStartTime","createBufferSink","shouldReplace","getTimeToStreamEnd","prepareForNonReplacementTrackSwitch","setSwitchTrack","prepareForReplacementTrackSwitch","controller","NotFragmentedTextBufferController","BufferController","finalisePlayList","XlinkLoader","RESOLVE_TO_ZERO","resolveObject","content","resolveToZero","resolved","resolvedContent","SUGGESTION","NO_UTC_TIMING_ELEMENT","NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE","STPP","TTML","VTT","WVTT","ABR_STRATEGY_BOLA","ABR_STRATEGY_L2A","ABR_STRATEGY_LoLP","ABR_STRATEGY_THROUGHPUT","ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA","ABR_FETCH_THROUGHPUT_CALCULATION_AAST","LIVE_CATCHUP_MODE_LOLP","MOVING_AVERAGE_EWMA","TRACK_SELECTION_MODE_FIRST_TRACK","TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY","TRACK_SELECTION_MODE_WIDEST_RANGE","CMCD_MODE_HEADER","INITIALIZE","TEXT_SHOWING","TEXT_HIDDEN","CC3","SUPPLEMENTAL_PROPERTY_LL_SCHEME","XML","ARRAY_BUFFER","DVB_REPORTING_URL","DVB_PROBABILITY","VIDEO_ELEMENT_READY_STATES","HAVE_NOTHING","HAVE_METADATA","HAVE_CURRENT_DATA","HAVE_FUTURE_DATA","HAVE_ENOUGH_DATA","TCP_CONNECTION","HTTP_REQUEST","ALLOW_LOAD","REQUESTS_QUEUE","MANIFEST_UPDATE_STREAM_INFO","MANIFEST_UPDATE_TRACK_INFO","PLAY_LIST","DVB_ERRORS","ProtectionConstants","CLEARKEY_KEYSTEM_STRING","WIDEVINE_KEYSTEM_STRING","PLAYREADY_KEYSTEM_STRING","DEFAULT_VIDEO_BITRATE","DEFAULT_AUDIO_BITRATE","QUALITY_DEFAULT","abrRulesCollection","topQualities","qualityDict","streamProcessorDict","abandonmentStateDict","abandonmentTimeout","windowResizeEventCalled","elementWidth","elementHeight","playbackIndex","switchHistoryDict","droppedFramesHistory","isUsingBufferOccupancyAbrDict","isUsingL2AAbrDict","isUsingLoLPAbrDict","DroppedFramesHistory","ThroughputHistory","ABRRulesCollection","_onQualityChangeRendered","_onMetricAdded","_onFragmentLoadProgress","SwitchRequestHistory","_initializeAbrStrategy","strategy","rulesContext","RulesContext","currentRequest","useBufferOccupancyABR","useL2AABR","useLoLPABR","switchRequest","shouldAbandonFragment","SwitchRequest","NO_CHANGE","FRAGMENT_MODEL_LOADING","oldValue","newValue","confidence","getPlaybackQuality","_updateAbrStrategy","_checkMaxBitrate","_checkMaxRepresentationRatio","_checkPortalSize","_getMinIndexBasedOnBitrateFor","_getMaxIndexBasedOnBitrateFor","newIdx","maxIdx","bitrates","savedBitrate","getSavedBitrateSettings","configBitrate","configRatio","repIdx","checkPlaybackQuality","playbackQuality","oldQuality","switchHistory","currentValue","getMaxQuality","_changeQuality","topQualityIdx","bitrateInfo","_getBitrateInfoForQuality","setSavedBitrateSettings","deadTimeRatio","infoList","BitrateInfo","qualityIndex","_updateDynamicAbrStrategy","getStableBufferTime","switchOnThreshold","switchOffThreshold","useBufferABR","newUseBufferABR","isPlayingAtTopQuality","audioQuality","videoQuality","isAtTop","hasPixelRatio","pixelRatio","devicePixelRatio","getClientWidth","getClientHeight","clearForStream","baseURLTreeModel","baseURLSelector","onBlackListChanged","invalidateSelectedIndexes","BaseURLTreeModel","BaseURLSelector","chooseSelector","getForPath","select","BlackListController","blacklist","updateEventName","addBlacklistEventName","contains","query","add","onAddBlackList","BUFFER_END_THRESHOLD","BUFFER_RANGE_CALCULATION_THRESHOLD","QUOTA_EXCEEDED_ERROR_CODE","BUFFER_CONTROLLER_TYPE","criticalBufferLevel","maxAppendedIndex","maximumIndex","sourceBufferSink","bufferState","appendedBytesInfo","wallclockTicked","isPruningInProgress","isQuotaExceeded","initCache","pendingPruningRanges","replacingBuffer","seekTarget","InitCache","_onInitFragmentLoaded","_onStreamRequestingCompleted","_onWallclockTimeUpdated","_onPlaybackPlaying","_onPlaybackProgression","_onPlaybackRateChanged","_onPlaybackStalled","getBufferControllerType","_getRepresentationInfo","oldBufferSinks","requiredQuality","_initializeSink","save","_appendToBuffer","extract","_onAppended","triggerEvent","_showBufferRanges","ranges","_handleQuotaExceededError","getClearRanges","_updateBufferLevel","endFragment","_checkIfBufferingCompleted","_adjustSeekTarget","bufferedRanges","getRangeAt","getTotalBufferedTime","bufferAhead","behindPruningRange","_getRangeBehindForPruning","aheadPruningRange","_getRangeAheadForPruning","bufferToKeepBehind","startOfBuffer","behindDiff","rangeEnd","currentTimeRequest","endOfBuffer","isLongFormContent","bufferToKeepAhead","aheadDiff","rangeStart","checkIfSufficientBuffer","tolerance","firstStart","lastEnd","gap","toler","isLastIdxAppended","periodBuffered","_notifyBufferStateChanged","pruneBuffer","startRangeToKeep","behindRange","_addClearRangeWithPromise","clearNextRange","sourceBuffer","_onRemoved","secondsElapsed","totalBufferedTime","eventType","EventController","MPD_RELOAD_SCHEME","MPD_RELOAD_VALUE","MPD_CALLBACK_SCHEME","MPD_CALLBACK_VALUE","REMAINING_EVENTS_THRESHOLD","EVENT_HANDLED_STATES","DISCARDED","UPDATED","ADDED","inlineEvents","eventInterval","lastEventTimerCall","eventHandlingInProgress","isStarted","_setup","_resetInitialSettings","_stop","_onStopEventController","_onEventTimer","values","_addOrUpdateEvent","_startEvent","_handleManifestReloadEvent","shouldOverwriteExistingEvents","eventState","indexOfExistingEvent","findIndex","validUntil","newManifestValidAfter","currentVideoTime","presentationTimeThreshold","_triggerEvents","_triggerRemainingEvents","_eventHasExpired","_eventIsInvalid","_removeEvent","_iterateAndTriggerCallback","periodDuration","calculatedPresentationTimeInSeconds","schemeIdUris","schemeIdEvents","periodEndTime","eventId","_refreshManifest","_sendCallbackRequest","loader","XHRLoader","method","responseType","getInlineEvents","getInbandEvents","fragmentModels","onFragmentLoadingCompleted","model","fragmentLoader","createDataChunk","DataChunk","isInit","strInfo","GAP_HANDLER_INTERVAL","THRESHOLD_TO_STALLS","GAP_JUMP_WAITING_TIME_OFFSET","lastPlaybackTime","gapHandlerInterval","lastGapJumpPosition","jumpTimeoutHandler","trackSwitchByMediaType","stopGapHandler","unregisterEvents","_onInitialStreamSwitch","_onPlaybackSeeking","_onBufferReplacementStarted","_onBufferReplacementEnded","startGapHandler","_shouldCheckForGaps","jumpGap","trackSwitchInProgress","getActiveStreamProcessors","getIsStreamSwitchInProgress","getHasMediaOrInitialisationError","getNextRangeIndex","nextRangeIndex","playbackStalled","getBufferRange","seekToPosition","jumpToStreamEnd","timeToStreamEnd","getStreamEndTime","timeUntilGapEnd","nextStream","internalSeek","timeToWait","tracks","initialSettings","lastSelectedTracks","tracksForType","getSavedMediaSettings","matchSettings","selectInitialTrack","_isMultiTrackSupportedByType","createTrackInfo","mediaTracks","isTracksEqual","current","isCurrentTrack","noSettingsSave","switchMode","extractSettings","storeLastSettings","setSavedMediaSettings","saveTextSettingsDisabled","t1","t2","notEmpty","isTrackActive","matchLang","matchIndex","matchViewPoint","matchRole","matchAccessibility","matchAudioChannelConfiguration","getTracksWithHighestBitrate","trackArr","getTracksWithHighestEfficiency","Infinity","sum","acc","resolution","efficiency","getTracksWithWidestRange","tmpArr","image","MediaSourceController","createMediaSource","hasWebKit","hasMediaSource","MediaSource","WebKitMediaSource","attachMediaSource","objectURL","createObjectURL","setSource","detachMediaSource","setDuration","isBufferUpdating","setSeekable","setLiveSeekableRange","clearLiveSeekableRange","signalEndOfStream","sourceBuffers","endOfStream","LIVE_UPDATE_PLAYBACK_TIME_INTERVAL_MS","wallclockTimeIntervalId","playOnceInitialized","lastLivePlaybackTime","isLowLatencySeekingInProgress","minPlaybackRateChange","periodSwitch","_initializeForFirstStream","_initializeAfterStreamSwitch","addAllListeners","ua","navigator","userAgent","isSafari","onFragmentLoadProgress","onBufferLevelStateChanged","_onPlaybackEnded","_onStreamInitializing","refInfo","isStalled","stickToBuffered","internal","setCurrentTime","seekToLive","DVRMetrics","DVRWindow","getNormalizedTime","timeOffset","getPlayedRanges","getEnded","getStreamController","computeAndSetLiveDelay","ret","END_OF_PLAYLIST_PADDING","MIN_BUFFER_TIME_FACTOR","FRAGMENT_DURATION_FACTOR","adjustedFragmentDuration","_applyServiceDescription","dvrWindowSize","targetDelayCapping","llsd","stopPlaybackCatchUp","stopUpdatingWallclockTime","removeAllListeners","getActualPresentationTime","mediatype","actualTime","startUpdatingWallclockTime","tick","onWallclockTime","updateCurrentTime","getReadyState","timeChanged","onCanPlay","onCanPlayThrough","onPlaybackStart","onPlaybackWaiting","playingTime","onPlaybackPlaying","ended","onPlaybackSeeking","onPlaybackSeeked","onPlaybackTimeUpdated","timeToEnd","updateLivePlaybackTime","onPlaybackProgress","onPlaybackRateChanged","rate","onPlaybackMetaDataLoaded","onPlaybackLoadedData","onNativePlaybackEnded","onPlaybackError","srcElement","_isCatchupEnabled","_needToCatchUp","startPlaybackCatchUp","bl","_getCatchupMode","catchupMode","currentLiveLatency","liveCatchupLatencyThreshold","getLiveCatchupLatencyThreshold","liveCatchUpMinDrift","currentBuffer","_lolpNeedToCatchUpCustom","_defaultNeedToCatchUp","latencyDrift","results","currentPlaybackRate","liveCatchupPlaybackRate","_calculateNewPlaybackRateLolP","_calculateNewPlaybackRateDefault","newRate","deltaLatency","liveCatchUpPlaybackRate","cpr","pow","E","deltaBuffer","minDifference","minDelay","onPlaybackStalled","_checkEnableLowLatency","currentRepresentationInfo","timeToLoadDelay","scheduleTimeout","lastFragmentRequest","topQualityIndex","lastInitializedQuality","switchTrack","initSegmentRequired","_hasVideoTrack","_onBytesAppended","_onURLResolutionFailed","_onPlaybackStarted","_onPlaybackTimeUpdated","timeoutValue","schedule","hasTopQualityChanged","newTopQualityIndex","_shouldClearScheduleTimer","_shouldScheduleNextRequest","qualityChange","_getNextFragment","_shouldBuffer","bufferTarget","_getBufferTargetForFragmentedText","_getBufferTargetForAudio","_getGenericBufferTarget","schedulingInfo","videoBufferLevel","_completeQualityChange","getPlaybackController","PLAYBACK_ENDED_TIMER_INTERVAL","DVR_WAITING_OFFSET","mediaSourceController","timeSyncController","isStreamSwitchingInProgress","hasMediaError","hasInitialisationError","initialPlayback","playbackEndedTimerInterval","preloadingStreams","supportsChangeType","firstLicenseIsFetched","waitForPlaybackStartTimeout","TimeSyncController","autoPl","protData","PROTECTION_CREATED","setMediaElement","_onPlaybackPaused","_onManifestValidityChanged","_onBufferLevelUpdated","_onQualityChanged","KEY_SESSION_UPDATED","_onKeySessionUpdated","_onStreamBufferingCompleted","_onTimeSyncCompleted","_onCurrentTrackChanged","_composeStreams","streamsInfo","clientTimeOffset","_filterOutdatedStreams","_initializeOrUpdateStream","_checkIfPrebufferingCanStart","_addDVRMetric","dvrRange","waitingTime","_getFragmentDurationForLiveDelayCalculation","_getInitialStartTime","initialStream","startStream","_switchStream","_startPlaybackEndedTimerInterval","fromStreamInfo","toStreamInfo","_canSourceBuffersBeReused","_openMediaSource","sourceUrl","_onMediaSourceOpen","revokeObjectURL","_setMediaDuration","_activateStream","_open","sinks","oldTime","seekToStream","_cancelPreloading","_handleInnerPeriodSeek","_handleOuterPeriodSeek","SEEK_START_REASON","_deactivateAllPreloadingStreams","_flushPlaylistMetrics","USER_REQUEST_STOP_REASON","_onStreamCanLoadNext","seamlessPeriodSwitch","streamEnd","activeStreamProcessors","getInitialBufferLevel","INITIAL_PLAYOUT_START_REASON","RESUME_FROM_PAUSE_START_REASON","upcomingStreams","_getNextStreams","_stopPlaybackEndedTimerInterval","baseStart","streamStart","streamDur","_getNextStream","END_OF_PERIOD_STOP_REASON","END_OF_CONTENT_STOP_REASON","refStream","refStreamInfo","targetIndex","lastDiff","diff","manifestDuration","liveEdge","startTimeFromUri","_getStartTimeFromUriParameters","getStreams","fragData","getURIFragmentData","refStreamStartTime","posix","isStillIncluded","shouldKeepStream","streamInfos","mediaTypes","fragmentDurations","manifestUTCTimingSources","allUTCTimingSources","isHTTPS","getDefaultUtcTimingSource","filterUnsupportedFeatures","attemptSync","msExtendedCode","checkInitialize","FAILURE_STOP_REASON","PROTECTION_DESTROYED","targetMediaType","HTTP_TIMEOUT_MS","DEFAULT_MAXIMUM_ALLOWED_DRIFT","DEFAULT_TIME_BETWEEN_SYNC_ATTEMPTS_ADJUSTMENT_FACTOR","DEFAULT_BACKGROUND_ATTEMPTS","DEFAULT_TIME_BETWEEN_SYNC_ATTEMPTS","DEFAULT_MINIMUM_TIME_BETWEEN_BACKGROUND_SYNC_ATTEMPTS","DEFAULT_MAXIMUM_TIME_BETWEEN_SYNC","DEFAULT_MINIMUM_TIME_BETWEEN_SYNC","isSynchronizing","isBackgroundSynchronizing","backgroundSyncTimeOffsets","timingSources","timeOfLastSync","timeOfLastBackgroundSync","lastOffset","lastTimingSource","internalTimeBetweenSyncAttempts","_onAttemptBackgroundSync","_httpHeadHandler","_httpHandler","_xsdatetimeDecoder","_iso8601Decoder","_directHandler","_notSupportedHandler","tSources","_shouldPerformSynchronization","_attemptRecursiveSync","_attemptBackgroundSync","attempts","_completeBackgroundTimeSyncSequence","deviceTimeBeforeSync","serverTime","deviceTimeAfterSync","_calculateOffset","sourceIndex","_onComplete","deviceReferenceTime","failed","_checkForDateHeader","_completeTimeSyncSequence","_alternateXsdatetimeDecoder","xsdatetimeStr","parsedDate","isoStr","_rfc1123Decoder","dateStr","onSuccessCB","onFailureCB","decoder","isHeadRequest","oncomplete","complete","req","XMLHttpRequest","verb","HEAD","GET","urls","status","getResponseHeader","open","timeout","send","dateHeaderValue","dateHeaderTime","offsetToDeviceTimeMs","_adjustTimeBetweenSyncAttempts","shouldAttemptBackgroundSync","isOffsetDriftWithinThreshold","_isOffsetDriftWithinThreshold","adjustedTimeBetweenSyncAttempts","averageOffset","curr","maxAllowedDrift","lowerBound","upperBound","RESOLVE_TYPE_ONLOAD","RESOLVE_TYPE_ONACTUATE","iron","xlinkLoader","onXlinkElementLoaded","elements","getElementsToResolve","resolveType","onXlinkAllElementsLoaded","isHTTPURL","originalContent","openingTag","closingTag","mergedContent","isResolvingFinished","mergeElementsBack","parentElement","toResolve","xlinkObject","createXlinkObject","resolvedElements","k","isInappropriateTarget","elementsToResolve","dvbErrorsTranslator","DVBErrorsTranslator","initialise","MetricsCollectionController","getReportingFactory","ReportingFactory","getMetricsHandlerFactory","MetricsHandlerFactory","MetricsReportingEvents","METRICS_INITIALISATION_COMPLETE","BECAME_REPORTING_PLAYER","CMCD_DATA_GENERATED","metricsReportingEvents","metricsControllers","controllersToRemove","ManifestParsing","getMetrics","MetricsController","resetMetricsControllers","metricsHandlersController","reportingController","rangeController","metricsEntry","RangeController","Range","ReportingController","Reporting","MetricsHandlersController","metricsHandlerFactory","handle","handleNewMetric","midx","ms","nextm","useWallClockTime","rs","starttime","_useWallClockTime","CustomTimeRanges","isEnabled","numRanges","reporters","reportingFactory","reporting","reporter","vos","keyRegex","knownFactoryProducts","BufferLevel","DVBErrors","GenericMetricHandler","RepSwitchList","TcpList","listType","matches","register","unregister","BufferLevelHandler","interval","lastReportedTime","handlerHelpers","HandlerHelpers","storedVOs","getLowestBufferLevelVO","intervalCallback","vo","basename","rc","n_ms","validateN","reconstructFullMetricName","DVBErrorsHandler","onInitialisationComplete","unused","HttpListHandler","storedVos","requestType","knownReportingSchemeIdUris","DVBReporting","moduleName","metricSerialiser","randomNumberGenerator","reportingPlayerStatusDecided","isReportingPlayer","reportingUrl","USE_DRAFT_DVB_SPEC","allowPendingRequestsToCompleteOnReset","pendingRequests","MetricSerialiser","RNG","doGetRequest","successCB","failureCB","reqIndex","serialise","probability","dvb_reportingUrl","dvb_probability","mpdurl","terror","onManifestUpdate","onServiceLocationChanged","errorcode","BASE_URL_CHANGED","servicelocation","onBecameReporter","BECAME_REPORTER","handleHttpMetric","CONNECTION_ERROR","tresponse","_serviceLocation","onMetricEvent","MediaError","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","CORRUPT_MEDIA_OTHER","mn","getMetricsRangeStartTime","dynamic","reportingStartTime","Metrics_asArray","metricEntry","Metrics","Range_asArray","rangeEntry","Reporting_asArray","reportingEntry","pairs","isBuiltIn","encodeURIComponent","crypto","msCrypto","ArrayType","Uint32Array","BYTES_PER_ELEMENT","NUM_RANDOM_NUMBERS","randomNumbers","getRandomValues","rand","ipaddress","SSL_CONNECTION_FAILED_PREFIX","DNS_RESOLUTION_FAILED","HOST_UNREACHABLE","CONNECTION_REFUSED","CORRUPT_MEDIA_ISOBMFF","DEFAULT_DVB_PROBABILITY","DEFAULT_INDEX","Node","_baseUrls","_selectedIdx","selectedIdx","updateChildData","getBaseURLCollectionsFromManifest","pi","ai","ri","walk","nodes","CMCD_REQUEST_FIELD_NAME","CMCD_VERSION","OBJECT_TYPES","MANIFEST","INIT","CAPTION","ISOBMFF_TEXT_TRACK","ENCRYPTION_KEY","OTHER","STREAMING_FORMATS","DASH","MSS","STREAM_TYPES","VOD","LIVE","RTP_SAFETY_FACTOR","internalData","_isStartup","_bufferLevelStarved","_initialMediaRequestsDone","_onManifestLoaded","_onPlaybackSeeked","_onPeriodSwitchComplete","pr","nor","st","sf","generateUuid","_updateStreamProcessors","getQueryParameter","cmcdData","_getCmcdData","finalPayloadString","_buildFinalString","cmcdString","_copyParameters","parameterNames","copiedData","getHeaderParameters","cmcdObjectHeader","cmcdRequestHeader","cmcdStatusHeader","cmcdSessionHeader","_getCmcdDataForMpd","_initForMediaType","_getCmcdDataForMediaSegment","_getCmcdDataForInitSegment","_getCmcdDataForOther","_getCmcdDataForLicense","_getGenericCmcdData","ot","encodedBitrate","_getBitrateByRequest","_getObjectDurationByRequest","mtp","_getMeasuredThroughputByType","dl","_getDeadlineByType","_getBufferLevelByType","tb","_getTopBitrateByType","nextRequest","_probeNextRequest","_calculateRtp","pathname","nrr","br","bs","su","getSafeAverageThroughput","localeCompare","currentBufferLevel","segmentSize","timeToLoad","minBandwidth","maxBandwidth","FRAGMENT_MODEL_CANCELED","FRAGMENT_MODEL_FAILED","onLoadingCompleted","onLoadingInProgress","onLoadingAborted","isFragmentLoaded","isEqualComplete","req1","req2","ACTION_COMPLETE","isEqualMedia","isEqualInit","check","requests","isLoaded","isFragmentLoadedOrPending","states","filteredRequests","getRequestsForState","filterRequests","getRequestThreshold","removeExecutedRequestsBeforeTime","removeExecutedRequestsAfterTime","removeExecutedRequestsInTimeRange","streamDuration","ACTION_DOWNLOAD","addSchedulingInfoMetrics","loadCurrentFragment","getRequestForTime","lastIdx","addExecutedRequest","LowLatencyThroughputModel","LLTM_MAX_MEASUREMENTS","LLTM_SEMI_OPTIMISTIC_ESTIMATE_FACTOR","LLTM_OPTIMISTIC_ESTIMATE_FACTOR","LLTM_SLOW_SEGMENT_DOWNLOAD_TOLERANCE","LLTM_MAX_DELAY_MS","measurements","createBufferLevelTrendFunction","chunkMeasurements","sumX","sumY","sumXY","sumXSq","N","chunkDownloadTimeRelativeMS","isBufferSafeAndStable","lastMeasurements","lastBitrate","aveBufferLevelLastSegements","prev","bufferLevelAtSegmentEnd","bufferLevelAtSegmentStart","getEstimatedDownloadDurationMS","lastMeasurement","lastThreeMeasurements","lastChunkRelativeTimeMS","getEstimatedBufferLevel","isBufferStable","selectedOptimisticFactor","segDurationMS","fetchDownloadDurationMS","adjustedAvailabilityStartTimeMS","requestTimeMS","throughputCapacityDelayMS","chunkAvailablePeriod","chunkBytesBBLE","chunkDownloadtimeMSBBLE","chunkCount","chunkDownloadDurationMS","chunkBytes","downloadThroughput","estimatedDownloadtimeMS","segmentBytes","nextHigherBitrate","getThroughputCapacityDelayMS","currentBufferLevelMS","addMeasurement","bitrateEntry","repId","chunksDurationMS","DEFAULT_MIN_BUFFER_TIME","DEFAULT_MIN_BUFFER_TIME_FAST_SWITCH","DEFAULT_LOW_LATENCY_LIVE_DELAY","LOW_LATENCY_REDUCTION_FACTOR","LOW_LATENCY_MULTIPLY_FACTOR","DEFAULT_LIVE_LATENCY_CATCHUP_THRESHOLD_FACTOR","MINIMUM_LIVE_LATENCY_CATCHUP","DEFAULT_XHR_WITH_CREDENTIALS","UTCTimingSources","xhrWithCredentials","customABRRule","findABRCustomRuleIndex","getABRCustomRules","ABANDON_FRAGMENT_RULES","QUALITY_SWITCH_RULES","getRetryAttemptsForType","lowLatencyMultiplyFactor","getRetryIntervalsForType","lowLatencyReductionFactor","liveCatchupMinDrift","maximumLiveDelay","defaultUtcTimingSource","useCreds","metricsChanged","metricChanged","metricUpdated","metricType","metricAdded","clearCurrentMetricsForType","readOnly","MetricsList","pushMetrics","appendHttpTrace","HTTPRequestTrace","tcpid","actualurl","trequest","tfinish","mediaduration","_tfinish","_stream","_mediaduration","_quality","pushAndNotify","TrackSwitch","metricObject","BufferState","DVRInfo","DroppedFrames","creationTime","droppedFrames","droppedVideoFrames","SchedulingInfo","RequestsQueue","requestTime","fetchTime","ManifestUpdate","ManifestUpdateStreamInfo","ManifestUpdateRepresentationInfo","subreplevel","URIFragmentDataVO","uri","URIFragmentData","hashIndex","fragment","equalIndex","READY_STATES_TO_EVENT_NAMES","Map","TTMLRenderingDiv","previousPlaybackRate","VIDEO_MODEL_WRONG_ELEMENT_TYPE","stalledStreams","onPlaying","onPlaybackCanPlay","waitForReadyState","stickTimeToBuffered","INVALID_STATE_ERR","closestTime","closestDistance","distanceToStart","distanceToEnd","preload","removeAttribute","display","overflow","pointerEvents","top","left","stallStream","addStalledStream","seeking","removeStalledStream","createEvent","initEvent","hasQuality","getVideoPlaybackQuality","webkitDroppedFrameCount","totalVideoFrames","webkitDecodedFrameCount","paused","played","eventName","eventCallBack","clientWidth","clientHeight","getVideoWidth","videoWidth","getVideoHeight","videoHeight","getVideoRelativeOffsetTop","host","getBoundingClientRect","getVideoRelativeOffsetLeft","getTextTracks","textTracks","getTextTrack","kind","label","isTTML","language","addTextTrack","appendChild","childElement","removeChild","targetReadyState","_listenOnce","func","FetchLoader","cfg","lowLatencyThroughputModel","requestStartTime","Headers","header","modifyRequestHeader","setRequestHeader","abortController","AbortController","signal","onabort","reqOptions","credentials","withCredentials","calculationMode","markBeforeFetch","fetch","ok","body","arrayBuffer","loaded","total","onend","totalBytes","bytesReceived","signaledFirstByte","remaining","fetchMeassurement","reader","getReader","measurement","read","processFetch","done","markB","markA","kbps","fetchDuration","bytesAllChunks","lengthComputable","tee","forMeasure","forConsumer","downloadedData","startTimeData","endTimeData","lastChunkWasFinished","processResult","calculatedThroughput","calculateThroughputByChunkData","calculateDownloadedTime","throughput","concatTypedArray","ts","boxesInfo","findLastTopIsoBoxCompleted","lastCompletedOffset","subarray","noTrace","cancel","avgTimeDistance","next","distance","datum","datumE","dataE","chunkThroughputs","shortDurationBytesReceived","shortDurationStartTime","chunkDownloadTime","cumulatedChunkDownloadTime","sumOfChunkThroughputs","HTTPLoader","delayedRequests","retryRequests","downloadErrorToRequestTypeMap","internalLoad","remainingAttempts","firstProgress","needFailureReport","lastTraceTime","lastTraceReceivedCount","handleLoaded","checkExistenceOnly","responseUrl","getAllResponseHeaders","initialNumberOfAttempts","retryRequest","bytesTotal","ontimeout","timeoutMessage","percentageComplete","modifyRequestURL","cmcdMode","additionalQueryParameter","_getAdditionalQueryParameter","addAditionalQueryParameterToUrl","delayedRequest","delayTimeout","cmcdQueryParameter","onprogress","schemeLoaderMap","registerLoader","unregisterLoader","unregisterAllLoader","getLoader","loaderFactory","xhr","CommonEncryption","cpArray","retVal","cp","pssh","DataView","keySystem","initData","psshList","parsePSSHList","cpData","dv","byteCursor","nextBox","systemID","boxStart","APIS_ProtectionModel_01b","generateKeyRequest","addKey","cancelKeyRequest","needkey","keyerror","keyadded","keymessage","APIS_ProtectionModel_3Feb2014","setMediaKeys","MediaKeys","release","ready","close","protectionKeyController","ProtectionKeyController","protectionModel","getProtectionModel","ProtectionController","setEncryptedMediaSupported","videoElement","onencrypted","mediaKeys","ProtectionModel_21Jan2015","getAPI","ProtectionModel_3Feb2014","api","ProtectionModel_01b","apis","ProtectionEvents","ProtectionErrors","INTERNAL_KEY_MESSAGE","INTERNAL_KEY_SYSTEM_SELECTED","INTERNAL_KEY_STATUS_CHANGED","KEY_ADDED","KEY_MESSAGE","KEY_SESSION_CLOSED","KEY_SESSION_REMOVED","KEY_SYSTEM_ACCESS_COMPLETE","LICENSE_REQUEST_SENDING","NEED_KEY","TEARDOWN_COMPLETE","VIDEO_ELEMENT_SELECTED","protectionEvents","NEEDKEY_BEFORE_INITIALIZE_RETRIES","NEEDKEY_BEFORE_INITIALIZE_TIMEOUT","LICENSE_SERVER_REQUEST_RETRIES","LICENSE_SERVER_REQUEST_RETRY_INTERVAL","LICENSE_SERVER_REQUEST_DEFAULT_TIMEOUT","needkeyRetries","pendingNeedKeyData","protDataSet","sessionType","robustnessLevel","onKeyMessage","onKeyStatusChanged","supportedKS","getSupportedKeySystemsFromContentProtection","selectKeySystem","cps","createKeySession","cdmData","initDataForKS","getPSSHForKeySystem","getProtData","_isInitDataDuplicate","getSessionType","KEY_SESSION_CREATED_ERROR_CODE","KEY_SESSION_CREATED_ERROR_MESSAGE","systemString","currentInitData","getAllInitData","initDataEquals","loadKeySession","sessionID","removeKeySession","sessionToken","closeKeySession","setServerCertificate","serverCertificate","onNeedKey","setSessionType","setRobustnessLevel","retryTimeout","keySystemString","getKeySystemConfiguration","audioCapabilities","videoCapabilities","audioRobustness","videoRobustness","ksSessionType","distinctiveIdentifier","persistentState","MediaCapability","KeySystemConfiguration","fromManifest","ksA","ksB","indexA","ks","indexB","_selectInitialKeySystem","_selectWithExistingKeySystem","requestedKeySystems","ksIdx","initDataForKs","configs","onKeySystemAccessComplete","KEY_SYSTEM_ACCESS_DENIED_ERROR_CODE","KEY_SYSTEM_ACCESS_DENIED_ERROR_MESSAGE","isClearKey","kids","clearkeys","TextEncoder","sessionId","requestKeySystemAccess","keySystemAccess","onKeySystemSelected","getKeySystem","sendLicenseRequestCompleteEvent","keyMessage","messageType","licenseServerData","getLicenseServer","eventData","MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_CODE","MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_MESSAGE","getSessionID","processClearKeyLicenseRequest","updateKeySession","serverURL","laURL","getLicenseServerUrlFromMediaInfo","psshData","getPSSHData","getLicenseServerURLFromInitData","getServerURLFromMessage","MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_CODE","MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_MESSAGE","reqHeaders","updateHeaders","httpRequestHeaders","getRequestHeadersFromMessage","reportError","errorMsg","getErrorResponse","MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE","MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE","onLoad","licenseResponse","LicenseResponse","applyFilters","licenseMessage","getLicenseMessage","onAbort","onError","reqPayload","getLicenseRequestFromMessage","reqMethod","getHTTPMethod","getResponseType","httpTimeout","licenseRequest","LicenseRequest","doLicenseRequest","retriesCount","cmcdParams","cmcdHeaders","retryInterval","retry","initDataType","abInitData","ArrayBuffer","isView","getSupportedKeySystems","getKeySystems","setKeySystems","keySystems","clearkeyKeySystem","clearkeyW3CKeySystem","KeySystemPlayReady","KeySystemWidevine","KeySystemClearKey","KeySystemW3CClearKey","newKeySystems","getKeySystemBySystemString","initData1","initData2","data1","data2","cpIdx","cencContentProtection","findCencContentProtection","schemeIdURI","getInitData","getCDMData","getSessionId","shouldNotFilterOutKeySystem","DRMToday","Widevine","PlayReady","ClearKey","getClearKeysFromProtectionData","protectionDataSet","getProtectionData","LICENSE_SERVER_MANIFEST_CONFIGURATIONS","prefixes","clearkeySet","jsonMsg","keyPairs","clearkeyID","clearkey","KeyPair","ClearKeyKeySet","parseInitDataFromContentProtection","cencDefaultKid","cencDefaultKidToBase64Representation","kid","btoa","licenseServer","clearkeyProtData","ckData","PRCDMData","messageFormat","dataview","Uint16Array","headerNameList","getElementsByTagName","headerValueList","Content","Challenge","numRecords","recordType","recordLength","recordData","record","laurl","luiurl","PSSHBoxType","playreadySystemID","uint8arraydecodedPROHeader","PROSize","PSSHSize","PSSHBoxBuffer","PSSHBox","PSSHData","pro","prheader","setUint32","setPlayReadyMessageFormat","format","customData","cdmDataBytes","MEDIA_KEYERR_CODE","MEDIA_KEYERR_UNKNOWN_CODE","MEDIA_KEYERR_CLIENT_CODE","MEDIA_KEYERR_SERVICE_CODE","MEDIA_KEYERR_OUTPUT_CODE","MEDIA_KEYERR_HARDWARECHANGE_CODE","MEDIA_KEYERR_DOMAIN_CODE","MEDIA_KEY_MESSAGE_ERROR_CODE","SERVER_CERTIFICATE_UPDATED_ERROR_CODE","KEY_STATUS_CHANGED_EXPIRED_ERROR_CODE","MEDIA_KEYERR_UNKNOWN_MESSAGE","MEDIA_KEYERR_CLIENT_MESSAGE","MEDIA_KEYERR_SERVICE_MESSAGE","MEDIA_KEYERR_OUTPUT_MESSAGE","MEDIA_KEYERR_HARDWARECHANGE_MESSAGE","MEDIA_KEYERR_DOMAIN_MESSAGE","MEDIA_KEY_MESSAGE_ERROR_MESSAGE","SERVER_CERTIFICATE_UPDATED_ERROR_MESSAGE","KEY_STATUS_CHANGED_EXPIRED_ERROR_MESSAGE","protectionErrors","pendingSessions","sessions","moreSessionsAllowed","eventHandler","createEventHandler","removeEventListeners","ksConfigurations","ve","supportedAudio","supportedVideo","configIdx","videoIdx","canPlayType","ksConfig","KeySystemAccess","newSession","getExpirationTime","keyID","handleEvent","NeedKey","findSessionByID","errorCode","systemCode","KeyMessage","defaultURL","sessionArray","numSessions","session","removeSession","closeKeySessionInternal","getUsable","requestKeySystemAccessInternal","mksa","createMediaKeys","mkeys","createSession","createSessionToken","dataType","generateRequest","toJWK","requestMediaKeySystemAccess","mediaKeySystemAccess","configuration","getConfiguration","parseKeyStatus","keyId","keyStatuses","keyStatus","expiration","getKeyStatuses","usable","audios","audioIdx","isTypeSupported","ksAccess","ksConfiguration","boundDoSetKeys","doSetKeys","keySession","errorStr","destinationURL","serverResponse","keypair","keyid","license","keySystemStr","soap","uintToString","encodedString","decodedString","decodeURIComponent","escape","parseServerResponse","stringResponse","envelope","fault","parseErrorResponse","faultstring","statusCode","idStart","idEnd","detail","exception","firstChild","lastIndexOf","errorString","numKeys","jwk","kty","alg","jwkString","buf","bView","sessionTypes","initDataTypes","robustness","lastDroppedFrames","lastTotalFrames","intervalDroppedFrames","intervalTotalFrames","getFrameHistory","bufferOccupancyABR","l2AABR","loLP","getMediaType","getAbrController","getSwitchHistory","getVideoModel","getDroppedFramesHistory","getCurrentRequest","PRIORITY","DEFAULT","STRONG","WEAK","q","getPriority","SWITCH_REQUEST_HISTORY_DEPTH","switchRequests","srHistory","noDrops","drops","dropSize","indexDiff","drop","noDrop","srHistoryFirst","getSwitchRequests","MAX_MEASUREMENTS_TO_KEEP","AVERAGE_THROUGHPUT_SAMPLE_AMOUNT_LIVE","AVERAGE_THROUGHPUT_SAMPLE_AMOUNT_VOD","AVERAGE_LATENCY_SAMPLE_AMOUNT","THROUGHPUT_DECREASE_SCALE","THROUGHPUT_INCREASE_SCALE","EWMA_THROUGHPUT_SLOW_HALF_LIFE_SECONDS","EWMA_THROUGHPUT_FAST_HALF_LIFE_SECONDS","EWMA_LATENCY_SLOW_HALF_LIFE_COUNT","EWMA_LATENCY_FAST_HALF_LIFE_COUNT","throughputDict","latencyDict","ewmaThroughputDict","ewmaLatencyDict","ewmaHalfLife","throughputHalfLife","fast","slow","latencyHalfLife","isCachedResponse","latencyMs","downloadTimeMs","latencyTimeInMilliseconds","downloadTimeInMilliseconds","downloadBytes","throughputMeasureTime","sumOfThroughputValues","checkSettingsForMediaType","hasCachedEntries","clearSettingsForMediaType","updateEwmaEstimate","ewmaObj","halfLife","fastAlpha","fastEstimate","slowAlpha","slowEstimate","totalWeight","getSampleSize","isThroughput","isLive","sampleSize","ratio","getAverage","getAverageEwma","getAverageSlidingWindow","dict","elem","average","getAverageLatency","qualitySwitchRules","abandonFragmentRules","L2ARule","LoLPRule","BolaRule","ThroughputRule","InsufficientBufferRule","SwitchHistoryRule","DroppedFramesRule","AbandonRequestsRule","customRules","_getRulesWithChange","srArray","sr","getMinSwitchRequest","newSwitchReq","switchRequestArray","getMaxIndex","activeRules","abandonRequestArray","shouldAbandon","rules","getQualitySwitchRules","ABANDON_MULTIPLIER","GRACE_TIME_THRESHOLD","MIN_LENGTH_TO_AVERAGE","fragmentDict","abandonDict","throughputArray","setFragmentRequestDict","storeLastRequestThroughputByType","fragmentInfo","firstByteTime","elapsedTime","totalSampledValue","measuredBandwidthInKbps","estimatedTimeOfDownload","bytesRemaining","minQuality","estimateOtherBytesTotal","fragmentID","BOLA_STATE_ONE_BITRATE","BOLA_STATE_STARTUP","BOLA_STATE_STEADY","MINIMUM_BUFFER_S","MINIMUM_BUFFER_PER_BITRATE_LEVEL_S","PLACEHOLDER_BUFFER_DECAY","bolaStateDict","onBufferEmpty","onMetricAdded","onQualityChangeRequested","onFragmentLoadingAbandoned","onMediaFragmentLoaded","utilitiesFromBitrates","calculateBolaParameters","utilities","highestUtilityIndex","highestIndex","uIndex","bufferTime","gp","Vp","getInitialBolaState","initialState","lastQuality","clearBolaStateOnSeek","bolaState","placeholderBuffer","mostAdvancedSegmentStart","lastSegmentWasReplacement","lastSegmentStart","lastSegmentDurationS","lastSegmentRequestTimeMs","lastSegmentFinishTimeMs","checkBolaStateStableBufferTime","effectiveBufferLevel","getBolaState","getQualityFromBufferLevel","bitrateCount","score","maxBufferLevelForQuality","minBufferLevelForQuality","qBitrate","qUtility","iBitrate","iUtility","updatePlaceholderBuffer","nowMs","lastCallTimeMs","checkNewSegment","bufferAtLastSegmentRequest","maxEffectiveBufferForLastSegment","maxPlaceholderBuffer","abrQuality","wantEffectiveBufferLevel","safeThroughput","qualityForThroughput","delayS","DROPPED_PERCENTAGE_FORBID","GOOD_SAMPLE_SIZE","dfh","totalFrames","maxIndex","INSUFFICIENT_BUFFER_SAFETY_FACTOR","SEGMENT_IGNORE_COUNT","bufferStateDict","currentBufferState","shouldIgnore","ignoreCount","L2A_STATE_ONE_BITRATE","L2A_STATE_STARTUP","L2A_STATE_STEADY","l2AStateDict","l2AParameterDict","_onQualityChangeRequested","_getInitialL2AState","_initializeL2AParameters","_clearL2AStateOnSeek","w","prev_w","Q","segment_request_start_s","segment_download_finish_s","B_target","l2AState","_getL2AState","l2aState","l2AParameters","_checkNewSegment","L2AState","_dotmultiplication","arr1","arr2","sumdot","euclideanProjection","bget","ii","tmpsum","tmax","horizon","vl","alpha","sqrt","react","l2AParameter","diff1","lastthroughput","V","temp","MAX_SWITCH","SAMPLE_SIZE","switchRequestHistory","WEIGHT_SELECTION_MODES","MANUAL","RANDOM","LearningAbrController","somBitrateNeurons","bitrateNormalizationFactor","latencyNormalizationFactor","weights","sortedCenters","weightSelectionMode","_getMaxThroughput","maxThroughput","neuron","_getMagnitude","magnitude","_getDistance","_getNeuronDistance","aState","rebuffer","bState","_updateNeurons","winnerNeuron","somElements","somNeuron","sigma","neuronDistance","neighbourHood","_updateNeuronState","_getDownShiftNeuron","currentNeuron","currentThroughput","maxSuitableBitrate","getNextQuality","bufferSize","currentQualityIndex","dynamicWeightsSelector","currentLatency","_getSomBitrateNeurons","throughputNormalized","targetLatency","targetRebufferLevel","targetSwitch","throughputDelta","downloadTime","getSegmentDuration","getMinBuffer","_manualWeightSelection","_randomWeightSelection","_dynamicWeightSelection","minDistance","minIndex","somNeuronState","somData","distanceWeights","nextBuffer","getNextBufferWithBitrate","isBufferLow","bitrateSwitch","throughputWeight","latencyWeight","bufferWeight","switchWeight","_getXavierWeights","weightVector","findWeightVector","neuronCount","weightCount","W","bitrateVector","_getInitialKmeansPlusPlusCenters","_getRandomData","dataArray","centers","randomDataSet","nextPoint","maxDistance","currentPoint","leastSimilarIndex","LoLpQoeEvaluator","voPerSegmentQoeInfo","maxBitrateKbps","minBitrateKbps","setupPerSegmentQoe","sDuration","maxBrKbps","minBrKbps","_createQoeInfo","fragmentType","qoeInfo","QoeInfo","bitrateReward","bitrateSwitchPenalty","rebufferPenalty","latencyPenalty","penalty","playbackSpeedPenalty","logSegmentMetrics","segmentBitrate","segmentRebufferTime","currentPlaybackSpeed","_logMetricsInQoeInfo","rebufferTime","playbackSpeed","bitrateWSum","bitrateSwitchWSum","rebufferWSum","latencyRange","latencyWSum","playbackSpeedWSum","totalQoe","getPerSegmentQoe","calculateSingleUseQoe","singleUseQoeInfo","DWS_TARGET_LATENCY","DWS_BUFFER_MIN","learningController","qoeEvaluator","currentQuality","bufferStateVO","currentBitrate","currentBitrateKbps","lastFragmentDownloadTime","LoLpWeightSelector","bufferMin","valueList","weightTypeCount","weightOptions","previousLatency","_getPermutations","neurons","currentRebuffer","maxQoE","winnerWeights","winnerBitrate","weightsObj","getNextBuffer","wt","weightedRebuffer","weightedLatency","totalQoE","_checkConstraints","nextLatency","perm","generate","currLen","currPerm","bitrateToDownload","EmbeddedTextHtmlRender","captionId","checkIndent","line","uc","ll","getRegionProperties","region","y1","y2","createRGB","getStyle","fontSize","ltrim","rtrim","createHTMLCaptionsFromScreen","captionScreen","currRegion","existingRegion","lastRowHasText","lastRowIndentL","currP","spans","currentStyle","seenRegions","styleStates","regions","prevPenState","rowIndent","contat","currPenStateString","captionsArray","cueID","finalDiv","cueRegionProperties","cssText","bodyDiv","cueUniWrapper","ptag","lastSpanRow","span","brElement","sameRow","spanStyle","spanElement","textContent","cueHTMLElement","cellResolution","isFromCEA608","lineHeight","linePadding","initialized","streamData","textSourceBuffers","vttParser","ttmlParser","initialSettingsSet","allTracksAreDisabled","forceTextStreaming","textTracksAdded","disableTextBeforeTextTracksAdded","VTTParser","TTMLParser","_onTextTracksAdded","TextTracks","textSourceBuffer","TextSourceBuffer","lastEnabledIndex","mInfos","addMediaInfos","getAllTracksAreDisabled","textDefaultEnabled","oldTrackIdx","setModeForTrackIdx","setCurrentTrackIdx","getCurrentTrackInfo","_setFragmentedTextTrack","_setNonFragmentedTextTrack","getConfig","fragmentedTracks","currentFragTrack","deleteCuesFromTrackIdx","setCurrentFragmentedTrackIdx","resetMediaInfos","deleteAllTextTracks","resetEmbedded","embeddedInitialized","mediaInfos","initializationSegmentReceived","firstFragmentedSubtitleStart","currFragmentedTrackIdx","embeddedTracks","embeddedTimescale","embeddedLastSequenceNumber","embeddedCea608FieldParsers","embeddedTextHtmlRender","_resetFragmented","_initEmbedded","fModel","currFragTrack","_createTextTrackFromMediaInfo","textTrackInfo","TextTrackInfo","trackKindMap","subtitle","caption","defaultTrack","getIsDefault","_checkTtml","_getKind","_onVideoChunkReceived","onVideoBufferCleared","codecType","_appendFragmentedText","_appendEmbeddedText","_appendText","sampleList","samplesInfo","getMediaTimescaleFromMoov","getSamplesInfo","cts","_appendFragmentedSttp","_appendFragmentedWebVtt","getParser","sample","sampleStart","_getTimestampOffset","dataView","subSizes","ccContent","dataViewToString","images","subOffset","inData","offsetTime","ttmlTimeIsRelative","addCaptions","captionArray","sampleData","sampleBoxes","parseBuffer","boxes","box1","box2","cue_text","start_time","end_time","sequenceNumber","lastSequenceNumber","_setupCeaParser","numSequences","allCcData","_extractCea608Data","fieldNr","ccData","fields","fieldParser","trackIdx","getTrackIdxForId","_makeCueAdderForIndex","trackIndex","samples","splits","cea608Ranges","lastSampleTime","sortField","Cue","textTrackQueue","nativeTrackElementArr","currentTrackIdx","actualVideoLeft","actualVideoTop","actualVideoWidth","actualVideoHeight","captionContainer","videoSizeCheckInterval","fullscreenAttribute","displayCCOnTop","previousISDState","topZIndex","resizeObserver","VTTCue","TextTrackCue","fullscreenElement","webkitIsFullScreen","msFullscreenElement","mozFullScreen","_createTrackForUserAgent","textTrackInfoVO","defaultIndex","textTrack","getTrackByIdx","renderingType","captionData","onMetadataLoaded","checkVideoSize","videoTextTrack","getVideoVisibleVideoSize","viewWidth","viewHeight","aspectRatio","use80Percent","viewAspectRatio","videoAspectRatio","videoPictureWidth","videoPictureHeight","videoPictureXAspect","videoPictureYAspect","videoPictureWidthAspect","videoPictureHeightAspect","videoPictureAspect","y","forceDrawing","videoOffsetTop","videoOffsetLeft","realVideoSize","newVideoWidth","newVideoHeight","newVideoLeft","newVideoTop","containerStyle","zIndex","activeCues","scaleCue","activeCue","replaceValue","valueFontSize","valueLineHeight","cellUnit","valueLinePadding","elementsSpan","getElementsByClassName","isd","htmlCaptionDiv","getElementById","renderCaption","finalCue","renderHTML","imsc1ImgUrnTester","smpteImgUrnTester","imageId","imageData","dataUrl","embeddedImages","captionDiv","currentItem","onenter","onexit","divs","align","cueInTrack","addCue","deleteTrackCues","trackId","setCueStyleOnTrack","ResizeObserver","observe","clearCaptionContainer","setNativeCueStyle","removeNativeCueStyle","cueInRange","removeCue","unobserve","deleteTextTrack","styleElement","head","stylesheet","sheet","insertRule","classList","thumbnailTracks","ThumbnailTracks","addTracks","getTracks","getCurrentTrack","getThumbnailRequestForTime","thumbIndex","tilesHor","tilesVert","thumbnail","Thumbnail","widthPerTile","heightPerTile","readThumbnail","seq","_buildUrlFromTemplate","seqIdx","templateUrl","currentTrackIndex","_createTrack","useSegmentBase","ThumbnailTrackInfo","vars","_handleUpdatedSegmentData","buildTemplateUrl","cache","_normalizeSegments","cached","blob","Blob","imageUrl","currentVoRep","serviceLocationBlacklistController","basicSelector","dvbSelector","BlacklistController","BasicSelector","blacklistController","DVBSelector","isDVB","selectedBaseUrl","fileStart","parsedFile","dashIsoFile","IsoFile","setData","IsoBoxSearchInfo","boxInfo","boxSize","parseUint32","boxType","parseIsoBoxType","totalDuration","moofBoxes","mfhdBoxes","sampleDuration","sampleCompositionTimeOffset","sampleCount","sampleDts","dataOffset","sequence_number","subsIndex","nextSubsSample","moofBox","trafBoxes","getChildBoxes","trafBox","tfhdBox","getChildBox","tfdtBox","baseMediaDecodeTime","trunBoxes","subsBoxes","trunBox","sample_count","base_data_offset","data_offset","sample_duration","default_sample_duration","sample_size","default_sample_size","sample_composition_time_offset","subsBox","entry_count","sample_delta","subsample_count","subsamples","subsample_size","mdhdBox","ftyp","moov","parsePayload","codecCompatibilityTable","encryptedMediaSupported","supportsCodec","_canUseMediaCapabilitiesApi","_checkCodecWithMediaCapabilities","_checkCodecWithMse","mediaCapabilities","decodingInfo","framerate","supported","supportsEssentialProperty","ep","codec1","codec2","codecRoot","rootCompatible","compatTableCodec","compatibleCodecs","compatibleCodec","_filterUnsupportedCodecs","_filterUnsupportedEssentialProperties","_applyCustomFilters","_filterUnsupportedAdaptationSetsOfPeriod","as","_filterUnsupportedRepresentationsOfAdaptation","configurations","_createConfiguration","_","_createVideoConfiguration","_createAudioConfiguration","frameRate","samplerate","audioSamplingRate","customFilter","customFilters","customTimeRangeArray","mergeRanges","rangeIndex1","rangeIndex2","range1","range2","legacyKeysAndReplacements","oldKey","newKey","LOCAL_STORAGE_BITRATE_KEY_TEMPLATE","LOCAL_STORAGE_SETTINGS_KEY_TEMPLATE","STORAGE_TYPE_LOCAL","STORAGE_TYPE_SESSION","LAST_BITRATE","LAST_MEDIA_SETTINGS","translateLegacyKeys","isSupported","testKey","testValue","storage","setItem","removeItem","localStorage","getItem","getTimestamp","ten_minutes_ms","canStore","storageType","mediaSettings","isExpired","timestamp","DefaultURLUtils","resolveFunction","schemeRegex","httpUrlRegex","httpsUrlRegex","originRegex","nativeURLResolver","dumbURLResolver","baseUrlParseFunc","isPathAbsolute","parseOrigin","isSchemeRelative","parseScheme","joinChar","slashIndex","lastSlashIndex","removeHostname","urlParts","bytesConsumed","p1","p2","headerSize","retainMSB","bytesUsed","mask","maxBytes","num","ch","getMatroskaFloat","outFloat","getFloat32","getFloat64","getMatroskaUint","parsedIsoFile","convertToDashIsoBox","fetchAll","boxData","box","IsoBox","_incomplete","obj1","obj2","deepEqual","parameter","isInt","checkRange","checkIsVideoOrAudioType","cueCounter","getCueID","startTimeSegment","endTimeSegment","currentImageId","accumulated_image_data","metadataHandler","onOpenTag","ns","attrs","onCloseTag","onText","contents","imsc1doc","fromXML","ttmlString","ttmlDoc","mediaTimeEvents","getMediaTimeEvents","generateISD","topLevelContents","defaultURLUtils","regexUtils","getUtils","regex","utils","registerUrlRegex","internalCall","functionName","WEBVTT","regExNewLine","regExToken","regExWhiteSpace","regExWhiteSpaceWordBoundary","lastStartTime","parseItemAttributes","cuePoints","getSublines","convertCuePointTimes","timeArray","vttCuePoints","getCaptionStyles","styleObject","subline","lineData","lineCount","getNonBlacklistedBaseUrls","removedPriorities","samePrioritiesFilter","serviceLocationFilter","selectByWeight","availableUrls","prioritySorter","topPriorityFilter","cumulWeights","rn","every","limit","checkForExistenceOnly","_offset","reference","presentation_time","sample_description_index","default_sample_flags","flags","first_sample_flags","xywh","METRICS_COLLECTION_START_REASON","METRICS_COLLECTION_STOP_REASON","RepresentationSwitch"],"mappings":"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;;;;;;AC7CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;CAIA;;AACA,IAAIM,OAAO,GAAI,OAAO1B,MAAP,KAAkB,WAAlB,IAAiCA,MAAlC,IAA6C2B,MAA3D;AAEA,IAAIP,MAAM,GAAGM,OAAO,CAACN,MAArB;;AACA,IAAI,CAACA,MAAL,EAAa;AACTA,QAAM,GAAGM,OAAO,CAACN,MAAR,GAAiB,EAA1B;AACH;;AAEDA,MAAM,CAACQ,WAAP,GAAqBA,kEAArB;AACAR,MAAM,CAACS,YAAP,GAAsBA,8DAAtB;AACAT,MAAM,CAACI,KAAP,GAAeA,uDAAf;AACAJ,MAAM,CAACU,OAAP,GAAiBC,0EAAgB,EAAjC;AAEeX,qEAAf;;;;;;;;;;;;;;ACnDY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACtJA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAA8B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,wBAAwB;AACxB;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6BAA6B,0CAA0C;AACvE,6BAA6B,iDAAiD;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B,0CAA0C;AACvE,6BAA6B,iDAAiD;;AAE9E;AACA;AACA;;AAEA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,G;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6BAA6B,0CAA0C;AACvE,6BAA6B,iDAAiD;;AAE9E;AACA;AACA;;AAEA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,G;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA,O;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACrpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;;;;;;AC1GA;AACA;AACa;AACb,iBAAiB,mBAAO,CAAC,0DAAI;;;;;;;;;;;;ACH7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,KAA4D;AAC7D,CAAC,SAC+B;AAChC,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gFAAgF;;AAEhF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,sBAAsB;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC,yCAAyC,UAAc;AACxD;AACA,CAAC;AACD;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,IAAI;AACd;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,mBAAmB,6CAA6C;AAChE;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,MAAM;AAChB,UAAU,OAAO;AACjB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,IAAI;AACd;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,UAAU,SAAS;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,UAAU,SAAS;AACnB,UAAU,SAAS;AACnB;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,SAAS;AACnB;AACA,WAAW;AACX;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,YAAY,SAAS;AACrB,aAAa;AACb;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;AAID;;;;;;;;;;;;;;ACrpCa;;AAEb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,oBAAoB,WAAW;AAC/B;;AAEA,oBAAoB,WAAW;AAC/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,QAAQ,WAAW;;AAEnB;AACA;AACA,QAAQ,UAAU;;AAElB;AACA;;;;;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,iBAAiB,OAAO;AACxB,kBAAkB,iBAAiB;AACnC,kBAAkB,kBAAkB;AACpC,kBAAkB,cAAc;AAChC;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,+BAA+B;AAC9C,eAAe,iBAAiB;AAChC,iBAAiB,OAAO;AACxB;;AAEA;AACA,kCAAkC,YAAY;AAC9C;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;;AAEA,+BAA+B,+BAA+B;;AAE9D;AACA;;AAEA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,aAAa;;AAEb;AACA;;AAEA;;AAEA;;AAEA,iBAAiB;AACjB;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;AACA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,+BAA+B;;AAE/B;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,SAAS;;AAET;;AAEA,SAAS;;AAET;;AAEA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iCAAiC;;AAEjC,SAAS;;AAET;AACA;AACA;;AAEA,iCAAiC;AACjC;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;AAGA;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,SAAS;;AAET;;AAEA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AA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;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB,iBAAiB;;AAEjB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;AACA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA,iBAAiB;;AAEjB;;AAEA;;AAEA,qBAAqB;AACrB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB;;AAEjB;;AAEA,iBAAiB;;AAEjB;;AAEA,iBAAiB;;AAEjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,CAAC,EAAE,MAA8B,GAAG,SAAkB;AACtD,uCAAuC,mBAAO,CAAC,yDAAS;AACxD,wCAAwC,mBAAO,CAAC,2DAAU,gB;;;;;;;;;;;ACzsC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;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CA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,mBAAO,CAAC,qDAAO;AACrC,kBAAkB,mBAAO,CAAC,qDAAO;AACjC,qBAAqB,mBAAO,CAAC,uDAAQ,S;;;;;;;;;;;AC5BrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,EAAE,MAA8B,GAAG,SAAmB;;;;;;;;;;;;;;;;AC1CvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;;AAEA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,6BAA6B;;AAE7B;;AAEA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;;AAEA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA,6BAA6B;;AAE7B;AACA;;AAEA,yBAAyB;;AAEzB;;AAEA,yBAAyB;;AAEzB;;AAEA,yBAAyB;;AAEzB;;AAEA;;AAEA,6BAA6B;;AAE7B;AACA;;AAEA,yBAAyB;;AAEzB;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,iCAAiC;AACjE;AACA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB;AACjB;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA,qBAAqB;;AAErB;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,CAAC,EAAE,MAA8B,GAAG,SAAoB;AACxD,2CAA2C,mBAAO,CAAC,yDAAS;AAC5D,2CAA2C,mBAAO,CAAC,yDAAS;;;;;;;;;;;;ACj3B5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,sCAAsC,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,SAAS;;AAET;AACA;AACA;AACA;;AAEA,SAAS;;AAET;AACA;AACA;AACA;;AAEA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iBAAiB;AACjB;;AAEA;AACA;;AAEA,CAAC,EAAE,MAA8B,GAAG,SAAmB;;;;;;;;;;;;ACvIvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtBA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,oDAAW;AAChC,cAAc,mBAAO,CAAC,gDAAS;AAC/B,cAAc,mBAAO,CAAC,gDAAS;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;AC5vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA,QAAQ,yBAAyB;AACjC;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,6DAA6D,aAAa;AAC1E;AACA,6DAA6D,aAAa;AAC1E;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oCAAoC,aAAa;AACjD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;;;;;;;;;;;AChfA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAO,CAAC,iEAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC9DA,+CAAa;;AAEb;AACA;AACA;AACA,oBAAoB;AACpB,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;AC1CA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;ACvLtC,iBAAiB,mBAAO,CAAC,qFAAyB;;;;;;;;;;;;;ACAlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,UAAU,mBAAO,CAAC,0EAAsB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,WAAW,mBAAO,CAAC,6DAAc;AACjC,gBAAgB,mBAAO,CAAC,6DAAU;AAClC;;AAEA,eAAe,mBAAO,CAAC,kFAAoB;AAC3C,eAAe,mBAAO,CAAC,kFAAoB;;AAE3C;;AAEA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA,E;;;;;;;;;;;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEa;;AAEb;;AAEA,gBAAgB,mBAAO,CAAC,oFAAqB;;AAE7C;AACA,WAAW,mBAAO,CAAC,6DAAc;AACjC,gBAAgB,mBAAO,CAAC,6DAAU;AAClC;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,UAAU,mBAAO,CAAC,0EAAsB;AACxC;;AAEA;;AAEA;AACA,cAAc,mBAAO,CAAC,gDAAS;AAC/B;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS,mBAAO,CAAC,8EAAQ;;AAEzB;AACA;AACA;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,wGAA2B;AAChD;;AAEA;;AAEA,aAAa,mBAAO,CAAC,wDAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,WAAW,mBAAO,CAAC,6DAAc;AACjC,gBAAgB,mBAAO,CAAC,6DAAU;AAClC;;AAEA;AACA,gBAAgB,mBAAO,CAAC,aAAM;AAC9B;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,wGAA+B;AACxD,kBAAkB,mBAAO,CAAC,kGAA4B;AACtD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE,6EAA6E;AACtJ;;AAEA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,0FAA0F;;AAE3I;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wCAAwC,mBAAO,CAAC,4EAAiB;AACjE;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;;AAE/C;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,kGAAkG;AAClG,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,4FAA4F;AAC5F,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,mBAAO,CAAC,4EAAiB;AAC/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA,mDAAmD,iEAAiE;AACpH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA,uCAAuC;AACvC,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA,C;;;;;;;;;;;;;AC1/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,aAAa,mBAAO,CAAC,8EAAkB;;AAEvC;AACA,WAAW,mBAAO,CAAC,6DAAc;AACjC,gBAAgB,mBAAO,CAAC,6DAAU;AAClC;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,C;;;;;;;;;;;;ACrNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEa;;AAEb;;AAEA,UAAU,mBAAO,CAAC,0EAAsB;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,WAAW,mBAAO,CAAC,6DAAc;AACjC,gBAAgB,mBAAO,CAAC,6DAAU;AAClC;;AAEA;AACA;AACA,aAAa,mBAAO,CAAC,gEAAgB;AACrC;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,wGAA2B;AAChD;;AAEA;;AAEA,aAAa,mBAAO,CAAC,wDAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kBAAkB,mBAAO,CAAC,kGAA4B;;AAEtD;;AAEA;;AAEA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,0FAA0F;;AAE3I;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;;AAEA,2CAA2C;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oDAAoD;AACpD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;;AC9qBa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,aAAa,mBAAO,CAAC,wDAAa;AAClC,WAAW,mBAAO,CAAC,aAAM;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA,C;;;;;;;;;;;;AC9Ea;;AAEb;;AAEA,UAAU,mBAAO,CAAC,0EAAsB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;ACzEA,iBAAiB,mBAAO,CAAC,8EAAQ;;;;;;;;;;;;ACAjC,iBAAiB,mBAAO,CAAC,sEAAY;;;;;;;;;;;;ACArC,2BAA2B,mBAAO,CAAC,yFAA2B;AAC9D;AACA;AACA,mBAAmB,mBAAO,CAAC,yFAA2B;AACtD,iBAAiB,mBAAO,CAAC,qFAAyB;AAClD,oBAAoB,mBAAO,CAAC,2FAA4B;AACxD,sBAAsB,mBAAO,CAAC,+FAA8B;;;;;;;;;;;;ACN5D,iBAAiB,mBAAO,CAAC,sEAAY;;;;;;;;;;;;ACArC,iBAAiB,mBAAO,CAAC,yFAA2B;;;;;;;;;;;;ACApD;AACA,aAAa,mBAAO,CAAC,6EAAQ;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC7DA,+CAAC,iBAAiB;AAClB,uCAAuC;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,YAAY;AAClC;AACA,yBAAyB,mBAAmB,cAAc;AAC1D,wBAAwB,0BAA0B;AAClD,wBAAwB;AACxB;;AAEA;AACA;AACA,aAAa,mBAAO,CAAC,yDAAQ;AAC7B,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,2EAAgB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,qCAAqC;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oBAAoB;AACpE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB;AACtB;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,WAAW,OAAO,sBAAsB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,CAAC,EAAE,MAA8B,GAAG,SAAa;;;;;;;;;;;;;ACviDjD;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,sBAAsB,EAAE;AAClE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;;;;;;;ACzLD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS,mBAAO,CAAC,8EAAQ;AACzB,eAAe,mBAAO,CAAC,6DAAU;;AAEjC;AACA,kBAAkB,mBAAO,CAAC,uFAA6B;AACvD,kBAAkB,mBAAO,CAAC,uFAA6B;AACvD,gBAAgB,mBAAO,CAAC,mFAA2B;AACnD,mBAAmB,mBAAO,CAAC,iFAA8B;AACzD,qBAAqB,mBAAO,CAAC,qFAAgC;;AAE7D;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;;;;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,aAAa,mBAAO,CAAC,wDAAa;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,sCAAsC,sCAAsC;AACzG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACtSA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;A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EA,eARV;AASPD,yBAAqB,EAAEA,qBAThB;AAUPD,sBAAkB,EAAEA;AAVb,GAAX;AAaA,SAAO5E,QAAP;AAEH,CArOqB,EAAtB;;AAuOed,2EAAf,E;;;;;;;;;;;;;;;;;;;;;;ACzQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AACA,SAASuG,QAAT,GAAoB;AAAA;;AACh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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACM/pB,K,GACF,iBAAc;AAAA;;AACV,OAAKpF,QAAL,GAAgB5P,GAAhB;AACA,OAAK69B,gBAAL,GAAwB79B,GAAxB;AACA,OAAKqP,EAAL,GAAUrP,GAAV;AACA,OAAK2V,WAAL,GAAmB,EAAnB;AACA,OAAKP,WAAL,GAAmB,IAAnB;AACA,OAAKE,qBAAL,GAA6BtV,GAA7B,CANU,CAMwB;AACrC,C;;AAGUgV,oEAAf,E;;;;;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMyoB,W,GACF,uBAAc;AAAA;;AACV,OAAK4M,WAAL,GAAmB,IAAnB;AACA,OAAKr2B,cAAL,GAAsB,IAAtB;AACA,OAAKlF,MAAL,GAAc,IAAd;AACA,OAAKmG,SAAL,GAAiB,CAAjB;AACA,OAAK/iB,KAAL,GAAa,EAAb;AACA,OAAK2iB,WAAL,GAAmB,EAAnB;AACA,OAAKQ,sBAAL,GAA8B,CAA9B;AACH,C;;AAGUooB,0EAAf,E;;;;;;;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACM9gB,Y,GACF,wBAAc;AAAA;;AACV,OAAKC,aAAL,GAAqB5c,GAArB;AACA,OAAK8c,UAAL,GAAkB,IAAlB;AACA,OAAKC,aAAL,GAAqB,IAArB;AACA,OAAKE,aAAL,GAAqBjd,GAArB;AACA,OAAK4P,QAAL,GAAgB5P,GAAhB;AAC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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMnqB,U,GACF,sBAAc;AAAA;;AACV,OAAKzG,EAAL,GAAU,IAAV;AACA,OAAKhlB,KAAL,GAAa,IAAb;AACA,OAAK8qB,KAAL,GAAanV,GAAb;AACA,OAAK4P,QAAL,GAAgB5P,GAAhB;AACA,OAAKuc,YAAL,GAAoB,IAApB;AACA,OAAKE,MAAL,GAAc,IAAd;AACH,C;;AAGU3G,yEAAf,E;;;;;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACM4oB,S,GACF,qBAAc;AAAA;;AACV;AACA,OAAK7pB,WAAL,GAAmB,EAAnB;AACA,OAAK3iB,KAAL,GAAa,EAAb;AACH,C;;AAGUwsC,wEAAf,E;;;;;;;;;;;;AC1CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASqM,cAAT,CAAwBt9C,MAAxB,EAAgC;AAE5BA,QAAM,GAAGA,MAAM,IAAI,EAAnB;AACA,MAAM0K,OAAO,GAAG,KAAKA,OAArB;AACA,MAAMY,QAAQ,GAAGtL,MAAM,CAACsL,QAAxB;AACA,MAAM2U,MAAM,GAAGjgB,MAAM,CAACigB,MAAtB;AACA,MAAMqQ,QAAQ,GAAGtwB,MAAM,CAACswB,QAAxB;AACA,MAAM/S,MAAM,GAAGvd,MAAM,CAACud,MAAtB;AACA,MAAMzO,QAAQ,GAAG9O,MAAM,CAAC8O,QAAxB;AAEA,MAAInD,QAAJ,EACI0uB,SADJ;;AAGA,WAASvuB,KAAT,GAAiB;AACbuuB,aAAS,GAAGE,8DA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ACH;;AAED,WAAO00B,kBAAkB,CAAC+f,qBAAnB,EAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,WAASC,gBAAT,CAA0B74C,IAA1B,EAAgC84C,QAAhC,EAA0CC,IAA1C,EAAgD;AAC5C/sB,oBAAgB,CAAC6sB,gBAAjB,CAAkC74C,IAAlC,EAAwC84C,QAAxC,EAAkDC,IAAlD;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI,WAASC,mBAAT,CAA6BF,QAA7B,EAAuC;AACnC9sB,oBAAgB,CAACgtB,mBAAjB,CAAqCF,QAArC;AACH;AAED;AACJ;AACA;AACA;AACA;;;AACI,WAASG,sBAAT,GAAkC;AAC9BjtB,oBAAgB,CAACgtB,mBAAjB;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,WAASE,kBAAT,CAA4BlgC,WAA5B,EAAyC3iB,KAAzC,EAAgD;AAC5C21B,oBAAgB,CAACktB,kBAAjB,CAAoClgC,WAApC,EAAiD3iB,KAAjD;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,WAAS8iD,qBAAT,CAA+BngC,WAA/B,EAA4C3iB,KAA5C,EAAmD;AAC/C21B,oBAAgB,CAACmtB,qBAAjB,CAAuCngC,WAAvC,EAAoD3iB,KAApD;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,WAAS+iD,4BAAT,GAAwC;AACpCptB,oBAAgB,CAACotB,4BAAjB;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,WAAS5D,8BAAT,GAA0C;AACtCxpB,oBAAgB,CAACwpB,8BAAjB;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,WAAS6D,oBA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,SAAOkX,QAAP;AACH;;AAEDm4D,WAAW,CAACl2D,qBAAZ,GAAoC,aAApC;AACe/C,yHAAY,CAAC4F,eAAb,CAA6BqzD,WAA7B,CAAf,E;;;;;;;;;;;;AC5GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEe;AACX9oB,QAAM,EAAE;AACJqpB,cAAU,EAAE,YADR;AAEJppB,WAAO,EAAE,SAFL;AAGJuS,SAAK,EAAE;AAHH,GADG;AAMXtS,QAAM,EAAE;AACJopB,yBAAqB,EAAE;AACnBxqD,SAAG,EAAE,uBADc;AAEnB/M,aAAO,EAAE;AAFU,KADnB;AAKJw3D,uCAAmC,EAAE;AACjCzqD,SAAG,EAAE,qCAD4B;AAEjC/M,aAAO,EAAE;AAFwB,KALjC;AASJouC,sBAAkB,EAAE;AAChBrhC,SAAG,EAAE,oBADW;AAEhB/M,aAAO,EAAE;AAFO;AAThB;AANG,CAAf,E;;;;;;;;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;IACMwI,S;AA4PF,uBAAc;AAAA;;AACV,SAAKwlB,IAAL;AACH;;;;WA5PD,gBAAO;AACH;AACR;AACA;AACA;AACA;AACQ,WAAKjE,MAAL,GAAc,QAAd;AAEA;AACR;AACA;AACA;AACA;;AACQ,WAAKnR,KAAL,GAAa,OAAb;AAEA;AACR;AACA;AACA;AACA;;AACQ,WAAKwS,KAAL,GAAa,OAAb;AAEA;AACR;AACA;AACA;AACA;;AACQ,WAAKzS,IAAL,GAAY,MAAZ;AAEA;AACR;AACA;AACA;AACA;;AACQ,WAAK2lB,KAAL,GAAa,OAAb;AAEA;AACR;AACA;AACA;AACA;;AACQ,WAAKlmB,KAAL,GAAa,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;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMyE,O,GACF,mBAAc;AAAA;;AAEV,OAAK/mF,OAAL,GAAe,EAAf;AACA,OAAK6gF,KAAL,GAAa,EAAb;AACA,OAAKE,SAAL,GAAiB,EAAjB;AACH,C;;AAGUgG,sEAAf,E;;;;;;;;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMlG,K,GACF,iBAAc;AAAA;;AAEV;AACA,OAAKY,SAAL,GAAiB,CAAjB;AACA,OAAKzxE,QAAL,GAAgBq4D,QAAhB,CAJU,CAMV;;AACA,OAAKqZ,iBAAL,GAAyB,KAAzB;AACH,C;;AAGUb,oEAAf,E;;;;;;;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AAEA;AACA,IAAMyH,uBAAuB,GAAG,IAAhC;;IAEMvH,S,GACF,qBAAc;AAAA;;AAEV,OAAK9rE,WAAL,GAAmB,EAAnB;AACA,OAAK3iB,KAAL,GAAa,EAAb,CAHU,CAKV;;AACA,OAAK+yF,gBAAL,GAAwB,EAAxB;AACA,OAAKC,eAAL,GAAuBgD,uBAAvB;AACH,C;;AAGUvH,wEAAf,E;;;;;;;;;;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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,CAAZ;;AACA,WAAK76H,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGgsC,GAAhB,EAAqBhsC,CAAC,EAAtB;AACI86H,aAAK,CAAC96H,CAAD,CAAL,GAAW46H,SAAS,CAACz6H,UAAV,CAAqBH,CAArB,CAAX;AADJ;;AAEA,aAAO66H,GAAP;AACH;;;;;;AAGUvJ,6EAAf,E;;;;;;;;;;;;;;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMmF,U;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,oBAAY5N,YAAZ,EAA0B5sG,OAA1B,EAAmCy6G,UAAnC,EAA+ChL,WAA/C,EAA4D;AAAA;;AACxD,OAAK7C,YAAL,GAAoBA,YAApB;AACA,OAAK5sG,OAAL,GAAeA,OAAf;AACA,OAAKy6G,UAAL,GAAkBA,UAAlB;AACA,OAAKhL,WAAL,GAAmBA,WAAW,GAAGA,WAAH,GAAiB,iBAA/C;AACH,C;;AAGU+K,yEAAf,E;;;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMpF,O;AACF;AACJ;AACA;AACA;AACA;AACA;AACI,iBAAY8E,KAAZ,EAAmBntG,GAAnB,EAAwB;AAAA;;AACpB,OAAKmtG,KAAL,GAAaA,KAAb;AACA,OAAKntG,GAAL,GAAWA,GAAX;AACH,C;;AAGUqoG,sEAAf,E;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;IACM2E,e;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI,yBAAYzS,SAAZ,EAAuBkV,eAAvB,EAAwC;AAAA;;AACpC,OAAKlV,SAAL,GAAiBA,SAAjB;AACA,OAAKkV,eAAL,GAAuBA,eAAvB;AACH,C;;AAGUzC,8EAAf,E;;;;;;;;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;IACMjM,sB;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,gCAAYR,iBAAZ,EAA+BC,iBAA/B,EAAkDI,qBAAlD,EAAyEC,eAAzE,EAA0FkR,YAA1F,EAAwG;AAAA;;AACpG,OAAKC,aAAL,GAAqB,CAAE,MAAF,CAArB;;AACA,MAAIzR,iBAAiB,IAAIA,iBAAiB,CAACtpH,MAA3C,EAAmD;AAC/C,SAAKspH,iBAAL,GAAyBA,iBAAzB;AACH;;AACD,MAAIC,iBAAiB,IAAIA,iBAAiB,CAACvpH,MAA3C,EAAmD;AAC/C,SAAKupH,iBAAL,GAAyBA,iBAAzB;AACH;;AACD,OAAKI,qBAAL,GAA6BA,qBAA7B;AACA,OAAKC,eAAL,GAAuBA,eAAvB;AACA,OAAKkR,YAAL,GAAoBA,YAApB;AACH,C;;AAGUhR,qFAAf,E;;;;;;;;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMqE,c;AACF;AACJ;AACA;AACA;AACA;AACI,wBAAYxlG,GAAZ,EAAiBi8D,MAAjB,EAAyBC,YAAzB,EAAuCx7D,OAAvC,EAAgD4zF,e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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMjuC,W,GACF,qBAAYsjB,IAAZ,EAAkB9zC,OAAlB,EAA2B8X,IAA3B,EAAiC;AAAA;;AAC7B,OAAKg8B,IAAL,GAAYA,IAAI,IAAI,IAApB;AACA,OAAK9zC,OAAL,GAAeA,OAAO,IAAI,IAA1B;AACA,OAAK8X,IAAL,GAAYA,IAAI,IAAI,IAApB;AACH,C;;AAGU0Y,0EAAf,E;;;;;;;;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;IACM64C,S,GACF;AACA,qBAAc;AAAA;;AACV,OAAKtnE,QAAL,GAAgB,IAAhB;AACA,OAAKuT,SAAL,GAAiB,IAAjB;AACA,OAAKoyC,WAAL,GAAmB,IAAnB;AACA,OAAK5yC,OAAL,GAAetP,GAAf;AACA,OAAK3V,KAAL,GAAa2V,GAAb;AACA,OAAKmiD,KAAL,GAAa,IAAb;AACA,OAAKhtC,KAAL,GAAanV,GAAb;AACA,OAAKyoB,GAAL,GAAWzoB,GAAX;AACA,OAAK4P,QAAL,GAAgB5P,GAAhB;AACA,OAAK2X,gBAAL,GAAwB,IAAxB;AACA,OAAKimD,WAAL,GAAmB,IAAnB;AACH,C;;AAGUiG,wEAAf,E;;;;;;;;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;;IACMpkD,e;AACF,2BAAYtY,GAAZ,EAAiB;AAAA;;AACb,SAAKyS,MAAL,GAAc6F,eAAe,CAAC2vE,e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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMvwC,W,GACF,uBAAc;AAAA;;AACV,OAAKrS,OAAL,GAAe,EAAf;AACA,OAAKh/D,QAAL,GAAgB,EAAhB;AACA,OAAK++D,aAAL,GAAqB,EAArB;AACA,OAAKH,WAAL,GAAmB,EAAnB;AACA,OAAKyT,WAAL,GAAmB,EAAnB;AACA,OAAKhvE,QAAL,GAAgB,EAAhB;AACA,OAAKkvE,aAAL,GAAqB,EAArB;AACA,OAAKI,cAAL,GAAsB,EAAtB;AACA,OAAKL,OAAL,GAAe,EAAf;AACA,OAAKS,cAAL,GAAsB,EAAtB;AACA,OAAKH,aAAL,GAAqB,IAArB;AACA,OAAK/T,SAAL,GAAiB,EAAjB;AACH,C;;AAGUwS,0EAAf,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;IAEMxoD,W;;;;;AACF,uBAAY/kC,GAAZ,EAAiBtL,IAAjB,EAAuB;AAAA;;AAAA;;AACnB;AACA,UAAKsL,GAAL,GAAWA,GAAG,IAAI,IAAlB;AACA,UAAKtL,IAAL,GAAYA,IAAI,IAAI,IAApB;AACA,UAAKW,SAAL,GAAiBwG,4DAAS,CAACuhB,MAA3B;AACA,UAAK8+C,YAAL,GAAoB,EAApB,CALmB,CAKK;;AALL;AAMtB;;;EAPqB5jD,wD;;AAUXysB,0EAAf,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;;IACMyrF,a;;;;;AACF,2BAAe;AAAA;;AAAA;;AACX;AACA,UAAK2F,WAAL,GAAmB,IAAnB;AACA,UAAKrjC,KAAL,GAAa,IAAb;AACA,UAAK89B,YAAL,GAAoB,KAApB;AACA,UAAK/9B,IAAL,GAAY,IAAZ;AACA,UAAK99E,YAAL,GAAoB,KAApB;AACA,UAAKE,UAAL,GAAkB,KAAlB;AACA,UAAK89E,MAAL,GAAc,IAAd;AARW;AASd;;;EAVuBlkF,0D;;AAab2hH,4EAAf,E;;;;;;;;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMkL,S,GACF,qBAAc;AAAA;;AACV,OAAK17H,GAAL,GAAW,IAAX;AACA,OAAK+yB,KAAL,GAAa,IAAb;AACA,OAAKC,MAAL,GAAc,IAAd;AACA,OAAKv8B,CAAL,GAAS,IAAT;AACA,OAAK4gI,CAAL,GAAS,IAAT;AACH,C;;AAGUqE,wEAAf,E;;;;;;;;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMW,kB,GACF,8BAAc;AAAA;;AACV,OAAK3zE,OAAL,GAAe,CAAf;AACA,OAAK31B,KAAL,GAAa,CAAb;AACA,OAAKC,MAAL,GAAc,CAAd;AACA,OAAKuoG,QAAL,GAAgB,CAAhB;AACA,OAAKC,SAAL,GAAiB,CAAjB;AACA,OAAKG,YAAL,GAAoB,CAApB;AACA,OAAKC,aAAL,GAAqB,CAArB;AACA,OAAKt9G,WAAL,GAAmB,CAAnB;AACA,OAAK/V,eAAL,GAAuB,CAAvB;AACA,OAAKuF,SAAL,GAAiB,CAAjB;AACA,OAAKmuH,WAAL,GAAmB,EAAnB;AACA,OAAK/zH,EAAL,GAAU,EAAV;AACH,C;;AAGUm0H,iFAAf,E;;;;;;;;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACM9sC,e,GACF,2BAAc;AAAA;;AACV,OAAKttG,CAAL,GAAS,IAAT;AACA,OAAK8pJ,IAAL,GAAY,IAAZ;AACA,OAAK77F,KAAL,GAAa,IAAb;AACA,OAAKhoC,EAAL,GAAU,IAAV;AACA,OAAKhxB,CAAL,GAAS,IAAT;AACA,OAAK4oB,CAAL,GAAS,IAAT;AACH,C;;AAGUyvF,8EAAf;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;IACMzU,W;AACF;AACJ;AACA;AACI,uBAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAK74F,CAAL,GAAS,IAAT;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,OAAKkR,KAAL,GAAa,IAAb;AACH,C;;AAGU2nF,0EAAf,E;;;;;;;;;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;IACMyT,W;AACF;AACJ;AACA;AACI,uBAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAKl8E,MAAL,GAAc,IAAd;AACA;AACR;AACA;AACA;;AACQ,OAAKyJ,KAAL,GAAaf,mEAAgB,CAAC24B,YAA9B;AACH,C;;AAGU66C,0EAAf,E;;;;;;;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;IACMC,O;AACF;AACJ;AACA;AACI,mBAAc;AAAA;;AAEV;AACR;AACA;AACA;AACQ,OAAK90G,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;AACA;;AACQ,OAAK8+B,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAKpD,YAAL,GAAoB,IAApB;AACH,C;;AAGUo5E,sEAAf,E;;;;;;;;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMC,a;AACF;AACJ;AACA;AACI,yBACA;AAAA;;AACI;AACR;AACA;AACA;AACQ,OAAK/0G,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,OAAKi1G,aAAL,GAAqB,IAArB;AACH,C;;AAGUF,4EAAf,E;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;IACM7xF,W;AACF;AACJ;AACA;AACI,uBAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAK+wF,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAKj5F,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,OAAKsL,GAAL,GAAW,IAAX;AACA;AACR;AACA;AACA;;AACQ,OAAK4tF,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAKp1E,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAKq1E,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKlP,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAKtiE,YAAL,GAAoB,IAApB;AACA;AACR;AACA;AACA;;AACQ,OAAKm/D,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKp7D,KAAL,GAAa,EAAb;AAEA;AACR;AACA;AACA;;AACQ,OAAK6tE,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;;AACQ,OAAKD,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKE,cAAL,GAAsB,IAAtB;AACA;AACR;AACA;AACA;;AACQ,OAAKC,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKlvE,gBAAL,GAAwB,IAAxB;AACA;AACR;AACA;AACA;;AACQ,OAAK2/D,gBAAL,GAAwB,IAAxB;AACH,C;AAGL;AACA;AACA;AACA;;;IACM8O,gB;AACF;AACJ;AACA;AACI,4BAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAKx2G,CAAL,GAAS,IAAT;AACA;AACR;AACA;AACA;;AACQ,OAAKyS,CAAL,GAAS,IAAT;AACA;AACR;AACA;AACA;;AACQ,OAAKrG,CAAL,GAAS,EAAT;AACA;AACR;AACA;AACA;;AACS,OAAKrB,CAAL,GAAS,IAAT;AACJ,C;;AAGL2a,WAAW,CAACs4E,GAAZ,GAAkB,KAAlB;AACAt4E,WAAW,CAACq4E,IAAZ,GAAmB,MAAnB;AACAr4E,WAAW,CAACC,QAAZ,GAAuB,KAAvB;AACAD,WAAW,CAACE,oBAAZ,GAAmC,gBAAnC;AACAF,WAAW,CAACI,iBAAZ,GAAgC,uBAAhC;AACAJ,WAAW,CAACM,kBAAZ,GAAiC,cAAjC;AACAN,WAAW,CAACG,kBAAZ,GAAiC,cAAjC;AACAH,WAAW,CAACK,gCAAZ,GAA+C,2BAA/C;AACAL,WAAW,CAACO,8BAAZ,GAA6C,qBAA7C;AACAP,WAAW,CAACQ,OAAZ,GAAsB,SAAtB;AACAR,WAAW,CAACS,UAAZ,GAAyB,OAAzB;;;;;;;;;;;;;;;;;;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACM4xF,c;AACF;AACJ;AACA;AACI,0BAAc;AAAA;;AAEV;AACR;AACA;AACA;AACQ,OAAK55F,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAKX,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,OAAKq6F,WAAL,GAAmB,IAAnB;AACA;AACR;AACA;AACA;;AACQ,OAAKC,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAKn5E,qBAAL,GAA6B,IAA7B;AACA;AACR;AACA;AACA;;AACQ,OAAK0C,qBAAL,GAA6B,CAA7B;AACA;AACR;AACA;AACA;;AACQ,OAAKo0D,gBAAL,GAAwB,CAAxB;AACA;AACR;AACA;AACA;;AACQ,OAAK/tD,WAAL,GAAmB,IAAnB;AACA;AACR;AACA;AACA;;AACQ,OAAKy7B,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKpqB,OAAL,GAAe,CAAf;AACA;AACR;AACA;AACA;;AACQ,OAAKnnB,UAAL,GAAkB,EAAlB;AACA;AACR;AACA;AACA;;AACQ,OAAKvB,kBAAL,GAA0B,EAA1B;AAEH,C;AAGL;AACA;AACA;AACA;;;IACM2nF,wB;AACF;AACJ;AACA;AACI,oCAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAKhnF,EAAL,GAAU,IAAV;AACA;AACR;AACA;AACA;;AACQ,OAAKhlB,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAK8qB,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAKvF,QAAL,GAAgB,IAAhB;AACH,C;AAGL;AACA;AACA;AACA;;;IACM0mF,gC;AACF;AACJ;AACA;AACI,4CAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,OAAKjnF,EAAL,GAAU,IAAV;AACA;AACR;AACA;AACA;;AACQ,OAAKhlB,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAKmS,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAKgpB,WAAL,GAAmB,IAAnB;AACA;AACR;AACA;AACA;;AACQ,OAAKnQ,sBAAL,GAA8B,IAA9B;AACA;AACR;AACA;AACA;;AACQ,OAAKoQ,WAAL,GAAmB,IAAnB;AACA;AACR;AACA;AACA;;AACQ,OAAKC,gBAAL,GAAwB,IAAxB;AACH,C;;;;;;;;;;;;;;;;;;;ACpLL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMgB,Q;AACF;AACJ;AACA;AACI,oBAAc;AAAA;;AAEV;AACR;AACA;AACA;AACQ,OAAKvR,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;;AACQ,OAAKwR,MAAL,GAAc,IAAd;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAKC,SAAL,GAAiB,IAAjB;AAEA;AACR;AACA;AACA;;AACQ,OAAKW,KAAL,GAAa,EAAb;AACH,C;AAGL;;;AACAb,QAAQ,CAAC0vD,4BAAT,GAAwC,iBAAxC;AACA1vD,QAAQ,CAACivD,iBAAT,GAA6B,MAA7B;AACAjvD,QAAQ,CAAC2vD,8BAAT,GAA0C,QAA1C;AACA3vD,QAAQ,CAACysH,+BAAT,GAA2C,0BAA3C;AAEA;AACA;AACA;AACA;;IACMpsH,a;AACF;AACJ;AACA;AACI,yBAAc;AAAA;;AACV;AACR;AACA;AACA;AACA;AACQ,OAAKC,gBAAL,GAAwB,IAAxB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAKuvE,WAAL,GAAmB,IAAnB;AACA;AACR;AACA;AACA;AACA;;AACQ,OAAKphF,KAAL,GAAa,IAAb;AACA;AACR;AACA;AACA;AACA;;AACQ,OAAKwR,MAAL,GAAc,IAAd;AACA;AACR;AACA;AACA;AACA;;AACQ,OAAK/W,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;AACA;;AACQ,OAAKqX,aAAL,GAAqB,IAArB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAKK,UAAL,GAAkB,IAAlB;AACH,C;;AAGLP,aAAa,CAAConC,iCAAd,GAAkD,uBAAlD;AACApnC,aAAa,CAAC6mC,kBAAd,GAAmC,aAAnC;AACA7mC,aAAa,CAAC+uD,wBAAd,GAAyC,cAAzC;AACA/uD,aAAa,CAAC8vD,yBAAd,GAA0C,eAA1C;AACA9vD,aAAa,CAAC+vD,0BAAd,GAA2C,gBAA3C;AACA/vD,aAAa,CAACqsH,8BAAd,GAA+C,wBAA/C;AACArsH,aAAa,CAAC2xD,mBAAd,GAAoC,SAApC;;;;;;;;;;;;;;;;AChJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACM26D,oB;AACF;AACJ;AACA;AACI,gCAAc;AAAA;;AAEV;AACR;AACA;AACA;AACQ,OAAKjqJ,CAAL,GAAS,IAAT;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAKi5B,EAAL,GAAU,IAAV;AACA;AACR;AACA;AACA;;AACQ,OAAKC,EAAL,GAAU,IAAV;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,OAAKC,GAAL,GAAW,IAAX;AAEH,C;;AAGU8wH,mFAAf,E;;;;;;;;;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMp9C,a;AACF;AACJ;AACA;AACI,yBAAc;AAAA;;AAEV;AACR;AACA;AACA;AACA;AACQ,OAAKtyE,eAAL,GAAuB,EAAvB;AACA;AACR;AACA;AACA;;AACQ,OAAKC,gBAAL,GAAwB,EAAxB;AACH,C;;AAGUqyE,4EAAf,E;;;;;;;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;IACMD,c;AACF;AACJ;AACA;AACI,0BAAc;AAAA;;AAEV;AACR;AACA;AACA;AACQ,OAAKx5F,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAKpT,CAAL,GAAS,IAAT;AAEA;AACR;AACA;AACA;;AACQ,OAAKyS,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,OAAK3R,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;AACA;;AACQ,OAAK8yB,qBAAL,GAA6B,IAA7B;AACA;AACR;AACA;AACA;;AACQ,OAAKpN,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,OAAKN,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;;AACQ,OAAKqQ,KAAL,GAAa,IAAb;AAEA;AACR;AACA;AACA;;AACQ,OAAKsD,KAAL,GAAa,IAAb;AACH,C;;AAGU+yE,6EAAf,E;;;;;;;;;;;AC1FA,e;;;;;;;;;;;ACAA,e","file":"dash.all.debug.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dashjs\"] = factory();\n\telse\n\t\troot[\"dashjs\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./index.js\");\n","/* $Date: 2007-06-12 18:02:31 $ */\n\n// from: http://bannister.us/weblog/2007/06/09/simple-base64-encodedecode-javascript/\n// Handles encode/decode of ASCII and Unicode strings.\n\nvar UTF8 = {};\nUTF8.encode = function(s) {\n var u = [];\n for (var i = 0; i < s.length; ++i) {\n var c = s.charCodeAt(i);\n if (c < 0x80) {\n u.push(c);\n } else if (c < 0x800) {\n u.push(0xC0 | (c >> 6));\n u.push(0x80 | (63 & c));\n } else if (c < 0x10000) {\n u.push(0xE0 | (c >> 12));\n u.push(0x80 | (63 & (c >> 6)));\n u.push(0x80 | (63 & c));\n } else {\n u.push(0xF0 | (c >> 18));\n u.push(0x80 | (63 & (c >> 12)));\n u.push(0x80 | (63 & (c >> 6)));\n u.push(0x80 | (63 & c));\n }\n }\n return u;\n};\nUTF8.decode = function(u) {\n var a = [];\n var i = 0;\n while (i < u.length) {\n var v = u[i++];\n if (v < 0x80) {\n // no need to mask byte\n } else if (v < 0xE0) {\n v = (31 & v) << 6;\n v |= (63 & u[i++]);\n } else if (v < 0xF0) {\n v = (15 & v) << 12;\n v |= (63 & u[i++]) << 6;\n v |= (63 & u[i++]);\n } else {\n v = (7 & v) << 18;\n v |= (63 & u[i++]) << 12;\n v |= (63 & u[i++]) << 6;\n v |= (63 & u[i++]);\n }\n a.push(String.fromCharCode(v));\n }\n return a.join('');\n};\n\nvar BASE64 = {};\n(function(T){\n var encodeArray = function(u) {\n var i = 0;\n var a = [];\n var n = 0 | (u.length / 3);\n while (0 < n--) {\n var v = (u[i] << 16) + (u[i+1] << 8) + u[i+2];\n i += 3;\n a.push(T.charAt(63 & (v >> 18)));\n a.push(T.charAt(63 & (v >> 12)));\n a.push(T.charAt(63 & (v >> 6)));\n a.push(T.charAt(63 & v));\n }\n if (2 == (u.length - i)) {\n var v = (u[i] << 16) + (u[i+1] << 8);\n a.push(T.charAt(63 & (v >> 18)));\n a.push(T.charAt(63 & (v >> 12)));\n a.push(T.charAt(63 & (v >> 6)));\n a.push('=');\n } else if (1 == (u.length - i)) {\n var v = (u[i] << 16);\n a.push(T.charAt(63 & (v >> 18)));\n a.push(T.charAt(63 & (v >> 12)));\n a.push('==');\n }\n return a.join('');\n }\n var R = (function(){\n var a = [];\n for (var i=0; i= minLevel) {\n console.log(this.time + \" [\" + severity + \"] \" + msg);\n }\n }\n };\n\n var numArrayToHexArray = function(numArray) {\n var hexArray = [];\n for (var j = 0; j < numArray.length; j++) {\n hexArray.push(numArray[j].toString(16));\n }\n return hexArray;\n };\n\n /**\n * State of CEA-608 pen or character\n * @constructor\n */\n var PenState = function(foreground, underline, italics, background, flash) {\n this.foreground = foreground || \"white\";\n this.underline = underline || false;\n this.italics = italics || false;\n this.background = background || \"black\";\n this.flash = flash || false;\n };\n\n PenState.prototype = {\n \n reset : function() {\n this.foreground = \"white\";\n this.underline = false;\n this.italics = false;\n this.background = \"black\";\n this.flash = false;\n },\n \n setStyles : function(styles) {\n var attribs = [\"foreground\", \"underline\", \"italics\", \"background\", \"flash\"];\n for (var i = 0 ; i < attribs.length; i++) {\n var style = attribs[i];\n if (styles.hasOwnProperty(style)) {\n this[style] = styles[style];\n }\n }\n },\n \n isDefault : function() {\n return (this.foreground === \"white\" && !this.underline && !this.italics && \n this.background === \"black\" && !this.flash);\n },\n\n equals : function(other) {\n return ( (this.foreground === other.foreground) && \n (this.underline === other.underline) &&\n (this.italics === other.italics) &&\n (this.background === other.background) &&\n (this.flash === other.flash) );\n },\n\n copy : function(newPenState) {\n this.foreground = newPenState.foreground;\n this.underline = newPenState.underline;\n this.italics = newPenState.italics;\n this.background = newPenState.background;\n this.flash = newPenState.flash;\n },\n \n toString: function() {\n return (\"color=\" + this.foreground + \", underline=\" + this.underline + \", italics=\" + this.italics +\n \", background=\" + this.background + \", flash=\" + this.flash);\n }\n };\n\n /**\n * Unicode character with styling and background.\n * @constructor\n */\n var StyledUnicodeChar = function(uchar, foreground, underline, italics, background, flash) {\n this.uchar = uchar || ' '; // unicode character\n this.penState = new PenState(foreground, underline,italics, background, flash);\n };\n\n StyledUnicodeChar.prototype = {\n \n reset: function() {\n this.uchar = ' ';\n this.penState.reset();\n },\n \n setChar: function(uchar, newPenState) {\n this.uchar = uchar;\n this.penState.copy(newPenState);\n },\n \n setPenState: function(newPenState) {\n this.penState.copy(newPenState);\n },\n \n equals: function(other) {\n return this.uchar === other.uchar && this.penState.equals(other.penState);\n },\n \n copy: function(newChar) {\n this.uchar = newChar.uchar;\n this.penState.copy(newChar.penState);\n },\n \n isEmpty : function() {\n return this.uchar === ' ' && this.penState.isDefault();\n }\n };\n\n /**\n * CEA-608 row consisting of NR_COLS instances of StyledUnicodeChar.\n * @constructor\n */\n var Row = function() {\n this.chars = [];\n for (var i = 0 ; i < NR_COLS ; i++) {\n this.chars.push(new StyledUnicodeChar());\n }\n this.pos = 0;\n this.currPenState = new PenState();\n };\n\n Row.prototype = {\n \n equals: function(other) {\n var equal = true;\n for (var i = 0 ; i < NR_COLS; i ++) {\n if (!this.chars[i].equals(other.chars[i])) {\n equal = false;\n break;\n }\n }\n return equal;\n },\n \n copy: function(other) {\n for (var i = 0 ; i < NR_COLS; i ++) {\n this.chars[i].copy(other.chars[i]);\n }\n },\n \n isEmpty : function() {\n var empty = true;\n for (var i = 0 ; i < NR_COLS; i ++) {\n if (!this.chars[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n },\n\n /**\n * Set the cursor to a valid column.\n */\n setCursor : function(absPos) {\n if (this.pos !== absPos) {\n this.pos = absPos;\n }\n if (this.pos < 0) {\n logger.log(\"ERROR\", \"Negative cursor position \" + this.pos);\n this.pos = 0;\n } else if (this.pos > NR_COLS) {\n logger.log(\"ERROR\", \"Too large cursor position \" + this.pos);\n this.pos = NR_COLS;\n }\n },\n\n /** \n * Move the cursor relative to current position.\n */\n moveCursor : function(relPos) {\n var newPos = this.pos + relPos;\n if (relPos > 1) {\n for (var i = this.pos+1; i < newPos+1 ; i++) {\n this.chars[i].setPenState(this.currPenState);\n }\n }\n this.setCursor(newPos);\n },\n\n /**\n * Backspace, move one step back and clear character.\n */\n backSpace : function () {\n this.moveCursor(-1);\n this.chars[this.pos].setChar(' ', this.currPenState);\n },\n\n insertChar: function(byte) {\n if (byte >= 0x90) { //Extended char\n this.backSpace();\n }\n var char = getCharForByte(byte);\n if (this.pos >= NR_COLS) {\n logger.log(\"ERROR\", \"Cannot insert \" + byte.toString(16) + \n \" (\" + char + \") at position \" + this.pos + \". Skipping it!\");\n return;\n }\n this.chars[this.pos].setChar(char, this.currPenState);\n this.moveCursor(1);\n },\n\n clearFromPos : function(startPos) {\n var i;\n for (i = startPos ; i < NR_COLS ; i++) {\n this.chars[i].reset();\n }\n },\n\n clear : function() {\n this.clearFromPos(0);\n this.pos = 0;\n this.currPenState.reset();\n },\n\n clearToEndOfRow : function() {\n this.clearFromPos(this.pos);\n },\n\n getTextString: function() {\n var chars = [];\n var empty = true;\n for (var i = 0 ; i < NR_COLS ; i++) {\n var char = this.chars[i].uchar;\n if (char !== \" \") {\n empty = false;\n }\n chars.push(char);\n }\n if (empty) {\n return \"\";\n } else {\n return chars.join(\"\");\n }\n },\n\n setPenStyles: function(styles) {\n this.currPenState.setStyles(styles);\n var currChar = this.chars[this.pos];\n currChar.setPenState(this.currPenState);\n }\n };\n\n /**\n * Keep a CEA-608 screen of 32x15 styled characters\n * @constructor\n */\n var CaptionScreen = function() {\n\n this.rows = [];\n for (var i = 0 ; i < NR_ROWS; i++) {\n this.rows.push(new Row()); // Note that we use zero-based numbering (0-14)\n }\n this.currRow = NR_ROWS - 1;\n this.nrRollUpRows = null;\n this.reset();\n };\n\n CaptionScreen.prototype = {\n\n reset : function() {\n for (var i = 0 ; i < NR_ROWS ; i++) {\n this.rows[i].clear();\n }\n this.currRow = NR_ROWS - 1;\n },\n\n equals : function(other) {\n var equal = true;\n for (var i = 0 ; i < NR_ROWS ; i++) {\n if (!this.rows[i].equals(other.rows[i])) {\n equal = false;\n break;\n }\n }\n return equal;\n },\n\n copy : function(other) {\n for (var i = 0 ; i < NR_ROWS ; i++) {\n this.rows[i].copy(other.rows[i]);\n }\n },\n\n isEmpty : function() {\n var empty = true;\n for (var i = 0 ; i < NR_ROWS ; i++) {\n if (!this.rows[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n },\n\n backSpace : function() {\n var row = this.rows[this.currRow]; \n row.backSpace();\n },\n\n clearToEndOfRow : function() {\n var row = this.rows[this.currRow];\n row.clearToEndOfRow();\n },\n\n /**\n * Insert a character (without styling) in the current row.\n */\n insertChar : function(char) {\n var row = this.rows[this.currRow];\n row.insertChar(char);\n },\n\n setPen : function(styles) {\n var row = this.rows[this.currRow];\n row.setPenStyles(styles);\n },\n\n moveCursor : function(relPos) {\n var row = this.rows[this.currRow];\n row.moveCursor(relPos); \n },\n\n setCursor : function(absPos) {\n logger.log(\"INFO\", \"setCursor: \" + absPos);\n var row = this.rows[this.currRow];\n row.setCursor(absPos);\n },\n\n setPAC : function(pacData) {\n logger.log(\"INFO\", \"pacData = \" + JSON.stringify(pacData));\n var newRow = pacData.row - 1;\n if (this.nrRollUpRows && newRow < this.nrRollUpRows - 1) {\n newRow = this.nrRollUpRows-1;\n }\n this.currRow = newRow;\n var row = this.rows[this.currRow];\n if (pacData.indent !== null) {\n var indent = pacData.indent;\n var prevPos = Math.max(indent-1, 0);\n row.setCursor(pacData.indent);\n pacData.color = row.chars[prevPos].penState.foreground;\n }\n var styles = {foreground : pacData.color, underline : pacData.underline, italics : pacData.italics, background : 'black', flash : false};\n this.setPen(styles);\n },\n\n /**\n * Set background/extra foreground, but first do back_space, and then insert space (backwards compatibility).\n */\n setBkgData : function(bkgData) {\n\n logger.log(\"INFO\", \"bkgData = \" + JSON.stringify(bkgData));\n this.backSpace();\n this.setPen(bkgData);\n this.insertChar(0x20); //Space\n },\n\n setRollUpRows : function(nrRows) {\n this.nrRollUpRows = nrRows;\n },\n\n rollUp : function() {\n if (this.nrRollUpRows === null) {\n logger.log(\"DEBUG\", \"roll_up but nrRollUpRows not set yet\");\n return; //Not properly setup\n }\n logger.log(\"TEXT\", this.getDisplayText());\n var topRowIndex = this.currRow + 1 - this.nrRollUpRows;\n var topRow = this.rows.splice(topRowIndex, 1)[0];\n topRow.clear();\n this.rows.splice(this.currRow, 0, topRow);\n logger.log(\"INFO\", \"Rolling up\");\n //logger.log(\"TEXT\", this.get_display_text())\n },\n\n /**\n * Get all non-empty rows with as unicode text. \n */ \n getDisplayText : function(asOneRow) {\n asOneRow = asOneRow || false;\n var displayText = [];\n var text = \"\";\n var rowNr = -1;\n for (var i = 0 ; i < NR_ROWS ; i++) {\n var rowText = this.rows[i].getTextString();\n if (rowText) {\n rowNr = i+1;\n if (asOneRow) {\n displayText.push(\"Row \" + rowNr + ': \"' + rowText + '\"');\n } else {\n displayText.push(rowText.trim());\n }\n }\n }\n if (displayText.length > 0) {\n if (asOneRow) {\n text = \"[\" + displayText.join(\" | \") + \"]\";\n } else {\n text = displayText.join(\"\\n\");\n }\n }\n return text;\n },\n\n getTextAndFormat : function() {\n return this.rows;\n }\n };\n\n /**\n * Handle a CEA-608 channel and send decoded data to outputFilter\n * @constructor\n * @param {Number} channelNumber (1 or 2)\n * @param {CueHandler} outputFilter Output from channel1 newCue(startTime, endTime, captionScreen)\n */\n var Cea608Channel = function(channelNumber, outputFilter) {\n\n this.chNr = channelNumber;\n this.outputFilter = outputFilter;\n this.mode = null;\n this.verbose = 0;\n this.displayedMemory = new CaptionScreen();\n this.nonDisplayedMemory = new CaptionScreen();\n this.lastOutputScreen = new CaptionScreen();\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS-1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null; // Keeps track of where a cue started.\n };\n\n Cea608Channel.prototype = {\n \n modes : [\"MODE_ROLL-UP\", \"MODE_POP-ON\", \"MODE_PAINT-ON\", \"MODE_TEXT\"],\n \n reset : function() {\n this.mode = null;\n this.displayedMemory.reset();\n this.nonDisplayedMemory.reset();\n this.lastOutputScreen.reset();\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS-1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null;\n this.lastCueEndTime = null;\n },\n\n getHandler : function() {\n return this.outputFilter;\n },\n\n setHandler : function(newHandler) {\n this.outputFilter = newHandler;\n },\n\n setPAC : function(pacData) {\n this.writeScreen.setPAC(pacData);\n },\n\n setBkgData : function(bkgData) {\n this.writeScreen.setBkgData(bkgData);\n },\n\n setMode : function(newMode) {\n if (newMode === this.mode) {\n return;\n }\n this.mode = newMode;\n logger.log(\"INFO\", \"MODE=\" + newMode);\n if (this.mode == \"MODE_POP-ON\") {\n this.writeScreen = this.nonDisplayedMemory;\n } else {\n this.writeScreen = this.displayedMemory;\n this.writeScreen.reset();\n }\n if (this.mode !== \"MODE_ROLL-UP\") {\n this.displayedMemory.nrRollUpRows = null;\n this.nonDisplayedMemory.nrRollUpRows = null;\n }\n this.mode = newMode;\n },\n\n insertChars : function(chars) {\n for (var i = 0 ; i < chars.length ; i++) {\n this.writeScreen.insertChar(chars[i]);\n }\n var screen = this.writeScreen === this.displayedMemory ? \"DISP\" : \"NON_DISP\";\n logger.log(\"INFO\", screen + \": \" + this.writeScreen.getDisplayText(true));\n if (this.mode === \"MODE_PAINT-ON\" || this.mode === \"MODE_ROLL-UP\") {\n logger.log(\"TEXT\", \"DISPLAYED: \" + this.displayedMemory.getDisplayText(true));\n this.outputDataUpdate();\n }\n },\n\n cc_RCL: function() { // Resume Caption Loading (switch mode to Pop On)\n logger.log(\"INFO\", \"RCL - Resume Caption Loading\");\n this.setMode(\"MODE_POP-ON\");\n },\n cc_BS: function() { // BackSpace\n logger.log(\"INFO\", \"BS - BackSpace\");\n if (this.mode === \"MODE_TEXT\") {\n return;\n }\n this.writeScreen.backSpace();\n if (this.writeScreen === this.displayedMemory) {\n this.outputDataUpdate();\n }\n },\n cc_AOF : function() { // Reserved (formerly Alarm Off)\n return;\n },\n cc_AON: function() { // Reserved (formerly Alarm On)\n return;\n },\n cc_DER: function() { // Delete to End of Row\n logger.log(\"INFO\", \"DER- Delete to End of Row\");\n this.writeScreen.clearToEndOfRow();\n this.outputDataUpdate();\n },\n cc_RU: function(nrRows) { //Roll-Up Captions-2,3,or 4 Rows\n logger.log(\"INFO\", \"RU(\" + nrRows +\") - Roll Up\");\n this.writeScreen = this.displayedMemory;\n this.setMode(\"MODE_ROLL-UP\");\n this.writeScreen.setRollUpRows(nrRows);\n },\n cc_FON: function() { //Flash On\n logger.log(\"INFO\", \"FON - Flash On\");\n this.writeScreen.setPen({flash : true});\n },\n cc_RDC: function() { // Resume Direct Captioning (switch mode to PaintOn)\n logger.log(\"INFO\", \"RDC - Resume Direct Captioning\");\n this.setMode(\"MODE_PAINT-ON\");\n },\n cc_TR: function() { // Text Restart in text mode (not supported, however)\n logger.log(\"INFO\", \"TR\");\n this.setMode(\"MODE_TEXT\");\n },\n cc_RTD: function() { // Resume Text Display in Text mode (not supported, however)\n logger.log(\"INFO\", \"RTD\");\n this.setMode(\"MODE_TEXT\");\n },\n cc_EDM: function() { // Erase Displayed Memory\n logger.log(\"INFO\", \"EDM - Erase Displayed Memory\");\n this.displayedMemory.reset();\n this.outputDataUpdate();\n },\n cc_CR: function() { // Carriage Return\n logger.log(\"CR - Carriage Return\");\n this.writeScreen.rollUp();\n this.outputDataUpdate();\n },\n cc_ENM: function() { //Erase Non-Displayed Memory\n logger.log(\"INFO\", \"ENM - Erase Non-displayed Memory\");\n this.nonDisplayedMemory.reset();\n },\n cc_EOC: function() { //End of Caption (Flip Memories)\n logger.log(\"INFO\", \"EOC - End Of Caption\");\n if (this.mode === \"MODE_POP-ON\") {\n var tmp = this.displayedMemory;\n this.displayedMemory = this.nonDisplayedMemory;\n this.nonDisplayedMemory = tmp;\n this.writeScreen = this.nonDisplayedMemory;\n logger.log(\"TEXT\", \"DISP: \" + this.displayedMemory.getDisplayText());\n }\n this.outputDataUpdate();\n },\n cc_TO: function(nrCols) { // Tab Offset 1,2, or 3 columns\n logger.log(\"INFO\", \"TO(\" + nrCols + \") - Tab Offset\");\n this.writeScreen.moveCursor(nrCols);\n },\n cc_MIDROW: function(secondByte) { // Parse MIDROW command\n var styles = {flash : false};\n styles.underline = secondByte % 2 === 1;\n styles.italics = secondByte >= 0x2e;\n if (!styles.italics) {\n var colorIndex = Math.floor(secondByte/2) - 0x10;\n var colors = [\"white\", \"green\", \"blue\", \"cyan\", \"red\", \"yellow\", \"magenta\"];\n styles.foreground = colors[colorIndex];\n } else {\n styles.foreground = \"white\";\n }\n logger.log(\"INFO\", \"MIDROW: \" + JSON.stringify(styles));\n this.writeScreen.setPen(styles);\n },\n\n outputDataUpdate: function() {\n var t = logger.time;\n if (t === null) {\n return;\n }\n if (this.outputFilter) {\n if (this.outputFilter.updateData) {\n this.outputFilter.updateData(t, this.displayedMemory);\n }\n if (this.cueStartTime === null && !this.displayedMemory.isEmpty()) { // Start of a new cue\n this.cueStartTime = t;\n } else {\n if (!this.displayedMemory.equals(this.lastOutputScreen)) { \n if (this.outputFilter.newCue) {\n this.outputFilter.newCue(this.cueStartTime, t, this.lastOutputScreen);\n }\n this.cueStartTime = this.displayedMemory.isEmpty() ? null : t;\n }\n }\n this.lastOutputScreen.copy(this.displayedMemory);\n }\n },\n\n cueSplitAtTime : function(t) {\n if (this.outputFilter) {\n if (!this.displayedMemory.isEmpty()) {\n if (this.outputFilter.newCue) {\n this.outputFilter.newCue(this.cueStartTime, t, this.displayedMemory);\n }\n this.cueStartTime = t;\n }\n }\n }\n };\n\n /**\n * Parse CEA-608 data and send decoded data to out1 and out2.\n * @constructor\n * @param {Number} field CEA-608 field (1 or 2)\n * @param {CueHandler} out1 Output from channel1 newCue(startTime, endTime, captionScreen)\n * @param {CueHandler} out2 Output from channel2 newCue(startTime, endTime, captionScreen)\n */\n var Cea608Parser = function(field, out1, out2) {\n this.field = field || 1;\n this.outputs = [out1, out2];\n this.channels = [new Cea608Channel(1, out1), new Cea608Channel(2, out2)];\n this.currChNr = -1; // Will be 1 or 2\n this.lastCmdA = null; // First byte of last command\n this.lastCmdB = null; // Second byte of last command\n this.bufferedData = [];\n this.startTime = null;\n this.lastTime = null;\n this.dataCounters = {'padding' : 0, 'char' : 0, 'cmd' : 0, 'other' : 0};\n };\n\n Cea608Parser.prototype = {\n \n getHandler : function(index) {\n return this.channels[index].getHandler();\n },\n \n setHandler : function(index, newHandler) {\n this.channels[index].setHandler(newHandler);\n },\n\n /**\n * Add data for time t in forms of list of bytes (unsigned ints). The bytes are treated as pairs.\n */\n addData : function(t, byteList) {\n var cmdFound, a, b, \n charsFound = false;\n \n this.lastTime = t;\n logger.setTime(t);\n\n for (var i = 0 ; i < byteList.length ; i+=2) {\n a = byteList[i] & 0x7f;\n b = byteList[i+1] & 0x7f;\n\n if (a >= 0x10 && a <= 0x1f && a === this.lastCmdA && b === this.lastCmdB) {\n this.lastCmdA = null;\n this.lastCmdB = null;\n logger.log(\"DEBUG\", \"Repeated command (\" + numArrayToHexArray([a, b]) + \") is dropped\");\n continue; // Repeated commands are dropped (once)\n }\n\n if (a === 0 && b === 0) {\n this.dataCounters.padding += 2;\n continue;\n } else {\n logger.log(\"DATA\", \"[\" + numArrayToHexArray([byteList[i], byteList[i+1]]) +\"] -> (\" + numArrayToHexArray([a, b]) + \")\");\n }\n cmdFound = this.parseCmd(a, b);\n if (!cmdFound) {\n cmdFound = this.parseMidrow(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parsePAC(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parseBackgroundAttributes(a, b);\n }\n if (!cmdFound) {\n charsFound = this.parseChars(a, b);\n if (charsFound) {\n if (this.currChNr && this.currChNr >=0) {\n var channel = this.channels[this.currChNr-1];\n channel.insertChars(charsFound);\n } else {\n logger.log(\"WARNING\", \"No channel found yet. TEXT-MODE?\");\n }\n }\n }\n if (cmdFound) {\n this.dataCounters.cmd += 2;\n } else if (charsFound) {\n this.dataCounters.char += 2;\n } else {\n this.dataCounters.other += 2;\n logger.log(\"WARNING\", \"Couldn't parse cleaned data \" + numArrayToHexArray([a, b]) +\n \" orig: \" + numArrayToHexArray([byteList[i], byteList[i+1]]));\n }\n }\n },\n\n /**\n * Parse Command.\n * @returns {Boolean} Tells if a command was found\n */\n parseCmd: function(a, b) {\n var chNr = null;\n\n var cond1 = (a === 0x14 || a === 0x15 || a === 0x1C || a === 0x1D) && (0x20 <= b && b <= 0x2F);\n var cond2 = (a === 0x17 || a === 0x1F) && (0x21 <= b && b <= 0x23);\n if (!(cond1 || cond2)) {\n return false;\n }\n \n if (a === 0x14 || a === 0x15 || a === 0x17) {\n chNr = 1;\n } else {\n chNr = 2; // (a === 0x1C || a === 0x1D || a=== 0x1f)\n }\n\n var channel = this.channels[chNr - 1];\n\n if (a === 0x14 || a === 0x15 || a === 0x1C || a === 0x1D) {\n if (b === 0x20) {\n channel.cc_RCL();\n } else if (b === 0x21) {\n channel.cc_BS();\n } else if (b === 0x22) {\n channel.cc_AOF();\n } else if (b === 0x23) {\n channel.cc_AON();\n } else if (b === 0x24) {\n channel.cc_DER();\n } else if (b === 0x25) {\n channel.cc_RU(2);\n } else if (b === 0x26) {\n channel.cc_RU(3);\n } else if (b === 0x27) {\n channel.cc_RU(4);\n } else if (b === 0x28) {\n channel.cc_FON();\n } else if (b === 0x29) {\n channel.cc_RDC();\n } else if (b === 0x2A) {\n channel.cc_TR();\n } else if (b === 0x2B) {\n channel.cc_RTD();\n } else if (b === 0x2C) {\n channel.cc_EDM();\n } else if (b === 0x2D) {\n channel.cc_CR();\n } else if (b === 0x2E) {\n channel.cc_ENM();\n } else if (b === 0x2F) {\n channel.cc_EOC();\n }\n } else { //a == 0x17 || a == 0x1F\n channel.cc_TO(b - 0x20);\n }\n this.lastCmdA = a;\n this.lastCmdB = b;\n this.currChNr = chNr;\n return true;\n },\n\n /**\n * Parse midrow styling command\n * @returns {Boolean}\n */\n parseMidrow : function(a, b) {\n var chNr = null;\n \n if ( ((a === 0x11) || (a === 0x19)) && 0x20 <= b && b <= 0x2f) {\n if (a === 0x11) {\n chNr = 1;\n } else {\n chNr = 2;\n }\n if (chNr !== this.currChNr) {\n logger.log(\"ERROR\", \"Mismatch channel in midrow parsing\");\n return false;\n }\n var channel = this.channels[chNr-1];\n // cea608 spec says midrow codes should inject a space\n channel.insertChars([0x20]);\n channel.cc_MIDROW(b);\n logger.log(\"DEBUG\", \"MIDROW (\" + numArrayToHexArray([a, b]) + \")\");\n this.lastCmdA = a;\n this.lastCmdB = b;\n return true;\n }\n return false;\n },\n /**\n * Parse Preable Access Codes (Table 53).\n * @returns {Boolean} Tells if PAC found\n */\n parsePAC : function(a, b) {\n\n var chNr = null;\n var row = null;\n \n var case1 = ((0x11 <= a && a <= 0x17) || (0x19 <= a && a <= 0x1F)) && (0x40 <= b && b <= 0x7F);\n var case2 = (a === 0x10 || a === 0x18) && (0x40 <= b && b <= 0x5F);\n if (! (case1 || case2)) {\n return false;\n }\n\n chNr = (a <= 0x17) ? 1 : 2;\n\n if (0x40 <= b && b <= 0x5F) {\n row = (chNr === 1) ? rowsLowCh1[a] : rowsLowCh2[a];\n } else { // 0x60 <= b <= 0x7F\n row = (chNr === 1) ? rowsHighCh1[a] : rowsHighCh2[a];\n }\n var pacData = this.interpretPAC(row, b);\n var channel = this.channels[chNr-1];\n channel.setPAC(pacData);\n this.lastCmdA = a;\n this.lastCmdB = b;\n this.currChNr = chNr;\n return true;\n },\n\n /**\n * Interpret the second byte of the pac, and return the information.\n * @returns {Object} pacData with style parameters.\n */\n interpretPAC : function (row, byte) {\n var pacIndex = byte;\n var pacData = {color : null, italics : false, indent : null, underline : false, row : row};\n \n if (byte > 0x5F) {\n pacIndex = byte - 0x60;\n } else {\n pacIndex = byte - 0x40;\n }\n pacData.underline = (pacIndex & 1) === 1;\n if (pacIndex <= 0xd) {\n pacData.color = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta', 'white'][Math.floor(pacIndex/2)];\n } else if (pacIndex <= 0xf) {\n pacData.italics = true;\n pacData.color = 'white';\n } else {\n pacData.indent = (Math.floor((pacIndex-0x10)/2))*4;\n }\n return pacData; // Note that row has zero offset. The spec uses 1.\n },\n\n /**\n * Parse characters.\n * @returns An array with 1 to 2 codes corresponding to chars, if found. null otherwise.\n */\n parseChars : function(a, b) {\n\n var channelNr = null,\n charCodes = null,\n charCode1 = null,\n charCode2 = null;\n\n if (a >= 0x19) {\n channelNr = 2;\n charCode1 = a - 8;\n } else {\n channelNr = 1;\n charCode1 = a;\n }\n if (0x11 <= charCode1 && charCode1 <= 0x13) {\n // Special character\n var oneCode = b;\n if (charCode1 === 0x11) {\n oneCode = b + 0x50;\n } else if (charCode1 === 0x12) {\n oneCode = b + 0x70;\n } else {\n oneCode = b + 0x90;\n }\n logger.log(\"INFO\", \"Special char '\" + getCharForByte(oneCode) + \"' in channel \" + channelNr);\n charCodes = [oneCode];\n this.lastCmdA = a;\n this.lastCmdB = b;\n } else if (0x20 <= a && a <= 0x7f) {\n charCodes = (b === 0) ? [a] : [a, b];\n this.lastCmdA = null;\n this.lastCmdB = null;\n }\n if (charCodes) {\n var hexCodes = numArrayToHexArray(charCodes);\n logger.log(\"DEBUG\", \"Char codes = \" + hexCodes.join(\",\"));\n }\n return charCodes;\n },\n \n /**\n * Parse extended background attributes as well as new foreground color black.\n * @returns{Boolean} Tells if background attributes are found\n */\n parseBackgroundAttributes : function(a, b) {\n var bkgData,\n index,\n chNr,\n channel;\n\n var case1 = (a === 0x10 || a === 0x18) && (0x20 <= b && b <= 0x2f);\n var case2 = (a === 0x17 || a === 0x1f) && (0x2d <=b && b <= 0x2f);\n if (!(case1 || case2)) {\n return false;\n }\n bkgData = {};\n if (a === 0x10 || a === 0x18) {\n index = Math.floor((b-0x20)/2);\n bkgData.background = backgroundColors[index];\n if (b % 2 === 1) {\n bkgData.background = bkgData.background + \"_semi\";\n }\n } else if (b === 0x2d) {\n bkgData.background = \"transparent\";\n } else {\n bkgData.foreground = \"black\";\n if (b === 0x2f) {\n bkgData.underline = true;\n }\n }\n chNr = (a < 0x18) ? 1 : 2;\n channel = this.channels[chNr-1];\n channel.setBkgData(bkgData);\n this.lastCmdA = a;\n this.lastCmdB = b;\n return true;\n },\n\n /**\n * Reset state of parser and its channels.\n */\n reset : function() {\n for (var i=0 ; i < this.channels.length ; i++) {\n if (this.channels[i]) {\n this.channels[i].reset();\n }\n }\n this.lastCmdA = null;\n this.lastCmdB = null;\n },\n\n /**\n * Trigger the generation of a cue, and the start of a new one if displayScreens are not empty.\n */\n cueSplitAtTime : function(t) {\n for (var i=0 ; i < this.channels.length ; i++) {\n if (this.channels[i]) {\n this.channels[i].cueSplitAtTime(t);\n }\n }\n },\n };\n\n /**\n * Find ranges corresponding to SEA CEA-608 NALUS in sizeprepended NALU array.\n * @param {raw} dataView of binary data\n * @param {startPos} start position in raw\n * @param {size} total size of data in raw to consider\n * @returns \n */\n var findCea608Nalus = function(raw, startPos, size) {\n var nalSize = 0,\n cursor = startPos,\n nalType = 0,\n cea608NaluRanges = [],\n // Check SEI data according to ANSI-SCTE 128\n isCEA608SEI = function (payloadType, payloadSize, raw, pos) {\n if (payloadType !== 4 || payloadSize < 8) {\n return null;\n }\n var countryCode = raw.getUint8(pos);\n var providerCode = raw.getUint16(pos + 1);\n var userIdentifier = raw.getUint32(pos + 3);\n var userDataTypeCode = raw.getUint8(pos + 7);\n return countryCode == 0xB5 && providerCode == 0x31 && userIdentifier == 0x47413934 && userDataTypeCode == 0x3;\n };\n while (cursor < startPos + size) {\n nalSize = raw.getUint32(cursor);\n nalType = raw.getUint8(cursor + 4) & 0x1F;\n //console.log(time + \" NAL \" + nalType);\n if (nalType === 6) {\n // SEI NAL Unit. The NAL header is the first byte\n //console.log(\"SEI NALU of size \" + nalSize + \" at time \" + time);\n var pos = cursor + 5;\n var payloadType = -1;\n while (pos < cursor + 4 + nalSize - 1) { // The last byte should be rbsp_trailing_bits\n payloadType = 0;\n var b = 0xFF;\n while (b === 0xFF) {\n b = raw.getUint8(pos);\n payloadType += b;\n pos++;\n }\n var payloadSize = 0;\n b = 0xFF;\n while (b === 0xFF) {\n b = raw.getUint8(pos);\n payloadSize += b;\n pos++;\n }\n if (isCEA608SEI(payloadType, payloadSize, raw, pos)) {\n //console.log(\"CEA608 SEI \" + time + \" \" + payloadSize);\n cea608NaluRanges.push([pos, payloadSize]);\n }\n pos += payloadSize;\n }\n }\n cursor += nalSize + 4;\n }\n return cea608NaluRanges;\n };\n \n var extractCea608DataFromRange = function(raw, cea608Range) {\n var pos = cea608Range[0];\n var fieldData = [[], []];\n\n pos += 8; // Skip the identifier up to userDataTypeCode\n var ccCount = raw.getUint8(pos) & 0x1f;\n pos += 2; // Advance 1 and skip reserved byte\n \n for (var i = 0; i < ccCount; i++) {\n var byte = raw.getUint8(pos);\n var ccValid = byte & 0x4;\n var ccType = byte & 0x3;\n pos++;\n var ccData1 = raw.getUint8(pos); // Keep parity bit\n pos++;\n var ccData2 = raw.getUint8(pos); // Keep parity bit\n pos++;\n if (ccValid && ((ccData1 & 0x7f) + (ccData2 & 0x7f) !== 0)) { //Check validity and non-empty data\n if (ccType === 0) {\n fieldData[0].push(ccData1);\n fieldData[0].push(ccData2);\n } else if (ccType === 1) {\n fieldData[1].push(ccData1);\n fieldData[1].push(ccData2);\n }\n }\n }\n return fieldData;\n };\n\n exports.logger = logger;\n exports.PenState = PenState;\n exports.CaptionScreen = CaptionScreen; \n exports.Cea608Parser = Cea608Parser;\n exports.findCea608Nalus = findCea608Nalus;\n exports.extractCea608DataFromRange = extractCea608DataFromRange;\n\n}(typeof exports === 'undefined' ? this.cea608parser = {} : exports));\n","/*\n Copyright 2011-2013 Abdulla Abdurakhmanov\n Original sources are available at https://code.google.com/p/x2js/\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n */\n\n/*\n Further modified for dashjs to:\n - keep track of children nodes in order in attribute __children.\n - add type conversion matchers\n - re-add ignoreRoot\n - allow zero-length attributePrefix\n - don't add white-space text nodes\n - remove explicit RequireJS support\n*/\n\nfunction X2JS(config) {\n 'use strict';\n\n var VERSION = \"1.2.0\";\n\n config = config || {};\n initConfigDefaults();\n initRequiredPolyfills();\n\n function initConfigDefaults() {\n if(config.escapeMode === undefined) {\n config.escapeMode = true;\n }\n\n if (config.attributePrefix === undefined) {\n config.attributePrefix = \"_\";\n }\n\n config.arrayAccessForm = config.arrayAccessForm || \"none\";\n config.emptyNodeForm = config.emptyNodeForm || \"text\";\n\n if(config.enableToStringFunc === undefined) {\n config.enableToStringFunc = true;\n }\n config.arrayAccessFormPaths = config.arrayAccessFormPaths || [];\n if(config.skipEmptyTextNodesForObj === undefined) {\n config.skipEmptyTextNodesForObj = true;\n }\n if(config.stripWhitespaces === undefined) {\n config.stripWhitespaces = true;\n }\n config.datetimeAccessFormPaths = config.datetimeAccessFormPaths || [];\n\n if(config.useDoubleQuotes === undefined) {\n config.useDoubleQuotes = false;\n }\n\n config.xmlElementsFilter = config.xmlElementsFilter || [];\n config.jsonPropertiesFilter = config.jsonPropertiesFilter || [];\n\n if(config.keepCData === undefined) {\n config.keepCData = false;\n }\n\n if (config.ignoreRoot === undefined) {\n config.ignoreRoot = false;\n }\n }\n\n var DOMNodeTypes = {\n ELEMENT_NODE \t : 1,\n TEXT_NODE \t : 3,\n CDATA_SECTION_NODE : 4,\n COMMENT_NODE\t : 8,\n DOCUMENT_NODE \t : 9\n };\n\n function initRequiredPolyfills() {\n }\n\n function getNodeLocalName( node ) {\n var nodeLocalName = node.localName;\n if(nodeLocalName == null) // Yeah, this is IE!!\n nodeLocalName = node.baseName;\n if(nodeLocalName == null || nodeLocalName==\"\") // ==\"\" is IE too\n nodeLocalName = node.nodeName;\n return nodeLocalName;\n }\n\n function getNodePrefix(node) {\n return node.prefix;\n }\n\n function escapeXmlChars(str) {\n if(typeof(str) == \"string\")\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''');\n else\n return str;\n }\n\n function unescapeXmlChars(str) {\n return str.replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '\"').replace(/'/g, \"'\").replace(/&/g, '&');\n }\n\n function checkInStdFiltersArrayForm(stdFiltersArrayForm, obj, name, path) {\n var idx = 0;\n for(; idx < stdFiltersArrayForm.length; idx++) {\n var filterPath = stdFiltersArrayForm[idx];\n if( typeof filterPath === \"string\" ) {\n if(filterPath == path)\n break;\n }\n else\n if( filterPath instanceof RegExp) {\n if(filterPath.test(path))\n break;\n }\n else\n if( typeof filterPath === \"function\") {\n if(filterPath(obj, name, path))\n break;\n }\n }\n return idx!=stdFiltersArrayForm.length;\n }\n\n function toArrayAccessForm(obj, childName, path) {\n switch(config.arrayAccessForm) {\n case \"property\":\n if(!(obj[childName] instanceof Array))\n obj[childName+\"_asArray\"] = [obj[childName]];\n else\n obj[childName+\"_asArray\"] = obj[childName];\n break;\n /*case \"none\":\n break;*/\n }\n\n if(!(obj[childName] instanceof Array) && config.arrayAccessFormPaths.length > 0) {\n if(checkInStdFiltersArrayForm(config.arrayAccessFormPaths, obj, childName, path)) {\n obj[childName] = [obj[childName]];\n }\n }\n }\n\n function fromXmlDateTime(prop) {\n // Implementation based up on http://stackoverflow.com/questions/8178598/xml-datetime-to-javascript-date-object\n // Improved to support full spec and optional parts\n var bits = prop.split(/[-T:+Z]/g);\n\n var d = new Date(bits[0], bits[1]-1, bits[2]);\n var secondBits = bits[5].split(\"\\.\");\n d.setHours(bits[3], bits[4], secondBits[0]);\n if(secondBits.length>1)\n d.setMilliseconds(secondBits[1]);\n\n // Get supplied time zone offset in minutes\n if(bits[6] && bits[7]) {\n var offsetMinutes = bits[6] * 60 + Number(bits[7]);\n var sign = /\\d\\d-\\d\\d:\\d\\d$/.test(prop)? '-' : '+';\n\n // Apply the sign\n offsetMinutes = 0 + (sign == '-'? -1 * offsetMinutes : offsetMinutes);\n\n // Apply offset and local timezone\n d.setMinutes(d.getMinutes() - offsetMinutes - d.getTimezoneOffset())\n }\n else\n if(prop.indexOf(\"Z\", prop.length - 1) !== -1) {\n d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds()));\n }\n\n // d is now a local time equivalent to the supplied time\n return d;\n }\n\n function checkFromXmlDateTimePaths(value, childName, fullPath) {\n if(config.datetimeAccessFormPaths.length > 0) {\n var path = fullPath.split(\"\\.#\")[0];\n if(checkInStdFiltersArrayForm(config.datetimeAccessFormPaths, value, childName, path)) {\n return fromXmlDateTime(value);\n }\n else\n return value;\n }\n else\n return value;\n }\n\n function checkXmlElementsFilter(obj, childType, childName, childPath) {\n if( childType == DOMNodeTypes.ELEMENT_NODE && config.xmlElementsFilter.length > 0) {\n return checkInStdFiltersArrayForm(config.xmlElementsFilter, obj, childName, childPath);\n }\n else\n return true;\n }\n\n function parseDOMChildren( node, path ) {\n if(node.nodeType == DOMNodeTypes.DOCUMENT_NODE) {\n var result = new Object;\n var nodeChildren = node.childNodes;\n // Alternative for firstElementChild which is not supported in some environments\n for(var cidx=0; cidx 1 && result.__text!=null && config.skipEmptyTextNodesForObj) {\n if( (config.stripWhitespaces && result.__text==\"\") || (result.__text.trim()==\"\")) {\n delete result.__text;\n }\n }\n delete result.__cnt;\n\n if( config.enableToStringFunc && (result.__text!=null || result.__cdata!=null )) {\n result.toString = function() {\n return (this.__text!=null? this.__text:'')+( this.__cdata!=null ? this.__cdata:'');\n };\n }\n\n return result;\n }\n else\n if(node.nodeType == DOMNodeTypes.TEXT_NODE || node.nodeType == DOMNodeTypes.CDATA_SECTION_NODE) {\n return node.nodeValue;\n }\n }\n\n function startTag(jsonObj, element, attrList, closed) {\n var resultStr = \"<\"+ ( (jsonObj!=null && jsonObj.__prefix!=null)? (jsonObj.__prefix+\":\"):\"\") + element;\n if(attrList!=null) {\n for(var aidx = 0; aidx < attrList.length; aidx++) {\n var attrName = attrList[aidx];\n var attrVal = jsonObj[attrName];\n if(config.escapeMode)\n attrVal=escapeXmlChars(attrVal);\n resultStr+=\" \"+attrName.substr(config.attributePrefix.length)+\"=\";\n if(config.useDoubleQuotes)\n resultStr+='\"'+attrVal+'\"';\n else\n resultStr+=\"'\"+attrVal+\"'\";\n }\n }\n if(!closed)\n resultStr+=\">\";\n else\n resultStr+=\"/>\";\n return resultStr;\n }\n\n function endTag(jsonObj,elementName) {\n return \"\";\n }\n\n function endsWith(str, suffix) {\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\n }\n\n function jsonXmlSpecialElem ( jsonObj, jsonObjField ) {\n if((config.arrayAccessForm==\"property\" && endsWith(jsonObjField.toString(),(\"_asArray\")))\n || jsonObjField.toString().indexOf(config.attributePrefix)==0\n || jsonObjField.toString().indexOf(\"__\")==0\n || (jsonObj[jsonObjField] instanceof Function) )\n return true;\n else\n return false;\n }\n\n function jsonXmlElemCount ( jsonObj ) {\n var elementsCnt = 0;\n if(jsonObj instanceof Object ) {\n for( var it in jsonObj ) {\n if(jsonXmlSpecialElem ( jsonObj, it) )\n continue;\n elementsCnt++;\n }\n }\n return elementsCnt;\n }\n\n function checkJsonObjPropertiesFilter(jsonObj, propertyName, jsonObjPath) {\n return config.jsonPropertiesFilter.length == 0\n || jsonObjPath==\"\"\n || checkInStdFiltersArrayForm(config.jsonPropertiesFilter, jsonObj, propertyName, jsonObjPath);\n }\n\n function parseJSONAttributes ( jsonObj ) {\n var attrList = [];\n if(jsonObj instanceof Object ) {\n for( var ait in jsonObj ) {\n if(ait.toString().indexOf(\"__\")== -1 && ait.toString().indexOf(config.attributePrefix)==0) {\n attrList.push(ait);\n }\n }\n }\n return attrList;\n }\n\n function parseJSONTextAttrs ( jsonTxtObj ) {\n var result =\"\";\n\n if(jsonTxtObj.__cdata!=null) {\n result+=\"\";\n }\n\n if(jsonTxtObj.__text!=null) {\n if(config.escapeMode)\n result+=escapeXmlChars(jsonTxtObj.__text);\n else\n result+=jsonTxtObj.__text;\n }\n return result;\n }\n\n function parseJSONTextObject ( jsonTxtObj ) {\n var result =\"\";\n\n if( jsonTxtObj instanceof Object ) {\n result+=parseJSONTextAttrs ( jsonTxtObj );\n }\n else\n if(jsonTxtObj!=null) {\n if(config.escapeMode)\n result+=escapeXmlChars(jsonTxtObj);\n else\n result+=jsonTxtObj;\n }\n\n return result;\n }\n\n function getJsonPropertyPath(jsonObjPath, jsonPropName) {\n if (jsonObjPath===\"\") {\n return jsonPropName;\n }\n else\n return jsonObjPath+\".\"+jsonPropName;\n }\n\n function parseJSONArray ( jsonArrRoot, jsonArrObj, attrList, jsonObjPath ) {\n var result = \"\";\n if(jsonArrRoot.length == 0) {\n result+=startTag(jsonArrRoot, jsonArrObj, attrList, true);\n }\n else {\n for(var arIdx = 0; arIdx < jsonArrRoot.length; arIdx++) {\n result+=startTag(jsonArrRoot[arIdx], jsonArrObj, parseJSONAttributes(jsonArrRoot[arIdx]), false);\n result+=parseJSONObject(jsonArrRoot[arIdx], getJsonPropertyPath(jsonObjPath,jsonArrObj));\n result+=endTag(jsonArrRoot[arIdx],jsonArrObj);\n }\n }\n return result;\n }\n\n function parseJSONObject ( jsonObj, jsonObjPath ) {\n var result = \"\";\n\n var elementsCnt = jsonXmlElemCount ( jsonObj );\n\n if(elementsCnt > 0) {\n for( var it in jsonObj ) {\n\n if(jsonXmlSpecialElem ( jsonObj, it) || (jsonObjPath!=\"\" && !checkJsonObjPropertiesFilter(jsonObj, it, getJsonPropertyPath(jsonObjPath,it))) )\n continue;\n\n var subObj = jsonObj[it];\n\n var attrList = parseJSONAttributes( subObj )\n\n if(subObj == null || subObj == undefined) {\n result+=startTag(subObj, it, attrList, true);\n }\n else\n if(subObj instanceof Object) {\n\n if(subObj instanceof Array) {\n result+=parseJSONArray( subObj, it, attrList, jsonObjPath );\n }\n else if(subObj instanceof Date) {\n result+=startTag(subObj, it, attrList, false);\n result+=subObj.toISOString();\n result+=endTag(subObj,it);\n }\n else {\n var subObjElementsCnt = jsonXmlElemCount ( subObj );\n if(subObjElementsCnt > 0 || subObj.__text!=null || subObj.__cdata!=null) {\n result+=startTag(subObj, it, attrList, false);\n result+=parseJSONObject(subObj, getJsonPropertyPath(jsonObjPath,it));\n result+=endTag(subObj,it);\n }\n else {\n result+=startTag(subObj, it, attrList, true);\n }\n }\n }\n else {\n result+=startTag(subObj, it, attrList, false);\n result+=parseJSONTextObject(subObj);\n result+=endTag(subObj,it);\n }\n }\n }\n result+=parseJSONTextObject(jsonObj);\n\n return result;\n }\n\n this.parseXmlString = function(xmlDocStr) {\n var isIEParser = window.ActiveXObject || \"ActiveXObject\" in window;\n if (xmlDocStr === undefined) {\n return null;\n }\n var xmlDoc;\n if (window.DOMParser) {\n var parser=new window.DOMParser();\n var parsererrorNS = null;\n try {\n xmlDoc = parser.parseFromString( xmlDocStr, \"text/xml\" );\n if(xmlDoc.getElementsByTagNameNS(\"*\", \"parsererror\").length > 0) {\n xmlDoc = null;\n }\n }\n catch(err) {\n xmlDoc = null;\n }\n }\n else {\n // IE :(\n if(xmlDocStr.indexOf(\"\") + 2 );\n }\n xmlDoc=new ActiveXObject(\"Microsoft.XMLDOM\");\n xmlDoc.async=\"false\";\n xmlDoc.loadXML(xmlDocStr);\n }\n return xmlDoc;\n };\n\n this.asArray = function(prop) {\n if (prop === undefined || prop == null)\n return [];\n else\n if(prop instanceof Array)\n return prop;\n else\n return [prop];\n };\n\n this.toXmlDateTime = function(dt) {\n if(dt instanceof Date)\n return dt.toISOString();\n else\n if(typeof(dt) === 'number' )\n return new Date(dt).toISOString();\n else\n return null;\n };\n\n this.asDateTime = function(prop) {\n if(typeof(prop) == \"string\") {\n return fromXmlDateTime(prop);\n }\n else\n return prop;\n };\n\n this.xml2json = function (xmlDoc) {\n return parseDOMChildren ( xmlDoc );\n };\n\n this.xml_str2json = function (xmlDocStr) {\n var xmlDoc = this.parseXmlString(xmlDocStr);\n if(xmlDoc!=null)\n return this.xml2json(xmlDoc);\n else\n return null;\n };\n\n this.json2xml_str = function (jsonObj) {\n return parseJSONObject ( jsonObj, \"\" );\n };\n\n this.json2xml = function (jsonObj) {\n var xmlDocStr = this.json2xml_str (jsonObj);\n return this.parseXmlString(xmlDocStr);\n };\n\n this.getVersion = function () {\n return VERSION;\n };\n}\n\nexport default X2JS;\n","/**\n * The copyright in this software is being made available under the BSD License,\n * included below. This software may be subject to other third party and contributor\n * rights, including patent rights, and no such rights are granted under this license.\n *\n * Copyright (c) 2013, Dash Industry Forum.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * * Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation and/or\n * other materials provided with the distribution.\n * * Neither the name of Dash Industry Forum nor the names of its\n * contributors may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n\nimport { MediaPlayer } from './index_mediaplayerOnly';\n\nimport { supportsMediaSource } from './src/streaming/utils/Capabilities';\nimport MetricsReporting from './src/streaming/metrics/MetricsReporting';\nimport Protection from './src/streaming/protection/Protection';\nimport MediaPlayerFactory from './src/streaming/MediaPlayerFactory';\nimport Debug from './src/core/Debug';\n\ndashjs.Protection = Protection;\ndashjs.MetricsReporting = MetricsReporting;\ndashjs.MediaPlayerFactory = MediaPlayerFactory;\ndashjs.Debug = Debug;\ndashjs.supportsMediaSource = supportsMediaSource;\n\nexport default dashjs;\nexport { MediaPlayer, Protection, MetricsReporting, MediaPlayerFactory, Debug, supportsMediaSource };\n","/**\n * The copyright in this software is being made available under the BSD License,\n * included below. This software may be subject to other third party and contributor\n * rights, including patent rights, and no such rights are granted under this license.\n *\n * Copyright (c) 2013, Dash Industry Forum.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * * Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation and/or\n * other materials provided with the distribution.\n * * Neither the name of Dash Industry Forum nor the names of its\n * contributors may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n\nimport MediaPlayer from './src/streaming/MediaPlayer';\nimport FactoryMaker from './src/core/FactoryMaker';\nimport Debug from './src/core/Debug';\nimport { getVersionString } from './src/core/Version';\n\nimport { } from 'es6-promise/auto';\n\n// Shove both of these into the global scope\nvar context = (typeof window !== 'undefined' && window) || global;\n\nvar dashjs = context.dashjs;\nif (!dashjs) {\n dashjs = context.dashjs = {};\n}\n\ndashjs.MediaPlayer = MediaPlayer;\ndashjs.FactoryMaker = FactoryMaker;\ndashjs.Debug = Debug;\ndashjs.Version = getVersionString();\n\nexport default dashjs;\nexport { MediaPlayer, FactoryMaker, Debug};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! codem-isoboxer v0.3.6 https://github.com/madebyhiro/codem-isoboxer/blob/master/LICENSE.txt */\nvar ISOBoxer = {};\n\nISOBoxer.parseBuffer = function(arrayBuffer) {\n return new ISOFile(arrayBuffer).parse();\n};\n\nISOBoxer.addBoxProcessor = function(type, parser) {\n if (typeof type !== 'string' || typeof parser !== 'function') {\n return;\n }\n ISOBox.prototype._boxProcessors[type] = parser;\n};\n\nISOBoxer.createFile = function() {\n return new ISOFile();\n};\n\n// See ISOBoxer.append() for 'pos' parameter syntax\nISOBoxer.createBox = function(type, parent, pos) {\n var newBox = ISOBox.create(type);\n if (parent) {\n parent.append(newBox, pos);\n }\n return newBox;\n};\n\n// See ISOBoxer.append() for 'pos' parameter syntax\nISOBoxer.createFullBox = function(type, parent, pos) {\n var newBox = ISOBoxer.createBox(type, parent, pos);\n newBox.version = 0;\n newBox.flags = 0;\n return newBox;\n};\n\nISOBoxer.Utils = {};\nISOBoxer.Utils.dataViewToString = function(dataView, encoding) {\n var impliedEncoding = encoding || 'utf-8';\n if (typeof TextDecoder !== 'undefined') {\n return new TextDecoder(impliedEncoding).decode(dataView);\n }\n var a = [];\n var i = 0;\n\n if (impliedEncoding === 'utf-8') {\n /* The following algorithm is essentially a rewrite of the UTF8.decode at\n http://bannister.us/weblog/2007/simple-base64-encodedecode-javascript/\n */\n\n while (i < dataView.byteLength) {\n var c = dataView.getUint8(i++);\n if (c < 0x80) {\n // 1-byte character (7 bits)\n } else if (c < 0xe0) {\n // 2-byte character (11 bits)\n c = (c & 0x1f) << 6;\n c |= (dataView.getUint8(i++) & 0x3f);\n } else if (c < 0xf0) {\n // 3-byte character (16 bits)\n c = (c & 0xf) << 12;\n c |= (dataView.getUint8(i++) & 0x3f) << 6;\n c |= (dataView.getUint8(i++) & 0x3f);\n } else {\n // 4-byte character (21 bits)\n c = (c & 0x7) << 18;\n c |= (dataView.getUint8(i++) & 0x3f) << 12;\n c |= (dataView.getUint8(i++) & 0x3f) << 6;\n c |= (dataView.getUint8(i++) & 0x3f);\n }\n a.push(String.fromCharCode(c));\n }\n } else { // Just map byte-by-byte (probably wrong)\n while (i < dataView.byteLength) {\n a.push(String.fromCharCode(dataView.getUint8(i++)));\n }\n }\n return a.join('');\n};\n\nISOBoxer.Utils.utf8ToByteArray = function(string) {\n // Only UTF-8 encoding is supported by TextEncoder\n var u, i;\n if (typeof TextEncoder !== 'undefined') {\n u = new TextEncoder().encode(string);\n } else {\n u = [];\n for (i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n if (c < 0x80) {\n u.push(c);\n } else if (c < 0x800) {\n u.push(0xC0 | (c >> 6));\n u.push(0x80 | (63 & c));\n } else if (c < 0x10000) {\n u.push(0xE0 | (c >> 12));\n u.push(0x80 | (63 & (c >> 6)));\n u.push(0x80 | (63 & c));\n } else {\n u.push(0xF0 | (c >> 18));\n u.push(0x80 | (63 & (c >> 12)));\n u.push(0x80 | (63 & (c >> 6)));\n u.push(0x80 | (63 & c));\n }\n }\n }\n return u;\n};\n\n// Method to append a box in the list of child boxes\n// The 'pos' parameter can be either:\n// - (number) a position index at which to insert the new box\n// - (string) the type of the box after which to insert the new box\n// - (object) the box after which to insert the new box\nISOBoxer.Utils.appendBox = function(parent, box, pos) {\n box._offset = parent._cursor.offset;\n box._root = (parent._root ? parent._root : parent);\n box._raw = parent._raw;\n box._parent = parent;\n\n if (pos === -1) {\n // The new box is a sub-box of the parent but not added in boxes array,\n // for example when the new box is set as an entry (see dref and stsd for example)\n return;\n }\n\n if (pos === undefined || pos === null) {\n parent.boxes.push(box);\n return;\n }\n\n var index = -1,\n type;\n\n if (typeof pos === \"number\") {\n index = pos;\n } else {\n if (typeof pos === \"string\") {\n type = pos;\n } else if (typeof pos === \"object\" && pos.type) {\n type = pos.type;\n } else {\n parent.boxes.push(box);\n return;\n }\n\n for (var i = 0; i < parent.boxes.length; i++) {\n if (type === parent.boxes[i].type) {\n index = i + 1;\n break;\n }\n }\n }\n parent.boxes.splice(index, 0, box);\n};\n\nif (typeof exports !== 'undefined') {\n exports.parseBuffer = ISOBoxer.parseBuffer;\n exports.addBoxProcessor = ISOBoxer.addBoxProcessor;\n exports.createFile = ISOBoxer.createFile;\n exports.createBox = ISOBoxer.createBox;\n exports.createFullBox = ISOBoxer.createFullBox;\n exports.Utils = ISOBoxer.Utils;\n}\n\nISOBoxer.Cursor = function(initialOffset) {\n this.offset = (typeof initialOffset == 'undefined' ? 0 : initialOffset);\n};\n\nvar ISOFile = function(arrayBuffer) {\n this._cursor = new ISOBoxer.Cursor();\n this.boxes = [];\n if (arrayBuffer) {\n this._raw = new DataView(arrayBuffer);\n }\n};\n\nISOFile.prototype.fetch = function(type) {\n var result = this.fetchAll(type, true);\n return (result.length ? result[0] : null);\n};\n\nISOFile.prototype.fetchAll = function(type, returnEarly) {\n var result = [];\n ISOFile._sweep.call(this, type, result, returnEarly);\n return result;\n};\n\nISOFile.prototype.parse = function() {\n this._cursor.offset = 0;\n this.boxes = [];\n while (this._cursor.offset < this._raw.byteLength) {\n var box = ISOBox.parse(this);\n\n // Box could not be parsed\n if (typeof box.type === 'undefined') break;\n\n this.boxes.push(box);\n }\n return this;\n};\n\nISOFile._sweep = function(type, result, returnEarly) {\n if (this.type && this.type == type) result.push(this);\n for (var box in this.boxes) {\n if (result.length && returnEarly) return;\n ISOFile._sweep.call(this.boxes[box], type, result, returnEarly);\n }\n};\n\nISOFile.prototype.write = function() {\n\n var length = 0,\n i;\n\n for (i = 0; i < this.boxes.length; i++) {\n length += this.boxes[i].getLength(false);\n }\n\n var bytes = new Uint8Array(length);\n this._rawo = new DataView(bytes.buffer);\n this.bytes = bytes;\n this._cursor.offset = 0;\n\n for (i = 0; i < this.boxes.length; i++) {\n this.boxes[i].write();\n }\n\n return bytes.buffer;\n};\n\nISOFile.prototype.append = function(box, pos) {\n ISOBoxer.Utils.appendBox(this, box, pos);\n};\nvar ISOBox = function() {\n this._cursor = new ISOBoxer.Cursor();\n};\n\nISOBox.parse = function(parent) {\n var newBox = new ISOBox();\n newBox._offset = parent._cursor.offset;\n newBox._root = (parent._root ? parent._root : parent);\n newBox._raw = parent._raw;\n newBox._parent = parent;\n newBox._parseBox();\n parent._cursor.offset = newBox._raw.byteOffset + newBox._raw.byteLength;\n return newBox;\n};\n\nISOBox.create = function(type) {\n var newBox = new ISOBox();\n newBox.type = type;\n newBox.boxes = [];\n return newBox;\n};\n\nISOBox.prototype._boxContainers = ['dinf', 'edts', 'mdia', 'meco', 'mfra', 'minf', 'moof', 'moov', 'mvex', 'stbl', 'strk', 'traf', 'trak', 'tref', 'udta', 'vttc', 'sinf', 'schi', 'encv', 'enca'];\n\nISOBox.prototype._boxProcessors = {};\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Generic read/write functions\n\nISOBox.prototype._procField = function (name, type, size) {\n if (this._parsing) {\n this[name] = this._readField(type, size);\n }\n else {\n this._writeField(type, size, this[name]);\n }\n};\n\nISOBox.prototype._procFieldArray = function (name, length, type, size) {\n var i;\n if (this._parsing) {\n this[name] = [];\n for (i = 0; i < length; i++) {\n this[name][i] = this._readField(type, size);\n }\n }\n else {\n for (i = 0; i < this[name].length; i++) {\n this._writeField(type, size, this[name][i]);\n }\n }\n};\n\nISOBox.prototype._procFullBox = function() {\n this._procField('version', 'uint', 8);\n this._procField('flags', 'uint', 24);\n};\n\nISOBox.prototype._procEntries = function(name, length, fn) {\n var i;\n if (this._parsing) {\n this[name] = [];\n for (i = 0; i < length; i++) {\n this[name].push({});\n fn.call(this, this[name][i]);\n }\n }\n else {\n for (i = 0; i < length; i++) {\n fn.call(this, this[name][i]);\n }\n }\n};\n\nISOBox.prototype._procSubEntries = function(entry, name, length, fn) {\n var i;\n if (this._parsing) {\n entry[name] = [];\n for (i = 0; i < length; i++) {\n entry[name].push({});\n fn.call(this, entry[name][i]);\n }\n }\n else {\n for (i = 0; i < length; i++) {\n fn.call(this, entry[name][i]);\n }\n }\n};\n\nISOBox.prototype._procEntryField = function (entry, name, type, size) {\n if (this._parsing) {\n entry[name] = this._readField(type, size);\n }\n else {\n this._writeField(type, size, entry[name]);\n }\n};\n\nISOBox.prototype._procSubBoxes = function(name, length) {\n var i;\n if (this._parsing) {\n this[name] = [];\n for (i = 0; i < length; i++) {\n this[name].push(ISOBox.parse(this));\n }\n }\n else {\n for (i = 0; i < length; i++) {\n if (this._rawo) {\n this[name][i].write();\n } else {\n this.size += this[name][i].getLength();\n }\n }\n }\n};\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Read/parse functions\n\nISOBox.prototype._readField = function(type, size) {\n switch (type) {\n case 'uint':\n return this._readUint(size);\n case 'int':\n return this._readInt(size);\n case 'template':\n return this._readTemplate(size);\n case 'string':\n return (size === -1) ? this._readTerminatedString() : this._readString(size);\n case 'data':\n return this._readData(size);\n case 'utf8':\n return this._readUTF8String();\n default:\n return -1;\n }\n};\n\nISOBox.prototype._readInt = function(size) {\n var result = null,\n offset = this._cursor.offset - this._raw.byteOffset;\n switch(size) {\n case 8:\n result = this._raw.getInt8(offset);\n break;\n case 16:\n result = this._raw.getInt16(offset);\n break;\n case 32:\n result = this._raw.getInt32(offset);\n break;\n case 64:\n // Warning: JavaScript cannot handle 64-bit integers natively.\n // This will give unexpected results for integers >= 2^53\n var s1 = this._raw.getInt32(offset);\n var s2 = this._raw.getInt32(offset + 4);\n result = (s1 * Math.pow(2,32)) + s2;\n break;\n }\n this._cursor.offset += (size >> 3);\n return result;\n};\n\nISOBox.prototype._readUint = function(size) {\n var result = null,\n offset = this._cursor.offset - this._raw.byteOffset,\n s1, s2;\n switch(size) {\n case 8:\n result = this._raw.getUint8(offset);\n break;\n case 16:\n result = this._raw.getUint16(offset);\n break;\n case 24:\n s1 = this._raw.getUint16(offset);\n s2 = this._raw.getUint8(offset + 2);\n result = (s1 << 8) + s2;\n break;\n case 32:\n result = this._raw.getUint32(offset);\n break;\n case 64:\n // Warning: JavaScript cannot handle 64-bit integers natively.\n // This will give unexpected results for integers >= 2^53\n s1 = this._raw.getUint32(offset);\n s2 = this._raw.getUint32(offset + 4);\n result = (s1 * Math.pow(2,32)) + s2;\n break;\n }\n this._cursor.offset += (size >> 3);\n return result;\n};\n\nISOBox.prototype._readString = function(length) {\n var str = '';\n for (var c = 0; c < length; c++) {\n var char = this._readUint(8);\n str += String.fromCharCode(char);\n }\n return str;\n};\n\nISOBox.prototype._readTemplate = function(size) {\n var pre = this._readUint(size / 2);\n var post = this._readUint(size / 2);\n return pre + (post / Math.pow(2, size / 2));\n};\n\nISOBox.prototype._readTerminatedString = function() {\n var str = '';\n while (this._cursor.offset - this._offset < this._raw.byteLength) {\n var char = this._readUint(8);\n if (char === 0) break;\n str += String.fromCharCode(char);\n }\n return str;\n};\n\nISOBox.prototype._readData = function(size) {\n var length = (size > 0) ? size : (this._raw.byteLength - (this._cursor.offset - this._offset));\n if (length > 0) {\n var data = new Uint8Array(this._raw.buffer, this._cursor.offset, length);\n\n this._cursor.offset += length;\n return data;\n }\n else {\n return null;\n }\n};\n\nISOBox.prototype._readUTF8String = function() {\n var length = this._raw.byteLength - (this._cursor.offset - this._offset);\n var data = null;\n if (length > 0) {\n data = new DataView(this._raw.buffer, this._cursor.offset, length);\n this._cursor.offset += length;\n }\n \n return data ? ISOBoxer.Utils.dataViewToString(data) : data;\n};\n\nISOBox.prototype._parseBox = function() {\n this._parsing = true;\n this._cursor.offset = this._offset;\n\n // return immediately if there are not enough bytes to read the header\n if (this._offset + 8 > this._raw.buffer.byteLength) {\n this._root._incomplete = true;\n return;\n }\n\n this._procField('size', 'uint', 32);\n this._procField('type', 'string', 4);\n\n if (this.size === 1) { this._procField('largesize', 'uint', 64); }\n if (this.type === 'uuid') { this._procFieldArray('usertype', 16, 'uint', 8); }\n\n switch(this.size) {\n case 0:\n this._raw = new DataView(this._raw.buffer, this._offset, (this._raw.byteLength - this._cursor.offset + 8));\n break;\n case 1:\n if (this._offset + this.size > this._raw.buffer.byteLength) {\n this._incomplete = true;\n this._root._incomplete = true;\n } else {\n this._raw = new DataView(this._raw.buffer, this._offset, this.largesize);\n }\n break;\n default:\n if (this._offset + this.size > this._raw.buffer.byteLength) {\n this._incomplete = true;\n this._root._incomplete = true;\n } else {\n this._raw = new DataView(this._raw.buffer, this._offset, this.size);\n }\n }\n\n // additional parsing\n if (!this._incomplete) {\n if (this._boxProcessors[this.type]) {\n this._boxProcessors[this.type].call(this);\n }\n if (this._boxContainers.indexOf(this.type) !== -1) {\n this._parseContainerBox();\n } else{\n // Unknown box => read and store box content\n this._data = this._readData();\n }\n }\n};\n\nISOBox.prototype._parseFullBox = function() {\n this.version = this._readUint(8);\n this.flags = this._readUint(24);\n};\n\nISOBox.prototype._parseContainerBox = function() {\n this.boxes = [];\n while (this._cursor.offset - this._raw.byteOffset < this._raw.byteLength) {\n this.boxes.push(ISOBox.parse(this));\n }\n};\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Write functions\n\nISOBox.prototype.append = function(box, pos) {\n ISOBoxer.Utils.appendBox(this, box, pos);\n};\n\nISOBox.prototype.getLength = function() {\n this._parsing = false;\n this._rawo = null;\n\n this.size = 0;\n this._procField('size', 'uint', 32);\n this._procField('type', 'string', 4);\n\n if (this.size === 1) { this._procField('largesize', 'uint', 64); }\n if (this.type === 'uuid') { this._procFieldArray('usertype', 16, 'uint', 8); }\n\n if (this._boxProcessors[this.type]) {\n this._boxProcessors[this.type].call(this);\n }\n\n if (this._boxContainers.indexOf(this.type) !== -1) {\n for (var i = 0; i < this.boxes.length; i++) {\n this.size += this.boxes[i].getLength();\n }\n } \n\n if (this._data) {\n this._writeData(this._data);\n }\n\n return this.size;\n};\n\nISOBox.prototype.write = function() {\n this._parsing = false;\n this._cursor.offset = this._parent._cursor.offset;\n\n switch(this.size) {\n case 0:\n this._rawo = new DataView(this._parent._rawo.buffer, this._cursor.offset, (this.parent._rawo.byteLength - this._cursor.offset));\n break;\n case 1:\n this._rawo = new DataView(this._parent._rawo.buffer, this._cursor.offset, this.largesize);\n break;\n default:\n this._rawo = new DataView(this._parent._rawo.buffer, this._cursor.offset, this.size);\n }\n\n this._procField('size', 'uint', 32);\n this._procField('type', 'string', 4);\n\n if (this.size === 1) { this._procField('largesize', 'uint', 64); }\n if (this.type === 'uuid') { this._procFieldArray('usertype', 16, 'uint', 8); }\n\n if (this._boxProcessors[this.type]) {\n this._boxProcessors[this.type].call(this);\n }\n\n if (this._boxContainers.indexOf(this.type) !== -1) {\n for (var i = 0; i < this.boxes.length; i++) {\n this.boxes[i].write();\n }\n } \n\n if (this._data) {\n this._writeData(this._data);\n }\n\n this._parent._cursor.offset += this.size;\n\n return this.size;\n};\n\nISOBox.prototype._writeInt = function(size, value) {\n if (this._rawo) {\n var offset = this._cursor.offset - this._rawo.byteOffset;\n switch(size) {\n case 8:\n this._rawo.setInt8(offset, value);\n break;\n case 16:\n this._rawo.setInt16(offset, value);\n break;\n case 32:\n this._rawo.setInt32(offset, value);\n break;\n case 64:\n // Warning: JavaScript cannot handle 64-bit integers natively.\n // This will give unexpected results for integers >= 2^53\n var s1 = Math.floor(value / Math.pow(2,32));\n var s2 = value - (s1 * Math.pow(2,32));\n this._rawo.setUint32(offset, s1);\n this._rawo.setUint32(offset + 4, s2);\n break;\n }\n this._cursor.offset += (size >> 3);\n } else {\n this.size += (size >> 3);\n }\n};\n\nISOBox.prototype._writeUint = function(size, value) {\n\n if (this._rawo) {\n var offset = this._cursor.offset - this._rawo.byteOffset,\n s1, s2;\n switch(size) {\n case 8:\n this._rawo.setUint8(offset, value);\n break;\n case 16:\n this._rawo.setUint16(offset, value);\n break;\n case 24:\n s1 = (value & 0xFFFF00) >> 8;\n s2 = (value & 0x0000FF);\n this._rawo.setUint16(offset, s1);\n this._rawo.setUint8(offset + 2, s2);\n break;\n case 32:\n this._rawo.setUint32(offset, value);\n break;\n case 64:\n // Warning: JavaScript cannot handle 64-bit integers natively.\n // This will give unexpected results for integers >= 2^53\n s1 = Math.floor(value / Math.pow(2,32));\n s2 = value - (s1 * Math.pow(2,32));\n this._rawo.setUint32(offset, s1);\n this._rawo.setUint32(offset + 4, s2);\n break;\n }\n this._cursor.offset += (size >> 3);\n } else {\n this.size += (size >> 3);\n }\n};\n\nISOBox.prototype._writeString = function(size, str) {\n for (var c = 0; c < size; c++) {\n this._writeUint(8, str.charCodeAt(c));\n }\n};\n\nISOBox.prototype._writeTerminatedString = function(str) {\n if (str.length === 0) {\n return;\n }\n for (var c = 0; c < str.length; c++) {\n this._writeUint(8, str.charCodeAt(c));\n }\n this._writeUint(8, 0);\n};\n\nISOBox.prototype._writeTemplate = function(size, value) {\n var pre = Math.floor(value);\n var post = (value - pre) * Math.pow(2, size / 2);\n this._writeUint(size / 2, pre);\n this._writeUint(size / 2, post);\n};\n\nISOBox.prototype._writeData = function(data) {\n var i;\n //data to copy\n if (data) {\n if (this._rawo) {\n //Array and Uint8Array has also to be managed\n if (data instanceof Array) {\n var offset = this._cursor.offset - this._rawo.byteOffset;\n for (var i = 0; i < data.length; i++) {\n this._rawo.setInt8(offset + i, data[i]);\n }\n this._cursor.offset += data.length;\n } \n\n if (data instanceof Uint8Array) {\n this._root.bytes.set(data, this._cursor.offset);\n this._cursor.offset += data.length;\n }\n\n } else {\n //nothing to copy only size to compute\n this.size += data.length;\n }\n }\n};\n\nISOBox.prototype._writeUTF8String = function(string) {\n var u = ISOBoxer.Utils.utf8ToByteArray(string);\n if (this._rawo) {\n var dataView = new DataView(this._rawo.buffer, this._cursor.offset, u.length);\n for (var i = 0; i < u.length; i++) {\n dataView.setUint8(i, u[i]);\n }\n } else {\n this.size += u.length;\n }\n};\n\nISOBox.prototype._writeField = function(type, size, value) {\n switch (type) {\n case 'uint':\n this._writeUint(size, value);\n break;\n case 'int':\n this._writeInt(size, value);\n break;\n case 'template':\n this._writeTemplate(size, value);\n break;\n case 'string':\n if (size == -1) {\n this._writeTerminatedString(value);\n } else {\n this._writeString(size, value);\n }\n break;\n case 'data':\n this._writeData(value);\n break;\n case 'utf8':\n this._writeUTF8String(value);\n break;\n default:\n break;\n }\n};\n\n// ISO/IEC 14496-15:2014 - avc1 box\nISOBox.prototype._boxProcessors['avc1'] = ISOBox.prototype._boxProcessors['encv'] = function() {\n // SampleEntry fields\n this._procFieldArray('reserved1', 6, 'uint', 8);\n this._procField('data_reference_index', 'uint', 16);\n // VisualSampleEntry fields\n this._procField('pre_defined1', 'uint', 16);\n this._procField('reserved2', 'uint', 16);\n this._procFieldArray('pre_defined2', 3, 'uint', 32);\n this._procField('width', 'uint', 16);\n this._procField('height', 'uint', 16);\n this._procField('horizresolution', 'template', 32);\n this._procField('vertresolution', 'template', 32);\n this._procField('reserved3', 'uint', 32);\n this._procField('frame_count', 'uint', 16);\n this._procFieldArray('compressorname', 32,'uint', 8);\n this._procField('depth', 'uint', 16);\n this._procField('pre_defined3', 'int', 16);\n // AVCSampleEntry fields\n this._procField('config', 'data', -1);\n};\n\n// ISO/IEC 14496-12:2012 - 8.7.2 Data Reference Box\nISOBox.prototype._boxProcessors['dref'] = function() {\n this._procFullBox();\n this._procField('entry_count', 'uint', 32);\n this._procSubBoxes('entries', this.entry_count);\n};\n\n// ISO/IEC 14496-12:2012 - 8.6.6 Edit List Box\nISOBox.prototype._boxProcessors['elst'] = function() {\n this._procFullBox();\n this._procField('entry_count', 'uint', 32);\n this._procEntries('entries', this.entry_count, function(entry) {\n this._procEntryField(entry, 'segment_duration', 'uint', (this.version === 1) ? 64 : 32);\n this._procEntryField(entry, 'media_time', 'int', (this.version === 1) ? 64 : 32);\n this._procEntryField(entry, 'media_rate_integer', 'int', 16);\n this._procEntryField(entry, 'media_rate_fraction', 'int', 16);\n });\n};\n\n// ISO/IEC 23009-1:2014 - 5.10.3.3 Event Message Box\nISOBox.prototype._boxProcessors['emsg'] = function() {\n this._procFullBox();\n if (this.version == 1) {\n this._procField('timescale', 'uint', 32);\n this._procField('presentation_time', 'uint', 64);\n this._procField('event_duration', 'uint', 32);\n this._procField('id', 'uint', 32);\n this._procField('scheme_id_uri', 'string', -1);\n this._procField('value', 'string', -1);\n } else {\n this._procField('scheme_id_uri', 'string', -1);\n this._procField('value', 'string', -1);\n this._procField('timescale', 'uint', 32);\n this._procField('presentation_time_delta', 'uint', 32);\n this._procField('event_duration', 'uint', 32);\n this._procField('id', 'uint', 32);\n }\n this._procField('message_data', 'data', -1);\n};\n// ISO/IEC 14496-12:2012 - 8.1.2 Free Space Box\nISOBox.prototype._boxProcessors['free'] = ISOBox.prototype._boxProcessors['skip'] = function() {\n this._procField('data', 'data', -1);\n};\n\n// ISO/IEC 14496-12:2012 - 8.12.2 Original Format Box\nISOBox.prototype._boxProcessors['frma'] = function() {\n this._procField('data_format', 'uint', 32);\n};\n// ISO/IEC 14496-12:2012 - 4.3 File Type Box / 8.16.2 Segment Type Box\nISOBox.prototype._boxProcessors['ftyp'] =\nISOBox.prototype._boxProcessors['styp'] = function() {\n this._procField('major_brand', 'string', 4);\n this._procField('minor_version', 'uint', 32);\n var nbCompatibleBrands = -1;\n if (this._parsing) {\n nbCompatibleBrands = (this._raw.byteLength - (this._cursor.offset - this._raw.byteOffset)) / 4;\n }\n this._procFieldArray('compatible_brands', nbCompatibleBrands, 'string', 4);\n};\n\n// ISO/IEC 14496-12:2012 - 8.4.3 Handler Reference Box\nISOBox.prototype._boxProcessors['hdlr'] = function() {\n this._procFullBox();\n this._procField('pre_defined', 'uint', 32);\n this._procField('handler_type', 'string', 4);\n this._procFieldArray('reserved', 3, 'uint', 32);\n this._procField('name', 'string', -1);\n};\n\n// ISO/IEC 14496-12:2012 - 8.1.1 Media Data Box\nISOBox.prototype._boxProcessors['mdat'] = function() {\n this._procField('data', 'data', -1);\n};\n\n// ISO/IEC 14496-12:2012 - 8.4.2 Media Header Box\nISOBox.prototype._boxProcessors['mdhd'] = function() {\n this._procFullBox();\n this._procField('creation_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('modification_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('timescale', 'uint', 32);\n this._procField('duration', 'uint', (this.version == 1) ? 64 : 32);\n if (!this._parsing && typeof this.language === 'string') {\n // In case of writing and language has been set as a string, then convert it into char codes array\n this.language = ((this.language.charCodeAt(0) - 0x60) << 10) |\n ((this.language.charCodeAt(1) - 0x60) << 5) |\n ((this.language.charCodeAt(2) - 0x60));\n }\n this._procField('language', 'uint', 16);\n if (this._parsing) {\n this.language = String.fromCharCode(((this.language >> 10) & 0x1F) + 0x60,\n ((this.language >> 5) & 0x1F) + 0x60,\n (this.language & 0x1F) + 0x60);\n }\n this._procField('pre_defined', 'uint', 16);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.2 Movie Extends Header Box\nISOBox.prototype._boxProcessors['mehd'] = function() {\n this._procFullBox();\n this._procField('fragment_duration', 'uint', (this.version == 1) ? 64 : 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.5 Movie Fragment Header Box\nISOBox.prototype._boxProcessors['mfhd'] = function() {\n this._procFullBox();\n this._procField('sequence_number', 'uint', 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.11 Movie Fragment Random Access Box\nISOBox.prototype._boxProcessors['mfro'] = function() {\n this._procFullBox();\n this._procField('mfra_size', 'uint', 32); // Called mfra_size to distinguish from the normal \"size\" attribute of a box\n};\n\n\n// ISO/IEC 14496-12:2012 - 8.5.2.2 mp4a box (use AudioSampleEntry definition and naming)\nISOBox.prototype._boxProcessors['mp4a'] = ISOBox.prototype._boxProcessors['enca'] = function() {\n // SampleEntry fields\n this._procFieldArray('reserved1', 6, 'uint', 8);\n this._procField('data_reference_index', 'uint', 16);\n // AudioSampleEntry fields\n this._procFieldArray('reserved2', 2, 'uint', 32);\n this._procField('channelcount', 'uint', 16);\n this._procField('samplesize', 'uint', 16);\n this._procField('pre_defined', 'uint', 16);\n this._procField('reserved3', 'uint', 16);\n this._procField('samplerate', 'template', 32);\n // ESDescriptor fields\n this._procField('esds', 'data', -1);\n};\n\n// ISO/IEC 14496-12:2012 - 8.2.2 Movie Header Box\nISOBox.prototype._boxProcessors['mvhd'] = function() {\n this._procFullBox();\n this._procField('creation_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('modification_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('timescale', 'uint', 32);\n this._procField('duration', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('rate', 'template', 32);\n this._procField('volume', 'template', 16);\n this._procField('reserved1', 'uint', 16);\n this._procFieldArray('reserved2', 2, 'uint', 32);\n this._procFieldArray('matrix', 9, 'template', 32);\n this._procFieldArray('pre_defined', 6,'uint', 32);\n this._procField('next_track_ID', 'uint', 32);\n};\n\n// ISO/IEC 14496-30:2014 - WebVTT Cue Payload Box.\nISOBox.prototype._boxProcessors['payl'] = function() {\n this._procField('cue_text', 'utf8');\n};\n\n//ISO/IEC 23001-7:2011 - 8.1 Protection System Specific Header Box\nISOBox.prototype._boxProcessors['pssh'] = function() {\n this._procFullBox();\n \n this._procFieldArray('SystemID', 16, 'uint', 8);\n this._procField('DataSize', 'uint', 32);\n this._procFieldArray('Data', this.DataSize, 'uint', 8);\n};\n// ISO/IEC 14496-12:2012 - 8.12.5 Scheme Type Box\nISOBox.prototype._boxProcessors['schm'] = function() {\n this._procFullBox();\n \n this._procField('scheme_type', 'uint', 32);\n this._procField('scheme_version', 'uint', 32);\n\n if (this.flags & 0x000001) {\n this._procField('scheme_uri', 'string', -1);\n }\n};\n// ISO/IEC 14496-12:2012 - 8.6.4.1 sdtp box \nISOBox.prototype._boxProcessors['sdtp'] = function() {\n this._procFullBox();\n\n var sample_count = -1;\n if (this._parsing) {\n sample_count = (this._raw.byteLength - (this._cursor.offset - this._raw.byteOffset));\n }\n\n this._procFieldArray('sample_dependency_table', sample_count, 'uint', 8);\n};\n\n// ISO/IEC 14496-12:2012 - 8.16.3 Segment Index Box\nISOBox.prototype._boxProcessors['sidx'] = function() {\n this._procFullBox();\n this._procField('reference_ID', 'uint', 32);\n this._procField('timescale', 'uint', 32);\n this._procField('earliest_presentation_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('first_offset', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('reserved', 'uint', 16);\n this._procField('reference_count', 'uint', 16);\n this._procEntries('references', this.reference_count, function(entry) {\n if (!this._parsing) {\n entry.reference = (entry.reference_type & 0x00000001) << 31;\n entry.reference |= (entry.referenced_size & 0x7FFFFFFF);\n entry.sap = (entry.starts_with_SAP & 0x00000001) << 31;\n entry.sap |= (entry.SAP_type & 0x00000003) << 28;\n entry.sap |= (entry.SAP_delta_time & 0x0FFFFFFF);\n }\n this._procEntryField(entry, 'reference', 'uint', 32);\n this._procEntryField(entry, 'subsegment_duration', 'uint', 32);\n this._procEntryField(entry, 'sap', 'uint', 32);\n if (this._parsing) {\n entry.reference_type = (entry.reference >> 31) & 0x00000001;\n entry.referenced_size = entry.reference & 0x7FFFFFFF;\n entry.starts_with_SAP = (entry.sap >> 31) & 0x00000001;\n entry.SAP_type = (entry.sap >> 28) & 0x00000007;\n entry.SAP_delta_time = (entry.sap & 0x0FFFFFFF);\n }\n });\n};\n\n// ISO/IEC 14496-12:2012 - 8.4.5.3 Sound Media Header Box\nISOBox.prototype._boxProcessors['smhd'] = function() {\n this._procFullBox();\n this._procField('balance', 'uint', 16);\n this._procField('reserved', 'uint', 16);\n};\n\n// ISO/IEC 14496-12:2012 - 8.16.4 Subsegment Index Box\nISOBox.prototype._boxProcessors['ssix'] = function() {\n this._procFullBox();\n this._procField('subsegment_count', 'uint', 32);\n this._procEntries('subsegments', this.subsegment_count, function(subsegment) {\n this._procEntryField(subsegment, 'ranges_count', 'uint', 32);\n this._procSubEntries(subsegment, 'ranges', subsegment.ranges_count, function(range) {\n this._procEntryField(range, 'level', 'uint', 8);\n this._procEntryField(range, 'range_size', 'uint', 24);\n });\n });\n};\n\n// ISO/IEC 14496-12:2012 - 8.5.2 Sample Description Box\nISOBox.prototype._boxProcessors['stsd'] = function() {\n this._procFullBox();\n this._procField('entry_count', 'uint', 32);\n this._procSubBoxes('entries', this.entry_count);\n};\n\n// ISO/IEC 14496-12:2015 - 8.7.7 Sub-Sample Information Box\nISOBox.prototype._boxProcessors['subs'] = function () {\n this._procFullBox();\n this._procField('entry_count', 'uint', 32);\n this._procEntries('entries', this.entry_count, function(entry) {\n this._procEntryField(entry, 'sample_delta', 'uint', 32);\n this._procEntryField(entry, 'subsample_count', 'uint', 16);\n this._procSubEntries(entry, 'subsamples', entry.subsample_count, function(subsample) {\n this._procEntryField(subsample, 'subsample_size', 'uint', (this.version === 1) ? 32 : 16);\n this._procEntryField(subsample, 'subsample_priority', 'uint', 8);\n this._procEntryField(subsample, 'discardable', 'uint', 8);\n this._procEntryField(subsample, 'codec_specific_parameters', 'uint', 32);\n });\n });\n};\n\n//ISO/IEC 23001-7:2011 - 8.2 Track Encryption Box\nISOBox.prototype._boxProcessors['tenc'] = function() {\n this._procFullBox();\n\n this._procField('default_IsEncrypted', 'uint', 24);\n this._procField('default_IV_size', 'uint', 8);\n this._procFieldArray('default_KID', 16, 'uint', 8);\n };\n\n// ISO/IEC 14496-12:2012 - 8.8.12 Track Fragmnent Decode Time\nISOBox.prototype._boxProcessors['tfdt'] = function() {\n this._procFullBox();\n this._procField('baseMediaDecodeTime', 'uint', (this.version == 1) ? 64 : 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.7 Track Fragment Header Box\nISOBox.prototype._boxProcessors['tfhd'] = function() {\n this._procFullBox();\n this._procField('track_ID', 'uint', 32);\n if (this.flags & 0x01) this._procField('base_data_offset', 'uint', 64);\n if (this.flags & 0x02) this._procField('sample_description_offset', 'uint', 32);\n if (this.flags & 0x08) this._procField('default_sample_duration', 'uint', 32);\n if (this.flags & 0x10) this._procField('default_sample_size', 'uint', 32);\n if (this.flags & 0x20) this._procField('default_sample_flags', 'uint', 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.10 Track Fragment Random Access Box\nISOBox.prototype._boxProcessors['tfra'] = function() {\n this._procFullBox();\n this._procField('track_ID', 'uint', 32);\n if (!this._parsing) {\n this.reserved = 0;\n this.reserved |= (this.length_size_of_traf_num & 0x00000030) << 4;\n this.reserved |= (this.length_size_of_trun_num & 0x0000000C) << 2;\n this.reserved |= (this.length_size_of_sample_num & 0x00000003);\n }\n this._procField('reserved', 'uint', 32);\n if (this._parsing) {\n this.length_size_of_traf_num = (this.reserved & 0x00000030) >> 4;\n this.length_size_of_trun_num = (this.reserved & 0x0000000C) >> 2;\n this.length_size_of_sample_num = (this.reserved & 0x00000003);\n }\n this._procField('number_of_entry', 'uint', 32);\n this._procEntries('entries', this.number_of_entry, function(entry) {\n this._procEntryField(entry, 'time', 'uint', (this.version === 1) ? 64 : 32);\n this._procEntryField(entry, 'moof_offset', 'uint', (this.version === 1) ? 64 : 32);\n this._procEntryField(entry, 'traf_number', 'uint', (this.length_size_of_traf_num + 1) * 8);\n this._procEntryField(entry, 'trun_number', 'uint', (this.length_size_of_trun_num + 1) * 8);\n this._procEntryField(entry, 'sample_number', 'uint', (this.length_size_of_sample_num + 1) * 8);\n });\n};\n\n// ISO/IEC 14496-12:2012 - 8.3.2 Track Header Box\nISOBox.prototype._boxProcessors['tkhd'] = function() {\n this._procFullBox();\n this._procField('creation_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('modification_time', 'uint', (this.version == 1) ? 64 : 32);\n this._procField('track_ID', 'uint', 32);\n this._procField('reserved1', 'uint', 32);\n this._procField('duration', 'uint', (this.version == 1) ? 64 : 32);\n this._procFieldArray('reserved2', 2, 'uint', 32);\n this._procField('layer', 'uint', 16);\n this._procField('alternate_group', 'uint', 16);\n this._procField('volume', 'template', 16);\n this._procField('reserved3', 'uint', 16);\n this._procFieldArray('matrix', 9, 'template', 32);\n this._procField('width', 'template', 32);\n this._procField('height', 'template', 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.3 Track Extends Box\nISOBox.prototype._boxProcessors['trex'] = function() {\n this._procFullBox();\n this._procField('track_ID', 'uint', 32);\n this._procField('default_sample_description_index', 'uint', 32);\n this._procField('default_sample_duration', 'uint', 32);\n this._procField('default_sample_size', 'uint', 32);\n this._procField('default_sample_flags', 'uint', 32);\n};\n\n// ISO/IEC 14496-12:2012 - 8.8.8 Track Run Box\n// Note: the 'trun' box has a direct relation to the 'tfhd' box for defaults.\n// These defaults are not set explicitly here, but are left to resolve for the user.\nISOBox.prototype._boxProcessors['trun'] = function() {\n this._procFullBox();\n this._procField('sample_count', 'uint', 32);\n if (this.flags & 0x1) this._procField('data_offset', 'int', 32);\n if (this.flags & 0x4) this._procField('first_sample_flags', 'uint', 32);\n this._procEntries('samples', this.sample_count, function(sample) {\n if (this.flags & 0x100) this._procEntryField(sample, 'sample_duration', 'uint', 32);\n if (this.flags & 0x200) this._procEntryField(sample, 'sample_size', 'uint', 32);\n if (this.flags & 0x400) this._procEntryField(sample, 'sample_flags', 'uint', 32);\n if (this.flags & 0x800) this._procEntryField(sample, 'sample_composition_time_offset', (this.version === 1) ? 'int' : 'uint', 32);\n });\n};\n\n// ISO/IEC 14496-12:2012 - 8.7.2 Data Reference Box\nISOBox.prototype._boxProcessors['url '] = ISOBox.prototype._boxProcessors['urn '] = function() {\n this._procFullBox();\n if (this.type === 'urn ') {\n this._procField('name', 'string', -1);\n }\n this._procField('location', 'string', -1);\n};\n\n// ISO/IEC 14496-30:2014 - WebVTT Source Label Box\nISOBox.prototype._boxProcessors['vlab'] = function() {\n this._procField('source_label', 'utf8');\n};\n\n// ISO/IEC 14496-12:2012 - 8.4.5.2 Video Media Header Box\nISOBox.prototype._boxProcessors['vmhd'] = function() {\n this._procFullBox();\n this._procField('graphicsmode', 'uint', 16);\n this._procFieldArray('opcolor', 3, 'uint', 16);\n};\n\n// ISO/IEC 14496-30:2014 - WebVTT Configuration Box\nISOBox.prototype._boxProcessors['vttC'] = function() {\n this._procField('config', 'utf8');\n};\n\n// ISO/IEC 14496-30:2014 - WebVTT Empty Sample Box\nISOBox.prototype._boxProcessors['vtte'] = function() {\n // Nothing should happen here.\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","// This file can be required in Browserify and Node.js for automatic polyfill\n// To use it: require('es6-promise/auto');\n'use strict';\nmodule.exports = require('./').polyfill();\n","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.8+1e68dce6\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\n\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then$$1 = void 0;\n try {\n then$$1 = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n handleMaybeThenable(promise, value, then$$1);\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = true;\n\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n}\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n\n if (resolve$$1 === resolve$1) {\n var _then = void 0;\n var error = void 0;\n var didError = false;\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$1) {\n var promise = new c(noop);\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise$1 = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise$1.prototype.then = then;\nPromise$1.all = all;\nPromise$1.race = race;\nPromise$1.resolve = resolve$1;\nPromise$1.reject = reject$1;\nPromise$1._setScheduler = setScheduler;\nPromise$1._setAsap = setAsap;\nPromise$1._asap = asap;\n\n/*global self*/\nfunction polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$1;\n}\n\n// Strange compat..\nPromise$1.polyfill = polyfill;\nPromise$1.Promise = Promise$1;\n\nreturn Promise$1;\n\n})));\n\n\n\n//# sourceMappingURL=es6-promise.map\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a)\n , arrB = isArray(b)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = a instanceof Date\n , dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n var regexpA = a instanceof RegExp\n , regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!hasProp.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n return a!==a && b!==b;\n};\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/* \r\n * Copyright (c) 2016, Pierre-Anthony Lemieux \r\n * All rights reserved.\r\n *\r\n * Redistribution and use in source and binary forms, with or without\r\n * modification, are permitted provided that the following conditions are met:\r\n *\r\n * * Redistributions of source code must retain the above copyright notice, this\r\n * list of conditions and the following disclaimer.\r\n * * Redistributions in binary form must reproduce the above copyright notice,\r\n * this list of conditions and the following disclaimer in the documentation\r\n * and/or other materials provided with the distribution.\r\n *\r\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\r\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\r\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r\n * POSSIBILITY OF SUCH DAMAGE.\r\n */\r\n\r\n/**\r\n * @module imscDoc\r\n */\r\n\r\n;\r\n(function (imscDoc, sax, imscNames, imscStyles, imscUtils) {\r\n\r\n\r\n /**\r\n * Allows a client to provide callbacks to handle children of the element\r\n * @typedef {Object} MetadataHandler\r\n * @property {?OpenTagCallBack} onOpenTag\r\n * @property {?CloseTagCallBack} onCloseTag\r\n * @property {?TextCallBack} onText\r\n */\r\n\r\n /**\r\n * Called when the opening tag of an element node is encountered.\r\n * @callback OpenTagCallBack\r\n * @param {string} ns Namespace URI of the element\r\n * @param {string} name Local name of the element\r\n * @param {Object[]} attributes List of attributes, each consisting of a\r\n * `uri`, `name` and `value`\r\n */\r\n\r\n /**\r\n * Called when the closing tag of an element node is encountered.\r\n * @callback CloseTagCallBack\r\n */\r\n\r\n /**\r\n * Called when a text node is encountered.\r\n * @callback TextCallBack\r\n * @param {string} contents Contents of the text node\r\n */\r\n\r\n /**\r\n * Parses an IMSC1 document into an opaque in-memory representation that exposes\r\n * a single method
getMediaTimeEvents()
that returns a list of time\r\n * offsets (in seconds) of the ISD, i.e. the points in time where the visual\r\n * representation of the document change. `metadataHandler` allows the caller to\r\n * be called back when nodes are present in elements. \r\n * \r\n * @param {string} xmlstring XML document\r\n * @param {?module:imscUtils.ErrorHandler} errorHandler Error callback\r\n * @param {?MetadataHandler} metadataHandler Callback for elements\r\n * @returns {Object} Opaque in-memory representation of an IMSC1 document\r\n */\r\n\r\n imscDoc.fromXML = function (xmlstring, errorHandler, metadataHandler) {\r\n var p = sax.parser(true, {xmlns: true});\r\n var estack = [];\r\n var xmllangstack = [];\r\n var xmlspacestack = [];\r\n var metadata_depth = 0;\r\n var doc = null;\r\n\r\n p.onclosetag = function (node) {\r\n\r\n if (estack[0] instanceof Styling) {\r\n\r\n /* flatten chained referential styling */\r\n\r\n for (var sid in estack[0].styles) {\r\n\r\n mergeChainedStyles(estack[0], estack[0].styles[sid], errorHandler);\r\n\r\n }\r\n\r\n } else if (estack[0] instanceof P || estack[0] instanceof Span) {\r\n\r\n /* merge anonymous spans */\r\n\r\n if (estack[0].contents.length > 1) {\r\n\r\n var cs = [estack[0].contents[0]];\r\n\r\n var c;\r\n\r\n for (c = 1; c < estack[0].contents.length; c++) {\r\n\r\n if (estack[0].contents[c] instanceof AnonymousSpan &&\r\n cs[cs.length - 1] instanceof AnonymousSpan) {\r\n\r\n cs[cs.length - 1].text += estack[0].contents[c].text;\r\n\r\n } else {\r\n\r\n cs.push(estack[0].contents[c]);\r\n\r\n }\r\n\r\n }\r\n\r\n estack[0].contents = cs;\r\n\r\n }\r\n\r\n // remove redundant nested anonymous spans (9.3.3(1)(c))\r\n\r\n if (estack[0] instanceof Span &&\r\n estack[0].contents.length === 1 &&\r\n estack[0].contents[0] instanceof AnonymousSpan) {\r\n\r\n estack[0].text = estack[0].contents[0].text;\r\n delete estack[0].contents;\r\n\r\n }\r\n\r\n } else if (estack[0] instanceof ForeignElement) {\r\n\r\n if (estack[0].node.uri === imscNames.ns_tt &&\r\n estack[0].node.local === 'metadata') {\r\n\r\n /* leave the metadata element */\r\n\r\n metadata_depth--;\r\n\r\n } else if (metadata_depth > 0 &&\r\n metadataHandler &&\r\n 'onCloseTag' in metadataHandler) {\r\n\r\n /* end of child of metadata element */\r\n\r\n metadataHandler.onCloseTag();\r\n\r\n }\r\n\r\n }\r\n\r\n // TODO: delete stylerefs?\r\n\r\n // maintain the xml:space stack\r\n\r\n xmlspacestack.shift();\r\n\r\n // maintain the xml:lang stack\r\n\r\n xmllangstack.shift();\r\n\r\n // prepare for the next element\r\n\r\n estack.shift();\r\n };\r\n\r\n p.ontext = function (str) {\r\n\r\n if (estack[0] === undefined) {\r\n\r\n /* ignoring text outside of elements */\r\n\r\n } else if (estack[0] instanceof Span || estack[0] instanceof P) {\r\n\r\n /* create an anonymous span */\r\n\r\n var s = new AnonymousSpan();\r\n\r\n s.initFromText(doc, estack[0], str, xmlspacestack[0], errorHandler);\r\n\r\n estack[0].contents.push(s);\r\n\r\n } else if (estack[0] instanceof ForeignElement &&\r\n metadata_depth > 0 &&\r\n metadataHandler &&\r\n 'onText' in metadataHandler) {\r\n\r\n /* text node within a child of metadata element */\r\n\r\n metadataHandler.onText(str);\r\n\r\n }\r\n\r\n };\r\n\r\n\r\n p.onopentag = function (node) {\r\n\r\n // maintain the xml:space stack\r\n\r\n var xmlspace = node.attributes[\"xml:space\"];\r\n\r\n if (xmlspace) {\r\n\r\n xmlspacestack.unshift(xmlspace.value);\r\n\r\n } else {\r\n\r\n if (xmlspacestack.length === 0) {\r\n\r\n xmlspacestack.unshift(\"default\");\r\n\r\n } else {\r\n\r\n xmlspacestack.unshift(xmlspacestack[0]);\r\n\r\n }\r\n\r\n }\r\n\r\n /* maintain the xml:lang stack */\r\n\r\n\r\n var xmllang = node.attributes[\"xml:lang\"];\r\n\r\n if (xmllang) {\r\n\r\n xmllangstack.unshift(xmllang.value);\r\n\r\n } else {\r\n\r\n if (xmllangstack.length === 0) {\r\n\r\n xmllangstack.unshift(\"\");\r\n\r\n } else {\r\n\r\n xmllangstack.unshift(xmllangstack[0]);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n /* process the element */\r\n\r\n if (node.uri === imscNames.ns_tt) {\r\n\r\n if (node.local === 'tt') {\r\n\r\n if (doc !== null) {\r\n\r\n reportFatal(errorHandler, \"Two elements at (\" + this.line + \",\" + this.column + \")\");\r\n\r\n }\r\n\r\n doc = new TT();\r\n\r\n doc.initFromNode(node, errorHandler);\r\n\r\n estack.unshift(doc);\r\n\r\n } else if (node.local === 'head') {\r\n\r\n if (!(estack[0] instanceof TT)) {\r\n reportFatal(errorHandler, \"Parent of element is not at (\" + this.line + \",\" + this.column + \")\");\r\n }\r\n\r\n if (doc.head !== null) {\r\n reportFatal(\"Second element at (\" + this.line + \",\" + this.column + \")\");\r\n }\r\n\r\n doc.head = new Head();\r\n\r\n estack.unshift(doc.head);\r\n\r\n } else if (node.local === 'styling') {\r\n\r\n if (!(estack[0] instanceof Head)) {\r\n reportFatal(errorHandler, \"Parent of element is not at (\" + this.line + \",\" + this.column + \")\");\r\n }\r\n\r\n if (doc.head.styling !== null) {\r\n reportFatal(\"Second element at (\" + this.line + \",\" + this.column + \")\");\r\n }\r\n\r\n doc.head.styling = new Styling();\r\n\r\n estack.unshift(doc.head.styling);\r\n\r\n } else if (node.local === 'style') {\r\n\r\n var s;\r\n\r\n if (estack[0] instanceof Styling) {\r\n\r\n s = new Style();\r\n\r\n s.initFromNode(node, errorHandler);\r\n\r\n /* ignore