diff --git a/dist/dash.all.debug.js b/dist/dash.all.debug.js index 0a2e72f9e8..b48266265c 100644 --- a/dist/dash.all.debug.js +++ b/dist/dash.all.debug.js @@ -16209,6 +16209,7 @@ var _streamingVoMetricsHTTPRequest = _dereq_(255); * manifestUpdateRetryInterval: 100, * stallThreshold: 0.5, * filterUnsupportedEssentialProperties: true, + * eventControllerRefreshDelay: 100, * utcSynchronization: { * backgroundAttempts: 2, * timeBetweenSyncAttempts: 30, @@ -16247,6 +16248,7 @@ var _streamingVoMetricsHTTPRequest = _dereq_(255); * IndexSegment: 1000, * MediaSegment: 1000, * BitstreamSwitchingSegment: 1000, + * FragmentInfoSegment: 1000, * other: 1000, * lowLatencyReductionFactor: 10 * }, @@ -16257,6 +16259,7 @@ var _streamingVoMetricsHTTPRequest = _dereq_(255); * IndexSegment: 3, * MediaSegment: 3, * BitstreamSwitchingSegment: 3, + * FragmentInfoSegment: 3, * other: 3, * lowLatencyMultiplyFactor: 5 * }, @@ -16281,7 +16284,8 @@ var _streamingVoMetricsHTTPRequest = _dereq_(255); * sid: null, * cid: null, * rtp: null, - * rtpSafetyFactor: 5 + * rtpSafetyFactor: 5, + * mode: Constants.CMCD_MODE_QUERY * } * } * } @@ -16490,6 +16494,8 @@ var _streamingVoMetricsHTTPRequest = _dereq_(255); * Stall threshold used in BufferController.js to determine whether a track should still be changed and which buffer range to prune. * @property {boolean} [filterUnsupportedEssentialProperties=true] * Enable to filter all the AdaptationSets and Representations which contain an unsupported \ element. + * @property {number} [eventControllerRefreshDelay=100] + * Defines the delay in milliseconds between two consecutive checks for events to be fired. * @property {module:Settings~UtcSynchronizationSettings} utcSynchronization Settings related to UTC clock synchronization * @property {module:Settings~LiveCatchupSettings} liveCatchup Settings related to live catchup. * @property {module:Settings~CachingInfoSettings} [lastBitrateCachingInfo={enabled: true, ttl: 360000}] @@ -16525,6 +16531,9 @@ var _streamingVoMetricsHTTPRequest = _dereq_(255); * - Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE * This mode makes the player select the track with a highest bitrate. This mode is a default mode. * + * - Constants.TRACK_SELECTION_MODE_FIRST_TRACK + * This mode makes the player select the first track found in the manifest. + * * - Constants.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY * This mode makes the player select the track with the lowest bitrate per pixel average. * @@ -16582,6 +16591,8 @@ var _streamingVoMetricsHTTPRequest = _dereq_(255); * Request to retrieve a media segment (video/audio/image/text chunk). * @property {number} [BitstreamSwitchingSegment] * Bitrate stream switching type of request. + * @property {number} [FragmentInfoSegment] + * Request to retrieve a FragmentInfo segment (specific to Smooth Streaming live streams). * @property {number} [other] * Other type of request. * @property {number} [lowLatencyReductionFactor] @@ -16616,6 +16627,10 @@ var _streamingVoMetricsHTTPRequest = _dereq_(255); * This value is used as a factor for the rtp value calculation: rtp = minBandwidth * rtpSafetyFactor * * If not specified this value defaults to 5. Note that this value is only used when no static rtp value is defined. + * @property {number} [mode] + * The method to use to attach cmcd metrics to the requests. 'query' to use query parameters, 'header' to use http headers. + * + * If not specified this value defaults to 'query'. */ /** @@ -16754,6 +16769,7 @@ function Settings() { manifestUpdateRetryInterval: 100, stallThreshold: 0.5, filterUnsupportedEssentialProperties: true, + eventControllerRefreshDelay: 100, utcSynchronization: { backgroundAttempts: 2, timeBetweenSyncAttempts: 30, @@ -16785,8 +16801,8 @@ function Settings() { }, selectionModeForInitialTrack: _streamingConstantsConstants2['default'].TRACK_SELECTION_MODE_HIGHEST_BITRATE, fragmentRequestTimeout: 0, - retryIntervals: (_retryIntervals = {}, _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.MPD_TYPE, 500), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.XLINK_EXPANSION_TYPE, 500), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.MEDIA_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.INIT_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.BITSTREAM_SWITCHING_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.INDEX_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.OTHER_TYPE, 1000), _defineProperty(_retryIntervals, 'lowLatencyReductionFactor', 10), _retryIntervals), - retryAttempts: (_retryAttempts = {}, _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.MPD_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.XLINK_EXPANSION_TYPE, 1), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.MEDIA_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.INIT_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.BITSTREAM_SWITCHING_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.INDEX_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.OTHER_TYPE, 3), _defineProperty(_retryAttempts, 'lowLatencyMultiplyFactor', 5), _retryAttempts), + retryIntervals: (_retryIntervals = {}, _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.MPD_TYPE, 500), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.XLINK_EXPANSION_TYPE, 500), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.MEDIA_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.INIT_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.BITSTREAM_SWITCHING_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.INDEX_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.MSS_FRAGMENT_INFO_SEGMENT_TYPE, 1000), _defineProperty(_retryIntervals, _streamingVoMetricsHTTPRequest.HTTPRequest.OTHER_TYPE, 1000), _defineProperty(_retryIntervals, 'lowLatencyReductionFactor', 10), _retryIntervals), + retryAttempts: (_retryAttempts = {}, _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.MPD_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.XLINK_EXPANSION_TYPE, 1), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.MEDIA_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.INIT_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.BITSTREAM_SWITCHING_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.INDEX_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.MSS_FRAGMENT_INFO_SEGMENT_TYPE, 3), _defineProperty(_retryAttempts, _streamingVoMetricsHTTPRequest.HTTPRequest.OTHER_TYPE, 3), _defineProperty(_retryAttempts, 'lowLatencyMultiplyFactor', 5), _retryAttempts), abr: { movingAverageMethod: _streamingConstantsConstants2['default'].MOVING_AVERAGE_SLIDING_WINDOW, ABRStrategy: _streamingConstantsConstants2['default'].ABR_STRATEGY_DYNAMIC, @@ -16808,7 +16824,8 @@ function Settings() { sid: null, cid: null, rtp: null, - rtpSafetyFactor: 5 + rtpSafetyFactor: 5, + mode: _streamingConstantsConstants2['default'].CMCD_MODE_QUERY } } }; @@ -17065,7 +17082,7 @@ Object.defineProperty(exports, '__esModule', { value: true }); exports.getVersionString = getVersionString; -var VERSION = '3.2.1'; +var VERSION = '3.2.2'; function getVersionString() { return VERSION; @@ -26742,6 +26759,10 @@ function ManifestLoader(config) { function reset() { eventBus.off(_coreEventsEvents2['default'].XLINK_READY, onXlinkReady, instance); + if (mssHandler) { + mssHandler.reset(); + } + if (xlinkController) { xlinkController.reset(); xlinkController = null; @@ -26751,10 +26772,6 @@ function ManifestLoader(config) { urlLoader.abort(); urlLoader = null; } - - if (mssHandler) { - mssHandler.reset(); - } } instance = { @@ -27375,7 +27392,8 @@ function MediaPlayer() { domStorage = undefined, segmentBaseController = undefined, licenseRequestFilters = undefined, - licenseResponseFilters = undefined; + licenseResponseFilters = undefined, + customCapabilitiesFilters = undefined; /* --------------------------------------------------------------------------- @@ -27399,6 +27417,7 @@ function MediaPlayer() { uriFragmentModel = (0, _modelsURIFragmentModel2['default'])(context).getInstance(); licenseRequestFilters = []; licenseResponseFilters = []; + customCapabilitiesFilters = []; } /** @@ -27619,6 +27638,7 @@ function MediaPlayer() { reset(); licenseRequestFilters = []; licenseResponseFilters = []; + customCapabilitiesFilters = []; _coreFactoryMaker2['default'].deleteSingletonInstances(context); } @@ -27977,7 +27997,7 @@ function MediaPlayer() { t = streamController.getTimeRelativeToStreamId(t, streamId); } else if (playbackController.getIsDynamic()) { var metric = dashMetrics.getCurrentDVRInfo(); - t = metric === null ? 0 : duration() - (metric.range.end - metric.time); + t = metric === null || t === 0 ? 0 : Math.max(0, t - metric.range.start); } return t; @@ -27998,16 +28018,8 @@ function MediaPlayer() { var d = getVideoElement().duration; if (playbackController.getIsDynamic()) { - var metric = dashMetrics.getCurrentDVRInfo(); - var range = undefined; - - if (!metric) { - return 0; - } - - range = metric.range.end - metric.range.start; - d = range < metric.manifestInfo.DVRWindowSize ? range : metric.manifestInfo.DVRWindowSize; + d = metric ? metric.range.end - metric.range.start : 0; } return d; } @@ -28810,6 +28822,9 @@ function MediaPlayer() { * Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE * This mode makes the player select the track with a highest bitrate. This mode is a default mode. * + * Constants.TRACK_SELECTION_MODE_FIRST_TRACK + * This mode makes the player select the select the first track found in the manifest. + * * Constants.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY * This mode makes the player select the track with the lowest bitrate per pixel average. * @@ -28944,6 +28959,34 @@ function MediaPlayer() { } } + /** + * Registers a custom capabilities filter. This enables application to filter representations to use. + * The provided callback function shall return a boolean based on whether or not to use the representation. + * The filters are applied in the order they are registered. + * @param {function} filter - the custom capabilities filter callback + * @memberof module:MediaPlayer + * @instance + */ + function registerCustomCapabilitiesFilter(filter) { + customCapabilitiesFilters.push(filter); + if (capabilitiesFilter) { + capabilitiesFilter.setCustomCapabilitiesFilters(customCapabilitiesFilters); + } + } + + /** + * Unregisters a custom capabilities filter. + * @param {function} filter - the custom capabilities filter callback + * @memberof module:MediaPlayer + * @instance + */ + function unregisterCustomCapabilitiesFilter(filter) { + unregisterFilter(customCapabilitiesFilters, filter); + if (capabilitiesFilter) { + capabilitiesFilter.setCustomCapabilitiesFilters(customCapabilitiesFilters); + } + } + function unregisterFilter(filters, filter) { var index = -1; filters.some(function (item, i) { @@ -29244,6 +29287,7 @@ function MediaPlayer() { adapter: adapter, settings: settings }); + capabilitiesFilter.setCustomCapabilitiesFilters(customCapabilitiesFilters); streamController.setConfig({ capabilities: capabilities, @@ -29354,7 +29398,8 @@ function MediaPlayer() { events: _coreEventsEvents2['default'], BASE64: _externalsBase642['default'], constants: _constantsConstants2['default'], - cmcdModel: cmcdModel + cmcdModel: cmcdModel, + settings: settings }); if (protectionController) { protectionController.setLicenseRequestFilters(licenseRequestFilters); @@ -29609,6 +29654,8 @@ function MediaPlayer() { registerLicenseResponseFilter: registerLicenseResponseFilter, unregisterLicenseRequestFilter: unregisterLicenseRequestFilter, unregisterLicenseResponseFilter: unregisterLicenseResponseFilter, + registerCustomCapabilitiesFilter: registerCustomCapabilitiesFilter, + unregisterCustomCapabilitiesFilter: unregisterCustomCapabilitiesFilter, displayCaptionsOnTop: displayCaptionsOnTop, attachTTMLRenderingDiv: attachTTMLRenderingDiv, getCurrentTextTrackIndex: getCurrentTextTrackIndex, @@ -31969,6 +32016,7 @@ function StreamProcessor(config) { eventBus.on(_coreEventsEvents2['default'].BUFFER_LEVEL_UPDATED, onBufferLevelUpdated, instance); eventBus.on(_coreEventsEvents2['default'].BUFFER_LEVEL_STATE_CHANGED, onBufferLevelStateChanged, instance); eventBus.on(_coreEventsEvents2['default'].BUFFER_CLEARED, onBufferCleared, instance); + eventBus.on(_coreEventsEvents2['default'].QUOTA_EXCEEDED, onQuotaExceeded, instance); eventBus.on(_coreEventsEvents2['default'].SEEK_TARGET, onSeekTarget, instance); } @@ -32155,6 +32203,11 @@ function StreamProcessor(config) { } } + function onQuotaExceeded(e) { + bufferingTime = e.quotaExceededTime; + bufferPruned = true; + } + function addDVRMetric() { var manifestInfo = streamInfo.manifestInfo; var isDynamic = manifestInfo.isDynamic; @@ -33087,6 +33140,13 @@ var Constants = (function () { */ this.TRACK_SWITCH_MODE_NEVER_REPLACE = 'neverReplace'; + /** + * @constant {string} TRACK_SELECTION_MODE_FIRST_TRACK makes the player select the first track found in the manifest. + * @memberof Constants# + * @static + */ + this.TRACK_SELECTION_MODE_FIRST_TRACK = 'firstTrack'; + /** * @constant {string} TRACK_SELECTION_MODE_HIGHEST_BITRATE makes the player select the track with a highest bitrate. This mode is a default mode. * @memberof Constants# @@ -33108,6 +33168,20 @@ var Constants = (function () { */ this.TRACK_SELECTION_MODE_WIDEST_RANGE = 'widestRange'; + /** + * @constant {string} CMCD_MODE_QUERY specifies to attach CMCD metrics as query parameters. + * @memberof Constants# + * @static + */ + this.CMCD_MODE_QUERY = 'query'; + + /** + * @constant {string} CMCD_MODE_HEADER specifies to attach CMCD metrics as HTTP headers. + * @memberof Constants# + * @static + */ + this.CMCD_MODE_HEADER = 'header'; + this.LOCATION = 'Location'; this.INITIALIZE = 'initialize'; this.TEXT_SHOWING = 'showing'; @@ -34673,7 +34747,10 @@ 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(_coreEventsEvents2['default'].QUOTA_EXCEEDED, { criticalBufferLevel: criticalBufferLevel }); + triggerEvent(_coreEventsEvents2['default'].QUOTA_EXCEEDED, { + criticalBufferLevel: criticalBufferLevel, + quotaExceededTime: e.chunk.start + }); clearBuffers(getClearRanges()); } return; @@ -34760,6 +34837,7 @@ function BufferController(config) { // START Buffer Level, State & Sufficiency Handling. //********************************************************************** function onPlaybackSeeking(e) { + if (!buffer) return; seekTarget = e.seekTime; if (isBufferingCompleted) { seekClearedBufferingCompleted = true; @@ -34781,6 +34859,7 @@ function BufferController(config) { // Prune full buffer but what is around current time position function pruneAllSafely() { + if (!buffer) return; buffer.waitForUpdateEnd(function () { var ranges = getAllRangesWithSafetyFactor(); if (!ranges || ranges.length === 0) { @@ -34792,6 +34871,7 @@ function BufferController(config) { // Get all buffer ranges but a range around current time position function getAllRangesWithSafetyFactor() { + if (!buffer) return; var clearRanges = []; var ranges = buffer.getAllBufferRanges(); if (!ranges || ranges.length === 0) { @@ -35390,7 +35470,6 @@ function EventController() { var MPD_CALLBACK_SCHEME = 'urn:mpeg:dash:event:callback:2015'; var MPD_CALLBACK_VALUE = 1; - var REFRESH_DELAY = 100; var REMAINING_EVENTS_THRESHOLD = 300; var EVENT_HANDLED_STATES = { @@ -35413,6 +35492,7 @@ function EventController() { lastEventTimerCall = undefined, manifestUpdater = undefined, playbackController = undefined, + settings = undefined, eventHandlingInProgress = undefined, isStarted = undefined; @@ -35468,9 +35548,10 @@ function EventController() { try { checkConfig(); logger.debug('Start Event Controller'); - if (!isStarted && !isNaN(REFRESH_DELAY)) { + var refreshDelay = settings.get().streaming.eventControllerRefreshDelay; + if (!isStarted && !isNaN(refreshDelay)) { isStarted = true; - eventInterval = setInterval(_onEventTimer, REFRESH_DELAY); + eventInterval = setInterval(_onEventTimer, refreshDelay); } } catch (e) { throw e; @@ -35846,14 +35927,15 @@ function EventController() { if (!config) { return; } - if (config.manifestUpdater) { manifestUpdater = config.manifestUpdater; } - if (config.playbackController) { playbackController = config.playbackController; } + if (config.settings) { + settings = config.settings; + } } catch (e) { throw e; } @@ -36476,7 +36558,7 @@ function MediaController() { var validTrackSwitchModes = [_constantsConstants2['default'].TRACK_SWITCH_MODE_ALWAYS_REPLACE, _constantsConstants2['default'].TRACK_SWITCH_MODE_NEVER_REPLACE]; - var validTrackSelectionModes = [_constantsConstants2['default'].TRACK_SELECTION_MODE_HIGHEST_BITRATE, _constantsConstants2['default'].TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY, _constantsConstants2['default'].TRACK_SELECTION_MODE_WIDEST_RANGE]; + var validTrackSelectionModes = [_constantsConstants2['default'].TRACK_SELECTION_MODE_HIGHEST_BITRATE, _constantsConstants2['default'].TRACK_SELECTION_MODE_FIRST_TRACK, _constantsConstants2['default'].TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY, _constantsConstants2['default'].TRACK_SELECTION_MODE_WIDEST_RANGE]; function setup() { logger = (0, _coreDebug2['default'])(context).getInstance().getLogger(instance); @@ -36902,6 +36984,9 @@ function MediaController() { tmpArr = getTracksWithWidestRange(tmpArr); } break; + case _constantsConstants2['default'].TRACK_SELECTION_MODE_FIRST_TRACK: + tmpArr.push(tracks[0]); + break; case _constantsConstants2['default'].TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY: tmpArr = getTracksWithHighestEfficiency(tracks); @@ -37230,6 +37315,7 @@ function PlaybackController() { lastLivePlaybackTime = undefined, availabilityStartTime = undefined, seekTarget = undefined, + internalSeek = undefined, isLowLatencySeekingInProgress = undefined, playbackStalled = undefined, minPlaybackRateChange = undefined, @@ -37250,6 +37336,7 @@ function PlaybackController() { playbackStalled = false; streamSwitch = periodSwitch === true; streamSeekTime = seekTime; + internalSeek = false; var ua = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase() : ''; @@ -37346,24 +37433,20 @@ function PlaybackController() { return streamInfo && videoModel ? videoModel.isSeeking() : null; } - function seek(time, stickToBuffered, internalSeek) { + function seek(time, stickToBuffered, internal) { if (!streamInfo || !videoModel) return; var currentTime = !isNaN(seekTarget) ? seekTarget : videoModel.getTime(); if (time === currentTime) return; - if (internalSeek === true) { - // Internal seek = seek video model only (disable 'seeking' listener) - // buffer(s) are already appended at requested time - videoModel.removeEventListener('seeking', onPlaybackSeeking); - logger.info('Requesting internal seek to time: ' + time); - videoModel.setCurrentTime(time, stickToBuffered); - } else { + internalSeek = internal === true; + + if (!internalSeek) { seekTarget = time; eventBus.trigger(_coreEventsEvents2['default'].PLAYBACK_SEEK_ASKED); - logger.info('Requesting seek to time: ' + time); - videoModel.setCurrentTime(time, stickToBuffered); } + logger.info('Requesting seek to time: ' + time + (internalSeek ? ' (internal)' : '')); + videoModel.setCurrentTime(time, stickToBuffered); } function seekToLive() { @@ -37560,8 +37643,8 @@ function PlaybackController() { return startTime; } - function getActualPresentationTime(currentTime) { - var DVRMetrics = dashMetrics.getCurrentDVRInfo(); + function getActualPresentationTime(currentTime, mediatype) { + var DVRMetrics = dashMetrics.getCurrentDVRInfo(mediatype); var DVRWindow = DVRMetrics ? DVRMetrics.range : null; var actualTime = undefined; @@ -37603,12 +37686,12 @@ function PlaybackController() { wallclockTimeIntervalId = null; } - function updateCurrentTime() { + function updateCurrentTime(mediaType) { if (isPaused() || !isDynamic || videoModel.getReadyState() === 0) return; var currentTime = getNormalizedTime(); - var actualTime = getActualPresentationTime(currentTime); + var actualTime = getActualPresentationTime(currentTime, mediaType); var timeChanged = !isNaN(actualTime) && actualTime !== currentTime; - if (timeChanged) { + if (timeChanged && !isSeeking()) { logger.debug('UpdateCurrentTime: Seek to actual time: ' + actualTime + ' from currentTime: ' + currentTime); seek(actualTime); } @@ -37653,6 +37736,12 @@ function PlaybackController() { } function onPlaybackSeeking() { + // Check if internal seeking to be ignored + if (internalSeek) { + internalSeek = false; + return; + } + var seekTime = getTime(); // On some browsers/devices, in case of live streams, setting current time on video element fails when there is no buffered data at requested time // Then re-set seek target time and video element will be seeked afterwhile once data is buffered (see BufferContoller) @@ -37669,8 +37758,6 @@ function PlaybackController() { function onPlaybackSeeked() { logger.info('Native video element event: seeked'); eventBus.trigger(_coreEventsEvents2['default'].PLAYBACK_SEEKED); - // Reactivate 'seeking' event listener (see seek()) - videoModel.addEventListener('seeking', onPlaybackSeeking); } function onPlaybackTimeUpdated() { @@ -37711,7 +37798,9 @@ function PlaybackController() { logger.info('Native video element event: ended'); pause(); stopUpdatingWallclockTime(); - eventBus.trigger(_coreEventsEvents2['default'].PLAYBACK_ENDED, { 'isLast': streamController.getActiveStreamInfo().isLast }); + var streamInfo = streamController ? streamController.getActiveStreamInfo() : null; + if (!streamInfo) return; + eventBus.trigger(_coreEventsEvents2['default'].PLAYBACK_ENDED, { 'isLast': streamInfo.isLast }); } // Handle DASH PLAYBACK_ENDED event @@ -38138,6 +38227,7 @@ function PlaybackController() { isSeeking: isSeeking, getStreamEndTime: getStreamEndTime, seek: seek, + updateCurrentTime: updateCurrentTime, reset: reset }; @@ -38233,7 +38323,6 @@ function ScheduleController(config) { var abrController = config.abrController; var playbackController = config.playbackController; var textController = config.textController; - var streamInfo = config.streamInfo; var type = config.type; var mimeType = config.mimeType; var mediaController = config.mediaController; @@ -38241,6 +38330,7 @@ function ScheduleController(config) { var settings = config.settings; var instance = undefined, + streamInfo = undefined, logger = undefined, currentRepresentationInfo = undefined, initialRequest = undefined, @@ -38253,7 +38343,7 @@ function ScheduleController(config) { bufferLevelRule = undefined, lastFragmentRequest = undefined, topQualityIndex = undefined, - lastInitQuality = undefined, + lastInitializedRepresentationInfo = undefined, replaceRequestArray = undefined, switchTrack = undefined, replacingBuffer = undefined, @@ -38264,6 +38354,7 @@ function ScheduleController(config) { function setup() { logger = (0, _coreDebug2['default'])(context).getInstance().getLogger(instance); resetInitialSettings(); + streamInfo = config.streamInfo; } function initialize(_hasVideoTrack) { @@ -38310,6 +38401,7 @@ function ScheduleController(config) { } function start() { + if (!streamInfo) return; if (isStarted()) return; if (!currentRepresentationInfo || bufferController.getIsBufferingCompleted()) return; @@ -38346,6 +38438,7 @@ function ScheduleController(config) { } function schedule() { + if (!streamInfo) return; if (isStopped || isFragmentProcessingInProgress || playbackController.isPaused() && !settings.get().streaming.scheduleWhilePaused || (type === _constantsConstants2['default'].FRAGMENTED_TEXT || type === _constantsConstants2['default'].TEXT) && !textController.isTextEnabled() || bufferController.getIsBufferingCompleted()) { stop(); return; @@ -38354,9 +38447,10 @@ function ScheduleController(config) { validateExecutedFragmentRequest(); var isReplacement = replaceRequestArray.length > 0; - if (replacingBuffer || isNaN(lastInitQuality) || switchTrack || isReplacement || hasTopQualityChanged(type, streamInfo.id) || bufferLevelRule.execute(type, currentRepresentationInfo, hasVideoTrack)) { + var lastInitializedQuality = lastInitializedRepresentationInfo ? lastInitializedRepresentationInfo.quality : NaN; + if (replacingBuffer || isNaN(lastInitializedQuality) || switchTrack || isReplacement || hasTopQualityChanged(type, streamInfo.id) || bufferLevelRule.execute(type, currentRepresentationInfo, hasVideoTrack)) { var getNextFragment = function getNextFragment() { - if ((currentRepresentationInfo.quality !== lastInitQuality || switchTrack) && !replacingBuffer) { + if ((currentRepresentationInfo.quality !== lastInitializedQuality || switchTrack) && !replacingBuffer) { if (switchTrack) { logger.debug('Switch track for ' + type + ', representation id = ' + currentRepresentationInfo.id); replacingBuffer = mediaController.getSwitchMode(type) === _constantsConstants2['default'].TRACK_SWITCH_MODE_ALWAYS_REPLACE; @@ -38368,7 +38462,6 @@ function ScheduleController(config) { logger.debug('Quality has changed, get init request for representationid = ' + currentRepresentationInfo.id); } eventBus.trigger(_coreEventsEvents2['default'].INIT_FRAGMENT_NEEDED, { representationId: currentRepresentationInfo.id, sender: instance }, { streamId: streamInfo.id, mediaType: type }); - lastInitQuality = currentRepresentationInfo.quality; checkPlaybackQuality = false; } else { var replacement = replaceRequestArray.shift(); @@ -38396,12 +38489,14 @@ function ScheduleController(config) { } function validateExecutedFragmentRequest() { + if (!isNaN(seekTarget)) return; + if (!lastInitializedRepresentationInfo) return; // Validate that the fragment request executed and appended into the source buffer is as // good of quality as the current quality and is the correct media track. var time = playbackController.getTime(); var safeBufferLevel = 1.5; - if (isNaN(currentRepresentationInfo.fragmentDuration)) { + if (isNaN(lastInitializedRepresentationInfo.fragmentDuration)) { //fragmentDuration of representationInfo is not defined, // call metrics function to have data in the latest scheduling info... // if no metric, returns 0. In this case, rule will return false. @@ -38421,13 +38516,13 @@ function ScheduleController(config) { // Only replace on track switch when NEVER_REPLACE var trackChanged = !mediaController.isCurrentTrack(request.mediaInfo) && mediaController.getSwitchMode(request.mediaInfo.type) === _constantsConstants2['default'].TRACK_SWITCH_MODE_NEVER_REPLACE; - var qualityChanged = request.quality < currentRepresentationInfo.quality; + var qualityChanged = request.quality < lastInitializedRepresentationInfo.quality; if (fastSwitchModeEnabled && (trackChanged || qualityChanged) && bufferLevel >= safeBufferLevel && abandonmentState !== _constantsMetricsConstants2['default'].ABANDON_LOAD) { replaceRequest(request); isReplacementRequest = true; logger.debug('Reloading outdated fragment at index: ', request.index); - } else if (request.quality > currentRepresentationInfo.quality && !replacingBuffer) { + } else if (request.quality > lastInitializedRepresentationInfo.quality && !replacingBuffer) { // The buffer has better quality it in then what we would request so set append point to end of buffer!! setSeekTarget(playbackController.getTime() + bufferLevel); } @@ -38545,6 +38640,10 @@ function ScheduleController(config) { } setFragmentProcessState(false); + if (isNaN(e.index)) { + lastInitializedRepresentationInfo = bufferController.getRepresentationInfo(e.quality); + logger.info('[' + type + '] ' + 'lastInitializedRepresentationInfo changed to ' + e.quality); + } if (isReplacementRequest && !isNaN(e.startTime)) { //replace requests process is in progress, call schedule in n seconds. //it is done in order to not add a fragment at the new quality at the end of the buffer before replace process is over. @@ -38612,6 +38711,7 @@ function ScheduleController(config) { } function onPlaybackSeeking(e) { + if (!streamInfo) return; setSeekTarget(e.seekTime); setTimeToLoadDelay(0); @@ -38619,7 +38719,7 @@ function ScheduleController(config) { start(); } - var latency = currentRepresentationInfo.DVRWindow && playbackController ? currentRepresentationInfo.DVRWindow.end - playbackController.getTime() : NaN; + var latency = currentRepresentationInfo && currentRepresentationInfo.DVRWindow && playbackController ? currentRepresentationInfo.DVRWindow.end - playbackController.getTime() : NaN; dashMetrics.updateManifestUpdateInfo({ latency: latency }); @@ -38659,7 +38759,7 @@ function ScheduleController(config) { timeToLoadDelay = 0; seekTarget = NaN; initialRequest = true; - lastInitQuality = NaN; + lastInitializedRepresentationInfo = undefined; lastFragmentRequest = { mediaInfo: undefined, quality: NaN, @@ -38693,6 +38793,7 @@ function ScheduleController(config) { stop(); completeQualityChange(false); resetInitialSettings(); + streamInfo = null; } function getPlaybackController() { @@ -38919,7 +39020,8 @@ function StreamController() { eventController = (0, _EventController2['default'])(context).getInstance(); eventController.setConfig({ manifestUpdater: manifestUpdater, - playbackController: playbackController + playbackController: playbackController, + settings: settings }); eventController.start(); @@ -43869,6 +43971,67 @@ function CmcdModel() { } } + function _copyParameters(data, parameterNames) { + var copiedData = {}; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = parameterNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _name = _step.value; + + if (data[_name]) { + copiedData[_name] = data[_name]; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator['return']) { + _iterator['return'](); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return copiedData; + } + + function getHeaderParameters(request) { + try { + if (settings.get().streaming.cmcd && settings.get().streaming.cmcd.enabled) { + var cmcdData = _getCmcdData(request); + var cmcdObjectHeader = _copyParameters(cmcdData, ['br', 'd', 'ot', 'tb']); + var cmcdRequestHeader = _copyParameters(cmcdData, ['bl', 'dl', 'mtp', 'nor', 'nrr', 'su']); + var cmcdStatusHeader = _copyParameters(cmcdData, ['bs', 'rtp']); + var cmcdSessionHeader = _copyParameters(cmcdData, ['cid', 'pr', 'sf', 'sid', 'st', 'v']); + var headers = { + 'CMCD-Object': _buildFinalString(cmcdObjectHeader), + 'CMCD-Request': _buildFinalString(cmcdRequestHeader), + 'CMCD-Status': _buildFinalString(cmcdStatusHeader), + 'CMCD-Session': _buildFinalString(cmcdSessionHeader) + }; + + eventBus.trigger(_metricsMetricsReportingEvents2['default'].CMCD_DATA_GENERATED, { + url: request.url, + mediaType: request.mediaType, + cmcdData: cmcdData + }); + return headers; + } + + return null; + } catch (e) { + return null; + } + } + function _getCmcdData(request) { try { var cmcdData = null; @@ -44208,29 +44371,29 @@ function CmcdModel() { function _probeNextRequest(mediaType) { if (!streamProcessors || streamProcessors.length === 0) return; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; try { - for (var _iterator = streamProcessors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var streamProcessor = _step.value; + for (var _iterator2 = streamProcessors[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var streamProcessor = _step2.value; if (streamProcessor.getType() === mediaType) { return streamProcessor.probeNextRequest(); } } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _didIteratorError2 = true; + _iteratorError2 = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator['return']) { - _iterator['return'](); + if (!_iteratorNormalCompletion2 && _iterator2['return']) { + _iterator2['return'](); } } finally { - if (_didIteratorError) { - throw _iteratorError; + if (_didIteratorError2) { + throw _iteratorError2; } } } @@ -44272,6 +44435,7 @@ function CmcdModel() { instance = { getQueryParameter: getQueryParameter, + getHeaderParameters: getHeaderParameters, setConfig: setConfig, reset: reset, initialize: initialize @@ -46105,6 +46269,15 @@ function FetchLoader(cfg) { headers.append('Range', 'bytes=' + request.range); } + if (httpRequest.headers) { + for (var header in httpRequest.headers) { + var value = httpRequest.headers[header]; + if (value) { + headers.append(header, value); + } + } + } + if (!request.requestStartDate) { request.requestStartDate = requestStartTime; } @@ -46513,6 +46686,10 @@ var _coreSettings = _dereq_(48); var _coreSettings2 = _interopRequireDefault(_coreSettings); +var _constantsConstants = _dereq_(112); + +var _constantsConstants2 = _interopRequireDefault(_constantsConstants); + /** * @module HTTPLoader * @ignore @@ -46622,6 +46799,10 @@ function HTTPLoader(cfg) { }, mediaPlayerModel.getRetryIntervalsForType(request.type)); })(); } else { + if (request.type === _voMetricsHTTPRequest.HTTPRequest.MSS_FRAGMENT_INFO_SEGMENT_TYPE) { + return; + } + errHandler.error(new _voDashJSError2['default'](downloadErrorToRequestTypeMap[request.type], request.url + ' is not available', { request: request, response: httpRequest.response @@ -46712,9 +46893,17 @@ function HTTPLoader(cfg) { }); } + var headers = null; var modifiedUrl = requestModifier.modifyRequestURL(request.url); - var additionalQueryParameter = _getAdditionalQueryParameter(request); - modifiedUrl = _coreUtils2['default'].addAditionalQueryParameterToUrl(modifiedUrl, additionalQueryParameter); + if (settings.get().streaming.cmcd && settings.get().streaming.cmcd.enabled) { + var cmcdMode = settings.get().streaming.cmcd.mode; + if (cmcdMode === _constantsConstants2['default'].CMCD_MODE_QUERY) { + var additionalQueryParameter = _getAdditionalQueryParameter(request); + modifiedUrl = _coreUtils2['default'].addAditionalQueryParameterToUrl(modifiedUrl, additionalQueryParameter); + } else if (cmcdMode === _constantsConstants2['default'].CMCD_MODE_HEADER) { + headers = cmcdModel.getHeaderParameters(request); + } + } var verb = request.checkExistenceOnly ? _voMetricsHTTPRequest.HTTPRequest.HEAD : _voMetricsHTTPRequest.HTTPRequest.GET; var withCredentials = mediaPlayerModel.getXHRWithCredentialsForType(request.type); @@ -46730,7 +46919,8 @@ function HTTPLoader(cfg) { onabort: onabort, ontimeout: ontimeout, loader: loader, - timeout: requestTimeout + timeout: requestTimeout, + headers: headers }; // Adds the ability to delay single fragment loading time to control buffer. @@ -46815,6 +47005,11 @@ function HTTPLoader(cfg) { delayedRequests = []; requests.forEach(function (x) { + // MSS patch: ignore FragmentInfo requests + if (x.request.type === _voMetricsHTTPRequest.HTTPRequest.MSS_FRAGMENT_INFO_SEGMENT_TYPE) { + return; + } + // abort will trigger onloadend which we don't want // when deliberately aborting inflight requests - // set them to undefined so they are not called @@ -46840,7 +47035,7 @@ var factory = _coreFactoryMaker2['default'].getClassFactory(HTTPLoader); exports['default'] = factory; module.exports = exports['default']; -},{"153":153,"160":160,"164":164,"239":239,"255":255,"45":45,"46":46,"47":47,"48":48,"49":49,"54":54}],162:[function(_dereq_,module,exports){ +},{"112":112,"153":153,"160":160,"164":164,"239":239,"255":255,"45":45,"46":46,"47":47,"48":48,"49":49,"54":54}],162:[function(_dereq_,module,exports){ /** * 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 @@ -47133,6 +47328,15 @@ function XHRLoader(cfg) { xhr = requestModifier.modifyRequestHeader(xhr); } + if (httpRequest.headers) { + for (var header in httpRequest.headers) { + var value = httpRequest.headers[header]; + if (value) { + xhr.setRequestHeader(header, value); + } + } + } + xhr.withCredentials = httpRequest.withCredentials; xhr.onload = httpRequest.onload; @@ -47574,7 +47778,8 @@ function Protection() { events: config.events, BASE64: config.BASE64, constants: config.constants, - cmcdModel: config.cmcdModel + cmcdModel: config.cmcdModel, + settings: config.settings }); config.capabilities.setEncryptedMediaSupported(true); } @@ -47921,6 +48126,10 @@ var _coreUtils = _dereq_(49); var _coreUtils2 = _interopRequireDefault(_coreUtils); +var _constantsConstants = _dereq_(112); + +var _constantsConstants2 = _interopRequireDefault(_constantsConstants); + var NEEDKEY_BEFORE_INITIALIZE_RETRIES = 5; var NEEDKEY_BEFORE_INITIALIZE_TIMEOUT = 500; @@ -47954,6 +48163,7 @@ function ProtectionController(config) { var constants = config.constants; var needkeyRetries = []; var cmcdModel = config.cmcdModel; + var settings = config.settings; var instance = undefined, logger = undefined, @@ -48664,13 +48874,18 @@ function ProtectionController(config) { function doLicenseRequest(request, retriesCount, timeout, onLoad, onAbort, onError) { var xhr = new XMLHttpRequest(); - var cmcdParams = cmcdModel.getQueryParameter({ - url: request.url, - type: _voMetricsHTTPRequest.HTTPRequest.LICENSE - }); + if (settings.get().streaming.cmcd && settings.get().streaming.cmcd.enabled) { + var cmcdMode = settings.get().streaming.cmcd.mode; + if (cmcdMode === _constantsConstants2['default'].CMCD_MODE_QUERY) { + var cmcdParams = cmcdModel.getQueryParameter({ + url: request.url, + type: _voMetricsHTTPRequest.HTTPRequest.LICENSE + }); - if (cmcdParams) { - request.url = _coreUtils2['default'].addAditionalQueryParameterToUrl(request.url, [cmcdParams]); + if (cmcdParams) { + request.url = _coreUtils2['default'].addAditionalQueryParameterToUrl(request.url, [cmcdParams]); + } + } } xhr.open(request.method, request.url, true); @@ -48683,6 +48898,25 @@ function ProtectionController(config) { xhr.setRequestHeader(key, request.headers[key]); } + if (settings.get().streaming.cmcd && settings.get().streaming.cmcd.enabled) { + var cmcdMode = settings.get().streaming.cmcd.mode; + if (cmcdMode === _constantsConstants2['default'].CMCD_MODE_HEADER) { + var cmcdHeaders = cmcdModel.getHeaderParameters({ + url: request.url, + type: _voMetricsHTTPRequest.HTTPRequest.LICENSE + }); + + if (cmcdHeaders) { + for (var header in cmcdHeaders) { + var value = cmcdHeaders[header]; + if (value) { + xhr.setRequestHeader(header, value); + } + } + } + } + } + var retryRequest = function retryRequest() { // fail silently and retry retriesCount--; @@ -48830,7 +49064,7 @@ exports['default'] = dashjs.FactoryMaker.getClassFactory(ProtectionController); /* jshint ignore:line */ module.exports = exports['default']; -},{"165":165,"174":174,"186":186,"187":187,"188":188,"189":189,"239":239,"255":255,"49":49}],169:[function(_dereq_,module,exports){ +},{"112":112,"165":165,"174":174,"186":186,"187":187,"188":188,"189":189,"239":239,"255":255,"49":49}],169:[function(_dereq_,module,exports){ /** * 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 @@ -57624,6 +57858,10 @@ function TextBufferController(config) { _BufferControllerImpl.updateAppendWindow(); } + function getRepresentationInfo(quality) { + return _BufferControllerImpl.getRepresentationInfo(quality); + } + instance = { getBufferControllerType: getBufferControllerType, initialize: initialize, @@ -57641,7 +57879,8 @@ function TextBufferController(config) { getRangeAt: getRangeAt, reset: reset, updateTimestampOffset: updateTimestampOffset, - updateAppendWindow: updateAppendWindow + updateAppendWindow: updateAppendWindow, + getRepresentationInfo: getRepresentationInfo }; setup(); @@ -60728,7 +60967,8 @@ function CapabilitiesFilter() { adapter = undefined, capabilities = undefined, settings = undefined, - logger = undefined; + logger = undefined, + customCapabilitiesFilters = undefined; function setup() { logger = (0, _coreDebug2['default'])(context).getInstance().getLogger(instance); @@ -60759,6 +60999,8 @@ function CapabilitiesFilter() { if (settings.get().streaming.filterUnsupportedEssentialProperties) { _filterUnsupportedEssentialProperties(streamInfo); } + + _applyCustomFilters(streamInfo); } function _filterUnsupportedCodecs(type, streamInfo) { @@ -60821,9 +61063,39 @@ function CapabilitiesFilter() { }); } + function _applyCustomFilters(streamInfo) { + if (!customCapabilitiesFilters || customCapabilitiesFilters.length === 0) return; + + var realPeriod = adapter.getRealPeriodByIndex(streamInfo ? streamInfo.index : null); + + if (!realPeriod || !realPeriod.AdaptationSet_asArray || realPeriod.AdaptationSet_asArray.length === 0) { + return; + } + + realPeriod.AdaptationSet_asArray = realPeriod.AdaptationSet_asArray.filter(function (as) { + + if (!as.Representation_asArray || as.Representation_asArray.length === 0) { + return true; + } + + as.Representation_asArray = as.Representation_asArray.filter(function (representation) { + return !customCapabilitiesFilters.some(function (customFilter) { + return !customFilter(representation); + }); + }); + + return as.Representation_asArray && as.Representation_asArray.length > 0; + }); + } + + function setCustomCapabilitiesFilters(customFilters) { + customCapabilitiesFilters = customFilters; + } + instance = { setConfig: setConfig, - filterUnsupportedFeaturesOfPeriod: filterUnsupportedFeaturesOfPeriod + filterUnsupportedFeaturesOfPeriod: filterUnsupportedFeaturesOfPeriod, + setCustomCapabilitiesFilters: setCustomCapabilitiesFilters }; setup(); @@ -64715,6 +64987,7 @@ HTTPRequest.INIT_SEGMENT_TYPE = 'InitializationSegment'; HTTPRequest.INDEX_SEGMENT_TYPE = 'IndexSegment'; HTTPRequest.MEDIA_SEGMENT_TYPE = 'MediaSegment'; HTTPRequest.BITSTREAM_SWITCHING_SEGMENT_TYPE = 'BitstreamSwitchingSegment'; +HTTPRequest.MSS_FRAGMENT_INFO_SEGMENT_TYPE = 'FragmentInfoSegment'; HTTPRequest.LICENSE = 'license'; HTTPRequest.OTHER_TYPE = 'other'; diff --git a/dist/dash.all.debug.js.map b/dist/dash.all.debug.js.map index 24e02798fb..e039019bff 100644 --- a/dist/dash.all.debug.js.map +++ b/dist/dash.all.debug.js.map @@ -264,7 +264,7 @@ "streaming/vo/metrics/SchedulingInfo.js" ], "names": [], - "mappings": "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AAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;;;AAGX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;;;AAGX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EA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;;;AClDzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvJA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3gBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjoDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzsCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACl3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1/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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9qBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzEA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxiDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3EA;AACA;AACA;AAC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", + "mappings": "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AAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;;;AAGX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;;;AAGX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,MAAM;AACb,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EAAG,IAAI;AACX,YAAI,EA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;;;AClDzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvJA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3gBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjoDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzsCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACl3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1/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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9qBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzEA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxiDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3EA;AACA;AACA;AAC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", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ @@ -316,9 +316,9 @@ "/**\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 */\nimport EventBus from './EventBus';\nimport Events from './events/Events';\nimport FactoryMaker from './FactoryMaker';\n\nconst LOG_LEVEL_NONE = 0;\nconst LOG_LEVEL_FATAL = 1;\nconst LOG_LEVEL_ERROR = 2;\nconst LOG_LEVEL_WARNING = 3;\nconst LOG_LEVEL_INFO = 4;\nconst LOG_LEVEL_DEBUG = 5;\n\n/**\n * @module Debug\n * @param {object} config\n * @ignore\n */\nfunction Debug(config) {\n\n config = config || {};\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n const settings = config.settings;\n\n const logFn = [];\n\n let instance,\n showLogTimestamp,\n showCalleeName,\n startTime;\n\n function setup() {\n showLogTimestamp = true;\n showCalleeName = true;\n startTime = new Date().getTime();\n\n if (typeof window !== 'undefined' && window.console) {\n logFn[LOG_LEVEL_FATAL] = getLogFn(window.console.error);\n logFn[LOG_LEVEL_ERROR] = getLogFn(window.console.error);\n logFn[LOG_LEVEL_WARNING] = getLogFn(window.console.warn);\n logFn[LOG_LEVEL_INFO] = getLogFn(window.console.info);\n logFn[LOG_LEVEL_DEBUG] = getLogFn(window.console.debug);\n }\n }\n\n function getLogFn(fn) {\n if (fn && fn.bind) {\n return fn.bind(window.console);\n }\n // if not define, return the default function for reporting logs\n return window.console.log.bind(window.console);\n }\n\n /**\n * Retrieves a logger which can be used to write logging information in browser console.\n * @param {object} instance Object for which the logger is created. It is used\n * to include calle object information in log messages.\n * @memberof module:Debug\n * @returns {Logger}\n * @instance\n */\n function getLogger(instance) {\n return {\n fatal: fatal.bind(instance),\n error: error.bind(instance),\n warn: warn.bind(instance),\n info: info.bind(instance),\n debug: debug.bind(instance)\n };\n }\n\n /**\n * Prepends a timestamp in milliseconds to each log message.\n * @param {boolean} value Set to true if you want to see a timestamp in each log message.\n * @default LOG_LEVEL_WARNING\n * @memberof module:Debug\n * @instance\n */\n function setLogTimestampVisible(value) {\n showLogTimestamp = value;\n }\n\n /**\n * Prepends the callee object name, and media type if available, to each log message.\n * @param {boolean} value Set to true if you want to see the callee object name and media type in each log message.\n * @default true\n * @memberof module:Debug\n * @instance\n */\n function setCalleeNameVisible(value) {\n showCalleeName = value;\n }\n\n function fatal(...params) {\n doLog(LOG_LEVEL_FATAL, this, ...params);\n }\n\n function error(...params) {\n doLog(LOG_LEVEL_ERROR, this, ...params);\n }\n\n function warn(...params) {\n doLog(LOG_LEVEL_WARNING, this, ...params);\n }\n\n function info(...params) {\n doLog(LOG_LEVEL_INFO, this, ...params);\n }\n\n function debug(...params) {\n doLog(LOG_LEVEL_DEBUG, this, ...params);\n }\n\n function doLog(level, _this, ...params) {\n let message = '';\n let logTime = null;\n\n if (showLogTimestamp) {\n logTime = new Date().getTime();\n message += '[' + (logTime - startTime) + ']';\n }\n\n if (showCalleeName && _this && _this.getClassName) {\n message += '[' + _this.getClassName() + ']';\n if (_this.getType) {\n message += '[' + _this.getType() + ']';\n }\n }\n\n if (message.length > 0) {\n message += ' ';\n }\n\n Array.apply(null, params).forEach(function (item) {\n message += item + ' ';\n });\n\n // log to console if the log level is high enough\n if (logFn[level] && settings.get().debug.logLevel >= level) {\n logFn[level](message);\n }\n\n // send log event regardless of log level\n if (settings && settings.get().debug.dispatchEvent) {\n eventBus.trigger(Events.LOG, { message: message, level: level });\n }\n }\n\n instance = {\n getLogger: getLogger,\n setLogTimestampVisible: setLogTimestampVisible,\n setCalleeNameVisible: setCalleeNameVisible\n };\n\n setup();\n\n return instance;\n}\n\nDebug.__dashjs_factory_name = 'Debug';\n\nconst factory = FactoryMaker.getSingletonFactory(Debug);\nfactory.LOG_LEVEL_NONE = LOG_LEVEL_NONE;\nfactory.LOG_LEVEL_FATAL = LOG_LEVEL_FATAL;\nfactory.LOG_LEVEL_ERROR = LOG_LEVEL_ERROR;\nfactory.LOG_LEVEL_WARNING = LOG_LEVEL_WARNING;\nfactory.LOG_LEVEL_INFO = LOG_LEVEL_INFO;\nfactory.LOG_LEVEL_DEBUG = LOG_LEVEL_DEBUG;\nFactoryMaker.updateSingletonFactory(Debug.__dashjs_factory_name, factory);\nexport default factory;\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 */\nimport FactoryMaker from './FactoryMaker';\nimport MediaPlayerEvents from '../streaming/MediaPlayerEvents';\n\nconst EVENT_PRIORITY_LOW = 0;\nconst EVENT_PRIORITY_HIGH = 5000;\n\nfunction EventBus() {\n\n let handlers = {};\n\n function on(type, listener, scope, options = {}) {\n\n if (!type) {\n throw new Error('event type cannot be null or undefined');\n }\n if (!listener || typeof (listener) !== 'function') {\n throw new Error('listener must be a function: ' + listener);\n }\n\n let priority = options.priority || EVENT_PRIORITY_LOW;\n\n if (getHandlerIdx(type, listener, scope) >= 0) return;\n\n handlers[type] = handlers[type] || [];\n\n const handler = {\n callback: listener,\n scope,\n priority\n };\n\n if (scope && scope.getStreamId) {\n handler.streamId = scope.getStreamId();\n }\n if (scope && scope.getType) {\n handler.mediaType = scope.getType();\n }\n if (options && options.mode) {\n handler.mode = options.mode;\n }\n\n const inserted = handlers[type].some((item, idx) => {\n if (item && priority > item.priority) {\n handlers[type].splice(idx, 0, handler);\n return true;\n }\n });\n\n if (!inserted) {\n handlers[type].push(handler);\n }\n }\n\n function off(type, listener, scope) {\n if (!type || !listener || !handlers[type]) return;\n const idx = getHandlerIdx(type, listener, scope);\n if (idx < 0) return;\n handlers[type][idx] = null;\n }\n\n function trigger(type, payload = {}, filters = {}) {\n if (!type || !handlers[type]) return;\n\n payload = payload || {};\n\n if (payload.hasOwnProperty('type')) throw new Error('\\'type\\' is a reserved word for event dispatching');\n\n payload.type = type;\n\n if (filters.streamId) {\n payload.streamId = filters.streamId;\n }\n if (filters.mediaType) {\n payload.mediaType = filters.mediaType;\n }\n\n handlers[type]\n .filter((handler) => {\n if (!handler) {\n return false;\n }\n if (filters.streamId && handler.streamId && handler.streamId !== filters.streamId) {\n return false;\n }\n if (filters.mediaType && handler.mediaType && handler.mediaType !== filters.mediaType) {\n return false;\n }\n // This is used for dispatching DASH events. By default we use the onStart mode. Consequently we filter everything that has a non matching mode and the onReceive events for handlers that did not specify a mode.\n if ((filters.mode && handler.mode && handler.mode !== filters.mode) || (!handler.mode && filters.mode && filters.mode === MediaPlayerEvents.EVENT_MODE_ON_RECEIVE)) {\n return false;\n }\n return true;\n })\n .forEach(handler => handler && handler.callback.call(handler.scope, payload));\n }\n\n function getHandlerIdx(type, listener, scope) {\n\n let idx = -1;\n\n if (!handlers[type]) return idx;\n\n handlers[type].some((item, index) => {\n if (item && item.callback === listener && (!scope || scope === item.scope)) {\n idx = index;\n return true;\n }\n });\n return idx;\n }\n\n function reset() {\n handlers = {};\n }\n\n const instance = {\n on: on,\n off: off,\n trigger: trigger,\n reset: reset\n };\n\n return instance;\n}\n\nEventBus.__dashjs_factory_name = 'EventBus';\nconst factory = FactoryMaker.getSingletonFactory(EventBus);\nfactory.EVENT_PRIORITY_LOW = EVENT_PRIORITY_LOW;\nfactory.EVENT_PRIORITY_HIGH = EVENT_PRIORITY_HIGH;\nFactoryMaker.updateSingletonFactory(EventBus.__dashjs_factory_name, factory);\nexport default factory;\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/**\n * @module FactoryMaker\n * @ignore\n */\nconst FactoryMaker = (function () {\n\n let instance;\n let singletonContexts = [];\n const singletonFactories = {};\n const classFactories = {};\n\n function extend(name, childInstance, override, context) {\n if (!context[name] && childInstance) {\n context[name] = {\n instance: childInstance,\n override: override\n };\n }\n }\n\n /**\n * Use this method from your extended object. this.factory is injected into your object.\n * this.factory.getSingletonInstance(this.context, 'VideoModel')\n * will return the video model for use in the extended object.\n *\n * @param {Object} context - injected into extended object as this.context\n * @param {string} className - string name found in all dash.js objects\n * with name __dashjs_factory_name Will be at the bottom. Will be the same as the object's name.\n * @returns {*} Context aware instance of specified singleton name.\n * @memberof module:FactoryMaker\n * @instance\n */\n function getSingletonInstance(context, className) {\n for (const i in singletonContexts) {\n const obj = singletonContexts[i];\n if (obj.context === context && obj.name === className) {\n return obj.instance;\n }\n }\n return null;\n }\n\n /**\n * Use this method to add an singleton instance to the system. Useful for unit testing to mock objects etc.\n *\n * @param {Object} context\n * @param {string} className\n * @param {Object} instance\n * @memberof module:FactoryMaker\n * @instance\n */\n function setSingletonInstance(context, className, instance) {\n for (const i in singletonContexts) {\n const obj = singletonContexts[i];\n if (obj.context === context && obj.name === className) {\n singletonContexts[i].instance = instance;\n return;\n }\n }\n singletonContexts.push({\n name: className,\n context: context,\n instance: instance\n });\n }\n\n /**\n * Use this method to remove all singleton instances associated with a particular context.\n *\n * @param {Object} context\n * @memberof module:FactoryMaker\n * @instance\n */\n function deleteSingletonInstances(context) {\n singletonContexts = singletonContexts.filter(x => x.context !== context);\n }\n\n /*------------------------------------------------------------------------------------------*/\n\n // Factories storage Management\n\n /*------------------------------------------------------------------------------------------*/\n\n function getFactoryByName(name, factoriesArray) {\n return factoriesArray[name];\n }\n\n function updateFactory(name, factory, factoriesArray) {\n if (name in factoriesArray) {\n factoriesArray[name] = factory;\n }\n }\n\n /*------------------------------------------------------------------------------------------*/\n\n // Class Factories Management\n\n /*------------------------------------------------------------------------------------------*/\n\n function updateClassFactory(name, factory) {\n updateFactory(name, factory, classFactories);\n }\n\n function getClassFactoryByName(name) {\n return getFactoryByName(name, classFactories);\n }\n\n function getClassFactory(classConstructor) {\n let factory = getFactoryByName(classConstructor.__dashjs_factory_name, classFactories);\n\n if (!factory) {\n factory = function (context) {\n if (context === undefined) {\n context = {};\n }\n return {\n create: function () {\n return merge(classConstructor, context, arguments);\n }\n };\n };\n\n classFactories[classConstructor.__dashjs_factory_name] = factory; // store factory\n }\n return factory;\n }\n\n /*------------------------------------------------------------------------------------------*/\n\n // Singleton Factory MAangement\n\n /*------------------------------------------------------------------------------------------*/\n\n function updateSingletonFactory(name, factory) {\n updateFactory(name, factory, singletonFactories);\n }\n\n function getSingletonFactoryByName(name) {\n return getFactoryByName(name, singletonFactories);\n }\n\n function getSingletonFactory(classConstructor) {\n let factory = getFactoryByName(classConstructor.__dashjs_factory_name, singletonFactories);\n if (!factory) {\n factory = function (context) {\n let instance;\n if (context === undefined) {\n context = {};\n }\n return {\n getInstance: function () {\n // If we don't have an instance yet check for one on the context\n if (!instance) {\n instance = getSingletonInstance(context, classConstructor.__dashjs_factory_name);\n }\n // If there's no instance on the context then create one\n if (!instance) {\n instance = merge(classConstructor, context, arguments);\n singletonContexts.push({\n name: classConstructor.__dashjs_factory_name,\n context: context,\n instance: instance\n });\n }\n return instance;\n }\n };\n };\n singletonFactories[classConstructor.__dashjs_factory_name] = factory; // store factory\n }\n\n return factory;\n }\n\n function merge(classConstructor, context, args) {\n\n let classInstance;\n const className = classConstructor.__dashjs_factory_name;\n const extensionObject = context[className];\n\n if (extensionObject) {\n\n let extension = extensionObject.instance;\n\n if (extensionObject.override) { //Override public methods in parent but keep parent.\n\n classInstance = classConstructor.apply({context}, args);\n extension = extension.apply({\n context,\n factory: instance,\n parent: classInstance\n }, args);\n\n for (const prop in extension) {\n if (classInstance.hasOwnProperty(prop)) {\n classInstance[prop] = extension[prop];\n }\n }\n\n } else { //replace parent object completely with new object. Same as dijon.\n\n return extension.apply({\n context,\n factory: instance\n }, args);\n\n }\n } else {\n // Create new instance of the class\n classInstance = classConstructor.apply({context}, args);\n }\n\n // Add getClassName function to class instance prototype (used by Debug)\n classInstance.getClassName = function () {return className;};\n\n return classInstance;\n }\n\n instance = {\n extend: extend,\n getSingletonInstance: getSingletonInstance,\n setSingletonInstance: setSingletonInstance,\n deleteSingletonInstances: deleteSingletonInstances,\n getSingletonFactory: getSingletonFactory,\n getSingletonFactoryByName: getSingletonFactoryByName,\n updateSingletonFactory: updateSingletonFactory,\n getClassFactory: getClassFactory,\n getClassFactoryByName: getClassFactoryByName,\n updateClassFactory: updateClassFactory\n };\n\n return instance;\n\n}());\n\nexport default FactoryMaker;\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 */\nimport FactoryMaker from './FactoryMaker';\nimport Utils from './Utils.js';\nimport Debug from '../core/Debug';\nimport Constants from '../streaming/constants/Constants';\nimport {HTTPRequest} from '../streaming/vo/metrics/HTTPRequest';\n\n/** @module Settings\n * @description Define the configuration parameters of Dash.js MediaPlayer.\n * @see {@link module:Settings~PlayerSettings PlayerSettings} for further information about the supported configuration properties.\n */\n\n\n/**\n * @typedef {Object} PlayerSettings\n * @property {module:Settings~DebugSettings} [debug]\n * Debug related settings.\n * @property {module:Settings~StreamingSettings} [streaming]\n * Streaming related settings.\n * @example\n *\n * // Full settings object\n * settings = {\n * debug: {\n * logLevel: Debug.LOG_LEVEL_WARNING,\n * dispatchEvent: false\n * },\n * streaming: {\n * metricsMaxListDepth: 1000,\n * abandonLoadTimeout: 10000,\n * liveDelayFragmentCount: NaN,\n * liveDelay: null,\n * scheduleWhilePaused: true,\n * fastSwitchEnabled: false,\n * flushBufferAtTrackSwitch: false,\n * calcSegmentAvailabilityRangeFromTimeline: false,\n * reuseExistingSourceBuffers: true,\n * bufferPruningInterval: 10,\n * bufferToKeep: 20,\n * jumpGaps: true,\n * jumpLargeGaps: true,\n * smallGapLimit: 1.5,\n * stableBufferTime: 12,\n * bufferTimeAtTopQuality: 30,\n * bufferTimeAtTopQualityLongForm: 60,\n * longFormContentDurationThreshold: 600,\n * wallclockTimeUpdateInterval: 50,\n * lowLatencyEnabled: false,\n * keepProtectionMediaKeys: false,\n * useManifestDateHeaderTimeSource: true,\n * useSuggestedPresentationDelay: true,\n * useAppendWindow: true,\n * manifestUpdateRetryInterval: 100,\n * stallThreshold: 0.5,\n * filterUnsupportedEssentialProperties: true,\n * utcSynchronization: {\n * backgroundAttempts: 2,\n * timeBetweenSyncAttempts: 30,\n * maximumTimeBetweenSyncAttempts: 600,\n * minimumTimeBetweenSyncAttempts: 2,\n * timeBetweenSyncAttemptsAdjustmentFactor: 2,\n * maximumAllowedDrift: 100,\n * enableBackgroundSyncAfterSegmentDownloadError: true,\n * defaultTimingSource: {\n * scheme: 'urn:mpeg:dash:utc:http-xsdate:2014',\n * value: 'http://time.akamai.com/?iso&ms'\n * }\n * },\n * liveCatchup: {\n * minDrift: 0.02,\n * maxDrift: 0,\n * playbackRate: 0.5,\n * latencyThreshold: NaN,\n * playbackBufferMin: NaN,\n * enabled: false,\n * mode: Constants.LIVE_CATCHUP_MODE_DEFAULT\n * },\n * lastBitrateCachingInfo: { enabled: true, ttl: 360000 },\n * lastMediaSettingsCachingInfo: { enabled: true, ttl: 360000 },\n * cacheLoadThresholds: { video: 50, audio: 5 },\n * trackSwitchMode: {\n * audio: Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE,\n * video: Constants.TRACK_SWITCH_MODE_NEVER_REPLACE\n * },\n * selectionModeForInitialTrack: Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE,\n * fragmentRequestTimeout: 0,\n * retryIntervals: {\n * MPD: 500,\n * XLinkExpansion: 500,\n * InitializationSegment: 1000,\n * IndexSegment: 1000,\n * MediaSegment: 1000,\n * BitstreamSwitchingSegment: 1000,\n * other: 1000,\n * lowLatencyReductionFactor: 10\n * },\n * retryAttempts: {\n * MPD: 3,\n * XLinkExpansion: 1,\n * InitializationSegment: 3,\n * IndexSegment: 3,\n * MediaSegment: 3,\n * BitstreamSwitchingSegment: 3,\n * other: 3,\n * lowLatencyMultiplyFactor: 5\n * },\n * abr: {\n * movingAverageMethod: Constants.MOVING_AVERAGE_SLIDING_WINDOW,\n * ABRStrategy: Constants.ABR_STRATEGY_DYNAMIC,\n * bandwidthSafetyFactor: 0.9,\n * useDefaultABRRules: true,\n * useDeadTimeLatency: true,\n * limitBitrateByPortal: false,\n * usePixelRatioInLimitBitrateByPortal: false,\n * maxBitrate: { audio: -1, video: -1 },\n * minBitrate: { audio: -1, video: -1 },\n * maxRepresentationRatio: { audio: 1, video: 1 },\n * initialBitrate: { audio: -1, video: -1 },\n * initialRepresentationRatio: { audio: -1, video: -1 },\n * autoSwitchBitrate: { audio: true, video: true },\n * fetchThroughputCalculationMode: Constants.ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA\n * },\n * cmcd: {\n * enabled: false,\n * sid: null,\n * cid: null,\n * rtp: null,\n * rtpSafetyFactor: 5\n * }\n * }\n * }\n */\n\n\n/**\n * @typedef {Object} DebugSettings\n * @property {number} [logLevel=dashjs.Debug.LOG_LEVEL_WARNING]\n * Sets up the log level. The levels are cumulative.\n *\n * For example, if you set the log level to dashjs.Debug.LOG_LEVEL_WARNING all warnings, errors and fatals will be logged.\n *\n * Possible values.\n *\n * - dashjs.Debug.LOG_LEVEL_NONE\n * No message is written in the browser console.\n *\n * - dashjs.Debug.LOG_LEVEL_FATAL\n * Log fatal errors.\n * An error is considered fatal when it causes playback to fail completely.\n *\n * - dashjs.Debug.LOG_LEVEL_ERROR\n * Log error messages.\n *\n * - dashjs.Debug.LOG_LEVEL_WARNING\n * Log warning messages.\n *\n * - dashjs.Debug.LOG_LEVEL_INFO\n * Log info messages.\n *\n * - dashjs.Debug.LOG_LEVEL_DEBUG\n * Log debug messages.\n * @property {boolean} [dispatchEvent=false]\n * Enable to trigger a Events.LOG event whenever log output is generated.\n *\n * Note this will be dispatched regardless of log level.\n */\n\n/**\n * @typedef {Object} AbrSettings\n * @property {string} [movingAverageMethod=\"slidingWindow\"]\n * Sets the moving average method used for smoothing throughput estimates.\n *\n * Valid methods are \"slidingWindow\" and \"ewma\".\n *\n * The call has no effect if an invalid method is passed.\n *\n * The sliding window moving average method computes the average throughput using the last four segments downloaded.\n *\n * If the stream is live (as opposed to VOD), then only the last three segments are used.\n *\n * If wide variations in throughput are detected, the number of segments can be dynamically increased to avoid oscillations.\n *\n * The exponentially weighted moving average (EWMA) method computes the average using exponential smoothing.\n *\n * Two separate estimates are maintained, a fast one with a three-second half life and a slow one with an eight-second half life.\n *\n * The throughput estimate at any time is the minimum of the fast and slow estimates.\n *\n * This allows a fast reaction to a bandwidth drop and prevents oscillations on bandwidth spikes.\n * @property {string} [ABRStrategy=\"abrDynamic\"]\n * Returns the current ABR strategy being used: \"abrDynamic\", \"abrBola\" or \"abrThroughput\".\n * @property {number} [bandwidthSafetyFactor=0.9]\n * Standard ABR throughput rules multiply the throughput by this value.\n *\n * It should be between 0 and 1, with lower values giving less rebuffering (but also lower quality).\n * @property {boolean} [useDefaultABRRules=true]\n * Should the default ABR rules be used, or the custom ones added.\n * @property {boolean} [useDeadTimeLatency=true]\n * If true, only the download portion will be considered part of the download bitrate and latency will be regarded as static.\n *\n * If false, the reciprocal of the whole transfer time will be used.\n * @property {boolean} [limitBitrateByPortal=false]\n * If true, the size of the video portal will limit the max chosen video resolution.\n * @property {boolean} [usePixelRatioInLimitBitrateByPortal=false]\n * Sets whether to take into account the device's pixel ratio when defining the portal dimensions.\n *\n * Useful on, for example, retina displays.\n * @property {module:Settings~AudioVideoSettings} [maxBitrate={audio: -1, video: -1}]\n * The maximum bitrate that the ABR algorithms will choose.\n *\n * Use NaN for no limit.\n * @property {module:Settings~AudioVideoSettings} [minBitrate={audio: -1, video: -1}]\n * The minimum bitrate that the ABR algorithms will choose.\n *\n * Use NaN for no limit.\n * @property {module:Settings~AudioVideoSettings} [maxRepresentationRatio={audio: 1, video: 1}]\n * When switching multi-bitrate content (auto or manual mode) this property specifies the maximum representation allowed, as a proportion of the size of the representation set.\n *\n * You can set or remove this cap at anytime before or during playback.\n *\n * To clear this setting you set the value to 1.\n *\n * If both this and maxAllowedBitrate are defined, maxAllowedBitrate is evaluated first, then maxAllowedRepresentation, i.e. the lowest value from executing these rules is used.\n *\n * This feature is typically used to reserve higher representations for playback only when connected over a fast connection.\n * @property {module:Settings~AudioVideoSettings} [initialBitrate={audio: -1, video: -1}]\n * Explicitly set the starting bitrate for audio or video.\n * @property {module:Settings~AudioVideoSettings} [initialRepresentationRatio={audio: -1, video: -1}]\n * Explicitly set the initial representation ratio.\n *\n * If initalBitrate is specified, this is ignored.\n * @property {module:Settings~AudioVideoSettings} [autoSwitchBitrate={audio: true, video: true}]\n * Indicates whether the player should enable ABR algorithms to switch the bitrate.\n *\n * @property {string} [fetchThroughputCalculationMode=\"abrFetchThroughputCalculationDownloadedData\"]\n * Algorithm to determine the throughput in case the Fetch API is used for low latency streaming.\n *\n * For details please check the samples section and FetchLoader.js.\n */\n\n/**\n * @typedef {Object} StreamingSettings\n * @property {number} [metricsMaxListDepth=1000]\n * Maximum list depth of metrics.\n * @property {number} [abandonLoadTimeout=10000]\n * A timeout value in seconds, which during the ABRController will block switch-up events.\n *\n * This will only take effect after an abandoned fragment event occurs.\n * @property {number} [liveDelayFragmentCount=NaN]\n * Changing this value will lower or increase live stream latency.\n *\n * The detected segment duration will be multiplied by this value to define a time in seconds to delay a live stream from the live edge.\n *\n * Lowering this value will lower latency but may decrease the player's ability to build a stable buffer.\n * @property {number} [liveDelay]\n * Equivalent in seconds of setLiveDelayFragmentCount.\n *\n * Lowering this value will lower latency but may decrease the player's ability to build a stable buffer.\n *\n * This value should be less than the manifest duration by a couple of segment durations to avoid playback issues.\n *\n * If set, this parameter will take precedence over setLiveDelayFragmentCount and manifest info.\n * @property {boolean} [scheduleWhilePaused=true]\n * Set to true if you would like dash.js to keep downloading fragments in the background when the video element is paused.\n * @property {boolean} [fastSwitchEnabled=false]\n * 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.\n *\n * When enabled, The maximum time to render a higher quality is current time + (1.5 * fragment duration).\n *\n * Note, When ABR down-switch is detected, we appended the lower quality at the end of the buffer range to preserve the\n * higher quality media for as long as possible.\n *\n * If enabled, it should be noted there are a few cases when the client will not replace inside buffer range but rather just append at the end.\n * 1. When the buffer level is less than one fragment duration.\n * 2. The client is in an Abandonment State due to recent fragment abandonment event.\n *\n * Known issues:\n * 1. In IE11 with auto switching off, if a user switches to a quality they can not download in time the fragment may be appended in the same range as the playhead or even in the past, in IE11 it may cause a stutter or stall in playback.\n * @property {boolean} [flushBufferAtTrackSwitch=false]\n * When enabled, after a track switch and in case buffer is being replaced (see MediaPlayer.setTrackSwitchModeFor(Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE)), the video element is flushed (seek at current playback time) once a segment of the new track is appended in buffer in order to force video decoder to play new track.\n *\n * This can be required on some devices like GoogleCast devices to make track switching functional.\n *\n * Otherwise track switching will be effective only once after previous buffered track is fully consumed.\n * @property {boolean} [calcSegmentAvailabilityRangeFromTimeline=false]\n * Enable calculation of the DVR window for SegmentTimeline manifests based on the entries in \\.\n * @property {boolean} [reuseExistingSourceBuffers=true]\n * Enable reuse of existing MediaSource Sourcebuffers during period transition.\n * @property {number} [bufferPruningInterval=10]\n * The interval of pruning buffer in seconds.\n * @property {number} [bufferToKeep=20]\n * This value influences the buffer pruning logic.\n *\n * Allows you to modify the buffer that is kept in source buffer in seconds.\n * 0|-----------bufferToPrune-----------|-----bufferToKeep-----|currentTime|\n * @property {boolean} [jumpGaps=true]\n * Sets whether player should jump small gaps (discontinuities) in the buffer.\n * @property {boolean} [jumpLargeGaps=true]\n * Sets whether player should jump large gaps (discontinuities) in the buffer.\n * @property {number} [smallGapLimit=1.8]\n * Time in seconds for a gap to be considered small.\n * @property {number} [stableBufferTime=12]\n * The time that the internal buffer target will be set to post startup/seeks (NOT top quality).\n *\n * When the time is set higher than the default you will have to wait longer to see automatic bitrate switches but will have a larger buffer which will increase stability.\n * @property {number} [bufferTimeAtTopQuality=30]\n * The time that the internal buffer target will be set to once playing the top quality.\n *\n * If there are multiple bitrates in your adaptation, and the media is playing at the highest bitrate, then we try to build a larger buffer at the top quality to increase stability and to maintain media quality.\n * @property {number} [bufferTimeAtTopQualityLongForm=60]\n * The time that the internal buffer target will be set to once playing the top quality for long form content.\n * @property {number} [longFormContentDurationThreshold=600]\n * The threshold which defines if the media is considered long form content.\n *\n * This will directly affect the buffer targets when playing back at the top quality.\n * @property {number} [wallclockTimeUpdateInterval=50]\n * How frequently the wallclockTimeUpdated internal event is triggered (in milliseconds).\n * @property {boolean} [lowLatencyEnabled=false]\n * Enable or disable low latency mode.\n * @property {boolean} [keepProtectionMediaKeys=false]\n * Set the value for the ProtectionController and MediaKeys life cycle.\n *\n * If true, the ProtectionController and then created MediaKeys and MediaKeySessions will be preserved during the MediaPlayer lifetime.\n * @property {boolean} [useManifestDateHeaderTimeSource=true]\n * Allows you to enable the use of the Date Header, if exposed with CORS, as a timing source for live edge detection.\n *\n * The use of the date header will happen only after the other timing source that take precedence fail or are omitted as described.\n * @property {boolean} [useSuggestedPresentationDelay=true]\n * Set to true if you would like to override the default live delay and honor the SuggestedPresentationDelay attribute in by the manifest.\n * @property {boolean} [useAppendWindow=true]\n * Specifies if the appendWindow attributes of the MSE SourceBuffers should be set according to content duration from manifest.\n * @property {number} [manifestUpdateRetryInterval=100]\n * 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.\n * @property {number} [stallThreshold=0.5]\n * Stall threshold used in BufferController.js to determine whether a track should still be changed and which buffer range to prune.\n * @property {boolean} [filterUnsupportedEssentialProperties=true]\n * Enable to filter all the AdaptationSets and Representations which contain an unsupported \\ element.\n * @property {module:Settings~UtcSynchronizationSettings} utcSynchronization Settings related to UTC clock synchronization\n * @property {module:Settings~LiveCatchupSettings} liveCatchup Settings related to live catchup.\n * @property {module:Settings~CachingInfoSettings} [lastBitrateCachingInfo={enabled: true, ttl: 360000}]\n * Set to false if you would like to disable the last known bit rate from being stored during playback and used to set the initial bit rate for subsequent playback within the expiration window.\n *\n * The default expiration is one hour, defined in milliseconds.\n *\n * If expired, the default initial bit rate (closest to 1000 kbps) will be used for that session and a new bit rate will be stored during that session.\n * @property {module:Settings~CachingInfoSettings} [lastMediaSettingsCachingInfo={enabled: true, ttl: 360000}]\n * Set to false if you would like to disable the last known lang for audio (or camera angle for video) from being stored during playback and used to set the initial settings for subsequent playback within the expiration window.\n *\n * The default expiration is one hour, defined in milliseconds.\n *\n * If expired, the default settings will be used for that session and a new settings will be stored during that session.\n * @property {module:Settings~AudioVideoSettings} [cacheLoadThresholds={video: 50, audio: 5}]\n * For a given media type, the threshold which defines if the response to a fragment request is coming from browser cache or not.\n * @property {module:Settings~AudioVideoSettings} [trackSwitchMode={video: \"neverReplace\", audio: \"alwaysReplace\"}]\n * For a given media type defines if existing segments in the buffer should be overwritten once the track is switched. For instance if the user switches the audio language the existing segments in the audio buffer will be replaced when setting this value to \"alwaysReplace\".\n *\n * Possible values\n *\n * - Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE\n * Replace existing segments in the buffer\n *\n * - Constants.TRACK_SWITCH_MODE_NEVER_REPLACE\n * Do not replace existing segments in the buffer\n *\n * @property {string} [selectionModeForInitialTrack=\"highestBitrate\"]\n * Sets the selection mode for the initial track. This mode defines how the initial track will be selected if no initial media settings are set. If initial media settings are set this parameter will be ignored. Available options are:\n *\n * Possible values\n *\n * - Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE\n * This mode makes the player select the track with a highest bitrate. This mode is a default mode.\n *\n * - Constants.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY\n * This mode makes the player select the track with the lowest bitrate per pixel average.\n *\n * - Constants.TRACK_SELECTION_MODE_WIDEST_RANGE\n * This mode makes the player select the track with a widest range of bitrates.\n *\n *\n * @property {number} [fragmentRequestTimeout=0]\n * Time in milliseconds before timing out on loading a media fragment.\n *\n * Fragments that timeout are retried as if they failed.\n * @property {module:Settings~RequestTypeSettings} [retryIntervals]\n * Time in milliseconds of which to reload a failed file load attempt.\n *\n * For low latency mode these values are divided by lowLatencyReductionFactor.\n * @property {module:Settings~RequestTypeSettings} [retryAttempts]\n * Total number of retry attempts that will occur on a file load before it fails.\n *\n * For low latency mode these values are multiplied by lowLatencyMultiplyFactor.\n * @property {module:Settings~AbrSettings} abr\n * Adaptive Bitrate algorithm related settings.\n * @property {module:Settings~CmcdSettings} cmcd\n * Settings related to Common Media Client Data reporting.\n */\n\n/**\n * @typedef {Object} CachingInfoSettings\n * @property {boolean} [enable]\n * Enable or disable the caching feature.\n * @property {number} [ttl]\n * Time to live.\n *\n * A value defined in milliseconds representing how log to cache the settings for.\n */\n\n/**\n * @typedef {Object} module:Settings~AudioVideoSettings\n * @property {number|boolean|string} [audio]\n * Configuration for audio media type of tracks.\n * @property {number|boolean|string} [video]\n * Configuration for video media type of tracks.\n */\n\n/**\n * @typedef {Object} RequestTypeSettings\n * @property {number} [MPD]\n * Manifest type of requests.\n * @property {number} [XLinkExpansion]\n * XLink expansion type of requests.\n * @property {number} [InitializationSegment]\n * Request to retrieve an initialization segment.\n * @property {number} [IndexSegment]\n * Request to retrieve an index segment (SegmentBase).\n * @property {number} [MediaSegment]\n * Request to retrieve a media segment (video/audio/image/text chunk).\n * @property {number} [BitstreamSwitchingSegment]\n * Bitrate stream switching type of request.\n * @property {number} [other]\n * Other type of request.\n * @property {number} [lowLatencyReductionFactor]\n * For low latency mode, values of type of request are divided by lowLatencyReductionFactor.\n *\n * Note: It's not type of request.\n * @property {number} [lowLatencyMultiplyFactor]\n * For low latency mode, values of type of request are multiplied by lowLatencyMultiplyFactor.\n *\n * Note: It's not type of request.\n */\n\n/**\n * @typedef {Object} module:Settings~CmcdSettings\n * @property {boolean} [enable=false]\n * Enable or disable the CMCD reporting.\n * @property {string} [sid]\n * GUID identifying the current playback session.\n *\n * Should be in UUID format.\n *\n * If not specified a UUID will be automatically generated.\n * @property {string} [cid]\n * A unique string to identify the current content.\n *\n * If not specified it will be a hash of the MPD url.\n * @property {number} [rtp]\n * The requested maximum throughput that the client considers sufficient for delivery of the asset.\n *\n * If not specified this value will be dynamically calculated in the CMCDModel based on the current buffer level.\n * @property {number} [rtpSafetyFactor]\n * This value is used as a factor for the rtp value calculation: rtp = minBandwidth * rtpSafetyFactor\n *\n * If not specified this value defaults to 5. Note that this value is only used when no static rtp value is defined.\n */\n\n/**\n * @typedef {Object} module:Settings~UtcSynchronizationSettings\n * @property {number} [backgroundAttempts=2]\n * 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.\n *\n * The background requests are async and done in parallel to the start of the playback.\n *\n * This value is also used to perform a resync after 404 errors on segments.\n * @property {number} [timeBetweenSyncAttempts=30]\n * The time in seconds between two consecutive sync attempts.\n *\n * Note: This value is used as an initial starting value. The internal value of the TimeSyncController is adjusted during playback based on the drift between two consecutive synchronization attempts.\n *\n * Note: A sync is only performed after an MPD update. In case the @minimumUpdatePeriod is larger than this value the sync will be delayed until the next MPD update.\n * @property {number} [maximumTimeBetweenSyncAttempts=600]\n * The maximum time in seconds between two consecutive sync attempts.\n *\n * @property {number} [minimumTimeBetweenSyncAttempts=2]\n * The minimum time in seconds between two consecutive sync attempts.\n *\n * @property {number} [timeBetweenSyncAttemptsAdjustmentFactor=2]\n * The factor used to multiply or divide the timeBetweenSyncAttempts parameter after a sync. The maximumAllowedDrift defines whether this value is used as a factor or a dividend.\n *\n * @property {number} [maximumAllowedDrift=100]\n * The maximum allowed drift specified in milliseconds between two consecutive synchronization attempts.\n *\n * @property {boolean} [enableBackgroundSyncAfterSegmentDownloadError=true]\n * Enables or disables the background sync after the player ran into a segment download error.\n *\n * @property {object} [defaultTimingSource={scheme:'urn:mpeg:dash:utc:http-xsdate:2014',value: 'http://time.akamai.com/?iso&ms'}]\n * The default timing source to be used. The timing sources in the MPD take precedence over this one.\n */\n\n/**\n * @typedef {Object} module:Settings~LiveCatchupSettings\n * @property {number} [minDrift=0.02]\n * Use this method to set the minimum latency deviation allowed before activating catch-up mechanism.\n *\n * 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 increases/decreases playback rate until target latency is reached.\n *\n * LowLatencyMinDrift should be provided in seconds, and it uses values between 0.0 and 0.5.\n *\n * Note: Catch-up mechanism is only applied when playing low latency live streams.\n * @property {number} [maxDrift=0]\n * Use this method to set the maximum latency deviation allowed before dash.js to do a seeking to live position.\n *\n * 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.\n *\n * LowLatencyMaxDriftBeforeSeeking should be provided in seconds.\n *\n * If 0, then seeking operations won't be used for fixing latency deviations.\n *\n * Note: Catch-up mechanism is only applied when playing low latency live streams.\n * @property {number} [playbackRate=0.5]\n * Use this parameter to set the maximum catch up rate, as a percentage, for low latency live streams.\n *\n * In low latency mode, when measured latency is higher/lower than the target one, dash.js increases/decreases playback rate respectively up to (+/-) the percentage defined with this method until target is reached.\n *\n * Valid values for catch up rate are in range 0-0.5 (0-50%).\n *\n * Set it to 0 to turn off live catch up feature.\n *\n * Note: Catch-up mechanism is only applied when playing low latency live streams.\n * @property {number} [latencyThreshold=NaN]\n * Use this parameter to set the maximum threshold for which live catch up is applied.\n *\n * For instance, if this value is set to 8 seconds, then live catchup is only applied if the current live latency is equal or below 8 seconds.\n *\n * The reason behind this parameter is to avoid an increase of the playback rate if the user seeks within the DVR window.\n *\n * If no value is specified this will be twice the maximum live delay.\n *\n * The maximum live delay is either specified in the manifest as part of a ServiceDescriptor or calculated the following:\n * maximumLiveDelay = targetDelay + liveCatchupMinDrift.\n *\n * @property {number} [playbackBufferMin=NaN]\n * Use this parameter to specify the minimum buffer which is used for LoL+ based playback rate reduction.\n *\n *\n * @property {boolean} [enabled=false]\n * Use this parameter to enable the catchup mode for non low-latency streams.\n *\n * @property {string} [mode=\"liveCatchupModeDefault\"]\n * Use this parameter to switch between different catchup modes.\n *\n * Options: \"liveCatchupModeDefault\" or \"liveCatchupModeLOLP\".\n *\n * Note: Catch-up mechanism is automatically applied when playing low latency live streams.\n */\n\n\n/**\n * @class\n * @ignore\n */\nfunction Settings() {\n let instance;\n\n /**\n * @const {PlayerSettings} defaultSettings\n * @ignore\n */\n const defaultSettings = {\n debug: {\n logLevel: Debug.LOG_LEVEL_WARNING,\n dispatchEvent: false\n },\n streaming: {\n metricsMaxListDepth: 1000,\n abandonLoadTimeout: 10000,\n liveDelayFragmentCount: NaN,\n liveDelay: null,\n scheduleWhilePaused: true,\n fastSwitchEnabled: false,\n flushBufferAtTrackSwitch: false,\n calcSegmentAvailabilityRangeFromTimeline: false,\n reuseExistingSourceBuffers: true,\n bufferPruningInterval: 10,\n bufferToKeep: 20,\n jumpGaps: true,\n jumpLargeGaps: true,\n smallGapLimit: 1.5,\n stableBufferTime: 12,\n bufferTimeAtTopQuality: 30,\n bufferTimeAtTopQualityLongForm: 60,\n longFormContentDurationThreshold: 600,\n wallclockTimeUpdateInterval: 50,\n lowLatencyEnabled: false,\n keepProtectionMediaKeys: false,\n useManifestDateHeaderTimeSource: true,\n useSuggestedPresentationDelay: true,\n useAppendWindow: true,\n manifestUpdateRetryInterval: 100,\n stallThreshold: 0.5,\n filterUnsupportedEssentialProperties: true,\n utcSynchronization: {\n backgroundAttempts: 2,\n timeBetweenSyncAttempts: 30,\n maximumTimeBetweenSyncAttempts: 600,\n minimumTimeBetweenSyncAttempts: 2,\n timeBetweenSyncAttemptsAdjustmentFactor: 2,\n maximumAllowedDrift: 100,\n enableBackgroundSyncAfterSegmentDownloadError: true,\n defaultTimingSource: {\n scheme: 'urn:mpeg:dash:utc:http-xsdate:2014',\n value: 'http://time.akamai.com/?iso&ms'\n }\n },\n liveCatchup: {\n minDrift: 0.02,\n maxDrift: 0,\n playbackRate: 0.5,\n latencyThreshold: 60,\n playbackBufferMin: 0.5,\n enabled: false,\n mode: Constants.LIVE_CATCHUP_MODE_DEFAULT\n },\n lastBitrateCachingInfo: { enabled: true, ttl: 360000 },\n lastMediaSettingsCachingInfo: { enabled: true, ttl: 360000 },\n cacheLoadThresholds: { video: 50, audio: 5 },\n trackSwitchMode: {\n audio: Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE,\n video: Constants.TRACK_SWITCH_MODE_NEVER_REPLACE\n },\n selectionModeForInitialTrack: Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE,\n fragmentRequestTimeout: 0,\n retryIntervals: {\n [HTTPRequest.MPD_TYPE]: 500,\n [HTTPRequest.XLINK_EXPANSION_TYPE]: 500,\n [HTTPRequest.MEDIA_SEGMENT_TYPE]: 1000,\n [HTTPRequest.INIT_SEGMENT_TYPE]: 1000,\n [HTTPRequest.BITSTREAM_SWITCHING_SEGMENT_TYPE]: 1000,\n [HTTPRequest.INDEX_SEGMENT_TYPE]: 1000,\n [HTTPRequest.OTHER_TYPE]: 1000,\n lowLatencyReductionFactor: 10\n },\n retryAttempts: {\n [HTTPRequest.MPD_TYPE]: 3,\n [HTTPRequest.XLINK_EXPANSION_TYPE]: 1,\n [HTTPRequest.MEDIA_SEGMENT_TYPE]: 3,\n [HTTPRequest.INIT_SEGMENT_TYPE]: 3,\n [HTTPRequest.BITSTREAM_SWITCHING_SEGMENT_TYPE]: 3,\n [HTTPRequest.INDEX_SEGMENT_TYPE]: 3,\n [HTTPRequest.OTHER_TYPE]: 3,\n lowLatencyMultiplyFactor: 5\n },\n abr: {\n movingAverageMethod: Constants.MOVING_AVERAGE_SLIDING_WINDOW,\n ABRStrategy: Constants.ABR_STRATEGY_DYNAMIC,\n bandwidthSafetyFactor: 0.9,\n useDefaultABRRules: true,\n useDeadTimeLatency: true,\n limitBitrateByPortal: false,\n usePixelRatioInLimitBitrateByPortal: false,\n maxBitrate: { audio: -1, video: -1 },\n minBitrate: { audio: -1, video: -1 },\n maxRepresentationRatio: { audio: 1, video: 1 },\n initialBitrate: { audio: -1, video: -1 },\n initialRepresentationRatio: { audio: -1, video: -1 },\n autoSwitchBitrate: { audio: true, video: true },\n fetchThroughputCalculationMode: Constants.ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA\n },\n cmcd: {\n enabled: false,\n sid: null,\n cid: null,\n rtp: null,\n rtpSafetyFactor: 5\n }\n }\n };\n\n let settings = Utils.clone(defaultSettings);\n\n //Merge in the settings. If something exists in the new config that doesn't match the schema of the default config,\n //regard it as an error and log it.\n function mixinSettings(source, dest, path) {\n for (let n in source) {\n if (source.hasOwnProperty(n)) {\n if (dest.hasOwnProperty(n)) {\n if (typeof source[n] === 'object' && source[n] !== null) {\n mixinSettings(source[n], dest[n], path.slice() + n + '.');\n } else {\n dest[n] = Utils.clone(source[n]);\n }\n }\n }\n }\n }\n\n /**\n * Return the settings object. Don't copy/store this object, you won't get updates.\n * @func\n * @instance\n */\n function get() {\n return settings;\n }\n\n /**\n * @func\n * @instance\n * @param {object} settingsObj - This should be a partial object of the Settings.Schema type. That is, fields defined should match the path (e.g.\n * settingsObj.streaming.abr.autoSwitchBitrate.audio -> defaultSettings.streaming.abr.autoSwitchBitrate.audio). Where an element's path does\n * not match it is ignored, and a warning is logged.\n *\n * Use to change the settings object. Any new values defined will overwrite the settings and anything undefined will not change.\n * Implementers of new settings should add it in an approriate namespace to the defaultSettings object and give it a default value (that is not undefined).\n *\n */\n function update(settingsObj) {\n if (typeof settingsObj === 'object') {\n mixinSettings(settingsObj, settings, '');\n }\n }\n\n /**\n * Resets the settings object. Everything is set to its default value.\n * @func\n * @instance\n *\n */\n function reset() {\n settings = Utils.clone(defaultSettings);\n }\n\n instance = {\n get: get,\n update: update,\n reset: reset\n };\n\n return instance;\n}\n\n\nSettings.__dashjs_factory_name = 'Settings';\nlet factory = FactoryMaker.getSingletonFactory(Settings);\nexport default factory;\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 */\nimport FactoryMaker from './FactoryMaker';\nimport Utils from './Utils.js';\nimport Debug from '../core/Debug';\nimport Constants from '../streaming/constants/Constants';\nimport {HTTPRequest} from '../streaming/vo/metrics/HTTPRequest';\n\n/** @module Settings\n * @description Define the configuration parameters of Dash.js MediaPlayer.\n * @see {@link module:Settings~PlayerSettings PlayerSettings} for further information about the supported configuration properties.\n */\n\n\n/**\n * @typedef {Object} PlayerSettings\n * @property {module:Settings~DebugSettings} [debug]\n * Debug related settings.\n * @property {module:Settings~StreamingSettings} [streaming]\n * Streaming related settings.\n * @example\n *\n * // Full settings object\n * settings = {\n * debug: {\n * logLevel: Debug.LOG_LEVEL_WARNING,\n * dispatchEvent: false\n * },\n * streaming: {\n * metricsMaxListDepth: 1000,\n * abandonLoadTimeout: 10000,\n * liveDelayFragmentCount: NaN,\n * liveDelay: null,\n * scheduleWhilePaused: true,\n * fastSwitchEnabled: false,\n * flushBufferAtTrackSwitch: false,\n * calcSegmentAvailabilityRangeFromTimeline: false,\n * reuseExistingSourceBuffers: true,\n * bufferPruningInterval: 10,\n * bufferToKeep: 20,\n * jumpGaps: true,\n * jumpLargeGaps: true,\n * smallGapLimit: 1.5,\n * stableBufferTime: 12,\n * bufferTimeAtTopQuality: 30,\n * bufferTimeAtTopQualityLongForm: 60,\n * longFormContentDurationThreshold: 600,\n * wallclockTimeUpdateInterval: 50,\n * lowLatencyEnabled: false,\n * keepProtectionMediaKeys: false,\n * useManifestDateHeaderTimeSource: true,\n * useSuggestedPresentationDelay: true,\n * useAppendWindow: true,\n * manifestUpdateRetryInterval: 100,\n * stallThreshold: 0.5,\n * filterUnsupportedEssentialProperties: true,\n * eventControllerRefreshDelay: 100,\n * utcSynchronization: {\n * backgroundAttempts: 2,\n * timeBetweenSyncAttempts: 30,\n * maximumTimeBetweenSyncAttempts: 600,\n * minimumTimeBetweenSyncAttempts: 2,\n * timeBetweenSyncAttemptsAdjustmentFactor: 2,\n * maximumAllowedDrift: 100,\n * enableBackgroundSyncAfterSegmentDownloadError: true,\n * defaultTimingSource: {\n * scheme: 'urn:mpeg:dash:utc:http-xsdate:2014',\n * value: 'http://time.akamai.com/?iso&ms'\n * }\n * },\n * liveCatchup: {\n * minDrift: 0.02,\n * maxDrift: 0,\n * playbackRate: 0.5,\n * latencyThreshold: NaN,\n * playbackBufferMin: NaN,\n * enabled: false,\n * mode: Constants.LIVE_CATCHUP_MODE_DEFAULT\n * },\n * lastBitrateCachingInfo: { enabled: true, ttl: 360000 },\n * lastMediaSettingsCachingInfo: { enabled: true, ttl: 360000 },\n * cacheLoadThresholds: { video: 50, audio: 5 },\n * trackSwitchMode: {\n * audio: Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE,\n * video: Constants.TRACK_SWITCH_MODE_NEVER_REPLACE\n * },\n * selectionModeForInitialTrack: Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE,\n * fragmentRequestTimeout: 0,\n * retryIntervals: {\n * MPD: 500,\n * XLinkExpansion: 500,\n * InitializationSegment: 1000,\n * IndexSegment: 1000,\n * MediaSegment: 1000,\n * BitstreamSwitchingSegment: 1000,\n * FragmentInfoSegment: 1000,\n * other: 1000,\n * lowLatencyReductionFactor: 10\n * },\n * retryAttempts: {\n * MPD: 3,\n * XLinkExpansion: 1,\n * InitializationSegment: 3,\n * IndexSegment: 3,\n * MediaSegment: 3,\n * BitstreamSwitchingSegment: 3,\n * FragmentInfoSegment: 3,\n * other: 3,\n * lowLatencyMultiplyFactor: 5\n * },\n * abr: {\n * movingAverageMethod: Constants.MOVING_AVERAGE_SLIDING_WINDOW,\n * ABRStrategy: Constants.ABR_STRATEGY_DYNAMIC,\n * bandwidthSafetyFactor: 0.9,\n * useDefaultABRRules: true,\n * useDeadTimeLatency: true,\n * limitBitrateByPortal: false,\n * usePixelRatioInLimitBitrateByPortal: false,\n * maxBitrate: { audio: -1, video: -1 },\n * minBitrate: { audio: -1, video: -1 },\n * maxRepresentationRatio: { audio: 1, video: 1 },\n * initialBitrate: { audio: -1, video: -1 },\n * initialRepresentationRatio: { audio: -1, video: -1 },\n * autoSwitchBitrate: { audio: true, video: true },\n * fetchThroughputCalculationMode: Constants.ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA\n * },\n * cmcd: {\n * enabled: false,\n * sid: null,\n * cid: null,\n * rtp: null,\n * rtpSafetyFactor: 5,\n * mode: Constants.CMCD_MODE_QUERY\n * }\n * }\n * }\n */\n\n\n/**\n * @typedef {Object} DebugSettings\n * @property {number} [logLevel=dashjs.Debug.LOG_LEVEL_WARNING]\n * Sets up the log level. The levels are cumulative.\n *\n * For example, if you set the log level to dashjs.Debug.LOG_LEVEL_WARNING all warnings, errors and fatals will be logged.\n *\n * Possible values.\n *\n * - dashjs.Debug.LOG_LEVEL_NONE\n * No message is written in the browser console.\n *\n * - dashjs.Debug.LOG_LEVEL_FATAL\n * Log fatal errors.\n * An error is considered fatal when it causes playback to fail completely.\n *\n * - dashjs.Debug.LOG_LEVEL_ERROR\n * Log error messages.\n *\n * - dashjs.Debug.LOG_LEVEL_WARNING\n * Log warning messages.\n *\n * - dashjs.Debug.LOG_LEVEL_INFO\n * Log info messages.\n *\n * - dashjs.Debug.LOG_LEVEL_DEBUG\n * Log debug messages.\n * @property {boolean} [dispatchEvent=false]\n * Enable to trigger a Events.LOG event whenever log output is generated.\n *\n * Note this will be dispatched regardless of log level.\n */\n\n/**\n * @typedef {Object} AbrSettings\n * @property {string} [movingAverageMethod=\"slidingWindow\"]\n * Sets the moving average method used for smoothing throughput estimates.\n *\n * Valid methods are \"slidingWindow\" and \"ewma\".\n *\n * The call has no effect if an invalid method is passed.\n *\n * The sliding window moving average method computes the average throughput using the last four segments downloaded.\n *\n * If the stream is live (as opposed to VOD), then only the last three segments are used.\n *\n * If wide variations in throughput are detected, the number of segments can be dynamically increased to avoid oscillations.\n *\n * The exponentially weighted moving average (EWMA) method computes the average using exponential smoothing.\n *\n * Two separate estimates are maintained, a fast one with a three-second half life and a slow one with an eight-second half life.\n *\n * The throughput estimate at any time is the minimum of the fast and slow estimates.\n *\n * This allows a fast reaction to a bandwidth drop and prevents oscillations on bandwidth spikes.\n * @property {string} [ABRStrategy=\"abrDynamic\"]\n * Returns the current ABR strategy being used: \"abrDynamic\", \"abrBola\" or \"abrThroughput\".\n * @property {number} [bandwidthSafetyFactor=0.9]\n * Standard ABR throughput rules multiply the throughput by this value.\n *\n * It should be between 0 and 1, with lower values giving less rebuffering (but also lower quality).\n * @property {boolean} [useDefaultABRRules=true]\n * Should the default ABR rules be used, or the custom ones added.\n * @property {boolean} [useDeadTimeLatency=true]\n * If true, only the download portion will be considered part of the download bitrate and latency will be regarded as static.\n *\n * If false, the reciprocal of the whole transfer time will be used.\n * @property {boolean} [limitBitrateByPortal=false]\n * If true, the size of the video portal will limit the max chosen video resolution.\n * @property {boolean} [usePixelRatioInLimitBitrateByPortal=false]\n * Sets whether to take into account the device's pixel ratio when defining the portal dimensions.\n *\n * Useful on, for example, retina displays.\n * @property {module:Settings~AudioVideoSettings} [maxBitrate={audio: -1, video: -1}]\n * The maximum bitrate that the ABR algorithms will choose.\n *\n * Use NaN for no limit.\n * @property {module:Settings~AudioVideoSettings} [minBitrate={audio: -1, video: -1}]\n * The minimum bitrate that the ABR algorithms will choose.\n *\n * Use NaN for no limit.\n * @property {module:Settings~AudioVideoSettings} [maxRepresentationRatio={audio: 1, video: 1}]\n * When switching multi-bitrate content (auto or manual mode) this property specifies the maximum representation allowed, as a proportion of the size of the representation set.\n *\n * You can set or remove this cap at anytime before or during playback.\n *\n * To clear this setting you set the value to 1.\n *\n * If both this and maxAllowedBitrate are defined, maxAllowedBitrate is evaluated first, then maxAllowedRepresentation, i.e. the lowest value from executing these rules is used.\n *\n * This feature is typically used to reserve higher representations for playback only when connected over a fast connection.\n * @property {module:Settings~AudioVideoSettings} [initialBitrate={audio: -1, video: -1}]\n * Explicitly set the starting bitrate for audio or video.\n * @property {module:Settings~AudioVideoSettings} [initialRepresentationRatio={audio: -1, video: -1}]\n * Explicitly set the initial representation ratio.\n *\n * If initalBitrate is specified, this is ignored.\n * @property {module:Settings~AudioVideoSettings} [autoSwitchBitrate={audio: true, video: true}]\n * Indicates whether the player should enable ABR algorithms to switch the bitrate.\n *\n * @property {string} [fetchThroughputCalculationMode=\"abrFetchThroughputCalculationDownloadedData\"]\n * Algorithm to determine the throughput in case the Fetch API is used for low latency streaming.\n *\n * For details please check the samples section and FetchLoader.js.\n */\n\n/**\n * @typedef {Object} StreamingSettings\n * @property {number} [metricsMaxListDepth=1000]\n * Maximum list depth of metrics.\n * @property {number} [abandonLoadTimeout=10000]\n * A timeout value in seconds, which during the ABRController will block switch-up events.\n *\n * This will only take effect after an abandoned fragment event occurs.\n * @property {number} [liveDelayFragmentCount=NaN]\n * Changing this value will lower or increase live stream latency.\n *\n * The detected segment duration will be multiplied by this value to define a time in seconds to delay a live stream from the live edge.\n *\n * Lowering this value will lower latency but may decrease the player's ability to build a stable buffer.\n * @property {number} [liveDelay]\n * Equivalent in seconds of setLiveDelayFragmentCount.\n *\n * Lowering this value will lower latency but may decrease the player's ability to build a stable buffer.\n *\n * This value should be less than the manifest duration by a couple of segment durations to avoid playback issues.\n *\n * If set, this parameter will take precedence over setLiveDelayFragmentCount and manifest info.\n * @property {boolean} [scheduleWhilePaused=true]\n * Set to true if you would like dash.js to keep downloading fragments in the background when the video element is paused.\n * @property {boolean} [fastSwitchEnabled=false]\n * 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.\n *\n * When enabled, The maximum time to render a higher quality is current time + (1.5 * fragment duration).\n *\n * Note, When ABR down-switch is detected, we appended the lower quality at the end of the buffer range to preserve the\n * higher quality media for as long as possible.\n *\n * If enabled, it should be noted there are a few cases when the client will not replace inside buffer range but rather just append at the end.\n * 1. When the buffer level is less than one fragment duration.\n * 2. The client is in an Abandonment State due to recent fragment abandonment event.\n *\n * Known issues:\n * 1. In IE11 with auto switching off, if a user switches to a quality they can not download in time the fragment may be appended in the same range as the playhead or even in the past, in IE11 it may cause a stutter or stall in playback.\n * @property {boolean} [flushBufferAtTrackSwitch=false]\n * When enabled, after a track switch and in case buffer is being replaced (see MediaPlayer.setTrackSwitchModeFor(Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE)), the video element is flushed (seek at current playback time) once a segment of the new track is appended in buffer in order to force video decoder to play new track.\n *\n * This can be required on some devices like GoogleCast devices to make track switching functional.\n *\n * Otherwise track switching will be effective only once after previous buffered track is fully consumed.\n * @property {boolean} [calcSegmentAvailabilityRangeFromTimeline=false]\n * Enable calculation of the DVR window for SegmentTimeline manifests based on the entries in \\.\n * @property {boolean} [reuseExistingSourceBuffers=true]\n * Enable reuse of existing MediaSource Sourcebuffers during period transition.\n * @property {number} [bufferPruningInterval=10]\n * The interval of pruning buffer in seconds.\n * @property {number} [bufferToKeep=20]\n * This value influences the buffer pruning logic.\n *\n * Allows you to modify the buffer that is kept in source buffer in seconds.\n * 0|-----------bufferToPrune-----------|-----bufferToKeep-----|currentTime|\n * @property {boolean} [jumpGaps=true]\n * Sets whether player should jump small gaps (discontinuities) in the buffer.\n * @property {boolean} [jumpLargeGaps=true]\n * Sets whether player should jump large gaps (discontinuities) in the buffer.\n * @property {number} [smallGapLimit=1.8]\n * Time in seconds for a gap to be considered small.\n * @property {number} [stableBufferTime=12]\n * The time that the internal buffer target will be set to post startup/seeks (NOT top quality).\n *\n * When the time is set higher than the default you will have to wait longer to see automatic bitrate switches but will have a larger buffer which will increase stability.\n * @property {number} [bufferTimeAtTopQuality=30]\n * The time that the internal buffer target will be set to once playing the top quality.\n *\n * If there are multiple bitrates in your adaptation, and the media is playing at the highest bitrate, then we try to build a larger buffer at the top quality to increase stability and to maintain media quality.\n * @property {number} [bufferTimeAtTopQualityLongForm=60]\n * The time that the internal buffer target will be set to once playing the top quality for long form content.\n * @property {number} [longFormContentDurationThreshold=600]\n * The threshold which defines if the media is considered long form content.\n *\n * This will directly affect the buffer targets when playing back at the top quality.\n * @property {number} [wallclockTimeUpdateInterval=50]\n * How frequently the wallclockTimeUpdated internal event is triggered (in milliseconds).\n * @property {boolean} [lowLatencyEnabled=false]\n * Enable or disable low latency mode.\n * @property {boolean} [keepProtectionMediaKeys=false]\n * Set the value for the ProtectionController and MediaKeys life cycle.\n *\n * If true, the ProtectionController and then created MediaKeys and MediaKeySessions will be preserved during the MediaPlayer lifetime.\n * @property {boolean} [useManifestDateHeaderTimeSource=true]\n * Allows you to enable the use of the Date Header, if exposed with CORS, as a timing source for live edge detection.\n *\n * The use of the date header will happen only after the other timing source that take precedence fail or are omitted as described.\n * @property {boolean} [useSuggestedPresentationDelay=true]\n * Set to true if you would like to override the default live delay and honor the SuggestedPresentationDelay attribute in by the manifest.\n * @property {boolean} [useAppendWindow=true]\n * Specifies if the appendWindow attributes of the MSE SourceBuffers should be set according to content duration from manifest.\n * @property {number} [manifestUpdateRetryInterval=100]\n * 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.\n * @property {number} [stallThreshold=0.5]\n * Stall threshold used in BufferController.js to determine whether a track should still be changed and which buffer range to prune.\n * @property {boolean} [filterUnsupportedEssentialProperties=true]\n * Enable to filter all the AdaptationSets and Representations which contain an unsupported \\ element.\n * @property {number} [eventControllerRefreshDelay=100]\n * Defines the delay in milliseconds between two consecutive checks for events to be fired.\n * @property {module:Settings~UtcSynchronizationSettings} utcSynchronization Settings related to UTC clock synchronization\n * @property {module:Settings~LiveCatchupSettings} liveCatchup Settings related to live catchup.\n * @property {module:Settings~CachingInfoSettings} [lastBitrateCachingInfo={enabled: true, ttl: 360000}]\n * Set to false if you would like to disable the last known bit rate from being stored during playback and used to set the initial bit rate for subsequent playback within the expiration window.\n *\n * The default expiration is one hour, defined in milliseconds.\n *\n * If expired, the default initial bit rate (closest to 1000 kbps) will be used for that session and a new bit rate will be stored during that session.\n * @property {module:Settings~CachingInfoSettings} [lastMediaSettingsCachingInfo={enabled: true, ttl: 360000}]\n * Set to false if you would like to disable the last known lang for audio (or camera angle for video) from being stored during playback and used to set the initial settings for subsequent playback within the expiration window.\n *\n * The default expiration is one hour, defined in milliseconds.\n *\n * If expired, the default settings will be used for that session and a new settings will be stored during that session.\n * @property {module:Settings~AudioVideoSettings} [cacheLoadThresholds={video: 50, audio: 5}]\n * For a given media type, the threshold which defines if the response to a fragment request is coming from browser cache or not.\n * @property {module:Settings~AudioVideoSettings} [trackSwitchMode={video: \"neverReplace\", audio: \"alwaysReplace\"}]\n * For a given media type defines if existing segments in the buffer should be overwritten once the track is switched. For instance if the user switches the audio language the existing segments in the audio buffer will be replaced when setting this value to \"alwaysReplace\".\n *\n * Possible values\n *\n * - Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE\n * Replace existing segments in the buffer\n *\n * - Constants.TRACK_SWITCH_MODE_NEVER_REPLACE\n * Do not replace existing segments in the buffer\n *\n * @property {string} [selectionModeForInitialTrack=\"highestBitrate\"]\n * Sets the selection mode for the initial track. This mode defines how the initial track will be selected if no initial media settings are set. If initial media settings are set this parameter will be ignored. Available options are:\n *\n * Possible values\n *\n * - Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE\n * This mode makes the player select the track with a highest bitrate. This mode is a default mode.\n *\n * - Constants.TRACK_SELECTION_MODE_FIRST_TRACK\n * This mode makes the player select the first track found in the manifest.\n *\n * - Constants.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY\n * This mode makes the player select the track with the lowest bitrate per pixel average.\n *\n * - Constants.TRACK_SELECTION_MODE_WIDEST_RANGE\n * This mode makes the player select the track with a widest range of bitrates.\n *\n *\n * @property {number} [fragmentRequestTimeout=0]\n * Time in milliseconds before timing out on loading a media fragment.\n *\n * Fragments that timeout are retried as if they failed.\n * @property {module:Settings~RequestTypeSettings} [retryIntervals]\n * Time in milliseconds of which to reload a failed file load attempt.\n *\n * For low latency mode these values are divided by lowLatencyReductionFactor.\n * @property {module:Settings~RequestTypeSettings} [retryAttempts]\n * Total number of retry attempts that will occur on a file load before it fails.\n *\n * For low latency mode these values are multiplied by lowLatencyMultiplyFactor.\n * @property {module:Settings~AbrSettings} abr\n * Adaptive Bitrate algorithm related settings.\n * @property {module:Settings~CmcdSettings} cmcd\n * Settings related to Common Media Client Data reporting.\n */\n\n/**\n * @typedef {Object} CachingInfoSettings\n * @property {boolean} [enable]\n * Enable or disable the caching feature.\n * @property {number} [ttl]\n * Time to live.\n *\n * A value defined in milliseconds representing how log to cache the settings for.\n */\n\n/**\n * @typedef {Object} module:Settings~AudioVideoSettings\n * @property {number|boolean|string} [audio]\n * Configuration for audio media type of tracks.\n * @property {number|boolean|string} [video]\n * Configuration for video media type of tracks.\n */\n\n/**\n * @typedef {Object} RequestTypeSettings\n * @property {number} [MPD]\n * Manifest type of requests.\n * @property {number} [XLinkExpansion]\n * XLink expansion type of requests.\n * @property {number} [InitializationSegment]\n * Request to retrieve an initialization segment.\n * @property {number} [IndexSegment]\n * Request to retrieve an index segment (SegmentBase).\n * @property {number} [MediaSegment]\n * Request to retrieve a media segment (video/audio/image/text chunk).\n * @property {number} [BitstreamSwitchingSegment]\n * Bitrate stream switching type of request.\n * @property {number} [FragmentInfoSegment]\n * Request to retrieve a FragmentInfo segment (specific to Smooth Streaming live streams).\n * @property {number} [other]\n * Other type of request.\n * @property {number} [lowLatencyReductionFactor]\n * For low latency mode, values of type of request are divided by lowLatencyReductionFactor.\n *\n * Note: It's not type of request.\n * @property {number} [lowLatencyMultiplyFactor]\n * For low latency mode, values of type of request are multiplied by lowLatencyMultiplyFactor.\n *\n * Note: It's not type of request.\n */\n\n/**\n * @typedef {Object} module:Settings~CmcdSettings\n * @property {boolean} [enable=false]\n * Enable or disable the CMCD reporting.\n * @property {string} [sid]\n * GUID identifying the current playback session.\n *\n * Should be in UUID format.\n *\n * If not specified a UUID will be automatically generated.\n * @property {string} [cid]\n * A unique string to identify the current content.\n *\n * If not specified it will be a hash of the MPD url.\n * @property {number} [rtp]\n * The requested maximum throughput that the client considers sufficient for delivery of the asset.\n *\n * If not specified this value will be dynamically calculated in the CMCDModel based on the current buffer level.\n * @property {number} [rtpSafetyFactor]\n * This value is used as a factor for the rtp value calculation: rtp = minBandwidth * rtpSafetyFactor\n *\n * If not specified this value defaults to 5. Note that this value is only used when no static rtp value is defined.\n * @property {number} [mode]\n * The method to use to attach cmcd metrics to the requests. 'query' to use query parameters, 'header' to use http headers.\n *\n * If not specified this value defaults to 'query'.\n */\n\n/**\n * @typedef {Object} module:Settings~UtcSynchronizationSettings\n * @property {number} [backgroundAttempts=2]\n * 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.\n *\n * The background requests are async and done in parallel to the start of the playback.\n *\n * This value is also used to perform a resync after 404 errors on segments.\n * @property {number} [timeBetweenSyncAttempts=30]\n * The time in seconds between two consecutive sync attempts.\n *\n * Note: This value is used as an initial starting value. The internal value of the TimeSyncController is adjusted during playback based on the drift between two consecutive synchronization attempts.\n *\n * Note: A sync is only performed after an MPD update. In case the @minimumUpdatePeriod is larger than this value the sync will be delayed until the next MPD update.\n * @property {number} [maximumTimeBetweenSyncAttempts=600]\n * The maximum time in seconds between two consecutive sync attempts.\n *\n * @property {number} [minimumTimeBetweenSyncAttempts=2]\n * The minimum time in seconds between two consecutive sync attempts.\n *\n * @property {number} [timeBetweenSyncAttemptsAdjustmentFactor=2]\n * The factor used to multiply or divide the timeBetweenSyncAttempts parameter after a sync. The maximumAllowedDrift defines whether this value is used as a factor or a dividend.\n *\n * @property {number} [maximumAllowedDrift=100]\n * The maximum allowed drift specified in milliseconds between two consecutive synchronization attempts.\n *\n * @property {boolean} [enableBackgroundSyncAfterSegmentDownloadError=true]\n * Enables or disables the background sync after the player ran into a segment download error.\n *\n * @property {object} [defaultTimingSource={scheme:'urn:mpeg:dash:utc:http-xsdate:2014',value: 'http://time.akamai.com/?iso&ms'}]\n * The default timing source to be used. The timing sources in the MPD take precedence over this one.\n */\n\n/**\n * @typedef {Object} module:Settings~LiveCatchupSettings\n * @property {number} [minDrift=0.02]\n * Use this method to set the minimum latency deviation allowed before activating catch-up mechanism.\n *\n * 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 increases/decreases playback rate until target latency is reached.\n *\n * LowLatencyMinDrift should be provided in seconds, and it uses values between 0.0 and 0.5.\n *\n * Note: Catch-up mechanism is only applied when playing low latency live streams.\n * @property {number} [maxDrift=0]\n * Use this method to set the maximum latency deviation allowed before dash.js to do a seeking to live position.\n *\n * 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.\n *\n * LowLatencyMaxDriftBeforeSeeking should be provided in seconds.\n *\n * If 0, then seeking operations won't be used for fixing latency deviations.\n *\n * Note: Catch-up mechanism is only applied when playing low latency live streams.\n * @property {number} [playbackRate=0.5]\n * Use this parameter to set the maximum catch up rate, as a percentage, for low latency live streams.\n *\n * In low latency mode, when measured latency is higher/lower than the target one, dash.js increases/decreases playback rate respectively up to (+/-) the percentage defined with this method until target is reached.\n *\n * Valid values for catch up rate are in range 0-0.5 (0-50%).\n *\n * Set it to 0 to turn off live catch up feature.\n *\n * Note: Catch-up mechanism is only applied when playing low latency live streams.\n * @property {number} [latencyThreshold=NaN]\n * Use this parameter to set the maximum threshold for which live catch up is applied.\n *\n * For instance, if this value is set to 8 seconds, then live catchup is only applied if the current live latency is equal or below 8 seconds.\n *\n * The reason behind this parameter is to avoid an increase of the playback rate if the user seeks within the DVR window.\n *\n * If no value is specified this will be twice the maximum live delay.\n *\n * The maximum live delay is either specified in the manifest as part of a ServiceDescriptor or calculated the following:\n * maximumLiveDelay = targetDelay + liveCatchupMinDrift.\n *\n * @property {number} [playbackBufferMin=NaN]\n * Use this parameter to specify the minimum buffer which is used for LoL+ based playback rate reduction.\n *\n *\n * @property {boolean} [enabled=false]\n * Use this parameter to enable the catchup mode for non low-latency streams.\n *\n * @property {string} [mode=\"liveCatchupModeDefault\"]\n * Use this parameter to switch between different catchup modes.\n *\n * Options: \"liveCatchupModeDefault\" or \"liveCatchupModeLOLP\".\n *\n * Note: Catch-up mechanism is automatically applied when playing low latency live streams.\n */\n\n\n/**\n * @class\n * @ignore\n */\nfunction Settings() {\n let instance;\n\n /**\n * @const {PlayerSettings} defaultSettings\n * @ignore\n */\n const defaultSettings = {\n debug: {\n logLevel: Debug.LOG_LEVEL_WARNING,\n dispatchEvent: false\n },\n streaming: {\n metricsMaxListDepth: 1000,\n abandonLoadTimeout: 10000,\n liveDelayFragmentCount: NaN,\n liveDelay: null,\n scheduleWhilePaused: true,\n fastSwitchEnabled: false,\n flushBufferAtTrackSwitch: false,\n calcSegmentAvailabilityRangeFromTimeline: false,\n reuseExistingSourceBuffers: true,\n bufferPruningInterval: 10,\n bufferToKeep: 20,\n jumpGaps: true,\n jumpLargeGaps: true,\n smallGapLimit: 1.5,\n stableBufferTime: 12,\n bufferTimeAtTopQuality: 30,\n bufferTimeAtTopQualityLongForm: 60,\n longFormContentDurationThreshold: 600,\n wallclockTimeUpdateInterval: 50,\n lowLatencyEnabled: false,\n keepProtectionMediaKeys: false,\n useManifestDateHeaderTimeSource: true,\n useSuggestedPresentationDelay: true,\n useAppendWindow: true,\n manifestUpdateRetryInterval: 100,\n stallThreshold: 0.5,\n filterUnsupportedEssentialProperties: true,\n eventControllerRefreshDelay: 100,\n utcSynchronization: {\n backgroundAttempts: 2,\n timeBetweenSyncAttempts: 30,\n maximumTimeBetweenSyncAttempts: 600,\n minimumTimeBetweenSyncAttempts: 2,\n timeBetweenSyncAttemptsAdjustmentFactor: 2,\n maximumAllowedDrift: 100,\n enableBackgroundSyncAfterSegmentDownloadError: true,\n defaultTimingSource: {\n scheme: 'urn:mpeg:dash:utc:http-xsdate:2014',\n value: 'http://time.akamai.com/?iso&ms'\n }\n },\n liveCatchup: {\n minDrift: 0.02,\n maxDrift: 0,\n playbackRate: 0.5,\n latencyThreshold: 60,\n playbackBufferMin: 0.5,\n enabled: false,\n mode: Constants.LIVE_CATCHUP_MODE_DEFAULT\n },\n lastBitrateCachingInfo: { enabled: true, ttl: 360000 },\n lastMediaSettingsCachingInfo: { enabled: true, ttl: 360000 },\n cacheLoadThresholds: { video: 50, audio: 5 },\n trackSwitchMode: {\n audio: Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE,\n video: Constants.TRACK_SWITCH_MODE_NEVER_REPLACE\n },\n selectionModeForInitialTrack: Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE,\n fragmentRequestTimeout: 0,\n retryIntervals: {\n [HTTPRequest.MPD_TYPE]: 500,\n [HTTPRequest.XLINK_EXPANSION_TYPE]: 500,\n [HTTPRequest.MEDIA_SEGMENT_TYPE]: 1000,\n [HTTPRequest.INIT_SEGMENT_TYPE]: 1000,\n [HTTPRequest.BITSTREAM_SWITCHING_SEGMENT_TYPE]: 1000,\n [HTTPRequest.INDEX_SEGMENT_TYPE]: 1000,\n [HTTPRequest.MSS_FRAGMENT_INFO_SEGMENT_TYPE]: 1000,\n [HTTPRequest.OTHER_TYPE]: 1000,\n lowLatencyReductionFactor: 10\n },\n retryAttempts: {\n [HTTPRequest.MPD_TYPE]: 3,\n [HTTPRequest.XLINK_EXPANSION_TYPE]: 1,\n [HTTPRequest.MEDIA_SEGMENT_TYPE]: 3,\n [HTTPRequest.INIT_SEGMENT_TYPE]: 3,\n [HTTPRequest.BITSTREAM_SWITCHING_SEGMENT_TYPE]: 3,\n [HTTPRequest.INDEX_SEGMENT_TYPE]: 3,\n [HTTPRequest.MSS_FRAGMENT_INFO_SEGMENT_TYPE]: 3,\n [HTTPRequest.OTHER_TYPE]: 3,\n lowLatencyMultiplyFactor: 5\n },\n abr: {\n movingAverageMethod: Constants.MOVING_AVERAGE_SLIDING_WINDOW,\n ABRStrategy: Constants.ABR_STRATEGY_DYNAMIC,\n bandwidthSafetyFactor: 0.9,\n useDefaultABRRules: true,\n useDeadTimeLatency: true,\n limitBitrateByPortal: false,\n usePixelRatioInLimitBitrateByPortal: false,\n maxBitrate: { audio: -1, video: -1 },\n minBitrate: { audio: -1, video: -1 },\n maxRepresentationRatio: { audio: 1, video: 1 },\n initialBitrate: { audio: -1, video: -1 },\n initialRepresentationRatio: { audio: -1, video: -1 },\n autoSwitchBitrate: { audio: true, video: true },\n fetchThroughputCalculationMode: Constants.ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA\n },\n cmcd: {\n enabled: false,\n sid: null,\n cid: null,\n rtp: null,\n rtpSafetyFactor: 5,\n mode: Constants.CMCD_MODE_QUERY\n }\n }\n };\n\n let settings = Utils.clone(defaultSettings);\n\n //Merge in the settings. If something exists in the new config that doesn't match the schema of the default config,\n //regard it as an error and log it.\n function mixinSettings(source, dest, path) {\n for (let n in source) {\n if (source.hasOwnProperty(n)) {\n if (dest.hasOwnProperty(n)) {\n if (typeof source[n] === 'object' && source[n] !== null) {\n mixinSettings(source[n], dest[n], path.slice() + n + '.');\n } else {\n dest[n] = Utils.clone(source[n]);\n }\n }\n }\n }\n }\n\n /**\n * Return the settings object. Don't copy/store this object, you won't get updates.\n * @func\n * @instance\n */\n function get() {\n return settings;\n }\n\n /**\n * @func\n * @instance\n * @param {object} settingsObj - This should be a partial object of the Settings.Schema type. That is, fields defined should match the path (e.g.\n * settingsObj.streaming.abr.autoSwitchBitrate.audio -> defaultSettings.streaming.abr.autoSwitchBitrate.audio). Where an element's path does\n * not match it is ignored, and a warning is logged.\n *\n * Use to change the settings object. Any new values defined will overwrite the settings and anything undefined will not change.\n * Implementers of new settings should add it in an approriate namespace to the defaultSettings object and give it a default value (that is not undefined).\n *\n */\n function update(settingsObj) {\n if (typeof settingsObj === 'object') {\n mixinSettings(settingsObj, settings, '');\n }\n }\n\n /**\n * Resets the settings object. Everything is set to its default value.\n * @func\n * @instance\n *\n */\n function reset() {\n settings = Utils.clone(defaultSettings);\n }\n\n instance = {\n get: get,\n update: update,\n reset: reset\n };\n\n return instance;\n}\n\n\nSettings.__dashjs_factory_name = 'Settings';\nlet factory = FactoryMaker.getSingletonFactory(Settings);\nexport default factory;\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\n/**\n * @class\n * @ignore\n */\n\nclass Utils {\n static mixin(dest, source, copy) {\n let s;\n let empty = {};\n if (dest) {\n for (let name in source) {\n if (source.hasOwnProperty(name)) {\n s = source[name];\n if (!(name in dest) || (dest[name] !== s && (!(name in empty) || empty[name] !== s))) {\n if (typeof dest[name] === 'object' && dest[name] !== null) {\n dest[name] = Utils.mixin(dest[name], s, copy);\n } else {\n dest[name] = copy(s);\n }\n }\n }\n }\n }\n return dest;\n }\n\n static clone(src) {\n if (!src || typeof src !== 'object') {\n return src; // anything\n }\n let r;\n if (src instanceof Array) {\n // array\n r = [];\n for (let i = 0, l = src.length; i < l; ++i) {\n if (i in src) {\n r.push(Utils.clone(src[i]));\n }\n }\n } else {\n r = {};\n }\n return Utils.mixin(r, src, Utils.clone);\n }\n\n static addAditionalQueryParameterToUrl(url, params) {\n try {\n if (!params || params.length === 0) {\n return url;\n }\n\n let modifiedUrl = new URL(url);\n\n params.forEach((param) => {\n if (param.key && param.value) {\n modifiedUrl.searchParams.set(param.key, param.value);\n }\n });\n\n return modifiedUrl.href;\n\n\n } catch (e) {\n return url;\n }\n }\n\n static parseHttpHeaders (headerStr) {\n let headers = {};\n if (!headerStr) {\n return headers;\n }\n\n // Trim headerStr to fix a MS Edge bug with xhr.getAllResponseHeaders method\n // which send a string starting with a \"\\n\" character\n let headerPairs = headerStr.trim().split('\\u000d\\u000a');\n for (let i = 0, ilen = headerPairs.length; i < ilen; i++) {\n let headerPair = headerPairs[i];\n let index = headerPair.indexOf('\\u003a\\u0020');\n if (index > 0) {\n headers[headerPair.substring(0, index)] = headerPair.substring(index + 2);\n }\n }\n return headers;\n }\n\n static generateUuid() {\n let dt = new Date().getTime();\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (dt + Math.random() * 16) % 16 | 0;\n dt = Math.floor(dt / 16);\n return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\n });\n return uuid;\n }\n\n static generateHashCode(string) {\n let hash = 0;\n\n if (string.length === 0) {\n return hash;\n }\n\n for (let i = 0; i < string.length; i++) {\n const chr = string.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash;\n }\n}\n\nexport default Utils;\n", - "const VERSION = '3.2.1';\nexport function getVersionString() {\n return VERSION;\n}\n", + "const VERSION = '3.2.2';\nexport function getVersionString() {\n return VERSION;\n}\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 */\nimport ErrorsBase from './ErrorsBase';\n/**\n * Errors declaration\n * @class\n */\nclass Errors extends ErrorsBase {\n constructor () {\n super();\n /**\n * Error code returned when a manifest parsing error occurs\n */\n this.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE = 10;\n /**\n * Error code returned when a manifest loading error occurs\n */\n this.MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE = 11;\n /**\n * Error code returned when a xlink loading error occurs\n */\n this.XLINK_LOADER_LOADING_FAILURE_ERROR_CODE = 12;\n /**\n * Error code returned when the update of segments list has failed\n */\n this.SEGMENTS_UPDATE_FAILED_ERROR_CODE = 13;\n this.SEGMENTS_UNAVAILABLE_ERROR_CODE = 14;\n this.SEGMENT_BASE_LOADER_ERROR_CODE = 15;\n this.TIME_SYNC_FAILED_ERROR_CODE = 16;\n this.FRAGMENT_LOADER_LOADING_FAILURE_ERROR_CODE = 17;\n this.FRAGMENT_LOADER_NULL_REQUEST_ERROR_CODE = 18;\n this.URL_RESOLUTION_FAILED_GENERIC_ERROR_CODE = 19;\n this.APPEND_ERROR_CODE = 20;\n this.REMOVE_ERROR_CODE = 21;\n this.DATA_UPDATE_FAILED_ERROR_CODE = 22;\n /**\n * Error code returned when MediaSource is not supported by the browser\n */\n this.CAPABILITY_MEDIASOURCE_ERROR_CODE = 23;\n /**\n * Error code returned when Protected contents are not supported\n */\n this.CAPABILITY_MEDIAKEYS_ERROR_CODE = 24;\n\n this.DOWNLOAD_ERROR_ID_MANIFEST_CODE = 25;\n\n this.DOWNLOAD_ERROR_ID_SIDX_CODE = 26;\n this.DOWNLOAD_ERROR_ID_CONTENT_CODE = 27;\n\n this.DOWNLOAD_ERROR_ID_INITIALIZATION_CODE = 28;\n\n this.DOWNLOAD_ERROR_ID_XLINK_CODE = 29;\n\n this.MANIFEST_ERROR_ID_CODEC_CODE = 30;\n this.MANIFEST_ERROR_ID_PARSE_CODE = 31;\n\n /**\n * Error code returned when no stream (period) has been detected in the manifest\n */\n this.MANIFEST_ERROR_ID_NOSTREAMS_CODE = 32;\n /**\n * Error code returned when something wrong has append during subtitles parsing (TTML or VTT)\n */\n this.TIMED_TEXT_ERROR_ID_PARSE_CODE = 33;\n /**\n * Error code returned when a 'muxed' media type has been detected in the manifest. This type is not supported\n */\n this.MANIFEST_ERROR_ID_MULTIPLEXED_CODE = 34;\n /**\n * Error code returned when a media source type is not supported\n */\n this.MEDIASOURCE_TYPE_UNSUPPORTED_CODE = 35;\n\n this.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE = 'parsing failed for ';\n this.MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE = 'Failed loading manifest: ';\n this.XLINK_LOADER_LOADING_FAILURE_ERROR_MESSAGE = 'Failed loading Xlink element: ';\n this.SEGMENTS_UPDATE_FAILED_ERROR_MESSAGE = 'Segments update failed';\n this.SEGMENTS_UNAVAILABLE_ERROR_MESSAGE = 'no segments are available yet';\n this.SEGMENT_BASE_LOADER_ERROR_MESSAGE = 'error loading segments';\n this.TIME_SYNC_FAILED_ERROR_MESSAGE = 'Failed to synchronize time';\n this.FRAGMENT_LOADER_NULL_REQUEST_ERROR_MESSAGE = 'request is null';\n this.URL_RESOLUTION_FAILED_GENERIC_ERROR_MESSAGE = 'Failed to resolve a valid URL';\n this.APPEND_ERROR_MESSAGE = 'chunk is not defined';\n this.REMOVE_ERROR_MESSAGE = 'buffer is not defined';\n this.DATA_UPDATE_FAILED_ERROR_MESSAGE = 'Data update failed';\n\n this.CAPABILITY_MEDIASOURCE_ERROR_MESSAGE = 'mediasource is not supported';\n this.CAPABILITY_MEDIAKEYS_ERROR_MESSAGE = 'mediakeys is not supported';\n this.TIMED_TEXT_ERROR_MESSAGE_PARSE = 'parsing error :';\n this.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE = 'Error creating source buffer of type : ';\n }\n}\n\nlet errors = new Errors();\nexport default errors;", "/**\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/**\n * @class\n * @ignore\n */\nclass ErrorsBase {\n extend (errors, config) {\n if (!errors) return;\n\n let override = config ? config.override : false;\n let publicOnly = config ? config.publicOnly : false;\n\n\n for (const err in errors) {\n if (!errors.hasOwnProperty(err) || (this[err] && !override)) continue;\n if (publicOnly && errors[err].indexOf('public_') === -1) continue;\n this[err] = errors[err];\n\n }\n }\n}\n\nexport default ErrorsBase;", "/**\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 */\nimport EventsBase from './EventsBase';\n\n/**\n * These are internal events that should not be needed at the player level.\n * If you find and event in here that you would like access to from MediaPlayer level\n * please add an issue at https://github.com/Dash-Industry-Forum/dash.js/issues/new\n * @class\n * @ignore\n */\nclass CoreEvents extends EventsBase {\n constructor () {\n super();\n this.ATTEMPT_BACKGROUND_SYNC = 'attemptBackgroundSync';\n this.BUFFERING_COMPLETED = 'bufferingCompleted';\n this.BUFFER_CLEARED = 'bufferCleared';\n this.BUFFER_LEVEL_UPDATED = 'bufferLevelUpdated';\n this.BYTES_APPENDED = 'bytesAppended';\n this.BYTES_APPENDED_END_FRAGMENT = 'bytesAppendedEndFragment';\n this.CHECK_FOR_EXISTENCE_COMPLETED = 'checkForExistenceCompleted';\n this.CURRENT_TRACK_CHANGED = 'currentTrackChanged';\n this.DATA_UPDATE_COMPLETED = 'dataUpdateCompleted';\n this.DATA_UPDATE_STARTED = 'dataUpdateStarted';\n this.INBAND_EVENTS = 'inbandEvents';\n this.INITIALIZATION_LOADED = 'initializationLoaded';\n this.INIT_FRAGMENT_LOADED = 'initFragmentLoaded';\n this.INIT_FRAGMENT_NEEDED = 'initFragmentNeeded';\n this.INTERNAL_MANIFEST_LOADED = 'internalManifestLoaded';\n this.ORIGINAL_MANIFEST_LOADED = 'originalManifestLoaded';\n this.LIVE_EDGE_SEARCH_COMPLETED = 'liveEdgeSearchCompleted';\n this.LOADING_COMPLETED = 'loadingCompleted';\n this.LOADING_PROGRESS = 'loadingProgress';\n this.LOADING_DATA_PROGRESS = 'loadingDataProgress';\n this.LOADING_ABANDONED = 'loadingAborted';\n this.MANIFEST_UPDATED = 'manifestUpdated';\n this.MEDIA_FRAGMENT_LOADED = 'mediaFragmentLoaded';\n this.MEDIA_FRAGMENT_NEEDED = 'mediaFragmentNeeded';\n this.QUOTA_EXCEEDED = 'quotaExceeded';\n this.REPRESENTATION_UPDATE_STARTED = 'representationUpdateStarted';\n this.REPRESENTATION_UPDATE_COMPLETED = 'representationUpdateCompleted';\n this.SEGMENTS_LOADED = 'segmentsLoaded';\n this.SERVICE_LOCATION_BLACKLIST_ADD = 'serviceLocationBlacklistAdd';\n this.SERVICE_LOCATION_BLACKLIST_CHANGED = 'serviceLocationBlacklistChanged';\n this.SOURCEBUFFER_REMOVE_COMPLETED = 'sourceBufferRemoveCompleted';\n this.STREAMS_COMPOSED = 'streamsComposed';\n this.STREAM_BUFFERING_COMPLETED = 'streamBufferingCompleted';\n this.STREAM_COMPLETED = 'streamCompleted';\n this.TEXT_TRACKS_QUEUE_INITIALIZED = 'textTracksQueueInitialized';\n this.TIME_SYNCHRONIZATION_COMPLETED = 'timeSynchronizationComplete';\n this.UPDATE_TIME_SYNC_OFFSET = 'updateTimeSyncOffset';\n this.URL_RESOLUTION_FAILED = 'urlResolutionFailed';\n this.VIDEO_CHUNK_RECEIVED = 'videoChunkReceived';\n this.WALLCLOCK_TIME_UPDATED = 'wallclockTimeUpdated';\n this.XLINK_ELEMENT_LOADED = 'xlinkElementLoaded';\n this.XLINK_READY = 'xlinkReady';\n this.SEGMENTBASE_INIT_REQUEST_NEEDED = 'segmentBaseInitRequestNeeded';\n this.SEGMENTBASE_SEGMENTSLIST_REQUEST_NEEDED = 'segmentBaseSegmentsListRequestNeeded';\n this.SEEK_TARGET = 'seekTarget';\n }\n}\n\nexport default CoreEvents;\n", @@ -369,32 +369,32 @@ "/**\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/**\n * @class\n * @ignore\n */\nclass StreamInfo {\n constructor() {\n this.id = null;\n this.index = null;\n this.start = NaN;\n this.duration = NaN;\n this.manifestInfo = null;\n this.isLast = true;\n }\n}\n\nexport default StreamInfo;", "/**\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/**\n * @class\n * @ignore\n */\nclass UTCTiming {\n constructor() {\n // UTCTiming is a DescriptorType and doesn't have any additional fields\n this.schemeIdUri = '';\n this.value = '';\n }\n}\n\nexport default UTCTiming;", "/**\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 */\nimport Constants from './constants/Constants';\nimport URLLoader from './net/URLLoader';\nimport HeadRequest from './vo/HeadRequest';\nimport DashJSError from './vo/DashJSError';\nimport FactoryMaker from '../core/FactoryMaker';\n\nfunction FragmentLoader(config) {\n\n config = config || {};\n const context = this.context;\n const eventBus = config.eventBus;\n const events = config.events;\n const urlUtils = config.urlUtils;\n const errors = config.errors;\n\n let instance,\n urlLoader;\n\n function setup() {\n urlLoader = URLLoader(context).create({\n errHandler: config.errHandler,\n errors: errors,\n dashMetrics: config.dashMetrics,\n mediaPlayerModel: config.mediaPlayerModel,\n requestModifier: config.requestModifier,\n useFetch: config.settings.get().streaming.lowLatencyEnabled,\n urlUtils: urlUtils,\n constants: Constants,\n boxParser: config.boxParser,\n dashConstants: config.dashConstants,\n requestTimeout: config.settings.get().streaming.fragmentRequestTimeout\n });\n }\n\n function checkForExistence(request) {\n const report = function (success) {\n eventBus.trigger(events.CHECK_FOR_EXISTENCE_COMPLETED, {\n request: request,\n exists: success\n }\n );\n };\n\n if (request) {\n let headRequest = new HeadRequest(request.url);\n urlLoader.load({\n request: headRequest,\n success: function () {\n report(true);\n },\n error: function () {\n report(false);\n }\n });\n } else {\n report(false);\n }\n }\n\n function load(request) {\n const report = function (data, error) {\n eventBus.trigger(events.LOADING_COMPLETED, {\n request: request,\n response: data || null,\n error: error || null,\n sender: instance\n });\n };\n\n if (request) {\n urlLoader.load({\n request: request,\n progress: function (event) {\n eventBus.trigger(events.LOADING_PROGRESS, {\n request: request,\n stream: event.stream\n });\n if (event.data) {\n eventBus.trigger(events.LOADING_DATA_PROGRESS, {\n request: request,\n response: event.data || null,\n error: null,\n sender: instance\n });\n }\n },\n success: function (data) {\n report(data);\n },\n error: function (request, statusText, errorText) {\n report(\n undefined,\n new DashJSError(\n errors.FRAGMENT_LOADER_LOADING_FAILURE_ERROR_CODE,\n errorText,\n statusText\n )\n );\n },\n abort: function (request) {\n if (request) {\n eventBus.trigger(events.LOADING_ABANDONED, {\n mediaType: request.mediaType,\n request: request,\n sender: instance\n });\n }\n }\n });\n } else {\n report(\n undefined,\n new DashJSError(\n errors.FRAGMENT_LOADER_NULL_REQUEST_ERROR_CODE,\n errors.FRAGMENT_LOADER_NULL_REQUEST_ERROR_MESSAGE\n )\n );\n }\n }\n\n function abort() {\n if (urlLoader) {\n urlLoader.abort();\n }\n }\n\n function reset() {\n if (urlLoader) {\n urlLoader.abort();\n urlLoader = null;\n }\n }\n\n instance = {\n checkForExistence: checkForExistence,\n load: load,\n abort: abort,\n reset: reset\n };\n\n setup();\n\n return instance;\n}\n\nFragmentLoader.__dashjs_factory_name = 'FragmentLoader';\nexport default FactoryMaker.getClassFactory(FragmentLoader);\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 */\nimport Constants from './constants/Constants';\nimport DashConstants from '../dash/constants/DashConstants';\nimport XlinkController from './controllers/XlinkController';\nimport URLLoader from './net/URLLoader';\nimport URLUtils from './utils/URLUtils';\nimport TextRequest from './vo/TextRequest';\nimport DashJSError from './vo/DashJSError';\nimport {HTTPRequest} from './vo/metrics/HTTPRequest';\nimport EventBus from '../core/EventBus';\nimport Events from '../core/events/Events';\nimport Errors from '../core/errors/Errors';\nimport FactoryMaker from '../core/FactoryMaker';\nimport DashParser from '../dash/parser/DashParser';\n\nfunction ManifestLoader(config) {\n\n config = config || {};\n const context = this.context;\n const debug = config.debug;\n const eventBus = EventBus(context).getInstance();\n const urlUtils = URLUtils(context).getInstance();\n\n let instance,\n logger,\n urlLoader,\n xlinkController,\n parser;\n\n let mssHandler = config.mssHandler;\n let errHandler = config.errHandler;\n\n function setup() {\n logger = debug.getLogger(instance);\n eventBus.on(Events.XLINK_READY, onXlinkReady, instance);\n\n urlLoader = URLLoader(context).create({\n errHandler: config.errHandler,\n dashMetrics: config.dashMetrics,\n mediaPlayerModel: config.mediaPlayerModel,\n requestModifier: config.requestModifier,\n useFetch: config.settings.get().streaming.lowLatencyEnabled,\n urlUtils: urlUtils,\n constants: Constants,\n dashConstants: DashConstants,\n errors: Errors\n });\n\n xlinkController = XlinkController(context).create({\n errHandler: errHandler,\n dashMetrics: config.dashMetrics,\n mediaPlayerModel: config.mediaPlayerModel,\n requestModifier: config.requestModifier,\n settings: config.settings\n });\n\n parser = null;\n }\n\n function onXlinkReady(event) {\n eventBus.trigger(Events.INTERNAL_MANIFEST_LOADED, { manifest: event.manifest });\n }\n\n function createParser(data) {\n let parser = null;\n // Analyze manifest content to detect protocol and select appropriate parser\n if (data.indexOf('SmoothStreamingMedia') > -1) {\n //do some business to transform it into a Dash Manifest\n if (mssHandler) {\n parser = mssHandler.createMssParser();\n mssHandler.registerEvents();\n }\n return parser;\n } else if (data.indexOf('MPD') > -1 || data.indexOf('Patch') > -1) {\n return DashParser(context).create({debug: debug});\n } else {\n return parser;\n }\n }\n\n function load(url) {\n\n const request = new TextRequest(url, HTTPRequest.MPD_TYPE);\n\n urlLoader.load({\n request: request,\n success: function (data, textStatus, responseURL) {\n // Manage situations in which success is called after calling reset\n if (!xlinkController) return;\n\n let actualUrl,\n baseUri,\n manifest;\n\n // Handle redirects for the MPD - as per RFC3986 Section 5.1.3\n // also handily resolves relative MPD URLs to absolute\n if (responseURL && responseURL !== url) {\n baseUri = urlUtils.parseBaseUrl(responseURL);\n actualUrl = responseURL;\n } else {\n // usually this case will be caught and resolved by\n // responseURL above but it is not available for IE11 and Edge/12 and Edge/13\n // baseUri must be absolute for BaseURL resolution later\n if (urlUtils.isRelative(url)) {\n url = urlUtils.resolve(url, window.location.href);\n }\n\n baseUri = urlUtils.parseBaseUrl(url);\n }\n\n // A response of no content implies in-memory is properly up to date\n if (textStatus == 'No Content') {\n eventBus.trigger(\n Events.INTERNAL_MANIFEST_LOADED, {\n manifest: null\n }\n );\n return;\n }\n\n // Create parser according to manifest type\n if (parser === null) {\n parser = createParser(data);\n }\n\n if (parser === null) {\n eventBus.trigger(Events.INTERNAL_MANIFEST_LOADED, {\n manifest: null,\n error: new DashJSError(\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE + `${url}`\n )\n });\n return;\n }\n\n // init xlinkcontroller with matchers and iron object from created parser\n xlinkController.setMatchers(parser.getMatchers());\n xlinkController.setIron(parser.getIron());\n\n try {\n manifest = parser.parse(data);\n } catch (e) {\n eventBus.trigger(Events.INTERNAL_MANIFEST_LOADED, {\n manifest: null,\n error: new DashJSError(\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE + `${url}`\n )\n });\n return;\n }\n\n if (manifest) {\n manifest.url = actualUrl || url;\n\n // URL from which the MPD was originally retrieved (MPD updates will not change this value)\n if (!manifest.originalUrl) {\n manifest.originalUrl = manifest.url;\n }\n\n // In the following, we only use the first Location entry even if many are available\n // Compare with ManifestUpdater/DashManifestModel\n if (manifest.hasOwnProperty(Constants.LOCATION)) {\n baseUri = urlUtils.parseBaseUrl(manifest.Location_asArray[0]);\n logger.debug('BaseURI set by Location to: ' + baseUri);\n }\n\n manifest.baseUri = baseUri;\n manifest.loadedTime = new Date();\n xlinkController.resolveManifestOnLoad(manifest);\n\n eventBus.trigger(Events.ORIGINAL_MANIFEST_LOADED, { originalManifest: data });\n } else {\n eventBus.trigger(Events.INTERNAL_MANIFEST_LOADED, {\n manifest: null,\n error: new DashJSError(\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE + `${url}`\n )\n });\n }\n },\n error: function (request, statusText, errorText) {\n eventBus.trigger(Events.INTERNAL_MANIFEST_LOADED, {\n manifest: null,\n error: new DashJSError(\n Errors.MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE,\n Errors.MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE + `${url}, ${errorText}`\n )\n });\n }\n });\n }\n\n function reset() {\n eventBus.off(Events.XLINK_READY, onXlinkReady, instance);\n\n if (xlinkController) {\n xlinkController.reset();\n xlinkController = null;\n }\n\n if (urlLoader) {\n urlLoader.abort();\n urlLoader = null;\n }\n\n if (mssHandler) {\n mssHandler.reset();\n }\n }\n\n instance = {\n load: load,\n reset: reset\n };\n\n setup();\n\n return instance;\n}\n\nManifestLoader.__dashjs_factory_name = 'ManifestLoader';\n\nconst factory = FactoryMaker.getClassFactory(ManifestLoader);\nexport default factory;\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 */\nimport Constants from './constants/Constants';\nimport DashConstants from '../dash/constants/DashConstants';\nimport XlinkController from './controllers/XlinkController';\nimport URLLoader from './net/URLLoader';\nimport URLUtils from './utils/URLUtils';\nimport TextRequest from './vo/TextRequest';\nimport DashJSError from './vo/DashJSError';\nimport {HTTPRequest} from './vo/metrics/HTTPRequest';\nimport EventBus from '../core/EventBus';\nimport Events from '../core/events/Events';\nimport Errors from '../core/errors/Errors';\nimport FactoryMaker from '../core/FactoryMaker';\nimport DashParser from '../dash/parser/DashParser';\n\nfunction ManifestLoader(config) {\n\n config = config || {};\n const context = this.context;\n const debug = config.debug;\n const eventBus = EventBus(context).getInstance();\n const urlUtils = URLUtils(context).getInstance();\n\n let instance,\n logger,\n urlLoader,\n xlinkController,\n parser;\n\n let mssHandler = config.mssHandler;\n let errHandler = config.errHandler;\n\n function setup() {\n logger = debug.getLogger(instance);\n eventBus.on(Events.XLINK_READY, onXlinkReady, instance);\n\n urlLoader = URLLoader(context).create({\n errHandler: config.errHandler,\n dashMetrics: config.dashMetrics,\n mediaPlayerModel: config.mediaPlayerModel,\n requestModifier: config.requestModifier,\n useFetch: config.settings.get().streaming.lowLatencyEnabled,\n urlUtils: urlUtils,\n constants: Constants,\n dashConstants: DashConstants,\n errors: Errors\n });\n\n xlinkController = XlinkController(context).create({\n errHandler: errHandler,\n dashMetrics: config.dashMetrics,\n mediaPlayerModel: config.mediaPlayerModel,\n requestModifier: config.requestModifier,\n settings: config.settings\n });\n\n parser = null;\n }\n\n function onXlinkReady(event) {\n eventBus.trigger(Events.INTERNAL_MANIFEST_LOADED, { manifest: event.manifest });\n }\n\n function createParser(data) {\n let parser = null;\n // Analyze manifest content to detect protocol and select appropriate parser\n if (data.indexOf('SmoothStreamingMedia') > -1) {\n //do some business to transform it into a Dash Manifest\n if (mssHandler) {\n parser = mssHandler.createMssParser();\n mssHandler.registerEvents();\n }\n return parser;\n } else if (data.indexOf('MPD') > -1 || data.indexOf('Patch') > -1) {\n return DashParser(context).create({debug: debug});\n } else {\n return parser;\n }\n }\n\n function load(url) {\n\n const request = new TextRequest(url, HTTPRequest.MPD_TYPE);\n\n urlLoader.load({\n request: request,\n success: function (data, textStatus, responseURL) {\n // Manage situations in which success is called after calling reset\n if (!xlinkController) return;\n\n let actualUrl,\n baseUri,\n manifest;\n\n // Handle redirects for the MPD - as per RFC3986 Section 5.1.3\n // also handily resolves relative MPD URLs to absolute\n if (responseURL && responseURL !== url) {\n baseUri = urlUtils.parseBaseUrl(responseURL);\n actualUrl = responseURL;\n } else {\n // usually this case will be caught and resolved by\n // responseURL above but it is not available for IE11 and Edge/12 and Edge/13\n // baseUri must be absolute for BaseURL resolution later\n if (urlUtils.isRelative(url)) {\n url = urlUtils.resolve(url, window.location.href);\n }\n\n baseUri = urlUtils.parseBaseUrl(url);\n }\n\n // A response of no content implies in-memory is properly up to date\n if (textStatus == 'No Content') {\n eventBus.trigger(\n Events.INTERNAL_MANIFEST_LOADED, {\n manifest: null\n }\n );\n return;\n }\n\n // Create parser according to manifest type\n if (parser === null) {\n parser = createParser(data);\n }\n\n if (parser === null) {\n eventBus.trigger(Events.INTERNAL_MANIFEST_LOADED, {\n manifest: null,\n error: new DashJSError(\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE + `${url}`\n )\n });\n return;\n }\n\n // init xlinkcontroller with matchers and iron object from created parser\n xlinkController.setMatchers(parser.getMatchers());\n xlinkController.setIron(parser.getIron());\n\n try {\n manifest = parser.parse(data);\n } catch (e) {\n eventBus.trigger(Events.INTERNAL_MANIFEST_LOADED, {\n manifest: null,\n error: new DashJSError(\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE + `${url}`\n )\n });\n return;\n }\n\n if (manifest) {\n manifest.url = actualUrl || url;\n\n // URL from which the MPD was originally retrieved (MPD updates will not change this value)\n if (!manifest.originalUrl) {\n manifest.originalUrl = manifest.url;\n }\n\n // In the following, we only use the first Location entry even if many are available\n // Compare with ManifestUpdater/DashManifestModel\n if (manifest.hasOwnProperty(Constants.LOCATION)) {\n baseUri = urlUtils.parseBaseUrl(manifest.Location_asArray[0]);\n logger.debug('BaseURI set by Location to: ' + baseUri);\n }\n\n manifest.baseUri = baseUri;\n manifest.loadedTime = new Date();\n xlinkController.resolveManifestOnLoad(manifest);\n\n eventBus.trigger(Events.ORIGINAL_MANIFEST_LOADED, { originalManifest: data });\n } else {\n eventBus.trigger(Events.INTERNAL_MANIFEST_LOADED, {\n manifest: null,\n error: new DashJSError(\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,\n Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE + `${url}`\n )\n });\n }\n },\n error: function (request, statusText, errorText) {\n eventBus.trigger(Events.INTERNAL_MANIFEST_LOADED, {\n manifest: null,\n error: new DashJSError(\n Errors.MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE,\n Errors.MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE + `${url}, ${errorText}`\n )\n });\n }\n });\n }\n\n function reset() {\n eventBus.off(Events.XLINK_READY, onXlinkReady, instance);\n\n if (mssHandler) {\n mssHandler.reset();\n }\n\n if (xlinkController) {\n xlinkController.reset();\n xlinkController = null;\n }\n\n if (urlLoader) {\n urlLoader.abort();\n urlLoader = null;\n }\n }\n\n instance = {\n load: load,\n reset: reset\n };\n\n setup();\n\n return instance;\n}\n\nManifestLoader.__dashjs_factory_name = 'ManifestLoader';\n\nconst factory = FactoryMaker.getClassFactory(ManifestLoader);\nexport default factory;\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 */\nimport EventBus from '../core/EventBus';\nimport Events from '../core/events/Events';\nimport FactoryMaker from '../core/FactoryMaker';\nimport Debug from '../core/Debug';\nimport Errors from '../core/errors/Errors';\nimport DashConstants from '../dash/constants/DashConstants';\nimport URLUtils from './utils/URLUtils';\n\nfunction ManifestUpdater() {\n\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n const urlUtils = URLUtils(context).getInstance();\n\n let instance,\n logger,\n refreshDelay,\n refreshTimer,\n isPaused,\n isStopped,\n isUpdating,\n manifestLoader,\n manifestModel,\n adapter,\n errHandler,\n settings;\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n }\n\n function setConfig(config) {\n if (!config) return;\n\n if (config.manifestModel) {\n manifestModel = config.manifestModel;\n }\n if (config.adapter) {\n adapter = config.adapter;\n }\n if (config.manifestLoader) {\n manifestLoader = config.manifestLoader;\n }\n if (config.errHandler) {\n errHandler = config.errHandler;\n }\n if (config.settings) {\n settings = config.settings;\n }\n }\n\n function initialize() {\n resetInitialSettings();\n\n eventBus.on(Events.STREAMS_COMPOSED, onStreamsComposed, this);\n eventBus.on(Events.PLAYBACK_STARTED, onPlaybackStarted, this);\n eventBus.on(Events.PLAYBACK_PAUSED, onPlaybackPaused, this);\n eventBus.on(Events.INTERNAL_MANIFEST_LOADED, onManifestLoaded, this);\n }\n\n function setManifest(manifest) {\n update(manifest);\n }\n\n function resetInitialSettings() {\n refreshDelay = NaN;\n isUpdating = false;\n isPaused = true;\n isStopped = false;\n stopManifestRefreshTimer();\n }\n\n function reset() {\n\n eventBus.off(Events.PLAYBACK_STARTED, onPlaybackStarted, this);\n eventBus.off(Events.PLAYBACK_PAUSED, onPlaybackPaused, this);\n eventBus.off(Events.STREAMS_COMPOSED, onStreamsComposed, this);\n eventBus.off(Events.INTERNAL_MANIFEST_LOADED, onManifestLoaded, this);\n\n resetInitialSettings();\n }\n\n function stopManifestRefreshTimer() {\n if (refreshTimer !== null) {\n clearTimeout(refreshTimer);\n refreshTimer = null;\n }\n }\n\n function startManifestRefreshTimer(delay) {\n stopManifestRefreshTimer();\n\n if (isStopped) {\n return;\n }\n\n if (isNaN(delay) && !isNaN(refreshDelay)) {\n delay = refreshDelay * 1000;\n }\n\n if (!isNaN(delay)) {\n logger.debug('Refresh manifest in ' + delay + ' milliseconds.');\n refreshTimer = setTimeout(onRefreshTimer, delay);\n }\n }\n\n function refreshManifest(ignorePatch = false) {\n isUpdating = true;\n const manifest = manifestModel.getValue();\n\n // default to the original url in the manifest\n let url = manifest.url;\n\n // Check for PatchLocation and Location alternatives\n const patchLocation = adapter.getPatchLocation(manifest);\n const location = adapter.getLocation(manifest);\n if (patchLocation && !ignorePatch) {\n url = patchLocation;\n } else if (location) {\n url = location;\n }\n\n // if one of the alternatives was relative, convert to absolute\n if (urlUtils.isRelative(url)) {\n url = urlUtils.resolve(url, manifest.url);\n }\n\n manifestLoader.load(url);\n }\n\n function update(manifest) {\n if (!manifest) {\n // successful update with no content implies existing manifest remains valid\n manifest = manifestModel.getValue();\n\n // override load time to avoid invalid latency tracking and ensure update cadence\n manifest.loadedTime = new Date();\n } else if (adapter.getIsPatch(manifest)) {\n // with patches the in-memory manifest is our base\n let patch = manifest;\n manifest = manifestModel.getValue();\n\n // check for patch validity\n let isPatchValid = adapter.isPatchValid(manifest, patch);\n let patchSuccessful = isPatchValid;\n\n if (isPatchValid) {\n // grab publish time before update\n let publishTime = adapter.getPublishTime(manifest);\n\n // apply validated patch to manifest\n patchSuccessful = adapter.applyPatchToManifest(manifest, patch);\n\n // get the updated publish time\n let updatedPublishTime = adapter.getPublishTime(manifest);\n\n // ensure the patch properly updated the in-memory publish time\n patchSuccessful = publishTime.getTime() != updatedPublishTime.getTime();\n }\n\n // if the patch failed to apply, force a full manifest refresh\n if (!patchSuccessful) {\n logger.debug('Patch provided is invalid, performing full manifest refresh');\n refreshManifest(true);\n return;\n }\n\n // override load time to avoid invalid latency tracking and ensure update cadence\n manifest.loadedTime = new Date();\n }\n\n // See DASH-IF IOP v4.3 section 4.6.4 \"Transition Phase between Live and On-Demand\"\n // Stop manifest update, ignore static manifest and signal end of dynamic stream to detect end of stream\n if (manifestModel.getValue() && manifestModel.getValue().type === DashConstants.DYNAMIC && manifest.type === DashConstants.STATIC) {\n eventBus.trigger(Events.DYNAMIC_TO_STATIC);\n isUpdating = false;\n isStopped = true;\n return;\n }\n\n manifestModel.setValue(manifest);\n\n const date = new Date();\n const latencyOfLastUpdate = (date.getTime() - manifest.loadedTime.getTime()) / 1000;\n refreshDelay = adapter.getManifestUpdatePeriod(manifest, latencyOfLastUpdate);\n // setTimeout uses a 32 bit number to store the delay. Any number greater than it\n // will cause event associated with setTimeout to trigger immediately\n if (refreshDelay * 1000 > 0x7FFFFFFF) {\n refreshDelay = 0x7FFFFFFF / 1000;\n }\n eventBus.trigger(Events.MANIFEST_UPDATED, { manifest: manifest });\n logger.info('Manifest has been refreshed at ' + date + '[' + date.getTime() / 1000 + '] ');\n\n if (!isPaused) {\n startManifestRefreshTimer();\n }\n }\n\n function onRefreshTimer() {\n if (isPaused) {\n return;\n }\n if (isUpdating) {\n startManifestRefreshTimer(settings.get().streaming.manifestUpdateRetryInterval);\n return;\n }\n refreshManifest();\n }\n\n function onManifestLoaded(e) {\n if (!e.error) {\n update(e.manifest);\n } else if (e.error.code === Errors.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE) {\n errHandler.error(e.error);\n }\n }\n\n function onPlaybackStarted (/*e*/) {\n isPaused = false;\n startManifestRefreshTimer();\n }\n\n function onPlaybackPaused(/*e*/) {\n isPaused = !settings.get().streaming.scheduleWhilePaused;\n\n if (isPaused) {\n stopManifestRefreshTimer();\n }\n }\n\n function onStreamsComposed(/*e*/) {\n // When streams are ready we can consider manifest update completed. Resolve the update promise.\n isUpdating = false;\n }\n\n instance = {\n initialize: initialize,\n setManifest: setManifest,\n refreshManifest: refreshManifest,\n setConfig: setConfig,\n reset: reset\n };\n\n setup();\n return instance;\n}\nManifestUpdater.__dashjs_factory_name = 'ManifestUpdater';\nexport default FactoryMaker.getClassFactory(ManifestUpdater);\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 */\nimport cea608parser from '../../externals/cea608-parser';\nimport Constants from './constants/Constants';\nimport DashConstants from '../dash/constants/DashConstants';\nimport MetricsConstants from './constants/MetricsConstants';\nimport PlaybackController from './controllers/PlaybackController';\nimport StreamController from './controllers/StreamController';\nimport GapController from './controllers/GapController';\nimport MediaController from './controllers/MediaController';\nimport BaseURLController from './controllers/BaseURLController';\nimport ManifestLoader from './ManifestLoader';\nimport ErrorHandler from './utils/ErrorHandler';\nimport Capabilities from './utils/Capabilities';\nimport CapabilitiesFilter from './utils/CapabilitiesFilter';\nimport TextTracks from './text/TextTracks';\nimport RequestModifier from './utils/RequestModifier';\nimport TextController from './text/TextController';\nimport URIFragmentModel from './models/URIFragmentModel';\nimport ManifestModel from './models/ManifestModel';\nimport MediaPlayerModel from './models/MediaPlayerModel';\nimport AbrController from './controllers/AbrController';\nimport SchemeLoaderFactory from './net/SchemeLoaderFactory';\nimport VideoModel from './models/VideoModel';\nimport CmcdModel from './models/CmcdModel';\nimport DOMStorage from './utils/DOMStorage';\nimport Debug from './../core/Debug';\nimport Errors from './../core/errors/Errors';\nimport EventBus from './../core/EventBus';\nimport Events from './../core/events/Events';\nimport MediaPlayerEvents from './MediaPlayerEvents';\nimport FactoryMaker from '../core/FactoryMaker';\nimport Settings from '../core/Settings';\nimport {\n getVersionString\n}\n from './../core/Version';\n\n//Dash\nimport SegmentBaseController from '../dash/controllers/SegmentBaseController';\nimport DashAdapter from '../dash/DashAdapter';\nimport DashMetrics from '../dash/DashMetrics';\nimport TimelineConverter from '../dash/utils/TimelineConverter';\nimport {\n HTTPRequest\n} from './vo/metrics/HTTPRequest';\nimport BASE64 from '../../externals/base64';\nimport ISOBoxer from 'codem-isoboxer';\nimport DashJSError from './vo/DashJSError';\nimport {checkParameterType} from './utils/SupervisorTools';\nimport ManifestUpdater from './ManifestUpdater';\nimport URLUtils from '../streaming/utils/URLUtils';\nimport BoxParser from './utils/BoxParser';\n\n/* jscs:disable */\n/**\n * The media types\n * @typedef {(\"video\" | \"audio\" | \"text\" | \"fragmentedText\" | \"embeddedText\" | \"image\")} MediaType\n */\n\n/* jscs:enable */\n\n/**\n * @module MediaPlayer\n * @description The MediaPlayer is the primary dash.js Module and a Facade to build your player around.\n * It will allow you access to all the important dash.js properties/methods via the public API and all the\n * events to build a robust DASH media player.\n */\nfunction MediaPlayer() {\n /**\n * @constant {string} STREAMING_NOT_INITIALIZED_ERROR error string thrown when a function is called before the dash.js has been fully initialized\n * @inner\n */\n const STREAMING_NOT_INITIALIZED_ERROR = 'You must first call initialize() and set a source before calling this method';\n /**\n * @constant {string} PLAYBACK_NOT_INITIALIZED_ERROR error string thrown when a function is called before the dash.js has been fully initialized\n * @inner\n */\n const PLAYBACK_NOT_INITIALIZED_ERROR = 'You must first call initialize() and set a valid source and view before calling this method';\n /**\n * @constant {string} ELEMENT_NOT_ATTACHED_ERROR error string thrown when a function is called before the dash.js has received a reference of an HTML5 video element\n * @inner\n */\n const ELEMENT_NOT_ATTACHED_ERROR = 'You must first call attachView() to set the video element before calling this method';\n /**\n * @constant {string} SOURCE_NOT_ATTACHED_ERROR error string thrown when a function is called before the dash.js has received a valid source stream.\n * @inner\n */\n const SOURCE_NOT_ATTACHED_ERROR = 'You must first call attachSource() with a valid source before calling this method';\n /**\n * @constant {string} MEDIA_PLAYER_NOT_INITIALIZED_ERROR error string thrown when a function is called before the dash.js has been fully initialized.\n * @inner\n */\n const MEDIA_PLAYER_NOT_INITIALIZED_ERROR = 'MediaPlayer not initialized!';\n\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n let settings = Settings(context).getInstance();\n const debug = Debug(context).getInstance({ settings: settings });\n\n let instance,\n logger,\n source,\n protectionData,\n mediaPlayerInitialized,\n streamingInitialized,\n playbackInitialized,\n autoPlay,\n abrController,\n schemeLoaderFactory,\n timelineConverter,\n mediaController,\n protectionController,\n metricsReportingController,\n mssHandler,\n offlineController,\n adapter,\n mediaPlayerModel,\n errHandler,\n baseURLController,\n capabilities,\n capabilitiesFilter,\n streamController,\n gapController,\n playbackController,\n dashMetrics,\n manifestModel,\n cmcdModel,\n videoModel,\n textController,\n uriFragmentModel,\n domStorage,\n segmentBaseController,\n licenseRequestFilters,\n licenseResponseFilters;\n\n /*\n ---------------------------------------------------------------------------\n\n INIT FUNCTIONS\n\n ---------------------------------------------------------------------------\n */\n function setup() {\n logger = debug.getLogger(instance);\n mediaPlayerInitialized = false;\n playbackInitialized = false;\n streamingInitialized = false;\n autoPlay = true;\n protectionController = null;\n offlineController = null;\n protectionData = null;\n adapter = null;\n segmentBaseController = null;\n Events.extend(MediaPlayerEvents);\n mediaPlayerModel = MediaPlayerModel(context).getInstance();\n videoModel = VideoModel(context).getInstance();\n uriFragmentModel = URIFragmentModel(context).getInstance();\n licenseRequestFilters = [];\n licenseResponseFilters = [];\n }\n\n /**\n * Configure media player with customs controllers. Helpful for tests\n *\n * @param {object=} config controllers configuration\n * @memberof module:MediaPlayer\n * @instance\n */\n function setConfig(config) {\n if (!config) {\n return;\n }\n if (config.capabilities) {\n capabilities = config.capabilities;\n }\n if (config.capabilitiesFilter) {\n capabilitiesFilter = config.capabilitiesFilter;\n }\n if (config.streamController) {\n streamController = config.streamController;\n }\n if (config.gapController) {\n gapController = config.gapController;\n }\n if (config.playbackController) {\n playbackController = config.playbackController;\n }\n if (config.mediaPlayerModel) {\n mediaPlayerModel = config.mediaPlayerModel;\n }\n if (config.abrController) {\n abrController = config.abrController;\n }\n if (config.schemeLoaderFactory) {\n schemeLoaderFactory = config.schemeLoaderFactory;\n }\n if (config.mediaController) {\n mediaController = config.mediaController;\n }\n if (config.settings) {\n settings = config.settings;\n }\n }\n\n /**\n * Upon creating the MediaPlayer you must call initialize before you call anything else.\n * There is one exception to this rule. It is crucial to call {@link module:MediaPlayer#extend extend()}\n * with all your extensions prior to calling initialize.\n *\n * ALL arguments are optional and there are individual methods to set each argument later on.\n * The args in this method are just for convenience and should only be used for a simple player setup.\n *\n * @param {HTML5MediaElement=} view - Optional arg to set the video element. {@link module:MediaPlayer#attachView attachView()}\n * @param {string=} source - Optional arg to set the media source. {@link module:MediaPlayer#attachSource attachSource()}\n * @param {boolean=} AutoPlay - Optional arg to set auto play. {@link module:MediaPlayer#setAutoPlay setAutoPlay()}\n * @see {@link module:MediaPlayer#attachView attachView()}\n * @see {@link module:MediaPlayer#attachSource attachSource()}\n * @see {@link module:MediaPlayer#setAutoPlay setAutoPlay()}\n * @memberof module:MediaPlayer\n * @instance\n */\n function initialize(view, source, AutoPlay) {\n if (!capabilities) {\n capabilities = Capabilities(context).getInstance();\n }\n\n errHandler = ErrorHandler(context).getInstance();\n\n if (!capabilities.supportsMediaSource()) {\n errHandler.error(new DashJSError(Errors.CAPABILITY_MEDIASOURCE_ERROR_CODE, Errors.CAPABILITY_MEDIASOURCE_ERROR_MESSAGE));\n return;\n }\n\n if (mediaPlayerInitialized) return;\n mediaPlayerInitialized = true;\n\n // init some controllers and models\n timelineConverter = TimelineConverter(context).getInstance();\n if (!abrController) {\n abrController = AbrController(context).getInstance();\n abrController.setConfig({\n settings: settings\n });\n }\n\n if (!schemeLoaderFactory) {\n schemeLoaderFactory = SchemeLoaderFactory(context).getInstance();\n }\n\n if (!playbackController) {\n playbackController = PlaybackController(context).getInstance();\n }\n\n if (!mediaController) {\n mediaController = MediaController(context).getInstance();\n }\n\n if (!streamController) {\n streamController = StreamController(context).getInstance();\n }\n\n if (!gapController) {\n gapController = GapController(context).getInstance();\n }\n\n if (!capabilitiesFilter) {\n capabilitiesFilter = CapabilitiesFilter(context).getInstance();\n }\n\n adapter = DashAdapter(context).getInstance();\n\n manifestModel = ManifestModel(context).getInstance();\n\n cmcdModel = CmcdModel(context).getInstance();\n\n dashMetrics = DashMetrics(context).getInstance({\n settings: settings\n });\n textController = TextController(context).getInstance();\n domStorage = DOMStorage(context).getInstance({\n settings: settings\n });\n\n adapter.setConfig({\n constants: Constants,\n cea608parser: cea608parser,\n errHandler: errHandler,\n BASE64: BASE64\n });\n\n if (!baseURLController) {\n baseURLController = BaseURLController(context).create();\n }\n\n baseURLController.setConfig({\n adapter: adapter\n });\n\n\n segmentBaseController = SegmentBaseController(context).getInstance({\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n errHandler: errHandler,\n baseURLController: baseURLController,\n events: Events,\n eventBus: eventBus,\n debug: debug,\n boxParser: BoxParser(context).getInstance(),\n requestModifier: RequestModifier(context).getInstance(),\n errors: Errors\n });\n\n segmentBaseController.initialize();\n\n // configure controllers\n mediaController.setConfig({\n domStorage: domStorage,\n settings: settings\n });\n\n restoreDefaultUTCTimingSources();\n setAutoPlay(AutoPlay !== undefined ? AutoPlay : true);\n\n // Detect and initialize offline module to support offline contents playback\n detectOffline();\n\n if (view) {\n attachView(view);\n }\n\n if (source) {\n attachSource(source);\n }\n\n logger.info('[dash.js ' + getVersion() + '] ' + 'MediaPlayer has been initialized');\n }\n\n /**\n * Sets the MPD source and the video element to null. You can also reset the MediaPlayer by\n * calling attachSource with a new source file.\n *\n * This call does not destroy the MediaPlayer. To destroy the MediaPlayer and free all of its\n * memory, call destroy().\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function reset() {\n attachSource(null);\n attachView(null);\n protectionData = null;\n if (protectionController) {\n protectionController.reset();\n protectionController = null;\n }\n if (metricsReportingController) {\n metricsReportingController.reset();\n metricsReportingController = null;\n }\n\n segmentBaseController.reset();\n\n settings.reset();\n\n if (offlineController) {\n offlineController.reset();\n offlineController = null;\n }\n }\n\n /**\n * Completely destroys the media player and frees all memory.\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function destroy() {\n reset();\n licenseRequestFilters = [];\n licenseResponseFilters = [];\n FactoryMaker.deleteSingletonInstances(context);\n }\n\n /**\n * The ready state of the MediaPlayer based on both the video element and MPD source being defined.\n *\n * @returns {boolean} The current ready state of the MediaPlayer\n * @see {@link module:MediaPlayer#attachView attachView()}\n * @see {@link module:MediaPlayer#attachSource attachSource()}\n * @memberof module:MediaPlayer\n * @instance\n */\n function isReady() {\n return (!!source && !!videoModel.getElement());\n }\n\n /**\n * Use the on method to listen for public events found in MediaPlayer.events. {@link MediaPlayerEvents}\n *\n * @param {string} type - {@link MediaPlayerEvents}\n * @param {Function} listener - callback method when the event fires.\n * @param {Object} scope - context of the listener so it can be removed properly.\n * @param {Object} options - object to define various options such as priority and mode\n * @memberof module:MediaPlayer\n * @instance\n */\n function on(type, listener, scope, options) {\n eventBus.on(type, listener, scope, options);\n }\n\n /**\n * Use the off method to remove listeners for public events found in MediaPlayer.events. {@link MediaPlayerEvents}\n *\n * @param {string} type - {@link MediaPlayerEvents}\n * @param {Function} listener - callback method when the event fires.\n * @param {Object} scope - context of the listener so it can be removed properly.\n * @memberof module:MediaPlayer\n * @instance\n */\n function off(type, listener, scope) {\n eventBus.off(type, listener, scope);\n }\n\n /**\n * Current version of Dash.js\n * @returns {string} the current dash.js version string.\n * @memberof module:MediaPlayer\n * @instance\n */\n function getVersion() {\n return getVersionString();\n }\n\n /**\n * Use this method to access the dash.js logging class.\n *\n * @returns {Debug}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getDebug() {\n return debug;\n }\n\n /*\n ---------------------------------------------------------------------------\n\n PLAYBACK FUNCTIONS\n\n ---------------------------------------------------------------------------\n */\n\n /**\n * Causes the player to begin streaming the media as set by the {@link module:MediaPlayer#attachSource attachSource()}\n * method in preparation for playing. It specifically does not require a view to be attached with {@link module:MediaPlayer#attachSource attachView()} to begin preloading.\n * When a view is attached after preloading, the buffered data is transferred to the attached mediaSource buffers.\n *\n * @see {@link module:MediaPlayer#attachSource attachSource()}\n * @see {@link module:MediaPlayer#attachView attachView()}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~SOURCE_NOT_ATTACHED_ERROR SOURCE_NOT_ATTACHED_ERROR} if called before attachSource function\n * @instance\n */\n function preload() {\n if (videoModel.getElement() || streamingInitialized) {\n return false;\n }\n if (source) {\n initializePlayback();\n } else {\n throw SOURCE_NOT_ATTACHED_ERROR;\n }\n }\n\n /**\n * The play method initiates playback of the media defined by the {@link module:MediaPlayer#attachSource attachSource()} method.\n * This method will call play on the native Video Element.\n *\n * @see {@link module:MediaPlayer#attachSource attachSource()}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function play() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n if (!autoPlay || (isPaused() && playbackInitialized)) {\n playbackController.play();\n }\n }\n\n /**\n * This method will call pause on the native Video Element.\n *\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function pause() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n playbackController.pause();\n }\n\n /**\n * Returns a Boolean that indicates whether the Video Element is paused.\n * @return {boolean}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function isPaused() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n return playbackController.isPaused();\n }\n\n /**\n * Sets the currentTime property of the attached video element. If it is a live stream with a\n * timeShiftBufferLength, then the DVR window offset will be automatically calculated.\n *\n * @param {number} value - A relative time, in seconds, based on the return value of the {@link module:MediaPlayer#duration duration()} method is expected\n * @see {@link module:MediaPlayer#getDVRSeekOffset getDVRSeekOffset()}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with an invalid argument, not number type or is NaN.\n * @memberof module:MediaPlayer\n * @instance\n */\n function seek(value) {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n\n checkParameterType(value, 'number');\n\n if (isNaN(value)) {\n throw Constants.BAD_ARGUMENT_ERROR;\n }\n\n let s = playbackController.getIsDynamic() ? getDVRSeekOffset(value) : value;\n playbackController.seek(s);\n }\n\n /**\n * Returns a Boolean that indicates whether the media is in the process of seeking to a new position.\n * @return {boolean}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function isSeeking() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n return playbackController.isSeeking();\n }\n\n /**\n * Returns a Boolean that indicates whether the media is in the process of dynamic.\n * @return {boolean}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function isDynamic() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n return playbackController.getIsDynamic();\n }\n\n /**\n * Use this method to set the native Video Element's playback rate.\n * @param {number} value\n * @memberof module:MediaPlayer\n * @instance\n */\n function setPlaybackRate(value) {\n getVideoElement().playbackRate = value;\n }\n\n /**\n * Returns the current playback rate.\n * @returns {number}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getPlaybackRate() {\n return getVideoElement().playbackRate;\n }\n\n /**\n * Use this method to set the native Video Element's muted state. Takes a Boolean that determines whether audio is muted. true if the audio is muted and false otherwise.\n * @param {boolean} value\n * @memberof module:MediaPlayer\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with an invalid argument, not boolean type.\n * @instance\n */\n function setMute(value) {\n checkParameterType(value, 'boolean');\n getVideoElement().muted = value;\n }\n\n /**\n * A Boolean that determines whether audio is muted.\n * @returns {boolean}\n * @memberof module:MediaPlayer\n * @instance\n */\n function isMuted() {\n return getVideoElement().muted;\n }\n\n /**\n * A double indicating the audio volume, from 0.0 (silent) to 1.0 (loudest).\n * @param {number} value\n * @memberof module:MediaPlayer\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with an invalid argument, not number type, or is NaN or not between 0 and 1.\n * @instance\n */\n function setVolume(value) {\n if (typeof value !== 'number' || isNaN(value) || value < 0.0 || value > 1.0) {\n throw Constants.BAD_ARGUMENT_ERROR;\n }\n getVideoElement().volume = value;\n }\n\n /**\n * Returns the current audio volume, from 0.0 (silent) to 1.0 (loudest).\n * @returns {number}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getVolume() {\n return getVideoElement().volume;\n }\n\n /**\n * The length of the buffer for a given media type, in seconds. Valid media\n * types are \"video\", \"audio\" and \"fragmentedText\". If no type is passed\n * in, then the minimum of video, audio and fragmentedText buffer length is\n * returned. NaN is returned if an invalid type is requested, the\n * presentation does not contain that type, or if no arguments are passed\n * and the presentation does not include any adaption sets of valid media\n * type.\n *\n * @param {MediaType} type - 'video', 'audio' or 'fragmentedText'\n * @returns {number} The length of the buffer for the given media type, in\n * seconds, or NaN\n * @memberof module:MediaPlayer\n * @instance\n */\n function getBufferLength(type) {\n const types = [Constants.VIDEO, Constants.AUDIO, Constants.FRAGMENTED_TEXT];\n if (!type) {\n const buffer = types.map(\n t => getTracksFor(t).length > 0 ? getDashMetrics().getCurrentBufferLevel(t) : Number.MAX_VALUE\n ).reduce(\n (p, c) => Math.min(p, c)\n );\n return buffer === Number.MAX_VALUE ? NaN : buffer;\n } else {\n if (types.indexOf(type) !== -1) {\n const buffer = getDashMetrics().getCurrentBufferLevel(type);\n return buffer ? buffer : NaN;\n } else {\n logger.warn('getBufferLength requested for invalid type');\n return NaN;\n }\n }\n }\n\n /**\n * The timeShiftBufferLength (DVR Window), in seconds.\n *\n * @returns {number} The window of allowable play time behind the live point of a live stream.\n * @memberof module:MediaPlayer\n * @instance\n */\n function getDVRWindowSize() {\n let metric = dashMetrics.getCurrentDVRInfo();\n if (!metric) {\n return 0;\n }\n return metric.manifestInfo.DVRWindowSize;\n }\n\n /**\n * This method should only be used with a live stream that has a valid timeShiftBufferLength (DVR Window).\n * NOTE - If you do not need the raw offset value (i.e. media analytics, tracking, etc) consider using the {@link module:MediaPlayer#seek seek()} method\n * which will calculate this value for you and set the video element's currentTime property all in one simple call.\n *\n * @param {number} value - A relative time, in seconds, based on the return value of the {@link module:MediaPlayer#duration duration()} method is expected.\n * @returns {number} A value that is relative the available range within the timeShiftBufferLength (DVR Window).\n * @see {@link module:MediaPlayer#seek seek()}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getDVRSeekOffset(value) {\n let metric = dashMetrics.getCurrentDVRInfo();\n if (!metric) {\n return 0;\n }\n\n let liveDelay = playbackController.getLiveDelay();\n\n let val = metric.range.start + value;\n\n if (val > (metric.range.end - liveDelay)) {\n val = metric.range.end - liveDelay;\n }\n\n return val;\n }\n\n /**\n * Current time of the playhead, in seconds.\n *\n * If called with no arguments then the returned time value is time elapsed since the start point of the first stream, or if it is a live stream, then the time will be based on the return value of the {@link module:MediaPlayer#duration duration()} method.\n * However if a stream ID is supplied then time is relative to the start of that stream, or is null if there is no such stream id in the manifest.\n *\n * @param {string} streamId - The ID of a stream that the returned playhead time must be relative to the start of. If undefined, then playhead time is relative to the first stream.\n * @returns {number} The current playhead time of the media, or null.\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function time(streamId) {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n let t = getVideoElement().currentTime;\n\n if (streamId !== undefined) {\n t = streamController.getTimeRelativeToStreamId(t, streamId);\n } else if (playbackController.getIsDynamic()) {\n let metric = dashMetrics.getCurrentDVRInfo();\n t = (metric === null) ? 0 : duration() - (metric.range.end - metric.time);\n }\n\n return t;\n }\n\n /**\n * Duration of the media's playback, in seconds.\n *\n * @returns {number} The current duration of the media.\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function duration() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n let d = getVideoElement().duration;\n\n if (playbackController.getIsDynamic()) {\n\n let metric = dashMetrics.getCurrentDVRInfo();\n let range;\n\n if (!metric) {\n return 0;\n }\n\n range = metric.range.end - metric.range.start;\n d = range < metric.manifestInfo.DVRWindowSize ? range : metric.manifestInfo.DVRWindowSize;\n }\n return d;\n }\n\n /**\n * Use this method to get the current playhead time as an absolute value, the time in seconds since midnight UTC, Jan 1 1970.\n * Note - this property only has meaning for live streams. If called before play() has begun, it will return a value of NaN.\n *\n * @returns {number} The current playhead time as UTC timestamp.\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function timeAsUTC() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n if (time() < 0) {\n return NaN;\n }\n return getAsUTC(time());\n }\n\n /**\n * Use this method to get the current duration as an absolute value, the time in seconds since midnight UTC, Jan 1 1970.\n * Note - this property only has meaning for live streams.\n *\n * @returns {number} The current duration as UTC timestamp.\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function durationAsUTC() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n return getAsUTC(duration());\n }\n\n /*\n ---------------------------------------------------------------------------\n\n AUTO BITRATE\n\n ---------------------------------------------------------------------------\n */\n /**\n * Gets the top quality BitrateInfo checking portal limit and max allowed.\n * It calls getTopQualityIndexFor internally\n *\n * @param {MediaType} type - 'video' or 'audio'\n * @memberof module:MediaPlayer\n * @returns {BitrateInfo | null}\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getTopBitrateInfoFor(type) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n return abrController.getTopBitrateInfoFor(type);\n }\n\n /**\n * Gets the current download quality for media type video, audio or images. For video and audio types the ABR\n * rules update this value before every new download unless setAutoSwitchQualityFor(type, false) is called. For 'image'\n * type, thumbnails, there is no ABR algorithm and quality is set manually.\n *\n * @param {MediaType} type - 'video', 'audio' or 'image' (thumbnails)\n * @returns {number} the quality index, 0 corresponding to the lowest bitrate\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#setAutoSwitchQualityFor setAutoSwitchQualityFor()}\n * @see {@link module:MediaPlayer#setQualityFor setQualityFor()}\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getQualityFor(type) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n if (type === Constants.IMAGE) {\n const activeStream = getActiveStream();\n if (!activeStream) {\n return -1;\n }\n const thumbnailController = activeStream.getThumbnailController();\n\n return !thumbnailController ? -1 : thumbnailController.getCurrentTrackIndex();\n }\n return abrController.getQualityFor(type);\n }\n\n /**\n * Sets the current quality for media type instead of letting the ABR Heuristics automatically selecting it.\n * This value will be overwritten by the ABR rules unless setAutoSwitchQualityFor(type, false) is called.\n *\n * @param {MediaType} type - 'video', 'audio' or 'image'\n * @param {number} value - the quality index, 0 corresponding to the lowest bitrate\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#setAutoSwitchQualityFor setAutoSwitchQualityFor()}\n * @see {@link module:MediaPlayer#getQualityFor getQualityFor()}\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function setQualityFor(type, value) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n if (type === Constants.IMAGE) {\n const activeStream = getActiveStream();\n if (!activeStream) {\n return;\n }\n const thumbnailController = activeStream.getThumbnailController();\n if (thumbnailController) {\n thumbnailController.setTrackByIndex(value);\n }\n }\n abrController.setPlaybackQuality(type, streamController.getActiveStreamInfo(), value);\n }\n\n /**\n * Update the video element size variables\n * Should be called on window resize (or any other time player is resized). Fullscreen does trigger a window resize event.\n *\n * Once windowResizeEventCalled = true, abrController.checkPortalSize() will use element size variables rather than querying clientWidth every time.\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function updatePortalSize() {\n abrController.setElementSize();\n abrController.setWindowResizeEventCalled(true);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n MEDIA PLAYER CONFIGURATION\n\n ---------------------------------------------------------------------------\n */\n /**\n *

Set to false to prevent stream from auto-playing when the view is attached.

\n *\n * @param {boolean} value\n * @default true\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#attachView attachView()}\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with an invalid argument, not boolean type.\n * @instance\n *\n */\n function setAutoPlay(value) {\n checkParameterType(value, 'boolean');\n autoPlay = value;\n }\n\n /**\n * @returns {boolean} The current autoPlay state.\n * @memberof module:MediaPlayer\n * @instance\n */\n function getAutoPlay() {\n return autoPlay;\n }\n\n /**\n * @memberof module:MediaPlayer\n * @instance\n * @returns {number|NaN} Current live stream latency in seconds. It is the difference between current time and time position at the playback head.\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n */\n function getCurrentLiveLatency() {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n\n if (!playbackInitialized) {\n return NaN;\n }\n\n return playbackController.getCurrentLiveLatency();\n }\n\n /**\n * Add a custom ABR Rule\n * Rule will be apply on next stream if a stream is being played\n *\n * @param {string} type - rule type (one of ['qualitySwitchRules','abandonFragmentRules'])\n * @param {string} rulename - name of rule (used to identify custom rule). If one rule of same name has been added, then existing rule will be updated\n * @param {object} rule - the rule object instance\n * @memberof module:MediaPlayer\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with invalid arguments.\n * @instance\n */\n function addABRCustomRule(type, rulename, rule) {\n mediaPlayerModel.addABRCustomRule(type, rulename, rule);\n }\n\n /**\n * Remove a custom ABR Rule\n *\n * @param {string} rulename - name of the rule to be removed\n * @memberof module:MediaPlayer\n * @instance\n */\n function removeABRCustomRule(rulename) {\n mediaPlayerModel.removeABRCustomRule(rulename);\n }\n\n /**\n * Remove all custom rules\n * @memberof module:MediaPlayer\n * @instance\n */\n function removeAllABRCustomRule() {\n mediaPlayerModel.removeABRCustomRule();\n }\n\n /**\n *

Allows you to set a scheme and server source for UTC live edge detection for dynamic streams.\n * If UTCTiming is defined in the manifest, it will take precedence over any time source manually added.

\n *

If you have exposed the Date header, use the method {@link module:MediaPlayer#clearDefaultUTCTimingSources clearDefaultUTCTimingSources()}.\n * This will allow the date header on the manifest to be used instead of a time server

\n * @param {string} schemeIdUri -
    \n *
  • urn:mpeg:dash:utc:http-head:2014
  • \n *
  • urn:mpeg:dash:utc:http-xsdate:2014
  • \n *
  • urn:mpeg:dash:utc:http-iso:2014
  • \n *
  • urn:mpeg:dash:utc:direct:2014
  • \n *
\n *

Some specs referencing early ISO23009-1 drafts incorrectly use\n * 2012 in the URI, rather than 2014. support these for now.

\n *
    \n *
  • urn:mpeg:dash:utc:http-head:2012
  • \n *
  • urn:mpeg:dash:utc:http-xsdate:2012
  • \n *
  • urn:mpeg:dash:utc:http-iso:2012
  • \n *
  • urn:mpeg:dash:utc:direct:2012
  • \n *
\n * @param {string} value - Path to a time source.\n * @default\n *
    \n *
  • schemeIdUri:urn:mpeg:dash:utc:http-xsdate:2014
  • \n *
  • value:http://time.akamai.com/?iso&ms/li>\n *
\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#removeUTCTimingSource removeUTCTimingSource()}\n * @instance\n */\n function addUTCTimingSource(schemeIdUri, value) {\n mediaPlayerModel.addUTCTimingSource(schemeIdUri, value);\n }\n\n /**\n *

Allows you to remove a UTC time source. Both schemeIdUri and value need to match the Dash.vo.UTCTiming properties in order for the\n * entry to be removed from the array

\n * @param {string} schemeIdUri - see {@link module:MediaPlayer#addUTCTimingSource addUTCTimingSource()}\n * @param {string} value - see {@link module:MediaPlayer#addUTCTimingSource addUTCTimingSource()}\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#clearDefaultUTCTimingSources clearDefaultUTCTimingSources()}\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with invalid arguments, schemeIdUri and value are not string type.\n * @instance\n */\n function removeUTCTimingSource(schemeIdUri, value) {\n mediaPlayerModel.removeUTCTimingSource(schemeIdUri, value);\n }\n\n /**\n *

Allows you to clear the stored array of time sources.

\n *

Example use: If you have exposed the Date header, calling this method\n * will allow the date header on the manifest to be used instead of the time server.

\n *

Example use: Calling this method, assuming there is not an exposed date header on the manifest, will default back\n * to using a binary search to discover the live edge

\n *\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#restoreDefaultUTCTimingSources restoreDefaultUTCTimingSources()}\n * @instance\n */\n function clearDefaultUTCTimingSources() {\n mediaPlayerModel.clearDefaultUTCTimingSources();\n }\n\n /**\n *

Allows you to restore the default time sources after calling {@link module:MediaPlayer#clearDefaultUTCTimingSources clearDefaultUTCTimingSources()}

\n *\n * @default\n *
    \n *
  • schemeIdUri:urn:mpeg:dash:utc:http-xsdate:2014
  • \n *
  • value:http://time.akamai.com/?iso&ms
  • \n *
\n *\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#addUTCTimingSource addUTCTimingSource()}\n * @instance\n */\n function restoreDefaultUTCTimingSources() {\n mediaPlayerModel.restoreDefaultUTCTimingSources();\n }\n\n /**\n * Returns the average throughput computed in the ABR logic\n *\n * @param {MediaType} type\n * @return {number} value\n * @memberof module:MediaPlayer\n * @instance\n */\n function getAverageThroughput(type) {\n const throughputHistory = abrController.getThroughputHistory();\n return throughputHistory ? throughputHistory.getAverageThroughput(type) : 0;\n }\n\n /**\n * Sets whether withCredentials on XHR requests for a particular request\n * type is true or false\n *\n * @default false\n * @param {string} type - one of HTTPRequest.*_TYPE\n * @param {boolean} value\n * @memberof module:MediaPlayer\n * @instance\n */\n function setXHRWithCredentialsForType(type, value) {\n mediaPlayerModel.setXHRWithCredentialsForType(type, value);\n }\n\n /**\n * Gets whether withCredentials on XHR requests for a particular request\n * type is true or false\n *\n * @param {string} type - one of HTTPRequest.*_TYPE\n * @return {boolean}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getXHRWithCredentialsForType(type) {\n return mediaPlayerModel.getXHRWithCredentialsForType(type);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n OFFLINE\n\n ---------------------------------------------------------------------------\n */\n\n /**\n * Detects if Offline is included and returns an instance of OfflineController.js\n * @memberof module:MediaPlayer\n * @instance\n */\n function getOfflineController() {\n return detectOffline();\n }\n\n /*\n ---------------------------------------------------------------------------\n\n METRICS\n\n ---------------------------------------------------------------------------\n */\n /**\n * Returns the DashMetrics.js Module. You use this Module to get access to all the public metrics\n * stored in dash.js\n *\n * @see {@link module:DashMetrics}\n * @returns {Object}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getDashMetrics() {\n return dashMetrics;\n }\n\n /*\n ---------------------------------------------------------------------------\n\n TEXT MANAGEMENT\n\n ---------------------------------------------------------------------------\n */\n /**\n * Set default language for text. If default language is not one of text tracks, dash will choose the first one.\n *\n * @param {string} lang - default language\n * @memberof module:MediaPlayer\n * @instance\n * @deprecated will be removed in version 3.2.0. Please use setInitialMediaSettingsFor(\"fragmentedText\", { lang: lang }) instead\n */\n function setTextDefaultLanguage(lang) {\n logger.warn('setTextDefaultLanguage is deprecated and will be removed in version 3.2.0. Please use setInitialMediaSettingsFor(\"fragmentedText\", { lang: lang }) instead');\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n textController.setTextDefaultLanguage(lang);\n }\n\n /**\n * Get default language for text.\n *\n * @return {string} the default language if it has been set using setTextDefaultLanguage\n * @memberof module:MediaPlayer\n * @instance\n * @deprecated will be removed in version 3.2.0. Please use getInitialMediaSettingsFor(\"fragmentedText\").lang instead\n */\n function getTextDefaultLanguage() {\n logger.warn('getTextDefaultLanguage is deprecated and will be removed in version 3.2.0. Please use getInitialMediaSettingsFor(\"fragmentedText\").lang instead');\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n return textController.getTextDefaultLanguage();\n }\n\n /**\n * Set enabled default state.\n * This is used to enable/disable text when a file is loaded.\n * During playback, use enableText to enable text for the file\n *\n * @param {boolean} enable - true to enable text, false otherwise\n * @memberof module:MediaPlayer\n * @instance\n */\n function setTextDefaultEnabled(enable) {\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n textController.setTextDefaultEnabled(enable);\n }\n\n /**\n * Get enabled default state.\n *\n * @return {boolean} default enable state\n * @memberof module:MediaPlayer\n * @instance\n */\n function getTextDefaultEnabled() {\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n return textController.getTextDefaultEnabled();\n }\n\n /**\n * Enable/disable text\n * When enabling text, dash will choose the previous selected text track\n *\n * @param {boolean} enable - true to enable text, false otherwise (same as setTextTrack(-1))\n * @memberof module:MediaPlayer\n * @instance\n */\n function enableText(enable) {\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n textController.enableText(enable);\n }\n\n /**\n * Enable/disable text\n * When enabling dash will keep downloading and process fragmented text tracks even if all tracks are in mode \"hidden\"\n *\n * @param {boolean} enable - true to enable text streaming even if all text tracks are hidden.\n * @memberof module:MediaPlayer\n * @instance\n */\n function enableForcedTextStreaming(enable) {\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n textController.enableForcedTextStreaming(enable);\n }\n\n /**\n * Return if text is enabled\n *\n * @return {boolean} return true if text is enabled, false otherwise\n * @memberof module:MediaPlayer\n * @instance\n */\n function isTextEnabled() {\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n return textController.isTextEnabled();\n }\n\n /**\n * Use this method to change the current text track for both external time text files and fragmented text tracks. There is no need to\n * set the track mode on the video object to switch a track when using this method.\n * @param {number} idx - Index of track based on the order of the order the tracks are added Use -1 to disable all tracks. (turn captions off). Use module:MediaPlayer#dashjs.MediaPlayer.events.TEXT_TRACK_ADDED.\n * @see {@link MediaPlayerEvents#event:TEXT_TRACK_ADDED dashjs.MediaPlayer.events.TEXT_TRACK_ADDED}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function setTextTrack(idx) {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n textController.setTextTrack(idx);\n }\n\n function getCurrentTextTrackIndex() {\n let idx = NaN;\n if (textController) {\n idx = textController.getCurrentTrackIdx();\n }\n return idx;\n }\n\n /**\n * This method serves to control captions z-index value. If 'true' is passed, the captions will have the highest z-index and be\n * displayed on top of other html elements. Default value is 'false' (z-index is not set).\n * @param {boolean} value\n * @memberof module:MediaPlayer\n * @instance\n */\n function displayCaptionsOnTop(value) {\n let textTracks = TextTracks(context).getInstance();\n textTracks.setConfig({\n videoModel: videoModel\n });\n textTracks.initialize();\n textTracks.setDisplayCConTop(value);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n VIDEO ELEMENT MANAGEMENT\n\n ---------------------------------------------------------------------------\n */\n\n /**\n * Returns instance of Video Element that was attached by calling attachView()\n * @returns {Object}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~ELEMENT_NOT_ATTACHED_ERROR ELEMENT_NOT_ATTACHED_ERROR} if called before attachView function\n * @instance\n */\n function getVideoElement() {\n if (!videoModel.getElement()) {\n throw ELEMENT_NOT_ATTACHED_ERROR;\n }\n return videoModel.getElement();\n }\n\n /**\n * Use this method to attach an HTML5 VideoElement for dash.js to operate upon.\n *\n * @param {Object} element - An HTMLMediaElement that has already been defined in the DOM (or equivalent stub).\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function attachView(element) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n\n videoModel.setElement(element);\n\n if (element) {\n detectProtection();\n detectMetricsReporting();\n detectMss();\n\n if (streamController) {\n streamController.switchToVideoElement();\n }\n }\n\n if (playbackInitialized) { //Reset if we have been playing before, so this is a new element.\n resetPlaybackControllers();\n }\n\n initializePlayback();\n }\n\n /**\n * Returns instance of Div that was attached by calling attachTTMLRenderingDiv()\n * @returns {Object}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getTTMLRenderingDiv() {\n return videoModel ? videoModel.getTTMLRenderingDiv() : null;\n }\n\n /**\n * Use this method to attach an HTML5 div for dash.js to render rich TTML subtitles.\n *\n * @param {HTMLDivElement} div - An unstyled div placed after the video element. It will be styled to match the video size and overlay z-order.\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~ELEMENT_NOT_ATTACHED_ERROR ELEMENT_NOT_ATTACHED_ERROR} if called before attachView function\n * @instance\n */\n function attachTTMLRenderingDiv(div) {\n if (!videoModel.getElement()) {\n throw ELEMENT_NOT_ATTACHED_ERROR;\n }\n videoModel.setTTMLRenderingDiv(div);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n STREAM AND TRACK MANAGEMENT\n\n ---------------------------------------------------------------------------\n */\n /**\n * @param {MediaType} type\n * @returns {Array}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getBitrateInfoListFor(type) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n let stream = getActiveStream();\n return stream ? stream.getBitrateListFor(type) : [];\n }\n\n /**\n * This method returns the list of all available streams from a given manifest\n * @param {Object} manifest\n * @returns {Array} list of {@link StreamInfo}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getStreamsFromManifest(manifest) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n return adapter.getStreamsInfo(manifest);\n }\n\n /**\n * This method returns the list of all available tracks for a given media type\n * @param {MediaType} type\n * @returns {Array} list of {@link MediaInfo}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getTracksFor(type) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n let streamInfo = streamController.getActiveStreamInfo();\n return mediaController.getTracksFor(type, streamInfo);\n }\n\n /**\n * This method returns the list of all available tracks for a given media type and streamInfo from a given manifest\n * @param {MediaType} type\n * @param {Object} manifest\n * @param {Object} streamInfo\n * @returns {Array} list of {@link MediaInfo}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getTracksForTypeFromManifest(type, manifest, streamInfo) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n\n streamInfo = streamInfo || adapter.getStreamsInfo(manifest, 1)[0];\n\n return streamInfo ? adapter.getAllMediaInfoForType(streamInfo, type, manifest) : [];\n }\n\n /**\n * @param {MediaType} type\n * @returns {Object|null} {@link MediaInfo}\n *\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getCurrentTrackFor(type) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n let streamInfo = streamController.getActiveStreamInfo();\n return mediaController.getCurrentTrackFor(type, streamInfo);\n }\n\n /**\n * This method allows to set media settings that will be used to pick the initial track. Format of the settings\n * is following:
\n * {lang: langValue (can be either a string or a regex to match),\n * index: indexValue,\n * viewpoint: viewpointValue,\n * audioChannelConfiguration: audioChannelConfigurationValue,\n * accessibility: accessibilityValue,\n * role: roleValue}\n *\n * @param {MediaType} type\n * @param {Object} value\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function setInitialMediaSettingsFor(type, value) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n mediaController.setInitialSettings(type, value);\n if (type === Constants.FRAGMENTED_TEXT) {\n textController.setInitialSettings(value);\n }\n }\n\n /**\n * This method returns media settings that is used to pick the initial track. Format of the settings\n * is following:\n * {lang: langValue,\n * index: indexValue,\n * viewpoint: viewpointValue,\n * audioChannelConfiguration: audioChannelConfigurationValue,\n * accessibility: accessibilityValue,\n * role: roleValue}\n * @param {MediaType} type\n * @returns {Object}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function getInitialMediaSettingsFor(type) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n return mediaController.getInitialSettings(type);\n }\n\n /**\n * @param {MediaInfo} track - instance of {@link MediaInfo}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function setCurrentTrack(track) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n mediaController.setTrack(track);\n }\n\n /**\n * This method returns the current track switch mode.\n *\n * @param {MediaType} type\n * @returns {string} mode\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function getTrackSwitchModeFor(type) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n return mediaController.getSwitchMode(type);\n }\n\n /**\n * This method sets the current track switch mode. Available options are:\n *\n * Constants.TRACK_SWITCH_MODE_NEVER_REPLACE\n * (used to forbid clearing the buffered data (prior to current playback position) after track switch.\n * Defers to fastSwitchEnabled for placement of new data. Default for video)\n *\n * Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE\n * (used to clear the buffered data (prior to current playback position) after track switch. Default for audio)\n *\n * @param {MediaType} type\n * @param {string} mode\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function setTrackSwitchModeFor(type, mode) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n mediaController.setSwitchMode(type, mode);\n }\n\n /**\n * This method sets the selection mode for the initial track. This mode defines how the initial track will be selected\n * if no initial media settings are set. If initial media settings are set this parameter will be ignored. Available options are:\n *\n * Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE\n * This mode makes the player select the track with a highest bitrate. This mode is a default mode.\n *\n * Constants.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY\n * This mode makes the player select the track with the lowest bitrate per pixel average.\n *\n * Constants.TRACK_SELECTION_MODE_WIDEST_RANGE\n * This mode makes the player select the track with a widest range of bitrates.\n *\n * @param {string} mode\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function setSelectionModeForInitialTrack(mode) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n mediaController.setSelectionModeForInitialTrack(mode);\n }\n\n /**\n * This method returns the track selection mode.\n *\n * @returns {string} mode\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function getSelectionModeForInitialTrack() {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n return mediaController.getSelectionModeForInitialTrack();\n }\n\n /*\n ---------------------------------------------------------------------------\n\n PROTECTION MANAGEMENT\n\n ---------------------------------------------------------------------------\n */\n\n /**\n * Detects if Protection is included and returns an instance of ProtectionController.js\n * @memberof module:MediaPlayer\n * @instance\n */\n function getProtectionController() {\n return detectProtection();\n }\n\n /**\n * Will override dash.js protection controller.\n * @param {ProtectionController} value - valid protection controller instance.\n * @memberof module:MediaPlayer\n * @instance\n */\n function attachProtectionController(value) {\n protectionController = value;\n }\n\n /**\n * Sets Protection Data required to setup the Protection Module (DRM). Protection Data must\n * be set before initializing MediaPlayer or, once initialized, before PROTECTION_CREATED event is fired.\n * @see {@link module:MediaPlayer#initialize initialize()}\n * @see {@link ProtectionEvents#event:PROTECTION_CREATED dashjs.Protection.events.PROTECTION_CREATED}\n * @param {ProtectionDataSet} value - object containing\n * property names corresponding to key system name strings and associated\n * values being instances of.\n * @memberof module:MediaPlayer\n * @instance\n */\n function setProtectionData(value) {\n protectionData = value;\n\n // Propagate changes in case StreamController is already created\n if (streamController) {\n streamController.setProtectionData(protectionData);\n }\n }\n\n /**\n * Registers a license request filter. This enables application to manipulate/overwrite any request parameter and/or request data.\n * The provided callback function shall return a promise that shall be resolved once the filter process is completed.\n * The filters are applied in the order they are registered.\n * @param {function} filter - the license request filter callback\n * @memberof module:MediaPlayer\n * @instance\n */\n function registerLicenseRequestFilter(filter) {\n licenseRequestFilters.push(filter);\n if (protectionController) {\n protectionController.setLicenseRequestFilters(licenseRequestFilters);\n }\n }\n\n /**\n * Registers a license response filter. This enables application to manipulate/overwrite the response data\n * The provided callback function shall return a promise that shall be resolved once the filter process is completed.\n * The filters are applied in the order they are registered.\n * @param {function} filter - the license response filter callback\n * @memberof module:MediaPlayer\n * @instance\n */\n function registerLicenseResponseFilter(filter) {\n licenseResponseFilters.push(filter);\n if (protectionController) {\n protectionController.setLicenseResponseFilters(licenseResponseFilters);\n }\n }\n\n /**\n * Unregisters a license request filter.\n * @param {function} filter - the license request filter callback\n * @memberof module:MediaPlayer\n * @instance\n */\n function unregisterLicenseRequestFilter(filter) {\n unregisterFilter(licenseRequestFilters, filter);\n if (protectionController) {\n protectionController.setLicenseRequestFilters(licenseRequestFilters);\n }\n }\n\n /**\n * Unregisters a license response filter.\n * @param {function} filter - the license response filter callback\n * @memberof module:MediaPlayer\n * @instance\n */\n function unregisterLicenseResponseFilter(filter) {\n unregisterFilter(licenseResponseFilters, filter);\n if (protectionController) {\n protectionController.setLicenseResponseFilters(licenseResponseFilters);\n }\n }\n\n function unregisterFilter(filters, filter) {\n let index = -1;\n filters.some((item, i) => {\n if (item === filter) {\n index = i;\n return true;\n }\n });\n if (index < 0) return;\n filters.splice(index, 1);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n THUMBNAILS MANAGEMENT\n\n ---------------------------------------------------------------------------\n */\n\n /**\n * Provide the thumbnail at time position. This can be asynchronous, so you must provide a callback ro retrieve thumbnails informations\n * @param {number} time - A relative time, in seconds, based on the return value of the {@link module:MediaPlayer#duration duration()} method is expected\n * @param {function} callback - A Callback function provided when retrieving thumbnail the given time position. Thumbnail object is null in case there are is not a thumbnails representation or\n * if it doesn't contain a thumbnail for the given time position.\n * @memberof module:MediaPlayer\n * @instance\n */\n function provideThumbnail(time, callback) {\n if (typeof callback !== 'function') {\n return;\n }\n if (time < 0) {\n callback(null);\n return;\n }\n const s = playbackController.getIsDynamic() ? getDVRSeekOffset(time) : time;\n const stream = streamController.getStreamForTime(s);\n if (stream === null) {\n callback(null);\n return;\n }\n\n const thumbnailController = stream.getThumbnailController();\n if (!thumbnailController) {\n callback(null);\n return;\n }\n\n const timeInPeriod = streamController.getTimeRelativeToStreamId(s, stream.getId());\n return thumbnailController.provide(timeInPeriod, callback);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n TOOLS AND OTHERS FUNCTIONS\n\n ---------------------------------------------------------------------------\n */\n /**\n * Allows application to retrieve a manifest. Manifest loading is asynchro\n * nous and\n * requires the app-provided callback function\n *\n * @param {string} url - url the manifest url\n * @param {function} callback - A Callback function provided when retrieving manifests\n * @memberof module:MediaPlayer\n * @instance\n */\n function retrieveManifest(url, callback) {\n let manifestLoader = createManifestLoader();\n let self = this;\n\n const handler = function (e) {\n if (!e.error) {\n callback(e.manifest);\n } else {\n callback(null, e.error);\n }\n eventBus.off(Events.INTERNAL_MANIFEST_LOADED, handler, self);\n manifestLoader.reset();\n };\n\n eventBus.on(Events.INTERNAL_MANIFEST_LOADED, handler, self);\n\n uriFragmentModel.initialize(url);\n manifestLoader.load(url);\n }\n\n /**\n * Returns the source string or manifest that was attached by calling attachSource()\n * @returns {string | manifest}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~SOURCE_NOT_ATTACHED_ERROR SOURCE_NOT_ATTACHED_ERROR} if called before attachSource function\n * @instance\n */\n function getSource() {\n if (!source) {\n throw SOURCE_NOT_ATTACHED_ERROR;\n }\n return source;\n }\n\n /**\n * Use this method to set a source URL to a valid MPD manifest file OR\n * a previously downloaded and parsed manifest object. Optionally, can\n * also provide protection information\n *\n * @param {string|Object} urlOrManifest - A URL to a valid MPD manifest file, or a\n * parsed manifest object.\n *\n *\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function attachSource(urlOrManifest) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n\n if (typeof urlOrManifest === 'string') {\n uriFragmentModel.initialize(urlOrManifest);\n }\n\n source = urlOrManifest;\n\n if (streamingInitialized || playbackInitialized) {\n resetPlaybackControllers();\n }\n\n if (isReady()) {\n initializePlayback();\n }\n }\n\n /**\n * Get the current settings object being used on the player.\n * @returns {PlayerSettings} The settings object being used.\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function getSettings() {\n return settings.get();\n }\n\n /**\n * @summary Update the current settings object being used on the player. Anything left unspecified is not modified.\n * @param {PlayerSettings} settingsObj - An object corresponding to the settings definition.\n * @description This function does not update the entire object, only properties in the passed in object are updated.\n *\n * This means that updateSettings({a: x}) and updateSettings({b: y}) are functionally equivalent to\n * updateSettings({a: x, b: y}). If the default values are required again, @see{@link resetSettings}.\n * @example\n * player.updateSettings({\n * streaming: {\n * liveDelayFragmentCount: 8\n * abr: {\n * maxBitrate: { audio: 100, video: 1000 }\n * }\n * }\n * });\n * @memberof module:MediaPlayer\n * @instance\n */\n function updateSettings(settingsObj) {\n settings.update(settingsObj);\n }\n\n /**\n * Resets the settings object back to the default.\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function resetSettings() {\n settings.reset();\n }\n\n /**\n * A utility methods which converts UTC timestamp value into a valid time and date string.\n *\n * @param {number} time - UTC timestamp to be converted into date and time.\n * @param {string} locales - a region identifier (i.e. en_US).\n * @param {boolean} hour12 - 12 vs 24 hour. Set to true for 12 hour time formatting.\n * @param {boolean} withDate - default is false. Set to true to append current date to UTC time format.\n * @returns {string} A formatted time and date string.\n * @memberof module:MediaPlayer\n * @instance\n */\n function formatUTC(time, locales, hour12, withDate = false) {\n const dt = new Date(time * 1000);\n const d = dt.toLocaleDateString(locales);\n const t = dt.toLocaleTimeString(locales, {\n hour12: hour12\n });\n return withDate ? t + ' ' + d : t;\n }\n\n /**\n * A utility method which converts seconds into TimeCode (i.e. 300 --> 05:00).\n *\n * @param {number} value - A number in seconds to be converted into a formatted time code.\n * @returns {string} A formatted time code string.\n * @memberof module:MediaPlayer\n * @instance\n */\n function convertToTimeCode(value) {\n value = Math.max(value, 0);\n\n let h = Math.floor(value / 3600);\n let m = Math.floor((value % 3600) / 60);\n let s = Math.floor((value % 3600) % 60);\n return (h === 0 ? '' : (h < 10 ? '0' + h.toString() + ':' : h.toString() + ':')) + (m < 10 ? '0' + m.toString() : m.toString()) + ':' + (s < 10 ? '0' + s.toString() : s.toString());\n }\n\n /**\n * This method should be used to extend or replace internal dash.js objects.\n * There are two ways to extend dash.js (determined by the override argument):\n *
    \n *
  1. If you set override to true any public method or property in your custom object will\n * override the dash.js parent object's property(ies) and will be used instead but the\n * dash.js parent module will still be created.
  2. \n *\n *
  3. If you set override to false your object will completely replace the dash.js object.\n * (Note: This is how it was in 1.x of Dash.js with Dijon).
  4. \n *
\n * When you extend you get access to this.context, this.factory and this.parent to operate with in your custom object.\n *
    \n *
  • this.context - can be used to pass context for singleton access.
  • \n *
  • this.factory - can be used to call factory.getSingletonInstance().
  • \n *
  • this.parent - is the reference of the parent object to call other public methods. (this.parent is excluded if you extend with override set to false or option 2)
  • \n *
\n * You must call extend before you call initialize\n * @see {@link module:MediaPlayer#initialize initialize()}\n * @param {string} parentNameString - name of parent module\n * @param {Object} childInstance - overriding object\n * @param {boolean} override - replace only some methods (true) or the whole object (false)\n * @memberof module:MediaPlayer\n * @instance\n */\n function extend(parentNameString, childInstance, override) {\n FactoryMaker.extend(parentNameString, childInstance, override, context);\n }\n\n /**\n * This method returns the active stream\n *\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function getActiveStream() {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n let streamInfo = streamController.getActiveStreamInfo();\n return streamInfo ? streamController.getStreamById(streamInfo.id) : null;\n }\n\n //***********************************\n // PRIVATE METHODS\n //***********************************\n\n function resetPlaybackControllers() {\n playbackInitialized = false;\n streamingInitialized = false;\n adapter.reset();\n streamController.reset();\n gapController.reset();\n playbackController.reset();\n abrController.reset();\n mediaController.reset();\n textController.reset();\n if (protectionController) {\n if (settings.get().streaming.keepProtectionMediaKeys) {\n protectionController.stop();\n } else {\n protectionController.reset();\n protectionController = null;\n detectProtection();\n }\n }\n cmcdModel.reset();\n }\n\n function createPlaybackControllers() {\n // creates or get objects instances\n const manifestLoader = createManifestLoader();\n\n if (!streamController) {\n streamController = StreamController(context).getInstance();\n }\n\n capabilitiesFilter.setConfig({\n capabilities,\n adapter,\n settings\n });\n\n streamController.setConfig({\n capabilities: capabilities,\n capabilitiesFilter,\n manifestLoader: manifestLoader,\n manifestModel: manifestModel,\n mediaPlayerModel: mediaPlayerModel,\n protectionController: protectionController,\n adapter: adapter,\n dashMetrics: dashMetrics,\n errHandler: errHandler,\n timelineConverter: timelineConverter,\n videoModel: videoModel,\n playbackController: playbackController,\n abrController: abrController,\n mediaController: mediaController,\n textController: textController,\n settings: settings,\n baseURLController: baseURLController\n });\n\n gapController.setConfig({\n settings,\n playbackController,\n streamController,\n videoModel,\n timelineConverter,\n adapter\n });\n\n playbackController.setConfig({\n streamController: streamController,\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n adapter: adapter,\n videoModel: videoModel,\n timelineConverter: timelineConverter,\n uriFragmentModel: uriFragmentModel,\n settings: settings\n });\n\n abrController.setConfig({\n streamController: streamController,\n domStorage: domStorage,\n mediaPlayerModel: mediaPlayerModel,\n dashMetrics: dashMetrics,\n adapter: adapter,\n videoModel: videoModel,\n settings: settings\n });\n\n textController.setConfig({\n errHandler: errHandler,\n manifestModel: manifestModel,\n adapter: adapter,\n mediaController: mediaController,\n streamController: streamController,\n videoModel: videoModel\n });\n\n cmcdModel.setConfig({\n abrController,\n dashMetrics,\n playbackController\n });\n\n // initialises controller\n streamController.initialize(autoPlay, protectionData);\n gapController.initialize();\n cmcdModel.initialize();\n }\n\n function createManifestLoader() {\n return ManifestLoader(context).create({\n debug: debug,\n errHandler: errHandler,\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n requestModifier: RequestModifier(context).getInstance(),\n mssHandler: mssHandler,\n settings: settings\n });\n }\n\n function detectProtection() {\n if (protectionController) {\n return protectionController;\n }\n // do not require Protection as dependencies as this is optional and intended to be loaded separately\n let Protection = dashjs.Protection; /* jshint ignore:line */\n if (typeof Protection === 'function') { //TODO need a better way to register/detect plugin components\n let protection = Protection(context).create();\n Events.extend(Protection.events);\n MediaPlayerEvents.extend(Protection.events, {\n publicOnly: true\n });\n Errors.extend(Protection.errors);\n if (!capabilities) {\n capabilities = Capabilities(context).getInstance();\n }\n protectionController = protection.createProtectionSystem({\n debug: debug,\n errHandler: errHandler,\n videoModel: videoModel,\n capabilities: capabilities,\n eventBus: eventBus,\n events: Events,\n BASE64: BASE64,\n constants: Constants,\n cmcdModel: cmcdModel\n });\n if (protectionController) {\n protectionController.setLicenseRequestFilters(licenseRequestFilters);\n protectionController.setLicenseResponseFilters(licenseResponseFilters);\n }\n return protectionController;\n }\n\n return null;\n }\n\n function detectMetricsReporting() {\n if (metricsReportingController) {\n return;\n }\n // do not require MetricsReporting as dependencies as this is optional and intended to be loaded separately\n let MetricsReporting = dashjs.MetricsReporting; /* jshint ignore:line */\n if (typeof MetricsReporting === 'function') { //TODO need a better way to register/detect plugin components\n let metricsReporting = MetricsReporting(context).create();\n\n metricsReportingController = metricsReporting.createMetricsReporting({\n debug: debug,\n eventBus: eventBus,\n mediaElement: getVideoElement(),\n adapter: adapter,\n dashMetrics: dashMetrics,\n events: Events,\n constants: Constants,\n metricsConstants: MetricsConstants\n });\n }\n }\n\n function detectMss() {\n if (mssHandler) {\n return;\n }\n // do not require MssHandler as dependencies as this is optional and intended to be loaded separately\n let MssHandler = dashjs.MssHandler; /* jshint ignore:line */\n if (typeof MssHandler === 'function') { //TODO need a better way to register/detect plugin components\n Errors.extend(MssHandler.errors);\n mssHandler = MssHandler(context).create({\n eventBus: eventBus,\n mediaPlayerModel: mediaPlayerModel,\n dashMetrics: dashMetrics,\n manifestModel: manifestModel,\n playbackController: playbackController,\n streamController: streamController,\n protectionController: protectionController,\n baseURLController: baseURLController,\n errHandler: errHandler,\n events: Events,\n constants: Constants,\n debug: debug,\n initSegmentType: HTTPRequest.INIT_SEGMENT_TYPE,\n BASE64: BASE64,\n ISOBoxer: ISOBoxer,\n settings: settings\n });\n }\n }\n\n function detectOffline() {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n\n if (offlineController) {\n return offlineController;\n }\n\n // do not require Offline as dependencies as this is optional and intended to be loaded separately\n let OfflineController = dashjs.OfflineController; /* jshint ignore:line */\n\n if (typeof OfflineController === 'function') { //TODO need a better way to register/detect plugin components\n Events.extend(OfflineController.events);\n MediaPlayerEvents.extend(OfflineController.events, {\n publicOnly: true\n });\n Errors.extend(OfflineController.errors);\n\n const manifestLoader = createManifestLoader();\n const manifestUpdater = ManifestUpdater(context).create();\n\n manifestUpdater.setConfig({\n manifestModel: manifestModel,\n adapter: adapter,\n manifestLoader: manifestLoader,\n errHandler: errHandler\n });\n\n offlineController = OfflineController(context).create({\n debug: debug,\n manifestUpdater: manifestUpdater,\n baseURLController: baseURLController,\n manifestLoader: manifestLoader,\n manifestModel: manifestModel,\n mediaPlayerModel: mediaPlayerModel,\n abrController: abrController,\n playbackController: playbackController,\n adapter: adapter,\n errHandler: errHandler,\n dashMetrics: dashMetrics,\n timelineConverter: timelineConverter,\n schemeLoaderFactory: schemeLoaderFactory,\n eventBus: eventBus,\n events: Events,\n errors: Errors,\n constants: Constants,\n settings: settings,\n dashConstants: DashConstants,\n urlUtils: URLUtils(context).getInstance()\n });\n return offlineController;\n }\n\n return null;\n }\n\n function getAsUTC(valToConvert) {\n let metric = dashMetrics.getCurrentDVRInfo();\n let availableFrom,\n utcValue;\n\n if (!metric) {\n return 0;\n }\n availableFrom = metric.manifestInfo.availableFrom.getTime() / 1000;\n utcValue = valToConvert + (availableFrom + metric.range.start);\n return utcValue;\n }\n\n function initializePlayback() {\n\n if (offlineController) {\n offlineController.resetRecords();\n }\n\n if (!streamingInitialized && source) {\n streamingInitialized = true;\n logger.info('Streaming Initialized');\n createPlaybackControllers();\n\n if (typeof source === 'string') {\n streamController.load(source);\n } else {\n streamController.loadWithManifest(source);\n }\n }\n\n if (!playbackInitialized && isReady()) {\n playbackInitialized = true;\n logger.info('Playback Initialized');\n }\n }\n\n /**\n * Returns the DashAdapter.js Module.\n *\n * @see {@link module:DashAdapter}\n * @returns {Object}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getDashAdapter() {\n return adapter;\n }\n\n instance = {\n initialize: initialize,\n setConfig: setConfig,\n on: on,\n off: off,\n extend: extend,\n attachView: attachView,\n attachSource: attachSource,\n isReady: isReady,\n preload: preload,\n play: play,\n isPaused: isPaused,\n pause: pause,\n isSeeking: isSeeking,\n isDynamic: isDynamic,\n seek: seek,\n setPlaybackRate: setPlaybackRate,\n getPlaybackRate: getPlaybackRate,\n setMute: setMute,\n isMuted: isMuted,\n setVolume: setVolume,\n getVolume: getVolume,\n time: time,\n duration: duration,\n timeAsUTC: timeAsUTC,\n durationAsUTC: durationAsUTC,\n getActiveStream: getActiveStream,\n getDVRWindowSize: getDVRWindowSize,\n getDVRSeekOffset: getDVRSeekOffset,\n convertToTimeCode: convertToTimeCode,\n formatUTC: formatUTC,\n getVersion: getVersion,\n getDebug: getDebug,\n getBufferLength: getBufferLength,\n getTTMLRenderingDiv: getTTMLRenderingDiv,\n getVideoElement: getVideoElement,\n getSource: getSource,\n getCurrentLiveLatency: getCurrentLiveLatency,\n getTopBitrateInfoFor: getTopBitrateInfoFor,\n setAutoPlay: setAutoPlay,\n getAutoPlay: getAutoPlay,\n getDashMetrics: getDashMetrics,\n getQualityFor: getQualityFor,\n setQualityFor: setQualityFor,\n updatePortalSize: updatePortalSize,\n setTextDefaultLanguage: setTextDefaultLanguage,\n getTextDefaultLanguage: getTextDefaultLanguage,\n setTextDefaultEnabled: setTextDefaultEnabled,\n getTextDefaultEnabled: getTextDefaultEnabled,\n enableText: enableText,\n enableForcedTextStreaming: enableForcedTextStreaming,\n isTextEnabled: isTextEnabled,\n setTextTrack: setTextTrack,\n getBitrateInfoListFor: getBitrateInfoListFor,\n getStreamsFromManifest: getStreamsFromManifest,\n getTracksFor: getTracksFor,\n getTracksForTypeFromManifest: getTracksForTypeFromManifest,\n getCurrentTrackFor: getCurrentTrackFor,\n setInitialMediaSettingsFor: setInitialMediaSettingsFor,\n getInitialMediaSettingsFor: getInitialMediaSettingsFor,\n setCurrentTrack: setCurrentTrack,\n getTrackSwitchModeFor: getTrackSwitchModeFor,\n setTrackSwitchModeFor: setTrackSwitchModeFor,\n setSelectionModeForInitialTrack: setSelectionModeForInitialTrack,\n getSelectionModeForInitialTrack: getSelectionModeForInitialTrack,\n addABRCustomRule: addABRCustomRule,\n removeABRCustomRule: removeABRCustomRule,\n removeAllABRCustomRule: removeAllABRCustomRule,\n getAverageThroughput: getAverageThroughput,\n retrieveManifest: retrieveManifest,\n addUTCTimingSource: addUTCTimingSource,\n removeUTCTimingSource: removeUTCTimingSource,\n clearDefaultUTCTimingSources: clearDefaultUTCTimingSources,\n restoreDefaultUTCTimingSources: restoreDefaultUTCTimingSources,\n setXHRWithCredentialsForType: setXHRWithCredentialsForType,\n getXHRWithCredentialsForType: getXHRWithCredentialsForType,\n getProtectionController: getProtectionController,\n attachProtectionController: attachProtectionController,\n setProtectionData: setProtectionData,\n registerLicenseRequestFilter: registerLicenseRequestFilter,\n registerLicenseResponseFilter: registerLicenseResponseFilter,\n unregisterLicenseRequestFilter: unregisterLicenseRequestFilter,\n unregisterLicenseResponseFilter: unregisterLicenseResponseFilter,\n displayCaptionsOnTop: displayCaptionsOnTop,\n attachTTMLRenderingDiv: attachTTMLRenderingDiv,\n getCurrentTextTrackIndex: getCurrentTextTrackIndex,\n provideThumbnail: provideThumbnail,\n getDashAdapter: getDashAdapter,\n getOfflineController: getOfflineController,\n getSettings: getSettings,\n updateSettings: updateSettings,\n resetSettings: resetSettings,\n reset: reset,\n destroy: destroy\n };\n\n setup();\n\n return instance;\n}\n\nMediaPlayer.__dashjs_factory_name = 'MediaPlayer';\nconst factory = FactoryMaker.getClassFactory(MediaPlayer);\nfactory.events = MediaPlayerEvents;\nfactory.errors = Errors;\nFactoryMaker.updateClassFactory(MediaPlayer.__dashjs_factory_name, factory);\n\nexport default factory;\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 */\nimport cea608parser from '../../externals/cea608-parser';\nimport Constants from './constants/Constants';\nimport DashConstants from '../dash/constants/DashConstants';\nimport MetricsConstants from './constants/MetricsConstants';\nimport PlaybackController from './controllers/PlaybackController';\nimport StreamController from './controllers/StreamController';\nimport GapController from './controllers/GapController';\nimport MediaController from './controllers/MediaController';\nimport BaseURLController from './controllers/BaseURLController';\nimport ManifestLoader from './ManifestLoader';\nimport ErrorHandler from './utils/ErrorHandler';\nimport Capabilities from './utils/Capabilities';\nimport CapabilitiesFilter from './utils/CapabilitiesFilter';\nimport TextTracks from './text/TextTracks';\nimport RequestModifier from './utils/RequestModifier';\nimport TextController from './text/TextController';\nimport URIFragmentModel from './models/URIFragmentModel';\nimport ManifestModel from './models/ManifestModel';\nimport MediaPlayerModel from './models/MediaPlayerModel';\nimport AbrController from './controllers/AbrController';\nimport SchemeLoaderFactory from './net/SchemeLoaderFactory';\nimport VideoModel from './models/VideoModel';\nimport CmcdModel from './models/CmcdModel';\nimport DOMStorage from './utils/DOMStorage';\nimport Debug from './../core/Debug';\nimport Errors from './../core/errors/Errors';\nimport EventBus from './../core/EventBus';\nimport Events from './../core/events/Events';\nimport MediaPlayerEvents from './MediaPlayerEvents';\nimport FactoryMaker from '../core/FactoryMaker';\nimport Settings from '../core/Settings';\nimport {\n getVersionString\n}\n from './../core/Version';\n\n//Dash\nimport SegmentBaseController from '../dash/controllers/SegmentBaseController';\nimport DashAdapter from '../dash/DashAdapter';\nimport DashMetrics from '../dash/DashMetrics';\nimport TimelineConverter from '../dash/utils/TimelineConverter';\nimport {\n HTTPRequest\n} from './vo/metrics/HTTPRequest';\nimport BASE64 from '../../externals/base64';\nimport ISOBoxer from 'codem-isoboxer';\nimport DashJSError from './vo/DashJSError';\nimport {checkParameterType} from './utils/SupervisorTools';\nimport ManifestUpdater from './ManifestUpdater';\nimport URLUtils from '../streaming/utils/URLUtils';\nimport BoxParser from './utils/BoxParser';\n\n/* jscs:disable */\n/**\n * The media types\n * @typedef {(\"video\" | \"audio\" | \"text\" | \"fragmentedText\" | \"embeddedText\" | \"image\")} MediaType\n */\n\n/* jscs:enable */\n\n/**\n * @module MediaPlayer\n * @description The MediaPlayer is the primary dash.js Module and a Facade to build your player around.\n * It will allow you access to all the important dash.js properties/methods via the public API and all the\n * events to build a robust DASH media player.\n */\nfunction MediaPlayer() {\n /**\n * @constant {string} STREAMING_NOT_INITIALIZED_ERROR error string thrown when a function is called before the dash.js has been fully initialized\n * @inner\n */\n const STREAMING_NOT_INITIALIZED_ERROR = 'You must first call initialize() and set a source before calling this method';\n /**\n * @constant {string} PLAYBACK_NOT_INITIALIZED_ERROR error string thrown when a function is called before the dash.js has been fully initialized\n * @inner\n */\n const PLAYBACK_NOT_INITIALIZED_ERROR = 'You must first call initialize() and set a valid source and view before calling this method';\n /**\n * @constant {string} ELEMENT_NOT_ATTACHED_ERROR error string thrown when a function is called before the dash.js has received a reference of an HTML5 video element\n * @inner\n */\n const ELEMENT_NOT_ATTACHED_ERROR = 'You must first call attachView() to set the video element before calling this method';\n /**\n * @constant {string} SOURCE_NOT_ATTACHED_ERROR error string thrown when a function is called before the dash.js has received a valid source stream.\n * @inner\n */\n const SOURCE_NOT_ATTACHED_ERROR = 'You must first call attachSource() with a valid source before calling this method';\n /**\n * @constant {string} MEDIA_PLAYER_NOT_INITIALIZED_ERROR error string thrown when a function is called before the dash.js has been fully initialized.\n * @inner\n */\n const MEDIA_PLAYER_NOT_INITIALIZED_ERROR = 'MediaPlayer not initialized!';\n\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n let settings = Settings(context).getInstance();\n const debug = Debug(context).getInstance({ settings: settings });\n\n let instance,\n logger,\n source,\n protectionData,\n mediaPlayerInitialized,\n streamingInitialized,\n playbackInitialized,\n autoPlay,\n abrController,\n schemeLoaderFactory,\n timelineConverter,\n mediaController,\n protectionController,\n metricsReportingController,\n mssHandler,\n offlineController,\n adapter,\n mediaPlayerModel,\n errHandler,\n baseURLController,\n capabilities,\n capabilitiesFilter,\n streamController,\n gapController,\n playbackController,\n dashMetrics,\n manifestModel,\n cmcdModel,\n videoModel,\n textController,\n uriFragmentModel,\n domStorage,\n segmentBaseController,\n licenseRequestFilters,\n licenseResponseFilters,\n customCapabilitiesFilters;\n\n /*\n ---------------------------------------------------------------------------\n\n INIT FUNCTIONS\n\n ---------------------------------------------------------------------------\n */\n function setup() {\n logger = debug.getLogger(instance);\n mediaPlayerInitialized = false;\n playbackInitialized = false;\n streamingInitialized = false;\n autoPlay = true;\n protectionController = null;\n offlineController = null;\n protectionData = null;\n adapter = null;\n segmentBaseController = null;\n Events.extend(MediaPlayerEvents);\n mediaPlayerModel = MediaPlayerModel(context).getInstance();\n videoModel = VideoModel(context).getInstance();\n uriFragmentModel = URIFragmentModel(context).getInstance();\n licenseRequestFilters = [];\n licenseResponseFilters = [];\n customCapabilitiesFilters = [];\n }\n\n /**\n * Configure media player with customs controllers. Helpful for tests\n *\n * @param {object=} config controllers configuration\n * @memberof module:MediaPlayer\n * @instance\n */\n function setConfig(config) {\n if (!config) {\n return;\n }\n if (config.capabilities) {\n capabilities = config.capabilities;\n }\n if (config.capabilitiesFilter) {\n capabilitiesFilter = config.capabilitiesFilter;\n }\n if (config.streamController) {\n streamController = config.streamController;\n }\n if (config.gapController) {\n gapController = config.gapController;\n }\n if (config.playbackController) {\n playbackController = config.playbackController;\n }\n if (config.mediaPlayerModel) {\n mediaPlayerModel = config.mediaPlayerModel;\n }\n if (config.abrController) {\n abrController = config.abrController;\n }\n if (config.schemeLoaderFactory) {\n schemeLoaderFactory = config.schemeLoaderFactory;\n }\n if (config.mediaController) {\n mediaController = config.mediaController;\n }\n if (config.settings) {\n settings = config.settings;\n }\n }\n\n /**\n * Upon creating the MediaPlayer you must call initialize before you call anything else.\n * There is one exception to this rule. It is crucial to call {@link module:MediaPlayer#extend extend()}\n * with all your extensions prior to calling initialize.\n *\n * ALL arguments are optional and there are individual methods to set each argument later on.\n * The args in this method are just for convenience and should only be used for a simple player setup.\n *\n * @param {HTML5MediaElement=} view - Optional arg to set the video element. {@link module:MediaPlayer#attachView attachView()}\n * @param {string=} source - Optional arg to set the media source. {@link module:MediaPlayer#attachSource attachSource()}\n * @param {boolean=} AutoPlay - Optional arg to set auto play. {@link module:MediaPlayer#setAutoPlay setAutoPlay()}\n * @see {@link module:MediaPlayer#attachView attachView()}\n * @see {@link module:MediaPlayer#attachSource attachSource()}\n * @see {@link module:MediaPlayer#setAutoPlay setAutoPlay()}\n * @memberof module:MediaPlayer\n * @instance\n */\n function initialize(view, source, AutoPlay) {\n if (!capabilities) {\n capabilities = Capabilities(context).getInstance();\n }\n\n errHandler = ErrorHandler(context).getInstance();\n\n if (!capabilities.supportsMediaSource()) {\n errHandler.error(new DashJSError(Errors.CAPABILITY_MEDIASOURCE_ERROR_CODE, Errors.CAPABILITY_MEDIASOURCE_ERROR_MESSAGE));\n return;\n }\n\n if (mediaPlayerInitialized) return;\n mediaPlayerInitialized = true;\n\n // init some controllers and models\n timelineConverter = TimelineConverter(context).getInstance();\n if (!abrController) {\n abrController = AbrController(context).getInstance();\n abrController.setConfig({\n settings: settings\n });\n }\n\n if (!schemeLoaderFactory) {\n schemeLoaderFactory = SchemeLoaderFactory(context).getInstance();\n }\n\n if (!playbackController) {\n playbackController = PlaybackController(context).getInstance();\n }\n\n if (!mediaController) {\n mediaController = MediaController(context).getInstance();\n }\n\n if (!streamController) {\n streamController = StreamController(context).getInstance();\n }\n\n if (!gapController) {\n gapController = GapController(context).getInstance();\n }\n\n if (!capabilitiesFilter) {\n capabilitiesFilter = CapabilitiesFilter(context).getInstance();\n }\n\n adapter = DashAdapter(context).getInstance();\n\n manifestModel = ManifestModel(context).getInstance();\n\n cmcdModel = CmcdModel(context).getInstance();\n\n dashMetrics = DashMetrics(context).getInstance({\n settings: settings\n });\n textController = TextController(context).getInstance();\n domStorage = DOMStorage(context).getInstance({\n settings: settings\n });\n\n adapter.setConfig({\n constants: Constants,\n cea608parser: cea608parser,\n errHandler: errHandler,\n BASE64: BASE64\n });\n\n if (!baseURLController) {\n baseURLController = BaseURLController(context).create();\n }\n\n baseURLController.setConfig({\n adapter: adapter\n });\n\n\n segmentBaseController = SegmentBaseController(context).getInstance({\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n errHandler: errHandler,\n baseURLController: baseURLController,\n events: Events,\n eventBus: eventBus,\n debug: debug,\n boxParser: BoxParser(context).getInstance(),\n requestModifier: RequestModifier(context).getInstance(),\n errors: Errors\n });\n\n segmentBaseController.initialize();\n\n // configure controllers\n mediaController.setConfig({\n domStorage: domStorage,\n settings: settings\n });\n\n restoreDefaultUTCTimingSources();\n setAutoPlay(AutoPlay !== undefined ? AutoPlay : true);\n\n // Detect and initialize offline module to support offline contents playback\n detectOffline();\n\n if (view) {\n attachView(view);\n }\n\n if (source) {\n attachSource(source);\n }\n\n logger.info('[dash.js ' + getVersion() + '] ' + 'MediaPlayer has been initialized');\n }\n\n /**\n * Sets the MPD source and the video element to null. You can also reset the MediaPlayer by\n * calling attachSource with a new source file.\n *\n * This call does not destroy the MediaPlayer. To destroy the MediaPlayer and free all of its\n * memory, call destroy().\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function reset() {\n attachSource(null);\n attachView(null);\n protectionData = null;\n if (protectionController) {\n protectionController.reset();\n protectionController = null;\n }\n if (metricsReportingController) {\n metricsReportingController.reset();\n metricsReportingController = null;\n }\n\n segmentBaseController.reset();\n\n settings.reset();\n\n if (offlineController) {\n offlineController.reset();\n offlineController = null;\n }\n }\n\n /**\n * Completely destroys the media player and frees all memory.\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function destroy() {\n reset();\n licenseRequestFilters = [];\n licenseResponseFilters = [];\n customCapabilitiesFilters = [];\n FactoryMaker.deleteSingletonInstances(context);\n }\n\n /**\n * The ready state of the MediaPlayer based on both the video element and MPD source being defined.\n *\n * @returns {boolean} The current ready state of the MediaPlayer\n * @see {@link module:MediaPlayer#attachView attachView()}\n * @see {@link module:MediaPlayer#attachSource attachSource()}\n * @memberof module:MediaPlayer\n * @instance\n */\n function isReady() {\n return (!!source && !!videoModel.getElement());\n }\n\n /**\n * Use the on method to listen for public events found in MediaPlayer.events. {@link MediaPlayerEvents}\n *\n * @param {string} type - {@link MediaPlayerEvents}\n * @param {Function} listener - callback method when the event fires.\n * @param {Object} scope - context of the listener so it can be removed properly.\n * @param {Object} options - object to define various options such as priority and mode\n * @memberof module:MediaPlayer\n * @instance\n */\n function on(type, listener, scope, options) {\n eventBus.on(type, listener, scope, options);\n }\n\n /**\n * Use the off method to remove listeners for public events found in MediaPlayer.events. {@link MediaPlayerEvents}\n *\n * @param {string} type - {@link MediaPlayerEvents}\n * @param {Function} listener - callback method when the event fires.\n * @param {Object} scope - context of the listener so it can be removed properly.\n * @memberof module:MediaPlayer\n * @instance\n */\n function off(type, listener, scope) {\n eventBus.off(type, listener, scope);\n }\n\n /**\n * Current version of Dash.js\n * @returns {string} the current dash.js version string.\n * @memberof module:MediaPlayer\n * @instance\n */\n function getVersion() {\n return getVersionString();\n }\n\n /**\n * Use this method to access the dash.js logging class.\n *\n * @returns {Debug}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getDebug() {\n return debug;\n }\n\n /*\n ---------------------------------------------------------------------------\n\n PLAYBACK FUNCTIONS\n\n ---------------------------------------------------------------------------\n */\n\n /**\n * Causes the player to begin streaming the media as set by the {@link module:MediaPlayer#attachSource attachSource()}\n * method in preparation for playing. It specifically does not require a view to be attached with {@link module:MediaPlayer#attachSource attachView()} to begin preloading.\n * When a view is attached after preloading, the buffered data is transferred to the attached mediaSource buffers.\n *\n * @see {@link module:MediaPlayer#attachSource attachSource()}\n * @see {@link module:MediaPlayer#attachView attachView()}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~SOURCE_NOT_ATTACHED_ERROR SOURCE_NOT_ATTACHED_ERROR} if called before attachSource function\n * @instance\n */\n function preload() {\n if (videoModel.getElement() || streamingInitialized) {\n return false;\n }\n if (source) {\n initializePlayback();\n } else {\n throw SOURCE_NOT_ATTACHED_ERROR;\n }\n }\n\n /**\n * The play method initiates playback of the media defined by the {@link module:MediaPlayer#attachSource attachSource()} method.\n * This method will call play on the native Video Element.\n *\n * @see {@link module:MediaPlayer#attachSource attachSource()}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function play() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n if (!autoPlay || (isPaused() && playbackInitialized)) {\n playbackController.play();\n }\n }\n\n /**\n * This method will call pause on the native Video Element.\n *\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function pause() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n playbackController.pause();\n }\n\n /**\n * Returns a Boolean that indicates whether the Video Element is paused.\n * @return {boolean}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function isPaused() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n return playbackController.isPaused();\n }\n\n /**\n * Sets the currentTime property of the attached video element. If it is a live stream with a\n * timeShiftBufferLength, then the DVR window offset will be automatically calculated.\n *\n * @param {number} value - A relative time, in seconds, based on the return value of the {@link module:MediaPlayer#duration duration()} method is expected\n * @see {@link module:MediaPlayer#getDVRSeekOffset getDVRSeekOffset()}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with an invalid argument, not number type or is NaN.\n * @memberof module:MediaPlayer\n * @instance\n */\n function seek(value) {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n\n checkParameterType(value, 'number');\n\n if (isNaN(value)) {\n throw Constants.BAD_ARGUMENT_ERROR;\n }\n\n let s = playbackController.getIsDynamic() ? getDVRSeekOffset(value) : value;\n playbackController.seek(s);\n }\n\n /**\n * Returns a Boolean that indicates whether the media is in the process of seeking to a new position.\n * @return {boolean}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function isSeeking() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n return playbackController.isSeeking();\n }\n\n /**\n * Returns a Boolean that indicates whether the media is in the process of dynamic.\n * @return {boolean}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function isDynamic() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n return playbackController.getIsDynamic();\n }\n\n /**\n * Use this method to set the native Video Element's playback rate.\n * @param {number} value\n * @memberof module:MediaPlayer\n * @instance\n */\n function setPlaybackRate(value) {\n getVideoElement().playbackRate = value;\n }\n\n /**\n * Returns the current playback rate.\n * @returns {number}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getPlaybackRate() {\n return getVideoElement().playbackRate;\n }\n\n /**\n * Use this method to set the native Video Element's muted state. Takes a Boolean that determines whether audio is muted. true if the audio is muted and false otherwise.\n * @param {boolean} value\n * @memberof module:MediaPlayer\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with an invalid argument, not boolean type.\n * @instance\n */\n function setMute(value) {\n checkParameterType(value, 'boolean');\n getVideoElement().muted = value;\n }\n\n /**\n * A Boolean that determines whether audio is muted.\n * @returns {boolean}\n * @memberof module:MediaPlayer\n * @instance\n */\n function isMuted() {\n return getVideoElement().muted;\n }\n\n /**\n * A double indicating the audio volume, from 0.0 (silent) to 1.0 (loudest).\n * @param {number} value\n * @memberof module:MediaPlayer\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with an invalid argument, not number type, or is NaN or not between 0 and 1.\n * @instance\n */\n function setVolume(value) {\n if (typeof value !== 'number' || isNaN(value) || value < 0.0 || value > 1.0) {\n throw Constants.BAD_ARGUMENT_ERROR;\n }\n getVideoElement().volume = value;\n }\n\n /**\n * Returns the current audio volume, from 0.0 (silent) to 1.0 (loudest).\n * @returns {number}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getVolume() {\n return getVideoElement().volume;\n }\n\n /**\n * The length of the buffer for a given media type, in seconds. Valid media\n * types are \"video\", \"audio\" and \"fragmentedText\". If no type is passed\n * in, then the minimum of video, audio and fragmentedText buffer length is\n * returned. NaN is returned if an invalid type is requested, the\n * presentation does not contain that type, or if no arguments are passed\n * and the presentation does not include any adaption sets of valid media\n * type.\n *\n * @param {MediaType} type - 'video', 'audio' or 'fragmentedText'\n * @returns {number} The length of the buffer for the given media type, in\n * seconds, or NaN\n * @memberof module:MediaPlayer\n * @instance\n */\n function getBufferLength(type) {\n const types = [Constants.VIDEO, Constants.AUDIO, Constants.FRAGMENTED_TEXT];\n if (!type) {\n const buffer = types.map(\n t => getTracksFor(t).length > 0 ? getDashMetrics().getCurrentBufferLevel(t) : Number.MAX_VALUE\n ).reduce(\n (p, c) => Math.min(p, c)\n );\n return buffer === Number.MAX_VALUE ? NaN : buffer;\n } else {\n if (types.indexOf(type) !== -1) {\n const buffer = getDashMetrics().getCurrentBufferLevel(type);\n return buffer ? buffer : NaN;\n } else {\n logger.warn('getBufferLength requested for invalid type');\n return NaN;\n }\n }\n }\n\n /**\n * The timeShiftBufferLength (DVR Window), in seconds.\n *\n * @returns {number} The window of allowable play time behind the live point of a live stream.\n * @memberof module:MediaPlayer\n * @instance\n */\n function getDVRWindowSize() {\n let metric = dashMetrics.getCurrentDVRInfo();\n if (!metric) {\n return 0;\n }\n return metric.manifestInfo.DVRWindowSize;\n }\n\n /**\n * This method should only be used with a live stream that has a valid timeShiftBufferLength (DVR Window).\n * NOTE - If you do not need the raw offset value (i.e. media analytics, tracking, etc) consider using the {@link module:MediaPlayer#seek seek()} method\n * which will calculate this value for you and set the video element's currentTime property all in one simple call.\n *\n * @param {number} value - A relative time, in seconds, based on the return value of the {@link module:MediaPlayer#duration duration()} method is expected.\n * @returns {number} A value that is relative the available range within the timeShiftBufferLength (DVR Window).\n * @see {@link module:MediaPlayer#seek seek()}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getDVRSeekOffset(value) {\n let metric = dashMetrics.getCurrentDVRInfo();\n if (!metric) {\n return 0;\n }\n\n let liveDelay = playbackController.getLiveDelay();\n\n let val = metric.range.start + value;\n\n if (val > (metric.range.end - liveDelay)) {\n val = metric.range.end - liveDelay;\n }\n\n return val;\n }\n\n /**\n * Current time of the playhead, in seconds.\n *\n * If called with no arguments then the returned time value is time elapsed since the start point of the first stream, or if it is a live stream, then the time will be based on the return value of the {@link module:MediaPlayer#duration duration()} method.\n * However if a stream ID is supplied then time is relative to the start of that stream, or is null if there is no such stream id in the manifest.\n *\n * @param {string} streamId - The ID of a stream that the returned playhead time must be relative to the start of. If undefined, then playhead time is relative to the first stream.\n * @returns {number} The current playhead time of the media, or null.\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function time(streamId) {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n let t = getVideoElement().currentTime;\n\n if (streamId !== undefined) {\n t = streamController.getTimeRelativeToStreamId(t, streamId);\n } else if (playbackController.getIsDynamic()) {\n let metric = dashMetrics.getCurrentDVRInfo();\n t = (metric === null || t === 0) ? 0 : Math.max(0, (t - metric.range.start));\n }\n\n return t;\n }\n\n /**\n * Duration of the media's playback, in seconds.\n *\n * @returns {number} The current duration of the media.\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function duration() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n let d = getVideoElement().duration;\n\n if (playbackController.getIsDynamic()) {\n let metric = dashMetrics.getCurrentDVRInfo();\n d = metric ? (metric.range.end - metric.range.start) : 0;\n }\n return d;\n }\n\n /**\n * Use this method to get the current playhead time as an absolute value, the time in seconds since midnight UTC, Jan 1 1970.\n * Note - this property only has meaning for live streams. If called before play() has begun, it will return a value of NaN.\n *\n * @returns {number} The current playhead time as UTC timestamp.\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function timeAsUTC() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n if (time() < 0) {\n return NaN;\n }\n return getAsUTC(time());\n }\n\n /**\n * Use this method to get the current duration as an absolute value, the time in seconds since midnight UTC, Jan 1 1970.\n * Note - this property only has meaning for live streams.\n *\n * @returns {number} The current duration as UTC timestamp.\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function durationAsUTC() {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n return getAsUTC(duration());\n }\n\n /*\n ---------------------------------------------------------------------------\n\n AUTO BITRATE\n\n ---------------------------------------------------------------------------\n */\n /**\n * Gets the top quality BitrateInfo checking portal limit and max allowed.\n * It calls getTopQualityIndexFor internally\n *\n * @param {MediaType} type - 'video' or 'audio'\n * @memberof module:MediaPlayer\n * @returns {BitrateInfo | null}\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getTopBitrateInfoFor(type) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n return abrController.getTopBitrateInfoFor(type);\n }\n\n /**\n * Gets the current download quality for media type video, audio or images. For video and audio types the ABR\n * rules update this value before every new download unless setAutoSwitchQualityFor(type, false) is called. For 'image'\n * type, thumbnails, there is no ABR algorithm and quality is set manually.\n *\n * @param {MediaType} type - 'video', 'audio' or 'image' (thumbnails)\n * @returns {number} the quality index, 0 corresponding to the lowest bitrate\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#setAutoSwitchQualityFor setAutoSwitchQualityFor()}\n * @see {@link module:MediaPlayer#setQualityFor setQualityFor()}\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getQualityFor(type) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n if (type === Constants.IMAGE) {\n const activeStream = getActiveStream();\n if (!activeStream) {\n return -1;\n }\n const thumbnailController = activeStream.getThumbnailController();\n\n return !thumbnailController ? -1 : thumbnailController.getCurrentTrackIndex();\n }\n return abrController.getQualityFor(type);\n }\n\n /**\n * Sets the current quality for media type instead of letting the ABR Heuristics automatically selecting it.\n * This value will be overwritten by the ABR rules unless setAutoSwitchQualityFor(type, false) is called.\n *\n * @param {MediaType} type - 'video', 'audio' or 'image'\n * @param {number} value - the quality index, 0 corresponding to the lowest bitrate\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#setAutoSwitchQualityFor setAutoSwitchQualityFor()}\n * @see {@link module:MediaPlayer#getQualityFor getQualityFor()}\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function setQualityFor(type, value) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n if (type === Constants.IMAGE) {\n const activeStream = getActiveStream();\n if (!activeStream) {\n return;\n }\n const thumbnailController = activeStream.getThumbnailController();\n if (thumbnailController) {\n thumbnailController.setTrackByIndex(value);\n }\n }\n abrController.setPlaybackQuality(type, streamController.getActiveStreamInfo(), value);\n }\n\n /**\n * Update the video element size variables\n * Should be called on window resize (or any other time player is resized). Fullscreen does trigger a window resize event.\n *\n * Once windowResizeEventCalled = true, abrController.checkPortalSize() will use element size variables rather than querying clientWidth every time.\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function updatePortalSize() {\n abrController.setElementSize();\n abrController.setWindowResizeEventCalled(true);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n MEDIA PLAYER CONFIGURATION\n\n ---------------------------------------------------------------------------\n */\n /**\n *

Set to false to prevent stream from auto-playing when the view is attached.

\n *\n * @param {boolean} value\n * @default true\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#attachView attachView()}\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with an invalid argument, not boolean type.\n * @instance\n *\n */\n function setAutoPlay(value) {\n checkParameterType(value, 'boolean');\n autoPlay = value;\n }\n\n /**\n * @returns {boolean} The current autoPlay state.\n * @memberof module:MediaPlayer\n * @instance\n */\n function getAutoPlay() {\n return autoPlay;\n }\n\n /**\n * @memberof module:MediaPlayer\n * @instance\n * @returns {number|NaN} Current live stream latency in seconds. It is the difference between current time and time position at the playback head.\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n */\n function getCurrentLiveLatency() {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n\n if (!playbackInitialized) {\n return NaN;\n }\n\n return playbackController.getCurrentLiveLatency();\n }\n\n /**\n * Add a custom ABR Rule\n * Rule will be apply on next stream if a stream is being played\n *\n * @param {string} type - rule type (one of ['qualitySwitchRules','abandonFragmentRules'])\n * @param {string} rulename - name of rule (used to identify custom rule). If one rule of same name has been added, then existing rule will be updated\n * @param {object} rule - the rule object instance\n * @memberof module:MediaPlayer\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with invalid arguments.\n * @instance\n */\n function addABRCustomRule(type, rulename, rule) {\n mediaPlayerModel.addABRCustomRule(type, rulename, rule);\n }\n\n /**\n * Remove a custom ABR Rule\n *\n * @param {string} rulename - name of the rule to be removed\n * @memberof module:MediaPlayer\n * @instance\n */\n function removeABRCustomRule(rulename) {\n mediaPlayerModel.removeABRCustomRule(rulename);\n }\n\n /**\n * Remove all custom rules\n * @memberof module:MediaPlayer\n * @instance\n */\n function removeAllABRCustomRule() {\n mediaPlayerModel.removeABRCustomRule();\n }\n\n /**\n *

Allows you to set a scheme and server source for UTC live edge detection for dynamic streams.\n * If UTCTiming is defined in the manifest, it will take precedence over any time source manually added.

\n *

If you have exposed the Date header, use the method {@link module:MediaPlayer#clearDefaultUTCTimingSources clearDefaultUTCTimingSources()}.\n * This will allow the date header on the manifest to be used instead of a time server

\n * @param {string} schemeIdUri -
    \n *
  • urn:mpeg:dash:utc:http-head:2014
  • \n *
  • urn:mpeg:dash:utc:http-xsdate:2014
  • \n *
  • urn:mpeg:dash:utc:http-iso:2014
  • \n *
  • urn:mpeg:dash:utc:direct:2014
  • \n *
\n *

Some specs referencing early ISO23009-1 drafts incorrectly use\n * 2012 in the URI, rather than 2014. support these for now.

\n *
    \n *
  • urn:mpeg:dash:utc:http-head:2012
  • \n *
  • urn:mpeg:dash:utc:http-xsdate:2012
  • \n *
  • urn:mpeg:dash:utc:http-iso:2012
  • \n *
  • urn:mpeg:dash:utc:direct:2012
  • \n *
\n * @param {string} value - Path to a time source.\n * @default\n *
    \n *
  • schemeIdUri:urn:mpeg:dash:utc:http-xsdate:2014
  • \n *
  • value:http://time.akamai.com/?iso&ms/li>\n *
\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#removeUTCTimingSource removeUTCTimingSource()}\n * @instance\n */\n function addUTCTimingSource(schemeIdUri, value) {\n mediaPlayerModel.addUTCTimingSource(schemeIdUri, value);\n }\n\n /**\n *

Allows you to remove a UTC time source. Both schemeIdUri and value need to match the Dash.vo.UTCTiming properties in order for the\n * entry to be removed from the array

\n * @param {string} schemeIdUri - see {@link module:MediaPlayer#addUTCTimingSource addUTCTimingSource()}\n * @param {string} value - see {@link module:MediaPlayer#addUTCTimingSource addUTCTimingSource()}\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#clearDefaultUTCTimingSources clearDefaultUTCTimingSources()}\n * @throws {@link Constants#BAD_ARGUMENT_ERROR BAD_ARGUMENT_ERROR} if called with invalid arguments, schemeIdUri and value are not string type.\n * @instance\n */\n function removeUTCTimingSource(schemeIdUri, value) {\n mediaPlayerModel.removeUTCTimingSource(schemeIdUri, value);\n }\n\n /**\n *

Allows you to clear the stored array of time sources.

\n *

Example use: If you have exposed the Date header, calling this method\n * will allow the date header on the manifest to be used instead of the time server.

\n *

Example use: Calling this method, assuming there is not an exposed date header on the manifest, will default back\n * to using a binary search to discover the live edge

\n *\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#restoreDefaultUTCTimingSources restoreDefaultUTCTimingSources()}\n * @instance\n */\n function clearDefaultUTCTimingSources() {\n mediaPlayerModel.clearDefaultUTCTimingSources();\n }\n\n /**\n *

Allows you to restore the default time sources after calling {@link module:MediaPlayer#clearDefaultUTCTimingSources clearDefaultUTCTimingSources()}

\n *\n * @default\n *
    \n *
  • schemeIdUri:urn:mpeg:dash:utc:http-xsdate:2014
  • \n *
  • value:http://time.akamai.com/?iso&ms
  • \n *
\n *\n * @memberof module:MediaPlayer\n * @see {@link module:MediaPlayer#addUTCTimingSource addUTCTimingSource()}\n * @instance\n */\n function restoreDefaultUTCTimingSources() {\n mediaPlayerModel.restoreDefaultUTCTimingSources();\n }\n\n /**\n * Returns the average throughput computed in the ABR logic\n *\n * @param {MediaType} type\n * @return {number} value\n * @memberof module:MediaPlayer\n * @instance\n */\n function getAverageThroughput(type) {\n const throughputHistory = abrController.getThroughputHistory();\n return throughputHistory ? throughputHistory.getAverageThroughput(type) : 0;\n }\n\n /**\n * Sets whether withCredentials on XHR requests for a particular request\n * type is true or false\n *\n * @default false\n * @param {string} type - one of HTTPRequest.*_TYPE\n * @param {boolean} value\n * @memberof module:MediaPlayer\n * @instance\n */\n function setXHRWithCredentialsForType(type, value) {\n mediaPlayerModel.setXHRWithCredentialsForType(type, value);\n }\n\n /**\n * Gets whether withCredentials on XHR requests for a particular request\n * type is true or false\n *\n * @param {string} type - one of HTTPRequest.*_TYPE\n * @return {boolean}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getXHRWithCredentialsForType(type) {\n return mediaPlayerModel.getXHRWithCredentialsForType(type);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n OFFLINE\n\n ---------------------------------------------------------------------------\n */\n\n /**\n * Detects if Offline is included and returns an instance of OfflineController.js\n * @memberof module:MediaPlayer\n * @instance\n */\n function getOfflineController() {\n return detectOffline();\n }\n\n /*\n ---------------------------------------------------------------------------\n\n METRICS\n\n ---------------------------------------------------------------------------\n */\n /**\n * Returns the DashMetrics.js Module. You use this Module to get access to all the public metrics\n * stored in dash.js\n *\n * @see {@link module:DashMetrics}\n * @returns {Object}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getDashMetrics() {\n return dashMetrics;\n }\n\n /*\n ---------------------------------------------------------------------------\n\n TEXT MANAGEMENT\n\n ---------------------------------------------------------------------------\n */\n /**\n * Set default language for text. If default language is not one of text tracks, dash will choose the first one.\n *\n * @param {string} lang - default language\n * @memberof module:MediaPlayer\n * @instance\n * @deprecated will be removed in version 3.2.0. Please use setInitialMediaSettingsFor(\"fragmentedText\", { lang: lang }) instead\n */\n function setTextDefaultLanguage(lang) {\n logger.warn('setTextDefaultLanguage is deprecated and will be removed in version 3.2.0. Please use setInitialMediaSettingsFor(\"fragmentedText\", { lang: lang }) instead');\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n textController.setTextDefaultLanguage(lang);\n }\n\n /**\n * Get default language for text.\n *\n * @return {string} the default language if it has been set using setTextDefaultLanguage\n * @memberof module:MediaPlayer\n * @instance\n * @deprecated will be removed in version 3.2.0. Please use getInitialMediaSettingsFor(\"fragmentedText\").lang instead\n */\n function getTextDefaultLanguage() {\n logger.warn('getTextDefaultLanguage is deprecated and will be removed in version 3.2.0. Please use getInitialMediaSettingsFor(\"fragmentedText\").lang instead');\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n return textController.getTextDefaultLanguage();\n }\n\n /**\n * Set enabled default state.\n * This is used to enable/disable text when a file is loaded.\n * During playback, use enableText to enable text for the file\n *\n * @param {boolean} enable - true to enable text, false otherwise\n * @memberof module:MediaPlayer\n * @instance\n */\n function setTextDefaultEnabled(enable) {\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n textController.setTextDefaultEnabled(enable);\n }\n\n /**\n * Get enabled default state.\n *\n * @return {boolean} default enable state\n * @memberof module:MediaPlayer\n * @instance\n */\n function getTextDefaultEnabled() {\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n return textController.getTextDefaultEnabled();\n }\n\n /**\n * Enable/disable text\n * When enabling text, dash will choose the previous selected text track\n *\n * @param {boolean} enable - true to enable text, false otherwise (same as setTextTrack(-1))\n * @memberof module:MediaPlayer\n * @instance\n */\n function enableText(enable) {\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n textController.enableText(enable);\n }\n\n /**\n * Enable/disable text\n * When enabling dash will keep downloading and process fragmented text tracks even if all tracks are in mode \"hidden\"\n *\n * @param {boolean} enable - true to enable text streaming even if all text tracks are hidden.\n * @memberof module:MediaPlayer\n * @instance\n */\n function enableForcedTextStreaming(enable) {\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n textController.enableForcedTextStreaming(enable);\n }\n\n /**\n * Return if text is enabled\n *\n * @return {boolean} return true if text is enabled, false otherwise\n * @memberof module:MediaPlayer\n * @instance\n */\n function isTextEnabled() {\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n return textController.isTextEnabled();\n }\n\n /**\n * Use this method to change the current text track for both external time text files and fragmented text tracks. There is no need to\n * set the track mode on the video object to switch a track when using this method.\n * @param {number} idx - Index of track based on the order of the order the tracks are added Use -1 to disable all tracks. (turn captions off). Use module:MediaPlayer#dashjs.MediaPlayer.events.TEXT_TRACK_ADDED.\n * @see {@link MediaPlayerEvents#event:TEXT_TRACK_ADDED dashjs.MediaPlayer.events.TEXT_TRACK_ADDED}\n * @throws {@link module:MediaPlayer~PLAYBACK_NOT_INITIALIZED_ERROR PLAYBACK_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function setTextTrack(idx) {\n if (!playbackInitialized) {\n throw PLAYBACK_NOT_INITIALIZED_ERROR;\n }\n\n if (textController === undefined) {\n textController = TextController(context).getInstance();\n }\n\n textController.setTextTrack(idx);\n }\n\n function getCurrentTextTrackIndex() {\n let idx = NaN;\n if (textController) {\n idx = textController.getCurrentTrackIdx();\n }\n return idx;\n }\n\n /**\n * This method serves to control captions z-index value. If 'true' is passed, the captions will have the highest z-index and be\n * displayed on top of other html elements. Default value is 'false' (z-index is not set).\n * @param {boolean} value\n * @memberof module:MediaPlayer\n * @instance\n */\n function displayCaptionsOnTop(value) {\n let textTracks = TextTracks(context).getInstance();\n textTracks.setConfig({\n videoModel: videoModel\n });\n textTracks.initialize();\n textTracks.setDisplayCConTop(value);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n VIDEO ELEMENT MANAGEMENT\n\n ---------------------------------------------------------------------------\n */\n\n /**\n * Returns instance of Video Element that was attached by calling attachView()\n * @returns {Object}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~ELEMENT_NOT_ATTACHED_ERROR ELEMENT_NOT_ATTACHED_ERROR} if called before attachView function\n * @instance\n */\n function getVideoElement() {\n if (!videoModel.getElement()) {\n throw ELEMENT_NOT_ATTACHED_ERROR;\n }\n return videoModel.getElement();\n }\n\n /**\n * Use this method to attach an HTML5 VideoElement for dash.js to operate upon.\n *\n * @param {Object} element - An HTMLMediaElement that has already been defined in the DOM (or equivalent stub).\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function attachView(element) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n\n videoModel.setElement(element);\n\n if (element) {\n detectProtection();\n detectMetricsReporting();\n detectMss();\n\n if (streamController) {\n streamController.switchToVideoElement();\n }\n }\n\n if (playbackInitialized) { //Reset if we have been playing before, so this is a new element.\n resetPlaybackControllers();\n }\n\n initializePlayback();\n }\n\n /**\n * Returns instance of Div that was attached by calling attachTTMLRenderingDiv()\n * @returns {Object}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getTTMLRenderingDiv() {\n return videoModel ? videoModel.getTTMLRenderingDiv() : null;\n }\n\n /**\n * Use this method to attach an HTML5 div for dash.js to render rich TTML subtitles.\n *\n * @param {HTMLDivElement} div - An unstyled div placed after the video element. It will be styled to match the video size and overlay z-order.\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~ELEMENT_NOT_ATTACHED_ERROR ELEMENT_NOT_ATTACHED_ERROR} if called before attachView function\n * @instance\n */\n function attachTTMLRenderingDiv(div) {\n if (!videoModel.getElement()) {\n throw ELEMENT_NOT_ATTACHED_ERROR;\n }\n videoModel.setTTMLRenderingDiv(div);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n STREAM AND TRACK MANAGEMENT\n\n ---------------------------------------------------------------------------\n */\n /**\n * @param {MediaType} type\n * @returns {Array}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getBitrateInfoListFor(type) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n let stream = getActiveStream();\n return stream ? stream.getBitrateListFor(type) : [];\n }\n\n /**\n * This method returns the list of all available streams from a given manifest\n * @param {Object} manifest\n * @returns {Array} list of {@link StreamInfo}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getStreamsFromManifest(manifest) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n return adapter.getStreamsInfo(manifest);\n }\n\n /**\n * This method returns the list of all available tracks for a given media type\n * @param {MediaType} type\n * @returns {Array} list of {@link MediaInfo}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getTracksFor(type) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n let streamInfo = streamController.getActiveStreamInfo();\n return mediaController.getTracksFor(type, streamInfo);\n }\n\n /**\n * This method returns the list of all available tracks for a given media type and streamInfo from a given manifest\n * @param {MediaType} type\n * @param {Object} manifest\n * @param {Object} streamInfo\n * @returns {Array} list of {@link MediaInfo}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getTracksForTypeFromManifest(type, manifest, streamInfo) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n\n streamInfo = streamInfo || adapter.getStreamsInfo(manifest, 1)[0];\n\n return streamInfo ? adapter.getAllMediaInfoForType(streamInfo, type, manifest) : [];\n }\n\n /**\n * @param {MediaType} type\n * @returns {Object|null} {@link MediaInfo}\n *\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function getCurrentTrackFor(type) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n let streamInfo = streamController.getActiveStreamInfo();\n return mediaController.getCurrentTrackFor(type, streamInfo);\n }\n\n /**\n * This method allows to set media settings that will be used to pick the initial track. Format of the settings\n * is following:
\n * {lang: langValue (can be either a string or a regex to match),\n * index: indexValue,\n * viewpoint: viewpointValue,\n * audioChannelConfiguration: audioChannelConfigurationValue,\n * accessibility: accessibilityValue,\n * role: roleValue}\n *\n * @param {MediaType} type\n * @param {Object} value\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function setInitialMediaSettingsFor(type, value) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n mediaController.setInitialSettings(type, value);\n if (type === Constants.FRAGMENTED_TEXT) {\n textController.setInitialSettings(value);\n }\n }\n\n /**\n * This method returns media settings that is used to pick the initial track. Format of the settings\n * is following:\n * {lang: langValue,\n * index: indexValue,\n * viewpoint: viewpointValue,\n * audioChannelConfiguration: audioChannelConfigurationValue,\n * accessibility: accessibilityValue,\n * role: roleValue}\n * @param {MediaType} type\n * @returns {Object}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function getInitialMediaSettingsFor(type) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n return mediaController.getInitialSettings(type);\n }\n\n /**\n * @param {MediaInfo} track - instance of {@link MediaInfo}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @instance\n */\n function setCurrentTrack(track) {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n mediaController.setTrack(track);\n }\n\n /**\n * This method returns the current track switch mode.\n *\n * @param {MediaType} type\n * @returns {string} mode\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function getTrackSwitchModeFor(type) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n return mediaController.getSwitchMode(type);\n }\n\n /**\n * This method sets the current track switch mode. Available options are:\n *\n * Constants.TRACK_SWITCH_MODE_NEVER_REPLACE\n * (used to forbid clearing the buffered data (prior to current playback position) after track switch.\n * Defers to fastSwitchEnabled for placement of new data. Default for video)\n *\n * Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE\n * (used to clear the buffered data (prior to current playback position) after track switch. Default for audio)\n *\n * @param {MediaType} type\n * @param {string} mode\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function setTrackSwitchModeFor(type, mode) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n mediaController.setSwitchMode(type, mode);\n }\n\n /**\n * This method sets the selection mode for the initial track. This mode defines how the initial track will be selected\n * if no initial media settings are set. If initial media settings are set this parameter will be ignored. Available options are:\n *\n * Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE\n * This mode makes the player select the track with a highest bitrate. This mode is a default mode.\n *\n * Constants.TRACK_SELECTION_MODE_FIRST_TRACK\n * This mode makes the player select the select the first track found in the manifest.\n *\n * Constants.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY\n * This mode makes the player select the track with the lowest bitrate per pixel average.\n *\n * Constants.TRACK_SELECTION_MODE_WIDEST_RANGE\n * This mode makes the player select the track with a widest range of bitrates.\n *\n * @param {string} mode\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function setSelectionModeForInitialTrack(mode) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n mediaController.setSelectionModeForInitialTrack(mode);\n }\n\n /**\n * This method returns the track selection mode.\n *\n * @returns {string} mode\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n * @instance\n */\n function getSelectionModeForInitialTrack() {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n return mediaController.getSelectionModeForInitialTrack();\n }\n\n /*\n ---------------------------------------------------------------------------\n\n PROTECTION MANAGEMENT\n\n ---------------------------------------------------------------------------\n */\n\n /**\n * Detects if Protection is included and returns an instance of ProtectionController.js\n * @memberof module:MediaPlayer\n * @instance\n */\n function getProtectionController() {\n return detectProtection();\n }\n\n /**\n * Will override dash.js protection controller.\n * @param {ProtectionController} value - valid protection controller instance.\n * @memberof module:MediaPlayer\n * @instance\n */\n function attachProtectionController(value) {\n protectionController = value;\n }\n\n /**\n * Sets Protection Data required to setup the Protection Module (DRM). Protection Data must\n * be set before initializing MediaPlayer or, once initialized, before PROTECTION_CREATED event is fired.\n * @see {@link module:MediaPlayer#initialize initialize()}\n * @see {@link ProtectionEvents#event:PROTECTION_CREATED dashjs.Protection.events.PROTECTION_CREATED}\n * @param {ProtectionDataSet} value - object containing\n * property names corresponding to key system name strings and associated\n * values being instances of.\n * @memberof module:MediaPlayer\n * @instance\n */\n function setProtectionData(value) {\n protectionData = value;\n\n // Propagate changes in case StreamController is already created\n if (streamController) {\n streamController.setProtectionData(protectionData);\n }\n }\n\n /**\n * Registers a license request filter. This enables application to manipulate/overwrite any request parameter and/or request data.\n * The provided callback function shall return a promise that shall be resolved once the filter process is completed.\n * The filters are applied in the order they are registered.\n * @param {function} filter - the license request filter callback\n * @memberof module:MediaPlayer\n * @instance\n */\n function registerLicenseRequestFilter(filter) {\n licenseRequestFilters.push(filter);\n if (protectionController) {\n protectionController.setLicenseRequestFilters(licenseRequestFilters);\n }\n }\n\n /**\n * Registers a license response filter. This enables application to manipulate/overwrite the response data\n * The provided callback function shall return a promise that shall be resolved once the filter process is completed.\n * The filters are applied in the order they are registered.\n * @param {function} filter - the license response filter callback\n * @memberof module:MediaPlayer\n * @instance\n */\n function registerLicenseResponseFilter(filter) {\n licenseResponseFilters.push(filter);\n if (protectionController) {\n protectionController.setLicenseResponseFilters(licenseResponseFilters);\n }\n }\n\n /**\n * Unregisters a license request filter.\n * @param {function} filter - the license request filter callback\n * @memberof module:MediaPlayer\n * @instance\n */\n function unregisterLicenseRequestFilter(filter) {\n unregisterFilter(licenseRequestFilters, filter);\n if (protectionController) {\n protectionController.setLicenseRequestFilters(licenseRequestFilters);\n }\n }\n\n /**\n * Unregisters a license response filter.\n * @param {function} filter - the license response filter callback\n * @memberof module:MediaPlayer\n * @instance\n */\n function unregisterLicenseResponseFilter(filter) {\n unregisterFilter(licenseResponseFilters, filter);\n if (protectionController) {\n protectionController.setLicenseResponseFilters(licenseResponseFilters);\n }\n }\n\n /**\n * Registers a custom capabilities filter. This enables application to filter representations to use.\n * The provided callback function shall return a boolean based on whether or not to use the representation.\n * The filters are applied in the order they are registered.\n * @param {function} filter - the custom capabilities filter callback\n * @memberof module:MediaPlayer\n * @instance\n */\n function registerCustomCapabilitiesFilter(filter) {\n customCapabilitiesFilters.push(filter);\n if (capabilitiesFilter) {\n capabilitiesFilter.setCustomCapabilitiesFilters(customCapabilitiesFilters);\n }\n }\n\n /**\n * Unregisters a custom capabilities filter.\n * @param {function} filter - the custom capabilities filter callback\n * @memberof module:MediaPlayer\n * @instance\n */\n function unregisterCustomCapabilitiesFilter(filter) {\n unregisterFilter(customCapabilitiesFilters, filter);\n if (capabilitiesFilter) {\n capabilitiesFilter.setCustomCapabilitiesFilters(customCapabilitiesFilters);\n }\n }\n\n function unregisterFilter(filters, filter) {\n let index = -1;\n filters.some((item, i) => {\n if (item === filter) {\n index = i;\n return true;\n }\n });\n if (index < 0) return;\n filters.splice(index, 1);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n THUMBNAILS MANAGEMENT\n\n ---------------------------------------------------------------------------\n */\n\n /**\n * Provide the thumbnail at time position. This can be asynchronous, so you must provide a callback ro retrieve thumbnails informations\n * @param {number} time - A relative time, in seconds, based on the return value of the {@link module:MediaPlayer#duration duration()} method is expected\n * @param {function} callback - A Callback function provided when retrieving thumbnail the given time position. Thumbnail object is null in case there are is not a thumbnails representation or\n * if it doesn't contain a thumbnail for the given time position.\n * @memberof module:MediaPlayer\n * @instance\n */\n function provideThumbnail(time, callback) {\n if (typeof callback !== 'function') {\n return;\n }\n if (time < 0) {\n callback(null);\n return;\n }\n const s = playbackController.getIsDynamic() ? getDVRSeekOffset(time) : time;\n const stream = streamController.getStreamForTime(s);\n if (stream === null) {\n callback(null);\n return;\n }\n\n const thumbnailController = stream.getThumbnailController();\n if (!thumbnailController) {\n callback(null);\n return;\n }\n\n const timeInPeriod = streamController.getTimeRelativeToStreamId(s, stream.getId());\n return thumbnailController.provide(timeInPeriod, callback);\n }\n\n /*\n ---------------------------------------------------------------------------\n\n TOOLS AND OTHERS FUNCTIONS\n\n ---------------------------------------------------------------------------\n */\n /**\n * Allows application to retrieve a manifest. Manifest loading is asynchro\n * nous and\n * requires the app-provided callback function\n *\n * @param {string} url - url the manifest url\n * @param {function} callback - A Callback function provided when retrieving manifests\n * @memberof module:MediaPlayer\n * @instance\n */\n function retrieveManifest(url, callback) {\n let manifestLoader = createManifestLoader();\n let self = this;\n\n const handler = function (e) {\n if (!e.error) {\n callback(e.manifest);\n } else {\n callback(null, e.error);\n }\n eventBus.off(Events.INTERNAL_MANIFEST_LOADED, handler, self);\n manifestLoader.reset();\n };\n\n eventBus.on(Events.INTERNAL_MANIFEST_LOADED, handler, self);\n\n uriFragmentModel.initialize(url);\n manifestLoader.load(url);\n }\n\n /**\n * Returns the source string or manifest that was attached by calling attachSource()\n * @returns {string | manifest}\n * @memberof module:MediaPlayer\n * @throws {@link module:MediaPlayer~SOURCE_NOT_ATTACHED_ERROR SOURCE_NOT_ATTACHED_ERROR} if called before attachSource function\n * @instance\n */\n function getSource() {\n if (!source) {\n throw SOURCE_NOT_ATTACHED_ERROR;\n }\n return source;\n }\n\n /**\n * Use this method to set a source URL to a valid MPD manifest file OR\n * a previously downloaded and parsed manifest object. Optionally, can\n * also provide protection information\n *\n * @param {string|Object} urlOrManifest - A URL to a valid MPD manifest file, or a\n * parsed manifest object.\n *\n *\n * @throws {@link module:MediaPlayer~MEDIA_PLAYER_NOT_INITIALIZED_ERROR MEDIA_PLAYER_NOT_INITIALIZED_ERROR} if called before initialize function\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function attachSource(urlOrManifest) {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n\n if (typeof urlOrManifest === 'string') {\n uriFragmentModel.initialize(urlOrManifest);\n }\n\n source = urlOrManifest;\n\n if (streamingInitialized || playbackInitialized) {\n resetPlaybackControllers();\n }\n\n if (isReady()) {\n initializePlayback();\n }\n }\n\n /**\n * Get the current settings object being used on the player.\n * @returns {PlayerSettings} The settings object being used.\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function getSettings() {\n return settings.get();\n }\n\n /**\n * @summary Update the current settings object being used on the player. Anything left unspecified is not modified.\n * @param {PlayerSettings} settingsObj - An object corresponding to the settings definition.\n * @description This function does not update the entire object, only properties in the passed in object are updated.\n *\n * This means that updateSettings({a: x}) and updateSettings({b: y}) are functionally equivalent to\n * updateSettings({a: x, b: y}). If the default values are required again, @see{@link resetSettings}.\n * @example\n * player.updateSettings({\n * streaming: {\n * liveDelayFragmentCount: 8\n * abr: {\n * maxBitrate: { audio: 100, video: 1000 }\n * }\n * }\n * });\n * @memberof module:MediaPlayer\n * @instance\n */\n function updateSettings(settingsObj) {\n settings.update(settingsObj);\n }\n\n /**\n * Resets the settings object back to the default.\n *\n * @memberof module:MediaPlayer\n * @instance\n */\n function resetSettings() {\n settings.reset();\n }\n\n /**\n * A utility methods which converts UTC timestamp value into a valid time and date string.\n *\n * @param {number} time - UTC timestamp to be converted into date and time.\n * @param {string} locales - a region identifier (i.e. en_US).\n * @param {boolean} hour12 - 12 vs 24 hour. Set to true for 12 hour time formatting.\n * @param {boolean} withDate - default is false. Set to true to append current date to UTC time format.\n * @returns {string} A formatted time and date string.\n * @memberof module:MediaPlayer\n * @instance\n */\n function formatUTC(time, locales, hour12, withDate = false) {\n const dt = new Date(time * 1000);\n const d = dt.toLocaleDateString(locales);\n const t = dt.toLocaleTimeString(locales, {\n hour12: hour12\n });\n return withDate ? t + ' ' + d : t;\n }\n\n /**\n * A utility method which converts seconds into TimeCode (i.e. 300 --> 05:00).\n *\n * @param {number} value - A number in seconds to be converted into a formatted time code.\n * @returns {string} A formatted time code string.\n * @memberof module:MediaPlayer\n * @instance\n */\n function convertToTimeCode(value) {\n value = Math.max(value, 0);\n\n let h = Math.floor(value / 3600);\n let m = Math.floor((value % 3600) / 60);\n let s = Math.floor((value % 3600) % 60);\n return (h === 0 ? '' : (h < 10 ? '0' + h.toString() + ':' : h.toString() + ':')) + (m < 10 ? '0' + m.toString() : m.toString()) + ':' + (s < 10 ? '0' + s.toString() : s.toString());\n }\n\n /**\n * This method should be used to extend or replace internal dash.js objects.\n * There are two ways to extend dash.js (determined by the override argument):\n *
    \n *
  1. If you set override to true any public method or property in your custom object will\n * override the dash.js parent object's property(ies) and will be used instead but the\n * dash.js parent module will still be created.
  2. \n *\n *
  3. If you set override to false your object will completely replace the dash.js object.\n * (Note: This is how it was in 1.x of Dash.js with Dijon).
  4. \n *
\n * When you extend you get access to this.context, this.factory and this.parent to operate with in your custom object.\n *
    \n *
  • this.context - can be used to pass context for singleton access.
  • \n *
  • this.factory - can be used to call factory.getSingletonInstance().
  • \n *
  • this.parent - is the reference of the parent object to call other public methods. (this.parent is excluded if you extend with override set to false or option 2)
  • \n *
\n * You must call extend before you call initialize\n * @see {@link module:MediaPlayer#initialize initialize()}\n * @param {string} parentNameString - name of parent module\n * @param {Object} childInstance - overriding object\n * @param {boolean} override - replace only some methods (true) or the whole object (false)\n * @memberof module:MediaPlayer\n * @instance\n */\n function extend(parentNameString, childInstance, override) {\n FactoryMaker.extend(parentNameString, childInstance, override, context);\n }\n\n /**\n * This method returns the active stream\n *\n * @throws {@link module:MediaPlayer~STREAMING_NOT_INITIALIZED_ERROR STREAMING_NOT_INITIALIZED_ERROR} if called before initializePlayback function\n * @memberof module:MediaPlayer\n * @instance\n */\n function getActiveStream() {\n if (!streamingInitialized) {\n throw STREAMING_NOT_INITIALIZED_ERROR;\n }\n let streamInfo = streamController.getActiveStreamInfo();\n return streamInfo ? streamController.getStreamById(streamInfo.id) : null;\n }\n\n //***********************************\n // PRIVATE METHODS\n //***********************************\n\n function resetPlaybackControllers() {\n playbackInitialized = false;\n streamingInitialized = false;\n adapter.reset();\n streamController.reset();\n gapController.reset();\n playbackController.reset();\n abrController.reset();\n mediaController.reset();\n textController.reset();\n if (protectionController) {\n if (settings.get().streaming.keepProtectionMediaKeys) {\n protectionController.stop();\n } else {\n protectionController.reset();\n protectionController = null;\n detectProtection();\n }\n }\n cmcdModel.reset();\n }\n\n function createPlaybackControllers() {\n // creates or get objects instances\n const manifestLoader = createManifestLoader();\n\n if (!streamController) {\n streamController = StreamController(context).getInstance();\n }\n\n capabilitiesFilter.setConfig({\n capabilities,\n adapter,\n settings\n });\n capabilitiesFilter.setCustomCapabilitiesFilters(customCapabilitiesFilters);\n\n streamController.setConfig({\n capabilities: capabilities,\n capabilitiesFilter,\n manifestLoader: manifestLoader,\n manifestModel: manifestModel,\n mediaPlayerModel: mediaPlayerModel,\n protectionController: protectionController,\n adapter: adapter,\n dashMetrics: dashMetrics,\n errHandler: errHandler,\n timelineConverter: timelineConverter,\n videoModel: videoModel,\n playbackController: playbackController,\n abrController: abrController,\n mediaController: mediaController,\n textController: textController,\n settings: settings,\n baseURLController: baseURLController\n });\n\n gapController.setConfig({\n settings,\n playbackController,\n streamController,\n videoModel,\n timelineConverter,\n adapter\n });\n\n playbackController.setConfig({\n streamController: streamController,\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n adapter: adapter,\n videoModel: videoModel,\n timelineConverter: timelineConverter,\n uriFragmentModel: uriFragmentModel,\n settings: settings\n });\n\n abrController.setConfig({\n streamController: streamController,\n domStorage: domStorage,\n mediaPlayerModel: mediaPlayerModel,\n dashMetrics: dashMetrics,\n adapter: adapter,\n videoModel: videoModel,\n settings: settings\n });\n\n textController.setConfig({\n errHandler: errHandler,\n manifestModel: manifestModel,\n adapter: adapter,\n mediaController: mediaController,\n streamController: streamController,\n videoModel: videoModel\n });\n\n cmcdModel.setConfig({\n abrController,\n dashMetrics,\n playbackController\n });\n\n // initialises controller\n streamController.initialize(autoPlay, protectionData);\n gapController.initialize();\n cmcdModel.initialize();\n }\n\n function createManifestLoader() {\n return ManifestLoader(context).create({\n debug: debug,\n errHandler: errHandler,\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n requestModifier: RequestModifier(context).getInstance(),\n mssHandler: mssHandler,\n settings: settings\n });\n }\n\n function detectProtection() {\n if (protectionController) {\n return protectionController;\n }\n // do not require Protection as dependencies as this is optional and intended to be loaded separately\n let Protection = dashjs.Protection; /* jshint ignore:line */\n if (typeof Protection === 'function') { //TODO need a better way to register/detect plugin components\n let protection = Protection(context).create();\n Events.extend(Protection.events);\n MediaPlayerEvents.extend(Protection.events, {\n publicOnly: true\n });\n Errors.extend(Protection.errors);\n if (!capabilities) {\n capabilities = Capabilities(context).getInstance();\n }\n protectionController = protection.createProtectionSystem({\n debug: debug,\n errHandler: errHandler,\n videoModel: videoModel,\n capabilities: capabilities,\n eventBus: eventBus,\n events: Events,\n BASE64: BASE64,\n constants: Constants,\n cmcdModel: cmcdModel,\n settings: settings\n });\n if (protectionController) {\n protectionController.setLicenseRequestFilters(licenseRequestFilters);\n protectionController.setLicenseResponseFilters(licenseResponseFilters);\n }\n return protectionController;\n }\n\n return null;\n }\n\n function detectMetricsReporting() {\n if (metricsReportingController) {\n return;\n }\n // do not require MetricsReporting as dependencies as this is optional and intended to be loaded separately\n let MetricsReporting = dashjs.MetricsReporting; /* jshint ignore:line */\n if (typeof MetricsReporting === 'function') { //TODO need a better way to register/detect plugin components\n let metricsReporting = MetricsReporting(context).create();\n\n metricsReportingController = metricsReporting.createMetricsReporting({\n debug: debug,\n eventBus: eventBus,\n mediaElement: getVideoElement(),\n adapter: adapter,\n dashMetrics: dashMetrics,\n events: Events,\n constants: Constants,\n metricsConstants: MetricsConstants\n });\n }\n }\n\n function detectMss() {\n if (mssHandler) {\n return;\n }\n // do not require MssHandler as dependencies as this is optional and intended to be loaded separately\n let MssHandler = dashjs.MssHandler; /* jshint ignore:line */\n if (typeof MssHandler === 'function') { //TODO need a better way to register/detect plugin components\n Errors.extend(MssHandler.errors);\n mssHandler = MssHandler(context).create({\n eventBus: eventBus,\n mediaPlayerModel: mediaPlayerModel,\n dashMetrics: dashMetrics,\n manifestModel: manifestModel,\n playbackController: playbackController,\n streamController: streamController,\n protectionController: protectionController,\n baseURLController: baseURLController,\n errHandler: errHandler,\n events: Events,\n constants: Constants,\n debug: debug,\n initSegmentType: HTTPRequest.INIT_SEGMENT_TYPE,\n BASE64: BASE64,\n ISOBoxer: ISOBoxer,\n settings: settings\n });\n }\n }\n\n function detectOffline() {\n if (!mediaPlayerInitialized) {\n throw MEDIA_PLAYER_NOT_INITIALIZED_ERROR;\n }\n\n if (offlineController) {\n return offlineController;\n }\n\n // do not require Offline as dependencies as this is optional and intended to be loaded separately\n let OfflineController = dashjs.OfflineController; /* jshint ignore:line */\n\n if (typeof OfflineController === 'function') { //TODO need a better way to register/detect plugin components\n Events.extend(OfflineController.events);\n MediaPlayerEvents.extend(OfflineController.events, {\n publicOnly: true\n });\n Errors.extend(OfflineController.errors);\n\n const manifestLoader = createManifestLoader();\n const manifestUpdater = ManifestUpdater(context).create();\n\n manifestUpdater.setConfig({\n manifestModel: manifestModel,\n adapter: adapter,\n manifestLoader: manifestLoader,\n errHandler: errHandler\n });\n\n offlineController = OfflineController(context).create({\n debug: debug,\n manifestUpdater: manifestUpdater,\n baseURLController: baseURLController,\n manifestLoader: manifestLoader,\n manifestModel: manifestModel,\n mediaPlayerModel: mediaPlayerModel,\n abrController: abrController,\n playbackController: playbackController,\n adapter: adapter,\n errHandler: errHandler,\n dashMetrics: dashMetrics,\n timelineConverter: timelineConverter,\n schemeLoaderFactory: schemeLoaderFactory,\n eventBus: eventBus,\n events: Events,\n errors: Errors,\n constants: Constants,\n settings: settings,\n dashConstants: DashConstants,\n urlUtils: URLUtils(context).getInstance()\n });\n return offlineController;\n }\n\n return null;\n }\n\n function getAsUTC(valToConvert) {\n let metric = dashMetrics.getCurrentDVRInfo();\n let availableFrom,\n utcValue;\n\n if (!metric) {\n return 0;\n }\n availableFrom = metric.manifestInfo.availableFrom.getTime() / 1000;\n utcValue = valToConvert + (availableFrom + metric.range.start);\n return utcValue;\n }\n\n function initializePlayback() {\n\n if (offlineController) {\n offlineController.resetRecords();\n }\n\n if (!streamingInitialized && source) {\n streamingInitialized = true;\n logger.info('Streaming Initialized');\n createPlaybackControllers();\n\n if (typeof source === 'string') {\n streamController.load(source);\n } else {\n streamController.loadWithManifest(source);\n }\n }\n\n if (!playbackInitialized && isReady()) {\n playbackInitialized = true;\n logger.info('Playback Initialized');\n }\n }\n\n /**\n * Returns the DashAdapter.js Module.\n *\n * @see {@link module:DashAdapter}\n * @returns {Object}\n * @memberof module:MediaPlayer\n * @instance\n */\n function getDashAdapter() {\n return adapter;\n }\n\n instance = {\n initialize: initialize,\n setConfig: setConfig,\n on: on,\n off: off,\n extend: extend,\n attachView: attachView,\n attachSource: attachSource,\n isReady: isReady,\n preload: preload,\n play: play,\n isPaused: isPaused,\n pause: pause,\n isSeeking: isSeeking,\n isDynamic: isDynamic,\n seek: seek,\n setPlaybackRate: setPlaybackRate,\n getPlaybackRate: getPlaybackRate,\n setMute: setMute,\n isMuted: isMuted,\n setVolume: setVolume,\n getVolume: getVolume,\n time: time,\n duration: duration,\n timeAsUTC: timeAsUTC,\n durationAsUTC: durationAsUTC,\n getActiveStream: getActiveStream,\n getDVRWindowSize: getDVRWindowSize,\n getDVRSeekOffset: getDVRSeekOffset,\n convertToTimeCode: convertToTimeCode,\n formatUTC: formatUTC,\n getVersion: getVersion,\n getDebug: getDebug,\n getBufferLength: getBufferLength,\n getTTMLRenderingDiv: getTTMLRenderingDiv,\n getVideoElement: getVideoElement,\n getSource: getSource,\n getCurrentLiveLatency: getCurrentLiveLatency,\n getTopBitrateInfoFor: getTopBitrateInfoFor,\n setAutoPlay: setAutoPlay,\n getAutoPlay: getAutoPlay,\n getDashMetrics: getDashMetrics,\n getQualityFor: getQualityFor,\n setQualityFor: setQualityFor,\n updatePortalSize: updatePortalSize,\n setTextDefaultLanguage: setTextDefaultLanguage,\n getTextDefaultLanguage: getTextDefaultLanguage,\n setTextDefaultEnabled: setTextDefaultEnabled,\n getTextDefaultEnabled: getTextDefaultEnabled,\n enableText: enableText,\n enableForcedTextStreaming: enableForcedTextStreaming,\n isTextEnabled: isTextEnabled,\n setTextTrack: setTextTrack,\n getBitrateInfoListFor: getBitrateInfoListFor,\n getStreamsFromManifest: getStreamsFromManifest,\n getTracksFor: getTracksFor,\n getTracksForTypeFromManifest: getTracksForTypeFromManifest,\n getCurrentTrackFor: getCurrentTrackFor,\n setInitialMediaSettingsFor: setInitialMediaSettingsFor,\n getInitialMediaSettingsFor: getInitialMediaSettingsFor,\n setCurrentTrack: setCurrentTrack,\n getTrackSwitchModeFor: getTrackSwitchModeFor,\n setTrackSwitchModeFor: setTrackSwitchModeFor,\n setSelectionModeForInitialTrack: setSelectionModeForInitialTrack,\n getSelectionModeForInitialTrack: getSelectionModeForInitialTrack,\n addABRCustomRule: addABRCustomRule,\n removeABRCustomRule: removeABRCustomRule,\n removeAllABRCustomRule: removeAllABRCustomRule,\n getAverageThroughput: getAverageThroughput,\n retrieveManifest: retrieveManifest,\n addUTCTimingSource: addUTCTimingSource,\n removeUTCTimingSource: removeUTCTimingSource,\n clearDefaultUTCTimingSources: clearDefaultUTCTimingSources,\n restoreDefaultUTCTimingSources: restoreDefaultUTCTimingSources,\n setXHRWithCredentialsForType: setXHRWithCredentialsForType,\n getXHRWithCredentialsForType: getXHRWithCredentialsForType,\n getProtectionController: getProtectionController,\n attachProtectionController: attachProtectionController,\n setProtectionData: setProtectionData,\n registerLicenseRequestFilter: registerLicenseRequestFilter,\n registerLicenseResponseFilter: registerLicenseResponseFilter,\n unregisterLicenseRequestFilter: unregisterLicenseRequestFilter,\n unregisterLicenseResponseFilter: unregisterLicenseResponseFilter,\n registerCustomCapabilitiesFilter,\n unregisterCustomCapabilitiesFilter,\n displayCaptionsOnTop: displayCaptionsOnTop,\n attachTTMLRenderingDiv: attachTTMLRenderingDiv,\n getCurrentTextTrackIndex: getCurrentTextTrackIndex,\n provideThumbnail: provideThumbnail,\n getDashAdapter: getDashAdapter,\n getOfflineController: getOfflineController,\n getSettings: getSettings,\n updateSettings: updateSettings,\n resetSettings: resetSettings,\n reset: reset,\n destroy: destroy\n };\n\n setup();\n\n return instance;\n}\n\nMediaPlayer.__dashjs_factory_name = 'MediaPlayer';\nconst factory = FactoryMaker.getClassFactory(MediaPlayer);\nfactory.events = MediaPlayerEvents;\nfactory.errors = Errors;\nFactoryMaker.updateClassFactory(MediaPlayer.__dashjs_factory_name, factory);\n\nexport default factory;\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 */\nimport EventsBase from '../core/events/EventsBase';\n\n/**\n * @class\n * @implements EventsBase\n */\nclass MediaPlayerEvents extends EventsBase {\n\n /**\n * @description Public facing external events to be used when developing a player that implements dash.js.\n */\n constructor() {\n super();\n /**\n * Triggered when playback will not start yet\n * as the MPD's availabilityStartTime is in the future.\n * Check delay property in payload to determine time before playback will start.\n * @event MediaPlayerEvents#AST_IN_FUTURE\n */\n this.AST_IN_FUTURE = 'astInFuture';\n\n /**\n * Triggered when the video element's buffer state changes to stalled.\n * Check mediaType in payload to determine type (Video, Audio, FragmentedText).\n * @event MediaPlayerEvents#BUFFER_EMPTY\n */\n this.BUFFER_EMPTY = 'bufferStalled';\n\n /**\n * Triggered when the video element's buffer state changes to loaded.\n * Check mediaType in payload to determine type (Video, Audio, FragmentedText).\n * @event MediaPlayerEvents#BUFFER_LOADED\n */\n this.BUFFER_LOADED = 'bufferLoaded';\n\n /**\n * Triggered when the video element's buffer state changes, either stalled or loaded. Check payload for state.\n * @event MediaPlayerEvents#BUFFER_LEVEL_STATE_CHANGED\n */\n this.BUFFER_LEVEL_STATE_CHANGED = 'bufferStateChanged';\n\n /**\n * Triggered when a dynamic stream changed to static (transition phase between Live and On-Demand).\n * @event MediaPlayerEvents#DYNAMIC_TO_STATIC\n */\n this.DYNAMIC_TO_STATIC = 'dynamicToStatic';\n\n /**\n * Triggered when there is an error from the element or MSE source buffer.\n * @event MediaPlayerEvents#ERROR\n */\n this.ERROR = 'error';\n /**\n * Triggered when a fragment download has completed.\n * @event MediaPlayerEvents#FRAGMENT_LOADING_COMPLETED\n */\n this.FRAGMENT_LOADING_COMPLETED = 'fragmentLoadingCompleted';\n\n /**\n * Triggered when a partial fragment download has completed.\n * @event MediaPlayerEvents#FRAGMENT_LOADING_PROGRESS\n */\n this.FRAGMENT_LOADING_PROGRESS = 'fragmentLoadingProgress';\n /**\n * Triggered when a fragment download has started.\n * @event MediaPlayerEvents#FRAGMENT_LOADING_STARTED\n */\n this.FRAGMENT_LOADING_STARTED = 'fragmentLoadingStarted';\n\n /**\n * Triggered when a fragment download is abandoned due to detection of slow download base on the ABR abandon rule..\n * @event MediaPlayerEvents#FRAGMENT_LOADING_ABANDONED\n */\n this.FRAGMENT_LOADING_ABANDONED = 'fragmentLoadingAbandoned';\n\n /**\n * Triggered when {@link module:Debug} logger methods are called.\n * @event MediaPlayerEvents#LOG\n */\n this.LOG = 'log';\n\n //TODO refactor with internal event\n /**\n * Triggered when the manifest load is complete\n * @event MediaPlayerEvents#MANIFEST_LOADED\n */\n this.MANIFEST_LOADED = 'manifestLoaded';\n\n /**\n * Triggered anytime there is a change to the overall metrics.\n * @event MediaPlayerEvents#METRICS_CHANGED\n */\n this.METRICS_CHANGED = 'metricsChanged';\n\n /**\n * Triggered when an individual metric is added, updated or cleared.\n * @event MediaPlayerEvents#METRIC_CHANGED\n */\n this.METRIC_CHANGED = 'metricChanged';\n\n /**\n * Triggered every time a new metric is added.\n * @event MediaPlayerEvents#METRIC_ADDED\n */\n this.METRIC_ADDED = 'metricAdded';\n\n /**\n * Triggered every time a metric is updated.\n * @event MediaPlayerEvents#METRIC_UPDATED\n */\n this.METRIC_UPDATED = 'metricUpdated';\n\n /**\n * Triggered at the stream end of a period.\n * @event MediaPlayerEvents#PERIOD_SWITCH_COMPLETED\n */\n this.PERIOD_SWITCH_COMPLETED = 'periodSwitchCompleted';\n\n /**\n * Triggered when a new period starts.\n * @event MediaPlayerEvents#PERIOD_SWITCH_STARTED\n */\n this.PERIOD_SWITCH_STARTED = 'periodSwitchStarted';\n\n /**\n * Triggered when an ABR up /down switch is initiated; either by user in manual mode or auto mode via ABR rules.\n * @event MediaPlayerEvents#QUALITY_CHANGE_REQUESTED\n */\n this.QUALITY_CHANGE_REQUESTED = 'qualityChangeRequested';\n\n /**\n * Triggered when the new ABR quality is being rendered on-screen.\n * @event MediaPlayerEvents#QUALITY_CHANGE_RENDERED\n */\n this.QUALITY_CHANGE_RENDERED = 'qualityChangeRendered';\n\n /**\n * Triggered when the new track is being rendered.\n * @event MediaPlayerEvents#TRACK_CHANGE_RENDERED\n */\n this.TRACK_CHANGE_RENDERED = 'trackChangeRendered';\n\n /**\n * Triggered when the source is setup and ready.\n * @event MediaPlayerEvents#SOURCE_INITIALIZED\n */\n this.SOURCE_INITIALIZED = 'sourceInitialized';\n\n /**\n * Triggered when a stream (period) is being loaded\n * @event MediaPlayerEvents#STREAM_INITIALIZING\n */\n this.STREAM_INITIALIZING = 'streamInitializing';\n\n /**\n * Triggered when a stream (period) is loaded\n * @event MediaPlayerEvents#STREAM_UPDATED\n */\n this.STREAM_UPDATED = 'streamUpdated';\n\n /**\n * Triggered when a stream (period) is updated\n * @event MediaPlayerEvents#STREAM_INITIALIZED\n */\n this.STREAM_INITIALIZED = 'streamInitialized';\n\n /**\n * Triggered when the player has been reset.\n * @event MediaPlayerEvents#STREAM_TEARDOWN_COMPLETE\n */\n this.STREAM_TEARDOWN_COMPLETE = 'streamTeardownComplete';\n\n /**\n * Triggered once all text tracks detected in the MPD are added to the video element.\n * @event MediaPlayerEvents#TEXT_TRACKS_ADDED\n */\n this.TEXT_TRACKS_ADDED = 'allTextTracksAdded';\n\n /**\n * Triggered when a text track is added to the video element's TextTrackList\n * @event MediaPlayerEvents#TEXT_TRACK_ADDED\n */\n this.TEXT_TRACK_ADDED = 'textTrackAdded';\n\n /**\n * Triggered when a ttml chunk is parsed.\n * @event MediaPlayerEvents#TTML_PARSED\n */\n this.TTML_PARSED = 'ttmlParsed';\n\n /**\n * Triggered when a ttml chunk has to be parsed.\n * @event MediaPlayerEvents#TTML_TO_PARSE\n */\n this.TTML_TO_PARSE = 'ttmlToParse';\n\n /**\n * Triggered when a caption is rendered.\n * @event MediaPlayerEvents#CAPTION_RENDERED\n */\n this.CAPTION_RENDERED = 'captionRendered';\n\n /**\n * Triggered when the caption container is resized.\n * @event MediaPlayerEvents#CAPTION_CONTAINER_RESIZE\n */\n this.CAPTION_CONTAINER_RESIZE = 'captionContainerResize';\n\n /**\n * Sent when enough data is available that the media can be played,\n * at least for a couple of frames. This corresponds to the\n * HAVE_ENOUGH_DATA readyState.\n * @event MediaPlayerEvents#CAN_PLAY\n */\n this.CAN_PLAY = 'canPlay';\n\n /**\n * Sent when playback completes.\n * @event MediaPlayerEvents#PLAYBACK_ENDED\n */\n this.PLAYBACK_ENDED = 'playbackEnded';\n\n /**\n * Sent when an error occurs. The element's error\n * attribute contains more information.\n * @event MediaPlayerEvents#PLAYBACK_ERROR\n */\n this.PLAYBACK_ERROR = 'playbackError';\n\n /**\n * Sent when playback is not allowed (for example if user gesture is needed).\n * @event MediaPlayerEvents#PLAYBACK_NOT_ALLOWED\n */\n this.PLAYBACK_NOT_ALLOWED = 'playbackNotAllowed';\n\n /**\n * The media's metadata has finished loading; all attributes now\n * contain as much useful information as they're going to.\n * @event MediaPlayerEvents#PLAYBACK_METADATA_LOADED\n */\n this.PLAYBACK_METADATA_LOADED = 'playbackMetaDataLoaded';\n\n /**\n * Sent when playback is paused.\n * @event MediaPlayerEvents#PLAYBACK_PAUSED\n */\n this.PLAYBACK_PAUSED = 'playbackPaused';\n\n /**\n * Sent when the media begins to play (either for the first time, after having been paused,\n * or after ending and then restarting).\n *\n * @event MediaPlayerEvents#PLAYBACK_PLAYING\n */\n this.PLAYBACK_PLAYING = 'playbackPlaying';\n\n /**\n * Sent periodically to inform interested parties of progress downloading\n * the media. Information about the current amount of the media that has\n * been downloaded is available in the media element's buffered attribute.\n * @event MediaPlayerEvents#PLAYBACK_PROGRESS\n */\n this.PLAYBACK_PROGRESS = 'playbackProgress';\n\n /**\n * Sent when the playback speed changes.\n * @event MediaPlayerEvents#PLAYBACK_RATE_CHANGED\n */\n this.PLAYBACK_RATE_CHANGED = 'playbackRateChanged';\n\n /**\n * Sent when a seek operation completes.\n * @event MediaPlayerEvents#PLAYBACK_SEEKED\n */\n this.PLAYBACK_SEEKED = 'playbackSeeked';\n\n /**\n * Sent when a seek operation begins.\n * @event MediaPlayerEvents#PLAYBACK_SEEKING\n */\n this.PLAYBACK_SEEKING = 'playbackSeeking';\n\n /**\n * Sent when a seek operation has been asked.\n * @event MediaPlayerEvents#PLAYBACK_SEEK_ASKED\n */\n this.PLAYBACK_SEEK_ASKED = 'playbackSeekAsked';\n\n /**\n * Sent when the video element reports stalled\n * @event MediaPlayerEvents#PLAYBACK_STALLED\n */\n this.PLAYBACK_STALLED = 'playbackStalled';\n\n /**\n * Sent when playback of the media starts after having been paused;\n * that is, when playback is resumed after a prior pause event.\n *\n * @event MediaPlayerEvents#PLAYBACK_STARTED\n */\n this.PLAYBACK_STARTED = 'playbackStarted';\n\n /**\n * The time indicated by the element's currentTime attribute has changed.\n * @event MediaPlayerEvents#PLAYBACK_TIME_UPDATED\n */\n this.PLAYBACK_TIME_UPDATED = 'playbackTimeUpdated';\n\n /**\n * Sent when the media playback has stopped because of a temporary lack of data.\n *\n * @event MediaPlayerEvents#PLAYBACK_WAITING\n */\n this.PLAYBACK_WAITING = 'playbackWaiting';\n\n /**\n * Manifest validity changed - As a result of an MPD validity expiration event.\n * @event MediaPlayerEvents#MANIFEST_VALIDITY_CHANGED\n */\n this.MANIFEST_VALIDITY_CHANGED = 'manifestValidityChanged';\n\n /**\n * A gap occured in the timeline which requires a seek to the next period\n * @event MediaPlayerEvents#GAP_CAUSED_SEEK_TO_PERIOD_END\n */\n this.GAP_CAUSED_SEEK_TO_PERIOD_END = 'gapCausedSeekToPeriodEnd';\n\n /**\n * A gap occured in the timeline which requires an internal seek\n * @event MediaPlayerEvents#GAP_CAUSED_INTERNAL_SEEK\n */\n this.GAP_CAUSED_INTERNAL_SEEK = 'gapCausedInternalSeek';\n\n /**\n * Dash events are triggered at their respective start points on the timeline.\n * @event MediaPlayerEvents#EVENT_MODE_ON_START\n */\n this.EVENT_MODE_ON_START = 'eventModeOnStart';\n\n /**\n * Dash events are triggered as soon as they were parsed.\n * @event MediaPlayerEvents#EVENT_MODE_ON_RECEIVE\n */\n this.EVENT_MODE_ON_RECEIVE = 'eventModeOnReceive';\n\n /**\n * Event that is dispatched whenever the player encounters a potential conformance validation that might lead to unexpected/not optimal behavior\n * @event MediaPlayerEvents#CONFORMANCE_VIOLATION\n */\n this.CONFORMANCE_VIOLATION = 'conformanceViolation';\n }\n}\n\nlet mediaPlayerEvents = new MediaPlayerEvents();\nexport default mediaPlayerEvents;\n", "import MediaPlayer from './MediaPlayer';\n\nfunction MediaPlayerFactory() {\n /**\n * mime-type identifier for any source content to be accepted as a dash manifest by the create() method.\n * @type {string}\n */\n const SUPPORTED_MIME_TYPE = 'application/dash+xml';\n\n let logger;\n\n /**\n * A new MediaPlayer is instantiated for the supplied videoElement and optional source and context. If no context is provided,\n * a default DashContext is used. If no source is provided, the videoElement is interrogated to extract the first source whose\n * type is application/dash+xml.\n * The autoplay property of the videoElement is preserved. Any preload attribute is ignored. This method should be called after the page onLoad event is dispatched.\n * @param {HTMLMediaElement} video\n * @param {HTMLSourceElement} source\n * @param {Object} context\n * @returns {MediaPlayer|null}\n */\n function create(video, source, context) {\n if (!video || !(/^VIDEO$/i).test(video.nodeName)) return null;\n\n if (video._dashjs_player) return video._dashjs_player;\n\n let player;\n let videoID = (video.id || video.name || 'video element');\n\n source = source || [].slice.call(video.querySelectorAll('source')).filter(function (s) {\n return s.type == SUPPORTED_MIME_TYPE;\n })[0];\n if (!source && video.src) {\n source = document.createElement('source');\n source.src = video.src;\n } else if (!source && !video.src) {\n return null;\n }\n\n context = context || {};\n player = MediaPlayer(context).create();\n player.initialize(video, source.src, video.autoplay);\n\n if (!logger) {\n logger = player.getDebug().getLogger();\n }\n logger.debug('Converted ' + videoID + ' to dash.js player and added content: ' + source.src);\n\n // Store a reference to the player on the video element so it can be gotten at for debugging and so we know its\n // already been setup.\n video._dashjs_player = player;\n\n return player;\n }\n\n /**\n * Searches the provided scope for all instances of the indicated selector. If no scope is provided, document is used. If no selector is\n * specified, [data-dashjs-player] is used. The declarative setup also looks for source elements with the type attribute set to 'application/dash+xml'.\n * It then looks for those video elements which have a source element defined with a type matching 'application/dash+xml'.\n * A new MediaPlayer is instantiated for each matching video element and the appropriate source is assigned.\n * The autoplay property of the video element is preserved. Any preload attribute is ignored. This method should be called after the page onLoad event is dispatched.\n * Returns an array holding all the MediaPlayer instances that were added by this method.\n * @param {string} selector - CSS selector\n * @param {Object} scope\n * @returns {Array} an array of MediaPlayer objects\n */\n function createAll(selector, scope) {\n let aPlayers = [];\n selector = selector || '[data-dashjs-player]';\n scope = scope || document;\n let videos = scope.querySelectorAll(selector);\n for (let i = 0; i < videos.length; i++) {\n let player = create(videos[i], null);\n aPlayers.push(player);\n }\n\n let sources = scope.querySelectorAll('source[type=\"' + SUPPORTED_MIME_TYPE + '\"]');\n for (let i = 0; i < sources.length; i++) {\n let video = findVideo(sources[i]);\n let player = create(video, null);\n aPlayers.push(player);\n }\n\n return aPlayers;\n }\n\n function findVideo(el) {\n if ((/^VIDEO$/i).test(el.nodeName)) {\n return el;\n } else {\n return findVideo(el.parentNode);\n }\n }\n\n return {\n create: create,\n createAll: createAll\n };\n}\n\nlet instance = MediaPlayerFactory();\nlet loadInterval;\n\nfunction loadHandler() {\n window.removeEventListener('load', loadHandler);\n instance.createAll();\n}\n\nfunction loadIntervalHandler() {\n if (window.dashjs) {\n window.clearInterval(loadInterval);\n instance.createAll();\n }\n}\n\nlet avoidAutoCreate = typeof window !== 'undefined' && window && window.dashjs && window.dashjs.skipAutoCreate;\n\nif (!avoidAutoCreate && typeof window !== 'undefined' && window && window.addEventListener) {\n if (window.document.readyState === 'complete') {\n if (window.dashjs) {\n instance.createAll();\n } else {\n // If loaded asynchronously, window.readyState may be 'complete' even if dashjs hasn't loaded yet\n loadInterval = window.setInterval(loadIntervalHandler, 500);\n }\n } else {\n window.addEventListener('load', loadHandler);\n }\n}\n\nexport default instance;\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 */\nimport Debug from '../core/Debug';\nimport FactoryMaker from '../core/FactoryMaker';\n\n/**\n * This is a sink that is used to temporarily hold onto media chunks before a video element is added.\n * The discharge() function is used to get the chunks out of the PreBuffer for adding to a real SourceBuffer.\n *\n * @class PreBufferSink\n * @ignore\n * @implements FragmentSink\n */\nfunction PreBufferSink(onAppendedCallback) {\n const context = this.context;\n\n let instance,\n logger,\n outstandingInit;\n let chunks = [];\n let onAppended = onAppendedCallback;\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n }\n\n function reset() {\n chunks = [];\n outstandingInit = null;\n onAppended = null;\n }\n\n function append(chunk) {\n if (chunk.segmentType !== 'InitializationSegment') { //Init segments are stored in the initCache.\n chunks.push(chunk);\n chunks.sort(function (a, b) { return a.start - b.start; });\n outstandingInit = null;\n } else {//We need to hold an init chunk for when a corresponding media segment is being downloaded when the discharge happens.\n outstandingInit = chunk;\n }\n\n logger.debug('PreBufferSink appended chunk s: ' + chunk.start + '; e: ' + chunk.end);\n if (onAppended) {\n onAppended({\n chunk: chunk\n });\n }\n }\n\n function remove(start, end) {\n chunks = chunks.filter( a => !((isNaN(end) || a.start < end) && (isNaN(start) || a.end > start))); //The opposite of the getChunks predicate.\n }\n\n //Nothing async, nothing to abort.\n function abort() {\n }\n\n function getAllBufferRanges() {\n let ranges = [];\n\n for (let i = 0; i < chunks.length; i++) {\n let chunk = chunks[i];\n if (ranges.length === 0 || chunk.start > ranges[ranges.length - 1].end) {\n ranges.push({ start: chunk.start, end: chunk.end });\n } else {\n ranges[ranges.length - 1].end = chunk.end;\n }\n }\n\n //Implements TimeRanges interface. So acts just like sourceBuffer.buffered.\n const timeranges = {\n start: function (n) {\n return ranges[n].start;\n },\n end: function (n) {\n return ranges[n].end;\n }\n };\n\n Object.defineProperty(timeranges, 'length', {\n get: function () {\n return ranges.length;\n }\n });\n\n return timeranges;\n }\n\n function hasDiscontinuitiesAfter() {\n return false;\n }\n\n function updateTimestampOffset() {\n // Nothing to do\n }\n\n function getBuffer() {\n return this;\n }\n\n /**\n * Return the all chunks in the buffer the lie between times start and end.\n * Because a chunk cannot be split, this returns the full chunk if any part of its time lies in the requested range.\n * Chunks are removed from the buffer when they are discharged.\n * @function PreBufferSink#discharge\n * @param {?Number} start The start time from which to discharge from the buffer. If NaN, it is regarded as unbounded.\n * @param {?Number} end The end time from which to discharge from the buffer. If NaN, it is regarded as unbounded.\n * @returns {Array} The set of chunks from the buffer within the time ranges.\n */\n function discharge(start, end) {\n const result = getChunksAt(start, end);\n if (outstandingInit) {\n result.push(outstandingInit);\n outstandingInit = null;\n }\n\n remove(start, end);\n\n return result;\n }\n\n function getChunksAt(start, end) {\n return chunks.filter( a => ((isNaN(end) || a.start < end) && (isNaN(start) || a.end > start)) );\n }\n\n function waitForUpdateEnd(callback) {\n callback();\n }\n\n instance = {\n getAllBufferRanges: getAllBufferRanges,\n append: append,\n remove: remove,\n abort: abort,\n discharge: discharge,\n reset: reset,\n updateTimestampOffset: updateTimestampOffset,\n hasDiscontinuitiesAfter: hasDiscontinuitiesAfter,\n waitForUpdateEnd: waitForUpdateEnd,\n getBuffer: getBuffer\n };\n\n setup();\n\n return instance;\n}\n\nPreBufferSink.__dashjs_factory_name = 'PreBufferSink';\nconst factory = FactoryMaker.getClassFactory(PreBufferSink);\nexport default factory;\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 */\nimport Debug from '../core/Debug';\nimport DashJSError from './vo/DashJSError';\nimport EventBus from '../core/EventBus';\nimport Events from '../core/events/Events';\nimport FactoryMaker from '../core/FactoryMaker';\nimport TextController from './text/TextController';\nimport Errors from '../core/errors/Errors';\n\nconst MAX_ALLOWED_DISCONTINUITY = 0.1; // 100 milliseconds\n\n/**\n * @class SourceBufferSink\n * @ignore\n * @implements FragmentSink\n */\nfunction SourceBufferSink(mediaSource, mediaInfo, onAppendedCallback, oldBuffer) {\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n\n let instance,\n type,\n logger,\n buffer,\n isAppendingInProgress,\n intervalId;\n\n let callbacks = [];\n let appendQueue = [];\n let onAppended = onAppendedCallback;\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n isAppendingInProgress = false;\n\n type = mediaInfo.type;\n const codec = mediaInfo.codec;\n try {\n // Safari claims to support anything starting 'application/mp4'.\n // it definitely doesn't understand 'application/mp4;codecs=\"stpp\"'\n // - currently no browser does, so check for it and use our own\n // implementation. The same is true for codecs=\"wvtt\".\n if (codec.match(/application\\/mp4;\\s*codecs=\"(stpp|wvtt).*\"/i)) {\n throw new Error('not really supported');\n }\n buffer = oldBuffer ? oldBuffer : mediaSource.addSourceBuffer(codec);\n if (buffer.changeType && oldBuffer) {\n logger.debug('Doing period transition with changeType');\n buffer.changeType(codec);\n }\n\n updateAppendWindow();\n\n const CHECK_INTERVAL = 50;\n // use updateend event if possible\n if (typeof buffer.addEventListener === 'function') {\n try {\n buffer.addEventListener('updateend', updateEndHandler, false);\n buffer.addEventListener('error', errHandler, false);\n buffer.addEventListener('abort', errHandler, false);\n\n } catch (err) {\n // use setInterval to periodically check if updating has been completed\n intervalId = setInterval(checkIsUpdateEnded, CHECK_INTERVAL);\n }\n } else {\n // use setInterval to periodically check if updating has been completed\n intervalId = setInterval(checkIsUpdateEnded, CHECK_INTERVAL);\n }\n } catch (ex) {\n // Note that in the following, the quotes are open to allow for extra text after stpp and wvtt\n if ((mediaInfo.isText) || (codec.indexOf('codecs=\"stpp') !== -1) || (codec.indexOf('codecs=\"wvtt') !== -1)) {\n const textController = TextController(context).getInstance();\n buffer = textController.getTextSourceBuffer();\n } else {\n throw ex;\n }\n }\n }\n\n function getType() {\n return type;\n }\n\n function reset(keepBuffer) {\n if (buffer) {\n if (typeof buffer.removeEventListener === 'function') {\n buffer.removeEventListener('updateend', updateEndHandler, false);\n buffer.removeEventListener('error', errHandler, false);\n buffer.removeEventListener('abort', errHandler, false);\n }\n clearInterval(intervalId);\n callbacks = [];\n if (!keepBuffer) {\n try {\n if (!buffer.getClassName || buffer.getClassName() !== 'TextSourceBuffer') {\n logger.debug(`Removing sourcebuffer from media source`);\n mediaSource.removeSourceBuffer(buffer);\n }\n } catch (e) {\n logger.error('Failed to remove source buffer from media source.');\n }\n buffer = null;\n }\n isAppendingInProgress = false;\n }\n appendQueue = [];\n onAppended = null;\n }\n\n function getBuffer() {\n return buffer;\n }\n\n function getAllBufferRanges() {\n try {\n return buffer.buffered;\n } catch (e) {\n logger.error('getAllBufferRanges exception: ' + e.message);\n return null;\n }\n }\n\n function hasDiscontinuitiesAfter(time) {\n try {\n const ranges = getAllBufferRanges();\n if (ranges && ranges.length > 1) {\n for (let i = 0, len = ranges.length; i < len; i++) {\n if (i > 0) {\n if (time < ranges.start(i) && ranges.start(i) > ranges.end(i - 1) + MAX_ALLOWED_DISCONTINUITY) {\n return true;\n }\n }\n }\n }\n } catch (e) {\n logger.error('hasDiscontinuities exception: ' + e.message);\n }\n return false;\n }\n\n function append(chunk) {\n if (!chunk) {\n onAppended({\n chunk: chunk,\n error: new DashJSError(Errors.APPEND_ERROR_CODE, Errors.APPEND_ERROR_MESSAGE)\n });\n return;\n }\n appendQueue.push(chunk);\n if (!isAppendingInProgress) {\n waitForUpdateEnd(appendNextInQueue.bind(this));\n }\n }\n\n function updateTimestampOffset(MSETimeOffset) {\n if (buffer.timestampOffset !== MSETimeOffset && !isNaN(MSETimeOffset)) {\n waitForUpdateEnd(() => {\n if (MSETimeOffset < 0) {\n MSETimeOffset += 0.001;\n }\n buffer.timestampOffset = MSETimeOffset;\n });\n }\n }\n\n function updateAppendWindow(sInfo) {\n if (!buffer) {\n return;\n }\n waitForUpdateEnd(() => {\n try {\n let appendWindowEnd = mediaSource.duration;\n let appendWindowStart = 0;\n if (sInfo && !isNaN(sInfo.start) && !isNaN(sInfo.duration) && isFinite(sInfo.duration)) {\n appendWindowEnd = sInfo.start + sInfo.duration;\n }\n if (sInfo && !isNaN(sInfo.start)) {\n appendWindowStart = sInfo.start;\n }\n buffer.appendWindowStart = 0;\n buffer.appendWindowEnd = appendWindowEnd;\n buffer.appendWindowStart = appendWindowStart;\n logger.debug(`Updated append window. Set start to ${buffer.appendWindowStart} and end to ${buffer.appendWindowEnd}`);\n } catch (e) {\n logger.warn(`Failed to set append window`);\n }\n });\n }\n\n function remove(start, end, forceRemoval) {\n const sourceBufferSink = this;\n // make sure that the given time range is correct. Otherwise we will get InvalidAccessError\n waitForUpdateEnd(function () {\n try {\n if ((start >= 0) && (end > start) && (forceRemoval || mediaSource.readyState !== 'ended')) {\n buffer.remove(start, end);\n }\n // updating is in progress, we should wait for it to complete before signaling that this operation is done\n waitForUpdateEnd(function () {\n eventBus.trigger(Events.SOURCEBUFFER_REMOVE_COMPLETED, {\n buffer: sourceBufferSink,\n from: start,\n to: end,\n unintended: false\n });\n });\n } catch (err) {\n eventBus.trigger(Events.SOURCEBUFFER_REMOVE_COMPLETED, {\n buffer: sourceBufferSink,\n from: start,\n to: end,\n unintended: false,\n error: new DashJSError(err.code, err.message)\n });\n }\n });\n }\n\n function appendNextInQueue() {\n const sourceBufferSink = this;\n\n if (appendQueue.length > 0) {\n isAppendingInProgress = true;\n const nextChunk = appendQueue[0];\n appendQueue.splice(0, 1);\n let oldRanges = [];\n const afterSuccess = function () {\n // Safari sometimes drops a portion of a buffer after appending. Handle these situations here\n const newRanges = getAllBufferRanges();\n checkBufferGapsAfterAppend(sourceBufferSink, oldRanges, newRanges, nextChunk);\n if (appendQueue.length > 0) {\n appendNextInQueue.call(this);\n } else {\n isAppendingInProgress = false;\n if (onAppended) {\n onAppended({\n chunk: nextChunk\n });\n }\n }\n };\n\n try {\n if (nextChunk.bytes.length === 0) {\n afterSuccess.call(this);\n } else {\n oldRanges = getAllBufferRanges();\n if (buffer.appendBuffer) {\n buffer.appendBuffer(nextChunk.bytes);\n } else {\n buffer.append(nextChunk.bytes, nextChunk);\n }\n // updating is in progress, we should wait for it to complete before signaling that this operation is done\n waitForUpdateEnd(afterSuccess.bind(this));\n }\n } catch (err) {\n logger.fatal('SourceBuffer append failed \"' + err + '\"');\n if (appendQueue.length > 0) {\n appendNextInQueue();\n } else {\n isAppendingInProgress = false;\n }\n\n if (onAppended) {\n onAppended({\n chunk: nextChunk,\n error: new DashJSError(err.code, err.message)\n });\n }\n }\n }\n }\n\n function checkBufferGapsAfterAppend(buffer, oldRanges, newRanges, chunk) {\n if (oldRanges && oldRanges.length > 0 && oldRanges.length < newRanges.length &&\n isChunkAlignedWithRange(oldRanges, chunk)) {\n // A split in the range was created while appending\n eventBus.trigger(Events.SOURCEBUFFER_REMOVE_COMPLETED, {\n buffer: buffer,\n from: newRanges.end(newRanges.length - 2),\n to: newRanges.start(newRanges.length - 1),\n unintended: true\n });\n }\n }\n\n function isChunkAlignedWithRange(oldRanges, chunk) {\n for (let i = 0; i < oldRanges.length; i++) {\n const start = Math.round(oldRanges.start(i));\n const end = Math.round(oldRanges.end(i));\n if (end === chunk.start || start === chunk.end || (chunk.start >= start && chunk.end <= end)) {\n return true;\n }\n }\n return false;\n }\n\n function abort() {\n try {\n if (mediaSource.readyState === 'open') {\n buffer.abort();\n } else if (buffer.setTextTrack && mediaSource.readyState === 'ended') {\n buffer.abort(); //The cues need to be removed from the TextSourceBuffer via a call to abort()\n }\n } catch (ex) {\n logger.error('SourceBuffer append abort failed: \"' + ex + '\"');\n }\n appendQueue = [];\n }\n\n function executeCallback() {\n if (callbacks.length > 0) {\n const cb = callbacks.shift();\n if (buffer.updating) {\n waitForUpdateEnd(cb);\n } else {\n cb();\n // Try to execute next callback if still not updating\n executeCallback();\n }\n }\n }\n\n function checkIsUpdateEnded() {\n // if updating is still in progress do nothing and wait for the next check again.\n if (buffer.updating) return;\n // updating is completed, now we can stop checking and resolve the promise\n executeCallback();\n }\n\n function updateEndHandler() {\n if (buffer.updating) return;\n\n executeCallback();\n }\n\n function errHandler() {\n logger.error('SourceBufferSink error');\n }\n\n function waitForUpdateEnd(callback) {\n callbacks.push(callback);\n\n if (!buffer.updating) {\n executeCallback();\n }\n }\n\n instance = {\n getType: getType,\n getAllBufferRanges: getAllBufferRanges,\n getBuffer: getBuffer,\n append: append,\n remove: remove,\n abort: abort,\n reset: reset,\n updateTimestampOffset: updateTimestampOffset,\n hasDiscontinuitiesAfter: hasDiscontinuitiesAfter,\n waitForUpdateEnd: waitForUpdateEnd,\n updateAppendWindow\n };\n\n setup();\n\n return instance;\n}\n\nSourceBufferSink.__dashjs_factory_name = 'SourceBufferSink';\nconst factory = FactoryMaker.getClassFactory(SourceBufferSink);\nexport default factory;\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 */\nimport Constants from './constants/Constants';\nimport DashConstants from '../dash/constants/DashConstants';\nimport StreamProcessor from './StreamProcessor';\nimport FragmentController from './controllers/FragmentController';\nimport ThumbnailController from './thumbnail/ThumbnailController';\nimport EventBus from '../core/EventBus';\nimport Events from '../core/events/Events';\nimport Debug from '../core/Debug';\nimport Errors from '../core/errors/Errors';\nimport FactoryMaker from '../core/FactoryMaker';\nimport DashJSError from './vo/DashJSError';\nimport BoxParser from './utils/BoxParser';\nimport URLUtils from './utils/URLUtils';\n\nfunction Stream(config) {\n\n config = config || {};\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n const urlUtils = URLUtils(context).getInstance();\n\n const manifestModel = config.manifestModel;\n const mediaPlayerModel = config.mediaPlayerModel;\n const manifestUpdater = config.manifestUpdater;\n const adapter = config.adapter;\n const capabilities = config.capabilities;\n const capabilitiesFilter = config.capabilitiesFilter;\n const errHandler = config.errHandler;\n const timelineConverter = config.timelineConverter;\n const dashMetrics = config.dashMetrics;\n const abrController = config.abrController;\n const playbackController = config.playbackController;\n const eventController = config.eventController;\n const mediaController = config.mediaController;\n const textController = config.textController;\n const protectionController = config.protectionController;\n const videoModel = config.videoModel;\n const settings = config.settings;\n let streamInfo = config.streamInfo;\n\n let instance,\n logger,\n streamProcessors,\n isStreamInitialized,\n isStreamActivated,\n isMediaInitialized,\n hasVideoTrack,\n hasAudioTrack,\n updateError,\n isUpdating,\n fragmentController,\n thumbnailController,\n preloaded,\n boxParser,\n preloadingScheduled,\n debug,\n isEndedEventSignaled,\n trackChangedEvent;\n\n function setup() {\n debug = Debug(context).getInstance();\n logger = debug.getLogger(instance);\n resetInitialSettings();\n\n boxParser = BoxParser(context).getInstance();\n\n fragmentController = FragmentController(context).create({\n streamInfo: streamInfo,\n mediaPlayerModel: mediaPlayerModel,\n dashMetrics: dashMetrics,\n errHandler: errHandler,\n settings: settings,\n boxParser: boxParser,\n dashConstants: DashConstants,\n urlUtils: urlUtils\n });\n }\n\n function initialize() {\n registerEvents();\n registerProtectionEvents();\n eventBus.trigger(Events.STREAM_UPDATED, { streamInfo: streamInfo });\n }\n\n function registerEvents() {\n eventBus.on(Events.BUFFERING_COMPLETED, onBufferingCompleted, instance);\n eventBus.on(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, instance);\n eventBus.on(Events.INBAND_EVENTS, onInbandEvents, instance);\n }\n\n function unRegisterEvents() {\n eventBus.off(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, instance);\n eventBus.off(Events.BUFFERING_COMPLETED, onBufferingCompleted, instance);\n eventBus.off(Events.INBAND_EVENTS, onInbandEvents, instance);\n }\n\n function registerProtectionEvents() {\n if (protectionController) {\n eventBus.on(Events.KEY_ERROR, onProtectionError, instance);\n eventBus.on(Events.SERVER_CERTIFICATE_UPDATED, onProtectionError, instance);\n eventBus.on(Events.LICENSE_REQUEST_COMPLETE, onProtectionError, instance);\n eventBus.on(Events.KEY_SYSTEM_SELECTED, onProtectionError, instance);\n eventBus.on(Events.KEY_SESSION_CREATED, onProtectionError, instance);\n eventBus.on(Events.KEY_STATUSES_CHANGED, onProtectionError, instance);\n }\n }\n\n function unRegisterProtectionEvents() {\n if (protectionController) {\n eventBus.off(Events.KEY_ERROR, onProtectionError, instance);\n eventBus.off(Events.SERVER_CERTIFICATE_UPDATED, onProtectionError, instance);\n eventBus.off(Events.LICENSE_REQUEST_COMPLETE, onProtectionError, instance);\n eventBus.off(Events.KEY_SYSTEM_SELECTED, onProtectionError, instance);\n eventBus.off(Events.KEY_SESSION_CREATED, onProtectionError, instance);\n eventBus.off(Events.KEY_STATUSES_CHANGED, onProtectionError, instance);\n }\n }\n\n function getStreamId() {\n return streamInfo ? streamInfo.id : null;\n }\n\n /**\n * Activates Stream by re-initializing some of its components\n * @param {MediaSource} mediaSource\n * @memberof Stream#\n * @param {SourceBuffer} previousBuffers\n */\n function activate(mediaSource, previousBuffers) {\n if (!isStreamActivated) {\n let result;\n eventBus.on(Events.CURRENT_TRACK_CHANGED, onCurrentTrackChanged, instance);\n if (!getPreloaded()) {\n result = initializeMedia(mediaSource, previousBuffers);\n } else {\n initializeAfterPreload();\n result = previousBuffers;\n }\n isStreamActivated = true;\n return result;\n }\n return previousBuffers;\n }\n\n /**\n * Partially resets some of the Stream elements\n * @memberof Stream#\n * @param {boolean} keepBuffers\n */\n function deactivate(keepBuffers) {\n let ln = streamProcessors ? streamProcessors.length : 0;\n const errored = false;\n for (let i = 0; i < ln; i++) {\n let fragmentModel = streamProcessors[i].getFragmentModel();\n fragmentModel.removeExecutedRequestsBeforeTime(getStartTime() + getDuration());\n streamProcessors[i].reset(errored, keepBuffers);\n }\n streamProcessors = [];\n isStreamActivated = false;\n isMediaInitialized = false;\n setPreloaded(false);\n eventBus.off(Events.CURRENT_TRACK_CHANGED, onCurrentTrackChanged, instance);\n }\n\n function isActive() {\n return isStreamActivated;\n }\n\n function setMediaSource(mediaSource) {\n for (let i = 0; i < streamProcessors.length;) {\n if (isMediaSupported(streamProcessors[i].getMediaInfo())) {\n streamProcessors[i].setMediaSource(mediaSource);\n i++;\n } else {\n streamProcessors[i].reset();\n streamProcessors.splice(i, 1);\n }\n }\n\n for (let i = 0; i < streamProcessors.length; i++) {\n //Adding of new tracks to a stream processor isn't guaranteed by the spec after the METADATA_LOADED state\n //so do this after the buffers are created above.\n streamProcessors[i].dischargePreBuffer();\n }\n\n if (streamProcessors.length === 0) {\n const msg = 'No streams to play.';\n errHandler.error(new DashJSError(Errors.MANIFEST_ERROR_ID_NOSTREAMS_CODE, msg + 'nostreams', manifestModel.getValue()));\n logger.fatal(msg);\n }\n }\n\n function resetInitialSettings() {\n deactivate();\n isStreamInitialized = false;\n hasVideoTrack = false;\n hasAudioTrack = false;\n updateError = {};\n isUpdating = false;\n preloadingScheduled = false;\n isEndedEventSignaled = false;\n }\n\n function reset() {\n\n if (playbackController) {\n playbackController.pause();\n }\n\n if (fragmentController) {\n fragmentController.reset();\n fragmentController = null;\n }\n\n streamInfo = null;\n\n resetInitialSettings();\n\n unRegisterEvents();\n\n unRegisterProtectionEvents();\n\n setPreloaded(false);\n }\n\n function getDuration() {\n return streamInfo ? streamInfo.duration : NaN;\n }\n\n function getIsEndedEventSignaled() {\n return isEndedEventSignaled;\n }\n\n function setIsEndedEventSignaled(value) {\n isEndedEventSignaled = value;\n }\n\n function getStartTime() {\n return streamInfo ? streamInfo.start : NaN;\n }\n\n function getPreloadingScheduled() {\n return preloadingScheduled;\n }\n\n function setPreloadingScheduled(value) {\n preloadingScheduled = value;\n }\n\n function getLiveStartTime() {\n if (!streamInfo.manifestInfo.isDynamic) return NaN;\n // Get live start time of the video stream (1st in array of streams)\n // or audio if no video stream\n for (let i = 0; i < streamProcessors.length; i++) {\n if (streamProcessors[i].getType() === Constants.AUDIO ||\n streamProcessors[i].getType() === Constants.VIDEO) {\n return streamProcessors[i].getLiveStartTime();\n }\n }\n return NaN;\n }\n\n function getId() {\n return streamInfo ? streamInfo.id : null;\n }\n\n function getStreamInfo() {\n return streamInfo;\n }\n\n function getHasAudioTrack() {\n return hasAudioTrack;\n }\n\n function getHasVideoTrack() {\n return hasVideoTrack;\n }\n\n function getThumbnailController() {\n return thumbnailController;\n }\n\n function checkConfig() {\n if (!videoModel || !abrController || !abrController.hasOwnProperty('getBitrateList') || !adapter || !adapter.hasOwnProperty('getAllMediaInfoForType') || !adapter.hasOwnProperty('getEventsFor')) {\n throw new Error(Constants.MISSING_CONFIG_ERROR);\n }\n }\n\n /**\n * @param {string} type\n * @returns {Array}\n * @memberof Stream#\n */\n function getBitrateListFor(type) {\n checkConfig();\n if (type === Constants.IMAGE) {\n if (!thumbnailController) {\n return [];\n }\n return thumbnailController.getBitrateList();\n }\n const mediaInfo = getMediaInfo(type);\n return abrController.getBitrateList(mediaInfo);\n }\n\n function onProtectionError(event) {\n if (event.error) {\n errHandler.error(event.error);\n logger.fatal(event.error.message);\n reset();\n }\n }\n\n function isMediaSupported(mediaInfo) {\n const type = mediaInfo ? mediaInfo.type : null;\n let codec,\n msg;\n\n if (type === Constants.MUXED) {\n msg = 'Multiplexed representations are intentionally not supported, as they are not compliant with the DASH-AVC/264 guidelines';\n logger.fatal(msg);\n errHandler.error(new DashJSError(Errors.MANIFEST_ERROR_ID_MULTIPLEXED_CODE, msg, manifestModel.getValue()));\n return false;\n }\n\n if (type === Constants.TEXT || type === Constants.FRAGMENTED_TEXT || type === Constants.EMBEDDED_TEXT || type === Constants.IMAGE) {\n return true;\n }\n codec = mediaInfo.codec;\n logger.debug(type + ' codec: ' + codec);\n\n if (!!mediaInfo.contentProtection && !capabilities.supportsEncryptedMedia()) {\n errHandler.error(new DashJSError(Errors.CAPABILITY_MEDIAKEYS_ERROR_CODE, Errors.CAPABILITY_MEDIAKEYS_ERROR_MESSAGE));\n } else if (!capabilities.supportsCodec(codec)) {\n msg = type + 'Codec (' + codec + ') is not supported.';\n logger.error(msg);\n return false;\n }\n\n return true;\n }\n\n function onCurrentTrackChanged(e) {\n if (!streamInfo || e.newMediaInfo.streamInfo.id !== streamInfo.id) return;\n let mediaInfo = e.newMediaInfo;\n let manifest = manifestModel.getValue();\n\n adapter.setCurrentMediaInfo(streamInfo.id, mediaInfo.type, mediaInfo);\n\n let processor = getProcessorForMediaInfo(mediaInfo);\n if (!processor) return;\n\n let currentTime = playbackController.getTime();\n logger.info('Stream - Process track changed at current time ' + currentTime);\n\n logger.debug('Stream - Update stream controller');\n if (manifest.refreshManifestOnSwitchTrack) { // Applies only for MSS streams\n logger.debug('Stream - Refreshing manifest for switch track');\n trackChangedEvent = e;\n manifestUpdater.refreshManifest();\n } else {\n processor.selectMediaInfo(mediaInfo);\n if (mediaInfo.type !== Constants.FRAGMENTED_TEXT) {\n abrController.updateTopQualityIndex(mediaInfo);\n processor.switchTrackAsked();\n processor.getFragmentModel().abortRequests();\n } else {\n processor.getScheduleController().setSeekTarget(currentTime);\n processor.setBufferingTime(currentTime);\n processor.resetIndexHandler();\n }\n }\n }\n\n function createStreamProcessor(mediaInfo, allMediaForType, mediaSource, optionalSettings) {\n\n let fragmentModel = fragmentController.getModel(mediaInfo ? mediaInfo.type : null);\n\n let streamProcessor = StreamProcessor(context).create({\n streamInfo: streamInfo,\n type: mediaInfo ? mediaInfo.type : null,\n mimeType: mediaInfo ? mediaInfo.mimeType : null,\n timelineConverter: timelineConverter,\n adapter: adapter,\n manifestModel: manifestModel,\n mediaPlayerModel: mediaPlayerModel,\n fragmentModel: fragmentModel,\n dashMetrics: config.dashMetrics,\n baseURLController: config.baseURLController,\n abrController: abrController,\n playbackController: playbackController,\n mediaController: mediaController,\n textController: textController,\n errHandler: errHandler,\n settings: settings,\n boxParser: boxParser\n });\n\n streamProcessor.initialize(mediaSource, hasVideoTrack);\n abrController.updateTopQualityIndex(mediaInfo);\n\n if (optionalSettings) {\n streamProcessor.setBuffer(optionalSettings.buffer);\n streamProcessor.setBufferingTime(optionalSettings.currentTime);\n streamProcessors[optionalSettings.replaceIdx] = streamProcessor;\n } else {\n streamProcessors.push(streamProcessor);\n }\n\n if (optionalSettings && optionalSettings.ignoreMediaInfo) {\n return;\n }\n\n if (mediaInfo && (mediaInfo.type === Constants.TEXT || mediaInfo.type === Constants.FRAGMENTED_TEXT)) {\n let idx;\n for (let i = 0; i < allMediaForType.length; i++) {\n if (allMediaForType[i].index === mediaInfo.index) {\n idx = i;\n }\n streamProcessor.addMediaInfo(allMediaForType[i]); //creates text tracks for all adaptations in one stream processor\n }\n streamProcessor.selectMediaInfo(allMediaForType[idx]); //sets the initial media info\n } else {\n streamProcessor.addMediaInfo(mediaInfo, true);\n }\n }\n\n function initializeMediaForType(type, mediaSource) {\n const allMediaForType = adapter.getAllMediaInfoForType(streamInfo, type);\n\n let mediaInfo = null;\n let initialMediaInfo;\n\n if (!allMediaForType || allMediaForType.length === 0) {\n logger.info('No ' + type + ' data.');\n return;\n }\n\n if (type === Constants.VIDEO) {\n hasVideoTrack = true;\n }\n\n if (type === Constants.AUDIO) {\n hasAudioTrack = true;\n }\n\n for (let i = 0, ln = allMediaForType.length; i < ln; i++) {\n mediaInfo = allMediaForType[i];\n\n if (type === Constants.EMBEDDED_TEXT) {\n textController.addEmbeddedTrack(mediaInfo);\n } else {\n if (!isMediaSupported(mediaInfo)) continue;\n mediaController.addTrack(mediaInfo);\n }\n }\n\n if (type === Constants.EMBEDDED_TEXT || mediaController.getTracksFor(type, streamInfo).length === 0) {\n return;\n }\n\n if (type === Constants.IMAGE) {\n thumbnailController = ThumbnailController(context).create({\n streamInfo: streamInfo,\n adapter: adapter,\n baseURLController: config.baseURLController,\n timelineConverter: config.timelineConverter,\n debug: debug,\n eventBus: eventBus,\n events: Events,\n dashConstants: DashConstants\n });\n return;\n }\n\n\n mediaController.checkInitialMediaSettingsForType(type, streamInfo);\n initialMediaInfo = mediaController.getCurrentTrackFor(type, streamInfo);\n\n eventBus.trigger(Events.STREAM_INITIALIZING, {\n streamInfo: streamInfo,\n mediaInfo: mediaInfo\n });\n\n // TODO : How to tell index handler live/duration?\n // TODO : Pass to controller and then pass to each method on handler?\n\n createStreamProcessor(initialMediaInfo, allMediaForType, mediaSource);\n }\n\n function addInlineEvents() {\n if (eventController) {\n const events = adapter.getEventsFor(streamInfo);\n eventController.addInlineEvents(events);\n }\n }\n\n function addInbandEvents(events) {\n if (eventController) {\n eventController.addInbandEvents(events);\n }\n }\n\n function initializeMedia(mediaSource, previousBuffers) {\n checkConfig();\n let element = videoModel.getElement();\n\n addInlineEvents();\n\n isUpdating = true;\n\n capabilitiesFilter.filterUnsupportedFeaturesOfPeriod( streamInfo);\n\n if (!element || (element && (/^VIDEO$/i).test(element.nodeName))) {\n initializeMediaForType(Constants.VIDEO, mediaSource);\n }\n initializeMediaForType(Constants.AUDIO, mediaSource);\n initializeMediaForType(Constants.TEXT, mediaSource);\n initializeMediaForType(Constants.FRAGMENTED_TEXT, mediaSource);\n initializeMediaForType(Constants.EMBEDDED_TEXT, mediaSource);\n initializeMediaForType(Constants.MUXED, mediaSource);\n initializeMediaForType(Constants.IMAGE, mediaSource);\n\n //TODO. Consider initialization of TextSourceBuffer here if embeddedText, but no sideloadedText.\n const buffers = createBuffers(previousBuffers);\n\n isMediaInitialized = true;\n isUpdating = false;\n\n if (streamProcessors.length === 0) {\n const msg = 'No streams to play.';\n errHandler.error(new DashJSError(Errors.MANIFEST_ERROR_ID_NOSTREAMS_CODE, msg, manifestModel.getValue()));\n logger.fatal(msg);\n } else {\n checkIfInitializationCompleted();\n }\n\n return buffers;\n }\n\n function initializeAfterPreload() {\n isUpdating = true;\n checkConfig();\n capabilitiesFilter.filterUnsupportedFeaturesOfPeriod(streamInfo);\n\n isMediaInitialized = true;\n isUpdating = false;\n if (streamProcessors.length === 0) {\n const msg = 'No streams to play.';\n errHandler.error(new DashJSError(Errors.MANIFEST_ERROR_ID_NOSTREAMS_CODE, msg, manifestModel.getValue()));\n logger.debug(msg);\n } else {\n checkIfInitializationCompleted();\n }\n }\n\n function checkIfInitializationCompleted() {\n const ln = streamProcessors.length;\n const hasError = !!updateError.audio || !!updateError.video;\n let error = hasError ? new DashJSError(Errors.DATA_UPDATE_FAILED_ERROR_CODE, Errors.DATA_UPDATE_FAILED_ERROR_MESSAGE) : null;\n\n for (let i = 0; i < ln; i++) {\n if (streamProcessors[i].isUpdating() || isUpdating) {\n return;\n }\n }\n\n if (!isMediaInitialized) {\n return;\n }\n\n if (protectionController) {\n // Need to check if streamProcessors exists because streamProcessors\n // could be cleared in case an error is detected while initializing DRM keysystem\n protectionController.clearMediaInfoArrayByStreamId(getId());\n for (let i = 0; i < ln && streamProcessors[i]; i++) {\n const type = streamProcessors[i].getType();\n if (type === Constants.AUDIO ||\n type === Constants.VIDEO ||\n type === Constants.FRAGMENTED_TEXT) {\n let mediaInfo = streamProcessors[i].getMediaInfo();\n if (mediaInfo) {\n protectionController.initializeForMedia(mediaInfo);\n }\n }\n }\n }\n\n if (error) {\n errHandler.error(error);\n } else if (!isStreamInitialized) {\n isStreamInitialized = true;\n\n eventBus.trigger(Events.STREAM_INITIALIZED, {\n streamInfo: streamInfo,\n liveStartTime: !preloaded ? getLiveStartTime() : NaN\n });\n }\n\n // (Re)start ScheduleController:\n // - in case stream initialization has been completed after 'play' event (case for SegmentBase streams)\n // - in case stream is complete but a track switch has been requested\n for (let i = 0; i < ln && streamProcessors[i]; i++) {\n streamProcessors[i].getScheduleController().start();\n }\n }\n\n function getMediaInfo(type) {\n let streamProcessor = null;\n\n for (let i = 0; i < streamProcessors.length; i++) {\n streamProcessor = streamProcessors[i];\n\n if (streamProcessor.getType() === type) {\n return streamProcessor.getMediaInfo();\n }\n }\n\n return null;\n }\n\n function createBuffers(previousBuffers) {\n const buffers = {};\n for (let i = 0, ln = streamProcessors.length; i < ln; i++) {\n const buffer = streamProcessors[i].createBuffer(previousBuffers);\n if (buffer) {\n buffers[streamProcessors[i].getType()] = buffer.getBuffer();\n }\n }\n return buffers;\n }\n\n function onBufferingCompleted() {\n let processors = getProcessors();\n const ln = processors.length;\n\n if (ln === 0) {\n logger.warn('onBufferingCompleted - can\\'t trigger STREAM_BUFFERING_COMPLETED because no streamProcessor is defined');\n return;\n }\n\n // if there is at least one buffer controller that has not completed buffering yet do nothing\n for (let i = 0; i < ln; i++) {\n //if audio or video buffer is not buffering completed state, do not send STREAM_BUFFERING_COMPLETED\n if (!processors[i].isBufferingCompleted() && (processors[i].getType() === Constants.AUDIO || processors[i].getType() === Constants.VIDEO)) {\n logger.warn('onBufferingCompleted - One streamProcessor has finished but', processors[i].getType(), 'one is not buffering completed');\n return;\n }\n }\n\n logger.debug('onBufferingCompleted - trigger STREAM_BUFFERING_COMPLETED');\n eventBus.trigger(Events.STREAM_BUFFERING_COMPLETED, { streamInfo: streamInfo });\n }\n\n function onDataUpdateCompleted(e) {\n updateError[e.mediaType] = e.error;\n checkIfInitializationCompleted();\n }\n\n function onInbandEvents(e) {\n addInbandEvents(e.events);\n }\n\n function getProcessorForMediaInfo(mediaInfo) {\n if (!mediaInfo) {\n return null;\n }\n\n let processors = getProcessors();\n\n return processors.filter(function (processor) {\n return (processor.getType() === mediaInfo.type);\n })[0];\n }\n\n function getProcessors() {\n let arr = [];\n\n let type,\n streamProcessor;\n\n for (let i = 0; i < streamProcessors.length; i++) {\n streamProcessor = streamProcessors[i];\n type = streamProcessor.getType();\n\n if (type === Constants.AUDIO || type === Constants.VIDEO || type === Constants.FRAGMENTED_TEXT || type === Constants.TEXT) {\n arr.push(streamProcessor);\n }\n }\n\n return arr;\n }\n\n function updateData(updatedStreamInfo) {\n logger.info('Manifest updated... updating data system wide.');\n\n isStreamActivated = false;\n isUpdating = true;\n streamInfo = updatedStreamInfo;\n\n eventBus.trigger(Events.STREAM_UPDATED, { streamInfo: streamInfo });\n\n if (eventController) {\n addInlineEvents();\n }\n\n capabilitiesFilter.filterUnsupportedFeaturesOfPeriod(streamInfo);\n\n for (let i = 0, ln = streamProcessors.length; i < ln; i++) {\n let streamProcessor = streamProcessors[i];\n streamProcessor.updateStreamInfo(streamInfo);\n let mediaInfo = adapter.getMediaInfoForType(streamInfo, streamProcessor.getType());\n // Check if AdaptationSet has not been removed in MPD update\n if (mediaInfo) {\n abrController.updateTopQualityIndex(mediaInfo);\n streamProcessor.addMediaInfo(mediaInfo, true);\n }\n }\n\n if (trackChangedEvent) {\n let mediaInfo = trackChangedEvent.newMediaInfo;\n if (mediaInfo.type !== Constants.FRAGMENTED_TEXT) {\n let processor = getProcessorForMediaInfo(trackChangedEvent.oldMediaInfo);\n if (!processor) return;\n processor.switchTrackAsked();\n trackChangedEvent = undefined;\n }\n }\n\n isUpdating = false;\n checkIfInitializationCompleted();\n }\n\n function isMediaCodecCompatible(newStream, previousStream = null) {\n return compareCodecs(newStream, Constants.VIDEO, previousStream) && compareCodecs(newStream, Constants.AUDIO, previousStream);\n }\n\n function isProtectionCompatible(stream, previousStream = null) {\n return compareProtectionConfig(stream, Constants.VIDEO, previousStream) && compareProtectionConfig(stream, Constants.AUDIO, previousStream);\n }\n\n function compareProtectionConfig(stream, type, previousStream = null) {\n if (!stream) {\n return false;\n }\n const newStreamInfo = stream.getStreamInfo();\n const currentStreamInfo = previousStream ? previousStream.getStreamInfo() : getStreamInfo();\n\n if (!newStreamInfo || !currentStreamInfo) {\n return false;\n }\n\n const newAdaptation = adapter.getAdaptationForType(newStreamInfo.index, type, newStreamInfo);\n const currentAdaptation = adapter.getAdaptationForType(currentStreamInfo.index, type, currentStreamInfo);\n\n if (!newAdaptation || !currentAdaptation) {\n // If there is no adaptation for neither the old or the new stream they're compatible\n return !newAdaptation && !currentAdaptation;\n }\n\n // If the current period is unencrypted and the upcoming one is encrypted we need to reset sourcebuffers.\n return !(!isAdaptationDrmProtected(currentAdaptation) && isAdaptationDrmProtected(newAdaptation));\n }\n\n function isAdaptationDrmProtected(adaptation) {\n\n if (!adaptation) {\n // If there is no adaptation for neither the old or the new stream they're compatible\n return false;\n }\n\n // If the current period is unencrypted and the upcoming one is encrypted we need to reset sourcebuffers.\n return !!(adaptation.ContentProtection || (adaptation.Representation && adaptation.Representation.length > 0 && adaptation.Representation[0].ContentProtection));\n }\n\n function compareCodecs(newStream, type, previousStream = null) {\n if (!newStream || !newStream.hasOwnProperty('getStreamInfo')) {\n return false;\n }\n const newStreamInfo = newStream.getStreamInfo();\n const currentStreamInfo = previousStream ? previousStream.getStreamInfo() : getStreamInfo();\n\n if (!newStreamInfo || !currentStreamInfo) {\n return false;\n }\n\n const newAdaptation = adapter.getAdaptationForType(newStreamInfo.index, type, newStreamInfo);\n const currentAdaptation = adapter.getAdaptationForType(currentStreamInfo.index, type, currentStreamInfo);\n\n if (!newAdaptation || !currentAdaptation) {\n // If there is no adaptation for neither the old or the new stream they're compatible\n return !newAdaptation && !currentAdaptation;\n }\n\n const sameMimeType = newAdaptation && currentAdaptation && newAdaptation.mimeType === currentAdaptation.mimeType;\n const oldCodecs = currentAdaptation.Representation_asArray.map((representation) => {\n return representation.codecs;\n });\n\n const newCodecs = newAdaptation.Representation_asArray.map((representation) => {\n return representation.codecs;\n });\n\n const codecMatch = newCodecs.some((newCodec) => {\n return oldCodecs.indexOf(newCodec) > -1;\n });\n\n const partialCodecMatch = newCodecs.some((newCodec) => oldCodecs.some((oldCodec) => capabilities.codecRootCompatibleWithCodec(oldCodec, newCodec)));\n return codecMatch || (partialCodecMatch && sameMimeType);\n }\n\n function setPreloaded(value) {\n preloaded = value;\n }\n\n function getPreloaded() {\n return preloaded;\n }\n\n function preload(mediaSource, previousBuffers) {\n if (!getPreloaded()) {\n addInlineEvents();\n\n initializeMediaForType(Constants.VIDEO, mediaSource);\n initializeMediaForType(Constants.AUDIO, mediaSource);\n initializeMediaForType(Constants.TEXT, mediaSource);\n initializeMediaForType(Constants.FRAGMENTED_TEXT, mediaSource);\n initializeMediaForType(Constants.EMBEDDED_TEXT, mediaSource);\n initializeMediaForType(Constants.MUXED, mediaSource);\n initializeMediaForType(Constants.IMAGE, mediaSource);\n\n createBuffers(previousBuffers);\n\n eventBus.on(Events.CURRENT_TRACK_CHANGED, onCurrentTrackChanged, instance);\n for (let i = 0; i < streamProcessors.length && streamProcessors[i]; i++) {\n streamProcessors[i].getScheduleController().start();\n }\n\n setPreloaded(true);\n }\n }\n\n\n instance = {\n initialize: initialize,\n getStreamId: getStreamId,\n activate: activate,\n deactivate: deactivate,\n isActive: isActive,\n getDuration: getDuration,\n getStartTime: getStartTime,\n getId: getId,\n getStreamInfo: getStreamInfo,\n getHasAudioTrack: getHasAudioTrack,\n getHasVideoTrack: getHasVideoTrack,\n preload: preload,\n getThumbnailController: getThumbnailController,\n getBitrateListFor: getBitrateListFor,\n updateData: updateData,\n reset: reset,\n getProcessors: getProcessors,\n setMediaSource: setMediaSource,\n isMediaCodecCompatible: isMediaCodecCompatible,\n isProtectionCompatible: isProtectionCompatible,\n getPreloaded: getPreloaded,\n getPreloadingScheduled,\n setPreloadingScheduled,\n getIsEndedEventSignaled,\n setIsEndedEventSignaled\n };\n\n setup();\n return instance;\n}\n\nStream.__dashjs_factory_name = 'Stream';\nexport default FactoryMaker.getClassFactory(Stream);\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 */\nimport Constants from './constants/Constants';\nimport DashConstants from '../dash/constants/DashConstants';\nimport MetricsConstants from './constants/MetricsConstants';\nimport FragmentModel from './models/FragmentModel';\nimport BufferController from './controllers/BufferController';\nimport TextBufferController from './text/TextBufferController';\nimport ScheduleController from './controllers/ScheduleController';\nimport RepresentationController from '../dash/controllers/RepresentationController';\nimport LiveEdgeFinder from './utils/LiveEdgeFinder';\nimport FactoryMaker from '../core/FactoryMaker';\nimport {checkInteger} from './utils/SupervisorTools';\nimport EventBus from '../core/EventBus';\nimport Events from '../core/events/Events';\nimport DashHandler from '../dash/DashHandler';\nimport Errors from '../core/errors/Errors';\nimport DashJSError from './vo/DashJSError';\nimport Debug from '../core/Debug';\nimport RequestModifier from './utils/RequestModifier';\nimport URLUtils from '../streaming/utils/URLUtils';\nimport BoxParser from './utils/BoxParser';\nimport FragmentRequest from './vo/FragmentRequest';\nimport {PlayListTrace} from './vo/metrics/PlayList';\n\nfunction StreamProcessor(config) {\n\n config = config || {};\n let context = this.context;\n let eventBus = EventBus(context).getInstance();\n\n let streamInfo = config.streamInfo;\n let type = config.type;\n let errHandler = config.errHandler;\n let mimeType = config.mimeType;\n let timelineConverter = config.timelineConverter;\n let adapter = config.adapter;\n let manifestModel = config.manifestModel;\n let mediaPlayerModel = config.mediaPlayerModel;\n let fragmentModel = config.fragmentModel;\n let abrController = config.abrController;\n let playbackController = config.playbackController;\n let mediaController = config.mediaController;\n let textController = config.textController;\n let dashMetrics = config.dashMetrics;\n let settings = config.settings;\n let boxParser = config.boxParser;\n\n let instance,\n logger,\n isDynamic,\n mediaInfo,\n mediaInfoArr,\n bufferController,\n scheduleController,\n representationController,\n liveEdgeFinder,\n indexHandler,\n bufferingTime,\n bufferPruned;\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n resetInitialSettings();\n\n eventBus.on(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, instance, { priority: EventBus.EVENT_PRIORITY_HIGH }); // High priority to be notified before Stream\n eventBus.on(Events.QUALITY_CHANGE_REQUESTED, onQualityChanged, instance);\n eventBus.on(Events.INIT_FRAGMENT_NEEDED, onInitFragmentNeeded, instance);\n eventBus.on(Events.MEDIA_FRAGMENT_NEEDED, onMediaFragmentNeeded, instance);\n eventBus.on(Events.MEDIA_FRAGMENT_LOADED, onMediaFragmentLoaded, instance);\n eventBus.on(Events.BUFFER_LEVEL_UPDATED, onBufferLevelUpdated, instance);\n eventBus.on(Events.BUFFER_LEVEL_STATE_CHANGED, onBufferLevelStateChanged, instance);\n eventBus.on(Events.BUFFER_CLEARED, onBufferCleared, instance);\n eventBus.on(Events.SEEK_TARGET, onSeekTarget, instance);\n }\n\n function initialize(mediaSource, hasVideoTrack) {\n indexHandler = DashHandler(context).create({\n streamInfo: streamInfo,\n type: type,\n timelineConverter: timelineConverter,\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n baseURLController: config.baseURLController,\n errHandler: errHandler,\n settings: settings,\n boxParser: boxParser,\n events: Events,\n eventBus: eventBus,\n errors: Errors,\n debug: Debug(context).getInstance(),\n requestModifier: RequestModifier(context).getInstance(),\n dashConstants: DashConstants,\n constants: Constants,\n urlUtils: URLUtils(context).getInstance()\n });\n\n // Create live edge finder for dynamic streams\n isDynamic = streamInfo.manifestInfo.isDynamic;\n if (isDynamic) {\n liveEdgeFinder = LiveEdgeFinder(context).create({\n timelineConverter: timelineConverter\n });\n }\n\n // Create/initialize controllers\n indexHandler.initialize(isDynamic);\n abrController.registerStreamType(type, instance);\n\n representationController = RepresentationController(context).create({\n streamInfo: streamInfo,\n type: type,\n abrController: abrController,\n dashMetrics: dashMetrics,\n playbackController: playbackController,\n timelineConverter: timelineConverter,\n dashConstants: DashConstants,\n events: Events,\n eventBus: eventBus,\n errors: Errors\n });\n\n bufferController = createBufferControllerForType(type);\n if (bufferController) {\n bufferController.initialize(mediaSource);\n }\n\n scheduleController = ScheduleController(context).create({\n streamInfo: streamInfo,\n type: type,\n mimeType: mimeType,\n adapter: adapter,\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n fragmentModel: fragmentModel,\n abrController: abrController,\n playbackController: playbackController,\n textController: textController,\n mediaController: mediaController,\n bufferController: bufferController,\n settings: settings\n });\n\n scheduleController.initialize(hasVideoTrack);\n\n bufferingTime = 0;\n bufferPruned = false;\n }\n\n function getStreamId() {\n return streamInfo.id;\n }\n\n function getType() {\n return type;\n }\n\n function resetInitialSettings() {\n mediaInfoArr = [];\n mediaInfo = null;\n bufferingTime = 0;\n }\n\n function reset(errored, keepBuffers) {\n if (indexHandler) {\n indexHandler.reset();\n }\n\n if (bufferController) {\n bufferController.reset(errored, keepBuffers);\n bufferController = null;\n }\n\n if (scheduleController) {\n scheduleController.reset();\n scheduleController = null;\n }\n\n if (representationController) {\n representationController.reset();\n representationController = null;\n }\n\n if (liveEdgeFinder) {\n liveEdgeFinder.reset();\n liveEdgeFinder = null;\n }\n\n if (abrController && !keepBuffers) {\n abrController.unRegisterStreamType(type);\n }\n\n eventBus.off(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, instance);\n eventBus.off(Events.QUALITY_CHANGE_REQUESTED, onQualityChanged, instance);\n eventBus.off(Events.INIT_FRAGMENT_NEEDED, onInitFragmentNeeded, instance);\n eventBus.off(Events.MEDIA_FRAGMENT_NEEDED, onMediaFragmentNeeded, instance);\n eventBus.off(Events.MEDIA_FRAGMENT_LOADED, onMediaFragmentLoaded, instance);\n eventBus.off(Events.BUFFER_LEVEL_UPDATED, onBufferLevelUpdated, instance);\n eventBus.off(Events.BUFFER_LEVEL_STATE_CHANGED, onBufferLevelStateChanged, instance);\n eventBus.off(Events.BUFFER_CLEARED, onBufferCleared, instance);\n eventBus.off(Events.SEEK_TARGET, onSeekTarget, instance);\n\n resetInitialSettings();\n type = null;\n streamInfo = null;\n }\n\n function isUpdating() {\n return representationController ? representationController.isUpdating() : false;\n }\n\n\n function onDataUpdateCompleted(e) {\n if (!e.error) {\n // Update representation if no error\n scheduleController.setCurrentRepresentation(adapter.convertDataToRepresentationInfo(e.currentRepresentation));\n }\n if (!e.error || e.error.code === Errors.SEGMENTS_UPDATE_FAILED_ERROR_CODE) {\n // Update has been postponed, update nevertheless DVR info\n const activeStreamId = playbackController.getStreamController().getActiveStreamInfo().id;\n if (activeStreamId === streamInfo.id) {\n addDVRMetric();\n }\n }\n }\n\n function onQualityChanged(e) {\n let representationInfo = getRepresentationInfo(e.newQuality);\n scheduleController.setCurrentRepresentation(representationInfo);\n dashMetrics.pushPlayListTraceMetrics(new Date(), PlayListTrace.REPRESENTATION_SWITCH_STOP_REASON);\n dashMetrics.createPlaylistTraceMetrics(representationInfo.id, playbackController.getTime() * 1000, playbackController.getPlaybackRate());\n }\n\n function onBufferLevelUpdated(e) {\n dashMetrics.addBufferLevel(type, new Date(), e.bufferLevel * 1000);\n const activeStreamId = playbackController.getStreamController().getActiveStreamInfo().id;\n if (!manifestModel.getValue().doNotUpdateDVRWindowOnBufferUpdated && streamInfo.id === activeStreamId) {\n addDVRMetric();\n }\n }\n\n function onBufferLevelStateChanged(e) {\n dashMetrics.addBufferState(type, e.state, scheduleController.getBufferTarget());\n if (e.state === MetricsConstants.BUFFER_EMPTY && !playbackController.isSeeking()) {\n // logger.info('Buffer is empty! Stalling!');\n dashMetrics.pushPlayListTraceMetrics(new Date(), PlayListTrace.REBUFFERING_REASON);\n }\n }\n\n function onBufferCleared(e) {\n // Remove executed requests not buffered anymore\n fragmentModel.syncExecutedRequestsWithBufferedRange(\n bufferController.getBuffer().getAllBufferRanges(),\n streamInfo.duration);\n\n // If buffer removed ahead current time (QuotaExceededError or automatic buffer pruning) then adjust current index handler time\n if (e.from > playbackController.getTime()) {\n bufferingTime = e.from;\n bufferPruned = true;\n }\n }\n\n function addDVRMetric() {\n const manifestInfo = streamInfo.manifestInfo;\n const isDynamic = manifestInfo.isDynamic;\n const range = timelineConverter.calcSegmentAvailabilityRange(representationController.getCurrentRepresentation(), isDynamic);\n dashMetrics.addDVRInfo(getType(), playbackController.getTime(), manifestInfo, range);\n }\n\n function getRepresentationController() {\n return representationController;\n }\n\n function getBuffer() {\n return bufferController ? bufferController.getBuffer() : null;\n }\n\n function setBuffer(buffer) {\n bufferController.setBuffer(buffer);\n }\n\n function getBufferController() {\n return bufferController;\n }\n\n function getFragmentModel() {\n return fragmentModel;\n }\n\n function updateStreamInfo(newStreamInfo) {\n streamInfo = newStreamInfo;\n if (settings.get().streaming.useAppendWindow) {\n bufferController.updateAppendWindow();\n }\n }\n\n function getStreamInfo() {\n return streamInfo;\n }\n\n function selectMediaInfo(newMediaInfo) {\n if (newMediaInfo !== mediaInfo && (!newMediaInfo || !mediaInfo || (newMediaInfo.type === mediaInfo.type))) {\n mediaInfo = newMediaInfo;\n }\n\n const newRealAdaptation = adapter.getRealAdaptation(streamInfo, mediaInfo);\n const voRepresentations = adapter.getVoRepresentations(mediaInfo);\n\n if (representationController) {\n const realAdaptation = representationController.getData();\n const maxQuality = abrController.getTopQualityIndexFor(type, streamInfo.id);\n const minIdx = abrController.getMinAllowedIndexFor(type);\n\n let quality,\n averageThroughput;\n let bitrate = null;\n\n if ((realAdaptation === null || (realAdaptation.id != newRealAdaptation.id)) && type !== Constants.FRAGMENTED_TEXT) {\n averageThroughput = abrController.getThroughputHistory().getAverageThroughput(type);\n bitrate = averageThroughput || abrController.getInitialBitrateFor(type);\n quality = abrController.getQualityForBitrate(mediaInfo, bitrate);\n } else {\n quality = abrController.getQualityFor(type);\n }\n\n if (minIdx !== undefined && quality < minIdx) {\n quality = minIdx;\n }\n if (quality > maxQuality) {\n quality = maxQuality;\n }\n indexHandler.setMimeType(mediaInfo ? mediaInfo.mimeType : null);\n representationController.updateData(newRealAdaptation, voRepresentations, type, quality);\n }\n }\n\n function addMediaInfo(newMediaInfo, selectNewMediaInfo) {\n if (mediaInfoArr.indexOf(newMediaInfo) === -1) {\n mediaInfoArr.push(newMediaInfo);\n }\n\n if (selectNewMediaInfo) {\n this.selectMediaInfo(newMediaInfo);\n }\n }\n\n function getMediaInfoArr() {\n return mediaInfoArr;\n }\n\n function getMediaInfo() {\n return mediaInfo;\n }\n\n function getMediaSource() {\n return bufferController.getMediaSource();\n }\n\n function setMediaSource(mediaSource) {\n bufferController.setMediaSource(mediaSource, getMediaInfoArr());\n }\n\n function dischargePreBuffer() {\n bufferController.dischargePreBuffer();\n }\n\n function getScheduleController() {\n return scheduleController;\n }\n\n /**\n * Get a specific voRepresentation. If quality parameter is defined, this function will return the voRepresentation for this quality.\n * Otherwise, this function will return the current voRepresentation used by the representationController.\n * @param {number} quality - quality index of the voRepresentaion expected.\n */\n function getRepresentationInfo(quality) {\n let voRepresentation;\n\n if (quality !== undefined) {\n checkInteger(quality);\n voRepresentation = representationController ? representationController.getRepresentationForQuality(quality) : null;\n } else {\n voRepresentation = representationController ? representationController.getCurrentRepresentation() : null;\n }\n\n return adapter.convertDataToRepresentationInfo(voRepresentation);\n }\n\n function isBufferingCompleted() {\n return bufferController ? bufferController.getIsBufferingCompleted() : false;\n }\n\n function getBufferLevel() {\n return bufferController ? bufferController.getBufferLevel() : 0;\n }\n\n function onInitFragmentNeeded(e) {\n // Event propagation may have been stopped (see MssHandler)\n if (!e.sender) return;\n\n if (adapter.getIsTextTrack(mimeType) && !textController.isTextEnabled()) return;\n\n if (bufferController && e.representationId) {\n if (!bufferController.appendInitSegment(e.representationId)) {\n // Init segment not in cache, send new request\n const request = indexHandler ? indexHandler.getInitRequest(getMediaInfo(), representationController.getCurrentRepresentation()) : null;\n scheduleController.processInitRequest(request);\n }\n }\n }\n\n function onMediaFragmentNeeded(e) {\n let request;\n\n // Don't schedule next fragments while pruning to avoid buffer inconsistencies\n if (!bufferController.getIsPruningInProgress()) {\n request = findNextRequest(e.seekTarget, e.replacement);\n if (request) {\n scheduleController.setSeekTarget(NaN);\n if (!e.replacement) {\n if (!isNaN(request.startTime + request.duration)) {\n bufferingTime = request.startTime + request.duration;\n }\n request.delayLoadingTime = new Date().getTime() + scheduleController.getTimeToLoadDelay();\n scheduleController.setTimeToLoadDelay(0);\n }\n }\n }\n\n scheduleController.processMediaRequest(request);\n }\n\n /**\n * Probe the next request. This is used in the CMCD model to get information about the upcoming request. Note: No actual request is performed here.\n * @return {FragmentRequest|null}\n */\n function probeNextRequest() {\n const representationInfo = getRepresentationInfo();\n\n const representation = representationController && representationInfo ?\n representationController.getRepresentationForQuality(representationInfo.quality) : null;\n\n let request = indexHandler.getNextSegmentRequestIdempotent(\n getMediaInfo(),\n representation\n );\n\n return request;\n }\n\n function findNextRequest(seekTarget, requestToReplace) {\n const representationInfo = getRepresentationInfo();\n const hasSeekTarget = !isNaN(seekTarget);\n const currentTime = playbackController.getNormalizedTime();\n let time = hasSeekTarget ? seekTarget : bufferingTime;\n let bufferIsDivided = false;\n let request;\n\n if (isNaN(time) || (getType() === Constants.FRAGMENTED_TEXT && !textController.isTextEnabled())) {\n return null;\n }\n /**\n * This is critical for IE/Safari/EDGE\n * */\n if (bufferController) {\n let range = bufferController.getRangeAt(time);\n const playingRange = bufferController.getRangeAt(currentTime);\n if ((range !== null || playingRange !== null) && !hasSeekTarget) {\n if (!range || (playingRange && playingRange.start != range.start && playingRange.end != range.end)) {\n const hasDiscontinuities = bufferController.getBuffer().hasDiscontinuitiesAfter(currentTime);\n if (hasDiscontinuities && getType() !== Constants.FRAGMENTED_TEXT) {\n fragmentModel.removeExecutedRequestsAfterTime(playingRange.end);\n bufferIsDivided = true;\n }\n }\n }\n }\n\n if (requestToReplace) {\n time = requestToReplace.startTime + (requestToReplace.duration / 2);\n request = getFragmentRequest(representationInfo, time, {\n timeThreshold: 0,\n ignoreIsFinished: true\n });\n } else {\n // Use time just whenever is strictly needed\n const useTime = hasSeekTarget || bufferPruned || bufferIsDivided;\n request = getFragmentRequest(representationInfo,\n useTime ? time : undefined, {\n keepIdx: !useTime\n });\n bufferPruned = false;\n\n // Then, check if this request was downloaded or not\n while (request && request.action !== FragmentRequest.ACTION_COMPLETE && fragmentModel.isFragmentLoaded(request)) {\n // loop until we found not loaded fragment, or no fragment\n request = getFragmentRequest(representationInfo);\n }\n }\n\n return request;\n }\n\n function onMediaFragmentLoaded(e) {\n const chunk = e.chunk;\n\n const bytes = chunk.bytes;\n const quality = chunk.quality;\n const currentRepresentation = getRepresentationInfo(quality);\n\n const voRepresentation = representationController && currentRepresentation ? representationController.getRepresentationForQuality(currentRepresentation.quality) : null;\n const eventStreamMedia = adapter.getEventsFor(currentRepresentation.mediaInfo);\n const eventStreamTrack = adapter.getEventsFor(currentRepresentation, voRepresentation);\n\n if (eventStreamMedia && eventStreamMedia.length > 0 || eventStreamTrack && eventStreamTrack.length > 0) {\n const request = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_EXECUTED,\n quality: quality,\n index: chunk.index\n })[0];\n\n const events = handleInbandEvents(bytes, request, eventStreamMedia, eventStreamTrack);\n eventBus.trigger(Events.INBAND_EVENTS,\n { events: events },\n { streamId: streamInfo.id }\n );\n }\n }\n\n function handleInbandEvents(data, request, mediaInbandEvents, trackInbandEvents) {\n try {\n const eventStreams = {};\n const events = [];\n\n /* Extract the possible schemeIdUri : If a DASH client detects an event message box with a scheme that is not defined in MPD, the client is expected to ignore it */\n const inbandEvents = mediaInbandEvents.concat(trackInbandEvents);\n for (let i = 0, ln = inbandEvents.length; i < ln; i++) {\n eventStreams[inbandEvents[i].schemeIdUri + '/' + inbandEvents[i].value] = inbandEvents[i];\n }\n\n const isoFile = BoxParser(context).getInstance().parse(data);\n const eventBoxes = isoFile.getBoxes('emsg');\n\n if (!eventBoxes || eventBoxes.length === 0) {\n return events;\n }\n\n const sidx = isoFile.getBox('sidx');\n const mediaAnchorTime = sidx && !isNaN(sidx.earliest_presentation_time) && !isNaN(sidx.timescale) ? sidx.earliest_presentation_time / sidx.timescale : request && !isNaN(request.mediaStartTime) ? request.mediaStartTime : 0;\n const fragmentMediaStartTime = Math.max(mediaAnchorTime, 0);\n const voRepresentation = representationController.getCurrentRepresentation();\n\n for (let i = 0, ln = eventBoxes.length; i < ln; i++) {\n const event = adapter.getEvent(eventBoxes[i], eventStreams, fragmentMediaStartTime, voRepresentation);\n\n if (event) {\n events.push(event);\n }\n }\n\n return events;\n } catch (e) {\n return [];\n }\n }\n\n function createBuffer(previousBuffers) {\n return (getBuffer() || bufferController ? bufferController.createBuffer(mediaInfoArr, previousBuffers) : null);\n }\n\n function switchTrackAsked() {\n scheduleController.switchTrackAsked();\n }\n\n function createBufferControllerForType(type) {\n let controller = null;\n\n if (!type) {\n errHandler.error(new DashJSError(Errors.MEDIASOURCE_TYPE_UNSUPPORTED_CODE, Errors.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE + 'not properly defined'));\n return null;\n }\n\n if (type === Constants.VIDEO || type === Constants.AUDIO) {\n controller = BufferController(context).create({\n streamInfo: streamInfo,\n type: type,\n mediaPlayerModel: mediaPlayerModel,\n manifestModel: manifestModel,\n fragmentModel: fragmentModel,\n errHandler: errHandler,\n mediaController: mediaController,\n representationController: representationController,\n adapter: adapter,\n textController: textController,\n abrController: abrController,\n playbackController: playbackController,\n settings: settings\n });\n } else {\n controller = TextBufferController(context).create({\n streamInfo: streamInfo,\n type: type,\n mimeType: mimeType,\n mediaPlayerModel: mediaPlayerModel,\n manifestModel: manifestModel,\n fragmentModel: fragmentModel,\n errHandler: errHandler,\n mediaController: mediaController,\n representationController: representationController,\n adapter: adapter,\n textController: textController,\n abrController: abrController,\n playbackController: playbackController,\n settings: settings\n });\n }\n\n return controller;\n }\n\n\n function getLiveStartTime() {\n if (!isDynamic) return NaN;\n if (!liveEdgeFinder) return NaN;\n\n let liveStartTime = NaN;\n const currentRepresentationInfo = getRepresentationInfo();\n const liveEdge = liveEdgeFinder.getLiveEdge(currentRepresentationInfo);\n\n if (isNaN(liveEdge)) {\n return NaN;\n }\n\n const request = findRequestForLiveEdge(liveEdge, currentRepresentationInfo);\n\n if (request) {\n // When low latency mode is selected but browser doesn't support fetch\n // start at the beginning of the segment to avoid consuming the whole buffer\n if (settings.get().streaming.lowLatencyEnabled) {\n liveStartTime = request.duration < mediaPlayerModel.getLiveDelay() ? request.startTime : request.startTime + request.duration - mediaPlayerModel.getLiveDelay();\n } else {\n liveStartTime = request.startTime;\n }\n }\n\n return liveStartTime;\n }\n\n function findRequestForLiveEdge(liveEdge, currentRepresentationInfo) {\n try {\n let request = null;\n let liveDelay = playbackController.getLiveDelay();\n const dvrWindowSize = !isNaN(streamInfo.manifestInfo.DVRWindowSize) ? streamInfo.manifestInfo.DVRWindowSize : liveDelay;\n const dvrWindowSafetyMargin = 0.1 * dvrWindowSize;\n let startTime;\n\n // Make sure that we have at least a valid request for the end of the DVR window, otherwise we might try forever\n if (!isFinite(dvrWindowSize) || getFragmentRequest(currentRepresentationInfo, liveEdge - dvrWindowSize + dvrWindowSafetyMargin, {\n ignoreIsFinished: true\n })) {\n\n // Try to find a request as close as possible to the targeted live edge\n while (!request && liveDelay <= dvrWindowSize) {\n startTime = liveEdge - liveDelay;\n request = getFragmentRequest(currentRepresentationInfo, startTime, {\n ignoreIsFinished: true\n });\n if (!request) {\n liveDelay += 1; // Increase by one second for each iteration\n }\n }\n }\n\n if (request) {\n playbackController.setLiveDelay(liveDelay, true);\n }\n logger.debug('live edge: ' + liveEdge + ', live delay: ' + liveDelay + ', live target: ' + startTime);\n return request;\n } catch (e) {\n return null;\n }\n }\n\n function onSeekTarget(e) {\n bufferingTime = e.time;\n scheduleController.setSeekTarget(e.time);\n }\n\n function setBufferingTime(value) {\n bufferingTime = value;\n }\n\n function resetIndexHandler() {\n if (indexHandler) {\n indexHandler.resetIndex();\n }\n }\n\n function getInitRequest(quality) {\n checkInteger(quality);\n const representation = representationController ? representationController.getRepresentationForQuality(quality) : null;\n return indexHandler ? indexHandler.getInitRequest(getMediaInfo(), representation) : null;\n }\n\n function getFragmentRequest(representationInfo, time, options) {\n let fragRequest = null;\n\n if (indexHandler) {\n const representation = representationController && representationInfo ? representationController.getRepresentationForQuality(representationInfo.quality) : null;\n\n // if time and options are undefined, it means the next segment is requested\n // otherwise, the segment at this specific time is requested.\n if (time !== undefined && options !== undefined) {\n fragRequest = indexHandler.getSegmentRequestForTime(getMediaInfo(), representation, time, options);\n } else {\n fragRequest = indexHandler.getNextSegmentRequest(getMediaInfo(), representation);\n }\n }\n\n return fragRequest;\n }\n\n function finalisePlayList(time, reason) {\n dashMetrics.pushPlayListTraceMetrics(time, reason);\n }\n\n instance = {\n initialize: initialize,\n getStreamId: getStreamId,\n getType: getType,\n isUpdating: isUpdating,\n getBufferController: getBufferController,\n getFragmentModel: getFragmentModel,\n getScheduleController: getScheduleController,\n getRepresentationController: getRepresentationController,\n getRepresentationInfo: getRepresentationInfo,\n getBufferLevel: getBufferLevel,\n isBufferingCompleted: isBufferingCompleted,\n createBuffer: createBuffer,\n updateStreamInfo: updateStreamInfo,\n getStreamInfo: getStreamInfo,\n selectMediaInfo: selectMediaInfo,\n addMediaInfo: addMediaInfo,\n getLiveStartTime: getLiveStartTime,\n switchTrackAsked: switchTrackAsked,\n getMediaInfoArr: getMediaInfoArr,\n getMediaInfo: getMediaInfo,\n getMediaSource: getMediaSource,\n setMediaSource: setMediaSource,\n dischargePreBuffer: dischargePreBuffer,\n getBuffer: getBuffer,\n setBuffer: setBuffer,\n setBufferingTime: setBufferingTime,\n resetIndexHandler: resetIndexHandler,\n getInitRequest: getInitRequest,\n getFragmentRequest: getFragmentRequest,\n finalisePlayList: finalisePlayList,\n probeNextRequest: probeNextRequest,\n reset: reset\n };\n\n setup();\n\n return instance;\n}\n\nStreamProcessor.__dashjs_factory_name = 'StreamProcessor';\nexport default FactoryMaker.getClassFactory(StreamProcessor);\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 */\nimport Constants from './constants/Constants';\nimport DashConstants from '../dash/constants/DashConstants';\nimport MetricsConstants from './constants/MetricsConstants';\nimport FragmentModel from './models/FragmentModel';\nimport BufferController from './controllers/BufferController';\nimport TextBufferController from './text/TextBufferController';\nimport ScheduleController from './controllers/ScheduleController';\nimport RepresentationController from '../dash/controllers/RepresentationController';\nimport LiveEdgeFinder from './utils/LiveEdgeFinder';\nimport FactoryMaker from '../core/FactoryMaker';\nimport {checkInteger} from './utils/SupervisorTools';\nimport EventBus from '../core/EventBus';\nimport Events from '../core/events/Events';\nimport DashHandler from '../dash/DashHandler';\nimport Errors from '../core/errors/Errors';\nimport DashJSError from './vo/DashJSError';\nimport Debug from '../core/Debug';\nimport RequestModifier from './utils/RequestModifier';\nimport URLUtils from '../streaming/utils/URLUtils';\nimport BoxParser from './utils/BoxParser';\nimport FragmentRequest from './vo/FragmentRequest';\nimport {PlayListTrace} from './vo/metrics/PlayList';\n\nfunction StreamProcessor(config) {\n\n config = config || {};\n let context = this.context;\n let eventBus = EventBus(context).getInstance();\n\n let streamInfo = config.streamInfo;\n let type = config.type;\n let errHandler = config.errHandler;\n let mimeType = config.mimeType;\n let timelineConverter = config.timelineConverter;\n let adapter = config.adapter;\n let manifestModel = config.manifestModel;\n let mediaPlayerModel = config.mediaPlayerModel;\n let fragmentModel = config.fragmentModel;\n let abrController = config.abrController;\n let playbackController = config.playbackController;\n let mediaController = config.mediaController;\n let textController = config.textController;\n let dashMetrics = config.dashMetrics;\n let settings = config.settings;\n let boxParser = config.boxParser;\n\n let instance,\n logger,\n isDynamic,\n mediaInfo,\n mediaInfoArr,\n bufferController,\n scheduleController,\n representationController,\n liveEdgeFinder,\n indexHandler,\n bufferingTime,\n bufferPruned;\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n resetInitialSettings();\n\n eventBus.on(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, instance, { priority: EventBus.EVENT_PRIORITY_HIGH }); // High priority to be notified before Stream\n eventBus.on(Events.QUALITY_CHANGE_REQUESTED, onQualityChanged, instance);\n eventBus.on(Events.INIT_FRAGMENT_NEEDED, onInitFragmentNeeded, instance);\n eventBus.on(Events.MEDIA_FRAGMENT_NEEDED, onMediaFragmentNeeded, instance);\n eventBus.on(Events.MEDIA_FRAGMENT_LOADED, onMediaFragmentLoaded, instance);\n eventBus.on(Events.BUFFER_LEVEL_UPDATED, onBufferLevelUpdated, instance);\n eventBus.on(Events.BUFFER_LEVEL_STATE_CHANGED, onBufferLevelStateChanged, instance);\n eventBus.on(Events.BUFFER_CLEARED, onBufferCleared, instance);\n eventBus.on(Events.QUOTA_EXCEEDED, onQuotaExceeded, instance);\n eventBus.on(Events.SEEK_TARGET, onSeekTarget, instance);\n }\n\n function initialize(mediaSource, hasVideoTrack) {\n indexHandler = DashHandler(context).create({\n streamInfo: streamInfo,\n type: type,\n timelineConverter: timelineConverter,\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n baseURLController: config.baseURLController,\n errHandler: errHandler,\n settings: settings,\n boxParser: boxParser,\n events: Events,\n eventBus: eventBus,\n errors: Errors,\n debug: Debug(context).getInstance(),\n requestModifier: RequestModifier(context).getInstance(),\n dashConstants: DashConstants,\n constants: Constants,\n urlUtils: URLUtils(context).getInstance()\n });\n\n // Create live edge finder for dynamic streams\n isDynamic = streamInfo.manifestInfo.isDynamic;\n if (isDynamic) {\n liveEdgeFinder = LiveEdgeFinder(context).create({\n timelineConverter: timelineConverter\n });\n }\n\n // Create/initialize controllers\n indexHandler.initialize(isDynamic);\n abrController.registerStreamType(type, instance);\n\n representationController = RepresentationController(context).create({\n streamInfo: streamInfo,\n type: type,\n abrController: abrController,\n dashMetrics: dashMetrics,\n playbackController: playbackController,\n timelineConverter: timelineConverter,\n dashConstants: DashConstants,\n events: Events,\n eventBus: eventBus,\n errors: Errors\n });\n\n bufferController = createBufferControllerForType(type);\n if (bufferController) {\n bufferController.initialize(mediaSource);\n }\n\n scheduleController = ScheduleController(context).create({\n streamInfo: streamInfo,\n type: type,\n mimeType: mimeType,\n adapter: adapter,\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n fragmentModel: fragmentModel,\n abrController: abrController,\n playbackController: playbackController,\n textController: textController,\n mediaController: mediaController,\n bufferController: bufferController,\n settings: settings\n });\n\n scheduleController.initialize(hasVideoTrack);\n\n bufferingTime = 0;\n bufferPruned = false;\n }\n\n function getStreamId() {\n return streamInfo.id;\n }\n\n function getType() {\n return type;\n }\n\n function resetInitialSettings() {\n mediaInfoArr = [];\n mediaInfo = null;\n bufferingTime = 0;\n }\n\n function reset(errored, keepBuffers) {\n if (indexHandler) {\n indexHandler.reset();\n }\n\n if (bufferController) {\n bufferController.reset(errored, keepBuffers);\n bufferController = null;\n }\n\n if (scheduleController) {\n scheduleController.reset();\n scheduleController = null;\n }\n\n if (representationController) {\n representationController.reset();\n representationController = null;\n }\n\n if (liveEdgeFinder) {\n liveEdgeFinder.reset();\n liveEdgeFinder = null;\n }\n\n if (abrController && !keepBuffers) {\n abrController.unRegisterStreamType(type);\n }\n\n eventBus.off(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, instance);\n eventBus.off(Events.QUALITY_CHANGE_REQUESTED, onQualityChanged, instance);\n eventBus.off(Events.INIT_FRAGMENT_NEEDED, onInitFragmentNeeded, instance);\n eventBus.off(Events.MEDIA_FRAGMENT_NEEDED, onMediaFragmentNeeded, instance);\n eventBus.off(Events.MEDIA_FRAGMENT_LOADED, onMediaFragmentLoaded, instance);\n eventBus.off(Events.BUFFER_LEVEL_UPDATED, onBufferLevelUpdated, instance);\n eventBus.off(Events.BUFFER_LEVEL_STATE_CHANGED, onBufferLevelStateChanged, instance);\n eventBus.off(Events.BUFFER_CLEARED, onBufferCleared, instance);\n eventBus.off(Events.SEEK_TARGET, onSeekTarget, instance);\n\n resetInitialSettings();\n type = null;\n streamInfo = null;\n }\n\n function isUpdating() {\n return representationController ? representationController.isUpdating() : false;\n }\n\n\n function onDataUpdateCompleted(e) {\n if (!e.error) {\n // Update representation if no error\n scheduleController.setCurrentRepresentation(adapter.convertDataToRepresentationInfo(e.currentRepresentation));\n }\n if (!e.error || e.error.code === Errors.SEGMENTS_UPDATE_FAILED_ERROR_CODE) {\n // Update has been postponed, update nevertheless DVR info\n const activeStreamId = playbackController.getStreamController().getActiveStreamInfo().id;\n if (activeStreamId === streamInfo.id) {\n addDVRMetric();\n }\n }\n }\n\n function onQualityChanged(e) {\n let representationInfo = getRepresentationInfo(e.newQuality);\n scheduleController.setCurrentRepresentation(representationInfo);\n dashMetrics.pushPlayListTraceMetrics(new Date(), PlayListTrace.REPRESENTATION_SWITCH_STOP_REASON);\n dashMetrics.createPlaylistTraceMetrics(representationInfo.id, playbackController.getTime() * 1000, playbackController.getPlaybackRate());\n }\n\n function onBufferLevelUpdated(e) {\n dashMetrics.addBufferLevel(type, new Date(), e.bufferLevel * 1000);\n const activeStreamId = playbackController.getStreamController().getActiveStreamInfo().id;\n if (!manifestModel.getValue().doNotUpdateDVRWindowOnBufferUpdated && streamInfo.id === activeStreamId) {\n addDVRMetric();\n }\n }\n\n function onBufferLevelStateChanged(e) {\n dashMetrics.addBufferState(type, e.state, scheduleController.getBufferTarget());\n if (e.state === MetricsConstants.BUFFER_EMPTY && !playbackController.isSeeking()) {\n // logger.info('Buffer is empty! Stalling!');\n dashMetrics.pushPlayListTraceMetrics(new Date(), PlayListTrace.REBUFFERING_REASON);\n }\n }\n\n function onBufferCleared(e) {\n // Remove executed requests not buffered anymore\n fragmentModel.syncExecutedRequestsWithBufferedRange(\n bufferController.getBuffer().getAllBufferRanges(),\n streamInfo.duration);\n\n // If buffer removed ahead current time (QuotaExceededError or automatic buffer pruning) then adjust current index handler time\n if (e.from > playbackController.getTime()) {\n bufferingTime = e.from;\n bufferPruned = true;\n }\n }\n\n function onQuotaExceeded(e) {\n bufferingTime = e.quotaExceededTime;\n bufferPruned = true;\n }\n\n function addDVRMetric() {\n const manifestInfo = streamInfo.manifestInfo;\n const isDynamic = manifestInfo.isDynamic;\n const range = timelineConverter.calcSegmentAvailabilityRange(representationController.getCurrentRepresentation(), isDynamic);\n dashMetrics.addDVRInfo(getType(), playbackController.getTime(), manifestInfo, range);\n }\n\n function getRepresentationController() {\n return representationController;\n }\n\n function getBuffer() {\n return bufferController ? bufferController.getBuffer() : null;\n }\n\n function setBuffer(buffer) {\n bufferController.setBuffer(buffer);\n }\n\n function getBufferController() {\n return bufferController;\n }\n\n function getFragmentModel() {\n return fragmentModel;\n }\n\n function updateStreamInfo(newStreamInfo) {\n streamInfo = newStreamInfo;\n if (settings.get().streaming.useAppendWindow) {\n bufferController.updateAppendWindow();\n }\n }\n\n function getStreamInfo() {\n return streamInfo;\n }\n\n function selectMediaInfo(newMediaInfo) {\n if (newMediaInfo !== mediaInfo && (!newMediaInfo || !mediaInfo || (newMediaInfo.type === mediaInfo.type))) {\n mediaInfo = newMediaInfo;\n }\n\n const newRealAdaptation = adapter.getRealAdaptation(streamInfo, mediaInfo);\n const voRepresentations = adapter.getVoRepresentations(mediaInfo);\n\n if (representationController) {\n const realAdaptation = representationController.getData();\n const maxQuality = abrController.getTopQualityIndexFor(type, streamInfo.id);\n const minIdx = abrController.getMinAllowedIndexFor(type);\n\n let quality,\n averageThroughput;\n let bitrate = null;\n\n if ((realAdaptation === null || (realAdaptation.id != newRealAdaptation.id)) && type !== Constants.FRAGMENTED_TEXT) {\n averageThroughput = abrController.getThroughputHistory().getAverageThroughput(type);\n bitrate = averageThroughput || abrController.getInitialBitrateFor(type);\n quality = abrController.getQualityForBitrate(mediaInfo, bitrate);\n } else {\n quality = abrController.getQualityFor(type);\n }\n\n if (minIdx !== undefined && quality < minIdx) {\n quality = minIdx;\n }\n if (quality > maxQuality) {\n quality = maxQuality;\n }\n indexHandler.setMimeType(mediaInfo ? mediaInfo.mimeType : null);\n representationController.updateData(newRealAdaptation, voRepresentations, type, quality);\n }\n }\n\n function addMediaInfo(newMediaInfo, selectNewMediaInfo) {\n if (mediaInfoArr.indexOf(newMediaInfo) === -1) {\n mediaInfoArr.push(newMediaInfo);\n }\n\n if (selectNewMediaInfo) {\n this.selectMediaInfo(newMediaInfo);\n }\n }\n\n function getMediaInfoArr() {\n return mediaInfoArr;\n }\n\n function getMediaInfo() {\n return mediaInfo;\n }\n\n function getMediaSource() {\n return bufferController.getMediaSource();\n }\n\n function setMediaSource(mediaSource) {\n bufferController.setMediaSource(mediaSource, getMediaInfoArr());\n }\n\n function dischargePreBuffer() {\n bufferController.dischargePreBuffer();\n }\n\n function getScheduleController() {\n return scheduleController;\n }\n\n /**\n * Get a specific voRepresentation. If quality parameter is defined, this function will return the voRepresentation for this quality.\n * Otherwise, this function will return the current voRepresentation used by the representationController.\n * @param {number} quality - quality index of the voRepresentaion expected.\n */\n function getRepresentationInfo(quality) {\n let voRepresentation;\n\n if (quality !== undefined) {\n checkInteger(quality);\n voRepresentation = representationController ? representationController.getRepresentationForQuality(quality) : null;\n } else {\n voRepresentation = representationController ? representationController.getCurrentRepresentation() : null;\n }\n\n return adapter.convertDataToRepresentationInfo(voRepresentation);\n }\n\n function isBufferingCompleted() {\n return bufferController ? bufferController.getIsBufferingCompleted() : false;\n }\n\n function getBufferLevel() {\n return bufferController ? bufferController.getBufferLevel() : 0;\n }\n\n function onInitFragmentNeeded(e) {\n // Event propagation may have been stopped (see MssHandler)\n if (!e.sender) return;\n\n if (adapter.getIsTextTrack(mimeType) && !textController.isTextEnabled()) return;\n\n if (bufferController && e.representationId) {\n if (!bufferController.appendInitSegment(e.representationId)) {\n // Init segment not in cache, send new request\n const request = indexHandler ? indexHandler.getInitRequest(getMediaInfo(), representationController.getCurrentRepresentation()) : null;\n scheduleController.processInitRequest(request);\n }\n }\n }\n\n function onMediaFragmentNeeded(e) {\n let request;\n\n // Don't schedule next fragments while pruning to avoid buffer inconsistencies\n if (!bufferController.getIsPruningInProgress()) {\n request = findNextRequest(e.seekTarget, e.replacement);\n if (request) {\n scheduleController.setSeekTarget(NaN);\n if (!e.replacement) {\n if (!isNaN(request.startTime + request.duration)) {\n bufferingTime = request.startTime + request.duration;\n }\n request.delayLoadingTime = new Date().getTime() + scheduleController.getTimeToLoadDelay();\n scheduleController.setTimeToLoadDelay(0);\n }\n }\n }\n\n scheduleController.processMediaRequest(request);\n }\n\n /**\n * Probe the next request. This is used in the CMCD model to get information about the upcoming request. Note: No actual request is performed here.\n * @return {FragmentRequest|null}\n */\n function probeNextRequest() {\n const representationInfo = getRepresentationInfo();\n\n const representation = representationController && representationInfo ?\n representationController.getRepresentationForQuality(representationInfo.quality) : null;\n\n let request = indexHandler.getNextSegmentRequestIdempotent(\n getMediaInfo(),\n representation\n );\n\n return request;\n }\n\n function findNextRequest(seekTarget, requestToReplace) {\n const representationInfo = getRepresentationInfo();\n const hasSeekTarget = !isNaN(seekTarget);\n const currentTime = playbackController.getNormalizedTime();\n let time = hasSeekTarget ? seekTarget : bufferingTime;\n let bufferIsDivided = false;\n let request;\n\n if (isNaN(time) || (getType() === Constants.FRAGMENTED_TEXT && !textController.isTextEnabled())) {\n return null;\n }\n /**\n * This is critical for IE/Safari/EDGE\n * */\n if (bufferController) {\n let range = bufferController.getRangeAt(time);\n const playingRange = bufferController.getRangeAt(currentTime);\n if ((range !== null || playingRange !== null) && !hasSeekTarget) {\n if (!range || (playingRange && playingRange.start != range.start && playingRange.end != range.end)) {\n const hasDiscontinuities = bufferController.getBuffer().hasDiscontinuitiesAfter(currentTime);\n if (hasDiscontinuities && getType() !== Constants.FRAGMENTED_TEXT) {\n fragmentModel.removeExecutedRequestsAfterTime(playingRange.end);\n bufferIsDivided = true;\n }\n }\n }\n }\n\n if (requestToReplace) {\n time = requestToReplace.startTime + (requestToReplace.duration / 2);\n request = getFragmentRequest(representationInfo, time, {\n timeThreshold: 0,\n ignoreIsFinished: true\n });\n } else {\n // Use time just whenever is strictly needed\n const useTime = hasSeekTarget || bufferPruned || bufferIsDivided;\n request = getFragmentRequest(representationInfo,\n useTime ? time : undefined, {\n keepIdx: !useTime\n });\n bufferPruned = false;\n\n // Then, check if this request was downloaded or not\n while (request && request.action !== FragmentRequest.ACTION_COMPLETE && fragmentModel.isFragmentLoaded(request)) {\n // loop until we found not loaded fragment, or no fragment\n request = getFragmentRequest(representationInfo);\n }\n }\n\n return request;\n }\n\n function onMediaFragmentLoaded(e) {\n const chunk = e.chunk;\n\n const bytes = chunk.bytes;\n const quality = chunk.quality;\n const currentRepresentation = getRepresentationInfo(quality);\n\n const voRepresentation = representationController && currentRepresentation ? representationController.getRepresentationForQuality(currentRepresentation.quality) : null;\n const eventStreamMedia = adapter.getEventsFor(currentRepresentation.mediaInfo);\n const eventStreamTrack = adapter.getEventsFor(currentRepresentation, voRepresentation);\n\n if (eventStreamMedia && eventStreamMedia.length > 0 || eventStreamTrack && eventStreamTrack.length > 0) {\n const request = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_EXECUTED,\n quality: quality,\n index: chunk.index\n })[0];\n\n const events = handleInbandEvents(bytes, request, eventStreamMedia, eventStreamTrack);\n eventBus.trigger(Events.INBAND_EVENTS,\n { events: events },\n { streamId: streamInfo.id }\n );\n }\n }\n\n function handleInbandEvents(data, request, mediaInbandEvents, trackInbandEvents) {\n try {\n const eventStreams = {};\n const events = [];\n\n /* Extract the possible schemeIdUri : If a DASH client detects an event message box with a scheme that is not defined in MPD, the client is expected to ignore it */\n const inbandEvents = mediaInbandEvents.concat(trackInbandEvents);\n for (let i = 0, ln = inbandEvents.length; i < ln; i++) {\n eventStreams[inbandEvents[i].schemeIdUri + '/' + inbandEvents[i].value] = inbandEvents[i];\n }\n\n const isoFile = BoxParser(context).getInstance().parse(data);\n const eventBoxes = isoFile.getBoxes('emsg');\n\n if (!eventBoxes || eventBoxes.length === 0) {\n return events;\n }\n\n const sidx = isoFile.getBox('sidx');\n const mediaAnchorTime = sidx && !isNaN(sidx.earliest_presentation_time) && !isNaN(sidx.timescale) ? sidx.earliest_presentation_time / sidx.timescale : request && !isNaN(request.mediaStartTime) ? request.mediaStartTime : 0;\n const fragmentMediaStartTime = Math.max(mediaAnchorTime, 0);\n const voRepresentation = representationController.getCurrentRepresentation();\n\n for (let i = 0, ln = eventBoxes.length; i < ln; i++) {\n const event = adapter.getEvent(eventBoxes[i], eventStreams, fragmentMediaStartTime, voRepresentation);\n\n if (event) {\n events.push(event);\n }\n }\n\n return events;\n } catch (e) {\n return [];\n }\n }\n\n function createBuffer(previousBuffers) {\n return (getBuffer() || bufferController ? bufferController.createBuffer(mediaInfoArr, previousBuffers) : null);\n }\n\n function switchTrackAsked() {\n scheduleController.switchTrackAsked();\n }\n\n function createBufferControllerForType(type) {\n let controller = null;\n\n if (!type) {\n errHandler.error(new DashJSError(Errors.MEDIASOURCE_TYPE_UNSUPPORTED_CODE, Errors.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE + 'not properly defined'));\n return null;\n }\n\n if (type === Constants.VIDEO || type === Constants.AUDIO) {\n controller = BufferController(context).create({\n streamInfo: streamInfo,\n type: type,\n mediaPlayerModel: mediaPlayerModel,\n manifestModel: manifestModel,\n fragmentModel: fragmentModel,\n errHandler: errHandler,\n mediaController: mediaController,\n representationController: representationController,\n adapter: adapter,\n textController: textController,\n abrController: abrController,\n playbackController: playbackController,\n settings: settings\n });\n } else {\n controller = TextBufferController(context).create({\n streamInfo: streamInfo,\n type: type,\n mimeType: mimeType,\n mediaPlayerModel: mediaPlayerModel,\n manifestModel: manifestModel,\n fragmentModel: fragmentModel,\n errHandler: errHandler,\n mediaController: mediaController,\n representationController: representationController,\n adapter: adapter,\n textController: textController,\n abrController: abrController,\n playbackController: playbackController,\n settings: settings\n });\n }\n\n return controller;\n }\n\n\n function getLiveStartTime() {\n if (!isDynamic) return NaN;\n if (!liveEdgeFinder) return NaN;\n\n let liveStartTime = NaN;\n const currentRepresentationInfo = getRepresentationInfo();\n const liveEdge = liveEdgeFinder.getLiveEdge(currentRepresentationInfo);\n\n if (isNaN(liveEdge)) {\n return NaN;\n }\n\n const request = findRequestForLiveEdge(liveEdge, currentRepresentationInfo);\n\n if (request) {\n // When low latency mode is selected but browser doesn't support fetch\n // start at the beginning of the segment to avoid consuming the whole buffer\n if (settings.get().streaming.lowLatencyEnabled) {\n liveStartTime = request.duration < mediaPlayerModel.getLiveDelay() ? request.startTime : request.startTime + request.duration - mediaPlayerModel.getLiveDelay();\n } else {\n liveStartTime = request.startTime;\n }\n }\n\n return liveStartTime;\n }\n\n function findRequestForLiveEdge(liveEdge, currentRepresentationInfo) {\n try {\n let request = null;\n let liveDelay = playbackController.getLiveDelay();\n const dvrWindowSize = !isNaN(streamInfo.manifestInfo.DVRWindowSize) ? streamInfo.manifestInfo.DVRWindowSize : liveDelay;\n const dvrWindowSafetyMargin = 0.1 * dvrWindowSize;\n let startTime;\n\n // Make sure that we have at least a valid request for the end of the DVR window, otherwise we might try forever\n if (!isFinite(dvrWindowSize) || getFragmentRequest(currentRepresentationInfo, liveEdge - dvrWindowSize + dvrWindowSafetyMargin, {\n ignoreIsFinished: true\n })) {\n\n // Try to find a request as close as possible to the targeted live edge\n while (!request && liveDelay <= dvrWindowSize) {\n startTime = liveEdge - liveDelay;\n request = getFragmentRequest(currentRepresentationInfo, startTime, {\n ignoreIsFinished: true\n });\n if (!request) {\n liveDelay += 1; // Increase by one second for each iteration\n }\n }\n }\n\n if (request) {\n playbackController.setLiveDelay(liveDelay, true);\n }\n logger.debug('live edge: ' + liveEdge + ', live delay: ' + liveDelay + ', live target: ' + startTime);\n return request;\n } catch (e) {\n return null;\n }\n }\n\n function onSeekTarget(e) {\n bufferingTime = e.time;\n scheduleController.setSeekTarget(e.time);\n }\n\n function setBufferingTime(value) {\n bufferingTime = value;\n }\n\n function resetIndexHandler() {\n if (indexHandler) {\n indexHandler.resetIndex();\n }\n }\n\n function getInitRequest(quality) {\n checkInteger(quality);\n const representation = representationController ? representationController.getRepresentationForQuality(quality) : null;\n return indexHandler ? indexHandler.getInitRequest(getMediaInfo(), representation) : null;\n }\n\n function getFragmentRequest(representationInfo, time, options) {\n let fragRequest = null;\n\n if (indexHandler) {\n const representation = representationController && representationInfo ? representationController.getRepresentationForQuality(representationInfo.quality) : null;\n\n // if time and options are undefined, it means the next segment is requested\n // otherwise, the segment at this specific time is requested.\n if (time !== undefined && options !== undefined) {\n fragRequest = indexHandler.getSegmentRequestForTime(getMediaInfo(), representation, time, options);\n } else {\n fragRequest = indexHandler.getNextSegmentRequest(getMediaInfo(), representation);\n }\n }\n\n return fragRequest;\n }\n\n function finalisePlayList(time, reason) {\n dashMetrics.pushPlayListTraceMetrics(time, reason);\n }\n\n instance = {\n initialize: initialize,\n getStreamId: getStreamId,\n getType: getType,\n isUpdating: isUpdating,\n getBufferController: getBufferController,\n getFragmentModel: getFragmentModel,\n getScheduleController: getScheduleController,\n getRepresentationController: getRepresentationController,\n getRepresentationInfo: getRepresentationInfo,\n getBufferLevel: getBufferLevel,\n isBufferingCompleted: isBufferingCompleted,\n createBuffer: createBuffer,\n updateStreamInfo: updateStreamInfo,\n getStreamInfo: getStreamInfo,\n selectMediaInfo: selectMediaInfo,\n addMediaInfo: addMediaInfo,\n getLiveStartTime: getLiveStartTime,\n switchTrackAsked: switchTrackAsked,\n getMediaInfoArr: getMediaInfoArr,\n getMediaInfo: getMediaInfo,\n getMediaSource: getMediaSource,\n setMediaSource: setMediaSource,\n dischargePreBuffer: dischargePreBuffer,\n getBuffer: getBuffer,\n setBuffer: setBuffer,\n setBufferingTime: setBufferingTime,\n resetIndexHandler: resetIndexHandler,\n getInitRequest: getInitRequest,\n getFragmentRequest: getFragmentRequest,\n finalisePlayList: finalisePlayList,\n probeNextRequest: probeNextRequest,\n reset: reset\n };\n\n setup();\n\n return instance;\n}\n\nStreamProcessor.__dashjs_factory_name = 'StreamProcessor';\nexport default FactoryMaker.getClassFactory(StreamProcessor);\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 */\nimport DashJSError from './vo/DashJSError';\nimport URLLoader from './net/URLLoader';\nimport {HTTPRequest} from './vo/metrics/HTTPRequest';\nimport TextRequest from './vo/TextRequest';\nimport EventBus from '../core/EventBus';\nimport Events from '../core/events/Events';\nimport FactoryMaker from '../core/FactoryMaker';\nimport Errors from '../core/errors/Errors';\n\nfunction XlinkLoader(config) {\n\n config = config || {};\n const RESOLVE_TO_ZERO = 'urn:mpeg:dash:resolve-to-zero:2013';\n\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n\n let urlLoader = URLLoader(context).create({\n errHandler: config.errHandler,\n dashMetrics: config.dashMetrics,\n mediaPlayerModel: config.mediaPlayerModel,\n requestModifier: config.requestModifier,\n useFetch: config.settings ? config.settings.get().streaming.lowLatencyEnabled : null,\n errors: Errors\n });\n\n let instance;\n\n function load(url, element, resolveObject) {\n const report = function (content, resolveToZero) {\n element.resolved = true;\n element.resolvedContent = content ? content : null;\n\n eventBus.trigger(Events.XLINK_ELEMENT_LOADED, {\n element: element,\n resolveObject: resolveObject,\n error: content || resolveToZero ?\n null :\n new DashJSError(\n Errors.XLINK_LOADER_LOADING_FAILURE_ERROR_CODE,\n Errors.XLINK_LOADER_LOADING_FAILURE_ERROR_MESSAGE + url\n )\n });\n };\n\n if (url === RESOLVE_TO_ZERO) {\n report(null, true);\n } else {\n const request = new TextRequest(url, HTTPRequest.XLINK_EXPANSION_TYPE);\n\n urlLoader.load({\n request: request,\n success: function (data) {\n report(data);\n },\n error: function () {\n report(null);\n }\n });\n }\n }\n\n function reset() {\n if (urlLoader) {\n urlLoader.abort();\n urlLoader = null;\n }\n }\n\n instance = {\n load: load,\n reset: reset\n };\n\n return instance;\n}\n\nXlinkLoader.__dashjs_factory_name = 'XlinkLoader';\nexport default FactoryMaker.getClassFactory(XlinkLoader);\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\nexport default {\n LEVELS: {\n SUGGESTION: 'Suggestion',\n WARNING: 'Warning',\n ERROR: 'Error'\n },\n EVENTS: {\n NO_UTC_TIMING_ELEMENT: {\n key: 'NO_UTC_TIMING_ELEMENT',\n message: 'No UTCTiming element is present in the manifest. You may experience playback failures. For a detailed validation use https://conformance.dashif.org/'\n },\n NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE: {\n key: 'NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE',\n message: 'SMPTE 2052-1:2013 defines the attribute name as \"imageType\" and does not define \"imagetype\"'\n }\n }\n};\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\n/**\n * Constants declaration\n * @class\n * @ignore\n * @hideconstructor\n */\nclass Constants {\n\n init() {\n /**\n * @constant {string} STREAM Stream media type. Mainly used to report metrics relative to the full stream\n * @memberof Constants#\n * @static\n */\n this.STREAM = 'stream';\n\n /**\n * @constant {string} VIDEO Video media type\n * @memberof Constants#\n * @static\n */\n this.VIDEO = 'video';\n\n /**\n * @constant {string} AUDIO Audio media type\n * @memberof Constants#\n * @static\n */\n this.AUDIO = 'audio';\n\n /**\n * @constant {string} TEXT Text media type\n * @memberof Constants#\n * @static\n */\n this.TEXT = 'text';\n\n /**\n * @constant {string} FRAGMENTED_TEXT Fragmented text media type\n * @memberof Constants#\n * @static\n */\n this.FRAGMENTED_TEXT = 'fragmentedText';\n\n /**\n * @constant {string} EMBEDDED_TEXT Embedded text media type\n * @memberof Constants#\n * @static\n */\n this.EMBEDDED_TEXT = 'embeddedText';\n\n /**\n * @constant {string} MUXED Muxed (video/audio in the same chunk) media type\n * @memberof Constants#\n * @static\n */\n this.MUXED = 'muxed';\n\n /**\n * @constant {string} IMAGE Image media type\n * @memberof Constants#\n * @static\n */\n this.IMAGE = 'image';\n\n /**\n * @constant {string} STPP STTP Subtitles format\n * @memberof Constants#\n * @static\n */\n this.STPP = 'stpp';\n\n /**\n * @constant {string} TTML STTP Subtitles format\n * @memberof Constants#\n * @static\n */\n this.TTML = 'ttml';\n\n /**\n * @constant {string} VTT STTP Subtitles format\n * @memberof Constants#\n * @static\n */\n this.VTT = 'vtt';\n\n /**\n * @constant {string} WVTT STTP Subtitles format\n * @memberof Constants#\n * @static\n */\n this.WVTT = 'wvtt';\n\n /**\n * @constant {string} ABR_STRATEGY_DYNAMIC Dynamic Adaptive bitrate algorithm\n * @memberof Constants#\n * @static\n */\n this.ABR_STRATEGY_DYNAMIC = 'abrDynamic';\n\n /**\n * @constant {string} ABR_STRATEGY_BOLA Adaptive bitrate algorithm based on Bola (buffer level)\n * @memberof Constants#\n * @static\n */\n this.ABR_STRATEGY_BOLA = 'abrBola';\n\n /**\n * @constant {string} ABR_STRATEGY_L2A Adaptive bitrate algorithm based on L2A (online learning)\n * @memberof Constants#\n * @static\n */\n this.ABR_STRATEGY_L2A = 'abrL2A';\n\n /**\n * @constant {string} ABR_STRATEGY_LoLP Adaptive bitrate algorithm based on LoL+\n * @memberof Constants#\n * @static\n */\n this.ABR_STRATEGY_LoLP = 'abrLoLP';\n\n /**\n * @constant {string} ABR_STRATEGY_THROUGHPUT Adaptive bitrate algorithm based on throughput\n * @memberof Constants#\n * @static\n */\n this.ABR_STRATEGY_THROUGHPUT = 'abrThroughput';\n\n /**\n * @constant {string} ABR_FETCH_THROUGHPUT_CALUCUALTION_DOWNLOADED_DATA Throughput calculation based on downloaded data array\n * @memberof Constants#\n * @static\n */\n this.ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA = 'abrFetchThroughputCalculationDownloadedData';\n\n /**\n * @constant {string} ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING Throughput calculation based on moof parsing\n * @memberof Constants#\n * @static\n */\n this.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING = 'abrFetchThroughputCalculationMoofParsing';\n\n /**\n * @constant {string} LIVE_CATCHUP_MODE_DEFAULT Throughput calculation based on moof parsing\n * @memberof Constants#\n * @static\n */\n this.LIVE_CATCHUP_MODE_DEFAULT = 'liveCatchupModeDefault';\n\n /**\n * @constant {string} LIVE_CATCHUP_MODE_LOLP Throughput calculation based on moof parsing\n * @memberof Constants#\n * @static\n */\n this.LIVE_CATCHUP_MODE_LOLP = 'liveCatchupModeLoLP';\n\n /**\n * @constant {string} MOVING_AVERAGE_SLIDING_WINDOW Moving average sliding window\n * @memberof Constants#\n * @static\n */\n this.MOVING_AVERAGE_SLIDING_WINDOW = 'slidingWindow';\n\n /**\n * @constant {string} EWMA Exponential moving average\n * @memberof Constants#\n * @static\n */\n this.MOVING_AVERAGE_EWMA = 'ewma';\n\n /**\n * @constant {string} BAD_ARGUMENT_ERROR Invalid Arguments type of error\n * @memberof Constants#\n * @static\n */\n this.BAD_ARGUMENT_ERROR = 'Invalid Arguments';\n\n /**\n * @constant {string} MISSING_CONFIG_ERROR Missing configuration parameters type of error\n * @memberof Constants#\n * @static\n */\n this.MISSING_CONFIG_ERROR = 'Missing config parameter(s)';\n\n /**\n * @constant {string} TRACK_SWITCH_MODE_ALWAYS_REPLACE used to clear the buffered data (prior to current playback position) after track switch. Default for audio\n * @memberof Constants#\n * @static\n */\n this.TRACK_SWITCH_MODE_ALWAYS_REPLACE = 'alwaysReplace';\n\n /**\n * @constant {string} TRACK_SWITCH_MODE_NEVER_REPLACE used to forbid clearing the buffered data (prior to current playback position) after track switch. Defers to fastSwitchEnabled for placement of new data. Default for video\n * @memberof Constants#\n * @static\n */\n this.TRACK_SWITCH_MODE_NEVER_REPLACE = 'neverReplace';\n\n /**\n * @constant {string} TRACK_SELECTION_MODE_HIGHEST_BITRATE makes the player select the track with a highest bitrate. This mode is a default mode.\n * @memberof Constants#\n * @static\n */\n this.TRACK_SELECTION_MODE_HIGHEST_BITRATE = 'highestBitrate';\n\n /**\n * @constant {string} TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY makes the player select the track with the lowest bitrate per pixel average.\n * @memberof Constants#\n * @static\n */\n this.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY = 'highestEfficiency';\n\n /**\n * @constant {string} TRACK_SELECTION_MODE_WIDEST_RANGE makes the player select the track with a widest range of bitrates.\n * @memberof Constants#\n * @static\n */\n this.TRACK_SELECTION_MODE_WIDEST_RANGE = 'widestRange';\n\n this.LOCATION = 'Location';\n this.INITIALIZE = 'initialize';\n this.TEXT_SHOWING = 'showing';\n this.TEXT_HIDDEN = 'hidden';\n this.CC1 = 'CC1';\n this.CC3 = 'CC3';\n this.UTF8 = 'utf-8';\n this.SCHEME_ID_URI = 'schemeIdUri';\n this.START_TIME = 'starttime';\n this.SERVICE_DESCRIPTION_LL_SCHEME = 'urn:dvb:dash:lowlatency:scope:2019';\n this.SUPPLEMENTAL_PROPERTY_LL_SCHEME = 'urn:dvb:dash:lowlatency:critical:2019';\n this.XML = 'XML';\n this.ARRAY_BUFFER = 'ArrayBuffer';\n this.DVB_REPORTING_URL = 'dvb:reportingUrl';\n this.DVB_PROBABILITY = 'dvb:probability';\n }\n\n constructor() {\n this.init();\n }\n}\n\nconst constants = new Constants();\nexport default constants;\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\n/**\n * Constants declaration\n * @class\n * @ignore\n * @hideconstructor\n */\nclass Constants {\n\n init() {\n /**\n * @constant {string} STREAM Stream media type. Mainly used to report metrics relative to the full stream\n * @memberof Constants#\n * @static\n */\n this.STREAM = 'stream';\n\n /**\n * @constant {string} VIDEO Video media type\n * @memberof Constants#\n * @static\n */\n this.VIDEO = 'video';\n\n /**\n * @constant {string} AUDIO Audio media type\n * @memberof Constants#\n * @static\n */\n this.AUDIO = 'audio';\n\n /**\n * @constant {string} TEXT Text media type\n * @memberof Constants#\n * @static\n */\n this.TEXT = 'text';\n\n /**\n * @constant {string} FRAGMENTED_TEXT Fragmented text media type\n * @memberof Constants#\n * @static\n */\n this.FRAGMENTED_TEXT = 'fragmentedText';\n\n /**\n * @constant {string} EMBEDDED_TEXT Embedded text media type\n * @memberof Constants#\n * @static\n */\n this.EMBEDDED_TEXT = 'embeddedText';\n\n /**\n * @constant {string} MUXED Muxed (video/audio in the same chunk) media type\n * @memberof Constants#\n * @static\n */\n this.MUXED = 'muxed';\n\n /**\n * @constant {string} IMAGE Image media type\n * @memberof Constants#\n * @static\n */\n this.IMAGE = 'image';\n\n /**\n * @constant {string} STPP STTP Subtitles format\n * @memberof Constants#\n * @static\n */\n this.STPP = 'stpp';\n\n /**\n * @constant {string} TTML STTP Subtitles format\n * @memberof Constants#\n * @static\n */\n this.TTML = 'ttml';\n\n /**\n * @constant {string} VTT STTP Subtitles format\n * @memberof Constants#\n * @static\n */\n this.VTT = 'vtt';\n\n /**\n * @constant {string} WVTT STTP Subtitles format\n * @memberof Constants#\n * @static\n */\n this.WVTT = 'wvtt';\n\n /**\n * @constant {string} ABR_STRATEGY_DYNAMIC Dynamic Adaptive bitrate algorithm\n * @memberof Constants#\n * @static\n */\n this.ABR_STRATEGY_DYNAMIC = 'abrDynamic';\n\n /**\n * @constant {string} ABR_STRATEGY_BOLA Adaptive bitrate algorithm based on Bola (buffer level)\n * @memberof Constants#\n * @static\n */\n this.ABR_STRATEGY_BOLA = 'abrBola';\n\n /**\n * @constant {string} ABR_STRATEGY_L2A Adaptive bitrate algorithm based on L2A (online learning)\n * @memberof Constants#\n * @static\n */\n this.ABR_STRATEGY_L2A = 'abrL2A';\n\n /**\n * @constant {string} ABR_STRATEGY_LoLP Adaptive bitrate algorithm based on LoL+\n * @memberof Constants#\n * @static\n */\n this.ABR_STRATEGY_LoLP = 'abrLoLP';\n\n /**\n * @constant {string} ABR_STRATEGY_THROUGHPUT Adaptive bitrate algorithm based on throughput\n * @memberof Constants#\n * @static\n */\n this.ABR_STRATEGY_THROUGHPUT = 'abrThroughput';\n\n /**\n * @constant {string} ABR_FETCH_THROUGHPUT_CALUCUALTION_DOWNLOADED_DATA Throughput calculation based on downloaded data array\n * @memberof Constants#\n * @static\n */\n this.ABR_FETCH_THROUGHPUT_CALCULATION_DOWNLOADED_DATA = 'abrFetchThroughputCalculationDownloadedData';\n\n /**\n * @constant {string} ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING Throughput calculation based on moof parsing\n * @memberof Constants#\n * @static\n */\n this.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING = 'abrFetchThroughputCalculationMoofParsing';\n\n /**\n * @constant {string} LIVE_CATCHUP_MODE_DEFAULT Throughput calculation based on moof parsing\n * @memberof Constants#\n * @static\n */\n this.LIVE_CATCHUP_MODE_DEFAULT = 'liveCatchupModeDefault';\n\n /**\n * @constant {string} LIVE_CATCHUP_MODE_LOLP Throughput calculation based on moof parsing\n * @memberof Constants#\n * @static\n */\n this.LIVE_CATCHUP_MODE_LOLP = 'liveCatchupModeLoLP';\n\n /**\n * @constant {string} MOVING_AVERAGE_SLIDING_WINDOW Moving average sliding window\n * @memberof Constants#\n * @static\n */\n this.MOVING_AVERAGE_SLIDING_WINDOW = 'slidingWindow';\n\n /**\n * @constant {string} EWMA Exponential moving average\n * @memberof Constants#\n * @static\n */\n this.MOVING_AVERAGE_EWMA = 'ewma';\n\n /**\n * @constant {string} BAD_ARGUMENT_ERROR Invalid Arguments type of error\n * @memberof Constants#\n * @static\n */\n this.BAD_ARGUMENT_ERROR = 'Invalid Arguments';\n\n /**\n * @constant {string} MISSING_CONFIG_ERROR Missing configuration parameters type of error\n * @memberof Constants#\n * @static\n */\n this.MISSING_CONFIG_ERROR = 'Missing config parameter(s)';\n\n /**\n * @constant {string} TRACK_SWITCH_MODE_ALWAYS_REPLACE used to clear the buffered data (prior to current playback position) after track switch. Default for audio\n * @memberof Constants#\n * @static\n */\n this.TRACK_SWITCH_MODE_ALWAYS_REPLACE = 'alwaysReplace';\n\n /**\n * @constant {string} TRACK_SWITCH_MODE_NEVER_REPLACE used to forbid clearing the buffered data (prior to current playback position) after track switch. Defers to fastSwitchEnabled for placement of new data. Default for video\n * @memberof Constants#\n * @static\n */\n this.TRACK_SWITCH_MODE_NEVER_REPLACE = 'neverReplace';\n\n /**\n * @constant {string} TRACK_SELECTION_MODE_FIRST_TRACK makes the player select the first track found in the manifest.\n * @memberof Constants#\n * @static\n */\n this.TRACK_SELECTION_MODE_FIRST_TRACK = 'firstTrack';\n\n /**\n * @constant {string} TRACK_SELECTION_MODE_HIGHEST_BITRATE makes the player select the track with a highest bitrate. This mode is a default mode.\n * @memberof Constants#\n * @static\n */\n this.TRACK_SELECTION_MODE_HIGHEST_BITRATE = 'highestBitrate';\n\n /**\n * @constant {string} TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY makes the player select the track with the lowest bitrate per pixel average.\n * @memberof Constants#\n * @static\n */\n this.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY = 'highestEfficiency';\n\n /**\n * @constant {string} TRACK_SELECTION_MODE_WIDEST_RANGE makes the player select the track with a widest range of bitrates.\n * @memberof Constants#\n * @static\n */\n this.TRACK_SELECTION_MODE_WIDEST_RANGE = 'widestRange';\n\n /**\n * @constant {string} CMCD_MODE_QUERY specifies to attach CMCD metrics as query parameters.\n * @memberof Constants#\n * @static\n */\n this.CMCD_MODE_QUERY = 'query';\n\n /**\n * @constant {string} CMCD_MODE_HEADER specifies to attach CMCD metrics as HTTP headers.\n * @memberof Constants#\n * @static\n */\n this.CMCD_MODE_HEADER = 'header';\n\n\n this.LOCATION = 'Location';\n this.INITIALIZE = 'initialize';\n this.TEXT_SHOWING = 'showing';\n this.TEXT_HIDDEN = 'hidden';\n this.CC1 = 'CC1';\n this.CC3 = 'CC3';\n this.UTF8 = 'utf-8';\n this.SCHEME_ID_URI = 'schemeIdUri';\n this.START_TIME = 'starttime';\n this.SERVICE_DESCRIPTION_LL_SCHEME = 'urn:dvb:dash:lowlatency:scope:2019';\n this.SUPPLEMENTAL_PROPERTY_LL_SCHEME = 'urn:dvb:dash:lowlatency:critical:2019';\n this.XML = 'XML';\n this.ARRAY_BUFFER = 'ArrayBuffer';\n this.DVB_REPORTING_URL = 'dvb:reportingUrl';\n this.DVB_PROBABILITY = 'dvb:probability';\n }\n\n constructor() {\n this.init();\n }\n}\n\nconst constants = new Constants();\nexport default constants;\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\n/**\n * Metrics Constants declaration\n * @class\n * @ignore\n */\nclass MetricsConstants {\n\n init () {\n this.TCP_CONNECTION = 'TcpList';\n this.HTTP_REQUEST = 'HttpList';\n this.TRACK_SWITCH = 'RepSwitchList';\n this.BUFFER_LEVEL = 'BufferLevel';\n this.BUFFER_LOADED = 'bufferLoaded';\n this.ABANDON_LOAD = 'abandonload';\n this.ALLOW_LOAD = 'allowload';\n this.BUFFER_EMPTY = 'bufferStalled';\n this.BUFFER_STATE = 'BufferState';\n this.DVR_INFO = 'DVRInfo';\n this.DROPPED_FRAMES = 'DroppedFrames';\n this.SCHEDULING_INFO = 'SchedulingInfo';\n this.REQUESTS_QUEUE = 'RequestsQueue';\n this.MANIFEST_UPDATE = 'ManifestUpdate';\n this.MANIFEST_UPDATE_STREAM_INFO = 'ManifestUpdatePeriodInfo';\n this.MANIFEST_UPDATE_TRACK_INFO = 'ManifestUpdateRepresentationInfo';\n this.PLAY_LIST = 'PlayList';\n this.DVB_ERRORS = 'DVBErrors';\n }\n\n constructor() {\n this.init();\n }\n}\n\nlet constants = new MetricsConstants();\nexport default constants;\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\n/**\n * Protection Constants declaration\n * @class\n * @ignore\n */\nclass ProtectionConstants {\n\n init () {\n this.CLEARKEY_KEYSTEM_STRING = 'org.w3.clearkey';\n this.WIDEVINE_KEYSTEM_STRING = 'com.widevine.alpha';\n this.PLAYREADY_KEYSTEM_STRING = 'com.microsoft.playready';\n }\n\n constructor () {\n this.init();\n }\n}\n\nlet constants = new ProtectionConstants();\nexport default constants;\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 ABRRulesCollection from '../rules/abr/ABRRulesCollection';\nimport Constants from '../constants/Constants';\nimport MetricsConstants from '../constants/MetricsConstants';\nimport BitrateInfo from '../vo/BitrateInfo';\nimport FragmentModel from '../models/FragmentModel';\nimport EventBus from '../../core/EventBus';\nimport Events from '../../core/events/Events';\nimport FactoryMaker from '../../core/FactoryMaker';\nimport RulesContext from '../rules/RulesContext';\nimport SwitchRequest from '../rules/SwitchRequest';\nimport SwitchRequestHistory from '../rules/SwitchRequestHistory';\nimport DroppedFramesHistory from '../rules/DroppedFramesHistory';\nimport ThroughputHistory from '../rules/ThroughputHistory';\nimport Debug from '../../core/Debug';\nimport { HTTPRequest } from '../vo/metrics/HTTPRequest';\nimport { checkInteger } from '../utils/SupervisorTools';\n\nconst DEFAULT_VIDEO_BITRATE = 1000;\nconst DEFAULT_AUDIO_BITRATE = 100;\nconst QUALITY_DEFAULT = 0;\n\nfunction AbrController() {\n\n const context = this.context;\n const debug = Debug(context).getInstance();\n const eventBus = EventBus(context).getInstance();\n\n let instance,\n logger,\n abrRulesCollection,\n streamController,\n topQualities,\n qualityDict,\n streamProcessorDict,\n abandonmentStateDict,\n abandonmentTimeout,\n windowResizeEventCalled,\n elementWidth,\n elementHeight,\n adapter,\n videoModel,\n mediaPlayerModel,\n domStorage,\n playbackIndex,\n switchHistoryDict,\n droppedFramesHistory,\n throughputHistory,\n isUsingBufferOccupancyABRDict,\n isUsingL2AABRDict,\n isUsingLoLPBRDict,\n dashMetrics,\n settings;\n\n function setup() {\n logger = debug.getLogger(instance);\n resetInitialSettings();\n }\n\n function registerStreamType(type, streamProcessor) {\n switchHistoryDict[type] = switchHistoryDict[type] || SwitchRequestHistory(context).create();\n streamProcessorDict[type] = streamProcessor;\n abandonmentStateDict[type] = abandonmentStateDict[type] || {};\n abandonmentStateDict[type].state = MetricsConstants.ALLOW_LOAD;\n isUsingBufferOccupancyABRDict[type] = false;\n isUsingL2AABRDict[type] = false;\n isUsingLoLPBRDict[type] = false;\n eventBus.on(Events.LOADING_PROGRESS, onFragmentLoadProgress, instance);\n if (type === Constants.VIDEO) {\n eventBus.on(Events.QUALITY_CHANGE_RENDERED, onQualityChangeRendered, instance);\n droppedFramesHistory = droppedFramesHistory || DroppedFramesHistory(context).create();\n setElementSize();\n }\n eventBus.on(Events.METRIC_ADDED, onMetricAdded, instance);\n eventBus.on(Events.PERIOD_SWITCH_COMPLETED, createAbrRulesCollection, instance);\n\n throughputHistory = throughputHistory || ThroughputHistory(context).create({\n settings: settings\n });\n }\n\n function unRegisterStreamType(type) {\n delete streamProcessorDict[type];\n }\n\n function createAbrRulesCollection() {\n abrRulesCollection = ABRRulesCollection(context).create({\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n settings: settings\n });\n\n abrRulesCollection.initialize();\n }\n\n function resetInitialSettings() {\n topQualities = {};\n qualityDict = {};\n abandonmentStateDict = {};\n streamProcessorDict = {};\n switchHistoryDict = {};\n isUsingBufferOccupancyABRDict = {};\n isUsingL2AABRDict = {};\n isUsingLoLPBRDict = {};\n if (windowResizeEventCalled === undefined) {\n windowResizeEventCalled = false;\n }\n playbackIndex = undefined;\n droppedFramesHistory = undefined;\n throughputHistory = undefined;\n clearTimeout(abandonmentTimeout);\n abandonmentTimeout = null;\n }\n\n function reset() {\n\n resetInitialSettings();\n\n eventBus.off(Events.LOADING_PROGRESS, onFragmentLoadProgress, instance);\n eventBus.off(Events.QUALITY_CHANGE_RENDERED, onQualityChangeRendered, instance);\n eventBus.off(Events.METRIC_ADDED, onMetricAdded, instance);\n eventBus.off(Events.PERIOD_SWITCH_COMPLETED, createAbrRulesCollection, instance);\n\n if (abrRulesCollection) {\n abrRulesCollection.reset();\n }\n }\n\n function setConfig(config) {\n if (!config) return;\n\n if (config.streamController) {\n streamController = config.streamController;\n }\n if (config.domStorage) {\n domStorage = config.domStorage;\n }\n if (config.mediaPlayerModel) {\n mediaPlayerModel = config.mediaPlayerModel;\n }\n if (config.dashMetrics) {\n dashMetrics = config.dashMetrics;\n }\n if (config.adapter) {\n adapter = config.adapter;\n }\n if (config.videoModel) {\n videoModel = config.videoModel;\n }\n if (config.settings) {\n settings = config.settings;\n }\n }\n\n function checkConfig() {\n if (!domStorage || !domStorage.hasOwnProperty('getSavedBitrateSettings')) {\n throw new Error(Constants.MISSING_CONFIG_ERROR);\n }\n }\n\n function onQualityChangeRendered(e) {\n if (e.mediaType === Constants.VIDEO) {\n if (playbackIndex !== undefined) {\n droppedFramesHistory.push(playbackIndex, videoModel.getPlaybackQuality());\n }\n playbackIndex = e.newQuality;\n }\n }\n\n function onMetricAdded(e) {\n if (e.metric === MetricsConstants.HTTP_REQUEST && e.value && e.value.type === HTTPRequest.MEDIA_SEGMENT_TYPE && (e.mediaType === Constants.AUDIO || e.mediaType === Constants.VIDEO)) {\n throughputHistory.push(e.mediaType, e.value, settings.get().streaming.abr.useDeadTimeLatency);\n }\n\n if (e.metric === MetricsConstants.BUFFER_LEVEL && (e.mediaType === Constants.AUDIO || e.mediaType === Constants.VIDEO)) {\n _updateAbrStrategy(e.mediaType, 0.001 * e.value.level);\n }\n }\n\n function getTopQualityIndexFor(type, id) {\n let idx;\n topQualities[id] = topQualities[id] || {};\n\n if (!topQualities[id].hasOwnProperty(type)) {\n topQualities[id][type] = 0;\n }\n\n idx = checkMaxBitrate(topQualities[id][type], type);\n idx = checkMaxRepresentationRatio(idx, type, topQualities[id][type]);\n idx = checkPortalSize(idx, type);\n return idx;\n }\n\n /**\n * Gets top BitrateInfo for the player\n * @param {string} type - 'video' or 'audio' are the type options.\n * @returns {BitrateInfo | null}\n */\n function getTopBitrateInfoFor(type) {\n if (type && streamProcessorDict && streamProcessorDict[type]) {\n const streamInfo = streamProcessorDict[type].getStreamInfo();\n if (streamInfo && streamInfo.id) {\n const idx = getTopQualityIndexFor(type, streamInfo.id);\n const bitrates = getBitrateList(streamProcessorDict[type].getMediaInfo());\n return bitrates[idx] ? bitrates[idx] : null;\n }\n }\n return null;\n }\n\n /**\n * @param {string} type\n * @returns {number} A value of the initial bitrate, kbps\n * @memberof AbrController#\n */\n function getInitialBitrateFor(type) {\n checkConfig();\n if (type === Constants.TEXT || type === Constants.FRAGMENTED_TEXT) {\n return NaN;\n }\n const savedBitrate = domStorage.getSavedBitrateSettings(type);\n let configBitrate = settings.get().streaming.abr.initialBitrate[type];\n let configRatio = settings.get().streaming.abr.initialRepresentationRatio[type];\n\n if (configBitrate === -1) {\n if (configRatio > -1) {\n const representation = adapter.getAdaptationForType(0, type).Representation;\n if (Array.isArray(representation)) {\n const repIdx = Math.max(Math.round(representation.length * configRatio) - 1, 0);\n configBitrate = representation[repIdx].bandwidth;\n } else {\n configBitrate = 0;\n }\n } else if (!isNaN(savedBitrate)) {\n configBitrate = savedBitrate;\n } else {\n configBitrate = (type === Constants.VIDEO) ? DEFAULT_VIDEO_BITRATE : DEFAULT_AUDIO_BITRATE;\n }\n }\n\n return configBitrate;\n }\n\n function getMaxAllowedBitrateFor(type) {\n return settings.get().streaming.abr.maxBitrate[type];\n }\n\n function getMinAllowedBitrateFor(type) {\n return settings.get().streaming.abr.minBitrate[type];\n }\n\n function getMaxAllowedIndexFor(type) {\n const maxBitrate = getMaxAllowedBitrateFor(type);\n if (maxBitrate > -1) {\n return getQualityForBitrate(streamProcessorDict[type].getMediaInfo(), maxBitrate);\n } else {\n return undefined;\n }\n }\n\n function getMinAllowedIndexFor(type) {\n const minBitrate = getMinAllowedBitrateFor(type);\n\n if (minBitrate > -1) {\n const mediaInfo = streamProcessorDict[type].getMediaInfo();\n const bitrateList = getBitrateList(mediaInfo);\n // This returns the quality index <= for the given bitrate\n let minIdx = getQualityForBitrate(mediaInfo, minBitrate);\n if (bitrateList[minIdx] && minIdx < bitrateList.length - 1 && bitrateList[minIdx].bitrate < minBitrate * 1000) {\n minIdx++; // Go to the next bitrate\n }\n return minIdx;\n } else {\n return undefined;\n }\n }\n\n function checkPlaybackQuality(type) {\n if (type && streamProcessorDict && streamProcessorDict[type]) {\n const streamInfo = streamProcessorDict[type].getStreamInfo();\n const streamId = streamInfo ? streamInfo.id : null;\n const oldQuality = getQualityFor(type);\n const rulesContext = RulesContext(context).create({\n abrController: instance,\n streamProcessor: streamProcessorDict[type],\n currentValue: oldQuality,\n switchHistory: switchHistoryDict[type],\n droppedFramesHistory: droppedFramesHistory,\n useBufferOccupancyABR: useBufferOccupancyABR(type),\n useL2AABR: useL2AABR(type),\n useLoLPABR: useLoLPABR(type),\n videoModel\n });\n\n if (droppedFramesHistory) {\n const playbackQuality = videoModel.getPlaybackQuality();\n if (playbackQuality) {\n droppedFramesHistory.push(playbackIndex, playbackQuality);\n }\n }\n if (!!settings.get().streaming.abr.autoSwitchBitrate[type]) {\n const minIdx = getMinAllowedIndexFor(type);\n const topQualityIdx = getTopQualityIndexFor(type, streamId);\n const switchRequest = abrRulesCollection.getMaxQuality(rulesContext);\n let newQuality = switchRequest.quality;\n if (minIdx !== undefined && ((newQuality > SwitchRequest.NO_CHANGE) ? newQuality : oldQuality) < minIdx) {\n newQuality = minIdx;\n }\n if (newQuality > topQualityIdx) {\n newQuality = topQualityIdx;\n }\n\n switchHistoryDict[type].push({ oldValue: oldQuality, newValue: newQuality });\n\n if (newQuality > SwitchRequest.NO_CHANGE && newQuality != oldQuality) {\n if (abandonmentStateDict[type].state === MetricsConstants.ALLOW_LOAD || newQuality > oldQuality) {\n changeQuality(type, oldQuality, newQuality, topQualityIdx, switchRequest.reason);\n }\n } else if (settings.get().debug.logLevel === Debug.LOG_LEVEL_DEBUG) {\n const bufferLevel = dashMetrics.getCurrentBufferLevel(type, true);\n logger.debug('[' + type + '] stay on ' + oldQuality + '/' + topQualityIdx + ' (buffer: ' + bufferLevel + ')');\n }\n }\n }\n }\n\n function setPlaybackQuality(type, streamInfo, newQuality, reason) {\n const id = streamInfo.id;\n const oldQuality = getQualityFor(type);\n\n checkInteger(newQuality);\n\n const topQualityIdx = getTopQualityIndexFor(type, id);\n if (newQuality !== oldQuality && newQuality >= 0 && newQuality <= topQualityIdx) {\n changeQuality(type, oldQuality, newQuality, topQualityIdx, reason);\n }\n }\n\n function changeQuality(type, oldQuality, newQuality, topQualityIdx, reason) {\n if (type && streamProcessorDict[type]) {\n const streamInfo = streamProcessorDict[type].getStreamInfo();\n const id = streamInfo ? streamInfo.id : null;\n if (settings.get().debug.logLevel === Debug.LOG_LEVEL_DEBUG) {\n const bufferLevel = dashMetrics.getCurrentBufferLevel(type);\n logger.info('[' + type + '] switch from ' + oldQuality + ' to ' + newQuality + '/' + topQualityIdx + ' (buffer: ' + bufferLevel + ') ' + (reason ? JSON.stringify(reason) : '.'));\n }\n setQualityFor(type, id, newQuality);\n eventBus.trigger(Events.QUALITY_CHANGE_REQUESTED,\n {\n oldQuality: oldQuality,\n newQuality: newQuality,\n reason: reason\n },\n { streamId: streamInfo.id, mediaType: type }\n );\n const bitrate = throughputHistory.getAverageThroughput(type);\n if (!isNaN(bitrate)) {\n domStorage.setSavedBitrateSettings(type, bitrate);\n }\n }\n }\n\n function setAbandonmentStateFor(type, state) {\n abandonmentStateDict[type].state = state;\n }\n\n function getAbandonmentStateFor(type) {\n return abandonmentStateDict[type] ? abandonmentStateDict[type].state : null;\n }\n\n /**\n * @param {MediaInfo} mediaInfo\n * @param {number} bitrate A bitrate value, kbps\n * @param {number} latency Expected latency of connection, ms\n * @returns {number} A quality index <= for the given bitrate\n * @memberof AbrController#\n */\n function getQualityForBitrate(mediaInfo, bitrate, latency) {\n const voRepresentation = mediaInfo && mediaInfo.type ? streamProcessorDict[mediaInfo.type].getRepresentationInfo() : null;\n\n if (settings.get().streaming.abr.useDeadTimeLatency && latency && voRepresentation && voRepresentation.fragmentDuration) {\n latency = latency / 1000;\n const fragmentDuration = voRepresentation.fragmentDuration;\n if (latency > fragmentDuration) {\n return 0;\n } else {\n const deadTimeRatio = latency / fragmentDuration;\n bitrate = bitrate * (1 - deadTimeRatio);\n }\n }\n\n const bitrateList = getBitrateList(mediaInfo);\n\n for (let i = bitrateList.length - 1; i >= 0; i--) {\n const bitrateInfo = bitrateList[i];\n if (bitrate * 1000 >= bitrateInfo.bitrate) {\n return i;\n }\n }\n return QUALITY_DEFAULT;\n }\n\n /**\n * @param {MediaInfo} mediaInfo\n * @returns {Array|null} A list of {@link BitrateInfo} objects\n * @memberof AbrController#\n */\n function getBitrateList(mediaInfo) {\n const infoList = [];\n if (!mediaInfo || !mediaInfo.bitrateList) return infoList;\n\n const bitrateList = mediaInfo.bitrateList;\n const type = mediaInfo.type;\n\n let bitrateInfo;\n\n for (let i = 0, ln = bitrateList.length; i < ln; i++) {\n bitrateInfo = new BitrateInfo();\n bitrateInfo.mediaType = type;\n bitrateInfo.qualityIndex = i;\n bitrateInfo.bitrate = bitrateList[i].bandwidth;\n bitrateInfo.width = bitrateList[i].width;\n bitrateInfo.height = bitrateList[i].height;\n bitrateInfo.scanType = bitrateList[i].scanType;\n infoList.push(bitrateInfo);\n }\n\n return infoList;\n }\n\n function _updateAbrStrategy(mediaType, bufferLevel) {\n const strategy = settings.get().streaming.abr.ABRStrategy;\n\n if (strategy === Constants.ABR_STRATEGY_L2A) {\n isUsingBufferOccupancyABRDict[mediaType] = false;\n isUsingLoLPBRDict[mediaType] = false;\n isUsingL2AABRDict[mediaType] = true;\n return;\n }\n if (strategy === Constants.ABR_STRATEGY_LoLP) {\n isUsingBufferOccupancyABRDict[mediaType] = false;\n isUsingLoLPBRDict[mediaType] = true;\n isUsingL2AABRDict[mediaType] = false;\n return;\n } else if (strategy === Constants.ABR_STRATEGY_BOLA) {\n isUsingBufferOccupancyABRDict[mediaType] = true;\n isUsingLoLPBRDict[mediaType] = false;\n isUsingL2AABRDict[mediaType] = false;\n return;\n } else if (strategy === Constants.ABR_STRATEGY_THROUGHPUT) {\n isUsingBufferOccupancyABRDict[mediaType] = false;\n isUsingLoLPBRDict[mediaType] = false;\n isUsingL2AABRDict[mediaType] = false;\n return;\n }\n // else ABR_STRATEGY_DYNAMIC\n _updateDynamicAbrStrategy(mediaType, bufferLevel);\n }\n\n function _updateDynamicAbrStrategy(mediaType, bufferLevel) {\n const stableBufferTime = mediaPlayerModel.getStableBufferTime();\n const switchOnThreshold = stableBufferTime;\n const switchOffThreshold = 0.5 * stableBufferTime;\n\n const useBufferABR = isUsingBufferOccupancyABRDict[mediaType];\n const newUseBufferABR = bufferLevel > (useBufferABR ? switchOffThreshold : switchOnThreshold); // use hysteresis to avoid oscillating rules\n isUsingBufferOccupancyABRDict[mediaType] = newUseBufferABR;\n\n if (newUseBufferABR !== useBufferABR) {\n if (newUseBufferABR) {\n logger.info('[' + mediaType + '] switching from throughput to buffer occupancy ABR rule (buffer: ' + bufferLevel.toFixed(3) + ').');\n } else {\n logger.info('[' + mediaType + '] switching from buffer occupancy to throughput ABR rule (buffer: ' + bufferLevel.toFixed(3) + ').');\n }\n }\n }\n\n function useBufferOccupancyABR(mediaType) {\n return isUsingBufferOccupancyABRDict[mediaType];\n }\n\n function useL2AABR(mediaType) {\n return isUsingL2AABRDict[mediaType];\n }\n\n function useLoLPABR(mediaType) {\n return isUsingLoLPBRDict[mediaType];\n }\n\n function getThroughputHistory() {\n return throughputHistory;\n }\n\n function updateTopQualityIndex(mediaInfo) {\n const type = mediaInfo.type;\n const streamId = mediaInfo.streamInfo.id;\n const max = mediaInfo.representationCount - 1;\n\n setTopQualityIndex(type, streamId, max);\n\n return max;\n }\n\n function isPlayingAtTopQuality(streamInfo) {\n const streamId = streamInfo ? streamInfo.id : null;\n const audioQuality = getQualityFor(Constants.AUDIO);\n const videoQuality = getQualityFor(Constants.VIDEO);\n\n const isAtTop = (audioQuality === getTopQualityIndexFor(Constants.AUDIO, streamId)) &&\n (videoQuality === getTopQualityIndexFor(Constants.VIDEO, streamId));\n\n return isAtTop;\n }\n\n function getQualityFor(type) {\n if (type && streamProcessorDict[type]) {\n const streamInfo = streamProcessorDict[type].getStreamInfo();\n const id = streamInfo ? streamInfo.id : null;\n let quality;\n\n if (id) {\n qualityDict[id] = qualityDict[id] || {};\n\n if (!qualityDict[id].hasOwnProperty(type)) {\n qualityDict[id][type] = QUALITY_DEFAULT;\n }\n\n quality = qualityDict[id][type];\n return quality;\n }\n }\n return QUALITY_DEFAULT;\n }\n\n function setQualityFor(type, id, value) {\n qualityDict[id] = qualityDict[id] || {};\n qualityDict[id][type] = value;\n }\n\n function setTopQualityIndex(type, id, value) {\n topQualities[id] = topQualities[id] || {};\n topQualities[id][type] = value;\n }\n\n function checkMaxBitrate(idx, type) {\n let newIdx = idx;\n\n if (!streamProcessorDict[type]) {\n return newIdx;\n }\n\n const minIdx = getMinAllowedIndexFor(type);\n if (minIdx !== undefined) {\n newIdx = Math.max(idx, minIdx);\n }\n\n const maxIdx = getMaxAllowedIndexFor(type);\n if (maxIdx !== undefined) {\n newIdx = Math.min(newIdx, maxIdx);\n }\n\n return newIdx;\n }\n\n function checkMaxRepresentationRatio(idx, type, maxIdx) {\n const maxRepresentationRatio = settings.get().streaming.abr.maxRepresentationRatio[type];\n if (isNaN(maxRepresentationRatio) || maxRepresentationRatio >= 1 || maxRepresentationRatio < 0) {\n return idx;\n }\n return Math.min(idx, Math.round(maxIdx * maxRepresentationRatio));\n }\n\n function setWindowResizeEventCalled(value) {\n windowResizeEventCalled = value;\n }\n\n function setElementSize() {\n if (videoModel) {\n const hasPixelRatio = settings.get().streaming.abr.usePixelRatioInLimitBitrateByPortal && window.hasOwnProperty('devicePixelRatio');\n const pixelRatio = hasPixelRatio ? window.devicePixelRatio : 1;\n elementWidth = videoModel.getClientWidth() * pixelRatio;\n elementHeight = videoModel.getClientHeight() * pixelRatio;\n }\n }\n\n function checkPortalSize(idx, type) {\n if (type !== Constants.VIDEO || !settings.get().streaming.abr.limitBitrateByPortal || !streamProcessorDict[type]) {\n return idx;\n }\n\n if (!windowResizeEventCalled) {\n setElementSize();\n }\n\n const representation = adapter.getAdaptationForType(0, type).Representation;\n let newIdx = idx;\n\n if (elementWidth > 0 && elementHeight > 0) {\n while (\n newIdx > 0 &&\n representation[newIdx] &&\n elementWidth < representation[newIdx].width &&\n elementWidth - representation[newIdx - 1].width < representation[newIdx].width - elementWidth) {\n newIdx = newIdx - 1;\n }\n\n // Make sure that in case of multiple representation elements have same\n // resolution, every such element is included\n while (newIdx < representation.length - 1 && representation[newIdx].width === representation[newIdx + 1].width) {\n newIdx = newIdx + 1;\n }\n }\n\n return newIdx;\n }\n\n function onFragmentLoadProgress(e) {\n const type = e.request.mediaType;\n if (!!settings.get().streaming.abr.autoSwitchBitrate[type]) {\n const streamProcessor = streamProcessorDict[type];\n if (!streamProcessor) return; // There may be a fragment load in progress when we switch periods and recreated some controllers.\n\n const rulesContext = RulesContext(context).create({\n abrController: instance,\n streamProcessor: streamProcessor,\n currentRequest: e.request,\n useBufferOccupancyABR: useBufferOccupancyABR(type),\n useL2AABR: useL2AABR(type),\n useLoLPABR: useLoLPABR(type),\n videoModel\n });\n const switchRequest = abrRulesCollection.shouldAbandonFragment(rulesContext);\n\n if (switchRequest.quality > SwitchRequest.NO_CHANGE) {\n const fragmentModel = streamProcessor.getFragmentModel();\n const request = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_LOADING,\n index: e.request.index\n })[0];\n if (request) {\n //TODO Check if we should abort or if better to finish download. check bytesLoaded/Total\n fragmentModel.abortRequests();\n setAbandonmentStateFor(type, MetricsConstants.ABANDON_LOAD);\n switchHistoryDict[type].reset();\n switchHistoryDict[type].push({\n oldValue: getQualityFor(type),\n newValue: switchRequest.quality,\n confidence: 1,\n reason: switchRequest.reason\n });\n setPlaybackQuality(type, streamController.getActiveStreamInfo(), switchRequest.quality, switchRequest.reason);\n\n clearTimeout(abandonmentTimeout);\n abandonmentTimeout = setTimeout(\n () => {\n setAbandonmentStateFor(type, MetricsConstants.ALLOW_LOAD);\n abandonmentTimeout = null;\n },\n settings.get().streaming.abandonLoadTimeout\n );\n }\n }\n }\n }\n\n instance = {\n isPlayingAtTopQuality: isPlayingAtTopQuality,\n updateTopQualityIndex: updateTopQualityIndex,\n getThroughputHistory: getThroughputHistory,\n getBitrateList: getBitrateList,\n getQualityForBitrate: getQualityForBitrate,\n getTopBitrateInfoFor: getTopBitrateInfoFor,\n getMaxAllowedIndexFor: getMaxAllowedIndexFor,\n getMinAllowedIndexFor: getMinAllowedIndexFor,\n getInitialBitrateFor: getInitialBitrateFor,\n getQualityFor: getQualityFor,\n getAbandonmentStateFor: getAbandonmentStateFor,\n setPlaybackQuality: setPlaybackQuality,\n checkPlaybackQuality: checkPlaybackQuality,\n getTopQualityIndexFor: getTopQualityIndexFor,\n setElementSize: setElementSize,\n setWindowResizeEventCalled: setWindowResizeEventCalled,\n createAbrRulesCollection: createAbrRulesCollection,\n registerStreamType: registerStreamType,\n unRegisterStreamType: unRegisterStreamType,\n setConfig: setConfig,\n reset: reset\n };\n\n setup();\n\n return instance;\n}\n\nAbrController.__dashjs_factory_name = 'AbrController';\nconst factory = FactoryMaker.getSingletonFactory(AbrController);\nfactory.QUALITY_DEFAULT = QUALITY_DEFAULT;\nFactoryMaker.updateSingletonFactory(AbrController.__dashjs_factory_name, factory);\nexport default factory;\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 BaseURLTreeModel from '../models/BaseURLTreeModel';\nimport BaseURLSelector from '../utils/BaseURLSelector';\nimport URLUtils from '../utils/URLUtils';\nimport BaseURL from '../../dash/vo/BaseURL';\nimport FactoryMaker from '../../core/FactoryMaker';\nimport EventBus from '../../core/EventBus';\nimport Events from '../../core/events/Events';\n\nfunction BaseURLController() {\n\n let instance,\n adapter;\n\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n const urlUtils = URLUtils(context).getInstance();\n\n let baseURLTreeModel,\n baseURLSelector;\n\n function onBlackListChanged(e) {\n baseURLTreeModel.invalidateSelectedIndexes(e.entry);\n }\n\n function setup() {\n baseURLTreeModel = BaseURLTreeModel(context).create();\n baseURLSelector = BaseURLSelector(context).create();\n\n eventBus.on(Events.SERVICE_LOCATION_BLACKLIST_CHANGED, onBlackListChanged, instance);\n }\n\n function setConfig(config) {\n if (config.baseURLTreeModel) {\n baseURLTreeModel = config.baseURLTreeModel;\n }\n\n if (config.baseURLSelector) {\n baseURLSelector = config.baseURLSelector;\n }\n\n if (config.adapter) {\n adapter = config.adapter;\n }\n }\n\n function update(manifest) {\n baseURLTreeModel.update(manifest);\n baseURLSelector.chooseSelector(adapter.getIsDVB(manifest));\n }\n\n function resolve(path) {\n const baseUrls = baseURLTreeModel.getForPath(path);\n\n const baseUrl = baseUrls.reduce((p, c) => {\n const b = baseURLSelector.select(c);\n\n if (b) {\n if (!urlUtils.isRelative(b.url)) {\n p.url = b.url;\n p.serviceLocation = b.serviceLocation;\n } else {\n p.url = urlUtils.resolve(b.url, p.url);\n }\n p.availabilityTimeOffset = b.availabilityTimeOffset;\n p.availabilityTimeComplete = b.availabilityTimeComplete;\n } else {\n return new BaseURL();\n }\n\n return p;\n }, new BaseURL());\n\n if (!urlUtils.isRelative(baseUrl.url)) {\n return baseUrl;\n }\n }\n\n function reset() {\n baseURLTreeModel.reset();\n baseURLSelector.reset();\n }\n\n function initialize(data) {\n\n // report config to baseURLTreeModel and baseURLSelector\n baseURLTreeModel.setConfig({\n adapter: adapter\n });\n\n update(data);\n }\n\n instance = {\n reset: reset,\n initialize: initialize,\n resolve: resolve,\n setConfig: setConfig\n };\n\n setup();\n\n return instance;\n}\n\nBaseURLController.__dashjs_factory_name = 'BaseURLController';\nexport default FactoryMaker.getClassFactory(BaseURLController);\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 FactoryMaker from '../../core/FactoryMaker';\nimport EventBus from '../../core/EventBus';\n\nfunction BlackListController(config) {\n\n config = config || {};\n let instance;\n let blacklist = [];\n\n const eventBus = EventBus(this.context).getInstance();\n const updateEventName = config.updateEventName;\n const addBlacklistEventName = config.addBlacklistEventName;\n\n function contains(query) {\n if (!blacklist.length || !query || !query.length) {\n return false;\n }\n\n return (blacklist.indexOf(query) !== -1);\n }\n\n function add(entry) {\n if (blacklist.indexOf(entry) !== -1) {\n return;\n }\n\n blacklist.push(entry);\n\n eventBus.trigger(updateEventName, { entry: entry });\n }\n\n function onAddBlackList(e) {\n add(e.entry);\n }\n\n function setup() {\n if (addBlacklistEventName) {\n eventBus.on(addBlacklistEventName, onAddBlackList, instance);\n }\n }\n\n function reset() {\n blacklist = [];\n }\n\n instance = {\n add: add,\n contains: contains,\n reset: reset\n };\n\n setup();\n return instance;\n}\n\nBlackListController.__dashjs_factory_name = 'BlackListController';\nexport default FactoryMaker.getClassFactory(BlackListController);\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 */\nimport Constants from '../constants/Constants';\nimport MetricsConstants from '../constants/MetricsConstants';\nimport FragmentModel from '../models/FragmentModel';\nimport SourceBufferSink from '../SourceBufferSink';\nimport PreBufferSink from '../PreBufferSink';\nimport AbrController from './AbrController';\nimport EventBus from '../../core/EventBus';\nimport Events from '../../core/events/Events';\nimport FactoryMaker from '../../core/FactoryMaker';\nimport Debug from '../../core/Debug';\nimport InitCache from '../utils/InitCache';\nimport DashJSError from '../vo/DashJSError';\nimport Errors from '../../core/errors/Errors';\nimport {HTTPRequest} from '../vo/metrics/HTTPRequest';\n\nconst BUFFERING_COMPLETED_THRESHOLD = 0.1;\nconst BUFFER_END_THRESHOLD = 0.5;\nconst BUFFER_RANGE_CALCULATION_THRESHOLD = 0.01;\nconst QUOTA_EXCEEDED_ERROR_CODE = 22;\n\nconst BUFFER_CONTROLLER_TYPE = 'BufferController';\n\nfunction BufferController(config) {\n\n config = config || {};\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n const errHandler = config.errHandler;\n const fragmentModel = config.fragmentModel;\n const representationController = config.representationController;\n const mediaController = config.mediaController;\n const adapter = config.adapter;\n const textController = config.textController;\n const abrController = config.abrController;\n const playbackController = config.playbackController;\n const streamInfo = config.streamInfo;\n const type = config.type;\n const settings = config.settings;\n\n let instance,\n logger,\n requiredQuality,\n isBufferingCompleted,\n bufferLevel,\n criticalBufferLevel,\n mediaSource,\n maxAppendedIndex,\n lastIndex,\n buffer,\n dischargeBuffer,\n dischargeFragments,\n bufferState,\n appendedBytesInfo,\n wallclockTicked,\n isPruningInProgress,\n isQuotaExceeded,\n initCache,\n seekTarget,\n seekClearedBufferingCompleted,\n pendingPruningRanges,\n replacingBuffer,\n mediaChunk;\n\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n initCache = InitCache(context).getInstance();\n\n resetInitialSettings();\n }\n\n function getBufferControllerType() {\n return BUFFER_CONTROLLER_TYPE;\n }\n\n function initialize(Source) {\n setMediaSource(Source);\n\n requiredQuality = abrController.getQualityFor(type);\n\n eventBus.on(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, this);\n eventBus.on(Events.INIT_FRAGMENT_LOADED, onInitFragmentLoaded, this);\n eventBus.on(Events.MEDIA_FRAGMENT_LOADED, onMediaFragmentLoaded, this);\n eventBus.on(Events.QUALITY_CHANGE_REQUESTED, onQualityChanged, this);\n eventBus.on(Events.STREAM_COMPLETED, onStreamCompleted, this);\n eventBus.on(Events.PLAYBACK_PLAYING, onPlaybackPlaying, this);\n eventBus.on(Events.PLAYBACK_PROGRESS, onPlaybackProgression, this);\n eventBus.on(Events.PLAYBACK_TIME_UPDATED, onPlaybackProgression, this);\n eventBus.on(Events.PLAYBACK_RATE_CHANGED, onPlaybackRateChanged, this);\n eventBus.on(Events.PLAYBACK_SEEKING, onPlaybackSeeking, this);\n eventBus.on(Events.PLAYBACK_SEEKED, onPlaybackSeeked, this);\n eventBus.on(Events.PLAYBACK_STALLED, onPlaybackStalled, this);\n eventBus.on(Events.WALLCLOCK_TIME_UPDATED, onWallclockTimeUpdated, this);\n eventBus.on(Events.CURRENT_TRACK_CHANGED, onCurrentTrackChanged, this, { priority: EventBus.EVENT_PRIORITY_HIGH });\n eventBus.on(Events.SOURCEBUFFER_REMOVE_COMPLETED, onRemoved, this);\n }\n\n function getStreamId() {\n return streamInfo.id;\n }\n\n function getType() {\n return type;\n }\n\n\n function getRepresentationInfo(quality) {\n return adapter.convertDataToRepresentationInfo(representationController.getRepresentationForQuality(quality));\n }\n\n function createBuffer(mediaInfoArr, oldBuffers) {\n if (!initCache || !mediaInfoArr) return null;\n const mediaInfo = mediaInfoArr[0];\n if (mediaSource) {\n try {\n if (oldBuffers && oldBuffers[type]) {\n buffer = SourceBufferSink(context).create(mediaSource, mediaInfo, onAppended.bind(this), oldBuffers[type]);\n } else {\n buffer = SourceBufferSink(context).create(mediaSource, mediaInfo, onAppended.bind(this), null);\n }\n if (settings.get().streaming.useAppendWindow) {\n buffer.updateAppendWindow(streamInfo);\n }\n if (typeof buffer.getBuffer().initialize === 'function') {\n buffer.getBuffer().initialize(type, streamInfo, mediaInfoArr, fragmentModel);\n }\n } catch (e) {\n logger.fatal('Caught error on create SourceBuffer: ' + e);\n errHandler.error(new DashJSError(Errors.MEDIASOURCE_TYPE_UNSUPPORTED_CODE, Errors.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE + type));\n }\n } else {\n buffer = PreBufferSink(context).create(onAppended.bind(this));\n }\n updateBufferTimestampOffset(getRepresentationInfo(requiredQuality));\n return buffer;\n }\n\n function dischargePreBuffer() {\n if (buffer && dischargeBuffer && typeof dischargeBuffer.discharge === 'function') {\n const ranges = dischargeBuffer.getAllBufferRanges();\n\n if (ranges.length > 0) {\n let rangeStr = 'Beginning ' + type + 'PreBuffer discharge, adding buffer for:';\n for (let i = 0; i < ranges.length; i++) {\n rangeStr += ' start: ' + ranges.start(i) + ', end: ' + ranges.end(i) + ';';\n }\n logger.debug(rangeStr);\n } else {\n logger.debug('PreBuffer discharge requested, but there were no media segments in the PreBuffer.');\n }\n\n //A list of fragments to supress bytesAppended events for. This makes transferring from a prebuffer to a sourcebuffer silent.\n dischargeFragments = [];\n let chunks = dischargeBuffer.discharge();\n let lastInit = null;\n for (let j = 0; j < chunks.length; j++) {\n const chunk = chunks[j];\n if (chunk.segmentType !== 'InitializationSegment') {\n const initChunk = initCache.extract(chunk.streamId, chunk.representationId);\n if (initChunk) {\n if (lastInit !== initChunk) {\n dischargeFragments.push(initChunk);\n buffer.append(initChunk);\n lastInit = initChunk;\n }\n }\n }\n dischargeFragments.push(chunk);\n buffer.append(chunk);\n }\n\n dischargeBuffer.reset();\n dischargeBuffer = null;\n }\n }\n\n function onInitFragmentLoaded(e) {\n logger.info('Init fragment finished loading saving to', type + '\\'s init cache');\n initCache.save(e.chunk);\n logger.debug('Append Init fragment', type, ' with representationId:', e.chunk.representationId, ' and quality:', e.chunk.quality, ', data size:', e.chunk.bytes.byteLength);\n appendToBuffer(e.chunk);\n }\n\n function appendInitSegment(representationId) {\n // Get init segment from cache\n const chunk = initCache.extract(streamInfo.id, representationId);\n\n if (!chunk) {\n // Init segment not in cache, shall be requested\n return false;\n }\n\n // Append init segment into buffer\n logger.info('Append Init fragment', type, ' with representationId:', chunk.representationId, ' and quality:', chunk.quality, ', data size:', chunk.bytes.byteLength);\n appendToBuffer(chunk);\n return true;\n }\n\n function onMediaFragmentLoaded(e) {\n const chunk = e.chunk;\n\n if (replacingBuffer) {\n mediaChunk = chunk;\n const ranges = buffer && buffer.getAllBufferRanges();\n if (ranges && ranges.length > 0 && playbackController.getTimeToStreamEnd() > settings.get().streaming.stallThreshold) {\n logger.debug('Clearing buffer because track changed - ' + (ranges.end(ranges.length - 1) + BUFFER_END_THRESHOLD));\n clearBuffers([{\n start: 0,\n end: ranges.end(ranges.length - 1) + BUFFER_END_THRESHOLD,\n force: true // Force buffer removal even when buffering is completed and MediaSource is ended\n }]);\n }\n } else {\n appendToBuffer(chunk);\n }\n }\n\n function appendToBuffer(chunk) {\n buffer.append(chunk);\n\n if (chunk.mediaInfo.type === Constants.VIDEO) {\n triggerEvent(Events.VIDEO_CHUNK_RECEIVED, {chunk: chunk});\n }\n }\n\n function showBufferRanges(ranges) {\n if (ranges && ranges.length > 0) {\n for (let i = 0, len = ranges.length; i < len; i++) {\n logger.debug('Buffered range: ' + ranges.start(i) + ' - ' + ranges.end(i) + ', currentTime = ', playbackController.getTime());\n }\n }\n }\n\n function onAppended(e) {\n if (e.error) {\n if (e.error.code === QUOTA_EXCEEDED_ERROR_CODE) {\n isQuotaExceeded = true;\n criticalBufferLevel = getTotalBufferedTime() * 0.8;\n logger.warn('Quota exceeded, Critical Buffer: ' + criticalBufferLevel);\n\n if (criticalBufferLevel > 0) {\n // recalculate buffer lengths according to criticalBufferLevel\n const bufferToKeep = Math.max(0.2 * criticalBufferLevel, 1);\n const bufferAhead = criticalBufferLevel - bufferToKeep;\n const bufferTimeAtTopQuality = Math.min(settings.get().streaming.bufferTimeAtTopQuality, bufferAhead * 0.9);\n const bufferTimeAtTopQualityLongForm = Math.min(settings.get().streaming.bufferTimeAtTopQualityLongForm, bufferAhead * 0.9);\n const s = {\n streaming: {\n bufferToKeep: parseFloat(bufferToKeep.toFixed(5)),\n bufferTimeAtTopQuality: parseFloat(bufferTimeAtTopQuality.toFixed(5)),\n bufferTimeAtTopQualityLongForm: parseFloat(bufferTimeAtTopQualityLongForm.toFixed(5))\n }\n };\n settings.update(s);\n }\n }\n if (e.error.code === QUOTA_EXCEEDED_ERROR_CODE || !hasEnoughSpaceToAppend()) {\n logger.warn('Clearing playback buffer to overcome quota exceed situation');\n // Notify Schedulecontroller to stop scheduling until buffer has been pruned\n triggerEvent(Events.QUOTA_EXCEEDED, {criticalBufferLevel: criticalBufferLevel});\n clearBuffers(getClearRanges());\n }\n return;\n }\n isQuotaExceeded = false;\n\n appendedBytesInfo = e.chunk;\n if (appendedBytesInfo && !isNaN(appendedBytesInfo.index)) {\n maxAppendedIndex = Math.max(appendedBytesInfo.index, maxAppendedIndex);\n checkIfBufferingCompleted();\n }\n\n const ranges = buffer.getAllBufferRanges();\n if (appendedBytesInfo.segmentType === HTTPRequest.MEDIA_SEGMENT_TYPE) {\n showBufferRanges(ranges);\n onPlaybackProgression();\n adjustSeekTarget();\n } else if (replacingBuffer) {\n // When replacing buffer due to switch track, and once new initialization segment has been appended\n // (and previous buffered data removed) then seek stream to current time\n const currentTime = playbackController.getTime();\n logger.debug('AppendToBuffer seek target should be ' + currentTime);\n triggerEvent(Events.SEEK_TARGET, {time: currentTime});\n }\n\n let suppressAppendedEvent = false;\n if (dischargeFragments) {\n if (dischargeFragments.indexOf(appendedBytesInfo) > 0) {\n suppressAppendedEvent = true;\n }\n dischargeFragments = null;\n }\n if (appendedBytesInfo && !suppressAppendedEvent) {\n triggerEvent(appendedBytesInfo.endFragment ? Events.BYTES_APPENDED_END_FRAGMENT : Events.BYTES_APPENDED, {\n quality: appendedBytesInfo.quality,\n startTime: appendedBytesInfo.start,\n index: appendedBytesInfo.index,\n bufferedRanges: ranges,\n mediaType: type\n });\n }\n }\n\n function adjustSeekTarget() {\n // Check buffered data only for audio and video\n if (type !== Constants.AUDIO && type !== Constants.VIDEO) return;\n if (isNaN(seekTarget)) return;\n\n // Check if current buffered range already contains seek target (and current video element time)\n const currentTime = playbackController.getTime();\n let range = getRangeAt(seekTarget, 0);\n if (currentTime === seekTarget && range) return;\n\n // Get buffered range corresponding to the seek target\n const segmentDuration = representationController.getCurrentRepresentation().segmentDuration;\n range = getRangeAt(seekTarget, segmentDuration);\n if (!range) return;\n\n if (Math.abs(currentTime - seekTarget) > segmentDuration) {\n // If current video model time is decorrelated from seek target (and appended buffer) then seek video element\n // (in case of live streams on some browsers/devices for which we can't set video element time at unavalaible range)\n\n // Check if appended segment is not anterior from seek target (segments timeline/template tolerance)\n if (seekTarget <= range.end) {\n // Seek video element to seek target or range start if appended buffer starts after seek target (segments timeline/template tolerance)\n playbackController.seek(Math.max(seekTarget, range.start), false, true);\n seekTarget = NaN;\n }\n } else if (currentTime < range.start) {\n // If appended buffer starts after seek target (segments timeline/template tolerance) then seek to range start\n playbackController.seek(range.start, false, true);\n seekTarget = NaN;\n }\n }\n\n function onQualityChanged(e) {\n if (requiredQuality === e.newQuality) return;\n\n updateBufferTimestampOffset(this.getRepresentationInfo(e.newQuality));\n requiredQuality = e.newQuality;\n }\n\n //**********************************************************************\n // START Buffer Level, State & Sufficiency Handling.\n //**********************************************************************\n function onPlaybackSeeking(e) {\n seekTarget = e.seekTime;\n if (isBufferingCompleted) {\n seekClearedBufferingCompleted = true;\n isBufferingCompleted = false;\n //a seek command has occured, reset lastIndex value, it will be set next time that onStreamCompleted will be called.\n lastIndex = Number.POSITIVE_INFINITY;\n }\n if (type !== Constants.FRAGMENTED_TEXT) {\n // remove buffer after seeking operations\n pruneAllSafely();\n } else {\n onPlaybackProgression();\n }\n }\n\n function onPlaybackSeeked() {\n seekTarget = NaN;\n }\n\n // Prune full buffer but what is around current time position\n function pruneAllSafely() {\n buffer.waitForUpdateEnd(() => {\n const ranges = getAllRangesWithSafetyFactor();\n if (!ranges || ranges.length === 0) {\n onPlaybackProgression();\n }\n clearBuffers(ranges);\n });\n }\n\n // Get all buffer ranges but a range around current time position\n function getAllRangesWithSafetyFactor() {\n const clearRanges = [];\n const ranges = buffer.getAllBufferRanges();\n if (!ranges || ranges.length === 0) {\n return clearRanges;\n }\n\n const currentTime = playbackController.getTime();\n const endOfBuffer = ranges.end(ranges.length - 1) + BUFFER_END_THRESHOLD;\n\n const currentTimeRequest = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_EXECUTED,\n time: currentTime,\n threshold: BUFFER_RANGE_CALCULATION_THRESHOLD\n })[0];\n\n // There is no request in current time position yet. Let's remove everything\n if (!currentTimeRequest) {\n logger.debug('getAllRangesWithSafetyFactor - No request found in current time position, removing full buffer 0 -', endOfBuffer);\n clearRanges.push({\n start: 0,\n end: endOfBuffer\n });\n } else {\n // Build buffer behind range. To avoid pruning time around current time position,\n // we include fragment right behind the one in current time position\n const behindRange = {\n start: 0,\n end: currentTimeRequest.startTime - settings.get().streaming.stallThreshold\n };\n const prevReq = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_EXECUTED,\n time: currentTimeRequest.startTime - (currentTimeRequest.duration / 2),\n threshold: BUFFER_RANGE_CALCULATION_THRESHOLD\n })[0];\n if (prevReq && prevReq.startTime != currentTimeRequest.startTime) {\n behindRange.end = prevReq.startTime;\n }\n if (behindRange.start < behindRange.end && behindRange.end > ranges.start(0)) {\n clearRanges.push(behindRange);\n }\n\n // Build buffer ahead range. To avoid pruning time around current time position,\n // we include fragment right after the one in current time position\n const aheadRange = {\n start: currentTimeRequest.startTime + currentTimeRequest.duration + settings.get().streaming.stallThreshold,\n end: endOfBuffer\n };\n const nextReq = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_EXECUTED,\n time: currentTimeRequest.startTime + currentTimeRequest.duration + settings.get().streaming.stallThreshold,\n threshold: BUFFER_RANGE_CALCULATION_THRESHOLD\n })[0];\n if (nextReq && nextReq.startTime !== currentTimeRequest.startTime) {\n aheadRange.start = nextReq.startTime + nextReq.duration + settings.get().streaming.stallThreshold;\n }\n if (aheadRange.start < aheadRange.end && aheadRange.start < endOfBuffer) {\n clearRanges.push(aheadRange);\n }\n }\n\n return clearRanges;\n }\n\n function getWorkingTime() {\n return isNaN(seekTarget) ? playbackController.getTime() : seekTarget;\n }\n\n function onPlaybackProgression() {\n if (!replacingBuffer || (type === Constants.FRAGMENTED_TEXT && textController.isTextEnabled())) {\n updateBufferLevel();\n }\n }\n\n function onPlaybackStalled() {\n checkIfSufficientBuffer();\n }\n\n function onPlaybackPlaying() {\n seekTarget = NaN;\n checkIfSufficientBuffer();\n }\n\n function getRangeAt(time, tolerance) {\n const ranges = buffer.getAllBufferRanges();\n let start = 0;\n let end = 0;\n let firstStart = null;\n let lastEnd = null;\n let gap = 0;\n let len,\n i;\n\n const toler = !isNaN(tolerance) ? tolerance : 0.15;\n\n if (ranges !== null && ranges !== undefined) {\n for (i = 0, len = ranges.length; i < len; i++) {\n start = ranges.start(i);\n end = ranges.end(i);\n if (firstStart === null) {\n gap = Math.abs(start - time);\n if (time >= start && time < end) {\n // start the range\n firstStart = start;\n lastEnd = end;\n } else if (gap <= toler) {\n // start the range even though the buffer does not contain time 0\n firstStart = start;\n lastEnd = end;\n }\n } else {\n gap = start - lastEnd;\n if (gap <= toler) {\n // the discontinuity is smaller than the tolerance, combine the ranges\n lastEnd = end;\n } else {\n break;\n }\n }\n }\n\n if (firstStart !== null) {\n return {\n start: firstStart,\n end: lastEnd\n };\n }\n }\n\n return null;\n }\n\n function getBufferLength(time, tolerance) {\n let range,\n length;\n\n // Consider gap/discontinuity limit as tolerance\n if (settings.get().streaming.jumpGaps) {\n tolerance = settings.get().streaming.smallGapLimit;\n }\n\n range = getRangeAt(time, tolerance);\n\n if (range === null) {\n length = 0;\n } else {\n length = range.end - time;\n }\n\n return length;\n }\n\n function updateBufferLevel() {\n if (playbackController) {\n bufferLevel = getBufferLength(getWorkingTime() || 0);\n triggerEvent(Events.BUFFER_LEVEL_UPDATED, {bufferLevel: bufferLevel});\n checkIfSufficientBuffer();\n }\n }\n\n function checkIfBufferingCompleted() {\n const isLastIdxAppended = maxAppendedIndex >= lastIndex - 1; // Handles 0 and non 0 based request index\n if (isLastIdxAppended && !isBufferingCompleted && buffer.discharge === undefined) {\n isBufferingCompleted = true;\n logger.debug('checkIfBufferingCompleted trigger BUFFERING_COMPLETED for ' + type);\n triggerEvent(Events.BUFFERING_COMPLETED);\n }\n }\n\n function checkIfSufficientBuffer() {\n // No need to check buffer if type is not audio or video (for example if several errors occur during text parsing, so that the buffer cannot be filled, no error must occur on video playback)\n if (type !== Constants.AUDIO && type !== Constants.VIDEO) return;\n\n if (seekClearedBufferingCompleted && !isBufferingCompleted && bufferLevel > 0 && playbackController && playbackController.getTimeToStreamEnd() - bufferLevel < BUFFERING_COMPLETED_THRESHOLD) {\n seekClearedBufferingCompleted = false;\n isBufferingCompleted = true;\n logger.debug('checkIfSufficientBuffer trigger BUFFERING_COMPLETED for type ' + type);\n triggerEvent(Events.BUFFERING_COMPLETED);\n }\n\n // When the player is working in low latency mode, the buffer is often below settings.get().streaming.stallThreshold.\n // So, when in low latency mode, change dash.js behavior so it notifies a stall just when\n // buffer reach 0 seconds\n if (((!settings.get().streaming.lowLatencyEnabled && bufferLevel < settings.get().streaming.stallThreshold) || bufferLevel === 0) && !isBufferingCompleted) {\n notifyBufferStateChanged(MetricsConstants.BUFFER_EMPTY);\n } else {\n if (isBufferingCompleted || bufferLevel >= streamInfo.manifestInfo.minBufferTime) {\n notifyBufferStateChanged(MetricsConstants.BUFFER_LOADED);\n }\n }\n }\n\n function notifyBufferStateChanged(state) {\n if (bufferState === state ||\n (state === MetricsConstants.BUFFER_EMPTY && playbackController.getTime() === 0) || // Don't trigger BUFFER_EMPTY if it's initial loading\n (type === Constants.FRAGMENTED_TEXT && !textController.isTextEnabled())) {\n return;\n }\n\n bufferState = state;\n\n triggerEvent(Events.BUFFER_LEVEL_STATE_CHANGED, {state: state});\n triggerEvent(state === MetricsConstants.BUFFER_LOADED ? Events.BUFFER_LOADED : Events.BUFFER_EMPTY);\n logger.debug(state === MetricsConstants.BUFFER_LOADED ? 'Got enough buffer to start' : 'Waiting for more buffer before starting playback');\n }\n\n /* prune buffer on our own in background to avoid browsers pruning buffer silently */\n function pruneBuffer() {\n if (!buffer || type === Constants.FRAGMENTED_TEXT) {\n return;\n }\n\n if (!isBufferingCompleted) {\n clearBuffers(getClearRanges());\n }\n }\n\n function getClearRanges() {\n const clearRanges = [];\n const ranges = buffer.getAllBufferRanges();\n if (!ranges || ranges.length === 0) {\n return clearRanges;\n }\n\n const currentTime = playbackController.getTime();\n let startRangeToKeep = Math.max(0, currentTime - settings.get().streaming.bufferToKeep);\n\n const currentTimeRequest = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_EXECUTED,\n time: currentTime,\n threshold: BUFFER_RANGE_CALCULATION_THRESHOLD\n })[0];\n\n // Ensure we keep full range of current fragment\n if (currentTimeRequest) {\n startRangeToKeep = Math.min(currentTimeRequest.startTime, startRangeToKeep);\n } else if (currentTime === 0 && playbackController.getIsDynamic()) {\n // Don't prune before the live stream starts, it messes with low latency\n return [];\n }\n\n if (ranges.start(0) <= startRangeToKeep) {\n const behindRange = {\n start: 0,\n end: startRangeToKeep\n };\n for (let i = 0; i < ranges.length && ranges.end(i) <= startRangeToKeep; i++) {\n behindRange.end = ranges.end(i);\n }\n if (behindRange.start < behindRange.end) {\n clearRanges.push(behindRange);\n }\n }\n\n return clearRanges;\n }\n\n function clearBuffers(ranges) {\n if (!ranges || !buffer || ranges.length === 0) return;\n\n pendingPruningRanges.push.apply(pendingPruningRanges, ranges);\n if (isPruningInProgress) {\n return;\n }\n\n clearNextRange();\n }\n\n function clearNextRange() {\n // If there's nothing to prune reset state\n if (pendingPruningRanges.length === 0 || !buffer) {\n logger.debug('Nothing to prune, halt pruning');\n pendingPruningRanges = [];\n isPruningInProgress = false;\n return;\n }\n\n const sourceBuffer = buffer.getBuffer();\n // If there's nothing buffered any pruning is invalid, so reset our state\n if (!sourceBuffer || !sourceBuffer.buffered || sourceBuffer.buffered.length === 0) {\n logger.debug('SourceBuffer is empty (or does not exist), halt pruning');\n pendingPruningRanges = [];\n isPruningInProgress = false;\n return;\n }\n\n const range = pendingPruningRanges.shift();\n logger.debug('Removing buffer from:', range.start, 'to', range.end);\n isPruningInProgress = true;\n\n // If removing buffer ahead current playback position, update maxAppendedIndex\n const currentTime = playbackController.getTime();\n if (currentTime < range.end) {\n isBufferingCompleted = false;\n maxAppendedIndex = 0;\n }\n\n buffer.remove(range.start, range.end, range.force);\n }\n\n function onRemoved(e) {\n if (buffer !== e.buffer) return;\n\n logger.debug('onRemoved buffer from:', e.from, 'to', e.to);\n\n const ranges = buffer.getAllBufferRanges();\n showBufferRanges(ranges);\n\n if (pendingPruningRanges.length === 0) {\n isPruningInProgress = false;\n }\n\n if (e.unintended) {\n logger.warn('Detected unintended removal from:', e.from, 'to', e.to, 'setting index handler time to', e.from);\n triggerEvent(Events.SEEK_TARGET, {time: e.from, mediaType: type, streamId: streamInfo.id});\n }\n\n if (isPruningInProgress) {\n clearNextRange();\n } else {\n if (!replacingBuffer) {\n updateBufferLevel();\n } else {\n replacingBuffer = false;\n if (mediaChunk) {\n appendToBuffer(mediaChunk);\n }\n }\n triggerEvent(Events.BUFFER_CLEARED, {\n from: e.from,\n to: e.to,\n unintended: e.unintended,\n hasEnoughSpaceToAppend: hasEnoughSpaceToAppend(),\n quotaExceeded: isQuotaExceeded\n });\n }\n }\n\n function updateBufferTimestampOffset(representationInfo) {\n if (!representationInfo || representationInfo.MSETimeOffset === undefined) return;\n // Each track can have its own @presentationTimeOffset, so we should set the offset\n // if it has changed after switching the quality or updating an mpd\n if (buffer && buffer.updateTimestampOffset) {\n buffer.updateTimestampOffset(representationInfo.MSETimeOffset);\n }\n }\n\n function updateAppendWindow() {\n if (buffer && !isBufferingCompleted) {\n buffer.updateAppendWindow(streamInfo);\n }\n }\n\n function onDataUpdateCompleted(e) {\n if (e.error || isBufferingCompleted) return;\n updateBufferTimestampOffset(e.currentRepresentation);\n }\n\n function onStreamCompleted(e) {\n lastIndex = e.request.index;\n checkIfBufferingCompleted();\n }\n\n function onCurrentTrackChanged(e) {\n if (e.newMediaInfo.streamInfo.id !== streamInfo.id || e.newMediaInfo.type !== type) return;\n\n const ranges = buffer && buffer.getAllBufferRanges();\n if (!ranges) return;\n\n logger.info('Track change asked');\n if (mediaController.getSwitchMode(type) === Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE) {\n if (ranges && ranges.length > 0 && playbackController.getTimeToStreamEnd() > settings.get().streaming.stallThreshold) {\n isBufferingCompleted = false;\n lastIndex = Number.POSITIVE_INFINITY;\n }\n }\n }\n\n function onWallclockTimeUpdated() {\n wallclockTicked++;\n const secondsElapsed = (wallclockTicked * (settings.get().streaming.wallclockTimeUpdateInterval / 1000));\n if ((secondsElapsed >= settings.get().streaming.bufferPruningInterval)) {\n wallclockTicked = 0;\n pruneBuffer();\n }\n }\n\n function onPlaybackRateChanged() {\n checkIfSufficientBuffer();\n }\n\n function getBuffer() {\n return buffer;\n }\n\n function setBuffer(newBuffer) {\n buffer = newBuffer;\n }\n\n function getBufferLevel() {\n return bufferLevel;\n }\n\n function setMediaSource(value, mediaInfo) {\n mediaSource = value;\n if (buffer && mediaInfo) { //if we have a prebuffer, we should prepare to discharge it, and make a new sourceBuffer ready\n if (typeof buffer.discharge === 'function') {\n dischargeBuffer = buffer;\n createBuffer(mediaInfo);\n }\n }\n }\n\n function getMediaSource() {\n return mediaSource;\n }\n\n function replaceBuffer() {\n replacingBuffer = true;\n }\n\n function getIsBufferingCompleted() {\n return isBufferingCompleted;\n }\n\n function getIsPruningInProgress() {\n return isPruningInProgress;\n }\n\n function getTotalBufferedTime() {\n const ranges = buffer.getAllBufferRanges();\n let totalBufferedTime = 0;\n let ln,\n i;\n\n if (!ranges) return totalBufferedTime;\n\n for (i = 0, ln = ranges.length; i < ln; i++) {\n totalBufferedTime += ranges.end(i) - ranges.start(i);\n }\n\n return totalBufferedTime;\n }\n\n function hasEnoughSpaceToAppend() {\n const totalBufferedTime = getTotalBufferedTime();\n return (totalBufferedTime < criticalBufferLevel);\n }\n\n function triggerEvent(eventType, data) {\n let payload = data || {};\n eventBus.trigger(eventType, payload, { streamId: streamInfo.id, mediaType: type });\n }\n\n function resetInitialSettings(errored, keepBuffers) {\n criticalBufferLevel = Number.POSITIVE_INFINITY;\n bufferState = undefined;\n requiredQuality = AbrController.QUALITY_DEFAULT;\n lastIndex = Number.POSITIVE_INFINITY;\n maxAppendedIndex = 0;\n appendedBytesInfo = null;\n isBufferingCompleted = false;\n isPruningInProgress = false;\n isQuotaExceeded = false;\n seekClearedBufferingCompleted = false;\n bufferLevel = 0;\n wallclockTicked = 0;\n pendingPruningRanges = [];\n seekTarget = NaN;\n\n if (buffer) {\n if (!errored) {\n buffer.abort();\n }\n buffer.reset(keepBuffers);\n buffer = null;\n }\n\n replacingBuffer = false;\n }\n\n function reset(errored, keepBuffers) {\n eventBus.off(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, this);\n eventBus.off(Events.INIT_FRAGMENT_LOADED, onInitFragmentLoaded, this);\n eventBus.off(Events.MEDIA_FRAGMENT_LOADED, onMediaFragmentLoaded, this);\n eventBus.off(Events.QUALITY_CHANGE_REQUESTED, onQualityChanged, this);\n eventBus.off(Events.STREAM_COMPLETED, onStreamCompleted, this);\n eventBus.off(Events.PLAYBACK_PLAYING, onPlaybackPlaying, this);\n eventBus.off(Events.PLAYBACK_PROGRESS, onPlaybackProgression, this);\n eventBus.off(Events.PLAYBACK_TIME_UPDATED, onPlaybackProgression, this);\n eventBus.off(Events.PLAYBACK_RATE_CHANGED, onPlaybackRateChanged, this);\n eventBus.off(Events.PLAYBACK_SEEKING, onPlaybackSeeking, this);\n eventBus.off(Events.PLAYBACK_SEEKED, onPlaybackSeeked, this);\n eventBus.off(Events.PLAYBACK_STALLED, onPlaybackStalled, this);\n eventBus.off(Events.WALLCLOCK_TIME_UPDATED, onWallclockTimeUpdated, this);\n eventBus.off(Events.CURRENT_TRACK_CHANGED, onCurrentTrackChanged, this);\n eventBus.off(Events.SOURCEBUFFER_REMOVE_COMPLETED, onRemoved, this);\n\n resetInitialSettings(errored, keepBuffers);\n }\n\n instance = {\n initialize,\n getStreamId,\n getType,\n getBufferControllerType,\n getRepresentationInfo,\n createBuffer,\n dischargePreBuffer,\n getBuffer,\n setBuffer,\n getBufferLevel,\n getRangeAt,\n setMediaSource,\n getMediaSource,\n appendInitSegment,\n replaceBuffer,\n getIsBufferingCompleted,\n getIsPruningInProgress,\n reset,\n updateAppendWindow\n };\n\n setup();\n return instance;\n}\n\nBufferController.__dashjs_factory_name = BUFFER_CONTROLLER_TYPE;\nexport default FactoryMaker.getClassFactory(BufferController);\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 FactoryMaker from '../../core/FactoryMaker';\nimport Debug from '../../core/Debug';\nimport EventBus from '../../core/EventBus';\nimport MediaPlayerEvents from '../../streaming/MediaPlayerEvents';\nimport XHRLoader from '../net/XHRLoader';\n\nfunction EventController() {\n\n const MPD_RELOAD_SCHEME = 'urn:mpeg:dash:event:2012';\n const MPD_RELOAD_VALUE = 1;\n\n const MPD_CALLBACK_SCHEME = 'urn:mpeg:dash:event:callback:2015';\n const MPD_CALLBACK_VALUE = 1;\n\n const REFRESH_DELAY = 100;\n const REMAINING_EVENTS_THRESHOLD = 300;\n\n const EVENT_HANDLED_STATES = {\n DISCARDED: 'discarded',\n UPDATED: 'updated',\n ADDED: 'added'\n };\n\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n\n let instance,\n logger,\n inlineEvents, // Holds all Inline Events not triggered yet\n inbandEvents, // Holds all Inband Events not triggered yet\n eventInterval, // variable holding the setInterval\n lastEventTimerCall,\n manifestUpdater,\n playbackController,\n eventHandlingInProgress,\n isStarted;\n\n /**\n * Internal setup when class is instanced\n */\n function _setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n _resetInitialSettings();\n }\n\n /**\n * Checks if the provded configuration is valid\n */\n function checkConfig() {\n if (!manifestUpdater || !playbackController) {\n throw new Error('setConfig function has to be called previously');\n }\n }\n\n /**\n * Reset to initial settings\n */\n function _resetInitialSettings() {\n isStarted = false;\n inlineEvents = {}; // Format inlineEvents[schemeIdUri]\n inbandEvents = {}; // Format inlineEvents[schemeIdUri]\n eventInterval = null;\n eventHandlingInProgress = false;\n lastEventTimerCall = Date.now() / 1000;\n }\n\n /**\n * Stops the EventController by clearing the event interval\n */\n function _stop() {\n try {\n if (eventInterval !== null && isStarted) {\n clearInterval(eventInterval);\n eventInterval = null;\n isStarted = false;\n _onStopEventController();\n }\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Starts the interval function of the EventController\n */\n function start() {\n try {\n checkConfig();\n logger.debug('Start Event Controller');\n if (!isStarted && !isNaN(REFRESH_DELAY)) {\n isStarted = true;\n eventInterval = setInterval(_onEventTimer, REFRESH_DELAY);\n }\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Add MPD events to the list of events.\n * Events that are not in the MPD anymore but not triggered yet will still be deleted.\n * Existing events might get updated.\n * @param {Array.} values\n */\n function addInlineEvents(values) {\n try {\n checkConfig();\n\n if (values) {\n for (let i = 0; i < values.length; i++) {\n let event = values[i];\n let result = _addOrUpdateEvent(event, inlineEvents, true);\n\n if (result === EVENT_HANDLED_STATES.ADDED) {\n logger.debug(`Added inline event with id ${event.id}`);\n // If we see the event for the first time we trigger it in onReceive mode\n _startEvent(event, values, MediaPlayerEvents.EVENT_MODE_ON_RECEIVE);\n } else if (result === EVENT_HANDLED_STATES.UPDATED) {\n logger.debug(`Updated inline event with id ${event.id}`);\n }\n }\n }\n logger.debug(`Added ${values.length} inline events`);\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Add EMSG events to the list of events\n * Messages with the same id within the scope of the same scheme_id_uri and value pair are equivalent , i.e. processing of any one event message box with the same id is sufficient.\n * @param {Array.} values\n */\n function addInbandEvents(values) {\n try {\n checkConfig();\n\n for (let i = 0; i < values.length; i++) {\n let event = values[i];\n let result = _addOrUpdateEvent(event, inbandEvents, false);\n\n if (result === EVENT_HANDLED_STATES.ADDED) {\n if (event.eventStream.schemeIdUri === MPD_RELOAD_SCHEME && inbandEvents[event.id] === undefined) {\n _handleManifestReloadEvent(event);\n }\n logger.debug('Added inband event with id ' + event.id);\n _startEvent(event, values, MediaPlayerEvents.EVENT_MODE_ON_RECEIVE);\n } else {\n logger.debug(`Inband event with scheme_id_uri ${event.eventStream.schemeIdUri}, value ${event.eventStream.value} and id ${event.id} was ignored because it has been added before.`);\n }\n }\n _onEventTimer();\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Adds or updates an event to/in the list of events\n * @param {object} event\n * @param {object} events\n * @param {boolean} shouldOverwriteExistingEvents\n * @return {string}\n * @private\n */\n function _addOrUpdateEvent(event, events, shouldOverwriteExistingEvents = false) {\n const schemeIdUri = event.eventStream.schemeIdUri;\n const value = event.eventStream.value;\n const id = event.id;\n let eventState = EVENT_HANDLED_STATES.DISCARDED;\n\n if (!events[schemeIdUri]) {\n events[schemeIdUri] = [];\n }\n\n const indexOfExistingEvent = events[schemeIdUri].findIndex((e) => {\n return ((!value || (e.eventStream.value && e.eventStream.value === value)) && (e.id === id));\n });\n\n if (indexOfExistingEvent === -1) {\n events[schemeIdUri].push(event);\n eventState = EVENT_HANDLED_STATES.ADDED;\n } else if (shouldOverwriteExistingEvents) {\n events[schemeIdUri][indexOfExistingEvent] = event;\n eventState = EVENT_HANDLED_STATES.UPDATED;\n }\n\n return eventState;\n }\n\n /**\n * Triggers an MPD reload\n * @param {object} event\n * @private\n */\n function _handleManifestReloadEvent(event) {\n try {\n if (event.eventStream.value == MPD_RELOAD_VALUE) {\n const validUntil = event.calculatedPresentationTime;\n let newDuration;\n if (event.calculatedPresentationTime == 0xFFFFFFFF) {//0xFF... means remaining duration unknown\n newDuration = NaN;\n } else {\n newDuration = event.calculatedPresentationTime + event.duration;\n }\n //logger.info('Manifest validity changed: Valid until: ' + validUntil + '; remaining duration: ' + newDuration);\n eventBus.trigger(MediaPlayerEvents.MANIFEST_VALIDITY_CHANGED, {\n id: event.id,\n validUntil: validUntil,\n newDuration: newDuration,\n newManifestValidAfter: NaN //event.message_data - this is an arraybuffer with a timestring in it, but not used yet\n }, {\n mode: MediaPlayerEvents.EVENT_MODE_ON_START\n });\n }\n } catch (e) {\n }\n }\n\n /**\n * Iterate through the eventList and trigger the events\n */\n function _onEventTimer() {\n try {\n if (!eventHandlingInProgress) {\n eventHandlingInProgress = true;\n const currentVideoTime = playbackController.getTime();\n let presentationTimeThreshold = (currentVideoTime - lastEventTimerCall);\n\n // For dynamic streams lastEventTimeCall will be large in the first iteration. Avoid firing all events at once.\n presentationTimeThreshold = lastEventTimerCall > 0 ? Math.max(0, presentationTimeThreshold) : 0;\n\n _triggerEvents(inbandEvents, presentationTimeThreshold, currentVideoTime);\n _triggerEvents(inlineEvents, presentationTimeThreshold, currentVideoTime);\n\n lastEventTimerCall = currentVideoTime;\n eventHandlingInProgress = false;\n }\n } catch (e) {\n eventHandlingInProgress = false;\n }\n }\n\n /**\n * When the EventController is stopped this callback is triggered. Starts the remaining events.\n * @private\n */\n function _onStopEventController() {\n try {\n // EventController might be stopped before the period is over. Before we stop the event controller we check for events that needs to be triggered at the period boundary.\n _triggerRemainingEvents(inbandEvents);\n _triggerRemainingEvents(inlineEvents);\n } catch (e) {\n\n }\n }\n\n /**\n * Iterate over a list of events and trigger the ones for which the presentation time is within the current timing interval\n * @param {object} events\n * @param {number} presentationTimeThreshold\n * @param {number} currentVideoTime\n * @private\n */\n function _triggerEvents(events, presentationTimeThreshold, currentVideoTime) {\n try {\n const callback = function (event) {\n if (event !== undefined) {\n const duration = !isNaN(event.duration) ? event.duration : 0;\n // The event is either about to start or has already been started and we are within its duration\n if ((event.calculatedPresentationTime <= currentVideoTime && event.calculatedPresentationTime + presentationTimeThreshold + duration >= currentVideoTime)) {\n _startEvent(event, events, MediaPlayerEvents.EVENT_MODE_ON_START);\n } else if (_eventHasExpired(currentVideoTime, duration + presentationTimeThreshold, event.calculatedPresentationTime) || _eventIsInvalid(event)) {\n logger.debug(`Deleting event ${event.id} as it is expired or invalid`);\n _removeEvent(events, event);\n }\n }\n };\n\n _iterateAndTriggerCallback(events, callback);\n } catch (e) {\n }\n }\n\n /**\n * Triggers the remaining events after the EventController has been stopped\n * @param {object} events\n * @private\n */\n function _triggerRemainingEvents(events) {\n try {\n const currentTime = playbackController.getTime();\n const callback = function (event) {\n const periodDuration = event.eventStream && event.eventStream.period && !isNaN(event.eventStream.period.duration) ? event.eventStream.period.duration : NaN;\n const periodStart = event.eventStream && event.eventStream.period && !isNaN(event.eventStream.period.start) ? event.eventStream.period.start : NaN;\n\n if (isNaN(periodDuration) || isNaN(periodStart)) {\n return;\n }\n\n const calculatedPresentationTimeInSeconds = event.calculatedPresentationTime;\n\n if (Math.abs(calculatedPresentationTimeInSeconds - currentTime) < REMAINING_EVENTS_THRESHOLD) {\n _startEvent(event, events, MediaPlayerEvents.EVENT_MODE_ON_START);\n }\n\n };\n\n _iterateAndTriggerCallback(events, callback());\n\n } catch (e) {\n\n }\n }\n\n /**\n * Iterates over the inline/inband event object and triggers a callback for each event\n * @param {object} events\n * @param {function} callback\n * @private\n */\n function _iterateAndTriggerCallback(events, callback) {\n try {\n if (events) {\n const schemeIdUris = Object.keys(events);\n for (let i = 0; i < schemeIdUris.length; i++) {\n const schemeIdEvents = events[schemeIdUris[i]];\n schemeIdEvents.forEach((event) => {\n if (event !== undefined) {\n callback(event);\n }\n });\n }\n }\n } catch (e) {\n\n }\n }\n\n /**\n * Checks if an event is expired. For instance if the presentationTime + the duration of an event are smaller than the current video time.\n * @param {number} currentVideoTime\n * @param {number} threshold\n * @param {number} calculatedPresentationTimeInSeconds\n * @return {boolean}\n * @private\n */\n function _eventHasExpired(currentVideoTime, threshold, calculatedPresentationTimeInSeconds) {\n try {\n return currentVideoTime - threshold > calculatedPresentationTimeInSeconds;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Checks if an event is invalid. This is the case if the end time of the parent period is smaller than the presentation time of the event.\n * @param {object} event\n * @return {boolean}\n * @private\n */\n function _eventIsInvalid(event) {\n try {\n const periodEndTime = event.eventStream.period.start + event.eventStream.period.duration;\n\n return event.calculatedPresentationTime > periodEndTime;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Starts an event. Depending on the schemeIdUri we distinguis between\n * - MPD Reload events\n * - MPD Callback events\n * - Events to be dispatched to the application\n * Events should be removed from the list before beeing triggered. Otherwise the event handler might cause an error and the remove function will not be called.\n * @param {object} event\n * @param {object} events\n * @param {String} mode\n * @private\n */\n function _startEvent(event, events, mode) {\n try {\n const currentVideoTime = playbackController.getTime();\n const eventId = event.id;\n\n if (mode === MediaPlayerEvents.EVENT_MODE_ON_RECEIVE) {\n logger.debug(`Received event ${eventId}`);\n eventBus.trigger(event.eventStream.schemeIdUri, { event: event }, { mode });\n return;\n }\n\n if (event.eventStream.schemeIdUri === MPD_RELOAD_SCHEME && event.eventStream.value === MPD_RELOAD_VALUE) {\n if (event.duration !== 0 || event.presentationTimeDelta !== 0) { //If both are set to zero, it indicates the media is over at this point. Don't reload the manifest.\n logger.debug(`Starting manifest refresh event ${eventId} at ${currentVideoTime}`);\n _removeEvent(events, event);\n _refreshManifest();\n }\n } else if (event.eventStream.schemeIdUri === MPD_CALLBACK_SCHEME && event.eventStream.value === MPD_CALLBACK_VALUE) {\n logger.debug(`Starting callback event ${eventId} at ${currentVideoTime}`);\n _removeEvent(events, event);\n _sendCallbackRequest(event.messageData);\n } else {\n logger.debug(`Starting event ${eventId} at ${currentVideoTime}`);\n _removeEvent(events, event);\n eventBus.trigger(event.eventStream.schemeIdUri, { event: event }, { mode });\n }\n\n } catch (e) {\n }\n }\n\n /**\n * Removes an event from the list. If this is the last event of type \"schemeIdUri\" the corresponding schemeIdUri Object in the list of events is deleted.\n * @param {object} events\n * @param {object} event\n * @private\n */\n function _removeEvent(events, event) {\n const schemeIdUri = event.eventStream.schemeIdUri;\n const value = event.eventStream.value;\n const id = event.id;\n\n events[schemeIdUri] = events[schemeIdUri].filter((e) => {\n return (value && e.eventStream.value && e.eventStream.value !== value) || (e.id !== id);\n });\n\n if (events[schemeIdUri].length === 0) {\n delete events[schemeIdUri];\n }\n\n }\n\n /**\n * Refresh the manifest\n * @private\n */\n function _refreshManifest() {\n try {\n checkConfig();\n manifestUpdater.refreshManifest();\n } catch (e) {\n }\n }\n\n /**\n * Send a callback request\n * @param {String} url\n * @private\n */\n function _sendCallbackRequest(url) {\n try {\n let loader = XHRLoader(context).create({});\n loader.load({\n method: 'get',\n url: url,\n request: {\n responseType: 'arraybuffer'\n }\n });\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Set the config of the EventController\n * @param {object} config\n */\n function setConfig(config) {\n try {\n if (!config) {\n return;\n }\n\n if (config.manifestUpdater) {\n manifestUpdater = config.manifestUpdater;\n }\n\n if (config.playbackController) {\n playbackController = config.playbackController;\n }\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Returns all inline events that have not been triggered yet\n * @return {object}\n */\n function getInlineEvents() {\n return inlineEvents;\n }\n\n /**\n * Returns all inband events that have not been triggered yet\n * @return {object}\n */\n function getInbandEvents() {\n return inbandEvents;\n }\n\n /**\n * Stop the EventController and reset all initial settings\n */\n function reset() {\n _stop();\n _resetInitialSettings();\n }\n\n instance = {\n addInlineEvents,\n addInbandEvents,\n getInbandEvents,\n getInlineEvents,\n start,\n setConfig,\n reset\n };\n\n _setup();\n\n return instance;\n}\n\nEventController.__dashjs_factory_name = 'EventController';\nexport default FactoryMaker.getSingletonFactory(EventController);\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 */\nimport Constants from '../constants/Constants';\nimport MetricsConstants from '../constants/MetricsConstants';\nimport FragmentModel from '../models/FragmentModel';\nimport SourceBufferSink from '../SourceBufferSink';\nimport PreBufferSink from '../PreBufferSink';\nimport AbrController from './AbrController';\nimport EventBus from '../../core/EventBus';\nimport Events from '../../core/events/Events';\nimport FactoryMaker from '../../core/FactoryMaker';\nimport Debug from '../../core/Debug';\nimport InitCache from '../utils/InitCache';\nimport DashJSError from '../vo/DashJSError';\nimport Errors from '../../core/errors/Errors';\nimport {HTTPRequest} from '../vo/metrics/HTTPRequest';\n\nconst BUFFERING_COMPLETED_THRESHOLD = 0.1;\nconst BUFFER_END_THRESHOLD = 0.5;\nconst BUFFER_RANGE_CALCULATION_THRESHOLD = 0.01;\nconst QUOTA_EXCEEDED_ERROR_CODE = 22;\n\nconst BUFFER_CONTROLLER_TYPE = 'BufferController';\n\nfunction BufferController(config) {\n\n config = config || {};\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n const errHandler = config.errHandler;\n const fragmentModel = config.fragmentModel;\n const representationController = config.representationController;\n const mediaController = config.mediaController;\n const adapter = config.adapter;\n const textController = config.textController;\n const abrController = config.abrController;\n const playbackController = config.playbackController;\n const streamInfo = config.streamInfo;\n const type = config.type;\n const settings = config.settings;\n\n let instance,\n logger,\n requiredQuality,\n isBufferingCompleted,\n bufferLevel,\n criticalBufferLevel,\n mediaSource,\n maxAppendedIndex,\n lastIndex,\n buffer,\n dischargeBuffer,\n dischargeFragments,\n bufferState,\n appendedBytesInfo,\n wallclockTicked,\n isPruningInProgress,\n isQuotaExceeded,\n initCache,\n seekTarget,\n seekClearedBufferingCompleted,\n pendingPruningRanges,\n replacingBuffer,\n mediaChunk;\n\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n initCache = InitCache(context).getInstance();\n\n resetInitialSettings();\n }\n\n function getBufferControllerType() {\n return BUFFER_CONTROLLER_TYPE;\n }\n\n function initialize(Source) {\n setMediaSource(Source);\n\n requiredQuality = abrController.getQualityFor(type);\n\n eventBus.on(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, this);\n eventBus.on(Events.INIT_FRAGMENT_LOADED, onInitFragmentLoaded, this);\n eventBus.on(Events.MEDIA_FRAGMENT_LOADED, onMediaFragmentLoaded, this);\n eventBus.on(Events.QUALITY_CHANGE_REQUESTED, onQualityChanged, this);\n eventBus.on(Events.STREAM_COMPLETED, onStreamCompleted, this);\n eventBus.on(Events.PLAYBACK_PLAYING, onPlaybackPlaying, this);\n eventBus.on(Events.PLAYBACK_PROGRESS, onPlaybackProgression, this);\n eventBus.on(Events.PLAYBACK_TIME_UPDATED, onPlaybackProgression, this);\n eventBus.on(Events.PLAYBACK_RATE_CHANGED, onPlaybackRateChanged, this);\n eventBus.on(Events.PLAYBACK_SEEKING, onPlaybackSeeking, this);\n eventBus.on(Events.PLAYBACK_SEEKED, onPlaybackSeeked, this);\n eventBus.on(Events.PLAYBACK_STALLED, onPlaybackStalled, this);\n eventBus.on(Events.WALLCLOCK_TIME_UPDATED, onWallclockTimeUpdated, this);\n eventBus.on(Events.CURRENT_TRACK_CHANGED, onCurrentTrackChanged, this, { priority: EventBus.EVENT_PRIORITY_HIGH });\n eventBus.on(Events.SOURCEBUFFER_REMOVE_COMPLETED, onRemoved, this);\n }\n\n function getStreamId() {\n return streamInfo.id;\n }\n\n function getType() {\n return type;\n }\n\n\n function getRepresentationInfo(quality) {\n return adapter.convertDataToRepresentationInfo(representationController.getRepresentationForQuality(quality));\n }\n\n function createBuffer(mediaInfoArr, oldBuffers) {\n if (!initCache || !mediaInfoArr) return null;\n const mediaInfo = mediaInfoArr[0];\n if (mediaSource) {\n try {\n if (oldBuffers && oldBuffers[type]) {\n buffer = SourceBufferSink(context).create(mediaSource, mediaInfo, onAppended.bind(this), oldBuffers[type]);\n } else {\n buffer = SourceBufferSink(context).create(mediaSource, mediaInfo, onAppended.bind(this), null);\n }\n if (settings.get().streaming.useAppendWindow) {\n buffer.updateAppendWindow(streamInfo);\n }\n if (typeof buffer.getBuffer().initialize === 'function') {\n buffer.getBuffer().initialize(type, streamInfo, mediaInfoArr, fragmentModel);\n }\n } catch (e) {\n logger.fatal('Caught error on create SourceBuffer: ' + e);\n errHandler.error(new DashJSError(Errors.MEDIASOURCE_TYPE_UNSUPPORTED_CODE, Errors.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE + type));\n }\n } else {\n buffer = PreBufferSink(context).create(onAppended.bind(this));\n }\n updateBufferTimestampOffset(getRepresentationInfo(requiredQuality));\n return buffer;\n }\n\n function dischargePreBuffer() {\n if (buffer && dischargeBuffer && typeof dischargeBuffer.discharge === 'function') {\n const ranges = dischargeBuffer.getAllBufferRanges();\n\n if (ranges.length > 0) {\n let rangeStr = 'Beginning ' + type + 'PreBuffer discharge, adding buffer for:';\n for (let i = 0; i < ranges.length; i++) {\n rangeStr += ' start: ' + ranges.start(i) + ', end: ' + ranges.end(i) + ';';\n }\n logger.debug(rangeStr);\n } else {\n logger.debug('PreBuffer discharge requested, but there were no media segments in the PreBuffer.');\n }\n\n //A list of fragments to supress bytesAppended events for. This makes transferring from a prebuffer to a sourcebuffer silent.\n dischargeFragments = [];\n let chunks = dischargeBuffer.discharge();\n let lastInit = null;\n for (let j = 0; j < chunks.length; j++) {\n const chunk = chunks[j];\n if (chunk.segmentType !== 'InitializationSegment') {\n const initChunk = initCache.extract(chunk.streamId, chunk.representationId);\n if (initChunk) {\n if (lastInit !== initChunk) {\n dischargeFragments.push(initChunk);\n buffer.append(initChunk);\n lastInit = initChunk;\n }\n }\n }\n dischargeFragments.push(chunk);\n buffer.append(chunk);\n }\n\n dischargeBuffer.reset();\n dischargeBuffer = null;\n }\n }\n\n function onInitFragmentLoaded(e) {\n logger.info('Init fragment finished loading saving to', type + '\\'s init cache');\n initCache.save(e.chunk);\n logger.debug('Append Init fragment', type, ' with representationId:', e.chunk.representationId, ' and quality:', e.chunk.quality, ', data size:', e.chunk.bytes.byteLength);\n appendToBuffer(e.chunk);\n }\n\n function appendInitSegment(representationId) {\n // Get init segment from cache\n const chunk = initCache.extract(streamInfo.id, representationId);\n\n if (!chunk) {\n // Init segment not in cache, shall be requested\n return false;\n }\n\n // Append init segment into buffer\n logger.info('Append Init fragment', type, ' with representationId:', chunk.representationId, ' and quality:', chunk.quality, ', data size:', chunk.bytes.byteLength);\n appendToBuffer(chunk);\n return true;\n }\n\n function onMediaFragmentLoaded(e) {\n const chunk = e.chunk;\n\n if (replacingBuffer) {\n mediaChunk = chunk;\n const ranges = buffer && buffer.getAllBufferRanges();\n if (ranges && ranges.length > 0 && playbackController.getTimeToStreamEnd() > settings.get().streaming.stallThreshold) {\n logger.debug('Clearing buffer because track changed - ' + (ranges.end(ranges.length - 1) + BUFFER_END_THRESHOLD));\n clearBuffers([{\n start: 0,\n end: ranges.end(ranges.length - 1) + BUFFER_END_THRESHOLD,\n force: true // Force buffer removal even when buffering is completed and MediaSource is ended\n }]);\n }\n } else {\n appendToBuffer(chunk);\n }\n }\n\n function appendToBuffer(chunk) {\n buffer.append(chunk);\n\n if (chunk.mediaInfo.type === Constants.VIDEO) {\n triggerEvent(Events.VIDEO_CHUNK_RECEIVED, {chunk: chunk});\n }\n }\n\n function showBufferRanges(ranges) {\n if (ranges && ranges.length > 0) {\n for (let i = 0, len = ranges.length; i < len; i++) {\n logger.debug('Buffered range: ' + ranges.start(i) + ' - ' + ranges.end(i) + ', currentTime = ', playbackController.getTime());\n }\n }\n }\n\n function onAppended(e) {\n if (e.error) {\n if (e.error.code === QUOTA_EXCEEDED_ERROR_CODE) {\n isQuotaExceeded = true;\n criticalBufferLevel = getTotalBufferedTime() * 0.8;\n logger.warn('Quota exceeded, Critical Buffer: ' + criticalBufferLevel);\n\n if (criticalBufferLevel > 0) {\n // recalculate buffer lengths according to criticalBufferLevel\n const bufferToKeep = Math.max(0.2 * criticalBufferLevel, 1);\n const bufferAhead = criticalBufferLevel - bufferToKeep;\n const bufferTimeAtTopQuality = Math.min(settings.get().streaming.bufferTimeAtTopQuality, bufferAhead * 0.9);\n const bufferTimeAtTopQualityLongForm = Math.min(settings.get().streaming.bufferTimeAtTopQualityLongForm, bufferAhead * 0.9);\n const s = {\n streaming: {\n bufferToKeep: parseFloat(bufferToKeep.toFixed(5)),\n bufferTimeAtTopQuality: parseFloat(bufferTimeAtTopQuality.toFixed(5)),\n bufferTimeAtTopQualityLongForm: parseFloat(bufferTimeAtTopQualityLongForm.toFixed(5))\n }\n };\n settings.update(s);\n }\n }\n if (e.error.code === QUOTA_EXCEEDED_ERROR_CODE || !hasEnoughSpaceToAppend()) {\n logger.warn('Clearing playback buffer to overcome quota exceed situation');\n // Notify Schedulecontroller to stop scheduling until buffer has been pruned\n triggerEvent(Events.QUOTA_EXCEEDED, {\n criticalBufferLevel: criticalBufferLevel,\n quotaExceededTime: e.chunk.start\n });\n clearBuffers(getClearRanges());\n }\n return;\n }\n isQuotaExceeded = false;\n\n appendedBytesInfo = e.chunk;\n if (appendedBytesInfo && !isNaN(appendedBytesInfo.index)) {\n maxAppendedIndex = Math.max(appendedBytesInfo.index, maxAppendedIndex);\n checkIfBufferingCompleted();\n }\n\n const ranges = buffer.getAllBufferRanges();\n if (appendedBytesInfo.segmentType === HTTPRequest.MEDIA_SEGMENT_TYPE) {\n showBufferRanges(ranges);\n onPlaybackProgression();\n adjustSeekTarget();\n } else if (replacingBuffer) {\n // When replacing buffer due to switch track, and once new initialization segment has been appended\n // (and previous buffered data removed) then seek stream to current time\n const currentTime = playbackController.getTime();\n logger.debug('AppendToBuffer seek target should be ' + currentTime);\n triggerEvent(Events.SEEK_TARGET, {time: currentTime});\n }\n\n let suppressAppendedEvent = false;\n if (dischargeFragments) {\n if (dischargeFragments.indexOf(appendedBytesInfo) > 0) {\n suppressAppendedEvent = true;\n }\n dischargeFragments = null;\n }\n if (appendedBytesInfo && !suppressAppendedEvent) {\n triggerEvent(appendedBytesInfo.endFragment ? Events.BYTES_APPENDED_END_FRAGMENT : Events.BYTES_APPENDED, {\n quality: appendedBytesInfo.quality,\n startTime: appendedBytesInfo.start,\n index: appendedBytesInfo.index,\n bufferedRanges: ranges,\n mediaType: type\n });\n }\n }\n\n function adjustSeekTarget() {\n // Check buffered data only for audio and video\n if (type !== Constants.AUDIO && type !== Constants.VIDEO) return;\n if (isNaN(seekTarget)) return;\n\n // Check if current buffered range already contains seek target (and current video element time)\n const currentTime = playbackController.getTime();\n let range = getRangeAt(seekTarget, 0);\n if (currentTime === seekTarget && range) return;\n\n // Get buffered range corresponding to the seek target\n const segmentDuration = representationController.getCurrentRepresentation().segmentDuration;\n range = getRangeAt(seekTarget, segmentDuration);\n if (!range) return;\n\n if (Math.abs(currentTime - seekTarget) > segmentDuration) {\n // If current video model time is decorrelated from seek target (and appended buffer) then seek video element\n // (in case of live streams on some browsers/devices for which we can't set video element time at unavalaible range)\n\n // Check if appended segment is not anterior from seek target (segments timeline/template tolerance)\n if (seekTarget <= range.end) {\n // Seek video element to seek target or range start if appended buffer starts after seek target (segments timeline/template tolerance)\n playbackController.seek(Math.max(seekTarget, range.start), false, true);\n seekTarget = NaN;\n }\n } else if (currentTime < range.start) {\n // If appended buffer starts after seek target (segments timeline/template tolerance) then seek to range start\n playbackController.seek(range.start, false, true);\n seekTarget = NaN;\n }\n }\n\n function onQualityChanged(e) {\n if (requiredQuality === e.newQuality) return;\n\n updateBufferTimestampOffset(this.getRepresentationInfo(e.newQuality));\n requiredQuality = e.newQuality;\n }\n\n //**********************************************************************\n // START Buffer Level, State & Sufficiency Handling.\n //**********************************************************************\n function onPlaybackSeeking(e) {\n if (!buffer) return;\n seekTarget = e.seekTime;\n if (isBufferingCompleted) {\n seekClearedBufferingCompleted = true;\n isBufferingCompleted = false;\n //a seek command has occured, reset lastIndex value, it will be set next time that onStreamCompleted will be called.\n lastIndex = Number.POSITIVE_INFINITY;\n }\n if (type !== Constants.FRAGMENTED_TEXT) {\n // remove buffer after seeking operations\n pruneAllSafely();\n } else {\n onPlaybackProgression();\n }\n }\n\n function onPlaybackSeeked() {\n seekTarget = NaN;\n }\n\n // Prune full buffer but what is around current time position\n function pruneAllSafely() {\n if (!buffer) return;\n buffer.waitForUpdateEnd(() => {\n const ranges = getAllRangesWithSafetyFactor();\n if (!ranges || ranges.length === 0) {\n onPlaybackProgression();\n }\n clearBuffers(ranges);\n });\n }\n\n // Get all buffer ranges but a range around current time position\n function getAllRangesWithSafetyFactor() {\n if (!buffer) return;\n const clearRanges = [];\n const ranges = buffer.getAllBufferRanges();\n if (!ranges || ranges.length === 0) {\n return clearRanges;\n }\n\n const currentTime = playbackController.getTime();\n const endOfBuffer = ranges.end(ranges.length - 1) + BUFFER_END_THRESHOLD;\n\n const currentTimeRequest = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_EXECUTED,\n time: currentTime,\n threshold: BUFFER_RANGE_CALCULATION_THRESHOLD\n })[0];\n\n // There is no request in current time position yet. Let's remove everything\n if (!currentTimeRequest) {\n logger.debug('getAllRangesWithSafetyFactor - No request found in current time position, removing full buffer 0 -', endOfBuffer);\n clearRanges.push({\n start: 0,\n end: endOfBuffer\n });\n } else {\n // Build buffer behind range. To avoid pruning time around current time position,\n // we include fragment right behind the one in current time position\n const behindRange = {\n start: 0,\n end: currentTimeRequest.startTime - settings.get().streaming.stallThreshold\n };\n const prevReq = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_EXECUTED,\n time: currentTimeRequest.startTime - (currentTimeRequest.duration / 2),\n threshold: BUFFER_RANGE_CALCULATION_THRESHOLD\n })[0];\n if (prevReq && prevReq.startTime != currentTimeRequest.startTime) {\n behindRange.end = prevReq.startTime;\n }\n if (behindRange.start < behindRange.end && behindRange.end > ranges.start(0)) {\n clearRanges.push(behindRange);\n }\n\n // Build buffer ahead range. To avoid pruning time around current time position,\n // we include fragment right after the one in current time position\n const aheadRange = {\n start: currentTimeRequest.startTime + currentTimeRequest.duration + settings.get().streaming.stallThreshold,\n end: endOfBuffer\n };\n const nextReq = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_EXECUTED,\n time: currentTimeRequest.startTime + currentTimeRequest.duration + settings.get().streaming.stallThreshold,\n threshold: BUFFER_RANGE_CALCULATION_THRESHOLD\n })[0];\n if (nextReq && nextReq.startTime !== currentTimeRequest.startTime) {\n aheadRange.start = nextReq.startTime + nextReq.duration + settings.get().streaming.stallThreshold;\n }\n if (aheadRange.start < aheadRange.end && aheadRange.start < endOfBuffer) {\n clearRanges.push(aheadRange);\n }\n }\n\n return clearRanges;\n }\n\n function getWorkingTime() {\n return isNaN(seekTarget) ? playbackController.getTime() : seekTarget;\n }\n\n function onPlaybackProgression() {\n if (!replacingBuffer || (type === Constants.FRAGMENTED_TEXT && textController.isTextEnabled())) {\n updateBufferLevel();\n }\n }\n\n function onPlaybackStalled() {\n checkIfSufficientBuffer();\n }\n\n function onPlaybackPlaying() {\n seekTarget = NaN;\n checkIfSufficientBuffer();\n }\n\n function getRangeAt(time, tolerance) {\n const ranges = buffer.getAllBufferRanges();\n let start = 0;\n let end = 0;\n let firstStart = null;\n let lastEnd = null;\n let gap = 0;\n let len,\n i;\n\n const toler = !isNaN(tolerance) ? tolerance : 0.15;\n\n if (ranges !== null && ranges !== undefined) {\n for (i = 0, len = ranges.length; i < len; i++) {\n start = ranges.start(i);\n end = ranges.end(i);\n if (firstStart === null) {\n gap = Math.abs(start - time);\n if (time >= start && time < end) {\n // start the range\n firstStart = start;\n lastEnd = end;\n } else if (gap <= toler) {\n // start the range even though the buffer does not contain time 0\n firstStart = start;\n lastEnd = end;\n }\n } else {\n gap = start - lastEnd;\n if (gap <= toler) {\n // the discontinuity is smaller than the tolerance, combine the ranges\n lastEnd = end;\n } else {\n break;\n }\n }\n }\n\n if (firstStart !== null) {\n return {\n start: firstStart,\n end: lastEnd\n };\n }\n }\n\n return null;\n }\n\n function getBufferLength(time, tolerance) {\n let range,\n length;\n\n // Consider gap/discontinuity limit as tolerance\n if (settings.get().streaming.jumpGaps) {\n tolerance = settings.get().streaming.smallGapLimit;\n }\n\n range = getRangeAt(time, tolerance);\n\n if (range === null) {\n length = 0;\n } else {\n length = range.end - time;\n }\n\n return length;\n }\n\n function updateBufferLevel() {\n if (playbackController) {\n bufferLevel = getBufferLength(getWorkingTime() || 0);\n triggerEvent(Events.BUFFER_LEVEL_UPDATED, {bufferLevel: bufferLevel});\n checkIfSufficientBuffer();\n }\n }\n\n function checkIfBufferingCompleted() {\n const isLastIdxAppended = maxAppendedIndex >= lastIndex - 1; // Handles 0 and non 0 based request index\n if (isLastIdxAppended && !isBufferingCompleted && buffer.discharge === undefined) {\n isBufferingCompleted = true;\n logger.debug('checkIfBufferingCompleted trigger BUFFERING_COMPLETED for ' + type);\n triggerEvent(Events.BUFFERING_COMPLETED);\n }\n }\n\n function checkIfSufficientBuffer() {\n // No need to check buffer if type is not audio or video (for example if several errors occur during text parsing, so that the buffer cannot be filled, no error must occur on video playback)\n if (type !== Constants.AUDIO && type !== Constants.VIDEO) return;\n\n if (seekClearedBufferingCompleted && !isBufferingCompleted && bufferLevel > 0 && playbackController && playbackController.getTimeToStreamEnd() - bufferLevel < BUFFERING_COMPLETED_THRESHOLD) {\n seekClearedBufferingCompleted = false;\n isBufferingCompleted = true;\n logger.debug('checkIfSufficientBuffer trigger BUFFERING_COMPLETED for type ' + type);\n triggerEvent(Events.BUFFERING_COMPLETED);\n }\n\n // When the player is working in low latency mode, the buffer is often below settings.get().streaming.stallThreshold.\n // So, when in low latency mode, change dash.js behavior so it notifies a stall just when\n // buffer reach 0 seconds\n if (((!settings.get().streaming.lowLatencyEnabled && bufferLevel < settings.get().streaming.stallThreshold) || bufferLevel === 0) && !isBufferingCompleted) {\n notifyBufferStateChanged(MetricsConstants.BUFFER_EMPTY);\n } else {\n if (isBufferingCompleted || bufferLevel >= streamInfo.manifestInfo.minBufferTime) {\n notifyBufferStateChanged(MetricsConstants.BUFFER_LOADED);\n }\n }\n }\n\n function notifyBufferStateChanged(state) {\n if (bufferState === state ||\n (state === MetricsConstants.BUFFER_EMPTY && playbackController.getTime() === 0) || // Don't trigger BUFFER_EMPTY if it's initial loading\n (type === Constants.FRAGMENTED_TEXT && !textController.isTextEnabled())) {\n return;\n }\n\n bufferState = state;\n\n triggerEvent(Events.BUFFER_LEVEL_STATE_CHANGED, {state: state});\n triggerEvent(state === MetricsConstants.BUFFER_LOADED ? Events.BUFFER_LOADED : Events.BUFFER_EMPTY);\n logger.debug(state === MetricsConstants.BUFFER_LOADED ? 'Got enough buffer to start' : 'Waiting for more buffer before starting playback');\n }\n\n /* prune buffer on our own in background to avoid browsers pruning buffer silently */\n function pruneBuffer() {\n if (!buffer || type === Constants.FRAGMENTED_TEXT) {\n return;\n }\n\n if (!isBufferingCompleted) {\n clearBuffers(getClearRanges());\n }\n }\n\n function getClearRanges() {\n const clearRanges = [];\n const ranges = buffer.getAllBufferRanges();\n if (!ranges || ranges.length === 0) {\n return clearRanges;\n }\n\n const currentTime = playbackController.getTime();\n let startRangeToKeep = Math.max(0, currentTime - settings.get().streaming.bufferToKeep);\n\n const currentTimeRequest = fragmentModel.getRequests({\n state: FragmentModel.FRAGMENT_MODEL_EXECUTED,\n time: currentTime,\n threshold: BUFFER_RANGE_CALCULATION_THRESHOLD\n })[0];\n\n // Ensure we keep full range of current fragment\n if (currentTimeRequest) {\n startRangeToKeep = Math.min(currentTimeRequest.startTime, startRangeToKeep);\n } else if (currentTime === 0 && playbackController.getIsDynamic()) {\n // Don't prune before the live stream starts, it messes with low latency\n return [];\n }\n\n if (ranges.start(0) <= startRangeToKeep) {\n const behindRange = {\n start: 0,\n end: startRangeToKeep\n };\n for (let i = 0; i < ranges.length && ranges.end(i) <= startRangeToKeep; i++) {\n behindRange.end = ranges.end(i);\n }\n if (behindRange.start < behindRange.end) {\n clearRanges.push(behindRange);\n }\n }\n\n return clearRanges;\n }\n\n function clearBuffers(ranges) {\n if (!ranges || !buffer || ranges.length === 0) return;\n\n pendingPruningRanges.push.apply(pendingPruningRanges, ranges);\n if (isPruningInProgress) {\n return;\n }\n\n clearNextRange();\n }\n\n function clearNextRange() {\n // If there's nothing to prune reset state\n if (pendingPruningRanges.length === 0 || !buffer) {\n logger.debug('Nothing to prune, halt pruning');\n pendingPruningRanges = [];\n isPruningInProgress = false;\n return;\n }\n\n const sourceBuffer = buffer.getBuffer();\n // If there's nothing buffered any pruning is invalid, so reset our state\n if (!sourceBuffer || !sourceBuffer.buffered || sourceBuffer.buffered.length === 0) {\n logger.debug('SourceBuffer is empty (or does not exist), halt pruning');\n pendingPruningRanges = [];\n isPruningInProgress = false;\n return;\n }\n\n const range = pendingPruningRanges.shift();\n logger.debug('Removing buffer from:', range.start, 'to', range.end);\n isPruningInProgress = true;\n\n // If removing buffer ahead current playback position, update maxAppendedIndex\n const currentTime = playbackController.getTime();\n if (currentTime < range.end) {\n isBufferingCompleted = false;\n maxAppendedIndex = 0;\n }\n\n buffer.remove(range.start, range.end, range.force);\n }\n\n function onRemoved(e) {\n if (buffer !== e.buffer) return;\n\n logger.debug('onRemoved buffer from:', e.from, 'to', e.to);\n\n const ranges = buffer.getAllBufferRanges();\n showBufferRanges(ranges);\n\n if (pendingPruningRanges.length === 0) {\n isPruningInProgress = false;\n }\n\n if (e.unintended) {\n logger.warn('Detected unintended removal from:', e.from, 'to', e.to, 'setting index handler time to', e.from);\n triggerEvent(Events.SEEK_TARGET, {time: e.from, mediaType: type, streamId: streamInfo.id});\n }\n\n if (isPruningInProgress) {\n clearNextRange();\n } else {\n if (!replacingBuffer) {\n updateBufferLevel();\n } else {\n replacingBuffer = false;\n if (mediaChunk) {\n appendToBuffer(mediaChunk);\n }\n }\n triggerEvent(Events.BUFFER_CLEARED, {\n from: e.from,\n to: e.to,\n unintended: e.unintended,\n hasEnoughSpaceToAppend: hasEnoughSpaceToAppend(),\n quotaExceeded: isQuotaExceeded\n });\n }\n }\n\n function updateBufferTimestampOffset(representationInfo) {\n if (!representationInfo || representationInfo.MSETimeOffset === undefined) return;\n // Each track can have its own @presentationTimeOffset, so we should set the offset\n // if it has changed after switching the quality or updating an mpd\n if (buffer && buffer.updateTimestampOffset) {\n buffer.updateTimestampOffset(representationInfo.MSETimeOffset);\n }\n }\n\n function updateAppendWindow() {\n if (buffer && !isBufferingCompleted) {\n buffer.updateAppendWindow(streamInfo);\n }\n }\n\n function onDataUpdateCompleted(e) {\n if (e.error || isBufferingCompleted) return;\n updateBufferTimestampOffset(e.currentRepresentation);\n }\n\n function onStreamCompleted(e) {\n lastIndex = e.request.index;\n checkIfBufferingCompleted();\n }\n\n function onCurrentTrackChanged(e) {\n if (e.newMediaInfo.streamInfo.id !== streamInfo.id || e.newMediaInfo.type !== type) return;\n\n const ranges = buffer && buffer.getAllBufferRanges();\n if (!ranges) return;\n\n logger.info('Track change asked');\n if (mediaController.getSwitchMode(type) === Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE) {\n if (ranges && ranges.length > 0 && playbackController.getTimeToStreamEnd() > settings.get().streaming.stallThreshold) {\n isBufferingCompleted = false;\n lastIndex = Number.POSITIVE_INFINITY;\n }\n }\n }\n\n function onWallclockTimeUpdated() {\n wallclockTicked++;\n const secondsElapsed = (wallclockTicked * (settings.get().streaming.wallclockTimeUpdateInterval / 1000));\n if ((secondsElapsed >= settings.get().streaming.bufferPruningInterval)) {\n wallclockTicked = 0;\n pruneBuffer();\n }\n }\n\n function onPlaybackRateChanged() {\n checkIfSufficientBuffer();\n }\n\n function getBuffer() {\n return buffer;\n }\n\n function setBuffer(newBuffer) {\n buffer = newBuffer;\n }\n\n function getBufferLevel() {\n return bufferLevel;\n }\n\n function setMediaSource(value, mediaInfo) {\n mediaSource = value;\n if (buffer && mediaInfo) { //if we have a prebuffer, we should prepare to discharge it, and make a new sourceBuffer ready\n if (typeof buffer.discharge === 'function') {\n dischargeBuffer = buffer;\n createBuffer(mediaInfo);\n }\n }\n }\n\n function getMediaSource() {\n return mediaSource;\n }\n\n function replaceBuffer() {\n replacingBuffer = true;\n }\n\n function getIsBufferingCompleted() {\n return isBufferingCompleted;\n }\n\n function getIsPruningInProgress() {\n return isPruningInProgress;\n }\n\n function getTotalBufferedTime() {\n const ranges = buffer.getAllBufferRanges();\n let totalBufferedTime = 0;\n let ln,\n i;\n\n if (!ranges) return totalBufferedTime;\n\n for (i = 0, ln = ranges.length; i < ln; i++) {\n totalBufferedTime += ranges.end(i) - ranges.start(i);\n }\n\n return totalBufferedTime;\n }\n\n function hasEnoughSpaceToAppend() {\n const totalBufferedTime = getTotalBufferedTime();\n return (totalBufferedTime < criticalBufferLevel);\n }\n\n function triggerEvent(eventType, data) {\n let payload = data || {};\n eventBus.trigger(eventType, payload, { streamId: streamInfo.id, mediaType: type });\n }\n\n function resetInitialSettings(errored, keepBuffers) {\n criticalBufferLevel = Number.POSITIVE_INFINITY;\n bufferState = undefined;\n requiredQuality = AbrController.QUALITY_DEFAULT;\n lastIndex = Number.POSITIVE_INFINITY;\n maxAppendedIndex = 0;\n appendedBytesInfo = null;\n isBufferingCompleted = false;\n isPruningInProgress = false;\n isQuotaExceeded = false;\n seekClearedBufferingCompleted = false;\n bufferLevel = 0;\n wallclockTicked = 0;\n pendingPruningRanges = [];\n seekTarget = NaN;\n\n if (buffer) {\n if (!errored) {\n buffer.abort();\n }\n buffer.reset(keepBuffers);\n buffer = null;\n }\n\n replacingBuffer = false;\n }\n\n function reset(errored, keepBuffers) {\n eventBus.off(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, this);\n eventBus.off(Events.INIT_FRAGMENT_LOADED, onInitFragmentLoaded, this);\n eventBus.off(Events.MEDIA_FRAGMENT_LOADED, onMediaFragmentLoaded, this);\n eventBus.off(Events.QUALITY_CHANGE_REQUESTED, onQualityChanged, this);\n eventBus.off(Events.STREAM_COMPLETED, onStreamCompleted, this);\n eventBus.off(Events.PLAYBACK_PLAYING, onPlaybackPlaying, this);\n eventBus.off(Events.PLAYBACK_PROGRESS, onPlaybackProgression, this);\n eventBus.off(Events.PLAYBACK_TIME_UPDATED, onPlaybackProgression, this);\n eventBus.off(Events.PLAYBACK_RATE_CHANGED, onPlaybackRateChanged, this);\n eventBus.off(Events.PLAYBACK_SEEKING, onPlaybackSeeking, this);\n eventBus.off(Events.PLAYBACK_SEEKED, onPlaybackSeeked, this);\n eventBus.off(Events.PLAYBACK_STALLED, onPlaybackStalled, this);\n eventBus.off(Events.WALLCLOCK_TIME_UPDATED, onWallclockTimeUpdated, this);\n eventBus.off(Events.CURRENT_TRACK_CHANGED, onCurrentTrackChanged, this);\n eventBus.off(Events.SOURCEBUFFER_REMOVE_COMPLETED, onRemoved, this);\n\n resetInitialSettings(errored, keepBuffers);\n }\n\n instance = {\n initialize,\n getStreamId,\n getType,\n getBufferControllerType,\n getRepresentationInfo,\n createBuffer,\n dischargePreBuffer,\n getBuffer,\n setBuffer,\n getBufferLevel,\n getRangeAt,\n setMediaSource,\n getMediaSource,\n appendInitSegment,\n replaceBuffer,\n getIsBufferingCompleted,\n getIsPruningInProgress,\n reset,\n updateAppendWindow\n };\n\n setup();\n return instance;\n}\n\nBufferController.__dashjs_factory_name = BUFFER_CONTROLLER_TYPE;\nexport default FactoryMaker.getClassFactory(BufferController);\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 FactoryMaker from '../../core/FactoryMaker';\nimport Debug from '../../core/Debug';\nimport EventBus from '../../core/EventBus';\nimport MediaPlayerEvents from '../../streaming/MediaPlayerEvents';\nimport XHRLoader from '../net/XHRLoader';\n\nfunction EventController() {\n\n const MPD_RELOAD_SCHEME = 'urn:mpeg:dash:event:2012';\n const MPD_RELOAD_VALUE = 1;\n\n const MPD_CALLBACK_SCHEME = 'urn:mpeg:dash:event:callback:2015';\n const MPD_CALLBACK_VALUE = 1;\n\n const REMAINING_EVENTS_THRESHOLD = 300;\n\n const EVENT_HANDLED_STATES = {\n DISCARDED: 'discarded',\n UPDATED: 'updated',\n ADDED: 'added'\n };\n\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n\n let instance,\n logger,\n inlineEvents, // Holds all Inline Events not triggered yet\n inbandEvents, // Holds all Inband Events not triggered yet\n eventInterval, // variable holding the setInterval\n lastEventTimerCall,\n manifestUpdater,\n playbackController,\n settings,\n eventHandlingInProgress,\n isStarted;\n\n /**\n * Internal setup when class is instanced\n */\n function _setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n _resetInitialSettings();\n }\n\n /**\n * Checks if the provded configuration is valid\n */\n function checkConfig() {\n if (!manifestUpdater || !playbackController) {\n throw new Error('setConfig function has to be called previously');\n }\n }\n\n /**\n * Reset to initial settings\n */\n function _resetInitialSettings() {\n isStarted = false;\n inlineEvents = {}; // Format inlineEvents[schemeIdUri]\n inbandEvents = {}; // Format inlineEvents[schemeIdUri]\n eventInterval = null;\n eventHandlingInProgress = false;\n lastEventTimerCall = Date.now() / 1000;\n }\n\n /**\n * Stops the EventController by clearing the event interval\n */\n function _stop() {\n try {\n if (eventInterval !== null && isStarted) {\n clearInterval(eventInterval);\n eventInterval = null;\n isStarted = false;\n _onStopEventController();\n }\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Starts the interval function of the EventController\n */\n function start() {\n try {\n checkConfig();\n logger.debug('Start Event Controller');\n const refreshDelay = settings.get().streaming.eventControllerRefreshDelay;\n if (!isStarted && !isNaN(refreshDelay)) {\n isStarted = true;\n eventInterval = setInterval(_onEventTimer, refreshDelay);\n }\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Add MPD events to the list of events.\n * Events that are not in the MPD anymore but not triggered yet will still be deleted.\n * Existing events might get updated.\n * @param {Array.} values\n */\n function addInlineEvents(values) {\n try {\n checkConfig();\n\n if (values) {\n for (let i = 0; i < values.length; i++) {\n let event = values[i];\n let result = _addOrUpdateEvent(event, inlineEvents, true);\n\n if (result === EVENT_HANDLED_STATES.ADDED) {\n logger.debug(`Added inline event with id ${event.id}`);\n // If we see the event for the first time we trigger it in onReceive mode\n _startEvent(event, values, MediaPlayerEvents.EVENT_MODE_ON_RECEIVE);\n } else if (result === EVENT_HANDLED_STATES.UPDATED) {\n logger.debug(`Updated inline event with id ${event.id}`);\n }\n }\n }\n logger.debug(`Added ${values.length} inline events`);\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Add EMSG events to the list of events\n * Messages with the same id within the scope of the same scheme_id_uri and value pair are equivalent , i.e. processing of any one event message box with the same id is sufficient.\n * @param {Array.} values\n */\n function addInbandEvents(values) {\n try {\n checkConfig();\n\n for (let i = 0; i < values.length; i++) {\n let event = values[i];\n let result = _addOrUpdateEvent(event, inbandEvents, false);\n\n if (result === EVENT_HANDLED_STATES.ADDED) {\n if (event.eventStream.schemeIdUri === MPD_RELOAD_SCHEME && inbandEvents[event.id] === undefined) {\n _handleManifestReloadEvent(event);\n }\n logger.debug('Added inband event with id ' + event.id);\n _startEvent(event, values, MediaPlayerEvents.EVENT_MODE_ON_RECEIVE);\n } else {\n logger.debug(`Inband event with scheme_id_uri ${event.eventStream.schemeIdUri}, value ${event.eventStream.value} and id ${event.id} was ignored because it has been added before.`);\n }\n }\n _onEventTimer();\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Adds or updates an event to/in the list of events\n * @param {object} event\n * @param {object} events\n * @param {boolean} shouldOverwriteExistingEvents\n * @return {string}\n * @private\n */\n function _addOrUpdateEvent(event, events, shouldOverwriteExistingEvents = false) {\n const schemeIdUri = event.eventStream.schemeIdUri;\n const value = event.eventStream.value;\n const id = event.id;\n let eventState = EVENT_HANDLED_STATES.DISCARDED;\n\n if (!events[schemeIdUri]) {\n events[schemeIdUri] = [];\n }\n\n const indexOfExistingEvent = events[schemeIdUri].findIndex((e) => {\n return ((!value || (e.eventStream.value && e.eventStream.value === value)) && (e.id === id));\n });\n\n if (indexOfExistingEvent === -1) {\n events[schemeIdUri].push(event);\n eventState = EVENT_HANDLED_STATES.ADDED;\n } else if (shouldOverwriteExistingEvents) {\n events[schemeIdUri][indexOfExistingEvent] = event;\n eventState = EVENT_HANDLED_STATES.UPDATED;\n }\n\n return eventState;\n }\n\n /**\n * Triggers an MPD reload\n * @param {object} event\n * @private\n */\n function _handleManifestReloadEvent(event) {\n try {\n if (event.eventStream.value == MPD_RELOAD_VALUE) {\n const validUntil = event.calculatedPresentationTime;\n let newDuration;\n if (event.calculatedPresentationTime == 0xFFFFFFFF) {//0xFF... means remaining duration unknown\n newDuration = NaN;\n } else {\n newDuration = event.calculatedPresentationTime + event.duration;\n }\n //logger.info('Manifest validity changed: Valid until: ' + validUntil + '; remaining duration: ' + newDuration);\n eventBus.trigger(MediaPlayerEvents.MANIFEST_VALIDITY_CHANGED, {\n id: event.id,\n validUntil: validUntil,\n newDuration: newDuration,\n newManifestValidAfter: NaN //event.message_data - this is an arraybuffer with a timestring in it, but not used yet\n }, {\n mode: MediaPlayerEvents.EVENT_MODE_ON_START\n });\n }\n } catch (e) {\n }\n }\n\n /**\n * Iterate through the eventList and trigger the events\n */\n function _onEventTimer() {\n try {\n if (!eventHandlingInProgress) {\n eventHandlingInProgress = true;\n const currentVideoTime = playbackController.getTime();\n let presentationTimeThreshold = (currentVideoTime - lastEventTimerCall);\n\n // For dynamic streams lastEventTimeCall will be large in the first iteration. Avoid firing all events at once.\n presentationTimeThreshold = lastEventTimerCall > 0 ? Math.max(0, presentationTimeThreshold) : 0;\n\n _triggerEvents(inbandEvents, presentationTimeThreshold, currentVideoTime);\n _triggerEvents(inlineEvents, presentationTimeThreshold, currentVideoTime);\n\n lastEventTimerCall = currentVideoTime;\n eventHandlingInProgress = false;\n }\n } catch (e) {\n eventHandlingInProgress = false;\n }\n }\n\n /**\n * When the EventController is stopped this callback is triggered. Starts the remaining events.\n * @private\n */\n function _onStopEventController() {\n try {\n // EventController might be stopped before the period is over. Before we stop the event controller we check for events that needs to be triggered at the period boundary.\n _triggerRemainingEvents(inbandEvents);\n _triggerRemainingEvents(inlineEvents);\n } catch (e) {\n\n }\n }\n\n /**\n * Iterate over a list of events and trigger the ones for which the presentation time is within the current timing interval\n * @param {object} events\n * @param {number} presentationTimeThreshold\n * @param {number} currentVideoTime\n * @private\n */\n function _triggerEvents(events, presentationTimeThreshold, currentVideoTime) {\n try {\n const callback = function (event) {\n if (event !== undefined) {\n const duration = !isNaN(event.duration) ? event.duration : 0;\n // The event is either about to start or has already been started and we are within its duration\n if ((event.calculatedPresentationTime <= currentVideoTime && event.calculatedPresentationTime + presentationTimeThreshold + duration >= currentVideoTime)) {\n _startEvent(event, events, MediaPlayerEvents.EVENT_MODE_ON_START);\n } else if (_eventHasExpired(currentVideoTime, duration + presentationTimeThreshold, event.calculatedPresentationTime) || _eventIsInvalid(event)) {\n logger.debug(`Deleting event ${event.id} as it is expired or invalid`);\n _removeEvent(events, event);\n }\n }\n };\n\n _iterateAndTriggerCallback(events, callback);\n } catch (e) {\n }\n }\n\n /**\n * Triggers the remaining events after the EventController has been stopped\n * @param {object} events\n * @private\n */\n function _triggerRemainingEvents(events) {\n try {\n const currentTime = playbackController.getTime();\n const callback = function (event) {\n const periodDuration = event.eventStream && event.eventStream.period && !isNaN(event.eventStream.period.duration) ? event.eventStream.period.duration : NaN;\n const periodStart = event.eventStream && event.eventStream.period && !isNaN(event.eventStream.period.start) ? event.eventStream.period.start : NaN;\n\n if (isNaN(periodDuration) || isNaN(periodStart)) {\n return;\n }\n\n const calculatedPresentationTimeInSeconds = event.calculatedPresentationTime;\n\n if (Math.abs(calculatedPresentationTimeInSeconds - currentTime) < REMAINING_EVENTS_THRESHOLD) {\n _startEvent(event, events, MediaPlayerEvents.EVENT_MODE_ON_START);\n }\n\n };\n\n _iterateAndTriggerCallback(events, callback());\n\n } catch (e) {\n\n }\n }\n\n /**\n * Iterates over the inline/inband event object and triggers a callback for each event\n * @param {object} events\n * @param {function} callback\n * @private\n */\n function _iterateAndTriggerCallback(events, callback) {\n try {\n if (events) {\n const schemeIdUris = Object.keys(events);\n for (let i = 0; i < schemeIdUris.length; i++) {\n const schemeIdEvents = events[schemeIdUris[i]];\n schemeIdEvents.forEach((event) => {\n if (event !== undefined) {\n callback(event);\n }\n });\n }\n }\n } catch (e) {\n\n }\n }\n\n /**\n * Checks if an event is expired. For instance if the presentationTime + the duration of an event are smaller than the current video time.\n * @param {number} currentVideoTime\n * @param {number} threshold\n * @param {number} calculatedPresentationTimeInSeconds\n * @return {boolean}\n * @private\n */\n function _eventHasExpired(currentVideoTime, threshold, calculatedPresentationTimeInSeconds) {\n try {\n return currentVideoTime - threshold > calculatedPresentationTimeInSeconds;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Checks if an event is invalid. This is the case if the end time of the parent period is smaller than the presentation time of the event.\n * @param {object} event\n * @return {boolean}\n * @private\n */\n function _eventIsInvalid(event) {\n try {\n const periodEndTime = event.eventStream.period.start + event.eventStream.period.duration;\n\n return event.calculatedPresentationTime > periodEndTime;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Starts an event. Depending on the schemeIdUri we distinguis between\n * - MPD Reload events\n * - MPD Callback events\n * - Events to be dispatched to the application\n * Events should be removed from the list before beeing triggered. Otherwise the event handler might cause an error and the remove function will not be called.\n * @param {object} event\n * @param {object} events\n * @param {String} mode\n * @private\n */\n function _startEvent(event, events, mode) {\n try {\n const currentVideoTime = playbackController.getTime();\n const eventId = event.id;\n\n if (mode === MediaPlayerEvents.EVENT_MODE_ON_RECEIVE) {\n logger.debug(`Received event ${eventId}`);\n eventBus.trigger(event.eventStream.schemeIdUri, { event: event }, { mode });\n return;\n }\n\n if (event.eventStream.schemeIdUri === MPD_RELOAD_SCHEME && event.eventStream.value === MPD_RELOAD_VALUE) {\n if (event.duration !== 0 || event.presentationTimeDelta !== 0) { //If both are set to zero, it indicates the media is over at this point. Don't reload the manifest.\n logger.debug(`Starting manifest refresh event ${eventId} at ${currentVideoTime}`);\n _removeEvent(events, event);\n _refreshManifest();\n }\n } else if (event.eventStream.schemeIdUri === MPD_CALLBACK_SCHEME && event.eventStream.value === MPD_CALLBACK_VALUE) {\n logger.debug(`Starting callback event ${eventId} at ${currentVideoTime}`);\n _removeEvent(events, event);\n _sendCallbackRequest(event.messageData);\n } else {\n logger.debug(`Starting event ${eventId} at ${currentVideoTime}`);\n _removeEvent(events, event);\n eventBus.trigger(event.eventStream.schemeIdUri, { event: event }, { mode });\n }\n\n } catch (e) {\n }\n }\n\n /**\n * Removes an event from the list. If this is the last event of type \"schemeIdUri\" the corresponding schemeIdUri Object in the list of events is deleted.\n * @param {object} events\n * @param {object} event\n * @private\n */\n function _removeEvent(events, event) {\n const schemeIdUri = event.eventStream.schemeIdUri;\n const value = event.eventStream.value;\n const id = event.id;\n\n events[schemeIdUri] = events[schemeIdUri].filter((e) => {\n return (value && e.eventStream.value && e.eventStream.value !== value) || (e.id !== id);\n });\n\n if (events[schemeIdUri].length === 0) {\n delete events[schemeIdUri];\n }\n\n }\n\n /**\n * Refresh the manifest\n * @private\n */\n function _refreshManifest() {\n try {\n checkConfig();\n manifestUpdater.refreshManifest();\n } catch (e) {\n }\n }\n\n /**\n * Send a callback request\n * @param {String} url\n * @private\n */\n function _sendCallbackRequest(url) {\n try {\n let loader = XHRLoader(context).create({});\n loader.load({\n method: 'get',\n url: url,\n request: {\n responseType: 'arraybuffer'\n }\n });\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Set the config of the EventController\n * @param {object} config\n */\n function setConfig(config) {\n try {\n if (!config) {\n return;\n }\n if (config.manifestUpdater) {\n manifestUpdater = config.manifestUpdater;\n }\n if (config.playbackController) {\n playbackController = config.playbackController;\n }\n if (config.settings) {\n settings = config.settings;\n }\n\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Returns all inline events that have not been triggered yet\n * @return {object}\n */\n function getInlineEvents() {\n return inlineEvents;\n }\n\n /**\n * Returns all inband events that have not been triggered yet\n * @return {object}\n */\n function getInbandEvents() {\n return inbandEvents;\n }\n\n /**\n * Stop the EventController and reset all initial settings\n */\n function reset() {\n _stop();\n _resetInitialSettings();\n }\n\n instance = {\n addInlineEvents,\n addInbandEvents,\n getInbandEvents,\n getInlineEvents,\n start,\n setConfig,\n reset\n };\n\n _setup();\n\n return instance;\n}\n\nEventController.__dashjs_factory_name = 'EventController';\nexport default FactoryMaker.getSingletonFactory(EventController);\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 */\nimport Constants from '../constants/Constants';\nimport DataChunk from '../vo/DataChunk';\nimport FragmentModel from '../models/FragmentModel';\nimport FragmentLoader from '../FragmentLoader';\nimport RequestModifier from '../utils/RequestModifier';\nimport EventBus from '../../core/EventBus';\nimport Events from '../../core/events/Events';\nimport Errors from '../../core/errors/Errors';\nimport FactoryMaker from '../../core/FactoryMaker';\nimport Debug from '../../core/Debug';\n\nfunction FragmentController( config ) {\n\n config = config || {};\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n\n const errHandler = config.errHandler;\n const mediaPlayerModel = config.mediaPlayerModel;\n const dashMetrics = config.dashMetrics;\n const debug = Debug(context).getInstance();\n const streamInfo = config.streamInfo;\n\n let instance,\n logger,\n fragmentModels;\n\n function setup() {\n logger = debug.getLogger(instance);\n resetInitialSettings();\n eventBus.on(Events.FRAGMENT_LOADING_COMPLETED, onFragmentLoadingCompleted, instance);\n eventBus.on(Events.FRAGMENT_LOADING_PROGRESS, onFragmentLoadingCompleted, instance);\n }\n\n function getStreamId() {\n return streamInfo.id;\n }\n\n function getModel(type) {\n let model = fragmentModels[type];\n if (!model) {\n model = FragmentModel(context).create({\n streamInfo: streamInfo,\n type: type,\n dashMetrics: dashMetrics,\n fragmentLoader: FragmentLoader(context).create({\n dashMetrics: dashMetrics,\n mediaPlayerModel: mediaPlayerModel,\n errHandler: errHandler,\n requestModifier: RequestModifier(context).getInstance(),\n settings: config.settings,\n boxParser: config.boxParser,\n eventBus: eventBus,\n events: Events,\n errors: Errors,\n dashConstants: config.dashConstants,\n urlUtils: config.urlUtils\n }),\n debug: debug,\n eventBus: eventBus,\n events: Events\n });\n\n fragmentModels[type] = model;\n }\n\n return model;\n }\n\n function resetInitialSettings() {\n for (let model in fragmentModels) {\n fragmentModels[model].reset();\n }\n fragmentModels = {};\n }\n\n function reset() {\n eventBus.off(Events.FRAGMENT_LOADING_COMPLETED, onFragmentLoadingCompleted, this);\n eventBus.off(Events.FRAGMENT_LOADING_PROGRESS, onFragmentLoadingCompleted, this);\n resetInitialSettings();\n }\n\n function createDataChunk(bytes, request, streamId, endFragment) {\n const chunk = new DataChunk();\n\n chunk.streamId = streamId;\n chunk.mediaInfo = request.mediaInfo;\n chunk.segmentType = request.type;\n chunk.start = request.startTime;\n chunk.duration = request.duration;\n chunk.end = chunk.start + chunk.duration;\n chunk.bytes = bytes;\n chunk.index = request.index;\n chunk.quality = request.quality;\n chunk.representationId = request.representationId;\n chunk.endFragment = endFragment;\n\n return chunk;\n }\n\n function onFragmentLoadingCompleted(e) {\n // Event propagation may have been stopped (see MssHandler)\n if (!e.sender) return;\n\n const request = e.request;\n const bytes = e.response;\n const isInit = request.isInitializationRequest();\n const strInfo = request.mediaInfo.streamInfo;\n\n if (e.error) {\n if (request.mediaType === Constants.AUDIO || request.mediaType === Constants.VIDEO || request.mediaType === Constants.FRAGMENTED_TEXT) {\n // add service location to blacklist controller - only for audio or video. text should not set errors\n eventBus.trigger(Events.SERVICE_LOCATION_BLACKLIST_ADD, { entry: e.request.serviceLocation });\n }\n }\n\n if (!bytes || !strInfo) {\n logger.warn('No ' + request.mediaType + ' bytes to push or stream is inactive.');\n return;\n }\n const chunk = createDataChunk(bytes, request, streamInfo.id, e.type !== Events.FRAGMENT_LOADING_PROGRESS);\n eventBus.trigger(isInit ? Events.INIT_FRAGMENT_LOADED : Events.MEDIA_FRAGMENT_LOADED,\n {\n chunk: chunk,\n request: request\n },\n { streamId: strInfo.id, mediaType: request.mediaType }\n );\n }\n\n instance = {\n getStreamId: getStreamId,\n getModel: getModel,\n reset: reset\n };\n\n setup();\n\n return instance;\n}\n\nFragmentController.__dashjs_factory_name = 'FragmentController';\nexport default FactoryMaker.getClassFactory(FragmentController);\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 */\nimport FactoryMaker from '../../core/FactoryMaker';\nimport Debug from '../../core/Debug';\nimport Events from '../../core/events/Events';\nimport EventBus from '../../core/EventBus';\n\nconst GAP_HANDLER_INTERVAL = 100;\nconst THRESHOLD_TO_STALLS = 30;\nconst GAP_THRESHOLD = 0.1;\n\nfunction GapController() {\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n\n let instance,\n lastPlaybackTime,\n settings,\n wallclockTicked,\n gapHandlerInterval,\n lastGapJumpPosition,\n playbackController,\n streamController,\n videoModel,\n timelineConverter,\n adapter,\n jumpTimeoutHandler,\n logger;\n\n function initialize() {\n registerEvents();\n }\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n\n reset();\n }\n\n function reset() {\n stopGapHandler();\n unregisterEvents();\n resetInitialSettings();\n }\n\n function resetInitialSettings() {\n gapHandlerInterval = null;\n lastGapJumpPosition = NaN;\n wallclockTicked = 0;\n jumpTimeoutHandler = null;\n }\n\n function setConfig(config) {\n if (!config) {\n return;\n }\n if (config.settings) {\n settings = config.settings;\n }\n if (config.playbackController) {\n playbackController = config.playbackController;\n }\n if (config.streamController) {\n streamController = config.streamController;\n }\n if (config.videoModel) {\n videoModel = config.videoModel;\n }\n if (config.timelineConverter) {\n timelineConverter = config.timelineConverter;\n }\n if (config.adapter) {\n adapter = config.adapter;\n }\n }\n\n function registerEvents() {\n eventBus.on(Events.WALLCLOCK_TIME_UPDATED, _onWallclockTimeUpdated, this);\n eventBus.on(Events.PLAYBACK_SEEKING, _onPlaybackSeeking, this);\n eventBus.on(Events.BYTES_APPENDED_END_FRAGMENT, onBytesAppended, instance);\n }\n\n function unregisterEvents() {\n eventBus.off(Events.WALLCLOCK_TIME_UPDATED, _onWallclockTimeUpdated, this);\n eventBus.off(Events.PLAYBACK_SEEKING, _onPlaybackSeeking, this);\n eventBus.off(Events.BYTES_APPENDED_END_FRAGMENT, onBytesAppended, instance);\n }\n\n function onBytesAppended() {\n if (!gapHandlerInterval) {\n startGapHandler();\n }\n }\n\n function _onPlaybackSeeking() {\n if (jumpTimeoutHandler) {\n clearTimeout(jumpTimeoutHandler);\n jumpTimeoutHandler = null;\n }\n }\n\n function _onWallclockTimeUpdated(/*e*/) {\n if (!_shouldCheckForGaps()) {\n return;\n }\n\n wallclockTicked++;\n if (wallclockTicked >= THRESHOLD_TO_STALLS) {\n const currentTime = playbackController.getTime();\n if (lastPlaybackTime === currentTime) {\n jumpGap(currentTime, true);\n } else {\n lastPlaybackTime = currentTime;\n lastGapJumpPosition = NaN;\n }\n wallclockTicked = 0;\n }\n }\n\n function _shouldCheckForGaps() {\n return settings.get().streaming.jumpGaps && streamController.getActiveStreamProcessors().length > 0 &&\n (!playbackController.isSeeking() || streamController.hasStreamFinishedBuffering(streamController.getActiveStream())) && !playbackController.isPaused() && !streamController.getIsStreamSwitchInProgress() &&\n !streamController.getHasMediaOrIntialisationError();\n }\n\n function getNextRangeIndex(ranges, currentTime) {\n try {\n\n if (!ranges || (ranges.length <= 1 && currentTime > 0)) {\n return NaN;\n }\n let nextRangeIndex = NaN;\n let j = 0;\n\n while (isNaN(nextRangeIndex) && j < ranges.length) {\n const rangeEnd = j > 0 ? ranges.end(j - 1) : 0;\n if (currentTime < ranges.start(j) && rangeEnd - currentTime < GAP_THRESHOLD) {\n nextRangeIndex = j;\n }\n j += 1;\n }\n return nextRangeIndex;\n\n } catch (e) {\n return null;\n }\n }\n\n\n function startGapHandler() {\n try {\n if (!gapHandlerInterval) {\n logger.debug('Starting the gap controller');\n gapHandlerInterval = setInterval(() => {\n if (!_shouldCheckForGaps()) {\n return;\n }\n const currentTime = playbackController.getTime();\n jumpGap(currentTime);\n\n }, GAP_HANDLER_INTERVAL);\n }\n } catch (e) {\n }\n }\n\n function stopGapHandler() {\n logger.debug('Stopping the gap controller');\n if (gapHandlerInterval) {\n clearInterval(gapHandlerInterval);\n gapHandlerInterval = null;\n }\n }\n\n function jumpGap(currentTime, playbackStalled = false) {\n const smallGapLimit = settings.get().streaming.smallGapLimit;\n const jumpLargeGaps = settings.get().streaming.jumpLargeGaps;\n const ranges = videoModel.getBufferRange();\n let nextRangeIndex;\n let seekToPosition = NaN;\n let jumpToStreamEnd = false;\n\n\n // Get the range just after current time position\n nextRangeIndex = getNextRangeIndex(ranges, currentTime);\n\n if (!isNaN(nextRangeIndex)) {\n const start = ranges.start(nextRangeIndex);\n const gap = start - currentTime;\n if (gap > 0 && (gap <= smallGapLimit || jumpLargeGaps)) {\n seekToPosition = start;\n }\n }\n\n // Playback has stalled before period end. We seek to the end of the period\n const timeToStreamEnd = playbackController.getTimeToStreamEnd();\n if (isNaN(seekToPosition) && playbackStalled && isFinite(timeToStreamEnd) && !isNaN(timeToStreamEnd) && timeToStreamEnd < smallGapLimit) {\n seekToPosition = parseFloat(playbackController.getStreamEndTime().toFixed(5));\n jumpToStreamEnd = true;\n }\n\n if (seekToPosition > 0 && lastGapJumpPosition !== seekToPosition && seekToPosition > currentTime && !jumpTimeoutHandler) {\n const timeUntilGapEnd = seekToPosition - currentTime;\n\n if (jumpToStreamEnd) {\n logger.warn(`Jumping to end of stream because of gap from ${currentTime} to ${seekToPosition}. Gap duration: ${timeUntilGapEnd}`);\n eventBus.trigger(Events.GAP_CAUSED_SEEK_TO_PERIOD_END, {\n seekTime: seekToPosition,\n duration: timeUntilGapEnd\n });\n } else {\n const isDynamic = playbackController.getIsDynamic();\n const start = nextRangeIndex > 0 ? ranges.end(nextRangeIndex - 1) : currentTime;\n const timeToWait = !isDynamic ? 0 : timeUntilGapEnd * 1000;\n\n jumpTimeoutHandler = window.setTimeout(() => {\n playbackController.seek(seekToPosition, true, true);\n logger.warn(`Jumping gap starting at ${start} and ending at ${seekToPosition}. Jumping by: ${timeUntilGapEnd}`);\n eventBus.trigger(Events.GAP_CAUSED_INTERNAL_SEEK, {\n seekTime: seekToPosition,\n duration: timeUntilGapEnd\n });\n jumpTimeoutHandler = null;\n }, timeToWait);\n }\n lastGapJumpPosition = seekToPosition;\n }\n }\n\n instance = {\n reset,\n setConfig,\n initialize\n };\n\n setup();\n\n return instance;\n}\n\nGapController.__dashjs_factory_name = 'GapController';\nexport default FactoryMaker.getSingletonFactory(GapController);\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 */\nimport Constants from '../constants/Constants';\nimport Events from '../../core/events/Events';\nimport EventBus from '../../core/EventBus';\nimport FactoryMaker from '../../core/FactoryMaker';\nimport Debug from '../../core/Debug';\n\nfunction MediaController() {\n\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n\n let instance,\n logger,\n tracks,\n settings,\n initialSettings,\n domStorage;\n\n const validTrackSwitchModes = [\n Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE,\n Constants.TRACK_SWITCH_MODE_NEVER_REPLACE\n ];\n\n const validTrackSelectionModes = [\n Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE,\n Constants.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY,\n Constants.TRACK_SELECTION_MODE_WIDEST_RANGE\n ];\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n reset();\n }\n\n /**\n * @param {string} type\n * @param {StreamInfo} streamInfo\n * @memberof MediaController#\n */\n function checkInitialMediaSettingsForType(type, streamInfo) {\n let settings = getInitialSettings(type);\n const tracksForType = getTracksFor(type, streamInfo);\n const tracks = [];\n\n if (!settings) {\n settings = domStorage.getSavedMediaSettings(type);\n setInitialSettings(type, settings);\n }\n\n if (!tracksForType || (tracksForType.length === 0)) return;\n\n if (settings) {\n tracksForType.forEach(function (track) {\n if (matchSettings(settings, track)) {\n tracks.push(track);\n }\n });\n }\n\n if (tracks.length === 0) {\n setTrack(this.selectInitialTrack(type, tracksForType), true);\n } else {\n if (tracks.length > 1) {\n setTrack(this.selectInitialTrack(type, tracks));\n } else {\n setTrack(tracks[0]);\n }\n }\n }\n\n /**\n * @param {MediaInfo} track\n * @memberof MediaController#\n */\n function addTrack(track) {\n if (!track) return;\n\n const mediaType = track.type;\n if (!isMultiTrackSupportedByType(mediaType)) return;\n\n let streamId = track.streamInfo.id;\n if (!tracks[streamId]) {\n tracks[streamId] = createTrackInfo();\n }\n\n const mediaTracks = tracks[streamId][mediaType].list;\n for (let i = 0, len = mediaTracks.length; i < len; ++i) {\n //track is already set.\n if (isTracksEqual(mediaTracks[i], track)) {\n return;\n }\n }\n\n mediaTracks.push(track);\n\n let initSettings = getInitialSettings(mediaType);\n if (initSettings && (matchSettings(initSettings, track)) && !getCurrentTrackFor(mediaType, track.streamInfo)) {\n setTrack(track);\n }\n }\n\n /**\n * @param {string} type\n * @param {StreamInfo} streamInfo\n * @returns {Array}\n * @memberof MediaController#\n */\n function getTracksFor(type, streamInfo) {\n if (!type || !streamInfo) return [];\n\n const id = streamInfo.id;\n\n if (!tracks[id] || !tracks[id][type]) return [];\n\n return tracks[id][type].list;\n }\n\n /**\n * @param {string} type\n * @param {StreamInfo} streamInfo\n * @returns {Object|null}\n * @memberof MediaController#\n */\n function getCurrentTrackFor(type, streamInfo) {\n if (!type || !streamInfo || (streamInfo && !tracks[streamInfo.id])) return null;\n return tracks[streamInfo.id][type].current;\n }\n\n /**\n * @param {MediaInfo} track\n * @returns {boolean}\n * @memberof MediaController#\n */\n function isCurrentTrack(track) {\n if (!track) {\n return false;\n }\n const type = track.type;\n const id = track.streamInfo.id;\n\n return (tracks[id] && tracks[id][type] && isTracksEqual(tracks[id][type].current, track));\n }\n\n /**\n * @param {MediaInfo} track\n * @param {boolean} noSettingsSave specify if settings must be not be saved\n * @memberof MediaController#\n */\n function setTrack(track, noSettingsSave) {\n if (!track || !track.streamInfo) return;\n\n const type = track.type;\n const streamInfo = track.streamInfo;\n const id = streamInfo.id;\n const current = getCurrentTrackFor(type, streamInfo);\n\n if (!tracks[id] || !tracks[id][type] || isTracksEqual(track, current)) return;\n\n tracks[id][type].current = track;\n\n if (tracks[id][type].current && !(noSettingsSave && type === Constants.FRAGMENTED_TEXT)) {\n eventBus.trigger(Events.CURRENT_TRACK_CHANGED, {\n oldMediaInfo: current,\n newMediaInfo: track,\n switchMode: getSwitchMode(type)\n });\n }\n\n if (!noSettingsSave) {\n\n let settings = extractSettings(track);\n\n if (!settings || !tracks[id][type].storeLastSettings) return;\n\n if (settings.roles) {\n settings.role = settings.roles[0];\n delete settings.roles;\n }\n\n if (settings.accessibility) {\n settings.accessibility = settings.accessibility[0];\n }\n\n if (settings.audioChannelConfiguration) {\n settings.audioChannelConfiguration = settings.audioChannelConfiguration[0];\n }\n\n domStorage.setSavedMediaSettings(type, settings);\n }\n }\n\n /**\n * @param {string} type\n * @param {Object} value\n * @memberof MediaController#\n */\n function setInitialSettings(type, value) {\n if (!type || !value) return;\n\n initialSettings[type] = value;\n }\n\n /**\n * @param {string} type\n * @returns {Object|null}\n * @memberof MediaController#\n */\n function getInitialSettings(type) {\n if (!type) return null;\n\n return initialSettings[type];\n }\n\n /**\n * @memberof MediaController#\n */\n function saveTextSettingsDisabled() {\n domStorage.setSavedMediaSettings(Constants.FRAGMENTED_TEXT, null);\n }\n\n /**\n * @param {string} type\n * @param {string} mode\n * @memberof MediaController#\n * @deprecated Please use updateSettings({streaming: { trackSwitchMode: mode } }) instead\n */\n function setSwitchMode(type, mode) {\n logger.warn('deprecated: Please use updateSettings({streaming: { trackSwitchMode: mode } }) instead');\n const isModeSupported = (validTrackSwitchModes.indexOf(mode) !== -1);\n\n if (!isModeSupported) {\n logger.warn('Track switch mode is not supported: ' + mode);\n return;\n }\n\n let switchMode = {};\n switchMode[type] = mode;\n\n settings.update({\n streaming: {\n trackSwitchMode: switchMode\n }\n });\n }\n\n /**\n * @param {string} type\n * @returns {string} mode\n * @memberof MediaController#\n */\n function getSwitchMode(type) {\n return settings.get().streaming.trackSwitchMode[type];\n }\n\n /**\n * @param {string} mode\n * @memberof MediaController#\n * @deprecated Please use updateSettings({streaming: { selectionModeForInitialTrack: mode } }) instead\n */\n function setSelectionModeForInitialTrack(mode) {\n logger.warn('deprecated: Please use updateSettings({streaming: { selectionModeForInitialTrack: mode } }) instead');\n const isModeSupported = (validTrackSelectionModes.indexOf(mode) !== -1);\n\n if (!isModeSupported) {\n logger.warn('Track selection mode is not supported: ' + mode);\n return;\n }\n\n settings.update({\n streaming: {\n selectionModeForInitialTrack: mode\n }\n });\n }\n\n /**\n * @returns {string} mode\n * @memberof MediaController#\n */\n function getSelectionModeForInitialTrack() {\n return settings.get().streaming.selectionModeForInitialTrack;\n }\n\n /**\n * @param {string} type\n * @returns {boolean}\n * @memberof MediaController#\n */\n function isMultiTrackSupportedByType(type) {\n return (type === Constants.AUDIO || type === Constants.VIDEO || type === Constants.TEXT ||\n type === Constants.FRAGMENTED_TEXT || type === Constants.IMAGE);\n }\n\n /**\n * @param {MediaInfo} t1 - first track to compare\n * @param {MediaInfo} t2 - second track to compare\n * @returns {boolean}\n * @memberof MediaController#\n */\n function isTracksEqual(t1, t2) {\n if (!t1 && !t2) {\n return true;\n }\n\n if (!t1 || !t2) {\n return false;\n }\n\n const sameId = t1.id === t2.id;\n const sameViewpoint = t1.viewpoint === t2.viewpoint;\n const sameLang = t1.lang === t2.lang;\n const sameRoles = t1.roles.toString() === t2.roles.toString();\n const sameAccessibility = t1.accessibility.toString() === t2.accessibility.toString();\n const sameAudioChannelConfiguration = t1.audioChannelConfiguration.toString() === t2.audioChannelConfiguration.toString();\n\n return (sameId && sameViewpoint && sameLang && sameRoles && sameAccessibility && sameAudioChannelConfiguration);\n }\n\n function setConfig(config) {\n if (!config) return;\n\n if (config.domStorage) {\n domStorage = config.domStorage;\n }\n\n if (config.settings) {\n settings = config.settings;\n }\n }\n\n /**\n * @memberof MediaController#\n */\n function reset() {\n tracks = {};\n resetInitialSettings();\n }\n\n function extractSettings(mediaInfo) {\n const settings = {\n lang: mediaInfo.lang,\n viewpoint: mediaInfo.viewpoint,\n roles: mediaInfo.roles,\n accessibility: mediaInfo.accessibility,\n audioChannelConfiguration: mediaInfo.audioChannelConfiguration\n };\n let notEmpty = settings.lang || settings.viewpoint || (settings.role && settings.role.length > 0) ||\n (settings.accessibility && settings.accessibility.length > 0) || (settings.audioChannelConfiguration && settings.audioChannelConfiguration.length > 0);\n\n return notEmpty ? settings : null;\n }\n\n function matchSettings(settings, track) {\n const matchLang = !settings.lang || (track.lang.match(settings.lang));\n const matchIndex = (settings.index === undefined) || (settings.index === null) || (track.index === settings.index);\n const matchViewPoint = !settings.viewpoint || (settings.viewpoint === track.viewpoint);\n const matchRole = !settings.role || !!track.roles.filter(function (item) {\n return item === settings.role;\n })[0];\n let matchAccessibility = !settings.accessibility || !!track.accessibility.filter(function (item) {\n return item === settings.accessibility;\n })[0];\n let matchAudioChannelConfiguration = !settings.audioChannelConfiguration || !!track.audioChannelConfiguration.filter(function (item) {\n return item === settings.audioChannelConfiguration;\n })[0];\n\n return (matchLang && matchIndex && matchViewPoint && matchRole && matchAccessibility && matchAudioChannelConfiguration);\n }\n\n function resetInitialSettings() {\n initialSettings = {\n audio: null,\n video: null,\n fragmentedText: null\n };\n }\n\n function getTracksWithHighestBitrate (trackArr) {\n let max = 0;\n let result = [];\n let tmp;\n\n trackArr.forEach(function (track) {\n tmp = Math.max.apply(Math, track.bitrateList.map(function (obj) { return obj.bandwidth; }));\n\n if (tmp > max) {\n max = tmp;\n result = [track];\n } else if (tmp === max) {\n result.push(track);\n }\n });\n\n return result;\n }\n\n function getTracksWithHighestEfficiency (trackArr) {\n let min = Infinity;\n let result = [];\n let tmp;\n\n trackArr.forEach(function (track) {\n const sum = track.bitrateList.reduce(function (acc, obj) {\n const resolution = Math.max(1, obj.width * obj.height);\n const efficiency = obj.bandwidth / resolution;\n return acc + efficiency;\n }, 0);\n tmp = sum / track.bitrateList.length;\n\n if (tmp < min) {\n min = tmp;\n result = [track];\n } else if (tmp === min) {\n result.push(track);\n }\n });\n\n return result;\n }\n\n function getTracksWithWidestRange (trackArr) {\n let max = 0;\n let result = [];\n let tmp;\n\n trackArr.forEach(function (track) {\n tmp = track.representationCount;\n\n if (tmp > max) {\n max = tmp;\n result = [track];\n } else if (tmp === max) {\n result.push(track);\n }\n });\n\n return result;\n }\n\n function selectInitialTrack(type, tracks) {\n if (type === Constants.FRAGMENTED_TEXT) return tracks[0];\n\n let mode = getSelectionModeForInitialTrack();\n let tmpArr = [];\n\n switch (mode) {\n case Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE:\n tmpArr = getTracksWithHighestBitrate(tracks);\n\n if (tmpArr.length > 1) {\n tmpArr = getTracksWithWidestRange(tmpArr);\n }\n break;\n case Constants.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY:\n tmpArr = getTracksWithHighestEfficiency(tracks);\n\n if (tmpArr.length > 1) {\n tmpArr = getTracksWithHighestBitrate(tmpArr);\n }\n break;\n case Constants.TRACK_SELECTION_MODE_WIDEST_RANGE:\n tmpArr = getTracksWithWidestRange(tracks);\n\n if (tmpArr.length > 1) {\n tmpArr = getTracksWithHighestBitrate(tracks);\n }\n break;\n default:\n logger.warn('Track selection mode is not supported: ' + mode);\n break;\n }\n\n return tmpArr[0];\n }\n\n function createTrackInfo() {\n return {\n audio: {\n list: [],\n storeLastSettings: true,\n current: null\n },\n video: {\n list: [],\n storeLastSettings: true,\n current: null\n },\n text: {\n list: [],\n storeLastSettings: true,\n current: null\n },\n fragmentedText: {\n list: [],\n storeLastSettings: true,\n current: null\n },\n image: {\n list: [],\n storeLastSettings: true,\n current: null\n }\n };\n }\n\n instance = {\n checkInitialMediaSettingsForType: checkInitialMediaSettingsForType,\n addTrack: addTrack,\n getTracksFor: getTracksFor,\n getCurrentTrackFor: getCurrentTrackFor,\n isCurrentTrack: isCurrentTrack,\n setTrack: setTrack,\n setInitialSettings: setInitialSettings,\n getInitialSettings: getInitialSettings,\n setSwitchMode: setSwitchMode,\n getSwitchMode: getSwitchMode,\n selectInitialTrack: selectInitialTrack,\n getTracksWithHighestBitrate: getTracksWithHighestBitrate,\n getTracksWithHighestEfficiency: getTracksWithHighestEfficiency,\n getTracksWithWidestRange: getTracksWithWidestRange,\n setSelectionModeForInitialTrack: setSelectionModeForInitialTrack,\n getSelectionModeForInitialTrack: getSelectionModeForInitialTrack,\n isMultiTrackSupportedByType: isMultiTrackSupportedByType,\n isTracksEqual: isTracksEqual,\n matchSettings: matchSettings,\n saveTextSettingsDisabled: saveTextSettingsDisabled,\n setConfig: setConfig,\n reset: reset\n };\n\n setup();\n\n return instance;\n}\n\nMediaController.__dashjs_factory_name = 'MediaController';\nconst factory = FactoryMaker.getSingletonFactory(MediaController);\nFactoryMaker.updateSingletonFactory(MediaController.__dashjs_factory_name, factory);\nexport default factory;\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 */\nimport Constants from '../constants/Constants';\nimport Events from '../../core/events/Events';\nimport EventBus from '../../core/EventBus';\nimport FactoryMaker from '../../core/FactoryMaker';\nimport Debug from '../../core/Debug';\n\nfunction MediaController() {\n\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n\n let instance,\n logger,\n tracks,\n settings,\n initialSettings,\n domStorage;\n\n const validTrackSwitchModes = [\n Constants.TRACK_SWITCH_MODE_ALWAYS_REPLACE,\n Constants.TRACK_SWITCH_MODE_NEVER_REPLACE\n ];\n\n const validTrackSelectionModes = [\n Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE,\n Constants.TRACK_SELECTION_MODE_FIRST_TRACK,\n Constants.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY,\n Constants.TRACK_SELECTION_MODE_WIDEST_RANGE\n ];\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n reset();\n }\n\n /**\n * @param {string} type\n * @param {StreamInfo} streamInfo\n * @memberof MediaController#\n */\n function checkInitialMediaSettingsForType(type, streamInfo) {\n let settings = getInitialSettings(type);\n const tracksForType = getTracksFor(type, streamInfo);\n const tracks = [];\n\n if (!settings) {\n settings = domStorage.getSavedMediaSettings(type);\n setInitialSettings(type, settings);\n }\n\n if (!tracksForType || (tracksForType.length === 0)) return;\n\n if (settings) {\n tracksForType.forEach(function (track) {\n if (matchSettings(settings, track)) {\n tracks.push(track);\n }\n });\n }\n\n if (tracks.length === 0) {\n setTrack(this.selectInitialTrack(type, tracksForType), true);\n } else {\n if (tracks.length > 1) {\n setTrack(this.selectInitialTrack(type, tracks));\n } else {\n setTrack(tracks[0]);\n }\n }\n }\n\n /**\n * @param {MediaInfo} track\n * @memberof MediaController#\n */\n function addTrack(track) {\n if (!track) return;\n\n const mediaType = track.type;\n if (!isMultiTrackSupportedByType(mediaType)) return;\n\n let streamId = track.streamInfo.id;\n if (!tracks[streamId]) {\n tracks[streamId] = createTrackInfo();\n }\n\n const mediaTracks = tracks[streamId][mediaType].list;\n for (let i = 0, len = mediaTracks.length; i < len; ++i) {\n //track is already set.\n if (isTracksEqual(mediaTracks[i], track)) {\n return;\n }\n }\n\n mediaTracks.push(track);\n\n let initSettings = getInitialSettings(mediaType);\n if (initSettings && (matchSettings(initSettings, track)) && !getCurrentTrackFor(mediaType, track.streamInfo)) {\n setTrack(track);\n }\n }\n\n /**\n * @param {string} type\n * @param {StreamInfo} streamInfo\n * @returns {Array}\n * @memberof MediaController#\n */\n function getTracksFor(type, streamInfo) {\n if (!type || !streamInfo) return [];\n\n const id = streamInfo.id;\n\n if (!tracks[id] || !tracks[id][type]) return [];\n\n return tracks[id][type].list;\n }\n\n /**\n * @param {string} type\n * @param {StreamInfo} streamInfo\n * @returns {Object|null}\n * @memberof MediaController#\n */\n function getCurrentTrackFor(type, streamInfo) {\n if (!type || !streamInfo || (streamInfo && !tracks[streamInfo.id])) return null;\n return tracks[streamInfo.id][type].current;\n }\n\n /**\n * @param {MediaInfo} track\n * @returns {boolean}\n * @memberof MediaController#\n */\n function isCurrentTrack(track) {\n if (!track) {\n return false;\n }\n const type = track.type;\n const id = track.streamInfo.id;\n\n return (tracks[id] && tracks[id][type] && isTracksEqual(tracks[id][type].current, track));\n }\n\n /**\n * @param {MediaInfo} track\n * @param {boolean} noSettingsSave specify if settings must be not be saved\n * @memberof MediaController#\n */\n function setTrack(track, noSettingsSave) {\n if (!track || !track.streamInfo) return;\n\n const type = track.type;\n const streamInfo = track.streamInfo;\n const id = streamInfo.id;\n const current = getCurrentTrackFor(type, streamInfo);\n\n if (!tracks[id] || !tracks[id][type] || isTracksEqual(track, current)) return;\n\n tracks[id][type].current = track;\n\n if (tracks[id][type].current && !(noSettingsSave && type === Constants.FRAGMENTED_TEXT)) {\n eventBus.trigger(Events.CURRENT_TRACK_CHANGED, {\n oldMediaInfo: current,\n newMediaInfo: track,\n switchMode: getSwitchMode(type)\n });\n }\n\n if (!noSettingsSave) {\n\n let settings = extractSettings(track);\n\n if (!settings || !tracks[id][type].storeLastSettings) return;\n\n if (settings.roles) {\n settings.role = settings.roles[0];\n delete settings.roles;\n }\n\n if (settings.accessibility) {\n settings.accessibility = settings.accessibility[0];\n }\n\n if (settings.audioChannelConfiguration) {\n settings.audioChannelConfiguration = settings.audioChannelConfiguration[0];\n }\n\n domStorage.setSavedMediaSettings(type, settings);\n }\n }\n\n /**\n * @param {string} type\n * @param {Object} value\n * @memberof MediaController#\n */\n function setInitialSettings(type, value) {\n if (!type || !value) return;\n\n initialSettings[type] = value;\n }\n\n /**\n * @param {string} type\n * @returns {Object|null}\n * @memberof MediaController#\n */\n function getInitialSettings(type) {\n if (!type) return null;\n\n return initialSettings[type];\n }\n\n /**\n * @memberof MediaController#\n */\n function saveTextSettingsDisabled() {\n domStorage.setSavedMediaSettings(Constants.FRAGMENTED_TEXT, null);\n }\n\n /**\n * @param {string} type\n * @param {string} mode\n * @memberof MediaController#\n * @deprecated Please use updateSettings({streaming: { trackSwitchMode: mode } }) instead\n */\n function setSwitchMode(type, mode) {\n logger.warn('deprecated: Please use updateSettings({streaming: { trackSwitchMode: mode } }) instead');\n const isModeSupported = (validTrackSwitchModes.indexOf(mode) !== -1);\n\n if (!isModeSupported) {\n logger.warn('Track switch mode is not supported: ' + mode);\n return;\n }\n\n let switchMode = {};\n switchMode[type] = mode;\n\n settings.update({\n streaming: {\n trackSwitchMode: switchMode\n }\n });\n }\n\n /**\n * @param {string} type\n * @returns {string} mode\n * @memberof MediaController#\n */\n function getSwitchMode(type) {\n return settings.get().streaming.trackSwitchMode[type];\n }\n\n /**\n * @param {string} mode\n * @memberof MediaController#\n * @deprecated Please use updateSettings({streaming: { selectionModeForInitialTrack: mode } }) instead\n */\n function setSelectionModeForInitialTrack(mode) {\n logger.warn('deprecated: Please use updateSettings({streaming: { selectionModeForInitialTrack: mode } }) instead');\n const isModeSupported = (validTrackSelectionModes.indexOf(mode) !== -1);\n\n if (!isModeSupported) {\n logger.warn('Track selection mode is not supported: ' + mode);\n return;\n }\n\n settings.update({\n streaming: {\n selectionModeForInitialTrack: mode\n }\n });\n }\n\n /**\n * @returns {string} mode\n * @memberof MediaController#\n */\n function getSelectionModeForInitialTrack() {\n return settings.get().streaming.selectionModeForInitialTrack;\n }\n\n /**\n * @param {string} type\n * @returns {boolean}\n * @memberof MediaController#\n */\n function isMultiTrackSupportedByType(type) {\n return (type === Constants.AUDIO || type === Constants.VIDEO || type === Constants.TEXT ||\n type === Constants.FRAGMENTED_TEXT || type === Constants.IMAGE);\n }\n\n /**\n * @param {MediaInfo} t1 - first track to compare\n * @param {MediaInfo} t2 - second track to compare\n * @returns {boolean}\n * @memberof MediaController#\n */\n function isTracksEqual(t1, t2) {\n if (!t1 && !t2) {\n return true;\n }\n\n if (!t1 || !t2) {\n return false;\n }\n\n const sameId = t1.id === t2.id;\n const sameViewpoint = t1.viewpoint === t2.viewpoint;\n const sameLang = t1.lang === t2.lang;\n const sameRoles = t1.roles.toString() === t2.roles.toString();\n const sameAccessibility = t1.accessibility.toString() === t2.accessibility.toString();\n const sameAudioChannelConfiguration = t1.audioChannelConfiguration.toString() === t2.audioChannelConfiguration.toString();\n\n return (sameId && sameViewpoint && sameLang && sameRoles && sameAccessibility && sameAudioChannelConfiguration);\n }\n\n function setConfig(config) {\n if (!config) return;\n\n if (config.domStorage) {\n domStorage = config.domStorage;\n }\n\n if (config.settings) {\n settings = config.settings;\n }\n }\n\n /**\n * @memberof MediaController#\n */\n function reset() {\n tracks = {};\n resetInitialSettings();\n }\n\n function extractSettings(mediaInfo) {\n const settings = {\n lang: mediaInfo.lang,\n viewpoint: mediaInfo.viewpoint,\n roles: mediaInfo.roles,\n accessibility: mediaInfo.accessibility,\n audioChannelConfiguration: mediaInfo.audioChannelConfiguration\n };\n let notEmpty = settings.lang || settings.viewpoint || (settings.role && settings.role.length > 0) ||\n (settings.accessibility && settings.accessibility.length > 0) || (settings.audioChannelConfiguration && settings.audioChannelConfiguration.length > 0);\n\n return notEmpty ? settings : null;\n }\n\n function matchSettings(settings, track) {\n const matchLang = !settings.lang || (track.lang.match(settings.lang));\n const matchIndex = (settings.index === undefined) || (settings.index === null) || (track.index === settings.index);\n const matchViewPoint = !settings.viewpoint || (settings.viewpoint === track.viewpoint);\n const matchRole = !settings.role || !!track.roles.filter(function (item) {\n return item === settings.role;\n })[0];\n let matchAccessibility = !settings.accessibility || !!track.accessibility.filter(function (item) {\n return item === settings.accessibility;\n })[0];\n let matchAudioChannelConfiguration = !settings.audioChannelConfiguration || !!track.audioChannelConfiguration.filter(function (item) {\n return item === settings.audioChannelConfiguration;\n })[0];\n\n return (matchLang && matchIndex && matchViewPoint && matchRole && matchAccessibility && matchAudioChannelConfiguration);\n }\n\n function resetInitialSettings() {\n initialSettings = {\n audio: null,\n video: null,\n fragmentedText: null\n };\n }\n\n function getTracksWithHighestBitrate (trackArr) {\n let max = 0;\n let result = [];\n let tmp;\n\n trackArr.forEach(function (track) {\n tmp = Math.max.apply(Math, track.bitrateList.map(function (obj) { return obj.bandwidth; }));\n\n if (tmp > max) {\n max = tmp;\n result = [track];\n } else if (tmp === max) {\n result.push(track);\n }\n });\n\n return result;\n }\n\n function getTracksWithHighestEfficiency (trackArr) {\n let min = Infinity;\n let result = [];\n let tmp;\n\n trackArr.forEach(function (track) {\n const sum = track.bitrateList.reduce(function (acc, obj) {\n const resolution = Math.max(1, obj.width * obj.height);\n const efficiency = obj.bandwidth / resolution;\n return acc + efficiency;\n }, 0);\n tmp = sum / track.bitrateList.length;\n\n if (tmp < min) {\n min = tmp;\n result = [track];\n } else if (tmp === min) {\n result.push(track);\n }\n });\n\n return result;\n }\n\n function getTracksWithWidestRange (trackArr) {\n let max = 0;\n let result = [];\n let tmp;\n\n trackArr.forEach(function (track) {\n tmp = track.representationCount;\n\n if (tmp > max) {\n max = tmp;\n result = [track];\n } else if (tmp === max) {\n result.push(track);\n }\n });\n\n return result;\n }\n\n function selectInitialTrack(type, tracks) {\n if (type === Constants.FRAGMENTED_TEXT) return tracks[0];\n\n let mode = getSelectionModeForInitialTrack();\n let tmpArr = [];\n\n switch (mode) {\n case Constants.TRACK_SELECTION_MODE_HIGHEST_BITRATE:\n tmpArr = getTracksWithHighestBitrate(tracks);\n\n if (tmpArr.length > 1) {\n tmpArr = getTracksWithWidestRange(tmpArr);\n }\n break;\n case Constants.TRACK_SELECTION_MODE_FIRST_TRACK:\n tmpArr.push(tracks[0]);\n break;\n case Constants.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY:\n tmpArr = getTracksWithHighestEfficiency(tracks);\n\n if (tmpArr.length > 1) {\n tmpArr = getTracksWithHighestBitrate(tmpArr);\n }\n break;\n case Constants.TRACK_SELECTION_MODE_WIDEST_RANGE:\n tmpArr = getTracksWithWidestRange(tracks);\n\n if (tmpArr.length > 1) {\n tmpArr = getTracksWithHighestBitrate(tracks);\n }\n break;\n default:\n logger.warn('Track selection mode is not supported: ' + mode);\n break;\n }\n\n return tmpArr[0];\n }\n\n function createTrackInfo() {\n return {\n audio: {\n list: [],\n storeLastSettings: true,\n current: null\n },\n video: {\n list: [],\n storeLastSettings: true,\n current: null\n },\n text: {\n list: [],\n storeLastSettings: true,\n current: null\n },\n fragmentedText: {\n list: [],\n storeLastSettings: true,\n current: null\n },\n image: {\n list: [],\n storeLastSettings: true,\n current: null\n }\n };\n }\n\n instance = {\n checkInitialMediaSettingsForType: checkInitialMediaSettingsForType,\n addTrack: addTrack,\n getTracksFor: getTracksFor,\n getCurrentTrackFor: getCurrentTrackFor,\n isCurrentTrack: isCurrentTrack,\n setTrack: setTrack,\n setInitialSettings: setInitialSettings,\n getInitialSettings: getInitialSettings,\n setSwitchMode: setSwitchMode,\n getSwitchMode: getSwitchMode,\n selectInitialTrack: selectInitialTrack,\n getTracksWithHighestBitrate: getTracksWithHighestBitrate,\n getTracksWithHighestEfficiency: getTracksWithHighestEfficiency,\n getTracksWithWidestRange: getTracksWithWidestRange,\n setSelectionModeForInitialTrack: setSelectionModeForInitialTrack,\n getSelectionModeForInitialTrack: getSelectionModeForInitialTrack,\n isMultiTrackSupportedByType: isMultiTrackSupportedByType,\n isTracksEqual: isTracksEqual,\n matchSettings: matchSettings,\n saveTextSettingsDisabled: saveTextSettingsDisabled,\n setConfig: setConfig,\n reset: reset\n };\n\n setup();\n\n return instance;\n}\n\nMediaController.__dashjs_factory_name = 'MediaController';\nconst factory = FactoryMaker.getSingletonFactory(MediaController);\nFactoryMaker.updateSingletonFactory(MediaController.__dashjs_factory_name, factory);\nexport default factory;\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 */\nimport FactoryMaker from '../../core/FactoryMaker';\nimport Debug from '../../core/Debug';\n\nfunction MediaSourceController() {\n\n let instance,\n logger;\n\n const context = this.context;\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n }\n\n function createMediaSource() {\n\n let hasWebKit = ('WebKitMediaSource' in window);\n let hasMediaSource = ('MediaSource' in window);\n\n if (hasMediaSource) {\n return new MediaSource();\n } else if (hasWebKit) {\n return new WebKitMediaSource();\n }\n\n return null;\n }\n\n function attachMediaSource(source, videoModel) {\n\n let objectURL = window.URL.createObjectURL(source);\n\n videoModel.setSource(objectURL);\n\n return objectURL;\n }\n\n function detachMediaSource(videoModel) {\n videoModel.setSource(null);\n }\n\n function setDuration(source, value) {\n if (!source || source.readyState !== 'open') return;\n if (value === null && isNaN(value)) return;\n if (source.duration === value) return;\n\n if (!isBufferUpdating(source)) {\n logger.info('Set MediaSource duration:' + value);\n source.duration = value;\n } else {\n setTimeout(setDuration.bind(null, source, value), 50);\n }\n }\n\n function setSeekable(source, start, end) {\n if (source && typeof source.setLiveSeekableRange === 'function' && typeof source.clearLiveSeekableRange === 'function' &&\n source.readyState === 'open' && start >= 0 && start < end) {\n source.clearLiveSeekableRange();\n source.setLiveSeekableRange(start, end);\n }\n }\n\n function signalEndOfStream(source) {\n if (!source || source.readyState !== 'open') {\n return;\n }\n\n let buffers = source.sourceBuffers;\n\n for (let i = 0; i < buffers.length; i++) {\n if (buffers[i].updating) {\n return;\n }\n if (buffers[i].buffered.length === 0) {\n return;\n }\n }\n logger.info('call to mediaSource endOfStream');\n source.endOfStream();\n }\n\n function isBufferUpdating(source) {\n let buffers = source.sourceBuffers;\n for (let i = 0; i < buffers.length; i++) {\n if (buffers[i].updating) {\n return true;\n }\n }\n return false;\n }\n\n instance = {\n createMediaSource: createMediaSource,\n attachMediaSource: attachMediaSource,\n detachMediaSource: detachMediaSource,\n setDuration: setDuration,\n setSeekable: setSeekable,\n signalEndOfStream: signalEndOfStream\n };\n\n setup();\n\n return instance;\n}\n\nMediaSourceController.__dashjs_factory_name = 'MediaSourceController';\nexport default FactoryMaker.getSingletonFactory(MediaSourceController);\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 */\nimport Constants from '../constants/Constants';\nimport MetricsConstants from '../constants/MetricsConstants';\nimport EventBus from '../../core/EventBus';\nimport Events from '../../core/events/Events';\nimport FactoryMaker from '../../core/FactoryMaker';\nimport Debug from '../../core/Debug';\n\nconst LIVE_UPDATE_PLAYBACK_TIME_INTERVAL_MS = 500;\n\nfunction PlaybackController() {\n\n const context = this.context;\n const eventBus = EventBus(context).getInstance();\n\n let instance,\n logger,\n streamController,\n dashMetrics,\n adapter,\n videoModel,\n timelineConverter,\n streamSwitch,\n streamSeekTime,\n wallclockTimeIntervalId,\n liveDelay,\n streamInfo,\n isDynamic,\n mediaPlayerModel,\n playOnceInitialized,\n lastLivePlaybackTime,\n availabilityStartTime,\n seekTarget,\n isLowLatencySeekingInProgress,\n playbackStalled,\n minPlaybackRateChange,\n uriFragmentModel,\n settings;\n\n function setup() {\n logger = Debug(context).getInstance().getLogger(instance);\n\n reset();\n }\n\n function initialize(sInfo, periodSwitch, seekTime) {\n streamInfo = sInfo;\n addAllListeners();\n isDynamic = streamInfo.manifestInfo.isDynamic;\n isLowLatencySeekingInProgress = false;\n playbackStalled = false;\n streamSwitch = periodSwitch === true;\n streamSeekTime = seekTime;\n\n const ua = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase() : '';\n\n // Detect safari browser (special behavior for low latency streams)\n const isSafari = /safari/.test(ua) && !/chrome/.test(ua);\n minPlaybackRateChange = isSafari ? 0.25 : 0.02;\n\n eventBus.on(Events.STREAM_INITIALIZED, onStreamInitialized, this);\n eventBus.on(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, this);\n eventBus.on(Events.LOADING_PROGRESS, onFragmentLoadProgress, this);\n eventBus.on(Events.BUFFER_LEVEL_STATE_CHANGED, onBufferLevelStateChanged, this);\n eventBus.on(Events.PLAYBACK_PROGRESS, onPlaybackProgression, this);\n eventBus.on(Events.PLAYBACK_TIME_UPDATED, onPlaybackProgression, this);\n eventBus.on(Events.PLAYBACK_ENDED, onPlaybackEnded, this, { priority: EventBus.EVENT_PRIORITY_HIGH });\n eventBus.on(Events.STREAM_INITIALIZING, onStreamInitializing, this);\n\n if (playOnceInitialized) {\n playOnceInitialized = false;\n play();\n }\n }\n\n function onStreamInitialized(e) {\n // Seamless period switch\n if (streamSwitch && isNaN(streamSeekTime)) return;\n\n // Seek new stream in priority order:\n // - at seek time (streamSeekTime) when switching period\n // - at start time provided in URI parameters\n // - at stream/period start time (for static streams) or live start time (for dynamic streams)\n let startTime = streamSeekTime;\n if (isNaN(startTime)) {\n if (isDynamic) {\n // For dynamic stream, start by default at (live edge - live delay)\n startTime = e.liveStartTime;\n // If start time in URI, take min value between live edge time and time from URI (capped by DVR window range)\n const dvrInfo = dashMetrics.getCurrentDVRInfo();\n const dvrWindow = dvrInfo ? dvrInfo.range : null;\n if (dvrWindow) {\n // #t shall be relative to period start\n const startTimeFromUri = getStartTimeFromUriParameters(true);\n if (!isNaN(startTimeFromUri)) {\n logger.info('Start time from URI parameters: ' + startTimeFromUri);\n startTime = Math.max(Math.min(startTime, startTimeFromUri), dvrWindow.start);\n }\n }\n } else {\n // For static stream, start by default at period start\n startTime = streamInfo.start;\n // If start time in URI, take max value between period start and time from URI (if in period range)\n const startTimeFromUri = getStartTimeFromUriParameters(false);\n if (!isNaN(startTimeFromUri) && startTimeFromUri < (startTime + streamInfo.duration)) {\n logger.info('Start time from URI parameters: ' + startTimeFromUri);\n startTime = Math.max(startTime, startTimeFromUri);\n }\n }\n }\n\n if (!isNaN(startTime) && startTime !== videoModel.getTime()) {\n // Trigger PLAYBACK_SEEKING event for controllers\n eventBus.trigger(Events.PLAYBACK_SEEKING, { seekTime: startTime });\n // Seek video model\n seek(startTime, false, true);\n }\n }\n\n function getTimeToStreamEnd() {\n return parseFloat((getStreamEndTime() - getTime()).toFixed(5));\n }\n\n function getStreamEndTime() {\n return streamInfo.start + streamInfo.duration;\n }\n\n function play() {\n if (streamInfo && videoModel && videoModel.getElement()) {\n videoModel.play();\n } else {\n playOnceInitialized = true;\n }\n }\n\n function isPaused() {\n return streamInfo && videoModel ? videoModel.isPaused() : null;\n }\n\n function pause() {\n if (streamInfo && videoModel) {\n videoModel.pause();\n }\n }\n\n function isSeeking() {\n return streamInfo && videoModel ? videoModel.isSeeking() : null;\n }\n\n function seek(time, stickToBuffered, internalSeek) {\n if (!streamInfo || !videoModel) return;\n\n let currentTime = !isNaN(seekTarget) ? seekTarget : videoModel.getTime();\n if (time === currentTime) return;\n\n if (internalSeek === true) {\n // Internal seek = seek video model only (disable 'seeking' listener)\n // buffer(s) are already appended at requested time\n videoModel.removeEventListener('seeking', onPlaybackSeeking);\n logger.info('Requesting internal seek to time: ' + time);\n videoModel.setCurrentTime(time, stickToBuffered);\n } else {\n seekTarget = time;\n eventBus.trigger(Events.PLAYBACK_SEEK_ASKED);\n logger.info('Requesting seek to time: ' + time);\n videoModel.setCurrentTime(time, stickToBuffered);\n }\n }\n\n function seekToLive() {\n const DVRMetrics = dashMetrics.getCurrentDVRInfo();\n const DVRWindow = DVRMetrics ? DVRMetrics.range : null;\n\n seek(DVRWindow.end - mediaPlayerModel.getLiveDelay(), true, false);\n }\n\n function getTime() {\n return streamInfo && videoModel ? videoModel.getTime() : null;\n }\n\n function getNormalizedTime() {\n let t = getTime();\n\n if (isDynamic && !isNaN(availabilityStartTime)) {\n const timeOffset = availabilityStartTime / 1000;\n // Fix current time for firefox and safari (returned as an absolute time)\n if (t > timeOffset) {\n t -= timeOffset;\n }\n }\n return t;\n }\n\n function getPlaybackRate() {\n return streamInfo && videoModel ? videoModel.getPlaybackRate() : null;\n }\n\n function getPlayedRanges() {\n return streamInfo && videoModel ? videoModel.getPlayedRanges() : null;\n }\n\n function getEnded() {\n return streamInfo && videoModel ? videoModel.getEnded() : null;\n }\n\n function getIsDynamic() {\n return isDynamic;\n }\n\n function getStreamController() {\n return streamController;\n }\n\n /**\n * Computes the desirable delay for the live edge to avoid a risk of getting 404 when playing at the bleeding edge\n * @param {number} fragmentDuration - seconds?\n * @param {number} dvrWindowSize - seconds?\n * @param {number} minBufferTime - seconds?\n * @returns {number} object\n * @memberof PlaybackController#\n */\n function computeAndSetLiveDelay(fragmentDuration, dvrWindowSize, minBufferTime) {\n let delay,\n ret,\n startTime;\n const END_OF_PLAYLIST_PADDING = 10;\n const MIN_BUFFER_TIME_FACTOR = 4;\n const FRAGMENT_DURATION_FACTOR = 4;\n const adjustedFragmentDuration = !isNaN(fragmentDuration) && isFinite(fragmentDuration) ? fragmentDuration : NaN;\n\n let suggestedPresentationDelay = adapter.getSuggestedPresentationDelay();\n\n if (settings.get().streaming.lowLatencyEnabled) {\n delay = 0;\n } else if (mediaPlayerModel.getLiveDelay()) {\n delay = mediaPlayerModel.getLiveDelay(); // If set by user, this value takes precedence\n } else if (settings.get().streaming.liveDelayFragmentCount !== null && !isNaN(settings.get().streaming.liveDelayFragmentCount) && !isNaN(adjustedFragmentDuration)) {\n delay = adjustedFragmentDuration * settings.get().streaming.liveDelayFragmentCount;\n } else if (settings.get().streaming.useSuggestedPresentationDelay === true && suggestedPresentationDelay !== null && !isNaN(suggestedPresentationDelay) && suggestedPresentationDelay > 0) {\n delay = suggestedPresentationDelay;\n } else if (!isNaN(adjustedFragmentDuration)) {\n delay = adjustedFragmentDuration * FRAGMENT_DURATION_FACTOR;\n } else {\n delay = !isNaN(minBufferTime) ? minBufferTime * MIN_BUFFER_TIME_FACTOR : streamInfo.manifestInfo.minBufferTime * MIN_BUFFER_TIME_FACTOR;\n }\n\n startTime = adapter.getAvailabilityStartTime();\n\n if (startTime !== null) {\n availabilityStartTime = startTime;\n }\n\n if (dvrWindowSize > 0) {\n // cap target latency to:\n // - dvrWindowSize / 2 for short playlists\n // - dvrWindowSize - END_OF_PLAYLIST_PADDING for longer playlists\n const targetDelayCapping = Math.max(dvrWindowSize - END_OF_PLAYLIST_PADDING, dvrWindowSize / 2);\n ret = Math.min(delay, targetDelayCapping);\n } else {\n ret = delay;\n }\n liveDelay = ret;\n return ret;\n }\n\n function getLiveDelay() {\n return liveDelay;\n }\n\n function setLiveDelay(value, useMaxValue = false) {\n if (useMaxValue && value < liveDelay) {\n return;\n }\n\n liveDelay = value;\n }\n\n function getCurrentLiveLatency() {\n if (!isDynamic || isNaN(availabilityStartTime)) {\n return NaN;\n }\n let currentTime = getNormalizedTime();\n if (isNaN(currentTime) || currentTime === 0) {\n return 0;\n }\n\n const now = new Date().getTime() + timelineConverter.getClientTimeOffset() * 1000;\n return Math.max(((now - availabilityStartTime - currentTime * 1000) / 1000).toFixed(3), 0);\n }\n\n function reset() {\n playOnceInitialized = false;\n streamSwitch = false;\n streamSeekTime = NaN;\n liveDelay = 0;\n availabilityStartTime = 0;\n seekTarget = NaN;\n if (videoModel) {\n eventBus.off(Events.STREAM_INITIALIZED, onStreamInitialized, this);\n eventBus.off(Events.DATA_UPDATE_COMPLETED, onDataUpdateCompleted, this);\n eventBus.off(Events.BUFFER_LEVEL_STATE_CHANGED, onBufferLevelStateChanged, this);\n eventBus.off(Events.LOADING_PROGRESS, onFragmentLoadProgress, this);\n eventBus.off(Events.PLAYBACK_PROGRESS, onPlaybackProgression, this);\n eventBus.off(Events.PLAYBACK_TIME_UPDATED, onPlaybackProgression, this);\n eventBus.off(Events.PLAYBACK_ENDED, onPlaybackEnded, this);\n eventBus.off(Events.STREAM_INITIALIZING, onStreamInitializing, this);\n stopUpdatingWallclockTime();\n removeAllListeners();\n }\n wallclockTimeIntervalId = null;\n videoModel = null;\n streamInfo = null;\n isDynamic = null;\n }\n\n function setConfig(config) {\n if (!config) return;\n\n if (config.streamController) {\n streamController = config.streamController;\n }\n if (config.dashMetrics) {\n dashMetrics = config.dashMetrics;\n }\n if (config.mediaPlayerModel) {\n mediaPlayerModel = config.mediaPlayerModel;\n }\n if (config.adapter) {\n adapter = config.adapter;\n }\n if (config.videoModel) {\n videoModel = config.videoModel;\n }\n if (config.timelineConverter) {\n timelineConverter = config.timelineConverter;\n }\n if (config.uriFragmentModel) {\n uriFragmentModel = config.uriFragmentModel;\n }\n if (config.settings) {\n settings = config.settings;\n }\n }\n\n function getStartTimeFromUriParameters(isDynamic) {\n const fragData = uriFragmentModel.getURIFragmentData();\n if (!fragData || !fragData.t) {\n return NaN;\n }\n const refStream = streamController.getStreams()[0];\n const refStreamStartTime = refStream.getStreamInfo().start;\n // Consider only start time of MediaRange\n // TODO: consider end time of MediaRange to stop playback at provided end time\n fragData.t = fragData.t.split(',')[0];\n // \"t=